:root{--bg:#f4f7f5;--panel:#fff;--ink:#172019;--muted:#6b766f;--line:#dce3de;--green:#147755;--dark:#10271c;--soft:#eaf6f0;--danger:#a23b3b;--blue:#275f7a}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{background:var(--dark);color:#fff;padding:26px 20px;display:flex;flex-direction:column;gap:25px}.brand{display:flex;gap:11px;align-items:center}.mark{width:44px;height:44px;border-radius:13px;background:#fff;color:var(--dark);display:grid;place-items:center;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#aebfb5;margin-top:3px}
nav{display:grid;gap:7px}.nav{border:0;background:transparent;color:#d3ddd7;padding:12px 14px;border-radius:10px;text-align:left}.nav:hover,.nav.active{background:#1b3b2c;color:#fff}.preview{margin-top:auto;background:#193728;padding:14px;border-radius:12px;display:grid;gap:4px;font-size:12px}.preview span{color:#b7c7be}
main{padding:30px 34px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.topbar h1{margin:4px 0 0;font-size:30px}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:900;color:var(--green)}.light{color:#9fd7bd}
.db{padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}.db.checking{background:#eef1ef;color:#66736b}.db.ok{background:#e7f7ee;color:#126746}.db.bad{background:#fdecec;color:#9a3838}
.primary,.secondary,.back,.hero-btn{border-radius:10px;padding:11px 15px;font-weight:800}.primary{background:var(--green);color:#fff;border:1px solid var(--green)}.secondary,.back{background:#fff;border:1px solid var(--line);color:var(--green)}.hero-btn{background:#fff;color:var(--dark);border:0}.full{width:100%;margin-top:16px}
.view{display:none}.view.active{display:block}.hero{background:linear-gradient(135deg,#173e2d,#0e291e);color:#fff;border-radius:20px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.hero h2{font-size:30px;margin:8px 0}.hero p{color:#c8d9cf;max-width:820px;margin:0;line-height:1.55}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:18px 0}.stat,.panel,.finance{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px rgba(20,50,35,.06)}.stat{padding:19px;display:grid;gap:5px}.stat span,.finance span{font-size:12px;color:var(--muted)}.stat strong{font-size:28px}.stat small{color:var(--green)}
.finance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.finance{padding:20px;display:grid;gap:7px}.finance strong{font-size:24px}
.panel{padding:21px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:17px}.section-head h2{font-size:28px;margin:5px 0}.section-head p{margin:0;color:var(--muted)}
.trip-list{display:grid;gap:10px}.trip-card{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:1.3fr 1fr .8fr auto;gap:14px;align-items:center}.trip-card strong,.trip-card small{display:block}.trip-card small{color:var(--muted);margin-top:4px}.pill{display:inline-block;padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--green);font-size:11px;font-weight:900}.open-btn{border:0;background:var(--green);color:#fff;border-radius:9px;padding:9px 12px;font-weight:800}.empty{text-align:center;color:var(--muted);padding:30px}
.itinerary-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:15px 0}.itinerary-head h2{font-size:30px;margin:4px 0}.trip-meta{color:var(--muted);line-height:1.6}.itinerary-actions{display:flex;gap:8px;flex-wrap:wrap}
.timeline{display:grid;gap:16px}.day-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(20,50,35,.05)}.day-head{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.day-head h3{margin:0;font-size:20px}.day-head small{color:var(--muted)}.items{display:grid;gap:10px;margin-top:13px}.item{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;grid-template-columns:90px 1.2fr .8fr auto;gap:12px;align-items:center}.item .time{font-weight:900}.item strong,.item small{display:block}.item small{color:var(--muted);margin-top:3px}.tag{display:inline-block;font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--green)}.tag.info{background:#eef3f7;color:var(--blue)}.item-actions{display:flex;gap:5px;flex-wrap:wrap}.mini{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800}.mini.delete{color:var(--danger)}
.roadmap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.road{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px}.road b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1ef}.road.done b{background:var(--soft);color:var(--green)}.road span strong,.road span small{display:block}.road span small{color:var(--muted);margin-top:4px}
.modal{position:fixed;inset:0;background:rgba(8,22,15,.56);display:none;align-items:center;justify-content:center;padding:18px;z-index:10}.modal.open{display:flex}.modal-card{background:#fff;border-radius:18px;width:min(650px,100%);max-height:92vh;overflow:auto;padding:25px;position:relative}.modal-card h2{margin:6px 0}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:#657069}
label{display:grid;gap:6px;font-size:12px;font-weight:800;margin-top:12px}input,textarea{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfcfb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(3,1fr)}.preview{display:none}.stats{grid-template-columns:1fr 1fr}.trip-card,.item{grid-template-columns:1fr 1fr}.roadmap-grid{grid-template-columns:1fr}}
@media(max-width:650px){main{padding:20px 15px}.topbar{align-items:flex-start;flex-direction:column}.hero,.section-head,.itinerary-head{align-items:flex-start;flex-direction:column}.stats,.finance-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.trip-card,.item{grid-template-columns:1fr}}

.time-picker{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
}
.time-picker select{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px 10px;
  background:#fbfcfb;
  color:var(--ink);
}
@media(max-width:650px){
  .time-picker{grid-template-columns:1fr 1fr 1fr}
}

.wide-select{
  flex:1;
  min-width:260px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px;
  background:#fbfcfb;
}
.customer-itinerary{
  max-width:980px;
  margin:22px auto 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(20,50,35,.08);
}
.customer-hero{
  padding:34px;
  background:linear-gradient(135deg,#143828,#0f2a1e);
  color:#fff;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}
.customer-brand{
  font-weight:900;
  font-size:18px;
  margin-bottom:18px;
}
.customer-kicker{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  color:#9fd7bd;
}
.customer-hero h2{
  margin:8px 0 7px;
  font-size:34px;
}
.customer-hero p{
  margin:0;
  color:#d4e2db;
}
.customer-trip-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.customer-trip-meta span{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
}
.customer-badge{
  background:#fff;
  color:#173e2d;
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.customer-days{
  padding:24px;
  display:grid;
  gap:18px;
}
.customer-day{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}
.customer-day-head{
  background:#f8faf8;
  padding:17px 19px;
  display:flex;
  gap:15px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.day-number{
  min-width:58px;
  height:58px;
  border-radius:14px;
  background:var(--soft);
  color:var(--green);
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:12px;
}
.customer-day-head h3{
  margin:0;
  font-size:19px;
}
.customer-day-head p{
  margin:3px 0 0;
  color:var(--muted);
}
.customer-items{
  display:grid;
}
.customer-item{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:18px 20px;
  border-top:1px solid var(--line);
}
.customer-item:first-child{
  border-top:0;
}
.customer-time{
  font-weight:900;
  color:var(--green);
}
.customer-time small{
  display:block;
  color:var(--muted);
  font-weight:500;
  margin-top:3px;
}
.customer-item-type{
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  color:var(--green);
  margin-bottom:5px;
}
.customer-item-body h4{
  margin:0 0 5px;
  font-size:18px;
}
.customer-item-body p{
  margin:5px 0 0;
  color:#5d6a62;
  line-height:1.55;
}
.customer-location{
  font-weight:700;
  color:#415149 !important;
}
.customer-status{
  display:inline-block;
  margin-top:10px;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:900;
  background:var(--soft);
  color:var(--green);
}
.customer-free,.customer-empty{
  padding:22px;
  color:var(--muted);
  text-align:center;
}
.customer-footer{
  border-top:1px solid var(--line);
  padding:18px 24px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:var(--muted);
  font-size:12px;
}
.customer-footer strong{
  color:var(--ink);
}
@media(max-width:650px){
  .customer-hero{flex-direction:column}
  .customer-item{grid-template-columns:1fr}
  .customer-footer{flex-direction:column}
}

/* V8.1 polished customer-facing presentation */
.customer-hero{
  padding:40px;
}
.customer-hero-main{
  max-width:720px;
}
.customer-brand-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
}
.customer-logo-mark{
  width:48px;
  height:48px;
  border-radius:14px;
  background:#fff;
  color:#143828;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:15px;
  box-shadow:0 5px 14px rgba(0,0,0,.1);
}
.customer-brand{
  margin:0;
  font-size:18px;
}
.customer-subbrand{
  color:#bcd0c5;
  font-size:11px;
  margin-top:2px;
}
.customer-intro{
  font-size:15px;
}
.customer-welcome{
  padding:22px 28px;
  border-bottom:1px solid var(--line);
  background:#fbfcfb;
}
.customer-welcome strong{
  font-size:16px;
}
.customer-welcome p{
  margin:5px 0 0;
  color:var(--muted);
  line-height:1.55;
}
.day-number{
  min-width:62px;
  height:62px;
  grid-template-rows:auto auto;
  line-height:1;
}
.day-number span{
  font-size:9px;
  letter-spacing:.09em;
}
.day-number strong{
  font-size:20px;
}
.customer-item{
  position:relative;
}
.customer-item-booking{
  border-left:4px solid var(--green);
}
.customer-item-info{
  border-left:4px solid #8aa0ad;
}
.customer-item-type{
  margin-bottom:7px;
}
.customer-location{
  margin-top:3px !important;
}
.customer-free{
  display:grid;
  gap:4px;
  background:#fbfcfb;
}
.customer-free strong{
  color:var(--ink);
}
.customer-help{
  margin:0 24px 24px;
  background:#f2f8f5;
  border:1px solid #d7e7df;
  border-radius:16px;
  padding:22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.customer-help h3{
  margin:5px 0;
  font-size:19px;
}
.customer-help p{
  margin:0;
  color:var(--muted);
}
.customer-help-badge{
  background:#fff;
  border:1px solid #d8e5de;
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--green);
  white-space:nowrap;
}
@media(max-width:650px){
  .customer-hero{padding:28px 22px}
  .customer-help{flex-direction:column;align-items:flex-start}
}

/* V9 role-access foundation */
.role-switcher{
  margin:18px 12px 14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(255,255,255,.05);
}
.role-switcher label{
  display:block;
  color:#cfe0d7;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.role-switcher select{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:9px;
  padding:9px;
  background:#fff;
  color:#183c2c;
  font-weight:800;
}
.role-switcher small{
  display:block;
  color:#9fb9ac;
  margin-top:7px;
  line-height:1.3;
}
.role-hero{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:flex-start;
  padding:24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.role-hero h3{
  margin:5px 0 7px;
  font-size:25px;
}
.role-hero p{
  margin:0;
  color:var(--muted);
  max-width:760px;
  line-height:1.55;
}
.role-pill{
  border-radius:999px;
  padding:8px 11px;
  background:var(--soft);
  color:var(--green);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.role-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.role-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
  background:#fff;
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.role-card span{color:var(--muted)}
.role-card strong{color:var(--green);text-align:right}
.role-note,.role-data-summary{
  margin-top:16px;
  border-radius:14px;
  padding:16px;
  background:#f7faf8;
  border:1px solid var(--line);
  color:var(--muted);
  line-height:1.5;
}
.role-data-summary{
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.role-data-summary strong{color:var(--ink)}
@media(max-width:700px){
  .role-grid{grid-template-columns:1fr}
  .role-hero,.role-data-summary{flex-direction:column}
}

.role-switcher{
  margin:16px 0 18px;
  padding:12px;
  border:1px solid #d6e3dc;
  border-radius:12px;
  background:#f6faf8;
}
.role-switcher label{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#496458;
}
.role-switcher select{
  display:block;
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #cbdad2;
  border-radius:9px;
  background:#fff;
  color:#173c2b;
  font-weight:800;
}
.role-switcher small{
  display:block;
  margin-top:7px;
  color:#687a71;
  font-size:10px;
}

/* V10 authentication */
.auth-gate{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:linear-gradient(135deg,#0e291e,#173e2d);
}
.auth-gate.open{display:flex}
.auth-card{
  width:min(470px,100%);
  background:#fff;
  border-radius:20px;
  padding:28px;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.auth-brand{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:28px;
}
.auth-logo{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;
  background:#143828;color:#fff;font-weight:900;
}
.auth-brand strong,.auth-brand small{display:block}
.auth-brand small{color:var(--muted);margin-top:3px}
.auth-panel h1{margin:5px 0 7px;font-size:27px}
.auth-panel>p{margin:0 0 18px;color:var(--muted)}
.auth-message{
  margin-top:14px;padding:11px;border-radius:10px;font-size:12px;
}
.auth-message.bad{background:#fdecec;color:#983939}
.auth-message.ok{background:#e8f7ef;color:#126746}
.account-box{
  margin:10px 0 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;padding:12px;background:rgba(255,255,255,.05);
}
.account-box span,.account-box strong,.account-box small{display:block}
.account-box span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9fb9ac}
.account-box strong{margin-top:4px;font-size:13px}
.account-box small{color:#b8c8c0;margin-top:2px;font-size:10px}
.account-logout{
  margin-top:10px;width:100%;border:1px solid rgba(255,255,255,.18);
  border-radius:8px;padding:7px;background:transparent;color:#fff;font-size:10px;font-weight:800;
}
.account-list{display:grid;gap:9px}
.account-row{
  border:1px solid var(--line);border-radius:12px;padding:13px;
  display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:12px;align-items:center;
}
.account-row strong,.account-row small{display:block}
.account-row small{color:var(--muted);margin-top:3px}
@media(max-width:700px){.account-row{grid-template-columns:1fr}}

.admin-only{display:inline-flex}
body.role-agent .admin-only,
body.role-supplier .admin-only,
body.role-customer .admin-only{display:none!important}

/* V10.3 supplier booking workspace */
.supplier-booking-grid{display:grid;gap:14px}
.supplier-booking-card{
  border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;
}
.supplier-booking-top{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
}
.supplier-booking-top h3{margin:5px 0 0;font-size:20px}
.supplier-booking-details{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;margin-top:16px;
}
.supplier-booking-details>div{
  padding:11px;border-radius:10px;background:#f7faf8;border:1px solid var(--line);
}
.supplier-booking-details span,.supplier-booking-details strong{display:block}
.supplier-booking-details span{
  font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px;
}
.supplier-notes{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--line);
}
.supplier-notes span{
  font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900;
}
.supplier-notes p{margin:5px 0 0;color:#526159}
@media(max-width:700px){.supplier-booking-details{grid-template-columns:1fr 1fr}}

/* V10.5 customer My Trips portal */
.customer-portal-shell{max-width:1050px;margin:0 auto}
.customer-portal-heading{margin-bottom:20px}
.customer-portal-heading h2{font-size:30px;margin:5px 0}
.customer-portal-heading p{margin:0;color:var(--muted)}
.customer-trip-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.customer-trip-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;
  box-shadow:0 8px 24px rgba(22,55,40,.05);
}
.customer-trip-card-top{display:flex;justify-content:space-between;gap:18px}
.customer-trip-status{
  display:inline-block;padding:5px 8px;border-radius:999px;background:#eaf5ef;
  color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;
}
.customer-trip-card h3{font-size:21px;margin:9px 0 4px}
.customer-trip-card p{margin:0;color:var(--muted)}
.customer-trip-datebox{
  min-width:120px;background:#f7faf8;border:1px solid var(--line);border-radius:12px;
  padding:10px;text-align:center;font-size:11px;font-weight:800;
}
.customer-trip-datebox span,.customer-trip-datebox small{display:block}
.customer-trip-datebox small{color:var(--muted);font-weight:400;margin:2px}
.customer-trip-card-meta{
  display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;color:var(--muted);font-size:11px;
}
.customer-open-trip{width:100%;justify-content:center}
.customer-back{
  margin-bottom:14px;border:1px solid var(--line);background:#fff;border-radius:10px;
  padding:9px 12px;color:var(--green);font-weight:800;
}
@media(max-width:760px){
  .customer-trip-cards{grid-template-columns:1fr}
  .customer-trip-card-top{flex-direction:column}
  .customer-trip-datebox{width:100%}
}

/* V11 real Agent workspace */
.agent-welcome{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  padding:24px;border:1px solid var(--line);border-radius:17px;background:#fff;
}
.agent-welcome h2{font-size:28px;margin:5px 0}
.agent-welcome p{margin:0;color:var(--muted)}
.agent-badge{background:var(--soft);color:var(--green);padding:8px 11px;border-radius:999px;font-size:11px;font-weight:900}
.agent-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:16px}
.agent-stat-card{
  text-align:left;border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff;color:var(--ink);
}
.agent-stat-card span,.agent-stat-card strong{display:block}
.agent-stat-card span{font-size:11px;color:var(--muted)}
.agent-stat-card strong{font-size:25px;margin-top:5px}
.agent-stat-card:hover{border-color:#a9c8b7}
.agent-business-summary{
  margin-top:16px;padding:18px;border-radius:15px;background:#f7faf8;border:1px solid var(--line);
  display:grid;gap:4px;
}
.agent-business-summary span{font-size:11px;color:var(--muted)}
.agent-business-summary strong{font-size:24px}
.agent-business-summary small{color:var(--muted);margin-top:4px}
.agent-client-grid,.agent-booking-grid,.agent-catalog-grid{display:grid;gap:13px}
.agent-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.agent-client-card{
  display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff;
}
.agent-client-avatar{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-weight:900;
}
.agent-client-main h3{margin:0 0 4px;font-size:17px}
.agent-client-main p{margin:0;color:var(--muted);font-size:11px}
.agent-client-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.agent-client-meta span{padding:5px 7px;border-radius:999px;background:#f5f8f6;color:#607067;font-size:10px}
.agent-booking-card,.agent-product-card{
  border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;
}
.agent-booking-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.agent-booking-head h3,.agent-product-card h3{margin:5px 0 4px;font-size:19px}
.agent-booking-head p,.agent-product-card p{margin:0;color:var(--muted)}
.agent-booking-details{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px;
}
.agent-booking-details>div{
  padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8faf8;
}
.agent-booking-details span,.agent-booking-details strong{display:block}
.agent-booking-details span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}
.agent-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.agent-product-card{display:grid;grid-template-columns:1fr auto;gap:15px}
.agent-product-price{text-align:right}
.agent-product-price span,.agent-product-price strong,.agent-product-price small{display:block}
.agent-product-price span,.agent-product-price small{font-size:10px;color:var(--muted)}
.agent-product-price strong{font-size:22px;color:var(--green);margin:3px 0}
.agent-product-body{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:#526159}
.agent-commission-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.agent-commission-summary>div{
  padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;display:grid;gap:5px;
}
.agent-commission-summary span{font-size:11px;color:var(--muted)}
.agent-commission-summary strong{font-size:24px}
.agent-commission-list{display:grid;gap:9px}
.agent-commission-row{
  display:grid;grid-template-columns:1.4fr .7fr .7fr .7fr;gap:12px;align-items:center;
  padding:12px;border:1px solid var(--line);border-radius:11px;
}
.agent-commission-row strong,.agent-commission-row small,.agent-commission-row span{display:block}
.agent-commission-row small,.agent-commission-row>div>span:not(.pill){color:var(--muted);font-size:10px;margin-top:3px}
@media(max-width:900px){
  .agent-stat-grid{grid-template-columns:1fr 1fr}
  .agent-client-grid,.agent-catalog-grid{grid-template-columns:1fr}
  .agent-booking-details{grid-template-columns:1fr 1fr}
  .agent-commission-row{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .agent-stat-grid,.agent-commission-summary{grid-template-columns:1fr}
  .agent-booking-details{grid-template-columns:1fr}
}

/* V12 Agent sales / booking workflow */
.agent-product-card .agent-book-product{grid-column:1/-1;justify-content:center}
.agent-book-modal-card{max-width:620px}
.agent-book-product-summary{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
  margin:12px 0 18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;
}
.agent-book-product-summary h3{margin:5px 0 0}
.agent-book-price{text-align:right}
.agent-book-price span,.agent-book-price strong,.agent-book-price small{display:block}
.agent-book-price span,.agent-book-price small{font-size:10px;color:var(--muted)}
.agent-book-price strong{font-size:21px;color:var(--green);margin:3px 0}
.agent-booking-estimate{
  margin:12px 0 15px;padding:13px;border-radius:11px;background:var(--soft);display:grid;gap:3px;
}
.agent-booking-estimate span{font-size:10px;color:var(--muted)}
.agent-booking-estimate strong{font-size:22px;color:var(--green)}
.agent-booking-estimate small{font-size:10px;color:var(--muted)}

/* V12.3 Agent booking AM/PM picker */
.agent-time-picker{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
}
.agent-time-picker select{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px 10px;
  background:#fbfcfb;
  color:var(--ink);
}

/* V13 Supplier fulfillment workflow */
.supplier-manage-booking{width:100%;justify-content:center;margin-top:14px}
.supplier-confirmation{margin-top:12px;padding:10px;border-radius:10px;background:#f7faf8;border:1px solid var(--line)}
.supplier-confirmation span,.supplier-confirmation strong{display:block}
.supplier-confirmation span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}
.supplier-fulfillment-modal-card{max-width:610px}
.supplier-fulfillment-summary{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px;margin:12px 0 18px;border:1px solid var(--line);border-radius:12px;background:#f7faf8}
.supplier-fulfillment-summary h3{margin:5px 0 4px}
.supplier-fulfillment-summary p{margin:0;color:var(--muted);font-size:11px}
.supplier-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.supplier-status-btn{border:0;border-radius:10px;padding:11px 9px;background:var(--green);color:#fff;font-weight:800}
.supplier-status-btn.secondary-action{background:#eef3f0;color:var(--green);border:1px solid var(--line)}
@media(max-width:600px){.supplier-action-grid{grid-template-columns:1fr}}

/* V13.1 unified booking status language */
.pill.status-pending,
.customer-status.status-pending{
  background:#fff7e6;
  color:#8a5a00;
  border:1px solid #e6b85c;
}
.pill.status-confirmed,
.customer-status.status-confirmed{
  background:#eaf6ef;
  color:#176b3a;
  border:1px solid #8fc8a6;
}
.pill.status-declined,
.customer-status.status-declined{
  background:#fff0f0;
  color:#a52a2a;
  border:1px solid #df8d8d;
}
.pill.status-completed,
.customer-status.status-completed{
  background:#eef4fb;
  color:#285b88;
  border:1px solid #9bbbd7;
}
.pill.status-cancelled,
.customer-status.status-cancelled{
  background:#f4f4f4;
  color:#6d5a5a;
  border:1px solid #bca9a9;
}
.pill.status-neutral,
.customer-status.status-neutral{
  background:#f3f5f4;
  color:#5f6c65;
  border:1px solid #c8d0cc;
}

/* V14 Admin Booking Control Center */
.admin-booking-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.admin-booking-summary>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}
.admin-booking-summary span,.admin-booking-summary strong{display:block}
.admin-booking-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.admin-booking-summary strong{font-size:20px;margin-top:4px}
.admin-booking-toolbar{display:grid;grid-template-columns:180px 1fr;gap:10px;margin-bottom:12px}
.admin-booking-toolbar select,.admin-booking-toolbar input{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.admin-booking-table{display:grid;gap:9px}
.admin-booking-row{display:grid;grid-template-columns:1.8fr repeat(6,.75fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px}
.admin-booking-row h3{margin:6px 0 3px;font-size:15px}.admin-booking-row p,.admin-booking-row small{margin:0;color:var(--muted);font-size:10px}
.admin-booking-row>div:not(.admin-booking-main)>span,.admin-booking-row>div:not(.admin-booking-main)>strong{display:block}
.admin-booking-row>div:not(.admin-booking-main)>span{font-size:8px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.admin-booking-modal-card{max-width:650px}
.admin-booking-modal-summary{padding:13px;border:1px solid var(--line);border-radius:11px;background:#f7faf8;margin:10px 0 16px}
.admin-booking-modal-summary h3{margin:0 0 4px}.admin-booking-modal-summary p{margin:0;color:var(--muted)}
.admin-modal-economics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.admin-modal-economics span{font-size:9px;color:var(--muted)}.admin-modal-economics strong{display:block;font-size:14px;color:var(--ink)}
@media(max-width:1100px){.admin-booking-summary{grid-template-columns:repeat(3,1fr)}.admin-booking-row{grid-template-columns:1fr 1fr 1fr}.admin-booking-main{grid-column:1/-1}}
@media(max-width:650px){.admin-booking-summary{grid-template-columns:1fr 1fr}.admin-booking-toolbar{grid-template-columns:1fr}.admin-booking-row{grid-template-columns:1fr}.admin-modal-economics{grid-template-columns:1fr 1fr}}

/* V15 Supplier product management + Admin approval */
.product-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.product-manage-card{border:1px solid var(--line);border-radius:15px;padding:17px;background:#fff}
.product-manage-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.product-manage-head h3{margin:5px 0 4px}.product-manage-head p,.product-manage-card>p{margin:0;color:var(--muted)}
.product-manage-card>p{margin-top:13px;font-size:11px}
.product-manage-econ{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}
.product-manage-econ span{padding:9px;background:#f7faf8;border:1px solid var(--line);border-radius:9px;font-size:9px;color:var(--muted)}
.product-manage-econ strong{display:block;font-size:14px;color:var(--ink);margin-top:3px}
.supplier-edit-product{width:100%;justify-content:center;margin-top:13px}
.supplier-product-modal-card{max-width:650px}
.admin-product-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px}
.admin-product-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-product-summary span,.admin-product-summary strong{display:block}.admin-product-summary span{font-size:9px;text-transform:uppercase;color:var(--muted)}.admin-product-summary strong{font-size:22px;margin-top:4px}
.admin-product-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.product-status-action{border:0;border-radius:9px;padding:9px 11px;background:var(--green);color:#fff;font-weight:800}
.product-status-action.reject{background:#fff0f0;color:#a52a2a;border:1px solid #df8d8d}.product-status-action.neutral{background:#f3f5f4;color:#5f6c65;border:1px solid #c8d0cc}
@media(max-width:800px){.product-manage-grid{grid-template-columns:1fr}.product-manage-econ{grid-template-columns:1fr 1fr}}

/* V16 Supplier availability and capacity */
.supplier-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.supplier-product-actions .supplier-edit-product{margin-top:0}
.supplier-remove-product,.remove-product-action{background:#fff0f0;color:#a52a2a;border:1px solid #df8d8d}.supplier-remove-product:disabled,.remove-product-action:disabled{opacity:.48;cursor:not-allowed}.restore-product-action{background:#edf7f0;color:#245b35;border:1px solid #9bc5a7}
.supplier-availability-product{border:1px solid var(--line);border-radius:10px;background:#f7faf8;color:var(--green);font-weight:800}
.availability-modal-card{max-width:680px}
.availability-product-summary{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7faf8;margin:10px 0 16px}
.availability-product-summary h3{margin:0 0 3px}.availability-product-summary p{margin:0;color:var(--muted)}
.availability-time-picker{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
.availability-time-picker select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 7px;background:#fff}
.weekday-fieldset{border:1px solid var(--line);border-radius:11px;margin:12px 0;padding:12px}
.weekday-fieldset legend{font-size:10px;font-weight:800;color:var(--muted)}
.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-grid label{display:flex;align-items:center;gap:5px;font-size:10px}
@media(max-width:600px){.weekday-grid{grid-template-columns:repeat(4,1fr)}.supplier-product-actions{grid-template-columns:1fr}}

/* V16.2 blackout calendar + agent live availability */
.blackout-picker-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.blackout-picker-row input{margin:0}.blackout-picker-row button{border:1px solid var(--line);border-radius:10px;background:#f7faf8;color:var(--green);font-weight:800;padding:0 13px}
.blackout-date-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.blackout-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #df8d8d;border-radius:999px;background:#fff0f0;color:#8d3030;font-size:10px;font-weight:700}
.blackout-chip button{border:0;background:transparent;color:inherit;font-size:15px;line-height:1;cursor:pointer}
.blackout-empty{font-size:10px;color:var(--muted)}
.availability-result{display:grid;gap:2px;padding:9px 10px;border-radius:9px;margin-bottom:8px}
.availability-result strong{font-size:12px}.availability-result span{font-size:10px}
.availability-result.available{background:#eaf6ef;border:1px solid #8fc8a6;color:#176b3a}
.availability-result.unavailable{background:#fff0f0;border:1px solid #df8d8d;color:#a52a2a}

/* V17 fixed departure/start schedules */
.departure-fieldset{border:1px solid var(--line);border-radius:11px;margin:12px 0;padding:12px}
.departure-fieldset legend{font-size:10px;font-weight:800;color:var(--muted)}
.field-help{font-size:10px;color:var(--muted);margin:0 0 9px}
.departure-picker-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.departure-time-picker{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
.departure-time-picker select{border:1px solid var(--line);border-radius:9px;padding:10px 7px;background:#fff}
.departure-picker-row>button{border:1px solid var(--line);border-radius:10px;background:#f7faf8;color:var(--green);font-weight:800;padding:0 14px}
.departure-time-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.departure-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #8fc8a6;border-radius:999px;background:#eaf6ef;color:#176b3a;font-size:10px;font-weight:700}
.departure-chip button{border:0;background:transparent;color:inherit;font-size:15px;line-height:1;cursor:pointer}
.agent-time-picker.scheduled-departure-picker{display:block}
.agent-time-picker.scheduled-departure-picker select{width:100%}

/* V18 Admin supplier management */
.admin-supplier-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.admin-supplier-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-supplier-summary span,.admin-supplier-summary strong{display:block}.admin-supplier-summary span{font-size:9px;text-transform:uppercase;color:var(--muted)}.admin-supplier-summary strong{font-size:21px;margin-top:4px}
.admin-supplier-toolbar{margin-bottom:12px}.admin-supplier-toolbar input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.admin-supplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-supplier-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.admin-supplier-head{display:flex;justify-content:space-between;gap:12px}.admin-supplier-head h3{margin:5px 0 0}
.admin-supplier-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}
.admin-supplier-stats span{padding:9px;border:1px solid var(--line);border-radius:9px;background:#f7faf8;font-size:8px;text-transform:uppercase;color:var(--muted)}
.admin-supplier-stats strong{display:block;font-size:14px;color:var(--ink);margin-top:3px}
.admin-supplier-note{font-size:10px;color:var(--muted);padding:9px;background:#fafafa;border-radius:8px}
.admin-manage-supplier{width:100%;justify-content:center;margin-top:10px}
.admin-supplier-modal-card{max-width:620px}.admin-supplier-modal-summary{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7faf8;margin:10px 0 16px}
.admin-supplier-modal-summary h3{margin:0 0 3px}.admin-supplier-modal-summary p{margin:0;color:var(--muted)}
@media(max-width:800px){.admin-supplier-grid{grid-template-columns:1fr}.admin-supplier-summary{grid-template-columns:1fr 1fr}.admin-supplier-stats{grid-template-columns:1fr 1fr}}

/* V19 new supplier onboarding */
.new-supplier-modal-card{max-width:680px}
.modal-intro{margin:-4px 0 16px;color:var(--muted);font-size:11px}
.modal-divider{border:0;border-top:1px solid var(--line);margin:17px 0}

/* V20 supplier approval gate */
.admin-supplier-summary{grid-template-columns:repeat(5,1fr)}
.supplier-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.danger-button{border:1px solid #df8d8d;border-radius:10px;background:#fff0f0;color:#a52a2a;font-weight:800;padding:10px}
@media(max-width:800px){.admin-supplier-summary{grid-template-columns:1fr 1fr}.supplier-approval-actions{grid-template-columns:1fr}}

/* V21 multi-agent management */
.admin-agent-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.admin-agent-summary>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-agent-summary span,.admin-agent-summary strong{display:block}.admin-agent-summary span{font-size:9px;text-transform:uppercase;color:var(--muted)}.admin-agent-summary strong{font-size:21px;margin-top:4px}
.new-agent-modal-card{max-width:680px}
@media(max-width:800px){.admin-agent-summary{grid-template-columns:1fr 1fr}}

/* V22 Agent approval + client/trip ownership */
.agent-only{display:none!important}
body.role-agent .agent-only{display:inline-flex!important}
.trip-create-actions{display:flex;gap:8px}
.admin-agent-summary{grid-template-columns:repeat(5,1fr)}
.admin-manage-agent{width:100%;justify-content:center;margin-top:10px}
.admin-agent-modal-card,.agent-client-modal-card{max-width:680px}
.admin-agent-modal-summary{padding:12px;border:1px solid var(--line);border-radius:11px;background:#f7faf8;margin:10px 0 16px}
.admin-agent-modal-summary h3{margin:0 0 3px}
.admin-agent-modal-summary p{margin:0;color:var(--muted)}
.agent-approval-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
@media(max-width:800px){
  .admin-agent-summary{grid-template-columns:1fr 1fr}
  .agent-approval-actions{grid-template-columns:1fr}
}

/* V23 Agent client + trip management */
.agent-client-actions{margin-top:10px}.agent-client-actions button{min-width:110px}

/* V24 Trip Travel Party */
.trip-travelers-modal-card{max-width:760px}
.trip-travelers-summary,.lead-traveler-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f7faf8}
.trip-travelers-summary h3,.lead-traveler-card h3{margin:0 0 4px}
.trip-travelers-summary p,.lead-traveler-card p{margin:0;color:var(--muted)}
.lead-traveler-card{margin-top:11px;background:#fff}
.lead-traveler-badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#eaf6ef;color:#176b3a;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.lead-traveler-card small{display:block;color:var(--muted);margin-top:6px}
.traveler-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 0 10px}
.traveler-section-head h3{margin:0 0 3px}.traveler-section-head p{margin:0;color:var(--muted);font-size:10px}
.trip-traveler-list{display:grid;gap:9px}
.trip-traveler-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.trip-traveler-card h4{margin:6px 0 3px}.trip-traveler-card p,.trip-traveler-card small{margin:0;color:var(--muted);font-size:10px}
.traveler-card-actions{display:flex;gap:7px}
.traveler-remove{border:1px solid #df8d8d;border-radius:9px;background:#fff0f0;color:#a52a2a;font-weight:800;padding:8px 10px}
.trip-traveler-edit-card{max-width:650px}
@media(max-width:650px){
  .trip-traveler-card{align-items:flex-start;flex-direction:column}
  .traveler-card-actions{width:100%}.traveler-card-actions button{flex:1}
  .traveler-section-head{align-items:flex-start;flex-direction:column}
}

/* V25 product-level traveler information requirements */
.product-requirement-note,.catalog-requirement{
  margin-top:10px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;
  background:#f7faf8;color:var(--muted);font-size:10px;
}
.product-requirement-note strong{color:var(--ink)}
.catalog-requirement{display:inline-block;font-weight:800;color:var(--green)}

/* V26 Agent booking lifecycle */
.agent-booking-detail-card{max-width:760px}
.booking-detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.booking-detail-hero h3{margin:3px 0}.booking-detail-hero p{margin:0;color:var(--muted)}
.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.booking-detail-grid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}
.booking-detail-grid span,.commission-box span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.booking-detail-grid strong{display:block;margin-top:3px}
.booking-lifecycle{margin:15px 0;padding:13px;border:1px solid var(--line);border-radius:12px}
.booking-lifecycle h3{margin:0 0 10px}
.lifecycle-step{display:flex;gap:9px;align-items:center;padding:7px 0;opacity:.48}
.lifecycle-step.reached{opacity:1}
.lifecycle-step>span{font-size:18px;font-weight:900}
.lifecycle-step small{display:block;color:var(--muted);margin-top:2px}
.lifecycle-stop{margin-top:8px;padding:8px;border-radius:8px;background:#fff1f1}
.commission-box{padding:13px;border-radius:12px;background:#f2f8f4;border:1px solid var(--line)}
.commission-box strong{display:block;font-size:18px;margin:4px 0}
.commission-box small{color:var(--muted)}
.booking-note{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:10px}
.booking-note p{margin:5px 0 0;color:var(--muted)}
@media(max-width:650px){.booking-detail-grid{grid-template-columns:1fr}.booking-detail-hero{flex-direction:column}}

/* V27 Agent commission ledger + payout foundation */
.agent-payout-status{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;margin:12px 0 16px}
.agent-payout-status h3{margin:3px 0}.agent-payout-status p{margin:0;color:var(--muted)}
.payout-date-box{padding:11px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.payout-date-box span,.payout-date-box small{display:block;color:var(--muted);font-size:10px}
.payout-date-box strong{display:block;font-size:18px;margin:4px 0}
.commission-ledger{display:grid;gap:9px}
.commission-ledger-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.commission-ledger-row h4{margin:4px 0}.commission-ledger-row p{margin:0;color:var(--muted);font-size:10px}
.commission-ledger-money{text-align:right;display:grid;justify-items:end;gap:5px}
.commission-ledger-money>strong{font-size:17px}.commission-ledger-money small{color:var(--muted)}
@media(max-width:650px){.agent-payout-status{grid-template-columns:1fr}.commission-ledger-row{align-items:flex-start;flex-direction:column}.commission-ledger-money{text-align:left;justify-items:start}}

/* V28 Admin payout control */
.admin-payout-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0 16px}
.admin-payout-summary>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.admin-payout-summary span,.admin-payout-values span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}
.admin-payout-summary strong{display:block;font-size:18px;margin-top:4px}
.admin-payout-list{display:grid;gap:10px}
.admin-payout-row{display:grid;grid-template-columns:1.3fr 1.4fr 1fr;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-payout-row h3{margin:3px 0}.admin-payout-row p{margin:0;color:var(--muted)}
.admin-payout-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.admin-payout-values>div{padding:8px;background:#f8faf9;border-radius:8px}
.admin-payout-values strong{display:block;margin-top:3px}
.admin-payout-readiness{display:grid;justify-items:end;gap:5px;text-align:right}
.admin-payout-readiness small{color:var(--muted)}
@media(max-width:800px){.admin-payout-summary{grid-template-columns:repeat(2,1fr)}.admin-payout-row{grid-template-columns:1fr}.admin-payout-readiness{justify-items:start;text-align:left}}

/* V29 payout batch management */
.payout-batch-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;margin:12px 0}
.payout-batch-toolbar p{margin:3px 0 0;color:var(--muted);font-size:10px}
.payout-batch-toolbar button:disabled{opacity:.45;cursor:not-allowed}
.payout-batch-panel{margin-top:16px}
.section-head.compact{margin-bottom:10px}.section-head.compact h3{margin:3px 0}
.payout-batch-list{display:grid;gap:9px}
.payout-batch-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.payout-batch-card h4{margin:4px 0}.payout-batch-card p{margin:0;color:var(--muted);font-size:10px}
.payout-batch-card-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.payout-batch-card-right>strong{font-size:17px}
.admin-payout-values{grid-template-columns:repeat(4,1fr)}
@media(max-width:750px){.payout-batch-toolbar,.payout-batch-card{align-items:flex-start;flex-direction:column}.payout-batch-card-right{justify-content:flex-start}.admin-payout-values{grid-template-columns:1fr 1fr}}

/* V29.1 prototype payout test control */
.prototype-test-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;background:#fff;margin:12px 0}
.prototype-test-toolbar p{margin:3px 0 0;color:var(--muted);font-size:10px}
@media(max-width:700px){.prototype-test-toolbar{align-items:flex-start;flex-direction:column}}

.prototype-test-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.prototype-test-actions{justify-content:flex-start}}

/* V30 payout execution tracking */
.payout-execution-card{max-width:800px}
.payout-execution-hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}
.payout-execution-hero h3{margin:3px 0}.payout-execution-hero p{margin:0;color:var(--muted)}
.payout-execution-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}
.payout-execution-summary>div{padding:10px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}
.payout-execution-summary span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}
.payout-execution-summary strong{display:block;margin-top:3px}
.payout-execution-lifecycle{padding:12px;border:1px solid var(--line);border-radius:11px;margin-bottom:12px}
.payout-batch-agents{display:grid;gap:9px;margin:12px 0}
.payout-agent-group{border:1px solid var(--line);border-radius:10px;padding:10px}
.payout-agent-group-head,.payout-item-line{display:flex;justify-content:space-between;gap:12px}
.payout-agent-group-head{padding-bottom:7px;border-bottom:1px solid var(--line)}
.payout-item-line{padding-top:7px;font-size:10px;color:var(--muted)}
.payout-execution-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:12px}
.payout-reference-field{flex:1;min-width:260px}
.paid-confirmation{font-weight:800;padding:10px 12px;border-radius:9px;background:#f2f8f4}
.prototype-finance-warning{margin-top:12px;padding:9px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:10px}
@media(max-width:650px){.payout-execution-summary{grid-template-columns:1fr 1fr}.payout-execution-hero{flex-direction:column}}

/* V31 Agent payout history */
.agent-payout-history-list{display:grid;gap:10px;margin-top:12px}
.agent-payout-history-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.agent-payout-history-card h3{margin:4px 0}.agent-payout-history-card p{margin:0;color:var(--muted);font-size:10px}
.agent-payout-history-meta{display:grid;justify-items:end;gap:5px;text-align:right}
.agent-payout-history-meta>strong{font-size:19px}.agent-payout-history-meta small{color:var(--muted)}
@media(max-width:650px){.agent-payout-history-card{align-items:flex-start;flex-direction:column}.agent-payout-history-meta{justify-items:start;text-align:left}}

/* V32 Supplier payout ledger */
.supplier-payout-status{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;margin:12px 0 16px}
.supplier-payout-status h3{margin:3px 0}.supplier-payout-status p{margin:0;color:var(--muted)}
.supplier-payout-ledger{display:grid;gap:9px}
.supplier-payout-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.supplier-payout-row h4{margin:4px 0}.supplier-payout-row p{margin:0;color:var(--muted);font-size:10px}
.supplier-payout-money{text-align:right;display:grid;justify-items:end;gap:5px}
.supplier-payout-money>strong{font-size:17px}.supplier-payout-money small{color:var(--muted)}
@media(max-width:650px){.supplier-payout-status{grid-template-columns:1fr}.supplier-payout-row{align-items:flex-start;flex-direction:column}.supplier-payout-money{text-align:left;justify-items:start}}

/* V33 Admin Supplier Payout Control */
.supplier-admin-payout-values{grid-template-columns:repeat(4,1fr)}
@media(max-width:750px){.supplier-admin-payout-values{grid-template-columns:1fr 1fr}}

/* V35 Admin Financial Reporting */
.financial-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 16px}
.financial-summary-grid>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.financial-summary-grid span,.financial-economics span,.financial-payout-statuses>div>span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.financial-summary-grid strong{display:block;font-size:18px;margin-top:4px}
.financial-toolbar{display:grid;grid-template-columns:180px 220px 1fr;gap:8px;margin:12px 0}
.financial-ledger{display:grid;gap:10px}
.financial-ledger-row{display:grid;grid-template-columns:1.3fr 1.6fr 1.1fr;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.financial-booking-info h3{margin:4px 0}.financial-booking-info p{margin:0;color:var(--muted)}.financial-booking-info small{display:block;color:var(--muted);margin-top:4px}
.financial-economics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.financial-economics>div{padding:8px;border-radius:8px;background:#f8faf9}
.financial-economics strong{display:block;margin-top:3px}
.financial-payout-statuses{display:grid;gap:9px}
.financial-payout-statuses>div{display:grid;justify-items:end;gap:5px;text-align:right}
.financial-payout-statuses small{color:var(--muted);font-size:9px}
@media(max-width:900px){.financial-summary-grid{grid-template-columns:repeat(2,1fr)}.financial-ledger-row{grid-template-columns:1fr}.financial-payout-statuses>div{justify-items:start;text-align:left}}
@media(max-width:650px){.financial-toolbar{grid-template-columns:1fr}.financial-summary-grid{grid-template-columns:1fr}}

/* V36 Customer Payment Reconciliation */
.payment-reconciliation-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}
.payment-reconciliation-summary>div{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.payment-reconciliation-summary span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.payment-reconciliation-summary strong{display:block;margin-top:4px}
.customer-payment-form{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0;padding:12px;background:#f8faf9;border-radius:11px}
.customer-payment-form .full{grid-column:1/-1}.customer-payment-form button{justify-self:start}
.customer-transaction-history{margin-top:15px}.transaction-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}
.transaction-line small{display:block;color:var(--muted);margin-top:2px}
.record-customer-payment{font-size:10px;padding:7px 10px}
@media(max-width:800px){.payment-reconciliation-summary{grid-template-columns:repeat(2,1fr)}.customer-payment-form{grid-template-columns:1fr}.customer-payment-form .full{grid-column:auto}}

/* V36.1 customer payment status clarity */
.customer-payment-status{justify-self:end}
.customer-payment-hero-status{display:grid;justify-items:end;gap:6px}
@media(max-width:650px){.customer-payment-status{justify-self:start}.customer-payment-hero-status{justify-items:start}}

/* V37 Customer payment balance */
.customer-trip-payment-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:8px;align-items:center;margin-top:12px;padding:10px;border-radius:10px;background:#f8faf9;border:1px solid var(--line)}
.customer-trip-payment-strip span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800}.customer-trip-payment-strip strong{display:block;margin-top:3px}
.customer-trip-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.customer-payment-balance-page{max-width:900px;margin:0 auto}
.customer-payment-balance-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.customer-payment-balance-hero h2{margin:4px 0}.customer-payment-balance-hero p{margin:0;color:var(--muted)}
.customer-payment-balance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.customer-payment-balance-summary>div{padding:14px;border-radius:11px;background:#fff;border:1px solid var(--line)}
.customer-payment-balance-summary span,.customer-payment-booking-values span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.customer-payment-balance-summary strong{display:block;font-size:20px;margin-top:4px}
.customer-payment-note{padding:11px 13px;border-radius:10px;background:#f8faf9;color:var(--muted);font-size:11px}
.customer-payment-bookings{display:grid;gap:10px;margin-top:14px}
.customer-payment-booking-card{display:grid;grid-template-columns:1.3fr 1.5fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.customer-payment-booking-card h3{margin:4px 0}
.customer-payment-booking-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.customer-payment-booking-values>div{padding:8px;background:#f8faf9;border-radius:8px}.customer-payment-booking-values strong{display:block;margin-top:3px}
@media(max-width:700px){.customer-trip-payment-strip{grid-template-columns:1fr 1fr}.customer-payment-balance-summary{grid-template-columns:1fr}.customer-payment-booking-card{grid-template-columns:1fr}.customer-payment-booking-values{grid-template-columns:1fr 1fr 1fr}.customer-payment-balance-hero{flex-direction:column}}

/* V38 Customer payment history */
.customer-payment-history{margin-top:18px}
.customer-payment-history-head h3{margin:4px 0 8px}
.customer-payment-history-list{display:grid;gap:8px}
.customer-payment-history-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.customer-payment-history-row>div{display:grid;gap:2px}
.customer-payment-history-row span,.customer-payment-history-row small{color:var(--muted)}
.customer-payment-history-row small{font-size:10px}
.customer-payment-history-row>strong{font-size:16px}
.customer-refund-amount{font-weight:800}
@media(max-width:650px){.customer-payment-history-row{align-items:flex-start;flex-direction:column}}

/* V39 customer payment due dates */
.customer-payment-terms-box{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;margin:12px 0}
.customer-payment-terms-box h3{margin:4px 0}
.customer-payment-terms-fields{display:grid;grid-template-columns:180px 1fr auto;gap:8px;align-items:end}
.financial-payment-due{color:var(--muted);font-size:10px}
.customer-due-upcoming,.customer-due-overdue,.customer-payment-terms-copy{display:block;margin-top:5px;font-size:10px}
.customer-due-upcoming{color:var(--muted)}.customer-due-overdue{font-weight:800}.customer-payment-terms-copy{color:var(--muted)}
@media(max-width:750px){.customer-payment-terms-fields{grid-template-columns:1fr}}

/* V39.1 payment due-date visibility correction only */
.customer-due-upcoming,
.customer-due-overdue,
.customer-payment-terms-copy {
  color: #000;
  font-weight: 700;
}
.financial-payment-due {
  color: #000;
  font-weight: 700;
}

/* V40 Admin payment reminders */
.payment-reminder-list{display:grid;gap:10px}
.payment-reminder-row{display:grid;grid-template-columns:1.35fr 1fr 1.2fr;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.payment-reminder-row h3{margin:4px 0}.payment-reminder-row p{margin:0;color:var(--muted)}.payment-reminder-row small{display:block;color:var(--muted);margin-top:4px}
.payment-reminder-money{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.payment-reminder-money span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.payment-reminder-due{display:grid;justify-items:end;gap:6px;text-align:right}.payment-reminder-due>strong{font-size:12px}
@media(max-width:800px){.payment-reminder-row{grid-template-columns:1fr}.payment-reminder-due{justify-items:start;text-align:left}}

/* V41 prepared customer reminders */
.payment-reminder-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.customer-reminder-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.customer-reminder-form .full{grid-column:1/-1}
.customer-reminder-form textarea{min-height:180px;resize:vertical}
.customer-reminder-history{margin-top:16px}
@media(max-width:750px){.payment-reminder-actions{justify-content:flex-start}.customer-reminder-form{grid-template-columns:1fr}.customer-reminder-form .full{grid-column:auto}}

/* V42 Admin reminder audit history */
.reminder-history-list{display:grid;gap:10px}.reminder-history-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}
.reminder-history-row h3{margin:4px 0}.reminder-history-row p{margin:0;color:var(--muted)}.reminder-history-row small{display:block;color:var(--muted);margin-top:4px}.reminder-history-row>div:nth-child(2){display:grid;gap:5px;justify-items:start}
.reminder-history-actions{display:flex;justify-content:flex-end}
@media(max-width:800px){.reminder-history-row{grid-template-columns:1fr}.reminder-history-actions{justify-content:flex-start}}

/* V43 Customer payment notices */
.customer-portal-notices{margin-bottom:14px}
.customer-balance-notice-panel{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.customer-balance-notice-head h3{margin:4px 0 10px}
.customer-balance-notice-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.customer-balance-notice-row>div:first-child{display:grid;gap:2px}.customer-balance-notice-row span,.customer-balance-notice-row small{color:var(--muted)}
.customer-balance-notice-amount{text-align:right}.customer-balance-notice-amount span{display:block;font-size:9px;text-transform:uppercase;font-weight:800}.customer-balance-notice-amount strong{display:block;margin-top:3px}
.customer-balance-notice-panel>p{margin:10px 0 0;color:var(--muted);font-size:11px}
@media(max-width:650px){.customer-balance-notice-row{align-items:flex-start;flex-direction:column}.customer-balance-notice-amount{text-align:left}}

/* V44 Supplier product photos */
.product-cover-photo,.agent-product-cover{width:100%;height:170px;object-fit:cover;border-radius:10px;margin-bottom:10px}
.product-cover-placeholder,.agent-product-cover-placeholder{height:120px;display:grid;place-items:center;background:#f4f6f5;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px;margin-bottom:10px}
.supplier-product-images-card{max-width:880px}.supplier-photo-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.supplier-photo-head h3{margin:4px 0}.supplier-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.supplier-photo-item{padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff}.supplier-photo-item img{width:100%;height:190px;object-fit:cover;border-radius:8px}
.supplier-photo-actions{display:flex;gap:6px;margin-top:8px}.supplier-photo-upload{display:grid;gap:8px;padding:12px;background:#f8faf9;border-radius:10px;margin:12px 0}.supplier-photo-upload small{color:var(--muted)}
@media(max-width:700px){.supplier-photo-grid{grid-template-columns:1fr}.supplier-photo-head{align-items:flex-start;flex-direction:column}}

/* V45 Customer Build My Itinerary foundation */
.itinerary-builder-layout{display:grid;grid-template-columns:1.65fr .85fr;gap:14px;margin-bottom:14px}
.itinerary-builder-form{display:grid;gap:14px}.builder-chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:7px}
.builder-chip-grid label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.builder-actions{display:flex;gap:8px;flex-wrap:wrap}.builder-success,.builder-error{padding:10px;border-radius:9px;font-weight:700}.builder-success{background:#eef9f3;color:#087a52}.builder-error{background:#fff3f2;color:#a92520}
.itinerary-builder-guide h3{margin:5px 0}.builder-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;margin-top:13px}.builder-step strong{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eaf7f1;color:#087a52}.builder-step span{color:var(--muted)}
.builder-saved-panel{margin-top:14px}.builder-request-list{display:grid;gap:9px;margin-top:10px}.builder-request-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.builder-request-card h3{margin:4px 0}.builder-request-card p{margin:0;color:var(--muted)}.builder-request-card small{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:800px){.itinerary-builder-layout{grid-template-columns:1fr}.builder-chip-grid{grid-template-columns:1fr}.builder-request-card{align-items:flex-start;flex-direction:column}}

/* V46 Admin itinerary request workflow */
.admin-itinerary-list{display:grid;gap:11px}.admin-itinerary-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.admin-itinerary-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-itinerary-head h3{margin:4px 0}.admin-itinerary-head p{margin:0;color:var(--muted)}
.admin-itinerary-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.admin-itinerary-facts>div{padding:9px;background:#f8faf9;border-radius:9px}.admin-itinerary-facts span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted);margin-bottom:3px}.admin-itinerary-facts strong{font-size:11px}
.admin-itinerary-note{padding:8px 0;border-top:1px solid var(--line);font-size:11px}.admin-itinerary-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
@media(max-width:850px){.admin-itinerary-facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.admin-itinerary-head{flex-direction:column}.admin-itinerary-facts{grid-template-columns:1fr}}

/* V47 Admin itinerary component builder */
.itinerary-planner-card{max-width:920px}.itinerary-planner-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.itinerary-planner-head h3{margin:4px 0}.itinerary-planner-head p{margin:0;color:var(--muted)}
.itinerary-item-form{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:12px;background:#f8faf9;border-radius:11px;margin:14px 0}.itinerary-item-form .full{grid-column:1/-1}
.itinerary-planner-items{margin:14px 0}.itinerary-planner-item{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.itinerary-type{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted)}.itinerary-planner-item>div:nth-child(2){display:grid;gap:3px}.itinerary-planner-item span,.itinerary-planner-item small{color:var(--muted)}
.builder-request-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){.itinerary-item-form{grid-template-columns:1fr}.itinerary-item-form .full{grid-column:auto}.itinerary-planner-item{grid-template-columns:1fr}.itinerary-planner-head{flex-direction:column}}

/* V47.1 itinerary intake destination refinement */
.field-hint{font-weight:600;color:var(--muted);text-transform:none}.field-note{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.builder-region-groups{display:grid;gap:8px;margin-top:9px}.region-standalone,.builder-region-group{border:1px solid var(--line);border-radius:10px;background:#fff}
.region-standalone{display:flex;align-items:center;gap:8px;padding:11px}.builder-region-group summary{cursor:pointer;padding:11px;font-weight:800}
.builder-region-group[open] summary{border-bottom:1px solid var(--line)}.builder-destination-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:10px}
.builder-destination-grid label,.caribbean-subregion label{display:flex;align-items:center;gap:7px;padding:8px;background:#f8faf9;border-radius:8px}
.cruise-port-tag{display:inline-block;margin-left:4px;padding:2px 6px;border-radius:999px;background:#fff1cf;color:#795600;font-size:8px;font-weight:900;text-transform:uppercase}
.caribbean-subregion{padding:10px;border-bottom:1px solid var(--line)}.caribbean-subregion:last-child{border-bottom:0}.caribbean-subregion>strong{display:block;margin-bottom:7px;font-size:10px;text-transform:uppercase;color:var(--muted)}
.help-choose{background:#f1faf6}
@media(max-width:650px){.builder-destination-grid{grid-template-columns:1fr}}

/* V47.2 lodging preferences */
.lodging-preferences{margin-top:4px}.lodging-room-grid{padding-top:2px}.all-inclusive-options{padding:12px;border:1px solid #d8e9e1;border-radius:11px;background:#f3faf7}
.all-inclusive-options[hidden]{display:none}.all-inclusive-options .form-grid{margin-top:8px}

/* V47.3 experience preferences */
.experience-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.experience-category-grid label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}
@media(max-width:800px){.experience-category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.experience-category-grid{grid-template-columns:1fr}}

/* V47.4 transportation preferences */
.transport-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px}
.transport-choice-grid label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.transport-detail-box{padding:12px;border:1px solid #d8e9e1;border-radius:11px;background:#f8faf9;margin-top:2px}
.transport-detail-box[hidden]{display:none}.transport-detail-box .form-grid{margin-top:8px}
@media(max-width:650px){.transport-choice-grid{grid-template-columns:1fr}}

/* V48 automatic day-by-day skeleton */
.customer-daybyday-card{max-width:900px}.customer-daybyday-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.customer-daybyday-head h3{margin:4px 0}.customer-daybyday-head p{margin:0;color:var(--muted)}
.customer-daybyday-list{display:grid;gap:9px;margin:14px 0}.customer-daybyday-row{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.customer-day-number{width:56px;height:56px;border-radius:12px;background:#eef8f3;display:grid;place-items:center;align-content:center}.customer-day-number span{font-size:8px;font-weight:800;color:var(--muted)}.customer-day-number strong{font-size:20px}
.customer-day-content{display:grid;gap:5px}.customer-day-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.customer-day-title span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.customer-day-content p,.customer-day-content small{margin:0;color:var(--muted)}.customer-day-content button{justify-self:start;margin-top:4px}
@media(max-width:650px){.customer-daybyday-head{flex-direction:column}.customer-day-title{align-items:flex-start;flex-direction:column}}

/* V48.1 smart airport intake + day transportation slots */
.airport-preferences{padding-top:3px}.airport-select-grid{margin-top:9px}.airport-recommendation{margin-top:9px;padding:10px;border-radius:9px;background:#eef8f3;color:#315f4c}
.airport-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.airport-info-grid>div{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.airport-info-grid span{font-size:10px;color:var(--muted);line-height:1.45}
@media(max-width:650px){.airport-info-grid{grid-template-columns:1fr}}

/* V49 lodging stay structure */
.customer-stay-planner-card{max-width:950px}.stay-planner-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.stay-planner-head h3{margin:4px 0}.stay-planner-head p{margin:0;color:var(--muted)}
.stay-planner-list{display:grid;gap:10px;margin:14px 0}.stay-planner-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.stay-number{width:54px;height:54px;border-radius:12px;background:#eef8f3;display:grid;place-items:center;align-content:center}.stay-number span{font-size:8px;font-weight:800;color:var(--muted)}.stay-number strong{font-size:18px}
.stay-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;align-items:end}.stay-lodging-status{grid-column:1/-1;padding:8px;background:#f8faf9;border-radius:8px}.stay-lodging-status span{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.stay-planner-footer{display:flex;justify-content:flex-end}
@media(max-width:800px){.stay-planner-row{grid-template-columns:1fr}.stay-fields{grid-template-columns:1fr}.stay-lodging-status{grid-column:auto}.stay-planner-head{flex-direction:column}.stay-planner-footer{justify-content:flex-start}}

/* V50 functional lodging selection */
.customer-lodging-chooser-card{max-width:980px}.lodging-chooser-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lodging-chooser-head h3{margin:4px 0}.lodging-chooser-head p{margin:0;color:var(--muted)}
.lodging-option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.lodging-option-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.lodging-option-card img,.lodging-photo-placeholder{width:100%;height:180px;object-fit:cover}.lodging-photo-placeholder{display:grid;place-items:center;background:#f4f6f5;color:var(--muted)}
.lodging-option-body{display:grid;gap:6px;padding:12px}.lodging-option-body h3{margin:0}.lodging-option-body p,.lodging-option-body small{margin:0;color:var(--muted)}.lodging-price{display:flex;align-items:baseline;gap:6px;margin-top:4px}.lodging-price span,.lodging-price small{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.stay-lodging-status{display:grid;gap:5px}.stay-lodging-status button{justify-self:start}.stay-lodging-status small{color:var(--muted)}
@media(max-width:750px){.lodging-option-grid{grid-template-columns:1fr}.lodging-chooser-head{flex-direction:column}}

/* V51 lodging-specific supplier inventory */
.lodging-product-fields{padding:12px;background:#f8faf9;border-radius:10px;margin:10px 0}.lodging-product-fields[hidden]{display:none}
.supplier-room-options-card{max-width:980px}.room-option-create{padding:12px;background:#f8faf9;border-radius:11px;margin:12px 0}.room-option-list{display:grid;gap:12px}.room-option-card{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.room-option-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.room-option-head h3{margin:4px 0}.room-option-head p{margin:0;color:var(--muted)}
.room-calendar-box{padding:10px;background:#f8faf9;border-radius:9px;margin:10px 0}.room-calendar-form{display:grid;grid-template-columns:1fr 1fr 90px 120px auto;gap:7px;margin-top:7px}.room-availability-ranges{display:grid;gap:5px;margin-top:8px}.room-availability-line{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.lodging-room-choices{display:grid;gap:8px;margin-top:8px}.lodging-room-choice{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.lodging-room-choice>div{display:grid;gap:2px}.lodging-room-choice small{color:var(--muted)}
.lodging-no-room{padding:10px}
@media(max-width:800px){.room-calendar-form{grid-template-columns:1fr 1fr}.lodging-room-choice{grid-template-columns:1fr}.room-option-head{flex-direction:column}}

/* V51.1 customer workflow polish */
#customerStayPlannerModal{z-index:1100}
#customerLodgingChooserModal{z-index:1200}
#customerLodgingChooserModal .modal-card{position:relative;z-index:1201}
#customerStayPlannerModal .modal-card{position:relative;z-index:1101}

/* V51.3 room quantity */
.lodging-room-choice{grid-template-columns:1.35fr 1fr 90px auto}
.lodging-room-qty{display:grid;gap:3px}.lodging-room-qty span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}.lodging-room-qty input{width:78px}
@media(max-width:800px){.lodging-room-choice{grid-template-columns:1fr}.lodging-room-qty input{width:100%}}

/* V51.4 lodging chooser responsive layout fix */
#customerLodgingChooserModal .customer-lodging-chooser-card{
  width:min(980px,calc(100vw - 32px));
  max-width:980px;
  box-sizing:border-box;
}
#customerLodgingChooserModal .lodging-option-grid{
  grid-template-columns:1fr;
}
#customerLodgingChooserModal .lodging-option-card{
  width:100%;
  box-sizing:border-box;
}
#customerLodgingChooserModal .lodging-room-choice{
  grid-template-columns:minmax(180px,1.5fr) minmax(145px,1fr) 90px minmax(120px,auto);
  width:100%;
  box-sizing:border-box;
}
#customerLodgingChooserModal .lodging-option-body,
#customerLodgingChooserModal .lodging-room-choices{
  min-width:0;
}
@media(max-width:760px){
  #customerLodgingChooserModal .customer-lodging-chooser-card{
    width:calc(100vw - 20px);
    padding:18px;
  }
  #customerLodgingChooserModal .lodging-room-choice{
    grid-template-columns:1fr;
  }
  #customerLodgingChooserModal .lodging-room-qty input{
    width:100%;
  }
}

/* V52 supplier service categories */
.supplier-category-fieldset{border:1px solid var(--line);border-radius:11px;padding:12px;margin:12px 0}.supplier-category-fieldset legend{font-weight:900;padding:0 5px}.supplier-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.supplier-category-grid label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;margin:0}.supplier-category-grid label>span{display:grid;gap:3px}.supplier-category-grid small{font-weight:400;color:var(--muted);line-height:1.35}
.supplier-category-chips{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.supplier-category-chips span{padding:4px 8px;border-radius:999px;background:#eef8f3;color:#087a52;font-size:9px;font-weight:800}
@media(max-width:700px){.supplier-category-grid{grid-template-columns:1fr}}

/* V53 functional transportation selection */
.transfer-product-fields{padding:10px;background:#f8faf9;border-radius:9px;margin:9px 0}.transfer-product-fields[hidden]{display:none}
.customer-transfer-chooser-card{width:min(900px,calc(100vw - 32px));max-width:900px}.transfer-chooser-head h3{margin:4px 0}.transfer-chooser-head p{margin:0;color:var(--muted)}
.transfer-option-list{display:grid;gap:9px;margin-top:12px}.transfer-option-card{display:grid;grid-template-columns:1.5fr .7fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.transfer-option-card h3{margin:4px 0}.transfer-option-card p,.transfer-option-card small{margin:0;color:var(--muted)}.transfer-option-price{display:grid;gap:3px}.transfer-option-price span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.selected-transfer{display:grid;gap:2px;padding:8px;background:#eef8f3;border-radius:8px}.selected-transfer span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}.selected-transfer small{color:var(--muted)}
@media(max-width:700px){.transfer-option-card{grid-template-columns:1fr}.customer-transfer-chooser-card{width:calc(100vw - 20px)}}

/* V53.4 transportation chooser modal stacking fix */
#customerDayByDayModal{z-index:1300}
#customerDayByDayModal .modal-card{position:relative;z-index:1301}
#customerTransferChooserModal{z-index:1400}
#customerTransferChooserModal .modal-card{position:relative;z-index:1401}

/* V53.5 explicit auto-save feedback */
.save-confirmation{margin:6px 0;padding:7px 9px;border-radius:8px;background:#eef8f3;color:#087a52;font-size:11px;font-weight:800}

/* V54 functional activity selection */
#customerActivityChooserModal{z-index:1500}
#customerActivityChooserModal .modal-card{position:relative;z-index:1501}
.customer-activity-chooser-card{width:min(980px,calc(100vw - 32px));max-width:980px}
.activity-chooser-head h3{margin:4px 0}.activity-chooser-head p{margin:0;color:var(--muted)}
.activity-option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.activity-option-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.activity-option-card img,.activity-photo-placeholder{width:100%;height:175px;object-fit:cover}.activity-photo-placeholder{display:grid;place-items:center;background:#f4f6f5;color:var(--muted)}
.activity-option-body{display:grid;gap:6px;padding:12px}.activity-option-body h3{margin:0}.activity-option-body p,.activity-option-body small{margin:0;color:var(--muted)}
.activity-option-price{display:grid;gap:2px;padding:8px;background:#f8faf9;border-radius:8px}.activity-option-price span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.selected-activity{display:grid;gap:2px;padding:8px;background:#eef8f3;border-radius:8px}.selected-activity span{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted)}.selected-activity small{color:var(--muted)}
@media(max-width:750px){.activity-option-grid{grid-template-columns:1fr}.customer-activity-chooser-card{width:calc(100vw - 20px)}}

/* V55 running itinerary pricing */
.itinerary-price-panel{margin:14px 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.itinerary-price-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.itinerary-price-head h3{font-size:28px;margin:3px 0}.itinerary-price-head p{margin:0;color:var(--muted)}
.itinerary-price-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.itinerary-price-categories>div{display:grid;gap:3px;padding:10px;background:#f7faf8;border-radius:9px}.itinerary-price-categories span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.itinerary-price-categories strong{font-size:17px}
.itinerary-price-details{border-top:1px solid var(--line);padding-top:10px}.itinerary-price-details summary{cursor:pointer;font-weight:800}.itinerary-price-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0ee}.itinerary-price-line span{display:grid;gap:2px}.itinerary-price-line small{color:var(--muted)}
.itinerary-price-incomplete{margin-top:10px;padding:8px 10px;border-radius:8px;background:#fff8e8;font-size:11px;font-weight:700}.itinerary-price-note{display:block;margin-top:10px;color:var(--muted);line-height:1.45}
@media(max-width:650px){.itinerary-price-head{display:grid}.itinerary-price-categories{grid-template-columns:1fr}.itinerary-price-line{align-items:flex-start}}
/* V56 12-hour lodging times + mixed room categories */
.time-12h-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.time-12h-row select{width:100%}
.room-mix-check{display:flex;gap:8px;align-items:flex-start}.room-mix-check input{width:auto;margin-top:4px}.room-mix-check span{display:grid;gap:2px}.room-mix-help{display:block;margin-top:6px;color:var(--muted)}

/* V57 Admin product compliance review */
.nav-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:inline-grid;place-items:center;background:#e9eeeb;color:#52615a;font-size:11px;font-weight:900}.nav-count.has-items{background:#fff1cf;color:#8a5a00}
.admin-product-review-card{width:min(1050px,calc(100vw - 28px));max-width:1050px;max-height:92vh;overflow:auto}
#adminProductReviewModal{z-index:1700}.review-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:10px 0 14px}.review-hero h3{font-size:24px;margin:4px 0}.review-hero p{margin:0;color:var(--muted)}
.compliance-checklist{display:grid;gap:8px;padding:14px;border:1px solid #d7e6dd;background:#f5faf7;border-radius:12px;margin-bottom:14px}.compliance-checklist label{display:flex;gap:8px;align-items:flex-start;font-size:12px}.compliance-checklist input{margin-top:2px}
.review-section{border-top:1px solid var(--line);padding:15px 0}.review-section h4{margin:0 0 10px;font-size:15px}.review-section h4 small{color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.review-grid>div{display:grid;gap:3px;padding:9px;background:#f8faf9;border-radius:8px}.review-grid span,.review-copy span{font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted)}.review-grid strong{font-size:12px}.review-grid .wide{grid-column:span 2}
.review-copy{margin-top:9px;padding:11px;border:1px solid var(--line);border-radius:9px}.review-copy p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}
.review-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.review-photo-grid figure{margin:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#f7f8f7}.review-photo-grid figure.cover{border-color:#087a52}.review-photo-grid img{display:block;width:100%;height:145px;object-fit:cover}.review-photo-grid figcaption{padding:6px;text-align:center;font-size:9px;font-weight:900}.review-photo-grid figure.cover figcaption{color:#087a52}
.review-room-list{display:grid;gap:8px}.review-room-list>div{display:grid;gap:3px;padding:10px;background:#f8faf9;border-radius:9px}.review-room-list span,.review-room-list small{color:var(--muted);font-size:11px}
.review-final-actions{position:sticky;bottom:-1px;background:#fff;padding:12px 0;border-top:1px solid var(--line)}
@media(max-width:800px){.review-grid{grid-template-columns:repeat(2,1fr)}.review-photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.review-grid,.review-photo-grid{grid-template-columns:1fr}.review-grid .wide{grid-column:auto}}

/* V57.2 quieter Admin Product Approval count */
.nav-count,.nav-count.has-items{
  margin-left:4px;
  min-width:0;
  height:auto;
  padding:0;
  border-radius:0;
  display:inline;
  background:transparent;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
}

/* V58 product rejection/change-request workflow */
#adminProductReviewNoteModal{z-index:1800}.admin-product-note-card{width:min(620px,calc(100vw - 28px));max-width:620px}
.review-note-product{display:grid;gap:2px;padding:10px;background:#f8faf9;border-radius:9px;margin:10px 0}.review-note-product span{color:var(--muted);font-size:11px}
.supplier-review-note{display:grid;gap:4px;padding:10px;border-radius:9px;font-size:12px}.supplier-review-note.rejected{background:#fff1f0;border:1px solid #efb5af;color:#8d271e}.supplier-review-note.changes{background:#fff8e6;border:1px solid #eed08a;color:#76500a}.supplier-review-note small{color:inherit;opacity:.8}
.supplier-notification-list{display:grid;gap:10px}.supplier-notification-card{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.supplier-notification-card.unread{border-left:4px solid #087a52}.supplier-notification-card h3{margin:4px 0}.supplier-notification-card p{white-space:pre-wrap;line-height:1.5}.notification-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:11px}

/* V58.1 explicit supplier media submission */
.supplier-photo-submit-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}

/* V59 proposal-ready handoff */
.proposal-ready-price{border:2px solid #1d7b56;background:#f5fbf8}.proposal-ready-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.proposal-ready-actions button{min-width:180px}

/* V59.3 Proposal Ready visual state + payment introduction */
.pill.status-approved,
.proposal-ready-price .pill,
.customer-day-by-day-card .pill.status-approved{
  background:#e7f5ee !important;
  border-color:#b8ddcc !important;
  color:#087a52 !important;
}
.customer-payment-intro-card{width:min(620px,calc(100vw - 28px));max-width:620px}
.customer-payment-intro-card h2{font-size:27px;line-height:1.15;margin:8px 0 10px}
.payment-intro-copy{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.payment-intro-reassurance{margin:16px 0;padding:11px 13px;border-radius:10px;background:#f3faf6;color:#087a52;font-weight:800}
.payment-intro-actions{display:flex;gap:9px;flex-wrap:wrap}.payment-intro-actions button{min-height:48px}

/* V59.5 Proposal Ready badge + payment modal stacking */
#customerDayByDayModal{z-index:1300}
#customerDayByDayModal .modal-card{position:relative;z-index:1301}
#customerPaymentIntroModal{z-index:1900}
#customerPaymentIntroModal .modal-card{position:relative;z-index:1901}
.customer-daybyday-head .status-approved{
  background:#e7f5ee !important;
  border-color:#b8ddcc !important;
  color:#087a52 !important;
}

/* V60 customer secure-checkout staging */
#customerCheckoutModal{z-index:2100}.customer-checkout-card{width:min(720px,calc(100vw - 28px));max-width:720px}
.checkout-trip-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:8px 0 14px}.checkout-trip-head h3{font-size:22px;margin:4px 0}.checkout-trip-head p{margin:0;color:var(--muted)}.checkout-trip-head>strong{font-size:28px;color:#087a52}
.checkout-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkout-breakdown>div{display:grid;gap:3px;padding:10px;background:#f8faf9;border-radius:9px}.checkout-breakdown span,.checkout-total span{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.checkout-total{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line)}.checkout-total strong{font-size:23px}
.checkout-payment-option{padding:15px 0}.checkout-option{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border:2px solid #b8ddcc;background:#f5fbf8;border-radius:11px}.checkout-option span{display:grid;gap:3px}.checkout-option small{color:var(--muted)}
.checkout-security-note{display:grid;gap:3px;padding:11px 13px;border-radius:9px;background:#f6f8f7;margin-bottom:12px}.checkout-security-note span{font-size:11px;color:var(--muted);line-height:1.4}.checkout-pay-button{min-height:50px}.checkout-stage-note{display:block;text-align:center;color:var(--muted);margin-top:7px}
.checkout-handoff{text-align:center;padding:12px 0}.checkout-handoff h3{font-size:24px}.checkout-lock{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e7f5ee;color:#087a52;font-weight:900;font-size:20px}
@media(max-width:600px){.checkout-breakdown{grid-template-columns:1fr}.checkout-trip-head{display:grid}}

/* V60.1 checkout traveler/contact */
.checkout-contact{margin:15px 0 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}
.checkout-section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.checkout-section-title>div{display:grid;gap:5px}.checkout-section-title>div>strong{font-size:18px}
.checkout-contact-lines{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:13px}
.link-button{border:0;background:transparent;color:#087a52;font-weight:900;cursor:pointer;padding:4px 2px}
.checkout-contact-editor{margin-top:13px;padding-top:13px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checkout-contact-editor[hidden]{display:none}.checkout-contact-editor .field:last-of-type{grid-column:1/-1}.checkout-contact-actions{grid-column:1/-1;display:flex;gap:8px}
@media(max-width:600px){.checkout-contact-editor{grid-template-columns:1fr}.checkout-contact-editor .field:last-of-type{grid-column:auto}.checkout-contact-actions{grid-column:auto}}

/* V61 configurable payment rules */
#adminItineraryPaymentTermsModal{z-index:1850}.admin-payment-terms-card{width:min(680px,calc(100vw - 28px));max-width:680px}.payment-terms-head{display:grid;gap:3px;padding:11px;background:#f8faf9;border-radius:9px;margin:8px 0 14px}.payment-terms-head span{font-size:11px;color:var(--muted)}
#adminDepositTerms{margin:10px 0}#adminDepositTerms[hidden]{display:none}
.checkout-payment-option{display:grid;gap:9px}.checkout-option{cursor:pointer}.checkout-option:not(.selected){border-color:var(--line);background:#fff}

/* V61.1 Admin itinerary proposal total */
.admin-itinerary-money-status{display:flex;align-items:flex-start;gap:12px}
.admin-itinerary-proposal-total{display:grid;gap:2px;text-align:right;padding:8px 10px;border-radius:9px;background:#f3faf6;border:1px solid #cfe7da}
.admin-itinerary-proposal-total span{font-size:9px;letter-spacing:.08em;font-weight:900;color:var(--muted)}
.admin-itinerary-proposal-total strong{font-size:22px;line-height:1;color:#087a52}
@media(max-width:700px){.admin-itinerary-head{align-items:flex-start}.admin-itinerary-money-status{display:grid;justify-items:end}}

/* V62 Payment ledger + reservation confirmation */
#adminItineraryPaymentLedgerModal{z-index:1870}.admin-payment-ledger-card{width:min(850px,calc(100vw - 28px));max-width:850px;max-height:92vh;overflow:auto}
.admin-itinerary-proposal-total small{font-size:10px;color:var(--muted);font-weight:700}
.ledger-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:8px 0 13px}.ledger-head h3{margin:4px 0}.ledger-head p{margin:0;color:var(--muted)}.ledger-head>strong{font-size:26px;color:#087a52}
.ledger-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ledger-summary>div{display:grid;gap:3px;padding:10px;background:#f8faf9;border-radius:9px}.ledger-summary span{font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.ledger-preview-box{display:grid;gap:8px;margin:13px 0;padding:12px;border:1px solid #dfc77c;background:#fff9e8;border-radius:10px}.ledger-preview-box p,.ledger-preview-box small{margin:0;color:#705817}
.ledger-section{padding:13px 0;border-top:1px solid var(--line)}.ledger-section h4{margin:0 0 8px}.ledger-lines{display:grid;gap:6px}.ledger-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px;background:#f8faf9;border-radius:8px}.ledger-lines span{display:grid;gap:2px}.ledger-lines small{color:var(--muted)}
.checkout-payment-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.checkout-payment-progress>div{display:grid;gap:3px;padding:10px;background:#f3faf6;border-radius:9px}.checkout-payment-progress span{font-size:9px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.checkout-paid-full,.checkout-confirmed-note{display:grid;gap:4px;padding:14px;border:1px solid #b8ddcc;background:#f3faf6;border-radius:10px;color:#087a52}.checkout-paid-full span,.checkout-confirmed-note span{font-size:12px;color:#45675a}
@media(max-width:600px){.ledger-summary,.checkout-payment-progress{grid-template-columns:1fr}}

/* V62.2 safe next-payment simulator */
.ledger-preview-complete{display:grid;gap:4px;margin:13px 0;padding:13px;border:1px solid #b8ddcc;background:#f3faf6;border-radius:10px;color:#087a52}
.ledger-preview-complete span{font-size:12px;color:#45675a}

/* V63 agent profile, payout setup, referral foundation */
.agent-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.agent-profile-grid .panel{padding:18px}.agent-profile-grid h3{margin:5px 0}.agent-profile-grid p{color:var(--muted);line-height:1.45}
.agent-profile-status,.agent-sponsor-box{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:#f8faf9;border-radius:9px;margin:10px 0}.agent-sponsor-box{display:grid}.agent-sponsor-box span,.agent-profile-status span{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.agent-referral-code{font-size:25px;font-weight:900;letter-spacing:.08em;color:#087a52;background:#f3faf6;border:1px dashed #9fcdb9;border-radius:10px;padding:14px;text-align:center;margin:10px 0}
@media(max-width:760px){.agent-profile-grid{grid-template-columns:1fr}}

/* V64 referral-link agent registration */
.referral-registration-sponsor{display:grid;gap:4px;padding:12px 14px;margin:10px 0 14px;border:1px solid #b8ddcc;background:#f3faf6;border-radius:10px}
.referral-registration-sponsor>span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#087a52}
.referral-registration-sponsor>strong{font-size:18px}.referral-registration-sponsor>small{color:var(--muted)}
.referral-registration-sponsor>em{font-style:normal;font-size:11px;font-weight:800;color:#087a52}
.referral-registration-success{display:grid;gap:5px}.referral-registration-success p{margin:0}.auth-return-login{margin-top:10px}
.agent-referral-link-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0 14px}
.agent-referral-link-wrap input{min-width:0;background:#f8faf9;font-size:11px}
@media(max-width:620px){.agent-referral-link-wrap{grid-template-columns:1fr}.agent-referral-link-wrap button{width:100%}}

/* V64.2 — allow long auth/registration forms to scroll on every viewport */
.auth-gate{
  overflow-y:auto !important;
  overflow-x:hidden;
  align-items:flex-start !important;
  padding:24px 12px !important;
  -webkit-overflow-scrolling:touch;
}
.auth-card{
  margin:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
#agentReferralRegistrationPanel{
  max-height:none !important;
  overflow:visible !important;
}
@media(max-height:760px){
  .auth-gate{padding-top:12px !important;padding-bottom:28px !important}
  .auth-card{margin:0 auto !important}
}

/* V65.1 restore Agent lodging room-selection workflow */
.agent-lodging-booking-fields{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fbfcfb}
.agent-lodging-booking-fields[hidden]{display:none}.agent-lodging-help{display:grid;gap:3px;padding:6px 0}.agent-lodging-help span{font-weight:900}.agent-lodging-help small{color:var(--muted)}
#agentLodgingRoomChoices{display:grid;gap:9px;margin-top:10px}.agent-room-choice{display:grid;grid-template-columns:1fr auto 90px;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.agent-room-choice>div:first-child{display:grid;gap:3px}.agent-room-choice p{margin:2px 0;color:var(--muted);font-size:12px}.agent-room-choice-rate{display:grid;gap:2px;text-align:right}.agent-room-choice-rate small{color:var(--muted)}.agent-room-choice-rate .pill{margin-top:3px}
@media(max-width:680px){.agent-room-choice{grid-template-columns:1fr}.agent-room-choice-rate{text-align:left}}

/* V65.3 lodging booking field cleanup */
.agent-lodging-checkin-time{display:grid;gap:3px;padding:12px 14px;margin:0 0 12px;border:1px solid #cfe2d8;border-radius:10px;background:#f7fbf9}
.agent-lodging-checkin-time[hidden]{display:none}
.agent-lodging-checkin-time span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#5f6c66}
.agent-lodging-checkin-time strong{font-size:19px;color:#087a52}
.agent-lodging-checkin-time small{color:var(--muted);line-height:1.4}

/* V65.5 — honor conditional Agent lodging fields */
#agentServiceTimeField[hidden],
#agentGenericQuantityField[hidden],
#agentLodgingCheckinTime[hidden],
#agentLodgingBookingFields[hidden]{
  display:none !important;
}


/* ============================================================
   V66.5 — MY CR CONCIERGE OPERATIONAL VISUAL DESIGN FOUNDATION
   Visual-only layer. No business logic / permissions / data changes.
   ============================================================ */
:root{
  --cr-forest:#245c4e;
  --cr-forest-deep:#1c5044;
  --cr-forest-soft:#367264;
  --cr-cream:#f3eee4;
  --cr-cream-soft:#f8f4ec;
  --cr-card:#fffdf9;
  --cr-border:#ded5c6;
  --cr-border-strong:#d1c5b2;
  --cr-text:#17332d;
  --cr-muted:#6d746f;
  --cr-shadow:0 8px 22px rgba(34,47,41,.07);
  --cr-shadow-soft:0 3px 10px rgba(34,47,41,.055);
  --cr-radius:14px;
}

body{
  background:var(--cr-cream);
  color:var(--cr-text);
}

.shell,
main,
.main,
.content,
.main-content{
  background:var(--cr-cream);
}

.sidebar{
  background:linear-gradient(180deg,var(--cr-forest-deep) 0%,var(--cr-forest) 100%);
  box-shadow:6px 0 22px rgba(12,52,44,.10);
}

.sidebar .brand,
.sidebar .account-box,
.sidebar .role-switcher{
  border-color:rgba(255,255,255,.10);
}

.sidebar nav button,
.sidebar nav a{
  border-radius:9px;
}

.sidebar nav button.active,
.sidebar nav a.active,
.sidebar nav button:hover,
.sidebar nav a:hover{
  background:rgba(255,255,255,.12);
}

.topbar,
header.topbar{
  background:rgba(255,253,249,.94);
  border-bottom:1px solid var(--cr-border);
  box-shadow:0 2px 10px rgba(34,47,41,.04);
  backdrop-filter:blur(10px);
}

.view{
  background:transparent;
}

.hero{
  border:1px solid rgba(18,63,53,.15);
  border-radius:18px;
  box-shadow:var(--cr-shadow);
  overflow:hidden;
}

.stat,
.card,
.panel,
.trip-card,
.supplier-card,
.agent-card,
.booking-card,
.product-card,
.financial-card,
.reminder-card,
.request-card,
.review-section,
.compliance-checklist,
.admin-modal-economics,
.financial-economics,
.financial-payout-statuses{
  background:var(--cr-card);
  border:1px solid var(--cr-border);
  box-shadow:var(--cr-shadow-soft);
}

.stat,
.card,
.panel,
.trip-card,
.supplier-card,
.agent-card,
.booking-card,
.product-card,
.financial-card,
.reminder-card,
.request-card{
  border-radius:var(--cr-radius);
}

.stat:hover,
.trip-card:hover,
.supplier-card:hover,
.agent-card:hover,
.booking-card:hover,
.product-card:hover,
.request-card:hover{
  border-color:var(--cr-border-strong);
  box-shadow:var(--cr-shadow);
}

.stat strong,
.card h3,
.card h4,
.trip-card h3,
.supplier-card h3,
.agent-card h3,
.booking-card h3,
.product-card h3{
  color:var(--cr-text);
}

.stat span,
.stat small,
.card small,
.muted,
.field-help{
  color:var(--cr-muted);
}

button.primary,
.primary{
  background:var(--cr-forest);
  border-color:var(--cr-forest);
}

button.primary:hover,
.primary:hover{
  background:var(--cr-forest-deep);
  border-color:var(--cr-forest-deep);
}

button.secondary,
.secondary,
button.neutral,
.neutral{
  background:var(--cr-card);
  border:1px solid var(--cr-border-strong);
  color:var(--cr-forest);
}

input,
select,
textarea{
  background:#fff;
  border-color:var(--cr-border-strong);
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--cr-forest-soft);
  box-shadow:0 0 0 3px rgba(31,88,75,.10);
}

.modal,
.modal-card,
.modal-content{
  border-color:var(--cr-border);
}

.modal-card,
.modal-content{
  background:var(--cr-cream-soft);
  box-shadow:0 24px 70px rgba(12,52,44,.18);
}

.pill{
  border:1px solid rgba(18,63,53,.10);
}

table,
.table{
  background:var(--cr-card);
}

th{
  color:var(--cr-forest);
}

/* Keep dense operational pages readable on smaller screens. */
@media (max-width: 900px){
  .stat,
  .card,
  .trip-card,
  .supplier-card,
  .agent-card,
  .booking-card,
  .product-card{
    box-shadow:0 2px 8px rgba(34,47,41,.05);
  }
}

/* V66.5.2 — Arenal atmospheric operational background */
body{
  background:
    linear-gradient(rgba(247,242,232,.84), rgba(247,242,232,.88)),
    url("/assets/arenal-volcano-background.jpg") center 28% / cover fixed no-repeat;
}
.shell, main, .main, .content, .main-content, .view{ background:transparent; }

/* V66.5.3 — Volcano visibility refinement
   Keep the landscape clearly visible with only a light cream-glass wash. */
body{
  background:
    linear-gradient(rgba(250,247,240,.34), rgba(250,247,240,.42)),
    url("/assets/arenal-volcano-background.jpg") center 28% / cover fixed no-repeat;
}

/* V66.5.4 — Floating Booking Cards
   Remove large opaque booking-list wrapper so the Arenal background shows between individual booking cards. */
#adminBookingList,
.admin-booking-list,
.booking-list,
.booking-grid,
.booking-control-list,
#bookingControl .list-shell,
#bookingControl .content-panel,
#bookingControl .panel,
#bookingControl .card-list-wrapper{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

#adminBookingList,
.admin-booking-list,
.booking-list,
.booking-grid{
  gap:16px !important;
}

#adminBookingList > article,
.admin-booking-list > article,
.booking-list > article,
.booking-grid > article,
.booking-card{
  background:rgba(255,253,249,.96) !important;
  border:1px solid var(--cr-border) !important;
  box-shadow:var(--cr-shadow-soft) !important;
  border-radius:var(--cr-radius) !important;
}

#adminBookingList > article + article,
.admin-booking-list > article + article,
.booking-list > article + article,
.booking-grid > article + article{
  margin-top:16px;
}

/* V66.5.5 — Transparent operational group wrappers
   Role Access already had the intended floating-card treatment.
   Apply the same visual hierarchy throughout operational pages. */
.view .list,
.view .list-shell,
.view .list-wrapper,
.view .cards,
.view .card-grid,
.view .grid-list,
.view .content-panel,
.view .results,
.view .results-list,
.view .management-list,
.view .admin-list,
.view .supplier-list,
.view .agent-list,
.view .product-list,
.view .request-list,
.view .financial-list,
.view .reminder-list,
.view .payout-list,
.view .history-list,
.view .timeline-list,
.view .section-body{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* Explicit operational data containers used across the preview. */
#adminBookingList,
#adminProductList,
#adminSupplierList,
#adminAgentList,
#adminFinancialContent,
#adminPaymentReminderContent,
#adminReminderHistoryContent,
#adminItineraryRequestContent,
#supplierPayoutContent,
#agentPayoutContent,
#adminPayoutContent,
#userAccountList,
#customerReviewContent{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* Individual records remain distinct floating cards. */
.view article,
.view .stat,
.view .trip-card,
.view .supplier-card,
.view .agent-card,
.view .booking-card,
.view .product-card,
.view .request-card,
.view .reminder-card,
.view .financial-card{
  background:rgba(255,253,249,.96);
}

/* Let the landscape breathe between repeated records. */
.view article + article{
  margin-top:14px;
}


/* ============================================================
   V66.6 — CUSTOMER EXPERIENCE FOUNDATION
   Immersive traveler-facing visual system. Existing data/workflows only.
   ============================================================ */

#customerTrips,
#customerItineraryBuilder,
#customerSavedItineraries,
#customerPreview{
  --cust-green:#1f5b4e;
  --cust-green-dark:#143f36;
  --cust-cream:#f7f2e8;
  --cust-card:rgba(255,253,249,.96);
  --cust-line:#ddd1bd;
  --cust-shadow:0 14px 34px rgba(21,55,47,.10);
  color:#17332d;
}

/* Traveler-facing canvas */
#customerTrips.customer-facing,
#customerTrips,
#customerItineraryBuilder,
#customerSavedItineraries,
#customerPreview{
  position:relative;
}

#customerTrips .customer-portal-shell,
#customerItineraryBuilder .itinerary-builder-layout,
#customerSavedItineraries .builder-saved-panel,
#customerPreview #customerPreviewContent{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* Desktop customer mode feels like a travel portal, not back-office software. */
body[data-preview-role="customer"] main{
  background:
    linear-gradient(rgba(249,246,239,.50),rgba(249,246,239,.64)),
    url("/assets/arenal-volcano-background.jpg") center 22% / cover fixed no-repeat;
}

body[data-preview-role="customer"] .topbar{
  background:rgba(255,253,249,.82);
  backdrop-filter:blur(16px);
}

body[data-preview-role="customer"] .sidebar{
  background:rgba(20,63,54,.94);
  backdrop-filter:blur(14px);
}

/* Customer headings */
.customer-portal-heading,
#customerItineraryBuilder .section-head,
#customerSavedItineraries .section-head{
  max-width:1180px;
  margin:0 auto 22px;
  padding:22px 26px;
  border-radius:18px;
  background:rgba(255,253,249,.82);
  border:1px solid rgba(221,209,189,.9);
  box-shadow:0 8px 22px rgba(21,55,47,.07);
  backdrop-filter:blur(12px);
}

.customer-portal-heading h2,
#customerItineraryBuilder .section-head h2,
#customerSavedItineraries .section-head h2{
  font-size:clamp(28px,3vw,42px);
  margin:.18em 0;
  letter-spacing:-.025em;
}

/* Trip cards */
.customer-trip-cards{
  display:grid;
  gap:20px;
}
.customer-trip-card{
  background:var(--cust-card) !important;
  border:1px solid var(--cust-line) !important;
  border-radius:20px !important;
  box-shadow:var(--cust-shadow) !important;
  overflow:hidden;
}
.customer-trip-card-top{
  padding:24px 26px 18px;
}
.customer-trip-card-top h3{
  font-size:26px;
  margin:8px 0 4px;
}
.customer-trip-status{
  display:inline-flex;
  border-radius:999px;
  padding:6px 10px;
  background:#e8f2ed;
  color:var(--cust-green-dark);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.customer-trip-datebox{
  background:var(--cust-cream);
  border:1px solid var(--cust-line);
  border-radius:14px;
  padding:12px 16px;
}
.customer-trip-card-meta{
  border-top:1px solid #eee4d5;
  border-bottom:1px solid #eee4d5;
  padding:14px 26px;
  background:rgba(247,242,232,.62);
}
.customer-trip-payment-strip{
  background:transparent;
  padding:18px 26px;
}
.customer-trip-card-actions{
  padding:0 26px 24px;
}

/* Destination hero */
.customer-itinerary{
  max-width:1180px;
  margin:0 auto 50px;
}
.customer-hero{
  min-height:360px;
  display:flex;
  align-items:flex-end;
  padding:38px;
  color:white;
  border-radius:26px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg,rgba(11,42,35,.10),rgba(11,42,35,.78)),
    url("/assets/arenal-volcano-background.jpg") center 35% / cover no-repeat;
  box-shadow:0 22px 50px rgba(13,45,37,.20);
}
.customer-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,52,44,.26),transparent 66%);
  pointer-events:none;
}
.customer-hero-main{
  position:relative;
  z-index:1;
  max-width:780px;
}
.customer-brand-row{
  margin-bottom:26px;
}
.customer-logo-mark{
  background:rgba(255,255,255,.96);
  color:var(--cust-green-dark);
  box-shadow:0 4px 18px rgba(0,0,0,.14);
}
.customer-brand,
.customer-subbrand,
.customer-intro,
.customer-trip-meta{
  color:white;
}
.customer-kicker{
  color:#f3e6c9;
  letter-spacing:.13em;
}
.customer-hero h2{
  color:white;
  font-size:clamp(36px,5vw,66px);
  line-height:1.02;
  margin:10px 0;
  letter-spacing:-.04em;
  text-shadow:0 3px 20px rgba(0,0,0,.22);
}
.customer-badge{
  position:absolute;
  right:30px;
  top:28px;
  z-index:2;
  background:rgba(255,253,249,.90);
  color:var(--cust-green-dark);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(12px);
}

/* At-a-glance */
.customer-glance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:-34px 28px 26px;
  position:relative;
  z-index:3;
}
.customer-glance-grid>div{
  background:rgba(255,253,249,.96);
  border:1px solid var(--cust-line);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(21,55,47,.10);
  padding:16px 18px;
}
.customer-glance-grid span{
  display:block;
  color:#72776f;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:750;
}
.customer-glance-grid strong{
  display:block;
  margin-top:5px;
  font-size:20px;
  color:var(--cust-green-dark);
}

/* Welcome + itinerary timeline */
.customer-welcome{
  margin:0 0 24px;
  background:rgba(255,253,249,.91);
  border:1px solid var(--cust-line);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(21,55,47,.06);
}

.customer-days{
  display:grid;
  gap:18px;
}
.customer-day{
  border:1px solid var(--cust-line) !important;
  background:rgba(255,253,249,.94) !important;
  border-radius:20px !important;
  box-shadow:0 9px 28px rgba(21,55,47,.08) !important;
  overflow:hidden;
}
.customer-day-head{
  background:linear-gradient(90deg,#f8f3e9,#fffdf8);
  border-bottom:1px solid #e9dfcf;
  padding:20px 24px;
}
.day-number{
  background:var(--cust-green);
  color:white;
  border-radius:13px;
  min-width:64px;
}
.day-number span,.day-number strong{color:white}

.customer-items{
  padding:18px 22px 22px;
}
.customer-item{
  border:1px solid #e3d8c6 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(21,55,47,.055) !important;
}
.customer-item-booking{
  border-left:4px solid var(--cust-green) !important;
}
.customer-item-type{
  color:var(--cust-green);
}
.customer-status{
  border-radius:999px;
}
.customer-free{
  padding:24px;
  border:1px dashed #bdb09a;
  background:linear-gradient(135deg,#f8f2e6,#fffdf9);
  border-radius:16px;
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.customer-free-kicker{
  color:var(--cust-green);
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  margin-bottom:6px;
}
.customer-free strong{
  font-size:22px;
  color:var(--cust-green-dark);
}
.customer-free span:last-child{
  margin-top:6px;
  color:#72776f;
}

.customer-help{
  margin-top:26px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--cust-green-dark),var(--cust-green));
  color:white;
  box-shadow:0 14px 30px rgba(20,63,54,.18);
}
.customer-help h3,.customer-help p,.customer-help .customer-kicker{color:white}
.customer-help-badge{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.25);
}

/* Builder and saved itinerary visual polish */
#customerItineraryBuilder .itinerary-builder-form,
#customerItineraryBuilder .itinerary-builder-aside,
#customerSavedItineraries .builder-saved-panel,
.builder-request-card{
  background:rgba(255,253,249,.94) !important;
  border:1px solid var(--cust-line) !important;
  border-radius:18px !important;
  box-shadow:0 10px 26px rgba(21,55,47,.08) !important;
}
.builder-region-option,
.builder-lodging-option,
.builder-experience-option{
  background:#fffdf9;
  border-color:#ded2bf;
  border-radius:12px;
}

/* Payment balance is traveler-friendly */
.customer-payment-balance-page,
.customer-payment-history,
.customer-payment-bookings{
  border-radius:20px;
}
.customer-payment-balance-hero{
  background:linear-gradient(135deg,var(--cust-green-dark),var(--cust-green));
  color:white;
  border-radius:20px;
}
.customer-payment-balance-hero h2,
.customer-payment-balance-hero p{color:white}
.customer-payment-balance-summary>div,
.customer-payment-history-row{
  background:rgba(255,253,249,.96);
  border:1px solid var(--cust-line);
  box-shadow:0 5px 15px rgba(21,55,47,.05);
}

/* Customer back action */
.customer-back{
  border-radius:999px;
  background:rgba(255,253,249,.92);
  border:1px solid var(--cust-line);
  color:var(--cust-green-dark);
  box-shadow:0 6px 16px rgba(21,55,47,.07);
}

/* Mobile customer experience */
@media (max-width:760px){
  body[data-preview-role="customer"] .shell{
    display:block;
  }
  body[data-preview-role="customer"] .sidebar{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    top:auto;
    width:auto;
    height:auto;
    z-index:80;
    border-radius:18px;
    padding:7px 8px;
    box-shadow:0 12px 34px rgba(10,42,35,.25);
  }
  body[data-preview-role="customer"] .sidebar .brand,
  body[data-preview-role="customer"] .sidebar .account-box,
  body[data-preview-role="customer"] .sidebar .role-switcher,
  body[data-preview-role="customer"] .sidebar .preview{
    display:none !important;
  }
  body[data-preview-role="customer"] .sidebar nav{
    display:flex;
    justify-content:space-around;
    gap:4px;
  }
  body[data-preview-role="customer"] .sidebar nav .nav{
    flex:1;
    padding:9px 5px;
    font-size:11px;
    text-align:center;
    white-space:normal;
  }
  body[data-preview-role="customer"] main{
    margin-left:0 !important;
    padding-bottom:90px;
  }
  body[data-preview-role="customer"] .topbar{
    position:sticky;
    top:0;
    z-index:60;
  }
  .customer-hero{
    min-height:320px;
    padding:24px 20px;
    border-radius:20px;
  }
  .customer-hero h2{font-size:38px}
  .customer-badge{display:none}
  .customer-trip-meta{
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  .customer-glance-grid{
    grid-template-columns:repeat(2,1fr);
    margin:-24px 14px 20px;
  }
  .customer-day-head{
    padding:16px;
  }
  .customer-items{padding:14px}
  .customer-item{
    display:block;
  }
  .customer-time{
    margin-bottom:10px;
  }
  .customer-trip-card-top{
    display:block;
  }
  .customer-trip-datebox{
    margin-top:14px;
  }
  .customer-trip-payment-strip{
    grid-template-columns:1fr 1fr;
  }
  .customer-trip-card-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* V66.7 — Customer Experience Enrichment */
#customerTrips .customer-portal-heading{
 min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;color:white;
 background:linear-gradient(180deg,rgba(15,54,45,.08),rgba(15,54,45,.72)),url("/assets/arenal-volcano-background.jpg") center 42%/cover no-repeat;
 border:1px solid rgba(255,255,255,.34);box-shadow:0 18px 40px rgba(18,63,53,.16)
}
#customerTrips .customer-portal-heading .eyebrow,#customerTrips .customer-portal-heading h2,#customerTrips .customer-portal-heading p{color:white}
#customerTrips .customer-portal-heading h2{text-shadow:0 3px 18px rgba(0,0,0,.22)}
.customer-trip-card::before{content:"";display:block;height:8px;background:linear-gradient(90deg,#1f5b4e,#c7a96b,#e7d4a9)}
.customer-trip-countdown{display:block;margin:9px 0 2px;color:#9a7436;font-size:13px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.customer-trip-readiness{padding:0 26px 18px}
.customer-readiness-copy{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px}
.customer-readiness-copy span{color:#8b7b62;font-size:10px;font-weight:850;letter-spacing:.11em}
.customer-readiness-copy strong{color:#1f5b4e;font-size:13px}
.customer-readiness-track{height:7px;border-radius:999px;overflow:hidden;background:#eee5d6}
.customer-readiness-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#245c4e,#c7a96b)}
.customer-hero-countdown{display:inline-flex;margin:12px 0 3px;padding:8px 13px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);color:white;font-size:13px;font-weight:800}
.customer-item-booking{position:relative;background:linear-gradient(90deg,rgba(241,247,243,.78),rgba(255,255,255,.98) 35%)!important}
.customer-item-booking::after{content:"✓ EXPERIENCE READY";position:absolute;top:13px;right:14px;color:#2d6a59;background:#e9f3ee;border:1px solid #cfe2d9;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.08em}
.customer-open-day-note{margin-top:12px!important;padding-top:10px;border-top:1px solid #e5dac8;font-size:12px;font-weight:700;color:#9a7436!important}
.customer-glance-grid>div{position:relative;overflow:hidden}
.customer-glance-grid>div::after{content:"";position:absolute;width:46px;height:46px;border-radius:50%;right:-15px;bottom:-18px;background:rgba(199,169,107,.16)}
#customerItineraryBuilder .itinerary-builder-aside{background:linear-gradient(rgba(255,253,249,.91),rgba(255,253,249,.95)),url("/assets/arenal-volcano-background.jpg") center/cover no-repeat!important}
#customerSavedItineraries .builder-request-card{position:relative;overflow:hidden}
#customerSavedItineraries .builder-request-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#245c4e,#c7a96b)}
@media(hover:hover){.customer-day{transition:transform .18s ease,box-shadow .18s ease}.customer-day:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(21,55,47,.12)!important}}
@media(max-width:760px){
 #customerTrips .customer-portal-heading{min-height:170px;border-radius:18px;padding:20px}
 .customer-trip-countdown{font-size:11px}.customer-readiness-copy{display:block}.customer-readiness-copy strong{display:block;margin-top:4px}
 .customer-item-booking::after{position:static;display:inline-flex;margin:8px 0 0}
}

/* ============================================================
   V66.8 — MY CR REWARDS CUSTOMER FOUNDATION
   UI foundation only. Point balances are intentionally zero until ledger economics are implemented.
   ============================================================ */
#customerRewards{
  --reward-green:#1f5b4e;
  --reward-deep:#143f36;
  --reward-gold:#c7a96b;
  --reward-cream:#f7f2e8;
  --reward-line:#ded2bf;
}
.customer-rewards-shell{max-width:1180px;margin:0 auto 50px}
.customer-rewards-hero{
  min-height:280px;padding:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
  color:white;border-radius:26px;overflow:hidden;
  background:linear-gradient(100deg,rgba(15,55,46,.82),rgba(15,55,46,.34)),url("/assets/arenal-volcano-background.jpg") center 43%/cover no-repeat;
  box-shadow:0 20px 46px rgba(18,63,53,.18)
}
.customer-rewards-hero h2{font-size:clamp(38px,5vw,64px);line-height:1;color:white;margin:8px 0 12px}
.customer-rewards-hero p{max-width:690px;color:white;font-size:16px}
.rewards-balance-card{
  min-width:210px;padding:22px 24px;border-radius:20px;background:rgba(255,253,249,.93);color:var(--reward-deep);
  border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(0,0,0,.13)
}
.rewards-balance-card span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#8c7958}
.rewards-balance-card strong{display:block;font-size:50px;line-height:1.05;margin:7px 0 2px}
.rewards-balance-card small{font-weight:800;color:var(--reward-green)}
.rewards-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-24px 28px 24px;position:relative;z-index:3}
.rewards-status-card{background:rgba(255,253,249,.97);border:1px solid var(--reward-line);border-radius:16px;padding:17px 19px;box-shadow:0 8px 22px rgba(21,55,47,.09)}
.rewards-status-card span,.rewards-status-card small{display:block}.rewards-status-card span{font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#85765e}
.rewards-status-card strong{display:block;font-size:27px;color:var(--reward-deep);margin:3px 0}.rewards-status-card small{color:#777a73}
.rewards-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rewards-panel,.rewards-marketplace,.rewards-history{
 background:rgba(255,253,249,.95);border:1px solid var(--reward-line);border-radius:20px;padding:25px;box-shadow:0 9px 26px rgba(21,55,47,.07)
}
.rewards-panel h3,.rewards-marketplace h3,.rewards-history h3{font-size:24px;color:var(--reward-deep);margin:6px 0 10px}
.rewards-steps{display:grid;gap:12px;margin-top:18px}
.rewards-steps>div{display:flex;gap:12px;align-items:flex-start;padding:13px;background:#faf6ee;border:1px solid #eadfce;border-radius:13px}
.rewards-steps b{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:var(--reward-green);color:white}
.rewards-steps span,.rewards-steps small{display:block}.rewards-steps small{margin-top:3px;color:#74776f;line-height:1.4}
.reward-preview-list{display:grid;gap:12px;margin-top:18px}
.reward-preview-list>div{display:flex;gap:13px;align-items:center;padding:15px;border:1px solid #eadfce;border-radius:14px;background:linear-gradient(90deg,#fffdf9,#f8f2e7)}
.reward-icon{font-size:25px}.reward-preview-list span,.reward-preview-list small{display:block}.reward-preview-list small{margin-top:3px;color:#74776f}
.rewards-marketplace,.rewards-history{margin-top:18px}
.rewards-coming-soon,.rewards-empty-ledger{margin-top:16px;padding:22px;border:1px dashed #c8b898;border-radius:15px;background:#faf6ed}
.rewards-coming-soon strong,.rewards-coming-soon span,.rewards-empty-ledger strong,.rewards-empty-ledger span{display:block}
.rewards-coming-soon strong,.rewards-empty-ledger strong{color:var(--reward-green);font-size:17px}.rewards-coming-soon span,.rewards-empty-ledger span{margin-top:5px;color:#74776f}
.rewards-terms-note{margin:16px 4px 0;color:#756f65;font-size:12px;line-height:1.5}
@media(max-width:760px){
 .customer-rewards-hero{min-height:330px;padding:22px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}
 .rewards-balance-card{min-width:0}
 .rewards-status-grid{grid-template-columns:1fr;margin:-12px 12px 18px}
 .rewards-main-grid{grid-template-columns:1fr}
}

/* V66.9 — Customer Reward Wallet */
.wallet-email-note{display:inline-flex;margin-top:15px;padding:9px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.12);color:white;font-size:12px;font-weight:750;backdrop-filter:blur(8px)}
.wallet-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:-24px 28px 24px;position:relative;z-index:3}
.wallet-summary-grid>div{background:rgba(255,253,249,.97);border:1px solid var(--reward-line);border-radius:16px;padding:17px 19px;box-shadow:0 8px 22px rgba(21,55,47,.09)}
.wallet-summary-grid span,.wallet-summary-grid small{display:block}.wallet-summary-grid span{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#85765e}
.wallet-summary-grid strong{display:block;font-size:27px;color:var(--reward-deep);margin:3px 0}.wallet-summary-grid small{color:#777a73}
.wallet-section{background:rgba(255,253,249,.95);border:1px solid var(--reward-line);border-radius:20px;padding:25px;margin-bottom:18px;box-shadow:0 9px 26px rgba(21,55,47,.07)}
.wallet-section-head h3{font-size:24px;color:var(--reward-deep);margin:6px 0}
.wallet-empty{margin-top:18px;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px dashed #c8b898;border-radius:16px;background:linear-gradient(135deg,#faf6ed,#fffdf9)}
.wallet-gift-mark{font-size:38px;margin-bottom:8px}.wallet-empty strong{font-size:20px;color:var(--reward-green)}.wallet-empty span{max-width:560px;margin-top:6px;color:#74776f}
.wallet-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.wallet-category-grid>div{padding:14px 10px;text-align:center;border:1px solid #eadfce;border-radius:13px;background:#faf6ee}
.wallet-category-grid b,.wallet-category-grid span{display:block}.wallet-category-grid b{font-size:24px;margin-bottom:4px}.wallet-category-grid span{font-size:12px;font-weight:800;color:var(--reward-deep)}
.wallet-surprise-card{margin-top:18px;padding:18px;border-radius:15px;background:linear-gradient(135deg,#1f5b4e,#2f7565);color:white;box-shadow:0 9px 22px rgba(31,91,78,.14)}
.wallet-surprise-card span,.wallet-surprise-card strong,.wallet-surprise-card small{display:block;color:white}.wallet-surprise-card span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#ead8af}.wallet-surprise-card strong{font-size:18px;margin:6px 0}.wallet-surprise-card small{line-height:1.45;opacity:.9}
.wallet-market-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.wallet-market-tags span{padding:7px 11px;border-radius:999px;background:#f3eadb;border:1px solid #dfcfb4;color:#5c564c;font-size:11px;font-weight:800}
@media(max-width:760px){.wallet-summary-grid{grid-template-columns:repeat(2,1fr);margin:-12px 12px 18px}.wallet-category-grid{grid-template-columns:repeat(2,1fr)}.wallet-email-note{border-radius:13px}}

/* V66.9 corrected official logo placement: upper-left sidebar CR square only */
.sidebar .brand .mark{overflow:hidden;padding:0}.sidebar .brand .mark img{width:100%;height:100%;object-fit:contain;display:block}

.hidden{display:none !important}

/* V66.9.1 customer-first authentication */
.auth-logo{overflow:hidden;padding:0;background:transparent}
.auth-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-language{display:flex;justify-content:flex-end;gap:4px;margin:-14px 0 18px}
.auth-language button{border:1px solid var(--line);background:#fff;color:#557067;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer}
.auth-language button.active{background:#e9dfcf;color:#214f43;border-color:#cfc1ab}
.auth-create-account{margin-top:10px}

/* V66.9.1 portal access: customer remains the default front door. */
.portal-choice-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0}
.portal-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 16px;border:1px solid rgba(34,78,68,.16);border-radius:14px;background:rgba(255,255,255,.72);color:#244f44;cursor:pointer;transition:.18s ease}
.portal-choice:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(36,79,68,.08)}
.portal-choice strong{font-size:14px}
.portal-choice span{font-size:12px;opacity:.75;line-height:1.35}
.auth-portal-link{display:block;margin:14px auto 0;border:0;background:transparent;color:#315f53;font-size:11px;font-weight:700;text-decoration:underline;cursor:pointer;opacity:.78}
.auth-portal-link:hover{opacity:1}

.partner-access-actions{display:grid;gap:10px;margin:18px 0}

.supplier-public-categories{display:grid;gap:8px;margin:8px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb}
.supplier-public-categories label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#315f53}
.supplier-public-categories input{width:auto}


/* =========================================================
   V66.9.4 — My CR Concierge unified brand theme
   Visual-only role theming. Existing workflows and permissions
   are intentionally untouched.
   ========================================================= */

:root{
  --mcc-charcoal:#171714;
  --mcc-charcoal-2:#24231f;
  --mcc-gold:#c9b56f;
  --mcc-gold-soft:#e8dfb5;
  --mcc-cream:#f7f3e8;
  --mcc-cream-2:#eee8d7;
  --mcc-forest:#245443;
  --mcc-white:#ffffff;
}

/* Public/customer authentication — matches the website's premium charcoal/gold identity */
.auth-gate{
  background:
    radial-gradient(circle at 20% 10%, rgba(201,181,111,.13), transparent 30%),
    linear-gradient(145deg,#11110f,#25231e);
}
.auth-card{
  background:rgba(247,243,232,.98);
  border:1px solid rgba(201,181,111,.45);
  box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.auth-brand strong{color:var(--mcc-charcoal)}
.auth-brand small{color:#6f6857}
.auth-language{
  background:#e9e2cf;
  border-color:#d8ceb0;
}
.auth-language button{color:#5c5648}
.auth-language button.active{
  background:var(--mcc-charcoal);
  color:var(--mcc-gold-soft);
}
.auth-card .eyebrow{color:#8a783c}
.auth-card .primary{
  background:var(--mcc-charcoal);
  border-color:var(--mcc-charcoal);
  color:var(--mcc-gold-soft);
}
.auth-card .primary:hover{background:#2b2a25}
.auth-card .secondary{
  background:#fffdf7;
  border-color:#cfc5a7;
  color:var(--mcc-charcoal);
}
.portal-choice{
  background:#fffdf7;
  border-color:#d7cba8;
}
.portal-choice:hover{
  border-color:var(--mcc-gold);
  box-shadow:0 10px 26px rgba(54,47,28,.10);
}
.portal-choice strong{color:var(--mcc-charcoal)}

/* Shared signed-in shell */
body.role-admin,
body.role-agent,
body.role-supplier,
body.role-customer{
  --bg:var(--mcc-cream);
  --panel:var(--mcc-white);
  --ink:#24231f;
  --muted:#706b60;
  --line:#ded7c6;
  --soft:#f1ecdf;
}

/* ADMIN — strongest back-office treatment */
body.role-admin{
  --green:#8d793c;
  --dark:#151512;
}
body.role-admin .sidebar{
  background:linear-gradient(180deg,#11110f,#24231f);
}
body.role-admin .nav:hover,
body.role-admin .nav.active{
  background:#3a3526;
  color:#f3e8bb;
}
body.role-admin .preview{background:#29271f}
body.role-admin .light{color:#e4d69e}
body.role-admin .mark{color:#171714}

/* AGENT — premium professional workspace */
body.role-agent{
  --green:#806e35;
  --dark:#1d1c18;
}
body.role-agent .sidebar{
  background:linear-gradient(180deg,#171714,#302d24);
}
body.role-agent .nav:hover,
body.role-agent .nav.active{
  background:#4a432e;
  color:#f4e8b7;
}
body.role-agent .preview{background:#302d24}
body.role-agent .light{color:#eadba0}

/* SUPPLIER — operational, still within the same brand family */
body.role-supplier{
  --green:#345e4e;
  --dark:#1b2722;
}
body.role-supplier .sidebar{
  background:linear-gradient(180deg,#18211d,#2a342f);
}
body.role-supplier .nav:hover,
body.role-supplier .nav.active{
  background:#3b493f;
  color:#f0e4b5;
}
body.role-supplier .preview{background:#27322c}
body.role-supplier .light{color:#e6d99e}

/* CUSTOMER — lightest, warmest, most travel-oriented portal */
body.role-customer{
  --green:#806e35;
  --dark:#171714;
  background:
    radial-gradient(circle at 90% 0%,rgba(201,181,111,.12),transparent 28%),
    var(--mcc-cream);
}
body.role-customer .sidebar{
  background:linear-gradient(180deg,#171714,#28261f);
}
body.role-customer .nav:hover,
body.role-customer .nav.active{
  background:#443e2d;
  color:#f5e9b8;
}
body.role-customer .customer-hero{
  background:
    linear-gradient(120deg,rgba(17,17,15,.96),rgba(45,42,32,.90));
}
body.role-customer .customer-kicker{color:#e3d59b}
body.role-customer .customer-hero p{color:#eee7d7}
body.role-customer .customer-badge{
  background:var(--mcc-gold-soft);
  color:var(--mcc-charcoal);
}
body.role-customer .customer-day-head{background:#fbf8ef}
body.role-customer .day-number,
body.role-customer .customer-status{
  background:#eee6cc;
  color:#6f5f2c;
}

/* Keep operational status semantics readable regardless of role theme */
.db.ok{background:#e7f7ee;color:#126746}
.db.bad{background:#fdecec;color:#9a3838}
.db.checking{background:#eef1ef;color:#66736b}


/* V66.9.15 — in-portal EN / ES language control */
.portal-language-switcher{
  margin-left:auto;
  display:flex;
  gap:4px;
  padding:4px;
  border:1px solid rgba(201,181,111,.45);
  background:rgba(255,255,255,.78);
  border-radius:999px;
  align-items:center;
}
.portal-language-switcher button{
  appearance:none;
  border:0;
  background:transparent;
  color:#5d5748;
  font:700 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.04em;
  padding:7px 9px;
  border-radius:999px;
  cursor:pointer;
}
.portal-language-switcher button.active{
  background:#1f211d;
  color:#f0dfa1;
}
.portal-language-switcher button:hover{
  background:#eee7d3;
}
.portal-language-switcher button.active:hover{
  background:#1f211d;
}
@media (max-width:760px){
  .portal-language-switcher{
    margin-left:8px;
    flex-shrink:0;
  }
  .portal-language-switcher button{padding:6px 8px}
}


/* V66.9.25 Agent co-branding foundation */
.agent-branding-editor{display:grid;gap:12px;margin:10px 0 2px}.agent-brand-logo-preview{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.agent-brand-logo-preview img,.agent-brand-logo-placeholder{width:86px;height:86px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid var(--line)}.agent-brand-logo-placeholder{display:grid;place-items:center;font-size:34px;font-weight:900;color:var(--green)}.agent-brand-logo-actions{display:flex;gap:8px;flex-wrap:wrap}.agent-logo-upload-label{display:inline-flex;align-items:center;margin:0;cursor:pointer}.field-help-inline{font-weight:500;color:var(--muted);font-size:10px}.agent-brand-visibility{display:flex;gap:14px;flex-wrap:wrap;padding:10px 12px;background:#f8faf9;border-radius:10px}.agent-brand-visibility label{display:flex;align-items:center;gap:7px;margin:0;font-size:11px}.agent-brand-visibility input{width:auto}
.customer-advisor-card{position:absolute;right:28px;top:28px;z-index:3;width:min(330px,34%);padding:18px;border-radius:18px;background:rgba(255,253,249,.94);border:1px solid rgba(255,255,255,.68);box-shadow:0 12px 30px rgba(0,0,0,.16);backdrop-filter:blur(14px);color:#173e2d}.customer-advisor-kicker{display:block;font-size:9px;letter-spacing:.13em;font-weight:900;color:#8b6c26;margin-bottom:10px}.customer-advisor-identity{display:flex;gap:11px;align-items:center}.customer-advisor-identity img{width:54px;height:54px;object-fit:contain;border-radius:12px;background:white;border:1px solid #e2d8c3}.customer-advisor-identity div{display:grid;gap:2px}.customer-advisor-identity strong{font-size:16px}.customer-advisor-identity span,.customer-advisor-identity small{font-size:11px;color:#5f665f}.customer-advisor-contact{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #e4dac6;font-size:11px}.customer-advisor-powered{display:block;margin-top:10px;color:#8b6c26;font-weight:800;font-size:9px;text-transform:uppercase;letter-spacing:.06em}@media(max-width:900px){.customer-advisor-card{position:relative;right:auto;top:auto;width:100%;margin-top:18px}.customer-hero{align-items:flex-start;flex-direction:column}.customer-hero-main{max-width:none}}


/* V66.9.26 — Agent-to-client shared itinerary foundation */
.agent-share-trip{
  border:1px solid #bba65d;
  background:#f7f1dc;
  color:#2e2b20;
  font-weight:800;
}
.agent-share-status{
  grid-column:1/-1;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  padding-top:8px;
  border-top:1px dashed rgba(85,75,45,.18);
}
.agent-share-status span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a725f}
.agent-share-status strong{font-size:12px;color:#3e3b31}
.agent-share-status small{font-size:11px;color:#817b6c}
.agent-share-modal-card{max-width:700px}
.agent-share-client{
  padding:14px 16px;
  border:1px solid #ded5bb;
  background:#fbf8ee;
  border-radius:14px;
  display:grid;
  gap:3px;
  margin:14px 0;
}
.agent-share-client span{font-size:10px;letter-spacing:.11em;font-weight:900;color:#8a793f}
.agent-share-client strong{font-size:18px;color:#27251f}
.agent-share-client small{color:#716b5d}
.agent-share-explainer{margin:10px 0 16px;color:#5f5a4e;line-height:1.55}
.agent-share-link-row{display:flex;gap:8px;align-items:center}
.agent-share-link-row input{flex:1;min-width:0}
.agent-share-actions{display:flex;gap:10px;align-items:center;margin:14px 0}
@media(max-width:700px){
  .agent-share-link-row{flex-direction:column;align-items:stretch}
  .agent-share-status{justify-content:flex-start;flex-wrap:wrap}
}


/* V66.9.27 — Agent affiliation registration/profile */
.agent-affiliation-conditional.hidden{display:none!important}
.agent-affiliation-admin-review{display:grid;gap:3px;margin:10px 0 14px;padding:11px 13px;border:1px solid rgba(125,107,55,.20);border-radius:12px;background:rgba(247,243,230,.72)}
.agent-affiliation-admin-review span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#8a793f}
.agent-affiliation-admin-review strong{font-size:14px;color:#183b34}
.agent-affiliation-admin-review small{color:#706858}


/* V66.9.28 — structured Agent payout settings */
.agent-payout-fields{margin:8px 0 12px;padding:12px;border:1px solid rgba(133,112,55,.20);border-radius:12px;background:rgba(250,248,240,.78)}
.payout-privacy-note{margin:6px 0 12px}
.secure-payout-note{margin-top:10px;padding:12px 14px;border-radius:12px;border:1px solid rgba(26,95,73,.22);background:rgba(227,244,237,.72);display:grid;gap:5px}
.secure-payout-note strong{color:#175b47}
.secure-payout-note span{font-size:12px;line-height:1.45;color:#5d635d}
.payout-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.payout-status-grid span{display:grid;gap:3px}
@media(max-width:680px){.payout-status-grid{grid-template-columns:1fr}}


/* V66.9.29 — protected collaborative itinerary revisions */
.client-change-alert{display:inline-block;margin-top:5px;padding:4px 8px;border-radius:999px;background:#fff1cf;color:#735500;font-style:normal;font-weight:800;font-size:11px}
.agent-review-client-changes{border:1px solid #9b7d29;background:#fff8df;color:#604a10;font-weight:800}
.collaboration-banner{margin:18px 0;padding:18px 20px;border:1px solid rgba(31,100,78,.22);border-radius:18px;background:rgba(240,250,246,.92);display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.collaboration-banner h3{margin:4px 0 6px}.collaboration-banner p{margin:0;max-width:900px}.collaboration-banner.submitted{background:#fff8e8;border-color:rgba(158,124,37,.28)}.collaboration-banner.approved{background:#edf9f1}.collaboration-banner.returned{background:#fff7e9}
.customer-proposed-changes{margin:18px 0;padding:18px;border:1px solid rgba(158,124,37,.28);border-radius:18px;background:rgba(255,252,244,.96)}
.customer-proposed-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.customer-proposed-head h3{margin:2px 0}
.customer-proposed-list{display:grid;gap:8px}.customer-proposed-list article{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:white;border:1px solid rgba(90,75,35,.14)}
.client-change-action{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:5px 8px;border-radius:999px;font-weight:900;font-size:11px}.client-change-action.add{background:#e8f7ee;color:#176044}.client-change-action.remove{background:#fff0ef;color:#9b2e27}
.customer-explore-day{margin-left:auto;border:1px solid rgba(31,100,78,.28);background:#f4fbf7;color:#195c47;border-radius:12px;padding:9px 12px;font-weight:800}
.customer-propose-remove{margin-top:8px;border:1px solid #d98f87;background:#fff6f5;color:#8b302a;border-radius:10px;padding:7px 10px;font-weight:800}.customer-locked-note{display:block;margin-top:8px;color:#777;font-size:11px}.proposed-removal{opacity:.76;border-style:dashed}.proposed-removal-label{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:999px;background:#fff0ef;color:#8b302a;font-size:11px;font-weight:800}.customer-proposed-add{border:1px dashed #9b7d29;background:#fffaf0}
.shared-activity-modal-card{max-width:1100px}.agent-client-changes-card{max-width:900px}.client-change-review-head{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.client-change-review-head div{display:grid;gap:3px}.client-change-review-head span:first-child{font-size:11px;letter-spacing:.08em;font-weight:800}.client-change-message{margin:10px 0;padding:12px 14px;border-radius:12px;background:#f6f6f2}.client-change-message p{margin:5px 0 0}.client-change-review-list{display:grid;gap:8px;margin:12px 0 18px}.client-change-review-list article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(90,75,35,.16);border-radius:12px}.client-change-review-list article>div{display:grid;gap:3px}.client-change-review-list article>div:last-child{text-align:right}.agent-change-review-actions{display:flex;justify-content:flex-end;gap:10px}.mini-link{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#665c44}
@media(max-width:760px){.collaboration-banner,.customer-proposed-head{display:grid}.customer-proposed-list article,.client-change-review-list article{grid-template-columns:1fr}.customer-explore-day{margin-left:0}.agent-change-review-actions{display:grid}.agent-change-review-actions button{width:100%}}


/* V66.9.31 — private shared-trip account activation */
#tripInviteActivationPanel{margin-top:8px}
.invite-trip-summary{
  display:grid;
  gap:4px;
  padding:14px 16px;
  margin:14px 0 16px;
  border-radius:14px;
  border:1px solid rgba(201,181,111,.42);
  background:#fffdf7;
}
.invite-trip-summary span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  color:#8a783c;
}
.invite-trip-summary strong{font-size:18px;color:#23221e}
.invite-trip-summary small{color:#6c6659}
.invite-existing-account{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
  color:#696255;
  font-size:12px;
}
.invite-existing-account .text-btn{
  border:0;
  background:none;
  padding:0;
  font-weight:800;
  color:#315f4d;
  cursor:pointer;
}


/* V66.9.33 — simplified shared-trip client activation */
.invite-client-identity{
  display:grid;
  gap:3px;
  padding:13px 15px;
  margin:0 0 16px;
  border-radius:12px;
  border:1px solid rgba(44,88,71,.18);
  background:rgba(239,247,243,.78);
}
.invite-client-label{
  font-size:10px;
  font-weight:900;
  letter-spacing:.10em;
  color:#456b5b;
}
.invite-client-identity strong{
  font-size:16px;
  color:#1f2d28;
}
.invite-client-identity small{
  color:#625f55;
}
.invite-client-identity .invite-email-note{
  margin-top:3px;
  font-size:11px;
  color:#7a7467;
}
.invite-link-note{
  margin:12px 0 4px;
  padding:10px 12px;
  border-radius:10px;
  background:#fbf7e9;
  border:1px solid rgba(183,157,75,.22);
  font-size:12px;
  line-height:1.45;
  color:#655e4d;
}


/* V66.9.34 — unified recognized-client shared-trip entry */
#clientTripInvitePanel{margin-top:8px}
.client-invite-account-state{
  margin:-4px 0 14px;
  padding:9px 11px;
  border-radius:10px;
  border:1px solid rgba(55,105,83,.18);
  background:rgba(237,247,242,.78);
  color:#53675e;
  font-size:12px;
  line-height:1.4;
}


/* V66.9.36 — Admin User Accounts password reset */
.account-row-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.admin-reset-password-card{max-width:560px}
.admin-reset-user-summary{
  display:grid;
  gap:3px;
  padding:12px 14px;
  margin:12px 0 16px;
  border:1px solid rgba(132,110,50,.20);
  border-radius:12px;
  background:#fbf8ee;
}
.admin-reset-user-summary strong{font-size:17px;color:#27251f}
.admin-reset-user-summary span{color:#5f594e}
.admin-reset-user-summary small{
  color:#7a7469;
  text-transform:capitalize;
}
@media(max-width:760px){
  .account-row-actions{justify-content:flex-start}
}


/* V66.9.38 — collaborative operational review layer */
.client-change-alert{
  font-style:normal;
  font-size:11px;
  font-weight:800;
  padding:5px 8px;
  border-radius:999px;
  background:#fff1d6;
  color:#825b18;
}
.change-item-invalid{
  border-color:#d89a9a !important;
  background:#fff8f8 !important;
}
.change-validation-error{
  display:grid;
  gap:2px;
  margin-top:7px;
  padding:8px 10px;
  border-radius:9px;
  background:#fdecec;
  color:#8d3030;
  font-size:11px;
}
.change-validation-error strong{font-size:11px;color:#8d3030}
.agent-change-validation-summary{
  display:grid;
  gap:3px;
  padding:10px 12px;
  margin:10px 0;
  border:1px solid rgba(169,74,74,.25);
  border-radius:10px;
  background:#fff1f1;
  color:#7f3434;
  font-size:12px;
}
.operational-review-waiting{
  display:grid;
  gap:5px;
  padding:12px 14px;
  margin:12px 0;
  border-radius:12px;
  border:1px solid rgba(164,132,47,.28);
  background:#fbf7e8;
  color:#62583c;
}
.operational-review-waiting strong{color:#4d452f}
.admin-operational-note{
  border-left:4px solid #8f7731;
}
.operational-review-list{
  display:grid;
  gap:16px;
}
.operational-review-card{
  padding:18px;
  border:1px solid rgba(87,75,43,.18);
  border-radius:16px;
  background:#fffdfa;
}
.operational-review-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.operational-review-head h3{margin:3px 0 2px}
.operational-review-head small{color:#70695b}
button:disabled{
  opacity:.48;
  cursor:not-allowed;
}
@media(max-width:760px){
  .operational-review-head{flex-direction:column}
}


/* V66.9.39 — item-level operational review */
.admin-item-review-list{
  gap:12px;
}
.admin-operational-item{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) minmax(100px,auto);
  gap:14px;
  align-items:start !important;
}
.admin-operational-item-main{
  display:grid;
  gap:5px;
  min-width:0;
}
.admin-operational-item-price{
  display:grid;
  justify-items:end;
  gap:3px;
  white-space:nowrap;
}
.compact-operational-note{
  margin-top:9px;
}
.compact-operational-note textarea{
  min-height:64px;
}
.item-operational-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
button.compact{
  padding:8px 12px;
  min-height:auto;
  font-size:12px;
}
.item-review-result,
.item-admin-decision{
  display:grid;
  gap:3px;
  margin-top:7px;
  padding:8px 10px;
  border-radius:9px;
  font-size:11px;
}
.item-review-result.approved,
.item-admin-decision.approved{
  background:#e8f5ee;
  color:#245f47;
}
.item-review-result.returned,
.item-admin-decision.returned{
  background:#fff1e8;
  color:#87502e;
}
.item-review-result span,
.item-admin-decision span{
  line-height:1.4;
}
.admin-operational-item.item-approved{
  border-color:rgba(51,125,88,.28) !important;
}
.admin-operational-item.item-returned{
  border-color:rgba(177,104,62,.28) !important;
}
@media(max-width:760px){
  .admin-operational-item{
    grid-template-columns:auto minmax(0,1fr) !important;
  }
  .admin-operational-item-price{
    grid-column:2;
    justify-items:start;
  }
}


/* V66.9.42 — make Draft vs Submitted unmistakable */
.collaboration-banner.draft{
  border-color:rgba(176,139,46,.28);
  background:#fffaf0;
}
.status-draft{
  background:#f5ead0 !important;
  color:#775d1e !important;
}
.customer-draft-send-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin-bottom:14px;
  border:1px solid rgba(181,142,42,.28);
  border-radius:14px;
  background:#fff8e7;
}
.customer-draft-send-banner div{
  display:grid;
  gap:3px;
}
.customer-draft-send-banner strong{
  color:#57451b;
}
.customer-draft-send-banner span{
  color:#75694d;
  font-size:12px;
}
@media(max-width:720px){
  .customer-draft-send-banner{
    align-items:stretch;
    flex-direction:column;
  }
}


/* V66.9.43 — customer payment CTAs + booking status colors */
.customer-status.status-confirmed,
.pill.status-confirmed,
.status-confirmed{
  background:#e5f4e9 !important;
  border-color:#8fcca0 !important;
  color:#24653a !important;
}
.customer-status.status-pending,
.pill.status-pending,
.status-pending{
  background:#fff2d8 !important;
  border-color:#ddb75e !important;
  color:#805d14 !important;
}
.customer-status.status-cancelled,
.pill.status-cancelled,
.status-cancelled{
  background:#fde8e8 !important;
  border-color:#dd9090 !important;
  color:#9a3434 !important;
}
.customer-trip-card-actions{flex-wrap:wrap}
.customer-payment-actions,
.customer-itinerary-payment-cta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:16px;
}
.customer-itinerary-payment-cta{
  padding:18px;
  border:1px solid rgba(139,113,45,.22);
  border-radius:16px;
  background:#fffaf0;
}
.customer-itinerary-payment-cta div{display:grid;gap:4px}
@media(max-width:720px){
  .customer-payment-actions,
  .customer-itinerary-payment-cta{
    align-items:stretch;
    flex-direction:column;
  }
}


/* V66.9.45 — Direct Customer Preferred Pricing */
.admin-customer-pricing{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid rgba(139,113,45,.22);
  border-radius:12px;
  background:#fffaf0;
  display:grid;
  gap:6px;
}
.admin-customer-pricing label{display:grid;gap:4px}
.admin-customer-pricing select{min-width:210px}
.admin-customer-pricing.agent-locked{
  background:#f7f4ee;
  border-color:rgba(80,80,80,.15);
}
.customer-preferred-pricing-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  margin-bottom:14px;
  border:1px solid rgba(139,113,45,.28);
  border-radius:14px;
  background:#fffaf0;
}
.customer-preferred-pricing-banner div{display:grid;gap:3px}
.customer-preferred-pricing-banner small{max-width:520px;color:#6d6759}
@media(max-width:720px){
  .customer-preferred-pricing-banner{align-items:flex-start;flex-direction:column}
}


/* V66.9.46 — customer Preferred / Gold / Platinum membership presentation */
#customerTrips .customer-portal-heading,
.customer-hero{position:relative}
.customer-member-ribbon{
  position:absolute;top:22px;right:24px;z-index:6;
  display:flex;align-items:center;gap:10px;
  padding:9px 18px 9px 10px;min-width:190px;
  border-radius:999px 14px 14px 999px;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 8px 24px rgba(0,0,0,.20)
}
.customer-member-ribbon strong{font-size:15px;letter-spacing:.02em;white-space:nowrap}
.customer-member-icon{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;border-radius:50%;
  font-size:18px;border:1px solid rgba(255,255,255,.55)
}
.customer-member-ribbon.member-preferred{
  background:linear-gradient(135deg,#e9e5db,#f8f5ed);
  color:#4d4a42;border-color:#cfc8b9
}
.customer-member-ribbon.member-preferred .customer-member-icon{background:#d9d2c3;color:#655f52}
.customer-member-ribbon.member-gold{
  background:linear-gradient(135deg,#d5ac42,#f7df91);
  color:#3d2b05;border-color:#e8c75f
}
.customer-member-ribbon.member-gold .customer-member-icon{background:#f7e6ae;color:#755710}
.customer-member-ribbon.member-platinum{
  background:linear-gradient(135deg,#bdc7cd,#f0f3f5);
  color:#303a40;border-color:#d6dde1
}
.customer-member-ribbon.member-platinum .customer-member-icon{background:#eef2f4;color:#53616a}
.customer-preferred-pricing-banner.member-preferred{
  border-color:#c8c0af;background:linear-gradient(135deg,#faf8f2,#ede9df)
}
.customer-preferred-pricing-banner.member-gold{
  border-color:#d3ae4b;background:linear-gradient(135deg,#fffaf0,#f8e6b0)
}
.customer-preferred-pricing-banner.member-platinum{
  border-color:#aeb9c0;background:linear-gradient(135deg,#fafbfc,#e5eaed)
}
.customer-member-copy{display:grid;gap:4px}
.customer-preferred-pricing-banner strong{font-size:17px}
.customer-itinerary-member-benefit{margin:14px 0 18px}
@media(max-width:760px){
  .customer-member-ribbon{top:14px;right:14px;min-width:0;padding-right:14px}
  .customer-member-ribbon strong{font-size:13px}
  .customer-member-icon{width:32px;height:32px;flex-basis:32px}
}


/* V66.9.77 — Platinum shimmer fades out well before the edge/reset to prevent page blink */
.customer-member-ribbon.member-gold,
.customer-preferred-pricing-banner.member-gold{
  background:linear-gradient(115deg,#8f6b12 0%,#c99b2d 16%,#fff0ad 34%,#d7ad3b 50%,#fff4c2 66%,#b88517 84%,#f4d87b 100%);
  border-color:#f3d678;
  box-shadow:0 8px 24px rgba(101,70,6,.24),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(98,66,5,.18)
}
.customer-member-ribbon.member-platinum,
.customer-preferred-pricing-banner.member-platinum{
  background:linear-gradient(115deg,#7c878d 0%,#c7d0d5 16%,#ffffff 33%,#b5c0c6 49%,#f7fbfd 67%,#919da4 84%,#dce4e8 100%);
  border-color:#e5ecef;
  box-shadow:0 8px 24px rgba(58,69,75,.22),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(63,73,78,.16);
  position:relative;overflow:hidden
}
.customer-member-ribbon.member-platinum::after,
.customer-preferred-pricing-banner.member-platinum::after{
  content:"";position:absolute;top:-45%;bottom:-45%;left:-18%;width:18%;
  transform:translateX(-120%) skewX(-18deg);
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  animation:mycrPlatinumShimmer 9s ease-in-out infinite;
  pointer-events:none;
  will-change:transform,opacity
}
@keyframes mycrPlatinumShimmer{
  0%,20%{transform:translateX(-120%) skewX(-18deg);opacity:0}
  32%{transform:translateX(-35%) skewX(-18deg);opacity:.24}
  50%{transform:translateX(120%) skewX(-18deg);opacity:.42}
  64%{transform:translateX(205%) skewX(-18deg);opacity:.18}
  72%,100%{transform:translateX(255%) skewX(-18deg);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .customer-member-ribbon.member-platinum::after,
  .customer-preferred-pricing-banner.member-platinum::after{animation:none;display:none}
}

/* V66.9.48 — compact membership badge across Preferred / Gold / Platinum */
.customer-member-ribbon{
  width:max-content;
  max-width:calc(100% - 40px);
  min-width:0;
  flex:0 0 auto;
}
#customerTrips .customer-portal-heading .customer-member-ribbon{
  position:static;
  align-self:flex-start;
  margin-top:18px;
  width:max-content;
  max-width:100%;
}
@media(max-width:760px){
  #customerTrips .customer-portal-heading .customer-member-ribbon{
    margin-top:14px;
    max-width:100%;
  }
}


/* V66.9.49 Quick Book */
.quick-book-shell{display:grid;gap:22px}.quick-book-step{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid rgba(26,71,54,.14);border-radius:18px;background:#fffdf7}.quick-book-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173f31;color:white;font-weight:800}.quick-book-step>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap;flex:1}.quick-book-step select{min-width:280px}.quick-book-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.quick-book-card{display:flex;flex-direction:column;gap:14px}.quick-book-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-book-fields label{font-size:12px;font-weight:700;display:grid;gap:6px}.quick-book-fields input,.quick-book-fields select{width:100%}@media(max-width:700px){.quick-book-fields{grid-template-columns:1fr}.quick-book-step>div{display:grid}.quick-book-step select{min-width:0;width:100%}}

/* V66.9.52 — Itinerary weather */
.itinerary-weather-panel{margin:14px 0 16px;padding:16px;border:1px solid #d8d3c4;border-radius:16px;background:linear-gradient(135deg,#f8f4e8,#eef5ee)}
.itinerary-weather-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.itinerary-weather-head h3{margin:4px 0 3px}.itinerary-weather-head p{margin:0;color:var(--muted);max-width:720px}.weather-auto-badge,.weather-mode-pill{white-space:nowrap;border:1px solid rgba(40,82,61,.22);background:rgba(255,255,255,.72);color:#28523d;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.itinerary-weather-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}.itinerary-weather-card{border:1px solid rgba(65,87,69,.16);border-radius:13px;background:rgba(255,255,255,.88);padding:13px}.itinerary-weather-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.itinerary-weather-card h4{margin:3px 0 0;font-size:17px}.weather-seasonal-main{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:12px 0 7px;padding:9px 10px;border-radius:9px;background:#f6f2e7}.weather-seasonal-main span{font-weight:700;color:#42564a}.itinerary-weather-card p{margin:7px 0;color:#4f5f56;line-height:1.45}.itinerary-weather-card>small,.weather-source-note{display:block;color:var(--muted);line-height:1.4}.weather-forecast-grid{display:grid;gap:6px;margin-top:10px}.weather-forecast-day{display:grid;grid-template-columns:82px 1fr auto;gap:8px;align-items:center;padding:8px 9px;border-radius:9px;background:#f4f7f5}.weather-forecast-day span{font-weight:700}.weather-forecast-day small{color:var(--muted);text-align:right}@media(max-width:650px){.itinerary-weather-head{flex-direction:column}.weather-forecast-day{grid-template-columns:72px 1fr}.weather-forecast-day small{grid-column:1/-1;text-align:left}}


/* V66.9.54 — compact weather carousel + trip card preview */
.itinerary-weather-panel.compact{margin:12px 0 16px;padding:14px;border:1px solid #d8d3c4;border-radius:16px;background:linear-gradient(135deg,#f7f4eb,#eef3ef)}
.itinerary-weather-head.compact{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}.itinerary-weather-head.compact h3{margin:4px 0 2px;font-size:22px}.itinerary-weather-head.compact p{margin:0;color:var(--muted);max-width:760px;font-size:14px;line-height:1.45}
.weather-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.weather-carousel-controls{display:flex;gap:8px}.weather-carousel-arrow{width:34px;height:34px;border-radius:999px;border:1px solid rgba(40,82,61,.22);background:#fff;color:#28523d;font-size:20px;font-weight:700;line-height:1;display:grid;place-items:center;cursor:pointer}
.weather-carousel{overflow:hidden}.weather-carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px}.weather-carousel-track::-webkit-scrollbar{display:none}
.weather-slide-card{min-width:255px;max-width:255px;scroll-snap-align:start;border:1px solid rgba(65,87,69,.15);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 16px rgba(36,52,42,.06)}
.weather-slide-hero{min-height:76px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;color:#fff;background:linear-gradient(135deg,rgba(16,44,35,.95),rgba(53,99,79,.85) 55%,rgba(207,170,82,.8));position:relative}.weather-slide-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 55%)}
.weather-slide-icon{position:relative;z-index:1;font-size:24px;line-height:1}.weather-slide-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}.weather-slide-hero-copy strong{font-size:16px}.weather-slide-hero-copy small{opacity:.95}
.weather-slide-body{padding:11px 13px 12px}.weather-slide-topline{display:flex;justify-content:flex-end;margin-bottom:6px}.weather-slide-body h4{margin:0 0 4px;font-size:18px;color:#173e32}.weather-slide-places{margin:0 0 5px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#917338}.weather-slide-summary{margin:0;color:#485a52;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.weather-slide-card.theme-arenal .weather-slide-hero{background:linear-gradient(135deg,rgba(20,62,49,.94),rgba(43,112,84,.84),rgba(105,140,98,.72))}.weather-slide-card.theme-cloudforest .weather-slide-hero{background:linear-gradient(135deg,rgba(38,62,58,.95),rgba(87,118,116,.86),rgba(182,194,191,.72))}.weather-slide-card.theme-pacific .weather-slide-hero{background:linear-gradient(135deg,rgba(20,69,74,.95),rgba(62,127,135,.82),rgba(212,188,120,.74))}.weather-slide-card.theme-southpacific .weather-slide-hero{background:linear-gradient(135deg,rgba(20,76,59,.95),rgba(66,125,95,.84),rgba(140,173,101,.74))}.weather-slide-card.theme-northpacific .weather-slide-hero{background:linear-gradient(135deg,rgba(106,78,27,.95),rgba(194,145,54,.86),rgba(243,219,148,.75));color:#173e32}.weather-slide-card.theme-southcaribbean .weather-slide-hero{background:linear-gradient(135deg,rgba(34,78,45,.95),rgba(72,134,93,.84),rgba(109,170,188,.72))}.weather-slide-card.theme-northcaribbean .weather-slide-hero{background:linear-gradient(135deg,rgba(27,68,73,.95),rgba(73,118,132,.84),rgba(110,173,122,.74))}.weather-slide-card.theme-centralvalley .weather-slide-hero{background:linear-gradient(135deg,rgba(55,78,64,.95),rgba(128,149,112,.84),rgba(221,202,141,.72));color:#173e32}
.customer-trip-weather-preview{margin:10px 0 6px}.customer-trip-weather-pill{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid #d9d4c6;background:linear-gradient(135deg,#f6f6f1,#edf4ef)}.customer-trip-weather-pill.muted{opacity:.8}.customer-trip-weather-icon{font-size:22px;line-height:1}.customer-trip-weather-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.customer-trip-weather-copy strong{font-size:15px;color:#174334}.customer-trip-weather-copy small{color:#5a6b62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-preview-loading{display:block;padding:10px 12px;border-radius:12px;border:1px dashed #d8d3c4;color:#6a776f;background:#faf9f4}
@media(max-width:900px){.itinerary-weather-head.compact{flex-direction:column}.weather-head-actions{width:100%;justify-content:space-between}.weather-slide-card{min-width:228px;max-width:228px}}
@media(max-width:640px){.itinerary-weather-panel.compact{padding:12px}.itinerary-weather-head.compact h3{font-size:20px}.weather-slide-card{min-width:84%;max-width:84%}.customer-trip-weather-copy small{white-space:normal}}


/* V66.9.55 — weather placement refinement */
.customer-regional-weather-wrap{margin:10px 0 16px}.customer-regional-weather-wrap .itinerary-weather-panel{margin:0}.regional-weather-browser .weather-slide-card{min-width:235px;max-width:235px}.trip-weather-detail .weather-carousel-track{overflow-x:auto}.trip-weather-detail .weather-slide-card{min-width:250px;max-width:300px}.trip-weather-detail .itinerary-weather-head.compact p{max-width:620px}
@media(max-width:640px){.regional-weather-browser .weather-slide-card{min-width:82%;max-width:82%}.trip-weather-detail .weather-slide-card{min-width:88%;max-width:88%}}

/* V66.9.56 — Standard-customer promo codes + compact admin controls */
.promo-admin-create{margin-bottom:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.promo-admin-list{display:grid;gap:10px}.promo-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.promo-admin-row h3{margin:2px 0 4px}.promo-admin-row p{margin:0 0 4px;color:var(--muted)}.promo-admin-row small{color:var(--muted)}.promo-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.checkout-promo-box{margin:12px 0;padding:13px;border:1px solid #d6d0be;border-radius:14px;background:linear-gradient(135deg,#fbf8ee,#f1f6f2);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.checkout-promo-box>div:first-child{display:flex;flex-direction:column;gap:2px;max-width:570px}.checkout-promo-box small{color:var(--muted)}.checkout-promo-entry{display:flex;gap:8px;align-items:center}.checkout-promo-entry input{text-transform:uppercase;min-width:190px}.checkout-promo-applied{margin:10px 0;padding:10px 12px;border-radius:12px;background:#f5f0df;border:1px solid #ddcf9e}.checkout-promo-applied>div{display:flex;justify-content:space-between;gap:16px;padding:3px 0}.checkout-promo-applied>div:last-child strong{color:#28523d}
@media(max-width:850px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.form-grid.four{grid-template-columns:1fr}.promo-admin-row{align-items:flex-start;flex-direction:column}.promo-admin-actions{justify-content:flex-start}.checkout-promo-entry{width:100%}.checkout-promo-entry input{min-width:0;flex:1}}

/* V66.9.58 — Build My Itinerary comparison planning note */
.itinerary-builder-tip{margin-top:16px;padding:12px 13px;border:1px solid #ded7c7;border-radius:12px;background:#fbf8ef;display:flex;flex-direction:column;gap:4px}.itinerary-builder-tip strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8b6d2f}.itinerary-builder-tip span{color:var(--muted);font-size:13px;line-height:1.45}


/* V66.9.59 customer itinerary refinement */
body.role-customer .customer-days,
body.role-customer .customer-itinerary{
  background:transparent !important;
}
body.role-customer .customer-days{
  gap:14px;
}
body.role-customer .customer-day{
  background:rgba(255,253,249,.92) !important;
}
body.role-customer .customer-day-head{
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:space-between;
}
body.role-customer .customer-day-head > div:nth-child(2){
  flex:1;
  min-width:0;
}
body.role-customer .day-number{
  background:linear-gradient(180deg,#171717,#262626) !important;
  color:#ccb06a !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
body.role-customer .day-number span,
body.role-customer .day-number strong{
  color:#ccb06a !important;
}
body.role-customer .customer-day-tools{
  margin-left:auto;
}
body.role-customer .customer-day-tabs,
.shared-planning-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
body.role-customer .customer-day-tabs{
  justify-content:flex-end;
}
body.role-customer .customer-explore-day,
.shared-planning-tab{
  border:1px solid #c8dbc9;
  background:#f4faf6;
  color:#1d6a53;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  font-size:14px;
  line-height:1;
}
body.role-customer .customer-explore-day.alt,
.shared-planning-tab{
  background:#f8f5ec;
  border-color:#ddd2bc;
  color:#355746;
}
.shared-planning-tabs{
  margin:10px 0 16px;
}
.shared-planning-tab.active,
body.role-customer .customer-explore-day:hover,
body.role-customer .customer-explore-day:focus-visible{
  background:linear-gradient(90deg,#174f40,#2c7c62);
  border-color:#174f40;
  color:#fff;
}
@media(max-width:900px){
  body.role-customer .customer-day-head{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  body.role-customer .customer-day-tools,
  body.role-customer .customer-day-tabs{
    width:100%;
    justify-content:flex-start;
  }
}

/* V66.9.61 — Agent Supplier Catalog category ribbon */
.agent-catalog-category-ribbon{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  padding:2px 0 14px;
  margin-bottom:4px;
}
.agent-catalog-category-ribbon::-webkit-scrollbar{display:none}
.agent-catalog-category{
  flex:0 0 auto;
  border:1px solid #d8cfbc;
  background:#f8f5ed;
  color:#244f40;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.agent-catalog-category.active{
  background:linear-gradient(90deg,#174f40,#2c7c62);
  color:#fff;
  border-color:#174f40;
  box-shadow:0 6px 16px rgba(23,79,64,.16);
}
.agent-catalog-empty{margin-top:6px}
@media(max-width:700px){.agent-catalog-category{padding:9px 13px;font-size:13px}}

/* V66.9.62 supplier registration badge + 25% supplier pricing calculator */
#adminSupplierPendingCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:4px;
  font-weight:800;
  color:inherit;
}
.supplier-net-help{
  display:block;
  margin:-2px 0 12px;
  color:#6d6248;
  font-weight:600;
}
#supplierProductForm input[name="net_price"][readonly],
#newRoomNet[readonly]{
  background:#f5f1e7;
  color:#355746;
  font-weight:800;
  cursor:not-allowed;
}


/* V66.9.63 international registration phone formatting */
.international-phone-grid{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.3fr);gap:12px;align-items:start}
.international-phone-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.international-phone-input:focus-within{outline:2px solid rgba(35,111,82,.16);border-color:#5c8f79}
.international-phone-input .phone-code-prefix{padding:11px 10px;background:#f5f1e7;border-right:1px solid var(--line);font-weight:800;color:#4d5b52;white-space:nowrap}
.international-phone-input input{border:0!important;box-shadow:none!important;outline:0!important;border-radius:0!important;min-width:0;flex:1}
.international-country-select{width:100%}
@media(max-width:650px){.international-phone-grid{grid-template-columns:1fr}}

/* V66.9.66 — Agent itinerary day action ribbon */
.agent-itinerary-day-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
  max-width:760px;
}
.agent-itinerary-day-actions .compact{
  min-height:42px;
  padding:9px 13px;
  border-radius:12px;
  white-space:nowrap;
  font-weight:800;
}
.agent-itinerary-day-actions [data-add-item]{
  background:#fffdf8;
  border-color:#d7c9a9;
  color:#6f5f2c;
}
.agent-itinerary-day-actions [data-itinerary-catalog]{
  background:#f4faf6;
  border-color:#bcd5c8;
  color:#185b48;
}
.agent-itinerary-catalog-modal-card{
  width:min(1080px,94vw);
  max-height:88vh;
  overflow:auto;
}
.itinerary-catalog-grid{
  margin-top:14px;
}
@media(max-width:900px){
  .day-head{align-items:flex-start;flex-wrap:wrap;gap:12px}
  .agent-itinerary-day-actions{width:100%;justify-content:flex-start}
  .agent-itinerary-day-actions .compact{flex:1 1 145px}
}

/* V66.9.67 — customer Book category ribbon */
.customer-book-category-ribbon{margin:0 0 18px}
.customer-book-category-ribbon .agent-catalog-category{display:inline-flex;align-items:center;gap:7px}
.customer-book-category-ribbon .agent-catalog-category span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:800}
.customer-book-category-ribbon .agent-catalog-category.active span{background:rgba(255,255,255,.18);color:inherit}

/* V66.9.68 — Communications Center */
.communication-test-panel{margin-bottom:18px}
.communication-log-list{display:grid;gap:10px}
.communication-log-card{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:16px;border:1px solid #ddd2bc;border-radius:16px;background:rgba(255,253,249,.92)}
.communication-log-card h3{margin:3px 0 5px;color:#173c32;font-size:16px}
.communication-log-card p{margin:0;color:#5e675f}
.communication-channel-status{display:flex;min-width:220px;flex-direction:column;align-items:flex-end;gap:6px}
.communication-channel-status small{max-width:360px;text-align:right;color:#8a5d4a}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#f4f1ea;color:#5b5b55;border:1px solid #ddd2bc}
.status-pill.sent{background:#edf8f1;color:#1f6a48;border-color:#bee0ca}
.status-pill.failed{background:#fff1ef;color:#9a3d35;border-color:#efc4bd}
.status-pill.prepared{background:#fff7e5;color:#805f19;border-color:#ead49a}
.status-pill.skipped{background:#f3f3f3;color:#747474;border-color:#dedede}
@media(max-width:800px){.communication-log-card{flex-direction:column}.communication-channel-status{align-items:flex-start;min-width:0}.communication-channel-status small{text-align:left}}


/* V66.9.72 — customer concierge guide */
.customer-concierge-guide{position:fixed;right:22px;bottom:22px;z-index:1200;display:none;font-family:inherit}
body.role-customer .customer-concierge-guide{display:block}
.customer-guide-launch{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:12px 17px;background:#123f36;color:#fff;font-weight:850;box-shadow:0 12px 28px rgba(13,52,44,.24);cursor:pointer}
.customer-guide-launch-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#d5a847;color:#173e35;font-size:15px}
.customer-guide-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 110px));background:#fffdf9;border:1px solid #ddcfb8;border-radius:20px;box-shadow:0 22px 54px rgba(17,50,43,.25);overflow:hidden;display:none;grid-template-rows:auto 1fr auto auto}
.customer-guide-panel.open{display:grid}
.customer-guide-head{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(135deg,#0f352e,#1b574b);color:white;border-bottom:3px solid #caa14a}
.customer-guide-head div{display:grid;gap:2px}.customer-guide-head span{font-size:10px;letter-spacing:.14em;color:#e0bd6c;font-weight:900}.customer-guide-head strong{font-size:20px}.customer-guide-head small{opacity:.82}
.customer-guide-head>button{border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:50%;font-size:23px;cursor:pointer}
.customer-guide-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:10px;min-height:280px;max-height:430px;background:linear-gradient(#fffdf9,#f8f3e9)}
.customer-guide-welcome{display:grid;gap:5px;padding:14px;border-radius:15px;background:#fff;border:1px solid #e4d8c5}.customer-guide-welcome strong{color:#123f36;font-size:17px}.customer-guide-welcome span{color:#68746f;font-size:13px;line-height:1.45}
.customer-guide-chips{display:flex;flex-wrap:wrap;gap:7px}.customer-guide-chips button{border:1px solid #d8c7a9;background:#fff;color:#15483e;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:750;cursor:pointer;text-align:left}
.customer-guide-msg{display:flex}.customer-guide-msg span{display:block;max-width:88%;padding:11px 13px;border-radius:15px;font-size:13px;line-height:1.48}
.customer-guide-msg.user{justify-content:flex-end}.customer-guide-msg.user span{background:#174d42;color:#fff;border-bottom-right-radius:5px}
.customer-guide-msg.bot{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:7px}.customer-guide-msg.bot span{background:#fff;border:1px solid #e0d4c1;color:#31453f;border-bottom-left-radius:5px}
.customer-guide-action{border:1px solid #b8903f;background:#fbf2df;color:#123f36;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:850;cursor:pointer}
.customer-guide-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid #e4d8c5}.customer-guide-compose input{border:1px solid #d7cbb9;border-radius:12px;padding:11px 12px;min-width:0;background:#fff}.customer-guide-compose button{border:0;border-radius:12px;padding:0 15px;background:#174d42;color:#fff;font-weight:850;cursor:pointer}
.customer-guide-panel footer{padding:8px 14px 11px;text-align:center;font-size:10px;color:#77817d;background:#fff}
@media(max-width:600px){.customer-concierge-guide{right:12px;bottom:12px}.customer-guide-launch{padding:11px 13px}.customer-guide-panel{bottom:55px;width:calc(100vw - 24px);max-height:calc(100vh - 90px)}.customer-guide-body{max-height:55vh}.customer-guide-launch span:last-child{font-size:12px}}

/* V66.9.73 — collapsible customer-guide FAQ answers */
.customer-guide-answer{display:flex;flex-direction:column;gap:10px}
.customer-guide-chips button.active{background:#174d42;color:#fff;border-color:#174d42}

/* V66.9.75 — customer guide human handoff */
.customer-guide-escalation-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.customer-guide-secondary{border:1px solid #d8d0c0;background:#fff;color:#365248;border-radius:10px;padding:8px 11px;font-weight:700;cursor:pointer}
.customer-guide-status{display:block;margin-top:8px;font-size:12px;line-height:1.45;color:#68756f}
.customer-guide-status.success{color:#205d48;font-weight:700}
.customer-guide-status.error{color:#9a3e36;font-weight:700}


/* V66.9.78 — static Platinum finish; no moving glare */
.customer-member-ribbon.member-platinum::after,
.customer-preferred-pricing-banner.member-platinum::after{content:none!important;display:none!important;animation:none!important}

/* V66.9.78 — free-text guide answers are collapsible and keep the itinerary CTA visible */
.customer-guide-custom-answer{display:grid;gap:8px;margin-top:10px}
.customer-guide-custom-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:0;border-radius:14px;padding:10px 12px;background:rgba(28,75,54,.09);color:#173f30;font:inherit;font-weight:700;cursor:pointer}
.customer-guide-custom-question:hover{background:rgba(28,75,54,.13)}
.customer-guide-custom-chevron{font-size:16px;line-height:1;flex:0 0 auto}
.customer-guide-custom-response{display:grid;gap:8px}
.customer-guide-custom-response[hidden]{display:none!important}
.customer-guide-custom-response .customer-guide-action{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;max-width:100%;margin-top:10px}


/* V66.9.79 — Agent Training & Resources */
.training-head{align-items:flex-start;gap:18px}.training-status-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 13px;border-radius:999px;background:#f4efe3;border:1px solid #dccca7;color:#405a48;font-size:.78rem;font-weight:800;letter-spacing:.03em}.training-welcome{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px;align-items:center;margin-bottom:22px;background:linear-gradient(135deg,#fffdf8,#f6f0e4)}.training-welcome h3,.training-resource-panel h3,.training-help-panel h3{margin:4px 0 8px}.training-welcome p,.training-resource-panel p,.training-help-panel p{margin:0;color:#59645c;line-height:1.6}.training-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.training-steps span{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #e2dac9;background:#fff;border-radius:12px;font-size:.84rem;font-weight:700;color:#365140}.training-steps strong{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#254c38;color:#fff;font-size:.75rem}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.training-card{display:flex;flex-direction:column;min-height:100%;padding:18px;background:#fff;border:1px solid #e3ded3;border-radius:17px;box-shadow:0 8px 24px rgba(43,55,47,.055)}.training-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.training-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#294e3a;color:#fff;font-weight:900;font-size:.8rem}.training-duration{font-size:.73rem;color:#7b7568;background:#f8f5ee;padding:6px 8px;border-radius:999px;border:1px solid #e8e0d1}.training-card h3{margin:0 0 8px;font-size:1rem;color:#263f31}.training-card p{margin:0 0 14px;color:#5f675f;line-height:1.55;font-size:.88rem;flex:1}.training-video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;margin:0 0 14px;border:1px dashed #c9bd9f;border-radius:13px;background:linear-gradient(145deg,#f7f3e9,#efe9dc);text-align:center;color:#31523e}.training-video-placeholder>span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:6px;border-radius:50%;background:#31523e;color:#fff;font-size:.8rem;padding-left:2px}.training-video-placeholder strong{font-size:.84rem}.training-video-placeholder small{margin-top:2px;color:#8a8170;font-size:.7rem}.training-card .secondary{width:100%}.training-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.training-resource-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.training-resource-panel{margin:0}.resource-list{display:grid;gap:9px;margin-top:16px}.resource-list>div{display:flex;flex-direction:column;gap:2px;padding:11px 12px;border:1px solid #e7e0d3;border-radius:11px;background:#fdfbf7}.resource-list strong{font-size:.84rem;color:#2d4937}.resource-list span{font-size:.74rem;color:#817a6d}.workflow-list{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none;counter-reset:agentflow}.workflow-list li{counter-increment:agentflow;position:relative;padding:0 0 0 38px;min-height:30px}.workflow-list li:before{content:counter(agentflow);position:absolute;left:0;top:0;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#efe8d7;color:#31523e;font-weight:900;font-size:.72rem}.workflow-list strong,.workflow-list span{display:block}.workflow-list strong{font-size:.84rem;color:#2d4937}.workflow-list span{margin-top:2px;color:#706f68;font-size:.75rem;line-height:1.45}.training-help-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.training-help-panel .secondary{white-space:nowrap}@media(max-width:1080px){.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.training-welcome,.training-resource-layout{grid-template-columns:1fr}.training-grid{grid-template-columns:1fr}.training-steps{grid-template-columns:1fr 1fr}.training-help-panel{align-items:flex-start;flex-direction:column}.training-help-panel .secondary{width:100%}.training-status-pill{display:none}}@media(max-width:480px){.training-steps{grid-template-columns:1fr}.training-button-row{grid-template-columns:1fr}}

/* V66.9.79 Agent Portal User Manual */
.agent-manual-panel{margin:0 0 22px;background:#fff}.agent-manual-head{align-items:flex-start;gap:18px;margin-bottom:14px}.agent-manual-head p{margin:5px 0 0;max-width:760px;color:#667068;line-height:1.55}.agent-manual-list{display:grid;gap:9px}.agent-manual-item{border:1px solid #e3ded3;border-radius:13px;background:#fdfbf7;overflow:hidden}.agent-manual-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;cursor:pointer;list-style:none;color:#2d4937}.agent-manual-item summary::-webkit-details-marker{display:none}.agent-manual-item summary:after{content:'+';display:grid;place-items:center;width:26px;height:26px;grid-column:3;border-radius:50%;background:#efe8d7;color:#31523e;font-weight:900;font-size:1rem}.agent-manual-item[open] summary{background:#f6f1e6;border-bottom:1px solid #e5ddcd}.agent-manual-item[open] summary:after{content:'–'}.agent-manual-item summary span{font-size:.91rem;font-weight:850}.agent-manual-item summary small{font-size:.72rem;color:#877f70;white-space:nowrap}.agent-manual-body{padding:14px 15px 15px}.agent-manual-body p{margin:0 0 9px;color:#59645c;line-height:1.55;font-size:.84rem}.agent-manual-body ul{display:grid;gap:6px;margin:0 0 13px;padding-left:19px;color:#667068;font-size:.79rem;line-height:1.48}.agent-manual-body .secondary{width:auto;min-width:170px}@media(max-width:650px){.agent-manual-item summary{grid-template-columns:minmax(0,1fr) auto}.agent-manual-item summary small{display:none}.agent-manual-item summary:after{grid-column:2;grid-row:1}.agent-manual-body .secondary{width:100%}}

/* V66.9.82 — premium logo refresh */
.auth-brand{align-items:center}
.auth-logo{width:92px;height:88px;border-radius:16px;background:#fff;border:1px solid var(--line);padding:5px;flex:0 0 auto}
.auth-logo img{width:100%;height:100%;object-fit:contain;display:block}
.sidebar .brand .mark{background:#fff;border-radius:13px;overflow:hidden;padding:2px}
.sidebar .brand .mark img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:650px){.auth-logo{width:82px;height:78px}}

/* V66.9.86 Contact + Lead communications */
.text-link-button{border:0;background:transparent;color:#245a4a;text-decoration:underline;text-underline-offset:3px;margin-top:10px;cursor:pointer;font-weight:700}.lead-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.consent-check{display:flex!important;gap:10px;align-items:flex-start;font-size:12px;line-height:1.45}.consent-check input{width:auto!important;margin-top:3px}.contact-database-panel{margin-top:18px}.contact-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:14px 0}.contact-summary-line{font-size:12px;color:#64736c;margin:8px 0 12px}.contact-table-wrap{overflow:auto;border:1px solid #e6ddcd;border-radius:14px;max-height:460px}.contact-table{width:100%;border-collapse:collapse;min-width:980px}.contact-table th,.contact-table td{padding:10px 12px;border-bottom:1px solid #eee6d8;text-align:left;font-size:12px;vertical-align:top}.contact-table th{position:sticky;top:0;background:#f8f5ee;z-index:1;color:#294b40}.contact-table td strong{display:block;color:#173c32}.contact-table td small{display:block;color:#7a857f;margin-top:3px}.bulk-email-box{border-top:1px solid #e8decd;margin-top:18px;padding-top:18px}.bulk-email-box .full{grid-column:1/-1}@media(max-width:900px){.contact-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.contact-filter-grid{grid-template-columns:1fr}}

/* V66.9.87 account removal / blocked registry */
.admin-list-toolbar{display:flex;align-items:center;gap:12px}.admin-list-toolbar input[type="text"],.admin-list-toolbar>input{flex:1}.show-removed-toggle{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10px;color:var(--muted)}.show-removed-toggle input{width:auto}.account-removal-box{margin:18px 0 12px;padding:14px;border:1px solid #e5c8c8;border-radius:12px;background:#fff8f8}.account-removal-box p{font-size:10px;color:var(--muted);line-height:1.5}.removed-record-note{margin-top:10px;padding:10px;border:1px solid #e4c7c7;border-radius:9px;background:#fff8f8;font-size:10px;color:#7b3131}.removed-record-note small{color:var(--muted)}@media(max-width:700px){.admin-list-toolbar{align-items:stretch;flex-direction:column}.show-removed-toggle{white-space:normal}}

.removal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.removal-actions button{margin:0}@media(max-width:650px){.removal-actions{grid-template-columns:1fr}}

/* V66.9.88 — Agent commission tier badges */
.agent-tier-strip{
  display:flex;align-items:center;gap:10px;margin:12px 0 16px;padding:10px 13px;
  border:1px solid rgba(18,63,53,.13);border-radius:13px;background:#f2f8f4;
  color:var(--cr-text);min-height:44px;
}
.agent-tier-strip.compact{margin:10px 0 14px;padding:8px 11px;min-height:38px}
.agent-tier-medal{
  width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;font-weight:900;border:1px solid rgba(18,63,53,.18);background:#dcefe5;color:#185641;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.35);
}
.agent-tier-copy{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.agent-tier-copy strong{font-size:12px;line-height:1.2;font-weight:900;color:var(--cr-text)}
.agent-tier-copy>span{font-size:10px;line-height:1;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.65);border:1px solid rgba(18,63,53,.10);font-weight:800}
.agent-tier-strip.tier-elite{background:linear-gradient(105deg,#f6f7f8,#e7eaed 50%,#f8f9fa);border-color:#c4c9ce}
.agent-tier-strip.tier-elite .agent-tier-medal{background:linear-gradient(145deg,#f5f6f7,#b8bec4);color:#46515a;border-color:#adb4bb}
.agent-tier-strip.tier-elite .agent-tier-copy>span{background:#eef0f2;border-color:#c9ced3;color:#46515a}
.agent-tier-strip.tier-premier{background:linear-gradient(105deg,#fffaf0,#f2dfaa 50%,#fffaf0);border-color:#d7bb69}
.agent-tier-strip.tier-premier .agent-tier-medal{background:linear-gradient(145deg,#fff4c7,#c79b2b);color:#6e4e08;border-color:#c49a32}
.agent-tier-strip.tier-premier .agent-tier-copy>span{background:#fff5cf;border-color:#dcc06f;color:#6e4e08}
.agent-tier-strip.tier-standard{background:#f6f6f4;border-color:#d9d9d2}
.agent-tier-strip.tier-standard .agent-tier-medal{background:#ecece7;color:#666;border-color:#d4d4cd}
@media(max-width:650px){.agent-tier-copy{gap:6px}.agent-tier-copy strong{font-size:11px}.agent-tier-medal{width:28px;height:28px;flex-basis:28px}}

/* V66.9.90 — compact universal status badges */
.pill,
.customer-status,
.status-badge,
.admin-supplier-head > .pill,
.product-manage-head > .pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-width:100% !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
  align-self:flex-start !important;
  box-sizing:border-box !important;
}
.admin-supplier-head,
.product-manage-head{
  align-items:flex-start !important;
}
/* Customer badges should stay compact even when the customer theme is active. */
body.role-customer .customer-status{
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  padding:6px 10px !important;
  line-height:1.15 !important;
  align-self:flex-start !important;
}


/* V66.9.91 — low-friction public planning + secure one-time customer access */
.lead-entry-note{display:block;margin:12px 2px 16px;color:#68746d;line-height:1.5}
.access-trip-card{display:grid;gap:5px;padding:14px 16px;margin:14px 0 18px;border:1px solid #d9e1dc;border-radius:14px;background:#f8faf8}
.access-trip-card strong{color:#163d31;font-size:17px}.access-trip-card span,.access-trip-card small{color:#647169}
body.public-planning-mode .sidebar,body.public-planning-mode .topbar{display:none!important}
body.public-planning-mode .shell{display:block!important;max-width:1180px;margin:0 auto}
body.public-planning-mode main{padding:34px 24px 60px!important}
body.public-planning-mode #customerItineraryBuilder{display:block!important}
body.public-planning-mode #customerItineraryBuilder .section-head{padding:22px 24px;border:1px solid #e0e5e1;border-radius:18px;background:#fff;margin-bottom:18px}
.public-planning-success{max-width:760px;margin:20px auto;padding:32px!important;text-align:left}.public-planning-success h2{font-size:30px;margin:8px 0 16px}.public-planning-success p{font-size:16px;line-height:1.7;color:#536159}.public-planning-success-actions{margin-top:22px}
@media(max-width:650px){body.public-planning-mode main{padding:18px 12px 40px!important}.public-planning-success{padding:22px!important}}

/* V66.9.94 shore excursion builder */
.shore-excursion-fields{display:grid;gap:18px;margin:8px 0 18px;padding:20px;border:1px solid #d8c89f;border-radius:18px;background:rgba(250,247,239,.92)}
.shore-excursion-fields[hidden]{display:none!important}.shore-excursion-intro h3{margin:5px 0 6px}.shore-excursion-intro p{margin:0;color:#5f655f}.standard-builder-only[hidden]{display:none!important}

/* V66.9.95 — compact shore-excursion rate selector */
.shore-rate-preference-field{margin-top:16px}
.shore-rate-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.shore-rate-options label{align-items:center;justify-content:flex-start;min-height:54px}
.shore-rate-options input[type="radio"]{accent-color:#1f624f}
@media(max-width:700px){.shore-rate-options{grid-template-columns:1fr}}

/* V66.9.96 shore group-rate guest management */
.shore-rate-auto-note,.shore-group-progress,.shore-group-discount-banner{margin-top:9px;padding:10px 12px;border:1px solid #dfd4bb;border-radius:12px;background:#fbf8ef;display:flex;flex-direction:column;gap:3px;color:#4d5f58;font-size:13px}.shore-rate-auto-note strong,.shore-group-progress strong,.shore-group-discount-banner strong{color:#154f3f}.shore-group-progress.unlocked,.shore-group-discount-banner{background:#f8f0d3;border-color:#d4b85f}.shore-group-progress.standard{background:#f7f6f0}.shore-rate-options input:disabled{opacity:1;accent-color:#236b58}.shore-group-price{color:#7c6424!important;font-weight:700}.shore-group-price s{opacity:.7;font-weight:500}


/* V66.9.97 shore-excursion form refinements */
.shore-time-row{display:grid;grid-template-columns:minmax(74px,1fr) minmax(72px,.9fr) minmax(88px,1fr);gap:8px;align-items:center}
.shore-time-row select{width:100%;min-width:0}
.shore-lead-field input[readonly]{background:rgba(242,238,226,.72);color:var(--ink,#173e35)}
@media(max-width:640px){.shore-time-row{grid-template-columns:1fr 1fr 1fr}}

/* V66.9.98 — reliably hide shore/standard conditional fields */
.standard-date-field[hidden],.shore-lead-field[hidden]{display:none!important}

/* V66.9.100 — customer planning-status UX + differentiated stage colors */
.customer-planning-status-card{max-width:620px}
.customer-planning-status-card .planning-status-hero{display:grid;gap:10px}
.customer-planning-status-card .planning-status-icon{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef5ef;border:1px solid #c9dfd0;color:#1d5b46;font-weight:900;font-size:20px}
.customer-planning-status-card h2{margin:0;color:#173f34}
.customer-planning-status-card p{margin:0;color:#5e6a64;line-height:1.55}
.customer-planning-status-card .planning-status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.customer-request-status{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid #d9d0bb;background:#f7f3e8;color:#6f5b27}
.customer-request-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#c7a94c}
.customer-request-status.submitted{background:#fbf3df;border-color:#dec67f;color:#765a16}
.customer-request-status.submitted::before{background:#c79a2d}
.customer-request-status.review{background:#e8f3f5;border-color:#acd0d6;color:#245f69}
.customer-request-status.review::before{background:#3f8996}
.customer-request-status.ready{background:#e7f4e9;border-color:#a9d1b0;color:#235d36}
.customer-request-status.ready::before{background:#3d8a54}
.customer-request-status.reserved{background:#dfeee7;border-color:#7faf96;color:#164b37}
.customer-request-status.reserved::before{background:#1f6d4d}
.customer-request-status.closed{background:#efefef;border-color:#d6d6d6;color:#666}
.customer-request-status.closed::before{background:#8b8b8b}
.builder-request-actions button:disabled{opacity:.5;cursor:not-allowed}
.planning-itinerary-list{display:grid;gap:8px;margin-top:6px}.planning-itinerary-item{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfaf6;display:grid;gap:3px}.planning-itinerary-item span{font-size:12px;color:var(--muted)}.planning-itinerary-item p{margin:4px 0 0!important;font-size:13px}

/* V66.9.107 traveler roster completion */
.planned-traveler-slots{display:grid;gap:10px;margin:8px 0 12px}.traveler-slot-card{border-style:dashed;background:rgba(248,246,239,.72)}.traveler-roster-progress{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 14px;border-radius:14px;background:#f4efe1;border:1px solid #ddcfaa;color:#25493d}.traveler-roster-progress.complete{background:#e9f5ee;border-color:#b7d8c4}.traveler-roster-progress span{font-size:.88rem;color:#6f6a5f}.traveler-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid #ddd2bb}.traveler-modal-footer small{max-width:560px;color:#746f66}@media(max-width:720px){.traveler-roster-progress,.traveler-modal-footer{align-items:stretch;flex-direction:column}}


/* V66.9.108 admin public-request handoff visibility */
.admin-workspace-access-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 18px;padding:12px 16px;border:1px solid rgba(157,128,55,.28);border-radius:14px;background:rgba(255,252,244,.88);color:#244b40;font-size:.92rem}.admin-workspace-access-strip span{display:inline-flex;gap:5px;align-items:center}.admin-workspace-access-strip strong{font-weight:800}.admin-workspace-access-strip small{flex-basis:100%;color:#6f746f;line-height:1.35}

/* V66.9.109 commission controls, lodging price guidance, date guardrails */
.admin-commission-control{border:1px solid #d9d3c8;border-radius:14px;padding:14px;background:#fbf8f1;margin:10px 0 14px}
.admin-commission-control .eyebrow{display:block;margin-bottom:8px}
.admin-product-commission-card{max-width:560px}
.lodging-seasonal-note{display:block;margin:-2px 0 12px;color:#6d685f;line-height:1.45}
.adjust-product-commission{white-space:nowrap}


/* V66.9.110 supplier reactivation + scoped supplier product management */
.admin-supplier-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.admin-supplier-card-actions button{flex:1 1 160px}
.admin-manage-supplier-products-inline{margin-top:12px}
.admin-supplier-products-modal-card{max-width:860px}
.supplier-products-modal-head{margin-bottom:14px}
.supplier-product-admin-list{display:grid;gap:10px}
.supplier-product-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.supplier-product-admin-row h4{margin:4px 0}
.supplier-product-admin-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.supplier-product-admin-row{align-items:flex-start;flex-direction:column}.supplier-product-admin-controls{justify-content:flex-start;width:100%}}

/* V66.9.112 — lodging classification + verified customer ratings */
.property-star-classification{display:inline-block;margin-left:.35rem;font-size:.78em;font-weight:800;white-space:nowrap}
.product-review-summary{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.35rem 0 .65rem;font-size:.9rem}
.product-review-summary strong{font-size:1rem}
.product-review-summary span{opacity:.78}
.customer-rating-action{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(0,0,0,.08)}
.verified-rating{font-size:.92rem}
.customer-review-modal-card{max-width:560px}
#customerReviewSummary{margin:.25rem 0 1rem;padding:.85rem 1rem;border-radius:12px;background:rgba(0,0,0,.035)}
#customerReviewSummary h3{margin:0 0 .25rem}
#customerReviewSummary p,#customerReviewSummary small{margin:0;display:block}
.customer-review-list{display:grid;gap:.75rem}
.customer-review-list article{padding:.9rem;border:1px solid rgba(0,0,0,.09);border-radius:12px}
.customer-review-list article>span,.customer-review-list article>small{display:block;margin-top:.2rem;opacity:.78}
.customer-review-list article p{margin:.55rem 0}
.customer-review-list article button{margin-top:.6rem}

/* V66.9.113 — lodging Province -> Area filter only */
.lodging-location-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px;padding:14px;border:1px solid rgba(25,67,54,.16);border-radius:14px;background:rgba(250,248,240,.78)}
.lodging-location-filters label{display:grid;gap:6px;font-weight:700}
.lodging-location-filters label span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;opacity:.72}
.lodging-location-filters select{width:100%;min-height:44px;border:1px solid rgba(25,67,54,.25);border-radius:10px;background:#fff;padding:0 12px;font:inherit}
@media(max-width:680px){.lodging-location-filters{grid-template-columns:1fr}}


/* V66.9.117 — compact lodging descriptions on customer + agent shopping cards */
.lodging-description-summary{margin:.45rem 0 .25rem}
.lodging-description-summary p{margin:0;line-height:1.45}
.lodging-read-more{border:0;background:transparent;padding:.3rem 0 0;color:#1f6a57;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.lodging-read-more:hover{opacity:.78}
.lodging-read-more:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}

/* V66.9.118 — three-step lodging review flow */
.lodging-search-fields{grid-template-columns:repeat(3,minmax(0,1fr));}
.lodging-flow-head{margin:0 0 18px;padding:6px 2px 14px;border-bottom:1px solid var(--border,#ddd);}
.lodging-flow-head h2,.lodging-summary-title h2{margin:4px 0 6px;}
.lodging-room-list{display:grid;gap:14px;margin-bottom:16px;}
.lodging-room-choice{display:grid;grid-template-columns:1fr minmax(190px,260px);gap:20px;padding:18px;border:1px solid #ddd3c4;border-radius:16px;background:#fffdf9;align-items:center;}
.lodging-room-choice h3{margin:0 0 6px;}
.lodging-room-choice p{margin:0 0 5px;}
.lodging-room-price{display:flex;flex-direction:column;gap:5px;text-align:right;align-items:flex-end;}
.lodging-room-price strong{font-size:1.35rem;}
.lodging-room-price .primary{margin-top:8px;min-width:150px;}
.lodging-back-catalog{margin-top:8px;}
.lodging-summary-shell{display:grid;gap:16px;}
.lodging-summary-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-bottom:1px solid #ddd3c4;padding-bottom:12px;}
.lodging-summary-title p{margin:0;max-width:520px;text-align:right;}
.lodging-selected-hotel,.lodging-summary-columns>section{background:#fff;border:1px solid #ddd3c4;border-radius:14px;padding:18px;}
.lodging-selected-hotel>h3,.lodging-summary-columns h3{margin:0 0 14px;}
.lodging-selected-grid{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:22px;align-items:start;}
.lodging-selected-grid>img{width:100%;height:220px;object-fit:cover;border-radius:10px;}
.lodging-selected-grid h2{margin:0 0 8px;}
.lodging-selected-grid ul{margin:0 0 12px;padding-left:20px;display:grid;gap:4px;}
.lodging-selected-grid p{margin:0 0 10px;}
.lodging-room-mini{padding-top:10px;border-top:1px solid #eee3d5;}
.lodging-summary-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.lodging-payment-lines,.lodging-pricing-lines{display:grid;gap:10px;}
.lodging-payment-lines>div,.lodging-pricing-lines>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid #eee3d5;}
.lodging-pricing-lines .total{margin-top:4px;padding:12px;background:#eef7f2;border-radius:8px;border-bottom:0;font-size:1.05rem;}
.lodging-submit-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:18px;align-items:end;padding-top:4px;}
.lodging-submit-row label{display:grid;gap:6px;font-weight:600;}
.lodging-submit-actions{display:flex;gap:10px;justify-content:flex-end;}
.lodging-review-note{margin:0;text-align:right;font-size:.9rem;opacity:.8;}
.admin-lodging-review-section{margin-bottom:22px;padding-bottom:20px;border-bottom:2px solid #e7ddcf;}
.admin-lodging-review-title{margin-bottom:10px;}
.admin-lodging-review-title h3{margin:3px 0 0;}
.admin-review-status-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
@media(max-width:800px){
  .lodging-search-fields,.lodging-summary-columns,.lodging-selected-grid,.lodging-submit-row,.lodging-room-choice{grid-template-columns:1fr;}
  .lodging-room-price{align-items:flex-start;text-align:left;}
  .lodging-summary-title{display:block;}
  .lodging-summary-title p{margin-top:6px;text-align:left;}
  .lodging-selected-grid>img{height:190px;}
  .lodging-submit-actions{justify-content:stretch;flex-direction:column;}
  .lodging-submit-actions button{width:100%;}
  .lodging-review-note{text-align:left;}
}

/* V66.9.120 — lodging date fields: prevent check-in/check-out overlap */
.lodging-search-fields{gap:10px;}
.lodging-search-fields label{min-width:0;}
.lodging-search-fields input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;}

/* V66.9.122 — QuickBook customer update + live recalculation */
.admin-qb-edit-card{max-width:920px;width:min(94vw,920px);max-height:90vh;overflow:auto}
.admin-qb-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.admin-qb-edit-grid label,.admin-qb-wide,.admin-qb-decline-box label{display:flex;flex-direction:column;gap:6px}
.admin-qb-edit-grid input,.admin-qb-wide textarea,.admin-qb-decline-box textarea{width:100%}
.admin-qb-check{flex-direction:row!important;align-items:center;padding:12px;border:1px solid var(--border,#d8d2c4);border-radius:12px}
.admin-qb-check input{width:auto}
.admin-qb-calculated{padding:12px 14px;border:1px solid var(--border,#d8d2c4);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:3px}
.admin-qb-calculated span,.admin-qb-calculated small{font-size:.82rem;color:#68645d}.admin-qb-calculated strong{font-size:1.18rem}
.admin-qb-wide{margin:14px 0}.admin-qb-decline-box{margin-top:18px;padding:16px;border:1px solid #e4d8c8;border-radius:14px;background:#fffaf4;display:grid;gap:12px}.admin-qb-decline-box.attention{box-shadow:0 0 0 2px rgba(132,79,26,.12)}
.admin-qb-decline-box h3{margin:0}.admin-qb-edit-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
@media(max-width:700px){.admin-qb-edit-grid{grid-template-columns:1fr}.admin-qb-edit-actions button{width:100%}}
\n\n/* V66.9.122 — customer lodging QuickBook request status */\n.customer-quickbook-request-strip{margin-bottom:18px;padding:14px 16px;border:1px solid #e4d8c8;border-radius:16px;background:#fffdf9}\n.customer-quickbook-request-strip .section-head.compact{margin-bottom:10px}\n.customer-quickbook-request-list{display:grid;gap:8px}\n.customer-quickbook-request-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #eee3d5;border-radius:12px;background:#fff}\n.customer-quickbook-request-list article>div{display:grid;gap:4px}\n.customer-quickbook-request-list small{color:#6d675f}\n.customer-review-update-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f7f1e7;border:1px solid #e6d9c8}\n.customer-review-update-note p{margin:6px 0 0}\n@media(max-width:700px){.customer-quickbook-request-list article{align-items:flex-start;flex-direction:column}.customer-quickbook-request-list article button{width:100%}}\n

/* V66.9.123 — customer request visibility in My Bookings */
.customer-booking-requests{margin-bottom:24px}
.customer-booking-requests .customer-request-card{border-color:#dfd1bb}
.customer-request-room{margin-top:10px;padding-top:10px;border-top:1px solid #eee3d5;color:#4f4a43}
.customer-booking-requests .open-customer-qb-request{margin-top:12px;width:100%}
.customer-confirmed-bookings{margin-top:8px}


/* V66.9.125 — QuickBook compact customer cards + admin resort replacement selector */
.customer-review-compact .lodging-selected-grid{align-items:start;}
.customer-review-response{background:#fff;border:1px solid #ddd3c4;border-radius:14px;padding:18px;}
.customer-review-response label{display:grid;gap:8px;font-weight:700;}
.customer-review-response textarea{width:100%;box-sizing:border-box;border:1px solid #cfc5b5;border-radius:10px;padding:12px;font:inherit;resize:vertical;background:#fff;}
.customer-review-response-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;flex-wrap:wrap;}
@media(max-width:700px){.customer-review-response-actions{justify-content:stretch}.customer-review-response-actions button{flex:1 1 100%;}}


/* V66.9.125 — QuickBook request cleanup */
.admin-qb-edit-grid .admin-qb-wide{grid-column:1/-1}
.admin-qb-edit-grid select[data-qbe="product_id"]{width:100%;min-height:44px}
.compact-customer-request .agent-booking-details{margin-bottom:0}
.customer-request-update-link{display:flex;justify-content:flex-end;margin-top:12px}
.compact-update-button{padding:8px 14px;min-height:auto;font-size:.92rem}
/* V66.9.127 lodging detail links and compact detail modal */
.text-link{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lodging-title-link:hover,.lodging-room-inline-link:hover{color:#17644f}
.lodging-details-modal-card{max-width:860px;width:min(92vw,860px);max-height:88vh;overflow:auto;position:relative}
.lodging-details-modal-card .modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;cursor:pointer}
.lodging-detail-head{display:grid;grid-template-columns:minmax(220px,38%) 1fr;gap:22px;align-items:start}
.lodging-detail-head img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.lodging-detail-room,.lodging-detail-room-list{margin-top:22px;padding-top:18px;border-top:1px solid #ddd2bf}
.lodging-room-detail-link{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;border:1px solid #ddd2bf;background:#fff;padding:12px 14px;border-radius:12px;margin:8px 0;cursor:pointer;text-align:left}
.lodging-payment-rule{margin-top:14px;padding-top:12px;border-top:1px solid #e4dac9;font-size:.88rem;color:#665f56}
.customer-review-trip-link{margin:16px 0;padding:14px;border:1px solid #ddd2bf;border-radius:14px;background:#fbfaf7}
.customer-review-trip-link select{width:100%;margin-top:7px}
@media(max-width:700px){.lodging-detail-head{grid-template-columns:1fr}.lodging-room-detail-link{align-items:flex-start;flex-direction:column}}

/* V66.9.129 — supplier booking update acknowledgement */
.supplier-booking-status-stack{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.supplier-update-chip{border:1px solid #d9a63b;background:#fff7df;color:#7b5600;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;cursor:pointer;line-height:1}
.supplier-update-chip:hover{background:#ffefbd}
.supplier-fulfillment-updates{margin:0 0 18px;padding:14px;border:1px solid #e2b34e;border-radius:12px;background:#fff8e7}
.supplier-update-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.supplier-update-head h3{margin:4px 0 4px;font-size:18px}
.supplier-update-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.supplier-update-pending-pill{white-space:nowrap;border:1px solid #d9a63b;background:#fff2c8;color:#765000;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}
.supplier-update-change-list{display:grid;gap:8px;margin-top:12px}
.supplier-update-change{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:9px 10px;background:#fff;border:1px solid rgba(120,90,25,.18);border-radius:9px}
.supplier-update-change>span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.supplier-update-change>div{display:flex;gap:8px;align-items:center;text-align:right}
.supplier-update-change del{color:#8d8371;font-size:12px}
.supplier-update-change strong{font-size:13px;color:var(--forest)}
@media(max-width:700px){.supplier-update-head,.supplier-update-change{align-items:flex-start;flex-direction:column}.supplier-booking-status-stack{align-items:flex-start}.supplier-update-change>div{flex-wrap:wrap;text-align:left}}

/* V66.9.131 internal My CR Concierge supplier controls */
.supplier-internal-review-section{margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}
.supplier-internal-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.supplier-internal-review-head h3{margin:5px 0}.supplier-internal-review-head p{margin:0;color:var(--muted);max-width:760px}.supplier-internal-review-row{background:#fff}
.supplier-internal-booking-controls{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7faf8;margin-bottom:14px}.supplier-internal-control-head{margin-bottom:12px}.supplier-internal-control-head strong,.supplier-internal-control-head small{display:block}.supplier-internal-control-head strong{font-size:16px;margin:4px 0}.supplier-internal-control-head small{color:var(--muted)}
@media(max-width:700px){.supplier-internal-review-head{display:block}.supplier-internal-review-head>.pill{margin-top:10px}}
\n\n/* V66.9.132 — advanced controls for the My CR Concierge internal supplier only */\n.supplier-internal-booking-controls{margin:18px 0;padding:18px;border:1px solid #d7caa8;border-radius:16px;background:#fffaf0}\n.supplier-internal-control-head{display:grid;gap:5px;margin-bottom:14px}\n.supplier-internal-control-head strong{font-size:1.15rem;color:#173c32}\n.supplier-internal-control-head small{color:#6f6a5d;line-height:1.45}\n.supplier-internal-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}\n.supplier-internal-edit-grid label{display:grid;gap:6px;font-weight:700;color:#173c32}\n.supplier-internal-edit-grid input{width:100%;box-sizing:border-box}\n.supplier-internal-check{display:flex!important;align-items:center;gap:10px;min-height:48px;padding:0 4px}\n.supplier-internal-check input{width:auto!important}\n.supplier-internal-money-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}\n.supplier-internal-money-summary div{padding:11px 12px;border:1px solid #ded6c3;border-radius:12px;background:#f5f8f5;display:grid;gap:3px}\n.supplier-internal-money-summary span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b6d66}\n.supplier-internal-money-summary strong{color:#173c32}\n@media(max-width:760px){.supplier-internal-edit-grid{grid-template-columns:1fr}.supplier-internal-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}\n

/* V66.9.137 searchable multi-area departure picker */
.supplier-departure-picker{display:grid;gap:8px;margin-top:5px}
.supplier-departure-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.supplier-departure-search-row input{margin:0}
.supplier-departure-search-row button{white-space:nowrap}
.supplier-departure-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:25px;align-items:center}
.supplier-departure-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#f7faf8;color:var(--green);font-size:10px;font-weight:800}
.supplier-departure-chip button{border:0;background:transparent;color:inherit;font-size:15px;line-height:1;cursor:pointer;padding:0}
.supplier-departure-empty{font-size:10px;color:var(--muted)}
@media(max-width:600px){.supplier-departure-search-row{grid-template-columns:1fr}.supplier-departure-search-row button{width:100%}}

/* V66.9.139 — cleaner supplier product price + expandable descriptions */
.product-manage-econ.product-manage-econ-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.supplier-product-description{margin-top:13px}
/* V66.9.140 — preserve supplier-entered paragraph and line spacing */
.supplier-product-description p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.supplier-product-description.is-collapsed p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.supplier-product-read-more{border:0;background:transparent;padding:5px 0 0;color:var(--green);font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.supplier-product-read-more:hover{opacity:.78}
.supplier-product-read-more:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:3px}
@media(max-width:800px){.product-manage-econ.product-manage-econ-two{grid-template-columns:1fr 1fr}}


/* V66.9.143 — Agent commission tiers + Founding 75 membership */
.agent-tier-strip.tier-preferred{background:#f2f8f4;border-color:#bdd8c9}.agent-tier-strip.tier-preferred .agent-tier-medal{background:#dcefe5;color:#185641;border-color:#aacdbb}.agent-tier-strip.tier-preferred .agent-tier-copy>span{background:#eaf6ef;border-color:#c8dfd1;color:#185641}
.agent-tier-strip.tier-golden{background:linear-gradient(105deg,#fffaf0,#f2dfaa 50%,#fffaf0);border-color:#d7bb69}.agent-tier-strip.tier-golden .agent-tier-medal{background:linear-gradient(145deg,#fff4c7,#c79b2b);color:#6e4e08;border-color:#c49a32}.agent-tier-strip.tier-golden .agent-tier-copy>span{background:#fff5cf;border-color:#dcc06f;color:#6e4e08}
.agent-tier-strip.tier-platinum{background:linear-gradient(105deg,#f7f8f9,#dfe4e8 50%,#fbfcfc);border-color:#bcc5cc}.agent-tier-strip.tier-platinum .agent-tier-medal{background:linear-gradient(145deg,#ffffff,#aeb8c0);color:#3e4a53;border-color:#aeb8c0}.agent-tier-strip.tier-platinum .agent-tier-copy>span{background:#f0f3f5;border-color:#c5cdd3;color:#3e4a53}
.agent-membership-offer{margin:12px 0 16px;padding:12px 14px;border:1px solid #d7bb69;border-radius:13px;background:linear-gradient(105deg,#fffdf5,#fff4cf);display:flex;flex-direction:column;gap:4px}.agent-membership-offer>span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#80610d}.agent-membership-offer>strong{font-size:13px;color:#493807}.agent-membership-offer>small{font-size:10px;line-height:1.45;color:#756333}.agent-membership-offer.standard{border-color:#d8ddd9;background:#f7f8f7}.agent-membership-offer.standard>span,.agent-membership-offer.standard>strong{color:#365047}.agent-membership-admin-note,.agent-membership-profile{margin:10px 0 14px;padding:9px 11px;border:1px solid #e1ded5;border-radius:10px;background:#faf9f6;display:flex;gap:4px;flex-direction:column}.agent-membership-admin-note strong,.agent-membership-profile strong{font-size:11px;color:#244a3e}.agent-membership-admin-note span,.agent-membership-profile span{font-size:10px;color:#66746d}.agent-membership-admin-note small,.agent-membership-profile small{font-size:9px;color:#78847e;line-height:1.4}.agent-membership-admin-note.expanded{margin-top:12px}

/* V66.9.145 — Agent external accommodation itinerary entry */
.external-accommodation-modal-card{max-width:720px}
.external-accommodation-modal-card .field-help{margin:0 0 10px;line-height:1.5}
.external-accommodation-modal-card textarea{resize:vertical}
.customer-item-accommodation .customer-item-type{font-weight:900}
@media(max-width:650px){.external-accommodation-modal-card{width:min(96vw,720px)}}

/* V66.9.150 — Capacity remains independent from Per Vehicle passenger pricing */
.supplier-vehicle-pricing-fields{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}
.supplier-vehicle-pricing-fields[hidden]{display:none!important}
.supplier-vehicle-pricing-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.supplier-vehicle-pricing-preview>div{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}
.supplier-vehicle-pricing-preview span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.supplier-vehicle-pricing-preview strong{display:block;margin-top:3px;font-size:13px;color:var(--ink)}
.vehicle-price-note{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:600px){.supplier-vehicle-pricing-preview{grid-template-columns:1fr}}


/* V66.9.154 — Activity child pricing */
.supplier-child-pricing-fields{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}
.supplier-child-pricing-fields[hidden],.agent-activity-party-fields[hidden]{display:none!important}
.supplier-child-pricing-fields .eyebrow{display:block;margin-bottom:8px}
.agent-activity-party-fields{margin:8px 0 2px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fafbf9}
.agent-activity-party-fields small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.supplier-age-price-snapshot strong{color:var(--green)}

/* Shared customer/agent catalog content: stored text remains intact. */
.product-content{min-width:0;margin:.5rem 0;overflow-wrap:anywhere}
.product-content summary{cursor:pointer;list-style:none}
.product-content summary::-webkit-details-marker{display:none}
.product-content-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;white-space:pre-line;line-height:1.5;max-height:6em}
.product-read-more,.product-read-less{display:inline-block;margin-top:.45rem;text-decoration:underline;font-weight:700}
.product-content .product-read-less{display:none}
.product-content[open] .product-content-preview,.product-content[open] .product-read-more{display:none}
.product-content[open] .product-read-less{display:inline-block}
.product-content summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.product-content-full section+section{margin-top:1rem}
.product-content .product-content-full p{margin:.5rem 0;line-height:1.55;white-space:pre-wrap}
.product-content .product-content-full h4{margin:.75rem 0 .35rem;font-size:1rem}
.product-content-full ul,.product-content-full ol{padding-left:1.4rem;margin:.5rem 0}
.product-content-full li{margin:.3rem 0;white-space:pre-wrap}
.agent-product-card,.activity-option-card{min-width:0;align-self:start}
.quick-book-card>button:last-child{margin-top:auto}
@media(max-width:420px){.quick-book-products{grid-template-columns:minmax(0,1fr)}}

.product-content-full{max-height:24rem;overflow:auto;overscroll-behavior:contain;padding-right:.4rem}

/* Category visibility must override the shared label grid display rule. */
.contextual-product-filters [hidden]{display:none!important}

/* Quote-only inquiry form; isolated from booking/payment controls. */
.quote-request-dialog{width:min(850px,calc(100% - 24px));max-height:90vh;overflow:auto;border:0;border-radius:16px;padding:24px;background:#fffaf0;color:#20251f}
.quote-request-dialog::backdrop{background:rgba(0,0,0,.55)}
.quote-request-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.quote-request-dialog fieldset{border:1px solid #d6d1c4;border-radius:8px;margin:16px 0;padding:14px}
.quote-request-dialog [hidden]{display:none!important}
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quote-request-dialog .field{min-width:0}
.quote-request-dialog input,.quote-request-dialog select,.quote-request-dialog textarea{max-width:100%;box-sizing:border-box}
.quote-needs{display:grid;gap:8px}
.quote-needs label{display:flex;gap:8px;align-items:center}
.quote-needs input{width:auto}
.quote-entry-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.quote-admin-card{padding:12px;border-bottom:1px solid #d6d1c4}
.quote-admin-card dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 12px}
@media(max-width:600px){.quote-grid{grid-template-columns:1fr}.quote-request-dialog{padding:16px}}

.quote-request-dialog .quote-exact-emphasis{border:2px solid #b08a3e;background:#fff5dc}

.quote-admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow-wrap:anywhere}
@media(max-width:600px){.quote-admin-summary{grid-template-columns:1fr}}

.sidebar .admin-nav-section{grid-column:1 / -1;margin-top:12px;padding:12px 14px 4px;border-top:1px solid rgba(245,238,220,.16);color:var(--brand-cream,#f5eedc);opacity:.7;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:default}
body:not([data-preview-role="admin"]) .admin-nav-section{display:none}

/* Progressive itinerary planning details. */
#builderChildAgesField[hidden],#builderGroupNotice[hidden]{display:none!important;}
