/* telas de acesso: fundo com fotos, textura binária e vidro escuro */
body.auth{margin:0;min-height:100vh;background:#05070a}
.auth-bg{position:fixed;inset:0;overflow:hidden;z-index:0}
.auth-bg .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease}
.auth-bg .slide.on{opacity:1}
.auth-bg .shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,7,10,.93) 0%,rgba(5,7,10,.74) 48%,rgba(5,7,10,.5) 100%),radial-gradient(60% 70% at 85% 10%,rgba(0,153,220,.18),transparent 70%)}
.auth-bg .binary{position:absolute;inset:0;font:400 26px/1.5 'JetBrains Mono',monospace;color:#fff;opacity:.035;word-break:break-all;user-select:none;pointer-events:none;mask-image:linear-gradient(#000 30%,transparent 95%);-webkit-mask-image:linear-gradient(#000 30%,transparent 95%)}
.auth-wrap{position:relative;z-index:1;min-height:100vh;max-width:1500px;margin:0 auto;padding:6vh 6vw;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:5vw;align-items:center}
.glass{background:rgba(11,13,18,.58);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:0 30px 60px -22px rgba(0,0,0,.85),inset 0 0 0 1px rgba(252,214,42,.05)}
.auth-brand{display:inline-block;margin-bottom:26px}.auth-brand img{display:block;height:auto;max-width:100%}
.auth-hero .eyebrow{color:var(--yellow);font:500 .85rem 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
.auth-hero h1{font:800 clamp(2.4rem,5.2vw,4.2rem)/1.05 Jost,sans-serif;margin:0;max-width:14em}
.auth-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--yellow),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-hero .lead{font-size:1.15rem;color:#b9c0d0;max-width:36em;margin:18px 0 28px}
.feats{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:620px}
.feats li{padding:14px 16px;border-top:3px solid var(--blue);transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.feats li:hover{transform:translateY(-4px)}
.feats .c-blue{border-top-color:var(--blue)}.feats .c-yellow{border-top-color:var(--yellow)}.feats .c-orange{border-top-color:var(--orange)}.feats .c-purple{border-top-color:var(--purple)}
.feats b{display:block;font:700 1rem Jost,sans-serif}.feats span{font-size:.85rem;color:var(--muted)}
.back{color:var(--muted);text-decoration:none;font-size:.92rem}.back:hover{color:var(--yellow)}
.auth-card{padding:38px 36px;max-width:480px;width:100%;justify-self:center}
.auth-card h2{font:800 2rem Jost,sans-serif;margin:0 0 4px}
.auth-card .sub{color:var(--muted);margin:0 0 18px}
.auth-card form{margin-top:12px}
.auth-card input{background:rgba(5,7,10,.55);border-color:rgba(255,255,255,.14)}
.auth-card .btn{width:100%;padding:14px 24px;margin-top:4px}
.auth-card .links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:.9rem}
.auth-card .links a{color:var(--muted);text-decoration:none}.auth-card .links a:hover{color:var(--yellow)}
.auth-card .roles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.auth-card .debug{background:rgba(252,214,42,.1);border:1px solid rgba(252,214,42,.5);border-radius:10px;padding:10px 12px;font-size:.8rem;word-break:break-all;margin-top:14px}
.auth-card .debug a{color:var(--yellow)}
@media(max-width:980px){.auth-wrap{grid-template-columns:1fr;padding:5vh 5vw}.feats{display:none}.auth-hero .lead{display:none}.auth-card{max-width:520px}}
@media(prefers-reduced-motion:reduce){.auth-bg .slide{transition:none}.feats li:hover{transform:none}}

.hp{position:absolute;left:-9999px}
.auth-card .chk{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.85rem}.auth-card .chk input{margin-top:3px;width:auto}
.auth-card .chk a{color:var(--yellow)}
.newacc{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.92rem}
.newacc .btn{width:auto;margin:0;padding:10px 18px;font-size:.85rem}
.legal p{margin:0 0 10px}.legal h3{font-size:1.05rem}
