/* ============================================================
   patches — seitenspezifische Stile

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

  #pg-pt .pp { max-width:1320px; margin:0 auto; padding:var(--ht-space-6) var(--ht-space-6) var(--ht-space-10); box-sizing:border-box; }
  #pg-pt .pp *, #pg-pt .pp *::before, #pg-pt .pp *::after { box-sizing:border-box; }
  #pg-pt .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); }
  #pg-pt .pt-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); }
  #pg-pt .pt-link:hover { text-decoration:underline; }

  #pg-pt .pt-top { display:grid; grid-template-columns:minmax(300px,1fr) 1.5fr; gap:var(--ht-space-6); align-items:start; margin-bottom:var(--ht-space-45); }
  #pg-pt .pt-eyebrow { color:var(--ht-primary-text); font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); letter-spacing:.1em; text-transform:uppercase; margin-bottom:var(--ht-space-25); }
  #pg-pt .pt-top h1 { margin:0 0 var(--ht-space-3); color:#0F1B2D; font-size:clamp(2rem, 1.6rem + 1.1vw, 2.75rem); line-height:var(--ht-leading-heading); font-weight:var(--ht-font-weight-heavy); letter-spacing:-.03em; }
  #pg-pt .pt-top h1 span { color:var(--ht-primary-text); }
  #pg-pt .pt-top p { margin:0 0 var(--ht-space-4); color:#566276; font-size:var(--ht-type-body); line-height:var(--ht-leading-relaxed); max-width:420px; }
  #pg-pt .pt-btns { display:flex; gap:var(--ht-space-3); flex-wrap:wrap; margin-bottom:var(--ht-space-35); }
  #pg-pt .pt-btn { height:42px; padding:0 var(--ht-space-45); border-radius:8px; font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-body-sm); display:inline-flex; align-items:center; gap:var(--ht-space-2); text-decoration:none; cursor:pointer; border:0; }
  #pg-pt .pt-btn.primary { background:var(--ht-primary); color:#FFFFFF; }
  #pg-pt .pt-btn.ghost { background:transparent; border:1px solid rgba(127,168,255,.35); color:#7FA8FF; }
  #pg-pt .pt-btn.ghost:hover { border-color:#7FA8FF; background:rgba(45,108,246,.10); }
  #pg-pt .pt-meta { display:flex; flex-wrap:wrap; gap:var(--ht-space-4); color:var(--ht-text-muted); font-size:var(--ht-type-caption); }
  #pg-pt .pt-meta span { display:inline-flex; align-items:center; gap:var(--ht-space-1); }

  #pg-pt .pt-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ht-space-35); }
  #pg-pt .pt-kpi .kh { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--ht-space-2); }
  #pg-pt .pt-kpi .ic { width:32px; height:32px; border-radius:8px; display:grid; place-items:center; background:rgba(45,108,246,.10); color:var(--ht-primary-text); font-size:var(--ht-icon-md); }
  #pg-pt .pt-kpi .ic.red { background:rgba(255,59,59,.10); color:#FF3B3B; }
  #pg-pt .pt-kpi .lbl { color:#566276; font-size:var(--ht-type-caption); line-height:var(--ht-leading-snug); }
  #pg-pt .pt-kpi .v { color:#0F1B2D; font-size:var(--ht-type-metric); font-weight:var(--ht-font-weight-heavy); line-height:var(--ht-leading-tight); margin:var(--ht-space-2) 0 var(--ht-space-1); }
  #pg-pt .pt-kpi .d { font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); } #pg-pt .up{color:var(--ht-primary-text)} #pg-pt .down{color:#FF3B3B}
  #pg-pt .pt-kpi .sub { color:var(--ht-text-muted); font-size:var(--ht-type-meta); margin-top:var(--ht-space-1); }

  #pg-pt .vh { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--ht-space-3); }
  #pg-pt .vh h2 { margin:0; color:#0F1B2D; font-size:var(--ht-type-title); }
  #pg-pt .vendor-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:var(--ht-space-25); }
  #pg-pt .vendor-card { display:flex; flex-direction:column; gap:var(--ht-space-1); padding:var(--ht-pad-card); appearance:none; font:inherit; text-align:left; cursor:pointer; transition:border-color .2s, box-shadow .2s; text-decoration:none; color:inherit; }
  #pg-pt .vendor-card:hover { border-color:rgba(45,108,246,.45) !important; }
  #pg-pt .vendor-card.is-active { border-color:var(--ht-primary) !important; box-shadow:0 0 0 1px rgba(45,108,246,.45), 0 0 22px rgba(45,108,246,.18) !important; }
  #pg-pt .vendor-card .vtop { display:flex; align-items:center; gap:var(--ht-space-2); min-width:0; }
  #pg-pt .vendor-card .vi { width:28px; height:28px; border-radius:7px; background:rgba(45,108,246,.10); color:var(--ht-primary-text); display:grid; place-items:center; font-size:var(--ht-icon-sm); flex:0 0 auto; }
  #pg-pt .vendor-card .vi img { width:16px; height:16px; display:block; }
  #pg-pt .vendor-card h3 { margin:0; color:#0F1B2D; font-size:var(--ht-type-body-sm); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #pg-pt .vendor-card .vp { color:#566276; font-size:var(--ht-type-meta); } #pg-pt .vendor-card .vp b{color:#0F1B2D}
  #pg-pt .vendor-card .vc { color:#FF3B3B; font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-bold); }

  #pg-pt .pt-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:var(--ht-gap-grid); align-items:start; }
  #pg-pt .pt-main { min-width:0; }
  #pg-pt .pt-head { display:flex; align-items:center; justify-content:space-between; gap:var(--ht-space-25); margin-bottom:var(--ht-space-35); flex-wrap:wrap; }
  #pg-pt .pt-head h2 { margin:0; color:#0F1B2D; font-size:var(--ht-type-title); }
  #pg-pt .adv-filter { display:flex; gap:var(--ht-space-25); margin-bottom:var(--ht-space-35); flex-wrap:wrap; }
  #pg-pt .adv-filter input, #pg-pt .adv-filter 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); }
  #pg-pt .adv-filter input { flex:1; min-width:160px; }
  #pg-pt .adv-table { width:100%; border-collapse:collapse; }
  #pg-pt .adv-table th { color:#566276; font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); text-align:left; padding:var(--ht-space-25) var(--ht-space-3); border-bottom:1px solid rgba(16,30,54,.06); text-transform:uppercase; white-space:nowrap; }
  #pg-pt .adv-table td { color:#0F1B2D; font-size:var(--ht-type-body-sm); padding:var(--ht-space-25) var(--ht-space-3); border-bottom:1px solid rgba(16,30,54,.045); vertical-align:middle; white-space:nowrap; }
  #pg-pt .adv-table tr:hover td { background:rgba(45,108,246,.04); }
  #pg-pt .adv-prod { display:flex; align-items:center; gap:var(--ht-space-2); font-weight:var(--ht-font-weight-bold); }
  #pg-pt .adv-prod i { color:var(--ht-primary-text); font-size:var(--ht-icon-md); }
  #pg-pt .pid { font-family:'JetBrains Mono',monospace; color:#566276; font-size:var(--ht-type-caption); }
  #pg-pt .sev { font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-heavy); border-radius:6px; padding:var(--ht-space-05) var(--ht-space-2); }
  #pg-pt .sev.crit { background:rgba(255,59,59,.13); border:1px solid rgba(255,59,59,.35); color:#FF6B6B; }
  #pg-pt .sev.high { background:rgba(255,138,0,.13); border:1px solid rgba(255,138,0,.35); color:#FFA640; }
  #pg-pt .sev.med { background:rgba(255,212,59,.13); border:1px solid rgba(255,212,59,.35); color:#E0A104; }
  #pg-pt .sev.low { background:rgba(46,168,255,.13); border:1px solid rgba(46,168,255,.35); color:#6FC2FF; }
  #pg-pt .st-av { color:var(--ht-primary-text); font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-body-sm); }
  #pg-pt .act-btn { color:var(--ht-primary-text); font-weight:var(--ht-font-weight-bold); font-size:var(--ht-type-caption); text-decoration:none; }
  #pg-pt .act-btn:hover { text-decoration:underline; }

  #pg-pt .side { display:flex; flex-direction:column; gap:var(--ht-space-45); }
  #pg-pt .ring-row { display:flex; align-items:center; gap:var(--ht-space-4); }
  #pg-pt .ring { width:120px; height:120px; position:relative; flex:0 0 auto; }
  #pg-pt .ring .ctr { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  #pg-pt .ring .ctr b { color:#0F1B2D; font-size:var(--ht-type-metric); font-weight:var(--ht-font-weight-heavy); } #pg-pt .ring .ctr small{color:var(--ht-text-muted);font-size:var(--ht-type-meta)}
  #pg-pt .ring-leg { display:flex; flex-direction:column; gap:var(--ht-space-15); font-size:var(--ht-type-caption); color:#566276; flex:1; }
  #pg-pt .ring-leg span { display:flex; align-items:center; gap:var(--ht-space-15); } #pg-pt .ring-leg i{width:8px;height:8px;border-radius:2px} #pg-pt .ring-leg b{margin-left:auto;color:#0F1B2D}
  #pg-pt .up-row { display:grid; grid-template-columns:auto 1fr auto; gap:var(--ht-space-25); align-items:center; padding:var(--ht-space-2) 0; border-bottom:1px solid rgba(16,30,54,.05); }
  #pg-pt .up-row:last-child { border-bottom:none; }
  #pg-pt .up-row .ic { width:30px; height:30px; border-radius:7px; background:rgba(255,59,59,.1); color:#FF3B3B; display:grid; place-items:center; font-size:var(--ht-icon-sm); }
  #pg-pt .up-row .t { color:#0F1B2D; font-size:var(--ht-type-body-sm); font-weight:var(--ht-font-weight-semibold); line-height:var(--ht-leading-snug); } #pg-pt .up-row .s{color:var(--ht-text-muted);font-size:var(--ht-type-meta)}
  #pg-pt .tp-row { display:grid; grid-template-columns:auto 1fr auto; gap:var(--ht-space-25); align-items:center; padding:var(--ht-space-15) 0; font-size:var(--ht-type-body-sm); }
  #pg-pt .tp-row .rk { color:var(--ht-text-muted); font-weight:var(--ht-font-weight-bold); width:14px; } #pg-pt .tp-row .nm{color:#566276} #pg-pt .tp-row .ct{color:#0F1B2D;font-weight:var(--ht-font-weight-bold)}
  #pg-pt .tp-bar { height:5px; border-radius:999px; background:rgba(16,30,54,.07); overflow:hidden; } #pg-pt .tp-bar span{display:block;height:100%}
  #pg-pt .rem-row { display:flex; align-items:center; justify-content:space-between; padding:var(--ht-space-2) 0; border-bottom:1px solid rgba(16,30,54,.05); font-size:var(--ht-type-body-sm); color:#566276; }
  #pg-pt .rem-row:last-child { border-bottom:none; } #pg-pt .rem-row b{color:#0F1B2D}

  #pg-pt .pt-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; }
  #pg-pt .pt-cta .ci { width:54px; height:54px; border-radius:50%; background:rgba(45,108,246,.15); border:1px solid rgba(45,108,246,.35); display:grid; place-items:center; color:var(--ht-primary-text); font-size:var(--ht-icon-xl); }
  #pg-pt .pt-cta h3 { margin:0 0 var(--ht-space-1); color:#0F1B2D; font-size:var(--ht-type-title); } #pg-pt .pt-cta p{margin:0;color:#566276;font-size:var(--ht-type-body-sm)}
  #pg-pt .pt-cta .cb { display:flex; gap:var(--ht-space-25); }

  @media(max-width:1400px){ #pg-pt .vendor-grid{grid-template-columns:repeat(6,1fr)} }
  @media(max-width:1100px){ #pg-pt .pt-top{grid-template-columns:1fr} #pg-pt .vendor-grid{grid-template-columns:repeat(4,1fr)} #pg-pt .pt-grid{grid-template-columns:1fr} }
  @media(max-width:560px){ #pg-pt .pt-kpis{grid-template-columns:1fr} #pg-pt .vendor-grid{grid-template-columns:repeat(2,1fr)} #pg-pt .pt-cta{grid-template-columns:1fr;text-align:center;justify-items:center}  }
