:root { color-scheme: light; --red:#e72b21; --red-dark:#bf2119; --ink:#262425; --muted:#6b7280; --line:#dfe5ec; --surface:#fff; --bg:#f3f6fa; --blue:#1d5fd1; }
* { box-sizing:border-box; }
html { font-family:Inter,Segoe UI,Arial,sans-serif; color:var(--ink); background:var(--bg); }
body { margin:0; }
a { color:var(--blue); }
.public-page { min-height:100vh; background:radial-gradient(circle at 10% 5%,rgba(231,43,33,.1),transparent 34rem),linear-gradient(145deg,#fafbfc,#edf2f7); }
.public-shell,.login-shell { width:min(100% - 2rem,760px); min-height:100vh; margin:auto; display:grid; place-items:center; padding:2rem 0; }
.login-shell { width:min(100% - 2rem,480px); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 34px rgba(30,41,59,.08); }
.public-card,.login-card { width:100%; overflow:hidden; }
.card-body { padding:2.5rem; }
.card-footer { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1rem 2.5rem; border-top:1px solid var(--line); color:var(--muted); font-size:.875rem; }
.public-topline { float:right; }
.public-pill,.counter { display:inline-flex; padding:.35rem .65rem; background:#f6f7f9; border:1px solid var(--line); border-radius:999px; font-size:.8rem; font-weight:700; }
.brand-logo { display:block; width:min(100%,21rem); height:auto; margin:0 0 1.3rem; }
.brand-logo.compact { width:min(100%,17rem); }
.organization { margin-bottom:.45rem; color:#4b5563; font-weight:700; }
h1 { margin:.2rem 0 .7rem; font-size:clamp(1.55rem,4vw,2rem); line-height:1.18; }
.lead,.page-heading p { color:var(--muted); margin:0 0 1.5rem; line-height:1.55; }
label { display:block; margin:.95rem 0 .4rem; font-weight:700; font-size:.92rem; }
input,textarea,select { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:.78rem .85rem; background:#fff; color:var(--ink); font:inherit; }
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { outline:3px solid rgba(29,95,209,.15); border-color:var(--blue); }
.required { color:#c51f1f; }
.hint { margin:.4rem 0 1.1rem; color:var(--muted); font-size:.82rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; border-radius:10px; padding:.68rem 1rem; text-decoration:none; cursor:pointer; font:inherit; font-weight:700; }
.btn-primary { color:#fff; background:var(--red); }
.btn-primary:hover { background:var(--red-dark); }
.btn-secondary { color:var(--ink); background:#fff; border-color:#cbd5e1; }
.btn-large { width:100%; padding:.88rem; }
.login-card form .btn-large { margin-top:1.25rem; }
.alert { margin:1rem 0; padding:.9rem 1rem; border-radius:10px; line-height:1.45; }
.alert-success { background:#e8f7ed; border:1px solid #9bd3ad; color:#14532d; }
.alert-danger { background:#fff0f0; border:1px solid #efaaaa; color:#8a1c1c; }
.alert-warning { background:#fff8db; border:1px solid #ead381; color:#714b00; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; }
.turnstile-wrap { margin:0 0 1rem; min-height:65px; }
.center-link { margin-top:1rem; text-align:center; }
.container { width:min(100% - 2rem,1200px); margin-inline:auto; }
.admin-header { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.admin-header-inner { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.admin-brand { color:var(--ink); text-decoration:none; font-weight:800; }
.admin-nav { display:flex; align-items:center; gap:1rem; font-size:.9rem; }
.admin-main { padding-block:2rem; }
.admin-main.table-mode { width:min(100% - 2rem,1600px); }
.page-heading { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.page-heading h1 { margin:0; }
.filters { padding:1rem; margin-bottom:1rem; }
.filter-grid { display:grid; grid-template-columns:2fr 1fr auto; gap:1rem; align-items:end; }
.filter-actions { display:flex; gap:.5rem; }
.page-tools { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 1rem; flex-wrap:wrap; }
.view-switch,.page-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.view-switch .active { color:#fff; background:var(--blue); border-color:var(--blue); }
.incident-list { display:grid; gap:1rem; }
.incident-card { overflow:hidden; }
.incident-card > header { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding:1rem 1.25rem; background:#fafbfc; border-bottom:1px solid var(--line); }
.incident-card > header strong,.incident-card > header span { display:block; }
.incident-card > header div > span { color:var(--muted); font-size:.82rem; margin-top:.25rem; }
.incident-body { padding:1.25rem; }
.event-text { padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--line); line-height:1.55; overflow-wrap:anywhere; }
.badge { border-radius:999px; padding:.34rem .6rem; font-size:.78rem; font-weight:800; white-space:nowrap; }
.badge-warning { background:#fff1b8; color:#684800; }.badge-info { background:#dceeff; color:#164e7a; }.badge-success { background:#d9f5e2; color:#166534; }
.staff-grid { display:grid; grid-template-columns:220px 1fr; gap:1rem; }
.save-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:.8rem; color:var(--muted); font-size:.84rem; }
.empty { padding:3rem; text-align:center; color:var(--muted); }
.pagination { display:flex; gap:.35rem; margin-top:1rem; }.pagination a { padding:.45rem .7rem; background:#fff; border:1px solid var(--line); border-radius:8px; text-decoration:none; }.pagination a.active { color:#fff; background:var(--blue); }
.table-card { overflow:hidden; }
.table-scroll { overflow:auto; }
.incidents-table { width:100%; min-width:1240px; border-collapse:collapse; font-size:.9rem; }
.incidents-table th,.incidents-table td { padding:.75rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.incidents-table th { position:sticky; top:0; background:#f7f9fc; color:#475569; white-space:nowrap; z-index:1; }
.incidents-table th a { color:inherit; text-decoration:none; }
.incidents-table th a:hover { color:var(--blue); }
.incidents-table tbody tr:hover { background:#fbfcfe; }
.incidents-table .cell-event { min-width:280px; max-width:420px; white-space:pre-wrap; overflow-wrap:anywhere; }
.incidents-table .cell-note { min-width:260px; }
.incidents-table textarea { min-height:76px; margin:0; }
.incidents-table select { min-width:145px; }
.incidents-table .badge { display:inline-flex; margin-bottom:.45rem; }
.incidents-table .cell-date { white-space:nowrap; }
.sort-arrow { margin-left:.25rem; color:var(--blue); }
@media (max-width:720px) { .card-body{padding:1.3rem}.card-footer{padding:1rem 1.3rem}.public-topline{float:none;margin-bottom:1.2rem}.filter-grid,.staff-grid{grid-template-columns:1fr}.filter-actions .btn{flex:1}.admin-header-inner,.admin-nav,.page-heading,.save-row{align-items:stretch;flex-direction:column}.admin-header-inner{padding-block:.8rem}.admin-nav{gap:.5rem}.save-row .btn{width:100%}.page-tools{align-items:stretch;flex-direction:column}.view-switch .btn,.page-actions .btn{flex:1}.admin-brand{line-height:1.25} }

