/* Страница входа (/login): тёмная тема, карточка по центру, без navbar.
   Переменные — те же, что в settings.css / clients.css. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:       #0d1117;
  --bg2:      #161b22;
  --bg3:      #21262d;
  --bg4:      #30363d;
  --accent:   #2f81f7;
  --accent-h: #388bfd;
  --border:   #30363d;
  --text:     #e6edf3;
  --text2:    #8b949e;
  --text3:    #6e7681;
  --green:    #3fb950;
  --red:      #f85149;
  --yellow:   #d29922;
  --font: -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans',Helvetica,Arial,sans-serif;
}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}
input,button{font-family:var(--font)}

.login-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:
    radial-gradient(600px 320px at 50% -80px, rgba(47,129,247,.12), transparent 70%),
    var(--bg);
}
.login-card{
  width:100%;max-width:360px;background:var(--bg2);border:1px solid var(--border);
  border-radius:5px;padding:32px 28px 20px;box-shadow:0 16px 48px rgba(1,4,9,.6);
}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.login-logo{
  width:40px;height:40px;border-radius:5px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.login-title{font-size:17px;font-weight:700;letter-spacing:.02em}
.login-subtitle{font-size:12px;color:var(--text2);margin-top:1px}

.login-error{
  background:rgba(248,81,73,.1);border:1px solid rgba(248,81,73,.4);color:var(--red);
  border-radius:5px;padding:9px 12px;font-size:12.5px;line-height:1.5;margin-bottom:16px;
}

.login-form{display:flex;flex-direction:column}
.login-label{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;
  color:var(--text3);margin:12px 0 5px;
}
.login-form .login-label:first-child{margin-top:0}
.login-input{
  width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:5px;
  padding:9px 12px;color:var(--text);font-size:13.5px;outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.login-input::placeholder{color:var(--text3)}
.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,129,247,.15)}
.login-btn{
  margin-top:18px;width:100%;background:var(--accent);border:1px solid transparent;
  border-radius:5px;padding:9px 12px;color:#fff;font-size:13.5px;font-weight:600;
  cursor:pointer;transition:background .15s;
}
.login-btn:hover{background:var(--accent-h)}
.login-btn:disabled{opacity:.6;cursor:default}

.login-divider{
  display:flex;align-items:center;gap:10px;margin:16px 0;
  color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.07em;
}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border)}

.login-sso{
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--bg3);border:1px solid var(--border);border-radius:5px;
  padding:9px 12px;color:var(--text);font-size:13.5px;font-weight:500;
  cursor:pointer;transition:border-color .15s, background .15s;
}
.login-sso:hover{border-color:var(--accent);background:var(--bg3)}
.login-sso svg{color:var(--text2)}

.login-footer{margin-top:18px;font-size:11.5px;color:var(--text3);text-align:center}
