:root{--bg:#0f0f12;--card:#15151a;--text:#f2f2f4;--muted:#b8b8c3;--line:rgba(255,255,255,.10);--pill:rgba(255,255,255,.10)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;line-height:1.3}
.topbar{position:sticky;top:0;background:#111;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center}
.brand__icon{width:34px;height:34px;border-radius:10px}
.brand__title{font-weight:700}
.brand__subtitle{font-size:12px;color:var(--muted)}
.status{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--pill);font-size:12px}
.pill--muted{opacity:.85}
.wrap{max-width:980px;margin:16px auto;padding:0 14px 30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}
.h{font-weight:700;margin:0 0 10px}
.muted{color:var(--muted)}
.small{font-size:12px}
.lbl{display:block;font-size:12px;color:var(--muted);margin:10px 0 6px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:720px){.grid{grid-template-columns:1fr}}
.row{display:flex;gap:12px;align-items:center}
.row--spread{justify-content:space-between}
.row--wrap{flex-wrap:wrap}
input,select,textarea{width:100%;padding:10px;border-radius:12px;border:1px solid var(--line);background:#0e0e12;color:var(--text)}
textarea.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;min-height:92px}
.results{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin-top:12px}
@media (max-width:720px){.results{grid-template-columns:1fr}}
.kpi{border:1px solid var(--line);border-radius:14px;padding:12px}
.kpi__label{font-size:12px;color:var(--muted)}
.kpi__value{font-size:22px;font-weight:800;margin-top:6px}
.kpi--big .kpi__value{font-size:26px}
.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.btn{padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#111;font-weight:700;cursor:pointer}
.btn--ghost{background:transparent;color:var(--text)}
.msg{margin-top:10px;font-size:13px}
.msg.ok{color:#20c997}
.msg.bad{color:#ff6b6b}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:14px}
.modal[aria-hidden="false"]{display:flex}
.modal__card{width:min(720px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}
.footer{margin-top:8px}
code{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:8px}