@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#102b46;--blue:#1767a8;--gold:#d9a441;--ink:#1c2935;--muted:#687887;--line:#e2e8ee;--bg:#f4f7fa;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}.top{background:var(--navy);color:white;padding:16px max(22px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.brand{display:flex;gap:12px;align-items:center}.brand strong{display:block;font-family:Manrope,sans-serif}.brand small{display:block;color:#c6d4e1;font-size:11px}.mark{width:42px;height:42px;border-radius:12px;background:var(--gold);color:var(--navy);font-weight:800;display:grid;place-items:center}.top nav{display:flex;gap:16px;flex-wrap:wrap}.top nav a{color:#e9f1f7;text-decoration:none;font-size:13px}.wrap{max-width:1160px;margin:36px auto;padding:0 22px;min-height:72vh}footer{text-align:center;color:#82909c;padding:28px;font-size:12px}.hero{background:linear-gradient(120deg,#102b46,#1b5c8c);color:white;padding:64px 56px;border-radius:22px;margin-bottom:24px}.hero h1{font:800 clamp(36px,6vw,58px)/1.08 Manrope,sans-serif;max-width:650px;margin:14px 0}.hero p{color:#d6e4ef;max-width:620px;font-size:17px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--gold)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border:0;border-radius:9px;background:var(--blue);color:white;padding:12px 18px;font-weight:700;text-decoration:none;cursor:pointer;font-size:14px}.hero .btn{background:var(--gold);color:var(--navy)}.btn.secondary{background:#eaf0f5;color:var(--navy)}.btn.danger{background:#a83c3c}.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:18px;box-shadow:0 5px 20px rgba(16,43,70,.035)}.panel h2{font:700 20px Manrope,sans-serif;margin:0 0 14px}.panel h3{font:700 17px Manrope,sans-serif;margin:0 0 8px}.panel p{color:var(--muted);margin:6px 0}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.tile{display:block;color:inherit;text-decoration:none}.auth{max-width:460px;margin:50px auto;padding:32px}.auth h1,.pagehead h1{font:800 30px Manrope,sans-serif;margin:8px 0}.auth form{display:grid;gap:10px;margin-top:22px}label{font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd9e2;border-radius:8px;background:#fff;font:inherit;margin:5px 0 12px}input:focus,select:focus,textarea:focus{outline:2px solid #b8d7ef;border-color:var(--blue)}.muted{color:var(--muted);font-size:13px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 24px}.pagehead p{color:var(--muted);margin:0}.status{display:inline-block;background:#eaf0f5;color:#34516a;border-radius:30px;padding:6px 11px;font-size:11px;font-weight:700;text-transform:uppercase}.status.done{background:#e3f4e9;color:#23643b}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stats article{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.stats small{display:block;color:var(--muted)}.stats strong{font:800 30px Manrope,sans-serif;color:var(--navy)}.inline{display:flex;gap:10px;flex-wrap:wrap}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.formgrid .wide{grid-column:1/-1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase}.thumb{width:48px;height:48px;object-fit:cover;border-radius:9px}.no-photo{font-size:11px;color:var(--muted)}.votegrid{display:grid;gap:16px}.category h2{font-size:18px}.cathead{display:flex;justify-content:space-between;gap:10px;align-items:center}.nominees{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.nominee{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;align-items:center;gap:12px;cursor:pointer}.nominee img,.placeholder{width:64px;height:64px;object-fit:cover;border-radius:10px;background:#eaf0f5}.placeholder{display:grid;place-items:center;color:var(--navy);font-weight:800}.nominee span{flex:1}.nominee strong,.nominee small{display:block}.nominee small{color:var(--muted);font-weight:400}.nominee input{width:20px;margin:0}.resultrow{margin:16px 0}.resultmeta{display:flex;justify-content:space-between;gap:12px;font-size:13px}.resultmeta span{color:var(--muted)}.bar{height:9px;background:#edf1f4;border-radius:20px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:var(--blue);border-radius:20px}.notice{padding:12px 15px;border-radius:9px;margin-bottom:14px;background:#eaf2f9;color:#24445e}.notice.error{background:#fff0ef;color:#963d35}@media(max-width:760px){.hero{padding:38px 25px}.grid.three,.stats{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}.top{align-items:flex-start}.top nav{gap:10px}.wrap{margin:22px auto}.cathead{align-items:flex-start;flex-direction:column}}

/* GSCH event and category management status styles */
.status-open { background:#dcfce7; color:#166534; border:1px solid #86efac; }
.status-paused { background:#fef3c7; color:#92400e; border:1px solid #fcd34d; }
.status-closed { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.status-draft { background:#e5e7eb; color:#374151; border:1px solid #d1d5db; }
.category-edit { display:grid; gap:5px; min-width:190px; }
.category-edit input { width:100%; min-width:150px; }
.action-form { display:inline-block; margin:2px; }
.notice { border-left:4px solid #d97706; }

/* Administrator permissions */
.permission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0 18px}
.permission-list label{display:flex;align-items:center;gap:8px;font-size:14px}
.permission-list input,.admin-active input{width:auto}
.admin-account{padding:18px 0;border-top:1px solid #e5eaf0}
.admin-account h3{margin-bottom:5px}
.admin-account p{margin:5px 0 12px;color:#64748b;font-size:13px}
.admin-active{display:flex;align-items:center;gap:8px;margin:12px 0}


/* Official Good Shepherd institutional branding */
.institutional-letterhead {
  width: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 20px;
  border-bottom: 1px solid var(--line);
}
.institutional-letterhead img {
  display: block;
  width: 100%;
  max-width: 752px;
  height: auto;
  object-fit: contain;
}
.brand-logo {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
  border: 2px solid var(--gold);
  border-radius: 10px;
}
.brand-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media(max-width:760px) {
  .institutional-letterhead {
    padding: 8px 12px;
  }
  .brand-logo {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
}
