/* Shared Bullion Desk chrome. Rate-board selectors are deliberately excluded. */
:root { --bd-navy:#042337; --bd-ivory:#faf9ef; --bd-gold:#e9c77e; --bd-line:#b48940; --bd-ink:#17374b; }
.app-shell { display:block; min-height:100vh; position:relative; }
.app-main { display:flex; flex-direction:column; min-width:0; margin-left:0!important; width:100%; }
.app-topbar, .app-topbar.is-scrolled {
  display:grid!important; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:72px 30px;
  align-items:center; column-gap:20px; height:auto!important; min-height:0; margin:0;
  padding:0 max(20px,calc((100vw - 1100px)/2))!important; position:sticky; top:0; z-index:60;
  background:var(--bd-navy)!important; border:0; border-bottom:1px solid var(--bd-line);
  color:#f7efdb; box-shadow:none!important; backdrop-filter:none; font:400 14px/1.4 'Segoe UI',Arial,sans-serif;
}
.app-topbar .topbar-wordmark { grid-column:1; grid-row:1; padding:0; text-decoration:none; animation:none; }
.board-wordmark { display:flex!important; align-items:center; gap:11px; }
.app-topbar .board-wordmark img, .app-sidebar .board-wordmark img, .app-footer .mark-row .board-wordmark img {
  display:block; width:66px; height:auto; max-width:none; object-fit:contain; margin:0;
  filter:grayscale(1) invert(1) sepia(1) saturate(1.8) brightness(1.15)!important; mix-blend-mode:screen;
}
.board-wordmark > span { color:var(--bd-gold); font:600 22px/1.1 'Times New Roman',Times,serif; text-transform:uppercase; white-space:nowrap; }
.app-topbar .topbar-nav-slot { grid-column:2; grid-row:1; min-width:0; margin:0; display:flex; justify-content:center; }
.app-topbar .topbar-actions { grid-column:3; grid-row:1; display:flex; align-items:center; gap:8px; margin:0; }
.app-topbar .topbar-actions .pill-btn, .app-topbar .topbar-actions .ma-menu-link { display:flex; align-items:center; justify-content:center; gap:5px; padding:8px 10px; min-height:36px; margin:0; font:600 12px/1.2 'Segoe UI',Arial,sans-serif; border:1px solid #a88748; border-radius:6px; text-decoration:none; color:var(--bd-navy); background:#e9c77e; white-space:nowrap; }
.app-topbar .topbar-actions .ma-menu-link.auth-logout { background:#153a50; color:#f7efdb; }
.app-topbar .ticker { grid-column:1/-1; grid-row:2; display:flex; align-items:center; justify-content:space-between; gap:14px; width:auto; min-width:0; height:30px; margin:0!important; border:0; border-top:1px solid #a8874840; border-radius:0; background:transparent; padding:0; color:#e5e8df; overflow:hidden; }
.app-topbar .ticker-track { display:flex; align-items:center; gap:24px; width:auto; min-width:0; font:400 11px/1.4 'Segoe UI',Arial,sans-serif; animation:none!important; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.app-topbar .ticker-chip { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.app-topbar .ticker-chip .sym { color:#e5e8df; font:400 11px/1.4 'Segoe UI',Arial,sans-serif; }
.app-topbar .ticker-chip .px { color:var(--bd-gold); font:600 12px/1.4 'Segoe UI',Arial,sans-serif; }
.rate-refresh { flex-shrink:0; border:0; background:transparent; color:var(--bd-gold); font:600 11px/1.4 'Segoe UI',Arial,sans-serif; padding:4px 0 4px 12px; cursor:pointer; }
.rate-refresh:disabled { opacity:.55; cursor:wait; }
.app-sidebar { position:fixed!important; display:flex; flex-direction:column; inset:0 auto 0 0; width:285px; height:100dvh; padding:20px; border-right:1px solid var(--bd-line); background:var(--bd-navy)!important; z-index:90; transform:translateX(-100%); transition:transform .2s ease-out; pointer-events:auto; }
.app-sidebar::after { display:none; }
.app-sidebar .sidebar-brand { padding:15px 0 24px; min-height:70px; }
.app-sidebar .sidebar-brand a { text-decoration:none; }
.app-sidebar .board-wordmark { flex-direction:column; align-items:flex-start; }
.app-sidebar .sidebar-nav { overflow-y:auto; width:100%; padding:0; display:block; }
.app-sidebar .sidebar-foot { margin-top:auto; padding-top:22px; }
.sidebar-scrim { display:none; position:fixed; inset:0; background:#00152299; z-index:80; }
body.nav-open .app-sidebar { transform:translateX(0); }
body.nav-open .sidebar-scrim { display:block; }
.app-topbar .topbar-toggle { display:none; width:36px; height:36px; border:1px solid #a88748; border-radius:6px; background:transparent; align-items:center; justify-content:center; padding:0; position:relative; }
.topbar-toggle span, .topbar-toggle span::before, .topbar-toggle span::after { display:block; width:17px; height:2px; position:relative; background:var(--bd-gold)!important; }
.topbar-toggle span::before, .topbar-toggle span::after { content:''; position:absolute; left:0; }
.topbar-toggle span::before { top:-6px; }.topbar-toggle span::after { top:6px; }
.topbar-toggle[aria-expanded=true] span { background:transparent!important; }
.topbar-toggle[aria-expanded=true] span::before { top:0; transform:rotate(45deg); }
.topbar-toggle[aria-expanded=true] span::after { top:0; transform:rotate(-45deg); }
.ma-menu,.ma-submenu { list-style:none; margin:0; padding:0; }
.ma-menu { display:flex; align-items:center; gap:0; }
.ma-menu>li { position:relative; margin:0; }
.ma-menu-link, .ma-menu-trigger { display:flex; align-items:center; gap:7px; min-height:40px; border:0; border-radius:6px; background:transparent; color:#f2e8ce; font:600 13px/1.4 'Segoe UI',Arial,sans-serif; padding:9px 10px; text-decoration:none; white-space:nowrap; cursor:pointer; }
.app-topbar .ma-menu-link, .app-topbar .ma-menu-trigger { font:600 13px/1.4 'Segoe UI',Arial,sans-serif; padding:9px 10px; gap:7px; }
.ma-menu-link:hover, .ma-menu-trigger:hover, .ma-menu-trigger[aria-expanded=true], .ma-menu-link[aria-current=page], .ma-menu-trigger.is-current { color:var(--bd-gold)!important; background:#15394e!important; box-shadow:none; }
.ma-menu .glyph { display:inline-flex; width:16px; height:16px; align-items:center; flex-shrink:0; border:0; animation:none!important; background:transparent; }
.ma-menu .nav-svg { width:16px; height:16px; display:block; filter:brightness(0) invert(1)!important; animation:none!important; }
.app-topbar .button-svg { width:16px; height:16px; filter:brightness(0)!important; }
.ma-chevron { width:6px; height:6px; margin-left:3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.ma-submenu { position:absolute; top:calc(100% + 2px); left:0; min-width:210px; padding:6px; border:1px solid #a88748; border-radius:8px; background:var(--bd-navy)!important; z-index:75; box-shadow:0 8px 20px #00152525; }
.ma-submenu .ma-menu-link { font:400 13px/1.4 'Segoe UI',Arial,sans-serif; color:#f2e8ce; padding:9px 10px; }
.ma-menu-account:empty { display:none; }
[hidden] { display:none!important; }
.app-footer { margin-top:28px; border-top:1px solid var(--bd-line); color:#e4e8e5; background:var(--bd-navy)!important; font:400 13px/1.65 'Segoe UI',Arial,sans-serif; }
.app-footer .footer-grid { display:grid; grid-template-columns:1.65fr 1.15fr repeat(3,1fr); align-items:start; gap:26px; max-width:1150px; margin:0 auto; padding:28px 24px 18px; }
.app-footer .mark-row { margin-bottom:12px; }
.app-footer .board-wordmark { gap:10px; flex-wrap:wrap; }
.app-footer .board-wordmark > span { font-size:20px; }
.app-footer .board-wordmark img { width:68px!important; }
.app-footer .footer-brand-col p, .app-footer .footer-brand-col address { color:#e4e8e5; font:400 12px/1.7 'Segoe UI',Arial,sans-serif; margin:0 0 9px; font-style:normal; }
.app-footer .footer-brand-col > p:first-of-type { font-weight:600; }
.app-footer .footer-gst { color:#eed7a6!important; font-size:11px!important; }
.app-footer .footer-booking-col h2, .app-footer .footer-acc summary { color:var(--bd-gold); margin:0; padding:5px 0 13px; font:600 13px/1.5 'Segoe UI',Arial,sans-serif; text-transform:none; letter-spacing:0; }
.app-footer .footer-acc { border:0; }
.app-footer .footer-acc summary { list-style:none; cursor:pointer; }
.app-footer .footer-acc summary::-webkit-details-marker { display:none; }
.app-footer .footer-acc .acc-body { padding:0; font:400 12px/1.6 'Segoe UI',Arial,sans-serif; }
.app-footer .footer-acc .acc-body a { display:flex; align-items:center; gap:7px; color:#e4e8e5; padding:4px 0; text-decoration:none; font:400 12px/1.6 'Segoe UI',Arial,sans-serif; }
.app-footer .foot-menu-svg { width:14px; height:14px; filter:brightness(0) invert(1); animation:none!important; }
.app-footer .booking-desk, .app-sidebar .booking-desk { display:grid; gap:8px; padding:0; margin:0; font:400 13px/1.6 'Segoe UI',Arial,sans-serif; }
.app-footer .booking-desk a, .app-sidebar .booking-desk a { color:#e4e8e5; text-decoration:none; font-size:12px; overflow-wrap:anywhere; }
.app-sidebar .booking-desk strong { color:var(--bd-gold); }
.app-footer a:hover { color:var(--bd-gold)!important; text-decoration:underline; }
.app-footer .footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; max-width:1102px; margin:0 auto; border-top:1px solid #b4894045; padding:14px 0 18px; color:#d3dedf; font:400 11px/1.5 'Segoe UI',Arial,sans-serif; }
.app-topbar :focus-visible, .app-sidebar :focus-visible, .app-footer :focus-visible { outline:2px solid var(--bd-gold); outline-offset:3px; }
.scroll-progress { display:none!important; }
.rates-table .price-action { display:inline; padding:0; border:0; border-radius:3px; background:transparent; color:inherit; font:inherit; font-variant-numeric:inherit; cursor:pointer; text-decoration:none; }
.rates-table .price-action:focus-visible { outline:2px solid #b48940; outline-offset:4px; }
.rates-table .rate-up { color:#176b35!important; background:#e0f3e4!important; border-radius:4px; padding:2px 5px; }
.rates-table .rate-down { color:#9d2922!important; background:#ffe8e4!important; border-radius:4px; padding:2px 5px; }
.rates-table tr[data-product] { cursor:pointer; }
.rates-table tr[data-product]:focus-visible { outline:2px solid #b48940; outline-offset:2px; }
.rates-table .rate-loading { text-align:center!important; font-size:14px!important; font-weight:400; padding:22px!important; }
@media(min-width:901px) { .app-sidebar { pointer-events:none; }.app-footer .footer-acc .acc-body { display:block!important; }.app-footer .footer-acc summary::after { content:none; } }
@media(max-width:1100px) { .app-topbar { column-gap:10px; }.app-topbar .board-wordmark > span { font-size:19px; }.app-topbar .board-wordmark img { width:55px; }.app-topbar .ma-menu-link,.app-topbar .ma-menu-trigger { padding-inline:7px; }.app-footer .footer-bottom { margin-inline:24px; } }
@media(max-width:900px) {
  .app-topbar, .app-topbar.is-scrolled { grid-template-columns:36px minmax(0,1fr) auto; grid-template-rows:65px 30px; padding-inline:14px!important; column-gap:10px; }
  .app-topbar .topbar-toggle { display:flex; grid-column:1; grid-row:1; }
  .app-topbar .topbar-wordmark { grid-column:2; grid-row:1; justify-self:start; }
  .app-topbar .board-wordmark { gap:7px; }.app-topbar .board-wordmark img { width:50px; }.app-topbar .board-wordmark > span { font-size:18px; }
  .app-topbar .topbar-nav-slot { display:none; }
  .app-topbar .topbar-actions .pill-btn { font-size:11px; padding:7px 8px; }.app-topbar .topbar-actions .button-svg { display:none; }
  .app-sidebar .ma-menu { display:block; width:100%; }
  .app-sidebar .ma-menu-link, .app-sidebar .ma-menu-trigger { width:100%; padding:11px 10px; min-height:44px; color:#f2e8ce; font:600 14px/1.5 'Segoe UI',Arial,sans-serif; }
  .app-sidebar .ma-submenu { position:static; padding:4px 6px 8px 16px; margin:0; box-shadow:none; border:0; background:#0b3047!important; }
  .app-sidebar .ma-submenu .ma-menu-link { font-size:13px; font-weight:400; }
  .app-sidebar .ma-menu-account { margin-top:12px; }
  .app-footer .footer-grid { grid-template-columns:1.5fr 1fr; gap:20px; padding:24px 20px; }
  .app-footer .footer-brand-col { grid-column:1/-1; }
  .app-footer .footer-bottom { margin-inline:20px; }
}
@media(max-width:480px) {
  .app-topbar, .app-topbar.is-scrolled { column-gap:7px; }
  .app-topbar .board-wordmark > span { font-size:16px; }.app-topbar .board-wordmark img { width:43px; }
  .app-topbar .topbar-actions .pill-btn { font-size:10px; }
  .app-footer .footer-grid { grid-template-columns:1fr; gap:14px; }
  .app-footer .footer-acc { border-bottom:1px solid #b4894033; }
  .app-footer .footer-acc summary { display:flex; justify-content:space-between; padding:8px 0; }
  .app-footer .footer-acc summary::after { content:'+'; }.app-footer .footer-acc[open] summary::after { content:'−'; }
  .app-footer .footer-acc .acc-body { padding-bottom:10px; }
  .app-footer .footer-bottom { flex-direction:column; text-align:left; }
}
@media(prefers-reduced-motion:reduce) { .app-sidebar { transition:none; } }

/* Override older page-specific navigation declarations with the shared chrome. */
.app-topbar .topbar-nav-slot .sidebar-nav { display:block; width:auto; margin:0; padding:0; overflow:visible; }
.app-topbar .topbar-actions .pill-btn.accent,
.app-topbar .topbar-actions .ma-menu-link.auth-login {
  background:#e9c77e; color:#042337; border:1px solid #a88748;
  font:600 12px/1.2 'Segoe UI',Arial,sans-serif; padding:8px 10px;
}
.app-topbar .topbar-actions .pill-btn.accent:hover,
.app-topbar .topbar-actions .ma-menu-link.auth-login:hover { background:#f2d79e; color:#042337; }
@media(max-width:900px) { body.nav-open { overflow:hidden; }.app-topbar .topbar-actions .pill-btn.accent { font-size:11px; padding:7px 8px; } }
@media(max-width:480px) { .app-topbar .topbar-actions .pill-btn.accent { font-size:10px; } }
