.notice-workspace-actions .btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nw-stat-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nw-target { gap: 6px; }
.nw-target::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border: 1.5px solid currentColor; border-radius: 50%; }
.nw-target.specific::before { border-radius: 2px; transform: rotate(45deg); }
.nw-target::before { content: none; }
.nw-target svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nw-search>span { display: grid; place-items: center; }
.nw-search svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.nw-empty>span svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nw-pagination { min-height: 58px; }
.nw-pagination > div { gap: 7px; }
.nw-pagination button { width: 32px; height: 32px; border-radius: 9px; font-size: 15px; }
.nw-pagination button:focus-visible, .nw-icon-button:focus-visible, .nw-modal-close:focus-visible { outline: 2px solid #4f46e5; outline-offset: 2px; }
.nw-icon-button { width: 34px; height: 34px; border-color: #e2e8f0; background: #fff; transition: color .16s, border-color .16s, background .16s, transform .16s; }
.nw-icon-button:hover { transform: translateY(-1px); }
.nw-icon-button svg { width: 16px; height: 16px; }
.nw-form-section .is-locked { opacity: .68; }
.nw-target-tabs.is-locked, .nw-site-picker.is-locked { position: relative; }
.nw-target-tabs.is-locked::after { content: "已发布公告的发送对象不可修改"; grid-column: 1 / -1; padding: 8px 10px; border-radius: 7px; color: #64748b; background: #f1f5f9; font-size: 11px; }
.nw-site-picker.is-locked { pointer-events: none; }
@media (max-width: 620px) { .nw-pagination { align-items: center; flex-direction: row; } }

/* Improve announcement list density and readability without changing its workflow. */
.nw-toolbar { min-height: 76px; padding: 18px 24px 14px; }
.nw-search { height: 46px; width: min(460px, 100%); font-size: 15px; }
.nw-search input { font-size: 14px; }
.nw-count, .nw-count b { font-size: 14px; }
.nw-tag-filter { gap: 10px; padding: 0 24px 16px; }
.nw-filter { min-height: 36px; padding: 0 13px; font-size: 13px; }
.nw-table { min-width: 960px; }
.nw-table th { padding: 15px 16px; font-size: 13px; }
.nw-table td { padding: 18px 16px; }
.nw-tag-label { padding: 6px 10px; font-size: 12px; }
.nw-title { font-size: 15px; }
.nw-summary { font-size: 14px; }
.nw-target { gap: 8px; font-size: 13px; }
.nw-target::before { width: 9px; height: 9px; flex-basis: 9px; }
.nw-date { font-size: 13px; }
.nw-icon-button { width: 38px; height: 38px; border-color: #e2e8f0; background: #fff; }
.nw-icon-button svg { width: 18px; height: 18px; }
.nw-pagination { min-height: 66px; padding: 14px 22px; font-size: 13px; }
.nw-pagination button { width: 36px; height: 36px; border-radius: 9px; font-size: 17px; }
.nw-modal { width: min(900px, 100%); max-height: calc(100vh - 48px); border-radius: 18px; }
.nw-modal-head { padding: 22px 28px; }
.nw-modal-head h2 { font-size: 22px; }
.nw-modal-head p { font-size: 14px; }
.nw-form { padding: 0 28px 20px; }
.nw-form-section { padding: 20px 0; }
.nw-form-section h3 { margin-bottom: 15px; font-size: 15px; }
.nw-field { gap: 8px; margin-top: 14px; }
.nw-field>span { font-size: 14px; }
.nw-field input, .nw-field select, .nw-field textarea { min-height: 46px; padding: 10px 13px; font-size: 14px; }
.nw-field textarea { min-height: 96px; line-height: 1.7; }
.nw-target-tabs label>span { min-height: 86px; grid-template-columns: 40px 1fr; padding: 14px; }
.nw-target-tabs b { font-size: 22px; }
.nw-target-tabs strong { font-size: 14px; }
.nw-target-tabs small { font-size: 12px; }
.nw-site-picker { padding: 14px; }
.nw-site-grid { max-height: 210px; gap: 8px; }
.nw-site-option { padding: 10px; }
.nw-site-option b { font-size: 13px; }
.nw-site-option small, .nw-site-picker-head { font-size: 12px; }
.nw-hint { font-size: 12px; }
.nw-modal-foot { padding-top: 16px; }
@media (max-width: 620px) {
  .nw-toolbar { padding: 14px; }
  .nw-tag-filter { padding-right: 14px; padding-left: 14px; }
  .nw-modal { width: 100%; max-height: calc(100vh - 18px); }
  .nw-modal-head { padding: 17px 18px; }
  .nw-form { padding: 0 18px 16px; }
  .nw-form-section { padding: 15px 0; }
}
