/* Lock screen. Kept in its own file because the page CSP allows only same-origin styles. */
:root {
  --ink: #10131a; --muted: #6b7280; --line: #e3e6ec; --bg: #f6f7f9;
  --card: #ffffff; --accent: #1b6ef3; --bad: #b42318;
}
@media (prefers-color-scheme: dark) {
  :root { --ink: #eef1f6; --muted: #9aa3b2; --line: #262b36; --bg: #0d1016; --card: #141924; }
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px;
  background: var(--bg); color: var(--ink);
  font: 15px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.card {
  width: 100%; max-width: 380px; background: var(--card); border: 1px solid var(--line);
  border-radius: 14px; padding: 28px 26px 24px;
}
h1 { margin: 0 0 4px; font-size: 17px; letter-spacing: -0.01em; }
p.sub { margin: 0 0 22px; color: var(--muted); font-size: 13.5px; }
label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 7px; }
input {
  width: 100%; padding: 11px 12px; font-size: 15px; color: var(--ink);
  background: transparent; border: 1px solid var(--line); border-radius: 9px;
}
input:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }
button {
  width: 100%; margin-top: 14px; padding: 11px 12px; font-size: 15px; font-weight: 550;
  color: #fff; background: var(--accent); border: 0; border-radius: 9px; cursor: pointer;
}
button:disabled { opacity: .55; cursor: default; }
.msg { margin-top: 13px; font-size: 13.5px; color: var(--bad); min-height: 19px; }
.foot { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line);
        font-size: 12.5px; color: var(--muted); }
