.nav-mobile-toggle,.nav-backdrop{display:none}
@media (min-width:861px){.universal-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:260px;background:#102c46;color:#fff;padding:30px 20px;display:flex;flex-direction:column;overflow-y:auto}.universal-sidebar .brand{color:#fff;text-decoration:none;font:800 19px/1 Manrope,system-ui,sans-serif;letter-spacing:-.8px;display:flex;align-items:center;gap:8px}.universal-sidebar .brand span{width:27px;height:27px;border:1px solid #b9d7d1;border-radius:50%;display:grid;place-items:center;font:italic 21px/1 'Playfair Display',serif}.universal-sidebar nav{display:grid;gap:7px;margin-top:52px}.universal-sidebar nav a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:7px;color:#e9f3f0;text-decoration:none;font:800 14px/1.2 Manrope,system-ui,sans-serif}.universal-sidebar nav a span{color:#9fdbce;font-size:16px;line-height:1}.universal-sidebar nav a.active,.universal-sidebar nav a:hover{background:#31556d;color:#fff}.universal-sidebar .sidebar-foot{margin-top:auto;border:1px solid #42667d;border-radius:7px;padding:13px;color:#e2efed;font:11px/1.2 'DM Mono',monospace}.universal-sidebar .status-dot{display:inline-block;width:7px;height:7px;background:#69d4aa;border-radius:50%;margin-right:8px}body.has-universal-navigation>main,body.has-universal-navigation>.page-shell{margin-left:260px!important;width:calc(100% - 260px)!important;max-width:none!important;min-height:100vh}}
@media (max-width:860px){.nav-mobile-toggle{position:fixed;top:12px;left:12px;z-index:120;display:flex;align-items:center;gap:7px;border:0;border-radius:9px;background:#102c46;color:#fff;padding:10px 12px;font:700 13px/1 system-ui,sans-serif;box-shadow:0 5px 18px rgba(10,32,51,.24)}.nav-mobile-toggle span{font-size:18px;line-height:1;color:#b5dfd4}.nav-backdrop{position:fixed;inset:0;z-index:109;border:0;background:rgba(6,21,34,.48)}.sidebar,.universal-sidebar{position:fixed!important;z-index:110!important;top:0!important;bottom:0!important;left:0!important;width:min(82vw,290px)!important;max-width:none!important;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto!important;box-shadow:8px 0 25px rgba(0,0,0,.2)}body.navigation-open .sidebar{transform:translateX(0)}body.navigation-open .nav-backdrop{display:block}.app-shell{display:block!important}.app-shell>main{width:100%!important}body.has-universal-navigation>main,body.has-universal-navigation>.page-shell{margin-left:0!important;width:100%!important;max-width:none!important;padding-top:72px!important}body:not(.has-universal-navigation) main{padding-top:62px}.topbar{padding-left:58px!important}.sidebar nav a{font-size:15px!important;padding:13px 18px!important}}
@media (max-width:560px){body.has-universal-navigation>main,body.has-universal-navigation>.page-shell{padding-left:18px!important;padding-right:18px!important}.topbar{gap:12px!important;align-items:flex-start!important}}

/* Regras finais do menu móvel: preservam os links mesmo quando o CSS da página possui estilos próprios. */
@media (max-width:860px) {
  .sidebar, .universal-sidebar { display:flex !important; flex-direction:column !important; padding:72px 16px 18px !important; background:#102c46 !important; color:#fff !important; }
  .sidebar .brand, .universal-sidebar .brand { display:flex !important; align-items:center !important; gap:8px !important; margin:0 !important; padding:0 2px 18px !important; color:#fff !important; text-decoration:none !important; font:800 19px/1 Manrope,system-ui,sans-serif !important; }
  .sidebar nav, .universal-sidebar nav { display:grid !important; grid-auto-rows:minmax(44px,auto) !important; gap:6px !important; width:100% !important; margin:8px 0 auto !important; padding:0 !important; visibility:visible !important; opacity:1 !important; }
  .sidebar nav a, .universal-sidebar nav a { display:flex !important; align-items:center !important; gap:10px !important; min-height:44px !important; padding:0 12px !important; border-radius:8px !important; color:#e9f3f0 !important; text-decoration:none !important; font:800 15px/1.2 Manrope,system-ui,sans-serif !important; visibility:visible !important; opacity:1 !important; }
  .sidebar nav a span, .universal-sidebar nav a span { display:inline-flex !important; width:20px !important; justify-content:center !important; color:#9fdbce !important; font-size:16px !important; }
  .sidebar nav a.active, .universal-sidebar nav a.active { background:#31556d !important; color:#fff !important; }
  .sidebar .sidebar-foot, .universal-sidebar .sidebar-foot { display:block !important; margin-top:18px !important; padding:13px !important; border:1px solid #42667d !important; border-radius:7px !important; color:#e2efed !important; font:11px/1.2 'DM Mono',monospace !important; }
  .sidebar .status-dot, .universal-sidebar .status-dot { display:inline-block !important; width:7px !important; height:7px !important; background:#69d4aa !important; border-radius:50% !important; margin-right:8px !important; }
}

.nav-mobile-toggle:focus-visible,.sidebar a:focus-visible{outline:3px solid #e9b771;outline-offset:3px}
@media(max-width:560px){.nav-mobile-toggle{width:44px;height:44px;justify-content:center;padding:0!important;font-size:0!important}.nav-mobile-toggle span{font-size:20px!important}.topbar{padding-left:54px!important}}
@media(prefers-reduced-motion:reduce){.sidebar,.universal-sidebar{transition:none!important}}
.sidebar-foot .legal-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding-top:10px;border-top:1px solid #42667d}.sidebar-foot .legal-links a{padding:0!important;min-height:0!important;background:transparent!important;color:#b9cfca!important;font:500 10px/1.4 'DM Mono',monospace!important;text-decoration:underline!important;text-underline-offset:3px}.sidebar-foot .legal-links a:hover{color:#fff!important}
