:root {
  --o4-bg: #0a0a1a;
  --o4-bg-soft: #12122b;
  --o4-accent: #5856d6;
  --o4-accent-hi: #6e6ce8;
  --o4-text: #e8e8f5;
  --o4-muted: #8a8aa8;
}
body.login { background: var(--o4-bg) !important; }
body.login::before {
  content: ""; position: fixed; inset: 0; pointer-events: none;
  background: radial-gradient(60% 45% at 50% 12%, rgba(88,86,214,.28) 0%, rgba(10,10,26,0) 70%);
}
body.login form {
  background: var(--o4-bg-soft) !important;
  border: 1px solid rgba(88,86,214,.28);
  border-radius: 16px; padding: 2.4rem 2rem 2rem;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
  position: relative; z-index: 1;
}
body.login form > img { display: none !important; }
body.login form > h1 {
  color: var(--o4-text) !important;
  font-weight: 700; letter-spacing: -.02em; font-size: 1.7rem; margin-bottom: .4rem;
}
body.login form > h1::after {
  content: "Защищённое файловое хранилище";
  display: block; margin-top: .5rem;
  font-size: .82rem; font-weight: 400; color: var(--o4-muted); letter-spacing: 0;
}
body.login input {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  color: var(--o4-text) !important;
  padding: .85rem .9rem !important; margin-bottom: .7rem !important;
}
body.login input::placeholder { color: var(--o4-muted) !important; }
body.login input:focus {
  border-color: var(--o4-accent) !important;
  box-shadow: 0 0 0 3px rgba(88,86,214,.18) !important;
  outline: none !important;
}
body.login button {
  background: var(--o4-accent) !important;
  border-radius: 10px !important; font-weight: 600 !important;
  padding: .85rem !important; transition: background .15s ease;
}
body.login button:hover { background: var(--o4-accent-hi) !important; }
body.login .wrong { background: #b3324a !important; border-radius: 10px !important; }
