:root {
    --bg-0: #090b10;
    --glass: #0f1420cc;
    --stroke: rgba(255, 255, 255, 0.06);
    --muted: #a3a7b3;
    --text: #e9ecf1;
    --primary: #5b6cff;
    --primary-2: #7d59ff;
    --shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
    --ring: 0 0 0 4px rgba(123, 97, 255, 0.25);
}

body {
    margin: 0;
    background: var(--bg-0);
    color: var(--text);
    font: 500 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto;
    min-height: 100vh;
    display: grid;
    place-items: center;
}

.bg-blobs {
    position: fixed;
    inset: 0;
    z-index: -1;
    filter: blur(70px) saturate(120%);
    background: radial-gradient(
            600px 400px at 85% 10%,
            rgba(123, 97, 255, 0.25),
            transparent 60%
        ),
        radial-gradient(
            500px 360px at 10% 90%,
            rgba(0, 200, 160, 0.18),
            transparent 60%
        ),
        radial-gradient(
            520px 380px at 25% -10%,
            rgba(255, 80, 120, 0.14),
            transparent 60%
        ),
        radial-gradient(
            700px 520px at 110% 110%,
            rgba(120, 140, 255, 0.18),
            transparent 65%
        ),
        linear-gradient(180deg, #0a0c12 0%, #0b0f17 100%);
}

.card-login {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.06),
        rgba(255, 255, 255, 0.02)
    );
    border: 1px solid var(--stroke);
    border-radius: 26px;
    box-shadow: var(--shadow);
    padding: 40px 30px;
    width: min(380px, 92vw);
    backdrop-filter: blur(12px);
    text-align: center;
}

.card-login img {
    width: 250px;
    height: auto;
    margin-bottom: 20px;
}

.card-login h3 {
    font-size: 26px;
    margin-bottom: 22px;
    letter-spacing: 0.06em;
}

.form {
    display: grid;
    gap: 14px;
}
.input i {
    font-size: 14px;
    color: #bbb;
}
.input {
    display: flex;
    text-align: left;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 999px;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.09),
        rgba(255, 255, 255, 0.06)
    );
    border: 1px solid var(--stroke);
}

.input input {
    all: unset;
    color: var(--text);
    width: 100%;
    font-size: 15px;
}

.input:focus-within {
    box-shadow: var(--ring);
    border-color: transparent;
}

.row-aux {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2px 8px 10px;
    color: var(--muted);
    font-size: 13px;
}

.row-aux a {
    color: var(--muted);
    text-decoration: none;
}

.row-aux a:hover {
    color: var(--text);
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    width: 100%;
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.06em;
    background: linear-gradient(180deg, var(--primary), var(--primary-2));
    box-shadow: 0 12px 30px rgba(123, 97, 255, 0.35);
    transition: transform 0.06s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.btn-primary:hover {
    filter: brightness(1.06);
    box-shadow: 0 16px 40px rgba(123, 97, 255, 0.45);
}

.btn-primary:active {
    transform: translateY(1px);
}

.alert {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--stroke);
    background: rgba(255, 255, 255, 0.06);
    color: var(--text);
    font-size: 14px;
    margin-bottom: 10px;
}
