/* @manutencao
 * Arquivo: php/assets/auth.css
 * Papel: Estilos login e páginas de autenticação (split-screen).
 */
@import url('tokens.css');

* { box-sizing: border-box; }

body.auth-body {
    margin: 0;
    font-family: var(--font);
    color: var(--text-primary);
    line-height: 1.5;
    min-height: 100vh;
}

.auth-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100vh;
}

.auth-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
    background: linear-gradient(145deg, #0f766e 0%, #134e4a 45%, #0f172a 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.auth-brand::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 80%, rgba(255,255,255,.08) 0%, transparent 50%);
    pointer-events: none;
}

.auth-brand-inner {
    position: relative;
    max-width: 420px;
}

.auth-mark {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-bottom: 2rem;
    line-height: 1.15;
}

.auth-mark-icon { display: none; }

.auth-mark-name {
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: -.03em;
}

.auth-mark-name::after {
    content: 'WhatsApp';
    display: block;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: rgba(255,255,255,.75);
    margin-top: .35rem;
}

.auth-brand h1 {
    margin: 0 0 1rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.auth-brand p {
    margin: 0;
    font-size: 1.05rem;
    color: rgba(255,255,255,.82);
    line-height: 1.6;
}

.auth-brand-features {
    margin: 2.5rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.auth-brand-features li {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: .95rem;
    color: rgba(255,255,255,.9);
}

.auth-brand-features li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5eead4;
    flex-shrink: 0;
}

.auth-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: var(--bg-app);
}

.auth-form-wrap {
    width: 100%;
    max-width: 400px;
}

.auth-form-wrap h2 {
    margin: 0 0 .35rem;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.auth-form-wrap .lead {
    margin: 0 0 1.75rem;
    color: var(--text-muted);
    font-size: .95rem;
}

.auth-form {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 1.75rem;
    box-shadow: var(--shadow-card);
}

.auth-form label {
    display: block;
    margin-bottom: 1rem;
    font-weight: 500;
    font-size: .875rem;
    color: var(--text-secondary);
}

.auth-form input[type=email],
.auth-form input[type=password],
.auth-form input[type=text] {
    display: block;
    width: 100%;
    margin-top: .35rem;
    padding: .65rem .85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    font-size: .95rem;
    font-family: var(--font);
    transition: border-color .15s, box-shadow .15s;
}

.auth-form input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-ring);
}

.auth-form .btn-primary {
    width: 100%;
    margin-top: .5rem;
    padding: .7rem 1rem;
    background: var(--accent);
    color: #fff;
    border: 0;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: .95rem;
    cursor: pointer;
    font-family: var(--font);
    transition: background .15s;
}

.auth-form .btn-primary:hover {
    background: var(--accent-hover);
}

.flash {
    padding: .75rem 1rem;
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
    font-size: .9rem;
}

.flash.erro {
    background: var(--danger-soft);
    color: var(--danger-text);
    border: 1px solid #fecaca;
}

.flash.ok {
    background: var(--success-soft);
    color: var(--success-text);
}

.auth-captcha {
    margin: .75rem 0 1rem;
    min-height: 65px;
}

.auth-forgot {
    margin: -.35rem 0 .75rem;
    font-size: .875rem;
}

.auth-forgot a {
    color: var(--accent);
    text-decoration: none;
}

.auth-forgot a:hover {
    text-decoration: underline;
}

.auth-split--narrow {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
}

.auth-panel--solo {
    min-height: 100vh;
}

@media (max-width: 860px) {
    .auth-split { grid-template-columns: 1fr; }
    .auth-brand {
        padding: 2rem 1.5rem;
        min-height: auto;
    }
    .auth-brand h1 { font-size: 1.5rem; }
    .auth-brand-features { display: none; }
    .auth-panel { padding: 1.5rem; }
}
