/* ============================================================
   ransomware-tracker — seitenspezifische Stile

   Aus page-ransomware-tracker.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.
   ============================================================ */

    /* ===== Ransomware Tracker Page (scoped) ===== */
    .ransomware-page { max-width:1320px; margin:0 auto; padding:var(--ht-space-6) var(--ht-space-6) var(--ht-space-10); box-sizing:border-box; }
    .ransomware-page *, .ransomware-page *::before, .ransomware-page *::after { box-sizing:border-box; }
    .ransomware-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); }
    .rw-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); }
    .rw-link:hover { text-decoration:underline; }

    .ransomware-hero { margin-bottom:var(--ht-space-55); }
    .ransomware-hero h1 { margin:0 0 var(--ht-space-25); color:#0F1B2D; font-size:clamp(32px,3.3vw,42px); line-height:var(--ht-leading-tight); font-weight:var(--ht-font-weight-heavy); letter-spacing:-.035em; }
    .ransomware-hero h1 span { color:var(--ht-primary-text); }
    .ransomware-hero p { max-width:560px; margin:0; color:#566276; font-size:var(--ht-type-body-lg); line-height:var(--ht-leading-relaxed); }

    .ransomware-kpi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--ht-gap-grid); margin-bottom:var(--ht-space-5); }
    .ransomware-kpi-card { min-height:118px; display:grid; grid-template-columns:auto 1fr; gap:var(--ht-space-4); align-items:center; }
    .ransomware-kpi-icon { width:54px; height:54px; border-radius:16px; display:grid; place-items:center; background:rgba(45,108,246,.10); color:var(--ht-primary-text); font-size:var(--ht-icon-2xl); flex:0 0 auto; }
    .ransomware-kpi-icon.danger { background:rgba(255,59,59,.10); color:#FF3B3B; }
    .ransomware-kpi-icon.cyan { background:rgba(45,212,191,.10); color:#2DD4BF; }
    .ransomware-kpi-card .value { color:#0F1B2D; font-size:var(--ht-type-metric); font-weight:var(--ht-font-weight-heavy); line-height:var(--ht-leading-heading); }
    .ransomware-kpi-card .value small { font-size:var(--ht-type-body); font-weight:var(--ht-font-weight-bold); color:#566276; }
    .ransomware-kpi-card .label { color:#566276; font-size:var(--ht-type-body-sm); margin-top:var(--ht-space-1); }
    .ransomware-kpi-card .trend { color:var(--ht-primary-text); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); margin-top:var(--ht-space-1); }

    .ransomware-filter-bar { display:grid; grid-template-columns:minmax(220px,1fr) 170px 170px 170px 170px auto; gap:var(--ht-space-35); align-items:center; margin-bottom:var(--ht-space-45); padding:var(--ht-space-4); background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%); border:1px solid rgba(45,108,246,.14); border-radius:12px; }
    .ransomware-filter-bar .rw-search { position:relative; }
    .ransomware-filter-bar .rw-search i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--ht-text-muted); }
    .ransomware-filter-bar input, .ransomware-filter-bar select { height:40px; 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%; }
    .ransomware-filter-bar .rw-search input { padding-left:36px; }
    .ransomware-filter-button { height:40px; min-width:150px; border:0; border-radius:8px; 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); }

    .ransomware-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 410px; gap:var(--ht-space-45); align-items:start; margin-bottom:var(--ht-space-45); }
    .ransomware-main { min-width:0; }
    .ransomware-sidebar { display:flex; flex-direction:column; gap:var(--ht-space-45); }

    .ransomware-table-card { padding:0; overflow:hidden; }
    .ransomware-table-header { display:flex; align-items:center; justify-content:space-between; padding:var(--ht-space-45) var(--ht-space-45) var(--ht-space-25); gap:var(--ht-space-3); flex-wrap:wrap; }
    .ransomware-table-header h2 { margin:0; font-size:var(--ht-type-section); color:#0F1B2D; }
    .ransomware-update { color:var(--ht-primary-text); font-size:var(--ht-type-caption); display:inline-flex; align-items:center; gap:var(--ht-space-15); }
    .ransomware-update .pp { width:6px; height:6px; border-radius:50%; background:var(--ht-primary); box-shadow:0 0 8px var(--ht-primary); }
    .ransomware-table-wrap { width:100%; overflow-x:auto; padding:0 var(--ht-space-45) var(--ht-space-1); }
    .ransomware-table { width:100%; min-width:760px; border-collapse:collapse; }
    .ransomware-table th { color:#566276; background:rgba(16,30,54,.025); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-heavy); text-align:left; padding:var(--ht-space-3) var(--ht-space-35); border-bottom:1px solid rgba(16,30,54,.06); white-space:nowrap; }
    .ransomware-table td { color:#0F1B2D; font-size:var(--ht-type-body-sm); padding:var(--ht-space-3) var(--ht-space-35); border-bottom:1px solid rgba(16,30,54,.045); vertical-align:middle; white-space:nowrap; }
    .ransomware-table tr:hover td { background:rgba(45,108,246,.04); }
    .group-cell { display:flex; align-items:center; gap:var(--ht-space-3); }
    .group-icon { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:#FFFFFF; border:1px solid rgba(16,30,54,.08); font-size:var(--ht-icon-lg); flex:0 0 auto; }
    .group-name { color:#0F1B2D; font-weight:var(--ht-font-weight-heavy); }
    .group-alias { color:var(--ht-text-muted); font-size:var(--ht-type-caption); margin-top:var(--ht-space-05); }
    .victims-num { font-weight:var(--ht-font-weight-heavy); font-family:'JetBrains Mono',monospace; }
    .last-date { color:var(--ht-text-primary); }
    .last-ago { color:var(--ht-text-muted); font-size:var(--ht-type-caption); margin-top:var(--ht-space-05); }
    .status-active { display:inline-flex; align-items:center; gap:var(--ht-space-15); color:var(--ht-primary-text); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-heavy); text-transform:uppercase; }
    .status-active::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--ht-primary); box-shadow:0 0 12px rgba(45,108,246,.55); }
    .row-arrow { color:var(--ht-text-muted); }
    .ransomware-pagination { display:flex; align-items:center; justify-content:space-between; padding:var(--ht-space-35) var(--ht-space-45); gap:var(--ht-space-3); flex-wrap:wrap; }
    .ransomware-pagination .pinfo { color:var(--ht-text-muted); font-size:var(--ht-type-body-sm); }
    .ransomware-pagination .pages { display:flex; gap:var(--ht-space-15); align-items:center; }
    .ransomware-pagination .pages a { color:#566276; text-decoration:none; padding:var(--ht-space-1) var(--ht-space-25); border-radius:7px; border:1px solid rgba(16,30,54,.08); font-size:var(--ht-type-body-sm); }
    .ransomware-pagination .pages a.active { background:var(--ht-primary); color:#FFFFFF; border-color:var(--ht-primary); font-weight:var(--ht-font-weight-heavy); }

    .ransomware-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); }
    .ransomware-sidebar-card .sc-head { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--ht-space-25); }
    .ransomware-sidebar-card h3 { margin:0; color:#0F1B2D; font-size:var(--ht-type-title); display:flex; align-items:center; gap:var(--ht-space-2); }
    .ransomware-sidebar-card .subline { margin-top:var(--ht-space-05); color:var(--ht-text-muted); font-size:var(--ht-type-caption); }
    .sidebar-list { margin-top:var(--ht-space-4); display:flex; flex-direction:column; gap:var(--ht-space-3); }
    .sidebar-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--ht-space-3); align-items:center; }
    .sidebar-row .rank { color:#566276; font-weight:var(--ht-font-weight-heavy); width:16px; }
    .sidebar-row .g-cell { display:flex; align-items:center; gap:var(--ht-space-2); min-width:0; }
    .sidebar-row .g-ic { width:26px; height:26px; border-radius:7px; background:#FFFFFF; border:1px solid rgba(16,30,54,.08); display:grid; place-items:center; font-size:var(--ht-icon-xs); flex:0 0 auto; }
    .sidebar-row .g-nm { color:#0F1B2D; font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-body-sm); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .red-count { min-width:34px; text-align:center; padding:var(--ht-space-1) var(--ht-space-2); border-radius:6px; color:#FF3B3B; background:rgba(255,59,59,.12); font-weight:var(--ht-font-weight-heavy); font-size:var(--ht-type-body-sm); }
    .leak-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:var(--ht-space-3); align-items:center; padding:var(--ht-space-25) 0; border-bottom:1px solid rgba(16,30,54,.05); }
    .leak-row:last-of-type { border-bottom:none; }
    .leak-rank { width:28px; height:28px; border-radius:7px; display:grid; place-items:center; background:rgba(16,30,54,.06); color:#566276; font-weight:var(--ht-font-weight-heavy); font-size:var(--ht-type-body-sm); }
    .leak-title { color:#0F1B2D; font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-body-sm); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .leak-group { color:var(--ht-text-muted); font-size:var(--ht-type-caption); margin-top:var(--ht-space-05); }
    .leak-meta { text-align:right; white-space:nowrap; }
    .leak-time { color:var(--ht-text-muted); font-size:var(--ht-type-meta); }
    .leak-size { color:#FF3B3B; font-weight:var(--ht-font-weight-heavy); font-size:var(--ht-type-body-sm); margin-top:var(--ht-space-05); }

    .ransomware-analysis-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ht-gap-grid); margin-bottom:var(--ht-space-5); }
    .analysis-card { min-height:250px; }
    .analysis-card .ac-head { display:flex; align-items:center; justify-content:space-between; gap:var(--ht-space-25); margin-bottom:var(--ht-space-35); }
    .analysis-card h3 { margin:0; color:#0F1B2D; font-size:var(--ht-type-title); }
    .analysis-card h3 small { color:var(--ht-text-muted); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-normal); }
    .rw-donut { width:130px; height:130px; border-radius:50%; position:relative; flex:0 0 auto; }
    .rw-donut::after { content:''; position:absolute; inset:22px; border-radius:50%; background:#FFFFFF; }
    .rw-legend { display:flex; flex-direction:column; gap:var(--ht-space-2); font-size:var(--ht-type-body-sm); color:#566276; flex:1; }
    .rw-legend span { display:flex; align-items:center; gap:var(--ht-space-2); }
    .rw-legend i { width:9px; height:9px; border-radius:3px; flex:0 0 auto; }
    .rw-legend b { margin-left:auto; color:#0F1B2D; }
    .rw-map { height:130px; border-radius:10px; background:radial-gradient(circle at 50% 50%, rgba(45,108,246,.05), transparent 70%),#F4F7FB; position:relative; overflow:hidden; }
    .rw-map .world { position:absolute; inset:0; background-image:radial-gradient(rgba(45,108,246,.3) 1px, transparent 1.4px); background-size:9px 9px; -webkit-mask:radial-gradient(ellipse 62% 60% at 50% 48%, #000 55%, transparent 100%); mask:radial-gradient(ellipse 62% 60% at 50% 48%, #000 55%, transparent 100%); }
    .country-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--ht-space-2); align-items:center; font-size:var(--ht-type-body-sm); padding:var(--ht-space-1) 0; }
    .country-row .cn { color:#566276; display:flex; align-items:center; gap:var(--ht-space-15); }
    .country-row .cbar { height:5px; border-radius:999px; background:rgba(16,30,54,.07); overflow:hidden; }
    .country-row .cbar span { display:block; height:100%; background:var(--ht-primary); }
    .country-row .cp { color:#0F1B2D; font-weight:var(--ht-font-weight-bold); }

    .ransomware-newsletter-cta { margin-top:var(--ht-space-45); display:grid; grid-template-columns:auto 1fr minmax(360px,480px); 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; }
    .ransomware-newsletter-cta .nc-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); }
    .ransomware-newsletter-cta h3 { margin:0 0 var(--ht-space-1); color:#0F1B2D; font-size:var(--ht-type-section); }
    .ransomware-newsletter-cta p { margin:0; color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); }
    .ransomware-newsletter-cta .nc-form { display:flex; flex-direction:column; gap:var(--ht-space-25); }
    .ransomware-newsletter-cta .nc-input { display:flex; gap:var(--ht-space-25); }
    .ransomware-newsletter-cta input { flex:1; min-width:0; background:#F4F7FB; border:1px solid rgba(16,30,54,.12); border-radius:8px; height:44px; color:#0F1B2D; padding:0 var(--ht-space-35); font-size:var(--ht-type-body-sm); }
    .ransomware-newsletter-cta .nc-btn { background:var(--ht-primary); color:#FFFFFF; font-weight:var(--ht-font-weight-bold); border:none; border-radius:8px; height:44px; padding:0 var(--ht-space-55); cursor:pointer; white-space:nowrap; }
    .ransomware-newsletter-cta .nc-bullets { display:flex; gap:var(--ht-space-45); font-size:var(--ht-type-caption); color:var(--ht-text-muted); flex-wrap:wrap; }
    .ransomware-newsletter-cta .nc-bullets span { display:inline-flex; align-items:center; gap:var(--ht-space-15); }
    .ransomware-newsletter-cta .nc-bullets i { color:var(--ht-primary-text); }

    @media (max-width:1180px){
      .ransomware-content-grid { grid-template-columns:1fr; }
      .ransomware-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
      .ransomware-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .ransomware-filter-button { grid-column:1 / -1; }
      .ransomware-analysis-grid { grid-template-columns:1fr; }
      .ransomware-newsletter-cta { grid-template-columns:1fr; text-align:center; justify-items:center; }
      .ransomware-newsletter-cta .nc-form { width:100%; }
    }
    @media (max-width:760px){
      .ransomware-sidebar, .ransomware-filter-bar { grid-template-columns:1fr; }
      .ransomware-newsletter-cta .nc-input { flex-direction:column; }
      .ransomware-pagination { flex-direction:column; align-items:flex-start; }
    }
