/* Barra superior, login, mensagens e páginas administrativas */
.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid rgba(190,229,248,.14);background:rgba(5,16,28,.72);position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.topbar .marca{font-weight:800;letter-spacing:-.02em;color:#eff8ff;text-decoration:none;margin-right:6px}
.topbar nav{display:flex;gap:4px;flex-wrap:wrap}
.topbar nav a{color:#cde8fa;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:.88rem;font-weight:650}
.topbar nav a:hover,.topbar nav a.atual{background:#123654}
.topbar .quem{margin-left:auto;display:flex;align-items:center;gap:10px;color:#a9c4da;font-size:.85rem}
.topbar form{margin:0}
.topbar .sair{background:#1a496d;border:1px solid #38749a;color:#dcefff;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer;font:inherit;font-size:.82rem}
.flash{width:min(1400px,calc(100% - 36px));margin:14px auto 0;padding:11px 14px;border-radius:10px;font-size:.9rem;line-height:1.4}
.flash.erro{background:rgba(155,55,72,.38);color:#ffd0d8;border:1px solid rgba(255,127,146,.4)}
.flash.ok{background:rgba(37,124,75,.38);color:#c8f6d8;border:1px solid rgba(127,232,163,.35)}
.flash.senha{background:rgba(130,90,27,.4);color:#ffe9b8;border:1px solid rgba(255,200,106,.45);font-weight:650}
.auth-wrap{min-height:calc(100vh - 20px);display:grid;place-items:center;padding:24px 16px}
.auth-card{width:min(420px,100%);padding:28px 24px}
.auth-card h1{font-size:1.6rem;margin:0 0 4px}
.auth-card .field{margin-top:14px}
.auth-card .btn{width:100%;margin-top:20px;padding:12px}
.toast{position:fixed;right:16px;bottom:16px;max-width:min(420px,calc(100% - 32px));padding:12px 14px;border-radius:11px;background:#123a5a;border:1px solid #3c7aa2;color:#e8f6ff;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:50;font-size:.9rem;opacity:0;transform:translateY(8px);transition:.2s}
.toast.show{opacity:1;transform:none}
.toast.erro{background:#5a1f2b;border-color:#a8485a}
.inline{display:inline}
.linha-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end}
@media(max-width:900px){.linha-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.linha-form{grid-template-columns:1fr}.topbar .quem{margin-left:0;width:100%}}
.hidden{display:none!important}
