:root {
      --fde-bg: #090d16;
      --fde-card: #111827;
      --fde-card-light: #1f2937;
      --fde-border: #374151;
      --fde-gold: #d97706;
      --fde-gold-glow: #f59e0b;
      --fde-blue: #2563eb;
      --fde-text-bright: #ffffff;
      --fde-text-sub: #9ca3af;
      --fde-success: #10b981;
    }

    .fde-wrapper {
      max-width: 900px;
      margin: 30px auto;
      background: var(--fde-card);
      border: 1px solid var(--fde-border);
      border-radius: 20px;
      padding: 35px;
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      color: var(--fde-text-bright);
      box-sizing: border-box;
    }

    /* Header */
    .fde-header {
      text-align: center;
      margin-bottom: 35px;
    }
    .fde-header h2 {
      font-size: 28px;
      margin: 0 0 8px 0;
      color: #ffffff;
      font-weight: 800;
      letter-spacing: -0.5px;
    }
    .fde-header p {
      color: var(--fde-text-sub);
      font-size: 15px;
      margin: 0;
    }

    /* Stepper Header */
    .fde-stepper-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      margin-bottom: 40px;
      padding: 0 10px;
    }
    .fde-line-bg {
      position: absolute;
      top: 20px;
      left: 40px;
      right: 40px;
      height: 4px;
      background: var(--fde-card-light);
      z-index: 1;
    }
    .fde-line-active {
      position: absolute;
      top: 20px;
      left: 40px;
      height: 4px;
      background: linear-gradient(90deg, var(--fde-blue), var(--fde-gold));
      z-index: 1;
      width: 0%;
      transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .fde-step-node {
      position: relative;
      z-index: 2;
      text-align: center;
    }
    .fde-node-circle {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--fde-card);
      border: 2px solid var(--fde-border);
      color: var(--fde-text-sub);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      margin: 0 auto 8px;
      transition: all 0.3s ease;
    }
    .fde-step-node.active .fde-node-circle {
      border-color: var(--fde-gold-glow);
      background: var(--fde-gold);
      color: #ffffff;
      box-shadow: 0 0 20px rgba(245, 158, 11, 0.4);
    }
    .fde-step-node.done .fde-node-circle {
      background: var(--fde-success);
      border-color: var(--fde-success);
      color: #ffffff;
    }
    .fde-node-label {
      font-size: 13px;
      color: var(--fde-text-sub);
      font-weight: 600;
    }
    .fde-step-node.active .fde-node-label {
      color: var(--fde-text-bright);
    }

    /* Form Section */
    .fde-pane {
      display: none;
    }
    .fde-pane.active {
      display: block;
      animation: fdeFade 0.3s ease-in-out;
    }
    @keyframes fdeFade {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .fde-grid-row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
    .fde-col-2 {
      grid-column: span 2;
    }

    .fde-field-group {
      display: flex;
      flex-direction: column;
      margin-bottom: 15px;
    }
    .fde-field-group label {
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 8px;
      color: #e5e7eb;
    }
    .fde-field-group label span.opt {
      color: var(--fde-text-sub);
      font-weight: normal;
      font-size: 12px;
    }
    .fde-field-group input, 
    .fde-field-group select,
    .fde-field-group textarea {
      background: var(--fde-bg);
      border: 1px solid var(--fde-border);
      border-radius: 10px;
      padding: 14px 16px;
      color: #ffffff;
      font-size: 15px;
      outline: none;
      transition: all 0.2s ease;
      box-sizing: border-box;
      width: 100%;
      font-family: inherit;
    }
    .fde-field-group textarea {
      min-height: 80px;
      resize: vertical;
    }
    .fde-field-group input:disabled,
    .fde-field-group select:disabled {
      opacity: 0.35;
      cursor: not-allowed;
      background: #0d1322;
      border-color: #1f2937;
    }
    .fde-field-group input:focus, 
    .fde-field-group select:focus,
    .fde-field-group textarea:focus {
      border-color: var(--fde-gold-glow);
      box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
    }
    .fde-field-group select option {
      background: var(--fde-card);
      color: #ffffff;
    }

    /* Price Badge Display */
    .fde-price-box {
      background: rgba(245, 158, 11, 0.1);
      border: 1px solid var(--fde-gold);
      border-radius: 12px;
      padding: 15px;
      text-align: center;
      margin-top: 10px;
      font-size: 18px;
      font-weight: 700;
      color: var(--fde-gold-glow);
    }

    /* Actions */
    .fde-btn-bar {
      display: flex;
      justify-content: space-between;
      margin-top: 35px;
      padding-top: 25px;
      border-top: 1px solid var(--fde-border);
    }
    .fde-btn {
      padding: 14px 30px;
      border-radius: 10px;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      border: none;
      transition: all 0.25s ease;
    }
    .fde-btn-next {
      background: linear-gradient(135deg, #f59e0b, #d97706);
      color: #ffffff;
      margin-left: auto;
    }
    .fde-btn-next:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(217, 119, 6, 0.3);
    }
    .fde-btn-prev {
      background: var(--fde-card-light);
      color: var(--fde-text-sub);
    }
    .fde-btn-prev:hover {
      background: #374151;
      color: #ffffff;
    }

    @media (max-width: 650px) {
      .fde-grid-row {
        grid-template-columns: 1fr;
      }
      .fde-col-2 {
        grid-column: span 1;
      }
      .fde-wrapper {
        padding: 20px 15px;
      }
      .fde-node-label {
        font-size: 11px;
      }
    }