/* Sign-in / account pages (layouts/auth.blade.php) — on top of designer.css + cloud.css. */

.au-wrap { width: 100%; max-width: 440px; margin: 4vh auto 0; display: grid; gap: 14px; }
.au-wrap--wide { max-width: 560px; }
.au-card { padding: 22px 22px 20px; display: grid; gap: 16px; }
.au-card > .au-head { display: block; margin: 0; }
.au-head h1 { font-size: 24px; margin: 4px 0 6px; }
.au-head p { font-size: 13.5px; }
.au-flash { margin: 0; }

.au-form { display: grid; gap: 14px; margin: 0; }
.au-field { display: grid; gap: 5px; }
.au-field > label { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.au-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.au-label-row label { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.au-label-row a, .au-link { font-size: 12.5px; text-decoration: none; }
.au-label-row a:hover, .au-link:hover { text-decoration: underline; }

.au-card input[type=text], .au-card input[type=email], .au-card input[type=password] {
  width: 100%; font: inherit; font-size: 15px; color: var(--text); background: var(--inset);
  border: 1px solid var(--btn-line); border-radius: 8px; padding: 9px 11px;
}
.au-card input:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }
.au-card input.is-invalid { border-color: var(--red); }
.au-code { font: 600 22px/1.2 ui-monospace, Consolas, monospace !important; letter-spacing: 4px; text-align: center; }

.au-error { color: var(--red-lt); font-size: 12.5px; }
.au-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--muted); cursor: pointer; }
.au-check input { margin: 2px 0 0; flex: 0 0 auto; width: 16px; height: 16px; }

.au-card .dz-btn { padding: 10px 14px; font-size: 14px; }
.au-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.au-actions .dz-btn--primary { flex: 1 1 auto; }
.au-linkbtn { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; color: var(--muted); cursor: pointer; text-decoration: underline; }
.au-linkbtn:hover { color: var(--text); }
.au-foot { border-top: 1px solid var(--line); padding-top: 14px; font-size: 13px; color: var(--muted); }
.au-foot form { margin: 0; }

.au-after { text-align: center; font-size: 13px; color: var(--muted); }
.au-after a { text-decoration: none; font-weight: 600; }

.au-terms { font-size: 13px; color: var(--muted); border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; background: var(--inset); }
.au-terms summary { cursor: pointer; color: var(--text); font-weight: 600; }
.au-terms h3 { font-size: 12.5px; color: var(--text); margin: 12px 0 4px; }
.au-terms p, .au-terms ul { margin: 0 0 6px; }
.au-terms ul { padding-left: 18px; }

.au-more summary { cursor: pointer; font-size: 13px; color: var(--accent-lt); }
.au-more[open] summary { margin-bottom: 10px; }

/* two-factor setup + recovery codes */
.au-step { margin: 0; font-size: 13.5px; }
.au-qr { justify-self: center; background: #fff; padding: 10px; border-radius: 10px; line-height: 0; }
.au-qr img { width: 220px; height: 220px; max-width: 100%; }
.au-secret { font-size: 12.5px; color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.au-secret code { user-select: all; font-size: 13px; }
.au-codes { margin: 0; padding: 14px; background: var(--inset); border: 1px solid var(--line); border-radius: 8px; font: 600 16px/1.7 ui-monospace, Consolas, monospace; text-align: center; user-select: all; white-space: pre-wrap; }

@media (max-width: 480px) {
  .au-wrap { margin-top: 0; }
  .au-card { padding: 18px 16px; }
  .au-actions .dz-btn { width: 100%; }
}
