:root{--ink:#10142c;--muted:#747c98;--purple:#7057f4;--blue:#2f9bf0;--line:#dce2ee;--green:#1fc18b}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(540px,1.04fr) minmax(540px,.96fr)}.brand-panel{position:relative;min-height:100vh;overflow:hidden;color:#fff;background:radial-gradient(circle at 92% 35%,rgba(63,142,255,.38),transparent 23%),radial-gradient(circle at 8% 95%,rgba(121,77,244,.34),transparent 30%),linear-gradient(135deg,#153e68 0%,#20225f 48%,#4c2ab5 100%)}.brand-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(#000,transparent 85%)}.brand-glow{position:absolute;right:-170px;top:17%;width:430px;height:430px;border-radius:50%;background:rgba(67,158,255,.2);filter:blur(8px)}.brand-content{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;padding:clamp(42px,5vw,78px) clamp(45px,7vw,100px)}.brand-logo{display:inline-flex;align-items:center;gap:7px;width:max-content;color:#fff;text-decoration:none;font-size:25px;font-weight:800;letter-spacing:.17em}.brand-logo>i{width:7px;height:26px;border-radius:3px;background:linear-gradient(#387cff,#7658f5)}.brand-copy{margin:auto 0}.brand-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(255,255,255,.08);color:#dce7ff;font-size:11px;font-weight:800;letter-spacing:.04em}.brand-copy h1{margin:28px 0 20px;font-size:clamp(45px,4.5vw,72px);line-height:1.06;letter-spacing:-.055em}.brand-copy h1 em{font-style:normal;background:linear-gradient(100deg,#65d2ff,#76a6ff);background-clip:text;color:transparent}.brand-copy>p{max-width:620px;margin:0;color:#d1d8eb;font-size:17px;line-height:1.75}.brand-features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:46px}.brand-features article{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.075);backdrop-filter:blur(12px);transition:.3s}.brand-features article:hover{transform:translateY(-3px);background:rgba(255,255,255,.11)}.brand-features article>i{width:43px;height:43px;display:grid;place-items:center;flex:0 0 43px;border-radius:12px;color:#70d9ff;background:rgba(255,255,255,.12);font-size:21px}.brand-features span{display:flex;flex-direction:column}.brand-features b{font-size:14px}.brand-features small{margin-top:3px;color:#c5cde4;font-size:10px}.brand-status{display:flex;align-items:center;gap:9px;color:#c9d3eb;font-size:11px;font-weight:600}.brand-status>i{width:8px;height:8px;border-radius:50%;background:#25d69c;box-shadow:0 0 14px #25d69c}.form-panel{min-height:100vh;display:flex;flex-direction:column;padding:40px clamp(35px,8vw,135px) 28px;background:linear-gradient(145deg,#fff,#fbfcff)}.auth-card{width:min(100%,510px);margin:auto}.auth-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:14px;color:#674ff2;background:#f0edff;font-size:22px}.auth-card h2{margin:25px 0 8px;font-size:clamp(32px,3vw,44px);line-height:1.1;letter-spacing:-.045em}.auth-subtitle{margin:0 0 40px;color:var(--muted);font-size:15px}.auth-form{display:grid;gap:19px}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.label-row{display:flex;align-items:center;justify-content:space-between}.label-row a,.back-link{color:#674ff2;text-decoration:none;font-size:11px;font-weight:700}.input-box{height:59px;display:flex;align-items:center;padding:0 15px;border:1px solid var(--line);border-radius:13px;background:#f4f7fc;transition:.25s}.input-box:focus-within{border-color:#7963ef;background:#fff;box-shadow:0 0 0 4px rgba(112,87,244,.09)}.input-box>i{color:#909ab5;font-size:17px}.input-box .form-control{height:100%;padding:0 13px;border:0;outline:0;box-shadow:none;background:transparent;color:#11152c;font-size:13px}.input-box .form-control::placeholder{color:#949db4}.password-toggle{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:#8793ae}.invalid-feedback{font-size:10px}.was-validated .form-control:invalid{background-image:none}.login-options{display:flex;align-items:center;justify-content:space-between;margin:1px 0 5px}.check{display:flex!important;align-items:center;gap:8px!important;margin:0!important;color:#535c75;font-size:11px!important;font-weight:500!important;cursor:pointer}.check input{position:absolute;opacity:0}.check span{width:19px;height:19px;border:1px solid #ccd3e2;border-radius:5px;background:#fff}.check input:checked+span{display:grid;place-items:center;border-color:#7057f4;background:#7057f4}.check input:checked+span::after{content:"✓";color:#fff;font-size:12px}.login-options small{color:#77819c;font-size:10px}.login-options small i{margin-right:5px;color:var(--green)}.submit-button{height:58px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;color:#fff;background:linear-gradient(105deg,#7557f3,#2e9cf1);box-shadow:0 14px 32px rgba(91,78,225,.2);font-size:13px;font-weight:800;transition:.3s}.submit-button>i{position:absolute;margin-left:430px}.submit-button:hover{transform:translateY(-2px);box-shadow:0 17px 36px rgba(91,78,225,.27);filter:brightness(1.04)}.submit-button:disabled{cursor:wait;opacity:.72;transform:none}.submit-button.loading>i{animation:spin 1s linear infinite}.submit-button.loading>i::before{content:"\f116"}@keyframes spin{to{transform:rotate(360deg)}}.form-message{min-height:18px;text-align:center;font-size:11px}.form-message.success{color:#16865f}.form-message.error{color:#cf3d55}.support-card{display:flex;align-items:center;gap:13px;margin-top:18px;padding:14px 16px;border:1px solid #e1e5ee;border-radius:14px;color:var(--ink);background:#fafbfe;text-decoration:none;transition:.3s}.support-card:hover{transform:translateY(-2px);border-color:#cec7fa;background:#fff}.support-card>i:first-child{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:#6e56eb;background:#eeebff}.support-card span{display:flex;flex:1;flex-direction:column}.support-card b{font-size:11px}.support-card small{color:#8189a0;font-size:9px}.support-card>i:last-child{color:#8d96aa}.back-link{display:inline-flex;align-items:center;gap:7px;margin-top:25px}.password-rules{display:flex;gap:12px;padding:13px;border-radius:12px;color:#4d5770;background:#f2f0ff}.password-rules>i{color:#6b53ef;font-size:20px}.password-rules span{display:flex;flex-direction:column}.password-rules b{font-size:11px}.password-rules small{font-size:9px;line-height:1.5}.form-panel footer{display:flex;justify-content:center;gap:11px;color:#949bb0;font-size:9px}.form-panel footer i{width:3px;height:3px;align-self:center;border-radius:50%;background:#c5cad7}.form-panel footer a{color:#858da5;text-decoration:none}.mobile-logo{display:none}.dashboard-page{min-height:100vh;background:#f5f7fc}.dashboard-nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,70px);color:#fff;background:#0d1230}.dashboard-nav .brand-logo{font-size:18px}.dashboard-nav .brand-logo small{padding:4px 7px;border-radius:7px;background:#282652;font-size:8px;letter-spacing:.1em}.dashboard-nav button{padding:9px 14px;border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#fff;background:rgba(255,255,255,.07)}.dashboard-placeholder{width:min(1050px,calc(100% - 34px));margin:90px auto}.dashboard-placeholder>span{color:#6953df;font-size:10px;font-weight:800;letter-spacing:.14em}.dashboard-placeholder h1{margin:14px 0;font-size:clamp(38px,5vw,65px);letter-spacing:-.05em}.dashboard-placeholder>p{max-width:720px;color:#6f7891;font-size:16px;line-height:1.7}.dashboard-placeholder>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.dashboard-placeholder article{display:flex;align-items:center;gap:14px;padding:25px;border:1px solid #e0e4ed;border-radius:17px;background:#fff}.dashboard-placeholder article i{color:#6c54eb;font-size:23px}
@media(max-width:1000px){.auth-layout{grid-template-columns:1fr}.brand-panel{display:none}.form-panel{padding:30px 22px;min-height:100vh}.mobile-logo{display:flex;align-items:center;gap:6px;color:#161a38;font-size:18px;font-weight:800;letter-spacing:.15em}.mobile-logo i{width:5px;height:20px;border-radius:3px;background:linear-gradient(#397bff,#7657f3)}.auth-card{margin:70px auto}.form-panel footer{margin-top:auto}.dashboard-placeholder>div{grid-template-columns:1fr}}@media(max-width:560px){.form-panel{padding:23px 18px}.auth-card{margin:55px auto}.auth-card h2{font-size:34px}.auth-subtitle{margin-bottom:31px;font-size:13px}.input-box{height:57px}.submit-button>i{position:static;margin:0}.login-options{align-items:flex-start;gap:15px}.login-options small{text-align:right}.form-panel footer{flex-wrap:wrap}.dashboard-placeholder{margin:55px auto}}

/* Identidade administrativa */
.brand-logo{display:inline-flex;align-items:center;width:max-content;letter-spacing:0}
.brand-logo>img{display:block;width:190px;height:auto}
.mobile-logo{gap:10px;letter-spacing:0}
.mobile-logo>img{display:block;width:145px;height:auto}
.mobile-logo>small{padding:5px 8px;border-radius:7px;color:#6651dc;background:#efedff;font-size:8px;font-weight:800;letter-spacing:.12em}
@media(max-width:1000px){.mobile-logo{display:flex;align-items:center;gap:10px}.mobile-logo>i{display:none}}

/* Login em duas etapas (30/09/2026) */
.codigo-aviso{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f1f0ff;color:#2b3157;font-size:14px;line-height:1.45}
.codigo-aviso i{color:#7158f5;margin-top:2px}
.codigo-input{letter-spacing:.5em;font-size:20px;font-weight:700;text-align:center}
.codigo-acoes{display:flex;justify-content:space-between;gap:12px;margin-top:14px}
.link-button{border:0;background:none;padding:4px 0;color:#7158f5;font-weight:600;font-size:14px;cursor:pointer}
.link-button:disabled{color:#9aa0b8;cursor:default}
.sessao-aviso{display:flex;gap:8px;align-items:flex-start;margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff4e5;color:#7a4b00;font-size:14px}
