
    :root {
      --primary: #2563eb;
      --primary-light: #3b82f6;
      --secondary: #8b5cf6;
      --bg: #f3f4f6;
      --text: #1f2937;
      --white: #ffffff;
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      font-family: Arial, sans-serif;
      background-color: var(--bg);
      color: var(--text);
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      padding: 1rem;
    }
    .gradient-border {
      padding: 2px;
      border-radius: .75rem;
      background: linear-gradient(to right, var(--primary), var(--secondary));
      animation: pulse 3s ease-in-out infinite;
    }
    @keyframes pulse {
      0%,100% { opacity: 1; }
      50%    { opacity: .8; }
    }
    .form-container {
      background: var(--white);
      border-radius: .5rem;
      padding: 2rem;
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
      width: 100%;
      max-width: 400px;
    }
    .form-header {
      text-align: center;
      margin-bottom: 1.5rem;
    }
    .form-header h1 {
      font-size: 2rem;
      font-weight: 800;
    }
    .form-header h1 .highlight {
      color: var(--primary);
    }
    .form-header p {
      color: #6b7280;
      margin-top: .5rem;
    }
    .input-group {
      position: relative;
      margin-bottom: 1.5rem;
    }
    .input-group .icon {
      position: absolute;
      left: 1rem;
      top: 50%;
      transform: translateY(-50%);
      width: 1rem;
      height: 1rem;
      color: #6b7280;
    }
    .input-group input {
      width: 100%;
      padding: .75rem 1rem .75rem 2.5rem;
      border: 1px solid #d1d5db;
      border-radius: .375rem;
      background: var(--bg);
      font-size: 1rem;
      color: var(--text);
      transition: border-color .3s, box-shadow .3s;
    }
    .input-group input:focus {
      outline: none;
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(37,99,235,0.4);
    }
    .options {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: .875rem;
      margin-bottom: 1.5rem;
      color: #6b7280;
    }
    .options a {
      color: var(--primary);
      text-decoration: none;
      transition: color .3s;
    }
    .options a:hover {
      color: var(--primary-light);
    }
    .btn {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      background: var(--primary);
      color: var(--white);
      padding: .75rem;
      border: none;
      border-radius: .375rem;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      transition: background .3s;
    }
    .btn:hover {
      background: var(--primary-light);
    }
    .btn:disabled {
      opacity: .5;
      cursor: not-allowed;
    }
    .signup-text {
      text-align: center;
      font-size: .875rem;
      color: #6b7280;
      margin-top: 1.5rem;
    }
    .signup-text a {
      color: var(--primary);
      text-decoration: none;
      font-weight: 500;
      transition: text-decoration .3s;
    }
    .signup-text a:hover {
      text-decoration: underline;
    }
