* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    body {
      background: #f3f3f3;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .overlay {
      width: 100%;
      max-width: 420px;
    }

    .modal {
      background: #ffffff;
      border-radius: 24px;
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
      overflow: hidden;
      width: 100%;
    }

    .screen {
      display: none;
      padding: 22px 24px 24px;
    }

    .screen.active {
      display: block;
    }

    /* INITIALIZING AREA (PAGE 2) */

    .init-box {
      border-radius: 16px;
      border: 2px solid #e74c3c;
      padding: 18px;
      text-align: center;
      font-weight: 600;
      color: #e74c3c;
      background: #ffecec;
      margin-bottom: 20px;
    }

    .wallet-row {
      border-radius: 16px;
      border: 1px solid #d8d8d8;
      padding: 14px 16px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .wallet-logo {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: #1d9bf0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 22px;
      font-weight: 700;
    }

    .wallet-text {
      font-size: 16px;
      font-weight: 600;
    }

    /* FORM AREA (PAGE 3) */

    .wallet-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
    }

    .wallet-header-logo {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #1d9bf0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 24px;
    }

    .wallet-header-title {
      font-weight: 700;
      font-size: 18px;
    }

    .tabs {
      display: flex;
      border-bottom: 1px solid #e3e3e3;
      margin-bottom: 12px;
      gap: 16px;
    }

    .tab {
      border: none;
      background: none;
      padding: 10px 4px;
      font-size: 15px;
      cursor: pointer;
      position: relative;
      color: #777777;
    }

    .tab.active {
      color: #111111;
      font-weight: 600;
    }

    .tab.active::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2px;
      border-radius: 999px;
      background: #007bff;
    }

    .input-area {
      width: 100%;
      min-height: 120px;
      resize: vertical;
      border-radius: 10px;
      border: 1px solid #d8d8d8;
      padding: 10px 12px;
      font-size: 16px;
      margin-top: 8px;
      margin-bottom: 10px;
    }

    /* .hint {
      font-size: 12px;
      color: #888888;
      margin-bottom: 18px;
    } */

    .actions {
      display: flex;
      justify-content: space-between;
      gap: 12px;
    }

    .primary-btn {
      flex: 1;
      border: none;
      border-radius: 6px;
      padding: 12px 10px;
      font-size: 15px;
      background: #007bff;
      color: #ffffff;
      font-weight: 600;
      cursor: pointer;
    }

    .cancel-btn {
      width: 110px;
      border: none;
      border-radius: 6px;
      padding: 12px 10px;
      font-size: 15px;
      background: #e74c3c;
      color: #ffffff;
      font-weight: 600;
      cursor: pointer;
    }

    .primary-btn:hover,
    .cancel-btn:hover {
      opacity: 0.96;
    }






@media (max-width: 480px) {

  /* Keep page centered vertically AND horizontally */
  body {
    display: flex;
    justify-content: center;
    align-items: center;   /* CENTER in the middle (NOT top) */
    padding: 20px;         /* small screen spacing */
  }

  .modal {
    border-radius: 16px;
    max-width: 100%;
  }

  .screen {
    padding: 20px 18px 24px;
  }

  /* Titles */
  .screen-title {
    font-size: 17px;
    text-align: center;
  }

  .subtitle {
    font-size: 13px;
    text-align: center;
  }

  /* Prevent zoom on textarea */
  .input-area {
    font-size: 16px !important;
    padding: 12px 14px;
    min-height: 130px;
  }

  .hint {
    font-size: 12px;
  }

  /* Tabs spacing */
  .tabs {
    gap: 12px;
  }

  .tab {
    font-size: 14px;
    padding: 8px 2px;
  }

  /* Buttons become stacked */
  .actions {
    flex-direction: column;
    gap: 12px;
  }

  .primary-btn,
  .cancel-btn {
    width: 100%;
    padding: 14px 0;
    font-size: 16px;
  }
}