/* Shared portal shell. Loaded with the markup, before deferred enhancement. */
:root{--portal-sidebar:260px;--portal-surface:#fff;--portal-canvas:#f3f6fa;--portal-line:#dfe6ef;--portal-ink:#1f3048;--portal-muted:#65758a;--portal-focus:#5989d2}
body:has(.portal-nav){margin:0;padding:0 0 0 var(--portal-sidebar);min-width:320px;background:var(--portal-canvas);color:var(--portal-ink);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.55}
body:has(.portal-nav),body:has(.portal-nav) *{box-sizing:border-box}
body:has(.portal-nav) .portal-header:not(.portal-header--login){position:fixed;inset:0 auto 0 0;width:var(--portal-sidebar);height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;background:linear-gradient(165deg,#1c304b,#142236 75%);color:#fff;border-right:1px solid #253a54;z-index:60}
body:has(.portal-nav) .portal-header__bar{display:flex;align-items:center;width:100%;min-height:100px;margin:0;padding:25px 22px;flex:0 0 auto;gap:10px}
body:has(.portal-nav) .portal-brand{display:flex;align-items:center;min-width:0;gap:11px;color:#fff;text-decoration:none;font-size:19px;line-height:1.35;letter-spacing:-.025em}
body:has(.portal-nav) .portal-brand small{color:#9fb3ce;font-size:11px;letter-spacing:.04em;margin-top:4px}
body:has(.portal-nav) .portal-brand__mark{display:grid;place-items:center;flex-shrink:0;width:38px;height:40px;border-radius:11px;background:linear-gradient(145deg,#4e87df,#315fa7);color:#fff;border:1px solid #a9ccff40;box-shadow:0 4px 12px #0002}
body:has(.portal-nav) .portal-nav{flex:1 1 auto;min-height:0;width:100%;margin:0;padding:0 12px 20px;overflow-y:auto;overscroll-behavior:contain;background:transparent;border:0;scrollbar-width:thin;scrollbar-color:#4d6585 transparent}
body:has(.portal-nav) .portal-nav__inner{display:flex;flex-direction:column;gap:6px;width:100%;margin:0;padding:0}
body:has(.portal-nav) .portal-nav .portal-category{margin:0;padding:0;border:0;background:transparent;box-shadow:none;min-width:0}
body:has(.portal-nav) .portal-nav .portal-category>summary{line-height:1.45;min-height:44px;padding:12px;border-radius:9px}
body:has(.portal-nav) .portal-category__items{padding:0 0 5px 3px;min-width:0}
body:has(.portal-nav) .portal-nav .portal-category__items a{display:flex;align-items:center;min-width:0;min-height:44px;margin:3px 0;padding:10px 11px;gap:10px;border-radius:8px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.4;text-decoration:none;transition:background-color .15s,color .15s}
body:has(.portal-nav) .portal-nav svg{width:18px;height:18px;flex-shrink:0}
body:has(.portal-nav) .portal-account-wrap{flex:0 0 auto;width:100%;margin-top:auto;padding:14px 18px;border-top:1px solid #ffffff14;background:#00000008}
body:has(.portal-nav) .portal-account{margin:0;padding:0;border:0;background:none;color:#fff}
body:has(.portal-nav) .portal-account summary{display:flex;min-height:44px;align-items:center;gap:10px;padding:4px 0;font-size:13px;cursor:pointer}
body:has(.portal-nav) .portal-avatar{width:34px;height:34px;border-radius:11px;background:#ffffff12;color:#dbe9ff;border:1px solid #ffffff12}
body:has(.portal-nav) .portal-account__menu{bottom:calc(100% + 12px);top:auto;right:0;max-width:calc(100vw - 24px);padding:7px;border:1px solid var(--portal-line);border-radius:12px;box-shadow:0 12px 40px #13264024;z-index:65}
body:has(.portal-nav) .portal-account__menu :is(a,button){min-height:44px;border-radius:7px}
body:has(.portal-nav) .portal-account__menu button{background:none;color:#ac3c32;border:0}
body:has(.portal-nav) .portal-account__menu button:hover{background:#f2f5fa}
body:has(.portal-nav)>main,body:has(.portal-nav)>main.container,body:has(.portal-nav)>main.shell{width:min(1600px,calc(100% - 64px));max-width:1600px;min-width:0;margin:0 auto;padding-top:32px;padding-bottom:48px}
body:has(.portal-nav) main :is(section,article,aside,.field,.form-grid,.cs2-main,.cs2-content,.ec-col,.workspace,.results,.panel){min-width:0}
body:has(.portal-nav) :is(.page-heading,.panel__heading){gap:18px;flex-wrap:wrap}
body:has(.portal-nav) :is(.page-heading,.panel__heading,.workspace__heading) :is(h1,h2){overflow-wrap:anywhere}
body:has(.portal-nav) :is(.panel,.workspace,.results,.latest-products,.mtt-workspace,.mtt-editor,.mtt-documents){border-color:var(--portal-line);border-radius:16px;box-shadow:0 4px 20px #1b355507}
body:has(.portal-nav) .workspace__heading{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}
body:has(.portal-nav) .cs2-heading{gap:20px;grid-template-columns:minmax(0,1fr) auto}
body:has(.portal-nav) .cs2-heading>div{min-width:0}
body:has(.portal-nav) .cs2-heading>div:last-child:not(:first-child){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:420px}
body:has(.portal-nav) .cs2-heading a{white-space:normal;text-align:center}
body:has(.portal-nav) :is(.table-wrap,.ec-scroll,.cs2-table-wrap,.mtt-table-wrap){width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
body:has(.portal-nav) :is(.table-wrap,.ec-scroll,.cs2-table-wrap,.mtt-table-wrap):focus-visible{outline:3px solid var(--portal-focus);outline-offset:3px}
body:has(.portal-nav) td{font-variant-numeric:tabular-nums}
body:has(.portal-nav) input[type=file]{max-width:100%}
body:has(.portal-nav) .field :is(input,select,textarea){min-width:0;max-width:100%}
body:has(.portal-nav) .cs2-filter-panel,body:has(.portal-nav) .cs2-filters label{min-width:0}
body:has(.portal-nav) .cs2-filters :is(input,select){max-width:100%}
body:has(.portal-nav) .source-access{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
body:has(.portal-nav) .source-access article{background:#fff;border:1px solid var(--portal-line);border-radius:14px;overflow-wrap:anywhere}
body:has(.portal-nav) .source-access button{width:100%;white-space:normal;min-height:44px}
body:has(.portal-nav) .manual-session{background:#fff;border:1px solid #d2ddeb;border-left:3px solid #477bc7;border-radius:14px}
body:has(.portal-nav) footer{max-width:1600px;width:calc(100% - 64px);margin:0 auto;padding-bottom:24px;color:var(--portal-muted);font-size:13px}
.portal-nav-search{position:relative;display:block;margin:0 2px 16px}
.portal-nav-search>span{display:block;margin:0 2px 7px;color:#9fb3ce;font-size:11px;font-weight:500}
body:has(.portal-nav) .portal-header .portal-nav .portal-nav-search input{width:100%;min-height:42px;border:1px solid #ffffff24;border-radius:9px;padding:10px 12px;background:#ffffff08;color:#fff;font-size:14px;line-height:1.3}
body:has(.portal-nav) .portal-nav-search input::placeholder{color:#a5b7ce}
body:has(.portal-nav) .portal-nav-search input:focus{border-color:#84b5fc;box-shadow:0 0 0 3px #84b5fc22;outline:0}
.portal-nav-empty{margin:12px;color:#bdcce0;font-size:13px;line-height:1.6}
.portal-nav-backdrop{display:none}
body:has(.portal-nav) [hidden]{display:none!important}
.portal-table-hint{display:none;margin:0;padding:9px 12px;color:#596b84;font-size:12px;line-height:1.5;background:#f1f5fb;border:1px solid var(--portal-line);border-radius:8px 8px 0 0}
.portal-table-hint[data-overflow=true]{display:block}
button:disabled{cursor:not-allowed}
/* Login has no navigation but shares the same calmer visual language. */
body:has(.portal-header--login){min-width:320px;margin:0;background:radial-gradient(ellipse at top,#e8f0fd 0,transparent 65%),#f4f7fb}
.portal-header--login .portal-header__bar{min-height:80px}
body:has(.portal-header--login) .auth-card{max-width:480px;border-radius:18px;border-top:1px solid var(--portal-line);box-shadow:0 16px 60px #203e7310;margin:48px auto;padding:36px}
body:has(.portal-header--login) .auth-card h1{font-size:30px}
@media(min-width:1101px) and (max-width:1350px){body:has(.portal-nav) .cs2-workspace{grid-template-columns:220px minmax(0,1fr);gap:18px}body:has(.portal-nav) .cs2-heading{display:flex;flex-wrap:wrap}body:has(.portal-nav) .ec-groups{grid-template-columns:1fr}}
@media(max-width:1100px){
 body:has(.portal-nav){padding-left:0}
 body:has(.portal-nav) .portal-header:not(.portal-header--login){position:sticky;top:0;inset-inline:auto;width:100%;height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;border:0;box-shadow:0 2px 14px #10233c1c}
 body:has(.portal-nav) .portal-header__bar{min-height:76px;padding:14px 20px;gap:12px;flex-wrap:wrap}
 body:has(.portal-nav) .portal-brand{margin-right:auto;font-size:17px}
 body:has(.portal-nav) .portal-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff0c;color:#fff;font-size:14px;gap:8px;cursor:pointer}
 body:has(.portal-nav) .portal-menu-toggle[aria-expanded=true]{background:#345e91;border-color:#739bd0}
 body:has(.portal-nav) .portal-menu-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
 body:has(.portal-nav) .portal-current-section{display:none}
 body:has(.portal-nav) .portal-account-wrap{width:auto;margin:0;padding:15px 18px 0 0;border:0;align-self:start;background:transparent}
 body:has(.portal-nav) .portal-account summary [data-account-name]{display:none}
 body:has(.portal-nav) .portal-account summary{min-width:44px;justify-content:center}
 body:has(.portal-nav) .portal-account summary>svg{display:none}
 body:has(.portal-nav) .portal-account__menu{top:calc(100% + 15px);bottom:auto;z-index:70}
 body:has(.portal-nav) .portal-nav{grid-column:1/-1;max-height:65vh;padding:16px;border-top:1px solid #ffffff14}
 body:has(.portal-nav) .portal-header.portal-ux .portal-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);background:#182b44;box-shadow:0 15px 24px #0b1d3333}
 body:has(.portal-nav) .portal-header.portal-menu-open .portal-nav{display:block}
 body.portal-nav-open{overflow:hidden}
 body.portal-nav-open .portal-nav-backdrop{display:block;position:fixed;inset:0;z-index:55;background:#0e203c66;backdrop-filter:blur(2px)}
 body:has(.portal-nav)>main,body:has(.portal-nav)>main.container,body:has(.portal-nav)>main.shell{width:calc(100% - 40px);padding-top:24px}
 body:has(.portal-nav) .cs2-heading{display:flex;flex-wrap:wrap}
 body:has(.portal-nav) .cs2-heading>div:last-child:not(:first-child){justify-content:flex-start;max-width:100%}
}
@media(max-width:760px){
 body:has(.portal-nav) .portal-header__bar{min-height:72px;padding:12px 0 12px 14px;gap:10px;flex-wrap:nowrap}
 body:has(.portal-nav) .portal-brand{font-size:16px;gap:8px}
 body:has(.portal-nav) .portal-brand__mark{width:32px;height:34px;border-radius:9px}
 body:has(.portal-nav) .portal-brand small{font-size:10px;margin-top:2px}
 body:has(.portal-nav) .portal-account-wrap{padding:14px 10px 0 8px}
 body:has(.portal-nav) .portal-menu-toggle{padding:9px 10px;font-size:13px}
 body:has(.portal-nav)>main,body:has(.portal-nav)>main.container,body:has(.portal-nav)>main.shell{width:calc(100% - 28px);padding-top:20px;padding-bottom:32px}
 body:has(.portal-nav) .workspace__heading,body:has(.portal-nav) .request-form{grid-template-columns:minmax(0,1fr)}
 body:has(.portal-nav) .workspace__heading .updated{min-width:0}
 body:has(.portal-nav) .hero{flex-wrap:wrap;gap:16px}
 body:has(.portal-nav) .stats{grid-template-columns:1fr;gap:0;border-radius:12px}
 body:has(.portal-nav) .stats article{padding:13px 16px;border-right:0;border-bottom:1px solid var(--portal-line);display:flex;align-items:center;justify-content:space-between;gap:12px}
 body:has(.portal-nav) .stats article:last-child{border-bottom:0}
 body:has(.portal-nav) :is(.panel,.workspace,.results,.latest-products){padding:18px;border-radius:14px}
 body:has(.portal-nav) .document-tabs,body:has(.portal-nav) .section-nav{gap:20px;max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;scroll-padding-inline:8px}
 body:has(.portal-nav) :is(.document-tabs,.section-nav) a{min-height:46px;flex-shrink:0}
 body:has(.portal-nav) .ec-groups{grid-template-columns:1fr}
 body:has(.portal-nav) .cs2-heading{padding:20px}
 body:has(.portal-nav) h1{font-size:27px;line-height:1.25;letter-spacing:-.025em}
 body:has(.portal-nav) h2{font-size:21px;line-height:1.35}
 body:has(.portal-nav) :is(input,select,textarea):not([type=hidden]):not([type=checkbox]):not([type=radio]){font-size:16px!important;min-height:46px}
 body:has(.portal-nav) :is(button,.button,.primary,.secondary,summary){touch-action:manipulation}
 body:has(.portal-nav) :is(button,.button,.primary,.secondary){min-height:44px;white-space:normal}
 body:has(.portal-nav) .form-actions{gap:12px;flex-wrap:wrap}
 body:has(.portal-nav) .form-actions>.primary{width:100%;justify-content:center}
 body:has(.portal-nav) footer{width:calc(100% - 28px);font-size:12px}
 .portal-header--login .portal-header__bar{width:calc(100% - 32px);min-height:72px;gap:12px}
 .portal-header--login .portal-brand{font-size:17px}
 .portal-header--login .portal-private{font-size:11px;max-width:100px;text-align:right}
 body:has(.portal-header--login) .auth-card{margin:24px auto;padding:24px;width:100%;border-radius:16px}
 body:has(.portal-header--login) main{width:calc(100% - 28px);padding:0}
}
@media(max-width:370px){body:has(.portal-nav) .portal-menu-toggle{font-size:0;gap:0}body:has(.portal-nav) .portal-menu-toggle svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){body:has(.portal-nav) *{scroll-behavior:auto!important;transition:none!important}}
@media print{body:has(.portal-nav){padding:0;background:#fff}.portal-header,.portal-nav-backdrop,.portal-table-hint{display:none!important}body:has(.portal-nav)>main{width:100%;max-width:none;padding:0}}
.portal-nav .portal-category--search>.portal-category__items{display:block}
