/* ============================================================
   cve-datenbank — seitenspezifische Stile

   Aus page-cve-datenbank.php herausgeloest (Befund ARC-01).
   Wird in functions.php nur auf dieser Seite geladen.

   Farbwerte sind bewusst unveraendert uebernommen. Zur
   Token-Migration siehe den Hinweis in pages/dashboard.css:
   sie ist nicht mechanisch moeglich, solange zwei Token-Saetze
   uebereinanderliegen.
   ============================================================ */

/* ===== CVE Datenbank Page (scoped) ===== */
.cve-page { max-width:1320px; margin:0 auto; padding:var(--ht-space-6) var(--ht-space-6) var(--ht-space-10); box-sizing:border-box; }
.cve-page *, .cve-page *::before, .cve-page *::after { box-sizing:border-box; }
.cve-page .card { background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%); border:1px solid rgba(45,108,246,.14); border-radius:12px; padding:var(--ht-pad-card); box-shadow:0 18px 45px rgba(0,0,0,.24); }
.cve-link { color:var(--ht-primary-text); font-weight:var(--ht-font-weight-semibold); text-decoration:none; font-size:var(--ht-type-body-sm); display:inline-flex; align-items:center; gap:var(--ht-space-1); }
.cve-link:hover { text-decoration:underline; }
.cve-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--ht-space-6); margin-bottom:var(--ht-space-45); flex-wrap:wrap; }
.cve-title-row { display:flex; align-items:center; gap:var(--ht-space-25); }
.cve-icon { width:34px; height:34px; border-radius:10px; background:rgba(45,108,246,.1); color:var(--ht-primary-text); display:flex; align-items:center; justify-content:center; font-size:var(--ht-icon-lg); }
.cve-title-row h1 { font-size:clamp(2rem, 1.6rem + 1.1vw, 2.75rem); line-height:var(--ht-leading-heading); margin:0; color:#0F1B2D; font-weight:var(--ht-font-weight-heavy); letter-spacing:-.02em; }
.cve-hero p { margin:var(--ht-space-2) 0 0; color:#566276; font-size:var(--ht-type-body); line-height:var(--ht-leading-relaxed); }
.live-badge { display:inline-flex; align-items:center; gap:var(--ht-space-15); width:fit-content; padding:var(--ht-space-1) var(--ht-space-2); border-radius:999px; background:rgba(45,108,246,.12); border:1px solid rgba(45,108,246,.28); color:var(--ht-primary-text); font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); }
.live-badge .pp { width:6px; height:6px; border-radius:50%; background:var(--ht-primary); box-shadow:0 0 8px var(--ht-primary); }
.cve-hero-actions { display:flex; align-items:center; gap:var(--ht-space-35); flex-wrap:wrap; flex-shrink:0; }
.update-status { font-size:var(--ht-type-caption); color:var(--ht-text-muted); display:inline-flex; align-items:center; gap:var(--ht-space-15); }
.cve-refresh { height:38px; padding:0 var(--ht-space-4); border-radius:8px; background:rgba(16,30,54,.04); border:1px solid rgba(16,30,54,.12); color:#0F1B2D; font-weight:var(--ht-font-weight-semibold); font-size:var(--ht-type-body-sm); cursor:pointer; display:inline-flex; align-items:center; gap:var(--ht-space-15); text-decoration:none; }
.cve-kpi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--ht-gap-grid); margin-bottom:var(--ht-space-45); }
.cve-kpi-card { min-height:112px; display:grid; grid-template-columns:auto 1fr; gap:var(--ht-space-35); align-items:center; }
.cve-kpi-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:rgba(45,108,246,.10); color:var(--ht-primary-text); font-size:var(--ht-icon-xl); flex:0 0 auto; }
.cve-kpi-card .label { color:#566276; font-size:var(--ht-type-body-sm); }
.cve-kpi-card .value { color:#0F1B2D; font-size:var(--ht-type-metric); font-weight:var(--ht-font-weight-heavy); line-height:var(--ht-leading-heading); margin-top:var(--ht-space-05); }
.cve-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:var(--ht-space-45); align-items:start; margin-bottom:var(--ht-space-45); }
.cve-main { min-width:0; display:flex; flex-direction:column; gap:var(--ht-space-45); }
.cve-sidebar { display:flex; flex-direction:column; gap:var(--ht-space-35); }
.cve-filter-card h2 { margin:0 0 var(--ht-space-4); font-size:var(--ht-type-title); color:#0F1B2D; }
.cve-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ht-space-35); }
.cve-filter-field { display:flex; flex-direction:column; gap:var(--ht-space-15); min-width:0; }
.cve-filter-field label { color:#0F1B2D; font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); }
.cve-filter-field input, .cve-filter-field select { height:38px; background:#F4F7FB; border:1px solid rgba(16,30,54,.10); border-radius:8px; color:#0F1B2D; padding:0 var(--ht-space-3); font-size:var(--ht-type-body-sm); width:100%; min-width:0; }
.cve-filter-field input::placeholder { color:var(--ht-text-muted); }
.cve-filter-wide { grid-column:span 2; }
.cve-filter-actions { display:flex; justify-content:space-between; align-items:center; gap:var(--ht-space-35); margin-top:var(--ht-space-4); flex-wrap:wrap; }
.cve-quick-filters { display:flex; flex-wrap:wrap; gap:var(--ht-space-2); }
.cve-chip { height:30px; padding:0 var(--ht-space-3); border-radius:7px; border:1px solid rgba(16,30,54,.08); background:#FFFFFF; color:#566276; font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-semibold); cursor:pointer; display:inline-flex; align-items:center; text-decoration:none; }
.cve-chip:hover { border-color:rgba(45,108,246,.35); color:var(--ht-primary-text); }
.cve-actions-right { display:flex; gap:var(--ht-space-25); align-items:center; }
.cve-reset { height:38px; padding:0 var(--ht-space-35); border-radius:8px; background:transparent; border:1px solid rgba(16,30,54,.12); color:#566276; font-size:var(--ht-type-body-sm); cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; }
.cve-search-button { height:38px; min-width:110px; border-radius:8px; border:0; background:var(--ht-primary); color:#FFFFFF; font-weight:var(--ht-font-weight-heavy); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:var(--ht-space-15); }
.cve-results-card { padding:0; overflow:hidden; }
.cve-results-header { display:flex; justify-content:space-between; align-items:center; padding:var(--ht-space-4); border-bottom:1px solid rgba(16,30,54,.06); gap:var(--ht-space-35); flex-wrap:wrap; }
.cve-results-meta strong { color:#0F1B2D; font-size:var(--ht-type-body); }
.cve-results-meta span { display:block; color:#566276; font-size:var(--ht-type-caption); margin-top:var(--ht-space-05); }
.cve-results-actions { display:flex; gap:var(--ht-space-25); align-items:center; }
.cve-table-wrap { width:100%; overflow-x:auto; }
.cve-table { width:100%; border-collapse:collapse; min-width:920px; }
.cve-table th { color:var(--ht-text-muted); font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); text-align:left; padding:var(--ht-space-25) var(--ht-space-25); border-bottom:1px solid rgba(16,30,54,.07); white-space:nowrap; }
.cve-table td { color:#0F1B2D; font-size:var(--ht-type-caption); padding:var(--ht-space-3) var(--ht-space-25); border-bottom:1px solid rgba(16,30,54,.045); vertical-align:top; }
.cve-table tr:hover td { background:rgba(45,108,246,.04); }
.cve-id-link { color:var(--ht-primary-text); font-weight:var(--ht-font-weight-heavy); text-decoration:none; white-space:nowrap; }
.cve-id-link:hover { text-decoration:underline; }
.cve-description { max-width:300px; line-height:var(--ht-leading-snug); color:#0F1B2D; }
.cve-vendor { color:#0F1B2D; }
.cvss { font-weight:var(--ht-font-weight-heavy); font-family:'JetBrains Mono',monospace; }
.epss { font-family:'JetBrains Mono',monospace; color:var(--ht-text-muted); }
.badge { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:var(--ht-space-05) var(--ht-space-2); border-radius:6px; font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); text-transform:uppercase; white-space:nowrap; }
.badge-critical { color:#FF3B3B; background:rgba(255,59,59,.10); border:1px solid rgba(255,59,59,.35); }
.badge-high { color:#FF8A00; background:rgba(255,138,0,.10); border:1px solid rgba(255,138,0,.35); }
.badge-medium { color:#E0A104; background:rgba(255,212,59,.10); border:1px solid rgba(255,212,59,.35); }
.badge-low { color:var(--ht-primary-text); background:rgba(45,108,246,.10); border:1px solid rgba(45,108,246,.35); }
.badge-yes { color:var(--ht-primary-text); background:rgba(45,108,246,.12); }
.badge-no { color:#FF3B3B; background:rgba(255,59,59,.12); }
.cve-pagination { padding:var(--ht-space-35) var(--ht-space-4); }
.cve-pagination .page-numbers { color:#566276; text-decoration:none; padding:var(--ht-space-1) var(--ht-space-25); border-radius:6px; border:1px solid rgba(16,30,54,.08); font-size:var(--ht-type-body-sm); margin-right:var(--ht-space-1); display:inline-block; }
.cve-pagination .page-numbers.current { background:var(--ht-primary); color:#FFFFFF; border-color:var(--ht-primary); font-weight:var(--ht-font-weight-heavy); }
.cve-sidebar-card { background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%); border:1px solid rgba(45,108,246,.14); border-radius:12px; padding:var(--ht-pad-card); }
.cve-sidebar-card .sc-head { display:flex; align-items:center; justify-content:space-between; gap:var(--ht-space-25); margin-bottom:var(--ht-space-35); }
.cve-sidebar-card h3 { font-size:var(--ht-type-title); margin:0; color:#0F1B2D; display:flex; align-items:center; gap:var(--ht-space-15); }
.sidebar-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--ht-space-25); align-items:center; padding:var(--ht-space-2) 0; border-bottom:1px solid rgba(16,30,54,.055); text-decoration:none; }
.sidebar-row:last-of-type { border-bottom:none; }
.sidebar-row-title { color:var(--ht-primary-text); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); }
.sidebar-row-text { color:#566276; font-size:var(--ht-type-meta); margin-top:var(--ht-space-05); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.score-badge { font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); padding:var(--ht-space-05) var(--ht-space-2); border-radius:6px; font-family:'JetBrains Mono',monospace; }
.vendor-bar-row { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:var(--ht-space-25); align-items:center; min-height:26px; font-size:var(--ht-type-caption); }
.vendor-bar-row .vn { color:#566276; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vendor-bar { height:5px; border-radius:999px; background:rgba(16,30,54,.08); overflow:hidden; }
.vendor-bar span { display:block; height:100%; background:var(--ht-primary); }
.vendor-bar-row .vc { color:#0F1B2D; font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-caption); }
.cve-source-card { display:flex; gap:var(--ht-space-35); align-items:flex-start; }
.cve-source-card .src-ic { width:44px; height:44px; border-radius:12px; background:rgba(45,108,246,.1); color:var(--ht-primary-text); display:flex; align-items:center; justify-content:center; font-size:var(--ht-icon-xl); flex:0 0 auto; }
.cve-source-card p { margin:0; color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); }
.cve-alert-cta { margin-top:var(--ht-space-45); display:grid; grid-template-columns:auto 1fr auto; gap:var(--ht-space-6); align-items:center; padding:var(--ht-space-55) var(--ht-space-7); background:linear-gradient(90deg,rgba(45,108,246,.16),rgba(7,19,30,.95)); border:1px solid rgba(45,108,246,.28); border-radius:14px; }
.cve-alert-icon { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; color:var(--ht-primary-text); background:rgba(45,108,246,.12); box-shadow:0 0 40px rgba(45,108,246,.24); font-size:var(--ht-icon-2xl); }
.cve-alert-cta h3 { margin:0 0 var(--ht-space-1); color:#0F1B2D; font-size:var(--ht-type-section); }
.cve-alert-cta p { margin:0; color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); max-width:640px; }
.cve-alert-btn { background:var(--ht-primary); color:#FFFFFF; font-weight:var(--ht-font-weight-bold); border:none; border-radius:9px; height:46px; padding:0 var(--ht-space-55); cursor:pointer; white-space:nowrap; text-decoration:none; display:inline-flex; align-items:center; }
@media (max-width:1180px){ .cve-content-grid { grid-template-columns:1fr; } .cve-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .cve-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){ .cve-hero { flex-direction:column; } .cve-filter-grid, .cve-sidebar { grid-template-columns:1fr; } .cve-filter-wide { grid-column:auto; } .cve-results-header { flex-direction:column; align-items:flex-start; gap:var(--ht-space-3); } .cve-alert-cta { grid-template-columns:1fr; text-align:center; justify-items:center; } }
