
:root{--gold:#d7a84a;--gold2:#f1cd79;--bg:#050505;--card:#111114;--line:rgba(215,168,74,.28);--muted:#b9b3a6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 12% 0%,rgba(215,168,74,.11),transparent 30%),var(--bg);color:#fff;font-family:Arial,Helvetica,sans-serif}
button,a{font:inherit}button{cursor:pointer}
#loadingScreen{position:fixed;inset:0;background:#050505;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:hideLoader 1.15s forwards}
.loader-logo{font-size:70px;color:var(--gold)}.loader-line{width:240px;height:6px;background:#111;border:1px solid var(--line);border-radius:99px;overflow:hidden}.loader-line span{display:block;height:100%;background:var(--gold);animation:load 1s ease}
@keyframes load{from{width:0}to{width:100%}}@keyframes hideLoader{0%,84%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.topbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:16px 5%;background:rgba(0,0,0,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{color:var(--gold);font-weight:900;font-size:22px;letter-spacing:.08em;cursor:pointer}.logo span{display:block;font-size:10px;letter-spacing:.35em;color:#d9bb74}
nav{display:flex;gap:10px;align-items:center}nav button{background:none;border:0;color:#fff;font-size:12px;text-transform:uppercase;padding:8px 4px}nav button:hover,nav button.active{color:var(--gold)}
.menu-btn{display:none;background:none;color:var(--gold);border:0;font-size:26px}
.hero{min-height:86vh;display:grid;grid-template-columns:1fr 380px;align-items:center;gap:28px;padding:0 6%;background:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1900&q=80') center/cover;position:relative}
.shade,.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 48%,rgba(0,0,0,.25))}
.hero-content,.hero-panel{position:relative;z-index:1;animation:fadeUp .55s ease}
.hero-panel{background:rgba(0,0,0,.58);border:1px solid var(--line);border-radius:28px;padding:24px;backdrop-filter:blur(12px)}
.page{animation:fadeUp .48s ease}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.eyebrow{color:var(--gold);letter-spacing:.28em;text-transform:uppercase;font-weight:900;font-size:12px}.eyebrow.mini{letter-spacing:.16em}
h1{font-size:76px;line-height:.95;margin:15px 0}h1 em{color:var(--gold);font-style:normal}h2{font-size:44px;margin:10px 0 20px}p{line-height:1.65}.hero p{font-size:19px;color:#eee}
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#000;border:0;padding:14px 22px;border-radius:999px;font-weight:900;text-transform:uppercase;text-decoration:none}
.ghost{background:rgba(255,255,255,.06);color:var(--gold);border:1px solid var(--line)}.full{width:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.section{padding:70px 5%;max-width:1480px;margin:auto}.dark{background:#090909;max-width:none;border-block:1px solid var(--line)}
.page-hero{padding:72px 5%;background:linear-gradient(120deg,#050505,#111);border-bottom:1px solid var(--line)}.page-hero h1{font-size:58px}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.toolbar{margin-bottom:24px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.mini-grid{margin:18px 0}
.card,.panel{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.premium-card{transition:.25s}.premium-card:hover{transform:translateY(-5px);border-color:rgba(215,168,74,.65)}
.image-wrap{position:relative}.card img{width:100%;height:260px;object-fit:cover}.card-body,.panel{padding:22px}.card h3,.panel h3{color:var(--gold)}
.badge{display:inline-block;color:var(--gold);border:1px solid var(--line);padding:6px 10px;border-radius:999px;font-size:12px;background:rgba(0,0,0,.45)}.badge.float{position:absolute;top:14px;right:14px}
.price{color:var(--gold);font-size:28px;font-weight:900}.muted{color:var(--muted)}
.trip-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0}
input,select,textarea{width:100%;background:#050505;border:1px solid #333;color:#fff;padding:14px;border-radius:14px;margin:8px 0}
.detail-layout,.booking-layout,.portal-layout,.recommend-box{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:start}
.wide-img{width:100%;height:340px;object-fit:cover;border-radius:18px}.sticky-card{position:sticky;top:98px}
.timeline{display:grid;gap:12px;margin-top:15px}.timeline div,.doc,.notice-card,.success-preview,.stat-box{padding:14px;border:1px solid var(--line);background:#0c0c0c;border-radius:16px}
.stat-box b{display:block;color:var(--gold);font-size:24px}.stat-box span{color:var(--muted);font-size:12px;text-transform:uppercase}
.media-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:16px}.media-card{min-height:320px;border:1px solid var(--line);border-radius:24px;overflow:hidden;position:relative;background:#111}.media-card.big{grid-row:span 2;min-height:656px}.media-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-card .overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.1));display:flex;flex-direction:column;justify-content:flex-end;padding:22px}.media-type{position:absolute;top:15px;left:15px;z-index:2}
.progress{height:13px;border:1px solid var(--line);background:#000;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tier.highlight{border-color:rgba(215,168,74,.75)}
.success-panel{text-align:center;padding:45px}
footer{text-align:center;padding:42px 5%;color:var(--muted);border-top:1px solid var(--line)}.footer-logo{color:var(--gold);font-weight:900;font-size:24px}.bottom-nav{display:none}
@media(max-width:900px){
 nav{display:none;position:absolute;top:74px;left:0;right:0;background:#050505;padding:16px;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-btn{display:block}
 .hero{grid-template-columns:1fr;min-height:82vh}.hero-panel{display:none}h1{font-size:44px}.page-hero h1{font-size:40px}h2{font-size:32px}
 .grid,.grid.two,.grid.four,.media-grid,.booking-layout,.detail-layout,.portal-layout,.doc-grid,.recommend-box{grid-template-columns:1fr}.media-card.big{grid-row:auto;min-height:320px}.sticky-card{position:static}
 body{padding-bottom:64px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:120;background:#070707;border-top:1px solid var(--line);justify-content:space-around;padding:10px}.bottom-nav button{background:none;border:0;color:white;font-size:12px}
}


/* V9 luxury polish */
body{background:radial-gradient(circle at 12% 0%,rgba(215,168,74,.12),transparent 32%),#050505}
.page,.card,.panel{animation:racFade .42s ease}
@keyframes racFade{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.premium-card:hover,.card:hover{transform:translateY(-6px);border-color:rgba(215,168,74,.7);box-shadow:0 24px 60px rgba(0,0,0,.32)}
.premium-card,.card{transition:.25s}
.glass-card{background:rgba(0,0,0,.58)!important;backdrop-filter:blur(14px)}
.heart{position:absolute;left:14px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(215,168,74,.4);background:rgba(0,0,0,.55);color:#fff;font-size:24px}
.heart.active{color:#d7a84a;background:rgba(215,168,74,.12)}
.countdown{border:1px solid var(--line);border-radius:16px;padding:12px;margin:14px 0;color:var(--gold)}
.trip-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:12px 0}
.wide-photo{position:relative;cursor:pointer}.wide-photo img{width:100%;height:340px;object-fit:cover;border-radius:18px}.wide-photo span{position:absolute;right:16px;bottom:16px;background:rgba(0,0,0,.72);border:1px solid var(--line);color:var(--gold);padding:10px 14px;border-radius:999px}
.booking-steps{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.booking-steps span{border:1px solid var(--line);padding:10px 14px;border-radius:999px;color:var(--muted)}.booking-steps .active{background:rgba(215,168,74,.12);color:var(--gold)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.84);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{position:relative;width:min(980px,100%);max-height:90vh;overflow:auto;background:#090909;border:1px solid var(--line);border-radius:28px;padding:26px}
.modal-close{position:absolute;right:16px;top:14px;border:1px solid var(--line);background:#111;color:var(--gold);border-radius:50%;width:38px;height:38px;font-size:24px}
.gallery-modal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.gallery-modal img,.modal-img{width:100%;height:260px;object-fit:cover;border-radius:18px}
.success-panel{text-align:center;padding:45px}
.icon-panel span{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--gold);margin-bottom:10px}
.tier.highlight{border-color:rgba(215,168,74,.8);box-shadow:0 0 0 1px rgba(215,168,74,.2)}

/* V10 premium platform additions */
.chat-layout{display:grid;grid-template-columns:320px 1fr;gap:24px}
.chat-item{width:100%;display:block;text-align:left;background:#0b0b0b;color:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}
.chat-item.active{color:var(--gold);background:rgba(215,168,74,.08)}
.chat-window{min-height:480px}.bubble{max-width:78%;padding:14px 16px;border-radius:18px;margin:12px 0;border:1px solid var(--line)}
.bubble.host{background:#0c0c0c}.bubble.traveler{background:rgba(215,168,74,.12);margin-left:auto}
.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:24px}
.invoice-card{max-width:980px;margin:auto;background:#fff;color:#111;border-radius:24px;padding:34px}
.invoice-card h2,.invoice-card b{color:#111}.invoice-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:18px;margin-bottom:24px}
.invoice-table{width:100%;border-collapse:collapse;margin:24px 0;color:#111}.invoice-table th,.invoice-table td{border-bottom:1px solid #ddd;padding:14px;text-align:left;color:#111}
.step-card span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#000;font-weight:900;margin-bottom:12px}
.quick-action{text-align:left;color:#fff;cursor:pointer}.quick-action:hover{transform:translateY(-4px)}
@media(max-width:900px){.chat-layout{grid-template-columns:1fr}.chat-compose{grid-template-columns:1fr}.invoice-head{flex-direction:column}.invoice-card{border-radius:0}}

/* V11 final polish */
html{scroll-behavior:smooth}
.topbar{backdrop-filter:blur(18px)}
.hero-content h1{background:linear-gradient(90deg,#fff,#d7a84a);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.card,.panel{box-shadow:0 18px 50px rgba(0,0,0,.22)}
.btn{transition:.22s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(215,168,74,.25)}
input:focus,textarea:focus,select:focus{outline:none;border-color:#d7a84a;box-shadow:0 0 0 3px rgba(215,168,74,.14)}
.media-card:hover img{transform:scale(1.04)}.media-card img{transition:1.2s}
.footer-logo{letter-spacing:.18em}
.hero-panel{animation:floatCard 5s ease-in-out infinite}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.loading-bar{height:4px;background:linear-gradient(90deg,#d7a84a,#f1cd79);animation:slide 3s linear infinite}
@keyframes slide{0%{background-position:0 0}100%{background-position:400px 0}}

/* V14 client portal */
.client-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.booked-trip-card{position:relative}
.booked-trip-card .badge{margin-bottom:10px}
.doc input[type=file]{margin-top:10px;font-size:12px}
@media(max-width:900px){.client-top-grid{grid-template-columns:1fr}}


/* V19 official RAC logo integration */
.logo-img-wrap{display:flex;align-items:center;min-width:170px}
.logo-img-wrap img{height:58px;width:auto;object-fit:contain;display:block}
.admin-logo-img{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.admin-logo-img img{width:150px;height:auto;object-fit:contain}
.admin-logo-img span{color:#d7a84a;font-size:13px;letter-spacing:.28em}
@media(max-width:900px){
  .logo-img-wrap img{height:48px}
  .logo-img-wrap{min-width:130px}
}


/* V21 original logo professional presentation */
.logo-img-wrap{
  display:flex;
  align-items:center;
  min-width:260px;
  padding:6px 0;
}
.logo-img-wrap img{
  height:86px;
  width:auto;
  object-fit:contain;
  display:block;
  filter:
    drop-shadow(0 0 8px rgba(215,168,74,.18))
    drop-shadow(0 0 18px rgba(215,168,74,.08));
}

.topbar{
  min-height:108px;
  padding-top:4px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(215,168,74,.22);
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(18px);
}

nav{
  align-items:center;
}

nav button{
  letter-spacing:.05em;
}

.admin-logo-img img{
  width:180px!important;
  height:auto!important;
  object-fit:contain;
  filter:
    drop-shadow(0 0 8px rgba(215,168,74,.18))
    drop-shadow(0 0 18px rgba(215,168,74,.08));
}

@media(max-width:1100px){
  .logo-img-wrap{
    min-width:210px;
  }
  .logo-img-wrap img{
    height:72px;
  }
  .topbar{
    min-height:94px;
  }
}

@media(max-width:900px){
  .logo-img-wrap{
    min-width:160px;
  }
  .logo-img-wrap img{
    height:58px;
  }
  .topbar{
    min-height:82px;
  }
}


/* V22 real trip memories */
.memory-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  min-height:360px;
  background:#111;
  border:1px solid rgba(215,168,74,.16);
}
.memory-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:1.2s;
}
.memory-card:hover img{
  transform:scale(1.06);
}
.memory-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  background:linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.08));
}
.memory-overlay h3{
  margin:10px 0 8px;
  font-size:28px;
}
.memory-overlay p{
  color:#ddd;
  line-height:1.7;
}


/* V23 social proof + VIP */
.testimonial-card{
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg,#111,#0a0a0a);
  border:1px solid rgba(215,168,74,.14);
}
.stars{
  color:#d7a84a;
  font-size:20px;
  letter-spacing:.18em;
}
.quote{
  margin:18px 0;
  line-height:1.9;
  color:#ddd;
  font-size:17px;
}
.traveler-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.traveler-meta span{
  color:#aaa;
  font-size:14px;
}
.vip-section{
  background:linear-gradient(180deg,#0c0c0c,#050505);
  border-top:1px solid rgba(215,168,74,.12);
  border-bottom:1px solid rgba(215,168,74,.12);
}
.vip-layout{
  display:grid;
  grid-template-columns:1.3fr .8fr;
  gap:40px;
  align-items:center;
}
.vip-benefits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:26px;
}
.vip-benefit{
  padding:18px;
  border-radius:18px;
  background:#111;
  border:1px solid rgba(215,168,74,.1);
}
.vip-card{
  padding:40px;
  border-radius:32px;
  background:linear-gradient(180deg,#16120a,#090909);
  border:1px solid rgba(215,168,74,.22);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.vip-badge{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#d7a84a;
  color:#000;
  font-weight:800;
  margin-bottom:20px;
}
.vip-price{
  font-size:54px;
  color:#f5df9e;
  font-weight:900;
  margin:24px 0;
}
.vip-price span{
  font-size:18px;
  color:#aaa;
}
.countdown-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}
.count-card{
  padding:28px;
  border-radius:24px;
  background:#101010;
  border:1px solid rgba(215,168,74,.12);
}
.count-card span{
  color:#d7a84a;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
}
@media(max-width:980px){
  .vip-layout{
    grid-template-columns:1fr;
  }
  .vip-benefits{
    grid-template-columns:1fr;
  }
}


/* V26 live forms/auth */
.rac-toast{
  position:fixed;right:22px;bottom:82px;z-index:10000;background:#080808;
  border:1px solid #d7a84a;border-radius:16px;padding:14px 18px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);max-width:360px;
}


/* V28 button reliability polish */
button, .btn, .small-btn, .action, .danger-btn { pointer-events:auto; user-select:none; }
button:active, .btn:active, .small-btn:active, .action:active { transform:scale(.98); }


/* V51 public booking modal */
.public-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.public-modal-card{background:#050505;border:1px solid rgba(215,168,74,.45);border-radius:24px;max-width:560px;width:100%;padding:28px;box-shadow:0 30px 100px rgba(0,0,0,.45);position:relative}
.public-modal-card input,.public-modal-card select,.public-modal-card textarea{width:100%;margin:8px 0;padding:14px;border-radius:12px;border:1px solid #333;background:#000;color:#fff}
.public-modal-close{position:absolute;right:18px;top:18px;border-radius:50%;width:38px;height:38px;background:#111;color:#d7a84a;border:1px solid rgba(215,168,74,.45);font-size:22px}
.booking-summary{background:#111;border:1px solid rgba(215,168,74,.25);border-radius:14px;padding:14px;margin:12px 0;color:#fff}


/* V60 real logo loading screen */
#loadingScreen .loader-logo.loader-real-logo{
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 0;
  border-radius: 50%;
}
#loadingScreen .loader-logo.loader-real-logo img{
  width: 118px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(215,168,74,.35));
  animation: loaderLogoPulse 1.8s ease-in-out infinite;
}
@keyframes loaderLogoPulse{
  0%,100%{transform:scale(1);opacity:.92}
  50%{transform:scale(1.045);opacity:1}
}


/* V61 real logo everywhere */
.footer-logo-img{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
}
.footer-logo-img img{
  width:150px;
  max-width:45vw;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(215,168,74,.28));
}
.invoice-real-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.invoice-real-brand img{
  width:74px;
  height:74px;
  object-fit:contain;
}
.invoice-real-brand h2{
  margin:0;
}


/* V70 friendly client portal */
.client-portal-page{max-width:1180px}
.client-shell-top{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;margin-bottom:24px}
.client-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:18px}
.client-welcome-card h2{margin:4px 0;font-size:34px}
.client-auth-actions{display:flex;gap:10px;flex-wrap:wrap}
.client-steps{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.step-pill{border:1px solid rgba(215,168,74,.35);border-radius:999px;padding:10px 14px;color:#cfc3a9;font-weight:800}
.step-pill.active{background:rgba(215,168,74,.18);color:#eac56d}
.client-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.client-auth-card label{display:block;margin:14px 0 6px;color:#d7a84a;font-weight:800}
.client-auth-card input,.client-auth-card select,.client-auth-card textarea{margin-bottom:6px}
.fine-print{font-size:13px;color:#b9aa8d;margin-top:14px}
.client-dashboard-grid{display:grid;grid-template-columns:1fr .8fr 1fr;gap:22px;margin-bottom:24px}
.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(215,168,74,.16);padding:12px 0}
.client-action-grid{display:flex;gap:10px;flex-wrap:wrap}
.client-trip-panel{margin-top:22px}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.empty-state{border:1px dashed rgba(215,168,74,.45);border-radius:20px;padding:28px;background:rgba(255,255,255,.025);grid-column:1/-1}
@media(max-width:900px){
  .client-shell-top,.client-auth-grid,.client-dashboard-grid{grid-template-columns:1fr}
  .client-welcome-card{align-items:flex-start;flex-direction:column}
}





/* V73 client portal logout/chat fixes */
.logout-inside-btn{white-space:nowrap}
.client-shell-top{display:grid;grid-template-columns:1.35fr .75fr;gap:22px;margin-bottom:22px}
.client-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:16px}
.client-welcome-card h2{margin:4px 0;font-size:32px}
.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(215,168,74,.14);padding:10px 0}
.client-action-grid{display:flex;flex-wrap:wrap;gap:10px}
.empty-state{border:1px dashed rgba(215,168,74,.45);border-radius:20px;padding:26px;grid-column:1/-1}
.chat-item.active{background:rgba(215,168,74,.18);color:#e9bf5f}
.chat-messages{min-height:180px;margin-bottom:18px}
@media(max-width:900px){.client-shell-top{grid-template-columns:1fr}.client-welcome-card{align-items:flex-start;flex-direction:column}}


/* V74 premium real portal */
.portal-hero-card{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:20px;
 margin-bottom:24px;
}
.portal-hero-card h2{
 font-size:42px;
 margin:8px 0;
}
.portal-hero-actions{
 display:flex;
 gap:12px;
 flex-wrap:wrap;
}
.portal-dashboard-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:22px;
}
.trip-card-top{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:10px;
}
.trip-dates{
 color:#caa04b;
 font-size:13px;
}
@media(max-width:900px){
 .portal-dashboard-grid{
  grid-template-columns:1fr;
 }
 .portal-hero-card{
  flex-direction:column;
  align-items:flex-start;
 }
}


/* V76 final no-live client portal */
.portal-hero-card{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.portal-hero-card h2{font-size:42px;margin:8px 0}
.portal-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.portal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.trip-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.trip-dates{color:#caa04b;font-size:13px}
.logout-inside-btn{white-space:nowrap}
.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(215,168,74,.14);padding:10px 0;gap:14px}
.client-action-grid{display:flex;flex-wrap:wrap;gap:10px}
.empty-state{border:1px dashed rgba(215,168,74,.45);border-radius:20px;padding:26px;grid-column:1/-1}
.chat-item.active{background:rgba(215,168,74,.18);color:#e9bf5f}
.chat-messages{min-height:180px;margin-bottom:18px}
@media(max-width:900px){.portal-dashboard-grid{grid-template-columns:1fr}.portal-hero-card{flex-direction:column;align-items:flex-start}}


/* V80 unified client dashboard */
.portal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.portal-tabs button{border:1px solid rgba(215,168,74,.38);background:#0b0b0b;color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}
.portal-tabs button.active{background:linear-gradient(135deg,#d7a84a,#f6d47d);color:#000}
.concierge-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.doc-card{border:1px solid rgba(215,168,74,.25);border-radius:16px;padding:16px;background:rgba(255,255,255,.025)}
.doc-card input{margin:10px 0}.doc-card span{display:block;color:#c9b98e;font-size:13px}
.portal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.portal-hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.portal-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.client-trip-panel{margin-top:22px}
@media(max-width:900px){.concierge-grid,.document-grid,.portal-dashboard-grid{grid-template-columns:1fr}.portal-hero-card{flex-direction:column;align-items:flex-start}}


/* V81 defined public pages */
.booking-form-v81 label,.newsletter-card-v81 label,.concierge-grid label{display:block;margin:14px 0 7px;color:#d7a84a;font-weight:800}
.booking-preview-v81 .summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(215,168,74,.16);padding:12px 0;gap:14px}
.booking-form-v81 input,.booking-form-v81 select,.booking-form-v81 textarea,
.newsletter-card-v81 input,.newsletter-card-v81 select,.concierge-grid input,.concierge-grid select,.concierge-grid textarea{margin-bottom:2px}
.success-panel{max-width:820px;margin:auto;text-align:center}

/* V88 public description */
.trip-detail-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}
.detail-hero-img{width:100%;max-height:420px;object-fit:cover;border-radius:22px;margin-bottom:22px}
.big-trip-description{font-size:18px;line-height:1.75;color:#f5f0e5;white-space:pre-line}
.included-list{list-style:none;padding:0;margin:16px 0}.included-list li{padding:9px 0}
@media(max-width:900px){.trip-detail-layout{grid-template-columns:1fr}}


/* V93A public clean trip detail */
.trip-detail-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:24px}
.detail-hero-img{width:100%;max-height:420px;object-fit:cover;border-radius:22px;margin-bottom:22px}
.big-trip-description{font-size:18px;line-height:1.75;color:#f5f0e5;white-space:pre-line}
.included-list{list-style:none;padding:0;margin:16px 0}.included-list li{padding:9px 0}
@media(max-width:900px){.trip-detail-layout{grid-template-columns:1fr}}


/* V94 public chat fix */
.chat-compose{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:center}
.chat-meta{font-size:11px;opacity:.65;margin-top:6px}
#chatMessages{max-height:420px;overflow:auto;padding-right:8px}
.chat-item.active{background:rgba(215,168,74,.18);color:#f1c15a;border-color:rgba(215,168,74,.55)}
@media(max-width:900px){.chat-compose{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr!important}}


/* V95 hard chat button fix */
.chat-compose-v95{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:center}
.chat-meta{font-size:11px;opacity:.65;margin-top:6px}
#chatMessages{max-height:420px;overflow:auto;padding-right:8px}
.chat-item{cursor:pointer}
.chat-item.active{background:rgba(215,168,74,.22)!important;color:#f1c15a!important;border-color:rgba(215,168,74,.65)!important}
@media(max-width:900px){.chat-compose-v95{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr!important}}


/* V96 verified chat repair */
.chat-compose-v96{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:center}
.chat-item{cursor:pointer;position:relative;z-index:5}
.chat-item.active{background:rgba(215,168,74,.24)!important;color:#f1c15a!important;border-color:rgba(215,168,74,.7)!important}
.chat-meta{font-size:11px;opacity:.65;margin-top:6px}
#chatMessages,.chat-messages{max-height:430px;overflow:auto;padding-right:8px}
@media(max-width:900px){.chat-compose-v96{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr!important}}


/* V104 Client Portal 2.0 Launch Redesign */
.cp2-page .panel{border:1px solid rgba(215,168,74,.18)}
.premium-auth-card label,.cp2-page label{display:block;margin:12px 0 6px;color:#d7a84a;font-weight:800}
.cp2-hero{min-height:360px;background-size:cover;background-position:center;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:34px;border-radius:28px;overflow:hidden}
.cp2-hero h1{font-size:clamp(30px,5vw,58px);line-height:1;margin:8px 0;color:#fff}
.cp2-hero h2{margin:0;color:#f4d27b}
.cp2-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.cp2-countdown{min-width:190px;text-align:center;background:rgba(0,0,0,.54);border:1px solid rgba(215,168,74,.35);border-radius:24px;padding:24px;backdrop-filter:blur(8px)}
.cp2-countdown span{display:block;font-size:58px;font-weight:950;color:#f1c15a;line-height:1}
.cp2-countdown b{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.cp2-nav{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.cp2-nav button{cursor:pointer}
.cp2-dashboard-grid{display:grid;grid-template-columns:1.2fr .9fr 1fr .8fr;gap:18px}
.cp2-score{font-size:60px;font-weight:950;color:#f1c15a;margin:8px 0}
.cp2-progress{height:12px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:12px 0 18px}
.cp2-progress span{display:block;height:100%;background:linear-gradient(90deg,#9f7b23,#f1c15a);border-radius:999px}
.cp2-checklist{display:grid;gap:8px}
.cp-status{display:block;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.04)}
.cp-status.ok{color:#bdf5c5}.cp-status.pending{color:#ffd1d1}
.cp2-wallet-card{background:linear-gradient(160deg,rgba(215,168,74,.18),rgba(255,255,255,.035))!important}
.cp2-balance{font-size:44px;font-weight:950;color:#f1c15a;margin:12px 0}
.cp2-mini-count{font-size:42px;font-weight:950;color:#f1c15a;margin:12px 0}
.notice-card.urgent{border-color:rgba(255,105,105,.45);background:rgba(255,105,105,.08)}
.cp2-trip-layout,.cp2-payments-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}
.cp2-timeline{display:grid;gap:10px}.cp2-timeline div{padding:11px;border-radius:14px;background:rgba(255,255,255,.04)}.cp2-timeline div.done{color:#bdf5c5}.cp2-timeline span{display:inline-block;margin-right:8px;color:#f1c15a}
.cp2-doc-grid .doc-card{min-height:118px}.doc-card.uploaded{border-color:rgba(92,220,130,.45)}.doc-card.missing{border-color:rgba(255,105,105,.35)}
.cp2-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.service-tile{border:1px solid rgba(215,168,74,.25);background:rgba(255,255,255,.04);color:#f7ecd2;border-radius:16px;padding:14px;text-align:left;font-weight:800;cursor:pointer}
.service-tile:hover{border-color:rgba(215,168,74,.7);background:rgba(215,168,74,.12)}
@media(max-width:1050px){.cp2-dashboard-grid{grid-template-columns:1fr 1fr}.cp2-trip-layout,.cp2-payments-grid{grid-template-columns:1fr}}
@media(max-width:760px){.cp2-hero{align-items:flex-start;flex-direction:column;min-height:420px}.cp2-dashboard-grid{grid-template-columns:1fr}.cp2-countdown{width:100%}.cp2-service-grid{grid-template-columns:1fr}.cp2-nav button{flex:1 1 45%}}
