/* 通知中心、公司新闻与强制阅读公告 */
.notification-bell{position:relative;font:inherit;cursor:pointer}
.notification-count{position:absolute;right:-5px;top:-6px;display:none;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#B3261E;color:#fff;border:2px solid #fff;font:700 10px/14px var(--font-mono);text-align:center}
.notification-count.show{display:block}
.notification-popover{position:fixed;z-index:120;right:146px;top:68px;width:390px;max-height:min(680px,calc(100vh - 88px));display:none;flex-direction:column;background:#fff;border:1px solid #DDE2E2;border-radius:13px;box-shadow:0 22px 60px rgba(18,20,28,.2);overflow:hidden}
.notification-popover.open{display:flex}
.nt-head{display:flex;align-items:center;gap:10px;padding:15px 17px;border-bottom:1px solid #E8EBEB}
.nt-head h3{margin:0;font-size:15px;font-weight:700;color:#1B1E27}
.nt-head .nt-unread{color:#B3261E;font:11px var(--font-mono)}
.nt-head-actions{margin-left:auto;display:flex;gap:7px}
.nt-text-btn{border:0;background:transparent;color:#1F6F6B;font-size:11px;cursor:pointer;padding:4px}
.nt-text-btn:hover{text-decoration:underline}
.nt-tabs{display:flex;padding:8px 13px;border-bottom:1px solid #EEF0F0;gap:6px}
.nt-tab{border:0;border-radius:7px;padding:6px 10px;background:#F3F5F5;color:#6B7280;font-size:11px;cursor:pointer}
.nt-tab.active{background:#E5F2F0;color:#1F6F6B;font-weight:650}
.nt-list{overflow-y:auto;min-height:90px}
.nt-item{position:relative;display:block;width:100%;border:0;border-bottom:1px solid #EFF1F1;background:#fff;text-align:left;padding:13px 16px 13px 39px;cursor:pointer}
.nt-item:hover{background:#FAFBFB}
.nt-item.unread{background:#F7FBFA}
.nt-item.unread::before{content:"";position:absolute;left:18px;top:20px;width:7px;height:7px;border-radius:50%;background:#1F8B82}
.nt-item.important::before{background:#C77B1E}
.nt-item.mandatory::before{background:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.1)}
.nt-item-top{display:flex;align-items:center;gap:8px}
.nt-kind{font:9.5px var(--font-mono);color:#7A5A1C;background:#F6F0E3;padding:2px 6px;border-radius:4px}
.nt-kind.policy,.nt-kind.rule{color:#9A392E;background:#F9EAE8}
.nt-kind.task{color:#1F6F6B;background:#E7F3F1}
.nt-kind.knowledge{color:#59509A;background:#ECEAF8}
.nt-time{margin-left:auto;color:#9CA3AF;font:9.5px var(--font-mono)}
.nt-title{margin-top:6px;color:#1D222C;font-size:12.5px;font-weight:650;line-height:1.45}
.nt-body{margin-top:4px;color:#6B7280;font-size:10.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nt-empty{padding:38px 20px;text-align:center;color:#9CA3AF;font-size:12px;line-height:1.8}
.nt-settings{display:none;padding:14px 16px 17px;background:#FAFBFB;border-top:1px solid #E8EBEB}
.nt-settings.open{display:block}
.nt-pref{display:flex;align-items:center;justify-content:space-between;padding:7px 0;color:#4B5563;font-size:11.5px}
.nt-pref input{accent-color:#1F6F6B;width:16px;height:16px}
.nt-foot{padding:10px 15px;border-top:1px solid #EEF0F0;display:flex;justify-content:space-between;align-items:center;color:#9CA3AF;font-size:10px}
.nt-foot button{border:0;background:transparent;color:#1F6F6B;font-size:11px;cursor:pointer}

.announcement-mask{position:fixed;inset:0;z-index:260;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(9,12,18,.62);backdrop-filter:blur(6px)}
.announcement-mask.open{display:flex}
.announcement-dialog{width:min(1040px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:16px;border:1px solid #E2E6E6;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.announcement-band{height:7px;background:#B8862C;border-radius:16px 16px 0 0}
.announcement-dialog.mandatory .announcement-band{background:#B3261E}
.announcement-main{flex:1 1 auto;padding:22px 28px 14px;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.announcement-main>*{flex-shrink:0}
.announcement-eyebrow{display:flex;align-items:center;gap:8px;color:#9A392E;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.announcement-main h2{margin:12px 0 10px;font:700 25px/1.35 var(--font-display);color:#171A22}
.announcement-main>.announcement-reader{flex:1 1 auto;min-height:220px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr);grid-template-rows:minmax(0,1fr);gap:14px;margin-top:4px}
.announcement-ai,.announcement-original{min-width:0;overflow:auto;border:1px solid #E4E8E8;border-radius:10px;background:#fff}
.announcement-ai{background:#F7FAF9}
.announcement-section-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #E4E8E8;background:inherit;color:#1F6F6B;font-size:11px;font-weight:700;letter-spacing:.04em}
.announcement-section-title small{color:#8A929F;font-weight:400}
.announcement-summary{padding:12px 16px 16px;color:#39424D;font-size:12.5px;line-height:1.85;white-space:pre-wrap}
.announcement-summary-h{margin:10px 0 2px;color:#171A22;font-size:12px;font-weight:700}.announcement-summary-h:first-child{margin-top:0}
.announcement-articles{padding:4px 18px 10px}
.announcement-article{padding:16px 0;border-top:1px solid #EEF0F0}.announcement-article:first-child{border-top:0}
.announcement-article h4{display:flex;gap:9px;margin:0;color:#171A22;font-size:14px;line-height:1.55}
.announcement-article h4 span{flex-shrink:0;min-width:20px;height:20px;margin-top:1px;border-radius:5px;background:#EAF3F1;color:#1F6F6B;font-size:11px;line-height:20px;text-align:center}
.announcement-article-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  margin:5px 0 9px 29px;color:#8A929F;font-size:11px}
/* 一份晨报里既有可以照着办的正式文件，也有只是工作动态的新闻。
   原来它们长得一模一样，读的人分不出哪条要立刻处理。 */
.ann-kind{padding:2px 8px;border-radius:5px;font-size:10.5px;font-weight:700;color:#fff;background:#6B7280}
.ann-kind.policy{background:#B4541C}
.ann-kind.case{background:#9A392E}
.ann-kind.interpret{background:#1F6F6B}
.ann-kind.news{background:#4A5A7B}
.announcement-article.case h4,.announcement-article.policy h4{color:#1C2029}
/* 案例整篇左边挂一条红边：稽查通报是风险提示，不该和普通动态混在一起翻过去 */
.announcement-article.case{border-left:3px solid #D9736A;padding-left:9px;margin-left:-12px}
.announcement-article.policy{border-left:3px solid #D89A63;padding-left:9px;margin-left:-12px}.announcement-article-meta a{color:#1F6F6B;text-decoration:none}.announcement-article-meta a:hover{text-decoration:underline}
.announcement-article-body{margin-left:29px;color:#39424D;font-size:12.5px;line-height:1.85;white-space:pre-wrap;word-break:break-word}
.announcement-content{padding:13px 16px;color:#303642;font-size:13px;line-height:1.9;white-space:pre-wrap}
.announcement-sources{margin-top:12px;max-height:110px;overflow:auto;border:1px solid #E8EBEB;border-radius:9px;background:#FAFBFB}
.announcement-sources a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid #EEF0F0;color:#315E69;text-decoration:none;font-size:11px}
.announcement-sources a:first-of-type{border-top:0}.announcement-sources a:hover{background:#F0F6F5}
.announcement-sources a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-sources small{flex-shrink:0;color:#8A929F}
.announcement-meta{margin-top:12px;padding-top:10px;border-top:1px solid #E8EBEB;color:#8A929F;font:10px var(--font-mono)}
.announcement-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 25px;border-top:1px solid #E8EBEB;background:#FAFBFB;border-radius:0 0 16px 16px}
.announcement-actions button{min-width:126px;height:39px;border:1px solid #D6DCDC;border-radius:8px;background:#fff;color:#59616E;cursor:pointer}
.announcement-actions .primary{border-color:#1F6F6B;background:#1F6F6B;color:#fff;font-weight:650}

/* .view.active 是 display:flex（横向），#newsBody 作为没设 flex 的子项会按内容收缩，
 * 1032px 的容器里只撑出 412px，卡片被挤成一条窄柱、右边大片空白。
 * 改成纵向弹性容器：交叉轴变成水平方向，默认 align-items:stretch 会让子项自动占满宽度。 */
.news-view{padding:24px 30px 70px!important;overflow-y:auto!important;background:#F3F5F5;
  flex-direction:column}
.news-view > #newsBody{width:100%;min-width:0}
.news-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.news-head h2{margin:0;font:700 25px var(--font-display);color:#171A22}
.news-head p{margin:6px 0 0;color:#7B8491;font-size:12px}
.news-actions{margin-left:auto;display:flex;gap:8px}
.policy-feed-status{display:flex;align-items:center;gap:8px;margin:-8px 0 16px;padding:9px 12px;border:1px solid #DDE7E5;border-radius:8px;background:#F7FBFA;color:#4D6562;font-size:11px}
.policy-feed-dot{width:7px;height:7px;border-radius:50%;background:#3D8B75}.policy-feed-status.running .policy-feed-dot{animation:policyPulse 1.2s infinite}
.policy-feed-sources{margin-left:auto;color:#8A929F}@keyframes policyPulse{50%{opacity:.25;transform:scale(.7)}}
.news-btn{height:34px;padding:0 13px;border:1px solid #D6DCDC;border-radius:8px;background:#fff;color:#59616E;font-size:11.5px;cursor:pointer}
.news-btn:hover{border-color:#9EBAB7;color:#1F6F6B}
.news-btn.primary{background:#1F6F6B;color:#fff;border-color:#1F6F6B}
.news-filters{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}
.news-filter{border:1px solid #DDE2E2;border-radius:18px;background:#fff;color:#6B7280;padding:6px 12px;font-size:10.5px;cursor:pointer}
.news-filter.active{border-color:#1F6F6B;background:#EAF4F2;color:#1F6F6B;font-weight:650}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
/* 卡片改成纵向弹性布局。原来页脚和操作按钮是两层各自 absolute、靠写死的
 * bottom:14px / bottom:39px 错开的，卡片一窄、作者和日期换到两行，页脚就往上长，
 * 直接压在按钮上（截图里「发布至全员」和日期被按钮盖住就是这么来的）。
 * 现在全部回到正常文档流，摘要占据剩余空间把页脚顶到底部，谁也压不到谁。 */
.news-card{position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid #E1E5E5;border-radius:12px;padding:17px 18px;min-height:190px;
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.news-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(25,36,42,.09)}
.news-card.unread{border-color:#A7CCC7}
/* 置顶角标占据右上角，标题和顶部标签行都要给它让出位置 */
.news-card.pinned::after{content:"置顶";position:absolute;right:14px;top:13px;color:#9A6B1A;background:#F6F0E3;border-radius:4px;padding:2px 6px;font-size:9px}
.news-card.pinned .news-card-top,.news-card.pinned h3{padding-right:42px}
.news-card-top{display:flex;align-items:center;gap:7px;color:#9CA3AF;font:9.5px var(--font-mono);flex-wrap:wrap}
/* 类型标识原来是 9.5px 的等宽小字，和旁边的「重要」「已读」挤成一片灰。
   一屏几十张卡片，最该先认出来的就是「这条是政策还是公告」，所以给它
   实心底色、加大字号、左边一道色条——扫一眼就能分堆。 */
.news-card-type{position:relative;color:#fff;background:#1F6F6B;border-radius:5px;
  padding:3px 8px 3px 10px;white-space:nowrap;font:600 10.5px/1.5 var(--font-body);letter-spacing:.02em}
.news-card-type::before{content:'';position:absolute;left:3px;top:4px;bottom:4px;width:2px;
  border-radius:2px;background:rgba(255,255,255,.65)}
.news-card-type.POLICY{background:#B4541C}
.news-card-type.RULE{background:#9A392E}
.news-card-type.SYSTEM{background:#4A5A7B}
.news-card-top>span:not(.news-card-type):not(.news-read-flag){font-size:10px}
.news-card h3{margin:14px 0 8px;color:#1C2029;font-size:15px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.news-card p{margin:0 0 12px;color:#6B7280;font-size:11px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
/* 卡片上的附件预览：最多三张缩略图 + 总数，让人不点开也知道里面有东西 */
.news-card-attach{display:flex;align-items:center;gap:5px;margin-bottom:10px}
.news-card-attach img{width:30px;height:30px;object-fit:cover;border-radius:5px;border:1px solid #E4E8E8}
.news-card-attach span{color:#9CA3AF;font-size:10px}
/* margin-top:auto 把页脚推到卡片底部，摘要长短不影响对齐 */
.news-card-foot{margin-top:auto;display:flex;align-items:center;gap:8px;
  color:#9CA3AF;font-size:9.5px;min-width:0}
/* 作者+日期过长时省略号截断，绝不换行——换行正是原来把按钮顶开的原因 */
.news-card-foot > span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-status{margin-left:auto;flex-shrink:0;white-space:nowrap;font:9px var(--font-mono);padding:2px 6px;border-radius:4px;background:#ECEFF0;color:#727B87}
.news-status.PUBLISHED{background:#E7F3EA;color:#2F7D4F}
/* 操作按钮独占一行，右对齐，不再和页脚抢同一块空间 */
.news-card-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;
  margin-top:11px;padding-top:11px;border-top:1px solid #F0F2F2}
.news-card-actions .news-btn{height:29px;padding:0 11px;font-size:11px}

/* 详情弹窗里的图片与附件 */
.announcement-attachments{margin-top:18px;padding-top:16px;border-top:1px solid #EDEFEF}
.ann-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ann-images a{display:block;border:1px solid #E4E8E8;border-radius:9px;overflow:hidden;background:#F7F8F8}
.ann-images img{display:block;width:100%;height:150px;object-fit:cover;transition:transform .18s ease}
.ann-images a:hover img{transform:scale(1.04)}
.ann-files{margin-top:12px}
.ann-files-title{color:#7B8491;font-size:10.5px;margin-bottom:7px}
/* 文件名可能很长，用 min-width:0 + ellipsis 截断，绝不撑破弹窗宽度 */
.ann-file{display:flex;align-items:center;gap:9px;padding:9px 11px;margin-bottom:6px;
  border:1px solid #E4E8E8;border-radius:8px;background:#fff;text-decoration:none;color:#303642}
.ann-file:hover{border-color:#9EBAB7;background:#F7FBFA}
.ann-file-icon{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#EAF4F2;color:#1F6F6B;
  display:flex;align-items:center;justify-content:center;font-size:12px}
.ann-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.ann-file-size{flex-shrink:0;color:#9CA3AF;font:10px var(--font-mono)}

/* 编辑器里的附件管理 */
.news-attach{display:flex;flex-direction:column;gap:6px}
.news-attach-empty{color:#9CA3AF;font-size:11px;padding:8px 0}
.news-attach-item{display:flex;align-items:center;gap:9px;padding:7px 9px;
  border:1px solid #E4E8E8;border-radius:8px;background:#FAFBFB}
.news-attach-item img{width:34px;height:34px;object-fit:cover;border-radius:5px;flex-shrink:0}
.news-attach-icon{flex-shrink:0;width:34px;height:34px;border-radius:5px;background:#EAF4F2;color:#1F6F6B;
  display:flex;align-items:center;justify-content:center;font-size:10px}
.news-attach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}
.news-attach-size{flex-shrink:0;color:#9CA3AF;font:10px var(--font-mono)}
.news-attach-del{flex-shrink:0;border:0;background:transparent;color:#B3261E;cursor:pointer;
  font-size:13px;line-height:1;padding:4px 6px;border-radius:5px}
.news-attach-del:hover{background:#FDF0EF}
.news-attach-add{margin-top:9px}
.news-attach-add input[type=file]{font-size:11px;color:#59616E;max-width:100%}
.news-attach-hint{display:block;margin-top:5px;color:#9CA3AF;font-size:10px;line-height:1.6}

.news-editor-mask{position:fixed;inset:0;z-index:250;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(9,12,18,.55)}
.news-editor-mask.open{display:flex}
.news-editor{width:min(760px,95vw);max-height:92vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.news-editor-head{display:flex;align-items:center;padding:17px 21px;border-bottom:1px solid #E8EBEB}
.news-editor-head h3{margin:0;font-size:16px}
.news-editor-head button{margin-left:auto;border:0;background:transparent;color:#7B8491;cursor:pointer}
.news-form{padding:20px 22px}
.news-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.news-field{display:flex;flex-direction:column;gap:6px}
.news-field.full{grid-column:1/-1}
.news-field label{color:#6B7280;font-size:10.5px}
.news-field input,.news-field select,.news-field textarea{width:100%;border:1px solid #D8DEDE;border-radius:8px;background:#fff;padding:9px 10px;color:#272C35;font:12px var(--font-body);outline:none}
.news-field input:focus,.news-field select:focus,.news-field textarea:focus{border-color:#1F6F6B;box-shadow:0 0 0 2px rgba(31,111,107,.08)}
.news-field textarea{min-height:190px;resize:vertical;line-height:1.75}
.news-field textarea.news-ai-summary{min-height:110px}
.news-options{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:13px 0;color:#59616E;font-size:11px}
.news-options input{accent-color:#1F6F6B}
.news-form-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:15px;border-top:1px solid #E8EBEB}

@media(max-width:1100px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-popover{right:20px}}
@media(max-width:720px){
  .notification-popover{left:10px;right:10px;top:60px;width:auto}
  .news-view{padding:18px 14px 80px!important}.news-grid{grid-template-columns:1fr}
  .news-head{flex-direction:column}.news-actions{margin-left:0}.news-form-grid{grid-template-columns:1fr}
  .news-field.full{grid-column:auto}.announcement-main{padding:22px 20px}
  .announcement-main>.announcement-reader{grid-template-columns:1fr;grid-template-rows:minmax(0,.8fr) minmax(0,1.4fr)}
  .announcement-articles{padding:2px 12px 8px}.announcement-article-meta,.announcement-article-body{margin-left:0}
  .policy-feed-status{align-items:flex-start;flex-wrap:wrap}.policy-feed-sources{width:100%;margin-left:15px}
}

/* ============================================================================
 * 采集设置 + 已读标记（V18）
 * ========================================================================== */
.announcement-count{margin-left:auto;padding:2px 8px;border-radius:10px;background:#F1EFE8;color:#8A6D3B;
  font:10px var(--font-mono);letter-spacing:0;text-transform:none}
.announcement-actions button#announcementReadAll{min-width:auto;padding:0 14px;font-size:11.5px;color:#7B8491}

/* 采集状态条：今天还没采要看得出来 */
.policy-feed-status.pending{border-color:#EBD9B6;background:#FDFAF2;color:#8A6D3B}
.policy-feed-status.pending .policy-feed-dot{background:#D9A441}
.policy-feed-cal{display:flex;gap:2px;margin-left:10px}
.policy-feed-cal i{width:7px;height:14px;border-radius:2px;background:#E4E9E8}
.policy-feed-cal i.ok{background:#3D8B75}
.policy-feed-cal i.empty{background:#BFD4CE}
.policy-feed-cal i.bad{background:#C4554A}
.policy-feed-cal i.none{background:transparent;box-shadow:inset 0 0 0 1px #E0E5E4}

/* 新闻卡片上的已读/未读 */
.news-read-flag{margin-left:auto;padding:1px 7px;border-radius:9px;border:1px solid #D9A441;
  color:#8A6D3B;background:#FDF7EA;font-size:10px}
.news-read-flag.read{border-color:#DDE2E2;color:#9AA3AF;background:#F6F7F8}

/* 采集设置抽屉 */
.feed-settings{width:min(980px,96vw)}
.feed-body{padding:18px 22px 24px;display:flex;flex-direction:column;gap:20px}
.feed-sec{border:1px solid #E8EBEB;border-radius:12px;padding:14px 16px 16px}
.feed-sec h4{margin:0 0 12px;font-size:13px;color:#171A22}
.feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;align-items:end}
.feed-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.feed-f.full,.feed-actions.full,.feed-hint.full{grid-column:1/-1}
.feed-f label{color:#6B7280;font-size:10.5px}
.feed-f small{color:#9AA3AF;font-size:10px;line-height:1.5}
.feed-f input,.feed-f select{width:100%;height:34px;border:1px solid #D8DEDE;border-radius:8px;background:#fff;
  padding:0 10px;color:#272C35;font:12px var(--font-body);outline:none}
.feed-f input:focus,.feed-f select:focus{border-color:#1F6F6B;box-shadow:0 0 0 2px rgba(31,111,107,.08)}
/* 复选框必须显式 width:auto——表单里给 input 设过 100% 宽，
   勾选框会被拉成一条横杠，文字被挤成竖排。这个坑踩过一次了。 */
.feed-sw{display:flex;align-items:center;gap:7px;height:34px;color:#4D5560;font-size:11.5px;white-space:nowrap}
.feed-sw input[type=checkbox]{width:auto;height:auto;flex:none;accent-color:#1F6F6B;margin:0}
.feed-hint{color:#8A929F;font-size:11px;padding-top:2px}
.feed-actions{display:flex;justify-content:flex-end;gap:8px}
.feed-src-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;color:#7B8491;font-size:11px}
.feed-src-head button{margin-left:auto;flex:none}
.feed-table-wrap{overflow-x:auto;border:1px solid #EDEFEF;border-radius:10px}
.feed-table{width:100%;border-collapse:collapse;font-size:11.5px;min-width:760px}
.feed-table th{text-align:left;padding:9px 10px;background:#F7F9F9;color:#7B8491;font-weight:600;font-size:10.5px}
.feed-table td{padding:9px 10px;border-top:1px solid #EFF2F2;color:#4D5560;vertical-align:top}
.feed-table tr.off{opacity:.55}
.feed-table small{display:block;color:#9AA3AF;font-size:10px;margin-top:2px}
.feed-url,.feed-kw{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-ops{white-space:nowrap}
.feed-ops .news-btn{height:27px;padding:0 9px;font-size:10.5px;margin-left:4px}
.feed-empty{color:#9AA3AF;text-align:center;padding:18px}
.feed-tag{display:inline-block;padding:1px 7px;border-radius:9px;background:#F1F3F3;color:#7B8491;font-size:10px}
.feed-tag.ok{background:#EAF4F2;color:#1F6F6B}
.feed-tag.bad{background:#FBEDEB;color:#A03E33}
.feed-srcform{margin-top:14px;padding-top:14px;border-top:1px dashed #DDE2E2}
.feed-test{margin-top:12px;padding:11px 13px;border:1px solid #DDE7E5;border-radius:9px;background:#F7FBFA;
  color:#4D6562;font-size:11.5px}
.feed-test.bad{border-color:#EED7D3;background:#FDF6F5;color:#A03E33}
.feed-test ul{margin:8px 0 0;padding-left:18px;line-height:1.9}
.feed-test a{color:#1F6F6B}
.feed-test small{color:#9AA3AF;margin-left:6px}

@media (max-width:900px){
  .feed-grid{grid-template-columns:1fr}
  .feed-body{padding:14px 14px 18px}
  .announcement-count{margin-left:0;flex-basis:100%}
}
