| custom_css = """ |
| /* HF Space Native Theme Adaptation */ |
| :root { |
| --xray-primary: #0284c7; |
| --xray-primary-hover: #0369a1; |
| --xray-accent: #38bdf8; |
| --xray-success: #10b981; |
| --xray-warning: #f59e0b; |
| --xray-danger: #ef4444; |
| } |
| |
| /* Continuous Audit Loading Component - HF Native Variable Theme */ |
| .audit-loading-container { |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 12px !important; |
| background: var(--background-fill-secondary, #f8fafc) !important; |
| border: 1.5px solid var(--primary-500, #0284c7) !important; |
| border-radius: 12px !important; |
| padding: 16px 20px !important; |
| margin-top: 12px !important; |
| box-shadow: 0 4px 16px rgba(2, 132, 199, 0.15) !important; |
| animation: xrayPulse 2.5s infinite ease-in-out !important; |
| } |
| |
| @keyframes xrayPulse { |
| 0% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.3); } |
| 70% { box-shadow: 0 0 0 8px rgba(2, 132, 199, 0); } |
| 100% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0); } |
| } |
| |
| .loading-top-row { |
| display: flex !important; |
| align-items: center !important; |
| gap: 16px !important; |
| width: 100% !important; |
| } |
| |
| .spinner-orbit { |
| position: relative !important; |
| width: 38px !important; |
| height: 38px !important; |
| display: flex !important; |
| align-items: center !important; |
| justify-content: center !important; |
| flex-shrink: 0 !important; |
| } |
| |
| .spinner-ring { |
| position: absolute !important; |
| width: 100% !important; |
| height: 100% !important; |
| border-radius: 50% !important; |
| border: 3px solid var(--border-color-primary, #e2e8f0) !important; |
| border-top-color: var(--primary-500, #0284c7) !important; |
| animation: xraySpin 0.85s linear infinite !important; |
| } |
| |
| @keyframes xraySpin { |
| 0% { transform: rotate(0deg); } |
| 100% { transform: rotate(360deg); } |
| } |
| |
| .spinner-core { |
| font-size: 18px !important; |
| line-height: 1 !important; |
| } |
| |
| .loading-text-stack { |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 3px !important; |
| flex-grow: 1 !important; |
| overflow: hidden !important; |
| } |
| |
| .loading-main-text { |
| font-size: 14px !important; |
| font-weight: 700 !important; |
| color: var(--primary-500, #0284c7) !important; |
| letter-spacing: 0.01em !important; |
| white-space: nowrap !important; |
| overflow: hidden !important; |
| text-overflow: ellipsis !important; |
| } |
| |
| .loading-sub-text { |
| font-size: 12.5px !important; |
| font-weight: 500 !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| white-space: nowrap !important; |
| overflow: hidden !important; |
| text-overflow: ellipsis !important; |
| } |
| |
| .loading-pct-badge { |
| margin-left: auto !important; |
| font-family: monospace !important; |
| font-size: 15px !important; |
| font-weight: 800 !important; |
| color: var(--primary-500, #0284c7) !important; |
| background: rgba(2, 132, 199, 0.1) !important; |
| padding: 4px 10px !important; |
| border-radius: 8px !important; |
| border: 1px solid rgba(2, 132, 199, 0.25) !important; |
| flex-shrink: 0 !important; |
| } |
| |
| .progress-bar-track { |
| width: 100% !important; |
| height: 10px !important; |
| background: var(--border-color-primary, #e2e8f0) !important; |
| border-radius: 99px !important; |
| overflow: hidden !important; |
| position: relative !important; |
| } |
| |
| .progress-bar-fill { |
| height: 100% !important; |
| background: linear-gradient(90deg, #0284c7 0%, #38bdf8 50%, #10b981 100%) !important; |
| border-radius: 99px !important; |
| transition: width 0.35s ease-in-out !important; |
| position: relative !important; |
| } |
| |
| .progress-bar-glow { |
| position: absolute !important; |
| top: 0 !important; |
| right: 0 !important; |
| bottom: 0 !important; |
| width: 20px !important; |
| background: #ffffff !important; |
| opacity: 0.6 !important; |
| filter: blur(3px) !important; |
| animation: glowShimmer 1.5s infinite !important; |
| } |
| |
| @keyframes glowShimmer { |
| 0% { opacity: 0.2; } |
| 50% { opacity: 0.8; } |
| 100% { opacity: 0.2; } |
| } |
| |
| /* Section Header */ |
| .section-eyebrow { |
| font-size: 11px !important; |
| font-weight: 700 !important; |
| letter-spacing: 0.08em !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| text-transform: uppercase !important; |
| margin-bottom: 12px !important; |
| } |
| |
| /* Top Cards Grid */ |
| .top-cards-grid { |
| display: grid !important; |
| grid-template-columns: repeat(3, 1fr) !important; |
| gap: 16px !important; |
| } |
| @media (max-width: 1024px) { |
| .top-cards-grid { grid-template-columns: repeat(2, 1fr) !important; } |
| } |
| @media (max-width: 640px) { |
| .top-cards-grid { grid-template-columns: 1fr !important; } |
| } |
| |
| .top-eval-card { |
| background: var(--background-fill-secondary, #f8fafc) !important; |
| border: 1px solid var(--border-color-primary, #e2e8f0) !important; |
| border-radius: 12px !important; |
| padding: 16px !important; |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 12px !important; |
| box-shadow: var(--shadow-drop-lg, 0 2px 8px rgba(0, 0, 0, 0.04)) !important; |
| transition: transform 0.2s ease, border-color 0.2s ease !important; |
| } |
| .top-eval-card:hover { |
| border-color: var(--primary-500, #0284c7) !important; |
| transform: translateY(-2px) !important; |
| } |
| |
| .card-header-row { |
| display: flex !important; |
| align-items: center !important; |
| gap: 12px !important; |
| } |
| |
| .provider-logo { |
| width: 36px !important; |
| height: 36px !important; |
| border-radius: 8px !important; |
| background: var(--background-fill-primary, #ffffff) !important; |
| border: 1.5px solid var(--primary-500, #0284c7) !important; |
| display: flex !important; |
| align-items: center !important; |
| justify-content: center !important; |
| font-weight: 800 !important; |
| font-size: 16px !important; |
| color: var(--primary-500, #0284c7) !important; |
| } |
| |
| .card-titles { |
| display: flex !important; |
| flex-direction: column !important; |
| overflow: hidden !important; |
| } |
| .card-titles h3 { |
| font-size: 14px !important; |
| font-weight: 700 !important; |
| color: var(--body-text-color, #0f172a) !important; |
| margin: 0 !important; |
| white-space: nowrap !important; |
| overflow: hidden !important; |
| text-overflow: ellipsis !important; |
| } |
| .card-titles span { |
| font-size: 11.5px !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| font-weight: 500 !important; |
| } |
| |
| .benchmark-sub { |
| font-size: 13px !important; |
| color: var(--body-text-color, #0f172a) !important; |
| font-weight: 600 !important; |
| } |
| |
| /* Split Pills */ |
| .metrics-stack { |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 8px !important; |
| } |
| |
| .metric-split-pill { |
| display: flex !important; |
| align-items: center !important; |
| justify-content: space-between !important; |
| border-radius: 8px !important; |
| padding: 4px 8px 4px 4px !important; |
| } |
| .metric-split-pill .badge { |
| padding: 3px 8px !important; |
| border-radius: 6px !important; |
| color: #ffffff !important; |
| font-weight: 700 !important; |
| font-size: 11px !important; |
| letter-spacing: 0.02em !important; |
| } |
| .metric-split-pill .sub-val { |
| font-size: 11px !important; |
| font-weight: 600 !important; |
| padding-right: 4px !important; |
| } |
| |
| .metric-split-pill.green { |
| background: rgba(16, 185, 129, 0.1) !important; |
| border: 1px solid rgba(16, 185, 129, 0.25) !important; |
| } |
| .metric-split-pill.green .badge { background: #059669 !important; } |
| .metric-split-pill.green .sub-val { color: #059669 !important; } |
| |
| .metric-split-pill.blue { |
| background: rgba(2, 132, 199, 0.1) !important; |
| border: 1px solid rgba(2, 132, 199, 0.25) !important; |
| } |
| .metric-split-pill.blue .badge { background: #0284c7 !important; } |
| .metric-split-pill.blue .sub-val { color: #0284c7 !important; } |
| |
| .card-footer { |
| display: flex !important; |
| justify-content: space-between !important; |
| font-family: monospace !important; |
| font-size: 10px !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| border-top: 1px solid var(--border-color-primary, #e2e8f0) !important; |
| padding-top: 8px !important; |
| margin-top: auto !important; |
| } |
| |
| /* Dynamic Results / Audit Detail Panel */ |
| .audit-result-panel { |
| background: var(--background-fill-secondary, #f8fafc) !important; |
| border: 1.5px solid var(--primary-500, #0284c7) !important; |
| border-radius: 12px !important; |
| padding: 18px 22px !important; |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 14px !important; |
| box-shadow: var(--shadow-drop-lg, 0 4px 16px rgba(0, 0, 0, 0.05)) !important; |
| } |
| .result-panel-empty { |
| background: var(--background-fill-secondary, #f8fafc) !important; |
| border: 1.5px dashed var(--border-color-primary, #cbd5e1) !important; |
| border-radius: 12px !important; |
| padding: 36px 20px !important; |
| text-align: center !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| } |
| .result-header-row { |
| display: flex !important; |
| justify-content: space-between !important; |
| align-items: flex-start !important; |
| gap: 16px !important; |
| border-bottom: 1px solid var(--border-color-primary, #e2e8f0) !important; |
| padding-bottom: 12px !important; |
| } |
| .panel-tag { |
| font-family: monospace !important; |
| font-size: 10px !important; |
| font-weight: 700 !important; |
| color: var(--primary-500, #0284c7) !important; |
| letter-spacing: 0.08em !important; |
| background: rgba(2, 132, 199, 0.1) !important; |
| padding: 2px 8px !important; |
| border-radius: 4px !important; |
| } |
| .result-model-title { |
| font-size: 17px !important; |
| font-weight: 800 !important; |
| color: var(--body-text-color, #0f172a) !important; |
| margin: 6px 0 2px 0 !important; |
| } |
| .result-meta-sub { |
| font-size: 12px !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| } |
| |
| .score-badge-box { |
| text-align: right !important; |
| display: flex !important; |
| flex-direction: column !important; |
| align-items: flex-end !important; |
| gap: 2px !important; |
| } |
| .score-label { |
| font-family: monospace !important; |
| font-size: 9.5px !important; |
| font-weight: 700 !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| } |
| .score-number { |
| font-size: 28px !important; |
| font-weight: 800 !important; |
| color: var(--body-text-color, #0f172a) !important; |
| line-height: 1 !important; |
| } |
| .risk-badge { |
| display: inline-block !important; |
| padding: 3px 10px !important; |
| border-radius: 99px !important; |
| font-family: monospace !important; |
| font-size: 10px !important; |
| font-weight: 700 !important; |
| text-transform: uppercase !important; |
| } |
| .risk-low { background: #ecfdf5 !important; color: #059669 !important; border: 1px solid #a7f3d0 !important; } |
| .risk-moderate { background: #fffbeb !important; color: #d97706 !important; border: 1px solid #fde68a !important; } |
| .risk-high { background: #fff1f2 !important; color: #e11d48 !important; border: 1px solid #fecdd3 !important; } |
| |
| /* 3-Layer Grid */ |
| .layer-grid { |
| display: grid !important; |
| grid-template-columns: repeat(3, 1fr) !important; |
| gap: 12px !important; |
| } |
| @media (max-width: 860px) { |
| .layer-grid { grid-template-columns: 1fr !important; } |
| } |
| .layer-card { |
| background: var(--background-fill-primary, #ffffff) !important; |
| border: 1px solid var(--border-color-primary, #e2e8f0) !important; |
| border-radius: 8px !important; |
| padding: 12px !important; |
| display: flex !important; |
| flex-direction: column !important; |
| gap: 6px !important; |
| } |
| .layer-title { |
| font-size: 11px !important; |
| font-weight: 700 !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| margin-bottom: 2px !important; |
| text-transform: uppercase !important; |
| font-family: monospace !important; |
| } |
| .stat-row { |
| display: flex !important; |
| justify-content: space-between !important; |
| font-size: 12px !important; |
| color: var(--body-text-color, #334155) !important; |
| } |
| .stat-row b { |
| color: var(--body-text-color, #0f172a) !important; |
| font-family: monospace !important; |
| } |
| |
| .result-footer { |
| display: flex !important; |
| justify-content: space-between !important; |
| font-family: monospace !important; |
| font-size: 10.5px !important; |
| color: var(--body-text-color-subdued, #64748b) !important; |
| border-top: 1px solid var(--border-color-primary, #e2e8f0) !important; |
| padding-top: 10px !important; |
| } |
| """ |