/* Сторінки входу та встановлення пароля (картка по центру). Змінні теми — з base.css */
.authpage{min-height:100vh}
.authbox{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 16px; gap:14px}
.authcard{width:100%; max-width:420px; padding:28px 26px 24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.authcard h1{font-size:26px; margin:.2em 0 .15em; letter-spacing:-.01em}
.authcard .sub{color:var(--muted); font-size:14px; margin:0 0 20px}
.authcard .fld{display:block; margin-bottom:14px}
.authcard .fld>span:first-child{display:block; font-size:12px; font-weight:600; color:var(--faint); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px}
.authcard input{width:100%; font:inherit; font-size:16px; color:var(--ink); background:var(--surface-2); border:1px solid var(--line); border-radius:10px; padding:11px 12px}
.authcard input:focus-visible{outline:2px solid var(--rev); outline-offset:1px; border-color:transparent}
.pw{position:relative; display:block}
.pw input{padding-right:84px}
.eye{position:absolute; right:6px; top:50%; transform:translateY(-50%); appearance:none; border:0; background:none; cursor:pointer; font:inherit; font-size:12.5px; font-weight:600; color:var(--rev); padding:6px 8px; border-radius:7px}
.eye:hover{background:var(--rev-soft)}
button.primary,a.primary{appearance:none; width:100%; display:block; text-align:center; text-decoration:none; cursor:pointer; font:inherit; font-size:15px; font-weight:650; color:#fff; background:var(--rev); border:0; border-radius:10px; padding:12px 14px; margin-top:6px}
button.primary:hover,a.primary:hover{filter:brightness(1.06)}
button.primary:disabled{opacity:.6; cursor:wait}
button.primary:focus-visible,a.primary:focus-visible{outline:2px solid var(--rev); outline-offset:2px}
.msg{display:none; font-size:13.5px; color:var(--neg); background:#c6435a1a; border-radius:9px; padding:9px 12px; margin:0 0 10px}
.msg.show{display:block}
.hint{font-size:12.5px; color:var(--muted); margin:14px 0 0; line-height:1.5}
.rules{list-style:none; margin:0 0 12px; padding:0; font-size:12.5px; color:var(--muted)}
.rules li{padding-left:20px; position:relative; margin:2px 0}
.rules li::before{content:"○"; position:absolute; left:2px; color:var(--faint)}
.rules li.ok{color:var(--pos)}
.rules li.ok::before{content:"✓"; color:var(--pos); font-weight:700}
.owner{font-size:12.5px; margin:0}
.owner a{color:var(--faint); text-decoration:none}
.owner a:hover{color:var(--rev); text-decoration:underline}
@media (max-width:480px){ .authcard{padding:22px 18px 18px} .authbox{justify-content:flex-start; padding-top:8vh} }

/* двоетапний вхід */
.steps{font-size:13px;color:var(--muted);margin:0 0 14px;padding-left:18px;line-height:1.55}
.qrbox{display:flex;justify-content:center;margin:4px 0 14px}
.qrbox svg{width:210px;height:210px;border-radius:12px;border:1px solid var(--line);background:#fff}
.key{font-family:ui-monospace,Menlo,monospace;font-size:13px;letter-spacing:.08em;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 12px;text-align:center;margin:0 0 14px;word-break:break-all;user-select:all}
.authcard input.otp{text-align:center;font-family:ui-monospace,Menlo,monospace;font-size:26px;font-weight:650;letter-spacing:.35em;padding:12px 8px 12px 20px;margin:2px 0 14px}
.authcard input.otp.bk{font-size:20px;letter-spacing:.18em}
.warn{font-size:12.5px;color:var(--neg);background:#c6435a14;border-radius:9px;padding:9px 12px;margin:0 0 12px;line-height:1.45}
.codes{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-family:ui-monospace,Menlo,monospace;font-size:14px}
.codes li{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
.codes li span{color:var(--faint);margin-right:8px;font-size:11.5px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
button.sec{appearance:none;width:100%;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.chk{display:flex;gap:8px;font-size:13px;color:var(--muted);margin:0 0 12px;align-items:flex-start;cursor:pointer}
.authcard .chk input{width:16px;height:16px;margin-top:2px;flex:none}
.lnk{display:block;text-align:center;font-size:13px;color:var(--rev);margin-top:14px;text-decoration:none}
.sess{font-size:12px;color:var(--faint);text-align:center;margin:10px 0 0;line-height:1.5}
