/* Sign-in page.
   Owner, 2026-09-24: "keep the login page blank but make the colours the same".
   So: the page still says NOTHING about whose it is — no product name, no company name, no logo, no
   wordmark, noindex — and it now wears the portal's own palette and type instead of the neutral dark
   greys it had. A person who has signed in before recognises the surface; a stranger learns nothing.
   The tokens below are copied from panoptic.css rather than imported, because the door must render
   before any session exists and must not depend on the app's stylesheet. */
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url("/static/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url("/static/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url("/static/inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url("/static/inter-700.woff2") format("woff2")}

:root{
  --bg:#eef1f5; --card:#ffffff; --soft:#f6f8fa; --line:#dbe1ea; --line-d:#c4cddb;
  --ink:#222933; --muted:#5a6473; --dim:#8b95a5;
  --navy:#3a5a92; --navy-d:#2c4674; --blue:#4d72b7;
  --alarm:#c73e3e; --r:3px;
  --sans:"Inter","Segoe UI",system-ui,Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:13px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

.authbox{
  width:min(92vw,23rem);
  background:var(--card);
  border:1px solid var(--line-d);
  border-radius:var(--r);
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

h1{font-size:18px;font-weight:600;color:var(--navy-d);letter-spacing:-.01em;margin-bottom:1.3rem}

label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
      color:var(--muted);margin-bottom:.3rem}

input{
  display:block;width:100%;margin-bottom:1rem;padding:.5rem .7rem;
  border:1px solid var(--line-d);border-radius:var(--r);
  background:var(--card);color:var(--ink);font:inherit;font-size:13px;
}
input:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}

button{
  width:100%;margin-top:.3rem;padding:.55rem;
  border:1px solid var(--line-d);border-radius:var(--r);
  background:var(--soft);color:var(--navy-d);font:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
button:hover{background:#eef2f7;border-color:var(--navy)}

.err{color:var(--alarm);font-size:12px;margin-bottom:.9rem;padding:.45rem .6rem;
     background:#fbeaea;border-left:3px solid var(--alarm);border-radius:var(--r)}
