:root{font-family:Arial,Helvetica,sans-serif;color:#10233d;background:#f5f8fc}*{box-sizing:border-box}body{margin:0}header{background:#0d3f73;color:white;padding:18px max(5vw,24px);display:flex;justify-content:space-between;align-items:center;border-bottom:5px solid #d8ad39}header small{display:block;margin-top:4px;opacity:.9}header a{color:white;text-decoration:none}main{max-width:1100px;margin:0 auto;padding:42px 24px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.eyebrow{color:#a87800;font-weight:700;letter-spacing:.12em}.card{background:white;border:1px solid #dce5ef;border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(15,45,75,.07)}.narrow{max-width:500px;margin:8vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}h1{font-size:2rem;margin:.2em 0}h2{margin-top:34px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.lead{font-size:1.1rem}.muted{color:#66768a;font-size:.92rem}label,.q{display:block;font-weight:600;margin:18px 0}input,textarea,select{width:100%;margin-top:8px;padding:12px;border:1px solid #b9c8d8;border-radius:8px;font:inherit;background:white}textarea{min-height:90px}button{background:#0d4f91;color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.secondary,.back{background:white;color:#0d4f91;border:1px solid #0d4f91}.back{margin-bottom:18px}.actions{display:flex;gap:12px;margin-top:28px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:10px}.checks label{font-weight:400;margin:0;padding:8px;border:1px solid #e1e8ef;border-radius:7px}.checks input{width:auto;margin:0 6px 0 0}.row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #e5eaf0}.row small{display:block;color:#66768a;margin-top:4px}.notice{padding:10px;background:#fff6d8;border-radius:8px}@media(max-width:650px){header{align-items:flex-start;gap:10px;flex-direction:column}.hero{align-items:flex-start;flex-direction:column}.actions{flex-direction:column}}
.review-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}.review-meta>div{border:1px solid #dbe3ec;border-radius:8px;padding:12px;background:#f8fafc}.review-meta span{display:block;font-size:.75rem;color:#64748b;margin-bottom:4px}.submission-block{border:1px solid #dbe3ec;border-radius:10px;padding:18px;margin:22px 0;background:#fbfdff}.submission-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.status-pill{background:#e8f0fb;border:1px solid #b9cde8;border-radius:999px;padding:5px 10px;font-size:.75rem}.submission-block h3{margin-top:24px;border-bottom:1px solid #e2e8f0;padding-bottom:7px}.review-answers,.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-answers>div,.answer-grid>div{border:1px solid #e2e8f0;border-radius:7px;padding:10px;background:white}.answer{margin-top:6px;white-space:pre-wrap;line-height:1.45;color:#1e293b}.private-divider{margin:30px 0 18px;padding:18px;border-top:4px solid #d4a017;background:#f8fafc}.private-divider h2{margin:2px 0 6px}@media(max-width:760px){.review-meta,.review-answers,.answer-grid{grid-template-columns:1fr}}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.assignment-list{display:grid;gap:.65rem;margin:1rem 0 1.25rem}.assignment-row{display:flex!important;align-items:flex-start;gap:.75rem;border:1px solid #dbe3ec;border-radius:10px;padding:.8rem 1rem;background:#fff}.assignment-row input{width:auto;margin-top:.2rem}.assignment-row span{display:flex;flex-direction:column;gap:.2rem}.assignment-row small{color:#526173;font-weight:400}

.health-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 26px}.health-choice{position:relative;margin:0;padding:14px;border:1px solid #dbe3ec;border-radius:10px;background:#fff;display:grid;grid-template-columns:auto 1fr;gap:4px 9px;align-items:center;cursor:pointer}.health-choice input{width:auto;margin:0}.health-choice .health-dot{grid-row:1/span 2}.health-choice small{grid-column:2;color:#526173;font-weight:400;line-height:1.35}.health-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-1px;margin-right:8px;border:1px solid rgba(0,0,0,.08)}.health-dot.red{background:#dc2626}.health-dot.yellow{background:#f2b705}.health-dot.green{background:#159447}.health-dot.unset{background:#d7dee7}.leader-name{display:flex;align-items:center}.health-choice:has(input:checked){box-shadow:0 0 0 2px #0d4f91 inset;border-color:#0d4f91}@media(max-width:760px){.health-selector{grid-template-columns:1fr}}
.followup-email{margin:1.25rem 0;padding:1rem;border:1px solid #d9dee7;border-radius:12px;background:#fafbfc}.followup-email h2{margin-top:0}.email-status{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}

/* People & Access — spacious directory layout */
.admin-actions{margin:20px 0 0}
#people-list{margin-top:34px;border-top:1px solid #dbe3ec}
.person-row{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid #dbe3ec}
.person-row>div:first-child{min-width:0;flex:1}
.person-row strong{display:block;font-size:1.08rem;margin-bottom:5px}
.person-row small{display:block;color:#526173;line-height:1.45}
.person-row .badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}
.person-row .row-actions{flex:0 0 auto;align-items:center}
.person-row .row-actions button{min-width:92px}
@media(max-width:650px){#people-list{margin-top:28px}.person-row{align-items:flex-start;flex-direction:column;gap:14px;padding:22px 0}.person-row .row-actions{width:100%;justify-content:flex-start}.person-row .row-actions button{min-width:120px}}
.mfa-qr{display:flex;justify-content:center;align-items:center;padding:18px;margin:18px auto;background:#fff;border:1px solid #d8dee8;border-radius:12px;max-width:280px}.mfa-qr svg{width:240px;height:240px;max-width:100%}.security-status{background:#f5f8fc;border:1px solid #d8e0ea;border-radius:12px;padding:14px 18px;margin:16px 0 22px}.security-status p{margin:7px 0}.formcard hr{border:0;border-top:1px solid #d8dee8;margin:26px 0}

/* V29.1 MFA enrollment: render Supabase QR data URI as an image and preserve quiet zone. */
.mfa-qr{display:flex;justify-content:center;align-items:center;background:#fff;padding:24px;margin:20px auto;max-width:308px;border:1px solid #d8e0ea;border-radius:12px}
.mfa-qr img{display:block;width:260px;height:260px;max-width:100%;object-fit:contain;image-rendering:auto}
.mfa-manual{margin:18px 0;padding:14px 16px;border:1px solid #d8e0ea;border-radius:10px;background:#f8fafc}
.mfa-manual summary{cursor:pointer;font-weight:700;color:#0b3766}
.setup-key{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.setup-key code{font-size:1rem;letter-spacing:.08em;overflow-wrap:anywhere;background:#fff;padding:10px 12px;border:1px solid #d8e0ea;border-radius:8px;flex:1;min-width:180px}

/* V31.2 unified EAC network navigation */
.brand{min-width:0}.network-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.network-nav a,.network-nav .nav-link{display:inline-flex;align-items:center;justify-content:center;color:white;text-decoration:none;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer}.network-nav a:hover,.network-nav .nav-link:hover{background:rgba(255,255,255,.12)}.network-card h2{margin-top:8px}.network-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.button-link{display:inline-flex;align-items:center;justify-content:center;background:#0d4f91;color:white;text-decoration:none;border-radius:8px;padding:12px 18px;font-weight:700}@media(max-width:650px){.network-nav{width:100%}.network-nav a,.network-nav .nav-link{flex:1 1 auto}.network-actions{flex-direction:column}.button-link{width:100%}}

/* V31.3 pastoral Leadership Review Dashboard */
.leadership-dashboard{max-width:1280px;margin:0 auto}.dashboard-title-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.scope-note{font-size:.88rem;color:#526173}.review-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.review-kpis>div{padding:20px;border:1px solid #cfe0f0;border-radius:12px;background:#f4f9ff;text-align:center}.review-kpis strong{display:block;font-size:2.35rem;color:#0b3766}.review-kpis span{display:block;font-weight:700;margin-top:4px}.review-kpis .kpi-green{background:#eefaf2;border-color:#cdebd7}.review-kpis .kpi-green strong{color:#128443}.review-kpis .kpi-yellow{background:#fff9e8;border-color:#f1dfaa}.review-kpis .kpi-yellow strong{color:#d99a00}.review-kpis .kpi-red{background:#fff0f1;border-color:#f2c9cd}.review-kpis .kpi-red strong{color:#d6202f}.review-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:14px;align-items:end;margin:18px 0}.review-toolbar label{margin:0;font-size:.82rem;color:#526173}.review-table-wrap{overflow-x:auto;border:1px solid #dbe3ec;border-radius:12px}.review-table{width:100%;border-collapse:collapse;min-width:1000px;background:#fff}.review-table th{font-size:.78rem;text-align:left;padding:13px 10px;background:#f3f7fb;border-bottom:1px solid #dbe3ec;color:#193452}.review-table td{padding:13px 10px;border-bottom:1px solid #e5ebf1;vertical-align:middle;font-size:.88rem}.review-table tbody tr:hover{background:#f8fbfe}.review-table .health-dot{margin:0}.table-sub{display:block;color:#66768a;margin-top:4px}.compact{padding:8px 14px;white-space:nowrap}.health-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.health-legend>div{border:1px solid #dbe3ec;border-radius:10px;padding:14px}.health-legend strong{display:inline}.health-legend small{display:block;color:#526173;margin:7px 0 0 22px;line-height:1.35}@media(max-width:800px){.review-kpis{grid-template-columns:repeat(2,1fr)}.review-toolbar{grid-template-columns:1fr}.health-legend{grid-template-columns:1fr}}@media(max-width:500px){.review-kpis{grid-template-columns:1fr}}
