/* Navigation and home portal. Keep operational controls ahead of the directory. */
aside{height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#805019 #111}
aside>*{flex-shrink:0}aside nav{flex-shrink:0}.sidebar-foot{padding-top:24px}
.mobile-brand,.mobile-tools{display:none}
.home-portal{margin:10px 0 30px;padding:26px;border-radius:18px;background:#111;color:#fff}
.portal-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.portal-heading .eyebrow{color:#ffa32e;margin-bottom:7px}.portal-heading h2{font-size:25px}.portal-heading>span{font-size:12px;color:#bdb6ab}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-card{display:flex;align-items:center;gap:13px;min-height:100px;padding:17px;background:#202020;color:#fff;border:1px solid #39332a;border-radius:12px;text-decoration:none;transition:border-color .15s,background .15s}
.portal-card:hover{background:#2d251a;border-color:#ff9300}.portal-card strong{display:block;font-size:15px;margin-bottom:5px}.portal-card small{display:block;font-size:11px;color:#c2beb7;line-height:1.5}.portal-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#ff9300;color:#111;font-size:23px}.portal-arrow{margin-left:auto;color:#ffad41}
.brand-loading{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#080808;color:#eee;padding:30px;text-align:center}.brand-loading img{width:210px;max-width:65vw;aspect-ratio:1;object-fit:contain}.loading-label{font-size:10px;letter-spacing:4px;color:#ff9c20;margin-top:10px}.brand-loading p{font-size:13px;color:#b8b1a8;margin-top:22px}.loading-line{height:3px;width:120px;background:#342516;margin-top:35px;border-radius:8px;overflow:hidden}.loading-line:after{content:'';display:block;width:40%;height:100%;background:#ff9500;animation:hub-loading 1.2s ease-in-out infinite alternate}@keyframes hub-loading{to{transform:translateX(150%)}}@media(prefers-reduced-motion:reduce){.loading-line:after{animation:none;width:100%}}
dialog .portal-grid{grid-template-columns:1fr 1fr}dialog .portal-card{min-height:100px}.shell{min-width:0}
@media(min-width:761px) and (max-width:1150px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 aside{display:none}.shell{margin:0;padding-bottom:env(safe-area-inset-bottom,0px)}
 header{height:auto;min-height:86px;background:#080808;color:#fff;padding:10px 18px;padding-top:max(10px,env(safe-area-inset-top));gap:12px}header #breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;text-decoration:none;color:#ff9b20;gap:12px}.mobile-brand img{width:65px;height:65px;object-fit:contain}.mobile-brand span{font-size:9px;letter-spacing:2px}.header-actions{margin-left:auto;gap:8px}.app-role{color:#d4c8b7;font-size:11px}.mobile-signout{color:#ddd!important;border-color:#65533d!important;background:transparent!important}
 .mobile-tools{display:flex;position:sticky;top:0;z-index:4;padding:10px 18px;gap:10px;background:#151515;border-bottom:2px solid #f49312}.mobile-tools a,.mobile-tools button{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #51412c;border-radius:9px;background:#23201b;color:#fff;font-size:13px;text-decoration:none;font-weight:700;flex:1}.mobile-tools button{background:#ff9500;color:#111;border-color:#ff9500}
 main{padding:24px 16px 28px}.page-head h1{font-size:28px}.sync-bar{padding:10px 18px}.home-portal{margin:8px 0 24px;padding:20px 16px}.portal-heading>span{display:none}.portal-heading h2{font-size:23px}.portal-grid,dialog .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px;min-height:155px;position:relative}.portal-card strong{font-size:15px}.portal-card small{font-size:11px}.portal-arrow{position:absolute;right:14px;top:16px}.portal-icon{width:38px;height:38px}.shift-card{border-top:3px solid #ff9300}.phase-stats .stat{min-width:0}.phase-stats .stat strong{font-size:26px}#toast{bottom:20px}footer{gap:12px;flex-wrap:wrap}
}
@media(max-width:360px){.portal-card{padding:12px}.mobile-brand span{display:none}}
