body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:24px;color:#222;background:#f9fafb}
.wrap{max-width:1100px;margin:0 auto}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 20px}
.btn{display:inline-block;background:#0d6efd;color:#fff;border:none;border-radius:10px;padding:10px 16px;text-decoration:none;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.btn:hover{background:#0b5ed7}
.panel{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 2px 12px rgba(0,0,0,.06); margin-bottom:16px}
.err{background:#fdecea;border-left:4px solid #e55353;padding:10px 12px;border-radius:8px}
.chart-wrap{position:relative;width:100%;height:420px}
@media (max-width:640px){ .chart-wrap{height:240px} }
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
th,td{padding:6px 8px;border-bottom:1px solid #eee;text-align:right}
th:first-child,td:first-child{text-align:left}
.ghost{opacity:.65}
.small{font-size:13px;color:#666}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){ .grid{grid-template-columns:1fr} }
.badge{display:inline-block;width:14px;height:14px;border:1px solid #ddd;border-radius:3px;margin-right:6px;vertical-align:middle}
.badge-r{background:#ffd9d6;border-color:#f0a7a0}
.badge-g{background:#eaffea;border-color:#9ad29a}
