/* Keep every desktop rule intact. Mobile navigation uses the original controls. */
.portal-menu-toggle, .portal-menu-backdrop, .portal-mobile-shortcuts { display: none; }
@media (max-width: 760px) {
  #portal-welcome { padding: 0 14px 24px; height: 100dvh; min-height: 100dvh; background: radial-gradient(circle at 100% 0, #28251e, transparent 45%), #090909; }
  #portal-welcome > .dashboard-heading {
    position: sticky; top: 0; z-index: 12; display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px;
    padding: max(12px, env(safe-area-inset-top)) 0 12px; margin: 0;
    background: #101010; border-bottom: 1px solid #51452c;
  }
  #portal-welcome .dashboard-heading > div { min-width: 0; }
  #portal-welcome .dashboard-heading .eyebrow { margin: 0 0 3px; font-size: .65rem; letter-spacing: .1em; }
  #portal-welcome .dashboard-heading h3 { margin: 0; font-size: .96rem; line-height: 1.3; overflow-wrap: anywhere; }
  #portal-user-role { margin: 3px 0 0; font-size: .68rem; line-height: 1.3; }
  #portal-welcome .dashboard-heading #logout-button { width: auto; min-height: 44px; padding: 8px 11px; font-size: .75rem; margin: 0; }
  .portal-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #76613a; border-radius: 12px; background: #242424; color: #f5f4ef; cursor: pointer; }
  .portal-menu-toggle:focus-visible, .portal-mobile-shortcuts button:focus-visible { outline: 2px solid #f5f4ef; outline-offset: 3px; }
  #portal-welcome .portal-command-layout { grid-template-columns: minmax(0, 1fr); margin-top: 14px; gap: 0; }
  #portal-welcome .portal-command-nav { display: none !important; }
  #portal-welcome.mobile-menu-open .portal-command-nav {
    display: flex !important; position: fixed; z-index: 14; top: var(--portal-menu-top, calc(96px + env(safe-area-inset-top)));
    right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); width: min(340px, calc(100vw - 28px));
    min-height: 0; overflow-y: auto; padding: 16px 12px; border-radius: 16px; background: #181818;
    border: 1px solid #76613a; gap: 4px;
  }
  #portal-welcome.mobile-menu-open .portal-command-nav > * { width: 100%; flex-shrink: 0; }
  #portal-welcome.mobile-menu-open .portal-command-nav .portal-nav-button,
  #portal-welcome.mobile-menu-open .portal-command-nav .portal-nav-link { min-height: 44px; }
  #portal-welcome.mobile-menu-open .portal-menu-backdrop { display: block; position: fixed; inset: 0; z-index: 11; border: 0; background: rgba(0,0,0,.62); }
  #portal-welcome .portal-menu-backdrop[hidden], #portal-welcome [hidden] { display: none !important; }
  #portal-welcome.portal-tool-page.mobile-menu-open > .portal-command-layout { display: block !important; margin: 0; }
  #portal-welcome.portal-tool-page .portal-command-main { display: none; }
  #portal-welcome .portal-hero { display: none; }
  #portal-welcome .portal-hero strong { font-size: 1.2rem; }
  #portal-welcome .portal-hero span { font-size: .7rem; }
  #portal-welcome .portal-hero small, #portal-welcome .portal-hero p { display: none; }
  #portal-welcome .command-dashboard-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 0; }
  #portal-welcome .command-dashboard-grid > * { order: 4; min-width: 0; }
  #portal-welcome .command-dashboard-grid > #nxs-system-heartbeat { order: -1; margin: 0; padding: 16px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-head { margin-bottom: 8px; gap: 8px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-title { font-size: clamp(14px, 3.8vw, 18px); letter-spacing: .08em; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-row { margin: 8px 0 12px; gap: 14px; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-portrait { width: 112px; flex-basis: 112px; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-name { font-size: 30px; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-status { font-size: 14px; margin: 4px 0; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-note { font-size: 11px; margin-bottom: 8px; }
  #portal-welcome #nxs-system-heartbeat .nxs-vega-ask { min-height: 44px; padding: 10px 16px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-monitor { height: 64px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-summary { padding: 8px 0 4px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-summary strong { font-size: 11px; }
  #portal-welcome #nxs-system-heartbeat .nxs-hb-summary small { font-size: 10px; }
  #portal-welcome #nxs-system-heartbeat .nxs-services { gap: 8px; }
  #portal-welcome #nxs-system-heartbeat .nxs-service { padding: 8px 10px; }
  #portal-welcome .command-dashboard-grid > .mobile-personal-battle { order: 0; }
  #portal-welcome .command-dashboard-grid > .mobile-agency-battle { order: 2; }
  #portal-welcome .command-dashboard-grid > .portal-mobile-shortcuts { order: 1; }
  #portal-welcome .command-dashboard-grid > .needs-attention-card { order: 3; }
  #portal-welcome .dashboard-card { padding: 18px; overflow-wrap: anywhere; }
  #portal-welcome .command-dashboard-grid > .dashboard-card { border-color: #51452c; background: linear-gradient(145deg, #252525, #151515); }
  #portal-welcome .command-dashboard-grid > .dashboard-card > span,
  #portal-welcome .command-dashboard-grid > .dashboard-card .dashboard-action { color: #edcc78; }
  #portal-welcome .dashboard-card > h4 { margin: 8px 0 10px; }
  #portal-welcome .dashboard-card > p { margin: 6px 0; font-size: .9rem; line-height: 1.5; }
  #portal-welcome .needs-attention-heading { flex-direction: column; }
  .portal-mobile-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .portal-mobile-shortcuts button { text-align: left; min-height: 76px; padding: 14px 12px; border: 1px solid #675333; border-radius: 14px; background: #242424; color: #f5f4ef; font: inherit; cursor: pointer; }
  .portal-mobile-shortcuts strong { display: block; font-size: .88rem; }
  #portal-welcome .portal-mobile-shortcuts span { display: block; margin-top: 5px; color: #c5c0b5; font-size: .72rem; letter-spacing: 0; }
  #portal-welcome .my-battles-heading, #portal-welcome .panel-heading { flex-wrap: wrap; gap: 12px; }
  #portal-welcome input, #portal-welcome select, #portal-welcome textarea { max-width: 100%; font-size: 16px; }
  #portal-welcome .dashboard-action { min-height: 44px; margin-top: 8px; }
  #portal-welcome .command-dashboard-grid > .dashboard-card:has(> :is(#show-password-form, #show-team-accounts, #show-creator-management, #show-battle-control, #show-my-onboarding, #show-creator-resources)) { padding: 12px 16px; border-radius: 12px; }
  #portal-welcome .command-dashboard-grid > .dashboard-card:has(> :is(#show-password-form, #show-team-accounts, #show-creator-management, #show-battle-control, #show-my-onboarding, #show-creator-resources)) > :is(span, p) { display: none; }
  #portal-welcome .command-dashboard-grid > .dashboard-card:has(> :is(#show-password-form, #show-team-accounts, #show-creator-management, #show-battle-control, #show-my-onboarding, #show-creator-resources)) > h4 { margin: 0; font-size: .95rem; line-height: 1.4; }
  #portal-welcome .command-dashboard-grid > .dashboard-card > :is(#show-password-form, #show-team-accounts, #show-creator-management, #show-battle-control, #show-my-onboarding, #show-creator-resources) { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin: 2px 0 0; padding: 6px 0; font-size: .82rem; text-align: left; }
  #portal-welcome .command-dashboard-grid > .dashboard-card > :is(#show-password-form, #show-team-accounts, #show-creator-management, #show-battle-control, #show-my-onboarding, #show-creator-resources)::after { content: '›'; font-size: 1.4rem; }
  /* Match the NXS badge: black and gunmetal surfaces with restrained gold. */
  #portal-welcome { color: #f5f4ef; }
  #portal-welcome .dashboard-heading .eyebrow,
  #portal-welcome .portal-mobile-shortcuts strong { color: #edcc78; }
  #portal-welcome #portal-user-role,
  #portal-welcome .dashboard-card > p { color: #c5c0b5; }
  #portal-welcome .portal-command-nav .portal-brand-mini strong { color: #edcc78; }
  #portal-welcome .portal-command-nav .portal-nav-button,
  #portal-welcome .portal-command-nav .portal-nav-link { color: #f5f4ef; }
  #portal-welcome .portal-command-nav .portal-nav-button:is(.is-active, :hover, :focus-visible) { background: #30291c; color: #edcc78; border-color: #b8903e; }
  #portal-welcome .portal-menu-toggle,
  #portal-welcome .dashboard-heading #logout-button { background: #242424; color: #edcc78; border: 1px solid #76613a; }
  #portal-welcome .portal-mobile-shortcuts button { background: linear-gradient(145deg, #292929, #171717); }
  #portal-welcome .portal-mobile-shortcuts button:is(:hover, :focus-visible) { border-color: #dca92d; }
  #portal-welcome .needs-attention-link { background: #202020; border-color: #51452c; color: #edcc78; }
  #portal-welcome :is(.team-accounts-panel, .creator-onboarding-panel) { background: #151515; border-color: #51452c; }
  #portal-welcome #nxs-system-heartbeat { background: linear-gradient(145deg, #0b0b0b, #171717); border-color: #76613a; }
  #portal-welcome #nxs-system-heartbeat .nxs-service { background: #1b1b1b; border-color: #3b362b; }
  @media (prefers-reduced-motion: reduce) { #portal-welcome * { scroll-behavior: auto !important; transition: none !important; } }
}
