@font-face { font-family: "Public Sans"; font-weight: 400; src: url(fonts/public-sans-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Public Sans"; font-weight: 600; src: url(fonts/public-sans-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Public Sans"; font-weight: 700; src: url(fonts/public-sans-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Owners"; font-weight: 700; src: url(assets/fonts/owners-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Owners"; font-weight: 900; src: url(assets/fonts/owners-latin-900-normal.woff2) format("woff2"); }
body { margin: 0; background: #222B4E; font-family: "Public Sans", system-ui, sans-serif; color: #1C2430; }
.stage { min-height: 100vh; display: flex; flex-direction: column; gap: 36px; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; position: relative; overflow: hidden; }
.logo { width: 300px; max-width: 80vw; height: auto; position: relative; }
.card { width: 100%; max-width: 440px; background: #FFFFFF; border-radius: 10px; position: relative; box-shadow: 0 12px 40px rgba(0,0,0,0.25); padding: 44px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; }
.brand { font-family: "Owners", "Public Sans", sans-serif; font-size: 12px; letter-spacing: 0.1em; font-weight: 700; color: #2B358E; text-transform: uppercase; }
h1 { margin: 0; font-family: "Owners", "Public Sans", sans-serif; font-size: 40px; font-weight: 900; color: #222B4E; letter-spacing: -0.01em; }
.intro { margin: 0; font-size: 15px; line-height: 1.55; color: #3C4654; }
label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
input { height: 44px; padding: 0 12px; border: 1px solid #A7B2C1; border-radius: 6px; font-size: 15px; font-family: inherit; }
input:focus-visible, button:focus-visible { outline: 3px solid #2B358E; outline-offset: 2px; }
button { height: 46px; border-radius: 6px; border: none; background: #222B4E; color: #FFFFFF; font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer; }
button:disabled { opacity: 0.7; cursor: progress; }
.note { margin: 0; font-size: 12px; line-height: 1.5; color: #4A5563; }
.error { margin: 0; font-size: 14px; color: #9B1C1C; background: #FDECEC; border-radius: 6px; padding: 10px 12px; }
.proto-banner { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: center; min-height: 26px; padding: 4px 12px; box-sizing: border-box; background: #F4E203; color: #000; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-align: center; }
.stage { min-height: calc(100vh - 26px); }
