/* Shared JMS navigation and restrained host integration. No remote assets. */
:host{display:block;font:14px/1.4 Arial,Helvetica,sans-serif;color:#fff;position:relative;z-index:10}
.shell-header{box-sizing:border-box;min-height:72px;background:#172130;color:#fff;display:flex;align-items:center;gap:22px;padding:12px 24px;border-bottom:3px solid #aa1934}
.shell-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;flex-shrink:0}
.shell-brand img{width:142px;height:38px;object-fit:contain}
.brand-copy{border-left:1px solid #536073;padding-left:14px;display:grid;gap:1px}
.brand-copy strong{font-size:19px;letter-spacing:2px}.brand-copy small{font-size:9px;letter-spacing:1.5px;color:#c5d1e2}
.shell-menu{display:flex;align-items:center;justify-content:space-between;flex:1;gap:18px;min-width:0}
.app-links,.account-links{display:flex;gap:6px;align-items:center}.account-links{margin-left:auto;gap:12px}
.app-links a,.account-links a,.sign-out,.menu-toggle{font:inherit;color:#e2e9f3;text-decoration:none;border:1px solid transparent;border-radius:6px;padding:10px 12px;white-space:nowrap;background:transparent;cursor:pointer}
.app-links a:hover,.account-links a:hover,.sign-out:hover,.menu-toggle:hover{background:#2b394e;color:#fff}
.app-links a[aria-current=page]{background:#35445b;color:#fff;box-shadow:inset 0 -3px #e45e7a;font-weight:700}
.account-links a,.sign-out{padding:9px 6px;font-size:13px}.account-name{color:#bfcce0;max-width:150px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.current-app,.menu-toggle{display:none}.sign-out:disabled{opacity:.5;cursor:wait}
:host :focus-visible{outline:3px solid #8fcbff;outline-offset:3px}
.shell-status{margin:0;background:#172130;color:#ffe49a;text-align:center}.shell-status:empty{display:none}
@media(max-width:1100px){.brand-copy{display:none}.shell-header{gap:16px;padding:10px 16px}.account-links{gap:5px}.account-name{max-width:100px}.app-links a{padding:10px}}
@media(max-width:980px){.shell-header{flex-wrap:wrap;gap:12px;min-height:66px}.shell-brand img{width:120px;height:32px}.current-app{display:block;font-weight:700;color:#d3dfef;margin-right:auto}.menu-toggle{display:block;margin-left:auto;border-color:#54647d;min-height:42px}.shell-menu{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:16px;border-top:1px solid #40506a;padding-top:14px}.shell-menu.is-open{display:flex}.app-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-links a{padding:12px}.account-links{margin:0;flex-wrap:wrap;gap:8px}.account-name{width:100%;max-width:none}.account-links a,.sign-out{padding:12px}.brand-copy{display:none}}
/* These selectors only apply to the app hosting this shared component. */
html.jms-ui-ready{--jms-navy:#172130;--jms-red:#aa1934;--jms-border:#c7d2e1}
html.jms-ui-ready body{font-family:Arial,Helvetica,sans-serif}
html.jms-ui-ready button,html.jms-ui-ready input,html.jms-ui-ready select,html.jms-ui-ready textarea{font-family:inherit}
html.jms-ui-ready[data-jms-app=home] body>header{display:none}
html.jms-ui-ready[data-jms-app=home] main{max-width:1120px;margin:28px auto;padding:0 20px}
html.jms-ui-ready[data-jms-app=home] .card{border-top:3px solid #aa1934;border-radius:10px}
html.jms-ui-ready[data-jms-app=parts] .topbar>.brand,html.jms-ui-ready[data-jms-app=parts] #admin-link,html.jms-ui-ready[data-jms-app=parts] #user-name,html.jms-ui-ready[data-jms-app=parts] #logout{display:none!important}
html.jms-ui-ready[data-jms-app=parts] .topbar{min-height:48px;background:#fff;color:#172130;padding:0 16px;border-bottom:1px solid #c7d2e1}
html.jms-ui-ready[data-jms-app=parts] .topbar nav{gap:4px}
html.jms-ui-ready[data-jms-app=parts] .topbar .nav-tab{color:#34465f;padding:14px 12px}
html.jms-ui-ready[data-jms-app=parts] .topbar .nav-tab.active{color:#94162d;background:#f4e9ed}
html.jms-ui-ready[data-jms-app=parts] .workspace-grid{height:calc(100dvh - 236px)}
html.jms-ui-ready[data-jms-app=parts] #admin-accounts-panel{display:none!important}
html.jms-ui-ready[data-jms-app=session] body>header>.brand,html.jms-ui-ready[data-jms-app=session] body>header nav>a,html.jms-ui-ready[data-jms-app=session] #identity,html.jms-ui-ready[data-jms-app=session] #logout,html.jms-ui-ready[data-jms-app=session] #accounts{display:none!important}
html.jms-ui-ready[data-jms-app=session] body>header{padding:10px 20px;min-height:0;border-bottom:1px solid #394962;background:#1e2b3f;justify-content:flex-end}
html.jms-ui-ready[data-jms-app=session] #mobile-menu{margin-right:auto}
html.jms-ui-ready[data-jms-app=debrief] .jenzer-masthead,html.jms-ui-ready[data-jms-app=debrief] .jms-legacy-account{display:none!important}
html.jms-ui-ready[data-jms-app=debrief] .navigation{border-bottom:1px solid #c7d2e1;padding-bottom:12px}
@media(max-width:820px){html.jms-ui-ready[data-jms-app=parts] .topbar{flex-wrap:wrap;padding:0 10px}html.jms-ui-ready[data-jms-app=parts] .topbar nav{overflow-x:auto}html.jms-ui-ready[data-jms-app=parts] .topbar .nav-tab{padding:12px 9px}html.jms-ui-ready[data-jms-app=parts] .workspace-grid{height:auto}html.jms-ui-ready[data-jms-app=home] main{margin:20px auto;padding:0 14px}}

html.jms-ui-ready[data-jms-app=session] #mobile-menu{font-size:14px;min-height:42px;padding:9px 12px}

/* Hide superseded branding from first paint, before shared-login JavaScript.
   App controls remain available independently of the shared header. */
html[data-jms-branding="home"] body>header>img,
html[data-jms-branding="home"] body>header>div,
html[data-jms-branding="parts"] .topbar>.brand,
html[data-jms-branding="session"] body>header>.brand,
html[data-jms-branding="debrief"] .jenzer-masthead{display:none!important}

/* Administrator preview: visible on desktop and phone. */
.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#fff2cc;color:#302600;border-bottom:2px solid #c59c28;font:15px/1.4 system-ui,sans-serif}
.preview-banner p{margin:3px 0 0;font-size:13px}.preview-banner button{flex-shrink:0;background:#28374c;color:#fff;border:0;border-radius:5px;padding:10px 14px;font:inherit;cursor:pointer}
.jms-preview-unavailable{max-width:680px;margin:60px auto;padding:24px;font:18px/1.5 system-ui,sans-serif}
html.jms-preview #preview-user,html.jms-preview #push-enable,html.jms-preview #push-disable{display:none!important}
@media(max-width:600px){.preview-banner{padding:10px 12px;align-items:flex-start}.preview-banner strong{font-size:14px}.preview-banner p{font-size:12px}.preview-banner button{padding:8px 10px;font-size:13px}}
