@charset "UTF-8";
/* 系统消息：顶栏铃铛 + 气泡提醒（notice.js，只给超级管理员 / 系统管理员加载）。
 * 配色：上传 / 推送 / 校验通过＝中性品牌色（--brand*）；校验警告 / 未通过＝提示色（--warn-soft / --warn-ink）。
 * 不用 --good / --bad：那是全站的涨跌红绿（红＝涨），拿来表示「异常」会读反。未读角标同样用品牌色，不用红。 */

/* ---- 铃铛 ---- */
.sn-bell-wrap{position:relative;flex:none}
.sn-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);cursor:pointer;transition:.15s;padding:0}
.sn-bell:hover,.sn-bell-wrap.open .sn-bell{color:var(--brand);border-color:var(--brand-line,var(--brand))}
.sn-badge{position:absolute;top:-6px;right:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;
  background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center;
  box-shadow:0 0 0 2px var(--panel);font-variant-numeric:tabular-nums}
#aimode .sn-bell{border-color:var(--x-line,var(--line));background:var(--x-panel2,var(--panel));color:var(--x-sub,var(--muted))}
#aimode .sn-bell:hover,#aimode .sn-bell-wrap.open .sn-bell{color:var(--x-brand,var(--brand))}

/* ---- 铃铛面板 ---- */
.sn-panel{position:absolute;right:0;top:calc(100% + 9px);width:380px;max-width:calc(100vw - 24px);z-index:70;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(16,32,58,.18);
  display:flex;flex-direction:column;max-height:min(520px,calc(100vh - 90px));text-align:left;white-space:normal}
.sn-panel[hidden]{display:none}
.sn-panel-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.sn-panel-head b{font-size:14px;color:var(--text)}
.sn-panel-head .sn-sub{font-size:12px;color:var(--muted)}
.sn-allread{margin-left:auto;border:0;background:transparent;color:var(--brand);font-size:12.5px;cursor:pointer;padding:2px 4px}
.sn-allread:disabled{color:var(--muted-2,var(--muted));cursor:default}
.sn-list{overflow:auto;padding:6px}
.sn-empty{padding:22px 10px;text-align:center;color:var(--muted);font-size:13px}
.sn-item{position:relative;display:flex;gap:10px;width:100%;border:0;background:transparent;text-align:left;
  padding:10px 26px 10px 10px;border-radius:10px;cursor:pointer;color:var(--text);font:inherit}
.sn-item:hover{background:var(--hover)}
.sn-item + .sn-item{margin-top:2px}
.sn-item .sn-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.sn-item .sn-title{font-size:13px;line-height:1.45;color:var(--text-strong,var(--text));word-break:break-all}
.sn-item.unread .sn-title{font-weight:700}
.sn-item:not(.unread) .sn-title{font-weight:400;color:var(--muted)}
.sn-item .sn-body{font-size:12px;line-height:1.55;color:var(--muted);word-break:break-all}
.sn-item .sn-meta{font-size:11.5px;color:var(--muted-2,var(--muted))}
.sn-dot{position:absolute;right:10px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--brand)}

/* ---- 图标（按级别取色） ---- */
.sn-ico{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft);color:var(--brand)}
.lv-warn .sn-ico,.lv-error .sn-ico{background:var(--warn-soft);color:var(--warn-ink)}
.sn-go{color:var(--brand)}

/* ---- 气泡（右上，顶栏下方；右下角是 Ask PowerX 悬浮按钮，避开它） ---- */
.sn-bubbles{position:fixed;top:72px;right:20px;z-index:290;display:flex;flex-direction:column;gap:10px;
  width:340px;max-width:calc(100vw - 24px);pointer-events:none}
.sn-bubble{pointer-events:auto;position:relative;display:flex;gap:10px;padding:12px 30px 12px 12px;border-radius:12px;
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brand);
  box-shadow:0 10px 30px rgba(8,20,40,.18);cursor:pointer;color:var(--text);
  opacity:0;transform:translateX(16px);transition:opacity .2s,transform .2s}
.sn-bubble.show{opacity:1;transform:none}
.sn-bubble:hover{box-shadow:0 12px 34px rgba(8,20,40,.24)}
.sn-bubble.lv-warn{border-left-color:var(--warn-ink)}
.sn-bubble.lv-error{border-left-color:var(--warn-ink);background:var(--warn-soft)}
.sn-bubble.lv-error .sn-title{color:var(--warn-ink)}
.sn-bubble .sn-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.sn-bubble .sn-title{font-size:13.5px;font-weight:600;line-height:1.45;word-break:break-all}
.sn-bubble .sn-body{font-size:12px;line-height:1.55;color:var(--muted);word-break:break-all}
.sn-bubble .sn-meta{font-size:11.5px;color:var(--muted-2,var(--muted))}
.sn-x{position:absolute;top:6px;right:6px;width:22px;height:22px;border:0;border-radius:6px;background:transparent;
  color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0}
.sn-x:hover{background:var(--hover);color:var(--text)}
body.aimode-on .sn-bubbles{top:76px}
@media (max-width:560px){.sn-bubbles{right:12px;top:64px}}

/* ---- 跳转后在今日待传里高亮那一项（47-files-notice.js） ---- */
#fdTable tr.fd-hit > td{background:var(--brand-soft);transition:background 1.2s}
#fdTable tr.fd-hit-file .fd-file{color:var(--brand);font-weight:600}
