/* Login com a marca do site CodeTech (login/login.jsp). Sem Bootstrap. */
:root{
  --cl-ground:#FFFFFF;
  --cl-surface:#F5F8FD;
  --cl-line:#E1E8F3;
  --cl-line-strong:#C6D4E8;
  --cl-accent:#0A5BFF;
  --cl-accent-ink:#0848CC;
  --cl-navy:#0D1B3D;
  --cl-text:#0D1B3D;
  --cl-muted:#48587A;
  --cl-danger:#B42318;  --cl-danger-soft:#FEF3F2;
  --cl-warn:#8E5B0C;    --cl-warn-soft:#FBF0DC;
  --cl-ok:#0A6E63;      --cl-ok-soft:#E0F4F1;
  --cl-display:'Archivo',system-ui,sans-serif;
  --cl-body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body.ct-login{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;background:var(--cl-ground);
  color:var(--cl-text);font:400 15px/1.5 var(--cl-body);-webkit-font-smoothing:antialiased}

/* Painel da marca (so em tela larga) */
.ct-login__marca{display:none}
@media(min-width:900px){
  body.ct-login{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .ct-login__marca{display:flex;align-items:flex-end;padding:56px;color:#fff;position:relative;overflow:hidden;
    background:
      linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/44px 44px,
      linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/44px 44px,
      linear-gradient(160deg,var(--cl-accent) 0%,#0A3DB8 55%,var(--cl-navy) 100%)}
}
.ct-login__marca-in{max-width:460px}
.ct-login__eyebrow{display:inline-block;font:600 12px/1 var(--cl-body);letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.75);margin-bottom:18px}
.ct-login__frase{font:700 clamp(30px,3.2vw,42px)/1.12 var(--cl-display);letter-spacing:-.02em;margin:0 0 32px;text-wrap:balance}
.ct-login__modulos{list-style:none;margin:0;padding:0;display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.22);padding-top:22px}
.ct-login__modulos li{display:flex;gap:10px;align-items:baseline;font-size:14px;color:rgba(255,255,255,.78)}
.ct-login__modulos strong{color:#fff;font-weight:600;min-width:118px}

/* Formulario */
.ct-login__lado{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px 24px;gap:28px}
.ct-login__form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px}
.ct-login__logo-link{display:inline-block;align-self:flex-start;border-radius:4px}
.ct-login__logo{display:block;height:38px;width:auto;margin-bottom:12px}
.ct-login__cabeca h1{font:700 28px/1.15 var(--cl-display);letter-spacing:-.02em;margin:0 0 4px}
.ct-login__cabeca p{margin:0;color:var(--cl-muted)}

.ct-login__campo{display:flex;flex-direction:column;gap:6px}
.ct-login__campo span{font-size:13px;font-weight:600;color:var(--cl-text)}
.ct-login__campo input{height:46px;padding:0 14px;border:1px solid var(--cl-line-strong);border-radius:4px;background:var(--cl-ground);
  font:400 15px var(--cl-body);color:var(--cl-text);transition:border-color .15s,box-shadow .15s}
.ct-login__campo input:hover{border-color:#9DB3D3}
.ct-login__campo input:focus{outline:none;border-color:var(--cl-accent);box-shadow:0 0 0 3px rgba(10,91,255,.18)}

.ct-login__btn{margin-top:6px;height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:4px;
  background:var(--cl-accent);color:#fff;font:600 15px var(--cl-body);cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.ct-login__btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct-login__btn:hover{background:var(--cl-accent-ink);box-shadow:0 12px 26px -12px rgba(10,91,255,.6)}
.ct-login__btn:active{transform:translateY(1px)}
.ct-login__btn:focus-visible,.ct-login__voltar:focus-visible,.ct-login__logo-link:focus-visible{outline:2px solid var(--cl-accent);outline-offset:3px}

.ct-login__aviso{padding:11px 14px;border-radius:4px;font-size:14px;border:1px solid transparent}
.ct-login__aviso--erro{background:var(--cl-danger-soft);color:var(--cl-danger);border-color:#FECDCA}
.ct-login__aviso--alerta{background:var(--cl-warn-soft);color:var(--cl-warn);border-color:#F3D9A9}
.ct-login__aviso--ok{background:var(--cl-ok-soft);color:var(--cl-ok);border-color:#BDE5DE}

.ct-login__voltar{align-self:center;margin-top:4px;color:var(--cl-muted);font-size:14px;text-decoration:none;border-radius:2px}
.ct-login__voltar:hover{color:var(--cl-accent)}
.ct-login__rodape{margin:0;font-size:12.5px;color:var(--cl-muted)}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
