.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:16px 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpi b{display:block;font-size:26px;line-height:1.2}.kpi span{color:var(--mu);font-size:13px}
.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;margin:14px 0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;min-width:0}
.panel h3{margin:0 0 10px;font-size:15px}
.panel table{width:100%;border-collapse:collapse;font-size:13px}
.panel td,.panel th{padding:6px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.panel th{color:var(--mu);font-weight:500}.panel td.n,.panel th.n{text-align:right;white-space:nowrap}
.chart svg{width:100%;height:120px;display:block}.chart .ax{display:flex;justify-content:space-between;color:var(--mu);font-size:11px}
.legend{font-size:12px;color:var(--mu);display:flex;gap:12px;margin-bottom:6px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.utable{overflow:auto}.utable td{white-space:nowrap}.utable .btn{padding:2px 9px;font-size:12px;margin-right:4px}
.tag.off{color:#e5534b;border-color:#e5534b}
.tmp{margin:10px 0;padding:12px 14px;border:1px solid var(--ac);border-radius:10px;background:var(--ac2)}
.tmp code{font-size:16px;user-select:all}
.denied{text-align:center;padding:80px 0;color:var(--mu)}
.filters2{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.filters2 input,.filters2 select{font:inherit;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--tx);min-width:0;flex:1 1 130px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.vt td{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.warn{color:#e5534b;font-weight:600}
.ipd{margin:12px 0}
a.ipl{cursor:pointer}
.badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:#e5534b;color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:600;vertical-align:1px}
.mrow{cursor:pointer}.mrow:hover td{background:var(--bg)}.mrow.unread td{font-weight:600}.mrow.sel td{background:var(--ac2)}
.mprev{max-width:340px!important;white-space:normal!important;word-break:break-word}
.mbody{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:12px 0;font-size:14px;line-height:1.7}
.mrep{border-left:3px solid var(--ac);padding:6px 10px;margin:6px 0;background:var(--bg);border-radius:6px;white-space:pre-wrap;word-break:break-word;font-size:14px}
#m-reply{width:100%;font:inherit;font-size:14px;padding:9px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--tx);margin-top:10px;resize:vertical}
.macts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#mdetail table th{width:90px;white-space:nowrap}
