:root {
  --navy: #0b1f33;
  --navy-soft: #142b43;
  --navy-muted: #8fa4b8;
  --primary: #087f8c;
  --primary-dark: #055c67;
  --primary-soft: #e7f8f7;
  --orange: #ec8b2c;
  --orange-soft: #fff4e7;
  --green: #138a5b;
  --green-soft: #eaf7f1;
  --red: #c43d4f;
  --red-soft: #fff0f2;
  --ink: #172635;
  --muted: #677889;
  --line: #dfe7ed;
  --line-soft: #edf1f4;
  --surface: #ffffff;
  --background: #f4f7fa;
  --glass: rgba(255, 255, 255, .74);
  --glass-strong: rgba(255, 255, 255, .9);
  --glass-border: rgba(255, 255, 255, .7);
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 10px 32px rgba(22, 45, 67, 0.075);
  --shadow-glass: 0 18px 45px rgba(12, 42, 63, .1);
  --sidebar-width: 268px;
  --topbar-height: 72px;
}

* { box-sizing: border-box; }
html { min-height: 100%; overflow-y: auto; scroll-behavior: smooth; }
body {
  min-height: 100%;
  margin: 0;
  background:
    radial-gradient(circle at 78% -10%, rgba(47, 175, 182, .13), transparent 28rem),
    radial-gradient(circle at 24% 115%, rgba(236, 139, 44, .08), transparent 30rem),
    var(--background);
  color: var(--ink);
  font: 14px/1.55 "Segoe UI Variable", Aptos, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-y: visible;
  text-rendering: optimizeLegibility;
}
body.modal-open { overflow: hidden; }
a { color: var(--primary); text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid rgba(8, 127, 140, .28); outline-offset: 2px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(25px, 2.4vw, 34px); letter-spacing: -0.035em; line-height: 1.15; margin-bottom: 7px; }
h2 { font-size: 18px; letter-spacing: -0.015em; }
h3 { font-size: 15px; }

/* Friendly CRM guidance and agent network */
.friendly-flow-strip { display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;margin:0 0 20px;padding:15px 18px;border:1px solid rgba(8,127,140,.16);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(231,248,247,.9));box-shadow:0 12px 32px rgba(15,72,85,.06); }
.friendly-flow-strip>div,.friendly-review-card>div { display:flex;align-items:center;gap:10px;min-width:0; }
.friendly-flow-strip>div>span,.friendly-review-card>div>span { width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--primary),#16a6a2);font-weight:900;box-shadow:0 7px 15px rgba(8,127,140,.18); }
.friendly-flow-strip p,.friendly-review-card p { margin:0; }
.friendly-flow-strip strong,.friendly-flow-strip small,.friendly-review-card strong,.friendly-review-card small { display:block; }
.friendly-flow-strip small,.friendly-review-card small { color:var(--muted);font-size:11px; }
.friendly-flow-strip>b { color:#87a8ad;font-size:18px; }
.friendly-review-card { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;padding:14px;border:1px solid rgba(8,127,140,.18);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:var(--shadow); }
.friendly-review-card>div { padding:9px;border-radius:13px;background:#f7fbfb; }
.friendly-tip { display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:13px 16px;border:1px solid #cae7e7;border-radius:15px;background:linear-gradient(135deg,#f9ffff,#eaf8f7);color:#204653; }
.friendly-tip>span { min-width:38px;height:32px;display:grid;place-items:center;padding:0 8px;border-radius:10px;color:#fff;background:var(--primary);font-size:10px;font-weight:900;letter-spacing:.05em; }
.friendly-tip p { margin:0; }
.friendly-pill { display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(255,255,255,.1);font-size:10px;font-weight:900;letter-spacing:.08em; }
.agent-registration-shell { width:min(1180px,calc(100% - 34px));margin:28px auto 60px;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:0 28px 80px rgba(10,42,61,.15); }
.agent-registration-intro { min-width:0;padding:clamp(34px,6vw,70px);overflow-wrap:anywhere;color:#fff;background:radial-gradient(circle at 90% 5%,rgba(45,211,196,.28),transparent 250px),linear-gradient(145deg,#0b273d,#075f6e); }
.agent-registration-intro h1 { max-width:560px;margin:20px 0 14px;font-size:clamp(34px,5vw,58px);color:#fff; }
.agent-registration-intro>p { max-width:560px;color:rgba(255,255,255,.78);font-size:16px; }
.registration-benefits { display:grid;gap:12px;margin-top:36px; }
.registration-benefits>div { display:flex;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07); }
.registration-benefits span { width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f09a3e;font-weight:900; }
.registration-benefits p { margin:0; }.registration-benefits strong,.registration-benefits small { display:block; }.registration-benefits small { color:rgba(255,255,255,.7); }
.agent-registration-card { min-width:0;margin:0;padding:clamp(28px,5vw,56px);border:0;border-radius:0;box-shadow:none; }
.agent-registration-form { margin-top:22px; }.agent-registration-form>.span-all { min-width:0;grid-column:1/-1; }.agent-registration-form input,.agent-registration-form textarea { max-width:100%;width:100%;box-sizing:border-box; }
.success-orb { width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:18px;color:#fff;background:var(--green);font-size:26px; }
.login-feature-chips { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }.login-feature-chips span { padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:99px;background:rgba(255,255,255,.09);font-size:11px;font-weight:700; }
.login-help-actions { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line-soft); }.login-help-actions .button { justify-content:center; }.app-download-button.ready { color:#fff;background:var(--green);border-color:var(--green); }.friendly-login-tip { margin:12px 0 0;color:var(--muted);font-size:11px; }
.install-guide { width:min(92vw,470px);padding:0;border:0;border-radius:24px;background:transparent;box-shadow:0 30px 90px rgba(10,35,55,.3); }
.install-guide::backdrop { background:rgba(5,20,35,.62);backdrop-filter:blur(5px); }
.install-guide-card { position:relative;padding:30px;border-radius:24px;background:#fff; }
.install-guide-card h2 { margin:7px 40px 14px 0;font-size:24px;line-height:1.2; }
.install-guide-card ol { display:grid;gap:12px;margin:20px 0;padding-left:24px;color:var(--muted); }
.install-guide-card li::marker { color:var(--primary);font-weight:900; }
.install-guide-icon { width:54px;height:54px;display:grid;place-items:center;margin-bottom:16px;border-radius:17px;color:#fff;background:linear-gradient(145deg,#4f46e5,#08a7bd);font-weight:900;box-shadow:0 12px 25px rgba(79,70,229,.24); }
.install-guide-close { position:absolute;top:16px;right:16px;width:38px;height:38px;border:0;border-radius:12px;background:#eef3f8;color:var(--ink);font-size:23px;cursor:pointer; }
.install-guide-card>.button { width:100%;justify-content:center; }
.agent-network-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }.agent-network-card { display:flex;flex-direction:column;gap:16px; }.agent-card-head { display:flex;align-items:center;gap:13px; }.agent-card-head img,.agent-avatar.large { width:52px;height:52px;flex:0 0 52px;border-radius:16px;object-fit:cover; }.agent-avatar { display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#075d70,#12a29e);font-weight:900; }.agent-card-head h2,.agent-card-head p { margin:0; }.agent-facts { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0; }.agent-facts>div { padding:10px;border-radius:12px;background:#f5f9fa; }.agent-facts dt { color:var(--muted);font-size:10px; }.agent-facts dd { margin:2px 0 0;font-weight:800; }
.agent-plan-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }.agent-plan-card { padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff; }.agent-plan-card.paused { opacity:.68; }.agent-plan-card>div:first-child { display:flex;align-items:center;gap:9px; }.agent-plan-card p { margin:0; }.agent-plan-card p strong,.agent-plan-card p small { display:block; }.agent-plan-card .badge { margin-left:auto; }.lead-limit-meter { height:8px;margin:15px 0 8px;overflow:hidden;border-radius:99px;background:#e8eff1; }.lead-limit-meter span { display:block;width:min(var(--used),100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#30b8a9); }.friendly-add-panel { margin-top:16px;border-top:1px solid var(--line);padding-top:14px; }.friendly-add-panel summary { cursor:pointer;color:var(--primary);font-weight:800; }.friendly-add-panel form { margin-top:15px; }
.storefront-shell { min-height:100vh;background:#f5f9fa; }.storefront-header { display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,70px);background:#fff;border-bottom:1px solid var(--line); }.storefront-hero { min-height:390px;display:grid;place-items:center;padding:55px 20px;text-align:center;color:#fff;background:radial-gradient(circle at 75% 10%,rgba(255,255,255,.2),transparent 300px),linear-gradient(145deg,#0a263b,var(--store-accent,#087f8c)); }.storefront-hero>div { max-width:760px; }.storefront-hero h1 { color:#fff;font-size:clamp(38px,6vw,70px); }.storefront-hero>div>img,.storefront-logo { width:78px;height:78px;display:grid;place-items:center;margin:0 auto 18px;border:3px solid rgba(255,255,255,.4);border-radius:24px;object-fit:cover;background:rgba(255,255,255,.18);font-size:34px;font-weight:900; }.storefront-hero>div>p { color:rgba(255,255,255,.78);font-size:16px; }.storefront-contact { display:flex;justify-content:center;flex-wrap:wrap;gap:8px; }.storefront-contact span { padding:7px 11px;border-radius:99px;background:rgba(255,255,255,.12);font-size:11px; }.storefront-main { width:min(1180px,calc(100% - 34px));margin:0 auto;padding:50px 0 70px; }.storefront-section-head { display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px; }.storefront-section-head form { display:flex;gap:8px; }.storefront-package-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.storefront-package-card { overflow:hidden;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 16px 40px rgba(15,47,63,.08);transition:transform .2s,box-shadow .2s; }.storefront-package-card:hover { transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,47,63,.13); }.package-card-art { height:145px;display:flex;align-items:end;justify-content:space-between;padding:18px;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.24),transparent 110px),linear-gradient(145deg,#0c3349,var(--store-accent,#087f8c)); }.package-card-art>span { font-size:55px;font-weight:900;opacity:.35; }.package-card-art small { padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.15); }.storefront-package-card>div:last-child { padding:19px; }.storefront-package-card h3 { font-size:20px; }.storefront-package-card dl { display:grid;grid-template-columns:1fr 1fr;gap:8px; }.storefront-package-card dl>div { padding:9px;border-radius:10px;background:#f5f9fa; }.storefront-package-card dt { color:var(--muted);font-size:9px; }.storefront-package-card dd { margin:2px 0 0;font-weight:700; }.package-card-price { display:flex;align-items:end;justify-content:space-between;margin:16px 0; }.package-card-price strong { color:var(--primary);font-size:24px; }.storefront-footer { display:flex;justify-content:space-between;gap:15px;padding:24px clamp(20px,5vw,70px);color:#dce9ef;background:#0b2336; }

@media (max-width:1050px){.friendly-review-card{grid-template-columns:1fr 1fr}.agent-network-grid,.agent-plan-grid,.storefront-package-grid{grid-template-columns:1fr 1fr}.agent-registration-shell{grid-template-columns:1fr}.agent-registration-intro{padding:42px}.agent-registration-card{padding:38px}}
@media (max-width:700px){.friendly-flow-strip{grid-template-columns:1fr}.friendly-flow-strip>b{display:none}.friendly-review-card,.agent-network-grid,.agent-plan-grid,.storefront-package-grid{grid-template-columns:1fr}.login-help-actions{grid-template-columns:1fr}.storefront-section-head,.storefront-footer{align-items:stretch;flex-direction:column}.storefront-section-head form{display:grid}.agent-registration-shell{width:min(100% - 18px,640px);margin-top:10px;border-radius:20px}.agent-registration-intro{padding:30px 24px}.agent-registration-card{padding:28px 20px}.agent-registration-form{grid-template-columns:1fr}}

/* Saved-package suggestions and customer itinerary add-ons */
.saved-package-picker{margin-bottom:16px;padding:15px;border:1px solid rgba(8,127,140,.17);border-radius:16px;background:linear-gradient(135deg,#f7fcfc,#edf8f7)}
.saved-package-picker label,.saved-package-picker label small{display:block}.saved-package-picker label small{margin:3px 0 9px;color:var(--muted);font-weight:400}.saved-package-picker input{width:100%;background:#fff}
.addon-choice-form{gap:10px}.addon-choice-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto 58px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fbfc;cursor:pointer}.addon-choice-row>input[type=checkbox]{width:19px;height:19px;accent-color:var(--primary)}.addon-choice-row>input[type=number]{width:58px;margin:0;padding:8px}.addon-choice-row span small,.addon-choice-row span strong,.addon-choice-row span em{display:block}.addon-choice-row span small{color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.addon-choice-row span em{margin-top:2px;color:var(--muted);font-size:11px;font-style:normal}.addon-choice-row>b{white-space:nowrap;color:#123d4b}.addon-total-line{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;border-top:1px dashed var(--line)}.addon-total-line.customer-total{padding:12px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#0b3348,var(--primary))}.empty-inline{padding:13px;border:1px dashed #bbd4da;border-radius:13px;color:var(--muted);background:#f8fbfc}.customer-trip-portal{width:min(1240px,calc(100% - 32px));margin:25px auto 60px}.customer-trip-hero{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:clamp(28px,5vw,60px);border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 5%,rgba(255,255,255,.2),transparent 270px),linear-gradient(140deg,#092a3d,var(--trip-accent,#087f8c));box-shadow:0 24px 60px rgba(12,45,60,.18)}.customer-trip-hero h1{max-width:800px;margin:7px 0;color:#fff;font-size:clamp(32px,5vw,60px)}.customer-trip-hero p{color:rgba(255,255,255,.8)}.customer-trip-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.customer-trip-facts span{padding:7px 10px;border-radius:99px;background:rgba(255,255,255,.12);font-size:11px}.customer-trip-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.7fr);gap:22px;margin-top:22px}.customer-trip-plan,.customer-addon-panel{padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.customer-addon-panel{align-self:start;position:sticky;top:90px}.customer-section-heading{margin-bottom:18px}.customer-day-card{display:grid;grid-template-columns:72px 1fr;gap:15px;margin-bottom:12px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fbfdfd}.customer-day-card>span{display:grid;place-items:center;align-self:start;min-height:60px;border-radius:14px;color:#fff;background:var(--trip-accent,#087f8c);font-size:10px;font-weight:900}.customer-day-card h3{margin:0 0 4px}.customer-day-item{display:grid;grid-template-columns:55px 1fr;gap:9px;padding:8px 0;border-top:1px solid #ebf1f3}.customer-day-item time{color:var(--primary);font-size:10px;font-weight:800}.customer-day-item p,.customer-day-item small{display:block;margin:0}.customer-day-item small{color:var(--muted)}
@media(max-width:900px){.customer-trip-grid{grid-template-columns:1fr}.customer-addon-panel{position:static}.customer-trip-hero{align-items:stretch;flex-direction:column}.addon-choice-row{grid-template-columns:auto 1fr}.addon-choice-row>b,.addon-choice-row>input[type=number]{grid-column:2}}
@media(max-width:520px){.customer-trip-portal{width:min(100% - 16px,1240px);margin-top:8px}.customer-trip-hero,.customer-trip-plan,.customer-addon-panel{padding:20px;border-radius:19px}.customer-day-card{grid-template-columns:1fr}.customer-day-card>span{min-height:auto;padding:7px;justify-self:start}.addon-choice-row{padding:10px}}
.grow { min-width: 0; flex: 1; }
.muted { color: var(--muted); }
.align-right { text-align: right; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Shell */
.app-shell { min-height: 100vh; min-height: 100dvh; overflow: visible; }
.workspace { min-height: 100vh; min-height: 100dvh; margin-left: var(--sidebar-width); overflow: visible; min-width: 0; transition: margin .2s ease; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  width: var(--sidebar-width);
  display: flex;
  flex-direction: column;
  color: #e7eff6;
  background:
    radial-gradient(circle at 24px 120px, rgba(31, 180, 185, .17), transparent 210px),
    linear-gradient(180deg, #0c243a, #071726 74%);
  box-shadow: 12px 0 40px rgba(4, 20, 33, .12);
  transition: width .2s ease, transform .2s ease;
  overflow: hidden;
}
.sidebar-brand {
  min-height: var(--topbar-height);
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand, .sidebar-brand { color: inherit; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; }
.brand-mark, .agency-logo {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
}
.brand-mark { color: white; font-size: 12px; font-weight: 950; letter-spacing: -.04em; background: linear-gradient(145deg, #15a4ad, #08717f); box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.agency-logo { object-fit: cover; background: white; }
.brand-copy { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.brand-copy strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.brand-copy small { color: var(--navy-muted); font-size: 11px; }
.sidebar-collapse { color: #b6c6d5; background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.1) !important; }
.sidebar-nav { min-height: 0; flex: 1; overflow-y: auto; padding: 13px 11px; scrollbar-width: thin; scrollbar-color: #29435d transparent; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; touch-action: pan-y; }
.nav-link, .nav-group a, .nav-group button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  border-radius: 9px;
  color: #b7c7d5;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.nav-link { padding: 9px 11px; font-weight: 700; }
.nav-link, .nav-group a {
  position: relative;
  overflow: hidden;
  transition: color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.nav-link:hover, .nav-link.active { color: white; background: linear-gradient(110deg, rgba(21, 164, 173, .25), rgba(255,255,255,.07)); }
.nav-link.active, .nav-group a.active {
  color: white;
  background: linear-gradient(110deg, rgba(21, 164, 173, .3), rgba(255,255,255,.075));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 22px rgba(1, 14, 25, .12);
}
.nav-link.active::before, .nav-group a.active::before {
  position: absolute;
  inset: 8px auto 8px 0;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(180deg, #43d4d2, #f4a94f);
  content: "";
}
.nav-icon { width: 20px; text-align: center; font-size: 17px; }
.nav-group { margin-top: 7px; }
.nav-group summary {
  display: flex;
  justify-content: space-between;
  padding: 9px 11px;
  color: #7f98ae;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  list-style: none;
  text-transform: uppercase;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group[open] summary span:last-child { transform: rotate(180deg); }
.nav-group a, .nav-group button { padding: 8px 11px 8px 31px; font-size: 13px; }
.nav-group a:hover, .nav-group button:hover { color: #fff; background: rgba(255,255,255,.07); transform: translateX(2px); }
.nav-group.current summary { color: #8fe0df; }
.sidebar-footer { display: flex; align-items: center; gap: 10px; margin: 10px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.sidebar-footer > span:last-child { display: flex; flex-direction: column; }
.sidebar-footer small { color: var(--navy-muted); font-size: 10px; }
.status-dot, .live-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; background: #30c886; box-shadow: 0 0 0 4px rgba(48,200,134,.12); }
.status-dot.scaffold { width: 12px; height: 12px; margin-bottom: 14px; background: var(--orange); box-shadow: 0 0 0 5px var(--orange-soft); }
.sidebar-overlay { display: none; }

.app-shell.sidebar-collapsed .sidebar { width: 82px; }
.app-shell.sidebar-collapsed .workspace { margin-left: 82px; }
.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .sidebar-footer > span:last-child,
.app-shell.sidebar-collapsed .nav-link > span:last-child,
.app-shell.sidebar-collapsed .nav-group a > span:last-child { display: none; }
.app-shell.sidebar-collapsed .nav-group { display: block; }
.app-shell.sidebar-collapsed .nav-group > summary { display: none; }
.app-shell.sidebar-collapsed details.nav-group:not([open]) > a { display: flex !important; }
.app-shell.sidebar-collapsed .nav-group a { justify-content: center; padding-inline: 8px; }
.app-shell.sidebar-collapsed .sidebar-nav { padding-inline: 10px; }
.app-shell.sidebar-collapsed .nav-item-icon { margin: 0; }
.app-shell.sidebar-collapsed .sidebar-brand { justify-content: center; padding-inline: 9px; }
.app-shell.sidebar-collapsed .sidebar-collapse { position: absolute; right: -15px; transform: rotate(180deg); background: white !important; color: var(--navy) !important; box-shadow: var(--shadow); }
.app-shell.sidebar-collapsed .nav-link { justify-content: center; }

.feature-info {
  position: relative; width: 20px; height: 20px; display: inline-grid; place-items: center;
  margin-left: 6px; border: 1px solid #bdd1e8; border-radius: 50%; color: #2563eb;
  background: #eef5ff; cursor: help; font-size: 11px; font-style: normal; font-weight: 900;
  vertical-align: middle;
}
.feature-info::after {
  position: absolute; z-index: 120; bottom: calc(100% + 9px); left: 50%; width: min(260px, 70vw);
  padding: 10px 12px; border-radius: 11px; color: #fff; background: #14243b;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .22); content: attr(data-tip); font-size: 11px;
  font-weight: 650; line-height: 1.45; opacity: 0; pointer-events: none;
  transform: translate(-50%, 5px); transition: opacity .15s ease, transform .15s ease;
}
.feature-info:hover::after, .feature-info:focus::after { opacity: 1; transform: translate(-50%, 0); }
.step-help-note { margin: 9px 0 0; color: var(--muted); font-size: 11px; }

/* Top bar */
.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: var(--topbar-height);
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 26px;
  border-bottom: 1px solid var(--line);
  background: rgba(250, 253, 255, .8);
  box-shadow: 0 6px 28px rgba(15, 42, 61, .045);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}
.mobile-menu { display: none !important; }
.global-search {
  width: min(490px, 42vw);
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.global-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); }
.global-search.search-disabled { color: var(--muted); font-size: 12px; }
.global-search kbd { padding: 2px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); background: white; font-size: 10px; }
.topbar-actions { min-width: 0; margin-left: auto; display: flex; align-items: center; gap: 9px; }
.icon-button {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.icon-button:hover { transform: translateY(-1px); border-color: #bcdadd; box-shadow: 0 8px 20px rgba(15,35,53,.09); }
.indicator { position: relative; color: var(--ink); }
.indicator-dot { position: absolute; right: 7px; top: 6px; width: 6px; height: 6px; border: 1px solid white; border-radius: 50%; background: var(--green); }
.count-badge { min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding-inline: 5px; border-radius: 99px; color: white; background: var(--red); font-size: 10px; font-weight: 800; }
.indicator .count-badge { position: absolute; right: -6px; top: -6px; }
.compact-control select { max-width: 150px; height: 38px; border: 1px solid var(--line); border-radius: 9px; padding: 0 30px 0 10px; background: white; color: var(--ink); }
.dropdown { position: relative; }
.dropdown > summary { list-style: none; }
.dropdown > summary::-webkit-details-marker { display: none; }
.dropdown-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 9px);
  left: 0;
  min-width: 210px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-glass);
  backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}
.dropdown-right { left: auto; right: 0; }
.dropdown-menu a, .dropdown-menu button { width: 100%; display: block; padding: 9px 10px; border: 0; border-radius: 8px; color: var(--ink); background: none; text-align: left; cursor: pointer; }
.dropdown-menu a:hover, .dropdown-menu button:hover { background: var(--primary-soft); color: var(--primary-dark); }
.dropdown-menu form { margin: 0; }
.notification-menu { padding: 15px; }
.notification-menu p { margin: 5px 0 0; }
.profile-trigger { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.profile-copy { max-width: 135px; display: flex; flex-direction: column; line-height: 1.25; }
.profile-copy strong, .profile-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-copy small { color: var(--muted); font-size: 10px; }
.avatar { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 11px; color: var(--primary-dark); background: var(--primary-soft); font-weight: 800; }
.avatar.small { width: 32px; height: 32px; flex-basis: 32px; border-radius: 9px; }

/* Content */
.content { width: 100%; max-width: 1720px; margin: auto; padding: 22px 28px 46px; overflow: visible; }
.breadcrumbs { display: flex; gap: 7px; margin-bottom: 18px; color: #8b99a6; font-size: 11px; }
.breadcrumbs a { color: #617383; }
.dashboard-heading, .page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 21px; }
.dashboard-heading p, .page-heading p { margin-bottom: 0; color: var(--muted); }
.eyebrow, .section-kicker { margin-bottom: 5px !important; color: var(--primary) !important; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.heading-meta { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.panel, .kpi-card, .stat-card, .trip-card {
  border: 1px solid rgba(215, 227, 235, .9);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(251,253,255,.84));
  box-shadow: var(--shadow);
}
.panel { padding: 20px; }
.section-panel { margin-bottom: 18px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 16px; }
.panel-heading h2, .panel-heading p { margin-bottom: 0; }
.panel-heading > a { font-size: 12px; font-weight: 700; }
.button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: white;
  cursor: pointer;
  font-weight: 750;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15,35,53,.1); }
.button.primary { color: white; border-color: #087884; background: linear-gradient(135deg, #09929e, #087481); box-shadow: 0 8px 18px rgba(8,127,140,.17), inset 0 1px 0 rgba(255,255,255,.2); }
.button.primary:hover { background: linear-gradient(135deg, #087f8c, #055d68); }
.panel-action { width: 100%; margin-top: 14px; }
.quick-create { min-height: 38px; }
.quick-menu { left: auto; right: 0; min-width: 190px; }
.badge, .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 99px;
  color: var(--primary-dark);
  background: var(--primary-soft);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-transform: capitalize;
}
.badge.success { color: var(--green); background: var(--green-soft); }
.badge.warning { color: #9b5c18; background: var(--orange-soft); }
.danger-text { color: var(--red) !important; }
.notice, .error, .integration-note { padding: 11px 13px; border: 1px solid #cce4e6; border-radius: 10px; color: var(--primary-dark); background: var(--primary-soft); }
.notice, .error { margin-bottom: 16px; }
.error { color: #982c3b; border-color: #f1cbd1; background: var(--red-soft); }
.integration-note { margin-bottom: 13px; color: #8d591f; border-color: #f0d4ae; background: var(--orange-soft); font-size: 12px; }

/* Filters and quick actions */
.dashboard-filters { margin-bottom: 13px; padding: 13px 15px; }
.filter-primary, .filter-secondary { display: flex; align-items: end; gap: 9px; }
.date-range-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.date-range-field legend { margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 750; }
.period-tabs {
  display: flex;
  gap: 4px;
  max-width: min(660px, 50vw);
  overflow-x: auto;
  padding: 4px;
  border: 1px solid rgba(206, 221, 230, .88);
  border-radius: 12px;
  background: rgba(235, 243, 247, .66);
  box-shadow: inset 0 1px 3px rgba(20,50,70,.04), 0 1px 0 rgba(255,255,255,.9);
  scrollbar-width: none;
}
.period-tabs::-webkit-scrollbar { display: none; }
.period-tabs label { display: block; flex: 0 0 auto; cursor: pointer; }
.period-tabs input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.period-tabs span {
  min-height: 30px;
  display: grid;
  place-items: center;
  padding: 5px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #5f7283;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  transition: color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.period-tabs label:hover span { color: var(--primary-dark); background: rgba(255,255,255,.64); }
.period-tabs input:checked + span {
  color: white;
  border-color: rgba(7, 104, 114, .3);
  background: linear-gradient(135deg, #0996a1, #08717e);
  box-shadow: 0 5px 12px rgba(8,127,140,.2), inset 0 1px 0 rgba(255,255,255,.2);
  transform: translateY(-1px);
}
.period-tabs input:focus-visible + span { outline: 3px solid rgba(8,127,140,.25); outline-offset: 2px; }
.dashboard-filters label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 750; }
.dashboard-filters select, .dashboard-filters input, .table-search {
  height: 37px;
  min-width: 125px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  color: var(--ink);
  background: white;
}
.dashboard-filters select:focus, .dashboard-filters input:focus, .table-search:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(8,127,140,.08); }
.custom-date { display: none !important; }
.dashboard-filters.show-custom .custom-date { display: flex !important; }
.advanced-filters { margin-top: 9px; }
.advanced-filters summary { display: flex; align-items: center; justify-content: space-between; color: var(--primary); cursor: pointer; font-size: 11px; font-weight: 750; list-style: none; }
.advanced-filters summary::-webkit-details-marker { display: none; }
.filter-secondary { padding-top: 12px; border-top: 1px solid var(--line-soft); flex-wrap: wrap; }
.filter-secondary label { flex: 1; min-width: 160px; }
.quick-actions { display: flex; align-items: center; gap: 8px; margin: 12px 0 16px; overflow-x: auto; padding: 2px 1px 5px; scroll-snap-type: x proximity; scrollbar-width: none; }
.quick-actions::-webkit-scrollbar { display: none; }
.quick-actions > span { flex: 0 0 auto; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.quick-action { flex: 0 0 auto; display: flex; align-items: center; gap: 5px; padding: 7px 11px; border: 1px solid rgba(210,225,233,.92); border-radius: 10px; color: var(--ink); background: rgba(255,255,255,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 5px 16px rgba(24,54,73,.05); font-size: 11px; font-weight: 700; scroll-snap-align: start; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease; }
.quick-action:hover { color: var(--primary-dark); transform: translateY(-1px); border-color: #a9d5d8; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(224,247,247,.9)); box-shadow: 0 8px 20px rgba(8,127,140,.1); }
.quick-action span { color: var(--primary); }

/* KPI */
.kpi-grid { display: grid; grid-template-columns: repeat(7, minmax(145px, 1fr)); gap: 11px; margin-bottom: 18px; }
.kpi-card { position: relative; min-width: 0; min-height: 122px; display: grid; grid-template-columns: 38px 1fr; gap: 10px; overflow: hidden; padding: 15px; color: var(--ink); transition: transform .15s ease, border .15s ease, box-shadow .15s ease; }
.kpi-card::after { position: absolute; right: -24px; top: -30px; width: 82px; height: 82px; border-radius: 50%; background: radial-gradient(circle, rgba(41,171,178,.12), transparent 68%); content: ""; pointer-events: none; }
.kpi-card:hover { transform: translateY(-2px); border-color: #c4d9de; box-shadow: 0 11px 28px rgba(22,45,67,.1); }
.kpi-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--primary-dark); background: var(--primary-soft); font-size: 12px; font-weight: 900; }
.icon-alert, .icon-user-minus { color: #a45d15; background: var(--orange-soft); }
.icon-wallet, .icon-check, .icon-ticket { color: var(--green); background: var(--green-soft); }
.kpi-copy { min-width: 0; display: flex; flex-direction: column; }
.kpi-copy > span { min-height: 33px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.kpi-copy strong { overflow: hidden; margin-top: 2px; font-size: 21px; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.trend { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.trend.up { color: var(--green); }
.trend.down { color: var(--red); }

/* Pipeline */
.pipeline { display: grid; grid-template-columns: repeat(8, minmax(128px, 1fr)); gap: 9px; overflow-x: auto; }
.pipeline-stage { min-width: 128px; padding: 13px; border: 1px solid var(--line-soft); border-radius: 12px; color: var(--ink); background: #fafcfd; transition: border .15s, transform .15s; }
.pipeline-stage:hover { transform: translateY(-2px); border-color: #bcd8dc; }
.pipeline-stage > span:not(.pipeline-dot), .pipeline-stage > small { display: block; }
.pipeline-stage > span:not(.pipeline-dot) { color: var(--muted); font-size: 10px; }
.pipeline-stage > strong { display: block; margin: 3px 0; font-size: 22px; }
.pipeline-stage > small { color: var(--muted); font-size: 9px; }
.pipeline-dot { width: 7px; height: 7px; float: right; border-radius: 50%; background: var(--primary); }
.stage-lost { background: var(--red); }
.stage-booked { background: var(--green); }
.stage-payment_pending, .stage-negotiation { background: var(--orange); }
.progress, .compact-progress { overflow: hidden; height: 4px; margin: 10px 0 5px; border-radius: 99px; background: #e8eef2; }
.progress i, .compact-progress i { height: 100%; display: block; border-radius: inherit; background: var(--primary); }
.compact-progress { width: 75px; margin: 4px 0 2px; }

/* Grids, tables and lists */
.dashboard-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dashboard-two-col.wide-left { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .8fr); }
.dashboard-two-col > * { min-width: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { padding: 11px 9px; border-bottom: 1px solid var(--line-soft); vertical-align: middle; }
th { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
td { font-size: 12px; }
td small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.table-search { min-width: 190px; }
.urgent-table-row { background: #fffafb; }
.mobile-table-cards, .conversation-preview, .recent-list, .destination-list, .activity-timeline { display: flex; flex-direction: column; }
.followup-row, .conversation-row, .recent-row, .destination-row, .activity-item, .notification-row { display: flex; align-items: center; gap: 11px; padding: 11px 3px; border-bottom: 1px solid var(--line-soft); color: var(--ink); }
.followup-row:last-child, .conversation-row:last-child, .recent-row:last-child, .destination-row:last-child, .activity-item:last-child, .notification-row:last-child { border-bottom: 0; }
.followup-row small, .conversation-row small, .recent-row small, .destination-row small, .activity-item small, .notification-row small { display: block; color: var(--muted); font-size: 10px; }
.followup-row time, .activity-item time { color: var(--muted); font-size: 10px; white-space: nowrap; }
.urgent-row { margin-inline: -8px; padding-inline: 8px; border-radius: 9px; background: var(--red-soft); }
.priority { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #99a9b6; }
.priority.high, .priority.urgent { background: var(--red); }
.priority.medium { background: var(--orange); }
.row-actions { display: flex; align-items: center; gap: 7px; }
.row-actions a, .row-actions button { border: 0; color: var(--primary); background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; }
.row-actions form { margin: 0; }
.mini-stat-row, .call-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.mini-stat-row span, .call-stats span { padding: 9px 10px; border-radius: 9px; color: var(--muted); background: #f8fafb; font-size: 10px; }
.mini-stat-row strong, .call-stats strong { display: block; color: var(--ink); font-size: 17px; }
.call-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.conversation-row p, .notification-row p { overflow: hidden; margin: 3px 0 0; color: #4f6272; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.conversation-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 4px; color: var(--muted); font-size: 9px; }
.notification-row.unread { margin-inline: -7px; padding-inline: 7px; border-radius: 9px; background: #f1fafb; }
.notification-icon, .destination-rank { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 9px; color: var(--primary-dark); background: var(--primary-soft); font-size: 10px; font-weight: 850; }
.activity-item > span { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 4px var(--primary-soft); }
.leaderboard { margin: 0; padding: 0; list-style: none; }
.leaderboard li { display: flex; align-items: center; gap: 10px; padding: 10px 3px; border-bottom: 1px solid var(--line-soft); }
.leaderboard li:last-child { border-bottom: 0; }
.rank { width: 22px; color: var(--muted); font-weight: 850; text-align: center; }
.source-row { display: grid; grid-template-columns: 110px minmax(60px, 1fr) 30px; gap: 8px; align-items: center; padding: 6px 0; }
.source-row > span { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.source-row small { grid-column: 2 / 4; color: var(--muted); font-size: 9px; }
.source-track { height: 8px; overflow: hidden; border-radius: 99px; background: #edf2f4; }
.source-track i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--primary), #31afb6); }

/* Charts and finance */
.bar-chart { min-height: 230px; display: flex; align-items: flex-end; gap: 14px; padding: 30px 8px 5px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom, transparent 0, transparent 54px, var(--line-soft) 55px); }
.bar-column { min-width: 54px; height: 190px; flex: 1; display: flex; align-items: center; flex-direction: column; justify-content: flex-end; }
.chart-bar { width: min(42px, 72%); min-height: 6px; max-height: 140px; border-radius: 8px 8px 2px 2px; background: linear-gradient(180deg, #25a6af, var(--primary)); transition: height .4s ease; }
.bar-value { color: var(--muted); font-size: 8px; }
.bar-column strong { margin-top: 6px; font-size: 10px; }
.bar-column small { color: var(--muted); font-size: 8px; }
.status-distribution { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.status-distribution span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; }
.status-distribution i { width: 7px; height: 7px; border-radius: 50%; background: var(--primary); }
.subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line-soft); }
.subsection-heading h3 { margin: 0; }
.payment-ring { --value: calc(var(--collected) * 1%); width: 150px; height: 150px; display: grid; place-items: center; margin: 5px auto 18px; border-radius: 50%; background: conic-gradient(var(--green) var(--value), #e9eff2 0); }
.payment-ring::before { content: ""; position: absolute; width: 112px; height: 112px; border-radius: 50%; background: white; }
.payment-ring > div { position: relative; z-index: 1; text-align: center; }
.payment-ring strong, .payment-ring small { display: block; }
.payment-ring strong { font-size: 20px; }
.payment-ring small { color: var(--muted); font-size: 9px; }
.payment-breakdown, .specialist-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.payment-breakdown span, .specialist-grid span { padding: 10px; border-radius: 9px; color: var(--muted); background: #f8fafb; font-size: 10px; }
.payment-breakdown strong, .specialist-grid strong { display: block; margin-top: 2px; color: var(--ink); font-size: 15px; }
.health-list span { display: flex; align-items: center; gap: 8px; padding: 11px 2px; border-bottom: 1px solid var(--line-soft); color: var(--muted); }
.health-list span i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.health-list span i.warning { background: var(--orange); }
.health-list strong { margin-left: auto; color: var(--ink); font-size: 11px; }
.plan-list > span { display: grid; grid-template-columns: 90px 1fr 28px; align-items: center; gap: 10px; padding: 9px 0; }
.plan-list i { overflow: hidden; height: 7px; border-radius: 99px; background: #edf2f4; }
.plan-list b { height: 100%; display: block; border-radius: inherit; background: var(--primary); }
.plan-list em { color: var(--muted); font-style: normal; text-align: right; }

/* Existing feature pages */
.stats-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 13px; margin-bottom: 18px; }
.stat-card { padding: 18px; }
.stat-card span, .stat-card small { display: block; color: var(--muted); }
.stat-card strong { display: block; margin: 6px 0; font-size: 24px; }
.dashboard-grid, .detail-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr); gap: 18px; margin-bottom: 18px; }
.filter-bar { display: flex; gap: 8px; margin-bottom: 14px; overflow: auto; }
.filter-bar a { padding: 6px 11px; border: 1px solid var(--line); border-radius: 99px; background: white; white-space: nowrap; }
.list-search { max-width: 560px; display: flex; gap: 8px; margin-bottom: 12px; }
.list-search input { flex: 1; min-width: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.pagination { display: flex; align-items: center; justify-content: flex-end; gap: 13px; padding-top: 14px; color: var(--muted); font-size: 11px; }
.pagination a { padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: white; font-weight: 700; }
.form-card { max-width: 820px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.form-card label, .stack label { font-weight: 700; }
.form-card input, .form-card select, .form-card textarea, .stack input, .stack select, .stack textarea, .panel form input, .panel form select, .panel form textarea { width: 100%; display: block; margin-top: 5px; padding: 9px 10px; border: 1px solid #cad5de; border-radius: 8px; background: white; }
.form-card textarea { min-height: 90px; }
.form-card label:has(textarea), .form-card .actions { grid-column: 1 / -1; }
.actions { display: flex; gap: 9px; }
.link-button { padding: 0; border: 0; color: var(--primary); background: none; cursor: pointer; }
.field-error { display: block; color: var(--red); }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.trip-card { display: block; padding: 20px; color: var(--ink); }
.trip-card h2 { margin: 15px 0 3px; font-size: 20px; }
.trip-card p, .trip-card small { color: var(--muted); }
.day-card { display: flex; gap: 17px; }
.day-number { height: max-content; padding: 6px 9px; border-radius: 8px; color: white; background: var(--primary); font-weight: 750; white-space: nowrap; }
.component-row { margin: 9px 0; padding: 10px; border-radius: 9px; background: var(--background); }
.component-row strong, .component-row small { display: block; margin-top: 3px; }
.inbox-layout { min-height: 520px; display: grid; grid-template-columns: 340px 1fr; gap: 16px; }
.conversation { position: relative; padding: 12px; border-bottom: 1px solid var(--line); }
.conversation small { display: block; color: var(--muted); }
.conversation > span { position: absolute; right: 9px; top: 15px; min-width: 20px; padding: 2px 5px; border-radius: 99px; color: white; background: var(--primary); text-align: center; }
.empty-chat { display: grid; place-items: center; text-align: center; }
.empty-state { padding: 45px 18px; color: var(--muted); text-align: center; }
.empty-state.compact { padding: 22px 10px; }
.empty-state h3 { margin-bottom: 3px; color: var(--ink); }
.empty-state p { margin-bottom: 0; }
.empty-state.panel { grid-column: 1 / -1; }
.loading-skeleton { display: grid; gap: 9px; }
.skeleton-line { height: 12px; overflow: hidden; border-radius: 7px; background: #edf1f4; }
.skeleton-line::after { content: ""; width: 45%; height: 100%; display: block; background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); animation: skeleton 1.25s infinite; }
@keyframes skeleton { from { transform: translateX(-120%); } to { transform: translateX(250%); } }
.stack { display: flex; flex-direction: column; gap: 12px; }

/* General tasks */
.task-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.task-stats .stat-card { color: var(--ink); transition: transform .15s ease, border-color .15s ease; }
.task-stats .stat-card:hover { transform: translateY(-2px); border-color: #b9dadd; }
.task-stat-alert strong { color: var(--red); }
.task-stat-success strong { color: var(--green); }
.task-filter-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  align-items: end;
  gap: 10px;
  margin-bottom: 16px;
  padding: 14px;
}
.task-filter-form label { color: var(--muted); font-size: 10px; font-weight: 750; }
.task-filter-form input, .task-filter-form select, .task-status-form select, .task-status-form textarea {
  width: 100%;
  min-height: 38px;
  display: block;
  margin-top: 5px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: white;
}
.task-filter-actions { display: flex; gap: 7px; }
.task-table .row-link { font-size: 11px; font-weight: 800; }
.priority-label { display: inline-flex; padding: 4px 8px; border-radius: 99px; color: var(--muted); background: #f0f3f5; font-size: 10px; font-weight: 800; }
.priority-high { color: #9b5c18; background: var(--orange-soft); }
.priority-urgent { color: var(--red); background: var(--red-soft); }
.priority-low { color: var(--green); background: var(--green-soft); }
.status-done { color: var(--green); background: var(--green-soft); }
.status-blocked, .status-cancelled { color: var(--red); background: var(--red-soft); }
.status-in_progress { color: #9b5c18; background: var(--orange-soft); }
.task-detail-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 24px; }
.task-description { min-height: 95px; color: #455868; }
.task-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
.task-meta-grid > div { padding: 12px; border-radius: 10px; background: #f8fafb; }
.task-meta-grid span, .task-note > span { display: block; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.task-meta-grid strong { display: block; margin-top: 3px; font-size: 12px; }
.task-note { margin-top: 15px; padding: 14px; border-radius: 10px; background: var(--primary-soft); }
.task-note p { margin: 5px 0 0; }
.task-status-form label { color: var(--muted); font-size: 11px; font-weight: 750; }
.task-status-form textarea { min-height: 90px; resize: vertical; }
.danger-zone { border-color: #f1cbd1; }
.danger-button { color: white; border-color: var(--red); background: var(--red); }
.danger-button:hover { color: white; background: #a92e3f; }
.confirmation-panel { max-width: 620px; margin: 10vh auto 0; padding: 34px; text-align: center; }
.confirmation-panel .actions { justify-content: center; margin-top: 22px; }
.confirmation-icon { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; color: var(--red); background: var(--red-soft); font-size: 24px; font-weight: 900; }
.task-form label:first-of-type, .task-form label:nth-of-type(2) { grid-column: 1 / -1; }

/* Public / login */
.public-header { height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; border-bottom: 1px solid var(--line); background: white; }
.public-header .brand { color: var(--ink); }
.powered-label { color: var(--muted); font-size: 11px; }
.standalone { min-height: calc(100vh - 70px); }
.login-wrap { min-height: calc(100vh - 70px); display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 8vw; max-width: 1120px; margin: auto; padding: 50px 25px; }
.login-copy h1 { max-width: 610px; margin-top: 42px; font-size: clamp(40px, 5vw, 60px); }
.login-copy > p:last-child { max-width: 540px; color: var(--muted); font-size: 17px; }
.login-card { padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); }
.login-card h2 { margin-bottom: 3px; font-size: 25px; }
.password-input-wrap { position: relative; display: block; }
.password-input-wrap input { padding-right: 72px; }
.password-toggle { position: absolute; z-index: 2; top: 50%; right: 6px; min-width: 58px; min-height: 36px; margin: 2px 0 0; padding: 0 10px; border: 0; border-radius: 8px; color: var(--primary-dark); background: var(--primary-soft); cursor: pointer; font-size: 12px; font-weight: 850; transform: translateY(-50%); touch-action: manipulation; }
.password-toggle:hover { background: #d5f2f1; }

/* Modal */
.modal { max-width: none; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(7,23,38,.46); }
.modal[open] { display: grid; place-items: center; }
.modal::backdrop { background: rgba(7,23,38,.46); }
.modal-card { position: relative; width: min(420px, calc(100% - 30px)); padding: 28px; border-radius: 18px; background: white; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.modal-card p { color: var(--muted); }
.modal-close { position: absolute; right: 12px; top: 10px; border: 0; color: var(--muted); background: none; cursor: pointer; font-size: 24px; }

@media (max-width: 1450px) {
  .kpi-grid { grid-template-columns: repeat(4, minmax(145px, 1fr)); }
}
@media (max-width: 1120px) {
  :root { --sidebar-width: 235px; }
  .content { padding-inline: 20px; }
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }
  .filter-primary { flex-wrap: wrap; }
  .date-range-field { flex: 1 1 100%; }
  .period-tabs { max-width: 100%; }
  .dashboard-two-col.wide-left { grid-template-columns: 1fr; }
  .global-search { width: min(350px, 35vw); }
  .compact-control { display: none; }
  .task-filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .task-search { grid-column: span 2; }
}
@media (max-width: 860px) {
  .workspace, .app-shell.sidebar-collapsed .workspace { margin-left: 0; }
  .sidebar, .app-shell.sidebar-collapsed .sidebar { width: min(290px, 88vw); transform: translateX(-105%); }
  .app-shell.mobile-nav-open .sidebar { transform: translateX(0); }
  .app-shell.mobile-nav-open .sidebar-overlay { position: fixed; inset: 0; z-index: 35; display: block; border: 0; background: rgba(3,16,29,.5); }
  .app-shell.sidebar-collapsed .brand-copy, .app-shell.sidebar-collapsed .sidebar-footer > span:last-child, .app-shell.sidebar-collapsed .nav-link > span:last-child, .app-shell.sidebar-collapsed .nav-group { display: flex; }
  .app-shell.sidebar-collapsed .nav-group { display: block; }
  .sidebar-collapse { display: none !important; }
  .mobile-menu { display: grid !important; }
  .topbar { padding-inline: 14px; }
  .global-search { width: auto; flex: 1; }
  .global-search kbd, .profile-copy, .quick-create span { display: none; }
  .content { padding: 18px 14px 40px; }
  .dashboard-two-col, .dashboard-grid, .detail-grid, .inbox-layout { grid-template-columns: 1fr; }
  .dashboard-two-col.wide-left { grid-template-columns: minmax(0, 1fr); }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .form-card { grid-template-columns: 1fr; }
  .form-card label:has(textarea), .form-card .actions { grid-column: auto; }
  .task-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-search { grid-column: span 2; }
  .task-form label:first-of-type, .task-form label:nth-of-type(2) { grid-column: auto; }
}

/* Destination-linked travel inventory */
.inventory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.inventory-heading h1{margin:.15rem 0}.inventory-heading p{margin:.25rem 0;color:var(--muted)}.inventory-form-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:1rem;align-items:start}.inventory-form-card,.inventory-guide-card{padding:1.25rem;border:1px solid #d8e4f2;border-radius:22px;background:linear-gradient(145deg,#fff,#f9fcff);box-shadow:0 14px 34px rgba(33,63,105,.08)}.inventory-guide-card{position:sticky;top:90px;background:linear-gradient(145deg,#ecfeff,#f5f3ff)}.inventory-guide-card h3{margin-top:0}.inventory-guide-card ol{display:grid;gap:.7rem;padding-left:1.2rem;color:#52657a}.inventory-help-banner,.transport-rule-banner{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;margin:0 0 1rem;border:1px solid #99e6df;border-radius:17px;background:linear-gradient(135deg,#ecfdf8,#effcff);color:#155e63}.inventory-help-banner>span,.transport-rule-banner>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#0ea5a7,#0f78d6);color:#fff;font-weight:900}.inventory-help-banner p,.transport-rule-banner p{margin:.2rem 0}.inventory-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inventory-field-grid .span-all{grid-column:1/-1}.inventory-field-grid .form-field{margin:0}.inventory-inline-section{margin-top:1rem;padding:1rem;border:1px solid #dae5f0;border-radius:17px;background:#f8fbff}.inventory-inline-section>header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.inventory-inline-list{display:grid;gap:.75rem}.inventory-form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dde6f0}.inventory-filter-bar{display:grid;grid-template-columns:minmax(210px,1fr) repeat(3,minmax(140px,.45fr)) auto auto;gap:.7rem;margin-bottom:1rem;padding:.8rem;border:1px solid #d8e3f0;border-radius:18px;background:#fff}.inventory-card-grid,.transport-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.destination-card,.sightseeing-card,.transport-card{position:relative;overflow:hidden;display:grid;gap:.8rem;padding:1rem;border:1px solid #d9e4f2;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 12px 28px rgba(35,60,96,.07)}.destination-card{grid-template-columns:48px 1fr auto}.destination-card-icon,.sightseeing-placeholder,.transport-placeholder{display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#1769ed,#7851e9);color:#fff;font-weight:900}.destination-card-icon{width:48px;height:48px}.destination-card h2,.sightseeing-card h2,.transport-card h2{margin:.1rem 0;font-size:1.08rem}.destination-card p,.sightseeing-card p,.transport-card p{margin:.2rem 0;color:var(--muted)}.inventory-link-counts,.inventory-price-row,.transport-metrics{display:flex;flex-wrap:wrap;gap:.4rem}.inventory-link-counts span,.inventory-price-row span,.transport-metrics span{padding:.35rem .55rem;border-radius:999px;background:#edf5ff;color:#3e5874;font-size:.72rem}.sightseeing-card img,.sightseeing-placeholder,.transport-card>img,.transport-card>.transport-placeholder{width:100%;height:150px;object-fit:cover;border-radius:14px}.inventory-empty{grid-column:1/-1;display:grid;place-items:center;gap:.5rem;padding:2rem;text-align:center;border:1px dashed #aebfd2;border-radius:20px;background:#f8fbff}.transport-card{padding:.75rem}.transport-card-body header{display:flex;justify-content:space-between;gap:.7rem}.transport-card-body>a{display:inline-block;margin-top:.8rem;font-weight:850}.transport-studio-card{max-width:1100px;margin:auto}.transport-rate-list{display:grid;gap:1rem}.transport-rate-editor{padding:1rem;border:1px solid #d6e3f2;border-radius:18px;background:#fbfdff}.transport-rate-editor header{display:flex;justify-content:space-between;margin-bottom:.8rem}.transport-price-preview{display:flex;justify-content:flex-end;gap:1rem;margin-top:.8rem;padding:.7rem;border-radius:12px;background:#eafaf7}.transport-review-hero{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:18px;background:linear-gradient(135deg,#eaf8ff,#f3efff)}.transport-review-hero .transport-placeholder{width:72px;height:72px}.transport-review-rates{display:grid;gap:.75rem;margin-top:1rem}.transport-review-rates article{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d9e4f0;border-radius:16px}.transport-review-rates article>div:last-child{display:grid;text-align:right}.package-library-section{margin:1rem 0;padding:1rem;border:1px solid #d7e6f2;border-radius:20px;background:linear-gradient(145deg,#f9fdff,#f8f6ff)}.package-library-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.package-library-heading h3{margin:.1rem 0}.package-library-heading p{margin:.25rem 0;color:var(--muted)}.package-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.package-library-card{display:grid;gap:.65rem;padding:1rem;border:1px solid #d7e3ef;border-radius:18px;background:#fff}.package-library-card.is-selected{border-color:#15a394;box-shadow:0 0 0 3px rgba(21,163,148,.1)}.package-library-card h4,.package-library-card p{margin:0}.package-library-card p{color:var(--muted)}.package-library-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0}.package-library-card dl div{padding:.6rem;border-radius:12px;background:#f2f7fc}.package-library-card dt{font-size:.68rem;color:#6b7b8e;text-transform:uppercase}.package-library-card dd{margin:.15rem 0 0;font-weight:850}.library-kind{width:max-content;padding:.3rem .55rem;border-radius:999px;font-size:.65rem;font-weight:950;letter-spacing:.08em}.library-kind.hotel{background:#e6f8ff;color:#075985}.library-kind.transport{background:#fff0db;color:#9a4200}.library-kind.activity{background:#e9fbef;color:#087443}.library-check{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:750}.library-check input{width:18px;height:18px;accent-color:#0d8d82}.library-note{padding:.55rem;border-radius:11px;background:#fff9e9!important;color:#765400!important;font-size:.76rem}.package-custom-options{margin-top:1rem;border:1px solid #d6e2ef;border-radius:18px;background:#fff}.package-custom-options>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;font-weight:850}.package-custom-options>summary span{color:var(--muted);font-size:.75rem;font-weight:600}.package-custom-options>.package-studio-form{padding:0 1rem 1rem}.amenity-checkbox-grid ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0;list-style:none}.amenity-checkbox-grid label{display:flex;gap:.4rem;align-items:center;padding:.55rem;border:1px solid #d9e3ee;border-radius:11px;background:#fff}.amenity-checkbox-grid input{width:18px;height:18px}
@media(max-width:980px){.inventory-card-grid,.transport-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-form-layout{grid-template-columns:1fr}.inventory-guide-card{position:static}.inventory-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.package-library-grid{grid-template-columns:1fr}}
@media(max-width:620px){.inventory-heading,.package-library-heading{align-items:stretch;flex-direction:column}.inventory-heading .button,.package-library-heading .button{width:100%;justify-content:center}.inventory-card-grid,.transport-card-grid,.inventory-field-grid,.inventory-filter-bar{grid-template-columns:1fr}.destination-card{grid-template-columns:42px 1fr}.destination-card>a{grid-column:1/-1}.package-library-section{margin-inline:-5px;padding:.75rem}.package-library-card dl{grid-template-columns:1fr}.inventory-form-actions{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));z-index:8;margin-inline:-1rem;margin-bottom:-1rem;padding:.8rem 1rem;background:rgba(255,255,255,.97)}.amenity-checkbox-grid ul{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-review-rates article{flex-direction:column}.transport-review-rates article>div:last-child{text-align:left}.package-custom-options>summary span{display:none}}

/* Hotel Listing and calendar-rate studio. */
.hotel-list-heading,.hotel-studio-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.hotel-list-heading h1,.hotel-studio-heading h1{margin:.15rem 0}.hotel-list-heading p,.hotel-studio-heading p{margin:.25rem 0;color:var(--muted)}.hotel-list-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.hotel-list-metrics article{position:relative;overflow:hidden;padding:1rem 1.1rem;border:1px solid #d7e5f3;border-radius:19px;background:linear-gradient(145deg,#fff,#f5fbff);box-shadow:0 12px 26px rgba(40,68,103,.07)}.hotel-list-metrics article:nth-child(2){background:linear-gradient(145deg,#fff,#edfff9)}.hotel-list-metrics article:nth-child(3){background:linear-gradient(145deg,#fff,#fff7e8)}.hotel-list-metrics small,.hotel-list-metrics strong{display:block}.hotel-list-metrics small{color:#62748a;font-weight:800;text-transform:uppercase;font-size:.69rem}.hotel-list-metrics strong{margin-top:.35rem;font-size:1.8rem}.hotel-list-filter{display:grid;grid-template-columns:2fr repeat(3,1fr) auto auto;gap:.65rem;align-items:end;padding:1rem;margin-bottom:1rem;border:1px solid #d9e4ef;border-radius:19px;background:#fff}.hotel-list-filter label{display:grid;gap:.35rem;color:#53657b;font-size:.72rem;font-weight:800}.hotel-list-filter input,.hotel-list-filter select{min-height:44px;border:1px solid #cbd8e7;border-radius:12px;background:#fff;padding:.65rem .75rem}.hotel-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.hotel-card{overflow:hidden;border:1px solid #d7e3ef;border-radius:22px;background:#fff;box-shadow:0 15px 35px rgba(40,60,91,.08);transition:.18s ease}.hotel-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(40,60,91,.13)}.hotel-card-media{position:relative;height:180px;background:linear-gradient(135deg,#d9f8f2,#e9e4ff);display:grid;place-items:center}.hotel-card-media img{width:100%;height:100%;object-fit:cover}.hotel-card-placeholder{font-size:3rem}.hotel-status-chip{position:absolute;left:.75rem;top:.75rem;padding:.35rem .58rem;border-radius:999px;background:#fff5d8;color:#925000;font-size:.67rem;font-weight:900;box-shadow:0 6px 14px rgba(35,50,77,.12)}.hotel-status-chip.active{background:#dffcef;color:#087753}.hotel-card-body{padding:1rem}.hotel-card-eyebrow{display:flex;justify-content:space-between;gap:.6rem;color:#64748b;font-size:.72rem;font-weight:800}.hotel-card-body h3{margin:.45rem 0 .2rem}.hotel-card-body>p{margin:.2rem 0 .8rem;color:#64748b}.hotel-card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.hotel-card-facts span{padding:.55rem;border-radius:11px;background:#f4f7fb;text-align:center}.hotel-card-facts b,.hotel-card-facts small{display:block}.hotel-card-facts b{font-size:.94rem}.hotel-card-facts small{color:#708197;font-size:.62rem}.hotel-amenity-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0}.hotel-amenity-pills span{padding:.28rem .45rem;border-radius:999px;background:#ecfdf8;color:#087a6a;font-size:.64rem;font-weight:800}.hotel-card-actions{display:flex;gap:.5rem;border-top:1px solid #e6edf4;padding-top:.8rem}.hotel-card-actions .button{flex:1;justify-content:center}
.hotel-studio-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-bottom:1rem;padding:.65rem;border:1px solid #d7e3ef;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 12px 26px rgba(41,60,94,.08);backdrop-filter:blur(12px)}.hotel-studio-stepper a,.hotel-studio-stepper span{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;padding:.7rem;border-radius:14px;color:#64748b;text-decoration:none}.hotel-studio-stepper i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf3f7;color:#607386;font-style:normal;font-weight:900}.hotel-studio-stepper strong{color:#26364b;font-size:.79rem}.hotel-studio-stepper small{font-size:.64rem}.hotel-studio-stepper .current{background:linear-gradient(135deg,#e7f9ff,#f1ebff)}.hotel-studio-stepper .current i{color:#fff;background:linear-gradient(135deg,#0479e8,#7848e8)}.hotel-studio-stepper .complete i{color:#fff;background:#0daf83}.hotel-studio-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:1rem;align-items:start}.hotel-studio-shell{min-width:0;padding:1.25rem;border:1px solid #d9e4ef;border-radius:22px;background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:0 16px 36px rgba(39,60,94,.07)}.hotel-summary-rail{position:sticky;top:90px;padding:1rem;border:1px solid #d9e4ef;border-radius:20px;background:linear-gradient(160deg,#0c3c59,#253058);color:#fff;box-shadow:0 16px 34px rgba(19,44,74,.2)}.hotel-summary-rail h3{color:#fff;margin:.2rem 0}.hotel-summary-rail p{color:#c9e6eb}.hotel-summary-rail dl{display:grid;gap:.5rem}.hotel-summary-rail dl div{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem .7rem;border-radius:11px;background:rgba(255,255,255,.09)}.hotel-summary-rail dd{margin:0;font-weight:900}.hotel-summary-rail .button{width:100%;justify-content:center;margin-top:.5rem}.hotel-step-heading{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}.hotel-step-heading>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#087fea,#7950e8);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(68,89,204,.25)}.hotel-step-heading h2{margin:.1rem 0}.hotel-step-heading p{margin:.2rem 0;color:#64748b}.hotel-form-section{margin-top:1rem;padding:1rem;border:1px solid #dfE7f0;border-radius:18px;background:#fff}.hotel-form-section h3{margin:0 0 .85rem}.hotel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.hotel-form-grid .span-all{grid-column:1/-1}.hotel-studio-form .form-field{display:grid;gap:.35rem;min-width:0}.hotel-studio-form label{color:#394b61;font-size:.74rem;font-weight:850}.hotel-studio-form input,.hotel-studio-form select,.hotel-studio-form textarea{width:100%;min-height:45px;border:1px solid #cbd9e7;border-radius:12px;background:#fff;padding:.65rem .75rem}.hotel-studio-form input:focus,.hotel-studio-form select:focus,.hotel-studio-form textarea:focus{border-color:#3d83ec;outline:3px solid rgba(61,131,236,.12)}.hotel-amenity-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.hotel-amenity-grid label{position:relative}.hotel-amenity-grid input{position:absolute;opacity:0}.hotel-amenity-grid span{display:grid;place-items:center;min-height:64px;padding:.5rem;border:1px solid #dbe5ee;border-radius:13px;background:#f8fbfd;text-align:center;cursor:pointer}.hotel-amenity-grid input:checked+span{border-color:#0ca889;background:#e8fff9;color:#087968;box-shadow:0 0 0 3px rgba(12,168,137,.1)}.hotel-markup-box{display:grid;grid-template-columns:1fr 170px;gap:1rem;align-items:center;padding:1rem;border:1px solid #ffddb4;border-radius:16px;background:linear-gradient(135deg,#fff9ec,#fff)}.hotel-markup-box strong,.hotel-markup-box small{display:block}.hotel-markup-box small{color:#7b684f}.hotel-studio-footer{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #e3eaf2}.hotel-studio-footer .button{min-height:46px}
.hotel-rate-list{display:grid;gap:.9rem}.hotel-rate-editor{padding:1rem;border:1px solid #d7e3ee;border-radius:18px;background:#fff}.hotel-rate-editor>header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.8rem}.hotel-rate-editor>header strong{font-size:1rem}.hotel-rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.hotel-rate-grid .field-room_name{grid-column:span 2}.hotel-rate-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.8rem;padding:.8rem;border-radius:14px;background:linear-gradient(135deg,#effaf8,#eef4ff)}.hotel-rate-preview span{padding:.55rem;border-radius:10px;background:#fff}.hotel-rate-preview small,.hotel-rate-preview b{display:block}.hotel-rate-preview small{color:#65768b;font-size:.64rem}.hotel-rate-preview b{margin-top:.15rem}.hotel-add-row{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center;margin-top:.8rem;padding:.8rem;border:1px dashed #8fb4d9;border-radius:13px;background:#f5faff;color:#1265b6;font-weight:900;cursor:pointer}.hotel-add-row span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0b74e5;color:#fff}.nearby-list{display:grid;gap:.65rem}.nearby-list article{display:grid;grid-template-columns:auto 2fr 1fr 1fr auto;gap:.55rem;align-items:end;padding:.75rem;border:1px solid #dbe5ef;border-radius:15px;background:#fff}.nearby-pin{display:grid;place-items:center;width:36px;height:45px;border-radius:11px;background:#e8f5ff;color:#0a70d5}.hotel-gallery-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.hotel-gallery-editor article{position:relative;padding:.75rem;border:1px solid #dbe5ef;border-radius:16px;background:#fff}.hotel-gallery-editor img,.gallery-upload-icon{width:100%;height:160px;border-radius:12px;object-fit:cover;background:linear-gradient(135deg,#e3f8f5,#ece7ff)}.gallery-upload-icon{display:grid;place-items:center;color:#55708a;font-size:2rem}.hotel-gallery-editor .field-DELETE,.nearby-list .field-DELETE,.hotel-rate-editor .field-DELETE{display:none}.hotel-gallery-editor [data-remove-form],.nearby-list [data-remove-form],.hotel-rate-editor [data-remove-form]{border:0;border-radius:10px;background:#fff0f0;color:#b42318;padding:.5rem .65rem;font-weight:800;cursor:pointer}.hotel-review-hero{position:relative;overflow:hidden;min-height:260px;border-radius:20px;background:linear-gradient(135deg,#0b4860,#35315e);color:#fff}.hotel-review-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}.hotel-review-hero>div{position:relative;z-index:1;padding:2rem}.hotel-review-hero h2{color:#fff;font-size:2rem}.hotel-review-hero p{color:#e5f7f4}.hotel-review-hero small{display:inline-block;margin:.2rem;padding:.35rem .5rem;border-radius:999px;background:rgba(255,255,255,.16)}.hotel-review-section{margin-top:1rem;padding:1rem;border:1px solid #dbe5ef;border-radius:18px;background:#fff}.hotel-section-title{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.hotel-section-title h3{margin:0}.hotel-section-title p{margin:.25rem 0;color:#64748b}.hotel-review-rates{display:grid;gap:.65rem;margin-top:.75rem}.hotel-review-rates article{padding:.75rem;border:1px solid #dce6ef;border-radius:14px}.hotel-review-rates header{display:flex;justify-content:space-between;gap:.5rem}.hotel-review-rates header strong,.hotel-review-rates header small{display:block}.hotel-review-rates article>div{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin-top:.6rem}.hotel-review-rates article>div span{padding:.5rem;border-radius:10px;background:#f4f8fb}.hotel-review-rates small,.hotel-review-rates b{display:block}.hotel-review-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:.75rem}.hotel-review-gallery img{width:100%;height:120px;border-radius:12px;object-fit:cover}.review-nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.75rem}.review-nearby-grid article{padding:.7rem;border-radius:12px;background:#f5f8fb}.review-nearby-grid strong,.review-nearby-grid span{display:block}.review-nearby-grid span{color:#64748b;font-size:.75rem}
@media(max-width:1100px){.hotel-card-grid{grid-template-columns:repeat(2,1fr)}.hotel-list-filter{grid-template-columns:repeat(2,1fr)}.hotel-studio-workspace{grid-template-columns:1fr}.hotel-summary-rail{position:static}.hotel-rate-grid{grid-template-columns:repeat(2,1fr)}.hotel-amenity-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.hotel-list-heading,.hotel-studio-heading{align-items:flex-start;flex-direction:column}.hotel-list-heading .button,.hotel-studio-heading .button{width:100%;justify-content:center}.hotel-list-metrics{grid-template-columns:repeat(3,1fr)}.hotel-list-filter{grid-template-columns:1fr}.hotel-card-grid{grid-template-columns:1fr}.hotel-studio-stepper{display:flex;overflow-x:auto;margin-inline:-12px;border-radius:0;scroll-snap-type:x mandatory}.hotel-studio-stepper a,.hotel-studio-stepper span{flex:0 0 165px;scroll-snap-align:start}.hotel-studio-shell{padding:.9rem;border-radius:18px}.hotel-form-grid,.hotel-markup-box,.hotel-rate-grid,.hotel-gallery-editor{grid-template-columns:1fr}.hotel-rate-grid .field-room_name{grid-column:auto}.hotel-rate-preview{grid-template-columns:1fr}.hotel-amenity-grid{grid-template-columns:repeat(2,1fr)}.nearby-list article{grid-template-columns:auto 1fr}.nearby-list article .form-field{grid-column:2}.hotel-review-rates article>div{grid-template-columns:repeat(2,1fr)}.hotel-review-gallery{grid-template-columns:repeat(2,1fr)}.review-nearby-grid{grid-template-columns:1fr}.hotel-studio-footer{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:8;margin-inline:-.9rem;margin-bottom:-.9rem;padding:.8rem .9rem;background:rgba(255,255,255,.96);box-shadow:0 -8px 22px rgba(35,57,88,.08)}.hotel-studio-footer .button{flex:1;justify-content:center}}

/* Package Studio live add-on summary. */
.package-studio-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 1rem;
  align-items: start;
}
.package-live-summary {
  position: sticky;
  top: 154px;
  overflow: hidden;
  border: 1px solid #cfe0ec;
  border-radius: 24px;
  background: linear-gradient(160deg, #ffffff 18%, #f0f9ff 58%, #f6f1ff);
  box-shadow: 0 18px 42px rgba(30, 64, 110, .12);
}
.package-summary-toggle { display: none; }
.package-summary-content { padding: 1rem; }
.package-summary-content header { padding: .25rem .2rem .85rem; }
.package-summary-content header h2 { margin: .35rem 0 .2rem; font-size: 1.2rem; }
.package-summary-content header p { margin: 0; color: #64748b; font-size: .76rem; }
.package-summary-badge {
  display: inline-flex;
  padding: .25rem .5rem;
  border-radius: 999px;
  background: #dcfce7;
  color: #087858;
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .08em;
}
.package-summary-price {
  display: grid;
  gap: .1rem;
  padding: .9rem;
  border-radius: 17px;
  color: #fff;
  background: radial-gradient(circle at top right, rgba(45, 212, 191, .4), transparent 38%), linear-gradient(145deg, #073b59, #25275f);
}
.package-summary-price small,
.package-summary-price span { color: #bce9eb; font-size: .65rem; }
.package-summary-price strong { font-size: 1.65rem; }
.package-summary-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin: .75rem 0;
}
.package-summary-metrics article {
  display: grid;
  gap: .1rem;
  padding: .65rem;
  border: 1px solid #dce7f0;
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
}
.package-summary-metrics strong { color: #0c6fc7; font-size: 1.05rem; }
.package-summary-metrics small { color: #64748b; font-size: .6rem; }
.package-summary-options { padding-top: .75rem; border-top: 1px solid #d9e6ef; }
.package-summary-options > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.package-summary-options h3 { margin: 0; font-size: .82rem; }
.package-summary-options a { color: #0874dc; font-size: .68rem; font-weight: 850; }
.package-summary-options article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  padding: .6rem 0;
  border-bottom: 1px solid #e4ebf2;
}
.package-summary-options article > div { min-width: 0; }
.package-summary-options article strong,
.package-summary-options article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.package-summary-options article strong { font-size: .72rem; }
.package-summary-options article small { color: #748296; font-size: .58rem; }
.package-summary-options article > b { color: #0b6ebf; font-size: .7rem; }
.summary-option-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #147df5, #694be7);
  font-size: .65rem;
  font-weight: 950;
}
.summary-option-icon.kind-meal { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.summary-option-icon.kind-transport { background: linear-gradient(135deg, #0ea5e9, #2563eb); }
.summary-option-icon.kind-activity,
.summary-option-icon.kind-sightseeing { background: linear-gradient(135deg, #10b981, #0d9488); }
.package-summary-empty { display: grid; justify-items: center; gap: .35rem; padding: 1rem .5rem; text-align: center; color: #718096; }
.package-summary-empty > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 11px; background: #e6f2ff; color: #0874dc; font-weight: 950; }
.package-summary-empty p { margin: 0; font-size: .67rem; }
.package-summary-review { width: 100%; justify-content: center; margin-top: .8rem; color: #fff; border-color: transparent; background: linear-gradient(135deg, #087cf0, #7249e7); }

@media (max-width: 1080px) {
  .package-studio-workspace { grid-template-columns: minmax(0, 1fr) 270px; }
}
@media (max-width: 900px) {
  .package-studio-workspace { display: block; }
  .package-live-summary {
    position: fixed;
    z-index: 45;
    inset: auto .7rem calc(70px + env(safe-area-inset-bottom)) .7rem;
    max-height: min(68vh, 560px);
    border-radius: 20px;
    box-shadow: 0 18px 52px rgba(13, 35, 71, .24);
  }
  .package-summary-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem .9rem;
    border: 0;
    background: linear-gradient(135deg, #073b59, #27275e);
    color: #fff;
    text-align: left;
  }
  .package-summary-toggle span,
  .package-summary-toggle b,
  .package-summary-toggle small { display: block; }
  .package-summary-toggle small { color: #bce9eb; font-size: .6rem; }
  .package-summary-content { display: none; max-height: calc(min(68vh, 560px) - 58px); overflow-y: auto; overscroll-behavior: contain; }
  .package-live-summary.is-open .package-summary-content { display: block; }
  .package-live-summary.is-open .package-summary-toggle::after { content: "Close"; margin-left: auto; color: #a7f3d0; font-size: .65rem; font-weight: 850; }
}
@media (min-width: 901px) {
  .package-summary-content { display: block !important; }
}

/* Package Studio: original booking-style catalogue and guided admin rate card */
.package-page-heading,.package-studio-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}.package-add-button{min-height:48px;gap:.55rem;padding-inline:1.25rem}.package-add-button span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.18);font-size:1.1rem}.package-catalog-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.package-catalog-stats article{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid #d9e4f1;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(28,54,91,.06)}.package-catalog-stats article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font-weight:950}.package-catalog-stats small,.package-catalog-stats strong{display:block}.package-catalog-stats small{color:#64748b;font-size:.72rem}.package-catalog-stats strong{color:#17243a;font-size:1.35rem}.package-catalog-panel{padding:1.2rem;border:1px solid #d5e3f0;border-radius:24px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 18px 44px rgba(29,54,91,.07)}.package-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.package-catalog-toolbar h2{margin:.2rem 0}.package-list-search{display:flex;align-items:center;gap:.5rem;min-width:290px;padding:.6rem .8rem;border:1px solid #cbd9e8;border-radius:13px;background:#fff}.package-list-search input{width:100%;border:0;outline:0;background:transparent}.package-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.package-list-card{display:grid;grid-template-columns:180px 1fr;min-width:0;overflow:hidden;border:1px solid #d8e4ef;border-radius:20px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.package-list-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(24,53,92,.1)}.package-list-cover{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 25% 20%,#bdefff,transparent 35%),linear-gradient(145deg,#e9f6ff,#e9e8ff);font-size:3rem}.package-list-cover img{width:100%;height:100%;object-fit:cover}.package-status{position:absolute;top:.75rem;left:.75rem;padding:.35rem .55rem;border-radius:999px;font-size:.67rem;background:#fff7df;color:#9a5b00}.package-status.published{background:#ddfaee;color:#087a55}.package-list-copy{display:flex;flex-direction:column;padding:1rem;min-width:0}.package-list-eyebrow{display:flex;justify-content:space-between;gap:.5rem;color:#1265c5;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.package-list-copy h3{margin:.45rem 0 .25rem;color:#15243a;font-size:1.18rem}.package-list-copy>p{margin:0;color:#64748b;font-size:.78rem}.package-setup-progress{display:flex;gap:.55rem;margin:.9rem 0}.package-setup-progress span{padding:.42rem .55rem;border-radius:10px;background:#f0f6fb;color:#52657b;font-size:.67rem}.package-list-price{margin-top:auto}.package-list-price small,.package-list-price strong,.package-list-price span{display:block}.package-list-price small{color:#64748b;font-size:.65rem}.package-list-price strong{color:#075bb8;font-size:1.35rem}.package-list-price span{color:#64748b;font-size:.63rem}.package-card-actions{display:flex;gap:.5rem;margin-top:.75rem}.package-card-actions .button{min-height:40px;padding:.55rem .75rem}.package-empty-state{grid-column:1/-1;padding:3rem;text-align:center;border:1px dashed #afc7dc;border-radius:20px;background:#f8fbff}.package-empty-state>span{display:grid;place-items:center;width:62px;height:62px;margin:auto;border-radius:20px;background:linear-gradient(135deg,#1686f7,#724bea);color:#fff;font-size:1.7rem}.package-empty-state h2{margin:.8rem 0 .3rem}.package-empty-state p{max-width:620px;margin:0 auto 1rem;color:#64748b}
.package-studio-heading{margin-bottom:1rem}.package-studio-heading h1{margin:.15rem 0}.package-studio-heading p{margin:.25rem 0;color:#64748b}.package-studio-stepper{position:sticky;top:74px;z-index:9;display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:.4rem;padding:.55rem;margin-bottom:1rem;overflow-x:auto;border:1px solid #d8e4ef;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 9px 24px rgba(27,54,91,.08);backdrop-filter:blur(12px)}.package-studio-stepper>a,.package-studio-stepper>span{display:flex;align-items:center;gap:.55rem;min-width:145px;padding:.65rem;border-radius:13px;color:#607087;text-decoration:none}.package-studio-stepper>a>b,.package-studio-stepper>span>b{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:#eaf1f7;color:#52657b}.package-studio-stepper strong,.package-studio-stepper small{display:block}.package-studio-stepper strong{color:#26364c;font-size:.72rem}.package-studio-stepper small{font-size:.59rem}.package-studio-stepper .is-active{background:linear-gradient(135deg,#e6f5ff,#eee9ff);box-shadow:inset 0 0 0 1px #bad8f5}.package-studio-stepper .is-active>b{background:linear-gradient(135deg,#087cf0,#7148e7);color:#fff}.package-studio-shell{padding:1.35rem;border:1px solid #d5e3ef;border-radius:25px;background:linear-gradient(145deg,#fff,#f9fcff);box-shadow:0 18px 45px rgba(31,59,99,.08)}.package-step-heading{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.2rem}.package-step-heading>span{display:grid;place-items:center;width:49px;height:49px;flex:0 0 49px;border-radius:16px;background:linear-gradient(135deg,#087cf0,#7249e7);color:#fff;font-size:1.2rem;font-weight:950;box-shadow:0 9px 20px rgba(50,85,212,.24)}.package-step-heading h2{margin:.15rem 0 .25rem}.package-step-heading p{margin:0;color:#64748b}.package-studio-form{display:grid;gap:1rem}.package-form-section{padding:1rem;border:1px solid #dbe5ef;border-radius:19px;background:#fff}.package-form-section>h3,.package-section-title h3{margin:0}.package-form-section>p,.package-section-title p{margin:.2rem 0 .9rem;color:#64748b;font-size:.78rem}.package-form-section.pricing-section{border-color:#bcdcf8;background:linear-gradient(145deg,#fbfeff,#f1f8ff)}.package-section-title{display:flex;align-items:flex-start;justify-content:space-between}.info-dot{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#e2f1ff;color:#086bc9;font-weight:950}.package-form-grid,.package-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.package-form-grid .span-all,.package-rate-grid .span-all{grid-column:1/-1}.package-studio-form .form-field{margin:0}.package-studio-form .form-field label{display:block;margin-bottom:.33rem;color:#2c3d52;font-size:.75rem;font-weight:850}.package-studio-form input:not([type=checkbox]),.package-studio-form select,.package-studio-form textarea{width:100%;border:1px solid #cbd9e6;border-radius:12px;background:#fff;padding:.72rem .78rem}.package-studio-form textarea{resize:vertical}.package-studio-form .form-field small{display:block;margin-top:.3rem;color:#708096;font-size:.65rem}.package-more-settings{border:1px solid #dbe5ef;border-radius:17px;background:#fff}.package-more-settings summary{padding:.9rem 1rem;cursor:pointer;font-weight:850}.package-more-settings summary span{float:right;padding:.25rem .45rem;border-radius:999px;background:#edf3f8;color:#64748b;font-size:.62rem}.package-more-settings>div{padding:0 1rem 1rem}.package-studio-footer{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem;padding:1rem 0 .15rem;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 25%)}.package-studio-footer .button{min-height:48px;padding:.7rem 1.1rem}.package-day-list{display:grid;gap:.8rem}.package-day-editor{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding:1rem;border:1px solid #d8e5ef;border-radius:19px;background:#fff}.package-day-number{display:grid;place-items:center;align-content:center;min-height:110px;border-radius:16px;background:linear-gradient(145deg,#e4f7ff,#eae8ff);color:#056ebf}.package-day-number small{font-size:.61rem;font-weight:900}.package-day-number strong{font-size:1.8rem}.package-day-fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.package-day-fields .span-all{grid-column:1/-1}.package-pricing-guide{display:flex;gap:.7rem;margin-bottom:1rem;padding:.8rem;border:1px solid #bce7dd;border-radius:15px;background:#effdfa;color:#215d5b}.package-pricing-guide p{margin:0;font-size:.75rem}.package-rate-list{display:grid;gap:.8rem}.package-rate-editor{overflow:hidden;border:1px solid #d5e2ee;border-radius:19px;background:#fff}.package-rate-editor>header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e0e8f0;background:linear-gradient(90deg,#f1f8ff,#f8f5ff)}.package-rate-editor>header>div{display:flex;align-items:center;gap:.65rem}.package-rate-editor>header strong,.package-rate-editor>header small{display:block}.package-rate-editor>header small{color:#64748b;font-size:.64rem}.rate-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:linear-gradient(135deg,#087cf0,#6f49e6);color:#fff;font-weight:950}.rate-remove{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:#fff0f0;color:#bd2b2b;font-size:1.2rem;cursor:pointer}.package-rate-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:1rem}.package-rate-grid .field-description{grid-column:span 2}.package-rate-grid .checkbox-field{display:flex;align-items:center;gap:.5rem;align-self:center;padding:.65rem;border-radius:12px;background:#f6f9fc}.package-rate-grid .checkbox-field label{margin:0;order:2}.package-rate-grid .checkbox-field input{width:18px;height:18px}.package-rate-grid .field-DELETE{display:none}.package-add-rate{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;border:1px dashed #73a8dc;border-radius:16px;background:#f4faff;color:#0965c1;font-weight:900;cursor:pointer}.package-add-rate span{font-size:1.25rem}.package-review-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1rem}.package-review-summary{position:sticky;top:155px;align-self:start;padding:1.3rem;border-radius:22px;color:#fff;background:radial-gradient(circle at top right,rgba(53,218,210,.35),transparent 35%),linear-gradient(145deg,#063c59,#24255b);box-shadow:0 18px 35px rgba(15,42,81,.2)}.package-review-summary>span{color:#96e8e4;font-size:.65rem;font-weight:900;text-transform:uppercase}.package-review-summary h2{margin:.55rem 0 .25rem;color:#fff}.package-review-summary>p{color:#c7dde9}.package-review-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0 0}.package-review-summary dl>div{padding:.7rem;border-radius:13px;background:rgba(255,255,255,.09)}.package-review-summary dt{color:#9ddbe2;font-size:.61rem;text-transform:uppercase}.package-review-summary dd{margin:.25rem 0 0;font-weight:900}.package-review-content{display:grid;gap:.8rem}.package-review-content>section{padding:1rem;border:1px solid #d8e4ee;border-radius:18px;background:#fff}.package-review-content h3{margin:0 0 .7rem}.review-day{display:grid;grid-template-columns:35px 1fr;gap:.6rem;padding:.6rem 0;border-top:1px solid #e9eef3}.review-day>b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e3f4ff;color:#096bc1}.review-day strong{font-size:.8rem}.review-day p{margin:.2rem 0 0;color:#64748b;font-size:.7rem}.review-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.review-rate-grid article{display:grid;grid-template-columns:1fr auto;gap:.2rem .55rem;padding:.7rem;border-radius:13px;background:#f5f9fd;border:1px solid #e0e8ef}.review-rate-grid article>div small,.review-rate-grid article>small{display:block;color:#64748b;font-size:.62rem}.review-rate-grid article>b{color:#0967be}.publish-package{background:linear-gradient(135deg,#00a67a,#087eaa)!important}.tone-blue{background:#e2f2ff;color:#0a6ec4}.tone-green{background:#dcf9ed;color:#087858}.tone-orange{background:#ffeedc;color:#b3530b}
@media(max-width:1100px){.package-catalog-grid{grid-template-columns:1fr}.package-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.package-page-heading,.package-studio-heading,.package-catalog-toolbar{align-items:stretch;flex-direction:column}.package-catalog-stats{grid-template-columns:repeat(3,1fr)}.package-catalog-stats article{display:grid;justify-items:center;text-align:center}.package-list-search{min-width:0}.package-list-card{grid-template-columns:110px 1fr}.package-list-cover{min-height:270px}.package-studio-stepper{top:68px;margin-inline:-.35rem;border-radius:14px}.package-studio-shell{padding:.85rem;border-radius:20px}.package-form-grid,.pricing-grid,.package-day-fields,.package-rate-grid,.package-review-grid,.review-rate-grid{grid-template-columns:1fr}.package-day-editor{grid-template-columns:48px 1fr;padding:.75rem}.package-day-number{min-height:100px}.package-rate-grid .field-description{grid-column:auto}.package-review-summary{position:static}.package-studio-footer{bottom:calc(65px + env(safe-area-inset-bottom));padding:.8rem;background:#fff;box-shadow:0 -9px 22px rgba(24,51,89,.08)}.package-studio-footer .button{flex:1}.package-catalog-panel{padding:.8rem}.package-catalog-stats article>span{width:38px;height:38px}}
@media(max-width:500px){.package-catalog-stats{grid-template-columns:1fr 1fr}.package-list-card{grid-template-columns:1fr}.package-list-cover{min-height:150px}.package-list-eyebrow{margin-top:.1rem}.package-card-actions .button{flex:1}.package-step-heading>span{width:42px;height:42px;flex-basis:42px}.package-step-heading h2{font-size:1.25rem}.package-studio-stepper strong{font-size:.68rem}.package-studio-stepper small{display:none}}

.agent-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.agent-choice-field { min-width: 0; margin: 0; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: #f8fbfc; }
.agent-choice-field legend { padding: 0 7px; color: var(--navy); font-size: 12px; font-weight: 900; }
.agent-choice-field > div,
.agent-choice-field > ul,
.form-field > div:has(input[type="checkbox"]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.agent-choice-field label,
.form-field > div:has(input[type="checkbox"]) label { min-height: 39px; display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid #dce6eb; border-radius: 11px; background: #fff; cursor: pointer; font-size: 11px; font-weight: 750; }
.agent-choice-field input[type="checkbox"],
.form-field input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--primary); }
.form-field label b { color: var(--red); }
@media (max-width: 620px) {
  .agent-choice-grid { grid-template-columns: 1fr; }
  .agent-choice-field > div,
  .agent-choice-field > ul,
  .form-field > div:has(input[type="checkbox"]) { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .topbar { gap: 8px; }
  .global-search { max-width: none; }
  .global-search input::placeholder { color: transparent; }
  .profile-dropdown, .topbar-actions > a.indicator { display: none; }
  .dashboard-heading, .page-heading { align-items: flex-start; flex-direction: column; }
  .heading-meta { display: none; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi-card { min-height: 112px; padding: 12px; }
  .dashboard-filters { padding: 12px; }
  .date-range-field { width: 100%; }
  .period-tabs { width: 100%; max-width: 100%; scroll-padding-inline: 4px; }
  .period-tabs input { width: 1px; }
  .filter-primary > label { width: calc(50% - 5px); }
  .filter-primary select, .filter-primary input { width: 100%; min-width: 0; }
  .filter-primary .button { flex: 1; }
  .mini-stat-row, .call-stats { grid-template-columns: repeat(2, 1fr); }
  .followup-row { align-items: flex-start; flex-wrap: wrap; }
  .followup-row .row-actions { width: 100%; padding-left: 19px; }
  .conversation-row { align-items: flex-start; }
  .bar-chart { overflow-x: auto; }
  .bar-column { flex: 0 0 58px; }
  .card-grid, .stats-grid { grid-template-columns: 1fr; }
  .login-wrap { grid-template-columns: 1fr; padding-block: 30px; }
  .login-copy h1 { margin-top: 25px; }
  .task-filter-form, .task-stats, .task-meta-grid { grid-template-columns: 1fr; }
  .task-search { grid-column: auto; }
  .task-filter-actions .button { flex: 1; }
}

/* Light, colourful Travel Janta workspace theme */
:root {
  --navy: #24304a;
  --navy-soft: #eef2ff;
  --navy-muted: #7683a0;
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-soft: #eaf1ff;
  --orange: #f97316;
  --orange-soft: #fff3e8;
  --green: #16a66a;
  --green-soft: #e9fbf3;
  --red: #e2465b;
  --red-soft: #fff0f3;
  --ink: #1e293b;
  --muted: #66728a;
  --line: #dfe6f2;
  --line-soft: #edf1f8;
  --background: #f6f7ff;
  --shadow: 0 12px 34px rgba(65, 76, 124, .09);
}

body {
  background:
    radial-gradient(circle at 92% 2%, rgba(99, 102, 241, .11), transparent 27rem),
    radial-gradient(circle at 24% 102%, rgba(14, 165, 164, .09), transparent 30rem),
    radial-gradient(circle at 55% 48%, rgba(249, 115, 22, .035), transparent 26rem),
    var(--background);
}

:focus-visible { outline-color: rgba(37, 99, 235, .3); }
.sidebar {
  color: var(--ink);
  border-right: 1px solid #dfe6f5;
  background:
    radial-gradient(circle at 15% 10%, rgba(124, 58, 237, .12), transparent 210px),
    radial-gradient(circle at 95% 52%, rgba(14, 165, 164, .1), transparent 250px),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.97));
  box-shadow: 12px 0 36px rgba(61, 75, 120, .08);
}
.sidebar-brand { border-bottom-color: #e8ecf5; }
.brand-mark {
  background: linear-gradient(145deg, #7c3aed, #2563eb 55%, #0ea5a4);
  box-shadow: 0 9px 21px rgba(74, 70, 196, .24);
}
.brand-copy small, .sidebar-footer small { color: var(--muted); }
.sidebar-collapse {
  color: #526078;
  border-color: #dde4f1 !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 5px 14px rgba(57,72,113,.08);
}
.sidebar-nav { scrollbar-color: #c7d1e6 transparent; }
.nav-link, .nav-group a, .nav-group button { color: #56647b; }
.nav-link:hover, .nav-link.active,
.nav-group a:hover, .nav-group button:hover,
.nav-link.active, .nav-group a.active {
  color: #1f2a44;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 22px rgba(66,79,125,.08), inset 0 0 0 1px rgba(215,224,242,.9);
}
.nav-link.active::before, .nav-group a.active::before {
  width: 4px;
  background: linear-gradient(180deg, #7c3aed, #2563eb 46%, #f97316);
}
.nav-group summary { color: #8b96aa; }
.nav-group.current summary { color: #5b45c6; }
.nav-group a, .nav-group button { gap: 10px; padding: 7px 10px; }
.nav-item-icon {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 9px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 6px 13px rgba(57,67,108,.14), inset 0 1px 0 rgba(255,255,255,.28);
}
.nav-item-icon.tone-blue { background: linear-gradient(145deg,#3b82f6,#2563eb); }
.nav-item-icon.tone-violet { background: linear-gradient(145deg,#9b5cf6,#6d3ce5); }
.nav-item-icon.tone-green { background: linear-gradient(145deg,#34c98b,#0fa873); }
.nav-item-icon.tone-orange { background: linear-gradient(145deg,#fb9b3f,#f36c1e); }
.nav-item-icon.tone-pink { background: linear-gradient(145deg,#f269a5,#db3f80); }
.sidebar-footer {
  border-color: #e2e8f3;
  color: #31405a;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 22px rgba(56,72,111,.07);
}
.topbar {
  border-bottom-color: rgba(214,222,239,.9);
  background: rgba(255,255,255,.82);
  box-shadow: 0 7px 28px rgba(67,77,121,.055);
}
.global-search, .icon-button { border-color: #dce4f2; background: rgba(255,255,255,.9); }
.icon-button:hover { border-color: #bfcdf0; box-shadow: 0 8px 20px rgba(70,83,134,.11); }
.panel, .kpi-card, .stat-card, .trip-card, .metric-card {
  border-color: #e1e7f3;
  box-shadow: var(--shadow);
}
.button.primary {
  border-color: #315ee5;
  background: linear-gradient(135deg,#356ff1,#6d43df);
  box-shadow: 0 9px 20px rgba(66,83,218,.2), inset 0 1px 0 rgba(255,255,255,.22);
}
.button.primary:hover { background: linear-gradient(135deg,#2359dc,#5b34c9); }
.date-preset-tabs a:hover, .date-preset-tabs a.active {
  background: linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow: 0 7px 18px rgba(78,65,194,.2);
}
.kpi-card:nth-child(5n + 1) .kpi-icon { color:#5b31c3; background:#f0eaff; }
.kpi-card:nth-child(5n + 2) .kpi-icon { color:#1368cc; background:#e8f3ff; }
.kpi-card:nth-child(5n + 3) .kpi-icon { color:#07835b; background:#e6faf1; }
.kpi-card:nth-child(5n + 4) .kpi-icon { color:#c05711; background:#fff0e2; }
.kpi-card:nth-child(5n) .kpi-icon { color:#bd3270; background:#ffeaf3; }
.metric-card.tone-primary, .metric-card.tone-info { border-top-color:#6366f1; }

.notice, .alert {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  overflow: hidden;
  padding: 13px 15px;
  border: 1px solid #bdd5ff;
  border-left: 4px solid #3b82f6;
  border-radius: 13px;
  color: #214b88;
  background: linear-gradient(135deg,#f8fbff,#eaf3ff);
  box-shadow: 0 8px 20px rgba(44,91,170,.07);
}
.notice-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: #3b82f6;
  font-size: 13px;
  font-weight: 900;
}
.notice-icon::before { content: "i"; }
.notice.success { border-color:#b8ead3; border-left-color:#16a66a; color:#0a704b; background:linear-gradient(135deg,#f7fffb,#e8faf2); }
.notice.success .notice-icon { background:#16a66a; }
.notice.success .notice-icon::before { content:"\2713"; }
.notice.warning { border-color:#f6d5ad; border-left-color:#f97316; color:#995112; background:linear-gradient(135deg,#fffaf5,#fff0df); }
.notice.warning .notice-icon { background:#f97316; }
.notice.warning .notice-icon::before { content:"!"; }
.notice.error, .notice.danger { border-color:#f2c0c9; border-left-color:#e2465b; color:#a62c41; background:linear-gradient(135deg,#fffafb,#ffedf1); }
.notice.error .notice-icon, .notice.danger .notice-icon { background:#e2465b; }
.notice.error .notice-icon::before, .notice.danger .notice-icon::before { content:"\00d7"; }

@media (max-width: 760px) {
  .sidebar { box-shadow: 16px 0 42px rgba(45,58,103,.16); }
  .nav-item-icon { width: 31px; height: 31px; flex-basis: 31px; }
  .notice, .alert { border-radius: 11px; }
}

/* Agent email verification and protected onboarding */
.agent-otp-shell { min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(124,58,237,.15),transparent 320px),radial-gradient(circle at 90% 85%,rgba(14,165,164,.13),transparent 340px),#f6f7ff; }
.public-notices { position:fixed;z-index:100;top:76px;left:50%;width:min(620px,calc(100% - 24px));transform:translateX(-50%); }
.agent-otp-card { width:min(520px,100%);padding:clamp(28px,6vw,48px);border:1px solid rgba(215,223,240,.9);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(62,72,120,.16); }
.agent-otp-card .brand-mark { margin-bottom:22px; }
.agent-otp-card h1 { margin:7px 0 10px;font-size:clamp(28px,5vw,42px); }
.agent-otp-card>p { color:var(--muted); }
.otp-entry-form input { min-height:60px;padding:10px 16px;border:2px solid #cdd8f3;border-radius:15px;font-size:24px;font-weight:850;letter-spacing:.28em;text-align:center; }
.otp-resend-form { margin-top:10px; }
.status-card-public { text-align:left; }
.onboarding-filter-bar { display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:14px; }
.onboarding-filter-bar label { min-width:190px;display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800; }
.onboarding-filter-bar select { min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff; }
.page-heading-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px; }
.registration-link-panel { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px; }
.registration-link-panel h2 { margin:2px 0 4px; }
.registration-link-actions { display:flex;align-items:center;gap:9px;width:min(620px,100%); }
.registration-link-actions input { min-width:0;flex:1;padding:12px 14px;border:1px solid #d7e1f2;border-radius:12px;background:#f8fbff;color:#31415d; }
.friendly-numbered-list { display:grid;gap:12px;padding-left:22px;color:var(--muted); }
.friendly-numbered-list li::marker { color:var(--primary);font-weight:900; }
.onboarding-step-strip { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:18px; }
.onboarding-step-strip>div { display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #e1e7f3;border-radius:14px;color:var(--muted);background:rgba(255,255,255,.84);box-shadow:0 8px 20px rgba(65,76,124,.05); }
.onboarding-step-strip span { width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#9aa5bb;font-weight:900; }
.onboarding-step-strip .done { color:#175842;border-color:#ccebdd;background:#f4fff9; }
.onboarding-step-strip .done span { background:linear-gradient(145deg,#34c98b,#0fa873); }
.agent-onboarding-form { display:grid;gap:16px;padding-bottom:82px; }
.onboarding-section { padding:22px; }
.onboarding-section .form-field small { display:block;margin-top:4px;color:var(--muted);font-size:10px; }
.protected-document-links { display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:16px;padding:13px;border:1px solid #dfe6f2;border-radius:13px;background:#f8faff; }
.protected-document-links a { padding:7px 10px;border-radius:9px;color:#2858b8;background:#e9f1ff;font-size:11px;font-weight:800; }
.sticky-form-actions { position:sticky;z-index:8;bottom:14px;display:flex;justify-content:flex-end;gap:9px;padding:12px;border:1px solid rgba(218,225,240,.9);border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(54,67,113,.14);backdrop-filter:blur(15px); }
@media(max-width:760px){.onboarding-step-strip{grid-template-columns:1fr 1fr}.sticky-form-actions{bottom:8px}.sticky-form-actions .button{flex:1;justify-content:center}.registration-link-panel{align-items:stretch;flex-direction:column}.registration-link-actions{width:100%}}
@media(max-width:480px){.agent-otp-shell{padding:9px}.agent-otp-card{padding:25px 20px;border-radius:20px}.onboarding-step-strip{grid-template-columns:1fr}.onboarding-filter-bar{align-items:stretch;flex-direction:column}.onboarding-filter-bar label,.onboarding-filter-bar .button{width:100%}.sticky-form-actions{align-items:stretch;flex-direction:column}}
@media (max-width: 390px) {
  .kpi-grid { grid-template-columns: 1fr; }
  .topbar-actions { gap: 5px; }
  .quick-create { width: 38px; padding: 0; }
  .filter-primary > label { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Production workspaces */
.workspace-heading { align-items: flex-end; }
.report-filter-panel { margin-bottom: 16px; }
.report-filter-panel .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.report-filter-panel .form-actions { grid-column: 1 / -1; }
.admin-report-shell { margin: 20px 0; }
.admin-report-heading { margin-bottom: 12px; padding: 0 2px; }
.admin-report-heading > div:first-child { max-width: 720px; }
.admin-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.admin-report-grid .panel { min-width: 0; }
.pending-lead-panel { margin-top: 14px; }
.heading-actions, .form-actions, .inline-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.workspace-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.metric-card {
  min-height: 104px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(248,252,253,.86));
  box-shadow: var(--shadow);
}
.metric-card span { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.metric-card strong { font-size: clamp(20px, 2vw, 28px); letter-spacing: -.03em; }
.metric-card.tone-success { border-top: 3px solid var(--green); }
.metric-card.tone-warning { border-top: 3px solid var(--orange); }
.metric-card.tone-danger { border-top: 3px solid var(--red); }
.metric-card.tone-primary, .metric-card.tone-info { border-top: 3px solid var(--primary); }
.workspace-table-panel { padding: 0; overflow: hidden; }
.workspace-table-panel .panel-heading { padding: 18px 20px 12px; }
.workspace-table-panel .pagination { padding: 12px 20px 18px; }
.table-action { display: inline-flex; margin-left: 8px; font-size: 11px; font-weight: 800; }
.integration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.integration-card { min-height: 145px; }
.integration-card .panel-heading { align-items: flex-start; }
.profile-summary { max-width: 920px; }
.color-chip { width: 15px; height: 15px; display: inline-block; margin-right: 7px; border: 1px solid rgba(0,0,0,.12); border-radius: 50%; background: var(--chip-color); vertical-align: -2px; }
.form-panel { max-width: 980px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-size: 11px; font-weight: 800; color: #405466; }
.form-field input:not([type="checkbox"]), .form-field select, .form-field textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: white;
}
.form-field textarea { min-height: 110px; resize: vertical; }
.form-field small { color: var(--muted); font-size: 10px; }
.form-field:has(textarea), .form-field:has(input[type="file"]) { grid-column: 1 / -1; }
.checkbox-field { flex-direction: row; align-items: center; flex-wrap: wrap; }
.checkbox-field label { order: 2; }
.checkbox-field input { order: 1; }
.checkbox-field small, .checkbox-field .field-error { flex-basis: 100%; order: 3; }
.permission-user-summary{display:flex;align-items:center;gap:14px;margin:-4px 0 22px;padding:16px;border:1px solid #dbe6f4;border-radius:18px;background:linear-gradient(135deg,#f4f9ff,#fff8f2)}.permission-user-summary h2,.permission-user-summary p{margin:0}.permission-user-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0ea5e9,#7c3aed);font-size:18px;font-weight:900;box-shadow:0 9px 24px rgba(59,130,246,.22)}.permission-editor{margin-top:8px;padding-top:20px;border-top:1px solid var(--line)}.permission-checklist>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0;list-style:none}.permission-checklist li label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid #dbe6f4;border-radius:13px;background:#f8fbff;font-size:13px;font-weight:700;cursor:pointer;transition:.16s ease}.permission-checklist li label:hover{border-color:#93c5fd;background:#eff6ff;transform:translateY(-1px)}.permission-checklist input{width:18px;height:18px;accent-color:#2563eb}.permission-checklist>small{display:block;margin-top:12px;color:var(--muted)}.danger-link{color:#dc2626!important}
.field-error, .errorlist { color: var(--red); font-size: 11px; }
.notice.success { border-color: #bfe4d4; color: #0d6541; background: var(--green-soft); }
.notice.danger, .errorlist.nonfield { border-color: #f1cbd1; color: var(--red); background: var(--red-soft); }

/* Legal, store and install surfaces */
.public-links { display: flex; align-items: center; gap: 18px; }
.public-links a { color: var(--muted); font-size: 12px; font-weight: 700; }
.legal-page { width: min(840px, calc(100% - 32px)); margin: 0 auto; padding: 50px 0 80px; }
.legal-page > header { padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.legal-page section { padding: 22px 0 8px; }
.legal-page section p { color: #455868; }
.legal-page footer { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.deletion-page form { max-width: 650px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.offline-card { width: min(460px, calc(100% - 32px)); margin: 12vh auto 0; padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: var(--shadow); text-align: center; }
.offline-card .brand-mark { margin: 0 auto 20px; }
.offline-card p { color: var(--muted); }
.whatsapp-inbox-controls { margin-bottom: 16px; padding: 16px; }
.whatsapp-routing-panel { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(360px, 1.2fr); gap: 22px; margin-bottom: 16px; padding: 18px; border-top: 3px solid #0bbf9a; }
.whatsapp-routing-panel h2 { margin: 2px 0 6px; }
.whatsapp-routing-panel p { margin: 0; color: var(--muted); }
.whatsapp-routing-accounts { display: grid; gap: 10px; }
.whatsapp-routing-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.whatsapp-routing-row label { display: grid; gap: 6px; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 800; }
.whatsapp-routing-row select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid #cad8e1; border-radius: 11px; background: #fff; color: var(--ink); }
.whatsapp-routing-rows { display:grid;gap:12px; }
.whatsapp-routing-form { display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;padding:13px;border:1px solid #d8e8ec;border-radius:15px;background:linear-gradient(145deg,#f7fcfc,#fff); }
.whatsapp-routing-form>label:first-of-type { display:grid;gap:6px;grid-column:1/-1;color:#315766;font-size:12px;font-weight:800; }
.whatsapp-routing-form select { width:100%;min-height:46px;padding:9px 12px;border:1px solid #bfd5dc;border-radius:11px;background:#fff;color:var(--ink); }
.whatsapp-routing-check { display:flex;align-items:center;gap:8px;color:#526f7a;font-size:11px;font-weight:700; }
.whatsapp-routing-check input { width:17px;height:17px;accent-color:#0aa18c; }
.whatsapp-inbox-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.whatsapp-inbox-summary > span { padding: 12px 14px; border: 1px solid #dfe9ee; border-radius: 13px; background: linear-gradient(145deg,#fff,#f4fafb); }
.whatsapp-inbox-summary small, .whatsapp-inbox-summary strong { display: block; }
.whatsapp-inbox-summary small { margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.whatsapp-inbox-summary strong { color: var(--navy); font-size: 22px; }
.whatsapp-filter-form { display: grid; grid-template-columns: minmax(210px,1.5fr) repeat(5,minmax(130px,1fr)) auto; gap: 9px; align-items: end; }
.whatsapp-filter-form label > span { display: block; margin: 0 0 5px 2px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.whatsapp-filter-form input, .whatsapp-filter-form select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; }
.whatsapp-filter-actions { display: flex; gap: 7px; }
.conversation-list { max-height: 690px; overflow-y: auto; padding: 8px; }
.conversation {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 12px 42px 12px 12px;
  border-radius: 10px;
  color: var(--ink);
}
.conversation:hover, .conversation.active { background: var(--primary-soft); }
.conversation small { color: var(--muted); }
.conversation p { overflow: hidden; margin: 4px 0 2px; color: #4f6272; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.conversation em { color: #778795; font-size: 9px; font-style: normal; font-weight: 700; }
.conversation > span { position: absolute; right: 12px; top: 50%; min-width: 22px; height: 22px; display: grid; place-items: center; transform: translateY(-50%); border-radius: 99px; color: white; background: var(--green); font-size: 10px; font-weight: 800; }
.whatsapp-empty-list { padding: 36px 18px; text-align: center; }
.whatsapp-empty-list p { margin: 6px 0 0; color: var(--muted); }
.chat-panel { min-height: 520px; display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.chat-panel > .panel-heading { padding: 15px 18px; border-bottom: 1px solid var(--line); }
.message-list { flex: 1; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; padding: 18px; background: #f7fafb; }
.chat-message { width: min(76%, 560px); padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px 12px 12px 3px; background: white; box-shadow: 0 4px 15px rgba(22,45,67,.04); }
.chat-message.outbound { align-self: flex-end; border-color: #bfe4d8; border-radius: 12px 12px 3px 12px; background: var(--green-soft); }
.chat-message p { margin-bottom: 5px; white-space: pre-wrap; }
.chat-message small { color: var(--muted); font-size: 10px; }
.whatsapp-provider-error { display:grid; gap:5px; width:100%; margin-top:8px; padding:9px 10px; border:1px solid #fecaca; border-radius:10px; color:#991b1b; background:#fff1f2; font-size:11px; line-height:1.4; }
.whatsapp-provider-error strong { color:#b91c1c; }
.whatsapp-provider-error em { color:#7f1d1d; font-style:normal; }
.whatsapp-provider-error .whatsapp-admin-action { margin-top:3px; padding:7px 9px; border-radius:8px; color:#7f1d1d; background:#fee2e2; font-size:10px; line-height:1.4; }
.whatsapp-provider-error form { margin-top:3px; }
.whatsapp-provider-error .button.small { min-height:32px; padding:5px 10px; border-color:#fca5a5; color:#991b1b; background:#fff; }
.chat-message audio, .chat-message video { width: 100%; max-width: 430px; margin: 7px 0; }
.chat-message video { max-height: 360px; border-radius: 10px; background: #0f172a; }
.whatsapp-image-link { display: block; margin-bottom: 7px; }
.whatsapp-image-link img { width: min(100%,430px); max-height: 430px; display: block; object-fit: cover; border-radius: 10px; }
.whatsapp-sticker { width: min(180px,100%); max-height: 180px; display: block; object-fit: contain; }
.whatsapp-media-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.whatsapp-media-heading > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #e8f7f0; }
.whatsapp-document, .whatsapp-location { display: flex; align-items: center; gap: 10px; min-width: 230px; padding: 10px; border: 1px solid rgba(148,163,184,.34); border-radius: 10px; color: var(--ink); background: rgba(255,255,255,.68); }
.whatsapp-document > span:first-child, .whatsapp-location > span:first-child { width: 36px; height: 36px; display: grid; flex: 0 0 36px; place-items: center; border-radius: 10px; background: #eaf2ff; font-size: 18px; }
.whatsapp-document strong, .whatsapp-document small, .whatsapp-location strong, .whatsapp-location small { display: block; }
.whatsapp-window-status { display: flex; align-items: flex-start; gap: 10px; margin: 10px 13px 0; padding: 11px 13px; border: 1px solid; border-radius: 12px; }
.whatsapp-window-status > span { width: 27px; height: 27px; display: grid; flex: 0 0 27px; place-items: center; border-radius: 50%; font-weight: 900; }
.whatsapp-window-status strong { display: block; margin-bottom: 2px; font-size: 12px; }
.whatsapp-window-status p { margin: 0; font-size: 10px; line-height: 1.45; }
.whatsapp-window-status.open { border-color: #b8e6d2; color: #0d6846; background: #effbf5; }
.whatsapp-window-status.open > span { color: #fff; background: #0ba66b; }
.whatsapp-window-status.closed { border-color: #f1d7a7; color: #8a5511; background: #fff8e9; }
.whatsapp-window-status.closed > span { background: #ffdf9f; }
.chat-compose { display: flex; align-items: flex-end; gap: 9px; padding: 13px; border-top: 1px solid var(--line); background: white; }
.chat-compose textarea { flex: 1; min-height: 48px; max-height: 140px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; resize: vertical; }
.chat-compose button:disabled { opacity: .5; cursor: not-allowed; }
.whatsapp-attachment-compose { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(180px,1fr) auto; gap: 9px; align-items: end; padding: 0 13px 13px; background: white; }
.whatsapp-attachment-compose label > span, .whatsapp-template-compose label > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.whatsapp-attachment-compose input, .whatsapp-template-compose select, .whatsapp-template-compose textarea { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; }
.whatsapp-attachment-compose input[type="file"] { padding: 7px; }
.whatsapp-template-compose { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(250px,1.2fr) auto; gap: 9px; align-items: end; padding: 13px; background: white; }
.whatsapp-template-compose > p { grid-column: 1 / -1; margin: 0; }
.whatsapp-template-compose .whatsapp-opt-in-confirm { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; color: #475569; font-size: 10px; }
.whatsapp-template-compose .whatsapp-opt-in-confirm input { width: 17px; min-height: 17px; margin: 0; accent-color: #2563eb; }
.whatsapp-template-compose .whatsapp-opt-in-confirm > span { margin: 0; color: inherit; font-size: inherit; font-weight: 700; text-transform: none; }
@media (max-width: 1350px) {
  .whatsapp-filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .whatsapp-filter-search { grid-column: span 2; }
}
@media (max-width: 760px) {
  .whatsapp-routing-panel { grid-template-columns: 1fr; padding: 14px; }
  .whatsapp-routing-row { grid-template-columns: 1fr; }
  .whatsapp-routing-row .button { width: 100%; }
  .whatsapp-routing-form { grid-template-columns:1fr; }
  .whatsapp-routing-form .button { width:100%; }
  .whatsapp-inbox-controls { padding: 12px; }
  .whatsapp-inbox-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .whatsapp-filter-form { grid-template-columns: 1fr 1fr; }
  .whatsapp-filter-search, .whatsapp-filter-actions { grid-column: 1 / -1; }
  .whatsapp-filter-actions .button { flex: 1; justify-content: center; }
  .conversation-list { max-height: 440px; }
  .chat-message { width: 88%; }
  .whatsapp-attachment-compose, .whatsapp-template-compose { grid-template-columns: 1fr; }
  .whatsapp-attachment-compose .button, .whatsapp-template-compose .button { width: 100%; justify-content: center; }
}
.notification-menu a strong, .notification-menu a small { display: block; }
.notification-menu a small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.notification-center { padding: 8px; }
.notification-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 11px; color: var(--ink); }
.notification-row:hover, .notification-row.unread { background: var(--primary-soft); }
.notification-row .status-dot { margin-top: 7px; }
.notification-row:not(.unread) .status-dot { background: #aab7c2; box-shadow: none; }
.notification-row p { margin: 3px 0; color: var(--muted); }
.notification-row small { color: var(--muted); font-size: 10px; }

/* Campaign routing */
.campaign-search select { min-width: 220px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.campaign-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.campaign-card { position: relative; min-width: 0; overflow: hidden; padding: 20px; border: 1px solid rgba(207,224,232,.92); border-radius: 17px; color: var(--ink); background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(245,251,252,.88)); box-shadow: var(--shadow); transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease; }
.campaign-card::after { position: absolute; right: -38px; top: -42px; width: 135px; height: 135px; border-radius: 50%; background: radial-gradient(circle, rgba(21,164,173,.14), transparent 68%); content: ""; }
.campaign-card:hover { transform: translateY(-3px); border-color: #abd5d8; box-shadow: 0 18px 42px rgba(15,48,67,.11); }
.campaign-card.is-inactive { opacity: .7; filter: grayscale(.2); }
.campaign-card-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.source-orb { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: white; background: linear-gradient(145deg, #0996a1, #076775); box-shadow: 0 9px 20px rgba(8,127,140,.22); font-size: 15px; font-weight: 900; }
.source-orb.source-meta { background: linear-gradient(145deg, #5067e8, #7849c7); box-shadow: 0 9px 20px rgba(93,74,207,.22); }
.campaign-card h2 { margin-bottom: 5px; font-size: 20px; }
.campaign-card > p:not(.section-kicker) { min-height: 23px; color: var(--muted); }
.campaign-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 17px 0; }
.campaign-stats span { padding: 10px 11px; border-radius: 10px; color: var(--muted); background: rgba(238,245,248,.78); font-size: 10px; }
.campaign-stats strong { display: block; color: var(--ink); font-size: 18px; }
.campaign-route { padding-top: 14px; border-top: 1px solid var(--line-soft); }
.campaign-route small, .campaign-route strong { display: block; }
.campaign-route small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.campaign-route strong { margin-top: 3px; font-size: 12px; }
.campaign-limit-cta { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 15px -8px -8px; padding: 12px; border: 1px solid rgba(8,127,140,.17); border-radius: 12px; background: linear-gradient(135deg, rgba(8,127,140,.09), rgba(56,189,170,.05)); }
.campaign-limit-cta span strong, .campaign-limit-cta span small { display: block; }
.campaign-limit-cta span strong { color: var(--primary); font-size: 18px; }
.campaign-limit-cta span small { color: var(--muted); font-size: 10px; }
.campaign-limit-cta b { color: var(--primary); font-size: 11px; text-align: right; }
.customer-revision-review { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 22px; margin-bottom: 18px; padding: 22px; border: 1px solid rgba(236,139,44,.28); border-radius: 18px; background: linear-gradient(135deg,#fffaf3,#fff); box-shadow: var(--shadow); }
.customer-revision-review h2 { margin: 3px 0 7px; }
.customer-revision-review blockquote { margin: 12px 0; padding: 11px 13px; border-left: 3px solid var(--warning); border-radius: 0 10px 10px 0; background: #fff; color: var(--muted); }
.customer-revision-review.status-approved { border-color: rgba(19,138,91,.3); background: linear-gradient(135deg,#f2fbf7,#fff); }
.customer-revision-banner { display: flex; justify-content: center; gap: 10px; margin: 0 auto 18px; padding: 13px 20px; border-radius: 14px; text-align: center; }
.customer-revision-banner strong, .customer-revision-banner span { display: block; }
.customer-revision-banner.pending { background: #fff4df; color: #8a5315; }
.customer-revision-banner.approved { background: #e9f8f0; color: #106a46; }
.customer-revision-banner.changes { background: #fff0f0; color: #993d47; }
@media (max-width:760px) { .customer-revision-review { grid-template-columns: 1fr; } .customer-revision-banner { align-items: flex-start; flex-direction: column; text-align: left; } }
.campaign-form-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 18px; align-items: start; }
.campaign-form { max-width: none; }
.campaign-form label[data-field="notes"] { grid-column: 1 / -1; }
.meta-help-card { position: sticky; top: calc(var(--topbar-height) + 18px); overflow: hidden; }
.meta-help-card::after { position: absolute; inset: auto -70px -90px auto; width: 180px; height: 180px; border-radius: 50%; background: rgba(98,75,209,.08); content: ""; }
.meta-help-card .source-orb { margin-bottom: 22px; }
.meta-help-card ol { padding-left: 20px; color: #465b6b; }
.meta-help-card li { margin: 10px 0; }
.route-card { border-top: 3px solid var(--primary); }
.fixed-agent-card { border-top: 3px solid var(--orange); background: linear-gradient(145deg, #fff, #fffaf3); }
.meta-id-list { margin: 18px 0 0; }
.meta-id-list div { padding: 10px 0; border-top: 1px solid var(--line-soft); }
.meta-id-list dt { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.meta-id-list dd { overflow-wrap: anywhere; margin: 3px 0 0; font-size: 12px; }

/* Itinerary design studio */
.builder-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 720px; margin-bottom: 18px; padding: 5px; border: 1px solid #d6e3e9; border-radius: 16px; background: rgba(231,240,244,.72); }
.builder-tabs button { display: grid; grid-template-columns: 38px 1fr; column-gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid transparent; border-radius: 12px; color: #617484; background: transparent; cursor: pointer; text-align: left; }
.builder-tabs button > span { grid-row: 1 / 3; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.7); font-size: 17px; }
.builder-tabs strong, .builder-tabs small { display: block; }
.builder-tabs strong { color: var(--ink); font-size: 12px; }
.builder-tabs small { font-size: 9px; }
.builder-tabs button.active { color: white; border-color: rgba(6,104,115,.3); background: linear-gradient(135deg, #0995a0, #08717e); box-shadow: 0 8px 20px rgba(8,127,140,.19), inset 0 1px 0 rgba(255,255,255,.2); }
.builder-tabs button.active strong { color: white; }
.builder-tabs button.active > span { color: #08717e; background: white; }
.builder-panel { overflow: hidden; border: 1px solid rgba(208,224,232,.92); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(246,251,252,.9)); box-shadow: var(--shadow-glass); }
.builder-panel.is-hidden { display: none; }
.ai-builder-intro { position: relative; display: flex; align-items: center; gap: 16px; padding: 24px 26px; border-bottom: 1px solid var(--line-soft); background: radial-gradient(circle at 10% 0, rgba(30,181,185,.12), transparent 260px); }
.ai-builder-intro > div:nth-child(2) { flex: 1; }
.ai-builder-intro h2, .ai-builder-intro p { margin-bottom: 3px; }
.ai-builder-intro p:last-child { color: var(--muted); }
.ai-glow-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border-radius: 17px; color: white; background: linear-gradient(145deg, #12aab2, #6656d5); box-shadow: 0 14px 30px rgba(43,132,165,.25); font-size: 24px; }
.ai-builder-form { padding: 24px 26px 28px; }
.builder-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.builder-form-grid .field-customer, .builder-form-grid .field-lead, .builder-form-grid .field-destination { grid-column: span 2; }
.builder-form-grid .field-traveller_name { grid-column: span 2; }
.builder-form-grid .field-interests, .builder-form-grid .field-special_requirements { grid-column: span 2; }
.builder-form-grid input, .builder-form-grid select, .builder-form-grid textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cad8e1; border-radius: 10px; background: rgba(255,255,255,.9); }
.design-studio { grid-column: 1 / -1; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-soft); }
.design-studio .subsection-heading { margin-top: 0; padding-top: 0; border-top: 0; }
.accent-picker { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.accent-picker input { width: 40px !important; height: 32px; padding: 2px !important; border-radius: 9px; }
.layout-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-top: 13px; }
.layout-option { position: relative; cursor: pointer; }
.layout-option input { position: absolute; opacity: 0; pointer-events: none; }
.layout-option > strong { display: block; margin-top: 7px; color: #536777; font-size: 10px; text-align: center; }
.layout-preview { height: 104px; display: grid; grid-template-columns: 30% 1fr; grid-template-rows: 24px repeat(3, 1fr); gap: 6px; padding: 10px; border: 2px solid transparent; border-radius: 13px; background: #eef4f6; box-shadow: inset 0 0 0 1px #dbe6eb; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.layout-preview i { grid-column: 1 / -1; border-radius: 5px; background: linear-gradient(90deg, #0c2b43, #0b7280); }
.layout-preview b { grid-column: 2; border-radius: 4px; background: white; }
.layout-preview b:first-of-type { grid-column: 1; grid-row: 2 / 5; background: rgba(8,127,140,.15); }
.layout-option-luxury .layout-preview { background: #f7f1e9; }
.layout-option-luxury .layout-preview i { background: linear-gradient(90deg, #232323, #9d7136); }
.layout-option-compact .layout-preview { grid-template-columns: 1fr; }
.layout-option-compact .layout-preview b, .layout-option-compact .layout-preview b:first-of-type { grid-column: 1; grid-row: auto; }
.layout-option-story .layout-preview { background: linear-gradient(145deg, #dff2f0, #f6eee4); }
.layout-option-story .layout-preview b:first-of-type { border-radius: 50%; }
.layout-option input:checked + .layout-preview { transform: translateY(-2px); border-color: var(--primary); box-shadow: 0 10px 24px rgba(8,127,140,.14); }
.layout-option input:checked ~ strong { color: var(--primary-dark); }
.ai-safety-note { display: flex; align-items: flex-start; gap: 10px; margin: 22px 0 18px; padding: 12px 14px; border: 1px solid #c9e3d8; border-radius: 11px; color: #356552; background: var(--green-soft); }
.ai-safety-note > span { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 11px; }
.ai-safety-note p { margin: 0; font-size: 11px; }
.builder-submit { display: flex; align-items: center; gap: 13px; }
.builder-submit small { color: var(--muted); }
.ai-generate-button { min-height: 44px; padding-inline: 19px; }
.manual-itinerary-form { max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.manual-itinerary-form .design-studio { grid-column: 1 / -1; }
.customer-source-note { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #c7dfe8; border-radius: 11px; color: #365668; background: linear-gradient(135deg, #f2fbfc, #f6f5ff); font-size: 11px; }

/* Original easy trip wizard - familiar booking flow without third-party trade dress */
.easy-trip-wizard { --wizard-blue: #146d91; --wizard-teal: #07939b; overflow: hidden; border: 1px solid rgba(150,181,194,.55); border-radius: 24px; background: rgba(248,252,253,.9); box-shadow: 0 22px 60px rgba(19,50,67,.1); }
.builder-mode-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 22px; background: linear-gradient(140deg,#eaf6f8,#f9fbff 52%,#fff6eb); }
.builder-choice-card { position: relative; min-height: 190px; display: grid; grid-template-columns: 62px 1fr; gap: 16px; overflow: hidden; padding: 22px; border: 1px solid rgba(120,167,183,.35); border-radius: 20px; color: #17384a; background: rgba(255,255,255,.82); box-shadow: 0 10px 30px rgba(18,54,70,.06); cursor: pointer; text-align: left; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.builder-choice-card::after { position: absolute; right: -42px; top: -52px; width: 150px; height: 150px; border-radius: 50%; background: color-mix(in srgb,var(--wizard-teal) 10%,transparent); content: ""; }
.builder-choice-card:hover { transform: translateY(-3px); border-color: var(--wizard-teal); box-shadow: 0 16px 38px rgba(12,116,124,.12); }
.builder-choice-card.selected { border-color: var(--wizard-teal); background: linear-gradient(145deg,#fff,#edfafa); box-shadow: 0 0 0 3px rgba(7,147,155,.1),0 16px 38px rgba(12,116,124,.12); }
.builder-choice-card .choice-icon { position: relative; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; color: white; background: linear-gradient(145deg,var(--wizard-blue),var(--wizard-teal)); box-shadow: 0 9px 20px rgba(9,119,137,.2); font-size: 24px; }
.builder-choice-card span small,.builder-choice-card span strong,.builder-choice-card span em { display: block; }
.builder-choice-card span small { margin-bottom: 5px; color: var(--wizard-teal); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.builder-choice-card span strong { font-size: 20px; line-height: 1.15; }
.builder-choice-card span em { margin-top: 5px; color: var(--muted); font-size: 10px; font-style: normal; }
.builder-choice-card ul { grid-column: 1/-1; display: flex; gap: 16px; flex-wrap: wrap; margin: 5px 0 0; padding: 0; color: #496371; font-size: 10px; list-style: none; }
.builder-choice-card li::before { margin-right: 5px; color: var(--wizard-teal); content: "✓"; font-weight: 900; }
.builder-choice-card > b { grid-column: 1/-1; align-self: end; color: var(--wizard-blue); font-size: 10px; }
.wizard-progress { position: sticky; top: var(--topbar-height,0); z-index: 5; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; padding: 0 22px; border-block: 1px solid var(--line-soft); background: rgba(255,255,255,.94); backdrop-filter: blur(18px); }
.wizard-progress button { position: relative; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; gap: 0 9px; padding: 16px 9px; border: 0; color: var(--muted); background: transparent; cursor: pointer; text-align: left; }
.wizard-progress button::after { position: absolute; left: 51px; right: 0; bottom: -1px; height: 3px; border-radius: 99px; background: transparent; content: ""; }
.wizard-progress button span { grid-row: 1/3; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #c9d9df; border-radius: 11px; background: #f4f8fa; font-size: 10px; font-weight: 900; }
.wizard-progress button b { color: #45606f; font-size: 10px; }
.wizard-progress button small { font-size: 8px; }
.wizard-progress button.active span,.wizard-progress button.complete span { color: white; border-color: var(--wizard-teal); background: linear-gradient(145deg,var(--wizard-blue),var(--wizard-teal)); }
.wizard-progress button.active b { color: var(--wizard-blue); }
.wizard-progress button.active::after { background: var(--wizard-teal); }
.wizard-progress button.optional small::after { content: " · optional"; }
.wizard-step { display: none; padding: 30px; animation: wizardEnter .24s ease both; }
.wizard-step.active { display: block; }
@keyframes wizardEnter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.wizard-step-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.wizard-step-heading > span:first-child { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; border-radius: 16px; color: white; background: linear-gradient(145deg,#16384b,var(--wizard-teal)); box-shadow: 0 9px 22px rgba(11,91,105,.18); font-size: 12px; font-weight: 900; }
.wizard-step-heading > div { flex: 1; }
.wizard-step-heading h2 { margin: 1px 0 3px; font-size: 22px; }
.wizard-step-heading p { color: var(--muted); }
.wizard-card { margin-bottom: 16px; padding: 22px; border: 1px solid rgba(168,194,204,.48); border-radius: 18px; background: rgba(255,255,255,.9); box-shadow: 0 8px 26px rgba(21,55,70,.045); }
.wizard-subheading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding-bottom: 11px; border-bottom: 1px solid var(--line-soft); }
.wizard-subheading strong { color: #183d50; }
.wizard-subheading small { color: var(--muted); }
.wizard-grid { display: grid; gap: 15px; }
.wizard-grid.two-col { grid-template-columns: repeat(2,minmax(0,1fr)); }
.wizard-grid.three-col { grid-template-columns: repeat(3,minmax(0,1fr)); }
.wizard-grid.four-col { grid-template-columns: repeat(4,minmax(0,1fr)); }
.wizard-grid .span-two { grid-column: span 2; }
.wizard-grid .span-all { grid-column: 1/-1; }
.wizard-field { min-width: 0; }
.wizard-field > label { display: block; margin-bottom: 6px; color: #294d5f; font-size: 9px; font-weight: 800; }
.wizard-field > small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.wizard-field.has-error input,.wizard-field.has-error select,.wizard-field.has-error textarea { border-color: #c8464c; }
.wizard-divider { position: relative; margin: 19px 0; border-top: 1px solid var(--line-soft); text-align: center; }
.wizard-divider span { position: relative; top: -7px; padding: 0 10px; color: #82939c; background: white; font-size: 8px; font-weight: 800; }
.wizard-navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
.pricing-builder-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(270px,.65fr); gap: 18px; }
.wizard-price-summary { position: sticky; top: 145px; align-self: start; overflow: hidden; padding: 22px; border: 1px solid rgba(7,147,155,.28); border-radius: 19px; background: linear-gradient(155deg,#0e3449,#087f8c); box-shadow: 0 16px 34px rgba(10,75,89,.18); color: white; }
.wizard-price-summary .section-kicker { color: #a9eeeb; }
.price-summary-row { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 10px; }
.price-summary-total { margin: 15px -22px -4px; padding: 18px 22px; background: rgba(255,255,255,.1); }
.price-summary-total span,.price-summary-total strong { display: block; }
.price-summary-total span { color: #bfeae9; font-size: 9px; }
.price-summary-total strong { margin-top: 4px; font-size: 24px; }
.wizard-price-summary > small { display: block; margin-top: 13px; color: rgba(255,255,255,.68); font-size: 8px; line-height: 1.5; }
.wizard-design-studio { margin-top: 20px; padding: 20px; border-radius: 15px; background: #f5fafb; }
.wizard-alert { margin: 18px 30px 0; padding: 12px 15px; border: 1px solid #e5b7b7; border-radius: 11px; color: #8c2d32; background: #fff4f4; }
.wizard-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.wizard-review-card { min-height: 140px; padding: 22px; border: 1px solid var(--line-soft); border-radius: 18px; background: white; box-shadow: 0 9px 24px rgba(16,50,66,.05); }
.wizard-review-card small,.wizard-review-card strong { display: block; }
.wizard-review-card small { color: var(--wizard-teal); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.wizard-review-card strong { margin: 10px 0 4px; color: #17384a; font-size: 16px; }
.wizard-review-card p { color: var(--muted); }
.wizard-review-card.hero-review { color: white; border: 0; background: linear-gradient(145deg,#153c52,#087f8c); }
.wizard-review-card.hero-review small,.wizard-review-card.hero-review p { color: rgba(255,255,255,.7); }
.wizard-review-card.hero-review h2 { margin: 10px 0 7px; color: white; font-size: 25px; }
.wizard-review-card.price-review strong { color: var(--wizard-teal); font-size: 23px; }
.wizard-final-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding: 20px; border: 1px solid #cce3e5; border-radius: 17px; background: linear-gradient(145deg,#fff,#edf9f8); }
.wizard-final-actions > small { flex: 1 1 220px; color: var(--muted); }
.wizard-generate { min-height: 45px; }
.quote-summary-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-bottom: 18px; border: 1px solid var(--line-soft); border-radius: 17px; background: var(--line-soft); box-shadow: 0 10px 28px rgba(17,50,65,.05); }
.quote-summary-strip > div { min-width: 0; padding: 16px; background: white; }
.quote-summary-strip small,.quote-summary-strip strong { display: block; }
.quote-summary-strip small { margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.quote-summary-strip strong { overflow-wrap: anywhere; color: #183b4d; font-size: 11px; }
.quote-summary-strip .quote-total { background: linear-gradient(145deg,#123a50,#087f8c); }
.quote-summary-strip .quote-total small { color: rgba(255,255,255,.68); }
.quote-summary-strip .quote-total strong { color: white; font-size: 15px; }
.quote-workspace { align-items: start; }
.quote-terms { margin: 18px 0; padding: 16px; border-left: 4px solid var(--primary); border-radius: 10px; color: #526873; background: #f6fafb; font-size: 10px; }
.quote-line-editor { position: sticky; top: 92px; }

/* Customer-facing itinerary layouts */
.itinerary-canvas { --itinerary-accent: var(--primary); overflow: hidden; border: 1px solid #d8e5eb; border-radius: 22px; background: rgba(255,255,255,.88); box-shadow: var(--shadow-glass); }
.itinerary-hero { position: relative; display: flex; align-items: center; gap: 18px; overflow: hidden; padding: 30px; color: white; background: linear-gradient(125deg, #0b2438, color-mix(in srgb, var(--itinerary-accent) 78%, #0b2438)); }
.itinerary-hero.has-cover { min-height: 270px; align-items: flex-end; }
.itinerary-cover-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; }
.itinerary-hero-overlay { position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(7,26,39,.94), rgba(7,26,39,.55) 60%, rgba(7,26,39,.25)); }
.itinerary-hero:not(.has-cover) .itinerary-hero-overlay { display: none; }
.itinerary-hero::after { position: absolute; right: -70px; top: -100px; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255,255,255,.035), 0 0 0 75px rgba(255,255,255,.025); content: ""; }
.itinerary-hero-orb { position: relative; z-index: 1; width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 19px; background: rgba(255,255,255,.12); backdrop-filter: blur(12px); font-size: 19px; font-weight: 900; }
.itinerary-hero-orb img { width: 46px; height: 46px; padding: 3px; border-radius: 13px; object-fit: contain; background: white; }
.itinerary-hero-copy { position: relative; z-index: 1; flex: 1; }
.itinerary-hero-copy .eyebrow { color: #9ee8e7 !important; }
.itinerary-hero-copy h1 { max-width: 800px; margin-bottom: 6px; }
.itinerary-hero-copy > p { color: rgba(255,255,255,.75); }
.itinerary-meta-pills { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 15px; }
.itinerary-meta-pills span { padding: 5px 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; background: rgba(255,255,255,.09); font-size: 9px; }
.itinerary-hero-status { position: relative; z-index: 1; display: flex; align-items: flex-end; flex-direction: column; gap: 9px; }
.itinerary-hero-status small { max-width: 190px; color: rgba(255,255,255,.7); font-size: 9px; text-align: right; }
.itinerary-customer-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 1px; border-bottom: 1px solid var(--line-soft); background: var(--line-soft); }
.itinerary-customer-strip > div { min-width: 0; padding: 15px 20px; background: rgba(255,255,255,.96); }
.itinerary-customer-strip small, .itinerary-customer-strip strong { display: block; }
.itinerary-customer-strip small { margin-bottom: 4px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.itinerary-customer-strip strong { overflow-wrap: anywhere; color: #17394b; font-size: 11px; }
.itinerary-customer-strip .itinerary-price { background: color-mix(in srgb, var(--itinerary-accent) 8%, white); }
.itinerary-customer-strip .itinerary-price strong { color: var(--itinerary-accent); font-size: 16px; }
.itinerary-price-note { display: flex; gap: 12px; padding: 11px 30px; border-bottom: 1px solid #f2d8a8; color: #7b5415; background: #fff9ec; font-size: 10px; }
.itinerary-price-note p { margin: 0; }
.itinerary-intro { padding: 18px 30px; border-bottom: 1px solid var(--line-soft); color: #536777; background: color-mix(in srgb, var(--itinerary-accent) 5%, white); }
.itinerary-intro p { margin: 0; }
.itinerary-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .7fr); gap: 22px; padding: 27px 30px 35px; }
.section-title { margin-bottom: 16px; }
.section-title h2 { margin: 0; font-size: 22px; }
.itinerary-days .day-stack { position: relative; }
.itinerary-days .day-stack::before { position: absolute; left: 36px; top: 18px; bottom: 18px; width: 2px; background: color-mix(in srgb, var(--itinerary-accent) 25%, #e1eaee); content: ""; }
.itinerary-days .day-card { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 17px; margin-bottom: 15px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.day-marker { position: relative; z-index: 1; height: 74px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 5px solid white; border-radius: 50%; color: white; background: var(--itinerary-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--itinerary-accent) 22%, transparent); }
.day-marker span, .day-marker small { font-size: 8px; line-height: 1; }
.day-marker strong { font-size: 21px; line-height: 1.05; }
.day-marker small { margin-top: 4px; white-space: nowrap; }
.day-content { padding: 18px; border: 1px solid #dee8ed; border-radius: 15px; background: linear-gradient(145deg, #fff, #fbfdfe); box-shadow: 0 8px 24px rgba(22,45,67,.05); }
.itinerary-day-image { width: calc(100% + 36px); height: 190px; margin: -18px -18px 17px; border-radius: 15px 15px 0 0; object-fit: cover; }
.day-heading { display: flex; justify-content: space-between; gap: 15px; }
.day-heading h2 { margin-bottom: 5px; }
.day-heading p { color: var(--muted); }
.overnight-pill { height: max-content; flex: 0 0 auto; padding: 5px 8px; border-radius: 99px; color: var(--primary-dark); background: var(--primary-soft); font-size: 9px; }
.component-timeline { margin-top: 13px; }
.component-row { display: grid; grid-template-columns: 34px 1fr; gap: 10px; margin: 8px 0; padding: 10px 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: transparent; }
.component-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--itinerary-accent); background: color-mix(in srgb, var(--itinerary-accent) 10%, white); font-size: 10px; font-weight: 900; }
.component-row small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.component-row strong { margin-top: 2px; }
.component-row p { margin: 4px 0 0; color: #5b6e7d; font-size: 11px; }
.component-row em { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; font-style: normal; }
.itinerary-tools { align-self: start; }
.builder-tool-card { border-top: 3px solid var(--itinerary-accent); }
.share-tool { background: linear-gradient(145deg, #fff, #f1fbf7); }
.itinerary-pricing-tool { background: linear-gradient(145deg,#fff,#f2fafb); }
.pricing-tool-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pricing-tool-heading > strong { padding: 8px 10px; border-radius: 10px; color: var(--itinerary-accent); background: color-mix(in srgb,var(--itinerary-accent) 9%,white); font-size: 13px; white-space: nowrap; }
.mini-price-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 14px 0; }
.mini-price-breakdown span { display: flex; justify-content: space-between; gap: 8px; padding: 7px 8px; border: 1px solid var(--line-soft); border-radius: 8px; color: var(--muted); background: white; font-size: 8px; }
.mini-price-breakdown b { color: #284b5c; }
.compact-editor { margin-top: 12px; border-top: 1px solid var(--line-soft); }
.compact-editor > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0 2px; color: var(--primary-dark); cursor: pointer; font-size: 9px; font-weight: 800; list-style: none; }
.compact-editor > summary::-webkit-details-marker { display: none; }
.compact-editor > summary b { font-size: 16px; transition: transform .2s ease; }
.compact-editor[open] > summary b { transform: rotate(45deg); }
.pricing-detail-form { padding-top: 10px; }
.detail-live-total { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-radius: 11px; color: white; background: linear-gradient(145deg,#163c50,var(--itinerary-accent)); }
.detail-live-total span { font-size: 8px; text-transform: uppercase; }
.detail-live-total strong { font-size: 14px; }
.advanced-quote { margin-top: 14px; }
.whatsapp-button { color: white; border-color: #138b55; background: linear-gradient(135deg, #20a968, #10834e); box-shadow: 0 8px 18px rgba(16,131,78,.18); }
.integration-note { display: block; color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.itinerary-editor { padding: 0; overflow: hidden; }
.itinerary-editor summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px; cursor: pointer; list-style: none; }
.itinerary-editor summary::-webkit-details-marker { display: none; }
.itinerary-editor summary span small, .itinerary-editor summary span strong { display: block; }
.itinerary-editor summary span small { margin-bottom: 3px; color: var(--itinerary-accent); font-size: 8px; font-weight: 800; }
.itinerary-editor summary b { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: var(--itinerary-accent); background: color-mix(in srgb, var(--itinerary-accent) 10%, white); }
.itinerary-editor[open] summary b { transform: rotate(45deg); }
.itinerary-editor form { max-height: 720px; overflow-y: auto; padding: 0 18px 18px; border-top: 1px solid var(--line-soft); }
.itinerary-inclusion-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin: 22px 0 0 91px; }
.itinerary-inclusion-grid article, .itinerary-terms { padding: 18px; border: 1px solid var(--line-soft); border-radius: 14px; background: #f9fcfd; }
.itinerary-inclusion-grid p, .itinerary-terms p { color: #506572; font-size: 10px; }
.itinerary-terms { margin: 14px 0 0 91px; border-left: 4px solid var(--itinerary-accent); }
.quote-tool { background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--itinerary-accent) 6%, white)); }
.itinerary-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 30px; border-top: 1px solid var(--line-soft); background: #f8fbfc; }
.itinerary-footer strong, .itinerary-footer small { display: block; }
.itinerary-footer small, .itinerary-footer p { color: var(--muted); font-size: 9px; }
.itinerary-footer p { margin: 0; text-align: right; }
.itinerary-footer-brand { display: flex; align-items: center; gap: 10px; }
.itinerary-footer-brand img { width: 38px; height: 38px; padding: 3px; border: 1px solid var(--line-soft); border-radius: 10px; object-fit: contain; background: white; }
.itinerary-layout-luxury { font-family: Georgia, "Times New Roman", serif; }
.itinerary-layout-luxury .itinerary-hero { background: linear-gradient(125deg, #1c1a18, color-mix(in srgb, var(--itinerary-accent) 55%, #1c1a18)); }
.itinerary-layout-luxury .day-content { border-radius: 4px; }
.itinerary-layout-compact .itinerary-workspace { grid-template-columns: 1fr; }
.itinerary-layout-compact .itinerary-days .day-stack::before { display: none; }
.itinerary-layout-compact .itinerary-days .day-card { grid-template-columns: 58px 1fr; }
.itinerary-layout-compact .day-marker { width: 56px; height: 56px; border-width: 3px; border-radius: 12px; }
.itinerary-layout-story .day-content { border: 0; border-left: 4px solid var(--itinerary-accent); background: color-mix(in srgb, var(--itinerary-accent) 4%, white); }
.itinerary-card-grid { align-items: stretch; }
.designed-trip-card { position: relative; overflow: hidden; border-top: 4px solid var(--card-accent); }
.designed-trip-card::after { position: absolute; right: -35px; top: -35px; width: 100px; height: 100px; border-radius: 50%; background: color-mix(in srgb, var(--card-accent) 11%, transparent); content: ""; }
.trip-card-top { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; }
.builder-mode { color: var(--primary); font-size: 9px; font-weight: 800; }
.designed-trip-card footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 13px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 9px; }
.designed-trip-card footer strong { color: var(--primary-dark); }
.trip-card-link { display: block; color: inherit; }
.itinerary-status-overview { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 16px; }
.itinerary-status-filter { display: flex; align-items: end; gap: 12px; margin-bottom: 18px; }
.itinerary-status-filter label { min-width: 170px; }
.itinerary-status-filter select { min-width: 210px; }
.itinerary-outcome-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; }
.itinerary-outcome-row small { font-size: 11px; }
.outcome-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 11px; font-weight: 800; }
.outcome-sent, .outcome-reviewing { background: #e9f5ff; color: #17639a; }
.outcome-quote_requested { background: #fff3dc; color: #955407; }
.outcome-booked { background: #e7f8ef; color: #187a48; }
.outcome-not_booked { background: #fff0f0; color: #a43535; }
.itinerary-status-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.itinerary-status-form select, .itinerary-status-form input { min-width: 0; font-size: 12px; }
.itinerary-status-form select { grid-column: 1; grid-row: 1; }
.itinerary-status-form .button { grid-column: 2; grid-row: 1; }
.itinerary-status-form input { grid-column: 1 / -1; grid-row: 2; }

@media (max-width: 1120px) {
  .itinerary-status-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .workspace-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-filter-panel .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campaign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .builder-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itinerary-workspace { grid-template-columns: 1fr; }
  .wizard-grid.four-col { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pricing-builder-layout { grid-template-columns: 1fr; }
  .wizard-price-summary { position: static; }
  .quote-summary-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .itinerary-status-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itinerary-status-filter { align-items: stretch; flex-direction: column; }
  .itinerary-status-filter select { width: 100%; min-width: 0; }
  .itinerary-status-form { grid-template-columns: 1fr auto; }
  .integration-grid, .form-grid, .permission-checklist>ul { grid-template-columns: 1fr; }
  .admin-report-grid, .report-filter-panel .form-grid { grid-template-columns: 1fr; }
  .form-field:has(textarea), .form-field:has(input[type="file"]) { grid-column: auto; }
  .public-header { height: auto; min-height: 70px; gap: 14px; padding-block: 12px; }
  .public-links { gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
  .responsive-table thead { display: none; }
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block; width: 100%; }
  .responsive-table tbody { display: grid; gap: 12px; padding: 12px; }
  .responsive-table tr { padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
  .responsive-table td {
    min-height: 34px;
    display: grid;
    grid-template-columns: minmax(100px, 42%) 1fr;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border: 0;
    border-bottom: 1px solid var(--line-soft);
    text-align: right;
  }
  .responsive-table td:last-child { border-bottom: 0; }
  .responsive-table td::before { content: attr(data-label); color: var(--muted); font-size: 10px; font-weight: 800; text-align: left; text-transform: uppercase; }
  .workspace-table-panel .panel-heading { align-items: stretch; flex-direction: column; }
  .workspace-table-panel .list-search { width: 100%; }
  .campaign-form-layout { grid-template-columns: 1fr; }
  .meta-help-card { position: static; }
  .ai-builder-intro { align-items: flex-start; flex-wrap: wrap; padding: 20px; }
  .ai-builder-intro .badge { margin-left: 70px; }
  .ai-builder-form { padding: 20px; }
  .layout-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itinerary-hero { align-items: flex-start; flex-wrap: wrap; padding: 23px 20px; }
  .itinerary-hero-copy { flex-basis: calc(100% - 82px); }
  .itinerary-hero-status { width: 100%; align-items: flex-start; padding-left: 80px; }
  .itinerary-hero-status small { text-align: left; }
  .itinerary-intro { padding-inline: 20px; }
  .itinerary-workspace { padding: 23px 16px 30px; }
  .itinerary-primary-actions { width: 100%; }
  .itinerary-primary-actions .button { flex: 1; }
  .itinerary-customer-strip { grid-template-columns: 1fr 1fr; }
  .itinerary-inclusion-grid { grid-template-columns: 1fr; margin-left: 62px; }
  .itinerary-terms { margin-left: 62px; }
  .itinerary-footer { align-items: flex-start; flex-direction: column; padding-inline: 20px; }
  .itinerary-footer p { text-align: left; }
  .builder-mode-choice { grid-template-columns: 1fr; padding: 14px; }
  .builder-choice-card { min-height: 165px; }
  .wizard-progress { overflow-x: auto; grid-template-columns: repeat(5,minmax(120px,1fr)); padding-inline: 10px; }
  .wizard-progress button { padding-inline: 5px; }
  .wizard-step { padding: 21px 15px; }
  .wizard-step-heading { align-items: flex-start; flex-wrap: wrap; }
  .wizard-step-heading .badge { margin-left: 65px; }
  .wizard-grid.two-col,.wizard-grid.three-col,.wizard-grid.four-col { grid-template-columns: 1fr; }
  .wizard-grid .span-two { grid-column: auto; }
  .wizard-review-grid { grid-template-columns: 1fr; }
  .quote-summary-strip { grid-template-columns: 1fr 1fr; }
  .quote-line-editor { position: static; }
}
@media (max-width: 480px) {
  .workspace-metrics { grid-template-columns: 1fr; }
  .itinerary-status-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-header { align-items: flex-start; flex-direction: column; }
  .public-links { justify-content: flex-start; }
  .legal-page { padding-top: 30px; }
  .campaign-grid { grid-template-columns: 1fr; }
  .campaign-search { flex-wrap: wrap; }
  .campaign-search select { width: 100%; }
  .builder-tabs { grid-template-columns: 1fr; }
  .builder-form-grid { grid-template-columns: 1fr; }
  .builder-form-grid .field-customer, .builder-form-grid .field-lead, .builder-form-grid .field-traveller_name, .builder-form-grid .field-destination, .builder-form-grid .field-interests, .builder-form-grid .field-special_requirements { grid-column: auto; }
  .builder-submit { align-items: stretch; flex-direction: column; }
  .layout-picker { grid-template-columns: 1fr 1fr; }
  .itinerary-hero-orb { width: 50px; height: 50px; flex-basis: 50px; border-radius: 15px; }
  .itinerary-hero-copy { flex-basis: calc(100% - 68px); }
  .itinerary-hero-status { padding-left: 0; }
  .itinerary-days .day-stack::before { left: 25px; }
  .itinerary-days .day-card { grid-template-columns: 52px 1fr; gap: 10px; }
  .day-marker { width: 52px; height: 52px; border-width: 3px; }
  .day-marker strong { font-size: 17px; }
  .day-marker small { display: none; }
  .day-content { padding: 14px; }
  .itinerary-day-image { width: calc(100% + 28px); height: 145px; margin: -14px -14px 14px; }
  .day-heading { flex-direction: column; }
  .overnight-pill { width: max-content; }
  .itinerary-customer-strip { grid-template-columns: 1fr; }
  .itinerary-inclusion-grid, .itinerary-terms { margin-left: 0; }
  .builder-choice-card { grid-template-columns: 48px 1fr; padding: 18px; }
  .builder-choice-card .choice-icon { width: 46px; height: 46px; border-radius: 14px; font-size: 18px; }
  .wizard-card { padding: 17px; }
  .wizard-navigation .button { flex: 1; }
  .wizard-final-actions { align-items: stretch; flex-direction: column; }
  .wizard-final-actions > small { flex-basis: auto; }
  .quote-summary-strip { grid-template-columns: 1fr; }
}

@supports (padding: max(0px)) {
  .topbar { padding-top: env(safe-area-inset-top); height: calc(var(--topbar-height) + env(safe-area-inset-top)); }
  .sidebar { padding-bottom: env(safe-area-inset-bottom); }
  .content { padding-bottom: max(40px, env(safe-area-inset-bottom)); }
}

/* Conversational AI itinerary planner */
.chat-planner-heading { align-items: flex-end; margin-bottom: 20px; }
.chat-planner-heading h1 { max-width: 760px; }
.chat-planner-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 20px;
}
.planner-conversation {
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(203, 220, 229, .85);
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 4%, rgba(8, 127, 140, .09), transparent 260px),
    rgba(248, 251, 253, .92);
  box-shadow: var(--shadow-glass);
}
.chat-message { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0 10px; }
.chat-message:first-child { margin-top: 0; }
.chat-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 13px;
  color: white;
  background: linear-gradient(145deg, #0b95a2, #075965);
  box-shadow: 0 9px 20px rgba(8, 127, 140, .2);
  font-size: 11px;
  font-weight: 900;
}
.chat-bubble {
  max-width: 720px;
  padding: 14px 17px;
  border: 1px solid rgba(210, 225, 233, .9);
  border-radius: 5px 17px 17px 17px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(25, 53, 73, .05);
}
.chat-bubble strong { display: block; color: var(--navy); font-size: 15px; }
.chat-bubble p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.chat-intro .chat-avatar { width: 46px; height: 46px; flex-basis: 46px; border-radius: 16px; }
.chat-intro .chat-bubble { border-color: rgba(8,127,140,.22); background: linear-gradient(135deg, #fff, #edfafa); }
.chat-reply-card {
  margin: 0 0 10px 50px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  box-shadow: 0 8px 24px rgba(16, 48, 68, .045);
}
.chat-field, .chat-reply-card .wizard-field { min-width: 0; }
.chat-field label, .chat-reply-card .wizard-field > label {
  display: block;
  margin-bottom: 6px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}
.chat-field input, .chat-field select, .chat-field textarea,
.chat-reply-card .wizard-field input, .chat-reply-card .wizard-field select, .chat-reply-card .wizard-field textarea {
  width: 100%;
}
.route-reply { display: grid; grid-template-columns: minmax(0,1fr) 34px minmax(0,1.2fr); align-items: end; gap: 10px; }
.route-arrow { display: grid; place-items: center; min-height: 42px; color: var(--primary); font-size: 20px; font-weight: 900; }
.destination-field input { border-color: rgba(8, 127, 140, .42); background: #fbffff; }
.package-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.package-choice {
  min-height: 74px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfcfd;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.package-choice:hover { transform: translateY(-2px); border-color: rgba(8,127,140,.35); }
.package-choice input { position: absolute; opacity: 0; pointer-events: none; }
.package-choice-icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 11px; color: var(--primary); background: var(--primary-soft); font-size: 17px; }
.package-choice strong { color: var(--navy); font-size: 12px; }
.package-choice:has(input:checked) { border-color: var(--primary); background: linear-gradient(145deg, #f8ffff, #eaf8f8); box-shadow: 0 8px 22px rgba(8,127,140,.12); }
.package-choice:has(input:checked) .package-choice-icon { color: white; background: linear-gradient(145deg, #0c9aa6, #08717d); }
.package-choice:has(input:focus-visible) { outline: 3px solid rgba(8,127,140,.25); outline-offset: 2px; }
.chat-grid { display: grid; gap: 13px; }
.chat-grid.two-col { grid-template-columns: repeat(2, minmax(0,1fr)); }
.chat-grid.three-col { grid-template-columns: repeat(3, minmax(0,1fr)); }
.chat-grid.four-col { grid-template-columns: repeat(4, minmax(0,1fr)); }
.chat-grid .span-all { grid-column: 1 / -1; }
.existing-customer-field { max-width: 520px; }
.chat-divider { display: flex; align-items: center; gap: 10px; margin: 15px 0; color: #8a99a7; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.chat-divider::before, .chat-divider::after { height: 1px; flex: 1; background: var(--line-soft); content: ""; }
.idea-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.idea-chips button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--primary-dark); background: #f8fbfc; cursor: pointer; font-size: 11px; font-weight: 700; }
.idea-chips button:hover, .idea-chips button.selected { border-color: var(--primary); color: white; background: var(--primary); }
.preferences-reply textarea { min-height: 76px; resize: vertical; }
.chat-more-options { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line-soft); }
.chat-more-options summary { width: max-content; max-width: 100%; padding: 8px 11px; border-radius: 9px; color: var(--primary-dark); background: var(--primary-soft); cursor: pointer; font-size: 11px; font-weight: 800; }
.chat-more-options[open] summary { margin-bottom: 14px; }
.chat-form-alert { margin-bottom: 14px; padding: 13px 16px; border: 1px solid #f0bdc5; border-radius: 13px; color: var(--red); background: var(--red-soft); }
.final-chat-message .chat-bubble { border-color: rgba(19,138,91,.22); background: var(--green-soft); }
.chat-generate-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 13px 0 0 50px; padding: 16px; border-radius: 17px; background: linear-gradient(135deg, #0d2d42, #075f69); box-shadow: 0 12px 30px rgba(7, 48, 63, .18); }
.generation-safety { min-width: 0; display: flex; align-items: flex-start; gap: 9px; color: #dcecf1; }
.generation-safety > span { color: #55d99f; font-weight: 900; }
.generation-safety p { margin: 0; font-size: 10px; }
.generation-safety strong { color: white; }
.chat-generate-button { min-width: 230px; min-height: 46px; border-color: #15a4ad !important; background: linear-gradient(145deg, #15a4ad, #07818d) !important; box-shadow: 0 10px 22px rgba(0,0,0,.18); }
.chat-generate-button.generating { cursor: wait; opacity: .76; }
.chat-trip-summary {
  position: sticky;
  top: calc(var(--topbar-height) + 18px);
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px;
  color: white;
  background:
    radial-gradient(circle at 100% 0, rgba(33, 192, 191, .32), transparent 220px),
    linear-gradient(155deg, #102f45, #073647 62%, #075d65);
  box-shadow: 0 20px 46px rgba(10, 42, 60, .18);
}
.chat-trip-summary::after { position: absolute; right: -55px; bottom: -65px; width: 180px; height: 180px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
.summary-ai-orb { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 20px; border: 1px solid rgba(255,255,255,.35); border-radius: 18px; background: linear-gradient(145deg, #16b6be, #087581); box-shadow: 0 12px 25px rgba(0,0,0,.2); }
.summary-ai-orb span { font-size: 13px; font-weight: 900; }
.chat-trip-summary .section-kicker { color: #78e1df; }
.chat-trip-summary h2 { position: relative; z-index: 1; margin: 6px 0; color: white; font-size: 23px; }
.summary-route { position: relative; z-index: 1; color: #b9d5df; }
.summary-route b { margin-inline: 5px; color: #75e2df; }
.summary-facts { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; overflow: hidden; margin: 20px 0; border: 1px solid rgba(255,255,255,.11); border-radius: 15px; background: rgba(255,255,255,.1); }
.summary-facts > div { min-width: 0; padding: 12px; background: rgba(7,35,51,.52); }
.summary-facts .span-all { grid-column: 1 / -1; }
.summary-facts small { display: block; margin-bottom: 3px; color: #89aebb; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.summary-facts strong { display: block; overflow: hidden; color: white; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.summary-ready-list { position: relative; z-index: 1; display: grid; gap: 8px; padding: 15px; border-radius: 14px; color: #d8eff2; background: rgba(255,255,255,.075); font-size: 11px; }
.summary-ready-list span::first-letter { color: #55d99f; }
.summary-privacy { position: relative; z-index: 1; display: block; margin-top: 14px; color: #97b7c3; font-size: 9px; }

@media (max-width: 1100px) {
  .chat-planner-layout { grid-template-columns: minmax(0, 1fr) 290px; }
  .package-choice-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .chat-grid.four-col { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .chat-planner-layout { grid-template-columns: 1fr; }
  .chat-trip-summary { position: static; }
}
@media (max-width: 680px) {
  .chat-planner-heading { align-items: flex-start; flex-direction: column; }
  .planner-conversation { padding: 15px; border-radius: 19px; }
  .chat-reply-card, .chat-generate-bar { margin-left: 0; }
  .route-reply { grid-template-columns: 1fr; }
  .route-arrow { min-height: 18px; transform: rotate(90deg); }
  .chat-grid.two-col, .chat-grid.three-col, .chat-grid.four-col { grid-template-columns: 1fr; }
  .chat-generate-bar { align-items: stretch; flex-direction: column; }
  .chat-generate-button { width: 100%; min-width: 0; }
}
@media (max-width: 430px) {
  .package-choice-grid { grid-template-columns: 1fr 1fr; }
  .package-choice { min-height: 68px; padding: 10px; }
  .package-choice-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .chat-trip-summary { padding: 20px; border-radius: 19px; }
}

/* Post-generation document editor */
.document-editor-panel {
  overflow: hidden;
  margin-bottom: 22px;
  border: 1px solid #cad9e2;
  border-radius: 22px;
  background: #e9eef2;
  box-shadow: var(--shadow-glass);
}
.document-editor-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  color: white;
  background: linear-gradient(135deg, #102f45, #075e68);
  cursor: pointer;
  list-style: none;
}
.document-editor-panel > summary::-webkit-details-marker { display: none; }
.document-editor-panel > summary span { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
.document-editor-panel > summary small { color: #73dcd9; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.document-editor-panel > summary strong { font-size: 15px; }
.document-editor-panel > summary em { color: #bdd1da; font-size: 10px; font-style: normal; }
.document-editor-panel > summary > b { padding: 6px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(255,255,255,.08); font-size: 10px; }
.itinerary-document-form { padding-bottom: 26px; }
.document-toolbar {
  position: sticky;
  top: var(--topbar-height);
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border-bottom: 1px solid #cad7df;
  background: rgba(250,252,253,.95);
  box-shadow: 0 5px 16px rgba(21,48,65,.07);
  backdrop-filter: blur(12px);
}
.document-toolbar-group { display: flex; overflow: hidden; border: 1px solid #d2dde4; border-radius: 9px; background: white; }
.document-toolbar-group button, .document-toolbar-group a { min-height: 34px; padding: 7px 11px; border: 0; border-right: 1px solid #e2e8ec; color: #234053; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.document-toolbar-group > :last-child { border-right: 0; }
.document-toolbar-group button:hover, .document-toolbar-group a:hover { color: var(--primary-dark); background: var(--primary-soft); }
.document-save-state { flex: 1; color: var(--muted); font-size: 10px; text-align: right; }
.document-dirty .document-save-state { color: var(--orange); font-weight: 800; }
.document-save-button { min-height: 36px !important; padding-block: 7px !important; }
.document-paper {
  width: min(900px, calc(100% - 36px));
  min-height: 900px;
  margin: 22px auto 0;
  padding: clamp(28px, 5vw, 62px);
  border: 1px solid #dce3e8;
  background: white;
  box-shadow: 0 14px 38px rgba(24,48,64,.12);
}
.document-cover-block { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 2px solid var(--primary); }
.document-cover-block h1 { margin: 8px 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(29px, 4vw, 45px); font-weight: 500; }
.document-cover-block p { margin: 0; color: var(--muted); }
.document-label { color: var(--primary); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.document-edit-section { margin: 23px 0; }
.document-editable { min-height: 42px; margin-top: 8px; color: #304759; line-height: 1.7; white-space: pre-wrap; }
.document-editable.compact { min-height: 24px; margin-top: 3px; color: var(--muted); font-size: 11px; }
[contenteditable="true"] { border-radius: 6px; outline: 1px dashed transparent; transition: outline-color .16s ease, background .16s ease; }
[contenteditable="true"]:hover { outline-color: rgba(8,127,140,.25); background: rgba(232,246,247,.45); }
[contenteditable="true"]:focus { outline: 2px solid rgba(8,127,140,.35); background: #fbffff; }
[contenteditable="true"]:empty::before { color: #a4afb7; content: 'Click to write'; }
.document-section-heading { display: flex; justify-content: space-between; gap: 15px; margin: 30px 0 15px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.document-section-heading small { color: var(--muted); font-size: 9px; }
.document-day-editor { display: grid; grid-template-columns: 58px 1fr; gap: 17px; padding: 20px 0; border-bottom: 1px solid var(--line-soft); }
.document-day-number { width: 54px; height: 54px; display: grid; place-items: center; align-content: center; border-radius: 15px; color: white; background: linear-gradient(145deg, #0c96a2, #076974); font-size: 8px; font-weight: 800; }
.document-day-number strong { display: block; font-size: 20px; line-height: 1; }
.document-day-body { min-width: 0; }
.document-day-body h2 { margin: 0 0 6px; color: var(--navy); font-family: Georgia, 'Times New Roman', serif; font-size: 21px; }
.document-overnight { width: max-content; max-width: 100%; display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 6px 9px; border-radius: 8px; color: var(--primary-dark); background: var(--primary-soft); font-size: 10px; }
.document-overnight span { font-weight: 700; }
.document-overnight b { min-width: 40px; }
.document-item-list { display: grid; gap: 8px; margin-top: 14px; }
.document-item-editor { position: relative; padding: 11px 13px 11px 17px; border: 1px solid var(--line-soft); border-radius: 10px; background: #fbfcfd; }
.document-item-editor::before { position: absolute; inset: 10px auto 10px 0; width: 3px; border-radius: 4px; background: var(--primary); content: ""; }
.document-item-editor > span { display: block; color: var(--primary); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.document-item-editor > strong { display: block; width: max-content; max-width: 100%; margin-top: 2px; color: var(--ink); }
.document-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.operations-cost-note { margin: 10px 0 13px; padding: 9px 11px; border-radius: 9px; color: #7c561c; background: var(--orange-soft); font-size: 10px; }
.admin-price-action { border-color: #c8b8ff; color: #5b35bf; background: #f6f2ff; }
.admin-price-breakdown { padding: 0; overflow: hidden; border-color: #d8cffb; background: linear-gradient(155deg,#fff 0%,#fbf9ff 100%); }
.admin-price-breakdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; border-bottom: 1px solid transparent; }
.admin-price-breakdown > summary::-webkit-details-marker { display: none; }
.admin-price-breakdown[open] > summary { border-bottom-color: #e7e0fb; }
.admin-price-breakdown > summary span { display: grid; gap: 3px; }
.admin-price-breakdown > summary small { color: #7255c9; font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.admin-price-breakdown > summary strong { color: var(--ink); font-size: 16px; }
.admin-price-breakdown > summary > b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #6844c4; background: #eee8ff; transition: transform .2s ease; }
.admin-price-breakdown[open] > summary > b { transform: rotate(45deg); }
.admin-price-body { padding: 16px 18px 18px; }
.admin-price-private-note { display: flex; gap: 8px; margin: 0 0 15px; padding: 10px 11px; border-radius: 10px; color: #5d4b23; background: #fff7db; font-size: 10px; line-height: 1.45; }
.admin-price-group { margin-top: 14px; }
.admin-price-group > p { margin: 0 0 7px; color: #7a6d9c; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-price-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid #ece8f6; }
.admin-price-row > span { display: grid; min-width: 0; gap: 3px; }
.admin-price-row strong { color: #26364c; font-size: 11px; }
.admin-price-row small { color: #748096; font-size: 9px; line-height: 1.45; }
.admin-price-row > b { flex: none; color: #26364c; font-size: 11px; white-space: nowrap; }
.admin-price-row.subtotal { margin-top: 3px; padding: 12px 10px; border: 0; border-radius: 9px; background: #f1eefb; }
.admin-price-row.subtotal strong,.admin-price-row.subtotal b { color: #51379e; }
.selling-adjustments .admin-price-row > b { color: #13735a; }
.admin-price-final { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; padding: 14px; border-radius: 12px; color: white; background: linear-gradient(135deg,#116b74,#6745cf); box-shadow: 0 9px 20px rgba(71,64,150,.18); }
.admin-price-final span { display: grid; gap: 2px; }
.admin-price-final small { font-size: 8px; font-weight: 800; letter-spacing: .08em; opacity: .78; }
.admin-price-final strong { font-size: 11px; }
.admin-price-final > b { font-size: 15px; white-space: nowrap; }
.admin-price-note { margin: 12px 0 0; color: #6e7890; font-size: 9px; line-height: 1.45; }

@media (max-width: 760px) {
  .document-toolbar { top: var(--topbar-height); overflow-x: auto; }
  .document-toolbar-group { flex: 0 0 auto; }
  .document-save-state { display: none; }
  .document-save-button { flex: 0 0 auto; }
  .document-paper { width: calc(100% - 20px); margin-top: 10px; padding: 24px 18px; }
  .document-two-column { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 470px) {
  .document-editor-panel > summary { align-items: flex-start; }
  .document-editor-panel > summary span { align-items: flex-start; flex-direction: column; }
  .document-toolbar { padding-inline: 8px; }
  .document-toolbar-group button, .document-toolbar-group a { padding-inline: 8px; }
  .document-day-editor { grid-template-columns: 44px 1fr; gap: 10px; }
  .document-day-number { width: 42px; height: 42px; border-radius: 12px; }
  .document-day-number strong { font-size: 16px; }
}

/* Reservation workflow, lead dashboard filters and direct itinerary chat */
.date-preset-tabs { display: flex; gap: 7px; overflow-x: auto; margin: 0 0 12px; padding: 4px; border: 1px solid rgba(8,127,140,.12); border-radius: 14px; background: rgba(255,255,255,.72); }
.date-preset-tabs a { flex: 0 0 auto; padding: 8px 12px; border-radius: 10px; color: var(--muted); font-size: 11px; font-weight: 800; }
.date-preset-tabs a:hover, .date-preset-tabs a.active { color: #fff; background: linear-gradient(135deg,var(--primary),#12a29e); box-shadow: 0 7px 18px rgba(8,127,140,.2); }
.lead-list-metrics { margin-bottom: 13px; }
.campaign-search { display: grid; grid-template-columns: repeat(4,minmax(160px,1fr)); gap: 9px; align-items: end; }
.campaign-search input, .campaign-search select { width: 100%; min-width: 0; }
.campaign-search label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 800; }
.lead-bulk-action { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(280px,1.25fr) auto; align-items: end; gap: 12px; margin: 10px 0; padding:12px 14px;border-top: 3px solid #2563eb; }
.lead-bulk-action h2 { margin: 2px 0 4px; font-size: 18px; }
.lead-bulk-action p { margin: 0; color: var(--muted); }
.lead-bulk-action label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 800; }
.lead-bulk-action select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.lead-bulk-action .button:disabled { cursor: not-allowed; opacity: .5; }
.lead-table-panel{overflow:hidden;padding:0;border-color:#d9e4ee;background:rgba(255,255,255,.96);box-shadow:0 9px 28px rgba(31,52,86,.055)}
.lead-table-panel .table-wrap{overflow-x:auto}.lead-table-panel table{min-width:1120px}.lead-table-panel thead{background:#f7f9fc}.lead-table-panel th{height:38px;padding:8px 10px;border-bottom:1px solid #dce5ef;color:#60728a;font-size:8px;letter-spacing:.075em}.lead-table-panel td{height:54px;padding:7px 10px;border-bottom:1px solid #e6ebf2;font-size:10.5px;line-height:1.2}.lead-table-panel td small{margin-top:3px;font-size:8.5px}.lead-table-panel tbody tr{transition:background-color .14s ease,box-shadow .14s ease}.lead-table-panel tbody tr:hover{background:#f8fbff;box-shadow:inset 3px 0 #6366f1}.lead-reference-link{font-weight:800;color:#4f46e5;white-space:nowrap}.lead-name-line{display:flex;align-items:center;gap:7px;min-width:0}.lead-name-line>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-row-new{background:linear-gradient(90deg,rgba(238,242,255,.62),rgba(255,255,255,0) 36%)}.lead-new-sticker{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;padding:3px 6px;border:1px solid #a5b4fc;border-radius:999px;color:#4338ca;background:#eef2ff;font-size:7px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 0 3px rgba(99,102,241,.06)}.lead-new-sticker::after{content:"";position:absolute;inset:-40% auto -40% -70%;width:42%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);animation:leadNewShine 2.8s ease-in-out infinite}@keyframes leadNewShine{0%,55%{left:-70%}85%,100%{left:145%}}
.lead-inline-status{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-width:238px}.lead-inline-status select{width:100%;min-width:128px;min-height:34px;padding:6px 28px 6px 9px;border:1px solid #cbd8e7;border-radius:9px;background:#fff;color:var(--ink);font-size:10px}.lead-inline-status .button.small{min-height:34px;padding:6px 9px}.lead-inline-status .lead-status-save{display:inline-flex;gap:4px;color:#3730a3;border-color:#c7d2fe;background:#eef2ff;font-weight:850}.lead-inline-status .lead-status-save:hover{color:#fff;border-color:#4f46e5;background:#4f46e5}.lead-inline-travel-date{display:block;min-width:128px}.lead-inline-travel-date input{min-height:34px;width:128px;padding:5px 7px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:9px}.lead-inline-travel-date[hidden]{display:none}.lead-row-travel-date{white-space:nowrap;color:#174f65}.lead-open-button{min-height:34px!important;padding:6px 10px!important;white-space:nowrap}.lead-mobile-card-meta{flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.lead-new-sticker::after,.app-authenticated .lead-hot-sticker{animation:none}}
.select-column { width: 44px; text-align: center; }
.select-column input { width: 18px; height: 18px; accent-color: #2563eb; cursor: pointer; }
.followup-link-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 14px 0; padding: 17px 20px; }
.followup-link-panel h2, .followup-link-panel p { margin-bottom: 2px; }
.followup-mini-metrics { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.followup-mini-metrics > span { padding: 8px 10px; border-radius: 10px; color: var(--muted); background: #f3f8f9; font-size: 10px; }
.followup-mini-metrics strong { margin-left: 5px; color: var(--ink); font-size: 14px; }
.itinerary-chat-panel { position: relative; overflow: hidden; margin-bottom: 18px; border-color: rgba(8,127,140,.18); background: radial-gradient(circle at 92% -10%,rgba(19,162,158,.16),transparent 260px),linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,251,250,.94)); }
.itinerary-chat-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.itinerary-chat-heading h2 { margin-bottom: 5px; font-size: clamp(21px,2.2vw,29px); }
.itinerary-chat-heading p { max-width: 760px; margin: 0; color: var(--muted); }
.ai-connection-status { display: flex; align-items: center; gap: 9px; margin: -4px 0 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: rgba(255,255,255,.76); font-size: 10px; }
.ai-connection-status strong { flex: 0 0 auto; color: var(--navy); }
.ai-connection-status.is-ready { border-color: rgba(19,138,91,.22); background: rgba(232,249,241,.86); }
.ai-connection-status.needs-attention { border-color: rgba(236,139,44,.28); background: rgba(255,247,235,.9); }
.chat-prompt-field label { display: block; margin-bottom: 7px; font-weight: 900; }
.chat-prompt-field textarea { width: 100%; min-height: 116px; padding: 16px; border: 1px solid #bddbdc; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: inset 0 1px 3px rgba(12,56,70,.04); resize: vertical; }
.chat-essential-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 11px; }
.chat-customer-details { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.78); }
.chat-customer-details summary { cursor: pointer; color: var(--primary-dark); font-weight: 900; }
.chat-customer-details > p { margin: 7px 0 0; }
.chat-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; }
.inline-table-form { display: inline; }
.button-link { padding: 0; border: 0; background: transparent; cursor: pointer; }
.button.danger { color: #fff; border-color: var(--red); background: var(--red); }
.button.danger:hover { background: #a92d3e; }
.delete-icon-button{display:inline-grid!important;place-items:center;width:36px!important;height:36px!important;min-height:36px!important;flex:0 0 36px;padding:0!important;border:1px solid #fecdd3!important;border-radius:10px!important;color:#be123c!important;background:#fff1f2!important;font-size:16px!important;line-height:1;text-decoration:none;cursor:pointer;box-shadow:none}.delete-icon-button:hover,.delete-icon-button:has(input:checked){border-color:#fb7185!important;color:#9f1239!important;background:#ffe4e6!important;transform:translateY(-1px)}.delete-icon-button.floating{position:absolute;z-index:3;top:12px;right:12px;background:rgba(255,241,242,.96)!important}.delete-icon-button input{position:absolute;opacity:0;pointer-events:none}.inventory-record-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.inventory-record-actions .inventory-card-link{margin-top:0}.package-list-cover{position:relative}
.danger-zone { background: linear-gradient(145deg,#fff,#fff7f8); }
.travel-pipeline { margin: 15px 0; padding: 18px; border: 1px solid rgba(8,127,140,.16); border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,250,250,.94)); box-shadow: 0 10px 26px rgba(15,51,68,.055); }
.travel-pipeline-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.travel-pipeline-heading h2 { margin: 2px 0 0; font-size: 18px; }
.pipeline-shortcuts { display: flex; flex-wrap: wrap; gap: 7px; }
.pipeline-shortcuts a { padding: 7px 10px; border-radius: 9px; color: var(--primary-dark); background: var(--primary-soft); font-size: 10px; font-weight: 800; }
.travel-pipeline-track { display: grid; grid-template-columns: repeat(8,minmax(112px,1fr)); gap: 7px; overflow-x: auto; padding-bottom: 3px; }
.pipeline-stage { --stage-color: #2563eb; min-width: 112px; min-height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 12px 10px; overflow: hidden; position: relative; border: 1px solid var(--stage-color); border-color: color-mix(in srgb,var(--stage-color) 28%,#dbe5ef); border-radius: 14px; color: var(--ink); background: #fff; background: linear-gradient(145deg,#fff,color-mix(in srgb,var(--stage-color) 9%,#fff)); transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; text-align: center; }
.pipeline-stage::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--stage-color); }
.pipeline-stage:hover { transform: translateY(-2px); border-color: var(--stage-color); box-shadow: 0 10px 22px color-mix(in srgb,var(--stage-color) 17%,transparent); }
.pipeline-stage > strong { color: var(--stage-color); color: color-mix(in srgb,var(--stage-color) 72%,#14243a); font-size: 10px; line-height: 1.25; }
.pipeline-stage > b { color: var(--stage-color); font-size: 25px; line-height: 1; }
.pipeline-stage.closed { background: linear-gradient(145deg,#fff,color-mix(in srgb,var(--stage-color) 11%,#fff)); }
.pipeline-stage.active { border-color: var(--stage-color); box-shadow: 0 10px 24px color-mix(in srgb,var(--stage-color) 22%,transparent); }

@media (max-width: 1050px) {
  .campaign-search, .chat-essential-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .followup-link-panel { align-items: flex-start; flex-direction: column; }
  .lead-bulk-action { grid-template-columns: 1fr 1fr; }
  .lead-bulk-action .button { grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 620px) {
  .campaign-search, .chat-essential-grid { grid-template-columns: 1fr; }
  .itinerary-chat-heading, .chat-submit-row { align-items: stretch; flex-direction: column; }
  .ai-connection-status { align-items: flex-start; flex-direction: column; }
  .chat-submit-row .button { width: 100%; justify-content: center; }
  .travel-pipeline-heading { align-items: flex-start; flex-direction: column; }
  .lead-bulk-action { grid-template-columns: 1fr; }
  .lead-bulk-action .button { grid-column: auto; width: 100%; }
}

/* Native-style mobile shell and pending-agent experience */
.mobile-bottom-nav { display: none; }
.wallet-hero { display:flex;align-items:center;justify-content:space-between;padding:28px;color:#fff;background:linear-gradient(135deg,#07374c,#0a8e8a 70%,#674fd8); }
.wallet-finance-grid { display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px; }
.wallet-finance-grid .wallet-hero { margin:0; }
.agent-current-plan { display:flex;flex-direction:column;justify-content:center; }
.agent-current-plan h2 { margin-bottom:4px;font-size:22px; }
.agent-current-plan>strong { color:var(--primary);font-size:24px; }
.agent-current-plan>div { display:flex;align-items:center;gap:9px;margin-top:12px; }
.agent-current-plan>div small { color:var(--muted); }
.agent-plan-card h3 { margin:16px 0 8px;color:var(--primary);font-size:25px; }
.agent-plan-card h3 small { margin-left:3px;color:var(--muted);font-size:10px;font-weight:600; }
.agent-plan-card>p { min-height:42px;color:var(--muted);font-size:11px; }
.agent-plan-card form,.agent-plan-card form .button { width:100%; }
@media(max-width:700px){.wallet-finance-grid{grid-template-columns:1fr}}
.wallet-hero small,.wallet-hero strong { display:block; }.wallet-hero strong{font-size:40px}.wallet-hero p{margin:5px 0 0;color:rgba(255,255,255,.75)}.wallet-hero>span{width:76px;height:76px;display:grid;place-items:center;border-radius:25px;background:rgba(255,255,255,.15);font-size:38px;font-weight:900}.wallet-balance-pill{padding:12px 17px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#096b73,#684ed8)}.wallet-balance-pill small,.wallet-balance-pill strong{display:block}.wallet-balance-pill strong{font-size:20px}.booking-builder-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:20px}.payment-readiness{align-self:start}.success-text{color:var(--green)}

/* Agent self-service billing and TJP finance console. */
.wallet-recharge-card{display:flex;flex-direction:column;justify-content:center;gap:10px}.wallet-recharge-card h2{margin:0}.wallet-quick-amounts{display:flex;flex-wrap:wrap;gap:7px}.wallet-quick-amounts button{padding:7px 10px;border:1px solid #b9ddd8;border-radius:99px;color:#08766e;background:#eefbf9;font-size:11px;font-weight:850;cursor:pointer}.wallet-recharge-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px}.wallet-recharge-form label,.wallet-recharge-form label small{display:block}.wallet-recharge-form label small{margin-top:4px;color:var(--muted);font-size:9px}.wallet-recharge-form input{width:100%}.wallet-plan-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(240px,.55fr);align-items:center;gap:22px;margin-bottom:16px}.wallet-plan-summary h2{margin:3px 0}.wallet-plan-summary p{margin:0;color:var(--muted)}.wallet-plan-price{display:grid;justify-items:end;gap:5px}.wallet-plan-price>strong{font-size:27px}.wallet-plan-price>strong small{font-size:10px}.wallet-renew-form{padding-left:20px;border-left:1px solid var(--line)}.wallet-renew-form label{display:flex;align-items:center;gap:7px;font-weight:800}.wallet-renew-form>small{display:block;margin:5px 0 10px;color:var(--muted)}.agent-plan-card.current{border-color:#45cdbb;box-shadow:0 10px 24px rgba(14,145,130,.1)}.plan-feature-list{display:grid;gap:6px;margin:12px 0;padding:0;list-style:none}.plan-feature-list li{position:relative;padding-left:18px;color:var(--muted);font-size:11px}.plan-feature-list li:before{content:'✓';position:absolute;left:0;color:#05a88e;font-weight:950}.agent-payment-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.agent-payment-card>div:first-child{display:flex;align-items:center;gap:12px}.agent-payment-card h2{margin:2px 0}.agent-payment-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.agent-payment-card dl div{padding:10px;border-radius:12px;background:var(--surface-muted,#f4f8fa)}.agent-payment-card dt{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.agent-payment-card dd{margin:3px 0 0;font-weight:850}.table-action-details{min-width:190px}.table-action-details summary{color:var(--primary);font-weight:850;cursor:pointer}.table-action-details form{display:grid;gap:6px;margin-top:8px}.table-action-details input,.table-action-details select{min-width:180px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
@media(max-width:1000px){.wallet-plan-summary{grid-template-columns:1fr 1fr}.wallet-renew-form{grid-column:1/-1;padding:15px 0 0;border-left:0;border-top:1px solid var(--line)}.agent-payment-card-grid{grid-template-columns:1fr}}
@media(max-width:700px){.wallet-recharge-form,.wallet-plan-summary{grid-template-columns:1fr}.wallet-plan-price{justify-items:start}.agent-payment-card dl{grid-template-columns:1fr 1fr}}
.pending-agent-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 20px; align-items: center; margin-bottom: 18px; padding: clamp(24px,4vw,42px); border: 1px solid rgba(79,70,229,.16); border-radius: 26px; background: radial-gradient(circle at 90% 0,rgba(249,115,22,.17),transparent 260px),linear-gradient(145deg,#ffffff,#eef2ff); box-shadow: var(--shadow-glass); }
.pending-agent-hero h1 { font-size: clamp(28px,4vw,45px); }
.pending-agent-hero p { max-width: 760px; margin: 0; color: var(--muted); }
.pending-agent-orb { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 24px; color: #fff; background: linear-gradient(145deg,#2563eb,#7c3aed); box-shadow: 0 14px 32px rgba(79,70,229,.26); font-size: 22px; font-weight: 950; }
.pending-agent-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-bottom: 16px; }
.pending-step-card { position: relative; padding-top: 54px; }
.pending-step-card .step-number { position: absolute; top: 16px; left: 18px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: #94a3b8; font-weight: 900; }
.pending-step-card .step-number.done { background: var(--green); }
.pending-unlock-panel { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.pending-unlock-panel > div:first-child { margin-right: auto; }
.unlock-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.unlock-chips span { padding: 8px 11px; border-radius: 99px; color: #1d4ed8; background: #eaf1ff; font-size: 11px; font-weight: 800; }

@media (max-width: 860px) {
  .mobile-bottom-nav { position: fixed; z-index: 55; inset: auto 8px max(8px,env(safe-area-inset-bottom)) 8px; min-height: 68px; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: stretch; padding: 7px; border: 1px solid rgba(203,213,225,.78); border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: 0 18px 50px rgba(23,36,60,.2); backdrop-filter: blur(18px); }
  .mobile-bottom-nav a, .mobile-bottom-nav button { min-width: 0; min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 5px; border: 0; border-radius: 14px; color: #64748b; background: transparent; cursor: pointer; }
  .mobile-bottom-nav form { margin: 0; }
  .mobile-bottom-nav form button { width: 100%; }
  .mobile-bottom-nav a > span, .mobile-bottom-nav button > span { font-size: 20px; line-height: 1; }
  .mobile-bottom-nav small { font-size: 9px; font-weight: 850; }
  .mobile-bottom-nav a.active { color: #fff; background: linear-gradient(145deg,#2563eb,#7c3aed); box-shadow: 0 8px 18px rgba(79,70,229,.25); }
  .content { padding-bottom: 105px; }
  .pending-agent-grid { grid-template-columns: 1fr; }
  .pending-agent-hero { grid-template-columns: auto 1fr; border-radius: 22px; }
  .pending-agent-hero > .badge { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 620px) {
  body.app-authenticated { background: #f2f5fb; }
  .topbar { height: 62px; border-bottom: 0; background: rgba(255,255,255,.96); box-shadow: 0 5px 18px rgba(30,41,59,.07); }
  .topbar .global-search { display: none; }
  .topbar-actions { margin-left: auto; }
  .content { padding: 13px 10px 104px; }
  .breadcrumbs { display: none; }
  .panel, .dashboard-filters, .travel-pipeline, .form-card { border-radius: 20px; box-shadow: 0 8px 24px rgba(30,41,59,.065); }
  .dashboard-heading, .page-heading { margin-top: 8px; padding: 8px 4px; }
  .pending-agent-hero { grid-template-columns: 1fr; gap: 12px; padding: 22px 18px; }
  .pending-agent-orb { width: 58px; height: 58px; border-radius: 18px; font-size: 17px; }
  .pending-unlock-panel { align-items: stretch; flex-direction: column; }
  .pending-unlock-panel form, .pending-unlock-panel .button { width: 100%; }
}

/* Mobile application shell v2 */
.mobile-topbar-brand,
.sidebar-mobile-close { display: none; }
.sidebar-footer { display: block; }
.sidebar-account { min-width: 0; display: flex; align-items: center; gap: 10px; }
.sidebar-account > span:last-child { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.sidebar-account strong { overflow: hidden; color: #31405a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-logout-form { margin: 10px 0 0; }
.sidebar-logout-button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #f0c9d0;
  border-radius: 10px;
  color: #b52e45;
  background: #fff3f5;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}
.sidebar-logout-button:hover { color: #fff; border-color: var(--red); background: var(--red); }
.app-shell.sidebar-collapsed .sidebar-account > span:last-child,
.app-shell.sidebar-collapsed .sidebar-logout-button > span:last-child { display: none; }
.app-shell.sidebar-collapsed .sidebar-footer { padding-inline: 8px; }
.app-shell.sidebar-collapsed .sidebar-account { justify-content: center; }
.app-shell.sidebar-collapsed .sidebar-logout-button { padding-inline: 0; }
.login-legal-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line-soft); font-size: 11px; font-weight: 750; }

@media (max-width: 860px) {
  html,
  body { width: 100%; max-width: 100%; overflow-x: visible; }
  @supports (overflow: clip) {
    html,
    body { overflow-x: clip; }
  }
  html.app-root-authenticated,
  html.app-root-authenticated body {
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
  }
  html.app-root-authenticated .app-shell {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }
  html.app-root-authenticated .workspace,
  html.app-root-authenticated .app-shell.sidebar-collapsed .workspace {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    margin-left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: auto;
  }
  @supports (overflow: clip) {
    html.app-root-authenticated .workspace,
    html.app-root-authenticated .app-shell.sidebar-collapsed .workspace {
      overflow-x: clip;
    }
  }
  .app-shell,
  .workspace,
  .content,
  .content > * { min-width: 0; max-width: 100%; }

  .sidebar,
  .app-shell.sidebar-collapsed .sidebar {
    /* Tailwind is loaded after this stylesheet and includes `.z-50` on the
       drawer. `!important` keeps the drawer above its dark click-catcher. */
    z-index: 90 !important;
    width: min(330px, calc(100vw - 34px));
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    display: block;
    visibility: hidden;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    border-radius: 0 24px 24px 0;
    box-shadow: 22px 0 55px rgba(30, 41, 59, .23);
    transform: translate3d(-106%, 0, 0);
    transition: transform .22s ease, visibility .22s ease;
    will-change: transform;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
  .app-shell.sidebar-collapsed .nav-group > summary { display: flex; }
  .app-shell.sidebar-collapsed .nav-group a > span:last-child,
  .app-shell.sidebar-collapsed .sidebar-account > span:last-child,
  .app-shell.sidebar-collapsed .sidebar-logout-button > span:last-child { display: flex; }
  .app-shell.mobile-nav-open .sidebar {
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
  }
  .app-shell.mobile-nav-open .sidebar-overlay {
    z-index: 80 !important;
    background: rgba(15, 23, 42, .52);
    backdrop-filter: blur(2px);
    touch-action: none;
  }
  .sidebar-brand {
    position: sticky;
    z-index: 3;
    top: 0;
    min-height: calc(70px + env(safe-area-inset-top));
    padding: max(12px, env(safe-area-inset-top)) 12px 12px 16px;
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(16px);
  }
  .sidebar-mobile-close {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #34415a;
    font-size: 24px;
  }
  .sidebar-nav {
    min-height: auto;
    display: block;
    overflow: visible;
    padding: 10px 11px 4px;
    overscroll-behavior: auto;
    touch-action: pan-y;
  }
  .nav-link,
  .nav-group a,
  .nav-group button { min-height: 48px; border-radius: 13px; }
  .nav-group summary { min-height: 42px; align-items: center; }
  .sidebar-footer {
    margin: 8px 11px max(10px, env(safe-area-inset-bottom));
    padding: 11px;
    border-radius: 17px;
  }
  .sidebar-account .avatar { width: 36px; height: 36px; flex-basis: 36px; }
  .sidebar-logout-button { min-height: 46px; border-radius: 13px; font-size: 12px; }

  .topbar {
    z-index: 60;
    padding-right: max(12px, env(safe-area-inset-right));
    padding-left: max(12px, env(safe-area-inset-left));
  }
  .mobile-menu { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 14px; font-size: 20px; }
  .mobile-menu span { line-height: 1; }

  .mobile-bottom-nav {
    position: fixed !important;
    z-index: 85;
    inset: auto 0 0 0;
    min-height: calc(68px + env(safe-area-inset-bottom));
    display: grid !important;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    padding: 7px max(7px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(7px, env(safe-area-inset-left));
    border: 0;
    border-top: 1px solid rgba(203, 213, 225, .84);
    border-radius: 22px 22px 0 0;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -12px 34px rgba(30, 41, 59, .12);
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto;
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    position: relative;
    min-height: 54px;
    gap: 3px;
    border-radius: 15px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .mobile-bottom-nav a > span,
  .mobile-bottom-nav button > span {
    width: 31px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #52627d;
    background: #f1f5fb;
    font-size: 17px;
  }
  .mobile-bottom-nav small { max-width: 100%; overflow: hidden; font-size: 10px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-bottom-nav a.active { color: #315ee5; background: #edf3ff; box-shadow: none; }
  .mobile-bottom-nav a.active > span { color: #fff; background: linear-gradient(145deg, #2563eb, #7c3aed); box-shadow: 0 7px 16px rgba(79, 70, 229, .24); }
  .mobile-bottom-nav .mobile-nav-logout { min-width: 0; display: block; }
  .mobile-bottom-nav .mobile-nav-logout button { height: 100%; color: #bd334a; }
  .mobile-bottom-nav .mobile-nav-logout button > span { color: #bd334a; background: #fff0f3; }

  .content { padding-bottom: calc(108px + env(safe-area-inset-bottom)); }
  .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .table-wrap table:not(.responsive-table) { min-width: 620px; }
  .pipeline,
  .period-tabs,
  .quick-actions,
  .document-toolbar,
  .wizard-progress { overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .page-heading-actions,
  .heading-actions,
  .form-actions,
  .inline-actions { max-width: 100%; }
}

@media (max-width: 620px) {
  :root { --topbar-height: 64px; }
  .topbar {
    min-height: calc(64px + env(safe-area-inset-top));
    height: calc(64px + env(safe-area-inset-top));
    gap: 8px;
    padding-top: env(safe-area-inset-top);
    border-bottom: 1px solid rgba(219, 226, 241, .82);
  }
  .mobile-topbar-brand { min-width: 0; display: flex; flex: 1; align-items: center; gap: 8px; }
  .mobile-brand-mark {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(145deg, #7c3aed, #2563eb 58%, #0ea5a4);
    box-shadow: 0 7px 16px rgba(66, 83, 218, .22);
    font-size: 9px;
    font-weight: 950;
  }
  .mobile-brand-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
  .mobile-brand-copy strong { overflow: hidden; color: #1f2a44; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-brand-copy small { overflow: hidden; color: #76839a; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-actions { flex: 0 0 auto; gap: 5px; }
  .topbar-actions .quick-create { width: 39px; min-width: 39px; height: 39px; padding: 0; border-radius: 13px; }
  .topbar-actions > details.dropdown:not(.profile-dropdown) > summary.icon-button { width: 39px; height: 39px; border-radius: 13px; }
  .profile-dropdown { display: block; }
  .profile-trigger { width: 40px; min-width: 40px; height: 40px; padding: 0; border: 1px solid #dce4f2; border-radius: 13px; background: #fff; }
  .profile-trigger .avatar { width: 34px; height: 34px; flex-basis: 34px; margin: auto; border-radius: 11px; }
  .profile-trigger > span:last-child { display: none; }
  .profile-dropdown .dropdown-menu { position: fixed; top: calc(61px + env(safe-area-inset-top)); right: 10px; left: auto; width: min(280px, calc(100vw - 20px)); }
  .profile-logout-form button { color: #b52e45; background: #fff3f5; }

  .content { padding: 14px 12px calc(92px + env(safe-area-inset-bottom)); }
  .content > .notice { margin-inline: 0; }
  .dashboard-heading,
  .page-heading,
  .workspace-heading { gap: 12px; margin-bottom: 12px; padding: 4px 2px; }
  .dashboard-heading h1,
  .page-heading h1,
  .workspace-heading h1 { font-size: clamp(24px, 8vw, 31px); }
  .page-heading-actions,
  .heading-actions { width: 100%; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; scrollbar-width: none; }
  .page-heading-actions::-webkit-scrollbar,
  .heading-actions::-webkit-scrollbar { display: none; }
  .page-heading-actions > *,
  .heading-actions > * { flex: 0 0 auto; }
  .panel,
  .dashboard-filters,
  .travel-pipeline,
  .form-card { padding: 16px; border-radius: 18px; }
  .panel-heading { align-items: flex-start; gap: 10px; }
  .panel-heading h2 { font-size: 17px; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .kpi-card { min-height: 118px; padding: 12px; border-radius: 17px; }
  .kpi-copy > span { min-height: 32px; font-size: 10px; }
  .kpi-copy strong { font-size: 19px; }
  .form-grid,
  .builder-form-grid,
  .report-filter-panel .form-grid { gap: 12px; }
  .app-authenticated input:not([type="checkbox"]):not([type="radio"]),
  .app-authenticated select,
  .app-authenticated textarea { max-width: 100%; min-height: 46px; font-size: 16px; }
  .button,
  .table-action { min-height: 44px; }
  .form-actions { width: 100%; align-items: stretch; }
  .form-actions .button { flex: 1 1 auto; justify-content: center; }
  .dashboard-filters { overflow: hidden; }
  .period-tabs { width: calc(100% + 8px); margin-right: -8px; padding-right: 8px; flex-wrap: nowrap; }
  .filter-primary { gap: 9px; }
  .filter-primary > label { width: 100%; }
  .filter-primary .button { min-height: 46px; }
  .mini-stat-row,
  .call-stats { gap: 7px; }
  .mini-stat-row span,
  .call-stats span { min-width: 0; padding: 9px; }
  .responsive-table tbody { gap: 10px; padding: 0; }
  .responsive-table tr { border-radius: 16px; box-shadow: 0 6px 18px rgba(30, 41, 59, .05); }
  .responsive-table td { grid-template-columns: minmax(92px, 40%) minmax(0, 1fr); overflow-wrap: anywhere; }
  .notice,
  .alert { padding: 12px; }

  .public-header { min-height: 64px; align-items: center; flex-direction: row; padding: 10px 16px; }
  .public-header .public-links { display: none; }
  .standalone { min-height: calc(100svh - 64px); }
  .login-wrap { min-height: calc(100svh - 64px); gap: 13px; padding: 18px 12px 28px; }
  .login-copy .brand { display: none; }
  .login-copy .eyebrow { margin-bottom: 7px; }
  .login-copy h1 { margin: 0 0 8px; font-size: clamp(30px, 10vw, 39px); }
  .login-copy > p:last-of-type { margin-bottom: 12px; font-size: 14px; }
  .login-feature-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
  .login-feature-chips span { display: grid; place-items: center; min-height: 38px; padding: 7px; text-align: center; }
  .login-card { padding: 23px 19px; border-radius: 22px; }
  .login-card h2 { font-size: 23px; }
  .login-card .stack input { min-height: 51px; font-size: 16px; }
  .login-card .stack .button { width: 100%; min-height: 50px; justify-content: center; }
}

@media (max-width: 390px) {
  .mobile-brand-mark { display: none; }
  .topbar-actions .quick-create { display: none; }
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-bottom-nav small { font-size: 9px; }
}

@media (max-width: 340px) {
  .mobile-brand-copy { display: none; }
  .kpi-grid { grid-template-columns: 1fr; }
  .mobile-bottom-nav a > span,
  .mobile-bottom-nav button > span { width: 27px; }
}

/* Installed-app footer fallback. Android WebView/TWA display modes can report a
   desktop-like viewport even on a phone, so JavaScript marks app-like sessions
   and this final rule wins over every earlier layout declaration. */
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav {
  position: fixed !important;
  z-index: 2147483000 !important;
  inset: auto 0 0 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: calc(68px + env(safe-area-inset-bottom)) !important;
  height: auto !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  padding: 7px max(7px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(7px, env(safe-area-inset-left)) !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid rgba(203, 213, 225, .9) !important;
  border-radius: 22px 22px 0 0 !important;
  background: rgba(255, 255, 255, .99) !important;
  box-shadow: 0 -12px 34px rgba(30, 41, 59, .16) !important;
  visibility: visible !important;
  opacity: 1 !important;
  clip-path: none !important;
  transform: translate3d(0, 0, 0) !important;
  pointer-events: auto !important;
  contain: layout paint !important;
  isolation: isolate !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav a,
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav button {
  position: relative !important;
  min-width: 0 !important;
  min-height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #64748b !important;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav form {
  min-width: 0 !important;
  margin: 0 !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav form button {
  width: 100% !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav a > span,
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav button > span {
  width: 31px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  color: #52627d !important;
  background: #f1f5fb !important;
  font-size: 17px !important;
  line-height: 1 !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav small {
  max-width: 100% !important;
  overflow: hidden !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav a.active {
  color: #315ee5 !important;
  background: #edf3ff !important;
  box-shadow: none !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav a.active > span {
  color: #fff !important;
  background: linear-gradient(145deg, #2563eb, #7c3aed) !important;
  box-shadow: 0 7px 16px rgba(79, 70, 229, .24) !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav .mobile-nav-logout {
  min-width: 0 !important;
  display: block !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav .mobile-nav-logout button {
  height: 100% !important;
  color: #bd334a !important;
}
html.app-root-authenticated.mobile-footer-enabled .mobile-bottom-nav .mobile-nav-logout button > span {
  color: #bd334a !important;
  background: #fff0f3 !important;
}
html.app-root-authenticated.mobile-footer-enabled .content {
  padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
}

/* Persist the five primary CRM actions above every mobile workspace page.
   This is last deliberately so tables, drawers and module-specific layouts
   cannot cover or reposition the footer. */
@media (max-width: 860px) {
  html.app-root-authenticated .mobile-bottom-nav {
    position: fixed !important;
    z-index: 2147483000 !important;
    inset: auto 0 0 0 !important;
    width: 100vw !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    padding-bottom: max(7px, env(safe-area-inset-bottom)) !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateZ(0) !important;
  }
  html.app-root-authenticated .workspace,
  html.app-root-authenticated .content {
    padding-bottom: calc(112px + env(safe-area-inset-bottom)) !important;
  }
}

/* Desktop never receives the phone dock. The :not guard preserves it for an
   installed Android app whose WebView reports a desktop-sized viewport. */
@media (min-width: 861px) {
  html.app-root-authenticated:not(.mobile-footer-enabled) .mobile-bottom-nav {
    display: none !important;
  }
}

.dashboard-deferred-shell {
  min-height: 220px;
  margin-top: 18px;
}
.dashboard-deferred-skeleton {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.dashboard-deferred-skeleton span {
  min-height: 180px;
  border: 1px solid rgba(211, 221, 235, .9);
  border-radius: 22px;
  background: linear-gradient(100deg, #fff 20%, #f4f7fb 42%, #fff 64%);
  background-size: 220% 100%;
  box-shadow: 0 10px 30px rgba(30, 41, 59, .055);
  animation: dashboard-skeleton 1.25s ease-in-out infinite;
}
.dashboard-deferred-error {
  padding: 22px;
  border: 1px solid #fed7aa;
  border-radius: 20px;
  color: #9a3412;
  background: #fff7ed;
}
@keyframes dashboard-skeleton {
  to { background-position-x: -220%; }
}
@media (max-width: 620px) {
  .dashboard-deferred-shell { min-height: 170px; margin-top: 12px; }
  .dashboard-deferred-skeleton { grid-template-columns: 1fr; gap: 10px; }
  .dashboard-deferred-skeleton span { min-height: 132px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-deferred-skeleton span { animation: none; }
}
/* Assigned-lead calling workspace */
.lead-workspace-open { overflow:hidden; }
.lead-workspace-overlay { position:fixed;inset:0;z-index:1200;background:rgba(8,25,39,.47);backdrop-filter:blur(3px); }
.lead-workspace-drawer { position:fixed;z-index:1201;inset:0 0 0 auto;width:min(820px,72vw);display:flex;flex-direction:column;overflow:hidden;background:#f8fcfd;box-shadow:-24px 0 70px rgba(8,31,49,.24);animation:leadDrawerIn .2s ease-out; }
@keyframes leadDrawerIn { from { transform:translateX(35px);opacity:.4; } to { transform:translateX(0);opacity:1; } }
.lead-workspace-header { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px 17px;border-bottom:1px solid #d9e7ec;background:linear-gradient(135deg,#f6fffd,#f5f8ff); }
.lead-workspace-header h2 { margin:4px 0 3px;font-size:29px;line-height:1.08;color:#082f35; }
.lead-workspace-header p { margin:0;color:#466875; }
.lead-workspace-close { flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#183442;background:#eaf1f4;font-size:27px;line-height:1; }
.lead-contact-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 28px;background:#fff; }
.lead-contact-actions .button { min-height:48px;justify-content:center;font-size:16px; }
.lead-call-button { color:#fff;border-color:#1475de;background:linear-gradient(135deg,#147ce5,#0568d4);box-shadow:0 9px 22px rgba(5,104,212,.2); }
.lead-contact-actions .notice { grid-column:1/-1;margin:0; }
.lead-workspace-tabs { display:flex;gap:5px;overflow-x:auto;padding:8px 28px 0;border-bottom:1px solid #d7e5ea;background:#fff;scrollbar-width:thin; }
.lead-workspace-tabs button { flex:0 0 auto;padding:10px 11px;border:0;border-bottom:3px solid transparent;color:#58717c;background:transparent;font-weight:800;cursor:pointer; }
.lead-workspace-tabs button:hover,.lead-workspace-tabs button.active { color:#087f8c;border-bottom-color:#087f8c; }
.lead-workspace-tabs span { display:inline-grid;min-width:19px;height:19px;place-items:center;margin-left:3px;padding:0 5px;border-radius:10px;background:#eaf3f6;font-size:10px; }
.lead-workspace-body { flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px 28px 110px; }
.lead-tab-panel { display:none; }
.lead-tab-panel.active { display:block;animation:leadTabIn .14s ease-out; }
@keyframes leadTabIn { from { opacity:.25;transform:translateY(4px); } to { opacity:1;transform:none; } }
.lead-detail-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.lead-detail-cards article { padding:15px;border:1px solid #d7e6eb;border-radius:14px;background:#fff; }
.lead-detail-cards span,.lead-drawer-status label>span { display:block;margin-bottom:6px;color:#647b86;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em; }
.lead-detail-cards strong { display:block;overflow-wrap:anywhere;color:#0b343b; }
.lead-simple-update { display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:18px;margin-bottom:18px;padding:18px;border:1px solid #cbdff0;border-radius:18px;background:linear-gradient(135deg,#effaff,#f5f1ff);box-shadow:0 10px 28px rgba(45,72,120,.07); }
.lead-simple-update h3,.lead-recent-remarks h3 { margin:3px 0 5px;color:#17384b; }
.lead-simple-update p { margin:0;color:#65798a;font-size:11px;line-height:1.45; }
.lead-simple-update form { display:grid;grid-template-columns:minmax(150px,.65fr) minmax(150px,.65fr) minmax(210px,1.3fr) auto;align-items:end;gap:10px; }
.lead-simple-update label { display:grid;gap:6px;color:#30495c;font-size:10px;font-weight:850; }
.lead-simple-update [data-interest-date-field][hidden]{display:none}
.lead-simple-update select,.lead-simple-update textarea { width:100%;min-height:44px;border:1px solid #c8d9e6;border-radius:11px;background:#fff;padding:9px 10px; }
.lead-simple-update textarea { min-height:68px;resize:vertical; }
.lead-simple-update .button { min-height:44px;justify-content:center; }

/* Pro mobile-first next-call planner */
.call-schedule-card{overflow:hidden;margin-bottom:16px;border:1px solid #cbd9ec;border-radius:20px;background:linear-gradient(145deg,#fff 20%,#f5f7ff 68%,#eefbf9);box-shadow:0 14px 36px rgba(39,56,105,.09)}
.call-schedule-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 18px 13px;border-bottom:1px solid #dce5f1}.call-schedule-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#4f46e5,#7c3aed);font-size:19px;box-shadow:0 9px 22px rgba(79,70,229,.22)}.call-schedule-header h3{margin:2px 0 3px;color:#152a45;font-size:18px}.call-schedule-header p{margin:0;color:#677990;font-size:10px;line-height:1.45}.call-schedule-assignee{min-width:130px;padding:8px 10px;border:1px solid #d5dcef;border-radius:12px;background:rgba(255,255,255,.75)}.call-schedule-assignee small,.call-schedule-assignee strong{display:block}.call-schedule-assignee small{margin-bottom:2px;color:#7a879b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.call-schedule-assignee strong{overflow:hidden;color:#334155;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.call-schedule-form{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(250px,1.2fr) auto;align-items:end;gap:11px;padding:14px 18px 17px}.call-schedule-form label{display:grid;gap:6px;color:#35475f;font-size:9px;font-weight:900;letter-spacing:.02em}.call-schedule-control{position:relative;display:block;cursor:pointer}.call-schedule-control input,.call-schedule-note textarea{width:100%;border:1px solid #c9d6e8;border-radius:12px;color:#17263d;background:#fff;box-shadow:0 3px 10px rgba(50,65,98,.035);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.call-schedule-control input{min-height:47px;padding:10px 42px 10px 12px;cursor:pointer}.call-schedule-control i{position:absolute;top:50%;right:12px;display:grid;width:26px;height:26px;place-items:center;transform:translateY(-50%);border-radius:8px;color:#4f46e5;background:#eef2ff;font-style:normal;pointer-events:none}.call-schedule-control input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.call-schedule-note textarea{min-height:47px;max-height:92px;padding:9px 11px;resize:vertical}.call-schedule-control input:focus,.call-schedule-note textarea:focus{border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.call-schedule-actions{display:grid;gap:6px}.call-schedule-actions>.button{min-height:47px;gap:6px;justify-content:center;white-space:nowrap}.call-alert-enable{display:flex;align-items:center;gap:7px;padding:5px 8px;border:0;border-radius:9px;color:#4f46e5;background:transparent;cursor:pointer;text-align:left}.call-alert-enable>span:first-child{font-size:14px}.call-alert-enable strong,.call-alert-enable small{display:block}.call-alert-enable strong{font-size:8.5px}.call-alert-enable small{color:#7b86a0;font-size:7.5px}.call-alert-enable.enabled{color:#047857;background:#ecfdf5}.scheduled-call-list{padding-top:2px}.scheduled-call-list>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px;padding:0 2px}.scheduled-call-list h3{margin:2px 0 0;color:#24364d;font-size:15px}.scheduled-call-list>header>span{padding:5px 8px;border-radius:999px;color:#4f46e5;background:#eef2ff;font-size:8px;font-weight:850}.scheduled-call-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center!important;gap:11px!important}.scheduled-call-date{display:grid;width:42px;height:42px;place-items:center;border:1px solid #c7d2fe;border-radius:12px;color:#4338ca;background:#eef2ff;line-height:1}.scheduled-call-date b{font-size:16px}.scheduled-call-date small{margin:0!important;color:#6366f1!important;font-size:7px!important;text-transform:uppercase}.call-empty-icon{display:grid;width:42px;height:42px;place-items:center;margin:0 auto 8px;border-radius:14px;color:#6366f1;background:#eef2ff;font-size:18px}

/* Quotation coupons and destination add-ons */
.coupon-rule-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px; }
.coupon-rule-card { display:grid;gap:12px;padding:20px;border:1px solid #d7e4ec;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(31,64,94,.07); }
.coupon-rule-card.inactive { opacity:.68; }
.coupon-rule-card header { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.coupon-rule-card header span { padding:7px 11px;border-radius:9px;background:#ede9fe;color:#5b21b6;font-weight:900;letter-spacing:.08em; }
.coupon-rule-card header b { color:#07845f;font-size:11px;text-transform:uppercase; }
.coupon-rule-card h2,.coupon-rule-card>strong { margin:0; }
.coupon-rule-card>strong { color:#0b7a75;font-size:20px; }
.coupon-rule-card dl { display:grid;gap:8px;margin:0; }
.coupon-rule-card dl div { display:flex;justify-content:space-between;gap:14px;border-top:1px solid #edf2f6;padding-top:8px; }
.coupon-rule-card dt { color:#6b7f8b; }
.coupon-rule-card dd { margin:0;text-align:right;font-weight:750; }
.coupon-rule-form { max-width:980px;padding:22px; }
.coupon-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.coupon-form-grid .span-all { grid-column:1/-1; }
.coupon-choice-field ul { display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none; }
.coupon-choice-field li label { display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #d5e2ea;border-radius:10px;background:#f8fbfd; }
.coupon-apply-form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:12px 0; }
.coupon-apply-form input { width:100%;min-height:44px;text-transform:uppercase;letter-spacing:.06em; }
.coupon-applied { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px;border-radius:12px;background:#ecfdf5;color:#067557; }
.coupon-applied span { display:grid; }
.coupon-applied small { color:#4a806e; }
.volvo-sightseeing-picker { border:1px solid #f2c46d;background:#fffaf0; }
.volvo-sightseeing-picker[hidden] { display:none !important; }
.lead-recent-remarks { margin-top:18px;padding-top:17px;border-top:1px solid #dbe7ec; }
.lead-drawer-status { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;padding:16px;border:1px solid #cfe2e8;border-radius:16px;background:#fff; }
.lead-drawer-status label,.lead-followup-form label,.lead-note-form label { display:grid;gap:7px;color:#173943;font-weight:800; }
.lead-workspace-list { display:grid;gap:10px;margin-top:15px; }
.lead-workspace-list article { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 15px;border:1px solid #d9e7eb;border-radius:14px;background:#fff; }
.lead-workspace-list strong,.lead-workspace-list small { display:block; }
.lead-workspace-list small { margin-top:5px;color:#6c818a; }
.lead-workspace-list p { margin:7px 0 0;color:#466570; }
.lead-followup-form,.lead-note-form { display:grid;gap:13px;padding:17px;border:1px solid #cfe2e8;border-radius:17px;background:#fff; }
.followup-quick-row { display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #e2ecef; }
.followup-quick-row span { color:#617984;font-size:12px; }
.lead-chat-thread { display:flex;flex-direction:column;gap:9px;max-height:54vh;overflow-y:auto;padding:14px;border:1px solid #d8e5e9;border-radius:17px;background:linear-gradient(145deg,#eef6f5,#f6f7fb); }
.lead-chat-message { align-self:flex-start;max-width:82%;padding:11px 13px;border-radius:4px 15px 15px;background:#fff;box-shadow:0 3px 11px rgba(16,48,62,.07); }
.lead-chat-message.outbound { align-self:flex-end;border-radius:15px 4px 15px 15px;background:#d9f8e8; }
.lead-chat-message small { display:block;margin-top:6px;color:#617a83;font-size:9px; }
.lead-chat-composer { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px; }
.lead-chat-composer textarea { min-height:76px;resize:vertical; }
.lead-open-button { white-space:nowrap; }

@media (max-width:860px) {
  .lead-workspace-drawer { width:100vw; }
  .lead-workspace-header { padding:18px 17px 13px; }
  .lead-workspace-header h2 { font-size:24px; }
  .lead-contact-actions { padding:11px 16px; }
  .lead-workspace-tabs { padding-left:14px;padding-right:14px; }
  .lead-workspace-body { padding:16px 15px calc(110px + env(safe-area-inset-bottom)); }
  .lead-detail-cards { grid-template-columns:1fr 1fr;gap:8px; }
  .lead-detail-cards article { padding:12px; }
  .lead-drawer-status,.lead-chat-composer { grid-template-columns:1fr; }
  .lead-chat-message { max-width:91%; }
  .followup-quick-row { align-items:flex-start;flex-direction:column; }
  .call-schedule-card{margin-bottom:11px;border-radius:17px;box-shadow:0 8px 24px rgba(39,56,105,.07)}
  .call-schedule-header{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:13px 12px 11px}.call-schedule-icon{width:39px;height:39px;border-radius:12px;font-size:16px}.call-schedule-header h3{font-size:16px}.call-schedule-header p{font-size:9px}.call-schedule-assignee{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-width:0;padding:7px 9px}.call-schedule-assignee small{margin:0}.call-schedule-form{grid-template-columns:1fr;gap:9px;padding:11px 12px 13px}.call-schedule-control input{min-height:50px;font-size:16px}.call-schedule-note textarea{min-height:58px;font-size:16px}.call-schedule-actions{grid-template-columns:1fr auto;align-items:center}.call-schedule-actions>.button{min-height:48px}.call-alert-enable{min-height:45px;padding:6px 9px;border:1px solid #dbe3f2;background:#fff}.call-alert-enable small{display:none}.scheduled-call-item{padding:10px!important}.scheduled-call-item .button{padding:6px 8px}
}

/* Mobile lead calling workspace — compact, touch-first and app-like. */
.lead-mobile-commandbar,.lead-mobile-list,.lead-mobile-workspace-tabs,.lead-mobile-more-tabs { display:none; }
.phone-alert-toggle { display:flex;width:100%;align-items:center;gap:9px;padding:10px;border:1px solid #dce6f1;border-radius:12px;color:#26364e;background:#f7faff;text-align:left;cursor:pointer; }
.phone-alert-toggle > span:first-child { display:grid;width:30px;height:30px;place-items:center;border-radius:10px;color:#6355dc;background:#eceaff; }
.phone-alert-toggle strong,.phone-alert-toggle small { display:block; }.phone-alert-toggle small { margin-top:2px;color:#748197;font-size:9px; }.phone-alert-toggle.enabled { border-color:#afe8d1;background:#effcf6; }.phone-alert-toggle.enabled > span:first-child { color:#07895a;background:#d9f8e9; }

@media (max-width:760px) {
  .lead-mobile-page { --lead-ink:#17223b;--lead-muted:#68758d;--lead-blue:#3478f6;--lead-purple:#7455ee;--lead-green:#14b86f;--lead-orange:#ff8a34;color:var(--lead-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",system-ui,sans-serif; }
  .lead-mobile-page .page-heading { align-items:center;margin:0 0 10px;padding:2px 1px; }
  .lead-mobile-page .page-heading .eyebrow { margin-bottom:3px;font-size:10px;letter-spacing:.13em;color:#5b5bd6; }
  .lead-mobile-page .page-heading h1 { margin:0;font-size:27px;letter-spacing:-.04em; }
  .lead-mobile-page .page-heading p:not(.eyebrow),.lead-mobile-page .page-heading .heading-actions { display:none; }
  .lead-mobile-commandbar { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px; }
  .lead-mobile-command { position:relative;display:grid;justify-items:center;gap:4px;min-width:0;padding:9px 3px 8px;border:1px solid #e2e8f4;border-radius:15px;color:#33415d;background:rgba(255,255,255,.88);box-shadow:0 5px 16px rgba(41,54,89,.06);font-size:10px; }
  .lead-mobile-command span { display:grid;width:29px;height:29px;place-items:center;border-radius:10px;color:#3175e8;background:#eaf3ff;font-size:16px;font-weight:800; }
  .lead-mobile-command:nth-child(2) span { color:#0b9f67;background:#e7fbf2; }
  .lead-mobile-command:nth-child(3) span { color:#8a4ce5;background:#f2eaff; }
  .lead-mobile-command.primary { color:#fff;border-color:transparent;background:linear-gradient(145deg,#3b82f6,#7156e9); }
  .lead-mobile-command.primary span { color:#5b53dd;background:#fff; }
  .lead-mobile-command i { position:absolute;top:4px;right:9px;display:grid;min-width:17px;height:17px;place-items:center;padding:0 4px;border-radius:9px;color:#fff;background:#ff3b5c;font-size:9px;font-style:normal;font-weight:900; }

  .lead-list-metrics { grid-template-columns:repeat(4,minmax(74px,1fr));gap:7px;overflow-x:auto;margin:0 -2px 11px;padding:2px 2px 5px;scroll-snap-type:x proximity; }
  .lead-list-metrics .metric-card { min-width:77px;min-height:72px;padding:10px 9px;border-radius:15px;scroll-snap-align:start;box-shadow:0 6px 18px rgba(38,54,87,.06); }
  .lead-list-metrics .metric-card span { font-size:9px;line-height:1.2; }
  .lead-list-metrics .metric-card strong { margin-top:6px;font-size:22px; }

  .lead-filter-panel { display:none;margin:0 0 12px;padding:11px;border:1px solid #dde5f3;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(38,54,87,.07); }
  .lead-filter-panel.mobile-open { display:block;animation:leadMobileDrop .18s ease-out; }
  @keyframes leadMobileDrop { from { opacity:0;transform:translateY(-5px); } to { opacity:1;transform:none; } }
  .lead-filter-panel .date-preset-tabs { margin:0 0 9px;padding:3px;border:0;border-radius:12px;background:#f1f5fb; }
  .lead-filter-panel .date-preset-tabs a { padding:7px 9px;font-size:9px; }
  .lead-filter-panel .campaign-search { grid-template-columns:1fr 1fr;gap:8px; }
  .lead-filter-panel .campaign-search > input:first-child { grid-column:1/-1; }
  .lead-filter-panel .campaign-search input,.lead-filter-panel .campaign-search select { min-height:42px;padding:9px 10px;border-radius:11px;font-size:12px; }
  .lead-filter-panel .campaign-search label { font-size:9px; }
  .lead-filter-panel .campaign-search .button { min-height:40px;justify-content:center; }
  .followup-link-panel,.travel-pipeline { display:none; }

  .lead-bulk-action { position:fixed;z-index:1090;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));left:10px;display:none;grid-template-columns:1fr auto;gap:8px;margin:0;padding:10px;border:1px solid #d9e3f1;border-top:0;border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(19,31,59,.2);backdrop-filter:blur(16px); }
  .lead-bulk-action.has-selection { display:grid; }
  .lead-bulk-action > div { display:none; }
  .lead-bulk-action label span { display:none; }
  .lead-bulk-action select { min-height:43px;font-size:12px; }
  .lead-bulk-action .button { min-height:43px;padding:8px 13px; }
  .lead-table-panel { display:none; }
  .lead-mobile-list { display:grid;gap:9px;margin-top:3px;padding-bottom:10px; }
  .lead-mobile-list-heading { display:flex;align-items:end;justify-content:space-between;padding:0 3px 2px; }
  .lead-mobile-list-heading h2 { margin:2px 0 0;font-size:17px; }
  .lead-mobile-list-heading > span { color:var(--lead-muted);font-size:10px; }
  .lead-mobile-card { position:relative;overflow:hidden;border:1px solid #e0e7f1;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 7px 22px rgba(38,54,87,.07); }
  .lead-mobile-card::before { content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#5e89f6; }
  .lead-mobile-card-hot::before { background:#ff4d62; }.lead-mobile-card-warm::before { background:#ff9a37; }.lead-mobile-card-cold::before { background:#3a8df5; }.lead-mobile-card-lost::before { background:#8792a7; }
  .lead-mobile-check { position:absolute;z-index:2;top:13px;right:11px;width:18px;height:18px;accent-color:#5a5ce2; }
  .lead-mobile-card-main { display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 36px 8px 13px;color:inherit; }
  .lead-mobile-avatar { display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#5b8ff8,#7455e9);font-size:16px;font-weight:900;box-shadow:0 6px 15px rgba(83,89,220,.19); }
  .lead-mobile-card-copy { min-width:0; }.lead-mobile-card-copy strong,.lead-mobile-card-copy small,.lead-mobile-card-copy em { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .lead-mobile-card-copy strong { font-size:14px; }.lead-mobile-card-copy small { margin-top:2px;color:#728097;font-size:9px; }.lead-mobile-card-copy em { margin-top:4px;color:#41506a;font-size:10px;font-style:normal;font-weight:700; }
  .lead-mobile-stage { max-width:78px;padding:5px 7px;border-radius:9px;color:#496178;background:#eff4fa;font-size:8px;font-weight:900;text-align:center; }
  .lead-mobile-card-meta { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px 8px;color:#718096;font-size:9px; }
  .lead-mobile-card-meta .lead-temperature { padding:4px 7px;font-size:8px; }
  .lead-mobile-card-actions { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #edf1f6; }
  .lead-mobile-action { display:flex;align-items:center;justify-content:center;gap:5px;min-height:39px;border-right:1px solid #edf1f6;color:#485873;font-size:10px;font-weight:850; }
  .lead-mobile-action:last-child { border-right:0; }.lead-mobile-action.call { color:#176ee8; }.lead-mobile-action.whatsapp { color:#079b63; }

  .lead-workspace-drawer { top:0;width:100vw;background:#f3f6fb; }
  .lead-workspace-header { position:relative;z-index:3;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;border:0;background:linear-gradient(145deg,#4b55df,#7447d8);box-shadow:0 6px 20px rgba(60,53,172,.2); }
  .lead-workspace-header .section-kicker { color:#dfe2ff;font-size:8px; }.lead-workspace-header h2 { margin:2px 0;color:#fff;font-size:20px; }.lead-workspace-header p { color:#e7e8ff;font-size:10px; }
  .lead-workspace-close { flex-basis:35px;width:35px;height:35px;color:#fff;background:rgba(255,255,255,.16);font-size:23px; }
  .lead-contact-actions { grid-template-columns:1fr 1fr;gap:8px;padding:9px 12px;background:#fff; }
  .lead-contact-actions .button { min-height:40px;border-radius:12px;font-size:12px;box-shadow:none; }
  .lead-workspace-tabs { display:none; }
  .lead-mobile-workspace-tabs { display:grid;grid-template-columns:repeat(3,1fr);padding:0 11px;border-bottom:1px solid #e3e9f2;background:#fff; }
  .lead-mobile-workspace-tabs button { display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 3px 8px;border:0;border-bottom:3px solid transparent;color:#77839a;background:none;font-size:10px;font-weight:850; }
  .lead-mobile-workspace-tabs button span { font-size:13px; }.lead-mobile-workspace-tabs button.active { color:#5c50d8;border-bottom-color:#5c50d8; }
  .lead-mobile-more-tabs { display:none;grid-template-columns:repeat(2,1fr);gap:5px;padding:7px 10px;background:#fff; }
  .lead-mobile-more-tabs.active { display:grid; }.lead-mobile-more-tabs button { padding:7px 2px;border:1px solid #e1e7f1;border-radius:9px;color:#65728a;background:#f7f9fc;font-size:9px;font-weight:800; }.lead-mobile-more-tabs button.active { color:#fff;border-color:#6257dd;background:#6257dd; }
  .lead-workspace-body { padding:11px 11px calc(92px + env(safe-area-inset-bottom)); }
  .lead-simple-update { grid-template-columns:1fr;gap:10px;margin-bottom:10px;padding:12px;border-radius:15px; }
  .lead-simple-update form { grid-template-columns:1fr;gap:8px; }
  .lead-simple-update textarea { min-height:62px; }
  .lead-detail-cards { grid-template-columns:1fr 1fr;gap:7px; }.lead-detail-cards article { min-height:61px;padding:10px;border-color:#e0e7f0;border-radius:13px;box-shadow:0 4px 14px rgba(39,53,84,.04); }.lead-detail-cards span { font-size:8px; }.lead-detail-cards strong { margin-top:4px;font-size:11px; }
  .meta-answer-panel { padding:12px;border-radius:15px; }.meta-answer-grid { grid-template-columns:1fr; }.meta-answer-grid article { padding:9px; }
  .lead-call-result { margin-bottom:9px;padding:12px;border:1px solid #e0e7f1;border-radius:15px;background:#fff;text-align:center;box-shadow:0 5px 16px rgba(38,54,87,.05); }
  .lead-call-result p { margin:0 0 9px;font-size:12px;font-weight:850; }.lead-call-result div { display:grid;grid-template-columns:1fr 1fr;gap:7px; }.lead-call-result button { min-height:39px;border:1px solid #dce4ef;border-radius:11px;color:#53627a;background:#f8fafc;font-size:10px;font-weight:850; }.lead-call-result button:last-child,.lead-call-result button.active { color:#fff;border-color:#12ae6c;background:#12ae6c; }
  .lead-drawer-status,.lead-temperature-form,.lead-followup-form,.lead-note-form { grid-template-columns:1fr;margin-top:9px;padding:12px;border-color:#e0e7f1;border-radius:15px;box-shadow:0 5px 16px rgba(38,54,87,.05); }
  .lead-drawer-status label,.lead-temperature-form label,.lead-followup-form label,.lead-note-form label { font-size:10px; }.lead-drawer-status select,.lead-temperature-form select,.lead-followup-form input,.lead-followup-form select,.lead-followup-form textarea,.lead-note-form textarea { min-height:42px;border-radius:11px;font-size:12px; }
  .lead-drawer-status .button,.lead-temperature-form .button,.lead-followup-form .button,.lead-note-form .button { min-height:41px;justify-content:center;border-radius:11px; }
  .lead-workspace-list { gap:7px;margin-top:9px; }.lead-workspace-list article { padding:11px;border-radius:13px;font-size:11px; }
  .lead-chat-thread { max-height:none;border-radius:15px; }.lead-chat-composer { position:sticky;bottom:0;padding:9px;border-radius:14px;background:#fff; }
}

@media (max-width:480px) {
  .lead-detail-cards { grid-template-columns:1fr 1fr; }
  .lead-contact-actions .button { font-size:12px; }
}

@media (min-width:761px) and (max-width:1100px) {
  .lead-simple-update { grid-template-columns:1fr; }
  .lead-simple-update form { grid-template-columns:1fr 1fr; }
  .lead-simple-update .button { grid-column:1/-1; }
}

/* Menu-shaped access controls for the per-user role editor. */
.permission-menu-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.permission-menu-group { overflow:hidden;border:1px solid #dbe6f4;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(30,64,175,.06); }
.permission-menu-group>summary { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:linear-gradient(135deg,#f7fbff,#fff8f3);cursor:pointer;list-style:none; }
.permission-menu-group>summary::-webkit-details-marker { display:none; }
.permission-menu-group>summary>div { display:flex;align-items:center;gap:10px; }
.permission-menu-group>summary small { display:block;margin-top:2px;color:var(--muted);font-size:10px; }
.permission-menu-group h3 { margin:0;font-size:15px; }
.permission-menu-group[open]>summary { border-bottom:1px solid #e5edf7; }
.permission-menu-chevron { color:#2563eb;font-size:22px;font-weight:900;transition:transform .18s ease; }
.permission-menu-group[open] .permission-menu-chevron { transform:rotate(180deg); }
.permission-menu-group>footer { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 11px 11px;color:var(--muted);font-size:11px;font-weight:800; }
.permission-menu-icon { display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);font-size:12px;font-weight:900; }
.permission-toggle { padding:6px 9px;border:1px solid #bfdbfe;border-radius:9px;color:#1d4ed8;background:#eff6ff;font-size:11px;font-weight:800;cursor:pointer; }
.permission-menu-items { display:grid;gap:7px;padding:11px; }
.permission-menu-items label { display:flex;align-items:center;gap:9px;min-height:50px;padding:8px 10px;border:1px solid #e3eaf3;border-radius:13px;background:#f9fbfd;font-size:12px;font-weight:700;cursor:pointer; }
.permission-menu-items label:hover { border-color:#93c5fd;background:#eff6ff; }
.permission-menu-items input { width:17px;height:17px;accent-color:#2563eb; }
.permission-menu-items label>span:last-child{display:grid;gap:2px;min-width:0}.permission-menu-items label>span:last-child small{color:var(--muted);font-size:10px;font-weight:600}.permission-menu-items .nav-item-icon{width:31px;height:31px;flex:0 0 31px}.permission-section-switch{display:inline-flex!important;align-items:center!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer}.permission-section-switch span{position:relative;width:38px;height:22px;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);transition:.18s ease}.permission-section-switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.22);transition:.18s ease}.permission-section-switch.is-enabled span{background:linear-gradient(135deg,#0ea5e9,#7c3aed)}.permission-section-switch.is-enabled span::after{transform:translateX(16px)}.permission-section-switch.is-partial span{background:#f59e0b}.permission-section-switch:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.permission-help{display:block;margin-top:14px;padding:11px 13px;border-radius:12px;background:#eff6ff;color:#315574;font-weight:700}
.permission-help { display:block;margin-top:13px;color:var(--muted); }
@media (max-width:760px) { .permission-menu-grid { grid-template-columns:1fr; } }

/* Package-first itinerary configurator. */
.package-first-library { margin-bottom:18px;background:linear-gradient(145deg,#fff,#f5fbff); }
.package-library-heading { display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px; }
.package-library-heading h2 { margin:.2rem 0 0; }
.package-library-heading>span { padding:7px 11px;border-radius:999px;background:#e8f7ff;color:#075fb8;font-weight:800; }
.package-starter-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow-x:auto;padding:2px 2px 8px; }
.package-starter-card { min-width:190px;border:1px solid #dbe7f3;border-radius:18px;background:#fff;padding:12px;text-align:left;color:#17263c;box-shadow:0 8px 22px rgba(30,64,175,.07);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.package-starter-card:hover,.package-starter-card.is-selected { transform:translateY(-2px);border-color:#087f8c;box-shadow:0 12px 28px rgba(8,127,140,.16); }
.package-starter-card img { width:100%;height:96px;object-fit:cover;border-radius:12px;margin-bottom:9px; }
.package-starter-icon { display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#e2f8f7,#e8efff);font-size:25px;margin-bottom:9px; }
.package-starter-card small,.package-starter-card span,.package-starter-card b { display:block; }
.package-starter-card small { color:#087f8c;font-weight:800;text-transform:uppercase;font-size:.68rem; }
.package-starter-card strong { display:block;margin:6px 0;font-size:1rem; }
.package-starter-card span { color:#64748b;font-size:.82rem; }
.package-starter-card b { margin-top:8px;color:#075fb8; }
@media (max-width:900px) { .package-starter-grid { grid-template-columns:repeat(2,minmax(190px,1fr)); } }
@media (max-width:600px) { .package-starter-grid { display:flex; }.package-starter-card { flex:0 0 78vw; } }

/* Simple package-first itinerary builder. */
.itinerary-simple-heading{align-items:flex-end}.itinerary-app-wizard{display:grid;gap:18px;max-width:1240px;margin:0 auto 36px}.itinerary-stepper{position:sticky;top:76px;z-index:12;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 28px rgba(32,55,91,.09);backdrop-filter:blur(14px)}.itinerary-stepper button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;text-align:left;align-items:center;border:0;border-radius:14px;background:transparent;color:var(--muted);padding:10px;cursor:pointer}.itinerary-stepper button>span{grid-row:1/3;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#edf3f8;color:#5b6f83;font-weight:900}.itinerary-stepper strong{color:var(--ink);font-size:14px}.itinerary-stepper small{font-size:11px}.itinerary-stepper button.is-active{background:linear-gradient(135deg,#e8f8ff,#f2ebff)}.itinerary-stepper button.is-active>span{color:#fff;background:linear-gradient(135deg,#0478ef,#7646e8);box-shadow:0 6px 15px rgba(54,91,219,.3)}.itinerary-stepper button.is-complete>span{color:#fff;background:#10b981}.itinerary-wizard-step{padding:26px;background:linear-gradient(145deg,#fff,#fbfdff);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 48px rgba(38,58,94,.08)}.wizard-step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}.wizard-step-heading>span,.customise-block-title>span{width:45px;height:45px;flex:0 0 45px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#0478ef,#7547e8);color:#fff;font-size:18px;font-weight:900;box-shadow:0 8px 18px rgba(51,87,215,.24)}.wizard-step-heading h2,.customise-block-title h3{margin:2px 0 4px}.wizard-step-heading p,.customise-block-title p{margin:0;color:var(--muted)}.wizard-tip,.review-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 18px;border-radius:14px;background:#edfbfa;color:#17606c;border:1px solid #c7efea}.wizard-tip b,.review-notice b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#0aa0a5;color:#fff}.wizard-form-grid{display:grid;gap:16px}.wizard-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-form-grid .span-all{grid-column:1/-1}.wizard-form-grid .form-field,.review-settings .form-field{margin:0}.wizard-more{border:1px solid var(--line);border-radius:15px;background:#f9fbfd;padding:0 15px}.wizard-more summary{padding:14px 0;font-weight:800;cursor:pointer}.wizard-more>div{padding:4px 0 15px}.wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.wizard-footer .button{min-height:48px;padding:0 22px}.simple-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.simple-package-card{position:relative;display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:15px;min-height:130px;padding:13px;border:2px solid #e3eaf2;border-radius:19px;background:#fff;text-align:left;cursor:pointer;transition:.2s ease}.simple-package-card:hover{transform:translateY(-2px);border-color:#a9c8ee;box-shadow:0 12px 25px rgba(35,69,115,.1)}.simple-package-card.is-selected{border-color:#1976ee;background:linear-gradient(135deg,#f4fbff,#f5f0ff);box-shadow:0 0 0 4px rgba(25,118,238,.09)}.simple-package-media{width:96px;height:100px;overflow:hidden;border-radius:14px;background:linear-gradient(145deg,#dff7ff,#eee7ff);display:grid;place-items:center;font-size:30px}.simple-package-media img{width:100%;height:100%;object-fit:cover}.simple-package-copy{display:grid;gap:5px}.simple-package-copy small{color:#00796f;font-size:10px;font-weight:900;letter-spacing:.06em}.simple-package-copy strong{color:var(--ink);font-size:17px}.simple-package-copy span{color:var(--muted);font-size:13px}.simple-package-copy b{color:#0f6bdc}.package-select-mark{padding:8px 12px;border-radius:999px;background:#eef3f8;color:#52687b;font-size:12px;font-weight:900}.simple-package-card.is-selected .package-select-mark{background:#0b74e9;color:#fff}.custom-package-card{grid-column:1/-1}.customise-block{padding:20px 0;border-top:1px solid var(--line)}.customise-block:first-of-type{border-top:0}.customise-block-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}.customise-block-title>span{width:34px;height:34px;flex-basis:34px;border-radius:11px;font-size:14px}.choice-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:16px}.choice-card-grid label input{position:absolute;opacity:0}.choice-card-grid label span{display:grid;place-items:center;gap:6px;min-height:78px;padding:9px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#455a70;font-size:12px;font-weight:800;cursor:pointer}.choice-card-grid label span b{font-size:20px;color:#7650e9}.choice-card-grid label input:checked+span{border-color:#4f74ec;background:linear-gradient(135deg,#edf8ff,#f2edff);box-shadow:0 0 0 3px rgba(75,102,230,.1);color:#17283d}.package-addon-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.addon-choice-card{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}.addon-choice-card input{accent-color:#096fdd}.addon-choice-card:has(input:checked){border-color:#11a895;background:#edfffb;box-shadow:0 0 0 3px rgba(17,168,149,.08)}.addon-choice-card .addon-kind{color:#7b48df;font-size:10px;font-weight:900;text-transform:uppercase}.addon-choice-card small{color:var(--muted)}.addon-choice-card>b{color:#087f8c;font-size:12px}.itinerary-review-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.trip-review-card{padding:24px;border-radius:21px;color:#fff;background:radial-gradient(circle at top right,rgba(73,228,215,.35),transparent 34%),linear-gradient(145deg,#073b59,#182550);box-shadow:0 20px 38px rgba(14,37,74,.2)}.trip-review-card h2{color:#fff}.review-route{display:flex;align-items:center;gap:10px;padding:12px 0 18px;color:#d6faff}.trip-review-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0}.trip-review-card dl div{padding:11px;border-radius:12px;background:rgba(255,255,255,.09)}.trip-review-card dt{font-size:10px;color:#9ddde2;font-weight:900;text-transform:uppercase}.trip-review-card dd{margin:3px 0 0;font-weight:800}.trip-review-card .review-notice{margin:18px 0 0;color:#dffcf8;background:rgba(14,190,169,.13);border-color:rgba(132,240,224,.22)}.review-settings{display:grid;gap:13px}.review-settings>.panel{padding:18px}.review-settings h3{margin:0 0 4px}.review-settings p{margin:0 0 13px;color:var(--muted)}.check-line{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:700}.check-line input{width:18px;height:18px;accent-color:#087f8c}.create-itinerary-button{background:linear-gradient(135deg,#057be8,#7149e8)!important}.empty-inline{grid-column:1/-1;padding:17px;border:1px dashed #bfd0df;border-radius:14px;background:#f7fafc;color:var(--muted)}
@media(max-width:900px){.itinerary-stepper{top:70px;overflow-x:auto;grid-template-columns:repeat(4,minmax(155px,1fr))}.simple-package-grid,.itinerary-review-layout{grid-template-columns:1fr}.choice-card-grid{grid-template-columns:repeat(3,1fr)}.package-addon-set{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.itinerary-app-wizard{gap:12px}.itinerary-stepper{margin-inline:-8px;border-radius:0;padding:8px}.itinerary-stepper button{grid-template-columns:32px 1fr;padding:7px}.itinerary-stepper button>span{width:32px;height:32px}.itinerary-stepper small{display:none}.itinerary-wizard-step{padding:17px;border-radius:19px}.wizard-step-heading>span{width:38px;height:38px;flex-basis:38px}.wizard-step-heading h2{font-size:21px}.wizard-form-grid.two-col,.wizard-form-grid.three-col,.package-addon-set{grid-template-columns:1fr}.simple-package-card{grid-template-columns:76px 1fr;min-height:112px}.simple-package-media{width:76px;height:82px}.package-select-mark{position:absolute;right:10px;top:10px}.choice-card-grid{grid-template-columns:repeat(2,1fr)}.trip-review-card dl{grid-template-columns:1fr}.wizard-footer{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));z-index:8;margin-inline:-17px;margin-bottom:-17px;padding:12px 17px;background:rgba(255,255,255,.96);box-shadow:0 -8px 20px rgba(20,43,78,.08)}.wizard-footer .button{padding:0 14px}.itinerary-simple-heading .actions{display:none}}
/* Meta Instant Forms connector */
.page-heading-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.meta-connect-button{background:#1677f2;color:#fff;border-color:#1677f2}.meta-setup-heading{align-items:center}.meta-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.meta-steps article{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--border-color,#dbe5ef);border-radius:18px;background:#fff;color:#718096}.meta-steps article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#eef3f8;font-weight:800}.meta-steps article strong,.meta-steps article small{display:block}.meta-steps article.active{border-color:#1677f2;box-shadow:0 8px 26px rgba(22,119,242,.12);color:#152238}.meta-steps article.active>span{background:#1677f2;color:#fff}.meta-steps article.complete>span{background:#00aa74;color:#fff}.meta-credential-notice{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.meta-credential-notice p{margin:.25rem 0}.meta-card-title,.meta-connect-card{display:flex;align-items:center;gap:1rem}.meta-logo{display:grid;place-items:center;flex:0 0 auto;width:3.25rem;height:3.25rem;border-radius:16px;background:linear-gradient(145deg,#1684ff,#1259d5);color:#fff;font:900 2rem/1 Arial;box-shadow:0 10px 22px rgba(22,119,242,.22)}.meta-activation-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem}.meta-activation-form label{font-weight:700}.meta-activation-form label small{display:block;margin-top:.4rem;color:#66758a;font-weight:500}.meta-wide{grid-column:1/-1}.meta-caller-picker{border:0;padding:0}.meta-caller-picker legend{font-weight:800;font-size:1rem}.meta-caller-picker>p{color:#66758a;margin:.25rem 0 .75rem}.meta-caller-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.meta-caller-grid>label{display:flex;gap:.75rem;align-items:center;padding:.9rem;border:1px solid #dbe5ef;border-radius:15px;background:#f8fbff;cursor:pointer}.meta-caller-grid input{width:1.2rem;height:1.2rem;accent-color:#1677f2}.meta-caller-grid span,.meta-caller-grid small{display:block}.meta-activate-button{justify-content:center;min-height:3.25rem}.meta-connect-card{justify-content:space-between;padding:1.5rem}.meta-connect-card>div{flex:1}.meta-connect-card ul{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:.75rem 0 0;padding-left:1.25rem;color:#53657b}.meta-connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.meta-connection-head{display:flex;justify-content:space-between;align-items:center}.meta-connection-card h3{margin:.35rem 0}.meta-connection-stats{display:flex;gap:1rem;padding:.8rem 0}.meta-connection-stats span,.meta-connection-stats strong{display:block}.meta-answer-panel{margin-top:1rem;padding:1rem;border-radius:18px;background:#f5f9ff;border:1px solid #dbeafe}.meta-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.meta-answer-grid article{padding:.75rem;border-radius:12px;background:#fff;border:1px solid #e2eaf3}.meta-answer-grid span,.meta-answer-grid strong{display:block}.meta-answer-grid span{color:#68778b;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.meta-answer-grid strong{margin-top:.2rem;overflow-wrap:anywhere}
.meta-agent-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1rem}.meta-agent-flow article{display:flex;align-items:center;gap:.7rem;padding:.85rem;border:1px solid #dbe5ef;border-radius:16px;background:#fff;color:#66758a}.meta-agent-flow article>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:#eaf0f6;font-weight:900}.meta-agent-flow strong,.meta-agent-flow small{display:block}.meta-agent-flow small{margin-top:.15rem;font-size:.7rem}.meta-agent-flow .active{border-color:#2563eb;box-shadow:0 9px 25px rgba(37,99,235,.09)}.meta-agent-flow .active>span{background:#2563eb;color:#fff}.meta-agent-flow .complete>span{background:#00a982;color:#fff}.meta-agent-security{margin-bottom:1rem}.meta-agent-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.meta-agent-channel{display:flex;flex-direction:column;gap:1rem;min-width:0;border-top:4px solid #c9d6e5}.meta-agent-channel.is-connected{border-top-color:#00ad83}.meta-agent-channel-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.meta-agent-channel-head h2,.meta-agent-channel-head p{margin:0}.meta-channel-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:#fff;font-weight:950}.meta-channel-icon.whatsapp{background:linear-gradient(145deg,#22c97c,#079d69)}.meta-channel-icon.facebook{background:linear-gradient(145deg,#2485f5,#1559c9);font:900 1.6rem/1 Arial}.meta-channel-icon.small{width:34px;height:34px;border-radius:11px;font-size:1.1rem}.meta-agent-channel>p{margin:0;color:#607086}.meta-channel-connect{align-self:flex-start;min-height:46px}.meta-connect-progress{min-height:20px;margin:0;color:#537086}.meta-asset-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0}.meta-asset-list>div{padding:.75rem;border-radius:13px;background:#f5f9fc;min-width:0}.meta-asset-list dt{font-size:.68rem;color:#6c7c91;text-transform:uppercase}.meta-asset-list dd{margin:.2rem 0 0;font-weight:800;overflow-wrap:anywhere}.meta-agent-form-picker{display:grid;gap:.8rem}.meta-agent-form-picker label{display:grid;gap:.4rem;font-weight:800}.meta-agent-form-list{display:grid;gap:.65rem}.meta-agent-form-list>div{display:flex;align-items:center;gap:.7rem;padding:.7rem;border-radius:14px;background:#f6f9fc}.meta-agent-form-list p,.meta-agent-form-list strong,.meta-agent-form-list small{display:block;margin:0}.meta-agent-form-list small{color:#68778b}.meta-admin-review{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.meta-admin-review h2,.meta-admin-review p{margin:.2rem 0}.meta-agent-help{margin-top:1rem}.meta-agent-help h2{margin:.2rem 0 1rem}.meta-agent-help ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.meta-agent-help li{padding:.85rem;border-radius:14px;background:#f5f9fc}.meta-agent-help li strong,.meta-agent-help li span{display:block}.meta-agent-help li span{margin-top:.3rem;color:#64748b;font-size:.76rem}.agent-status-row{display:flex;flex-wrap:wrap;gap:.5rem}.button.disabled{pointer-events:none;opacity:.5}
@media(max-width:800px){.page-heading-actions{justify-content:stretch}.page-heading-actions .button{flex:1}.meta-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-activation-form,.meta-caller-grid,.meta-connection-grid,.meta-answer-grid{grid-template-columns:1fr}.meta-activation-form>*{grid-column:1}.meta-connect-card{align-items:flex-start;flex-direction:column}.meta-connect-card .button{width:100%;justify-content:center}.meta-credential-notice{flex-direction:column}}
@media(max-width:900px){.meta-agent-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-agent-channel-grid{grid-template-columns:1fr}.meta-agent-help ol{grid-template-columns:1fr 1fr}.meta-admin-review{align-items:stretch;flex-direction:column}.meta-admin-review .actions{justify-content:flex-start}}
@media(max-width:560px){.meta-agent-flow,.meta-agent-help ol,.meta-asset-list{grid-template-columns:1fr}.meta-agent-channel-head{grid-template-columns:auto 1fr}.meta-agent-channel-head>.badge{grid-column:1/-1;justify-self:start}.meta-agent-channel .actions{align-items:stretch;flex-direction:column}.meta-agent-channel .actions>*{width:100%}.meta-agent-channel .button{justify-content:center}}

/* 2026-08 scoreboard, lead-priority and navigation clarity refresh */
.scoreboard-shell{margin:1.1rem 0 1.35rem}.scoreboard-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.scoreboard-heading h2{margin:.15rem 0;font-size:1.55rem}.competition-chip{display:flex;align-items:center;gap:.7rem;padding:.65rem .9rem;border:1px solid #f7c66c;border-radius:16px;background:linear-gradient(135deg,#fff9da,#fff2c2);color:#713f12;box-shadow:0 8px 24px rgba(245,158,11,.12)}.competition-chip>span{font-size:1.45rem}.competition-chip strong,.competition-chip small{display:block}.competition-editor{margin:0 0 1rem;padding:.75rem 1rem;border-color:#c8d9ff}.competition-editor summary{cursor:pointer;font-weight:800;color:#334155}.competition-editor summary span{margin-left:.5rem;padding:.2rem .45rem;border-radius:999px;background:#e0e7ff;color:#4338ca;font-size:.67rem;text-transform:uppercase}.competition-editor form{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr auto;gap:.75rem;align-items:end;margin-top:.85rem}.competition-editor label{display:grid;gap:.3rem;font-size:.75rem;font-weight:800;color:#52637c}.competition-editor input{min-height:43px;border:1px solid #cad8ed;border-radius:12px;padding:.65rem .75rem;background:#fff}.scoreboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.scoreboard-card{min-width:0;padding:1.05rem;border:1px solid #d7e4f5;border-radius:22px;background:linear-gradient(145deg,#fff 30%,#f5f8ff);box-shadow:0 14px 34px rgba(43,64,112,.08)}.scoreboard-card:nth-child(2){background:linear-gradient(145deg,#fff 25%,#eff9ff)}.scoreboard-card:nth-child(3){background:linear-gradient(145deg,#fff 25%,#fff7ed)}.scoreboard-card:nth-child(4){background:linear-gradient(145deg,#fff 25%,#ecfdf5)}.scoreboard-card-title{display:flex;gap:.7rem;align-items:center;margin-bottom:1rem}.scoreboard-card-title p{margin:0;color:#55708f;font-size:.68rem;font-weight:900;letter-spacing:.09em}.scoreboard-card-title h3{margin:.15rem 0 0;color:#17243a;font-size:1.05rem}.scoreboard-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:1.1rem}.scoreboard-icon.violet{background:#eee7ff}.scoreboard-icon.blue{background:#dff3ff}.scoreboard-icon.orange{background:#ffedd5}.scoreboard-icon.green{background:#d1fae5}.scoreboard-bars{display:grid;gap:.72rem}.scoreboard-row{display:flex;gap:.65rem;align-items:center}.scoreboard-rank{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:900;font-size:.78rem}.scoreboard-bar-copy{min-width:0;flex:1}.scoreboard-bar-copy>div:first-child{display:flex;justify-content:space-between;gap:.5rem}.scoreboard-bar-copy strong,.scoreboard-bar-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-bar-copy small{color:#718096;font-size:.7rem}.scoreboard-track{height:7px;margin-top:.35rem;border-radius:999px;background:#e9edf7;overflow:hidden}.scoreboard-track i{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#ec4899)}.scoreboard-track.blue i{background:linear-gradient(90deg,#0ea5e9,#2563eb)}.scoreboard-track.green i{background:linear-gradient(90deg,#10b981,#14b8a6)}.scoreboard-value{text-align:right;white-space:nowrap}.scoreboard-value strong,.scoreboard-value small{display:block}.scoreboard-value strong{color:#111827;font-size:1.05rem}.scoreboard-value small{color:#718096;font-size:.67rem}.selling-text-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.selling-text-list li{display:flex;align-items:center;gap:.65rem;padding:.58rem;border-radius:14px;background:rgba(255,255,255,.76);border:1px solid #ffdfb8}.selling-text-list li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#ffedd5;color:#c2410c;font-weight:900}.selling-text-list li>div{min-width:0;flex:1}.selling-text-list strong,.selling-text-list small{display:block}.selling-text-list li>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selling-text-list small{color:#7c879a;font-size:.68rem}.selling-text-list b{text-align:right;font-size:.78rem}.selling-text-list b small{margin-top:.15rem}
.lead-temperature{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900;border:1px solid transparent}.lead-temperature i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.65)}.lead-temperature.hot{color:#b42318;background:#fee4e2;border-color:#fda29b}.lead-temperature.warm{color:#b54708;background:#fef0c7;border-color:#fec84b}.lead-temperature.cold{color:#175cd3;background:#dbeafe;border-color:#93c5fd}.lead-temperature.lost{color:#475467;background:#eaecf0;border-color:#cfd4dc}.lead-row-hot{box-shadow:inset 4px 0 #ef4444}.lead-row-warm{box-shadow:inset 4px 0 #f59e0b}.lead-row-cold{box-shadow:inset 4px 0 #3b82f6}.lead-row-lost{box-shadow:inset 4px 0 #64748b}.lead-temperature-form{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin-top:.75rem;padding:.85rem;border-radius:16px;background:#fff9ed;border:1px solid #fed7aa}.lead-temperature-form label{display:grid;gap:.35rem;font-weight:800}.lead-temperature-form select{min-height:43px;border:1px solid #fdba74;border-radius:11px;background:#fff;padding:.55rem}
.sidebar{background:linear-gradient(180deg,#fbf9ff 0%,#f3fbff 50%,#fffaf3 100%)}.nav-group>summary{margin:.55rem .35rem .25rem;padding:.55rem .6rem;border-radius:11px;color:#334155!important;background:linear-gradient(90deg,rgba(99,102,241,.11),rgba(14,165,233,.05));font-size:.72rem!important;font-weight:950!important;letter-spacing:.08em!important;border-left:3px solid #7c3aed}.nav-group.current>summary{color:#4f46e5!important;background:linear-gradient(90deg,#ede9fe,#e0f2fe)}.nav-group>summary span:last-child{color:#4f46e5}.nav-link,.nav-group a{font-weight:750}.nav-link:hover,.nav-group a:hover{color:#1e293b!important;background:#fff!important;box-shadow:0 7px 18px rgba(63,81,181,.1)}
@media(max-width:900px){.scoreboard-grid{grid-template-columns:1fr}.competition-editor form{grid-template-columns:1fr 1fr}.competition-editor form .button{grid-column:1/-1}.scoreboard-heading{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.scoreboard-card{padding:.85rem;border-radius:18px}.scoreboard-row{gap:.45rem}.scoreboard-value small{max-width:90px;overflow:hidden;text-overflow:ellipsis}.competition-editor form{grid-template-columns:1fr}.competition-editor form .button{grid-column:auto}.scoreboard-heading h2{font-size:1.3rem}}
/* 2026-08 mobile stability: prevent iOS focus zoom and horizontal layout spill
   while preserving normal user pinch zoom for accessibility. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
@media (max-width: 860px) {
  html, body { inline-size: 100%; max-inline-size: 100%; }
  body { overflow-x: hidden; }
  @supports (overflow: clip) { body { overflow-x: clip; } }
  .app-shell, .workspace, .content, .content > *, .panel, .scoreboard-shell, .scoreboard-grid, .scoreboard-card { min-inline-size: 0; max-inline-size: 100%; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea { font-size: 16px !important; }
  .global-search input { font-size: 16px !important; }
  .scoreboard-heading, .scoreboard-card-title, .scoreboard-card-title > div, .scoreboard-row { min-width: 0; }
  .scoreboard-card-title h3, .scoreboard-card-title p { overflow-wrap: anywhere; }
  .scoreboard-bar-copy { overflow: hidden; }
  .button, button, a { -webkit-user-select: none; user-select: none; }
}

.workspace-tip{display:flex;align-items:flex-start;gap:.7rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid #a9e3db;border-radius:15px;background:linear-gradient(135deg,#effdfa,#f2f8ff);color:#245a65}.workspace-tip>b{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#0b8f91;color:#fff}.workspace-tip span{line-height:1.55}

.inventory-shared-picker{display:grid;gap:.8rem;margin:0 0 1rem;padding:1rem;border:1px solid #b9d8ff;border-radius:17px;background:linear-gradient(135deg,#eff7ff,#f6f3ff)}
.inventory-shared-picker>div:first-child{display:flex;align-items:flex-start;gap:.7rem}
.inventory-shared-picker strong{display:block;margin-bottom:.15rem}
.inventory-shared-picker p{margin:0;color:#51667d}

/* Package destination search and high-contrast workspace readability */
.package-destination-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center;margin-bottom:.65rem}
.package-destination-search-wrap{display:flex;align-items:center;gap:.55rem;min-height:48px;padding:0 .78rem;border:1px solid #b8c8dc;border-radius:13px;background:#fff;box-shadow:inset 0 1px 2px rgba(31,50,76,.04)}
.package-destination-search-wrap:focus-within{border-color:#4f75e8;box-shadow:0 0 0 3px rgba(37,99,235,.13)}
.package-destination-search-wrap>span{color:#3159c8;font-size:1rem}
.package-destination-search-wrap input{min-height:44px!important;padding:0!important;border:0!important;outline:0!important;box-shadow:none!important}
.package-destination-picker+.form-field select,[data-package-destination-select]{font-weight:750}

:root{--ink:#162238;--muted:#536178;--line:#d3deeb;--line-soft:#e5ebf3;--background:#edf2f8}
body{background:#edf2f8;color:#162238}
.workspace{background:linear-gradient(180deg,#f1f5fa 0%,#eaf0f7 100%)}
.destination-actions{display:flex;align-items:center;gap:.7rem}.destination-actions form{margin:0}.destination-actions a,.link-danger{border:0;background:transparent;font:inherit;font-weight:850;cursor:pointer}.link-danger{color:#dc2626}.image-upload-note{display:block;margin-top:.35rem;color:#52677c;line-height:1.45}.volvo-sightseeing-picker .wizard-form-grid{margin:1rem 0}
.content{color:#162238}
.topbar{background:rgba(255,255,255,.97)}
.panel,.kpi-card,.stat-card,.trip-card,.metric-card,.package-studio-shell,.package-form-section,.package-library-card,.workspace-table-panel{background:#fff}
.content input:not([type=checkbox]):not([type=radio]):not([type=range]),.content select,.content textarea{color:#172238;background-color:#fff;border-color:#bdcad9}
.content input::placeholder,.content textarea::placeholder{color:#738197;opacity:1}
.content label,.content th{color:#172238}
.content .muted,.content .package-step-heading p,.content .package-form-section>p,.content .package-section-title p{color:#5a687d}
@media(max-width:760px){.package-destination-picker{grid-template-columns:1fr}.package-destination-picker .button{width:100%}}

/* Destination-linked transport and service inventory */
.inventory-heading-rich{padding:1rem 1.1rem;border:1px solid #d7e6f2;border-radius:22px;background:linear-gradient(120deg,#f0fbff,#f8f4ff 55%,#fff8ed)}
.inventory-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.inventory-summary-strip article{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid #d9e5ef;border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(30,64,105,.06)}
.inventory-summary-strip small,.inventory-summary-strip strong{display:block}.inventory-summary-strip small{color:#66788e;font-size:.72rem;font-weight:750}.inventory-summary-strip strong{margin-top:.1rem;font-size:1.35rem}
.summary-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;font-weight:900;background:#eee8ff;color:#6339d2}.summary-icon.active{background:#ddfaef;color:#087a56}.summary-icon.draft{background:#fff0dc;color:#b75509}.summary-icon.destination{background:#e2f4ff;color:#0873bd}.summary-icon.service{background:#ffe8f0;color:#c52c65}
.transport-filter-bar{grid-template-columns:minmax(220px,1.2fr) minmax(190px,.9fr) repeat(3,minmax(130px,.55fr)) auto auto}.service-filter-bar{grid-template-columns:minmax(240px,1.2fr) minmax(220px,.8fr) auto auto}
.transport-inventory-card,.service-inventory-card{padding:0}.transport-card-visual,.service-card-visual{position:relative}.transport-card-visual>img,.transport-card-visual>.transport-placeholder,.service-card-visual>img,.service-card-visual>.sightseeing-placeholder{width:100%;height:155px;object-fit:cover;border-radius:19px 19px 0 0}.transport-card-visual .hotel-status{position:absolute;top:.7rem;right:.7rem;background:#fff4df}.transport-card-visual .hotel-status.active{background:#dcfaec}.transport-card-body,.service-card-content{padding:1rem}
.destination-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.destination-chip-row span{padding:.35rem .55rem;border-radius:999px;background:#e8f6ff;color:#155b83;font-size:.7rem;font-weight:750}.destination-chip-row.compact{margin:.7rem 0}.destination-chip-row .warning-chip{background:#fff0dc;color:#a94e08}
.transport-contact-row,.service-detail-row{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;color:#687b90;font-size:.75rem}.inventory-card-link{display:block;margin-top:.8rem;padding-top:.75rem;border-top:1px solid #e2eaf2;color:#0969da;font-weight:850}
.service-type-badge{position:absolute;top:.7rem;left:.7rem;padding:.32rem .6rem;border-radius:999px;background:#fff;color:#4b3cb6;font-size:.67rem;font-weight:900;box-shadow:0 5px 15px rgba(20,40,80,.12)}.service-type-badge.activity{color:#087a56}.service-detail-row span{padding:.3rem .5rem;border-radius:9px;background:#f2f6fb}.inventory-price-row.prominent{margin-top:.7rem}.inventory-price-row.prominent span{width:100%;padding:.6rem .7rem;background:linear-gradient(115deg,#e9faf3,#edf7ff);font-size:.76rem}
.rate-period-chip{padding:.3rem .55rem;border-radius:999px;background:#e9f5ff;color:#12679a;font-size:.68rem;font-weight:850}.transport-add-rate{margin-top:1rem;border-style:dashed}.transport-rate-editor{border-left:4px solid #0ca69c}.transport-rate-editor:nth-child(even){border-left-color:#7456e8}
@media(max-width:980px){.transport-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.inventory-summary-strip{grid-template-columns:1fr 1fr}.inventory-summary-strip article:first-child{grid-column:1/-1}.transport-filter-bar,.service-filter-bar{grid-template-columns:1fr}.transport-card-grid,.service-card-grid{grid-template-columns:1fr}.transport-card-visual>img,.transport-card-visual>.transport-placeholder,.service-card-visual>img,.service-card-visual>.sightseeing-placeholder{height:135px}.transport-rate-editor{padding:.75rem}.transport-rate-editor header{align-items:flex-start;gap:.5rem}}

/* Mobile-first hotel library */
.hotel-filter-sheet{margin-bottom:1rem;overflow:hidden;border:1px solid #d8e4ef;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(30,60,96,.06)}
.hotel-filter-sheet>summary{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;cursor:pointer;list-style:none}.hotel-filter-sheet>summary::-webkit-details-marker{display:none}
.hotel-filter-summary-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:linear-gradient(135deg,#e5f5ff,#ede9ff);color:#1769d4;font-size:1.15rem;font-weight:950}
.hotel-filter-sheet>summary>span:nth-child(2){display:grid}.hotel-filter-sheet>summary strong{color:#17263c;font-size:.84rem}.hotel-filter-sheet>summary small{color:#6d7d91;font-size:.66rem}
.hotel-filter-chevron{margin-left:auto;color:#52667d;font-size:1.15rem;transition:transform .18s ease}.hotel-filter-sheet[open] .hotel-filter-chevron{transform:rotate(180deg)}
.hotel-filter-sheet .hotel-list-filter{margin:0;border:0;border-top:1px solid #e1e9f1;border-radius:0;box-shadow:none}
.hotel-metric-icon{display:grid;place-items:center;float:left;width:43px;height:43px;margin-right:.75rem;border-radius:14px;font-weight:950}
.hotel-card-media .hotel-card-placeholder{display:grid;place-items:center;align-content:center;gap:.25rem;width:100%;height:100%;color:#42637d}.hotel-card-placeholder span{font-size:2.6rem}.hotel-card-placeholder small{font-size:.65rem;font-weight:850}
.hotel-card-media img{position:absolute;inset:0}.hotel-card-warning{position:absolute;right:.75rem;bottom:.75rem;padding:.35rem .55rem;border-radius:999px;background:rgba(18,34,55,.82);color:#fff;font-size:.64rem;font-weight:850;backdrop-filter:blur(8px)}
.hotel-setup-hints{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0}.hotel-setup-hints span{padding:.3rem .48rem;border-radius:999px;background:#e5f9f0;color:#087552;font-size:.62rem;font-weight:850}.hotel-setup-hints .needs-action{background:#fff0df;color:#a9500b}
.hotel-empty-state{grid-column:1/-1;display:grid;place-items:center;padding:2.7rem 1rem;text-align:center;border:1px dashed #aebfd2;border-radius:22px;background:linear-gradient(145deg,#fff,#f5faff)}.hotel-empty-state>span{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,#dff7ff,#eee8ff);font-size:2rem}.hotel-empty-state h2{margin:.8rem 0 .25rem}.hotel-empty-state p{max-width:560px;margin:.1rem 0 1rem;color:#65778b}
.hotel-add-button span{font-size:1.05rem}.hotel-card-actions .button{min-height:42px}
@media(max-width:720px){.hotel-list-metrics{gap:.45rem}.hotel-list-metrics article{display:grid;justify-items:center;padding:.75rem .35rem;text-align:center;border-radius:16px}.hotel-list-metrics small{font-size:.55rem}.hotel-list-metrics strong{font-size:1.35rem}.hotel-metric-icon{float:none;width:36px;height:36px;margin:0 0 .4rem;border-radius:12px}.hotel-filter-sheet{border-radius:17px}.hotel-filter-sheet .hotel-list-filter{padding:.8rem}.hotel-filter-sheet .hotel-list-filter .button{width:100%;justify-content:center}.hotel-card{border-radius:19px}.hotel-card-media{height:165px}.hotel-card-body{padding:.85rem}.hotel-card-body h3{font-size:1.05rem}.hotel-card-actions{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:2;margin:0 -.15rem -.15rem;padding:.7rem .15rem .15rem;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}.hotel-card-actions .button{min-height:44px}}

/* Transporter library: one provider, many destination-linked vehicles. */
.transport-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-icon.transport{color:#1769d4;background:#e4f2ff}
.inventory-filter-sheet{margin:0 0 1rem;overflow:hidden;border:1px solid #d8e4ef;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(30,60,96,.06)}
.inventory-filter-sheet>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;cursor:pointer;list-style:none}.inventory-filter-sheet>summary::-webkit-details-marker{display:none}.inventory-filter-sheet>summary span{color:#1a2b42;font-weight:900}.inventory-filter-sheet>summary small{color:#6d7d91}.inventory-filter-sheet[open]>summary{border-bottom:1px solid #e2eaf2;background:#f8fbff}.inventory-filter-sheet .inventory-filter-bar{margin:0;border:0;border-radius:0;box-shadow:none}
.transporter-library{display:grid;gap:1rem}.transporter-card{overflow:hidden;border:1px solid #d5e2ee;border-radius:23px;background:#fff;box-shadow:0 14px 34px rgba(29,59,96,.075)}
.transporter-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.85rem;padding:1rem 1.1rem;border-bottom:1px solid #e1eaf2;background:linear-gradient(125deg,#f4fbff,#faf7ff 62%,#fff9ef)}
.transporter-avatar{display:grid;width:50px;height:50px;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(145deg,#1675ef,#7352e8);box-shadow:0 9px 20px rgba(68,79,212,.2);font-size:1.2rem;font-weight:950}.transporter-avatar.legacy{background:linear-gradient(145deg,#f59e0b,#ef4444)}
.transporter-title{min-width:0}.transporter-title small,.transporter-title h2,.transporter-title p{display:block;margin:0}.transporter-title small{color:#357089;font-size:.65rem;font-weight:850}.transporter-title h2{margin:.16rem 0;color:#17263c;font-size:1.15rem}.transporter-title p{color:#66778b;font-size:.75rem}
.inventory-state-pill{padding:.35rem .55rem;border-radius:999px;color:#a9500b;background:#fff0df;font-size:.65rem;font-weight:900}.inventory-state-pill.active{color:#087552;background:#e1f9ef}
.transporter-head-actions{display:flex;gap:.5rem}.button.compact{min-height:38px;padding:.55rem .7rem;font-size:.73rem}
.provider-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem}.provider-vehicle-card{min-width:0;overflow:hidden;border:1px solid #dce6ef;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(29,59,96,.06)}
.provider-vehicle-photo{position:relative;height:150px;overflow:hidden;background:linear-gradient(145deg,#e8f5ff,#f1edff)}.provider-vehicle-photo>img{width:100%;height:100%;object-fit:cover}.provider-vehicle-photo>.hotel-status{position:absolute;top:.65rem;right:.65rem}.vehicle-photo-required{display:grid;width:100%;height:100%;place-items:center;align-content:center;gap:.2rem;color:#5c6f86;text-align:center}.vehicle-photo-required:before{content:"Photo";display:grid;width:48px;height:48px;place-items:center;border-radius:16px;color:#4d52d8;background:#fff;box-shadow:0 8px 20px rgba(47,64,110,.12);font-size:.65rem;font-weight:950}.vehicle-photo-required small{font-size:.63rem}
.provider-vehicle-body{padding:.85rem}.provider-vehicle-body>small{color:#6a7b8f;font-size:.65rem}.provider-vehicle-body h3{margin:.2rem 0 .55rem;color:#17263c;font-size:1rem}.vehicle-fact-row{display:flex;flex-wrap:wrap;gap:.35rem}.vehicle-fact-row span{padding:.3rem .45rem;border-radius:9px;color:#36556b;background:#edf6fb;font-size:.62rem;font-weight:800}
.provider-vehicle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.75rem;padding-top:.7rem;border-top:1px solid #e6edf3}.provider-vehicle-actions a{display:grid;min-height:37px;place-items:center;padding:.4rem;border-radius:10px;color:#36556b;background:#f5f8fc;font-size:.66rem;font-weight:900;text-align:center}.provider-vehicle-actions .primary-link{color:#fff;background:linear-gradient(135deg,#1675ef,#6e52e8)}.provider-vehicle-actions .danger-link{color:#a92d3e;background:#fff0f2}
.provider-empty-vehicle{grid-column:1/-1;display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px dashed #b3c4d5;border-radius:16px;background:#f8fbfe}.provider-empty-vehicle>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;color:#1769d4;background:#e4f2ff;font-size:1.5rem}.provider-empty-vehicle>div{flex:1}.provider-empty-vehicle h3,.provider-empty-vehicle p{margin:0}.provider-empty-vehicle p{margin-top:.18rem;color:#6b7d91;font-size:.73rem}
.vehicle-pricing-switcher{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);align-items:center;gap:1rem;margin:0 0 1rem;padding:1rem;border:1px solid #b9d8ff;border-radius:18px;background:linear-gradient(125deg,#eff8ff,#f7f2ff)}.vehicle-pricing-switcher>div{display:flex;align-items:center;gap:.7rem}.vehicle-pricing-switcher strong,.vehicle-pricing-switcher small{display:block}.vehicle-pricing-switcher small{margin-top:.15rem;color:#60738a}.vehicle-pricing-switcher select{min-height:50px;min-width:0;flex:1;font-weight:850}.vehicle-pricing-controls{justify-content:flex-end}.vehicle-pricing-controls .button{flex:0 0 auto;white-space:nowrap}.vehicle-switch-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#1675ef,#7352e8);font-weight:950}.transport-review-photo{width:170px;height:120px;overflow:hidden;border-radius:17px}.transport-review-photo img{width:100%;height:100%;object-fit:cover}

.existing-transporter-suggestions{margin:0 0 1rem;padding:1rem;border:1px solid #b9d8ff;border-radius:18px;background:linear-gradient(125deg,#f4fbff,#faf7ff)}.existing-transporter-suggestions header h3,.existing-transporter-suggestions header p{margin:.15rem 0}.existing-transporter-suggestions header p:last-child{color:#60738a}.existing-transporter-suggestions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.8rem}.existing-transporter-suggestions article{display:flex;align-items:center;gap:.7rem;padding:.75rem;border:1px solid #dce6ef;border-radius:14px;background:#fff}.existing-transporter-suggestions article>div{display:grid;min-width:0;flex:1}.existing-transporter-suggestions article small{overflow:hidden;color:#687b90;text-overflow:ellipsis;white-space:nowrap}.existing-transporter-suggestions article span{margin-top:.2rem;color:#1769d4;font-size:.66rem;font-weight:850}

@media(max-width:1050px){.provider-vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transporter-card-head{grid-template-columns:auto minmax(0,1fr) auto}.transporter-head-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:720px){.transport-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.transport-summary-strip article{padding:.7rem;border-radius:15px}.inventory-filter-sheet{border-radius:17px}.inventory-filter-sheet>summary{align-items:flex-start;flex-direction:column}.inventory-filter-sheet .transport-filter-bar{padding:.8rem}.inventory-filter-sheet .button{width:100%;justify-content:center}.transporter-card{border-radius:19px}.transporter-card-head{grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.8rem}.transporter-avatar{width:43px;height:43px;border-radius:14px}.transporter-title h2{font-size:1rem}.inventory-state-pill{grid-column:1/2;justify-self:start}.transporter-head-actions{grid-column:2;justify-content:flex-end;flex-wrap:wrap}.transporter-head-actions .button{min-height:40px;font-size:.65rem}.provider-vehicle-grid{grid-template-columns:1fr;gap:.7rem;padding:.75rem}.provider-vehicle-card{display:grid;grid-template-columns:105px minmax(0,1fr);border-radius:16px}.provider-vehicle-photo{height:100%;min-height:165px}.provider-vehicle-body{padding:.72rem}.provider-vehicle-actions{grid-template-columns:1fr 1fr}.vehicle-pricing-switcher{grid-template-columns:1fr;padding:.8rem}.vehicle-pricing-controls{align-items:stretch!important;flex-direction:column}.vehicle-pricing-switcher select,.vehicle-pricing-controls .button{width:100%;font-size:16px}.existing-transporter-suggestions>div{grid-template-columns:1fr}.existing-transporter-suggestions article{align-items:flex-start;flex-direction:column}.existing-transporter-suggestions article .button{width:100%;justify-content:center}.provider-empty-vehicle{align-items:flex-start;flex-wrap:wrap}.provider-empty-vehicle .button{width:100%;justify-content:center}.transport-review-photo{width:100%;height:175px}}

/* Compact hotel facility chips: easy to scan even with the expanded lodging list. */
.amenity-checkbox-grid ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem}
.amenity-checkbox-grid label{min-height:32px;padding:.35rem .48rem;border-radius:9px;font-size:.78rem;line-height:1.2}
.amenity-checkbox-grid input{flex:0 0 14px;width:14px;height:14px;margin:0;accent-color:#0d8d82}
@media(max-width:620px){.amenity-checkbox-grid ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Destination-first itinerary generator. */
.inventory-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.inventory-select-card{position:relative;display:grid;gap:.42rem;padding:1rem;border:1px solid #d8e3ef;border-radius:18px;background:#fff;color:#26384a;text-align:left;cursor:pointer}.inventory-select-card:hover,.inventory-select-card.is-selected,.inventory-choice-card.is-selected{border-color:#168f86;box-shadow:0 0 0 3px rgba(22,143,134,.12)}.inventory-select-card>strong{font-size:1.02rem}.inventory-select-card>small,.inventory-select-card>span,.inventory-select-card>em{color:#64768a;font-size:.75rem;font-style:normal}.inventory-select-card>b{color:#245069;font-size:.8rem}.inventory-select-card>i{position:absolute;right:.75rem;top:.75rem;padding:.25rem .5rem;border-radius:999px;background:#edf4fb;color:#49657e;font-size:.65rem;font-style:normal;font-weight:900}.inventory-select-card.is-selected>i{background:#dff8f2;color:#087766}.builder-step-error{margin:.7rem 0}.itinerary-final-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.itinerary-final-selection article{display:grid;gap:.25rem;padding:1rem;border:1px solid #d8e3ef;border-radius:16px;background:#f9fcff}.itinerary-final-selection small{color:#687a8d}.package-review-cover{width:100%;max-height:190px;object-fit:cover;border-radius:16px;margin-bottom:.8rem}.pricing-settings-panel{max-width:1100px}.markup-rule-list{display:grid;gap:1rem}.markup-rule-card{padding:1rem;border:1px solid #d7e3ef;border-radius:18px;background:#fbfdff}.markup-rule-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.markup-rule-card>header div{display:grid}.markup-rule-card>header small{color:#63788c;font-size:.65rem;font-weight:900}.delete-rule{display:flex;align-items:center;gap:.35rem;color:#a12d40;font-size:.75rem;font-weight:850}
@media(max-width:900px){.inventory-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.inventory-selection-grid,.itinerary-final-selection{grid-template-columns:1fr}.inventory-select-card{min-height:120px}.destination-itinerary-builder .itinerary-stepper{overflow-x:auto}.destination-itinerary-builder .itinerary-stepper button{min-width:125px}}
.vehicle-card-rate-list{display:grid;gap:.4rem;margin-top:.65rem}.vehicle-card-rate-list article{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .65rem;border-radius:11px;background:#f2f7fc}.vehicle-card-rate-list article>div{display:grid}.vehicle-card-rate-list article>div:last-child{text-align:right}.vehicle-card-rate-list small{color:#64768a;font-size:.64rem}.vehicle-card-rate-list b{font-size:.82rem}.rate-restricted{color:#7a8794;font-size:.68rem;font-weight:800}

/* Traveller-first itinerary generator. */
.destination-itinerary-builder .itinerary-stepper{grid-template-columns:repeat(5,minmax(0,1fr))}
.destination-itinerary-builder [hidden]{display:none!important}.destination-itinerary-builder .wizard-step-heading>span:first-child{color:#fff;background:linear-gradient(135deg,#0478ef,#7547e8)}
.inventory-choice-card[hidden],.inventory-select-card[hidden],.experience-select-card[hidden],[data-source-panel][hidden],[data-included-mark][hidden]{display:none!important}
.traveller-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.traveller-source-card{position:relative;cursor:pointer}.traveller-source-card>input{position:absolute;opacity:0;pointer-events:none}.traveller-source-card>span{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:.7rem;min-height:92px;padding:1rem;border:2px solid #e0e8f0;border-radius:18px;background:#fff;transition:.18s ease}.traveller-source-card>span>b{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#536b84;background:#edf4fa;font-size:1.15rem}.traveller-source-card>span>strong{align-self:end;color:#1d2f45}.traveller-source-card>span>small{color:#6a7b8e}.traveller-source-card>input:checked+span{border-color:#2878e8;background:linear-gradient(135deg,#f1faff,#f5efff);box-shadow:0 0 0 4px rgba(40,120,232,.09)}.traveller-source-card>input:checked+span>b{color:#fff;background:linear-gradient(135deg,#087dec,#7250e8)}
.traveller-existing-picker{margin-top:1rem;padding:1rem;border:1px solid #cfe0ef;border-radius:16px;background:#f7fbff}.traveller-existing-picker .form-field{margin:0}.traveller-contact-panel{margin-top:1rem;padding:1.1rem;border:1px solid #dce6ef;border-radius:19px;background:#fff}.traveller-contact-heading,.builder-subsection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.traveller-contact-heading h3,.traveller-contact-heading p,.builder-subsection-heading h3,.builder-subsection-heading p{margin:.12rem 0}.traveller-contact-heading p,.builder-subsection-heading p{color:#6b7d90}.traveller-contact-heading>span{padding:.35rem .55rem;border-radius:999px;color:#08745f;background:#e6faf3;font-size:.66rem;font-weight:900}.traveller-contact-panel input[readonly],.traveller-contact-panel textarea[readonly]{color:#506579;background:#f1f5f8}

.volvo-plan-card{padding:1rem;border:1px solid #cfdde9;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 10px 26px rgba(31,61,96,.07)}.volvo-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.volvo-plan-heading span{color:#e65100;font-size:.66rem;font-weight:950;letter-spacing:.08em}.volvo-plan-heading h3{margin:.15rem 0}.volvo-plan-heading p{max-width:720px;margin:0;color:#66798d;font-size:.78rem}.volvo-plan-add{border-color:#ffb37a!important;background:#fff7f0!important;color:#c65308!important}.volvo-plan-route{display:flex;align-items:center;gap:.55rem;margin:1rem 0;padding:.75rem 1rem;border-radius:14px;background:#172b4d;color:#fff;overflow-x:auto;white-space:nowrap}.volvo-plan-route span{padding:.3rem .55rem;border-radius:999px;background:#ff6d1a;font-size:.65rem;font-weight:950}.volvo-plan-route b{font-size:.75rem}.volvo-plan-route i{color:#89a7c8;font-style:normal}.volvo-plan-list{display:grid;gap:.7rem}.volvo-plan-row{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(95px,.45fr) 30px minmax(95px,.45fr) 38px;align-items:end;gap:.65rem;padding:.8rem;border:1px solid #dce5ee;border-radius:15px;background:#fff}.volvo-plan-row label{display:grid;gap:.28rem}.volvo-plan-row label small{color:#60758a;font-size:.61rem;font-weight:900}.volvo-plan-row select,.volvo-plan-row input{width:100%;min-height:43px;border:1px solid #c9d8e5;border-radius:10px;padding:.55rem .65rem;background:#fff}.volvo-plan-arrow{align-self:center;text-align:center;color:#f36b20;font-size:1.15rem;font-weight:950}.volvo-plan-remove{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:#fff0ec;color:#bc3b22;font-size:1.25rem;cursor:pointer}.volvo-plan-empty{display:grid;gap:.2rem;padding:1rem;border:1px dashed #b9cddd;border-radius:14px;background:#f9fcff;text-align:center}.volvo-plan-empty small{color:#6b7e91}.fixed-city-transport{padding:1rem;border:1px solid #dbe5ef;border-radius:18px;background:#f8fbff}.fixed-city-transport+.fixed-city-transport{border-top:1px solid #dbe5ef}

@media(max-width:720px){.volvo-plan-heading{flex-direction:column}.volvo-plan-add{width:100%}.volvo-plan-route{margin-inline:-.2rem}.volvo-plan-row{grid-template-columns:1fr 1fr}.volvo-plan-row label:first-child{grid-column:1/-1}.volvo-plan-arrow{display:none}.volvo-plan-remove{justify-self:end}}
.trip-input-panel{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:stretch}.trip-occupancy-summary{display:grid;align-content:center;gap:.45rem;padding:1.2rem;border-radius:19px;color:#fff;background:radial-gradient(circle at top right,rgba(83,228,215,.32),transparent 36%),linear-gradient(145deg,#073e5b,#24285c);box-shadow:0 15px 30px rgba(21,48,83,.18)}.trip-occupancy-summary>span{color:#9ee8e1;font-size:.65rem;font-weight:900}.trip-occupancy-summary>strong{font-size:1.35rem}.trip-occupancy-summary>small{color:#c7dbe7}
.builder-subsection{padding:1rem 0}.builder-subsection+.builder-subsection{margin-top:1rem;border-top:1px solid #e0e8ef}.builder-subsection-heading>div:last-child{display:flex;flex-wrap:wrap;gap:.7rem}.builder-subsection-heading>div>a,.builder-subsection-heading>a{color:#096bd2;font-size:.75rem;font-weight:900}.builder-subsection-heading>div:first-child>span{color:#087a73;font-size:.63rem;font-weight:950;letter-spacing:.08em}
.experience-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.experience-select-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:.8rem;align-items:center;min-height:96px;padding:.75rem;border:1px solid #dae5ef;border-radius:17px;background:#fff;cursor:pointer;transition:.18s ease}.experience-select-card>input{position:absolute;right:.7rem;top:.7rem;width:17px;height:17px;accent-color:#0a9482}.experience-select-card:has(input:checked){border-color:#0e9a87;background:#effdfa;box-shadow:0 0 0 3px rgba(14,154,135,.09)}.experience-card-media{display:grid;width:64px;height:70px;overflow:hidden;place-items:center;border-radius:13px;color:#4d54c4;background:linear-gradient(145deg,#e5f7ff,#eee8ff);font-size:1.4rem}.experience-card-media img{width:100%;height:100%;object-fit:cover}.experience-card-copy{display:grid;gap:.22rem;min-width:0}.experience-card-copy>small{color:#087a73;font-size:.61rem;font-weight:950;text-transform:uppercase}.experience-card-copy>strong{overflow:hidden;color:#1c3045;text-overflow:ellipsis;white-space:nowrap}.experience-card-copy>span{color:#697c90;font-size:.68rem}.experience-card-copy>b{width:max-content;padding:.2rem .38rem;border-radius:7px;color:#08745f;background:#dcf8ee;font-size:.56rem}.destination-itinerary-builder .itinerary-final-selection{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1050px){.destination-itinerary-builder .itinerary-stepper{overflow-x:auto;grid-template-columns:repeat(5,minmax(170px,1fr))}.experience-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-itinerary-builder .itinerary-final-selection{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.traveller-source-grid,.experience-selection-grid,.trip-input-panel{grid-template-columns:1fr}.traveller-source-card>span{min-height:78px}.traveller-contact-heading,.builder-subsection-heading{align-items:flex-start;flex-direction:column}.destination-itinerary-builder .itinerary-final-selection{grid-template-columns:1fr}.trip-occupancy-summary{min-height:130px}}
@media(max-width:720px){.coupon-form-grid,.coupon-apply-form{grid-template-columns:1fr}.coupon-rule-card dl div{align-items:flex-start;flex-direction:column}.coupon-rule-card dd{text-align:left}}

/* Amenity filters compose with the quotation's destination, date and meal-plan filters. */
.quote-hotel-amenity-filter{display:grid;gap:.75rem;margin:1rem 0;padding:.9rem 1rem;border:1px solid #cfe0ec;border-radius:17px;background:linear-gradient(135deg,#f6fbff,#fbf9ff)}
.quote-hotel-amenity-filter>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.quote-hotel-amenity-filter>header>div{display:flex;align-items:center;gap:.6rem}.quote-hotel-amenity-filter>header>div:first-child{display:grid;gap:.14rem}.quote-hotel-amenity-filter strong{color:#1c3046}.quote-hotel-amenity-filter small{color:#667b90}.quote-hotel-amenity-filter [data-hotel-match-count]{padding:.3rem .52rem;border-radius:999px;color:#176c68;background:#e2f8f3;font-size:.68rem;font-weight:900}.quote-hotel-amenity-filter [data-clear-hotel-amenities]{border:0;background:transparent;color:#176fd0;font-size:.72rem;font-weight:900;cursor:pointer}
.quote-hotel-amenity-chips{display:flex;flex-wrap:wrap;gap:.45rem}.quote-hotel-amenity-chips label{position:relative;cursor:pointer}.quote-hotel-amenity-chips input{position:absolute;opacity:0;pointer-events:none}.quote-hotel-amenity-chips span{display:flex;align-items:center;min-height:34px;padding:.38rem .7rem;border:1px solid #d3e0eb;border-radius:999px;color:#445d73;background:#fff;font-size:.72rem;font-weight:800;transition:.15s ease}.quote-hotel-amenity-chips input:checked+span{border-color:#0c9482;color:#087362;background:#ddf8f1;box-shadow:0 0 0 2px rgba(12,148,130,.1)}.quote-hotel-amenity-chips input:focus-visible+span{outline:2px solid #1675ef;outline-offset:2px}
@media(max-width:720px){.quote-hotel-amenity-filter>header{align-items:flex-start;flex-direction:column}.quote-hotel-amenity-filter>header>div:last-child{width:100%;justify-content:space-between}.quote-hotel-amenity-chips{max-height:170px;overflow:auto}.quote-hotel-amenity-chips span{min-height:38px}}
/* v68: package-free full-page quotation planner. */
.tjp-quote-planner{display:grid;gap:.85rem}.tjp-planner-topbar{position:sticky;top:70px;z-index:25;display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(190px,.65fr) auto auto;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #dbe7ea;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(28,59,82,.09);backdrop-filter:blur(15px)}
.tjp-back-link,.tjp-trip-field,.tjp-guest-button{display:flex;align-items:center;gap:.45rem;min-height:46px;border:1px solid #dce7e9;border-radius:999px;color:#15384b;background:#fff;text-decoration:none}.tjp-back-link{padding:.6rem .8rem;font-size:.72rem;font-weight:900}.tjp-trip-field{padding:0 .72rem}.tjp-trip-field>span{color:#08a187;font-size:1.05rem}.tjp-trip-field select,.tjp-trip-field input{width:100%;min-height:43px!important;padding:.4rem .15rem!important;border:0!important;background:transparent!important;box-shadow:none!important;font-weight:850}.tjp-guest-button{padding:.6rem .8rem;cursor:pointer}.tjp-planner-tabs{display:flex;align-items:center;gap:.3rem;overflow:auto;padding:.42rem;border:1px solid #dce8ea;border-radius:17px;background:#fff}.tjp-planner-tabs button{min-height:42px;padding:.5rem .75rem;border:0;border-radius:13px;color:#617b8b;background:transparent;font-size:.73rem;font-weight:900;white-space:nowrap;cursor:pointer;transition:.16s ease}.tjp-planner-tabs button.active,.tjp-planner-tabs button:hover{color:#087a67;background:#def8f2}.tjp-planner-tabs .tjp-readiness{margin-left:auto;padding:.45rem .7rem;border-radius:999px;color:#8a6208;background:#fff5d8;font-size:.65rem;font-weight:900}.tjp-planner-tabs>small{color:#708797;font-size:.62rem;white-space:nowrap}
.tjp-planner-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:480px;overflow:hidden;border:1px solid #d6e5e8;border-radius:22px;background:#fff;box-shadow:0 20px 48px rgba(26,56,78,.08)}.tjp-planner-shell>main{min-width:0}.tjp-route-columns,.tjp-route-row{display:grid;grid-template-columns:minmax(220px,1.35fr) 110px repeat(3,minmax(125px,.7fr));align-items:center;gap:.6rem}.tjp-route-columns{padding:.9rem 1.1rem;border-bottom:1px solid #e1eaec;color:#173d50;font-size:.68rem;font-weight:950}.tjp-route-row{min-height:145px;padding:1.15rem;border-bottom:1px solid #e2ebed}.tjp-route-destination{display:flex;align-items:center;gap:.7rem;min-width:0}.tjp-route-destination>b{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border:2px solid #13b596;border-radius:50%;color:#087762}.tjp-route-destination>div{display:grid;min-width:0}.tjp-route-destination strong{overflow:hidden;color:#15364b;text-overflow:ellipsis;white-space:nowrap}.tjp-route-destination small{color:#6d8494;font-size:.65rem}.tjp-night-control{display:flex;align-items:center;justify-content:center;gap:.3rem}.tjp-night-control button{width:30px;height:30px;border:0;color:#164e61;background:transparent;font-size:1.25rem;font-weight:950;cursor:pointer}.tjp-night-control input{width:45px!important;height:45px;padding:0!important;border-radius:50%!important;text-align:center;font-weight:950;-moz-appearance:textfield}.tjp-night-control input::-webkit-inner-spin-button{display:none}.tjp-add-slot{display:grid;justify-items:center;gap:.35rem;min-width:0;border:0;color:#536f82;background:transparent;cursor:pointer}.tjp-add-slot i{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;color:#fff;background:#10b595;font-size:.88rem;font-style:normal;font-weight:950;transition:.16s ease}.tjp-add-slot.service i{background:#ffb22b}.tjp-add-slot.transport i{background:#ff4e7f}.tjp-add-slot:hover i{transform:scale(1.1);box-shadow:0 8px 18px rgba(20,86,100,.2)}.tjp-add-slot span{width:100%;overflow:hidden;font-size:.62rem;font-weight:850;text-align:center;text-overflow:ellipsis;white-space:nowrap}.tjp-route-help{display:flex;align-items:center;gap:.75rem;margin:1rem;padding:1rem;border-radius:15px;color:#426479;background:#f0faf8}.tjp-route-help>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:#10a98c}.tjp-route-help p{margin:0;font-size:.7rem}.tjp-route-help strong{display:block;color:#16394d}
.tjp-route-visual{position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;padding:1.1rem;background:radial-gradient(circle at 18% 20%,rgba(13,185,151,.23),transparent 25%),radial-gradient(circle at 82% 70%,rgba(70,117,238,.18),transparent 25%),linear-gradient(145deg,#e7fbf6,#eef7ff 58%,#f5f0ff)}.tjp-route-visual:after{content:"";position:absolute;inset:20% -22%;border:2px dashed rgba(15,139,124,.24);border-radius:50%;transform:rotate(-32deg)}.tjp-route-visual>*{z-index:1}.tjp-route-visual>div{display:grid}.tjp-route-visual small{color:#087a68;font-size:.62rem;font-weight:950}.tjp-route-visual section{display:grid;grid-template-columns:30px 1fr 30px;align-items:center}.tjp-route-visual section span{display:grid;width:30px;height:30px;place-items:center;border:5px solid #fff;border-radius:50%;color:#fff;background:#10ad90;box-shadow:0 8px 18px rgba(15,110,96,.2)}.tjp-route-visual section span:last-child{background:#ff4e7f}.tjp-route-visual section b{height:4px;background:repeating-linear-gradient(90deg,#13aa8c 0 11px,transparent 11px 17px);transform:rotate(-12deg)}.tjp-route-visual>p{align-self:end;margin:0;padding:.75rem;border-radius:13px;color:#587385;background:rgba(255,255,255,.84);font-size:.63rem;line-height:1.5}
.tjp-section-heading{display:flex;justify-content:space-between;padding:1.2rem;border-bottom:1px solid #e1eaed}.tjp-section-heading small{color:#07816e;font-size:.62rem;font-weight:950}.tjp-section-heading h2,.tjp-section-heading p{margin:.2rem 0}.tjp-section-heading p{color:#698091;font-size:.7rem}.tjp-day-list{display:grid}.tjp-day-list>article{padding:1rem 1.2rem;border-bottom:1px solid #e1eaed}.tjp-day-list article>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tjp-day-list article>header>span{display:grid;padding:.45rem .65rem;border-radius:12px;color:#087a67;background:#e0f8f2;font-size:.68rem;font-weight:950}.tjp-day-list article>header small{font-size:.58rem}.tjp-day-list article>header button{padding:.5rem .65rem;border:1px solid #f2c466;border-radius:999px;color:#926000;background:#fff8e7;font-size:.64rem;font-weight:900;cursor:pointer}.tjp-day-list article>div{display:grid;grid-template-columns:1fr 1.5fr;gap:.65rem;margin:.75rem 0}.tjp-day-list label{display:grid;gap:.3rem;color:#4d697c;font-size:.62rem;font-weight:850}.tjp-day-list textarea{min-height:78px}.tjp-day-list article>section{display:flex;flex-wrap:wrap;gap:.4rem}.tjp-day-list article>section span{padding:.35rem .55rem;border-radius:999px;color:#81600a;background:#fff3cf;font-size:.61rem;font-weight:800}.tjp-day-list article>section small,.tjp-day-list article>footer{color:#748999;font-size:.61rem}.tjp-day-list article>footer{margin-top:.65rem}.tjp-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;padding:1.1rem}.tjp-calendar article{display:grid;min-height:145px;padding:.85rem;border:1px solid #dce7ea;border-radius:16px;background:#fbfdfd}.tjp-calendar small{color:#087b68}.tjp-calendar span,.tjp-calendar p{color:#6c8292;font-size:.63rem}.tjp-calendar p{align-self:end;margin:.4rem 0 0}.tjp-summary-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;padding:1.1rem}.tjp-summary-cards article{display:grid;min-width:0;padding:.75rem;border:1px solid #dde8ea;border-radius:14px;background:#fbfdfd}.tjp-summary-cards small,.tjp-summary-cards span{color:#708696;font-size:.59rem}.tjp-summary-cards strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.tjp-summary-form{display:grid;gap:.8rem;padding:1.1rem}.tjp-source-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.tjp-source-choices label{position:relative}.tjp-source-choices input{position:absolute;opacity:0}.tjp-source-choices span{display:grid;min-height:48px;place-items:center;border:1px solid #dbe6e9;border-radius:13px;color:#536f80;font-size:.68rem;font-weight:900;cursor:pointer}.tjp-source-choices input:checked+span{border-color:#0eaa8e;color:#08705e;background:#dff8f2;box-shadow:0 0 0 3px rgba(14,170,142,.1)}.tjp-summary-form>[data-source-box] label,.tjp-summary-form>.span-all{display:grid;gap:.3rem;color:#4f6b7d;font-size:.64rem;font-weight:850}.tjp-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.tjp-contact-grid label{display:grid;gap:.3rem;color:#4f6b7d;font-size:.64rem;font-weight:850}.tjp-contact-grid textarea{min-height:70px}.tjp-check-line{display:flex!important;align-items:center;gap:.45rem}.tjp-create-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:.7rem;padding:1rem;border-top:1px solid #dfe8eb;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}
.tjp-library-open{overflow:hidden}.tjp-library-screen{position:fixed;z-index:3000;inset:0;overflow:auto;background:#f5f9fa;animation:tjpScreenIn .2s cubic-bezier(.2,.8,.2,1) both}.tjp-library-screen[hidden]{display:none!important}.tjp-library-screen.closing{animation:tjpScreenOut .14s ease-in both}.tjp-library-topbar{position:sticky;z-index:5;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:72px;padding:.7rem 1.2rem;border-bottom:1px solid #d9e5e8;background:rgba(255,255,255,.97);box-shadow:0 8px 26px rgba(20,52,73,.07);backdrop-filter:blur(16px)}.tjp-library-topbar>button{padding:.6rem .8rem;border:1px solid #d9e5e8;border-radius:999px;color:#173c50;background:#fff;font-weight:900;cursor:pointer}.tjp-library-topbar>div{display:grid}.tjp-library-topbar>div small,.tjp-library-topbar>span{color:#6b8393;font-size:.65rem}.tjp-day-target{display:flex;align-items:center;gap:.45rem;color:#486779;font-size:.68rem;font-weight:900}.tjp-day-target select{min-width:170px}.tjp-library-layout{display:grid;grid-template-columns:250px minmax(0,1fr);width:min(1450px,100%);min-height:calc(100vh - 72px);margin:auto}.tjp-library-layout.compact-filters{grid-template-columns:270px minmax(0,1fr)}.tjp-library-filters{position:sticky;top:72px;align-self:start;display:grid;gap:.75rem;max-height:calc(100vh - 72px);overflow:auto;padding:1.2rem;border-right:1px solid #dce7e9;background:#fff}.tjp-library-filters h3,.tjp-library-filters p{margin:0}.tjp-library-filters>label{display:grid;gap:.3rem;color:#4c687a;font-size:.65rem;font-weight:850}.tjp-library-filters fieldset{display:grid;gap:.4rem;padding:0;border:0}.tjp-library-filters legend{margin-bottom:.45rem;font-size:.68rem;font-weight:950}.tjp-filter-check{display:flex!important;align-items:center;gap:.45rem}.tjp-filter-check input{width:17px;height:17px;accent-color:#0ba98d}.tjp-library-filters>button{min-height:42px;padding:.55rem .7rem;border:1px solid #dce7e9;border-radius:12px;color:#536f81;background:#fff;text-align:left;font-size:.67rem;font-weight:900;cursor:pointer}.tjp-library-filters>button.active{border-color:#e9b64d;color:#875b00;background:#fff5d9}.tjp-filter-note{display:grid;gap:.25rem;padding:.75rem;border-radius:13px;color:#547083;background:#f0f7f8;font-size:.64rem}.tjp-library-results{min-width:0;padding:1.2rem}.tjp-library-results>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tjp-library-results>header small{color:#07816e;font-size:.6rem;font-weight:950}.tjp-library-results>header h2,.tjp-library-results>header p{margin:.2rem 0}.tjp-library-results>header p{color:#6a8191;font-size:.68rem}.tjp-library-results>header>b{padding:.45rem .65rem;border-radius:999px;color:#08725f;background:#ddf8f1;font-size:.65rem}.tjp-hotel-results,.tjp-transport-results,.tjp-service-results{display:grid;gap:.8rem}.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article{display:grid;grid-template-columns:190px minmax(0,1fr) 220px;min-height:180px;overflow:hidden;border:1px solid #d9e5e8;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(23,57,78,.05);transition:.17s ease}.tjp-hotel-results>article:hover,.tjp-transport-results>article:hover,.tjp-service-results>article:hover,.tjp-hotel-results>article.selected,.tjp-transport-results>article.selected,.tjp-service-results>article.selected{transform:translateY(-2px);border-color:#75cdbf;box-shadow:0 16px 34px rgba(22,69,87,.11)}.tjp-hotel-results>article[hidden],.tjp-transport-results>article[hidden],.tjp-service-results>article[hidden]{display:none}.tjp-card-media{display:grid;min-height:180px;place-items:center;overflow:hidden;color:#087a67;background:linear-gradient(145deg,#dff8f1,#ebf5ff);font-size:2.4rem;font-weight:950}.tjp-card-media.transport{color:#be3d6d;background:linear-gradient(145deg,#ffe6ef,#edf4ff)}.tjp-card-media.service{color:#a36d08;background:linear-gradient(145deg,#fff0c9,#fff9e8)}.tjp-card-media img{width:100%;height:100%;object-fit:cover}.tjp-card-copy{display:grid;align-content:center;gap:.25rem;padding:1rem}.tjp-card-copy small{color:#087b68;font-size:.61rem;font-weight:950}.tjp-card-copy h3,.tjp-card-copy p{margin:0}.tjp-card-copy p,.tjp-card-copy span{color:#667e8f;font-size:.68rem}.tjp-card-price{display:grid;align-content:center;justify-items:end;gap:.3rem;padding:1rem;background:#f9fcfc;text-align:right}.tjp-card-price small,.tjp-card-price em{color:#6b8191;font-size:.61rem;font-style:normal}.tjp-card-price strong{font-size:.95rem}.tjp-card-price b[data-selected-day]{color:#087563;font-size:.62rem}.tjp-service-results input{position:absolute;opacity:0}.tjp-library-empty{padding:3rem;text-align:center;border:1px dashed #b9ccd3;border-radius:18px;color:#627b8c;background:#fff}.tjp-library-empty strong{color:#193b4e}
@keyframes tjpScreenIn{from{opacity:.35;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes tjpScreenOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}
@media(max-width:1050px){.tjp-planner-topbar{grid-template-columns:auto 1fr 1fr}.tjp-planner-topbar>.tjp-guest-button,.tjp-planner-topbar>.button{grid-row:2}.tjp-planner-shell{grid-template-columns:1fr}.tjp-route-visual{min-height:190px}.tjp-route-columns,.tjp-route-row{min-width:760px}.tjp-planner-shell>main{overflow-x:auto}.tjp-planner-shell>main>[data-planner-panel]{min-width:760px}.tjp-summary-cards{grid-template-columns:repeat(3,1fr)}.tjp-library-layout,.tjp-library-layout.compact-filters{grid-template-columns:220px minmax(0,1fr)}.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article{grid-template-columns:145px minmax(0,1fr) 190px}}
@media(max-width:700px){.tjp-planner-topbar{position:static;grid-template-columns:1fr 1fr;padding:.6rem}.tjp-planner-topbar>.tjp-back-link,.tjp-planner-topbar>.tjp-trip-field{grid-column:1/-1}.tjp-planner-tabs .tjp-readiness{margin-left:0}.tjp-planner-tabs>small{display:none}.tjp-planner-shell{border-radius:16px}.tjp-route-visual{display:none}.tjp-summary-cards,.tjp-contact-grid{grid-template-columns:1fr}.tjp-library-topbar{grid-template-columns:1fr auto}.tjp-library-topbar>div{grid-column:1/-1;grid-row:2}.tjp-library-layout,.tjp-library-layout.compact-filters{display:block}.tjp-library-filters{position:static;max-height:none;border-right:0;border-bottom:1px solid #dce7e9}.tjp-library-results{padding:.7rem}.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article{grid-template-columns:100px minmax(0,1fr)}.tjp-card-media{min-height:130px}.tjp-card-price{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;justify-items:start;text-align:left}.tjp-card-price .button{grid-column:2;grid-row:1/5}.tjp-day-list article>div{grid-template-columns:1fr}.tjp-source-choices{grid-template-columns:1fr}.tjp-create-footer .button{flex:1}}
@media(prefers-reduced-motion:reduce){.tjp-library-screen,.tjp-library-screen.closing{animation:none!important}.tjp-planner-tabs button,.tjp-add-slot i,.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article{transition:none!important}}

/* v69: app-style Trips workspace and multi-destination planner. */
html{scroll-behavior:smooth}.tjp-hidden-compat{display:none!important}.tjp-trip-planner{display:grid;gap:.8rem;color:#15364b}.tjp-trip-start{position:fixed;z-index:4100;inset:0;display:grid;overflow:auto;place-items:center;padding:clamp(1rem,4vw,3rem);background:radial-gradient(circle at 12% 8%,rgba(29,202,169,.22),transparent 26%),radial-gradient(circle at 88% 90%,rgba(97,84,225,.18),transparent 30%),#eff7f8;animation:tjpScreenIn .22s ease both}.tjp-trip-start[hidden]{display:none!important}.tjp-trip-start-card{width:min(850px,100%);overflow:hidden;border:1px solid rgba(160,194,200,.7);border-radius:28px;background:rgba(255,255,255,.98);box-shadow:0 35px 80px rgba(18,54,73,.18)}.tjp-trip-start-card>header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.35rem;border-bottom:1px solid #e2ecee}.tjp-trip-start-card>header a{color:#19465b;font-weight:900;text-decoration:none}.tjp-trip-start-card>header span{color:#07957e;font-size:.65rem;font-weight:950;letter-spacing:.12em}.tjp-trip-start-copy{padding:1.7rem 1.7rem .8rem}.tjp-trip-start-copy small{color:#06947c;font-size:.65rem;font-weight:950;letter-spacing:.12em}.tjp-trip-start-copy h1{margin:.3rem 0;font-size:clamp(1.8rem,4vw,2.65rem)}.tjp-trip-start-copy p{margin:0;color:#6a8191}.tjp-trip-start-card>.notice{margin:.7rem 1.7rem}.tjp-trip-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 1.7rem 1.7rem}.tjp-trip-detail-grid label{display:grid;gap:.4rem;color:#3e5e71;font-size:.7rem;font-weight:900}.tjp-trip-detail-grid label.wide{grid-column:1/-1}.tjp-trip-detail-grid label>span{display:flex;justify-content:space-between}.tjp-trip-detail-grid em{color:#8396a2;font-size:.6rem;font-style:normal;font-weight:700}.tjp-trip-detail-grid input,.tjp-trip-detail-grid select{min-height:52px;border-radius:14px!important}.tjp-trip-detail-grid small{color:#758b9a;font-size:.6rem;font-weight:700}.tjp-trip-start-card>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.7rem;border-top:1px solid #e2ecee;background:#f8fbfb}.tjp-trip-start-card>footer small{color:#708694}.tjp-trip-start-card>footer .button{min-height:49px;padding-inline:1.2rem}.tjp-planner-notice{margin:0}
.tjp-app-bar{position:sticky;top:70px;z-index:24;display:flex;align-items:center;gap:.6rem;min-height:66px;padding:.65rem .8rem;border:1px solid #d9e7e8;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(25,61,80,.09);backdrop-filter:blur(16px)}.tjp-app-trip-name{display:flex;align-items:center;gap:.55rem;min-width:0;margin-right:auto}.tjp-app-trip-name i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#0ec19d;box-shadow:0 0 0 5px rgba(14,193,157,.12)}.tjp-app-trip-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tjp-app-chip{display:flex;align-items:center;gap:.35rem;min-height:40px;padding:.55rem .75rem;border:1px solid #dce8e9;border-radius:999px;color:#31566a;background:#fff;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer}.tjp-app-tabs{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding:.4rem;border:1px solid #dbe8ea;border-radius:17px;background:#fff}.tjp-app-tabs button{min-height:42px;padding:.55rem .8rem;border:0;border-radius:13px;color:#66808f;background:transparent;font-size:.7rem;font-weight:900;white-space:nowrap;cursor:pointer}.tjp-app-tabs button.active,.tjp-app-tabs button:hover{color:#087763;background:#dcf8f1}.tjp-app-tabs .tjp-readiness{margin-left:auto;padding:.45rem .65rem;border-radius:999px;color:#8d6304;background:#fff3cf;font-size:.62rem;font-weight:950}.tjp-app-tabs>small{padding-right:.5rem;color:#718897;font-size:.6rem;white-space:nowrap}
.tjp-app-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:540px;overflow:hidden;border:1px solid #d5e5e8;border-radius:23px;background:#fff;box-shadow:0 20px 48px rgba(27,57,77,.08)}.tjp-app-shell>main{min-width:0}.tjp-multi-route-columns,.tjp-multi-route-row{display:grid;grid-template-columns:minmax(180px,1.35fr) 90px repeat(3,minmax(105px,.7fr)) 34px;align-items:center;gap:.55rem}.tjp-multi-route-columns{padding:1rem 1.1rem;border-bottom:1px solid #e2ebed;color:#254b5e;font-size:.65rem;font-weight:950}.tjp-multi-route-row{min-height:125px;padding:1rem 1.1rem;border-bottom:1px solid #e2ebed;transition:background .16s ease}.tjp-multi-route-row:hover{background:#fbfefe}.tjp-multi-route-row .tjp-night-control strong{display:grid;width:40px;height:40px;place-items:center;border:1px solid #d8e5e7;border-radius:50%;background:#fff;box-shadow:0 5px 14px rgba(32,73,91,.07)}.tjp-add-slot.selected i{background:#0ba487}.tjp-remove-stop{width:30px;height:30px;border:1px solid #ffd5dc;border-radius:50%;color:#df3e62;background:#fff5f7;font-size:1.1rem;cursor:pointer}.tjp-remove-stop:disabled{opacity:.28;cursor:not-allowed}.tjp-add-destination{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:.7rem;padding:1rem 1.1rem;border-bottom:1px solid #e1eaec;background:#fbfdfd}.tjp-add-destination>span{color:#0b907b;font-size:1.25rem}.tjp-add-destination select{min-height:45px}.tjp-add-destination label{display:flex;align-items:center;gap:.45rem;color:#5b7484;font-size:.64rem;font-weight:850;white-space:nowrap}.tjp-add-destination input{width:64px;min-height:42px;text-align:center}.tjp-route-tip{display:flex;gap:.65rem;margin:1rem;padding:.9rem;border-radius:14px;color:#4d6c7d;background:#eef9f7;font-size:.67rem}.tjp-route-tip b{color:#08735f}.tjp-add-day-button{display:flex;width:calc(100% - 2rem);min-height:52px;align-items:center;justify-content:center;margin:1rem;border:1px dashed #7fcabd;border-radius:15px;color:#087661;background:#f1fcf9;font-weight:900;cursor:pointer}.tjp-remarks{display:grid;gap:.4rem;margin:0 1.1rem 1rem;color:#456578;font-size:.68rem;font-weight:900}.tjp-remarks textarea{min-height:90px}.tjp-final-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1rem;padding:1.1rem}.tjp-final-layout .tjp-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 0 1rem}.tjp-final-layout>.tjp-admin-price{align-self:start}.tjp-admin-price{overflow:hidden;border:1px solid #d5e5e5;border-radius:19px;background:#f9fcfc}.tjp-admin-price>header{padding:1rem;border-bottom:1px solid #dfeaea;background:linear-gradient(135deg,#e7faf5,#eef6ff)}.tjp-admin-price>header small{color:#087966;font-size:.58rem;font-weight:950}.tjp-admin-price h3,.tjp-admin-price p{margin:.2rem 0}.tjp-admin-price p,.tjp-admin-price>small{color:#6b8190;font-size:.61rem}.tjp-admin-price dl{margin:0;padding:.65rem 1rem}.tjp-admin-price dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.58rem 0;border-bottom:1px solid #e4ecee;font-size:.68rem}.tjp-admin-price dt{color:#587184}.tjp-admin-price dd{margin:0;color:#193c50;font-weight:900}.tjp-admin-price dl>.total{padding-top:.85rem;border:0;font-size:.78rem}.tjp-admin-price dl>.total dd{color:#087763;font-size:1rem}.tjp-admin-price>small{display:block;padding:0 1rem 1rem}.tjp-route-canvas{display:grid;grid-template-rows:auto 1fr auto;padding:1rem;background:radial-gradient(circle at 20% 18%,rgba(15,192,155,.24),transparent 25%),radial-gradient(circle at 80% 75%,rgba(78,102,225,.16),transparent 28%),linear-gradient(145deg,#eafaf6,#eef6ff)}.tjp-route-canvas>header{display:grid}.tjp-route-canvas>header small{color:#087966;font-size:.58rem;font-weight:950}.tjp-route-canvas>div{align-self:center;display:grid;gap:.2rem;padding:.8rem}.tjp-route-canvas article{position:relative;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:.6rem;min-height:63px}.tjp-route-canvas article>b{z-index:2;display:grid;width:30px;height:30px;place-items:center;border:5px solid #fff;border-radius:50%;color:#fff;background:#0cad8e;box-shadow:0 7px 16px rgba(13,126,105,.2)}.tjp-route-canvas article>div{display:grid}.tjp-route-canvas article small{color:#617a8b;font-size:.6rem}.tjp-route-canvas article>i{position:absolute;z-index:1;top:45px;left:14px;width:2px;height:34px;background:repeating-linear-gradient(#0da88b 0 7px,transparent 7px 11px)}.tjp-route-canvas>footer{display:flex;gap:.6rem;padding:.8rem;border-radius:13px;background:rgba(255,255,255,.78)}.tjp-route-canvas>footer span{color:#0a917a;font-size:1.2rem}.tjp-route-canvas>footer p{margin:0;color:#5c7586;font-size:.62rem;line-height:1.5}
.tjp-inventory-screen{position:fixed;z-index:4000;inset:0;overflow:auto;background:#f4f8f9;animation:tjpScreenIn .2s cubic-bezier(.2,.8,.2,1) both}.tjp-inventory-screen[hidden]{display:none!important}.tjp-inventory-screen.closing{animation:tjpScreenOut .14s ease-in both}.tjp-inventory-top{position:sticky;z-index:5;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:72px;padding:.7rem 1rem;border-bottom:1px solid #d9e5e7;background:rgba(255,255,255,.97);box-shadow:0 8px 25px rgba(22,55,74,.07);backdrop-filter:blur(15px)}.tjp-inventory-top>button{padding:.6rem .8rem;border:1px solid #d9e6e8;border-radius:999px;color:#173d50;background:#fff;font-weight:900;cursor:pointer}.tjp-inventory-top>div{display:grid}.tjp-inventory-top>div small,.tjp-inventory-top>span{color:#6b8292;font-size:.65rem}.tjp-inventory-grid{display:grid;grid-template-columns:215px minmax(420px,1fr) minmax(260px,30vw);min-height:calc(100vh - 72px)}.tjp-inventory-filters{position:sticky;top:72px;align-self:start;display:grid;gap:.75rem;max-height:calc(100vh - 72px);overflow:auto;padding:1rem;border-right:1px solid #dce7e9;background:#fff}.tjp-inventory-filters h3{margin:0}.tjp-inventory-filters>label{display:grid;gap:.35rem;color:#4d697a;font-size:.66rem;font-weight:850}.tjp-inventory-filters fieldset{display:grid;gap:.45rem;padding:0;border:0}.tjp-inventory-filters legend{margin-bottom:.45rem;font-size:.67rem;font-weight:950}.tjp-inventory-filters>button{min-height:42px;padding:.55rem .7rem;border:1px solid #dbe7e9;border-radius:12px;color:#536f80;background:#fff;text-align:left;font-size:.67rem;font-weight:900;cursor:pointer}.tjp-inventory-filters>button.active{border-color:#efbd4d;color:#835900;background:#fff5d7}.tjp-inventory-results{min-width:0;padding:1rem}.tjp-inventory-results>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.tjp-inventory-results>header small{color:#087966;font-size:.58rem;font-weight:950}.tjp-inventory-results h2,.tjp-inventory-results p{margin:.2rem 0}.tjp-inventory-results>header p{color:#6b8191;font-size:.65rem}.tjp-inventory-results>header>b{padding:.4rem .6rem;border-radius:999px;color:#08735f;background:#ddf8f1;font-size:.62rem}.tjp-inventory-card{position:relative;display:grid;grid-template-columns:145px minmax(0,1fr) 170px;min-height:145px;overflow:hidden;margin-bottom:.75rem;border:1px solid #d9e5e8;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(24,58,78,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tjp-inventory-card[hidden]{display:none}.tjp-inventory-card:hover,.tjp-inventory-card.selected{transform:translateY(-2px);border-color:#71cdbd;box-shadow:0 15px 30px rgba(22,70,87,.1)}.tjp-inventory-card>input{position:absolute;opacity:0}.tjp-inventory-media{display:grid;min-height:145px;overflow:hidden;place-items:center;color:#087762;background:linear-gradient(145deg,#dff8f1,#edf5ff);font-size:2rem;font-weight:950}.tjp-inventory-media img{width:100%;height:100%;object-fit:cover}.tjp-inventory-copy{display:grid;align-content:center;gap:.25rem;min-width:0;padding:.85rem}.tjp-inventory-copy small{color:#087966;font-size:.58rem;font-weight:950}.tjp-inventory-copy h3,.tjp-inventory-copy p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.tjp-inventory-copy p,.tjp-inventory-copy span{color:#657d8e;font-size:.64rem}.tjp-inventory-price{display:grid;align-content:center;justify-items:end;gap:.3rem;padding:.85rem;background:#f9fcfc;text-align:right}.tjp-inventory-price small,.tjp-inventory-price em{color:#6c8292;font-size:.6rem;font-style:normal}.tjp-inventory-price b[data-selected-day]{color:#08735f;font-size:.6rem}.tjp-inventory-visual{position:sticky;top:72px;align-self:start;display:grid;grid-template-rows:auto 1fr auto;min-height:calc(100vh - 72px);overflow:hidden;padding:1rem;background:radial-gradient(circle at 80% 20%,rgba(14,193,157,.22),transparent 25%),radial-gradient(circle at 25% 75%,rgba(68,102,221,.18),transparent 28%),linear-gradient(145deg,#e6f8f3,#eaf3fb)}.tjp-inventory-visual:before{content:"";position:absolute;inset:28% -25%;border:4px solid rgba(255,76,126,.58);border-radius:50%;transform:rotate(55deg)}.tjp-inventory-visual>*{position:relative;z-index:1}.tjp-visual-toolbar{display:flex;align-items:center;gap:.4rem}.tjp-visual-toolbar>span{width:44px;height:24px;border-radius:999px;background:#12ba99;box-shadow:inset 0 0 0 4px #fff}.tjp-visual-toolbar button{width:36px;height:36px;border:0;border-radius:50%;background:#fff;box-shadow:0 6px 15px rgba(31,69,88,.1)}.tjp-visual-path,.tjp-visual-activities{align-self:center;display:grid;justify-items:center;gap:.65rem}.tjp-visual-path i{width:4px;height:160px;background:repeating-linear-gradient(#ff4d7e 0 12px,transparent 12px 19px);transform:rotate(22deg)}.tjp-visual-path b,.tjp-visual-activities b{display:grid;width:44px;height:34px;place-items:center;border:5px solid #fff;border-radius:999px;color:#fff;background:#0da98c;box-shadow:0 8px 18px rgba(25,72,89,.15)}.tjp-visual-route{align-self:center;display:grid;justify-items:center;gap:.7rem}.tjp-visual-route i{width:4px;height:190px;background:repeating-linear-gradient(#ff4d7e 0 13px,transparent 13px 20px)}.tjp-visual-route strong{padding:.45rem .7rem;border-radius:999px;background:#fff;box-shadow:0 7px 17px rgba(27,63,82,.1)}.tjp-visual-activities b{background:#ffb52d}.tjp-inventory-visual>footer{align-self:end;padding:.7rem;border-radius:12px;background:rgba(255,255,255,.78);color:#5d7686;font-size:.6rem;text-align:center}
.tjp-trips-home{display:grid;gap:1rem}.tjp-trips-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.35rem;border:1px solid #dae7e9;border-radius:23px;background:radial-gradient(circle at 90% 15%,rgba(14,192,156,.18),transparent 25%),linear-gradient(145deg,#fff,#f5fbfb);box-shadow:0 14px 35px rgba(25,59,78,.07)}.tjp-trips-hero h1,.tjp-trips-hero p{margin:.25rem 0}.tjp-trips-hero p:last-child{color:#667e8e}.tjp-trips-actions{display:flex;gap:.6rem}.tjp-trip-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.tjp-trip-metrics article{display:grid;gap:.4rem;padding:1rem;border:1px solid #dbe7e9;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(28,60,80,.05)}.tjp-trip-metrics span{color:#667e8e;font-size:.67rem}.tjp-trip-metrics strong{font-size:1.5rem}.tjp-trip-filter{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border:1px solid #dbe7e9;border-radius:16px;background:#fff}.tjp-trip-filter label{font-size:.68rem;font-weight:900}.tjp-trip-filter select{max-width:240px}.tjp-trip-list{display:grid;gap:.75rem}.tjp-trip-list-card{overflow:hidden;border:1px solid #d9e6e8;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(26,59,78,.06);transition:.16s ease}.tjp-trip-list-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(24,61,80,.1)}.tjp-trip-list-main{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;color:inherit;text-decoration:none}.tjp-trip-avatar{display:grid;width:56px;height:56px;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(145deg,#0db493,#4b66df);font-size:1.25rem;font-weight:950}.tjp-trip-list-main small,.tjp-trip-list-main p{color:#6a8191;font-size:.65rem}.tjp-trip-list-main h2,.tjp-trip-list-main p{margin:.2rem 0}.tjp-trip-price{display:grid;justify-items:end}.tjp-trip-price strong{font-size:1.1rem}.tjp-trip-list-card>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-top:1px solid #e4ecee;color:#657d8d;font-size:.64rem;background:#fbfdfd}.tjp-trip-list-card>footer>div{display:flex;align-items:center;gap:.5rem}.tjp-empty-orbit{display:grid;width:56px;height:56px;margin:0 auto .7rem;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#0db493,#6252d9);font-size:1.4rem}
@media(max-width:1150px){.tjp-app-shell{grid-template-columns:1fr}.tjp-route-canvas{display:none}.tjp-multi-route-columns,.tjp-multi-route-row{min-width:800px}.tjp-app-shell>main>[data-panel="route"]{overflow-x:auto}.tjp-inventory-grid{grid-template-columns:200px minmax(420px,1fr)}.tjp-inventory-visual{display:none}.tjp-app-chip{display:none}}
@media(max-width:760px){.tjp-trip-detail-grid{grid-template-columns:1fr}.tjp-trip-detail-grid label.wide{grid-column:auto}.tjp-trip-start{padding:.5rem}.tjp-trip-start-card{border-radius:20px}.tjp-trip-start-copy,.tjp-trip-detail-grid{padding:1rem}.tjp-trip-start-card>footer{align-items:stretch;flex-direction:column;padding:1rem}.tjp-app-bar{position:static;display:grid;grid-template-columns:auto 1fr auto}.tjp-app-bar>.button{grid-column:1/-1}.tjp-app-tabs>small{display:none}.tjp-app-tabs .tjp-readiness{margin-left:0}.tjp-final-layout{grid-template-columns:1fr;padding:.7rem}.tjp-final-layout .tjp-summary-cards{grid-template-columns:1fr}.tjp-inventory-top{grid-template-columns:1fr auto}.tjp-inventory-top>div{grid-column:1/-1;grid-row:2}.tjp-inventory-grid{display:block}.tjp-inventory-filters{position:static;max-height:none;border-right:0;border-bottom:1px solid #dce7e9}.tjp-inventory-results{padding:.65rem}.tjp-inventory-card{grid-template-columns:100px minmax(0,1fr)}.tjp-inventory-media{min-height:125px}.tjp-inventory-price{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;justify-items:start;text-align:left}.tjp-inventory-price .button{grid-column:2;grid-row:1/5}.tjp-day-list article>div{grid-template-columns:1fr}.tjp-trips-hero{align-items:stretch;flex-direction:column}.tjp-trips-actions{display:grid;grid-template-columns:1fr 1fr}.tjp-trip-metrics{grid-template-columns:repeat(2,1fr)}.tjp-trip-filter{align-items:stretch;flex-direction:column}.tjp-trip-filter select{max-width:none}.tjp-trip-list-main{grid-template-columns:46px 1fr}.tjp-trip-avatar{width:46px;height:46px}.tjp-trip-price{grid-column:1/-1;align-items:center;grid-template-columns:1fr auto;justify-items:start}.tjp-trip-list-card>footer{align-items:flex-start;flex-direction:column}.tjp-trip-list-card>footer>div{width:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tjp-trip-start,.tjp-inventory-screen,.tjp-inventory-screen.closing{animation:none!important}.tjp-trip-list-card,.tjp-inventory-card,.tjp-multi-route-row{transition:none!important}}
.tjp-trip-detail-grid label[hidden]{display:none!important}

/* v70: compact app entry, responsive overlays and calmer CRM motion */
html{scroll-padding-top:88px;scrollbar-gutter:stable}
body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}
body.tjp-trip-start-open,body.tjp-library-open{overflow:hidden;touch-action:none}
:where(a,button,summary,.button){transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .2s ease,transform .18s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
:where(input,select,textarea){transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
:where(.sidebar-nav,.table-wrap,.filter-bar,.quick-actions,.tjp-inventory-screen,.tjp-inventory-filters,.tjp-trip-start-form){scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9bb8bd transparent}
:where(.sidebar-nav,.table-wrap,.filter-bar,.quick-actions,.tjp-inventory-screen,.tjp-inventory-filters,.tjp-trip-start-form)::-webkit-scrollbar{width:8px;height:8px}
:where(.sidebar-nav,.table-wrap,.filter-bar,.quick-actions,.tjp-inventory-screen,.tjp-inventory-filters,.tjp-trip-start-form)::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#9bb8bd;background-clip:padding-box}
.button:hover,.tjp-app-chip:hover{transform:translateY(-1px)}
.button:active,.tjp-app-chip:active{transform:translateY(0) scale(.98)}

.tjp-trip-start{align-items:center;justify-items:center;overflow:hidden;padding:16px;background:rgba(7,25,38,.72);backdrop-filter:blur(14px);animation:none;opacity:0;transition:opacity .2s ease}
.tjp-trip-start.ready{opacity:1}
.tjp-trip-start.closing{opacity:0}
.tjp-trip-start-card{display:flex;width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fff;box-shadow:0 32px 90px rgba(2,18,30,.34);transform:translateY(18px) scale(.985);transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s ease}
.tjp-trip-start.ready .tjp-trip-start-card{transform:none}
.tjp-trip-start.closing .tjp-trip-start-card{opacity:.7;transform:translateY(10px) scale(.99)}
.tjp-trip-start-head{position:relative;z-index:3;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;padding:8px 12px!important;border-bottom:1px solid #e4ecee!important;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.tjp-trip-start-head>a{display:inline-flex;width:max-content;align-items:center;gap:.35rem;padding:.55rem .7rem;border-radius:11px;color:#284d5f!important;font-size:.74rem;font-weight:850!important}
.tjp-trip-start-head>a:hover{background:#eef7f6}
.tjp-trip-start-head>div{display:flex;align-items:center;gap:.55rem}
.tjp-trip-start-head>div i{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,#0aa389,#2168d9);font-size:.62rem;font-style:normal;font-weight:950;box-shadow:0 7px 16px rgba(14,118,121,.2)}
.tjp-trip-start-head>div span{color:#446474!important;font-size:.62rem!important;font-weight:950;letter-spacing:.12em!important}
.tjp-trip-start-close,.tjp-library-close{display:grid!important;width:38px!important;height:38px!important;place-items:center!important;justify-self:end;padding:0!important;border:1px solid #dce7e9!important;border-radius:12px!important;color:#23495b!important;background:#f5f9fa!important;font-size:1.35rem!important;line-height:1!important;cursor:pointer}
.tjp-trip-start-close:hover,.tjp-library-close:hover{border-color:#fac8d1!important;color:#c92e50!important;background:#fff0f3!important;transform:rotate(3deg)}
.tjp-trip-start-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:0;overflow:hidden}
.tjp-trip-start-intro{position:relative;overflow:hidden;padding:34px 30px;color:#fff;background:radial-gradient(circle at 12% 0,rgba(39,217,187,.24),transparent 42%),radial-gradient(circle at 100% 100%,rgba(69,105,230,.3),transparent 44%),linear-gradient(155deg,#082b3a,#0b4f59 58%,#123c63)}
.tjp-trip-start-intro:after{position:absolute;right:-70px;bottom:-80px;width:190px;height:190px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018);content:""}
.tjp-start-kicker{display:inline-flex;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.17);border-radius:999px;color:#9cf3df;font-size:.6rem;font-weight:950;letter-spacing:.12em;background:rgba(255,255,255,.06)}
.tjp-trip-start-intro h1{margin:1rem 0 .75rem;color:#fff;font-size:clamp(2rem,3.3vw,3rem);line-height:1.02;letter-spacing:-.055em}
.tjp-trip-start-intro h1 em{color:#69e1c9;font-style:normal}
.tjp-trip-start-intro>p{max-width:260px;margin:0;color:rgba(235,249,250,.75);font-size:.78rem;line-height:1.6}
.tjp-trip-start-intro ol{position:relative;z-index:1;display:grid;gap:.75rem;margin:2rem 0 0;padding:0;list-style:none}
.tjp-trip-start-intro li{display:flex;align-items:center;gap:.75rem;padding:.7rem;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055)}
.tjp-trip-start-intro li>b{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:10px;color:#062f37;background:#70e3cd;font-size:.68rem}
.tjp-trip-start-intro li span,.tjp-trip-start-intro li strong,.tjp-trip-start-intro li small{display:block}
.tjp-trip-start-intro li strong{font-size:.73rem}
.tjp-trip-start-intro li small{margin-top:.1rem;color:rgba(232,247,249,.64);font-size:.6rem}
.tjp-trip-start-form{min-height:0;overflow-y:auto;background:linear-gradient(180deg,#fff,#fbfdfd)}
.tjp-trip-start-copy{padding:24px 28px 8px}
.tjp-trip-start-copy small{color:#0a927c;font-size:.58rem;font-weight:950;letter-spacing:.12em}
.tjp-trip-start-copy h2{margin:.25rem 0 .1rem;color:#15394b;font-size:1.35rem;letter-spacing:-.025em}
.tjp-trip-start-copy p{margin:0;color:#78909d;font-size:.68rem}
.tjp-trip-start-form>.notice{margin:.65rem 28px 0}
.tjp-trip-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px;padding:15px 28px 22px}
.tjp-trip-detail-grid label{gap:.35rem;color:#385a6b;font-size:.66rem}
.tjp-trip-detail-grid label>span{align-items:center}
.tjp-trip-detail-grid label>span>a{color:#07957e;font-size:.56rem;font-weight:900;text-decoration:none}
.tjp-trip-detail-grid label>span>a:hover{text-decoration:underline}
.tjp-trip-detail-grid input,.tjp-trip-detail-grid select{width:100%;min-height:44px!important;padding:.62rem .72rem!important;border:1px solid #cfdee2!important;border-radius:12px!important;color:#17394a;background:#fff;box-shadow:0 1px 0 rgba(13,57,72,.02)}
.tjp-trip-detail-grid input:hover,.tjp-trip-detail-grid select:hover{border-color:#96bfc1!important}
.tjp-trip-detail-grid input:focus,.tjp-trip-detail-grid select:focus{border-color:#14a18a!important;box-shadow:0 0 0 4px rgba(20,161,138,.1)!important;outline:0}
.tjp-trip-detail-grid em{padding:.15rem .35rem;border-radius:999px;color:#718997;background:#edf3f4;font-size:.52rem}
.tjp-trip-detail-grid small{font-size:.58rem}
.tjp-trip-start-form>footer{position:sticky;z-index:2;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 28px;border-top:1px solid #e2ebed;background:rgba(249,252,252,.96);backdrop-filter:blur(12px)}
.tjp-trip-start-form>footer small{color:#708795;font-size:.63rem}
.tjp-trip-start-form>footer .button{min-height:44px;padding:.65rem 1rem;border-radius:12px;background:linear-gradient(135deg,#0aa487,#0b8877);box-shadow:0 10px 24px rgba(11,142,121,.19)}
.tjp-trip-start-form>footer .button span{font-size:1rem}

.tjp-inventory-top{grid-template-columns:auto 1fr auto auto}
.tjp-inventory-top>.tjp-library-close{padding:0!important}
.tjp-inventory-screen{scroll-behavior:smooth}
.tjp-inventory-card{transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .2s ease,opacity .18s ease}
.tjp-app-bar,.tjp-app-tabs,.card,.panel{transition:box-shadow .2s ease,border-color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}

@media(max-width:860px){
  .tjp-trip-start-card{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
  .tjp-trip-start-layout{grid-template-columns:235px minmax(0,1fr)}
  .tjp-trip-start-intro{padding:28px 22px}
  .tjp-trip-start-intro h1{font-size:2rem}
  .tjp-trip-start-intro ol{margin-top:1.3rem}
  .tjp-trip-start-intro li{padding:.55rem}
  .tjp-trip-start-copy{padding:20px 22px 6px}
  .tjp-trip-start-form>.notice{margin-inline:22px}
  .tjp-trip-detail-grid{padding:13px 22px 20px}
  .tjp-trip-start-form>footer{padding:11px 22px}
}
@media(max-width:680px){
  html{scroll-padding-top:66px;scrollbar-gutter:auto}
  .tjp-trip-start{padding:0;background:#f5f9fa;backdrop-filter:none}
  .tjp-trip-start-card{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;box-shadow:none}
  .tjp-trip-start-head{min-height:56px;padding:7px 10px!important}
  .tjp-trip-start-head>a span{display:none}
  .tjp-trip-start-head>div span{display:none}
  .tjp-trip-start-layout{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}
  .tjp-trip-start-intro{flex:0 0 auto;padding:18px 18px 16px;border-radius:0 0 22px 22px}
  .tjp-start-kicker{font-size:.52rem}
  .tjp-trip-start-intro h1{margin:.55rem 0 .35rem;font-size:1.72rem}
  .tjp-trip-start-intro h1 br{display:none}
  .tjp-trip-start-intro>p{max-width:none;font-size:.68rem;line-height:1.45}
  .tjp-trip-start-intro ol{display:none}
  .tjp-trip-start-form{flex:1}
  .tjp-trip-start-copy{padding:18px 16px 5px}
  .tjp-trip-start-copy h2{font-size:1.17rem}
  .tjp-trip-start-form>.notice{margin:.6rem 16px 0}
  .tjp-trip-detail-grid{grid-template-columns:1fr 1fr;gap:11px;padding:12px 16px 18px}
  .tjp-trip-detail-grid label.primary-field,.tjp-trip-detail-grid label:nth-last-child(-n+2),.tjp-trip-detail-grid label.wide{grid-column:1/-1}
  .tjp-trip-detail-grid input,.tjp-trip-detail-grid select{min-height:43px!important}
  .tjp-trip-start-form>footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .tjp-trip-start-form>footer small{display:none}
  .tjp-trip-start-form>footer .button{width:100%;justify-content:center}
  .tjp-inventory-top{grid-template-columns:auto 1fr auto;padding:.55rem .65rem}
  .tjp-inventory-top>span,.tjp-inventory-top>.tjp-day-target{grid-column:1/3;grid-row:2}
  .tjp-inventory-top>.tjp-library-close{grid-column:3;grid-row:1}
}


.pickup-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:1rem;margin-top:1rem}
.pickup-location-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.1rem;border:1px solid #d8e6ea;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(20,54,73,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pickup-location-card:hover{transform:translateY(-2px);border-color:#9fd5cc;box-shadow:0 14px 30px rgba(20,54,73,.09)}
.pickup-location-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,#08aa8e,#176ee8);font-weight:950}
.pickup-location-copy small{color:#718995;font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.pickup-location-copy h2{margin:.22rem 0;color:#15364b;font-size:1.05rem}
.pickup-location-copy p{margin:0;color:#567184}
.tjp-day-list article>.tjp-day-transfer-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:.9rem 0;padding:.8rem;border:1px solid #dce8eb;border-radius:18px;background:linear-gradient(135deg,#f8fcfd,#f2fbf8)}
.tjp-flow-step{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:.55rem;min-width:0;padding:.65rem;border:1px solid #e0eaed;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(21,57,73,.04)}
.tjp-flow-step>b{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#08aa8e,#176ee8);font-size:.68rem}
.tjp-flow-step label,.tjp-flow-step>div{display:grid;gap:.3rem;min-width:0;margin:0!important}
.tjp-flow-step small,.tjp-flow-step label{color:#3c5d70;font-size:.62rem;font-weight:900}
.tjp-flow-step select,.tjp-flow-step .button{width:100%;min-height:42px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.tjp-flow-step .button.selected{border-color:#71cdbd;color:#08735f;background:#e7faf6}
.tjp-remove-day-transfer{justify-self:start;padding:0;border:0;color:#c53d50;background:transparent;font-size:.58rem;font-weight:900;cursor:pointer}
.tjp-day-list article>.tjp-hotel-rule{display:flex;grid-template-columns:none;align-items:center;gap:.65rem;margin:.65rem 0;padding:.7rem .8rem;border:1px solid #efd59b;border-radius:14px;color:#74580f;background:#fff9e9}
.tjp-hotel-rule>b{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:11px;background:#ffe4a6}
.tjp-hotel-rule>span{display:grid;gap:.1rem}
.tjp-hotel-rule strong{font-size:.67rem}
.tjp-hotel-rule small{font-size:.61rem;line-height:1.45}
.tjp-hotel-rule.day{border-color:#b9dfd8;color:#126654;background:#eaf9f5}.tjp-hotel-rule.day>b{background:#c9f1e7}
.tjp-hotel-rule.overnight{border-color:#cbd8ef;color:#284f82;background:#f0f5fd}.tjp-hotel-rule.overnight>b{background:#dbe7fa}
.day-transfer-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0}
.day-transfer-summary span{padding:.4rem .6rem;border:1px solid #d7e6e8;border-radius:999px;color:#355d6e;background:#f5fafb;font-size:.62rem;font-weight:800}
.tjp-route-segment{display:grid;gap:.25rem;min-width:0}.tjp-route-segment label{display:grid;gap:.18rem}.tjp-route-segment label>span{color:#087966;font-size:.56rem;font-weight:950;text-transform:uppercase}.tjp-route-segment select{width:100%;min-height:37px;padding:.38rem .55rem;border-radius:10px;font-size:.65rem;font-weight:800}.tjp-route-segment>strong{overflow:hidden;color:#173d50;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.tjp-route-segment>strong i{color:#ee4d7c;font-style:normal}.tjp-route-transfer-controls{display:grid;gap:.38rem;min-width:0}.tjp-route-transfer-controls>.tjp-add-slot{width:100%}.tjp-route-transfer-controls select{width:100%;min-height:36px;padding:.35rem .45rem;border-radius:10px;font-size:.61rem;font-weight:850}.tjp-add-slot span small{display:block;margin-top:.13rem;color:#78909e;font-size:.53rem;white-space:normal}.tjp-add-slot.inactive{opacity:.42;cursor:not-allowed}.tjp-add-slot.inactive i{background:#9cabb3}.tjp-add-slot:disabled:hover i{transform:none;box-shadow:none}.tjp-no-route-transfer{display:flex;align-items:center;justify-content:center;gap:.4rem;color:#427063;font-size:.61rem}.tjp-no-route-transfer>b{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#087661;background:#dff8f1}.tjp-no-route-transfer span{display:grid}.tjp-no-route-transfer small{color:#78909e;font-size:.53rem}.tjp-day-list article>.tjp-no-transfer-day{display:flex;grid-template-columns:none;align-items:center;gap:.65rem;margin:.8rem 0;padding:.75rem;border:1px solid #c9e4df;border-radius:14px;color:#246b5d;background:#eefaf7}.tjp-no-transfer-day>b{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:50%;color:#fff;background:#0cac8e}.tjp-no-transfer-day>span{display:grid;gap:.1rem}.tjp-no-transfer-day strong{font-size:.67rem}.tjp-no-transfer-day small{font-size:.61rem;line-height:1.4}.tjp-filter-note.primary{border-color:#9bdacc!important;background:#e9faf6!important}
.tjp-trip-planner{container-type:inline-size}.tjp-app-shell{grid-template-columns:minmax(0,1fr) clamp(225px,23%,275px)}.tjp-app-shell>main{min-width:0;overflow:hidden}.tjp-route-canvas{position:relative;z-index:2;display:grid!important;min-width:0}.tjp-multi-route-columns,.tjp-multi-route-row{grid-template-columns:minmax(190px,1.45fr) 64px minmax(78px,.58fr) minmax(82px,.6fr) minmax(132px,.9fr) 28px;gap:.4rem;padding-right:.8rem;padding-left:.8rem}.tjp-add-slot,.tjp-add-slot>span,.tjp-route-transfer-controls,.tjp-route-transfer-controls>*{min-width:0;max-width:100%}.tjp-add-slot>span{overflow:hidden;text-overflow:ellipsis}.tjp-route-transfer-controls select{display:block}.tjp-route-canvas>header strong{overflow-wrap:anywhere}.tjp-route-canvas>footer{padding:.65rem}.tjp-route-canvas>footer p{font-size:.58rem}
@container (max-width:1250px){.tjp-app-shell{grid-template-columns:minmax(0,1fr) clamp(215px,22%,250px)}.tjp-multi-route-columns,.tjp-multi-route-row{grid-template-columns:minmax(175px,1.35fr) 58px minmax(74px,.55fr) minmax(78px,.58fr) minmax(120px,.88fr) 26px;gap:.32rem;padding-right:.65rem;padding-left:.65rem}.tjp-multi-route-columns{font-size:.58rem}.tjp-multi-route-row{min-height:132px}.tjp-add-slot span{font-size:.58rem}.tjp-route-transfer-controls select{font-size:.56rem}.tjp-route-canvas{padding:.75rem}.tjp-route-canvas>div{padding:.4rem}.tjp-route-canvas article{gap:.4rem}}
@container (max-width:1000px){.tjp-app-shell{grid-template-columns:minmax(0,1fr) 205px}.tjp-multi-route-columns{display:none}.tjp-multi-route-row{position:relative;grid-template-columns:minmax(205px,1.25fr) 58px minmax(78px,.58fr) minmax(82px,.62fr);min-width:0;margin:.65rem;border:1px solid #dce8ea;border-radius:18px;padding:.75rem}.tjp-multi-route-row .tjp-route-destination{grid-column:1/2;grid-row:1/3}.tjp-route-transfer-controls,.tjp-no-route-transfer{grid-column:2/5;padding:.55rem;border-radius:12px;background:#f6fafb}.tjp-route-transfer-controls{grid-template-columns:minmax(0,1fr) minmax(125px,.8fr);align-items:center}.tjp-remove-stop{position:absolute;top:.45rem;right:.45rem}.tjp-app-shell>main>[data-panel="route"]{overflow:visible}.tjp-route-canvas>footer p{display:none}}
@container (max-width:820px){.tjp-app-shell{grid-template-columns:minmax(0,1fr)}.tjp-route-canvas{min-height:245px;border-top:1px solid #d5e5e8}.tjp-route-canvas>div{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-self:stretch;align-items:center}.tjp-route-canvas article>i{display:none}.tjp-route-canvas>footer p{display:block}}
@media(max-width:560px){.pickup-location-grid{grid-template-columns:1fr}.pickup-location-card{grid-template-columns:44px minmax(0,1fr)}.pickup-location-icon{width:44px;height:44px}.pickup-location-card>.destination-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:760px){.tjp-day-list article>.tjp-day-transfer-flow{grid-template-columns:1fr;padding:.65rem}.tjp-flow-step{grid-template-columns:28px minmax(0,1fr)}.tjp-flow-step>b{width:28px;height:28px}.tjp-day-list article>.tjp-hotel-rule{display:flex}}
@media(max-width:760px){.tjp-app-shell>main>[data-panel="route"]{overflow:visible}.tjp-multi-route-columns{display:none}.tjp-multi-route-row{position:relative;grid-template-columns:72px 1fr 1fr;gap:.75rem;min-width:0!important;margin:.7rem;border:1px solid #dce8ea;border-radius:18px;padding:.85rem}.tjp-multi-route-row .tjp-route-destination{grid-column:1/-1}.tjp-route-destination>div{width:100%}.tjp-route-segment select{min-height:44px;font-size:16px}.tjp-multi-route-row .tjp-night-control{grid-column:1}.tjp-multi-route-row>.tjp-add-slot.hotel{grid-column:2}.tjp-multi-route-row>.tjp-add-slot.service{grid-column:3}.tjp-route-transfer-controls,.tjp-no-route-transfer{grid-column:1/-1;padding:.65rem;border-radius:13px;background:#f6fafb}.tjp-route-transfer-controls{grid-template-columns:1fr 1fr;align-items:center}.tjp-route-transfer-controls select{min-height:44px;font-size:16px}.tjp-remove-stop{position:absolute;top:.6rem;right:.6rem}.tjp-add-destination{grid-template-columns:1fr}.tjp-add-destination>span{display:none}.tjp-add-destination label{justify-content:space-between}.tjp-add-destination input{width:90px}.tjp-add-destination .button{justify-content:center}.tjp-route-tip{margin:.7rem}.tjp-day-list article>.tjp-no-transfer-day{display:flex}}
@media(max-width:390px){
  .tjp-trip-start-intro{padding:14px 15px}
  .tjp-trip-start-intro h1{font-size:1.5rem}
  .tjp-trip-start-copy{padding:14px 14px 4px}
  .tjp-trip-detail-grid{gap:9px;padding:10px 14px 16px}
  .tjp-trip-start-form>footer{padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){
  :where(a,button,summary,.button,input,select,textarea,.tjp-trip-start,.tjp-trip-start-card,.tjp-inventory-card,.tjp-app-bar,.tjp-app-tabs,.card,.panel){scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* v76: CRM traveller lookup, date-range calendar and app-style route controls. */
.tjp-trip-detail-grid>.wide{grid-column:1/-1}
.tjp-traveller-source{display:grid;gap:.55rem;padding:.72rem;border:1px solid #d9e7e8;border-radius:16px;background:linear-gradient(145deg,#f8fdfc,#f7f9ff)}
.tjp-traveller-source>span{color:#315669;font-size:.66rem;font-weight:950}
.tjp-source-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.tjp-source-toggle>button{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;min-height:56px;padding:.5rem;border:1px solid #d5e4e6;border-radius:13px;color:#476677;background:#fff;text-align:left;cursor:pointer}
.tjp-source-toggle>button>b{display:grid;width:31px;height:31px;place-items:center;border-radius:10px;color:#087763;background:#e3f8f3}
.tjp-source-toggle>button span,.tjp-source-toggle>button small{display:block;min-width:0}
.tjp-source-toggle>button span{font-size:.65rem;font-weight:900}
.tjp-source-toggle>button small{overflow:hidden;margin-top:.08rem;color:#8195a0;font-size:.53rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.tjp-source-toggle>button:hover{border-color:#83cfc1;transform:translateY(-1px)}
.tjp-source-toggle>button.active{border-color:#0bad8e;color:#075f51;background:#e9faf6;box-shadow:0 0 0 3px rgba(11,173,142,.09)}
.tjp-source-toggle>button.active>b{color:#fff;background:#0bad8e}
.tjp-person-lookup{display:grid!important;gap:.35rem!important;padding-top:.15rem}
.tjp-person-lookup[hidden]{display:none!important}
.tjp-person-lookup>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid #bcd8d9;border-radius:12px;background:#fff;box-shadow:0 4px 15px rgba(25,68,84,.04)}
.tjp-person-lookup>div>span{padding-left:.7rem;color:#0a967e;font-size:1rem}
.tjp-person-lookup input{min-height:43px!important;border:0!important;box-shadow:none!important}
.tjp-person-lookup button{width:34px;height:34px;margin-right:.3rem;border:0;border-radius:9px;color:#718a97;background:#edf4f5;font-size:1.05rem;cursor:pointer}
.tjp-person-lookup>small{color:#668493!important}
.tjp-date-range-label{position:relative}
.tjp-date-range-trigger{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:58px;padding:.48rem .65rem;border:1px solid #bcd8d9;border-radius:13px;color:#173d50;background:#fff;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(25,65,80,.035)}
.tjp-date-range-trigger:hover{border-color:#17a48b;box-shadow:0 0 0 4px rgba(18,165,139,.08)}
.tjp-date-range-trigger>span{display:grid!important;min-width:0}
.tjp-date-range-trigger small{color:#78909d!important;font-size:.49rem!important;letter-spacing:.08em}
.tjp-date-range-trigger b{overflow:hidden;margin-top:.12rem;color:#153b4d;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
.tjp-date-range-trigger>i{color:#0aa488;font-style:normal}
.tjp-date-range-trigger>em{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;color:#087762;background:#e5f9f4;font-size:.85rem;font-style:normal}
.tjp-native-date-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tjp-range-picker{position:fixed;z-index:4300;top:50%;left:50%;display:grid;width:min(790px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d2e3e5;border-radius:23px;background:#fff;box-shadow:0 38px 110px rgba(3,23,35,.42);transform:translate(-50%,-50%);animation:tjpRangeIn .2s cubic-bezier(.16,1,.3,1) both}
.tjp-range-picker[hidden]{display:none!important}
@keyframes tjpRangeIn{from{opacity:0;transform:translate(-50%,-46%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.tjp-range-picker>header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;padding:.8rem 1rem;border-bottom:1px solid #e2ebed;background:#f9fcfc}
.tjp-range-picker>header>div{display:grid;text-align:center}
.tjp-range-picker>header strong{color:#143b4e;font-size:.85rem}
.tjp-range-picker>header small{color:#718997;font-size:.58rem}
.tjp-range-picker>header>button{display:grid;width:36px;height:36px;place-items:center;border:1px solid #d9e6e8;border-radius:11px;color:#31586b;background:#fff;font-weight:900;cursor:pointer}
.tjp-range-picker>header>button:last-child{color:#cf3655;background:#fff3f5}
.tjp-range-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;padding:1rem 1.2rem}
.tjp-range-months section{min-width:0}
.tjp-range-months h3{margin:.2rem 0 .85rem;color:#173e51;text-align:center;font-size:.83rem}
.tjp-range-months .weekdays,.tjp-range-months .days{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}
.tjp-range-months .weekdays b{padding:.25rem 0;color:#8497a2;text-align:center;font-size:.52rem}
.tjp-range-months .days>button,.tjp-range-months .days>.blank{aspect-ratio:1;min-width:0}
.tjp-range-months .days>button{position:relative;border:0;border-radius:50%;color:#264c5e;background:transparent;font-size:.67rem;font-weight:850;cursor:pointer}
.tjp-range-months .days>button:hover{color:#087661;background:#e3f8f3;transform:scale(1.06)}
.tjp-range-months .days>button.in-range{border-radius:10px;color:#087661;background:#def7f1}
.tjp-range-months .days>button.selected{color:#fff;background:#08ae8d;box-shadow:0 7px 16px rgba(8,174,141,.22)}
.tjp-range-picker>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-top:1px solid #e2ebed;background:#f9fcfc}
.tjp-range-picker>footer>div{display:flex;align-items:center;gap:.8rem}
.tjp-range-picker>footer span{display:grid;min-width:118px}
.tjp-range-picker>footer small{color:#81949f;font-size:.5rem;font-weight:900;letter-spacing:.08em}
.tjp-range-picker>footer b{color:#173e50;font-size:.67rem}
.tjp-range-picker>footer i{color:#0aa488;font-style:normal}
.tjp-range-picker>footer .button{min-height:41px}
.tjp-journey-choice{display:grid;gap:.25rem;min-width:0}
.tjp-journey-choice>small{color:#718997;font-size:.5rem;font-weight:900;text-align:center}
.tjp-journey-choice>div{display:grid;grid-template-columns:1fr 1fr;min-width:0;overflow:hidden;padding:3px;border:1px solid #d4e3e5;border-radius:11px;background:#edf4f5}
.tjp-journey-choice button{min-width:0;min-height:31px;padding:.3rem .38rem;border:0;border-radius:8px;color:#607b89;background:transparent;font-size:.55rem;font-weight:900;white-space:nowrap;cursor:pointer}
.tjp-journey-choice button:hover:not(:disabled){color:#087661;background:#fff}
.tjp-journey-choice button.active{color:#fff;background:#0aa78a;box-shadow:0 3px 9px rgba(10,130,110,.2)}
.tjp-journey-choice button:disabled{opacity:.45;cursor:not-allowed}
.tjp-route-transfer-controls>.tjp-journey-choice{width:100%}
.tjp-flow-step .tjp-journey-choice{width:100%}
.tjp-add-destination{grid-template-columns:auto minmax(180px,1fr) auto!important;cursor:text;transition:background .2s ease,box-shadow .2s ease}
.tjp-add-destination>small{padding:.4rem .6rem;border-radius:999px;color:#087762;background:#e5f9f4;font-size:.56rem;font-weight:900;white-space:nowrap}
.tjp-add-destination.added{background:#eafaf6;box-shadow:inset 0 0 0 2px rgba(10,167,138,.12)}
@media(max-width:680px){
  .tjp-trip-detail-grid>.wide{grid-column:1/-1}
  .tjp-source-toggle{grid-template-columns:1fr}
  .tjp-source-toggle>button{min-height:48px}
  .tjp-date-range-trigger{min-height:55px}
  .tjp-range-picker{top:auto;bottom:0;left:0;width:100%;max-height:88dvh;border-radius:23px 23px 0 0;transform:none;animation:tjpRangeSheetIn .22s cubic-bezier(.16,1,.3,1) both}
  @keyframes tjpRangeSheetIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
  .tjp-range-months{grid-template-columns:1fr;padding:.8rem 1rem}
  .tjp-range-months>section:nth-child(2){display:none}
  .tjp-range-months .days>button,.tjp-range-months .days>.blank{min-height:37px;aspect-ratio:auto}
  .tjp-range-picker>footer{align-items:stretch;flex-direction:column}
  .tjp-range-picker>footer>div{justify-content:space-between}
  .tjp-range-picker>footer .button{width:100%;justify-content:center}
  .tjp-add-destination{grid-template-columns:auto minmax(0,1fr)!important}
  .tjp-add-destination>small{grid-column:2}
  .tjp-journey-choice button{min-height:39px;font-size:.62rem}
}

/* v77: Day-1-only pickup and always-visible destination inventory actions. */
.tjp-multi-route-row[data-route-ready="1"]{position:relative;background:linear-gradient(90deg,#fff 0,#fff 72%,#fbfefe 100%)}
.tjp-multi-route-row[data-route-ready="1"]:before{position:absolute;top:16%;bottom:16%;left:0;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#0bb292,#3174ed);content:"";opacity:.72}
.tjp-route-auto-origin{display:grid;min-width:0;gap:.2rem;padding:.5rem .6rem;border:1px solid #cce5e1;border-radius:12px;background:linear-gradient(135deg,#effbf8,#f5f8ff);box-shadow:0 5px 15px rgba(22,76,88,.05)}
.tjp-route-auto-origin>span{color:#087a66;font-size:.53rem;font-weight:950;letter-spacing:.045em}
.tjp-route-auto-origin>b{overflow:hidden;color:#153b4e;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.tjp-route-auto-origin>small{overflow:hidden;color:#718995;font-size:.55rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.tjp-add-slot.available{min-height:72px;padding:.55rem .35rem;border:1px solid transparent;border-radius:15px;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}
.tjp-add-slot.available:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,66,83,.1)}
.tjp-add-slot.hotel.available{border-color:#bce4dc;color:#126c5b;background:linear-gradient(145deg,#effcf8,#e9f8f5)}
.tjp-add-slot.hotel.available i{background:linear-gradient(135deg,#08b28e,#0a907a);box-shadow:0 7px 15px rgba(8,164,134,.2)}
.tjp-add-slot.service.available{border-color:#f5dfab;color:#815d0b;background:linear-gradient(145deg,#fffaf0,#fff5da)}
.tjp-add-slot.service.available i{background:linear-gradient(135deg,#ffbd39,#f09218);box-shadow:0 7px 15px rgba(235,158,26,.2)}
.tjp-add-slot.transport.available{border-color:#f5c6d4;color:#a12f52;background:linear-gradient(145deg,#fff5f8,#fff0f5)}
.tjp-add-slot.transport.available i{background:linear-gradient(135deg,#ff4e7f,#e63368);box-shadow:0 7px 15px rgba(226,51,103,.2)}
.tjp-add-slot.available.selected{border-color:#79c9bb;background:#e8faf5;box-shadow:inset 0 0 0 1px rgba(11,164,135,.12)}
.tjp-day-transfer-flow.automatic-origin{border-color:#a9dcd3;background:linear-gradient(135deg,#eefbf8,#f4f8ff)}
.tjp-auto-origin-copy{display:grid;min-width:0;gap:.16rem}
.tjp-auto-origin-copy>small{color:#0b8a73!important;font-size:.54rem!important;letter-spacing:.03em;text-transform:uppercase}
.tjp-auto-origin-copy>strong{overflow:hidden;color:#163d50;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.tjp-auto-origin-copy>span{overflow:hidden;color:#718995;font-size:.56rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
@container (max-width:1000px){.tjp-add-slot.available{min-height:66px}.tjp-route-auto-origin{padding:.45rem .55rem}}
@media(max-width:760px){.tjp-add-slot.available{min-height:70px}.tjp-multi-route-row[data-route-ready="1"]:before{top:10%;bottom:10%}.tjp-route-auto-origin{min-height:55px;justify-content:center}}

/* v78: transport-first route order. */
.tjp-multi-route-row{grid-template-areas:"route nights transfer hotel activities remove"}
.tjp-multi-route-row>.tjp-route-destination{grid-area:route}
.tjp-multi-route-row>.tjp-night-control{grid-area:nights}
.tjp-multi-route-row>.tjp-route-transfer-controls,.tjp-multi-route-row>.tjp-no-route-transfer{grid-area:transfer}
.tjp-multi-route-row>.tjp-add-slot.hotel{grid-area:hotel}
.tjp-multi-route-row>.tjp-add-slot.service{grid-area:activities}
.tjp-multi-route-row>.tjp-remove-stop{grid-area:remove}
@container (max-width:1000px){
  .tjp-multi-route-row{grid-template-areas:"route nights hotel activities" "route transfer transfer transfer"}
  .tjp-multi-route-row>.tjp-route-destination{grid-column:auto;grid-row:auto}
  .tjp-multi-route-row>.tjp-route-transfer-controls,.tjp-multi-route-row>.tjp-no-route-transfer{grid-column:auto}
  .tjp-multi-route-row>.tjp-remove-stop{grid-area:auto}
}
@media(max-width:760px){
  .tjp-multi-route-row{grid-template-areas:"route route route" "transfer transfer transfer" "nights hotel activities"}
  .tjp-multi-route-row .tjp-route-destination,.tjp-multi-route-row .tjp-night-control,.tjp-multi-route-row>.tjp-add-slot.hotel,.tjp-multi-route-row>.tjp-add-slot.service,.tjp-multi-route-row>.tjp-route-transfer-controls,.tjp-multi-route-row>.tjp-no-route-transfer{grid-column:auto}
}

/* v80: Travel Janta brand system — premium, scalable CRM shell. */
:root{
  --navy:#0f172a;
  --navy-soft:#17223b;
  --navy-muted:#94a3b8;
  --primary:#4f46e5;
  --primary-dark:#3730a3;
  --primary-soft:#eef2ff;
  --orange:#f59e0b;
  --orange-soft:#fff7e6;
  --green:#059669;
  --green-soft:#ecfdf5;
  --red:#e11d48;
  --red-soft:#fff1f2;
  --ink:#172033;
  --muted:#64748b;
  --line:#dbe3ef;
  --line-soft:#edf1f7;
  --surface:#fff;
  --background:#f5f7fb;
  --glass:rgba(255,255,255,.78);
  --glass-strong:rgba(255,255,255,.94);
  --glass-border:rgba(255,255,255,.78);
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 1px 2px rgba(15,23,42,.03),0 10px 28px rgba(30,41,59,.06);
  --shadow-glass:0 22px 60px rgba(15,23,42,.14);
  --sidebar-width:280px;
  --topbar-height:76px;
  --brand-gradient:linear-gradient(135deg,#2563eb 0%,#5b4bea 54%,#7c3aed 100%);
  --success-gradient:linear-gradient(135deg,#10b981,#059669);
}

body.app-authenticated{
  color:var(--ink);
  background:
    radial-gradient(circle at 88% -8%,rgba(79,70,229,.08),transparent 28rem),
    radial-gradient(circle at 31% 105%,rgba(14,165,233,.06),transparent 32rem),
    var(--background);
  font-family:"Segoe UI Variable Text","Aptos",Inter,"Noto Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  font-weight:450;
  letter-spacing:-.006em;
}
.app-authenticated h1,.app-authenticated h2,.app-authenticated h3,.app-authenticated h4,.app-authenticated strong,.app-authenticated b{
  font-family:"Segoe UI Variable Display","Aptos Display",Inter,"Noto Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.app-authenticated h1{color:#101828;font-weight:780;letter-spacing:-.045em}
.app-authenticated h2,.app-authenticated h3{color:#1d2939;font-weight:740;letter-spacing:-.025em}
.app-authenticated ::selection{color:#fff;background:#4f46e5}
.app-authenticated :focus-visible{outline:3px solid rgba(79,70,229,.22);outline-offset:2px}
.tjp-ui-v80.tjp-ui-ready .content{animation:tjpV80PageIn .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes tjpV80PageIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Branded navigation rail */
.app-authenticated .sidebar{
  color:#dce5f4;
  background:
    radial-gradient(circle at 16% 4%,rgba(99,102,241,.29),transparent 220px),
    radial-gradient(circle at 108% 56%,rgba(14,165,233,.12),transparent 270px),
    linear-gradient(180deg,#111a2e 0%,#0d1528 58%,#0a1222 100%);
  border-right:1px solid rgba(148,163,184,.12);
  box-shadow:16px 0 45px rgba(15,23,42,.1);
}
.app-authenticated .sidebar:after{
  position:absolute;right:-90px;bottom:-110px;width:260px;height:260px;border:1px solid rgba(129,140,248,.08);border-radius:50%;box-shadow:0 0 0 38px rgba(129,140,248,.025),0 0 0 78px rgba(129,140,248,.018);content:"";pointer-events:none
}
.app-authenticated .sidebar-brand{
  position:relative;z-index:2;min-height:var(--topbar-height);padding:13px 14px 13px 18px;border-bottom:1px solid rgba(148,163,184,.12);background:rgba(255,255,255,.018)
}
.app-authenticated .brand-mark,.app-authenticated .agency-logo{
  width:42px;height:42px;flex-basis:42px;border-radius:14px
}
.app-authenticated .brand-mark{
  color:#fff;background:var(--brand-gradient);box-shadow:0 9px 24px rgba(59,56,208,.34),inset 0 1px 0 rgba(255,255,255,.3);font-size:12px;font-weight:950;letter-spacing:-.04em
}
.app-authenticated .brand-copy strong{color:#f8fafc;font-size:14.5px;font-weight:760;letter-spacing:-.02em}
.app-authenticated .brand-copy small{margin-top:2px;color:#8fa2bd;font-size:10.5px;font-weight:550}
.app-authenticated .sidebar-collapse{
  width:32px;height:32px;color:#a9b8cd!important;border-color:rgba(148,163,184,.16)!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;box-shadow:none
}
.app-authenticated .sidebar-collapse:hover{color:#fff!important;border-color:rgba(165,180,252,.35)!important;background:rgba(99,102,241,.18)!important}
.app-authenticated .sidebar-nav{position:relative;z-index:2;padding:13px 12px 18px;scrollbar-color:#33415c transparent}
.app-authenticated .sidebar-nav-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 10px;color:#7789a5;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.app-authenticated .sidebar-nav-heading small{color:#53647e;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:none}
.app-authenticated .nav-link,.app-authenticated .nav-group a,.app-authenticated .nav-group button{
  min-height:44px;gap:11px;border-radius:12px;color:#aebbd0;font-size:13px;font-weight:650;letter-spacing:-.005em
}
.app-authenticated .nav-link{padding:7px 10px}
.app-authenticated .nav-link:hover,.app-authenticated .nav-group a:hover,.app-authenticated .nav-group button:hover{
  color:#f8fafc!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;transform:translateX(2px)
}
.app-authenticated .nav-link.active,.app-authenticated .nav-group a.active{
  color:#fff!important;background:linear-gradient(105deg,rgba(79,70,229,.94),rgba(91,74,225,.72))!important;box-shadow:0 9px 22px rgba(39,35,134,.26),inset 0 1px 0 rgba(255,255,255,.15)!important;transform:none
}
.app-authenticated .nav-link.active:before,.app-authenticated .nav-group a.active:before{display:none}
.app-authenticated .nav-item-icon{
  width:31px!important;height:31px!important;flex:0 0 31px!important;display:grid!important;place-items:center!important;margin:0!important;border:1px solid rgba(148,163,184,.11)!important;border-radius:10px!important;color:#cbd5e1!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important;font-size:13px!important;font-weight:850!important
}
.app-authenticated .nav-link.active .nav-item-icon,.app-authenticated .nav-group a.active .nav-item-icon{color:#fff!important;border-color:rgba(255,255,255,.13)!important;background:rgba(255,255,255,.16)!important}
.app-authenticated .nav-group{margin-top:9px}
.app-authenticated .nav-group>summary{
  margin:0 0 3px;padding:9px 10px;border:0;border-radius:9px;color:#71839e!important;background:transparent!important;font-size:9px!important;font-weight:850!important;letter-spacing:.125em!important
}
.app-authenticated .nav-group.current>summary{color:#b9c4ff!important;background:transparent!important}
.app-authenticated .nav-group>summary:hover{color:#aebbd0!important;background:rgba(255,255,255,.035)!important}
.app-authenticated .nav-group>summary .nav-chevron{color:#667894;transition:transform .18s ease}
.app-authenticated .nav-group[open]>summary .nav-chevron{transform:rotate(180deg)}
.app-authenticated .nav-group a,.app-authenticated .nav-group button{padding:6px 10px}
.app-authenticated .sidebar-footer{
  position:relative;z-index:2;display:grid;gap:8px;margin:10px 12px 12px;padding:10px;border:1px solid rgba(148,163,184,.13);border-radius:15px;background:rgba(255,255,255,.038);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}
.app-authenticated .sidebar-account{display:flex!important;align-items:center;gap:10px;min-width:0}
.app-authenticated .sidebar-account>span:last-child{min-width:0;display:grid;flex:1}
.app-authenticated .sidebar-account strong{overflow:hidden;color:#e9eff8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.app-authenticated .sidebar-account small{color:#7f91ab;font-size:9px}
.app-authenticated .sidebar-footer .avatar{color:#fff;background:linear-gradient(145deg,#2563eb,#6d4ae8)}
.app-authenticated .sidebar-logout-button{min-height:35px;border:1px solid rgba(251,113,133,.14);border-radius:10px;color:#fda4af;background:rgba(190,24,93,.08);font-size:10px;font-weight:800}
.app-authenticated .sidebar-logout-button:hover{color:#fff;background:rgba(225,29,72,.24)}
.app-shell.sidebar-collapsed .sidebar-nav-heading,.app-shell.sidebar-collapsed .sidebar-account>span:last-child{display:none}
.app-shell.sidebar-collapsed .sidebar-footer{display:block;padding:8px}
.app-shell.sidebar-collapsed .sidebar-logout-form{display:none}
.app-shell.sidebar-collapsed .nav-link,.app-shell.sidebar-collapsed .nav-group a{padding-inline:7px}

/* Top command bar */
.app-authenticated .topbar{
  height:var(--topbar-height);gap:16px;padding:0 28px;border-bottom:1px solid rgba(219,227,239,.92);background:rgba(255,255,255,.88);box-shadow:0 1px 0 rgba(255,255,255,.8),0 10px 32px rgba(15,23,42,.035);backdrop-filter:blur(20px) saturate(155%);-webkit-backdrop-filter:blur(20px) saturate(155%)
}
.app-authenticated .global-search{
  width:min(520px,43vw);min-height:44px;padding:0 13px;border:1px solid #d9e2ef;border-radius:13px;color:#63728a;background:#f8fafc;box-shadow:inset 0 1px 1px rgba(15,23,42,.025);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease
}
.app-authenticated .global-search:focus-within{border-color:#9aa5f4;background:#fff;box-shadow:0 0 0 4px rgba(79,70,229,.08),0 8px 22px rgba(15,23,42,.045)}
.app-authenticated .global-search>span:first-child{color:#4f46e5;font-size:18px}
.app-authenticated .global-search input{font-size:13px;font-weight:500}
.app-authenticated .global-search kbd{padding:3px 7px;border-color:#dce3ee;border-radius:6px;color:#718096;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05);font:650 9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.app-authenticated .topbar-actions{gap:8px}
.app-authenticated .compact-control select{height:42px;max-width:165px;padding-inline:12px 34px;border-color:#d9e2ef;border-radius:12px;background:#fff;font-size:12px;font-weight:650}
.app-authenticated .icon-button{width:40px;height:40px;border-color:#dce4ef;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.025)}
.app-authenticated .icon-button:hover{border-color:#a5b4fc;color:#4338ca;background:#f7f7ff;box-shadow:0 8px 20px rgba(79,70,229,.08)}
.app-authenticated .quick-create{min-height:42px;padding-inline:17px;border:0;border-radius:12px!important;background:var(--brand-gradient)!important;box-shadow:0 8px 19px rgba(79,70,229,.22)!important;font-size:12px}
.app-authenticated .quick-create:hover{box-shadow:0 11px 24px rgba(79,70,229,.29)!important}
.app-authenticated .profile-trigger{min-height:46px;padding:4px 7px 4px 4px;border:1px solid transparent;border-radius:13px}
.app-authenticated .profile-trigger:hover{border-color:#e1e7f0;background:#f8fafc}
.app-authenticated .profile-trigger .avatar{color:#3730a3;background:linear-gradient(145deg,#e0e7ff,#eef2ff)}
.app-authenticated .profile-copy strong{color:#243047;font-size:11.5px}
.app-authenticated .profile-copy small{color:#7b8aa0;font-size:9px}
.app-authenticated .dropdown-menu{padding:7px;border-color:#e0e6ef;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 22px 60px rgba(15,23,42,.16);backdrop-filter:blur(20px)}
.app-authenticated .dropdown-menu a,.app-authenticated .dropdown-menu button{min-height:38px;padding:9px 10px;border-radius:9px;font-size:12px;font-weight:650}
.app-authenticated .dropdown-menu a:hover,.app-authenticated .dropdown-menu button:hover{color:#3730a3;background:#eef2ff}

/* Page canvas and reusable surfaces */
.app-authenticated .content{max-width:1840px;padding:24px 30px 54px}
.app-authenticated .breadcrumbs{align-items:center;gap:8px;margin-bottom:17px;color:#98a2b3;font-size:10px;font-weight:650}
.app-authenticated .breadcrumbs a{color:#667085}
.app-authenticated .breadcrumbs a:hover{color:#4f46e5}
.app-authenticated .dashboard-heading,.app-authenticated .page-heading{align-items:center;margin-bottom:22px}
.app-authenticated .dashboard-heading h1,.app-authenticated .page-heading h1{margin-bottom:5px;font-size:clamp(27px,2.25vw,36px)}
.app-authenticated .dashboard-heading p,.app-authenticated .page-heading p{color:#667085;font-size:13px}
.app-authenticated .eyebrow,.app-authenticated .section-kicker{color:#4f46e5!important;font-size:9px;font-weight:850;letter-spacing:.15em}
.app-authenticated .panel,.app-authenticated .kpi-card,.app-authenticated .stat-card,.app-authenticated .trip-card{
  border:1px solid rgba(222,228,238,.94);border-radius:18px;background:#fff;box-shadow:var(--shadow)
}
.app-authenticated .panel{padding:21px}
.app-authenticated .panel-heading{margin-bottom:17px}
.app-authenticated .panel-heading h2{font-size:17px}
.app-authenticated .panel-heading p{color:#718096;font-size:12px}
.app-authenticated .kpi-card,.app-authenticated .stat-card{overflow:hidden;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .2s ease}
.app-authenticated .kpi-card:hover,.app-authenticated .stat-card:hover{transform:translateY(-3px);border-color:#c7d2fe;box-shadow:0 16px 34px rgba(79,70,229,.09)}
.app-authenticated .kpi-card:before,.app-authenticated .stat-card:before{position:absolute;top:0;right:18px;left:18px;height:2px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,#6366f1,transparent);content:"";opacity:.35}
.app-authenticated .kpi-icon{border:1px solid #dfe3ff;border-radius:11px;color:#4338ca;background:#eef2ff}
.app-authenticated .quick-actions{gap:9px;margin-block:13px 18px}
.app-authenticated .quick-action{min-height:38px;padding:8px 12px;border-color:#dde5ef;border-radius:11px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.035);font-size:11px}
.app-authenticated .quick-action:hover{color:#3730a3;border-color:#c7d2fe;background:#f7f7ff;box-shadow:0 8px 20px rgba(79,70,229,.08)}

/* Forms and actions */
.app-authenticated .button{
  min-height:40px;padding:8px 14px;border-color:#d7e0ec;border-radius:11px;color:#344054;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.025);font-size:12px;font-weight:720
}
.app-authenticated .button:hover{color:#3730a3;border-color:#bfc8fb;background:#fafaff;box-shadow:0 8px 18px rgba(79,70,229,.08)}
.app-authenticated .button.primary{color:#fff;border-color:transparent;background:var(--brand-gradient);box-shadow:0 8px 18px rgba(79,70,229,.2),inset 0 1px 0 rgba(255,255,255,.22)}
.app-authenticated .button.primary:hover{color:#fff;background:linear-gradient(135deg,#1d4ed8,#4f46e5 55%,#6d28d9);box-shadow:0 11px 24px rgba(79,70,229,.27)}
.app-authenticated .button.danger,.app-authenticated .danger-button{color:#be123c;border-color:#fecdd3;background:#fff1f2}
.app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea){
  min-height:44px;border:1px solid #d7e0eb;border-radius:12px;color:#263247;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.02);font-size:13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):hover{border-color:#bcc8d8}
.app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):focus{outline:0;border-color:#818cf8;background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.085)}
.app-authenticated textarea{line-height:1.55}
.app-authenticated label{color:#344054;font-weight:690}
.app-authenticated label small,.app-authenticated .helptext{color:#7c8ba1;font-weight:500}
.app-authenticated input[type="checkbox"],.app-authenticated input[type="radio"]{accent-color:#4f46e5}
.app-authenticated .badge,.app-authenticated .status-pill{min-height:25px;padding:4px 9px;border:1px solid #dfe3ff;color:#4338ca;background:#eef2ff;font-size:9.5px}
.app-authenticated .badge.success{border-color:#bbf7d0;color:#047857;background:#ecfdf5}
.app-authenticated .badge.warning{border-color:#fde68a;color:#a16207;background:#fffbeb}
.app-authenticated .notice,.app-authenticated .error,.app-authenticated .integration-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;font-size:12px;box-shadow:0 2px 7px rgba(15,23,42,.025)}
.app-authenticated .notice{color:#3730a3;border-color:#c7d2fe;background:#eef2ff}
.app-authenticated .notice.success{color:#047857;border-color:#a7f3d0;background:#ecfdf5}
.app-authenticated .notice.warning,.app-authenticated .integration-note{color:#92400e;border-color:#fed7aa;background:#fff7ed}
.app-authenticated .notice.error,.app-authenticated .error{color:#be123c;border-color:#fecdd3;background:#fff1f2}

/* Dense data made calmer and easier to scan */
.app-authenticated .table-wrap{border:1px solid #e3e8f0;border-radius:14px;background:#fff;scrollbar-color:#c5cfdd transparent}
.app-authenticated .panel>.table-wrap:first-child{margin:-1px}
.app-authenticated table{border-collapse:separate;border-spacing:0;width:100%}
.app-authenticated th{height:43px;padding:10px 13px;border-bottom:1px solid #e5eaf1;color:#667085;background:#f8fafc;font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.app-authenticated td{padding:12px 13px;border-bottom:1px solid #edf1f5;color:#344054;font-size:12px;vertical-align:middle}
.app-authenticated tbody tr:last-child td{border-bottom:0}
.app-authenticated tbody tr{transition:background .15s ease,box-shadow .15s ease}
.app-authenticated tbody tr:hover{background:#fafbff;box-shadow:inset 3px 0 #6366f1}
.app-authenticated td strong{color:#1d2939}
.app-authenticated td small{display:block;margin-top:3px;color:#7c8ba1;font-size:10px}
.app-authenticated .filter-bar,.app-authenticated .dashboard-filters{border:1px solid #e1e7f0;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.app-authenticated .period-tabs{border-color:#e0e6ef;background:#f3f5f9}
.app-authenticated .period-tabs input:checked+span{border-color:transparent;background:var(--brand-gradient);box-shadow:0 5px 13px rgba(79,70,229,.18)}
.app-authenticated .pagination a,.app-authenticated .pagination span{border-radius:10px}

/* Mobile app shell */
.app-authenticated .mobile-topbar-brand{min-width:0}
.app-authenticated .mobile-brand-mark{color:#fff;background:var(--brand-gradient);box-shadow:0 6px 15px rgba(79,70,229,.25)}
.app-authenticated .mobile-bottom-nav{border-top:1px solid rgba(220,226,237,.9);background:rgba(255,255,255,.94);box-shadow:0 -12px 34px rgba(15,23,42,.1);backdrop-filter:blur(18px) saturate(150%)}
.app-authenticated .mobile-bottom-nav>a,.app-authenticated .mobile-bottom-nav>button,.app-authenticated .mobile-bottom-nav form button{color:#7c8ba1}
.app-authenticated .mobile-bottom-nav .active{color:#4f46e5}
.app-authenticated .mobile-bottom-nav .active>span{color:#fff;background:var(--brand-gradient);box-shadow:0 6px 15px rgba(79,70,229,.23)}

@media(max-width:1180px){
  .app-authenticated .topbar{padding-inline:20px}
  .app-authenticated .profile-copy{display:none}
  .app-authenticated .global-search{width:min(440px,42vw)}
  .app-authenticated .content{padding-inline:22px}
}
@media(max-width:860px){
  :root{--topbar-height:64px}
  .app-authenticated .sidebar{width:min(318px,88vw);box-shadow:22px 0 70px rgba(3,10,24,.3)}
  .app-authenticated .sidebar-brand{padding-inline:16px}
  .app-authenticated .sidebar-mobile-close{width:38px;height:38px;border-radius:11px}
  .app-authenticated .topbar{height:var(--topbar-height);padding:0 14px;gap:10px}
  .app-authenticated .mobile-menu{display:inline-grid!important;color:#344054;background:#fff}
  .app-authenticated .global-search{display:none}
  .app-authenticated .compact-control,.app-authenticated .topbar-actions>.quick-create,.app-authenticated .topbar-actions>.dropdown:first-of-type{display:none}
  .app-authenticated .topbar-actions{gap:5px}
  .app-authenticated .profile-trigger{padding:2px;border:0}
  .app-authenticated .profile-trigger>span:last-child{display:none}
  .app-authenticated .content{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}
  .app-authenticated .breadcrumbs{margin-bottom:13px;overflow:hidden;white-space:nowrap}
  .app-authenticated .dashboard-heading,.app-authenticated .page-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:17px}
  .app-authenticated .dashboard-heading h1,.app-authenticated .page-heading h1{font-size:27px}
  .app-authenticated .panel{padding:16px;border-radius:16px}
  .app-authenticated .panel-heading{align-items:flex-start}
  .app-authenticated .table-wrap{margin-inline:-2px;border-radius:12px}
  .app-authenticated th,.app-authenticated td{padding:11px 10px}
}
@media(max-width:560px){
  .app-authenticated .mobile-brand-copy strong{font-size:11px}
  .app-authenticated .mobile-brand-copy small{font-size:8px}
  .app-authenticated .topbar-actions>.indicator{display:none}
  .app-authenticated .content{padding-inline:10px}
  .app-authenticated .breadcrumbs{padding-inline:3px}
  .app-authenticated .dashboard-heading,.app-authenticated .page-heading{padding-inline:3px}
  .app-authenticated .dashboard-heading h1,.app-authenticated .page-heading h1{font-size:24px}
  .app-authenticated .panel{padding:14px;border-radius:15px}
  .app-authenticated .button{min-height:42px}
}
@media(prefers-reduced-motion:reduce){
  .tjp-ui-v80.tjp-ui-ready .content{animation:none}
  .app-authenticated *{scroll-behavior:auto!important}
}

/* v81: focused trip workspace, future-only calendar and single-scroll behavior. */
body.tjp-date-range-open{overflow:hidden!important;overscroll-behavior:none}
.tjp-trip-start[data-trip-start]{overscroll-behavior:contain}
.tjp-trip-start[data-trip-start]>.tjp-range-picker{
  position:fixed;z-index:4400;top:50%;left:50%;display:grid;width:min(720px,calc(100vw - 32px));max-height:min(650px,calc(100dvh - 32px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid #dce3ee;border-radius:20px;background:#fff;box-shadow:0 34px 100px rgba(15,23,42,.34);transform:translate(-50%,-50%)
}
.tjp-range-picker>header{min-height:64px;padding:10px 14px;border-color:#e6eaf1;background:#fbfcfe}
.tjp-range-picker>header>div strong{color:#1d2939;font-size:14px}
.tjp-range-picker>header>div small{margin-top:2px;color:#7c8ba1;font-size:10px}
.tjp-range-picker>header>button{width:38px;height:38px;border-color:#dde4ee;border-radius:11px;color:#475467;background:#fff}
.tjp-range-picker>header>button:hover:not(:disabled){color:#4338ca;border-color:#c7d2fe;background:#f5f5ff}
.tjp-range-picker>header>button:disabled{opacity:.28;cursor:not-allowed}
.tjp-range-picker>header>button:last-child{color:#be123c;border-color:#fecdd3;background:#fff1f2}
.tjp-range-months{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;overflow-y:auto;padding:20px 24px 22px;overscroll-behavior:contain;scrollbar-gutter:stable}
.tjp-range-months section{align-content:start;display:grid;min-width:0}
.tjp-range-months h3{margin:0 0 13px;color:#1d2939;font-size:14px;font-weight:750}
.tjp-range-months .weekdays,.tjp-range-months .days{gap:4px}
.tjp-range-months .weekdays b{padding:4px 0 7px;color:#98a2b3;font-size:9px}
.tjp-range-months .days>button,.tjp-range-months .days>.blank{width:36px;height:36px;min-width:0;max-width:100%;justify-self:center;aspect-ratio:auto}
.tjp-range-months .days>button{border:1px solid transparent;border-radius:10px;color:#344054;font-size:11px;font-weight:700}
.tjp-range-months .days>button:hover:not(:disabled){color:#3730a3;border-color:#d9dcff;background:#f1f2ff;transform:none}
.tjp-range-months .days>button.today:not(.selected){color:#4338ca;border-color:#a5b4fc;background:#eef2ff;box-shadow:inset 0 0 0 1px #fff}
.tjp-range-months .days>button.today:not(.selected):after{position:absolute;right:50%;bottom:3px;width:3px;height:3px;border-radius:50%;background:#4f46e5;content:"";transform:translateX(50%)}
.tjp-range-months .days>button.past{color:#c0c7d2;background:#f7f8fa;text-decoration:line-through;opacity:.62;cursor:not-allowed}
.tjp-range-months .days>button.in-range{border-radius:10px;color:#3730a3;background:#e8eaff}
.tjp-range-months .days>button.selected{color:#fff;border-color:#4f46e5;background:linear-gradient(135deg,#2563eb,#6d4ae8);box-shadow:0 6px 14px rgba(79,70,229,.24)}
.tjp-range-picker>footer{min-height:68px;padding:10px 14px;border-color:#e6eaf1;background:#fbfcfe}
.tjp-range-picker>footer span{min-width:135px}
.tjp-range-picker>footer small{color:#98a2b3;font-size:8px}
.tjp-range-picker>footer b{color:#344054;font-size:11px}
.tjp-range-picker>footer .button{min-height:42px;padding-inline:18px}

/* Route planner: compact actions, strong hierarchy, no nested page scroller. */
.tjp-trip-planner{overflow:visible}
.tjp-app-shell{grid-template-columns:minmax(0,1fr) clamp(230px,21%,260px);align-items:stretch;overflow:hidden;border-color:#dde4ed;border-radius:18px;box-shadow:0 10px 32px rgba(15,23,42,.055)}
.tjp-app-shell>main{min-width:0;overflow:visible}
.tjp-app-shell>main>[data-panel="route"]{overflow:visible}
.tjp-multi-route-columns,.tjp-multi-route-row{grid-template-columns:minmax(225px,1.5fr) 58px minmax(145px,.9fr) minmax(120px,.72fr) minmax(125px,.78fr) 28px;gap:8px;padding-inline:14px}
.tjp-multi-route-columns{min-height:47px;padding-block:9px;color:#667085;background:#f8fafc;font-size:9px;letter-spacing:.055em;text-transform:uppercase}
.tjp-multi-route-row{min-height:108px;padding-block:13px;border-color:#e8ecf2;background:#fff}
.tjp-multi-route-row:hover{background:#fbfcff}
.tjp-multi-route-row[data-route-ready="1"]{background:#fff}
.tjp-multi-route-row[data-route-ready="1"]:before{top:18px;bottom:18px;width:3px;background:linear-gradient(#4f46e5,#10b981);opacity:.78}
.tjp-route-destination>b{width:30px;height:30px;flex-basis:30px;border-color:#10b981;color:#047857;background:#fff}
.tjp-route-segment label>span,.tjp-route-auto-origin>span{color:#047857;font-size:8px;letter-spacing:.07em}
.tjp-route-segment select{min-height:40px;border-color:#d8e1eb;border-radius:11px;color:#27364b;background:#fff;font-size:11px}
.tjp-route-segment>strong{margin-top:2px;color:#253248;font-size:12px}
.tjp-route-segment>small{color:#7c8ba1;font-size:9px}
.tjp-route-auto-origin{gap:2px;padding:9px 10px;border-color:#dce5f0;border-radius:11px;background:#f8fafc;box-shadow:none}
.tjp-route-auto-origin>b{color:#253248;font-size:11px}
.tjp-route-auto-origin>small{color:#7c8ba1;font-size:9px}
.tjp-multi-route-row .tjp-night-control{gap:1px}
.tjp-multi-route-row .tjp-night-control strong{width:34px;height:34px;border-color:#dfe5ed;box-shadow:none;font-size:11px}
.tjp-night-control button{width:25px;height:30px;color:#475467;font-size:17px}
.tjp-night-control button:hover{color:#4338ca;background:#eef2ff;border-radius:8px}
.tjp-add-slot.available,.tjp-add-slot{
  min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr);align-content:center;align-items:center;justify-items:start;gap:8px;padding:8px 9px;border:1px solid #e0e6ef;border-radius:12px;color:#475467;background:#fff;text-align:left;box-shadow:none
}
.tjp-add-slot.available:hover,.tjp-add-slot:hover{border-color:#c7d2fe;background:#fafaff;box-shadow:0 7px 17px rgba(79,70,229,.07);transform:translateY(-1px)}
.tjp-add-slot i{width:28px;height:28px;border-radius:9px;background:#4f46e5;box-shadow:none!important;font-size:12px}
.tjp-add-slot span{overflow:visible;color:#344054;font-size:9px;text-align:left;white-space:normal;line-height:1.3}
.tjp-add-slot span small{margin-top:2px;color:#8b98aa;font-size:8px;line-height:1.25}
.tjp-add-slot.hotel.available,.tjp-add-slot.service.available,.tjp-add-slot.transport.available{color:#475467;border-color:#e0e6ef;background:#fff}
.tjp-add-slot.hotel.available i{background:#10a37f;box-shadow:none}
.tjp-add-slot.service.available i{background:#f59e0b;box-shadow:none}
.tjp-add-slot.transport.available i{background:#ef4770;box-shadow:none}
.tjp-add-slot.available.selected{border-color:#9ee3d0;background:#f2fbf8;box-shadow:none}
.tjp-add-slot.inactive{border-style:dashed;background:#f8fafc;opacity:.62}
.tjp-route-transfer-controls{gap:6px;padding:0;background:transparent}
.tjp-route-transfer-controls>.tjp-add-slot{width:100%}
.tjp-route-transfer-controls>.tjp-journey-choice{gap:3px}
.tjp-journey-choice>small{color:#8a97a8;font-size:8px;text-align:left}
.tjp-journey-choice>div{padding:2px;border-color:#dfe5ed;border-radius:9px;background:#f3f5f8}
.tjp-journey-choice button{min-height:29px;color:#667085;font-size:8px}
.tjp-journey-choice button.active{background:#4f46e5;box-shadow:0 3px 8px rgba(79,70,229,.2)}
.tjp-remove-stop{width:28px;height:28px;border-color:#fecdd3;color:#e11d48;background:#fff5f6}
.tjp-route-canvas{padding:16px;border-left:1px solid #dbe4ee;background:radial-gradient(circle at 35% 16%,rgba(45,212,191,.2),transparent 28%),linear-gradient(165deg,#eefbf8,#eef3ff)}
.tjp-route-canvas>header strong{margin-top:3px;color:#253248;font-size:15px;line-height:1.35}
.tjp-route-canvas>div{padding:8px 4px}
.tjp-route-canvas article{min-height:59px}
.tjp-route-canvas>footer{border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7)}

@container (max-width:1250px){
  .tjp-app-shell{grid-template-columns:minmax(0,1fr) 225px}
  .tjp-multi-route-columns,.tjp-multi-route-row{grid-template-columns:minmax(205px,1.4fr) 54px minmax(130px,.9fr) minmax(110px,.72fr) minmax(115px,.75fr) 26px;gap:6px;padding-inline:11px}
  .tjp-add-slot.available,.tjp-add-slot{padding-inline:7px}
  .tjp-route-canvas{padding:13px}
}
@container (max-width:1000px){
  .tjp-app-shell{grid-template-columns:minmax(0,1fr) 205px}
  .tjp-multi-route-columns{display:none}
  .tjp-multi-route-row{grid-template-columns:minmax(200px,1.2fr) 54px minmax(98px,.7fr) minmax(105px,.72fr);grid-template-areas:"route nights hotel activities" "route transfer transfer transfer";gap:8px;min-width:0;margin:10px;padding:11px;border:1px solid #e1e7ef;border-radius:14px}
  .tjp-multi-route-row>.tjp-route-destination{grid-area:route;grid-column:auto;grid-row:auto}
  .tjp-multi-route-row>.tjp-night-control{grid-area:nights}
  .tjp-multi-route-row>.tjp-route-transfer-controls,.tjp-multi-route-row>.tjp-no-route-transfer{grid-area:transfer;grid-column:auto;padding:0}
  .tjp-multi-route-row>.tjp-add-slot.hotel{grid-area:hotel}
  .tjp-multi-route-row>.tjp-add-slot.service{grid-area:activities}
  .tjp-multi-route-row>.tjp-remove-stop{position:absolute;top:7px;right:7px}
  .tjp-route-transfer-controls{grid-template-columns:minmax(150px,1fr) minmax(150px,.8fr);align-items:end}
  .tjp-route-canvas>footer{display:none}
}
@media(min-width:861px){
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar{width:var(--sidebar-width);z-index:55;box-shadow:20px 0 60px rgba(3,10,24,.28)}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-brand{justify-content:flex-start;padding-inline:18px 14px}
  .app-shell.sidebar-collapsed.sidebar-peek .brand-copy{display:flex}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-collapse{right:14px;transform:rotate(180deg);color:#cbd5e1!important;background:rgba(255,255,255,.06)!important;box-shadow:none}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-nav{padding-inline:12px}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-nav-heading{display:flex}
  .app-shell.sidebar-collapsed.sidebar-peek .nav-link{justify-content:flex-start;padding-inline:10px}
  .app-shell.sidebar-collapsed.sidebar-peek .nav-link>span:last-child,.app-shell.sidebar-collapsed.sidebar-peek .nav-group a>span:last-child{display:inline}
  .app-shell.sidebar-collapsed.sidebar-peek .nav-group>summary{display:flex}
  .app-shell.sidebar-collapsed.sidebar-peek .nav-group a{justify-content:flex-start;padding-inline:10px}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-footer{display:grid;padding:10px}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-account>span:last-child{display:grid}
  .app-shell.sidebar-collapsed.sidebar-peek .sidebar-logout-form{display:block}
}
@media(max-width:760px){
  .tjp-trip-start[data-trip-start]>.tjp-range-picker{top:auto;bottom:0;left:0;width:100%;max-height:90dvh;border-radius:20px 20px 0 0;transform:none}
  .tjp-range-picker>header{min-height:60px;padding:8px 10px}
  .tjp-range-picker>header>div small{max-width:190px;margin-inline:auto;line-height:1.3}
  .tjp-range-months{grid-template-columns:1fr;gap:0;padding:15px 14px}
  .tjp-range-months>section:nth-child(2){display:none}
  .tjp-range-months .days>button,.tjp-range-months .days>.blank{width:38px;height:38px}
  .tjp-range-picker>footer{align-items:stretch;flex-direction:column;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .tjp-range-picker>footer>div{justify-content:space-between}
  .tjp-range-picker>footer span{min-width:0}
  .tjp-range-picker>footer .button{width:100%}
  .tjp-app-shell{grid-template-columns:1fr;overflow:visible}
  .tjp-app-shell>main>[data-panel="route"]{overflow:visible}
  .tjp-route-canvas{display:grid!important;min-height:230px;border-top:1px solid #dbe4ee;border-left:0}
  .tjp-route-canvas>div{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));align-self:start}
  .tjp-route-canvas article{min-height:52px}
  .tjp-route-canvas article>i{display:none}
  .tjp-multi-route-row{grid-template-columns:1fr 1fr;grid-template-areas:"route route" "transfer transfer" "nights hotel" "activities activities";gap:9px;margin:9px;padding:12px}
  .tjp-multi-route-row>.tjp-route-destination{grid-area:route}
  .tjp-multi-route-row>.tjp-route-transfer-controls,.tjp-multi-route-row>.tjp-no-route-transfer{grid-area:transfer}
  .tjp-multi-route-row>.tjp-night-control{grid-area:nights}
  .tjp-multi-route-row>.tjp-add-slot.hotel{grid-area:hotel}
  .tjp-multi-route-row>.tjp-add-slot.service{grid-area:activities}
  .tjp-route-transfer-controls{grid-template-columns:1fr}
  .tjp-add-slot.available,.tjp-add-slot{min-height:54px}
}

/* Keep planner tabs swipeable without exposing a second visual scrollbar. */
.tjp-app-tabs{
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
}
.tjp-app-tabs::-webkit-scrollbar{display:none}
.tjp-app-tabs button{scroll-snap-align:start}

/* v82: one reliable CRM scroller and a denser, app-like trip workspace. */
.app-root-authenticated.tjp-ui-v80.tjp-ui-ready .content{animation:none}
@media(min-width:861px){
  html.app-root-authenticated,html.app-root-authenticated body{height:100%;overflow:hidden}
  html.app-root-authenticated .app-shell{height:100dvh;min-height:0;overflow:hidden}
  html.app-root-authenticated .workspace,
  html.app-root-authenticated .app-shell.sidebar-collapsed .workspace{
    height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;scroll-behavior:auto;scrollbar-gutter:stable
  }
}

body.tjp-library-open{overscroll-behavior:none}
.tjp-inventory-screen{overflow:hidden;overscroll-behavior:contain;scroll-behavior:auto}
.tjp-inventory-top{
  min-height:62px;height:62px;gap:12px;padding:7px 14px;border-bottom-color:#e3e8ef;box-shadow:0 5px 18px rgba(15,23,42,.055)
}
.tjp-inventory-top>button:first-child{min-height:38px;padding:7px 12px;border-radius:11px;font-size:11px}
.tjp-inventory-top>div strong{color:#243047;font-size:13px}
.tjp-inventory-top>div small,.tjp-inventory-top>span{font-size:9.5px}
.tjp-inventory-top>.tjp-library-close{width:36px!important;height:36px!important;border-radius:11px!important;font-size:18px!important}
.tjp-inventory-grid{
  height:calc(100dvh - 62px);min-height:0;grid-template-columns:200px minmax(430px,1fr) clamp(220px,18vw,275px);overflow:hidden;background:#f7f9fc
}
.tjp-inventory-filters,.tjp-inventory-results{
  position:relative;top:auto;align-self:stretch;height:100%;max-height:none;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;scroll-behavior:auto;scrollbar-gutter:stable
}
.tjp-inventory-filters{gap:9px;padding:14px 12px;border-right-color:#e3e8ef}
.tjp-inventory-filters h3{font-size:13px}
.tjp-inventory-filters>label{gap:4px;font-size:10px}
.tjp-inventory-filters fieldset{gap:5px}
.tjp-inventory-filters legend{margin-bottom:4px;font-size:10px}
.tjp-filter-check{gap:7px!important;min-height:27px;color:#475467!important;font-size:10.5px!important}
.tjp-filter-check input{width:15px;height:15px;flex:0 0 15px}
.tjp-inventory-results{padding:14px 16px 28px}
.tjp-inventory-results>header{align-items:center;margin-bottom:11px}
.tjp-inventory-results>header small{font-size:8.5px}
.tjp-inventory-results>header h2{margin:2px 0;font-size:18px}
.tjp-inventory-results>header p{margin:0;font-size:10px}
.tjp-inventory-results>header>b{padding:5px 9px;font-size:9px}
.tjp-inventory-card{
  height:126px;min-height:0;grid-template-columns:145px minmax(0,1fr) 155px;margin-bottom:10px;border-color:#e0e6ee;border-radius:14px;box-shadow:0 5px 15px rgba(15,23,42,.04)
}
.tjp-hotel-results>.tjp-inventory-card,
.tjp-transport-results>.tjp-inventory-card,
.tjp-service-results>.tjp-inventory-card{height:126px;min-height:126px}
.tjp-inventory-card:hover,.tjp-inventory-card.selected{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.075)}
.tjp-inventory-media{height:126px;min-height:0}
.tjp-inventory-media img{display:block;min-width:0;min-height:0;object-fit:cover}
.tjp-inventory-copy{gap:3px;padding:12px}
.tjp-inventory-copy small{font-size:8.5px}
.tjp-inventory-copy h3{font-size:14px}
.tjp-inventory-copy p,.tjp-inventory-copy span{font-size:9.5px}
.tjp-inventory-price{gap:3px;padding:12px;background:#fbfcfe}
.tjp-inventory-price small,.tjp-inventory-price em{font-size:8.5px}
.tjp-inventory-price strong{font-size:14px}
.tjp-inventory-price .button{min-height:36px;padding:6px 11px;border-radius:9px;font-size:10px}
.tjp-inventory-visual{
  position:relative;top:auto;align-self:stretch;height:100%;min-height:0;padding:14px;border-left:1px solid #e1e7ef;background:radial-gradient(circle at 70% 20%,rgba(45,212,191,.18),transparent 27%),linear-gradient(160deg,#eefbf8,#eef3ff)
}
.tjp-inventory-visual:before{inset:23% -52%;border-width:3px;opacity:.62}
.tjp-visual-toolbar>span{width:38px;height:21px}
.tjp-visual-toolbar button{width:32px;height:32px}
.tjp-visual-path{gap:7px}
.tjp-visual-path i{height:118px}
.tjp-visual-path b,.tjp-visual-activities b{width:38px;height:30px;border-width:4px}
.tjp-inventory-visual>footer{padding:8px;font-size:8.5px}

.tjp-multi-route-columns,.tjp-multi-route-row{
  grid-template-columns:minmax(220px,1.45fr) 52px minmax(150px,.9fr) minmax(125px,.72fr) minmax(125px,.72fr) 28px;gap:7px;padding-inline:12px
}
.tjp-multi-route-columns{min-height:40px;padding-block:7px;font-size:8px}
.tjp-multi-route-row{min-height:88px;padding-block:9px}
.tjp-route-segment select{min-height:36px;padding-block:5px}
.tjp-route-auto-origin{padding:7px 9px}
.tjp-add-slot.available,.tjp-add-slot{min-height:48px;padding:7px 8px}
.tjp-route-transfer-controls{gap:4px}
.tjp-route-transfer-controls>.tjp-add-slot{min-height:45px}
.tjp-journey-choice>div{padding:2px}
.tjp-journey-choice button{min-height:26px}
.tjp-add-destination{grid-template-columns:18px minmax(190px,1fr) auto;gap:8px;padding:9px 12px}
.tjp-add-destination select{min-height:39px}
.tjp-add-destination>small{padding:5px 8px;border-radius:999px;background:#ecfdf8;font-size:8px}
.tjp-route-tip{margin:9px 12px;padding:8px 10px;font-size:9px}

@media(max-width:1150px) and (min-width:761px){
  .tjp-inventory-grid{grid-template-columns:190px minmax(0,1fr)}
  .tjp-inventory-card{grid-template-columns:130px minmax(0,1fr) 145px}
}
@media(max-width:760px){
  .tjp-inventory-screen{overflow-y:auto}
  .tjp-inventory-top{height:auto;min-height:58px}
  .tjp-inventory-grid{display:block;height:auto;min-height:calc(100dvh - 58px);overflow:visible}
  .tjp-inventory-filters,.tjp-inventory-results{height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto}
  .tjp-inventory-filters{padding:12px}
  .tjp-inventory-results{padding:12px 10px 24px}
  .tjp-inventory-card{height:auto;min-height:118px;grid-template-columns:92px minmax(0,1fr);margin-bottom:9px}
  .tjp-hotel-results>.tjp-inventory-card,
  .tjp-transport-results>.tjp-inventory-card,
  .tjp-service-results>.tjp-inventory-card{height:auto;min-height:118px}
  .tjp-inventory-media{height:auto;min-height:118px}
  .tjp-inventory-price{grid-column:1/-1}
  .tjp-multi-route-row{min-height:0;padding:10px}
  .tjp-route-tip{margin:8px 9px}
}

/* v83: readable CRM typography and one-mode itinerary detail. */
.app-authenticated{color:#172033;font-size:14px;line-height:1.55}
.app-authenticated :where(p,li,dd,td,label,input,select,textarea,button,a){text-rendering:optimizeLegibility}
.app-authenticated :where(p,.muted,.helptext,.operations-cost-note){color:#5f6f85}
.app-authenticated :where(label,th){color:#27364b}
.app-authenticated .nav-link,.app-authenticated .nav-group a,.app-authenticated .nav-group button{font-size:13.5px;font-weight:680}
.app-authenticated .nav-group>summary{font-size:9.5px!important;letter-spacing:.11em!important}
.app-authenticated .brand-copy strong{font-size:15px}
.app-authenticated .brand-copy small{color:#9aaac0;font-size:10.5px}
.app-authenticated .global-search input{color:#344054;font-size:13.5px}
.app-authenticated .button{font-size:12.5px}
.app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea){font-size:13.5px}
.app-authenticated .panel-heading p,.app-authenticated .dashboard-heading p,.app-authenticated .page-heading p{color:#5f6f85}

.itinerary-mode-switcher{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:8px;border:1px solid #dce3ee;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 6px 20px rgba(15,23,42,.045);backdrop-filter:blur(14px)
}
.itinerary-mode-switcher>div{display:flex;gap:4px;padding:3px;border:1px solid #e2e7ef;border-radius:12px;background:#f2f4f8}
.itinerary-mode-switcher button{
  min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:0;border-radius:9px;color:#5d6b80;background:transparent;font-size:12px;font-weight:780;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .2s ease,transform .18s ease
}
.itinerary-mode-switcher button:hover{color:#3730a3;background:#fff}
.itinerary-mode-switcher button.active{color:#fff;background:linear-gradient(135deg,#2563eb,#6550e8);box-shadow:0 7px 16px rgba(79,70,229,.22)}
.itinerary-mode-switcher button:active{transform:scale(.98)}
.itinerary-mode-switcher>small{padding-right:8px;color:#64748b;font-size:11px;font-weight:600;text-align:right}
[data-itinerary-mode-panel][hidden]{display:none!important}
[data-itinerary-mode-panel]:not([hidden]){animation:tjpItineraryModeIn .22s cubic-bezier(.2,.8,.2,1) both}
@keyframes tjpItineraryModeIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
[data-itinerary-mode-panel="edit"] .document-editor-panel,[data-itinerary-mode-panel="preview"] .itinerary-canvas{margin-bottom:0}
.document-editor-panel>summary{padding:15px 18px}
.document-editor-panel>summary small{font-size:9.5px}
.document-editor-panel>summary strong{font-size:16px}
.document-editor-panel>summary em{color:#d0dee5;font-size:11px}
.document-toolbar-group button,.document-toolbar-group a{font-size:11px}
.document-save-state{color:#667085;font-size:10.5px}
.document-paper{color:#26364a;font-size:13.5px;line-height:1.65}
.document-paper .document-editable{color:#34465a;font-size:13.5px}
.document-paper .document-editable.compact{color:#5d6c80;font-size:12px}
.document-cover-block p{color:#5d6c80;font-size:13px}
.itinerary-canvas{color:#26364a}
.app-authenticated .itinerary-hero-copy h1{color:#fff;text-shadow:0 2px 14px rgba(3,12,27,.24)}
.app-authenticated .itinerary-hero-copy .eyebrow{color:#a7f3d0!important}
.app-authenticated .itinerary-hero-copy>p{color:rgba(255,255,255,.82)}
.itinerary-canvas :where(p,li){font-size:12px;line-height:1.6}
.itinerary-canvas :where(.muted,small){color:#64748b}
.itinerary-canvas .day-content>p,.itinerary-canvas .component-row p{color:#53657a}

@media(max-width:700px){
  .itinerary-mode-switcher{align-items:stretch;flex-direction:column;margin-bottom:12px}
  .itinerary-mode-switcher>div{display:grid;grid-template-columns:1fr 1fr}
  .itinerary-mode-switcher button{padding-inline:8px}
  .itinerary-mode-switcher>small{padding:0 5px 3px;text-align:left}
  .document-toolbar{align-items:stretch;flex-wrap:wrap}
  .document-toolbar-group{max-width:100%;overflow-x:auto}
  .document-save-state{order:3;width:100%;text-align:left}
  .document-paper{width:calc(100% - 16px);margin-top:8px;padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){[data-itinerary-mode-panel]:not([hidden]){animation:none}}

/* v86: coordinated professional light/dark appearance for the complete CRM. */
:root[data-theme="light"]{
  --theme-canvas:#f4f7fb;
  --theme-surface:#ffffff;
  --theme-surface-raised:#ffffff;
  --theme-surface-soft:#f8fafc;
  --theme-sidebar:#f8fafc;
  --theme-ink:#172033;
  --theme-heading:#101828;
  --theme-muted:#64748b;
  --theme-line:#dce4ef;
  --theme-line-soft:#edf1f6;
  --theme-hover:#f1f3ff;
  --theme-shadow:0 1px 2px rgba(15,23,42,.03),0 10px 30px rgba(30,41,59,.055);
  --theme-topbar:rgba(255,255,255,.92);
}
:root[data-theme="dark"]{
  --theme-canvas:#0b1120;
  --theme-surface:#111827;
  --theme-surface-raised:#172033;
  --theme-surface-soft:#182235;
  --theme-sidebar:#080e1b;
  --theme-ink:#dbe5f3;
  --theme-heading:#f8fafc;
  --theme-muted:#91a0b5;
  --theme-line:#2a374b;
  --theme-line-soft:#202b3d;
  --theme-hover:#202a43;
  --theme-shadow:0 1px 2px rgba(0,0,0,.24),0 16px 36px rgba(0,0,0,.2);
  --theme-topbar:rgba(15,23,42,.92);
  --ink:#dbe5f3;
  --muted:#91a0b5;
  --line:#2a374b;
  --line-soft:#202b3d;
  --surface:#111827;
  --background:#0b1120;
  --glass:rgba(17,24,39,.82);
  --glass-strong:rgba(17,24,39,.96);
  --glass-border:rgba(71,85,105,.48);
  --primary-soft:#24264f;
  --green-soft:#0d2d28;
  --orange-soft:#352711;
  --red-soft:#3a1722;
}

.app-authenticated .theme-toggle{position:relative;overflow:hidden;color:#475467}
.app-authenticated .theme-toggle>span[aria-hidden="true"]{font-size:18px;line-height:1;transition:opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1)}
.app-authenticated .theme-toggle-sun{display:none}
:root[data-theme="dark"] .app-authenticated .theme-toggle-moon{display:none}
:root[data-theme="dark"] .app-authenticated .theme-toggle-sun{display:inline;color:#fbbf24}
:root[data-theme="dark"] .app-authenticated .theme-toggle{border-color:#344158;background:#172033;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
:root[data-theme="dark"] .app-authenticated .theme-toggle:hover{color:#fde68a;border-color:#59657a;background:#202b3d}

html.tjp-theme-ready body.app-authenticated,
html.tjp-theme-ready .app-authenticated :is(.sidebar,.topbar,.panel,.kpi-card,.stat-card,.trip-card,.filter-bar,.dashboard-filters,.table-wrap,.dropdown-menu,.icon-button,.button,input,select,textarea,.mobile-bottom-nav,.tjp-app-shell,.tjp-inventory-screen,.tjp-range-picker){
  transition:color .18s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease
}

/* Light mode uses one calm neutral family across navigation and content. */
:root[data-theme="light"] body.app-authenticated{
  color:var(--theme-ink);
  background:
    radial-gradient(circle at 92% -8%,rgba(99,102,241,.075),transparent 31rem),
    radial-gradient(circle at 24% 110%,rgba(14,165,233,.055),transparent 34rem),
    var(--theme-canvas);
}
:root[data-theme="light"] .app-authenticated .sidebar{
  color:#475569;
  border-right-color:#dce4ef;
  background:
    radial-gradient(circle at 4% 0,rgba(99,102,241,.085),transparent 210px),
    linear-gradient(180deg,#fbfcff 0%,#f7f9fd 56%,#f5f8fc 100%);
  box-shadow:10px 0 34px rgba(30,41,59,.055);
}
:root[data-theme="light"] .app-authenticated .sidebar:after{border-color:rgba(99,102,241,.06);box-shadow:0 0 0 38px rgba(99,102,241,.018),0 0 0 78px rgba(14,165,233,.012)}
:root[data-theme="light"] .app-authenticated .sidebar-brand{border-bottom-color:#e4e9f1;background:rgba(255,255,255,.54)}
:root[data-theme="light"] .app-authenticated .brand-copy strong{color:#1d2939}
:root[data-theme="light"] .app-authenticated .brand-copy small{color:#718096}
:root[data-theme="light"] .app-authenticated .sidebar-collapse{color:#536174!important;border-color:#dce3ed!important;background:#fff!important}
:root[data-theme="light"] .app-authenticated .sidebar-collapse:hover{color:#4338ca!important;border-color:#c7d2fe!important;background:#f1f2ff!important}
:root[data-theme="light"] .app-authenticated .sidebar-mobile-close{color:#475569!important;border-color:#dce3ed!important;background:#fff!important}
:root[data-theme="light"] .app-authenticated .sidebar-nav{scrollbar-color:#cbd5e1 transparent}
:root[data-theme="light"] .app-authenticated .sidebar-nav-heading{color:#7c8ba1}
:root[data-theme="light"] .app-authenticated .sidebar-nav-heading small{color:#98a2b3}
:root[data-theme="light"] .app-authenticated :is(.nav-link,.nav-group a,.nav-group button){color:#536174;font-weight:700}
:root[data-theme="light"] .app-authenticated :is(.nav-link,.nav-group a,.nav-group button):hover{color:#253248!important;background:#fff!important;box-shadow:0 6px 18px rgba(30,41,59,.06)!important}
:root[data-theme="light"] .app-authenticated :is(.nav-link,.nav-group a).active{color:#fff!important;background:var(--brand-gradient)!important;box-shadow:0 9px 22px rgba(79,70,229,.2)!important}
:root[data-theme="light"] .app-authenticated .nav-item-icon{color:#5f6f85!important;border-color:#e0e6ef!important;background:#eef2f7!important}
:root[data-theme="light"] .app-authenticated :is(.nav-link,.nav-group a).active .nav-item-icon{color:#fff!important;border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.16)!important}
:root[data-theme="light"] .app-authenticated .nav-group>summary{color:#69788e!important}
:root[data-theme="light"] .app-authenticated .nav-group.current>summary{color:#4338ca!important}
:root[data-theme="light"] .app-authenticated .nav-group>summary:hover{color:#344054!important;background:#eef2f7!important}
:root[data-theme="light"] .app-authenticated .sidebar-footer{border-color:#dfe6ef;background:rgba(255,255,255,.78);box-shadow:0 6px 20px rgba(30,41,59,.045)}
:root[data-theme="light"] .app-authenticated .sidebar-account strong{color:#27364b}
:root[data-theme="light"] .app-authenticated .sidebar-account small{color:#7c8ba1}
:root[data-theme="light"] .app-authenticated .sidebar-logout-button{color:#be123c;border-color:#fecdd3;background:#fff1f2}

/* Shared hierarchy and readable typography. */
body.app-authenticated{
  font-family:Inter,"Segoe UI Variable Text","Aptos",Roboto,"Noto Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;font-weight:500;line-height:1.55;letter-spacing:-.004em
}
.app-authenticated :is(h1,h2,h3,h4,strong,b,.button,button,label,th,.nav-link,.nav-group a,.nav-group summary){font-family:Inter,"Segoe UI Variable Display","Aptos Display",Roboto,"Noto Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-authenticated :is(h1,.dashboard-heading h1,.page-heading h1){font-weight:820}
.app-authenticated :is(h2,h3,h4){font-weight:770}
.app-authenticated :is(label,.button,button){font-weight:720}
.app-authenticated :is(.nav-link,.nav-group a){font-weight:700}

/* Dark mode is a complete workspace theme, not a dark sidebar pasted on white. */
:root[data-theme="dark"] body.app-authenticated{
  color:var(--theme-ink);
  background:
    radial-gradient(circle at 92% -12%,rgba(99,102,241,.14),transparent 34rem),
    radial-gradient(circle at 18% 110%,rgba(8,145,178,.09),transparent 36rem),
    var(--theme-canvas);
}
:root[data-theme="dark"] .app-authenticated .workspace{background:transparent}
:root[data-theme="dark"] .app-authenticated .sidebar{
  color:#cbd5e1;border-right-color:#1f2a3c;
  background:radial-gradient(circle at 15% 3%,rgba(99,102,241,.22),transparent 220px),linear-gradient(180deg,#0a1020,#080e1b 60%,#070c16);
  box-shadow:14px 0 42px rgba(0,0,0,.22)
}
:root[data-theme="dark"] .app-authenticated .sidebar-brand{border-bottom-color:#202b3d;background:rgba(255,255,255,.018)}
:root[data-theme="dark"] .app-authenticated .brand-copy strong{color:#f8fafc}
:root[data-theme="dark"] .app-authenticated .brand-copy small{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .sidebar-collapse{color:#b3c0d2!important;border-color:#2b384c!important;background:#172033!important}
:root[data-theme="dark"] .app-authenticated .sidebar-nav{scrollbar-color:#35445d transparent}
:root[data-theme="dark"] .app-authenticated .sidebar-nav-heading{color:#8291a7}
:root[data-theme="dark"] .app-authenticated .sidebar-nav-heading small{color:#617089}
:root[data-theme="dark"] .app-authenticated :is(.nav-link,.nav-group a,.nav-group button){color:#afbdd0;font-weight:700}
:root[data-theme="dark"] .app-authenticated :is(.nav-link,.nav-group a,.nav-group button):hover{color:#fff!important;background:#172238!important}
:root[data-theme="dark"] .app-authenticated :is(.nav-link,.nav-group a).active{color:#fff!important;background:var(--brand-gradient)!important;box-shadow:0 9px 24px rgba(20,18,90,.42)!important}
:root[data-theme="dark"] .app-authenticated .nav-item-icon{color:#c2cede!important;border-color:#2d3a4e!important;background:#172033!important}
:root[data-theme="dark"] .app-authenticated :is(.nav-link,.nav-group a).active .nav-item-icon{color:#fff!important;border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.15)!important}
:root[data-theme="dark"] .app-authenticated .nav-group>summary{color:#8190a6!important}
:root[data-theme="dark"] .app-authenticated .nav-group.current>summary{color:#b8c1ff!important}
:root[data-theme="dark"] .app-authenticated .nav-group>summary:hover{color:#cbd5e1!important;background:#111a2c!important}
:root[data-theme="dark"] .app-authenticated .sidebar-footer{border-color:#263247;background:#111827;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
:root[data-theme="dark"] .app-authenticated .sidebar-account strong{color:#edf2f9}
:root[data-theme="dark"] .app-authenticated .sidebar-account small{color:#91a0b5}

:root[data-theme="dark"] .app-authenticated .topbar{border-bottom-color:#253247;background:var(--theme-topbar);box-shadow:0 1px 0 rgba(255,255,255,.025),0 12px 30px rgba(0,0,0,.14)}
:root[data-theme="dark"] .app-authenticated .global-search{color:#9aabc0;border-color:#2c394e;background:#111827;box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}
:root[data-theme="dark"] .app-authenticated .global-search:focus-within{border-color:#6366f1;background:#172033;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
:root[data-theme="dark"] .app-authenticated .global-search input{color:#e4ebf5;background:transparent}
:root[data-theme="dark"] .app-authenticated .global-search input::placeholder{color:#728198}
:root[data-theme="dark"] .app-authenticated .global-search kbd{color:#aab7c9;border-color:#344158;background:#1b2638}
:root[data-theme="dark"] .app-authenticated .compact-control select{color:#dbe5f3;border-color:#334158;background:#172033}
:root[data-theme="dark"] .app-authenticated .icon-button{color:#bdc9d9;border-color:#334158;background:#172033;box-shadow:0 1px 2px rgba(0,0,0,.18)}
:root[data-theme="dark"] .app-authenticated .icon-button:hover{color:#c7d2fe;border-color:#6366f1;background:#202a43}
:root[data-theme="dark"] .app-authenticated .profile-trigger:hover{border-color:#2e3a4e;background:#172033}
:root[data-theme="dark"] .app-authenticated .profile-trigger .avatar{color:#ddd6fe;background:linear-gradient(145deg,#292c61,#222a4b)}
:root[data-theme="dark"] .app-authenticated .profile-copy strong{color:#e8eef8}
:root[data-theme="dark"] .app-authenticated .profile-copy small{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .dropdown-menu{color:#dbe5f3;border-color:#334158;background:rgba(17,24,39,.98);box-shadow:0 24px 64px rgba(0,0,0,.42)}
:root[data-theme="dark"] .app-authenticated .dropdown-menu :is(a,button){color:#cad5e4}
:root[data-theme="dark"] .app-authenticated .dropdown-menu :is(a,button):hover{color:#e0e7ff;background:#24264f}

:root[data-theme="dark"] .app-authenticated :is(h1,h2,h3,h4){color:var(--theme-heading)}
:root[data-theme="dark"] .app-authenticated :where(p,.muted,.helptext,.operations-cost-note,.dashboard-heading p,.page-heading p,.panel-heading p){color:var(--theme-muted)}
:root[data-theme="dark"] .app-authenticated .breadcrumbs{color:#728198}
:root[data-theme="dark"] .app-authenticated .breadcrumbs a{color:#a6b3c6}
:root[data-theme="dark"] .app-authenticated :is(.panel,.kpi-card,.stat-card,.trip-card,.filter-bar,.dashboard-filters,.quick-action,.table-wrap,.empty-state,.empty-chat){color:var(--theme-ink);border-color:var(--theme-line);background:var(--theme-surface);box-shadow:var(--theme-shadow)}
:root[data-theme="dark"] .app-authenticated :is(.kpi-card,.stat-card):hover{border-color:#555cc3;box-shadow:0 17px 38px rgba(0,0,0,.25)}
:root[data-theme="dark"] .app-authenticated .quick-action:hover{color:#c7d2fe;border-color:#555cc3;background:#202a43}
:root[data-theme="dark"] .app-authenticated .button{color:#d7e0ed;border-color:#354258;background:#172033;box-shadow:0 1px 2px rgba(0,0,0,.2)}
:root[data-theme="dark"] .app-authenticated .button:hover{color:#e0e7ff;border-color:#6366f1;background:#202a43}
:root[data-theme="dark"] .app-authenticated .button.primary{color:#fff;border-color:transparent;background:var(--brand-gradient)}
:root[data-theme="dark"] .app-authenticated .button.danger,:root[data-theme="dark"] .app-authenticated .danger-button{color:#fda4af;border-color:#713044;background:#3a1722}
:root[data-theme="dark"] .app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea){color:#e0e8f3;border-color:#354258;background:#111827;box-shadow:0 1px 2px rgba(0,0,0,.16)}
:root[data-theme="dark"] .app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):hover{border-color:#4b5a72}
:root[data-theme="dark"] .app-authenticated :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):focus{border-color:#818cf8;background:#172033;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
:root[data-theme="dark"] .app-authenticated :where(input,textarea)::placeholder{color:#718198}
:root[data-theme="dark"] .app-authenticated select option{color:#e0e8f3;background:#111827}
:root[data-theme="dark"] .app-authenticated label{color:#d5deea}
:root[data-theme="dark"] .app-authenticated :is(label small,.helptext){color:#8e9db1}
:root[data-theme="dark"] .app-authenticated th{color:#a7b4c7;border-bottom-color:#2c394d;background:#182235}
:root[data-theme="dark"] .app-authenticated td{color:#cbd6e5;border-bottom-color:#222e40;background:transparent}
:root[data-theme="dark"] .app-authenticated td strong{color:#edf2f8}
:root[data-theme="dark"] .app-authenticated td small{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated tbody tr:hover{background:#182235;box-shadow:inset 3px 0 #818cf8}
:root[data-theme="dark"] .app-authenticated .period-tabs{border-color:#2e3b50;background:#111827}
:root[data-theme="dark"] .app-authenticated .period-tabs label:hover span{color:#e0e7ff;background:#202a43}
:root[data-theme="dark"] .app-authenticated .badge,:root[data-theme="dark"] .app-authenticated .status-pill{color:#c7d2fe;border-color:#3d4387;background:#24264f}
:root[data-theme="dark"] .app-authenticated .notice{color:#c7d2fe;border-color:#3d4387;background:#24264f}
:root[data-theme="dark"] .app-authenticated .notice.success{color:#6ee7b7;border-color:#216657;background:#0d2d28}
:root[data-theme="dark"] .app-authenticated :is(.notice.warning,.integration-note){color:#fcd38d;border-color:#725322;background:#352711}
:root[data-theme="dark"] .app-authenticated :is(.notice.error,.error){color:#fda4af;border-color:#713044;background:#3a1722}

/* Dark planner, selectors and itinerary workspaces. */
:root[data-theme="dark"] .app-authenticated :is(.tjp-app-shell,.tjp-planner-topbar,.tjp-trip-start,.tjp-trip-start-form,.itinerary-mode-switcher,.document-editor-panel,.document-toolbar){color:var(--theme-ink);border-color:var(--theme-line);background:var(--theme-surface);box-shadow:var(--theme-shadow)}
:root[data-theme="dark"] .app-authenticated .itinerary-mode-switcher>div{border-color:#334158;background:#0f172a}
:root[data-theme="dark"] .app-authenticated .itinerary-mode-switcher button{color:#9eacc0}
:root[data-theme="dark"] .app-authenticated .itinerary-mode-switcher button:hover{color:#e0e7ff;background:#202a43}
:root[data-theme="dark"] .app-authenticated .document-toolbar{border-color:#2c394d;background:#111827}
:root[data-theme="dark"] .app-authenticated .document-save-state{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .tjp-app-tabs{border-color:#2b384c;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-app-tabs button{color:#9dacbf}
:root[data-theme="dark"] .app-authenticated .tjp-multi-route-columns{color:#9aa9bd;border-color:#2a374b;background:#182235}
:root[data-theme="dark"] .app-authenticated .tjp-multi-route-row{color:#d7e0ec;border-color:#263347;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-multi-route-row:hover{background:#151f31}
:root[data-theme="dark"] .app-authenticated .tjp-multi-route-row[data-route-ready="1"]{background:#111827}
:root[data-theme="dark"] .app-authenticated :is(.tjp-route-segment select,.tjp-route-auto-origin,.tjp-add-slot.available,.tjp-add-slot){color:#d7e0ec;border-color:#334158;background:#172033}
:root[data-theme="dark"] .app-authenticated :is(.tjp-add-slot.available,.tjp-add-slot):hover{border-color:#6366f1;background:#202a43}
:root[data-theme="dark"] .app-authenticated .tjp-route-segment>strong,:root[data-theme="dark"] .app-authenticated .tjp-route-auto-origin>b,:root[data-theme="dark"] .app-authenticated .tjp-add-slot span{color:#e5ebf4}
:root[data-theme="dark"] .app-authenticated :is(.tjp-route-segment>small,.tjp-route-auto-origin>small,.tjp-add-slot span small,.tjp-journey-choice>small){color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .tjp-route-transfer-controls{background:transparent}
:root[data-theme="dark"] .app-authenticated .tjp-journey-choice>div{border-color:#334158;background:#0f172a}
:root[data-theme="dark"] .app-authenticated .tjp-journey-choice button{color:#a7b4c6}
:root[data-theme="dark"] .app-authenticated .tjp-add-destination{border-color:#2b384d;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-route-tip{color:#a8b5c7;background:#132a2d}
:root[data-theme="dark"] .app-authenticated .tjp-route-canvas{border-color:#2a374b;background:radial-gradient(circle at 30% 16%,rgba(16,185,129,.14),transparent 30%),linear-gradient(165deg,#102426,#141b32)}
:root[data-theme="dark"] .app-authenticated .tjp-route-canvas>header strong{color:#edf3f9}
:root[data-theme="dark"] .app-authenticated .tjp-route-canvas article small{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .tjp-route-canvas>footer{border-color:#324054;background:rgba(17,24,39,.78)}

:root[data-theme="dark"] .app-authenticated .tjp-range-picker{color:#dbe5f3;border-color:#334158;background:#111827;box-shadow:0 34px 100px rgba(0,0,0,.58)}
:root[data-theme="dark"] .app-authenticated .tjp-range-picker>header,:root[data-theme="dark"] .app-authenticated .tjp-range-picker>footer{border-color:#29364a;background:#172033}
:root[data-theme="dark"] .app-authenticated .tjp-range-picker>header>div strong,:root[data-theme="dark"] .app-authenticated .tjp-range-months h3,:root[data-theme="dark"] .app-authenticated .tjp-range-picker>footer b{color:#edf2f8}
:root[data-theme="dark"] .app-authenticated .tjp-range-picker>header>div small,:root[data-theme="dark"] .app-authenticated .tjp-range-months .weekdays b,:root[data-theme="dark"] .app-authenticated .tjp-range-picker>footer small{color:#91a0b5}
:root[data-theme="dark"] .app-authenticated .tjp-range-picker>header>button{color:#cad5e3;border-color:#38465b;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-range-months .days>button{color:#d6dfeb;background:transparent}
:root[data-theme="dark"] .app-authenticated .tjp-range-months .days>button:hover:not(:disabled){color:#e0e7ff;border-color:#555cc3;background:#24264f}
:root[data-theme="dark"] .app-authenticated .tjp-range-months .days>button.past{color:#5d6c82;background:#101827}
:root[data-theme="dark"] .app-authenticated .tjp-range-months .days>button.in-range{color:#c7d2fe;background:#24264f}

:root[data-theme="dark"] .app-authenticated .tjp-inventory-screen{color:#dbe5f3;background:#0b1120}
:root[data-theme="dark"] .app-authenticated .tjp-inventory-top{border-color:#2b384d;background:rgba(17,24,39,.97);box-shadow:0 7px 24px rgba(0,0,0,.25)}
:root[data-theme="dark"] .app-authenticated .tjp-inventory-top>div strong{color:#edf2f8}
:root[data-theme="dark"] .app-authenticated .tjp-inventory-grid{background:#0b1120}
:root[data-theme="dark"] .app-authenticated .tjp-inventory-filters{border-color:#2a374b;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-filter-check{color:#c6d1df!important}
:root[data-theme="dark"] .app-authenticated .tjp-inventory-results{background:#0f172a}
:root[data-theme="dark"] .app-authenticated :is(.tjp-inventory-card,.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article){color:#dbe5f3;border-color:#2b384d;background:#111827;box-shadow:0 10px 27px rgba(0,0,0,.2)}
:root[data-theme="dark"] .app-authenticated :is(.tjp-inventory-card,.tjp-hotel-results>article,.tjp-transport-results>article,.tjp-service-results>article):hover{border-color:#557a78;box-shadow:0 16px 38px rgba(0,0,0,.28)}
:root[data-theme="dark"] .app-authenticated :is(.tjp-inventory-price,.tjp-card-price){background:#172033}
:root[data-theme="dark"] .app-authenticated .tjp-card-copy :is(p,span){color:#9cabbf}
:root[data-theme="dark"] .app-authenticated .tjp-admin-price{border-color:#2c394d;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-admin-price>header{border-color:#2c394d;background:linear-gradient(135deg,#12302d,#1b2440)}
:root[data-theme="dark"] .app-authenticated .tjp-admin-price dl>div{border-color:#273448}
:root[data-theme="dark"] .app-authenticated .tjp-admin-price dt{color:#9aa9bd}
:root[data-theme="dark"] .app-authenticated .tjp-admin-price dd{color:#e8eef7}

:root[data-theme="dark"] .app-authenticated .mobile-bottom-nav{border-top-color:#2b384d;background:rgba(15,23,42,.96);box-shadow:0 -14px 36px rgba(0,0,0,.32)}
:root[data-theme="dark"] .app-authenticated .mobile-bottom-nav :is(a,button){color:#92a1b5}
:root[data-theme="dark"] .app-authenticated .mobile-menu{color:#dbe5f3!important;border-color:#334158!important;background:#172033!important}

@media(max-width:560px){
  .app-authenticated .theme-toggle{width:39px;height:39px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  html.tjp-theme-ready body.app-authenticated,
  html.tjp-theme-ready .app-authenticated :is(.sidebar,.topbar,.panel,.kpi-card,.stat-card,.trip-card,.filter-bar,.dashboard-filters,.table-wrap,.dropdown-menu,.icon-button,.button,input,select,textarea,.mobile-bottom-nav,.tjp-app-shell,.tjp-inventory-screen,.tjp-range-picker){transition:none}
}

/* Final dark-mode guardrails against older page-specific light form rules. */
:root[data-theme="dark"] .app-authenticated .content{color:var(--theme-ink)}
:root[data-theme="dark"] .app-authenticated .content :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  select,
  textarea
){color:#e0e8f3!important;border-color:#354258!important;background-color:#111827!important;color-scheme:dark}
:root[data-theme="dark"] .app-authenticated .content :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  select,
  textarea
):focus{border-color:#818cf8!important;background-color:#172033!important;box-shadow:0 0 0 4px rgba(99,102,241,.15)!important}

/* Keep visually hidden filter radios from inheriting full-width mobile form rules. */
.app-authenticated .period-tabs input[type="radio"]{width:1px!important;height:1px!important;min-width:1px!important;max-width:1px!important;margin:0!important;padding:0!important}

/* v87: two-product agent onboarding and management. */
.onboarding-wizard-progress{top:76px!important}
.onboarding-wizard-actions{bottom:14px}
@media(max-width:860px){
  .agent-onboarding-wizard{padding-bottom:154px!important}
  .onboarding-wizard-progress{top:62px!important}
  .onboarding-wizard-actions{position:fixed!important;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));left:10px;z-index:40!important}
}
.agent-product-picker{margin:4px 0 12px;padding:0;border:0}
.agent-product-picker>legend{margin-bottom:10px;color:var(--theme-ink,#172033);font-size:.86rem;font-weight:800}
.agent-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.agent-product-card{position:relative;display:block;min-width:0;cursor:pointer}
.agent-product-card>input{position:absolute;inset:18px auto auto 18px;width:20px!important;height:20px!important;z-index:2;accent-color:#06a98f}
.agent-product-card-body{display:flex;min-height:174px;flex-direction:column;gap:8px;padding:22px 20px 18px 54px;border:1px solid #cbd9e7;border-radius:18px;background:linear-gradient(145deg,#fff,#f5f9fc);box-shadow:0 8px 24px rgba(15,36,58,.07);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.agent-product-card:hover .agent-product-card-body{transform:translateY(-2px);border-color:#6bbfb2;box-shadow:0 14px 32px rgba(15,76,73,.12)}
.agent-product-card>input:checked+.agent-product-card-body{border-color:#00a98f;background:linear-gradient(145deg,#ecfdf9,#f6fbff);box-shadow:0 0 0 3px rgba(0,169,143,.13),0 15px 34px rgba(0,112,98,.13)}
.agent-product-card-body strong{overflow-wrap:anywhere;color:#102a43;font-size:1.05rem;line-height:1.25}
.agent-product-card-body small{overflow-wrap:anywhere;color:#52677c;line-height:1.55}
.agent-product-card-body em{margin-top:auto;color:#087c6d;font-size:.75rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.agent-product-icon{display:inline-grid;width:42px;height:32px;place-items:center;border-radius:10px;background:#d9f8f1;color:#007d6c;font-size:.7rem;font-weight:900;letter-spacing:.05em}
.plan-help{display:block;margin-top:10px;color:#66798d}
.selected-agent-product{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;border:1px solid #a9ddd4;border-radius:18px;background:linear-gradient(135deg,#effcf8,#f6fbff)}
.selected-agent-product.full-crm{border-color:#b9c9f8;background:linear-gradient(135deg,#f2f5ff,#f4fbff)}
.selected-agent-product h2{margin:2px 0 5px}.selected-agent-product p{margin:0;color:#536a7f}
.selected-agent-product>span{flex:0 0 auto;padding:9px 12px;border-radius:999px;background:#087f70;color:#fff;font-size:.73rem;font-weight:900;letter-spacing:.06em}
.selected-agent-product.full-crm>span{background:#4f46d9}
:root[data-theme="dark"] .agent-product-picker>legend{color:#e3eaf4}
:root[data-theme="dark"] .agent-product-card-body{border-color:#34445a;background:linear-gradient(145deg,#111827,#172033);box-shadow:none}
:root[data-theme="dark"] .agent-product-card>input:checked+.agent-product-card-body{border-color:#3cc4af;background:linear-gradient(145deg,#102b2a,#172033)}
:root[data-theme="dark"] .agent-product-card-body strong{color:#edf3fa}
:root[data-theme="dark"] .agent-product-card-body small{color:#aebbd0}
:root[data-theme="dark"] .selected-agent-product{border-color:#315c5a;background:linear-gradient(135deg,#102b2a,#172033)}
:root[data-theme="dark"] .selected-agent-product.full-crm{border-color:#3b466e;background:linear-gradient(135deg,#171d38,#172033)}
:root[data-theme="dark"] .selected-agent-product p{color:#b1bfd0}
@media(max-width:820px){.agent-product-grid{grid-template-columns:1fr}.agent-product-card-body{min-height:145px}.selected-agent-product{align-items:flex-start;flex-direction:column}}

/* v95: compact, responsive CRM application shell. */
html.tjp-ui-v95{
  --v95-rail:72px;
  --v95-sidebar:264px;
  --v95-canvas:#f3f6fb;
  --v95-card:#fff;
  --v95-line:#dce4ef;
  --v95-ink:#142033;
  --v95-muted:#66758b;
  --v95-brand:#2563eb;
  --v95-brand-2:#6d4aff;
  --v95-rail-bg:#0c1729;
}
:root[data-theme="dark"].tjp-ui-v95{
  --v95-canvas:#080d18;
  --v95-card:#101827;
  --v95-line:#263349;
  --v95-ink:#edf3fb;
  --v95-muted:#96a4b8;
  --v95-rail-bg:#070c15;
}
.tjp-ui-v95 .app-authenticated{background:var(--v95-canvas);color:var(--v95-ink)}
.tjp-ui-v95 .app-shell{background:var(--v95-canvas)}
.tjp-ui-v95 .workspace{margin-left:var(--v95-sidebar);background:var(--v95-canvas)!important}
.tjp-ui-v95 .content{max-width:1760px;padding:18px 24px 48px}
.tjp-ui-v95 .breadcrumbs{margin-bottom:12px;color:var(--v95-muted)}

/* Icon-first rail: dark in both themes so navigation remains visually anchored. */
.tjp-ui-v95 .sidebar{
  width:var(--v95-sidebar);color:#cbd5e1!important;border-right:1px solid rgba(148,163,184,.14)!important;
  background:radial-gradient(circle at 20% 5%,rgba(59,130,246,.17),transparent 18rem),linear-gradient(180deg,#0e1b30 0%,var(--v95-rail-bg) 58%,#080f1d 100%)!important;
  box-shadow:10px 0 32px rgba(7,15,29,.14)!important
}
.tjp-ui-v95 .sidebar-brand{min-height:64px;padding:10px 12px;border-bottom-color:rgba(148,163,184,.13)!important;background:transparent!important}
.tjp-ui-v95 .sidebar .brand-copy strong,.tjp-ui-v95 .sidebar .sidebar-account strong{color:#f8fafc!important}
.tjp-ui-v95 .sidebar .brand-copy small,.tjp-ui-v95 .sidebar .sidebar-account small{color:#7f90a8!important}
.tjp-ui-v95 .sidebar .brand-mark,.tjp-ui-v95 .sidebar .agency-logo{width:38px;height:38px;flex-basis:38px;border-radius:12px}
.tjp-ui-v95 .sidebar-nav{padding:10px 8px 14px;scrollbar-color:#334155 transparent}
.tjp-ui-v95 .sidebar-nav-heading{padding:12px 10px 7px!important;color:#718198!important}
.tjp-ui-v95 .sidebar .nav-group>summary{margin:3px 2px;padding:8px 9px;border:0!important;background:transparent!important;color:#718198!important;font-size:9px!important}
.tjp-ui-v95 .sidebar :is(.nav-link,.nav-group a){min-height:42px;gap:10px;margin:2px 0;padding:5px 8px;border-radius:12px;color:#aab7c8!important;font-size:12.5px;font-weight:700}
.tjp-ui-v95 .sidebar :is(.nav-link,.nav-group a):hover{color:#fff!important;background:rgba(255,255,255,.07)!important;box-shadow:none!important}
.tjp-ui-v95 .sidebar :is(.nav-link,.nav-group a).active{color:#fff!important;background:linear-gradient(110deg,#2563eb,#6847e8)!important;box-shadow:0 10px 24px rgba(37,99,235,.24)!important}
.tjp-ui-v95 .sidebar .nav-item-icon{width:32px;height:32px;flex:0 0 32px;border-color:rgba(148,163,184,.13)!important;background:rgba(255,255,255,.055)!important;color:#cbd5e1!important}
.tjp-ui-v95 .sidebar :is(.nav-link,.nav-group a).active .nav-item-icon{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.15)!important;color:#fff!important}
.tjp-ui-v95 .sidebar-footer{margin:8px;padding:8px;border-color:rgba(148,163,184,.14)!important;background:rgba(255,255,255,.04)!important;box-shadow:none!important}
.tjp-ui-v95 .sidebar-logout-button{border-color:rgba(248,113,113,.16)!important;background:rgba(244,63,94,.07)!important}
.tjp-ui-v95 .app-shell.sidebar-collapsed .sidebar{width:var(--v95-rail)}
.tjp-ui-v95 .app-shell.sidebar-collapsed .workspace{margin-left:var(--v95-rail)}
.tjp-ui-v95 .app-shell.sidebar-collapsed .sidebar-brand{padding-inline:9px}
.tjp-ui-v95 .app-shell.sidebar-collapsed .sidebar-collapse{right:-13px;width:27px;height:27px;border-color:#dce4ef!important;border-radius:9px;background:#fff!important;color:#334155!important}
.tjp-ui-v95 .app-shell.sidebar-collapsed .sidebar-footer{margin-inline:8px}
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .sidebar{width:var(--v95-sidebar);box-shadow:18px 0 48px rgba(2,8,23,.3)!important}
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .brand-copy,
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .nav-link>span:last-child,
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .nav-group a>span:last-child,
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .sidebar-account>span:last-child{display:block}
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek .nav-group>summary{display:flex}
.tjp-ui-v95 .app-shell.sidebar-collapsed.sidebar-peek :is(.nav-link,.nav-group a){justify-content:flex-start;padding-inline:8px}

/* Desktop command bar. */
.tjp-ui-v95 .topbar{min-height:64px;padding:8px 18px;border-color:var(--v95-line)!important;background:color-mix(in srgb,var(--v95-card) 92%,transparent)!important;box-shadow:0 1px 0 rgba(15,23,42,.03)!important}
.tjp-ui-v95 .global-search{max-width:360px}
.tjp-ui-v95 .desktop-command-nav{min-width:0;display:flex;align-items:center;justify-content:center;gap:2px;margin-inline:auto;padding:3px;border:1px solid var(--v95-line);border-radius:12px;background:color-mix(in srgb,var(--v95-canvas) 76%,transparent)}
.tjp-ui-v95 .desktop-command-nav a{display:flex;min-height:34px;align-items:center;gap:5px;padding:6px 10px;border-radius:9px;color:var(--v95-muted);font-size:10.5px;font-weight:750;white-space:nowrap;transition:.16s ease}
.tjp-ui-v95 .desktop-command-nav a:hover,.tjp-ui-v95 .desktop-command-nav a.active{color:var(--v95-brand);background:var(--v95-card);box-shadow:0 2px 8px rgba(15,23,42,.07)}
.tjp-ui-v95 .desktop-command-nav a>b{display:grid;min-width:17px;height:17px;place-items:center;padding-inline:4px;border-radius:999px;color:#fff;background:#ef4444;font-size:8px}
.tjp-ui-v95 .topbar-actions{gap:6px}
.tjp-ui-v95 .topbar :is(.icon-button,.quick-create,select){height:40px;border-radius:11px}
.tjp-ui-v95 .mobile-brand-mark{color:#fff!important;background:linear-gradient(135deg,#2563eb,#6d4aff)!important;box-shadow:0 7px 16px rgba(79,70,229,.22)!important}

/* Dashboard command centre. */
.tjp-ui-v95 .app-dashboard-heading{align-items:center;margin:2px 0 14px}
.tjp-ui-v95 .app-dashboard-heading .eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#596a82;font-size:9px;font-weight:850;letter-spacing:.12em}
.tjp-ui-v95 .heading-orb{display:grid;width:21px;height:21px;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);font-size:9px;box-shadow:0 6px 14px rgba(79,70,229,.22)}
.tjp-ui-v95 .app-dashboard-heading h1{margin-bottom:3px;color:var(--v95-ink);font-size:clamp(25px,2.2vw,34px);font-weight:820}
.tjp-ui-v95 .app-dashboard-heading>div>p:last-child{font-size:12px}
.tjp-ui-v95 .app-heading-actions{display:flex;align-items:center;gap:7px}
.tjp-ui-v95 .app-header-button{display:flex;min-height:38px;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--v95-line);border-radius:10px;color:var(--v95-ink);background:var(--v95-card);font-size:10.5px;font-weight:750;box-shadow:0 3px 10px rgba(15,23,42,.035)}
.tjp-ui-v95 .app-header-button.primary{color:#fff;border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#6d4aff);box-shadow:0 8px 18px rgba(79,70,229,.2)}
.tjp-ui-v95 .app-header-button>b{display:grid;min-width:17px;height:17px;place-items:center;border-radius:999px;color:#fff;background:#ef4444;font-size:8px}
.tjp-ui-v95 .workspace-live-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:9px 11px;border:1px solid var(--v95-line);border-radius:13px;background:var(--v95-card);box-shadow:0 4px 14px rgba(15,23,42,.035)}
.tjp-ui-v95 .workspace-live-copy{display:flex;align-items:center;gap:7px;white-space:nowrap}
.tjp-ui-v95 .workspace-live-copy strong{color:var(--v95-ink);font-size:11px}
.tjp-ui-v95 .workspace-live-copy small{color:var(--v95-muted);font-size:9px}
.tjp-ui-v95 .workspace-live-dot{width:9px;height:9px;border-radius:50%;background:#16c784;box-shadow:0 0 0 4px rgba(22,199,132,.12)}
.tjp-ui-v95 .workspace-context-chips{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto;scrollbar-width:none}
.tjp-ui-v95 .workspace-context-chips::-webkit-scrollbar{display:none}
.tjp-ui-v95 .workspace-context-chips>span,.tjp-ui-v95 .workspace-context-chips>a{display:flex;min-height:30px;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--v95-line);border-radius:999px;color:var(--v95-muted);background:color-mix(in srgb,var(--v95-canvas) 70%,var(--v95-card));font-size:9.5px;font-weight:700;white-space:nowrap}
.tjp-ui-v95 .workspace-context-chips>span>b{display:grid;width:20px;height:20px;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);font-size:8px}
.tjp-ui-v95 .workspace-context-chips>span>i{color:#16a36f;font-style:normal}
.tjp-ui-v95 .workspace-context-chips>a{color:#4338ca;border-color:#c7d2fe;background:#eef2ff}

.tjp-ui-v95 .dashboard-filters{margin-bottom:9px;padding:8px 10px;border-color:var(--v95-line);border-radius:13px;background:var(--v95-card);box-shadow:0 4px 14px rgba(15,23,42,.035)}
.tjp-ui-v95 .dashboard-filters .filter-primary{gap:7px}
.tjp-ui-v95 .dashboard-filters .date-range-field{min-width:min(100%,520px)}
.tjp-ui-v95 .dashboard-filters .date-range-field legend{display:none}
.tjp-ui-v95 .period-tabs{gap:2px;padding:3px;border:1px solid var(--v95-line);border-radius:10px;background:var(--v95-canvas)}
.tjp-ui-v95 .period-tabs span{min-height:30px;padding:6px 9px;border:0;border-radius:8px;background:transparent;font-size:9px}
.tjp-ui-v95 .period-tabs input:checked+span{color:#fff;background:linear-gradient(135deg,#2563eb,#6d4aff);box-shadow:0 5px 12px rgba(79,70,229,.18)}
.tjp-ui-v95 .dashboard-filters :is(select,input){min-height:36px;border-radius:9px;font-size:11px}
.tjp-ui-v95 .dashboard-filters .button{min-height:36px;padding:7px 11px;border-radius:9px;font-size:10px}
.tjp-ui-v95 .advanced-filters{margin-top:7px;border-top-color:var(--v95-line)}

.tjp-ui-v95 .quick-actions{gap:6px;margin:8px 0 10px;padding-bottom:2px}
.tjp-ui-v95 .quick-actions>span{display:flex;align-items:center;gap:5px;color:var(--v95-muted)}
.tjp-ui-v95 .quick-action{min-height:34px;gap:6px;padding:6px 9px;border:1px solid var(--v95-line);border-radius:10px;color:var(--v95-ink);background:var(--v95-card);font-size:9.5px;font-weight:750;box-shadow:0 3px 10px rgba(15,23,42,.035)}
.tjp-ui-v95 .quick-action>span{display:grid;width:20px;height:20px;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}
.tjp-ui-v95 .quick-action>b{color:#77869a}

.tjp-ui-v95 .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-bottom:14px}
.tjp-ui-v95 .app-kpi-card{min-height:126px;display:flex;flex-direction:column;gap:8px;padding:13px;border:1.5px solid var(--kpi-border,#93c5fd);border-radius:15px;background:linear-gradient(145deg,var(--v95-card),var(--kpi-bg,#eff6ff));box-shadow:0 8px 20px rgba(15,23,42,.045)}
.tjp-ui-v95 .app-kpi-card::after{right:-22px;top:-28px;width:88px;height:88px;background:radial-gradient(circle,var(--kpi-glow,rgba(59,130,246,.16)),transparent 68%)}
.tjp-ui-v95 .app-kpi-card:hover{transform:translateY(-2px);border-color:var(--kpi-strong,#3b82f6);box-shadow:0 12px 26px rgba(15,23,42,.09)}
.tjp-ui-v95 .app-kpi-card.tone-blue{--kpi-border:#60a5fa;--kpi-bg:#eff6ff;--kpi-strong:#2563eb;--kpi-glow:rgba(37,99,235,.2)}
.tjp-ui-v95 .app-kpi-card.tone-amber{--kpi-border:#f59e0b;--kpi-bg:#fffbeb;--kpi-strong:#d97706;--kpi-glow:rgba(245,158,11,.2)}
.tjp-ui-v95 .app-kpi-card.tone-emerald{--kpi-border:#34d399;--kpi-bg:#ecfdf5;--kpi-strong:#059669;--kpi-glow:rgba(16,185,129,.2)}
.tjp-ui-v95 .app-kpi-card.tone-violet{--kpi-border:#a78bfa;--kpi-bg:#f5f3ff;--kpi-strong:#7c3aed;--kpi-glow:rgba(124,58,237,.2)}
.tjp-ui-v95 .app-kpi-card.tone-rose{--kpi-border:#fb7185;--kpi-bg:#fff1f2;--kpi-strong:#e11d48;--kpi-glow:rgba(225,29,72,.18)}
.tjp-ui-v95 .app-kpi-card.tone-cyan{--kpi-border:#22d3ee;--kpi-bg:#ecfeff;--kpi-strong:#0891b2;--kpi-glow:rgba(8,145,178,.18)}
.tjp-ui-v95 .app-kpi-card.tone-orange{--kpi-border:#fb923c;--kpi-bg:#fff7ed;--kpi-strong:#ea580c;--kpi-glow:rgba(234,88,12,.18)}
.tjp-ui-v95 .kpi-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tjp-ui-v95 .app-kpi-card .kpi-icon{width:34px;height:34px;border-color:color-mix(in srgb,var(--kpi-strong) 26%,transparent);background:color-mix(in srgb,var(--kpi-bg) 75%,#fff);color:var(--kpi-strong)}
.tjp-ui-v95 .app-kpi-card .trend{position:static;margin:0;padding:3px 6px;border-radius:999px;background:color-mix(in srgb,var(--v95-card) 72%,transparent);font-size:8px}
.tjp-ui-v95 .app-kpi-card .kpi-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.tjp-ui-v95 .app-kpi-card .kpi-copy>span{color:var(--kpi-strong);font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.tjp-ui-v95 .app-kpi-card .kpi-copy>strong{margin-top:2px;color:var(--v95-ink);font-size:clamp(20px,2vw,28px);line-height:1.1}
.tjp-ui-v95 .app-kpi-card .kpi-copy>small{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:7px;color:var(--v95-muted);font-size:8.5px;font-weight:650}
.tjp-ui-v95 .scoreboard-shell{margin-top:14px}
.tjp-ui-v95 .scoreboard-card{border-color:var(--v95-line);border-radius:16px;background:var(--v95-card);box-shadow:0 7px 22px rgba(15,23,42,.045)}
.tjp-ui-v95 .workspace-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tjp-ui-v95 .workspace-metrics .metric-card{min-height:104px;border-radius:15px;background:var(--v95-card);box-shadow:0 7px 20px rgba(15,23,42,.045)}

:root[data-theme="dark"].tjp-ui-v95 .workspace-context-chips>a{color:#c7d2fe;border-color:#3f4770;background:#202647}
:root[data-theme="dark"].tjp-ui-v95 .app-kpi-card{background:linear-gradient(145deg,var(--v95-card),color-mix(in srgb,var(--kpi-strong) 10%,var(--v95-card)))}
:root[data-theme="dark"].tjp-ui-v95 .app-kpi-card .kpi-icon{background:color-mix(in srgb,var(--kpi-strong) 15%,var(--v95-card))}
:root[data-theme="dark"].tjp-ui-v95 .scoreboard-card{background:var(--v95-card)}

@media(max-width:1240px){
  .tjp-ui-v95 .desktop-command-nav a{padding-inline:8px}
  .tjp-ui-v95 .desktop-command-nav a:nth-child(1){display:none}
  .tjp-ui-v95 .global-search{max-width:280px}
}
@media(max-width:1020px) and (min-width:861px){
  .tjp-ui-v95 .desktop-command-nav{display:none}
  .tjp-ui-v95 .global-search{max-width:none}
}
@media(max-width:860px){
  html.tjp-ui-v95{--v95-rail:0px}
  .tjp-ui-v95 .workspace,.tjp-ui-v95 .app-shell.sidebar-collapsed .workspace{margin-left:0}
  .tjp-ui-v95 .sidebar,.tjp-ui-v95 .app-shell.sidebar-collapsed .sidebar{width:min(86vw,318px);transform:translateX(-105%)}
  .tjp-ui-v95 .app-shell.mobile-nav-open .sidebar{transform:translateX(0)}
  .tjp-ui-v95 .sidebar-brand{min-height:62px}
  .tjp-ui-v95 .sidebar-collapse{display:none}
  .tjp-ui-v95 .sidebar-mobile-close{display:grid;color:#dbe5f3!important;border-color:rgba(148,163,184,.18)!important;background:rgba(255,255,255,.06)!important}
  .tjp-ui-v95 .topbar{min-height:60px;padding:7px 10px}
  .tjp-ui-v95 .desktop-command-nav,.tjp-ui-v95 .topbar .global-search,.tjp-ui-v95 .compact-control,.tjp-ui-v95 .profile-copy,.tjp-ui-v95 .quick-create span{display:none}
  .tjp-ui-v95 .mobile-topbar-brand{display:flex}
  .tjp-ui-v95 .topbar-actions{margin-left:auto}
  .tjp-ui-v95 .topbar-actions>.indicator{display:none}
  .tjp-ui-v95 .content{padding:12px 10px calc(88px + env(safe-area-inset-bottom))}
  .tjp-ui-v95 .breadcrumbs{display:none}
  .tjp-ui-v95 .app-dashboard-heading{align-items:flex-start;gap:10px;margin:2px 2px 12px}
  .tjp-ui-v95 .app-dashboard-heading h1{font-size:24px}
  .tjp-ui-v95 .app-dashboard-heading>div>p:last-child{max-width:29rem;font-size:10.5px}
  .tjp-ui-v95 .app-heading-actions{padding-top:3px}
  .tjp-ui-v95 .app-header-button{width:38px;height:38px;justify-content:center;padding:0}
  .tjp-ui-v95 .app-header-button>span:last-of-type{display:none}
  .tjp-ui-v95 .app-header-button>b{position:absolute;transform:translate(12px,-12px)}
  .tjp-ui-v95 .workspace-live-strip{align-items:flex-start;flex-direction:column;padding:9px}
  .tjp-ui-v95 .workspace-live-copy{width:100%}
  .tjp-ui-v95 .workspace-live-copy small{margin-left:auto}
  .tjp-ui-v95 .workspace-context-chips{width:100%;justify-content:flex-start}
  .tjp-ui-v95 .dashboard-filters{padding:7px}
  .tjp-ui-v95 .dashboard-filters .filter-primary{display:flex;align-items:flex-end;flex-wrap:wrap}
  .tjp-ui-v95 .dashboard-filters .date-range-field{width:100%;flex:1 0 100%}
  .tjp-ui-v95 .period-tabs{width:100%;overflow-x:auto}
  .tjp-ui-v95 .dashboard-filters .filter-primary>label{min-width:calc(50% - 5px);flex:1}
  .tjp-ui-v95 .dashboard-filters .filter-primary>.button{flex:1}
  .tjp-ui-v95 .quick-actions{margin:7px -10px 10px;padding-inline:10px}
  .tjp-ui-v95 .workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tjp-ui-v95 .workspace-metrics .metric-card{min-height:92px;padding:13px}
  .tjp-ui-v95 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tjp-ui-v95 .app-kpi-card{min-height:132px;padding:11px;border-radius:14px}
  .tjp-ui-v95 .app-kpi-card .kpi-copy>strong{font-size:clamp(19px,6vw,25px);overflow-wrap:anywhere}
  .tjp-ui-v95 .scoreboard-heading{align-items:flex-start;flex-direction:column}
  .tjp-ui-v95 .scoreboard-grid{grid-template-columns:1fr}
  .tjp-ui-v95 .scoreboard-card{padding:13px;border-radius:15px}
  html.tjp-ui-v95.mobile-footer-enabled .mobile-bottom-nav{right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;width:auto;height:64px;padding:5px 4px;border:1px solid var(--v95-line);border-radius:18px;background:color-mix(in srgb,var(--v95-card) 94%,transparent);box-shadow:0 14px 42px rgba(15,23,42,.2);backdrop-filter:blur(18px)}
  .tjp-ui-v95 .mobile-bottom-nav :is(a,button){min-width:0;border-radius:13px;color:var(--v95-muted);font-size:18px}
  .tjp-ui-v95 .mobile-bottom-nav :is(a,button) small{font-size:8px;font-weight:750}
  .tjp-ui-v95 .mobile-bottom-nav :is(a.active,button[aria-expanded="true"]){color:#fff;background:linear-gradient(135deg,#2563eb,#6d4aff);box-shadow:0 7px 16px rgba(79,70,229,.25)}
  .tjp-ui-v95 .mobile-bottom-nav .mobile-nav-logout button{color:#e05267}
}
@media(max-width:420px){
  .tjp-ui-v95 .content{padding-inline:8px}
  .tjp-ui-v95 .app-dashboard-heading .eyebrow{font-size:8px}
  .tjp-ui-v95 .app-dashboard-heading h1{font-size:21px}
  .tjp-ui-v95 .workspace-live-copy small{display:none}
  .tjp-ui-v95 .app-kpi-card{min-height:126px}
  .tjp-ui-v95 .app-kpi-card .kpi-copy>span{font-size:8px}
  .tjp-ui-v95 .app-kpi-card .trend{font-size:7px}
}

/* v95 Calling CRM: provider-aware dialpad, history and secure recordings. */
.tjp-ui-v95 .calling-app{max-width:1120px;margin:0 auto 28px;overflow:hidden;border:1px solid var(--v95-line);border-radius:18px;background:var(--v95-card);box-shadow:0 14px 36px rgba(15,23,42,.07)}
.tjp-ui-v95 .calling-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px;border-bottom:1px solid var(--v95-line);background:color-mix(in srgb,var(--v95-canvas) 78%,var(--v95-card))}
.tjp-ui-v95 .calling-tabs a{position:relative;display:flex;min-height:42px;align-items:center;justify-content:center;gap:7px;border-radius:11px;color:var(--v95-muted);font-size:11px;font-weight:780}
.tjp-ui-v95 .calling-tabs a:hover{color:var(--v95-brand);background:var(--v95-card)}
.tjp-ui-v95 .calling-tabs a.active{color:#fff!important;background:linear-gradient(135deg,#2563eb,#6d4aff);box-shadow:0 8px 18px rgba(79,70,229,.2)}
.tjp-ui-v95 .calling-tabs a>span{font-size:15px}
.tjp-ui-v95 .calling-dialpad-view{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(330px,1.15fr);gap:24px;padding:26px}
.tjp-ui-v95 .dialpad-card{max-width:390px;width:100%;justify-self:center;padding:20px;border:1px solid var(--v95-line);border-radius:18px;background:color-mix(in srgb,var(--v95-canvas) 58%,var(--v95-card));box-shadow:0 10px 28px rgba(15,23,42,.06)}
.tjp-ui-v95 .calling-card-heading{display:flex;align-items:center;gap:11px;margin-bottom:17px}
.tjp-ui-v95 .calling-card-heading :is(h2,p){margin:0}
.tjp-ui-v95 .calling-heading-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#0ea5e9,#2563eb);font-size:18px;box-shadow:0 8px 18px rgba(37,99,235,.2)}
.tjp-ui-v95 .dialpad-number{display:grid;gap:5px;color:var(--v95-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tjp-ui-v95 .dialpad-number input{height:48px;border:1px solid var(--v95-line);border-radius:12px;background:var(--v95-card);color:var(--v95-ink);font-size:18px!important;font-weight:700;text-align:center;letter-spacing:.04em}
.tjp-ui-v95 .dialpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.tjp-ui-v95 .dialpad-grid button{height:46px;border:1px solid var(--v95-line);border-radius:13px;color:var(--v95-ink);background:var(--v95-card);font-size:16px;font-weight:750;cursor:pointer;transition:.15s ease}
.tjp-ui-v95 .dialpad-grid button:hover{color:#2563eb;border-color:#93c5fd;background:#eff6ff;transform:translateY(-1px)}
.tjp-ui-v95 .dialpad-call-button{display:flex;height:48px;align-items:center;justify-content:center;gap:8px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#10b981,#059669);font-size:12px;font-weight:800;box-shadow:0 9px 20px rgba(5,150,105,.2)}
.tjp-ui-v95 .dialpad-call-button.disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.tjp-ui-v95 .calling-privacy-note{display:flex;gap:7px;margin:13px 1px 0;color:var(--v95-muted);font-size:9px;line-height:1.5}
.tjp-ui-v95 .calling-privacy-note>span{color:#16a36f}
.tjp-ui-v95 .dialpad-help-card{align-self:center;padding:24px;border:1px solid var(--v95-line);border-radius:18px;background:linear-gradient(145deg,var(--v95-card),color-mix(in srgb,#eef2ff 46%,var(--v95-card)))}
.tjp-ui-v95 .dialpad-help-card h3{margin-bottom:18px;color:var(--v95-ink);font-size:20px}
.tjp-ui-v95 .dialpad-help-card ol{display:grid;gap:11px;margin:0 0 18px;padding:0;list-style:none}
.tjp-ui-v95 .dialpad-help-card li{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--v95-line);border-radius:13px;background:color-mix(in srgb,var(--v95-card) 82%,transparent)}
.tjp-ui-v95 .dialpad-help-card li>b{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;color:#4338ca;background:#e0e7ff;font-size:10px}
.tjp-ui-v95 .dialpad-help-card li span :is(strong,small){display:block}
.tjp-ui-v95 .dialpad-help-card li strong{color:var(--v95-ink);font-size:11px}
.tjp-ui-v95 .dialpad-help-card li small{color:var(--v95-muted);font-size:9px}
.tjp-ui-v95 .dialpad-help-card>.button{width:100%;justify-content:center}
.tjp-ui-v95 .calling-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--v95-line)}
.tjp-ui-v95 .calling-list-toolbar>div :is(strong,small){display:block}
.tjp-ui-v95 .calling-list-toolbar>div strong{color:var(--v95-ink);font-size:13px}
.tjp-ui-v95 .calling-list-toolbar>div small{color:var(--v95-muted);font-size:9.5px}
.tjp-ui-v95 .calling-search{display:flex;gap:6px}
.tjp-ui-v95 .calling-search input{width:min(38vw,310px);height:37px;border:1px solid var(--v95-line);border-radius:10px;padding:7px 10px;color:var(--v95-ink);background:var(--v95-card);font-size:11px}
.tjp-ui-v95 .calling-search button{height:37px;padding:7px 12px;border:0;border-radius:10px;color:#fff;background:#2563eb;font-size:10px;font-weight:800;cursor:pointer}
.tjp-ui-v95 .calling-record-list{display:grid;gap:0}
.tjp-ui-v95 .calling-record-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-bottom:1px solid var(--v95-line);transition:background .15s ease}
.tjp-ui-v95 .calling-record-card:hover{background:color-mix(in srgb,var(--v95-canvas) 55%,transparent)}
.tjp-ui-v95 .call-direction-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;color:#047857;background:#d1fae5;font-size:17px;font-weight:900}
.tjp-ui-v95 .call-direction-icon.outbound{color:#1d4ed8;background:#dbeafe}
.tjp-ui-v95 .call-record-copy{min-width:0}
.tjp-ui-v95 .call-record-title{display:flex;align-items:center;gap:8px}
.tjp-ui-v95 .call-record-title>strong{overflow:hidden;color:var(--v95-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tjp-ui-v95 .call-outcome{padding:3px 6px;border-radius:999px;color:#475569;background:#e2e8f0;font-size:8px;font-weight:800}
.tjp-ui-v95 .call-outcome.connected{color:#047857;background:#d1fae5}.tjp-ui-v95 .call-outcome.no_answer,.tjp-ui-v95 .call-outcome.busy{color:#b45309;background:#fef3c7}
.tjp-ui-v95 .call-record-copy>p{margin:3px 0 0;color:var(--v95-muted);font-size:9.5px}
.tjp-ui-v95 .call-record-copy>small{display:block;margin-top:2px;color:var(--v95-muted);font-size:9px}
.tjp-ui-v95 .call-record-copy .call-callback{color:#7c3aed;font-weight:700}
.tjp-ui-v95 .call-record-copy blockquote{margin:8px 0 0;padding:7px 9px;border-left:3px solid #8b5cf6;border-radius:0 8px 8px 0;color:var(--v95-muted);background:color-mix(in srgb,#ede9fe 60%,var(--v95-card));font-size:9.5px}
.tjp-ui-v95 .call-record-copy audio{width:min(100%,430px);height:36px;display:block;margin-top:9px}
.tjp-ui-v95 .recording-restricted,.tjp-ui-v95 .recording-missing{display:inline-flex;margin-top:8px;padding:4px 7px;border-radius:7px;color:#9a3412;background:#ffedd5;font-size:8.5px;font-weight:750}
.tjp-ui-v95 .call-record-actions{display:flex;align-items:center;gap:5px}
.tjp-ui-v95 .call-record-actions a{display:flex;min-height:34px;align-items:center;gap:4px;padding:6px 8px;border:1px solid var(--v95-line);border-radius:9px;color:var(--v95-muted);background:var(--v95-card);font-size:10px;font-weight:750}
.tjp-ui-v95 .call-record-actions a:hover{color:#2563eb;border-color:#93c5fd}
.tjp-ui-v95 .call-record-actions a span{font-size:8.5px}
.tjp-ui-v95 .calling-empty{display:grid;min-height:330px;place-items:center;align-content:center;padding:30px;text-align:center}
.tjp-ui-v95 .calling-empty>span{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;color:#4f46e5;background:#eef2ff;font-size:20px}
.tjp-ui-v95 .calling-empty h2{margin:13px 0 4px;color:var(--v95-ink)}
.tjp-ui-v95 .calling-empty p{color:var(--v95-muted);font-size:11px}
:root[data-theme="dark"].tjp-ui-v95 .dialpad-help-card{background:linear-gradient(145deg,var(--v95-card),#171d38)}
:root[data-theme="dark"].tjp-ui-v95 .dialpad-help-card li>b{color:#c7d2fe;background:#252b50}
:root[data-theme="dark"].tjp-ui-v95 .call-record-copy blockquote{background:#1e2342}
:root[data-theme="dark"].tjp-ui-v95 .call-outcome{color:#cbd5e1;background:#334155}
@media(max-width:760px){
  .tjp-ui-v95 .calling-app{border-radius:15px}
  .tjp-ui-v95 .calling-tabs{position:sticky;top:60px;z-index:5}
  .tjp-ui-v95 .calling-tabs a{min-height:39px;font-size:9px}
  .tjp-ui-v95 .calling-dialpad-view{grid-template-columns:1fr;gap:12px;padding:12px}
  .tjp-ui-v95 .dialpad-card{max-width:none;padding:15px}
  .tjp-ui-v95 .dialpad-help-card{padding:16px}
  .tjp-ui-v95 .calling-list-toolbar{align-items:stretch;flex-direction:column;padding:11px}
  .tjp-ui-v95 .calling-search input{width:100%;min-width:0;flex:1}
  .tjp-ui-v95 .calling-record-card{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:12px 10px}
  .tjp-ui-v95 .call-direction-icon{width:35px;height:35px;border-radius:11px}
  .tjp-ui-v95 .call-record-actions{grid-column:2;justify-content:flex-start}
  .tjp-ui-v95 .call-record-actions a span{display:inline}
  .tjp-ui-v95 .call-record-copy audio{height:34px}
}

/* v96: fixed desktop module rail with right-side flyouts. */
@media(min-width:861px){
  :root{--sidebar-width:76px}
  html.app-root-authenticated .app-shell .sidebar,
  html.app-root-authenticated .app-shell.sidebar-collapsed .sidebar{
    width:76px!important;overflow:visible!important;contain:none!important
  }
  html.app-root-authenticated .workspace,
  html.app-root-authenticated .app-shell.sidebar-collapsed .workspace{margin-left:76px!important}
  .app-authenticated .sidebar-brand{min-height:72px;justify-content:center;padding:12px 9px}
  .app-authenticated .sidebar-brand .brand-copy,
  .app-authenticated .sidebar-collapse,
  .app-authenticated .sidebar-mobile-close{display:none!important}
  .app-authenticated .sidebar-brand .brand-mark,
  .app-authenticated .sidebar-brand .agency-logo{width:44px;height:44px;flex-basis:44px}
  .app-authenticated .sidebar-nav{
    display:flex!important;min-height:0;flex:1;flex-direction:column;gap:clamp(1px,.35vh,4px);overflow:visible!important;padding:9px 10px
  }
  .app-authenticated .sidebar-nav-heading{display:none!important}
  .app-authenticated .sidebar-nav>.nav-link{
    width:54px;min-height:46px;justify-content:center;margin:0;padding:4px!important;border-radius:13px
  }
  .app-authenticated .sidebar-nav>.nav-link .nav-link-label{display:none!important}
  .app-authenticated .sidebar-nav>.nav-link .nav-item-icon,
  .app-authenticated .nav-flyout>summary .nav-section-icon{
    width:36px!important;height:36px!important;flex:0 0 36px!important;border-radius:11px!important;font-size:14px!important
  }
  .app-authenticated .nav-flyout{position:relative;width:54px;margin:0!important;border-radius:13px}
  .app-authenticated .nav-flyout>summary{
    width:54px;min-height:46px;justify-content:center;margin:0;padding:4px!important;border:0;border-radius:13px;background:transparent!important
  }
  .app-authenticated .nav-flyout>summary::-webkit-details-marker{display:none}
  .app-authenticated .nav-flyout>summary::marker{display:none;content:""}
  .app-authenticated .nav-flyout>summary .nav-section-label,
  .app-authenticated .nav-flyout>summary .nav-chevron{display:none!important}
  .app-authenticated .nav-flyout.current>summary,
  .app-authenticated .nav-flyout>summary:hover,
  .app-authenticated .nav-flyout>summary:focus-visible{
    color:#fff!important;background:rgba(99,102,241,.18)!important;box-shadow:inset 3px 0 #818cf8
  }
  .app-authenticated .nav-flyout.current>summary .nav-section-icon{color:#fff!important;border-color:rgba(255,255,255,.16)!important;background:linear-gradient(145deg,#2563eb,#6d4ae8)!important;box-shadow:0 7px 17px rgba(49,46,129,.3)!important}
  .app-authenticated .nav-flyout-panel{
    position:absolute;z-index:160;top:-7px;left:calc(100% + 11px);width:264px;max-height:min(560px,calc(100dvh - 24px));display:grid;gap:3px;overflow-x:hidden;overflow-y:auto;padding:8px;border:1px solid rgba(148,163,184,.18);border-radius:16px;color:#dbe4f2;background:linear-gradient(155deg,#111a2f,#0b1426);box-shadow:0 24px 65px rgba(2,6,23,.34);opacity:0;visibility:hidden;transform:translateX(-8px) scale(.985);transform-origin:left top;pointer-events:none;transition:opacity .16s ease,transform .2s cubic-bezier(.16,1,.3,1),visibility .16s ease;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#40506b transparent
  }
  .app-authenticated .nav-flyout-panel:before{position:absolute;top:0;left:-16px;width:18px;height:100%;content:""}
  .app-authenticated .nav-flyout:hover>.nav-flyout-panel,
  .app-authenticated .nav-flyout:focus-within>.nav-flyout-panel,
  .app-authenticated .nav-flyout[open]>.nav-flyout-panel,
  .app-authenticated .nav-flyout.tour-flyout-open>.nav-flyout-panel{
    opacity:1;visibility:visible;transform:none;pointer-events:auto
  }
  .app-authenticated .nav-flyout-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 8px;border-bottom:1px solid rgba(148,163,184,.13)}
  .app-authenticated .nav-flyout-panel>header strong{color:#fff;font-size:12px;font-weight:850;letter-spacing:.01em}
  .app-authenticated .nav-flyout-panel>header small{color:#7688a4;font-size:8px;font-weight:700}
  .app-authenticated .nav-flyout-panel>a{min-height:42px!important;padding:5px 8px!important;border-radius:11px;color:#aebbd0!important}
  .app-authenticated .nav-flyout-panel>a:hover{transform:none!important}
  .app-authenticated .nav-flyout-panel>a .nav-item-icon{width:31px!important;height:31px!important;flex-basis:31px!important}
  .app-authenticated .sidebar-footer{width:56px;margin:5px 10px 10px;padding:8px!important}
  .app-authenticated .sidebar-account{justify-content:center!important}
  .app-authenticated .sidebar-account>span:last-child,
  .app-authenticated .sidebar-logout-form{display:none!important}
}

/* v96: daily role-aware product tour. */
.daily-tour[hidden]{display:none!important}
.daily-tour{position:fixed;z-index:2147483200;inset:0;font-family:"Segoe UI Variable Text","Aptos",Inter,ui-sans-serif,system-ui,sans-serif}
.daily-tour-overlay{position:absolute;inset:0;background:rgba(9,18,35,.67);backdrop-filter:blur(1.5px);animation:dailyTourFade .18s ease both}
.daily-tour-spotlight{position:fixed;z-index:2;border:2px solid #818cf8;border-radius:15px;background:rgba(255,255,255,.07);box-shadow:0 0 0 5px rgba(99,102,241,.19),0 18px 45px rgba(2,6,23,.26);pointer-events:none;transition:inset .22s cubic-bezier(.16,1,.3,1),width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1)}
.daily-tour-card{position:fixed;z-index:3;width:min(380px,calc(100vw - 28px));padding:18px;border:1px solid rgba(203,213,225,.9);border-radius:20px;color:#1e293b;background:rgba(255,255,255,.98);box-shadow:0 30px 90px rgba(2,6,23,.35);animation:dailyTourCardIn .24s cubic-bezier(.16,1,.3,1) both;outline:0}
.daily-tour-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.daily-tour-card-header>span{color:#6366f1;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.daily-tour-card-header>button{min-height:30px;padding:4px 8px;border:0;border-radius:8px;color:#64748b;background:transparent;font-size:10px;font-weight:750;cursor:pointer}
.daily-tour-card-header>button:hover{color:#be123c;background:#fff1f2}
.daily-tour-icon{display:grid;width:40px;height:40px;place-items:center;margin-bottom:12px;border:1px solid #dbe3ff;border-radius:13px;color:#4338ca;background:linear-gradient(145deg,#eef2ff,#f5f3ff);box-shadow:0 8px 20px rgba(79,70,229,.1);font-size:17px;font-weight:900}
.daily-tour-card h2{margin:0;color:#172033;font-size:18px;font-weight:850;letter-spacing:-.025em}
.daily-tour-card>p{min-height:48px;margin:8px 0 14px;color:#5d6b82;font-size:12px;line-height:1.55}
.daily-tour-questions{display:grid;gap:7px;margin:3px 0 15px}
.daily-tour-questions>p{margin:0 0 2px;color:#344054;font-size:11px;font-weight:800}
.daily-tour-questions>button{display:grid;grid-template-columns:34px 1fr;column-gap:9px;align-items:center;min-height:53px;padding:8px 10px;border:1px solid #e1e7f0;border-radius:13px;text-align:left;color:#334155;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.daily-tour-questions>button:hover{border-color:#a5b4fc;background:#f7f7ff;transform:translateY(-1px)}
.daily-tour-questions>button.selected{border-color:#818cf8;background:#eef2ff;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.daily-tour-questions>button>span{grid-row:1/3;display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#4338ca;background:#e9edff;font-weight:900}
.daily-tour-questions strong{font-size:11px;font-weight:800}.daily-tour-questions small{color:#7c8ba1;font-size:9px}
.daily-tour-card-footer{display:grid;grid-template-columns:70px 1fr 94px;align-items:center;gap:8px;padding-top:13px;border-top:1px solid #edf0f5}
.daily-tour-card-footer>button{min-height:38px;border:0;border-radius:11px;font-size:11px;font-weight:800;cursor:pointer}
.daily-tour-back{color:#64748b;background:#f1f5f9}.daily-tour-back:disabled{visibility:hidden}
.daily-tour-next{color:#fff;background:linear-gradient(135deg,#2563eb,#6d4ae8);box-shadow:0 7px 17px rgba(79,70,229,.24)}
.daily-tour-dots{display:flex;align-items:center;justify-content:center;gap:5px}
.daily-tour-dots i{width:5px;height:5px;border-radius:999px;background:#cbd5e1;transition:width .18s ease,background .18s ease}.daily-tour-dots i.active{width:17px;background:#6366f1}
.daily-tour-launcher>span{display:grid;width:21px;height:21px;place-items:center;border:1px solid #c7d2fe;border-radius:8px;color:#4f46e5;background:#eef2ff;font-size:11px;font-weight:950}
:root[data-theme="dark"] .daily-tour-card{color:#e5e7eb;border-color:#2f3543;background:rgba(20,22,29,.98)}
:root[data-theme="dark"] .daily-tour-card h2{color:#f8fafc}:root[data-theme="dark"] .daily-tour-card>p{color:#a1aab9}
:root[data-theme="dark"] .daily-tour-card-footer{border-color:#2b303b}:root[data-theme="dark"] .daily-tour-back{color:#cbd5e1;background:#292e38}
:root[data-theme="dark"] .daily-tour-questions>p{color:#dbe3ef}:root[data-theme="dark"] .daily-tour-questions>button{color:#e5e7eb;border-color:#303744;background:#20242d}
:root[data-theme="dark"] .daily-tour-questions>button.selected{border-color:#6366f1;background:#25294a}
@keyframes dailyTourFade{from{opacity:0}to{opacity:1}}@keyframes dailyTourCardIn{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:860px){
  .app-authenticated .nav-flyout>summary{display:grid!important;grid-template-columns:31px minmax(0,1fr) 20px;gap:9px;text-align:left}
  .app-authenticated .nav-flyout>summary .nav-section-icon{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:11px!important}
  .app-authenticated .nav-flyout>summary .nav-section-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-authenticated .nav-flyout:not([open])>.nav-flyout-panel{display:none!important}
  .app-authenticated .nav-flyout[open]>.nav-flyout-panel{display:grid;gap:2px}
  .app-authenticated .nav-flyout-panel>header{display:none}
  .daily-tour-overlay{background:rgba(7,13,26,.72)}
  .daily-tour-card{right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;left:10px!important;top:auto!important;width:auto;max-height:calc(100dvh - 20px);overflow-y:auto;padding:16px;border-radius:21px}
  .daily-tour-card>p{min-height:0}.daily-tour-card-footer{position:sticky;bottom:-16px;margin:0 -16px -16px;padding:12px 16px 16px;background:inherit}
  .daily-tour-questions>button{min-height:57px}
}
@media(prefers-reduced-motion:reduce){.daily-tour-overlay,.daily-tour-card{animation:none}.daily-tour-spotlight{transition:none}.app-authenticated .nav-flyout-panel{transition:none}}
@media(min-width:861px){html.daily-tour-open #sidebar{z-index:2147483250}}

/* v97: semantic navigation icons and collision-safe compact flyouts. */
.nav-svg-icon{display:block;width:17px;height:17px;flex:0 0 17px;overflow:visible}
.nav-section-icon .nav-svg-icon{width:18px;height:18px}
.nav-flyout-panel .nav-svg-icon{width:16px;height:16px}

@media(min-width:861px){
  .app-authenticated .nav-flyout-panel{
    position:fixed!important;
    top:var(--nav-flyout-top,12px)!important;
    right:auto!important;
    bottom:auto!important;
    left:76px!important;
  }
  .app-authenticated .sidebar-nav{overflow:visible!important}
}

@media(min-width:861px) and (max-height:820px){
  .app-authenticated #sidebar .sidebar-brand{min-height:52px!important;height:52px!important;padding:6px 13px!important}
  .app-authenticated #sidebar .brand-mark,
  .app-authenticated #sidebar .agency-logo{width:34px!important;height:34px!important;border-radius:10px!important}
  .app-authenticated #sidebar .sidebar-nav{gap:1px!important;padding:5px 10px!important}
  .app-authenticated #sidebar .sidebar-nav>*+*{margin-top:1px!important}
  .app-authenticated #sidebar .sidebar-nav>.nav-link{width:54px!important;min-height:39px!important;padding:2px 9px!important}
  .app-authenticated #sidebar .nav-flyout>summary{min-height:39px!important;padding:2px 9px!important}
  .app-authenticated #sidebar .sidebar-nav>.nav-link .nav-item-icon,
  .app-authenticated #sidebar .nav-flyout>summary .nav-section-icon{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:10px!important}
  .app-authenticated #sidebar .sidebar-footer{min-height:44px!important;margin:3px 10px 6px!important;padding:5px!important}
  .app-authenticated #sidebar .sidebar-footer .avatar{width:32px!important;height:32px!important;border-radius:10px!important}
}

@media(max-width:860px){
  .app-authenticated #sidebar{
    width:min(88vw,320px)!important;
    max-width:320px!important;
    transform:translateX(-105%)!important;
    overflow:hidden!important;
  }
  .app-authenticated.mobile-nav-open #sidebar{transform:translateX(0)!important}
  .app-authenticated .workspace{margin-left:0!important;width:100%!important;max-width:100%!important}
  .app-authenticated .nav-flyout-panel{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    max-height:none!important;
    margin:3px 0 7px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .app-authenticated .nav-flyout:not([open])>.nav-flyout-panel{display:none!important}
  .app-authenticated .nav-flyout[open]>.nav-flyout-panel{display:grid!important}
}

/* v98: compact professional density. Keep touch targets accessible on phones. */
.tjp-ui-v98 .content{padding:10px 16px 32px}
.tjp-ui-v98 .breadcrumbs{margin-bottom:7px!important;font-size:10px}
.tjp-ui-v98 .topbar{min-height:56px;padding:5px 14px}
.tjp-ui-v98 .global-search input{height:36px}
.tjp-ui-v98 .desktop-command-nav{padding:2px;border-radius:10px}
.tjp-ui-v98 .desktop-command-nav a{min-height:30px;padding:4px 8px;border-radius:8px;font-size:9.5px}
.tjp-ui-v98 .topbar-actions{gap:5px}
.tjp-ui-v98 .topbar :is(.icon-button,.quick-create,select){height:36px;border-radius:10px}
.tjp-ui-v98 .quick-create{padding-inline:12px}
.tjp-ui-v98 :is(.dashboard-heading,.page-heading){gap:10px;margin-bottom:11px}
.tjp-ui-v98 :is(.dashboard-heading,.page-heading) h1{margin-bottom:2px;font-size:clamp(23px,2vw,30px);line-height:1.12}
.tjp-ui-v98 :is(.dashboard-heading,.page-heading)>div>p:last-child{font-size:11px;line-height:1.4}
.tjp-ui-v98 .eyebrow,.tjp-ui-v98 .section-kicker{margin-bottom:3px}
.tjp-ui-v98 .panel{padding:14px;border-radius:14px}
.tjp-ui-v98 .panel-heading{gap:9px;margin-bottom:10px}
.tjp-ui-v98 .section-heading{gap:9px;margin:13px 0 8px}
.tjp-ui-v98 .section-heading h2,.tjp-ui-v98 .panel-heading h2{margin-block:2px}
.tjp-ui-v98 .button{min-height:35px;padding:6px 11px;border-radius:9px;font-size:10.5px}
.tjp-ui-v98 .icon-button{border-radius:9px}
.tjp-ui-v98 .actions{gap:6px}
.tjp-ui-v98 .stack{gap:10px}
.tjp-ui-v98 .dashboard-two-col{gap:10px}
.tjp-ui-v98 .dashboard-grid,.tjp-ui-v98 .detail-grid{gap:9px}
.tjp-ui-v98 .notice,.tjp-ui-v98 .error,.tjp-ui-v98 .integration-note{margin-bottom:8px;padding:9px 11px;border-radius:10px}
.tjp-ui-v98 .table-wrap{border-radius:13px}
.tjp-ui-v98 table :is(th,td){padding:9px 10px}

/* Dashboard: one compact information rhythm without oversized empty cards. */
.tjp-ui-v98 .app-dashboard-heading{margin:0 0 8px}
.tjp-ui-v98 .app-dashboard-heading .eyebrow{gap:5px;margin-bottom:3px;font-size:8px}
.tjp-ui-v98 .heading-orb{width:18px;height:18px;border-radius:6px;font-size:8px}
.tjp-ui-v98 .app-dashboard-heading h1{font-size:clamp(23px,2vw,29px)}
.tjp-ui-v98 .app-heading-actions{gap:5px}
.tjp-ui-v98 .app-header-button{min-height:34px;gap:5px;padding:5px 9px;border-radius:9px;font-size:9.5px;box-shadow:none}
.tjp-ui-v98 .workspace-live-strip{gap:8px;margin-bottom:7px;padding:7px 9px;border-radius:11px;box-shadow:none}
.tjp-ui-v98 .workspace-live-copy{gap:6px}
.tjp-ui-v98 .workspace-live-copy strong{font-size:10px}
.tjp-ui-v98 .workspace-context-chips{gap:4px}
.tjp-ui-v98 .workspace-context-chips>span,.tjp-ui-v98 .workspace-context-chips>a{min-height:26px;gap:4px;padding:3px 7px;font-size:8.5px}
.tjp-ui-v98 .workspace-context-chips>span>b{width:18px;height:18px;border-radius:6px}
.tjp-ui-v98 .dashboard-filters{margin-bottom:7px;padding:6px 8px;border-radius:11px;box-shadow:none}
.tjp-ui-v98 .dashboard-filters .filter-primary{gap:5px}
.tjp-ui-v98 .period-tabs{gap:1px;padding:2px;border-radius:8px}
.tjp-ui-v98 .period-tabs span{min-height:27px;padding:4px 7px;border-radius:7px;font-size:8px}
.tjp-ui-v98 .dashboard-filters :is(select,input){min-height:33px;padding:5px 8px;border-radius:8px;font-size:10px}
.tjp-ui-v98 .dashboard-filters .button{min-height:33px;padding:5px 9px;border-radius:8px;font-size:9px}
.tjp-ui-v98 .advanced-filters{margin-top:5px;padding-top:5px}
.tjp-ui-v98 .quick-actions{gap:5px;margin:5px 0 7px;padding-bottom:1px}
.tjp-ui-v98 .quick-action{min-height:31px;gap:5px;padding:4px 8px;border-radius:8px;font-size:8.75px;box-shadow:none}
.tjp-ui-v98 .quick-action>span{width:18px;height:18px;border-radius:6px}
.tjp-ui-v98 .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px;margin-bottom:10px}
.tjp-ui-v98 .app-kpi-card{min-height:105px;gap:5px;padding:10px;border-width:1px;border-radius:12px;box-shadow:none}
.tjp-ui-v98 .app-kpi-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.07)}
.tjp-ui-v98 .app-kpi-card .kpi-icon{width:29px;height:29px;border-radius:9px}
.tjp-ui-v98 .app-kpi-card .trend{padding:2px 5px;font-size:7px}
.tjp-ui-v98 .app-kpi-card .kpi-copy>span{font-size:8px}
.tjp-ui-v98 .app-kpi-card .kpi-copy>strong{font-size:clamp(19px,1.8vw,24px)}
.tjp-ui-v98 .app-kpi-card .kpi-copy>small{padding-top:4px;font-size:7.5px}
.tjp-ui-v98 .scoreboard-shell{margin:10px 0 12px}
.tjp-ui-v98 .scoreboard-heading{gap:8px;margin-bottom:7px}
.tjp-ui-v98 .scoreboard-heading h2{font-size:1.3rem}
.tjp-ui-v98 .competition-chip{gap:5px;padding:5px 8px;border-radius:10px;box-shadow:none}
.tjp-ui-v98 .competition-editor{margin-bottom:8px;padding:8px 10px}
.tjp-ui-v98 .competition-editor form{gap:7px;margin-top:7px}
.tjp-ui-v98 .competition-editor input{min-height:36px;padding:6px 8px;border-radius:9px}
.tjp-ui-v98 .scoreboard-grid{gap:9px}
.tjp-ui-v98 .scoreboard-card{padding:12px;border-radius:13px;box-shadow:none}
.tjp-ui-v98 .scoreboard-card-title{gap:7px;margin-bottom:8px}
.tjp-ui-v98 .scoreboard-icon{width:34px;height:34px;border-radius:10px}
.tjp-ui-v98 .scoreboard-bars{gap:7px}
.tjp-ui-v98 .selling-text-list{gap:5px}
.tjp-ui-v98 .selling-text-list li{gap:6px;padding:6px;border-radius:9px}

/* Meta onboarding: compact enough for daily work without hiding the guided flow. */
.tjp-ui-v98 .meta-agent-flow{gap:7px;margin-bottom:8px}
.tjp-ui-v98 .meta-agent-flow article{gap:7px;padding:8px;border-radius:11px}
.tjp-ui-v98 .meta-agent-flow article>span{width:27px;height:27px;flex-basis:27px;border-radius:8px}
.tjp-ui-v98 .meta-agent-channel-grid{gap:9px}
.tjp-ui-v98 .meta-agent-channel{gap:9px;border-top-width:3px}
.tjp-ui-v98 .meta-agent-channel-head{gap:7px}
.tjp-ui-v98 .meta-channel-icon{width:38px;height:38px;border-radius:11px}
.tjp-ui-v98 .meta-asset-list{gap:6px}
.tjp-ui-v98 .meta-asset-list>div{padding:8px;border-radius:9px}
.tjp-ui-v98 .meta-agent-form-picker,.tjp-ui-v98 .meta-agent-form-list{gap:7px}
.tjp-ui-v98 .meta-agent-form-list>div{gap:7px;padding:7px;border-radius:9px}
.tjp-ui-v98 .meta-agent-help{margin-top:9px}
.tjp-ui-v98 .meta-agent-help h2{margin:2px 0 8px}
.tjp-ui-v98 .meta-agent-help ol{gap:7px}
.tjp-ui-v98 .meta-agent-help li{padding:8px;border-radius:9px}
.tjp-ui-v98 .meta-agent-help li span{margin-top:2px}

/* Desktop rail and flyouts use only the space required by their contents. */
@media(min-width:861px){
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-brand{min-height:52px;height:52px;padding:6px 10px}
  .tjp-ui-v98 .app-authenticated #sidebar .brand-mark,
  .tjp-ui-v98 .app-authenticated #sidebar .agency-logo{width:34px;height:34px;flex-basis:34px;border-radius:10px}
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-nav{gap:1px;padding:5px 10px}
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-nav>.nav-link,
  .tjp-ui-v98 .app-authenticated #sidebar .nav-flyout>summary{min-height:39px;padding:2px 9px!important}
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-nav>.nav-link .nav-item-icon,
  .tjp-ui-v98 .app-authenticated #sidebar .nav-flyout>summary .nav-section-icon{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:10px!important}
  .tjp-ui-v98 .app-authenticated .nav-flyout-panel{width:236px;max-height:min(520px,calc(100dvh - 18px));gap:1px;padding:5px;border-radius:13px}
  .tjp-ui-v98 .app-authenticated .nav-flyout-panel>header{gap:8px;padding:7px 8px 6px}
  .tjp-ui-v98 .app-authenticated .nav-flyout-panel>a{min-height:36px!important;padding:3px 6px!important;border-radius:8px;font-size:10.5px}
  .tjp-ui-v98 .app-authenticated .nav-flyout-panel>a .nav-item-icon{width:28px!important;height:28px!important;flex-basis:28px!important;border-radius:8px!important}
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-footer{min-height:42px;margin:3px 10px 6px;padding:5px!important}
  .tjp-ui-v98 .app-authenticated #sidebar .sidebar-footer .avatar{width:31px;height:31px;border-radius:9px}
}

@media(max-width:860px){
  .tjp-ui-v98 .topbar{min-height:54px;padding:5px 8px}
  .tjp-ui-v98 .content{padding:8px 8px calc(82px + env(safe-area-inset-bottom))}
  .tjp-ui-v98 :is(.dashboard-heading,.page-heading){gap:8px;margin-bottom:9px}
  .tjp-ui-v98 :is(.dashboard-heading,.page-heading) h1{font-size:21px}
  .tjp-ui-v98 .panel{padding:11px;border-radius:12px}
  .tjp-ui-v98 .button{min-height:42px;padding:7px 11px}
  .tjp-ui-v98 .workspace-live-strip{padding:7px}
  .tjp-ui-v98 .dashboard-filters{padding:6px}
  .tjp-ui-v98 .quick-actions{margin:5px -8px 7px;padding-inline:8px}
  .tjp-ui-v98 .kpi-grid{gap:6px}
  .tjp-ui-v98 .app-kpi-card{min-height:112px;padding:9px}
  .tjp-ui-v98 .scoreboard-card{padding:10px}
  .tjp-ui-v98 .dashboard-two-col{gap:8px}
  .tjp-ui-v98 .app-authenticated .nav-flyout-panel>a{min-height:40px!important;padding:4px 7px!important}
}

@media(max-width:420px){
  .tjp-ui-v98 .content{padding-inline:6px}
  .tjp-ui-v98 .workspace-context-chips>span,.tjp-ui-v98 .workspace-context-chips>a{min-height:28px}
  .tjp-ui-v98 .app-kpi-card{min-height:108px}
}

/* v102: phones and installed app WebViews use one reliable drawer even when
   their reported CSS viewport is wider than the ordinary phone breakpoint. */
html.mobile-navigation-enabled .app-authenticated .workspace,
html.mobile-navigation-enabled .app-authenticated .app-shell.sidebar-collapsed .workspace{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar,
html.mobile-navigation-enabled .app-authenticated .app-shell.sidebar-collapsed #sidebar{
  position:fixed!important;
  z-index:90!important;
  inset:0 auto 0 0!important;
  width:min(88vw,320px)!important;
  max-width:320px!important;
  height:100dvh!important;
  display:block!important;
  visibility:hidden!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border-radius:0 22px 22px 0!important;
  transform:translate3d(-105%,0,0)!important;
  pointer-events:none!important;
  transition:transform .22s cubic-bezier(.16,1,.3,1),visibility .22s ease!important;
}
html.mobile-navigation-enabled .app-authenticated .app-shell.mobile-nav-open #sidebar{
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  pointer-events:auto!important;
}
html.mobile-navigation-enabled .app-authenticated .app-shell.mobile-nav-open .sidebar-overlay{
  position:fixed!important;
  z-index:80!important;
  inset:0!important;
  display:block!important;
  border:0!important;
  background:rgba(3,10,24,.56)!important;
  backdrop-filter:blur(2px);
}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-brand{
  min-height:62px!important;
  height:auto!important;
  justify-content:flex-start!important;
  padding:10px 12px 10px 15px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .brand-copy{display:block!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-collapse{display:none!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-mobile-close{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  margin-left:auto!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-nav{
  display:block!important;
  overflow:visible!important;
  padding:9px 10px 5px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-nav-heading{display:flex!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-nav>.nav-link,
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout,
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout>summary{
  width:auto!important;
  min-height:44px!important;
  justify-content:flex-start!important;
  margin:2px 0!important;
  padding:5px 8px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-link-label,
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-section-label,
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-chevron{display:inline!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout>summary{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 18px!important;
  gap:9px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout-panel{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-height:none!important;
  display:none!important;
  margin:3px 0 7px!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout[open]>.nav-flyout-panel{display:grid!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout-panel>header{display:none!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .nav-flyout-panel>a{
  min-height:40px!important;
  padding:4px 7px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-footer{
  width:auto!important;
  min-height:0!important;
  margin:7px 10px max(10px,env(safe-area-inset-bottom))!important;
  padding:9px!important;
}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-account{justify-content:flex-start!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-account>span:last-child{display:grid!important}
html.mobile-navigation-enabled .app-authenticated #sidebar .sidebar-logout-form{display:block!important}
html.mobile-navigation-enabled .app-authenticated .mobile-menu{display:inline-grid!important}
html.mobile-navigation-enabled .app-authenticated .mobile-topbar-brand{display:flex!important}

/* Dark-theme parity for the compact lead queue and call planner. */
:root[data-theme="dark"] .app-authenticated .lead-table-panel{border-color:var(--theme-line);background:var(--theme-surface)}
:root[data-theme="dark"] .app-authenticated .lead-table-panel thead{background:#121722}
:root[data-theme="dark"] .app-authenticated .lead-table-panel th,
:root[data-theme="dark"] .app-authenticated .lead-table-panel td{border-color:var(--theme-line)}
:root[data-theme="dark"] .app-authenticated .lead-table-panel tbody tr:hover{background:#171d2a}
:root[data-theme="dark"] .app-authenticated .lead-row-new{background:linear-gradient(90deg,rgba(79,70,229,.16),transparent 38%)}
:root[data-theme="dark"] .app-authenticated .lead-inline-status select,
:root[data-theme="dark"] .app-authenticated .lead-inline-travel-date input{color:var(--theme-ink);border-color:var(--theme-line);background:#121722}
:root[data-theme="dark"] .app-authenticated .call-schedule-card{color:var(--theme-ink);border-color:var(--theme-line);background:linear-gradient(145deg,#151924,#111827)}
:root[data-theme="dark"] .app-authenticated .call-schedule-header{border-color:var(--theme-line)}
:root[data-theme="dark"] .app-authenticated .call-schedule-header h3,
:root[data-theme="dark"] .app-authenticated .scheduled-call-list h3{color:var(--theme-ink)}
:root[data-theme="dark"] .app-authenticated .call-schedule-assignee,
:root[data-theme="dark"] .app-authenticated .call-schedule-control input,
:root[data-theme="dark"] .app-authenticated .call-schedule-note textarea,
:root[data-theme="dark"] .app-authenticated .call-alert-enable{color:var(--theme-ink);border-color:var(--theme-line);background:#171d2a}

/* v117: resilient trip calendar, scoped customer picker and zoom-safe navigation. */
.tjp-person-lookup select[data-customer-select]{
  width:100%;min-width:0;min-height:43px!important;padding:.55rem .65rem!important;border:0!important;border-radius:0!important;color:#17394a;background:#fff;box-shadow:none!important;font-weight:750
}
.tjp-person-lookup select[data-customer-select]:focus{outline:0!important;box-shadow:none!important}

@media(min-width:861px){
  .app-authenticated #sidebar{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
  .app-authenticated #sidebar .sidebar-brand,
  .app-authenticated #sidebar .sidebar-footer{flex:0 0 auto}
  .app-authenticated #sidebar .sidebar-nav{
    min-height:0!important;flex:1 1 auto!important;overflow-x:hidden!important;overflow-y:auto!important;padding-bottom:14px!important;scrollbar-gutter:stable;overscroll-behavior-y:contain
  }
  .app-authenticated #sidebar .sidebar-nav::-webkit-scrollbar{width:7px}
  .app-authenticated #sidebar .sidebar-nav::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#64748b;background-clip:padding-box}
}

@media(min-width:861px) and (max-height:680px){
  .app-authenticated #sidebar .sidebar-brand{min-height:46px!important;height:46px!important}
  .app-authenticated #sidebar .sidebar-footer{margin-block:3px!important}
  .app-authenticated #sidebar .sidebar-logout-button{height:30px!important;margin-top:3px!important}
}

@media(max-width:760px){
  .tjp-trip-start[data-trip-start] .tjp-range-picker{
    position:fixed!important;z-index:4600!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important
  }
  .tjp-range-picker>header{position:relative;z-index:2;min-height:58px!important;flex:0 0 auto;padding:7px 9px!important}
  .tjp-range-picker>header>div{min-width:0}
  .tjp-range-picker>header>div strong{font-size:13px}
  .tjp-range-picker>header>div small{max-width:170px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tjp-range-picker>header>button{width:36px;height:36px;flex:0 0 36px}
  .tjp-range-months{min-height:0!important;height:auto!important;grid-template-columns:1fr!important;align-content:start;gap:0!important;overflow-y:auto!important;padding:14px 12px 18px!important;scrollbar-gutter:auto!important;overscroll-behavior-y:contain}
  .tjp-range-months>section{width:100%;max-width:440px;margin-inline:auto}
  .tjp-range-months>section:nth-child(2){display:none!important}
  .tjp-range-months .weekdays,.tjp-range-months .days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
  .tjp-range-months .days>button,.tjp-range-months .days>.blank{width:min(42px,11vw)!important;height:min(42px,11vw)!important;min-height:36px!important}
  .tjp-range-picker>footer{position:relative;z-index:3;align-items:stretch!important;flex:0 0 auto;flex-direction:column!important;gap:8px!important;min-height:0!important;padding:9px 12px max(11px,env(safe-area-inset-bottom))!important;border-top:1px solid #e6eaf1;background:#fff;box-shadow:0 -10px 24px rgba(15,23,42,.08)}
  .tjp-range-picker>footer>div{min-width:0;justify-content:space-between!important}
  .tjp-range-picker>footer span{min-width:0!important}
  .tjp-range-picker>footer b{font-size:10px}
  .tjp-range-picker>footer .button{width:100%!important;min-height:46px!important;justify-content:center}
  .tjp-trip-start-form>footer{z-index:4;flex:0 0 auto;box-shadow:0 -8px 20px rgba(15,23,42,.06)}
  .tjp-create-footer{z-index:35;bottom:calc(64px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column;padding:10px;box-shadow:0 -8px 22px rgba(15,23,42,.08)}
  .tjp-create-footer .button{width:100%;justify-content:center}
}

:root[data-theme="dark"] .app-authenticated .tjp-person-lookup select[data-customer-select]{color:var(--theme-ink);background:#121722}
:root[data-theme="dark"] .app-authenticated .tjp-range-picker>footer{border-color:var(--theme-line);background:#172033}

/* v118: compact lead queue, task command centre and fresh readable workspace. */
.app-authenticated{
  --fresh-ink:#10233f;
  --fresh-muted:#5f7189;
  --fresh-line:#d9e5f1;
  --fresh-panel:#ffffff;
  --fresh-indigo:#4f46e5;
  --fresh-cyan:#0891b2;
  --fresh-green:#059669;
  --fresh-red:#dc2626;
}
.app-authenticated .workspace{
  min-width:0!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 88% 4%,rgba(99,102,241,.08),transparent 26rem),
    linear-gradient(145deg,#f8fbff 0%,#f3f7fc 55%,#f7f9ff 100%)!important;
}
.app-authenticated #mainContent{min-width:0}
.app-authenticated .panel,
.app-authenticated .lead-filter-panel,
.app-authenticated .travel-pipeline{
  border-color:var(--fresh-line);
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 35px rgba(30,64,105,.07);
}
.app-authenticated .page-heading h1,
.app-authenticated .panel h2,
.app-authenticated .panel h3,
.app-authenticated .travel-pipeline h2{color:var(--fresh-ink)}
.app-authenticated .page-heading p,
.app-authenticated .panel p,
.app-authenticated td small{color:var(--fresh-muted)}
.app-authenticated .button.primary{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(115deg,var(--fresh-indigo),#6d4df4 58%,var(--fresh-cyan));
  box-shadow:0 7px 18px rgba(79,70,229,.22);
}
.app-authenticated .button.primary:hover{
  transform:translateY(-1px);
  filter:saturate(1.08) brightness(1.04);
  box-shadow:0 10px 24px rgba(79,70,229,.28);
}

/* Every data table owns its horizontal overflow; the page never traps it. */
.app-authenticated .table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
  scrollbar-color:#7c8da5 #eaf0f7;
  scrollbar-width:thin;
}
.app-authenticated .table-wrap::-webkit-scrollbar{height:10px}
.app-authenticated .table-wrap::-webkit-scrollbar-track{border-radius:999px;background:#eaf0f7}
.app-authenticated .table-wrap::-webkit-scrollbar-thumb{border:2px solid #eaf0f7;border-radius:999px;background:linear-gradient(90deg,#64748b,#6366f1)}
.app-authenticated .table-wrap>table{width:max-content;min-width:100%;margin:0}
.app-authenticated .panel:has(>.table-wrap){min-width:0;overflow:hidden}

/* Full-width desktop master filter with consistently aligned controls. */
.app-authenticated .lead-filter-panel{padding:12px 14px 14px;border-radius:20px}
.app-authenticated .lead-master-filter{display:grid;gap:9px;align-items:end}
.app-authenticated .lead-master-filter :is(input,select){
  min-height:42px;
  border:1px solid #cbd9e8;
  color:#17304f;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.025);
}
.app-authenticated .lead-master-filter :is(input,select):focus{
  border-color:#6366f1;
  outline:3px solid rgba(99,102,241,.13);
}
.app-authenticated .lead-master-filter label{color:#425a75}
.app-authenticated .lead-filter-apply,.app-authenticated .lead-filter-reset{min-height:42px;justify-content:center}
@media(min-width:1180px){
  .app-authenticated .lead-master-filter{grid-template-columns:repeat(6,minmax(0,1fr))}
  .app-authenticated .lead-master-filter>input[type="search"]{grid-column:span 2}
  .app-authenticated .lead-filter-apply,.app-authenticated .lead-filter-reset{width:100%}
}

/* Compact, bright lead rows and visible bulk-reassignment state. */
.app-authenticated .lead-bulk-action{
  grid-template-columns:minmax(250px,.8fr) minmax(360px,1.6fr) auto;
  gap:14px;
  padding:13px 16px;
  border:1px solid #ccdafa;
  background:linear-gradient(120deg,#fff,#f5f7ff 64%,#eefcff);
}
.app-authenticated .lead-bulk-action h2{font-size:16px}
.app-authenticated .lead-bulk-action p{margin:3px 0 0;font-size:11px}
.app-authenticated .lead-bulk-action.has-selection{
  border-color:#818cf8;
  box-shadow:0 10px 28px rgba(79,70,229,.15),0 0 0 3px rgba(99,102,241,.08);
}
.app-authenticated .lead-table-panel .table-wrap{padding-bottom:2px}
.app-authenticated .lead-table-panel table{min-width:1180px}
.app-authenticated .lead-table-panel th{color:#425a75;background:#f5f8fc}
.app-authenticated .lead-table-panel td{height:52px;color:#18304d}
.app-authenticated .lead-row-new{
  background:linear-gradient(90deg,rgba(238,242,255,.96),rgba(236,254,255,.45) 42%,#fff 78%);
  box-shadow:inset 3px 0 #6366f1;
}
.app-authenticated .lead-new-sticker{
  color:#fff;
  background:linear-gradient(115deg,#5b4df1,#8b5cf6);
  box-shadow:0 0 0 3px rgba(99,102,241,.1),0 4px 12px rgba(99,102,241,.22);
  animation:v118-new-shine 2.8s ease-in-out infinite;
}
.app-authenticated .lead-row-new.lead-row-whatsapp-hot{
  background:linear-gradient(90deg,#d9ffe9,#edfff5 48%,#fff 88%);
  box-shadow:inset 4px 0 #10b981,0 0 0 1px rgba(16,185,129,.18);
}
:root[data-theme="dark"] .app-authenticated .lead-row-new.lead-row-whatsapp-hot{background:linear-gradient(90deg,rgba(5,150,105,.28),rgba(16,185,129,.1) 54%,transparent);box-shadow:inset 4px 0 #34d399,0 0 0 1px rgba(52,211,153,.16)}
.app-authenticated .lead-row-whatsapp-hot:hover{background:#e4fff0!important;box-shadow:inset 5px 0 #059669,0 5px 18px rgba(5,150,105,.13)!important}
:root[data-theme="dark"] .app-authenticated .lead-row-whatsapp-hot:hover{background:rgba(5,150,105,.24)!important;box-shadow:inset 5px 0 #34d399,0 5px 18px rgba(0,0,0,.22)!important}
.app-authenticated .lead-hot-sticker{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 7px;border-radius:999px;color:#fff;background:linear-gradient(115deg,#059669,#10b981);font-size:7px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 0 3px rgba(16,185,129,.12);animation:hotLeadBlink 1.25s ease-in-out infinite}
.app-authenticated .lead-mobile-card-hot{border-color:#6ee7b7;background:linear-gradient(145deg,#ecfdf5,#fff);box-shadow:inset 4px 0 #10b981}
@keyframes hotLeadBlink{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 3px rgba(16,185,129,.12)}50%{opacity:.58;transform:scale(1.045);box-shadow:0 0 0 6px rgba(16,185,129,.06)}}
@keyframes v118-new-shine{
  0%,100%{filter:brightness(1);box-shadow:0 0 0 3px rgba(99,102,241,.1),0 4px 12px rgba(99,102,241,.22)}
  50%{filter:brightness(1.16);box-shadow:0 0 0 5px rgba(99,102,241,.07),0 5px 18px rgba(99,102,241,.34)}
}
.app-authenticated .lead-inline-status{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important}
.app-authenticated .lead-inline-status select{min-width:170px;height:36px;color:#17304f;background:#fff}
.app-authenticated .lead-status-save{height:36px;min-width:66px;justify-content:center;color:#fff;border-color:#0891b2;background:#0891b2}

/* Today Tasks: red means attention, green means finished. */
.app-authenticated .task-page-heading{margin-bottom:14px}
.app-authenticated .task-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-authenticated .task-stat-today{border-top:3px solid #0ea5e9;background:linear-gradient(145deg,#fff,#eff9ff)}
.app-authenticated .task-stat-alert{border-top:3px solid #ef4444;background:linear-gradient(145deg,#fff,#fff1f2)}
.app-authenticated .task-stat-success{border-top:3px solid #10b981;background:linear-gradient(145deg,#fff,#ecfdf5)}
.app-authenticated .task-master-filter{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(155px,.7fr)) auto}
.app-authenticated .task-master-filter :is(input,select){min-height:42px;color:#17304f;border-color:#cbd9e8;background:#fff}
.app-authenticated .task-queue-panel{padding:0;overflow:hidden}
.app-authenticated .task-legend{display:flex;justify-content:flex-end;gap:16px;padding:10px 14px;border-bottom:1px solid var(--fresh-line);background:#f8fbff;font-size:10px;font-weight:800;color:#52657c}
.app-authenticated .task-legend span::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}
.app-authenticated .task-legend .pending::before{background:#ef4444;box-shadow:0 0 0 3px #fee2e2}
.app-authenticated .task-legend .done::before{background:#10b981;box-shadow:0 0 0 3px #d1fae5}
.app-authenticated .task-table{min-width:900px}
.app-authenticated .task-table .task-row{transition:background-color .16s ease}
.app-authenticated .task-table .task-row td{color:#17304f}
.app-authenticated .task-table .task-row-overdue{background:#fff1f2;box-shadow:inset 4px 0 #ef4444}
.app-authenticated .task-table .task-row-pending{background:#fffdfa;box-shadow:inset 4px 0 #f59e0b}
.app-authenticated .task-table .task-row-completed{background:#ecfdf5;box-shadow:inset 4px 0 #10b981}
.app-authenticated .task-table .task-row-cancelled{background:#f1f5f9;opacity:.78}
.app-authenticated .task-complete-button{color:#047857;border-color:#6ee7b7;background:#ecfdf5}
.app-authenticated .task-done-label{color:#047857;font-weight:850}

@media(max-width:1179px){
  .app-authenticated .lead-master-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-authenticated .lead-master-filter>input[type="search"]{grid-column:span 2}
  .app-authenticated .task-master-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .app-authenticated .lead-master-filter,.app-authenticated .task-master-filter{grid-template-columns:1fr}
  .app-authenticated .lead-master-filter>input[type="search"]{grid-column:auto}
  .app-authenticated .lead-bulk-action{grid-template-columns:1fr;padding:12px}
  .app-authenticated .lead-bulk-action .button{width:100%;justify-content:center}
  .app-authenticated .task-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .app-authenticated .task-page-heading{align-items:stretch}
  .app-authenticated .task-page-heading .button{width:100%;justify-content:center}
}

:root[data-theme="dark"] .app-authenticated .workspace{background:#09090b!important}
:root[data-theme="dark"] .app-authenticated .lead-filter-panel,
:root[data-theme="dark"] .app-authenticated .travel-pipeline,
:root[data-theme="dark"] .app-authenticated .lead-bulk-action,
:root[data-theme="dark"] .app-authenticated .task-queue-panel{border-color:var(--theme-line);background:#111722}
:root[data-theme="dark"] .app-authenticated .lead-master-filter :is(input,select),
:root[data-theme="dark"] .app-authenticated .task-master-filter :is(input,select),
:root[data-theme="dark"] .app-authenticated .lead-inline-status select{color:var(--theme-ink);border-color:var(--theme-line);background:#171d2a}
:root[data-theme="dark"] .app-authenticated .task-row-overdue{background:rgba(127,29,29,.22)}
:root[data-theme="dark"] .app-authenticated .task-row-pending{background:rgba(120,53,15,.16)}
:root[data-theme="dark"] .app-authenticated .task-row-completed{background:rgba(6,78,59,.22)}
:root[data-theme="dark"] .app-authenticated .task-legend{border-color:var(--theme-line);background:#111827}

/* v120: true full-width lead filters and a compact, single-view desktop table. */
.app-authenticated .lead-filter-panel .lead-master-filter{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  grid-auto-flow:row;
}
.app-authenticated .lead-master-filter>*{min-width:0}
.app-authenticated .lead-master-filter .lead-filter-actions{
  display:flex;
  grid-column:1/-1;
  justify-content:flex-end;
  gap:9px;
  padding-top:2px;
}
.app-authenticated .lead-master-filter .lead-filter-actions .button{min-width:132px}
.app-authenticated .lead-table-panel .table-wrap{
  max-height:none!important;
  padding-bottom:0;
  overflow:visible!important;
  cursor:default!important;
  scrollbar-width:none;
}
.app-authenticated .lead-table-panel .table-wrap::-webkit-scrollbar{display:none}
.app-authenticated .lead-table-panel table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.app-authenticated .lead-table-panel thead{position:static}
.app-authenticated .lead-table-panel th,
.app-authenticated .lead-table-panel td{
  min-width:0;
  padding:6px 7px!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.app-authenticated .lead-table-panel th{height:34px;white-space:nowrap}
.app-authenticated .lead-table-panel td{height:48px!important}
.app-authenticated .lead-table-panel td small{margin-top:2px;font-size:8px}
.app-authenticated .lead-table-panel th.select-column,
.app-authenticated .lead-table-panel td.select-column{width:3%!important;padding-inline:4px!important}
.app-authenticated .lead-table-panel th:nth-last-child(10),
.app-authenticated .lead-table-panel td:nth-last-child(10){width:8%}
.app-authenticated .lead-table-panel th:nth-last-child(9),
.app-authenticated .lead-table-panel td:nth-last-child(9){width:11%}
.app-authenticated .lead-table-panel th:nth-last-child(8),
.app-authenticated .lead-table-panel td:nth-last-child(8){width:9%}
.app-authenticated .lead-table-panel th:nth-last-child(7),
.app-authenticated .lead-table-panel td:nth-last-child(7){width:10%}
.app-authenticated .lead-table-panel th:nth-last-child(6),
.app-authenticated .lead-table-panel td:nth-last-child(6){width:8%}
.app-authenticated .lead-table-panel th:nth-last-child(5),
.app-authenticated .lead-table-panel td:nth-last-child(5){width:8%}
.app-authenticated .lead-table-panel th:nth-last-child(4),
.app-authenticated .lead-table-panel td:nth-last-child(4){width:5%}
.app-authenticated .lead-table-panel th:nth-last-child(3),
.app-authenticated .lead-table-panel td:nth-last-child(3){width:9%}
.app-authenticated .lead-table-panel th:nth-last-child(2),
.app-authenticated .lead-table-panel td:nth-last-child(2){width:27%}
.app-authenticated .lead-table-panel th:nth-last-child(1),
.app-authenticated .lead-table-panel td:nth-last-child(1){width:5%}
.app-authenticated .lead-table-panel :is(.lead-reference-link,.lead-name-line,.lead-contact-number,.status-pill,.muted,.lead-row-travel-date){
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.app-authenticated .lead-table-panel .lead-inline-status{
  width:100%;
  min-width:0!important;
  gap:4px!important;
  overflow:hidden;
}
.app-authenticated .lead-table-panel .lead-inline-status select{
  width:auto;
  min-width:0;
  height:34px;
  flex:1 1 118px;
  padding-inline:8px 22px;
  font-size:10px;
}
.app-authenticated .lead-table-panel .lead-inline-travel-date{min-width:88px;flex:0 1 96px}
.app-authenticated .lead-table-panel .lead-inline-travel-date input{width:100%;min-width:0;height:34px;padding:4px;font-size:9px}
.app-authenticated .lead-table-panel .lead-status-save{width:48px;min-width:48px;height:34px;padding-inline:5px;font-size:9px}
.app-authenticated .lead-table-panel .lead-open-button{min-width:0;width:100%;padding-inline:3px;justify-content:center;font-size:9px}
.app-authenticated .lead-table-panel .pagination{padding:10px 14px 12px}
@media(max-width:1179px){
  .app-authenticated .lead-filter-panel .lead-master-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-authenticated .lead-master-filter>input[type="search"]{grid-column:1/-1}
}

/* v145: dedicated, readable desktop contact-number column. */
@media(min-width:761px){
  .app-authenticated .lead-table-panel .lead-contact-number{
    display:block;
    width:100%;
    max-width:100%;
    overflow:hidden;
    color:#0f3658;
    font-size:10.5px;
    font-weight:900;
    font-variant-numeric:tabular-nums;
    letter-spacing:.015em;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .app-authenticated .lead-table-panel a.lead-contact-number:hover{color:#4f46e5;text-decoration:underline}
}
:root[data-theme="dark"] .app-authenticated .lead-table-panel .lead-contact-number{color:#bfdbfe}
.notification-permission-dialog[hidden]{display:none!important}
.notification-permission-dialog{position:fixed;z-index:2147483400;inset:0;display:grid;place-items:center;padding:18px;font-family:inherit}
.notification-permission-overlay{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,15,29,.66);backdrop-filter:blur(4px);cursor:default}
.notification-permission-dialog>section{position:relative;display:grid;width:min(460px,100%);grid-template-columns:52px 1fr;gap:14px;padding:22px;border:1px solid #d8e3f0;border-radius:24px;color:#13263f;background:linear-gradient(145deg,#fff,#f6f9ff);box-shadow:0 30px 90px rgba(2,6,23,.34);outline:0}
.notification-permission-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(135deg,#4f46e5,#0891b2);box-shadow:0 10px 25px rgba(79,70,229,.25);font-size:22px}
.notification-permission-dialog>section>div>p:first-child{margin:1px 0 4px;color:#4f46e5;font-size:9px;font-weight:900;letter-spacing:.16em}
.notification-permission-dialog h2{margin:0;color:#10233f;font-size:20px;letter-spacing:-.025em}
.notification-permission-dialog h2+ p{margin:7px 0 0;color:#5f7189;font-size:12px;line-height:1.55}
.notification-permission-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:3px}
.notification-permission-actions .button{min-height:44px;justify-content:center}
.notification-permission-dialog>section>small{grid-column:1/-1;color:#718096;font-size:9px;text-align:center}
html.notification-permission-open{overflow:hidden}
:root[data-theme="dark"] .notification-permission-dialog>section{border-color:#30394a;color:#e5e7eb;background:linear-gradient(145deg,#171b25,#10141d)}
:root[data-theme="dark"] .notification-permission-dialog h2{color:#f8fafc}
:root[data-theme="dark"] .notification-permission-dialog h2+p{color:#a7b2c2}
@media(max-width:560px){
  .notification-permission-dialog{align-items:end;padding:10px 10px max(10px,env(safe-area-inset-bottom))}
  .notification-permission-dialog>section{grid-template-columns:44px 1fr;padding:18px;border-radius:22px}
  .notification-permission-icon{width:44px;height:44px;border-radius:14px;font-size:19px}
  .notification-permission-dialog h2{font-size:18px}
  .notification-permission-actions{grid-template-columns:1fr}
}
@media(max-width:760px){
  .app-authenticated .lead-filter-panel .lead-master-filter{grid-template-columns:1fr}
  .app-authenticated .lead-master-filter .lead-filter-actions{display:grid;grid-template-columns:1fr 1fr}
  .app-authenticated .lead-master-filter .lead-filter-actions .button{min-width:0;width:100%}
}

/* Add new trip: group every room and meal-plan rate under one hotel. */
.tjp-grouped-hotel-library .tjp-hotel-results{display:grid;gap:14px}
.tjp-grouped-hotel-library .tjp-hotel-results>.tjp-hotel-group{display:block;height:auto;min-height:0}
.tjp-hotel-group{overflow:hidden;border:1px solid #d8e5ea;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(20,52,73,.06);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tjp-hotel-group[hidden]{display:none!important}
.tjp-hotel-group:hover,.tjp-hotel-group.selected{transform:translateY(-1px);border-color:#66c8b6;box-shadow:0 16px 34px rgba(17,84,95,.11)}
.tjp-hotel-group-head{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;min-height:112px;border-bottom:1px solid #e6eef1;background:linear-gradient(110deg,#fff 60%,#effaf7)}
.tjp-hotel-group-head .tjp-inventory-media{width:116px;height:112px;min-height:112px}
.tjp-hotel-group-head>div:nth-child(2){display:grid;gap:3px;min-width:0;padding:14px}
.tjp-hotel-group-head small{color:#087866;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.tjp-hotel-group-head h3,.tjp-hotel-group-head p{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}
.tjp-hotel-group-head h3{color:#102f42;font-size:18px}
.tjp-hotel-group-head p,.tjp-hotel-group-head>div>span{color:#647d8d;font-size:10px}
.tjp-hotel-group-head>aside{display:grid;gap:3px;justify-items:end;padding:14px 18px;text-align:right}
.tjp-hotel-group-head>aside b{color:#087966;font-size:10px}
.tjp-hotel-group-head>aside small{color:#69808f;font-size:8px}
.tjp-hotel-rate-options{display:grid;gap:8px;padding:10px;background:#f7fafb}
.tjp-hotel-rate-option{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(330px,1.5fr) minmax(210px,1fr);align-items:center;gap:10px;padding:10px;border:1px solid #dce7eb;border-radius:14px;background:#fff;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.tjp-hotel-rate-option[hidden]{display:none!important}
.tjp-hotel-rate-option:hover,.tjp-hotel-rate-option.selected{border-color:#62c6b4;background:#fbfffe;box-shadow:0 7px 18px rgba(18,89,95,.08)}
.tjp-hotel-rate-name{display:flex;align-items:center;gap:10px;min-width:0}
.tjp-hotel-rate-name>span{display:grid;min-width:44px;min-height:34px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#087d68,#10ad91);font-size:10px;font-weight:950;letter-spacing:.05em}
.tjp-hotel-rate-name>div{display:grid;min-width:0}
.tjp-hotel-rate-name strong{overflow:hidden;color:#16384b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.tjp-hotel-rate-name small{overflow:hidden;color:#708594;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.tjp-hotel-policy-prices{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:6px}
.tjp-hotel-policy-prices>span{display:grid;gap:2px;min-height:48px;align-content:center;padding:6px 8px;border:1px solid #e1eaee;border-radius:10px;background:#f8fbfc}
.tjp-hotel-policy-prices small{color:#6b8190;font-size:8px;font-weight:750}
.tjp-hotel-policy-prices strong{color:#17394c;font-size:10px}
.tjp-hotel-policy-prices b{font:inherit}
.tjp-hotel-rate-action{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;min-width:0}
.tjp-hotel-rate-action small,.tjp-hotel-rate-action em{overflow:hidden;color:#667d8c;font-size:8.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.tjp-hotel-rate-action small b{color:#183c50}
.tjp-hotel-rate-action .button{grid-column:2;grid-row:1/3;min-height:38px;padding:7px 10px;border-radius:9px;font-size:9px}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-group{border-color:#2b3949;background:#111827;box-shadow:0 12px 30px rgba(0,0,0,.22)}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-group-head{border-color:#2b3949;background:linear-gradient(110deg,#111827 60%,#102b2a)}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-group-head h3,:root[data-theme="dark"] .app-authenticated .tjp-hotel-rate-name strong{color:#eef6ff}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-rate-options{background:#0d1420}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-rate-option{border-color:#2b3949;background:#151f2f}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-policy-prices>span{border-color:#2b3949;background:#111827}
:root[data-theme="dark"] .app-authenticated .tjp-hotel-policy-prices strong{color:#e5edf7}
@media(max-width:1080px){.tjp-hotel-rate-option{grid-template-columns:minmax(135px,.8fr) minmax(260px,1.45fr)}.tjp-hotel-rate-action{grid-column:1/-1}.tjp-hotel-rate-action .button{grid-column:2;grid-row:1/3}}
@media(max-width:760px){.tjp-hotel-group-head{grid-template-columns:82px minmax(0,1fr)}.tjp-hotel-group-head .tjp-inventory-media{width:82px;height:96px;min-height:96px}.tjp-hotel-group-head>aside{display:none}.tjp-hotel-rate-option{grid-template-columns:1fr;padding:9px}.tjp-hotel-policy-prices{grid-template-columns:repeat(2,1fr)}.tjp-hotel-rate-action{grid-column:auto}.tjp-hotel-rate-action .button{grid-column:2;grid-row:1/3}}
@media(max-width:760px){body.tjp-library-open .mobile-bottom-nav{display:none!important}}
@media(prefers-reduced-motion:reduce){.tjp-hotel-group,.tjp-hotel-rate-option{transition:none!important}}
