:root{--cg-primary: #2563eb;--cg-primary-hover: #1d4ed8;--cg-primary-soft: #eff6ff;--cg-secondary: #3b82f6;--cg-background: #f8fafc;--cg-surface: #ffffff;--cg-foreground: #0f172a;--cg-muted: #f1f5f9;--cg-border: #e2e8f0;--cg-border-strong: #cbd5e1;--cg-destructive: #dc2626;--cg-success: #15803d;--cg-warning: #b45309;--cg-sev-high: #dc2626;--cg-sev-high-soft: #fef2f2;--cg-sev-medium: #d97706;--cg-sev-medium-soft: #fffbeb;--cg-sev-low: #2563eb;--cg-sev-low-soft: #eff6ff;--cg-sev-ok: #15803d;--cg-sev-ok-soft: #f0fdf4;--cg-score-muted: #94a3b8;--cg-grade-muted: #475569;--cg-grade-ok: #166534;--cg-grade-low: #1d4ed8;--cg-grade-medium: #92400e;--cg-grade-high: #991b1b;--cg-ease: cubic-bezier(.2, 0, 0, 1);--cg-duration-fast: .15s;--cg-duration-base: .25s;--cg-shadow-sm: 0 1px 2px rgb(15 23 42 / .06);--cg-shadow-md: 0 4px 12px -2px rgb(15 23 42 / .1);--cg-radius: 10px;--cg-radius-lg: 14px}body{background:var(--cg-background);color:var(--cg-foreground)}s-page{--s-page-background: var(--cg-background)}@media(prefers-color-scheme:dark){:root{--cg-primary: #60a5fa;--cg-primary-hover: #93c5fd;--cg-primary-soft: #172554;--cg-secondary: #3b82f6;--cg-background: #0b1220;--cg-surface: #1e293b;--cg-foreground: #f1f5f9;--cg-muted: #334155;--cg-border: #334155;--cg-border-strong: #475569;--cg-destructive: #f87171;--cg-success: #4ade80;--cg-warning: #fbbf24;--cg-sev-high: #f87171;--cg-sev-high-soft: #450a0a;--cg-sev-medium: #fbbf24;--cg-sev-medium-soft: #451a03;--cg-sev-low: #60a5fa;--cg-sev-low-soft: #172554;--cg-sev-ok: #4ade80;--cg-sev-ok-soft: #052e16;--cg-score-muted: #64748b;--cg-grade-muted: #cbd5e1;--cg-grade-ok: #86efac;--cg-grade-low: #93c5fd;--cg-grade-medium: #fcd34d;--cg-grade-high: #fca5a5;--cg-shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--cg-shadow-md: 0 4px 12px -2px rgb(0 0 0 / .5);color-scheme:dark}body{color-scheme:dark}.cg-kpi__hint,.cg-action-card__desc,.cg-muted-text,.cg-finding-group__chevron{color:#94a3b8}.cg-kpi__label{color:#93c5fd}.cg-kpi:hover .cg-kpi__label{color:var(--cg-primary-hover)}.cg-badge--neutral{background:#334155;color:#cbd5e1}.cg-badge--warning{color:var(--cg-sev-medium)}.cg-issue-row:hover{background:#243247}.cg-finding-group__header{background:#334155}.cg-finding-group__header:hover{background:#3b4a63}.cg-finding-group__header--static:hover{background:#334155}.cg-bulk-bar{background:#f1f5f9;color:#0f172a}.cg-dropzone:hover{background:#172554}.cg-action-card--subdued{background:var(--cg-muted)}.cg-wizard-steps{color:#94a3b8}}.cg-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.cg-kpi{display:block;text-decoration:none;background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);padding:16px 18px;box-shadow:var(--cg-shadow-sm);transition:transform var(--cg-duration-fast) var(--cg-ease),box-shadow var(--cg-duration-fast) var(--cg-ease),border-color var(--cg-duration-fast) var(--cg-ease)}.cg-kpi:hover{transform:translateY(-2px);box-shadow:var(--cg-shadow-md);border-color:var(--cg-border-strong)}.cg-kpi--static:hover{transform:none;box-shadow:var(--cg-shadow-sm);border-color:var(--cg-border)}.cg-kpi--static:hover .cg-kpi__label{color:var(--cg-primary)}.cg-kpi:hover .cg-kpi__label{color:var(--cg-primary-hover)}.cg-kpi:focus-visible{outline:2px solid var(--cg-primary);outline-offset:2px}.cg-kpi__value,.cg-kpi__label,.cg-kpi__hint{color:inherit}.cg-kpi__value{font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--cg-foreground);margin:0 0 4px}.cg-kpi__label{font-size:13px;font-weight:500;color:var(--cg-primary);margin:0 0 2px}.cg-kpi__hint{font-size:12px;color:#64748b;margin:0}.cg-kpi--danger{border-top:3px solid var(--cg-sev-high)}.cg-kpi--warning{border-top:3px solid var(--cg-sev-medium)}.cg-kpi--success{border-top:3px solid var(--cg-sev-ok)}.cg-kpi--neutral{border-top:3px solid var(--cg-secondary)}.cg-score{display:flex;align-items:center;gap:18px}.cg-score__ring{flex-shrink:0}.cg-score__ring circle{fill:none;stroke-width:10}.cg-score__ring .cg-score__track{stroke:var(--cg-muted)}.cg-score__ring .cg-score__fill{stroke-linecap:round;transition:stroke-dashoffset .6s var(--cg-ease)}.cg-score__meta{display:grid;gap:4px}.cg-score__number{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1}.cg-score__grade{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:999px;width:fit-content}.cg-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1;padding:4px 10px;border-radius:999px;white-space:nowrap}.cg-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cg-badge--danger{background:var(--cg-sev-high-soft);color:var(--cg-sev-high)}.cg-badge--warning{background:var(--cg-sev-medium-soft);color:#b45309}.cg-badge--info{background:var(--cg-sev-low-soft);color:var(--cg-sev-low)}.cg-badge--success{background:var(--cg-sev-ok-soft);color:var(--cg-sev-ok)}.cg-badge--neutral{background:var(--cg-muted);color:#475569}.cg-action-card{background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);padding:18px;box-shadow:var(--cg-shadow-sm);transition:transform var(--cg-duration-fast) var(--cg-ease),box-shadow var(--cg-duration-fast) var(--cg-ease),border-color var(--cg-duration-fast) var(--cg-ease)}.cg-action-card:hover{transform:translateY(-2px);box-shadow:var(--cg-shadow-md);border-color:var(--cg-border-strong)}.cg-action-card:focus-visible,.cg-wizard-steps__link:focus-visible{outline:2px solid var(--cg-primary);outline-offset:2px}.cg-action-card__title{font-size:15px;font-weight:600;margin:0 0 4px}.cg-action-card__desc{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.5}.cg-action-card--ignored{opacity:.62}.cg-action-card--subdued{background:var(--cg-muted);border-style:dashed}.cg-issue-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:14px 16px;background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);transition:border-color var(--cg-duration-fast) var(--cg-ease),background var(--cg-duration-fast) var(--cg-ease)}.cg-issue-row:hover{border-color:var(--cg-border-strong);background:#fcfdff}.cg-issue-row--ignored{opacity:.62}.cg-identifier-candidate{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}.cg-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.cg-dropzone{border:2px dashed var(--cg-border-strong);border-radius:var(--cg-radius);padding:22px;text-align:center;transition:border-color var(--cg-duration-fast) var(--cg-ease),background var(--cg-duration-fast) var(--cg-ease)}.cg-dropzone:hover{border-color:var(--cg-primary);background:var(--cg-primary-soft)}.cg-form-field{max-width:24rem;margin:.8rem 0}.cg-form-row{margin:.6rem 0}.cg-section-card{background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius-lg);padding:20px 22px;box-shadow:var(--cg-shadow-sm)}.cg-muted-text{color:#64748b;font-size:13px}.cg-divider{height:1px;background:var(--cg-border);border:none;margin:18px 0}.cg-finding-group{border:1px solid var(--cg-border);border-radius:var(--cg-radius);background:var(--cg-surface);overflow:hidden}.cg-finding-group__header{box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--cg-muted);border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--cg-foreground);text-align:left;transition:background var(--cg-duration-fast) var(--cg-ease)}.cg-finding-group__header--static{cursor:default}.cg-finding-group__header:hover{background:#e8eef7}.cg-finding-group__header--static:hover{background:var(--cg-muted)}.cg-finding-group__header:focus-visible{outline:2px solid var(--cg-primary);outline-offset:-2px}.cg-finding-group__chevron{margin-left:auto;color:#64748b;transition:transform var(--cg-duration-base) var(--cg-ease)}.cg-finding-group__chevron--open{transform:rotate(180deg)}.cg-finding-group__body{display:grid;gap:10px;padding:12px}.cg-finding-group__body[hidden]{display:none}.cg-bulk-bar{position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;margin-top:16px;background:var(--cg-foreground);color:#fff;border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-md);animation:cg-bulk-bar-in var(--cg-duration-base) var(--cg-ease)}@keyframes cg-bulk-bar-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cg-bulk-bar__count{font-weight:600}@media(max-width:640px){.cg-issue-row{grid-template-columns:28px 1fr}.cg-issue-row>s-button{grid-column:1 / -1;justify-self:start}.cg-bulk-bar{flex-wrap:wrap;bottom:8px}}@media(prefers-reduced-motion:reduce){.cg-bulk-bar{animation:none}.cg-finding-group__chevron{transition:none}}@media(prefers-reduced-motion:reduce){.cg-kpi,.cg-action-card,.cg-issue-row,.cg-score__fill{transition:none;transform:none}}.cg-wizard-steps{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:500;color:#64748b}.cg-wizard-steps li{display:inline-flex;align-items:center;gap:8px}.cg-wizard-steps__item--active{color:var(--cg-primary);font-weight:600}.cg-wizard-steps__link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
