*{outline:none}:focus-visible{outline:2px solid #5a3eb8;outline-offset:2px}.radar-container{max-width:1360px;margin:0 auto;padding:24px}.radar-grid{display:grid;gap:16px}.radar-grid-2col{grid-template-columns:1fr 1fr}.radar-grid-3col{grid-template-columns:repeat(3,1fr)}.radar-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:border-color .15s ease}.radar-card:hover{border-color:#d1d5db}.radar-card-dense{padding:12px}.radar-panel{background:#fff;border:1px solid #e5e7eb;border-radius:6px}.radar-panel-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#374151}.radar-panel-body{padding:16px}.radar-table{width:100%;border-collapse:collapse;font-size:14px}.radar-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.radar-table th{padding:8px 12px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.radar-table td{padding:10px 12px;border-bottom:1px solid #f3f4f6;color:#374151}.radar-table tbody tr:hover{background:#f9fafb}.radar-table tbody tr:last-child td{border-bottom:none}.radar-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;line-height:1.5}.radar-badge-critical{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.radar-badge-high{background:#fed7aa;color:#92400e;border:1px solid #fed7aa}.radar-badge-medium{background:#fef3c7;color:#78350f;border:1px solid #fde68a}.radar-badge-low{background:#d1fae5}.radar-badge-healthy,.radar-badge-low{color:#065f46;border:1px solid #a7f3d0}.radar-badge-healthy{background:#ecfdf5}.radar-badge-neutral{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.radar-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;transition:all .15s ease;cursor:pointer;border:1px solid transparent}.radar-btn-primary{background:#5a3eb8;color:#fff;border-color:#5a3eb8}.radar-btn-primary:hover{background:#4a2e98;border-color:#4a2e98}.radar-btn-secondary{background:#fff;color:#5a3eb8;border-color:#5a3eb8}.radar-btn-secondary:hover{background:#f5f3ff}.radar-btn-danger{background:#fff;color:#dc2626;border-color:#dc2626}.radar-btn-danger:hover{background:#fef2f2}.radar-btn-ghost{background:transparent;color:#6b7280}.radar-btn-ghost:hover{background:#f3f4f6}.radar-skeleton{background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;animation:radar-shimmer 1.5s ease-in-out infinite;border-radius:4px}@keyframes radar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.radar-skeleton-text{height:16px;margin-bottom:8px}.radar-skeleton-heading{height:24px;width:60%;margin-bottom:12px}.radar-skeleton-card{height:120px}.radar-skeleton-table-row{height:44px;margin-bottom:1px}.radar-metric{display:flex;flex-direction:column;gap:4px}.radar-metric-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.radar-metric-value{font-size:24px;font-weight:700;color:#111827;font-variant-numeric:tabular-nums}.radar-metric-trend{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.radar-metric-trend-up{color:#10b981}.radar-metric-trend-down{color:#ef4444}.radar-metric-trend-neutral{color:#6b7280}.radar-gap-2{gap:8px}.radar-gap-3{gap:12px}.radar-gap-4{gap:16px}.radar-gap-6{gap:24px}.radar-gap-8{gap:32px}.radar-p-2{padding:8px}.radar-p-3{padding:12px}.radar-p-4{padding:16px}.radar-p-6{padding:24px}.radar-m-2{margin:8px}.radar-m-3{margin:12px}.radar-m-4{margin:16px}.radar-m-6{margin:24px}@media (max-width:768px){.radar-container{padding:16px}.radar-grid-2col,.radar-grid-3col{grid-template-columns:1fr}.radar-table{font-size:13px}.radar-table td,.radar-table th{padding:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.radar-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}