:root { color-scheme: light; --ink:#243127; --green:#245c3d; --pale:#eef4ef; --red:#9d2f2f; --line:#d6ddd7; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,sans-serif; color:var(--ink); background:#f7f8f6; }
header { background:var(--green); color:white; padding:1rem; }
header a { color:white; margin-right:1rem; }
main { max-width:960px; margin:auto; padding:1.25rem; }
.card { background:white; border:1px solid var(--line); border-radius:10px; padding:1rem; margin-bottom:1rem; }
label { display:block; font-weight:650; margin-top:.8rem; }
input,select,textarea,button { width:100%; padding:.7rem; font:inherit; border:1px solid #aab5ad; border-radius:6px; }
button,.button { display:inline-block; width:auto; background:var(--green); color:white; border:0; padding:.7rem 1rem; text-decoration:none; cursor:pointer; }
.danger { background:var(--red); }
.secondary { background:#5d6d62; }
.presence,.admin-head { display:flex; gap:1rem; justify-content:space-between; align-items:center; }
.presence form { min-width:280px; }
.table-wrap { overflow:auto; }
.table-wrap input,.table-wrap select,.table-wrap textarea { min-width:180px; margin-bottom:.35rem; }
.table-wrap form+form { margin-top:.4rem; }
.flash { padding:.8rem; border-radius:6px; background:var(--pale); margin-bottom:1rem; }
.error { background:#faeaea; color:#702020; }
table { width:100%; border-collapse:collapse; background:white; }
th,td { text-align:left; padding:.65rem; border-bottom:1px solid var(--line); }
.number { text-align:right; white-space:nowrap; }
.muted { color:#667269; }
@media (max-width:700px) { table { font-size:.88rem; } main { padding:.7rem; } .presence,.admin-head { display:block; } .presence form { min-width:0; } }
