    :root {
      --blue: #4A90E2;
      --purple: #9B59B6;
      --orange: #E67E22;
      --bg: #F5F7FF;
      --card: #FFFFFF;
      --text: #2C3E50;
      --muted: #7F8C9A;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: 'Nunito Sans', sans-serif;
      background: var(--bg);
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .card {
      background: var(--card);
      border-radius: 20px;
      padding: 40px 36px;
      width: 100%;
      max-width: 420px;
      box-shadow: 0 4px 24px rgba(74, 144, 226, 0.10);
      text-align: center;
    }

    .logo {
      font-size: 48px;
      margin-bottom: 12px;
    }

    h1 {
      font-family: 'Nunito', sans-serif;
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 6px;
    }

    .subtitle {
      color: var(--muted);
      font-size: 0.95rem;
      margin-bottom: 28px;
    }

    input {
      width: 100%;
      padding: 14px 18px;
      border: 2px solid #E8ECF4;
      border-radius: 12px;
      font-size: 1.1rem;
      font-family: 'Nunito Sans', sans-serif;
      outline: none;
      transition: border-color 0.2s;
      text-align: center;
      letter-spacing: 0.05em;
      margin-bottom: 16px;
    }

    input:focus {
      border-color: var(--blue);
    }

    button {
      width: 100%;
      padding: 14px;
      background: linear-gradient(135deg, var(--blue), var(--purple));
      color: white;
      border: none;
      border-radius: 12px;
      font-size: 1.05rem;
      font-family: 'Nunito', sans-serif;
      font-weight: 700;
      cursor: pointer;
      transition: opacity 0.2s, transform 0.1s;
    }

    button:hover {
      opacity: 0.92;
    }

    button:active {
      transform: scale(0.98);
    }

    .error {
      color: #E74C3C;
      font-size: 0.9rem;
      margin-top: 12px;
      min-height: 20px;
    }

    .hint {
      color: var(--muted);
      font-size: 0.85rem;
      margin-top: 20px;
    }
