/* Shared fixed navigation and full-width reading area. */
:root{--portal-nav:238px}
body.portal-layout{padding-left:var(--portal-nav)}
.portal-layout .portal-rail{position:fixed;inset:0 auto 0 0;width:var(--portal-nav);z-index:50;display:flex;flex-direction:column;padding:24px 16px;overflow:auto;background:#0e1111;color:#fff;transform:none;font:14px/1.5 Aptos,"Segoe UI",sans-serif}
.portal-rail .brand{display:flex;gap:10px;align-items:center;margin-bottom:24px}.portal-rail .brand-mark{background:#B3D235;color:#0e1111;padding:10px;border-radius:8px;font-weight:900}.portal-rail .brand strong{display:block;font-size:17px}.portal-rail .brand span{display:block;color:#aab7bb;font-size:12px}
.portal-rail nav{display:grid;gap:5px;background:transparent;position:static;border:0;padding:0}.portal-rail nav a{display:flex;align-items:center;gap:8px;padding:10px 8px;border-left:3px solid transparent;border-radius:6px;color:#d8e0e3;text-decoration:none;font-size:14px;min-height:42px}.portal-rail nav a.active{border-color:#B3D235;background:#202727;color:#fff}.portal-rail nav a:hover{background:#202727}.portal-rail .nav-index{font-size:11px;color:#aab7bb;min-width:20px}.portal-rail nav .nav-sub{font-size:12px!important;margin:0 0 0 18px}.portal-rail .aside-note{margin-top:auto;padding-top:24px;font-size:11px;color:#aab7bb}
.portal-layout main{margin-left:0;max-width:none;width:100%;min-width:0}.portal-layout .page{max-width:none;width:100%;padding:38px 24px 60px}.portal-layout>main:not(#main){padding:24px}.portal-layout>.draft{left:var(--portal-nav)}
.portal-layout .commercial-guide .market-matrix,.portal-layout .commercial-guide .model-comparison{min-width:0;width:100%;font-size:13px}.portal-layout .commercial-guide .market-matrix thead th{font-size:14px}.portal-layout .commercial-guide td,.portal-layout .commercial-guide th{overflow-wrap:anywhere}.portal-layout .commercial-guide table.cl{display:table}
.portal-layout .lane-grid{min-width:0;grid-template-columns:135px repeat(4,minmax(0,1fr))}.portal-layout .lane-grid>div{overflow-wrap:anywhere}.portal-layout .diagram-scroll{padding:8px}.portal-layout .diagram,.portal-layout .swx-scroll svg,.portal-layout .scroll svg{width:100%!important;min-width:0!important;height:auto}
.portal-layout .route-map{overflow:auto}.portal-layout .route-row{grid-template-columns:130px minmax(0,1fr)}.portal-layout .route-track{min-width:0}.portal-layout .route-map-head{grid-template-columns:130px 1fr}.portal-layout .route-node{padding:5px}.portal-layout .reconciled-head{min-width:0}
.portal-view-hidden{display:none!important}.portal-layout .mobile-toggle,.portal-menu{display:none}
@media(max-width:900px){:root{--portal-nav:210px}.portal-layout .page,.portal-layout>main:not(#main){padding:28px 16px}.portal-layout .diagram,.portal-layout .swx-scroll svg,.portal-layout .scroll svg{min-width:1000px!important}.portal-layout .lane-grid{min-width:850px}.portal-layout .commercial-guide .market-matrix,.portal-layout .commercial-guide .model-comparison{min-width:800px}}
@media(max-width:700px){body.portal-layout{padding-left:0}.portal-layout .portal-rail{width:238px;transform:translateX(-100%)}.portal-layout.nav-open .portal-rail{transform:none}.portal-layout>.draft{left:0}.portal-layout .mobile-toggle,.portal-menu{display:block;position:fixed;top:5px;left:8px;z-index:70;background:#0e1111;color:white;border:0;border-radius:6px;padding:8px 12px}.portal-layout>header{padding-top:52px}.portal-layout .page{max-width:100%;padding-top:52px}}
@media print{body.portal-layout{padding-left:0}.portal-layout .portal-rail,.portal-menu{display:none!important}.portal-view-hidden{display:block!important}.portal-layout .page{padding:0}}
