:root {
  --navy: #372575;
  --ink: #252047;
  --muted: #756f91;
  --gold: #ef755f;
  --line: #e8e2f4;
  --green: #6746d8;
  --bg: #f7f5ff;
}

body { background: var(--bg); color: var(--ink); font-family: 'DM Sans', sans-serif; }
aside { background: #392778; border-radius: 0 28px 28px 0; color: #f7f2ff; box-shadow: 8px 0 30px #32206813; }
.brand { color: #fff; letter-spacing: -.8px; text-transform: none; font-weight: 800; }
.brandmark { border: 0; border-radius: 14px; background: #ffcb69; color: #352261; transform: rotate(-8deg); font-weight: 800; }
.branddot { color: #ffcb69; }
.workspace { background: #ffffff14; border: 1px solid #ffffff1f; border-radius: 17px; padding: 14px; margin: 28px 0 25px; }
.workspace small, .profile small, .capacity small, .capacity span { color: #d4c9f3; }
.avatar, .avatar.gold { border-radius: 12px; background: #ffcb69; color: #382762; }
.navcaption { color: #c8b8f5; }
nav a { border-radius: 12px; color: #e1d9f7; }
nav a:hover { background: #ffffff17; color: #fff; }
nav a.active { background: #fff; color: #392778; box-shadow: 0 7px 18px #1d145422; font-weight: 700; }
nav a.active i, nav i { color: inherit; }
.capacity { border: 0; border-radius: 17px; background: #7256b0; }
.capacity strong { color: #fff; }
.side-help { color: #e2d8fa; }
.profile { border-color: #ffffff30; }
header { height: 82px; border-top: 0; border-bottom: 1px solid var(--line); background: #fff; }
.breadcrumb { color: #827a9b; }
.breadcrumb b { color: var(--ink); font-weight: 700; }
.demo-label { background: #fff1b8; color: #6a4f22; border-radius: 999px; font-weight: 800; letter-spacing: .7px; padding: 8px 12px; }
.role-picker select { background: #f5f0ff; border: 1px solid #e3d9fa; border-radius: 999px; color: #392778; font-weight: 700; }
main { padding-top: 36px; }
.page-heading h1 { color: #30225e; font-family: Manrope, 'DM Sans', sans-serif; font-weight: 800; letter-spacing: -1.3px; }
.page-heading .sub { color: #77708f; }
.eyebrow { color: #e4695e; font-weight: 800; letter-spacing: 1.2px; }
button { border-radius: 12px; border-color: #e3d9f3; color: #4a3585; background: #fff; box-shadow: 0 2px 0 #34255a0a; }
button:hover { background: #f3edff; border-color: #c7b7ea; }
button.primary, button.gold-button { background: #6546d2; border-color: #6546d2; color: #fff; box-shadow: 0 6px 13px #6546d22a; }
button.primary:hover, button.gold-button:hover { background: #5033bb; border-color: #5033bb; }
main .page-heading button.primary { background: #6546d2; border-color: #6546d2; color: #fff; }
button.text, .table-action { color: #6042c6; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #ffb84e; outline-offset: 3px; }
.hero, .luxury-hero { border: 0; border-radius: 26px; background: #ffe1d1; box-shadow: 0 12px 35px #d57c7821; }
.luxury-hero { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 350px; padding: 20px; gap: 18px; }
.luxury-hero:after, .portal-hero:after { display: none; }
.luxury-hero .hero-copy { padding: 30px 20px 22px 26px; }
.luxury-hero h2 { color: #38235f; font-family: Manrope, 'DM Sans', sans-serif; font-weight: 800; font-size: clamp(29px, 3vw, 45px); line-height: 1.14; letter-spacing: -1.7px; }
.luxury-hero p { color: #695572; font-size: 13px; line-height: 1.65; max-width: 390px; }
.luxury-hero .hero-copy > button { background: #fff; color: #4d328c; border: 0; border-radius: 999px; padding: 12px 17px; font-weight: 800; }
.luxury-hero .hero-meta { color: #765a75; letter-spacing: .4px; font-size: 8px; }
.luxury-hero .hero-art { min-height: 300px; border-radius: 20px; background: url('assets/sky-flight.jpg') center center / cover no-repeat; overflow: hidden; }
.luxury-hero .hero-art > * { display: none; }
.luxury-hero .hero-art:after { content: 'Every seat has a journey.'; position: absolute; right: 15px; bottom: 15px; border-radius: 999px; background: #ffffffed; color: #3f2c7d; padding: 10px 15px; font-size: 11px; font-weight: 800; box-shadow: 0 4px 18px #2e2c6e26; }
.stats { gap: 17px; }
.stat, .panel, .journey-card, .guided-action { border: 1px solid #e9e3f5; border-radius: 20px; background: #fff; box-shadow: 0 8px 25px #3927780b; }
.stat { padding: 23px; }
.stat { min-width: 0; }
.stat:nth-child(4n+1) { background: #f0eaff; }
.stat:nth-child(4n+2) { background: #e3f9f4; }
.stat:nth-child(4n+3) { background: #fff2dc; }
.stat:nth-child(4n+4) { background: #ffe9e5; }
.stat-top, .stat-foot { color: #746d88; }
.stat-value { color: #34255d; font-weight: 800; font-size: clamp(18px, 2vw, 28px); line-height: 1.2; overflow-wrap: anywhere; white-space: normal; }
.stat-foot b { color: #5941a9; }
.stat-index { color: #a79abf; }
.panel-head h2, .section-title h2 { color: #32245d; font-weight: 800; }
.panel-head p { color: #77718d; }
.chart { margin-top: 8px; }
.bars { background: repeating-linear-gradient(to top, transparent 0, transparent 39px, #efebf6 40px); }
.bar, .legend span:before { background: #6746d8; border-radius: 7px 7px 0 0; }
.bar.gold, .legend span:last-child:before { background: #ff9e79; }
.mix-row .track span { background: #6746d8; }
.mix-row:nth-child(2) .track span { background: #ff9e79; }
.mix-row:nth-child(3) .track span { background: #3cc8b6; }
.track { background: #f0ebfa; border-radius: 999px; }
.track span { border-radius: 999px; }
.mix-note, .note { background: #f2edff; border: 1px solid #e7dcff; color: #594687; border-radius: 14px; }
.note strong { color: #422b82; }
th, .table-wrap th { background: #f8f5ff; color: #716894; border-color: #eee8f7; }
td { border-color: #f0ebf7; }
#booking-results table { table-layout: fixed; white-space: normal; }
#booking-results th, #booking-results td { padding: 14px 12px; }
#booking-results th:nth-child(1) { width: 22%; }
#booking-results th:nth-child(2) { width: 18%; }
#booking-results th:nth-child(3) { width: 9%; }
#booking-results th:nth-child(4) { width: 18%; }
#booking-results th:nth-child(5) { width: 13%; }
#booking-results th:nth-child(6) { width: 20%; }
#booking-results td:last-child { white-space: nowrap; }
.plane { background: #eee8ff; border-color: #e5dafa; color: #6245c0; }
.badge { background: #ddf7ee; color: #166f63; border-radius: 999px; }
.badge.amber { background: #fff0cf; color: #8c5b0d; }
.badge.gray { background: #eeeaf7; color: #706688; }
input, select { border-radius: 12px; border-color: #e2dbee; background: #fff; color: var(--ink); }
input:focus, select:focus { border-color: #6746d8; outline: 2px solid #b9a5f6; outline-offset: 2px; }
.stepper span { border-radius: 999px; background: #eee7ff; color: #51389a; }
.summary-line { border-color: #eee8f7; }
.org-card .avatar { background: #e8ddff; color: #6042b4; }
.org-card button { border-color: #dfd4f3; }
.access-intro, .guided-intro { background: #e9dcff; border: 0; border-radius: 23px; }
.access-intro h2, .guided-intro h2 { color: #3a2878; font-family: Manrope, 'DM Sans', sans-serif; font-weight: 800; }
.access-intro p, .guided-intro p { color: #65598d; }
.access-seal { color: #6f4ccd; }
.guided-action:hover, .journey-card:hover { border-color: #c9b5f4; box-shadow: 0 13px 28px #39277819; transform: translateY(-2px); }
.guided-action > span, .guided-action > b { color: #6746d8; }
.portal-hero { border: 0; border-radius: 24px; background: linear-gradient(90deg, #e4f8ff 0%, #e4f8ff 55%, #e4f8ff00 78%), url('assets/sky-flight.jpg') right center / cover no-repeat; min-height: 295px; }
.portal-hero h2 { color: #302763; font-family: Manrope, 'DM Sans', sans-serif; font-weight: 800; font-size: clamp(29px, 3vw, 42px); line-height: 1.14; }
.portal-hero p { color: #575778; font-size: 12px; }
.portal-destinations { color: #5b46ac; font-weight: 800; }
.portal-emblem { display: none; }
.journey-card { padding: 25px; }
.journey-card-top { color: #ec735e; font-weight: 800; }
.journey-cities b, .journey-price strong { color: #32245d; }
.journey-cities > span { color: #ff9b76; }
.quota-label, .portal-disclaimer, .scope-note { color: #766d8e; }
dialog { border-radius: 22px; box-shadow: 0 25px 90px #25135348; }
dialog::backdrop { background: #27195582; }
#toast { background: #3b2a86; border-radius: 999px; }
#assistant-launcher { border: 0; border-radius: 999px; background: #6546d2; box-shadow: 0 12px 30px #4d34a643; }
#assistant-launcher > span, #assistant-launcher b { color: #ffce74; }
#assistant-panel { border-color: #e6def6; border-radius: 20px; background: #fff; box-shadow: 0 25px 90px #2d1b6240; }
.assistant-header { border-color: #e4daf7; background: #eee8ff; border-radius: 19px 19px 0 0; }
.assistant-header h2, .assistant-header h2 span { color: #402b87; }
.assistant-message { border-color: #e2d8f6; background: #f3eeff; border-radius: 17px; }
.assistant-message.user { border-color: #d4efe9; background: #eafaf6; }
.assistant-actions button { border-radius: 11px; color: #513896; }
.assistant-demo { color: #695a95; }
footer { background: transparent; color: #817b95; line-height: 1.6; }

@media (max-width: 1150px) {
  .luxury-hero { grid-template-columns: 1fr 1fr; }
  .luxury-hero h2 { font-size: 32px; }
}

@media (max-width: 760px) {
  aside { border-radius: 0 22px 22px 0; }
  header { height: 70px; }
  main { padding-top: 28px; }
  .demo-label { display: none; }
  .role-picker select { max-width: 128px; padding: 8px; }
  .page-heading { flex-wrap: wrap; }
  .page-heading .actions { flex-direction: row; max-width: none; }
  .luxury-hero { display: flex; flex-direction: column; padding: 13px; }
  .luxury-hero .hero-copy { padding: 19px 15px 6px; }
  .luxury-hero h2 { font-size: 34px; }
  .luxury-hero .hero-art { min-height: 210px; margin: 0; }
  .luxury-hero .hero-meta { display: none; }
  .portal-hero { min-height: 330px; background: linear-gradient(180deg, #e4f8ff 0%, #e4f8ff 43%, #e4f8ff77 68%, #e4f8ff00 100%), url('assets/sky-flight.jpg') center bottom / cover no-repeat; }
  .portal-hero h2 { font-size: 31px; }
  .stats { gap: 10px; }
  .stat { padding: 18px 14px; }
  .stat-value { font-size: 24px; }
  .journey-card { padding: 20px; }
  footer { display: block; padding-bottom: 90px; }
  footer span { display: block; margin-top: 5px; }
}

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