:root{--bg:#f6f7f9;--card:#fff;--txt:#1c2330;--mut:#667085;--pri:#0b7a5b;--bor:#e1e5ea;--err:#b42318;--warn:#b54708}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--card:#1a2029;--txt:#e8ecf1;--mut:#98a2b3;--bor:#2a3340;--pri:#2fb98b}}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--txt)}nav{display:flex;gap:16px;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--bor);flex-wrap:wrap;align-items:center}nav a{color:var(--txt);text-decoration:none;font-weight:500}nav .sp{flex:1 1}main{max-width:1100px;margin:0 auto;padding:20px 16px}h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:20px 0 8px}.card{background:var(--card);border:1px solid var(--bor);border-radius:10px;padding:16px;margin-bottom:16px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi b{display:block;font-size:24px}.kpi span{color:var(--mut);font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px;border-bottom:1px solid var(--bor)}button,input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--bor);border-radius:8px;background:var(--card);color:var(--txt)}button{background:var(--pri);color:#fff;border:0;cursor:pointer}button.sec{background:transparent;color:var(--txt);border:1px solid var(--bor)}button.danger{background:var(--err)}button:disabled{opacity:.5;cursor:not-allowed}label{display:block;margin:10px 0 4px;font-size:13px;color:var(--mut)}input,select,textarea{width:100%}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tag{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--bor);font-size:12px}.err{color:var(--err)}.warn{color:var(--warn)}.ok{color:var(--pri)}.banner{padding:10px 14px;border-radius:8px;margin-bottom:12px;background:#fff4e5;color:#7a4100;border:1px solid #f5c98a}pre{white-space:pre-wrap;background:var(--bg);padding:10px;border-radius:8px}