:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#6b7280;--line:#e5e9f2;--blue:#2457ff;--nav:#11192b;--good:#137a45;--bad:#b42318;--warn:#9a6700;--shadow:0 10px 32px rgba(22,34,60,.07)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}a{text-decoration:none;color:inherit}input,textarea,select,button{font:inherit}.top{height:64px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.brand,.top-right{display:flex;align-items:center;gap:11px}.brand{font-weight:800}.logo{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#3c6dff,#8f5cff);box-shadow:0 8px 18px rgba(60,109,255,.25)}.logo.small{width:32px;height:32px;border-radius:9px}.muted-light{color:#c7d0df;font-size:12px}.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 64px)}aside{background:#fff;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;justify-content:space-between}aside nav{display:grid;gap:4px}aside nav a{padding:10px 11px;border-radius:9px;color:#4b556b;font-weight:650;display:flex;align-items:center;justify-content:space-between}aside nav a:hover,aside nav a.active{background:#edf2ff;color:#1e4dd5}.side-note{font-size:11px;color:#7d8493;border-top:1px solid var(--line);padding:12px}main{padding:25px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:17px}.page-head h1{margin:0 0 3px;font-size:27px}.page-head p{margin:0;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:19px;margin-bottom:17px;min-width:0}.card h2{font-size:17px;margin:0 0 14px}.card-head{display:flex;justify-content:space-between;align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.grid2.wide{grid-template-columns:1.25fr .75fr}.campaign-grid{grid-template-columns:.95fr 1.05fr}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:var(--shadow)}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:23px;margin:4px 0}.stack{display:grid;gap:12px}label{display:grid;gap:5px;font-weight:650;color:#3c465d}label small{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;padding:9px 10px;border:1px solid #d6ddea;border-radius:8px;background:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:#8ca8ff;box-shadow:0 0 0 3px rgba(36,87,255,.09)}textarea{resize:vertical}.code{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d3daea;background:#fff;color:#2d3851;padding:8px 12px;border-radius:8px;font-weight:700;cursor:pointer}.btn:hover{background:#f5f7fb}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.danger{color:var(--bad);border-color:#efc4c0}.btn.ghost{background:transparent;color:#fff;border-color:#435068}.btn.small{padding:5px 8px;font-size:11px}.toolbar,.actions{display:flex;gap:7px;flex-wrap:wrap}.check{display:grid;grid-template-columns:auto 1fr;align-items:start}.check input{width:auto;margin-top:3px}.rotation{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.list{display:grid;gap:8px}.list-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:11px}.grow{flex:1;min-width:0}.list-row small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.03em}.badge.good{background:#e9f8ef;color:var(--good)}.badge.bad{background:#fff0ef;color:var(--bad)}.badge.warn{background:#fff6dc;color:var(--warn)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#9ca3af}.dot.ok{background:#22a05a}.dot.no{background:#d83b31}.notice,.alert{padding:10px 12px;border-radius:8px;font-size:12px}.notice{background:#f1f5ff;border:1px solid #dce5ff;color:#3e4c72}.alert.warn{background:#fff7df;color:#7b580d}.alert.bad{background:#fff0ef;color:var(--bad)}.muted{color:var(--muted)}.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.kv span,.monitor-stats span{display:block;color:var(--muted);font-size:11px}.compact{padding-left:18px;display:grid;gap:7px}.progress{height:10px;background:#edf0f5;border-radius:999px;overflow:hidden;margin:4px 0 13px}.progress>div{height:100%;width:0;background:linear-gradient(90deg,#2457ff,#7858ff)}.monitor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.monitor-stats>div{background:#f7f9fc;border-radius:8px;padding:8px}.console{height:390px;overflow:auto;background:#0d1628;color:#d6e0f5;border-radius:9px;padding:10px;margin-top:12px;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.line{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05)}.line.success{color:#81e4ae}.line.error{color:#ff9e98}.line.warning{color:#ffd17a}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.tags code{padding:4px 6px;border-radius:6px;background:#f0f3f8;border:1px solid #e2e6ee}.inline{display:flex;gap:8px}.inline input{max-width:320px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase}td small{display:block;color:var(--muted)}.break{word-break:break-all}.empty{text-align:center;color:var(--muted);padding:22px}.diagnostic{margin-top:12px}.diag-grid{display:grid;grid-template-columns:160px 1fr;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}.diag-grid div{padding:8px 10px;border-bottom:1px solid var(--line)}.diag-grid div:nth-child(odd){background:#f7f9fc;font-weight:700}.health-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.health-hero>div{padding:14px;background:#f7f9fc;border-radius:9px}.health-hero span{display:block;color:var(--muted)}.health-hero strong{font-size:18px}.health-list{display:grid;gap:6px}.health-row{display:grid;grid-template-columns:12px minmax(160px,1fr) minmax(180px,1.5fr) 90px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.health-row em{color:var(--muted);font-size:11px}.toast{position:fixed;right:22px;top:76px;z-index:100;padding:10px 13px;border-radius:8px;background:#11633b;color:#fff;max-width:450px}.toast.bad{background:#8f2119}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#e7ecff,#f7f8fb 45%)}.login-card{width:min(500px,100%);background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 20px 55px rgba(22,34,60,.12);padding:27px}.login-card h1{margin:10px 0 4px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.result{font-size:11px;margin-top:4px}.result.ok{color:var(--good)}.result.bad{color:var(--bad)}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.grid2,.grid2.wide,.campaign-grid{grid-template-columns:1fr}}@media(max-width:760px){.shell{grid-template-columns:1fr}aside{display:block;border-right:0;border-bottom:1px solid var(--line);overflow:auto;padding:8px}aside nav{display:flex;min-width:max-content}.side-note{display:none}main{padding:15px}.top-right .muted-light{display:none}.stats{grid-template-columns:1fr 1fr}.rotation{grid-template-columns:1fr}.list-row{align-items:flex-start;flex-direction:column}.health-row{grid-template-columns:12px 1fr}.health-row span:nth-of-type(2),.health-row em{grid-column:2}}
.rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}.rate-grid>div{background:#f7f9fc;border:1px solid #edf0f5;border-radius:9px;padding:9px}.rate-grid span{display:block;color:var(--muted);font-size:10px}.rate-grid b{font-size:14px;display:block;margin-top:2px}.connection-box{border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:13px;display:grid;gap:10px}.connection-box h3{margin:0;font-size:14px}@media(max-width:900px){.rate-grid{grid-template-columns:1fr 1fr}}
.tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#e9eefb;color:#3656a4;font-size:10px;font-weight:900;cursor:help;position:relative;vertical-align:middle}.tip:hover::after,.tip:focus::after{content:attr(data-tip);position:absolute;z-index:200;left:50%;top:22px;transform:translateX(-50%);width:280px;max-width:70vw;background:#111827;color:#fff;padding:8px 10px;border-radius:7px;font-size:11px;font-weight:500;line-height:1.4;box-shadow:0 10px 28px rgba(0,0,0,.22);pointer-events:none}.csv-box,.attachment-picker{border:1px solid var(--line);border-radius:10px;background:#fafbfe;padding:12px}.csv-box h3,.attachment-picker h3{margin:0 0 8px;font-size:14px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attachment-check{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.attachment-check small{display:block}.disabled-option{opacity:.55}.preview-panel{margin-top:16px;border:1px solid #cfd9f7;border-radius:12px;padding:15px;background:#f9fbff}.preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-meta>div{padding:9px;background:#fff;border:1px solid var(--line);border-radius:8px}.preview-meta span{display:block;color:var(--muted);font-size:10px}.preview-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.preview-fields>div{display:grid;grid-template-columns:160px 1fr;gap:8px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:7px}.preview-frame{width:100%;min-height:360px;border:1px solid var(--line);border-radius:8px;background:#fff}.alert.ok{background:#e9f8ef;color:var(--good)}.acro-options[hidden]{display:none!important}@media(max-width:760px){.check-grid,.preview-meta,.preview-fields{grid-template-columns:1fr}.preview-fields>div{grid-template-columns:1fr}}
