/* СтройМенеджер — Kirish sahifasi */
/* ═══════════════════════════════════════════════════════════════════
   LOGIN
═══════════════════════════════════════════════════════════════════ */
#login-screen {
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#0F1117 0%,#181B24 50%,#0F1117 100%);
  padding:20px;
  position:relative; overflow:hidden;
}
body.light #login-screen {
  background:linear-gradient(135deg,#F0F2F7 0%,#E8ECF5 50%,#F0F2F7 100%);
}
#login-screen::before {
  content:''; position:absolute; inset:0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 40px, rgba(232,103,26,.035) 40px, rgba(232,103,26,.035) 41px),
    repeating-linear-gradient(90deg, transparent, transparent 40px, rgba(232,103,26,.035) 40px, rgba(232,103,26,.035) 41px);
  pointer-events:none;
}
.login-card {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:44px 40px;
  width:100%; max-width:440px;
  position:relative; z-index:1;
  box-shadow:0 30px 60px rgba(0,0,0,.5);
}
body.light .login-card { box-shadow:0 20px 40px rgba(0,0,0,.12); }
.login-logo {
  font-family:'Bebas Neue', sans-serif;
  font-size:38px; color:var(--orange);
  letter-spacing:2px;
  margin-bottom:4px;
}
.login-subtitle {
  color:var(--text-muted); font-size:13px;
  margin-bottom:32px; font-weight:300;
}
.form-group { margin-bottom:18px; }
.form-label {
  display:block; font-size:11px; font-weight:700;
  color:var(--text-muted); text-transform:uppercase;
  letter-spacing:1px; margin-bottom:7px;
}
.form-input {
  width:100%;
  background:var(--bg); border:1.5px solid var(--border);
  border-radius:9px; color:var(--text);
  padding:12px 14px; font-size:14px;
  transition:border-color .15s, background .15s;
}
.form-input:focus { border-color:var(--orange); }
.form-input.error { border-color:var(--red); }
.btn-login {
  width:100%; margin-top:10px;
  background:var(--orange); color:#fff;
  padding:14px; border-radius:9px;
  font-size:15px; font-weight:700; letter-spacing:.5px;
  transition:background .15s, transform .08s;
}
.btn-login:hover:not(:disabled) { background:var(--orange-light); }
.btn-login:active:not(:disabled) { transform:scale(.98); }
.btn-login:disabled { opacity:.5; cursor:not-allowed; }
.login-hint {
  text-align:center; color:var(--text-dim);
  font-size:11px; margin-top:18px; line-height:1.6;
}
.login-error {
  color:var(--red); font-size:12px;
  margin-top:10px; text-align:center; min-height:18px; font-weight:600;
}
.lock-warning {
  background:var(--amber-bg); border:1px solid var(--amber);
  color:var(--amber); padding:10px 14px; border-radius:8px;
  font-size:12px; margin-top:12px; text-align:center; display:none;
}
.lock-warning.show { display:block; }
