:root{
  --bg:#f7f8fa; --card:#fff; --ink:#16191d; --muted:#6b7280; --line:#e3e7ec;
  --accent:#0b3d6b; --accent-soft:#e8f0fe; --ok:#137333; --no:#c5221f; --warn:#b06000;
  --radius:10px; --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
header{background:var(--accent);color:#fff;padding:13px 20px;display:flex;align-items:center;gap:12px}
header h1{font-size:16px;margin:0}
header .sub{font-size:12.5px;opacity:.85}
header .spacer{flex:1}
.lnk{color:#fff;font-size:13px}
nav{display:flex;gap:6px;padding:12px 20px 0}
.tab{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 16px;border-radius:8px 8px 0 0;font:inherit;cursor:pointer}
.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
main{max-width:1100px;margin:0 auto;padding:14px 18px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.card h2{margin:0 0 10px;font-size:12.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.mt{margin-top:16px}
.hide{display:none}
.empty{padding:18px;text-align:center;color:var(--muted);font-size:13px}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:7px 9px;background:#f3f5f8;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--line)}
td{padding:7px 9px;border-bottom:1px solid var(--line)}
.mono{font-family:var(--mono);font-size:12px}
.btn{background:var(--accent);color:#fff;border:none;padding:9px 14px;border-radius:7px;font:inherit;cursor:pointer;margin-top:8px}
.btn-resolver{background:var(--accent-soft);color:var(--accent);border:none;padding:5px 10px;border-radius:6px;font:inherit;cursor:pointer}
summary{cursor:pointer;font-size:13px;color:var(--accent);margin-top:10px}
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px}
.form input,.form select{padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit}
.chk{display:flex;align-items:center;gap:6px;font-size:13px}
.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#eef0f3;color:#5f6368}
.pill.ok{background:#e6f4ea;color:var(--ok)}
.pill.no{background:#fce8e6;color:var(--no)}
.btn-ghost{background:#fff;color:var(--accent);border:1px solid var(--line);padding:9px 14px;border-radius:7px;font:inherit;cursor:pointer;margin-top:8px}
.btn-mini{background:var(--accent-soft);color:var(--accent);border:none;padding:5px 10px;border-radius:6px;font:inherit;font-size:12px;cursor:pointer}
.btn-mini.danger{background:#fce8e6;color:var(--no)}
.row{display:flex;align-items:center;gap:10px;grid-column:1/-1}
.hint{font-size:12px;color:var(--muted)}
td .btn-mini{margin-right:4px}
.cfg{display:flex;flex-direction:column;gap:4px;font-size:13px}
.cfg input,.cfg textarea{padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit}
.cfg.wide{grid-column:1/-1}
.cfg textarea{font-family:var(--mono);font-size:12px;resize:vertical}
