:root{
  --navy:#0b2530;--navy-2:#123845;--teal:#0f7d86;--teal-2:#16a0a6;--mint:#e8f6f2;--gold:#d9a441;--gold-2:#f2c15d;
  --ink:#17323a;--muted:#667b82;--subtle:#8a999d;--line:#dfe9ea;--line-soft:#edf2f2;--bg:#f4f7f6;--white:#fff;
  --danger:#b84646;--warn:#a96d08;--ok:#1b7f59;--info:#1f6f8b;
  --ok-bg:#e5f5ed;--warn-bg:#fff3d9;--danger-bg:#fde9e9;--info-bg:#e4f1f6;--neutral-bg:#eef2f2;
  --r-card:20px;--r-field:12px;--h-field:44px;--pad-card:24px;--gap:18px;
  --shadow:0 20px 55px rgba(14,43,53,.10);--shadow-soft:0 8px 26px rgba(14,43,53,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% -10%,#dff5f0 0,#f4f7f6 34%,#eef3f2 100%);color:var(--ink);font:14px/1.45 Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.6),transparent 35%),radial-gradient(circle at 88% 8%,rgba(217,164,65,.12),transparent 26%)}
/* Sem login não existe sistema por trás do cartão de acesso */
body:not(.authenticated) .sidebar,body:not(.authenticated) main{display:none}
.login-screen{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#dff5f0,rgba(244,247,246,.96) 44%,#eef3f2)}
.login-card{width:min(430px,calc(100% - 36px));background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:32px;box-shadow:var(--shadow);display:grid;gap:16px}
.login-card h1{margin:4px 0 0;font-size:28px;letter-spacing:-.02em}
.login-card p{margin:0;color:var(--muted)}
.login-card .cta{width:100%}
.login-brand{padding:0;color:var(--ink)}
.login-brand small{color:var(--muted);opacity:1}
.header-actions{display:flex;align-items:center;gap:10px}
.permissions-box{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-field);padding:14px 16px}
.permissions-box label{display:flex;flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font:600 13.5px inherit;color:var(--ink);padding:5px 0}
.permissions-box input{width:18px;height:18px;padding:0}
