@font-face { font-family: "PolySans Bulky"; src: url("/template/assets/fonts/PolySans-Bulky.otf") format("opentype"); font-display: swap; }
@font-face { font-family: "PolySans Slim"; src: url("/template/assets/fonts/PolySans-Slim.otf") format("opentype"); font-display: swap; }
:root { --blue:#2a6fdb; --paper:#fff; --paper-2:#f6f4ef; --ink:#1b2530; --ink-2:#52606e; --rule:#a8abb0; --orange:#ed6f38; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--paper-2); font-family:"PolySans Slim",Georgia,serif; }
.login-page,.gate-page { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card,.gate-card { width:min(620px,100%); padding:clamp(30px,5vw,58px); background:var(--paper); border-top:9px solid var(--blue); }
.login-card img,.gate-card img { width:150px; height:auto; margin-bottom:48px; }
.eyebrow { margin:0 0 12px; color:var(--blue); font:700 12px/1.2 "Helvetica Neue",Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
h1 { margin:0 0 24px; font:800 clamp(42px,7vw,68px)/.96 "PolySans Bulky","Helvetica Neue",sans-serif; }
.login-card>p:not(.eyebrow),.gate-card>p:not(.eyebrow) { color:var(--ink-2); font-size:20px; line-height:1.4; }
form { display:grid; gap:12px; margin-top:30px; }
label { display:grid; gap:7px; font:700 13px/1.3 "Helvetica Neue",Arial,sans-serif; }
input { width:100%; min-height:52px; padding:13px 14px; border:1px solid var(--rule); border-radius:0; font:16px "Helvetica Neue",Arial,sans-serif; text-transform:none; }
input:focus { outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent); border-color:var(--blue); }
button { min-height:50px; padding:12px 18px; color:var(--paper); background:var(--blue); border:1px solid var(--blue); border-radius:0; font:700 14px "Helvetica Neue",Arial,sans-serif; cursor:pointer; }
button:hover,button:focus-visible { color:var(--blue); background:var(--paper); }
button:disabled { opacity:.55; cursor:wait; }
.form-message,.form-error { min-height:24px; margin:0; color:var(--ink-2); font-size:14px; }
.form-error { color:#a52e19; }
