/* The plain pages (front page, sign in): the gd.boussalc.xyz style, kept in a file because the
   Content-Security-Policy allows no inline styles. */
:root { --ink:#111; --muted:#666; --rule:#ddd; --accent:#0F5FA0; --red:#C8102E; --bg:#fff;
        --serif: Charter, "Bitstream Charter", Georgia, "Times New Roman", serif;
        --sans: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin:0; background:var(--bg); color:var(--ink); min-height:100%; }
body { font-family: var(--serif); font-size:17px; line-height:1.45; }
main { max-width:560px; margin:0 auto; padding:16vh 24px 60px; }
main.narrow { max-width:420px; padding-top:18vh; }
h1 { font-size:30px; font-weight:600; line-height:1.2; margin:0 0 10px; }
main.narrow h1 { font-size:26px; margin-bottom:6px; }
p { margin:0 0 14px; }
.sub { font-family:var(--sans); color:var(--muted); font-size:14px; margin:0 0 30px; }
main.narrow .sub { font-size:13.5px; margin-bottom:34px; }
.msg { font-family:var(--sans); font-size:13.5px; color:var(--red); border-left:2px solid var(--red); padding:2px 0 2px 10px; margin:0 0 22px; }
.msg.info { color:var(--muted); border-left-color:var(--rule); }
ul { margin:0 0 30px; padding-left:18px; }
li { margin-bottom:6px; }
label { display:block; font-family:var(--sans); font-size:12.5px; color:var(--muted); margin:0 0 4px; }
.field { margin-bottom:22px; }
input[type=text], input[type=password] { width:100%; font:inherit; font-size:17px; color:var(--ink); background:none; border:none; border-bottom:1px solid var(--ink); border-radius:0; padding:4px 0 6px; outline:none; }
input[type=text]:focus, input[type=password]:focus { border-bottom:2px solid var(--accent); padding-bottom:5px; }
.err { font-family:var(--sans); font-size:12.5px; color:var(--red); margin-top:4px; }
button, input[type=submit] { font-family:var(--sans); font-size:14px; color:var(--accent); background:none; border:1px solid var(--accent); border-radius:3px; padding:7px 18px; cursor:pointer; }
button:hover, input[type=submit]:hover { background:var(--accent); color:#fff; }
.actions { margin:34px 0 0; display:flex; gap:14px; align-items:center; font-family:var(--sans); font-size:14px; }
.btn { color:var(--accent); background:none; border:1px solid var(--accent); border-radius:3px; padding:7px 18px; text-decoration:none; }
.btn:hover { background:var(--accent); color:#fff; }
.foot { font-family:var(--sans); font-size:12.5px; color:var(--muted); margin-top:48px; border-top:1px solid var(--rule); padding-top:12px; }
.foot a { color:var(--accent); text-decoration:none; }
