@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{--purple:#6D40C4;--purple-d:#5a32a8;--purple-l:#f1ecfa;--ink:#1f1b2e;--muted:#6b6880;--line:#e5e3ee;--bg:#f7f6fb;--card:#fff;--ok:#1f9d55;--warn:#d98a06;--bad:#d2373c;--info:#2b6fd6;--r:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;font-size:15px}
a{color:var(--purple)}h1,h2,h3{line-height:1.2;margin:0 0 8px}h1{font-size:28px;font-weight:700}h2{font-size:20px;font-weight:600}h3{font-size:16px;font-weight:600}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar .wrap{display:flex;align-items:center;gap:16px;height:56px}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--ink);font-size:17px}
.brand .logoimg{height:34px;width:auto;display:block}.brand-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.brand-sub{color:var(--muted);font-weight:500;font-size:15px}
.topbar nav{margin-left:auto;display:flex;gap:18px;font-size:14px}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a:hover{color:var(--purple)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:18px 0;box-shadow:0 1px 2px rgba(31,27,46,.04)}
.subtitle{color:var(--muted);margin:0 0 14px}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:9px;padding:9px 16px;font:inherit;font-weight:500;font-size:14px;cursor:pointer;background:var(--purple);color:#fff;transition:background .15s,transform .05s;white-space:nowrap}
.btn:hover{background:var(--purple-d)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.sec{background:#fff;color:var(--ink);border-color:var(--line)}.btn.sec:hover{background:var(--purple-l)}
.btn.ok{background:var(--ok)}.btn.ok:hover{background:#177f44}.btn.warn{background:var(--warn)}.btn.warn:hover{background:#b67205}
.btn.bad{background:var(--bad)}.btn.bad:hover{background:#b02a2f}.btn.info{background:var(--info)}.btn.info:hover{background:#2159ad}
.btn.sm{padding:5px 10px;font-size:12.5px;border-radius:7px}.btn.ghost{background:transparent;color:var(--purple);border-color:transparent}.btn.ghost:hover{background:var(--purple-l)}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
textarea,input[type=text],input[type=url],input[type=number],input[type=search],select{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);width:100%}
textarea:focus,input:focus,select:focus{outline:2px solid var(--purple);outline-offset:0;border-color:var(--purple)}
textarea{min-height:130px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
label.inl{display:inline-flex;align-items:center;gap:6px;font-size:14px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple)}
.pill{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--purple-l);color:var(--purple)}
.pill.live{background:#e3f6ea;color:var(--ok)}.pill.external{background:#e3f6ea;color:var(--ok)}.pill.legacy{background:#f2f1f5;color:var(--muted)}
.msg{min-height:22px;text-align:center;font-weight:500;margin-top:10px;font-size:14px}.msg.error{color:var(--bad)}.msg.warning{color:var(--warn)}.msg.success{color:var(--ok)}.msg.info{color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#faf9fd;font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.hidden{display:none!important}
.muted{color:var(--muted)}.small{font-size:13px}
kbd{font:12px ui-monospace,monospace;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 6px;background:#fff}
.footer{color:var(--muted);font-size:13px;text-align:center;padding:40px 0 30px}
.footer a{color:var(--muted)}
@media (max-width:640px){.topbar nav{display:none}.card{padding:16px}h1{font-size:23px}}
