/* login.html */
:root {
        --yellow-400: #ffa400;
        --purple-500: #583be2;
        --blue-900: #202945;
        --white: #ffffff;
        --page-bg: #f3f4f8;
        --border: #cdd2e3;
      }

      * {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        min-height: 100vh;
        font-family: "Instrument Sans", sans-serif;
        background: var(--page-bg);
        color: var(--blue-900);
      }

      .page {
        min-height: 100vh;
        display: grid;
        grid-template-columns: 1.05fr 0.95fr;
        background: var(--page-bg);
      }

      .hero {
        position: relative;
        display: grid;
        place-items: center;
        padding: 72px 64px;
        color: #fff3ed;
        background: radial-gradient(
            circle at 15% 85%,
            rgba(255, 164, 0, 0.25),
            rgba(88, 59, 226, 0.15) 50%,
            rgba(6, 7, 28, 0.7) 80%
          ),
          url("../assets/4873dd31541cc480504213ab771dbf9c0ecdad95.png") center/cover
            no-repeat;
      }

      .hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          155deg,
          rgba(5, 7, 28, 0.1) 0%,
          rgba(5, 7, 28, 0.75) 70%
        );
      }

      .hero-content {
        position: relative;
        z-index: 1;
        max-width: 440px;
        text-align: center;
      }

      .hero h1 {
        margin: 0 0 24px;
        font-size: 64px;
        font-weight: 400;
        line-height: 72px;
        color: #fff3ed;
      }

      .hero h1 span {
        color: var(--yellow-400);
      }

      .hero p {
        margin: 0;
        font-size: 24px;
        font-weight: 400;
        line-height: 30px;
        color: #ffffff;
      }

      .panel {
        display: grid;
        place-items: center;
        background: #f7f7f9;
        padding: 64px 24px;
      }

      .card {
        width: min(480px, 92%);
        background: var(--white);
        padding: 48px 32px;
        box-shadow: 0 28px 70px rgba(16, 27, 68, 0.15);
        border-radius: 16px;
        display: grid;
        gap: 24px;
        justify-items: center;
      }

      .logo {
        width: 170px;
      }

      .card h2 {
        margin: 0;
        font-size: 32px;
        font-weight: 400;
        line-height: 40px;
        color: var(--purple-500);
        font-style: normal;
        width: 100%;
        text-align: left;
      }

      form {
        width: 100%;
        display: grid;
        gap: 16px;
      }

      label {
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        color: var(--blue-900);
      }

      input {
        width: 100%;
        height: 44px;
        padding: 10px 12px;
        border-radius: 6px;
        border: 1px solid var(--border);
        font-family: inherit;
        font-size: 14px;
        background: #fbfbfd;
      }

      .forgot {
        text-align: right;
        font-size: 12px;
        line-height: 20px;
        color: var(--purple-500);
        text-decoration: none;
      }

      .captcha {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 12px;
        border: 1px solid var(--border);
        border-radius: 6px;
        background: #ffffff;
        cursor: pointer;
      }

      .captcha .box {
        width: 20px;
        height: 20px;
        border: 1px solid var(--border);
        border-radius: 2px;
        background: #ffffff;
        position: relative;
      }

      .captcha .box::after {
        content: "?";
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        font-size: 14px;
        font-weight: 700;
        color: #ffffff;
        opacity: 0;
      }

      .captcha.is-checked .box {
        border-color: #0b67d1;
        background: #0b67d1;
      }

      .captcha.is-checked .box::after {
        opacity: 1;
      }

      .captcha span {
        font-size: 12px;
        color: #6f7797;
      }

      .captcha img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }

      button {
        width: 100%;
        height: 56px;
        padding: 14px 0 18px;
        border: none;
        border-radius: 8px;
        background: var(--purple-500);
        color: #fff;
        font-size: 16px;
        cursor: pointer;
      }

      button:disabled {
        opacity: 0.6;
        cursor: not-allowed;
      }

      .signup {
        font-size: 12px;
        text-align: center;
        color: #6f7797;
      }

      .signup a {
        color: var(--purple-500);
        text-decoration: none;
        font-weight: 500;
      }

      @media (max-width: 980px) {
        .page {
          grid-template-columns: 1fr;
        }

        .hero {
          display: none;
        }

        .hero h1 {
          font-size: 44px;
          line-height: 52px;
        }

        .hero p {
          font-size: 18px;
          line-height: 26px;
        }

        .card {
          border-radius: 0;
          box-shadow: none;
        }
      }

/* layout panel stretch */
@media (min-width: 1024px) {
  .layout .content {
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .layout .panel {
    width: 100%;
    max-width: none;
    min-height: 0;
    height: 100%;
    flex: 1;
  }
}

