
    :root {
      --clr-form-primary: #8b0000;
      --clr-form-bg: #faf9f7;
      --clr-form-border: #e0d8d8;
      --clr-form-text: #1a1a1a;
      --clr-form-muted: #6b6060;
      --clr-form-error: #c0392b;
    }
    .form-container {
      background: white;
      padding: 0 !important;
      border: none !important;
      box-shadow: none !important;
      margin-top: 0 !important;
    }
    .form-card {
      background: #ffffff;
      border: 1px solid var(--clr-form-border);
      border-radius: 14px;
      box-shadow: 0 4px 20px rgba(139,0,0,0.05);
      overflow: hidden;
      animation: fadeIn 0.6s ease-out;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .form-card-header {
      background: var(--clr-form-primary);
      padding: 1rem 1.5rem;
      display: flex;
      align-items: center;
      gap: 10px;
      color: white;
    }
    .form-card-body {
      padding: 2rem 1.5rem;
    }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 15px;
    }
    .form-field {
      margin-bottom: 1.2rem;
      text-align: left;
    }
    .form-field label {
      display: block;
      font-size: 13px;
      font-weight: 600;
      margin-bottom: 6px;
      color: var(--clr-form-text);
    }
    .form-field input, .form-field select, .form-field textarea {
      width: 100%;
      padding: 10px 12px;
      border: 1.5px solid var(--clr-form-border);
      border-radius: 8px;
      font-family: 'Inter', sans-serif;
      font-size: 14px;
      background: var(--clr-form-bg);
      outline: none;
      transition: 0.2s;
    }
    .form-field input:focus, .form-field select:focus, .form-field textarea:focus {
      border-color: var(--clr-form-primary);
      background: white;
      box-shadow: 0 0 0 3px rgba(139,0,0,0.1);
    }
    .form-field.error input, .form-field.error select, .form-field.error textarea {
      border-color: var(--clr-form-error);
      background: #fff8f8;
    }
    .form-error-text {
      display: none;
      font-size: 11px;
      color: var(--clr-form-error);
      margin-top: 4px;
    }
    .form-field.error .form-error-text { display: block; }
    .form-submit-btn {
      width: 100%;
      background: var(--clr-form-primary);
      color: white;
      padding: 12px;
      border: none;
      border-radius: 8px;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      transition: 0.3s;
    }
    .form-submit-btn:hover { background: #6a0000; }
    .form-submit-btn:disabled { background: #ccc; cursor: not-allowed; }
    #success-state {
      display: none;
      flex-direction: column;
      align-items: center;
      padding: 40px 10px;
    }
    @media (max-width: 600px) {
      .form-grid { grid-template-columns: 1fr; }
    }

    .spinner {
      width: 16px; height: 16px;
      border: 2px solid rgba(255,255,255,0.3);
      border-top-color: #fff;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
      display: none;
    }
    @keyframes spin { to { transform: rotate(360deg); } }