:root{--paper:#f4f1ea;--muted:#756f65;--line:#ded8cd;--gold:#c7a25a;--gold2:#e5cb91;--dark:#0d0d0c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:#12110f;font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}.portal-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.portal-sidebar{position:sticky;top:0;height:100vh;background:var(--dark);color:#eee;padding:34px 24px;display:flex;flex-direction:column}.portal-logo{display:flex;align-items:flex-end;gap:8px;text-decoration:none}.portal-crown{width:auto;height:34px;object-fit:contain}.portal-wordmark{width:auto;height:20px;object-fit:contain}.portal-logo span{display:block;color:var(--gold2);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.portal-sidebar nav{display:grid;gap:6px;margin-top:58px}.portal-nav{border:0;background:transparent;color:#aaa;text-align:left;padding:13px 15px;border-radius:9px;cursor:pointer}.portal-nav:hover,.portal-nav.active{background:#1b1915;color:#fff}.portal-nav.active{box-shadow:inset 2px 0 var(--gold)}.portal-support{margin-top:auto;padding:18px;border:1px solid #2d2922;border-radius:12px;display:grid;gap:7px;font-size:12px;color:#999}.portal-support strong{color:#eee}.portal-support a{color:var(--gold2);text-decoration:none}.portal-workspace{padding:35px 45px 70px;min-width:0}.portal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.portal-header h1{margin:4px 0 0;font:500 31px Georgia,serif}.portal-kicker{margin:0;color:#9b7638;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.portal-account{display:flex;align-items:center;gap:15px;color:#5d584f;font-size:13px}.portal-account button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;cursor:pointer}.portal-view{display:none}.portal-view.active{display:block}.portal-hero{min-height:315px;border-radius:18px;padding:44px;background:linear-gradient(110deg,#13120f,#1e1b15 62%,#332919);color:#fff;display:grid;grid-template-columns:1.3fr .7fr;gap:35px}.portal-hero h2{font:500 48px/1.02 Georgia,serif;margin:12px 0}.portal-hero>div>p:not(.portal-kicker){max-width:520px;color:#b9b3a9;line-height:1.7}.portal-gold-button{border:0;border-radius:999px;background:linear-gradient(100deg,var(--gold),var(--gold2));color:#17120a;padding:12px 20px;font-weight:800;cursor:pointer}.portal-gold-button:disabled{opacity:.55;cursor:wait}.next-journey{padding:27px;border:1px solid #3e372d;border-radius:14px;background:#161512}.next-journey>span{color:#aaa;font-size:12px}.next-journey>strong{display:block;color:var(--gold2);font:500 38px Georgia,serif;margin:18px 0}.next-journey h3{font:500 20px Georgia,serif}.next-journey p{font-size:12px;color:#aaa}.next-journey em{display:inline-block;margin-top:14px;border-radius:99px;background:#1c3a2a;color:#8bd0a8;padding:7px 10px;font-size:10px;font-style:normal;font-weight:700;text-transform:uppercase}.portal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.portal-metrics article,.portal-card{background:#fff;border:1px solid var(--line);border-radius:15px}.portal-metrics article{padding:21px;display:grid;gap:8px}.portal-metrics span,.portal-metrics small{color:var(--muted);font-size:11px}.portal-metrics strong{font:500 29px Georgia,serif}.portal-metrics .metric-terms{font:700 15px Inter;margin:7px 0}.portal-card{padding:27px}.portal-card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.portal-card h2,.portal-card-heading h2{font:500 27px Georgia,serif;margin:5px 0 0}.portal-link{border:0;background:transparent;color:#9b7638;font-weight:700;cursor:pointer}.portal-table-wrap{overflow-x:auto;margin-inline:-27px}table{width:100%;border-collapse:collapse}th{text-align:left;padding:13px 18px;color:#8a847a;background:#faf8f4;border-block:1px solid #eee9e1;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td{padding:17px 18px;border-bottom:1px solid #eee9e1;font-size:12px}.portal-status{padding:6px 9px;border-radius:99px;background:#f1eee8;font-size:9px;font-weight:800;text-transform:uppercase}.portal-status.confirmed{background:#e8f4ed;color:#34734d}.portal-status.pending{background:#fff3d9;color:#926819}.portal-status.completed{background:#e9eff5;color:#46647b}.portal-status.cancelled{background:#f7e8e6;color:#945047}.empty-state{text-align:center;color:#888;padding:35px}.portal-filters{display:flex;gap:8px;margin-bottom:20px}.portal-filters button,.portal-outline-button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 14px;color:#777;cursor:pointer;text-decoration:none;font-size:12px}.portal-filters button.active{background:#171612;color:#fff;border-color:#171612}.portal-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.portal-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.portal-fields label{display:grid;gap:8px;color:#4d4942;font-size:12px;font-weight:700}.portal-fields .wide{grid-column:1/-1}.portal-fields input,.portal-fields select,.portal-fields textarea{width:100%;border:1px solid #d7d0c5;border-radius:9px;background:#fdfcf9;padding:12px;color:#191816}.portal-fields textarea{min-height:95px;resize:vertical}.portal-gold-button.full{margin-top:22px;width:100%;padding:14px}.payment-policy{height:max-content;background:#151411;color:#eee;border-color:#2c2923}.payment-policy h3{font:500 28px Georgia,serif}.payment-policy>p:not(.portal-kicker){color:#aaa;line-height:1.7}.payment-policy dl div,.company-details div{display:flex;justify-content:space-between;border-top:1px solid #302d27;padding:15px 0;font-size:12px}.payment-policy dt{color:#999}.payment-policy dd{color:#fff}.billing-summary,.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.billing-summary{margin:25px 0}.billing-summary div{padding:24px;background:#f8f5ef;border-radius:12px;display:grid;gap:8px}.billing-summary span,.billing-summary small{font-size:11px;color:#777}.billing-summary strong{font:500 25px Georgia,serif}.company-details{margin:25px 0}.company-details div{border-color:#eee7dd}.company-details dt{color:#777}.portal-person{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #eee}.portal-person>b{display:grid;place-items:center;width:38px;height:38px;background:#171612;color:var(--gold2);border-radius:50%;font-size:11px}.portal-person span{display:grid;gap:3px}.portal-person small{color:#777}.portal-message{min-height:20px;margin:0 0 14px;color:#666;font-size:13px}.portal-message.success{padding:13px 16px;background:#e8f4ed;color:#2f6a47;border-radius:9px}.portal-message.error{padding:13px 16px;background:#f7e8e6;color:#8d3932;border-radius:9px}
.auth-page{min-height:100vh;background:#0c0c0b}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{padding:55px clamp(30px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 70% 40%,#362b18 0,transparent 40%),#10100f;color:#fff}.auth-brand h1{font:500 clamp(44px,6vw,76px)/1.02 Georgia,serif;margin:17px 0}.auth-brand div>p:not(.portal-kicker){max-width:560px;color:#aaa;line-height:1.7}.auth-brand small{color:#777}.auth-panel{display:grid;place-items:center;padding:35px;background:#f2eee6}.auth-card{width:min(450px,100%);background:#fff;border:1px solid #ddd5c8;border-radius:20px;padding:42px;box-shadow:0 25px 70px #382f201c}.auth-card h2{font:500 38px Georgia,serif;margin:10px 0}.auth-intro{color:#777;line-height:1.6;margin-bottom:28px}.auth-card>label{display:grid;gap:8px;margin:17px 0;color:#444;font-size:12px;font-weight:700}.auth-card input{height:50px;border:1px solid #d7d0c5;border-radius:10px;padding:0 13px}.auth-options{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-size:11px;color:#666}.remember{display:flex;align-items:center;gap:7px}.remember input{width:15px;height:15px}.text-button{border:0;background:transparent;color:#9b7638;cursor:pointer}.auth-card>.portal-gold-button{width:100%;min-height:50px}.auth-divider{border-top:1px solid #eee7dd;margin:24px 0}.auth-help{text-align:center;color:#777;font-size:12px}.auth-help a{color:#9b7638;font-weight:700}
@media(max-width:950px){.portal-shell{grid-template-columns:82px 1fr}.portal-sidebar{padding:25px 13px}.portal-logo .portal-wordmark,.portal-logo span,.portal-nav,.portal-support{font-size:0}.portal-logo{justify-content:center}.portal-nav{height:44px}.portal-metrics{grid-template-columns:1fr 1fr}.portal-hero{grid-template-columns:1fr}.next-journey{display:none}.portal-booking-grid{grid-template-columns:1fr}}
@media(max-width:700px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:330px;padding:30px}.auth-panel{padding:20px}.auth-card{padding:28px}.portal-shell{display:block}.portal-sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;padding:13px 17px}.portal-sidebar nav{display:flex;margin:0 0 0 auto}.portal-nav{display:none}.portal-nav[data-view="new-booking"]{display:block;font-size:11px;width:auto;padding:8px 12px}.portal-support{display:none}.portal-workspace{padding:24px 16px}.portal-account span{display:none}.portal-hero{padding:28px}.portal-hero h2{font-size:38px}.portal-metrics{grid-template-columns:1fr 1fr}.portal-fields,.company-grid,.billing-summary{grid-template-columns:1fr}.portal-fields .wide{grid-column:auto}.portal-card{padding:21px}.portal-table-wrap{margin-inline:-21px}}

