.people-callout { background: #234f68; }
.suggest-park-button { display: inline-block; margin-top: 18px; }
.suggest-park-page { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 60px; align-items: start; max-width: 1180px; margin: 0 auto; padding: 80px 24px 110px; }
.suggest-park-intro { position: sticky; top: 120px; }
.suggest-park-intro h1 { font: 800 clamp(42px, 5vw, 66px)/1.05 "Libre Franklin", sans-serif; letter-spacing: -.04em; margin: 0 0 20px; }
.suggest-park-intro p { color: var(--muted); font-size: 17px; }
.suggest-park-intro a { color: var(--rust); font-weight: 700; }
.park-suggestion-form { display: grid; gap: 22px; padding: 32px; border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
.park-suggestion-form fieldset { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; margin: 0; padding: 0 0 25px; border: 0; border-bottom: 1px solid var(--line); }
.park-suggestion-form legend { grid-column: 1 / -1; width: 100%; padding: 0 0 14px; font: 800 20px "Libre Franklin", sans-serif; }
.park-suggestion-form label { font-size: 12px; font-weight: 700; }
.park-suggestion-form label.full { grid-column: 1 / -1; }
.park-suggestion-form input, .park-suggestion-form textarea { display: block; width: 100%; padding: 12px; margin-top: 6px; border: 1px solid var(--line); background: #fffdf8; }
.park-suggestion-form small { display: block; color: var(--muted); margin-top: 6px; font-weight: 400; }
.park-suggestion-form > button { justify-self: start; border: 0; background: var(--gold); color: var(--forest-dark); padding: 14px 22px; font-weight: 800; cursor: pointer; }
.submission-consent { display: flex; gap: 9px; align-items: flex-start; color: var(--muted); }
.submission-consent input { width: auto; margin: 3px 0 0; }
.honeypot { position: absolute; left: -10000px; }
.admin-switcher { display: flex; gap: 8px; margin: 28px 0; }
.admin-switcher a { padding: 10px 15px; border: 1px solid var(--line); background: white; text-decoration: none; font-size: 13px; font-weight: 700; }
.admin-switcher a.active { background: var(--forest); color: white; border-color: var(--forest); }
.people-search { display: flex; max-width: 680px; border: 1px solid var(--line); background: white; margin: 0 0 14px; }
.people-search label { flex: 1; }
.people-search input { width: 100%; height: 100%; padding: 14px; border: 0; }
.people-search button, .person-controls button { border: 0; background: var(--gold); color: var(--forest-dark); padding: 12px 18px; font-weight: 700; cursor: pointer; }
.people-note { color: var(--muted); font-size: 13px; margin-bottom: 28px; }
.people-sort { display: grid; grid-template-columns: auto repeat(4, minmax(90px, 1fr)); align-items: center; gap: 1px; margin-bottom: 10px; background: var(--line); border: 1px solid var(--line); }
.people-sort span, .people-sort a { padding: 10px 13px; background: var(--cream); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.people-sort span { color: var(--muted); }
.people-sort a { text-decoration: none; text-align: center; }
.people-sort a:hover, .people-sort a.active { background: var(--forest); color: white; }
.people-list { display: grid; gap: 16px; }
.person-card { border: 1px solid var(--line); background: white; padding: 24px; }
.person-card > header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.person-card > header > div { display: grid; gap: 3px; }
.person-card > header strong { font: 800 20px "Libre Franklin", sans-serif; }
.person-card > header a { color: var(--rust); font-size: 13px; }
.person-card > header small { color: var(--muted); font-size: 11px; }
.person-controls { display: grid; grid-template-columns: 1fr 1.35fr; gap: 18px; padding: 20px 0; }
.person-controls form { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
.person-controls label { font-size: 11px; font-weight: 700; }
.person-controls select { display: block; width: 100%; padding: 10px; border: 1px solid var(--line); background: white; margin-top: 5px; }
.person-controls small, .admin-access-note { align-self: center; color: var(--muted); font-size: 12px; }
.park-access { padding-top: 16px; border-top: 1px solid var(--line); }
.park-access h2 { font: 800 13px "Libre Franklin", sans-serif; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 10px; }
.park-access > p { color: var(--muted); font-size: 13px; }
.access-chip { display: inline-flex; align-items: center; gap: 8px; border-radius: 20px; background: #e7efe9; color: var(--forest); padding: 5px 7px 5px 12px; margin: 0 7px 7px 0; font-size: 12px; font-weight: 700; }
.access-chip button { display: grid; place-items: center; width: 22px; height: 22px; border: 0; border-radius: 50%; background: var(--rust); color: white; cursor: pointer; }
.admin-chip { padding-right: 12px; background: #e5d3ad; color: #5a431d; }
.manager-nomination, .signed-in-manager { padding: 13px 15px; background: #e7efe9; border-left: 3px solid var(--forest); color: var(--forest)!important; }
.signed-in-manager { margin: 0; font-size: 13px; }
.stewardship-request { margin: 28px 0; }
.stewardship-heading { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.stewardship-heading p { margin: 5px 0 0; color: var(--muted); }
.park-rights-search { display: flex; margin-top: 22px; border: 1px solid var(--line); }
.park-rights-search input { flex: 1; min-width: 0; padding: 13px; border: 0; }
.park-rights-search button, .park-rights-results button, .access-request-queue button { border: 0; padding: 12px 17px; background: var(--gold); color: var(--forest-dark); font-weight: 800; cursor: pointer; }
.park-rights-results article { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(280px, 1.2fr); gap: 20px; align-items: center; padding: 17px 0; border-top: 1px solid var(--line); }
.park-rights-results article > div { display: grid; }
.park-rights-results article > div span { color: var(--muted); font-size: 13px; }
.park-rights-results form { display: flex; }
.park-rights-results form input { flex: 1; min-width: 0; padding: 10px; border: 1px solid var(--line); }
.your-access-requests { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.your-access-requests h3 { margin: 0 0 8px; font-size: 14px; }
.your-access-requests > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; }
.access-request-queue { margin-bottom: 24px; }
.access-request-queue article { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 17px 0; border-top: 1px solid var(--line); }
.access-request-queue article > div { display: grid; }
.access-request-queue article p { margin: 5px 0 0; color: var(--muted); }
.access-request-queue form { display: flex; align-items: center; }
.access-request-queue input { flex: 1; min-width: 0; padding: 10px; border: 1px solid var(--line); }
.access-request-queue .danger { background: var(--rust); color: white; }

@media (max-width: 850px) { .person-controls { grid-template-columns: 1fr; } }
@media (max-width: 540px) {
  .person-card { padding: 18px; }
  .person-card > header { align-items: flex-start; }
  .person-controls form { grid-template-columns: 1fr; }
  .people-search { display: grid; }
  .admin-switcher { overflow: auto; }
  .admin-switcher a { white-space: nowrap; }
  .people-sort { grid-template-columns: repeat(2, 1fr); }
  .people-sort span { grid-column: 1 / -1; text-align: center; }
  .stewardship-heading, .your-access-requests > div { align-items: flex-start; flex-direction: column; }
  .park-rights-search, .park-rights-results form { display: grid; }
  .park-rights-results article, .access-request-queue article { grid-template-columns: 1fr; }
  .access-request-queue form { flex-wrap: wrap; }
}
@media (max-width: 800px) { .suggest-park-page { grid-template-columns: 1fr; gap: 32px; padding-top: 58px; } .suggest-park-intro { position: static; } }
@media (max-width: 540px) { .park-suggestion-form { padding: 22px; } .park-suggestion-form fieldset { grid-template-columns: 1fr; } .park-suggestion-form label.full { grid-column: auto; } }
