/* Nodus base.css — casco compartilhado (sidebar/nav/layout).
   Carregado ANTES do <style> inline de cada pagina (inline sobrescreve)
   e ANTES do theme.css (re-skin, que vem por ultimo). v20260707 */
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);}
.app{display:flex;min-height:100vh;}
.sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:40;}
.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 16px 16px;border-bottom:1px solid var(--sidebar-border);}
.sidebar-logo-text{font-size:13px;font-weight:600;color:#fff;line-height:1.3;}
.sidebar-logo-sub{font-size:10px;color:var(--sidebar-text);display:block;}
.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto;}
.nav-section{font-size:13px;font-weight:600;color:#4a5f88;text-transform:uppercase;letter-spacing:.7px;padding:14px 18px 5px;}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 18px;color:var(--sidebar-text);text-decoration:none;font-size:13px;transition:all .12s;border-left:3px solid transparent;}
.nav-item:hover{background:var(--sidebar-hover);color:#c8d8f0;}
.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active);border-left-color:#1677ff;font-weight:500;}
.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.75;display:flex;align-items:center;justify-content:center;}
.sidebar-footer{padding:12px 10px;border-top:1px solid var(--sidebar-border);}
.sidebar-user{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:6px;}
.user-avatar{width:26px;height:26px;border-radius:50%;background:#1677ff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0;}
.user-name{font-size:12px;color:#c8d8f0;font-weight:500;}
.user-role{font-size:10px;color:var(--sidebar-text);display:block;}
.btn-logout:hover{background:rgba(255,77,79,.15);border-color:rgba(255,77,79,.4);color:#ff7875;}
.main{flex:1;margin-left:220px;display:flex;flex-direction:column;min-width:0;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:998;}
.sidebar-overlay.active{display:block;}
