
      :root {
        --primary: #ffc107;
        --secondary: #004a99;
        --dark-bg: #0f0f0f;
        --card-bg: #1a1a1a;
        --text: #ffffff;
        --call-green: #25d366;
        --noc-blue: #00f2ff;
        --urgent-red: #ff4444;
      }

      body {
        font-family: "Segoe UI", Roboto, sans-serif;
        background-color: var(--dark-bg);
        color: var(--text);
        margin: 0;
        padding: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-bottom: 120px;
        overflow-x: hidden;
      }

      .container {
        width: 100%;
        max-width: 380px;
        background: var(--card-bg);
        padding: 30px 20px;
        border-radius: 30px;
        text-align: center;
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.8);
        border: 1px solid rgba(255, 193, 7, 0.1);
        animation: slideUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
      }
      @keyframes slideUp {
        from {
          opacity: 0;
          transform: translateY(50px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* LOGO AVEC PULSATION */
      .logo-wrap {
        position: relative;
        width: 100px;
        height: 100px;
        margin: 0 auto 15px;
      }
      .logo-img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 3px solid var(--primary);
        background: #fff;
        position: relative;
        z-index: 2;
      }
      .logo-ripple {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 2px solid var(--primary);
        border-radius: 50%;
        animation: ripple 2s infinite;
        z-index: 1;
      }
      @keyframes ripple {
        0% {
          transform: scale(1);
          opacity: 0.8;
        }
        100% {
          transform: scale(1.6);
          opacity: 0;
        }
      }

      /* TICKET PHYSIQUE */
      .manual-login {
        background: rgba(255, 193, 7, 0.05);
        border: 1px dashed var(--primary);
        padding: 15px;
        border-radius: 20px;
        margin-bottom: 25px;
      }
      .manual-login input {
        width: 85%;
        padding: 12px;
        border-radius: 10px;
        border: 1px solid #444;
        background: #222;
        color: #fff;
        text-align: center;
        font-size: 1.1rem;
      }

      .divider {
        margin: 20px 0;
        border-bottom: 1px solid #333;
        position: relative;
      }
      .divider span {
        position: absolute;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        background: var(--card-bg);
        padding: 0 10px;
        font-size: 0.8rem;
        color: #666;
      }

      /* FORFAITS */
      .plan-card {
        background: #252525;
        border-radius: 18px;
        padding: 15px;
        margin-bottom: 12px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        transition: 0.3s;
        border: 1px solid transparent;
      }
      .plan-card:hover:not(.plan-card-disabled) {
        transform: scale(1.03);
        border-color: var(--primary);
      }
      .plan-card-disabled {
        opacity: 0.5;
        cursor: not-allowed;
        background: #1a1a1a;
      }
      .plan-card-disabled:hover {
        transform: none;
      }
      .plan-price {
        color: var(--primary);
        font-size: 1.3rem;
        font-weight: 800;
      }

      /* ÉCRANS PAIEMENT & ATTENTE */
      #payment-area,
      #waiting-area {
        display: none;
        background: #ffffff;
        color: #000;
        padding: 25px 20px;
        border-radius: 25px;
        margin-top: 20px;
        text-align: left;
      }
      input,
      textarea {
        width: 100%;
        padding: 12px;
        margin: 8px 0;
        border-radius: 10px;
        border: 1px solid #ccc;
        box-sizing: border-box;
      }

      /* BOUTON D'APPEL AVEC LUEUR */
      .call-anchor {
        position: fixed;
        bottom: 25px;
        width: 90%;
        max-width: 350px;
        text-decoration: none;
        z-index: 100;
      }
      .call-button {
        background: var(--call-green);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        padding: 18px;
        border-radius: 50px;
        font-weight: bold;
        animation: call-pulse-glow 2s infinite;
        border: none;
        width: 100%;
        cursor: pointer;
      }
      @keyframes call-pulse-glow {
        0% {
          transform: scale(1);
          box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
        }
        70% {
          transform: scale(1.05);
          box-shadow: 0 0 20px 15px rgba(37, 211, 102, 0);
        }
        100% {
          transform: scale(1);
          box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
        }
      }

      .spinner {
        width: 45px;
        height: 45px;
        border: 5px solid #f3f3f3;
        border-top: 5px solid var(--primary);
        border-radius: 50%;
        animation: spin 1s linear infinite;
        margin: 20px auto;
      }
      @keyframes spin {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }

      /* STYLE POUR L'URGENCE */
      .urgent-box {
        background: #fff0f0;
        border: 2px solid var(--urgent-red);
        padding: 15px;
        border-radius: 15px;
        margin-top: 20px;
        text-align: center;
      }
      .btn-urgent {
        background: var(--urgent-red);
        color: white;
        border: none;
        padding: 10px 15px;
        border-radius: 8px;
        font-weight: bold;
        margin-top: 10px;
        cursor: pointer;
        width: 100%;
        display: block;
        text-decoration: none;
        font-size: 0.9rem;
      }