*{box-sizing:border-box}
:root{
  --bg:#07110e;
  --surface:rgba(15,31,26,.90);
  --surface-2:#12241e;
  --line:rgba(192,232,216,.18);
  --line-strong:rgba(192,232,216,.28);
  --text:#f3f8f6;
  --soft:#b7c7c1;
  --muted:#879990;
  --green:#16a979;
  --green-2:#0d8f67;
  --green-soft:#a9e8cf;
  --danger:#ffb0b0;
  --shadow:0 28px 80px rgba(0,0,0,.42);
}
html,body{min-height:100%;margin:0}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:#07110e url("../img/USM-2026.jpg") center center/cover fixed no-repeat;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,13,10,.82) 0%,rgba(4,17,13,.62) 48%,rgba(4,16,13,.76) 100%),
    linear-gradient(180deg,rgba(4,15,12,.12),rgba(4,15,12,.46));
  pointer-events:none;
}
.login-shell{
  position:relative;
  z-index:1;
  min-height:100vh;
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,460px);
  align-items:center;
  gap:70px;
  padding:56px 0;
}
.login-intro{max-width:610px;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.login-intro span{display:inline-block;color:var(--green-soft);font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.login-intro h2{margin:12px 0 14px;font-size:clamp(40px,5vw,66px);line-height:.98;letter-spacing:-2.2px;color:#fff}
.login-intro p{margin:0;max-width:560px;color:rgba(237,246,242,.78);font-size:16px;line-height:1.65}
.login{
  width:100%;
  padding:34px;
  border:1px solid var(--line-strong);
  border-radius:22px;
  background:linear-gradient(155deg,rgba(20,39,33,.95),rgba(12,27,22,.93));
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.marca{text-align:center;margin-bottom:28px}.marca img{width:86px;max-height:86px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.24))}.marca h1{margin:12px 0 4px;font-size:27px;letter-spacing:-.5px}.marca p{margin:0;color:var(--muted);font-size:13px}
label{display:block;font-size:12px;font-weight:750;margin:15px 0 7px;color:var(--soft)}
input{width:100%;height:46px;border:1px solid var(--line);border-radius:10px;padding:0 13px;font-size:14px;outline:none;color:var(--text);background:#0d1d18;transition:.18s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
input:focus{border-color:rgba(77,211,161,.72);box-shadow:0 0 0 4px rgba(22,169,121,.12)}
button{width:100%;height:46px;margin-top:23px;border:1px solid rgba(90,220,172,.28);border-radius:10px;background:linear-gradient(180deg,var(--green),var(--green-2));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(4,105,75,.24);transition:.18s ease}
button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(4,105,75,.30);filter:brightness(1.05)}
.erro{background:rgba(157,47,47,.18);border:1px solid rgba(255,132,132,.24);color:var(--danger);padding:10px 12px;border-radius:9px;margin-bottom:12px;font-size:13px}
.rodape{text-align:center;margin-top:20px;font-size:11px;color:#788b82}
@media(max-width:850px){
  body{background-position:58% center}
  .login-shell{width:min(100% - 28px,480px);grid-template-columns:1fr;gap:26px;padding:28px 0 36px}
  .login-intro{display:none}
  .login{padding:28px 23px}
}
@media print{body{background:#fff!important;color:#111!important}body::before,.login-intro{display:none!important}.login{background:#fff!important;color:#111!important;border:1px solid #ccc!important;box-shadow:none!important}input{background:#fff!important;color:#111!important;border:1px solid #bbb!important}}
