:root{--font-family:"Open Sans",sans-serif;--ubc-blue:#002145;--ubc-blue-rgb:0,33,69;--ubc-blue-hover:#001833;--ubc-blue-light:#0055b7;--gray-light:#f8f9fa;--gray-medium:#e9ecef;--text-dark:#212529;--text-primary:#6b7280;--text-secondary:#9ca3af;--text-tertiary:#b0b8c4;--background-secondary:#f7f6f4;--border-primary:#e2e8f0;--border-tertiary:#f0f2f5;--white:#fff;--success:#28a745;--warning:#ffc107;--danger:#dc3545;--rating-low-mid:#2ba84a;--rating-low-fill:#eaf3de;--rating-low-text:#27500a;--rating-medium-mid:#ffd21f;--rating-medium-fill:#fefce8;--rating-medium-text:#6b5500;--rating-high-mid:#f77f00;--rating-high-fill:#fff7ed;--rating-high-text:#9a3412;--rating-very-high-mid:#c62828;--rating-very-high-fill:#fcebeb;--rating-very-high-text:#791f1f;--rating-matrix-low:#f0f6e7;--rating-matrix-medium:#fffcf0;--rating-matrix-high:#fbf3e4;--rating-matrix-very-high:#fdf1f1;--rating-very-high-accent:var(--rating-very-high-mid);--rating-very-high-accent-light:var(--rating-very-high-fill);--rating-very-high-accent-dark:var(--rating-very-high-text);--rating-very-high-accent-border:var(--rating-very-high-mid);--rating-very-high-accent-muted:#f1a5a5;--rating-high-accent:var(--rating-high-mid);--rating-high-accent-light:var(--rating-high-fill);--rating-high-accent-dark:var(--rating-high-text);--rating-high-accent-border:var(--rating-high-mid);--rating-high-accent-muted:#fdba74;--rating-medium-accent:var(--rating-medium-mid);--rating-medium-accent-light:var(--rating-medium-fill);--rating-medium-accent-dark:var(--rating-medium-text);--rating-medium-accent-border:var(--rating-medium-mid);--rating-medium-accent-muted:#f5e06b;--rating-low-accent:var(--rating-low-mid);--rating-low-accent-light:var(--rating-low-fill);--rating-low-accent-dark:var(--rating-low-text);--rating-low-accent-border:var(--rating-low-mid);--rating-low-accent-muted:#b1cc91;--rating-unrated-accent:var(--text-secondary);--rating-unrated-accent-light:var(--border-tertiary);--rating-unrated-accent-dark:var(--text-primary);--rating-unrated-accent-border:var(--border-primary);--rating-unrated-accent-muted:#ced1d7}.risk-detail-card.rating-very-high{--risk-accent:var(--rating-very-high-accent);--risk-accent-light:var(--rating-very-high-accent-light);--risk-accent-dark:var(--rating-very-high-accent-dark);--risk-accent-border:var(--rating-very-high-accent-border);--risk-accent-muted:var(--rating-very-high-accent-muted)}.risk-detail-card.rating-high{--risk-accent:var(--rating-high-accent);--risk-accent-light:var(--rating-high-accent-light);--risk-accent-dark:var(--rating-high-accent-dark);--risk-accent-border:var(--rating-high-accent-border);--risk-accent-muted:var(--rating-high-accent-muted)}.risk-detail-card.rating-medium{--risk-accent:var(--rating-medium-accent);--risk-accent-light:var(--rating-medium-accent-light);--risk-accent-dark:var(--rating-medium-accent-dark);--risk-accent-border:var(--rating-medium-accent-border);--risk-accent-muted:var(--rating-medium-accent-muted)}.risk-detail-card.rating-low{--risk-accent:var(--rating-low-accent);--risk-accent-light:var(--rating-low-accent-light);--risk-accent-dark:var(--rating-low-accent-dark);--risk-accent-border:var(--rating-low-accent-border);--risk-accent-muted:var(--rating-low-accent-muted)}.risk-detail-card.rating-unrated{--risk-accent:var(--rating-unrated-accent);--risk-accent-light:var(--rating-unrated-accent-light);--risk-accent-dark:var(--rating-unrated-accent-dark);--risk-accent-border:var(--rating-unrated-accent-border);--risk-accent-muted:var(--rating-unrated-accent-muted)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;background-color:var(--gray-light);color:#212529;color:var(--text-dark);font-family:Open Sans,sans-serif;font-family:var(--font-family);line-height:1.6}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}.container{margin:0 auto;max-width:1200px;padding:0 15px;width:100%}.grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:2rem 0}@media (max-width:768px){.grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:576px){.grid{gap:1rem;grid-template-columns:1fr}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}