/* Optional host stylesheet; no remote fonts, imports, or network assets. */
.campus-announcements { max-width: 48rem; margin: 1rem auto; padding: 1rem; color: #172331; background: #fff; font: 1rem/1.5 system-ui, sans-serif; }
.campus-announcements label { display: block; margin: 1rem 0; }
.campus-announcements label span { display: block; font-weight: 600; margin-bottom: .25rem; }
.campus-announcements input, .campus-announcements textarea, .campus-announcements select { box-sizing: border-box; width: 100%; padding: .6rem; border: 1px solid #566474; border-radius: .3rem; color: inherit; background: #fff; font: inherit; }
.campus-announcements button { padding: .65rem .9rem; margin: .25rem .5rem .25rem 0; border: 1px solid #174b72; border-radius: .3rem; color: #fff; background: #174b72; font: inherit; cursor: pointer; }
.campus-announcements button:disabled { color: #4b5563; background: #e5e7eb; border-color: #9ca3af; cursor: not-allowed; }
.campus-announcements :focus-visible { outline: 3px solid #bd6100; outline-offset: 3px; }
.campus-announcements [role="alert"] { color: #971d20; font-weight: 600; }
.campus-announcements article { padding: 1rem 0; border-top: 1px solid #c6ced5; overflow-wrap: anywhere; }
.campus-announcements article p { white-space: pre-wrap; }
.campus-announcements [hidden] { display: none; }

.campus-announcements li, .campus-announcements button { overflow-wrap: anywhere; }
.campus-announcements button { max-width: 100%; white-space: normal; }
