:root { color-scheme: dark; }
.auth-body { margin: 0; min-height: 100dvh; display: flex; align-items: center; justify-content: center; background: #1a1a1a; color: #f0f0f0; font-family: 'Montserrat', -apple-system, sans-serif; }
.box { width: min(92vw, 400px); background: #222222; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 32px; }
.box form { width: 100%; }
.box h1 { font-family: 'Playfair Display', serif; font-size: 22px; margin: 0 0 4px; font-weight: 700; color: #f0f0f0; }
.box p { color: #7f7f7f; margin: 0 0 24px; font-size: 14px; line-height: 1.5; }
.box input, .box select { width: 100%; box-sizing: border-box; padding: 14px; font-size: 16px; font-family: inherit; border-radius: 12px; border: 1px solid rgba(255,255,255,.1); background: #1a1a1a; color: #f0f0f0; margin-bottom: 14px; -webkit-appearance: none; }
.box button { width: 100%; padding: 14px; min-height: 48px; font-size: 16px; font-weight: 600; font-family: inherit; border: 0; border-radius: 12px; background: #C8102E; color: #fff; cursor: pointer; transition: background .15s; display: flex; align-items: center; justify-content: center; gap: 8px; }
.box button:hover { background: #a50d25; }
.box button:disabled { opacity: .5; cursor: default; }
.pk-btn { background: #2a2a2a !important; border: 1px solid rgba(255,255,255,.12) !important; color: #f0f0f0 !important; margin-bottom: 14px; }
.pk-btn:hover { background: #333 !important; }
.btn-link { background: transparent !important; border: 1px solid rgba(255,255,255,.1) !important; color: #7f7f7f !important; font-size: 14px !important; }
.err { color: #ff5c5c; font-size: 14px; margin-bottom: 12px; }
.box label { display: block; font-size: 12.5px; color: #7f7f7f; margin-bottom: 6px; font-weight: 500; }
.divider { text-align: center; color: #555; font-size: 13px; margin: 16px 0; position: relative; }
.divider::before, .divider::after { content: ''; position: absolute; top: 50%; width: calc(50% - 24px); height: 1px; background: rgba(255,255,255,.08); }
.divider::before { left: 0; }
.divider::after { right: 0; }
#pk-error { color: #ff5c5c; font-size: 14px; margin-bottom: 12px; display: none; }
#pw-section { display: none; }
.status { margin-top: 16px; font-size: 14px; min-height: 20px; }
.status.ok { color: #00d632; }
.status.err { color: #ff5c5c; }
