/* Public notice and admin preview share the same formatting rules. */
.notice-rich { color: #e2e8f0; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.notice-rich p { margin: 0 0 1rem; }
.notice-rich h2, .notice-rich h3, .notice-rich h4 { margin: 1.5rem 0 .75rem; color: #f8fafc; font-weight: 800; line-height: 1.4; }
.notice-rich h2 { font-size: 1.5rem; }
.notice-rich h3 { font-size: 1.25rem; }
.notice-rich h4 { font-size: 1.125rem; }
.notice-rich strong { color: #fff; font-weight: 750; }
.notice-rich em { font-style: italic; }
.notice-rich ul, .notice-rich ol { margin: .5rem 0 1.25rem; padding-left: 1.8rem; }
.notice-rich ul { list-style-type: disc; }
.notice-rich ol { list-style-type: decimal; }
.notice-rich li { display: list-item; margin: .3rem 0; padding-left: .1rem; }
.notice-rich a { color: #67e8f9; text-decoration: underline; text-underline-offset: 3px; }
.notice-rich a:hover { color: #a5f3fc; }
.notice-rich hr { border: 0; border-top: 1px solid #475569; margin: 1.5rem 0; }
.notice-rich .notice-table-scroll { max-width: 100%; overflow-x: auto; margin: 1rem 0 1.5rem; border: 1px solid #334155; border-radius: .75rem; }
.notice-rich table { width: 100%; min-width: 460px; border-collapse: collapse; text-align: left; font-size: .9rem; line-height: 1.5; }
.notice-rich th, .notice-rich td { padding: .75rem .9rem; border-bottom: 1px solid #334155; vertical-align: top; }
.notice-rich thead { background: #1e293b; }
.notice-rich th { color: #f8fafc; font-weight: 700; }
.notice-rich tbody tr:nth-child(even) { background: rgba(51, 65, 85, .25); }
.notice-rich tbody tr:last-child td { border-bottom: none; }
.notice-rich > :last-child { margin-bottom: 0; }
.notice-format-toolbar { display: flex; flex-wrap: wrap; gap: .4rem; margin: .65rem 0; }
.notice-format-toolbar button { padding: .4rem .7rem; border: 1px solid #475569; border-radius: .5rem; background: #1e293b; color: #e2e8f0; font-size: .85rem; }
.notice-format-toolbar button:hover, .notice-format-toolbar button:focus-visible { border-color: #22d3ee; outline-color: #22d3ee; }
.notice-preview { padding: 1rem; min-height: 5rem; border: 1px solid #334155; border-radius: .75rem; background: #0b1220; }
@media (max-width: 520px) {
  .notice-rich { font-size: .95rem; }
  .notice-rich h2 { font-size: 1.3rem; }
  .notice-rich th, .notice-rich td { padding: .6rem .7rem; }
}
