:root { --announcement-ink: #17211b; --announcement-muted: #68756d; --announcement-line: #dce5dd; --announcement-wash: #f3f8f3; --announcement-accent: #217a52; --announcement-gold: #b07927; }
.announcements-page { min-height: 100vh; background: #f7faf7; }
.announcements-content { max-width: 1080px; margin: 0 auto; padding: 34px 30px 60px; }
.announcements-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid var(--announcement-line); }
.eyebrow { margin: 0 0 7px; color: var(--announcement-accent); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.announcements-heading h2 { margin: 0; color: var(--announcement-ink); font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; }
.announcements-heading p:last-child { margin: 9px 0 0; color: var(--announcement-muted); }
.primary-button { padding: 11px 17px; border: 0; border-radius: 6px; color: #fff; background: var(--announcement-accent); cursor: pointer; font: inherit; font-weight: 700; }
.primary-button:hover { background: #155438; }
.announcement-form { margin: 24px 0; padding: 22px; border: 1px solid var(--announcement-line); border-radius: 8px; background: #fff; }
.form-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.form-heading h3 { margin: 0; color: var(--announcement-ink); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }
.close-button { border: 0; color: var(--announcement-muted); background: transparent; cursor: pointer; font-size: 1.1rem; }
.form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 17px; }
.form-grid label { display: grid; gap: 7px; color: var(--announcement-ink); font-size: .82rem; font-weight: 700; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--announcement-line); border-radius: 5px; font: inherit; }
.form-grid textarea { min-height: 90px; resize: vertical; }
.wide-field { grid-column: span 2; }
.check-field { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; color: var(--announcement-ink); font-size: .82rem; font-weight: 700; }
.check-field input { width: auto; }
.form-feedback { min-height: 1.2em; margin: 12px 0 0; color: var(--announcement-gold); font-size: .86rem; }
.announcement-list { display: grid; gap: 12px; margin-top: 24px; }
.announcement-item { padding: 22px; border: 1px solid var(--announcement-line); border-radius: 8px; background: #fff; }
.announcement-item.is-pinned { border-left: 4px solid var(--announcement-gold); }
.announcement-item h3 { margin: 0; color: var(--announcement-ink); font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.announcement-meta { margin: 7px 0 0; color: var(--announcement-accent); font-size: .76rem; font-weight: 700; }
.announcement-body { margin: 13px 0 0; color: var(--announcement-ink); line-height: 1.6; white-space: pre-wrap; }
.announcement-actions { display: flex; gap: 8px; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--announcement-line); }
.announcement-actions button { padding: 8px 11px; border: 1px solid var(--announcement-line); border-radius: 5px; color: var(--announcement-accent); background: #fff; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 700; }
.announcement-state { padding: 48px 20px; color: var(--announcement-muted); text-align: center; }
.is-hidden { display: none; }
@media (max-width: 760px) { .announcements-content { padding: 25px 17px 45px; } .announcements-heading { align-items: flex-start; flex-direction: column; } .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wide-field { grid-column: span 2; } }
@media (max-width: 430px) { .form-grid { grid-template-columns: 1fr; } .wide-field { grid-column: auto; } }
