/* 飞扬消息台 · 共用样式（取犀见消息工作台的配色：深青顶栏 #173a35、主色 #0f766e、高亮 #2dd4bf） */
:root{--top:#173a35;--top2:#21473f;--pri:#0f766e;--pri-d:#0b5c56;--hi:#2dd4bf;--bg:#eef0f2;--card:#fff;--line:#e6e8eb;--ink:#1c1f23;--sub:#6b7280;--mute:#9aa1a9;--soft:#f2faf8;--red:#b91c1c;--amber:#b45309;--violet:#6d28d9}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",-apple-system,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:13px}
a{color:var(--pri);text-decoration:none}a:hover{color:var(--pri-d);text-decoration:underline}
button{font:inherit;cursor:pointer}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d2d6db;border-radius:8px}
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#fff;font-weight:600;flex:none}
.pill{display:inline-block;font-size:11px;line-height:18px;padding:0 7px;border-radius:999px;border:1px solid var(--line);color:var(--sub);background:#fff;white-space:nowrap;margin:1px 2px 1px 0}
.pill.t{color:var(--pri);border-color:#b8ddd6;background:var(--soft)}
.pill.r{color:var(--red);border-color:#fecaca;background:#fef2f2}
.pill.a{color:var(--amber);border-color:#fde68a;background:#fffbeb}
.pill.v{color:var(--violet);border-color:#ddd6fe;background:#f5f3ff}
.pill.b{color:#0369a1;border-color:#bae6fd;background:#f0f9ff}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:7px 14px}
.btn:hover{border-color:var(--pri);color:var(--pri)}
.btn.p{background:var(--pri);border-color:var(--pri);color:#fff}.btn.p:hover{background:var(--pri-d);color:#fff}
.btn.s{padding:4px 10px;font-size:12px;border-radius:6px}
.btn.d{color:var(--red)}.btn.d:hover{border-color:var(--red)}
.sw{position:relative;display:inline-block;width:30px;height:17px;border-radius:9px;background:#d2d6db;vertical-align:middle;cursor:pointer;transition:.15s}
.sw:after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.15s}
.sw.on{background:var(--pri)}.sw.on:after{left:15px}
.mask{position:fixed;inset:0;background:rgba(15,23,32,.38);display:none;align-items:flex-start;justify-content:center;z-index:50;padding-top:9vh}
.mask.on{display:flex}
.dlg{background:#fff;border-radius:14px;width:560px;max-width:94vw;max-height:80vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);animation:drop .12s ease-out}
.dlg h3{margin:0;padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px;display:flex;justify-content:space-between}
.dlg .bd{padding:16px 20px}.dlg .ft{padding:12px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}
@keyframes drop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
input.in,select.in,textarea.in{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#fbfcfc;color:var(--ink);outline:none;width:100%}
input.in:focus,select.in:focus,textarea.in:focus{border-color:var(--pri);background:#fff}
.toast{position:fixed;left:50%;bottom:36px;transform:translateX(-50%);background:#1c1f23;color:#fff;padding:9px 18px;border-radius:999px;font-size:13px;z-index:99;opacity:0;transition:.2s;pointer-events:none}
.toast.on{opacity:1}
table.tb{width:100%;border-collapse:collapse;background:#fff}
.tb th,.tb td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tb th{color:var(--sub);font-weight:500;background:#fbfcfc;font-size:12px}
.tb tr.hov:hover td{background:#f2f7f6;cursor:pointer}
.muted{color:var(--mute)}.sub{color:var(--sub)}
.bar{height:6px;border-radius:3px;background:#eef0f2;overflow:hidden}.bar i{display:block;height:100%;background:var(--pri)}
