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

    body {
      min-height: 100vh;
      background: repeating-linear-gradient(
        0deg,
        #c8cdd4 0px,
        #c8cdd4 1px,
        #d4d8de 1px,
        #d4d8de 6px
      );
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-family: Arial, Helvetica, sans-serif;
      padding: 20px;
    }

    /* Top label bar */
    .top-bar {
      width: 100%;
      max-width: 640px;
      background: #ffffff;
      border: 1px solid #ddd;
      border-radius: 0.5rem;
      padding: 10px 14px;
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 0;
    }

    .top-bar-icon {
      width: 32px;
      height: 22px;
      background: linear-gradient(135deg, #4a7ab5 0%, #6fa0d8 100%);
      border-radius: 3px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .top-bar-icon svg {
      width: 18px;
      height: 12px;
      fill: white;
    }

    .top-bar span {
      font-size: 13px;
      color: #444;
      font-style: italic;
    }

    /* Main card */
    .card {
      width: 100%;
      max-width: 640px;
      background: #f0f2f5;
      border: 1px solid #ccc;
      border-top: none;
      border-radius: 0.5rem;
      overflow: hidden;
    }

    /* Header with blue background and hello image */
    .card-header {
      background: #092c74;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 15px;
      min-height: 140px;
    }

    .hello-bubble {
      width: 200px;
      height: 110px;
      background: linear-gradient(160deg, #6bbcf7 0%, #3a8ac4 60%, #1e6aa8 100%);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      box-shadow: 0 4px 16px rgba(0,0,0,0.35);
    }

    .hello-bubble::after {
      content: '';
      position: absolute;
      bottom: -14px;
      left: 36px;
      width: 0;
      height: 0;
      border-left: 14px solid transparent;
      border-right: 0px solid transparent;
      border-top: 14px solid #3a8ac4;
    }

    .hello-text {
      font-family: 'Georgia', 'Times New Roman', cursive;
      font-size: 36px;
      font-style: italic;
      color: #092c74;
      font-weight: bold;
      letter-spacing: 1px;
      text-shadow: 1px 1px 0 rgba(255,255,255,0.5);
      /* Simulate handwritten look */
      font-family: 'Brush Script MT', 'Comic Sans MS', cursive;
    }

    /* Form area */
    .card-body {
      background: #f5f6f8;
      padding: 32px 130px 28px;
    }

    .field-group {
      margin-bottom: 18px;
    }

    label {
      display: block;
      font-size: 14px;
      color: #333;
      margin-bottom: 6px;
      font-weight: normal;
    }

    input[type="text"],
    input[type="password"] {
      width: 100%;
      padding: 10px 12px;
      font-size: 14px;
      border: 1px solid #bbb;
      border-radius: 3px;
      background: #fff;
      color: #333;
      outline: none;
      transition: border-color 0.2s;
    }

    input[type="text"]:focus,
    input[type="password"]:focus {
      border-color: #4a7ab5;
      box-shadow: 0 0 0 2px rgba(74,122,181,0.15);
    }

    .remember-row {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 20px;
      margin-top: 4px;
    }

    .remember-row input[type="checkbox"] {
      width: 16px;
      height: 16px;
      border: 1px solid #aaa;
      border-radius: 2px;
      cursor: pointer;
      accent-color: #4a7ab5;
    }

    .remember-row label {
      margin-bottom: 0;
      font-size: 14px;
      color: #444;
      cursor: pointer;
    }

    .btn-login {
      width: 100%;
      padding: 12px;
      background: #092c74;
      color: #fff;
      font-size: 15px;
      font-weight: 600;
      border: none;
      border-radius: 3px;
      cursor: pointer;
      letter-spacing: 0.3px;
      transition: background 0.2s, opacity 0.2s;
    }

    .btn-login:hover {
      background: linear-gradient(180deg, #7a8fbd 0%, #5e72a1 100%);
    }

    .btn-login:active {
      opacity: 0.9;
    }

    /* Links row */
    .links-row {
      display: flex;
      justify-content: space-between;
      margin-top: 18px;
    }

    .links-row a {
      font-size: 13px;
      color: #3a6aaa;
      text-decoration: none;
    }

    .links-row a:hover {
      text-decoration: underline;
    }

    /* Footer */
    .card-footer {
      background: #092c74;
      padding: 14px 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
    }

    .footer-links {
      display: flex;
      align-items: center;
      gap: 0;
    }

    .footer-links a {
      color: #ccd8ea;
      font-size: 13px;
      text-decoration: none;
      padding: 0 16px;
      transition: color 0.2s;
    }

    .footer-links a:hover {
      color: #fff;
    }

    .footer-sep {
      color: #4a6a99;
      font-size: 16px;
      user-select: none;
    }

    /* Responsive */
    @media (max-width: 600px) {
      .card-body {
        padding: 24px 24px 20px;
      }

      .hello-bubble {
        width: 160px;
        height: 88px;
      }

      .hello-text {
        font-size: 28px;
      }

      .links-row {
        flex-direction: column;
        align-items: center;
        gap: 10px;
      }

      .footer-links a {
        padding: 0 10px;
        font-size: 12px;
      }
    }

    @media (max-width: 400px) {
      .card-body {
        padding: 20px 16px 16px;
      }
    }