:root{
  --asphalt-900:#14171c;
  --line-amber:#f2a93b;
  --line-amber-dark:#c9860f;
  --ink-soft:#565f6c;
  --signal-red:#c1443c;
  --font-display:'Barlow Condensed', sans-serif;
  --font-body:'Inter', sans-serif;
}
*{box-sizing:border-box;}
html,body{height:100%;}
.login-body{
  margin:0;background:var(--asphalt-900);color:#fff;font-family:var(--font-body);
  overflow-x:hidden;
}

.login-video{
  position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.login-overlay{
  position:fixed;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(20,23,28,.72), rgba(20,23,28,.88));
}

.login-screen{
  position:relative;z-index:2;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 20px;text-align:center;
}

.login-brand{margin-bottom:28px;}
.login-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:14px;margin-bottom:18px;
  background:linear-gradient(145deg, var(--line-amber), var(--line-amber-dark));
  color:var(--asphalt-900);font-family:var(--font-display);font-weight:800;font-size:26px;
}
.login-brand h1{
  font-family:var(--font-display);font-weight:800;font-size:clamp(26px,4vw,36px);
  margin:0 0 6px;letter-spacing:.2px;
}
.login-brand h1 em{font-style:normal;color:var(--line-amber);}
.login-brand p{margin:0;color:rgba(255,255,255,.65);font-size:15px;}

.login-card{
  width:100%;max-width:440px;background:rgba(28,32,40,.72);
  border:1px solid rgba(255,255,255,.08);border-radius:16px;
  padding:32px;backdrop-filter:blur(10px);text-align:left;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.6);
}

.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:rgba(255,255,255,.85);}
.field input{
  width:100%;padding:13px 14px;border-radius:8px;font-size:15px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;
  font-family:var(--font-body);
}
.field input::placeholder{color:rgba(255,255,255,.35);}
.field input:focus{outline:none;border-color:var(--line-amber);background:rgba(255,255,255,.1);}

.login-check{
  display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.75);
  margin-bottom:22px;cursor:pointer;
}
.login-check input{width:16px;height:16px;accent-color:var(--line-amber);}

.btn-login{
  width:100%;border:none;border-radius:8px;padding:14px;font-weight:700;font-size:15.5px;
  background:var(--line-amber);color:var(--asphalt-900);cursor:pointer;transition:background .15s;
}
.btn-login:hover{background:var(--line-amber-dark);}

.login-links{text-align:center;margin:18px 0 0;font-size:13.5px;}
.login-links a{color:rgba(255,255,255,.75);text-decoration:none;}
.login-links a:hover{color:var(--line-amber);}

.alert{padding:12px 14px;border-radius:8px;font-size:13.5px;margin-bottom:18px;}
.alert-error{background:rgba(193,68,60,.15);color:#f3a29c;border:1px solid rgba(193,68,60,.35);}
.alert-ok{background:rgba(28,138,76,.15);color:#8fe0b3;border:1px solid rgba(28,138,76,.35);}

.login-footer{
  margin-top:28px;font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.6;
}

.login-tabs{
  display:flex;gap:4px;margin-bottom:22px;background:rgba(255,255,255,.05);
  border-radius:9px;padding:4px;
}
.login-tabs a{
  flex:1;text-align:center;padding:9px 6px;border-radius:6px;font-size:13px;font-weight:600;
  color:rgba(255,255,255,.6);text-decoration:none;transition:background .15s,color .15s;
}
.login-tabs a.active{background:var(--line-amber);color:var(--asphalt-900);}
.login-tabs a:hover:not(.active){color:#fff;}

.btn-link{
  width:100%;background:none;border:none;color:rgba(255,255,255,.6);font-size:13px;
  cursor:pointer;text-decoration:underline;padding:6px;
}
.btn-link:hover{color:var(--line-amber);}

@media (max-width:480px){
  .login-card{padding:24px;}
  .login-screen{padding:28px 16px;}
  .login-tabs{flex-direction:column;}
}