/* Keep the official wordmark and portal label contained within the sidebar. */
.portal-sidebar .portal-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;text-align:center}
.portal-sidebar .portal-crown{width:auto;height:46px;max-height:none;object-fit:contain}
.portal-sidebar .portal-logo-copy{display:flex!important;flex-direction:column;align-items:center;min-width:0;gap:8px;color:inherit!important;letter-spacing:normal!important;text-transform:none!important}
.portal-sidebar .portal-wordmark{display:block;width:auto;max-width:170px;height:23px;max-height:none;object-fit:contain;object-position:center}
.portal-sidebar .portal-logo-copy small{display:block;color:var(--gold2);font-size:9px;font-weight:700;line-height:1;letter-spacing:.22em;text-align:center;text-transform:uppercase;white-space:nowrap}
.portal-legal-consent{display:grid!important;grid-template-columns:18px 1fr;gap:10px;align-items:start!important;color:#686158!important;font-weight:500!important;line-height:1.5}.portal-legal-consent input{width:16px!important;height:16px!important;margin:2px 0 0;accent-color:#b48a3a}.portal-legal-consent a{color:#9c742b;font-weight:700}
@media(max-width:950px){.portal-logo{display:flex;justify-content:center}.portal-logo-copy{display:none!important}.portal-crown{width:38px}}
.auth-captcha {
  min-height: 65px;
  margin: 4px 0 2px;
}
.pac-container{z-index:10000;border:1px solid #d7d0c5;border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.16);font-family:Inter,Arial,sans-serif}
.address-autocomplete-widget{display:block;width:100%;min-height:48px;color-scheme:light}
.portal-fields label>small{color:#817a70;font-size:10px;font-weight:500;line-height:1.4}
.portal-invoice-link{display:inline-block;padding:7px 11px;text-decoration:none;white-space:nowrap}.portal-status.overdue{background:#f8e5df;color:#a23f31}
.portal-credit-card{margin-top:18px}
.portal-dialog{width:min(480px,calc(100% - 28px));padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 30px 90px #0006}.portal-dialog::backdrop{background:#000a}.portal-dialog-card{position:relative;display:grid;gap:17px;padding:34px;background:#fff;border-radius:18px}.portal-dialog-card h2{margin:0;font:500 30px Georgia,serif}.portal-dialog-card label{display:grid;gap:8px;color:#4e4941;font-size:12px;font-weight:700}.portal-dialog-card input{width:100%;padding:12px;border:1px solid #d7d0c5;border-radius:9px;background:#fdfcf9}.portal-dialog-close{position:absolute;top:13px;right:15px;border:0;background:transparent;font-size:24px;cursor:pointer}.portal-dialog-note{margin:0;color:#746d63;font-size:12px;line-height:1.6}.portal-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.portal-dialog-actions button{border:0;cursor:pointer}

.portal-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.portal-person.disabled{opacity:.6}
.portal-member-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.portal-member-control{
  padding:7px 11px;
  border:1px solid #dbcfc1;
  border-radius:999px;
  background:#fff;
  color:#6d5a38;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.portal-member-control:hover{border-color:#b9944c;background:#fffaf0}
.portal-member-control.danger{color:#8a3f36}
.portal-member-control.danger:hover{border-color:#b75a4e;background:#fff7f5}
.portal-member-control:disabled{opacity:.55;cursor:wait}
.portal-activity-card{margin-top:18px}
.portal-activity-list{margin-top:18px}
.portal-activity-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eee9e1}
.portal-activity-item>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#171612;color:var(--gold2);font-size:10px;font-weight:800}
.portal-activity-item p{margin:0;font-size:12px;line-height:1.5}
.portal-activity-item time{color:#817a70;font-size:10px}
@media(max-width:600px){
  .portal-person{grid-template-columns:auto minmax(0,1fr)}
  .portal-member-actions{grid-column:2;justify-self:start}
  .portal-activity-item{grid-template-columns:32px minmax(0,1fr)}
  .portal-activity-item time{grid-column:2}
}
.portal-round-trip-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(181, 137, 54, 0.28);
  border-radius: 16px;
  background: rgba(181, 137, 54, 0.05);
}
.portal-datetime-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:12px;min-width:0;max-width:100%}.portal-datetime-row>*{min-width:0}
.mobile-picker-control{display:contents}.mobile-picker-display{display:none}
.portal-round-trip-fields[hidden] { display: none; }
.portal-round-trip-fields small { grid-column: 1 / -1; }
@media (max-width: 760px) {
  .portal-round-trip-fields { grid-template-columns: 1fr; }
}
.portal-cancel-booking{padding:7px 11px;border:1px solid #d9b8b2;border-radius:999px;background:#fff;color:#8a3f36;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.portal-cancel-booking:hover{border-color:#a84b40;background:#fff7f5}
.portal-cancellation-charge{display:inline-block;margin-top:5px;color:#98483e;font-weight:700}
.portal-cancellation-dialog{width:min(570px,calc(100% - 28px))}
.portal-cancellation-dialog select{width:100%;padding:12px;border:1px solid #d7d0c5;border-radius:9px;background:#fdfcf9;color:#191816}
.portal-cancellation-scope{display:grid;gap:8px}.portal-cancellation-scope label{display:flex;grid-template-columns:none;align-items:center;gap:10px;padding:12px;border:1px solid #ded6ca;border-radius:10px;background:#faf8f4;cursor:pointer}.portal-cancellation-scope input{width:16px;height:16px;margin:0;accent-color:#a67b31}
.portal-cancellation-summary{display:grid;gap:9px;padding:16px;border:1px solid #decdb0;border-radius:12px;background:#fffaf0;color:#5d5549;font-size:12px}
.portal-cancellation-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding-bottom:10px;border-bottom:1px solid #eadfc9}.portal-cancellation-item span{font-weight:800}.portal-cancellation-item strong{color:#8b3f36}.portal-cancellation-item small{grid-column:1/-1;color:#776f63}
.portal-cancellation-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.portal-cancellation-total strong{font:600 25px Georgia,serif;color:#8b3f36}.portal-cancellation-summary>p{margin:4px 0 0}.portal-cancellation-error{color:#8b3f36!important}
.portal-danger-button{padding:12px 18px;border:0;border-radius:999px;background:#8f3f36;color:#fff;font-weight:800;cursor:pointer}.portal-danger-button:hover{background:#78332c}.portal-danger-button:disabled{opacity:.5;cursor:wait}
.portal-day-divider td{padding:10px 18px;background:#eee8dc;color:#725a31;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-block:1px solid #ded3c1}

/* Touch navigation: phones and tablets */
.portal-sidebar-panel{display:flex;flex:1;min-height:0;flex-direction:column}.portal-mobile-menu-button,.portal-mobile-menu-header,.portal-mobile-menu-scrim{display:none}
@media(max-width:950px){
  body.portal-menu-open{overflow:hidden;overscroll-behavior:none}
  .portal-shell{display:block;min-height:100vh}
  .portal-sidebar{position:fixed;z-index:1000;inset:0 0 auto 0;width:100%;height:calc(68px + env(safe-area-inset-top));padding:max(11px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left));display:flex;align-items:center;flex-direction:row;border-bottom:1px solid #302a21;box-shadow:0 9px 28px #0004}
  .portal-sidebar .portal-logo{width:auto;justify-content:flex-start;align-items:center}.portal-sidebar .portal-crown{width:auto;height:40px}.portal-sidebar .portal-logo-copy{display:none!important}
  .portal-mobile-menu-button{display:flex;align-items:center;gap:11px;min-width:96px;min-height:44px;margin-left:auto;padding:0 15px;border:1px solid #4c4234;border-radius:999px;background:#1a1814;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .portal-mobile-menu-button i{display:grid;gap:5px;width:18px}.portal-mobile-menu-button b{display:block;width:18px;height:1.5px;background:#d9ba77;border-radius:3px}
  .portal-sidebar-panel{position:fixed;z-index:1003;top:0;right:0;width:min(360px,90vw);height:100vh;height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) 20px;background:radial-gradient(circle at 90% 0,#3a2e1b 0,transparent 32%),#10100f;box-shadow:-28px 0 80px #0008;transform:translate3d(105%,0,0);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s;overflow:hidden}
  .portal-sidebar-panel.is-open{transform:translate3d(0,0,0);visibility:visible;transition:transform .28s ease}
  .portal-mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 18px;border-bottom:1px solid #342f27}.portal-mobile-menu-header div{display:grid;gap:5px}.portal-mobile-menu-header small{color:#cfae6a;font-size:8px;font-weight:800;letter-spacing:.2em}.portal-mobile-menu-header strong{font:500 23px Georgia,serif}.portal-mobile-menu-header button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #4b4337;border-radius:50%;background:#ffffff08;color:#eee;font-size:27px;line-height:1;cursor:pointer;touch-action:manipulation}
  .portal-sidebar nav{display:grid;flex:1;min-height:0;margin:18px 0 0;padding-right:3px;gap:6px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .portal-nav,.portal-nav[data-view="new-booking"]{display:flex;width:100%;min-height:50px;height:auto;padding:12px 14px;border-radius:10px;font-size:12px;align-items:center;justify-content:space-between;color:#b8b2a8;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .portal-nav.active{background:#252117;color:#fff;box-shadow:inset 3px 0 #c7a25a}.portal-nav.active::after{content:"Current";color:#d9ba77;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .portal-support{display:grid;margin-top:auto;padding:16px;border:1px solid #342f27;border-radius:12px;background:#151411;color:#999;font-size:11px}.portal-support strong{color:#fff;font-size:12px}.portal-support a{min-height:34px;display:flex;align-items:center;color:#e0be75;font-size:11px;font-weight:800}
  .portal-mobile-menu-scrim{display:block;position:fixed;z-index:999;inset:0;width:100%;height:100%;padding:0;border:0;background:#050504b8;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility 0s linear .24s;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer}
  .portal-mobile-menu-scrim.is-open{opacity:1;visibility:visible;transition:opacity .24s ease}
  .portal-workspace{padding:calc(94px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(70px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .portal-metrics{grid-template-columns:1fr 1fr}.portal-hero{grid-template-columns:1fr}.next-journey{display:none}.portal-booking-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.portal-header{align-items:flex-start;gap:12px}.portal-header h1{font-size:27px}.portal-account span{display:none}.portal-account button{padding:8px 11px;font-size:10px}.portal-hero{padding:27px}.portal-hero h2{font-size:37px}.portal-metrics{gap:10px}.portal-metrics article{padding:17px}.portal-fields,.company-grid,.billing-summary{grid-template-columns:1fr}.portal-fields .wide{grid-column:auto}.portal-card{padding:20px}.portal-table-wrap{margin-inline:-20px}.portal-card-heading{align-items:flex-start;gap:12px}}

/* Official brand lockups and drawer account actions */
.auth-brand-lockup{display:flex;flex-direction:column;align-items:center;align-self:center;gap:10px;text-decoration:none}.auth-brand-crown{width:auto;height:54px;object-fit:contain}.auth-brand-lockup>span{display:flex;flex-direction:column;align-items:center;gap:13px}.auth-brand-wordmark{width:auto;height:25px;object-fit:contain}.auth-brand-lockup small{color:var(--gold2);font-size:8px;font-weight:800;line-height:1;letter-spacing:.24em;text-transform:uppercase}.portal-mobile-account{display:none}
@media(max-width:950px){.portal-mobile-menu-header .portal-mobile-brand{display:flex;align-items:flex-end;gap:12px;line-height:0}.portal-mobile-crown{display:block;width:auto;height:43px}.portal-mobile-brand>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;line-height:0}.portal-mobile-brand>span>img{display:block;width:auto;height:18px}.portal-mobile-brand small{color:#d8b86f;font-size:7px;font-weight:800;line-height:1;letter-spacing:.22em;text-transform:uppercase}.portal-mobile-account{display:grid;gap:10px;margin-top:12px;padding:14px 16px;border:1px solid #40372b;border-radius:12px;background:#1a1712}.portal-mobile-account span{min-width:0;color:#aaa39a;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-mobile-account button{min-height:42px;border:1px solid #6b5432;border-radius:9px;background:linear-gradient(100deg,#b78d43,#dfc17d);color:#17120a;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation}}
@media(max-width:700px){.auth-brand{min-height:380px;padding:34px 30px 48px;gap:32px}.auth-brand-lockup{margin-bottom:10px}.auth-brand-lockup>span{gap:14px}.auth-panel{padding:38px 20px 24px}}
/* Preserved corporate manual-review and loyalty interfaces. */
.portal-availability-enquiry{margin-top:18px;padding:24px;border:1px solid #cda85d;border-radius:16px;background:linear-gradient(145deg,#fbf4e5,#fff)}
.portal-availability-enquiry h3{margin:7px 0 9px;font:500 25px Georgia,serif}
.portal-availability-enquiry>p:not(.portal-kicker){margin:0 0 17px;color:#6d6559;font-size:12px;line-height:1.65}
.portal-availability-enquiry label{display:grid;gap:8px;color:#4d4942;font-size:12px;font-weight:700}
.portal-availability-enquiry select{width:100%;min-height:48px;padding:0 12px;border:1px solid #d7d0c5;border-radius:9px;background:#fff}
.portal-review-button{width:100%;min-height:50px;margin-top:16px;border:1px solid #c49a48;border-radius:999px;background:#11110f;color:#fff;font-weight:800;cursor:pointer}
.portal-review-button:hover{background:#27231c}
.portal-review-button:disabled{opacity:.55;cursor:wait}
.portal-metrics{grid-template-columns:repeat(5,1fr)}
.loyalty-panel{margin:0 0 28px;padding:25px;border:1px solid #d8c59f;border-radius:14px;background:linear-gradient(120deg,#171612,#2c2418);color:#fff}
.loyalty-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.loyalty-panel h3{margin:5px 0 0;font:500 28px Georgia,serif}
.loyalty-panel-heading>strong{font:500 38px Georgia,serif;color:var(--gold2)}
.loyalty-panel>p{color:#c8c0b4;font-size:12px;line-height:1.65}
.loyalty-progress{height:8px;margin:20px 0 9px;border-radius:99px;background:#ffffff1a;overflow:hidden}
.loyalty-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .35s ease}
.loyalty-tiers{display:flex;justify-content:space-between;color:#e5d5b4;font-size:10px}
.loyalty-rules{margin:20px 0 0!important;padding-top:16px;border-top:1px solid #ffffff1a}
@media(max-width:1150px){.portal-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.portal-metrics,.billing-summary{grid-template-columns:1fr 1fr}.loyalty-panel-heading>strong{font-size:31px}}
@media(max-width:560px){.portal-metrics,.billing-summary{grid-template-columns:1fr}.loyalty-panel{padding:21px}}

/* Corporate passenger WhatsApp arrival consent */
.portal-fields .portal-contact-preference{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:78px;
  padding:15px 17px;
  border:1px solid #d9ccb4;
  border-radius:14px;
  background:linear-gradient(135deg,#fffdf8,#f7f0e3);
  cursor:pointer;
  box-shadow:0 8px 28px #3f342308;
}
.portal-contact-preference>input{position:absolute;opacity:0;pointer-events:none}
.portal-contact-toggle{position:relative;width:46px;height:26px;border-radius:999px;background:#c9c1b5;box-shadow:inset 0 0 0 1px #a9a093;transition:.2s}
.portal-contact-toggle::after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:.2s}
.portal-contact-preference>input:checked+.portal-contact-toggle{background:#b68d43;box-shadow:inset 0 0 0 1px #8f6b2c}
.portal-contact-preference>input:checked+.portal-contact-toggle::after{transform:translateX(20px)}
.portal-contact-preference>input:focus-visible+.portal-contact-toggle{outline:3px solid #c9a65e4d;outline-offset:3px}
.portal-contact-copy{display:grid;gap:4px;min-width:0}
.portal-contact-copy strong{color:#2d261b;font:600 16px Georgia,serif}
.portal-contact-copy small{color:#746b5e;font-size:10px;line-height:1.5}
@media(max-width:560px){.portal-fields .portal-contact-preference{grid-column:auto;grid-template-columns:44px minmax(0,1fr);padding:14px}.portal-contact-copy strong{font-size:15px}}

/* Grouped corporate navigation */
.portal-sidebar nav{gap:16px}.portal-nav-group{display:grid;gap:4px;padding-top:14px;border-top:1px solid #2b2721}.portal-nav-group:first-child{padding-top:0;border-top:0}.portal-nav-label{padding:0 15px 6px;color:#756d61;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.portal-nav-primary{gap:6px}

/* Corporate availability request continuation */
.portal-review-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:10px;margin-top:16px}.portal-review-button{margin-top:0}.portal-review-secondary{min-height:50px;border:1px solid #d4c6ae;border-radius:999px;background:#fff;color:#62594c;font-weight:750;cursor:pointer}.portal-review-secondary:hover{border-color:#a7864d;color:#2b2419}.portal-review-note{display:block;margin-top:12px;color:#817768;font-size:10px;line-height:1.5}

/* Native date and time controls must never overflow their grid cell. */
.portal-fields label,.portal-round-trip-fields label{min-width:0}.portal-fields input[type="date"],.portal-fields input[type="time"],.portal-fields input[type="datetime-local"]{min-width:0;max-width:100%}
@media(max-width:950px){.portal-sidebar nav{gap:11px}.portal-nav-group{gap:3px;padding-top:11px}.portal-nav-label{padding:0 13px 5px}}
@media(max-width:560px){.portal-review-actions{grid-template-columns:1fr}.portal-fields,.portal-round-trip-fields{grid-template-columns:minmax(0,1fr)}.portal-fields input[type="date"],.portal-fields input[type="time"],.portal-fields input[type="datetime-local"]{display:block;width:100%}}

/* v9.4 corporate booking-request centre */
.portal-nav[data-view="requests"]{display:flex;align-items:center;gap:8px}.portal-nav-count{display:grid;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;border-radius:999px;background:#b88c42;color:#16110a;font-size:9px;font-weight:900}.portal-nav-count[hidden]{display:none}
.portal-request-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px;padding:34px 36px;border:1px solid #3b3328;border-radius:18px;background:radial-gradient(circle at 90% 5%,#45351d 0,transparent 34%),#12110f;color:#fff}.portal-request-hero h2{margin:7px 0 9px;font:500 39px Georgia,serif}.portal-request-hero p:not(.portal-kicker){max-width:650px;margin:0;color:#bcb5aa;font-size:13px;line-height:1.65}
.portal-request-hero-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.portal-request-refresh{min-height:42px;padding:9px 15px;border:1px solid #5b4c37;border-radius:999px;background:#ffffff08;color:#d2c8b8;font-size:10px;font-weight:850;cursor:pointer}.portal-request-refresh:hover{border-color:#c29b55;color:#fff}.portal-request-refresh:disabled{opacity:.55;cursor:wait}
.portal-request-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.portal-request-metrics article{position:relative;display:grid;gap:7px;padding:22px 24px;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.portal-request-metrics article.attention{border-color:#d7b977;background:linear-gradient(135deg,#fffaf0,#fff)}.portal-request-metrics article.attention::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#b78c42,#e1c27d)}.portal-request-metrics span,.portal-request-metrics small{color:#777066;font-size:10px}.portal-request-metrics strong{font:500 31px Georgia,serif}.portal-request-centre{padding-bottom:10px}
.portal-request-list{display:grid;gap:13px}.portal-request-card{position:relative;padding:22px;border:1px solid #e1d9cd;border-radius:15px;background:#fff;box-shadow:0 8px 30px #3f342309}.portal-request-card.action-required{border-color:#cba45b;background:linear-gradient(135deg,#fffdf8,#fbf3e4);box-shadow:0 12px 38px #8a65221a}.portal-request-card.action-required::before{content:"";position:absolute;inset:18px auto 18px 0;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(#b78c42,#e1c27d)}
.portal-request-card.recent-result{border-color:#cbd9ce;box-shadow:0 10px 34px #355d4010}
.portal-request-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.portal-request-reference{display:grid;gap:6px}.portal-request-reference span{color:#967037;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.portal-request-reference strong{font:500 22px Georgia,serif}.portal-request-state{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f0ede7;color:#686158;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.portal-request-state::before{content:"";width:7px;height:7px;border-radius:50%;background:#9d9589}.portal-request-state.pending{background:#fff3d9;color:#875f18}.portal-request-state.pending::before{background:#c9912e}.portal-request-state.action{background:#2a2115;color:#e6c784}.portal-request-state.action::before{background:#e1b961;box-shadow:0 0 0 4px #d9ae5730}.portal-request-state.progress{background:#e9eff5;color:#46647b}.portal-request-state.progress::before{background:#6486a1}.portal-request-state.accepted{background:#e8f4ed;color:#34734d}.portal-request-state.accepted::before{background:#4e9368}.portal-request-state.declined,.portal-request-state.expired{background:#f3eae8;color:#8b4b43}.portal-request-state.declined::before,.portal-request-state.expired::before{background:#a65a50}
.portal-request-route{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:12px;margin:20px 0;padding:17px 18px;border:1px solid #eee7dd;border-radius:12px;background:#faf8f4}.portal-request-route strong{min-width:0;font-size:12px;line-height:1.5}.portal-request-route i{height:1px;background:linear-gradient(90deg,#c49a4e,#e1c98f)}
.portal-request-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-request-details div{display:grid;gap:5px;padding:12px 14px;border-radius:10px;background:#f7f4ee}.portal-request-details span{color:#847c71;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.portal-request-details strong{font-size:11px;line-height:1.45}.portal-request-message{margin:15px 0 0;padding:14px 16px;border-left:3px solid #b99049;background:#fbf7ee;color:#62594d;font-size:11px;line-height:1.6}.portal-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #ece5da}.portal-request-action{min-height:42px;padding:9px 15px;border:1px solid #d8cdbd;border-radius:999px;background:#fff;color:#665b4b;font-size:10px;font-weight:850;cursor:pointer}.portal-request-action:hover{border-color:#af8a49;color:#2c2419}.portal-request-action.primary{border-color:#1a1814;background:#171612;color:#fff}.portal-request-action.danger{color:#8b443b}.portal-request-converted{margin-top:16px;padding-top:14px;border-top:1px solid #ece5da;color:#5c755f;font-size:11px;font-weight:700}
.portal-request-result{display:flex;align-items:center;gap:12px;margin-top:15px;padding:14px 16px;border:1px solid #cfe0d3;border-radius:12px;background:linear-gradient(100deg,#f1f8f3,#fff)}.portal-request-result>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#4f8a65;color:#fff;font-weight:900}.portal-request-result strong,.portal-request-result small{display:block}.portal-request-result strong{font-size:11px}.portal-request-result small{margin-top:4px;color:#68796d;font-size:9px;line-height:1.45}.portal-request-result.declined,.portal-request-result.expired{border-color:#e3cbc7;background:linear-gradient(100deg,#fff5f3,#fff)}.portal-request-result.declined>span,.portal-request-result.expired>span{background:#985047}.portal-request-result.declined small,.portal-request-result.expired small{color:#7d6662}
.portal-mobile-menu-button{position:relative}.portal-mobile-alert-dot{position:absolute;top:-2px;right:-1px;width:11px;height:11px;border:2px solid #11100e;border-radius:50%;background:#e1b352;box-shadow:0 0 0 4px #e1b35220,0 0 14px #e1b35288}.portal-mobile-alert-dot[hidden]{display:none}.portal-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.portal-request-response-dialog{width:min(620px,calc(100% - 28px))}.portal-request-response-dialog .portal-dialog-card{padding:0;gap:0;overflow:hidden}.portal-request-response-dialog .portal-dialog-close{z-index:2;color:#fff;top:20px;right:21px}.portal-request-response-dialog .portal-kicker,.portal-request-response-dialog h2{padding-inline:34px;background:#12110f;color:#fff}.portal-request-response-dialog .portal-kicker{margin:0;padding-top:34px;color:#d7b973}.portal-request-response-dialog h2{margin:0;padding-top:8px;padding-bottom:29px;font-size:34px}.portal-request-dialog-summary{display:grid;gap:8px;margin:24px 34px 0;padding:18px 20px;border:1px solid #dfd5c5;border-radius:14px;background:#faf7f1}.portal-request-dialog-summary span{color:#966f33;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.portal-request-dialog-summary strong{font:500 17px Georgia,serif;line-height:1.45}.portal-request-dialog-summary p{margin:2px 0 0;color:#5f584e;font-size:11px;line-height:1.5}.portal-request-response-dialog .portal-dialog-note{margin:18px 34px 0}.portal-request-response-fields{display:grid;gap:12px;margin:18px 34px 0}.portal-request-response-fields[hidden]{display:none}.portal-request-date-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}.portal-request-date-grid[hidden]{display:none}.portal-request-response-dialog label{margin:18px 34px 0}.portal-request-response-fields label{margin:0}.portal-request-response-dialog input,.portal-request-response-dialog textarea{min-width:0;max-width:100%;border:1px solid #d7d0c5;border-radius:10px;background:#fdfcf9;padding:12px}.portal-request-response-dialog textarea{min-height:90px;resize:vertical}.portal-request-response-error{min-height:18px;margin:10px 34px 0;color:#913f37;font-size:11px}.portal-request-dialog-actions{padding:20px 34px 30px;border-top:1px solid #e7dfd2}.portal-request-dialog-actions .portal-gold-button{min-width:210px}.portal-request-dialog-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){.portal-request-hero{align-items:flex-start;padding:28px;flex-direction:column}.portal-request-hero h2{font-size:34px}.portal-request-hero-actions{width:100%;display:grid;grid-template-columns:1fr}.portal-request-hero-actions button{width:100%}.portal-request-hero-actions .portal-gold-button{grid-row:1}.portal-request-metrics{grid-template-columns:1fr}.portal-request-details{grid-template-columns:1fr 1fr}.portal-request-top{gap:12px}.portal-request-route{grid-template-columns:1fr}.portal-request-route i{display:none}.portal-request-actions{align-items:stretch;flex-direction:column}.portal-request-action{width:100%}.portal-request-response-dialog .portal-kicker,.portal-request-response-dialog h2{padding-inline:22px}.portal-request-response-dialog .portal-kicker{padding-top:29px}.portal-request-response-dialog h2{padding-bottom:24px;font-size:29px}.portal-request-dialog-summary,.portal-request-response-dialog .portal-dialog-note,.portal-request-response-fields,.portal-request-response-dialog label,.portal-request-response-error{margin-inline:20px}.portal-request-date-grid{grid-template-columns:minmax(0,1fr)}.portal-request-dialog-actions{display:grid;padding:18px 20px 24px}.portal-request-dialog-actions button{width:100%}.portal-request-dialog-actions .portal-gold-button{grid-row:1;min-width:0}}
@media(max-width:430px){.portal-request-details{grid-template-columns:1fr}.portal-request-card{padding:18px}.portal-request-state{font-size:8px}.portal-request-top{flex-direction:column}.portal-request-response-dialog{width:calc(100% - 14px)}}
#request-response-notes-wrap[hidden]{display:none}

/* Required passenger-language acknowledgement */
.portal-fields .portal-language-consent,.portal-language-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;align-items:start;padding:14px 15px;border:1px solid #dfd2bb;border-left:3px solid #b48a3a;border-radius:4px;background:#faf7f1;color:#514a40}
.portal-fields .portal-language-consent>input,.portal-language-consent>input{width:16px;height:16px;margin:2px 0 0;padding:0;border:0;accent-color:#b48a3a}
.portal-language-consent>span{display:grid;gap:3px}.portal-language-consent strong{color:#2d2923;font-size:11px;letter-spacing:.02em}.portal-language-consent small{color:#6e6559;font-size:10px;font-weight:500;line-height:1.5}.portal-language-consent[hidden]{display:none!important}
.portal-language-note{display:grid;gap:4px;margin-top:16px;padding:13px 14px;border:1px solid #3f392f;border-left:3px solid #c7a25a;border-radius:4px;background:#ffffff08}.portal-language-note strong{color:#e7d6b0;font-size:10px;letter-spacing:.04em}.portal-language-note span{color:#aaa;font-size:9px;line-height:1.45}

/* Keep native mobile date and time controls inside every booking card. */
.portal-fields>*{min-width:0}.portal-fields label{min-width:0;max-width:100%}.portal-fields input[type="date"],.portal-fields input[type="time"],.portal-request-date-grid input[type="date"],.portal-request-date-grid input[type="time"]{display:block;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-inline-size:100%;max-width:100%;box-sizing:border-box}
@media(max-width:700px){.portal-fields{grid-template-columns:minmax(0,1fr)}.portal-fields .wide{grid-column:auto}.portal-round-trip-fields{min-width:0;max-width:100%}.portal-fields input[type="date"],.portal-fields input[type="time"],.portal-request-date-grid input[type="date"],.portal-request-date-grid input[type="time"]{font-size:16px}.portal-fields input[type="date"]::-webkit-date-and-time-value,.portal-fields input[type="time"]::-webkit-date-and-time-value,.portal-request-date-grid input[type="date"]::-webkit-date-and-time-value,.portal-request-date-grid input[type="time"]::-webkit-date-and-time-value{text-align:left}}
@media(max-width:700px){.portal-datetime-row{grid-column:1/-1;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px}.portal-datetime-row label{font-size:12px;white-space:nowrap}.portal-datetime-row input[type="date"],.portal-datetime-row input[type="time"]{height:48px;padding-inline:11px;font-size:16px;line-height:normal}}
@supports (-webkit-touch-callout:none){
  @media(max-width:700px){
    .portal-datetime-row{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:10px}
    .mobile-picker-control{position:relative;display:block;width:100%;height:48px;min-width:0;max-width:100%;border:1px solid #d7d0c5;border-radius:10px;background:#fdfcf9;overflow:hidden;isolation:isolate}
    .mobile-picker-control>input[type="date"],.mobile-picker-control>input[type="time"]{position:absolute!important;z-index:2;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;opacity:.001!important;-webkit-appearance:none!important;appearance:none!important;color:transparent!important}
    .mobile-picker-display{position:absolute;z-index:1;inset:0;display:flex;align-items:center;min-width:0;padding:0 11px;color:#24211d;font-size:16px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
    .mobile-picker-control:focus-within{border-color:#cda85d;box-shadow:0 0 0 3px rgba(205,168,93,.14)}
    .mobile-picker-control.is-empty .mobile-picker-display{color:#88827a;font-weight:400}
  }
}

/* V10.1 compact mobile actions and filter controls */
@media(max-width:700px){
  .portal-workspace,.portal-view,.portal-card{min-width:0;max-width:100%}
  #view-bookings>.portal-card{padding:19px;overflow:hidden}
  #view-bookings .portal-card-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:17px}
  #view-bookings .portal-card-heading .portal-gold-button{width:100%;min-height:44px;padding:10px 15px;font-size:12px;line-height:1.1}
  #booking-filters,#request-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0}
  #booking-filters button,#request-filters button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:42px;padding:8px 7px;font-size:11px;line-height:1.2;text-align:center;white-space:normal}
  #booking-filters button:last-child{grid-column:1/-1}
  #view-bookings .portal-table-wrap{max-width:calc(100% + 38px);margin-inline:-19px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}
