:root{color-scheme:light;--bg:#f3f6f8;--panel:#fff;--ink:#152333;--muted:#637386;--line:#d8e0e8;--brand:#087f78;--brand-dark:#075e5a;--good:#087f55;--bad:#b42318;--warn:#a15c00;--shadow:0 8px 24px rgba(21,35,51,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 "Segoe UI","Microsoft YaHei",Arial,sans-serif}a{color:var(--brand-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.02em}h2{font-size:18px;line-height:1.3}.eyebrow{margin-bottom:4px;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.08em}.subtitle{margin-top:6px;color:var(--muted)}
.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px max(20px,calc((100% - 1560px)/2)) 22px;background:var(--panel);border-bottom:1px solid var(--line)}.nav-links{display:flex;flex-wrap:wrap;gap:4px}.nav-links a{padding:8px 12px;border-radius:6px;color:var(--muted)}.nav-links a:hover,.nav-links a.active{background:#e6f4f2;color:var(--brand-dark);text-decoration:none;font-weight:700}
main{width:min(1560px,calc(100% - 40px));margin:24px auto 52px}.panel,.stats>div{border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.panel{margin-bottom:16px;overflow:hidden}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.section-title>span{color:var(--muted);font-size:12px}
.stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin-bottom:16px}.stats>div{padding:16px}.stats span{display:block;font-size:26px;font-weight:750}.stats strong{display:block;margin-top:2px;color:var(--muted);font-size:13px}.monitor-grid{display:flex;flex-wrap:nowrap;align-items:stretch;margin:0;background:var(--line)}.monitor-grid>div{flex:1 1 0;min-width:0;padding:14px 16px;background:var(--panel);border-right:1px solid var(--line)}.monitor-grid>div:last-child{border-right:0}.monitor-grid dt,.monitor-grid dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-grid dd{margin-top:3px}.monitor-grid dt{color:var(--muted);font-size:12px}dd{margin:3px 0 0;font-weight:700}.state{border-radius:999px;padding:5px 12px;background:#e8f7f0;color:var(--good);font-weight:700}.state.stopped{background:#fff0ef;color:var(--bad)}.status-error{max-height:180px;margin:0;padding:10px 18px;background:#fff4f2;color:var(--bad);font-size:12px;line-height:1.6;overflow:auto;overflow-wrap:anywhere}
.filters{padding:14px}.filters form{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr) minmax(150px,.7fr) minmax(180px,.8fr) auto auto;gap:12px;align-items:end}label span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}select,input[type=search]{width:100%;min-height:36px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:#fff;color:var(--ink);font:inherit}select:focus,input:focus,button:focus-visible{outline:3px solid rgba(8,127,120,.2);outline-offset:1px}button,.reset,.actions a{min-height:36px;border:1px solid var(--brand);border-radius:6px;padding:8px 12px;background:var(--brand);color:#fff;font:inherit;cursor:pointer;text-decoration:none}.reset,.actions a{border-color:var(--line);background:#fff;color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:8px}.downloads{display:flex;justify-content:space-between;align-items:center;padding:16px 18px}
.table-wrap{overflow:auto;max-height:660px}table{width:100%;min-width:1320px;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}th{position:sticky;top:0;z-index:1;background:#f7f9fb;color:var(--muted);font-size:12px}tr:hover td{background:#fbfdfd}.model{font-weight:700}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 18px;border-top:1px solid var(--line)}.pagination a{font-weight:700}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:16px}.timeline,.status-list{max-height:680px;overflow:auto;padding:12px}.change,.status-list article,.feed-item{border:1px solid var(--line);border-radius:8px;padding:13px;background:#fff}.change+.change,.status-list article+article,.feed-item+.feed-item{margin-top:10px}.change>div,.status-list article>div,.feed-item>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.change strong{color:var(--brand-dark)}.change.increase strong{color:var(--bad)}.change.decrease strong{color:var(--good)}.change.added strong{color:var(--brand-dark)}.change.removed strong{color:var(--warn)}.change time,.change small,.status-list dd,.status-list dt,.feed-item time{color:var(--muted);font-size:12px}.status-list dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0 0}.status-list dt{font-weight:700}.status-list dd{margin:0}.page-name{margin-bottom:6px;color:var(--muted)}.ok{color:var(--good);font-weight:700}.bad{color:var(--bad);font-weight:700}.empty{padding:28px;color:var(--muted);text-align:center}.feed{padding:12px}.feed-item h2{margin:6px 0}.feed-item p{color:var(--muted)}.feed-item a{display:inline-block;margin-top:8px;font-weight:700}.tag{display:inline-block;padding:3px 8px;border-radius:999px;background:#e6f4f2;color:var(--brand-dark);font-size:12px;font-weight:700}.notification-status{display:inline-block;margin-top:8px;color:var(--good);font-size:12px;font-weight:700}
@media(max-width:980px){.topbar{display:block;padding:22px 18px}.nav-links{margin-top:16px}.stats,.filters form,.split{grid-template-columns:1fr 1fr}.monitor-grid{flex-wrap:wrap}.monitor-grid>div{flex:0 0 33.333%;}.monitor-grid>div:nth-child(3n){border-right:0}main{width:min(100% - 24px,1560px);margin-top:16px}.downloads{display:block}.downloads .actions{margin-top:12px}}
@media(max-width:620px){h1{font-size:24px}.stats,.filters form{grid-template-columns:1fr}.monitor-grid>div{flex-basis:50%}.monitor-grid>div:nth-child(3n){border-right:1px solid var(--line)}.monitor-grid>div:nth-child(2n){border-right:0}.section-title{align-items:flex-start;flex-direction:column;gap:6px}.nav-links a{padding:7px 8px}.split{grid-template-columns:1fr}}
