/* HERO ANIMATION */
    #gep-anim-mdm-hero,
    #gep-anim-mdm-hero * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-mdm-hero {
      --gep-ruby: #D42F5A;
      --gep-dark: #1B1B2F;
      --gep-green: #2ECB71;
      --gep-white: #FFFFFF;
      --gep-light-grey: #F5F6F8;
      --gep-text: #333333;
      --gep-muted: #888888;
      --gep-border: #E5E7EB;
      width: 500px;
      height: 360px;
      background: transparent;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      color: var(--gep-text);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #gep-anim-mdm-hero .win {
      width: 440px;
      background: var(--gep-white);
      border: 1px solid var(--gep-border);
      border-radius: 14px;
      overflow: hidden;
    }

    #gep-anim-mdm-hero .bar {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 10px 16px;
      background: var(--gep-white);
      border-bottom: 1px solid var(--gep-border);
    }

    #gep-anim-mdm-hero .dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gep-ruby);
    }

    #gep-anim-mdm-hero .title {
      margin-left: 4px;
      font-size: 13px;
      font-weight: 600;
      color: var(--gep-dark);
    }

    #gep-anim-mdm-hero .body {
      padding: 14px 16px;
    }

    #gep-anim-mdm-hero .card {
      border: 1px solid var(--gep-border);
      border-radius: 10px;
      padding: 10px 14px;
      opacity: 0;
      transform: translateY(6px);
      animation: gep-mdm-hero-cardIn 7s ease-in-out infinite;
    }

    #gep-anim-mdm-hero .card-done {
      animation: gep-mdm-hero-cardDone 7s ease-in-out infinite;
    }

    #gep-anim-mdm-hero .row {
      display: flex;
      justify-content: space-between;
      padding: 4px 0;
      font-size: 12px;
    }

    #gep-anim-mdm-hero .k {
      color: var(--gep-muted); display: inline-block; width: 50%;
    }

    #gep-anim-mdm-hero .v {
      font-weight: 600;
      color: var(--gep-dark); display: inline-block; width: 50%; text-align: right;
    }

    #gep-anim-mdm-hero .vblank {
      color: #E07A5F;
      font-weight: 500;
    }

    #gep-anim-mdm-hero .vfill {
      color: var(--gep-green);
      font-weight: 600;
    }

    #gep-anim-mdm-hero .action-bar {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 8px 0;
      font-size: 11px;
      font-weight: 600;
      color: var(--gep-ruby);
      opacity: 0;
      animation: gep-mdm-hero-agent 7s ease-in-out infinite;
    }

    #gep-anim-mdm-hero .action-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gep-ruby);
      animation: gep-mdm-hero-pulse 1.4s ease-in-out infinite;
    }

    @keyframes gep-mdm-hero-cardIn {
      0%, 3%   { opacity: 0; transform: translateY(6px); }
      8%, 40%  { opacity: 1; transform: translateY(0); }
      48%, 100%{ opacity: 0; transform: translateY(-4px); }
    }

    @keyframes gep-mdm-hero-agent {
      0%, 38%  { opacity: 0; }
      44%, 56% { opacity: 1; }
      62%, 100%{ opacity: 0; }
    }

    @keyframes gep-mdm-hero-cardDone {
      0%, 56%  { opacity: 0; transform: translateY(6px); }
      64%, 88% { opacity: 1; transform: translateY(0); }
      96%, 100%{ opacity: 0; transform: translateY(0); }
    }

    @keyframes gep-mdm-hero-pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50%      { opacity: 0.4; transform: scale(1.4); }
    }

    /* Section Animation */

    #gep-anim-mdm-sec,
    #gep-anim-mdm-sec * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-mdm-sec {
      --gep-ruby: #D42F5A;
      --gep-dark: #1B1B2F;
      --gep-green: #2ECB71;
      --gep-white: #FFFFFF;
      --gep-light-grey: #F5F6F8;
      --gep-text: #333333;
      --gep-muted: #888888;
      --gep-border: #E5E7EB;
      width: 500px;
      height: 360px;
      background: transparent;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      color: var(--gep-text);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #gep-anim-mdm-sec .win {
      width: 440px;
      background: var(--gep-white);
      border: 1px solid var(--gep-border);
      border-radius: 14px;
      overflow: hidden;
    }

    #gep-anim-mdm-sec .bar {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 10px 16px;
      background: var(--gep-white);
      border-bottom: 1px solid var(--gep-border);
    }

    #gep-anim-mdm-sec .dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gep-ruby);
    }

    #gep-anim-mdm-sec .title {
      margin-left: 4px;
      font-size: 13px;
      font-weight: 600;
      color: var(--gep-dark);
    }

    #gep-anim-mdm-sec .badge {
      margin-left: auto;
      font-size: 10px;
      font-weight: 600;
      color: var(--gep-muted);
      border: 1px solid var(--gep-border);
      border-radius: 10px;
      padding: 2px 8px;
    }

    #gep-anim-mdm-sec .body {
      padding: 14px 16px;
    }

    #gep-anim-mdm-sec .rec {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      border: 1px solid var(--gep-border);
      border-radius: 8px;
      margin-bottom: 8px;
      opacity: 0;
      transform: translateY(6px);
    }

    #gep-anim-mdm-sec .rec-1 {
      animation: gep-mdm-sec-row 7s ease-in-out 0.3s infinite;
    }

    #gep-anim-mdm-sec .rec-2 {
      animation: gep-mdm-sec-row 7s ease-in-out 0.7s infinite;
    }

    #gep-anim-mdm-sec .rec-3 {
      animation: gep-mdm-sec-row 7s ease-in-out 1.1s infinite;
    }

    #gep-anim-mdm-sec .rec-icon {
      font-size: 14px;
      color: var(--gep-ruby);
      flex-shrink: 0;
    }

    #gep-anim-mdm-sec .rec-3 .rec-icon {
      color: var(--gep-green);
    }

    #gep-anim-mdm-sec .rec-info {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-width: 0;
    }

    #gep-anim-mdm-sec .rec-name {
      font-size: 12px;
      font-weight: 600;
      color: var(--gep-dark);
    }

    #gep-anim-mdm-sec .rec-detail {
      font-size: 10px;
      color: var(--gep-muted);
    }

    #gep-anim-mdm-sec .rec-status {
      font-size: 10px;
      font-weight: 600;
      padding: 2px 8px;
      border-radius: 8px;
      flex-shrink: 0;
    }

    #gep-anim-mdm-sec .rec-merged {
      color: var(--gep-ruby);
      background: rgba(212, 47, 90, 0.08);
    }

    #gep-anim-mdm-sec .rec-enriched {
      color: #3B82F6;
      background: rgba(59, 130, 246, 0.08);
    }

    #gep-anim-mdm-sec .rec-clean {
      color: var(--gep-green);
      background: rgba(46, 203, 113, 0.08);
    }

    #gep-anim-mdm-sec .summary {
      display: flex;
      align-items: baseline;
      gap: 6px;
      padding: 10px 12px;
      border: 1px solid var(--gep-border);
      border-radius: 8px;
      background: var(--gep-light-grey);
      opacity: 0;
      animation: gep-mdm-sec-summary 7s ease-in-out 1.6s infinite;
    }

    #gep-anim-mdm-sec .summary-count {
      font-size: 20px;
      font-weight: 700;
      color: var(--gep-dark);
    }

    #gep-anim-mdm-sec .summary-label {
      font-size: 12px;
      color: var(--gep-muted);
    }

    @keyframes gep-mdm-sec-row {
      0%, 4%   { opacity: 0; transform: translateY(6px); }
      10%, 82% { opacity: 1; transform: translateY(0); }
      90%, 100%{ opacity: 0; transform: translateY(0); }
    }

    @keyframes gep-mdm-sec-summary {
      0%, 8%   { opacity: 0; transform: translateY(4px); }
      16%, 78% { opacity: 1; transform: translateY(0); }
      86%, 100%{ opacity: 0; transform: translateY(0); }
    }