:root {
        --bg-color: #0b0c10;       /* Fundo quase preto */
        --card-bg: #1f2833;        /* Cinza escuro azulado */
        --text-main: #c5c6c7;      /* Cinza claro para textos */
        --highlight: #66fcf1;      /* Azul Ciano Neon chamativo */
        --highlight-dark: #45a29e; /* Azul esverdeado escuro */
        --error: #ff4d4d;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Inter', sans-serif;
    }

    body {
        background-color: var(--bg-color);
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--text-main);
        overflow: hidden;
        position: relative;
    }

    /* Efeito de fundo sutil (Grid ou Glow) */
    body::before {
        content: '';
        position: absolute;
        width: 150%;
        height: 150%;
        background: radial-gradient(circle, rgba(69, 162, 158, 0.1) 0%, rgba(11, 12, 16, 0) 60%);
        z-index: -1;
    }

    .login-container {
        background-color: rgba(31, 40, 51, 0.6); /* Transparência leve */
        backdrop-filter: blur(10px);
        padding: 3rem;
        border-radius: 12px;
        box-shadow: 0 0 20px rgba(102, 252, 241, 0.1);
        width: 100%;
        max-width: 400px;
        border: 1px solid rgba(102, 252, 241, 0.1);
        transition: transform 0.3s ease;
    }

    .login-container:hover {
        box-shadow: 0 0 30px rgba(102, 252, 241, 0.2);
        border-color: rgba(102, 252, 241, 0.3);
    }

    .logo-area {
        text-align: center;
        margin-bottom: 2rem;
    }

    .login-logo {
        height: 80px;
        width: auto;
        object-fit: contain;
        filter: drop-shadow(0 0 10px rgba(102, 252, 241, 0.2));
    }

    .form-group {
        margin-bottom: 1.5rem;
        position: relative;
    }

    .form-group label {
        display: block;
        margin-bottom: 0.5rem;
        font-size: 0.9rem;
        color: var(--highlight);
        font-weight: 600;
    }

    .form-group input {
        width: 100%;
        padding: 12px 15px;
        background-color: #0b0c10;
        border: 1px solid #2c3e50;
        border-radius: 6px;
        color: #fff;
        outline: none;
        transition: all 0.3s;
    }

    .form-group input:focus {
        border-color: var(--highlight);
        box-shadow: 0 0 8px rgba(102, 252, 241, 0.3);
    }

    .options {
        display: flex;
        justify-content: flex-end;
        font-size: 0.85rem;
        margin-bottom: 1.5rem;
    }

    .options a {
        color: var(--text-main);
        text-decoration: none;
        transition: color 0.3s;
    }

    .options a:hover {
        color: var(--highlight);
    }

    .btn-login {
        width: 100%;
        padding: 12px;
        background-color: transparent;
        border: 2px solid var(--highlight);
        color: var(--highlight);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.3s;
        font-size: 1rem;
    }

    .btn-login:hover {
        background-color: var(--highlight);
        color: var(--bg-color);
        box-shadow: 0 0 15px rgba(102, 252, 241, 0.6);
    }

    .btn-login:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .register-message {
        margin-top: 2rem;
        text-align: center;
        font-size: 0.9rem;
    }

    .register-message a {
        color: var(--highlight);
        text-decoration: none;
        font-weight: 700;
    }

    .register-message a:hover {
        text-decoration: underline;
    }

    #error-msg {
        color: var(--error);
        font-size: 0.85rem;
        text-align: center;
        margin-bottom: 1rem;
        min-height: 20px;
        display: none;
    }