/* Telas do sistema: login, minha conta, gerenciar usuários. */
*{margin:0;padding:0;box-sizing:border-box}
body{display:flex;flex-direction:column;font-family:'IBM Plex Sans','Segoe UI',Helvetica,Arial,sans-serif;color:var(--ed-texto);background:var(--ed-fundo);font-size:14px;line-height:1.5;min-height:100vh}
a{color:var(--ed-azul)}
.wrap{max-width:1100px;margin:0 auto;padding:30px 22px 70px}
.kicker{font:600 11px Archivo,sans-serif;letter-spacing:2px;color:var(--ed-muted);text-transform:uppercase}
h1{font:500 27px Archivo,sans-serif;color:var(--ed-navy);margin:6px 0 4px;letter-spacing:-.3px} h1 b{font-weight:800}
h2{font:700 16px Archivo,sans-serif;color:var(--ed-navy);margin-bottom:14px}
.sub{color:var(--ed-muted);font-size:13px;margin-bottom:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.card{background:var(--ed-card);border:1px solid var(--ed-borda);border-radius:14px;padding:22px 24px;margin-top:18px}

/* formulários */
label{display:block;font-size:12px;font-weight:600;color:var(--ed-muted);margin:14px 0 6px;letter-spacing:.2px}
label:first-child{margin-top:0}
input[type=text],input[type=password],input[type=email],select{width:100%;background:#0d131c;border:1px solid var(--ed-borda);border-radius:10px;color:var(--ed-texto);font:inherit;font-size:14px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus{outline:none;border-color:var(--ed-azul);box-shadow:0 0 0 3px rgba(102,169,240,.18)}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ed-texto);font-weight:500;margin-top:14px;cursor:pointer}
.chk input{accent-color:var(--ed-azul);width:16px;height:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;font:700 13.5px Archivo,sans-serif;letter-spacing:.2px;padding:11px 18px;cursor:pointer;text-decoration:none;transition:filter .15s,transform .05s,background .15s}
.btn:active{transform:translateY(1px)}
.btn-pri{background:linear-gradient(135deg,#66a9f0,#4f8fe0);color:#06101c;box-shadow:0 6px 18px rgba(102,169,240,.25)}
.btn-pri:hover{filter:brightness(1.08)}
.btn-sec{background:var(--ed-card2);color:var(--ed-texto);border:1px solid var(--ed-borda)}
.btn-sec:hover{background:#1d2738}
.btn-mini{padding:6px 10px;font-size:12px;border-radius:8px}
.btn-perigo{background:transparent;color:var(--ed-coral);border:1px solid #5a2b26}
.btn-perigo:hover{background:#2a1714}
.acoes{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}

.alerta{border-radius:10px;padding:11px 14px;font-size:13px;margin-bottom:16px;border:1px solid}
.alerta.erro{background:#2a1714;border-color:#5a2b26;color:#f6b4a8}
.alerta.ok{background:#0f2a20;border-color:#1e5a41;color:#9fe6c6}
.alerta.info{background:#13213a;border-color:#27406a;color:#b9d5f7}

/* tabela de usuários */
.tab-wrap{overflow-x:auto;margin:0 -24px;padding:0 24px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font:700 10.5px Archivo,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--ed-muted);padding:10px 10px;border-bottom:1px solid var(--ed-borda)}
td{padding:11px 10px;border-bottom:1px solid #1b2433;vertical-align:middle}
tr:hover td{background:#141c29}
td .nm{display:flex;align-items:center;gap:10px}
td .nm b{display:block;font-weight:600}
td .nm small{color:var(--ed-muted)}
.chip{display:inline-block;font:700 10px Archivo,sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:6px}
.chip.ldap{background:#1c2b44;color:var(--ed-azul)}
.chip.local{background:#2a2340;color:#b9a4f5}
.chip.adm{background:#3a2f12;color:#f2c76b}
.chip.on{background:#0f2a20;color:var(--ed-verde)}
.chip.off{background:#2a1714;color:var(--ed-coral)}
.td-acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.td-acoes form{margin:0}
.muted{color:var(--ed-muted)}

/* ---------- Login ---------- */
.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
@media(max-width:900px){.login{grid-template-columns:1fr}.login-arte{display:none}}
.login-form{display:flex;align-items:center;justify-content:center;padding:40px 22px}
.login-box{width:100%;max-width:380px}
.login-box .ed-brand{margin-bottom:34px}
.login-box h1{font-size:25px;margin-bottom:4px}
.login-box .sub{margin-bottom:26px}
.login-box .btn{width:100%;margin-top:22px;padding:13px}
.senha-wrap{position:relative}
.senha-wrap input{padding-right:70px}
.senha-wrap button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--ed-muted);font:600 12px inherit;font-family:inherit;padding:6px 8px;cursor:pointer;border-radius:6px}
.senha-wrap button:hover{color:var(--ed-texto);background:var(--ed-card2)}
.login-dica{margin-top:22px;font-size:12px;color:var(--ed-muted);text-align:center}

/* ---------- Acesso pendente ---------- */
.pendente{min-height:100vh;display:grid;place-items:center;padding:40px 16px;background:radial-gradient(700px 500px at 50% 0%,rgba(102,169,240,.14),transparent 70%),var(--ed-fundo)}
.pendente-box{width:100%;max-width:520px;text-align:center;background:var(--ed-card);border:1px solid var(--ed-borda);border-radius:18px;padding:36px 32px 32px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.pendente-box .ed-brand{justify-content:center;margin-bottom:28px}
.pendente-ic{width:64px;height:64px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;background:#3a2f12;color:#f2c76b;border:1px solid #5c4a1c}
.pendente-ic svg{width:30px;height:30px}
.pendente-box h1{font-size:22px;margin-bottom:12px}
.pendente-msg{font:700 17px/1.4 Archivo,sans-serif;color:var(--ed-navy);background:#13213a;border:1px solid #27406a;border-radius:12px;padding:14px 16px;margin-bottom:14px}
.pendente-box .sub{margin-bottom:6px}
.chip.pend{background:#3a2f12;color:#f2c76b}
tr.linha-pend td{background:rgba(242,199,107,.04)}

/* ---------- Logo no login e telas internas ---------- */
body>.wrap,body>main{flex:1;width:100%}
.login-marca .ed-logo{width:46px;height:46px;border-radius:12px}
.login-marca .ed-brand-t b{font-size:17px}
@media(min-width:901px){.login-box .login-marca{display:none}}
.pendente-box .ed-logo{width:56px;height:56px;border-radius:14px}
.pendente-box .ed-brand{flex-direction:column;gap:10px}
.pendente-box .ed-brand-t{align-items:center}
.login~.ed-rod,.pendente~.ed-rod{margin-top:0}
.login,.pendente{min-height:calc(100vh - 65px)}

/* ---------- Arte animada do login ---------- */
.login-arte{--s:min(420px,34vw);position:relative;overflow:hidden;isolation:isolate;padding:44px 48px 52px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:28px;text-align:center;
  background:radial-gradient(120% 90% at 50% 40%,#0d2a5c 0%,#0a1730 55%,#070d18 100%);border-right:1px solid var(--ed-borda)}

.la-aurora{position:absolute;inset:-20%;z-index:-2;filter:blur(70px);opacity:.75}
.la-aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.la-aurora i:nth-child(1){width:55%;height:55%;left:5%;top:10%;background:#1d5fd0;animation:la-deriva1 18s ease-in-out infinite alternate}
.la-aurora i:nth-child(2){width:45%;height:45%;right:5%;bottom:10%;background:#13a874;opacity:.55;animation:la-deriva2 22s ease-in-out infinite alternate}
.la-aurora i:nth-child(3){width:35%;height:35%;left:40%;top:45%;background:#4a8ff0;opacity:.6;animation:la-deriva3 15s ease-in-out infinite alternate}
@keyframes la-deriva1{to{transform:translate(25%,20%) scale(1.15)}}
@keyframes la-deriva2{to{transform:translate(-30%,-25%) scale(1.2)}}
@keyframes la-deriva3{to{transform:translate(-35%,15%) scale(.85)}}

.la-grade{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000 20%,transparent 75%);animation:la-grade 30s linear infinite}
@keyframes la-grade{to{background-position:46px 46px,46px 46px}}

.la-particulas{position:absolute;inset:0;z-index:-1;pointer-events:none}
.la-particulas i{position:absolute;left:var(--x);bottom:-10px;width:var(--z);height:var(--z);border-radius:50%;background:#9cc8ff;box-shadow:0 0 8px #66a9f0;opacity:0;animation:la-sobe var(--t) linear var(--d) infinite}
.la-particulas i:nth-child(4n){background:#7fe3b8;box-shadow:0 0 8px #3bce91}
@keyframes la-sobe{0%{transform:translateY(0);opacity:0}10%{opacity:.8}80%{opacity:.5}100%{transform:translateY(-105vh) translateX(30px);opacity:0}}

.la-topo{display:inline-flex;align-items:center;gap:9px;font:700 11px Archivo,sans-serif;letter-spacing:2.2px;text-transform:uppercase;color:#a9c4e8;padding:7px 14px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.la-ponto{width:7px;height:7px;border-radius:50%;background:#3bce91;box-shadow:0 0 0 0 rgba(59,206,145,.6);animation:la-ping 2s ease-out infinite}
@keyframes la-ping{to{box-shadow:0 0 0 9px rgba(59,206,145,0)}}

/* palco central com o logo */
.la-palco{position:relative;width:var(--s);height:var(--s);flex:none;display:grid;place-items:center}
.la-halo{position:absolute;width:62%;height:62%;border-radius:50%;background:radial-gradient(circle,rgba(102,169,240,.55),rgba(29,95,208,.15) 45%,transparent 70%);animation:la-pulsa 4s ease-in-out infinite}
@keyframes la-pulsa{50%{transform:scale(1.18);opacity:.65}}
.la-anel{position:absolute;border-radius:50%;inset:0}
.la-anel b{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#66a9f0;box-shadow:0 0 12px 2px rgba(102,169,240,.9)}
.la-anel1{inset:21%;border:1.5px solid rgba(102,169,240,.35);animation:la-gira 14s linear infinite}
.la-anel2{inset:10%;border:1px dashed rgba(169,196,232,.25);animation:la-gira 26s linear infinite reverse}
.la-anel2 b{background:#3bce91;box-shadow:0 0 12px 2px rgba(59,206,145,.85)}
.la-anel3{inset:0;border:1px solid rgba(255,255,255,.07);animation:la-gira 40s linear infinite}
.la-anel3 b{width:5px;height:5px;margin-left:-2.5px;top:-2.5px;background:#fff}
@keyframes la-gira{to{transform:rotate(360deg)}}

.la-orbita{position:absolute;inset:0;animation:la-gira 60s linear infinite}
.la-chip{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(calc(var(--s) * .45)) rotate(calc(-1 * var(--a)))}
.la-chip span{position:absolute;display:block;white-space:nowrap;font:700 11.5px Archivo,sans-serif;letter-spacing:.6px;color:#dbe8fa;padding:6px 12px;border-radius:20px;background:rgba(13,32,66,.78);border:1px solid rgba(102,169,240,.35);box-shadow:0 6px 18px rgba(0,0,0,.35);backdrop-filter:blur(6px);animation:la-contra 60s linear infinite}
@keyframes la-contra{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}

.la-logo{position:relative;width:36%;aspect-ratio:1;border-radius:26%;overflow:hidden;animation:la-flutua 6s ease-in-out infinite;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 0 8px rgba(102,169,240,.08),0 30px 60px rgba(0,0,0,.5),0 0 80px rgba(29,95,208,.55)}
.la-logo img{width:100%;height:100%;display:block;object-fit:cover}
.la-logo::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);transform:translateX(-120%);animation:la-brilho 5.5s ease-in-out 1.2s infinite}
@keyframes la-flutua{50%{transform:translateY(-10px)}}
@keyframes la-brilho{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}

/* texto e barras */
.la-texto{max-width:520px;animation:la-entra .9s cubic-bezier(.2,.7,.2,1) both .2s}
.la-texto h2{font:500 32px/1.15 Archivo,sans-serif;color:var(--ed-navy);letter-spacing:-.6px;margin:0}
.la-texto h2 b{font-weight:800;background:linear-gradient(90deg,#66a9f0,#3bce91,#66a9f0);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:la-degrade 6s linear infinite}
.la-texto p{color:#93a6c0;margin-top:10px;font-size:14px}
@keyframes la-degrade{to{background-position:200% 0}}
@keyframes la-entra{from{opacity:0;transform:translateY(14px)}}
.la-barras{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:54px;margin-top:22px}
.la-barras i{width:16px;height:var(--h);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,rgba(102,169,240,.9),rgba(102,169,240,.12));transform-origin:bottom;animation:la-barra 3.2s ease-in-out var(--d) infinite}
.la-barras i:nth-child(3n){background:linear-gradient(180deg,rgba(59,206,145,.9),rgba(59,206,145,.12))}
@keyframes la-barra{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}

@media(max-height:760px){.login-arte{--s:min(330px,30vw)}.la-texto h2{font-size:26px}.la-barras{display:none}}
@media(prefers-reduced-motion:reduce){.login-arte *,.login-arte *::before,.login-arte *::after{animation:none!important}}
