@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Poppins';
}

:root{
      --bg:#0d1117;
      --card:#ffffff;
      --muted:#bfc2c6;
      --stroke:#e3e4e6;
      --text:#1f2630;
      --radius:10px;
      font-family: -apple-system, BlinkMacSystemFont, "Poppins", Roboto, "Helvetica Neue", Arial;
    }

    body {
        background-color: var(--bg);
    }

    form {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: auto;
        width: 350px;
        display: flex;
        flex-direction: column;
        padding: 30px;
        background:linear-gradient(180deg,#fff, #fff);
        border-radius:14px;
        box-shadow:0 6px 18px rgba(15,20,25,0.05);
        border:1px solid var(--stroke);
        overflow:hidden;
        gap: 40px;
    }

    form input {
        padding: 0px 10px;
        height: 50px;
        border: none;
        border-bottom: solid 1px var(--muted);
        outline: none;
        font-size: 16px;
        transition: border .2s;
    }

    form input:focus {
        border-bottom: solid 1px #1f2630;
    }

    form button {
        padding: 0px 10px;
        height: 30px;
        background-color: #1f2630;
        color: #fff;
        outline: none;
        height: 50px;
        border: none;
        border-radius: 5px;
        font-size: 16px;
        cursor: pointer;
    }

     a {
        text-decoration: none;
        color: #bfc2c6;
    }
     a:hover {
        color: #1f2630;
    }

     li {
        list-style: none;
    }

    .loginLink {
        text-align: center;
    }

    /* ===== Modal ===== */
    .modal-overlay {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0, 0, 0, 0.5);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 9999;
    }

    .modal {
      background: #fff;
      border-radius: 10px;
      padding: 20px 30px;
      max-width: 360px;
      text-align: center;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
      animation: aparecer 0.3s ease;
    }

    @keyframes aparecer {
      from { opacity: 0; transform: scale(0.9); }
      to { opacity: 1; transform: scale(1); }
    }

    .modal h2 {
      margin-bottom: 10px;
      font-size: 1.2rem;
      color: #333;
    }

    .modal p {
      color: #555;
      margin-bottom: 20px;
    }

    .fechar {
      background: #007bff;
      color: #fff;
      border: none;
      padding: 10px 20px;
      border-radius: 6px;
      cursor: pointer;
      font-weight: 600;
    }

    .fechar:hover {
      background: #0056b3;
    }
    