
*{box-sizing:border-box}
body{background:#f6f7f9;color:#111;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.top{display:flex;align-items:center;gap:16px;justify-content:space-between;background:#fff;border-bottom:1px solid #eee;padding:12px 16px;position:sticky;top:0;z-index:40}
.brand{font-weight:700}
.tabs{display:flex;gap:6px}
.tab{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;cursor:pointer}
.tab.active{background:#111;color:#fff;border-color:#111}
.lang{display:flex;gap:8px;align-items:center}
.wrap{max-width:1100px;margin:0 auto;padding:16px}
.row{display:flex;align-items:center}
.gap{gap:8px}
.grow{flex:1}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.kpi{background:#fff;border:1px solid #eee;border-radius:12px;padding:16px}
.kpi h3{margin:0;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.kpi .val{margin-top:6px;font-weight:800;font-size:22px}
.kpi .val.green{color:#00a86b}
.kpi .val.purple{color:#6b3cf0}
.card{background:#fff;border:1px solid #eee;border-radius:12px;padding:16px;margin:12px 0}
.card-title{font-weight:700;margin-bottom:10px}
.card-title.black{background:#111;color:#fff;border-radius:8px;padding:8px 10px;margin:-8px -8px 12px -8px}
.grid{display:grid;gap:8px}
.add-grid{grid-template-columns:repeat(7,1fr)}
.acc-grid{grid-template-columns:repeat(4,1fr)}
input,select{padding:10px 12px;border:1px solid #ddd;border-radius:10px;width:100%}
.btn{padding:10px 14px;border:1px solid #111;border-radius:10px;background:#111;color:#fff;cursor:pointer;font-weight:700}
.btn.outline{background:#fff;color:#111;border:1px solid #ddd}
.table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee;font-size:14px}
th{color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid #eee;background:#fafafa}
.state{padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;border:1px solid transparent}
.state.ok{background:#eafaf1;color:#137a44;border-color:#d6f4e2}
.state.warn{background:#fff7e6;color:#a46a00;border-color:#ffe8b3}
.state.bad{background:#ffebee;color:#9f2336;border-color:#ffd2da}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.chip{padding:8px 12px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}
.chip.active{background:#111;color:#fff;border-color:#111}
.pager{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.hidden{display:none}
dialog::backdrop{background:rgba(0,0,0,.3)}
.modal{padding:18px;min-width:320px}
