/* Ore Lavorativi — one stylesheet, no framework. */
:root { --ink:#12212e; --mut:#5b6b7a; --line:#d7dee6; --bg:#f5f7f9; --acc:#1a5fb4; --ok:#1a7f37; --bad:#b42318; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--ink); background:var(--bg); }
header.bar { background:#12212e; color:#fff; padding:10px 16px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
header.bar b { font-weight:600; }
header.bar .sp { margin-left:auto; }
header.bar a { color:#cfe3ff; text-decoration:none; }
main { padding:16px; max-width:1200px; margin:0 auto; }
h1 { font-size:20px; margin:4px 0 14px; }
h2 { font-size:16px; margin:22px 0 8px; }
nav.tabs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
nav.tabs a { padding:6px 11px; border:1px solid var(--line); background:#fff; border-radius:6px; text-decoration:none; color:var(--ink); }
nav.tabs a.on { background:var(--acc); border-color:var(--acc); color:#fff; }
.card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; margin-bottom:16px; }
/* wide admin tables scroll inside their card instead of stretching the page on a phone */
.card { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { text-align:left; padding:7px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:#eef2f6; white-space:nowrap; }
th a { color:var(--ink); text-decoration:none; }
tr:hover td { background:#fbfcfe; }
form.inline { display:inline; }
.filters { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
label { display:block; font-size:12px; color:var(--mut); margin-bottom:3px; }
input,select,button,textarea { font:inherit; padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); }
input[type=checkbox] { padding:0; width:auto; }
button { background:var(--acc); border-color:var(--acc); color:#fff; cursor:pointer; }
button.ghost { background:#fff; color:var(--ink); }
button.danger { background:var(--bad); border-color:var(--bad); }
.grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.msg { padding:9px 12px; border-radius:6px; margin-bottom:12px; }
.msg.ok { background:#e7f6ec; color:var(--ok); border:1px solid #b7e0c4; }
.msg.err { background:#fdecea; color:var(--bad); border:1px solid #f3c2bd; }
.mut { color:var(--mut); font-size:13px; }
.cal { width:100%; border-collapse:collapse; }
.cal th,.cal td { border:1px solid var(--line); height:74px; width:14.2%; vertical-align:top; padding:4px; }
.cal td.empty { background:#f0f2f5; }
.cal .d { font-size:12px; color:var(--mut); }
.cal .e { font-size:12px; margin-top:2px; }
.cal .e b { color:var(--acc); }
.login { max-width:360px; margin:8vh auto; }
@media (max-width:640px){ th,td{font-size:13px;padding:5px 4px;} main{padding:10px;} }

/* ---- public pages: index / login / register ---- */
.hero { max-width:760px; margin:0 0 20px; }
.hero h1 { font-size:30px; line-height:1.22; margin:0 0 12px; }
.hero .lead { font-size:17px; color:var(--mut); margin:0 0 18px; }
.cta { display:flex; gap:10px; flex-wrap:wrap; }
.btn { display:inline-block; padding:10px 16px; border-radius:8px; background:var(--acc); border:1px solid var(--acc); color:#fff; text-decoration:none; }
.btn.ghost { background:#fff; color:var(--ink); border-color:var(--line); }
.points { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:20px 0; }
.point { background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px; }
.point h3 { margin:0 0 8px; font-size:16px; }
.point p { margin:0; color:var(--mut); }
.steps { background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px; margin:20px 0; }
.steps h2 { margin:0 0 10px; }
.steps ol { margin:0; padding-left:20px; }
.steps li { margin-bottom:8px; }
.center { text-align:center; }
.form-card { max-width:520px; margin:0 auto; }
.errlist { margin:0; padding-left:18px; }
@media (max-width:640px){ .hero h1 { font-size:23px; } }
