.hero-sm { min-height: 220px; }
.hero-row { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.hero-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.who-chip { color: var(--gold-soft); font-size: 0.9rem; }
.toolbar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 22px; align-items:center; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin-left:auto; }
.filters a, .filters span { font-size:0.85rem; color: var(--muted); text-decoration:none; padding:6px 10px; border-radius:8px; border:1px solid transparent; }
.filters a.active, .filters span.active { color: var(--gold-soft); border-color: var(--line); background: var(--ink-2); }
.prayer-table { width:100%; border-collapse:collapse; }
.prayer-table th { text-align:left; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--gold); padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap; }
.prayer-table th a { color: var(--gold); text-decoration: none; letter-spacing: 0.14em; }
.prayer-table th a:hover { color: var(--gold-soft); }
.prayer-table th .arrow { color: var(--cream); }
.filter-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  align-items: end;
}
.filter-bar .span2 { grid-column: span 2; }
.age-note { color: var(--muted); font-size: 0.92rem; margin: 0; }
input[type=number] {
  width: 100%; background: var(--ink-2); color: var(--cream); border: 1px solid var(--line);
  border-radius: 10px; padding: 10px 12px; font: inherit;
}
.prayer-table td { vertical-align:top; padding:14px 12px; border-bottom:1px solid var(--line); }
.prayer-table tr:hover td { background: var(--ink-2); }
.prayer-table .name { font-family: var(--serif); font-size:1.15rem; color: var(--cream); }
.prayer-table .desc { white-space:pre-wrap; max-width: 52ch; color: var(--cream-dim); line-height:1.55; }
.badge { display:inline-block; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; padding:3px 8px; border-radius:999px; border:1px solid var(--line); color: var(--gold-soft); }
.badge.urgent { border-color:#c45c4a; color:#f0b4a8; }
.badge.high { border-color: var(--gold); }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; max-width: 760px; }
.form-grid .full { grid-column: 1 / -1; }
label { display:block; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--gold); margin-bottom:6px; }
input[type=text], input[type=password], input[type=date], select, textarea {
  width:100%; background: var(--ink-2); color: var(--cream); border:1px solid var(--line);
  border-radius:10px; padding:10px 12px; font: inherit;
}
textarea { min-height: 140px; resize: vertical; }
.flash { background: rgba(217,164,65,0.12); border:1px solid var(--line); padding:12px 16px; border-radius:10px; margin-bottom:18px; }
.login-box { max-width: 420px; margin: 0 auto; background: var(--ink-2); border:1px solid var(--line); border-radius:14px; padding:28px; }
.row-actions { display:flex; gap:8px; flex-wrap:wrap; }
.row-actions a { font-size:0.85rem; }
@media (max-width: 820px) {
  .form-grid { grid-template-columns: 1fr; }
  .table-wrap { overflow-x: auto; }
  .filter-bar .span2 { grid-column: auto; }
}
