.ov-auth-page .app-frame {
  display: block;
}

.ov-auth-page .app-sidebar {
  display: none;
}

.ov-auth-page .site-shell {
  max-width: 1240px;
}

.ov-login-page .site-shell { max-width: 760px; }
.ov-login-shell { display:grid;place-items:center;margin:clamp(28px,7vh,76px) auto 64px; }
.ov-login-card { width:min(100%,560px);padding:clamp(26px,5vw,44px);background:#080808; }
.ov-login-head { margin-bottom:28px; }
.ov-login-mark { display:grid;width:42px;height:42px;margin-bottom:26px;place-items:center;border:1px solid var(--ov-border-strong);border-radius:12px;background:var(--ov-active);color:var(--ov-accent);font-size:12px;font-weight:500;letter-spacing:.06em; }
.ov-login-card .ov-auth-kicker { margin-bottom:12px; }
.ov-login-card .ov-auth-title { font-size:clamp(32px,6vw,46px); }
.ov-login-card .ov-auth-lead { font-size:13px;line-height:1.55; }
.ov-login-error { margin-bottom:20px;padding:11px 13px;border:1px solid #603333;border-radius:var(--ov-radius-sm);background:#190d0d;color:#ffb0b0;font-size:12px;line-height:1.45; }
.ov-login-form { display:grid;gap:18px; }
.ov-login-actions { display:grid;margin-top:4px; }
.ov-login-actions .ov-button { width:100%; }
.ov-login-actions .ov-icon { width:15px;height:15px; }
.ov-login-card .ov-auth-footer { margin-top:22px;padding-top:20px;border-top:1px solid var(--ov-border); }

.ov-auth-shell {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(540px, 1.28fr);
  gap: 18px;
  margin: 34px auto 64px;
}

.ov-auth-panel {
  min-width: 0;
  padding: clamp(26px, 3vw, 42px);
  border: 1px solid var(--ov-border);
  border-radius: var(--ov-radius-xl);
  background: var(--ov-surface);
}

.ov-auth-intro {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #080808;
}

.ov-auth-kicker {
  margin: 0 0 18px;
  color: var(--ov-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ov-auth-title {
  max-width: 620px;
  margin: 0;
  color: var(--ov-accent);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.04;
}

.ov-auth-lead {
  max-width: 620px;
  margin: 15px 0 0;
  color: var(--ov-muted);
  font-size: 15px;
  line-height: 1.65;
}

.ov-auth-steps {
  display: grid;
  gap: 5px;
  margin-top: 44px;
}

.ov-auth-step {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  padding: 13px 0;
  border-top: 1px solid var(--ov-border);
}

.ov-auth-step__number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--ov-active);
  color: var(--ov-accent);
  font-size: 12px;
  font-weight: 700;
}

.ov-auth-step strong,
.ov-auth-step span {
  display: block;
}

.ov-auth-step strong {
  margin: 1px 0 4px;
  color: var(--ov-text);
  font-size: 14px;
}

.ov-auth-step span {
  color: var(--ov-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.ov-auth-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
  margin-top: 30px;
}

.ov-field {
  min-width: 0;
}

.ov-field--wide,
.ov-auth-actions,
.ov-auth-footer {
  grid-column: 1 / -1;
}

.ov-auth-instructions {
  margin-top: 22px;
  border: 1px solid var(--ov-border);
  border-radius: var(--ov-radius-md);
  background: #0b0b0b;
}
.ov-auth-instructions > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: var(--ov-accent);
  font-size: 12px;
  cursor: pointer;
  list-style: none;
}
.ov-auth-instructions > summary::-webkit-details-marker { display: none; }
.ov-auth-instructions > summary .ov-icon { width: 14px; height: 14px; transition: transform .15s; }
.ov-auth-instructions[open] > summary .ov-icon { transform: rotate(180deg); }
.ov-auth-instructions .ov-auth-form { padding: 0 16px 16px; }

.ov-field > label,
.ov-field__label {
  display: block;
  margin: 0 0 8px;
  color: var(--ov-text);
  font-size: 13px;
  font-weight: 600;
}

.ov-field input:not([type="checkbox"]):not([type="radio"]),
.ov-field textarea,
.ov-field select {
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
  padding: 11px 13px;
  border: 1px solid var(--ov-border-strong);
  border-radius: var(--ov-radius-md);
  background: #0d0d0d;
  color: var(--ov-text);
  font: inherit;
}

.ov-field textarea {
  min-height: 104px;
  resize: vertical;
}

.ov-field input:focus,
.ov-field textarea:focus,
.ov-field select:focus {
  border-color: #777;
  box-shadow: 0 0 0 3px rgba(243, 243, 243, .07);
  outline: 0;
}

.ov-field-help {
  display: block;
  margin-top: 7px;
  color: var(--ov-muted);
  font-size: 11.5px;
  line-height: 1.45;
}

.ov-field-errors,
.ov-field-errors ul {
  margin: 7px 0 0;
  padding: 0;
  color: #ff9c9c;
  font-size: 12px;
  list-style: none;
}

.ov-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 18px;
  border: 1px solid var(--ov-border-strong);
  border-radius: 999px;
  background: var(--ov-surface-raised);
  color: var(--ov-text);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.ov-button--primary {
  border-color: var(--ov-accent);
  background: var(--ov-accent);
  color: var(--ov-accent-text);
}

.ov-button:hover {
  filter: brightness(1.08);
}

.ov-auth-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 5px;
}

.ov-auth-footer {
  margin: 0;
  color: var(--ov-muted);
  font-size: 12.5px;
  text-align: center;
}

.ov-auth-footer a {
  color: var(--ov-text);
}

.ov-choice-grid ul,
.ov-choice-grid #id_sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
  list-style: none;
}

.ov-choice-grid label {
  display: flex;
  min-height: 50px;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid var(--ov-border);
  border-radius: var(--ov-radius-md);
  background: #0d0d0d;
  color: var(--ov-text);
  font-size: 13px;
  cursor: pointer;
}

.ov-choice-grid input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--ov-accent);
}

@media (max-width: 900px) {
  .ov-auth-shell { grid-template-columns: 1fr; max-width: 680px; margin-top: 20px; }
  .ov-auth-steps { margin-top: 28px; }
}

@media (max-width: 620px) {
  .ov-auth-shell { margin: 12px auto 30px; }
  .ov-auth-panel { padding: 22px; border-radius: var(--ov-radius-lg); }
  .ov-auth-form,
  .ov-choice-grid ul,
  .ov-choice-grid #id_sections { grid-template-columns: 1fr; }
  .ov-field--wide,
  .ov-auth-actions,
  .ov-auth-footer { grid-column: 1; }
  .ov-auth-actions .ov-button { width: 100%; }
  .ov-login-shell { margin:12px auto 30px; }
}
