:root{--bg:#f6f7fb;--card:#fff;--text:#111;--muted:#666;--line:#e8e8ee;--primary:#111;--ok:#0a7;--bad:#c33}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}
.container{max-width:1100px;margin:0 auto;padding:1.25rem}
.nav{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1rem}
.brand{font-weight:800;letter-spacing:.2px}
.badge{font-size:.85rem;color:#fff;background:var(--primary);padding:.2rem .55rem;border-radius:999px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.grid{display:grid;gap:1rem}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}
.btn{display:inline-block;border:0;border-radius:14px;padding:.65rem 1rem;background:var(--primary);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}
.btn.secondary{background:#fff;color:#111;border:1px solid var(--line)}
.btn.small{padding:.45rem .75rem;border-radius:12px;font-size:.92rem}
.input, select{width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.row{display:flex;gap:.75rem}
.row>*{flex:1}
.hint{color:var(--muted);font-size:.95rem}
.kpi{display:flex;gap:1rem;flex-wrap:wrap}
.kpi .item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.8rem 1rem;min-width:160px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.6rem .55rem;border-bottom:1px solid var(--line);text-align:left}
.pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem}
.pill.ok{border-color:rgba(0,160,120,.35);background:rgba(0,160,120,.06)}
.pill.bad{border-color:rgba(200,60,60,.35);background:rgba(200,60,60,.06)}
.alert{border-radius:16px;padding:.85rem 1rem;border:1px solid var(--line);background:#fff}
.alert.ok{border-color:rgba(0,160,120,.35);background:rgba(0,160,120,.06)}
.alert.bad{border-color:rgba(200,60,60,.35);background:rgba(200,60,60,.06)}
.levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
.level{padding:.75rem;border-radius:16px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:.4rem}
.level.locked{opacity:.45}
.level .title{font-weight:800}
.level .meta{font-size:.85rem;color:var(--muted)}
