/* Shared workspace geometry. Loaded after both portal and public styles. */
html{scrollbar-gutter:stable}
.app-shell,.legacy-shell{--workspace-width:244px;--workspace-gutter:38px;display:grid;grid-template-columns:var(--workspace-width) minmax(0,1fr);min-height:100dvh;background:radial-gradient(ellipse at 100% 0%,#20B8FF09,transparent 50%)}
.legacy-shell{--bg:#F4F9FF;--panel:#fff;--panel-soft:#EAF2FF;--text:#0A1F5C;--muted:#52688F;--stroke:#D8E3F2;--accent:#0B3CC1;--sidebar:#0A1F5C;--sidebar-text:#C8D3E6;--shadow:0 8px 28px #0A1F5C08;background-color:var(--bg);font:15px/1.6 var(--brand-body-font)}
:root[data-theme=dark] .legacy-shell{--bg:#081431;--panel:#102252;--panel-soft:#122658;--text:#EAF2FF;--muted:#C2D5F6;--stroke:#30466F;--accent:#8FBBFF;--sidebar:#07122F;--shadow:0 8px 28px #0002}
.app-shell>aside,.legacy-shell>aside{box-sizing:border-box;background:var(--sidebar);color:var(--sidebar-text);padding:34px 20px 22px;display:flex;flex-direction:column;gap:30px;position:sticky;top:0;height:100dvh;overflow-y:auto;scrollbar-gutter:stable;min-width:0}
.app-shell>main,.legacy-shell>main{box-sizing:border-box;padding:0 var(--workspace-gutter) 28px;max-width:1500px;width:100%;min-width:0;color:var(--text)}
.workspace-brand{display:flex!important;align-items:center;gap:11px;margin:0 8px!important;color:#EAF2FF!important;text-decoration:none;font:800 1.04rem/1.1 var(--brand-display-font)!important;letter-spacing:.09em!important;min-width:0}
.workspace-brand .workspace-logo{display:block;box-sizing:border-box;width:44px;height:50px;flex:none;background:#fff;border:1px solid #D8E3F2;border-radius:9px;padding:2px}
.workspace-logo img{display:block;width:100%;height:100%;object-fit:contain}.workspace-brand .workspace-wordmark{font:inherit;letter-spacing:inherit}.workspace-wordmark>span{display:block;font:650 .51rem/1.1 var(--brand-body-font);letter-spacing:.2em;margin-top:5px}
.app-shell>aside>.eyebrow,.legacy-shell>aside>.eyebrow{margin:8px 12px -16px;color:#A6BDDF;font:650 .61rem/1.6 var(--brand-body-font);letter-spacing:.16em;text-transform:uppercase}
#workspace-nav{display:grid;gap:7px}#workspace-nav a{box-sizing:border-box;display:flex;align-items:center;gap:12px;color:#C8D3E6;padding:12px 14px;min-height:45px;border:0;border-radius:10px;text-decoration:none;font:400 .85rem/1.6 var(--brand-body-font);transition:background .18s,color .18s}
#workspace-nav a:before{display:none}#workspace-nav a:hover{background:#ffffff10;transform:none}#workspace-nav a[aria-current=page]{background:linear-gradient(110deg,#1A66F2,#0B3CC1);color:#fff;font-weight:650;box-shadow:0 4px 14px #0002}
#capability-links{display:grid;gap:5px;border-top:1px solid #ffffff17;padding-top:17px;margin-top:14px}
.app-shell .aside-bottom,.legacy-shell .aside-bottom{margin-top:auto;overflow-wrap:anywhere;border-top:1px solid #ffffff17;padding-top:18px;font:400 .72rem/1.6 var(--brand-body-font)}
.aside-bottom #identity{margin:0 10px 14px;color:#C8D3E6}.aside-bottom #logout{box-sizing:border-box;width:100%;min-height:48px;padding:11px 18px;text-align:left;background:#ffffff08;color:#EAF2FF;border:1px solid #ffffff25;border-radius:10px;font:550 .85rem/1.6 var(--brand-body-font);cursor:pointer}
.app-shell .topbar,.legacy-shell .topbar{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:80px;padding:0;margin:0 0 32px;border-bottom:1px solid var(--stroke);font:400 .78rem/1.6 var(--brand-body-font)}
.topbar .breadcrumb{color:var(--muted);font:inherit}.breadcrumb span{color:var(--text);margin-left:12px}.topbar-actions{display:flex;align-items:center;gap:12px}.workspace-pill{font:650 .6rem/1.6 var(--brand-body-font);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--stroke);border-radius:999px;padding:8px 12px;color:var(--muted)}
.topbar #theme-toggle{box-sizing:border-box;min-height:38px;padding:8px 12px;background:var(--panel);color:var(--text);border:1px solid var(--stroke);border-radius:10px;cursor:pointer;font:550 .72rem/1.6 var(--brand-body-font);background-image:none}
.workspace-page-heading{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0 20px;min-height:155px;margin:0 0 24px}
.workspace-page-heading h1{font:650 clamp(2rem,3.5vw,3.2rem)/1.12 var(--brand-display-font);letter-spacing:-.055em;margin:12px 0 16px;color:var(--text);max-width:none}
.workspace-page-heading .eyebrow{font:650 .66rem/1.6 var(--brand-body-font);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0}
.workspace-page-heading p:not(.eyebrow){font:400 .85rem/1.6 var(--brand-body-font);color:var(--muted);margin:0;max-width:78ch}
.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:32px;padding-top:22px;border-top:1px solid var(--stroke);color:var(--muted);font:400 .72rem/1.6 var(--brand-body-font)}.workspace-footer p{margin:0}.workspace-footer a{color:var(--accent)}
.workspace-menu-toggle{display:none}
@media(max-width:1100px){.app-shell,.legacy-shell{--workspace-width:218px;--workspace-gutter:24px}.app-shell>aside,.legacy-shell>aside{padding:28px 14px 20px}}
@media(max-width:800px){.app-shell,.legacy-shell{--workspace-gutter:20px;grid-template-columns:1fr}.app-shell>aside,.legacy-shell>aside{height:auto;position:relative;padding:20px;gap:18px;overflow:visible}.app-shell>aside>.eyebrow,.legacy-shell>aside>.eyebrow,.app-shell>aside>.aside-bottom,.legacy-shell>aside>.aside-bottom,.app-shell>aside>nav,.legacy-shell>aside>nav{display:none}.app-shell>aside.nav-open>nav,.legacy-shell>aside.nav-open>nav{display:grid;grid-template-columns:1fr 1fr}.app-shell>aside.nav-open>.aside-bottom,.legacy-shell>aside.nav-open>.aside-bottom{display:block;margin:0}.workspace-menu-toggle{display:block;position:absolute;right:20px;top:21px;background:#ffffff10;color:#EAF2FF;border:1px solid #ffffff26;border-radius:10px;padding:7px 12px;min-height:36px;cursor:pointer;font:550 .75rem/1.6 var(--brand-body-font)}.app-shell .topbar,.legacy-shell .topbar{min-height:64px;margin-bottom:18px}.workspace-pill{display:none}.workspace-page-heading{min-height:140px;align-items:start}.workspace-page-heading .hero-action{display:none}#capability-links{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:480px){.app-shell,.legacy-shell{--workspace-gutter:14px}.workspace-page-heading h1{font-size:2rem}.workspace-footer{align-items:start;flex-direction:column}#capability-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#workspace-nav a{transition:none}}

/* Quiet hierarchy and predictable interaction across all company pages. */
#workspace-nav a{position:relative;padding:11px 12px;gap:10px;min-height:44px;font-size:.82rem;line-height:1.55;isolation:isolate}
#workspace-nav a .nav-icon{opacity:.8;transition:opacity .15s}
#workspace-nav a:hover .nav-icon,#workspace-nav a[aria-current=page] .nav-icon{opacity:1}
#workspace-nav a[aria-current=page]:after{content:'';position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:4px;background:#BCEAFF}
#workspace-nav a:focus-visible{outline:2px solid #7ED5FF;outline-offset:3px;background:#ffffff15}
#capability-links{padding-top:14px;margin-top:12px;gap:5px}
#capability-links:before{content:'Company tools';padding:0 12px 5px;color:#A6BDDF;font:650 .59rem/1.6 var(--brand-body-font);letter-spacing:.14em;text-transform:uppercase}
.aside-bottom #identity{font-size:.68rem;letter-spacing:.015em}.aside-bottom #logout:hover{background:#ffffff12;border-color:#ffffff45;transform:none;box-shadow:none}
/* Reserve a quiet shell while authenticated navigation is fetched; never flash public-site chrome. */
@media(scripting:enabled){
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed){--workspace-width:244px;--workspace-gutter:38px;background:#F4F9FF;min-height:100dvh}
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed)>.nav-wrap,
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed)>.footer,
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed)>.backdrop{display:none}
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed)>#main{visibility:hidden}
 html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed):before{content:'';position:fixed;inset:0 auto 0 0;width:var(--workspace-width);background:#0A1F5C}
 .workspace-loading{position:absolute;top:112px;left:calc(var(--workspace-width) + var(--workspace-gutter));color:#52688F;font:400 .85rem/1.6 var(--brand-body-font)}
 :root[data-theme=dark] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed){background:#081431}
 :root[data-theme=dark] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed):before{background:#07122F}
 @media(max-width:1100px){html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed){--workspace-width:218px;--workspace-gutter:24px}}
 @media(max-width:800px){html[data-theme] body:has([data-staff-page]):not(.workspace-legacy-page):not(.workspace-shell-failed){--workspace-width:0px;--workspace-gutter:20px}}
}
@media(prefers-reduced-motion:reduce){#workspace-nav a .nav-icon{transition:none}}

@media(max-width:800px){.app-shell>aside>#workspace-nav,.legacy-shell>aside>#workspace-nav{display:none}.app-shell>aside.nav-open>#workspace-nav,.legacy-shell>aside.nav-open>#workspace-nav{display:grid;grid-template-columns:1fr 1fr}#capability-links:before{grid-column:1/-1}}

.app-shell>main>section{margin-top:24px}

/* Sonryan cyan: navigation hover and keyboard focus. Navy keeps text readable. */
@media(hover:hover){#workspace-nav a:hover,#workspace-nav a[aria-current=page]:hover{background:var(--brand-cyan);color:var(--brand-navy);box-shadow:inset 0 0 0 1px #ffffff26;transform:none}#workspace-nav a[aria-current=page]:hover:after{background:var(--brand-navy)}}
#workspace-nav a:focus-visible,#workspace-nav a[aria-current=page]:focus-visible{background:var(--brand-cyan);color:var(--brand-navy);outline:2px solid #BCEAFF;outline-offset:3px}#workspace-nav a[aria-current=page]:focus-visible:after{background:var(--brand-navy)}

/* Readable mobile controls; prevent small-field focus zoom on mobile browsers. */
@media(max-width:800px){
 .app-shell main :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
 .legacy-shell main :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
 body[data-login=yes] .login-shell :is(input,select,textarea){font-size:16px;min-width:0;max-width:100%}
 .app-shell main form>label,.legacy-shell main form>label{min-width:0}
}
/* Skip link: off-screen until a keyboard user focuses it (the portal pages use class "skip") */
.skip{position:fixed;left:16px;top:-60px;z-index:1000;padding:10px 16px;border-radius:999px;background:#0A1F5C;color:#fff;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:16px}
/* Sign-in pages have a light page, not the dark sidebar the brand colours were made for: dark wordmark in light, light wordmark in dark */
body[data-login=yes] .login-shell .workspace-brand{color:#0A1F5C!important}
:root[data-theme=dark] body[data-login=yes] .login-shell .workspace-brand{color:#EAF2FF!important}
/* A long email address has no natural break point: let it wrap inside narrow columns instead of widening the page */
a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word}
.detail-grid>*,.contact-grid>*,.footer-grid>*,.cta-band>*{min-width:0}
