:root{--access-ink:#10233f;--access-navy:#102a49;--access-muted:#45586f;--access-bg:#f3f7fb;--access-surface:#fff;--access-accent:#0757bf;--access-border:#70869b;--access-radius:16px;--access-small-radius:8px}
*,*::before,*::after{box-sizing:border-box}
.access-page{margin:0;padding:24px 16px;background:var(--access-bg);color:var(--access-ink);font:16px/1.6 "Segoe UI",Arial,sans-serif}
.access-page main{width:100%;margin-inline:auto;min-width:0}
.access-login{max-width:440px;padding-block:24px}
.access-admin{max-width:960px;padding-block:16px}
.access-brand{display:flex;align-items:center;gap:16px;font-size:20px;font-weight:700;text-decoration:none;margin-bottom:24px;color:var(--access-navy)}
.access-brand img{object-fit:contain;flex-shrink:0}
.access-page h1{font-size:32px;line-height:1.12;letter-spacing:-.025em;margin:0 0 16px;overflow-wrap:anywhere}
.access-page h2{font-size:20px;line-height:1.4;margin:0 0 16px}
.access-page p{margin:0 0 16px}
.access-muted,.access-help{color:var(--access-muted)}
.access-intro{max-width:64ch;margin-bottom:32px!important}
.access-card{padding:24px;border:1px solid var(--access-border);border-radius:var(--access-radius);background:var(--access-surface);margin-bottom:24px}
.access-card label{display:block;margin-bottom:8px;font-size:14px;font-weight:650}
.access-card input,.access-card select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid var(--access-border);border-radius:var(--access-small-radius);padding:12px;background:var(--access-surface);color:var(--access-ink);font:inherit;margin:0 0 16px}
.access-card input[readonly]{background:var(--access-bg)}
.access-help{font-size:14px;line-height:1.6}
.access-page button{font:inherit;font-weight:650;min-height:48px;border-radius:var(--access-small-radius);padding:12px 16px;cursor:pointer;max-width:100%;border:1px solid var(--access-accent)}
.access-primary{background:var(--access-accent);color:#fff}
.access-secondary{background:var(--access-surface);color:var(--access-accent)}
.access-login button{width:100%;margin-bottom:16px}
.access-page button:disabled{cursor:not-allowed;background:var(--access-bg);color:var(--access-muted);border-color:var(--access-border)}
.access-page a{color:var(--access-accent)}
.access-page :focus-visible{outline:3px solid var(--access-accent);outline-offset:3px}
.access-status{overflow-wrap:anywhere;min-height:24px;margin:16px 0 0!important}
.access-status[data-error="true"]{color:#a11325}
.access-header{margin-bottom:32px}
.access-header>*{display:block}
.access-notice{padding:24px;border-left:4px solid var(--access-accent);background:var(--access-surface);border-radius:var(--access-small-radius)}
.access-notice p:last-child{margin-bottom:0}
.access-actions button{display:block;width:100%;margin-top:16px}
@media(min-width:640px){.access-page{padding:32px}.access-admin h1{font-size:40px}.access-card{padding:32px}.access-header{display:flex;justify-content:space-between;gap:24px}.access-actions{display:flex;gap:16px}.access-actions button{width:auto;min-width:160px}.access-admin .access-card{max-width:720px}.access-login{padding-block:48px}}
