/* Gessler visual language: Lato, white/grey surfaces and #4980c6 links.
   Independently implemented for the EZF portal; original font licence in fonts/OFL.txt. */
@font-face{font-family:Lato;src:url('/app/fonts/Lato-Thin.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/app/fonts/Lato-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/app/fonts/Lato-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/app/fonts/Lato-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#fff;--card:#f5f5f5;--text:#333;--muted:#666;--line:#e3e3e3;--accent:#4980c6}
body{font-family:Lato,Arial,sans-serif;font-weight:400;background:#fff;color:#666;line-height:1.5}
button,input,select,textarea{font-family:inherit;border-radius:2px}
h1,h2,h3{color:#111;line-height:1.25;letter-spacing:normal}
h1{font-weight:100;text-transform:uppercase;font-size:clamp(32px,5vw,50px)}h2,h3{font-weight:300}h2{font-size:29px}
p,.lead,.intro,article p{color:#666}a,.brand span,.eyebrow,.platform{color:#4980c6}
header,footer{border-color:#e3e3e3}.brand{font-weight:300;letter-spacing:normal}.eyebrow,.platform{font-weight:400;letter-spacing:.06em}
article,.notice,#login,.stats article,.adminGrid form,.sectionGrid form,.recordList{border-color:#e3e3e3;border-radius:2px;background:#f5f5f5;box-shadow:none}
.notice{border-left-color:#4980c6}.notice strong{color:#222}
button,input,select{background:#fff;color:#333;border-color:#ccc}
.button,.login-link,.primary,button[aria-pressed=true]{border-radius:2px;background:#4980c6;color:#fff;border-color:#4980c6;font-weight:400}
.button,.login-link{text-transform:uppercase;letter-spacing:.03em}
.button:hover,.login-link:hover,.primary:hover{background:#3668a8;color:#fff}
footer,th,.muted,.record span,.stats span{color:#666}td,th,.record,.sidebarAccount,#sidebar{border-color:#e3e3e3}
.app-logo{border-radius:2px}.gessler-logo{border-radius:0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #4980c6;outline-offset:3px}
/* Preserve the user's explicit dark-mode choice in the service console. */
[data-theme=light] body{background:#fff;color:#666}
[data-theme=light] .brand span,[data-theme=light] .eyebrow{color:#4980c6}
[data-theme=light] button,[data-theme=light] input,[data-theme=light] select{color:#333;border-color:#ccc}
[data-theme=light] .primary,[data-theme=light] button[aria-pressed=true]{background:#4980c6;color:#fff;border-color:#4980c6}
[data-theme=light] #login,[data-theme=light] .stats article,[data-theme=light] .notice,[data-theme=light] .adminGrid form,[data-theme=light] .sectionGrid form,[data-theme=light] .recordList{background:#f5f5f5;border-color:#e3e3e3}
[data-theme=dark]{color-scheme:dark}
[data-theme=dark] body{background:#111820;color:#d0d6de}
[data-theme=dark] header,[data-theme=dark] #sidebar{background:#19212b}
[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] .notice strong{color:#f5f5f5}
[data-theme=dark] p,[data-theme=dark] .muted,[data-theme=dark] th,[data-theme=dark] .record span,[data-theme=dark] .stats span{color:#d0d6de}
[data-theme=dark] article,[data-theme=dark] .notice,[data-theme=dark] #login,[data-theme=dark] .adminGrid form,[data-theme=dark] .sectionGrid form,[data-theme=dark] .recordList{background:#19212b;border-color:#374454}
[data-theme=dark] button,[data-theme=dark] input,[data-theme=dark] select{background:#19212b;color:#e7e9ed;border-color:#526174}
[data-theme=dark] .primary,[data-theme=dark] button[aria-pressed=true]{background:#4980c6;color:#fff;border-color:#4980c6}
[data-theme=dark] .brand span,[data-theme=dark] .eyebrow,[data-theme=dark] a{color:#91b8ea}

article span{color:#4980c6}
