/* Shared geometry is authoritative; product adapters own only content and brand. */
@media screen {
  .corp-mobile-header,.corp-mobile-shade,.corp-mobile-close { display:none; }
  html[data-corporate-navigation] { --vs-width:220px; --nav-width:220px; }
  html[data-corp-compact=true] { --vs-width:62px; --nav-width:62px; }
  /* The bar edge is independent of the active-item marker and never consumes layout space. */
  html[data-corporate-navigation] body [data-corp-bar] { border:0!important; }
  html[data-corporate-navigation] body [data-corp-bar]::after {
    content:""; display:block; position:absolute; pointer-events:none; z-index:2;
    background:var(--corp-brand); border:0; border-radius:0;
  }
  html[data-corporate-navigation] body [data-corp-submenu] {
    box-sizing:border-box; display:block; color:#eeeeee; background:#232323;
    padding:24px 10px; border:1px solid #3e3e3e; border-radius:0; overflow:auto;
    box-shadow:8px 0 18px #0002; z-index:60; overscroll-behavior:contain;
  }
  html[data-corporate-navigation] body [data-corp-submenu][hidden] { display:none!important; }
  html[data-corporate-navigation] body [data-corp-bar] [data-corp-submenu] a {
    display:block; box-sizing:border-box; min-height:48px; margin:8px 0;
    padding:13px 11px; border:1px solid transparent; border-radius:7px;
    font-size:12px; line-height:18px; font-weight:400;
    color:#b2b2b2; text-decoration:none;
  }
  html[data-corporate-navigation] body [data-corp-bar] [data-corp-submenu] a:is(:hover,:focus-visible,.active,[aria-current=page]) {
    background:#232323; color:#eeeeee;
  }
  html[data-corporate-navigation] body [data-corp-bar] [data-corp-submenu] a:is(.active,[aria-current=page]) { border-color:var(--corp-brand); }
  html[data-corporate-navigation] body [data-corp-submenu-heading] {
    display:flex; align-items:center; gap:8px; padding:0 2px 19px 12px; margin:0 0 7px;
    border-bottom:1px solid #3e3e3e;
  }
  html[data-corporate-navigation] body [data-corp-submenu-heading] :is(h2,strong) { margin:0; padding:0; font-size:13px; line-height:19.5px; font-weight:500; border:0; }
  html[data-corporate-navigation] body [data-corp-submenu-heading] button {
    margin:0 0 0 auto; width:32px; min-width:32px; height:44px; min-height:44px;
    padding:0; border:0; background:transparent; color:#eeeeee; font-size:14px;
  }
}
@media screen and (min-width:641px) {
  html[data-toolbar-position=left] body [data-corp-bar]::after { inset:0 0 0 auto; width:1px; height:auto; }
  html[data-toolbar-position=right] body [data-corp-bar]::after { inset:0 auto 0 0; width:1px; height:auto; }
  html[data-toolbar-position=top] body [data-corp-bar]::after { inset:auto 0 0 0; width:auto; height:1px; }
  html[data-toolbar-position=bottom] body [data-corp-bar]::after { inset:0 0 auto 0; width:auto; height:1px; }
  /* The primary bar owns the accent; the subbar has a neutral content-facing edge. */
  html[data-corporate-navigation][data-toolbar-position=left] body [data-corp-submenu] { border-left:0; border-right:1px solid #3e3e3e; }
  html[data-corporate-navigation][data-toolbar-position=right] body [data-corp-submenu] { border-right:0; border-left:1px solid #3e3e3e; }
  html:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-bar] {
    width:220px!important; padding:19px 10px!important;
  }
  html[data-corp-compact=true]:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-bar] { width:62px!important; }
  html:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-brand] {
    box-sizing:border-box; height:55px!important; flex:0 0 55px!important; margin:0 0 19px!important; padding:0!important;
  }
  html[data-corporate-navigation] body [data-corp-brand] .brand-logo-frame { height:100%; }
  html[data-corp-compact=true]:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-brand] { height:40px!important; flex:0 0 40px!important; margin-bottom:16px!important; }
  html[data-corporate-navigation] body [data-corp-navigation] { gap:4px!important; }
  html:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-item] { box-sizing:border-box; height:42px!important; min-height:42px!important; line-height:16px!important; padding:5px 12px!important; }
  html[data-corp-compact=true]:is([data-toolbar-position=left],[data-toolbar-position=right]) body [data-corp-item] { padding:5px 0!important; }
  html:is([data-toolbar-position=top],[data-toolbar-position=bottom]) body [data-corp-bar] { padding:6px 18px!important; gap:8px!important; }
  html:is([data-toolbar-position=top],[data-toolbar-position=bottom]) body [data-corp-brand] { width:150px!important; flex:0 0 150px!important; height:44px!important; margin:0!important; }
  html:is([data-toolbar-position=top],[data-toolbar-position=bottom]) body [data-corp-item] { box-sizing:border-box; height:60px!important; min-height:60px!important; gap:5px!important; padding:7px 12px!important; font-size:11px!important; line-height:16px!important; }
  html[data-corp-compact=true]:is([data-toolbar-position=top],[data-toolbar-position=bottom]) body [data-corp-item] { height:44px!important; min-height:44px!important; padding:7px 0!important; }
  html:is([data-toolbar-position=top],[data-toolbar-position=bottom]) body [data-corp-submenu] { padding:16px 10px; border-color:#505050; box-shadow:0 8px 24px #0005; }
  html[data-corporate-navigation][data-toolbar-position=top] body [data-corp-submenu] { border-radius:0 0 8px 8px; }
  html[data-corporate-navigation][data-toolbar-position=bottom] body [data-corp-submenu] { border-radius:8px 8px 0 0; }
  html[data-corporate-navigation][data-toolbar-position=top] body [data-corp-submenu] { border-top:0; border-bottom:1px solid #3e3e3e; }
  html[data-corporate-navigation][data-toolbar-position=bottom] body [data-corp-submenu] { border-bottom:0; border-top:1px solid #3e3e3e; }
  html[data-corporate-navigation] body [data-corp-bar][data-corp-nested-frame] { padding:0!important; }
}
@media screen and (max-width:640px) {
  html[data-corporate-navigation] { --nav-width:0px; }
  html[data-corporate-navigation] body { padding:0!important; }
  html[data-corporate-navigation] body [data-corp-legacy-mobile] { display:none!important; }
  html[data-corporate-navigation] body .corp-mobile-header { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; height:60px; padding:8px 12px; background:#303030; color:#eee; }
  html[data-corporate-navigation] body .corp-mobile-logo { width:150px; height:40px; object-fit:contain; background:transparent; }
  html[data-corporate-navigation] body .corp-mobile-toggle,html[data-corporate-navigation] body .corp-mobile-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:0; background:transparent; color:#eee; font-size:22px; border-radius:7px; }
  html[data-corporate-navigation] body [data-corp-bar] { box-sizing:border-box; display:block!important; position:fixed!important; inset:0 auto 0 0!important; width:min(280px,calc(100vw - 40px))!important; height:100dvh!important; min-height:0!important; max-height:100dvh!important; padding:0!important; margin:0!important; border:0!important; background:#303030!important; color:#eee!important; z-index:2100!important; visibility:hidden!important; transform:translateX(-105%)!important; overflow:visible!important; }
  html[data-corp-mobile-open=true] body [data-corp-bar] { visibility:visible!important; transform:none!important; }
  html[data-corporate-navigation] body [data-corp-frame] { box-sizing:border-box; display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; align-items:stretch!important; justify-content:flex-start!important; height:100%!important; max-height:100dvh!important; padding:12px!important; gap:0!important; border:0!important; overflow-y:auto!important; overscroll-behavior:contain; }
  html[data-corporate-navigation] body [data-corp-frame][data-corp-bar] { padding:12px!important; }
  html[data-corporate-navigation] body [data-corp-wrapper] { display:flex!important; position:static!important; flex-direction:column!important; flex-wrap:nowrap!important; align-items:stretch!important; justify-content:flex-start!important; flex:1 0 auto!important; width:100%!important; max-height:none!important; min-height:0!important; padding:0!important; margin:0!important; gap:0!important; transform:none!important; visibility:visible!important; background:transparent!important; }
  html[data-corporate-navigation] body .corp-mobile-close { position:absolute; top:12px; right:8px; z-index:1; }
  html[data-corporate-navigation] body [data-corp-brand] { box-sizing:border-box; display:flex!important; align-items:center!important; justify-content:flex-start!important; width:150px!important; flex:0 0 46px!important; height:46px!important; margin:0 0 12px!important; padding:0!important; }
  html[data-corporate-navigation] body [data-corp-brand] img { max-height:40px!important; object-fit:contain; }
  html[data-corporate-navigation] body [data-corp-navigation] { display:flex!important; flex-direction:column!important; align-items:stretch!important; justify-content:flex-start!important; flex-wrap:nowrap!important; flex:0 0 auto!important; width:100%!important; gap:5px!important; padding:0!important; margin:0!important; overflow:visible!important; }
  html[data-corporate-navigation] body [data-corp-item] { box-sizing:border-box; display:grid!important; grid-template-columns:17px minmax(0,1fr) 14px!important; align-items:center!important; width:100%!important; min-width:0!important; max-width:none!important; min-height:36px!important; height:36px!important; flex:0 0 36px!important; gap:11px!important; padding:5px 10px!important; margin:0!important; border:0!important; border-radius:7px!important; font-size:12px!important; font-weight:400!important; line-height:16px!important; color:#b2b2b2!important; text-decoration:none!important; }
  html[data-corporate-navigation] body [data-corp-item] > svg:first-child { width:17px!important; height:17px!important; }
  html[data-corporate-navigation] body [data-corp-row] { position:relative; display:block!important; min-height:36px!important; }
  html[data-corporate-navigation] body [data-corp-chevron] { position:absolute!important; top:0; right:0; display:flex!important; align-items:center; justify-content:center; width:34px!important; height:36px!important; min-height:0!important; padding:0!important; }
  html[data-corporate-navigation] body [data-corp-chevron] svg,html[data-corporate-navigation] body [data-corp-item] :is(.toolbar-chevron,.nav-chevron,.vs-chevron) { display:block!important; grid-column:3; position:static!important; width:14px!important; height:14px!important; transform:none!important; }
  html[data-corporate-navigation] body [data-corp-control] { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:flex-start!important; width:100%!important; min-height:44px!important; gap:11px!important; padding:7px 10px!important; font-size:12px!important; }
  html[data-corporate-navigation] body [data-corp-control] :is(.toolbar-label,.toolbar-settings-label,.shell-tool-label) { display:block!important; }
  html[data-corporate-navigation] body [data-corp-bar] [data-corp-item] { color:#b2b2b2!important; font-size:12px!important; font-weight:400!important; }
  html[data-corporate-navigation] body [data-corp-bar] [data-corp-item]:is(.active,[aria-current=page]) { color:#eeeeee!important; }
  html[data-corporate-navigation] body [data-corp-control] > svg { width:17px!important; height:17px!important; flex:0 0 17px!important; }
  html[data-corporate-navigation] body [data-corp-utilities] { display:flex!important; flex-direction:column!important; align-items:stretch!important; width:100%!important; margin:8px 0!important; padding:0!important; gap:0!important; }
  html[data-corporate-navigation] body [data-corp-item] :is(.nav-label,.toolbar-label,.shell-menu-label) { display:block!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; text-align:left!important; min-width:0!important; }
  html[data-corporate-navigation] body [data-corp-item]:is(.active,[aria-current=page]) { background:#232323!important; color:#eee!important; box-shadow:inset 3px 0 var(--corp-brand)!important; }
  html[data-corporate-navigation] body [data-corp-submenu]:not([hidden]) { position:fixed!important; inset:8px!important; width:calc(100vw - 16px)!important; height:auto!important; max-height:calc(100dvh - 16px)!important; padding:16px 10px!important; border-radius:8px; z-index:2200!important; }
  html[data-corporate-navigation] body [data-corp-tool]:not([hidden]) { position:fixed!important; inset:70px 8px auto!important; width:calc(100vw - 16px)!important; max-width:none!important; max-height:calc(100dvh - 78px)!important; box-sizing:border-box; overflow:auto!important; z-index:2200!important; }
  html[data-corp-mobile-open=true],html[data-corp-mobile-open=true] body { overflow:hidden!important; }
  html[data-corp-mobile-open=true] body .corp-mobile-shade { display:block; position:fixed; inset:0; width:100%; height:100dvh; border:0; border-radius:0; background:#0008; z-index:2099; }
  html[data-corporate-navigation] body [data-corp-filter] { box-sizing:border-box; position:fixed!important; inset:0 0 0 auto!important; width:min(390px,100vw)!important; max-width:100vw!important; height:100dvh!important; max-height:100dvh!important; margin:0!important; padding:16px!important; border-radius:0!important; overflow-y:auto!important; overscroll-behavior:contain; }
  html[data-corporate-navigation] body [data-corp-filter] :is(input:not([type=checkbox]):not([type=radio]),select) { font-size:16px!important; min-height:44px!important; }
}
@media print { [data-corp-submenu],.corp-mobile-header,.corp-mobile-shade,.corp-mobile-close { display:none!important; } }
/* Approved P423 mobile: stationary menu, moving content, account-backed shortcuts. */
.corp-mobile-bottom,.corp-shortcut-editor,.corp-organize { display:none; }
@media screen and (max-width:640px) {
 html[data-corporate-navigation] { --corp-reveal:0px; --corp-mobile-bg:#f4f4f4; --corp-mobile-text:#252525; --corp-mobile-card:#fff; --corp-mobile-border:#ddd; }
 html[data-corporate-navigation][data-theme=dark] { --corp-mobile-bg:#202020; --corp-mobile-text:#eee; --corp-mobile-card:#2b2b2b; --corp-mobile-border:#505050; }
 html[data-corporate-navigation] body { overflow-x:clip!important; }
 html[data-corporate-navigation] body [data-corp-bar] { transform:none!important; z-index:2100!important; }
 /* Follow the exposed boundary during reveal, while the menu itself stays stationary. */
 html[data-corporate-navigation] body [data-corp-bar]::after {
   inset:0 auto 0 clamp(0px,calc(var(--corp-reveal) - 1px),calc(100% - 1px));
   width:1px; height:auto;
 }
 html[data-corporate-navigation] body [data-corp-submenu] { border-right:1px solid #3e3e3e; }
 html[data-corp-swiping=true] body [data-corp-bar] { visibility:visible!important; }
 html[data-corporate-navigation] body [data-corp-surface] { touch-action:pan-y pinch-zoom; transition:translate .24s ease,margin .2s ease,opacity .2s ease; }
 html:is([data-corp-mobile-open=true],[data-corp-swiping=true]) body [data-corp-surface] { translate:var(--corp-reveal) 0; position:relative; z-index:2101; background:var(--corp-mobile-bg); }
 html[data-corporate-navigation] body .corp-mobile-header { position:sticky; top:0; z-index:40; background:#303030; }
 html[data-corporate-navigation] body .corp-mobile-bottom { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:fixed; bottom:0; left:0; width:100%; box-sizing:border-box; z-index:45; min-height:72px; padding:3px 6px max(9px,env(safe-area-inset-bottom)); background:#303030; border-top:1px solid var(--corp-brand); color:#b2b2b2; }
 html[data-corporate-navigation] body main[data-corp-surface] { padding-bottom:calc(88px + env(safe-area-inset-bottom))!important; min-height:calc(100dvh - 60px); }
 html[data-corporate-navigation] body .corp-mobile-bottom button:is([data-shortcut-position],[data-corp-menu]) { appearance:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; width:auto; min-height:48px; padding:4px 2px; border:1px solid transparent; border-radius:7px; background:transparent; color:inherit; font-family:inherit; font-size:11px!important; line-height:16px!important; cursor:pointer; touch-action:none; user-select:none; -webkit-touch-callout:none; }
 html[data-corporate-navigation] body .corp-mobile-bottom button>span:last-child { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 html[data-corporate-navigation] body .corp-mobile-bottom svg { width:20px; height:20px; flex:none; }
 html[data-corporate-navigation] body .corp-mobile-bottom [data-corp-menu]>span:first-child { font-size:20px; line-height:20px; }
 html[data-corporate-navigation] body .corp-mobile-bottom button:focus-visible,html[data-corporate-navigation] body .corp-shortcut-editor button:focus-visible { outline:2px solid var(--corp-brand); outline-offset:-2px; }
 html[data-corporate-navigation] body .corp-shortcut-fallback { font-size:21px; line-height:20px; }
 html[data-corp-mobile-open=true] body .corp-mobile-shade { left:var(--corp-reveal); width:calc(100vw - var(--corp-reveal)); z-index:2102; background:#0004; touch-action:pan-y pinch-zoom; }
 html[data-corp-swiping=true] body [data-corp-surface] { transition:none; }
 html[data-corp-chrome-hidden=true] body .corp-mobile-header { margin-bottom:-60px; translate:0 -100%; opacity:0; pointer-events:none; }
 html[data-corp-chrome-hidden=true] body .corp-mobile-bottom { translate:0 100%; opacity:0; pointer-events:none; }
 html[data-corporate-navigation] body .corp-organize { display:block; min-height:44px; margin:8px 0; padding:10px; background:transparent; color:inherit; border:1px solid currentColor; border-radius:8px; font:inherit; }
 html[data-corporate-navigation] body .corp-shortcut-editor:not([hidden]) { display:flex; flex-direction:column; margin:0; padding:0; position:fixed; inset:0 0 calc(72px + env(safe-area-inset-bottom)); z-index:2300; box-sizing:border-box; background:var(--corp-mobile-bg); color:var(--corp-mobile-text); }
 html[data-corporate-navigation] body .corp-edit-toolbar { display:flex; align-items:center; gap:6px; min-height:62px; padding:8px 12px; border-bottom:1px solid var(--corp-mobile-border); }
 html[data-corporate-navigation] body .corp-edit-toolbar h2 { flex:1; margin:0; font-size:15px; font-weight:500; }
 html[data-corporate-navigation] body .corp-shortcut-editor button { appearance:none; min-height:44px; width:auto; padding:6px 8px; font:inherit; font-size:12px!important; line-height:16px!important; color:inherit; background:transparent; border:0; border-radius:8px; }
 html[data-corporate-navigation] body .corp-edit-catalog { flex:1; min-height:0; overflow:auto; padding:12px; overscroll-behavior:contain; }
 html[data-corporate-navigation] body .corp-edit-catalog h3 { margin:0 0 12px; font-size:13px; font-weight:500; }
 html[data-corporate-navigation] body .corp-edit-library { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 6px; }
 html[data-corporate-navigation] body .corp-edit-library button { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:7px; min-height:89px; padding:6px 2px; min-width:0; touch-action:none; user-select:none; -webkit-touch-callout:none; }
 html[data-corporate-navigation] body .corp-edit-library button> :first-child { box-sizing:border-box; width:48px; height:48px; padding:12px; border:1px solid var(--corp-mobile-border); border-radius:12px; background:var(--corp-mobile-card); }
 html[data-corporate-navigation] body .corp-edit-library button>span:last-child { font-size:11px; line-height:1.2; overflow-wrap:anywhere; }
 html[data-corporate-navigation] body .corp-edit-library button[aria-pressed=true]> :first-child { border-color:var(--corp-brand); outline:1px solid var(--corp-brand); }
 html[data-corporate-navigation] body .corp-edit-status { margin:0; padding:8px 14px; min-height:50px; border-top:1px solid var(--corp-mobile-border); font-size:12px; }
 html[data-corp-editing=true] body .corp-mobile-bottom { z-index:2301; }
 html[data-corp-editing=true] body .corp-mobile-bottom [data-shortcut-position] { border:1px dashed var(--corp-brand); }
 html[data-corp-editing=true] body .corp-mobile-bottom [data-shortcut-position].corp-drop-target { border:2px solid var(--corp-brand); background:#232323; }
 html[data-corp-editing=true] body .corp-mobile-bottom [data-corp-menu] { opacity:.45; }
 html[data-corporate-navigation] body .corp-drag-ghost { position:fixed; box-sizing:border-box; z-index:2400; width:76px; min-height:82px; padding:8px; display:flex; flex-direction:column; align-items:center; gap:5px; background:var(--corp-mobile-card); color:var(--corp-mobile-text); border:2px solid var(--corp-brand); border-radius:14px; pointer-events:none; box-shadow:0 8px 20px #0004; }
 html[data-corporate-navigation] body .corp-drag-ghost svg { width:24px; height:24px; }
 html[data-corporate-navigation] body .corp-drag-ghost span { font-size:11px; text-align:center; line-height:1.2; }
}
@media(prefers-reduced-motion:reduce) { html[data-corporate-navigation] body [data-corp-surface] { transition:none; } }
@media print { .corp-mobile-bottom,.corp-shortcut-editor,.corp-organize,.corp-drag-ghost { display:none!important; } }

@media screen and (max-width:640px) { html[data-corp-mobile-panel=true] body [data-corp-bar] { z-index:2205!important; } }

@media screen and (max-width:640px) { html[data-corporate-navigation][data-corp-mobile-open=false]:not([data-corp-swiping=true]) body [data-corp-bar] * { visibility:hidden!important; } }

.corp-mobile-notice[hidden] { display:none; }
@media screen and (max-width:640px) { .corp-mobile-notice:not([hidden]) { position:fixed; bottom:80px; left:12px; right:12px; z-index:2400; margin:0; padding:12px; border:1px solid var(--corp-brand); border-radius:8px; color:var(--corp-mobile-text); background:var(--corp-mobile-card); font-size:13px; } }
