/* ===== Material Design: Auth Forms (login, new, recuperar, reset) ===== */
.af-wrap  { display:flex; justify-content:center; padding:2rem 1rem 3rem; }
.af-card  { background:#fff; border-radius:.75rem; box-shadow:0 1px 8px rgba(0,0,0,.12);
            padding:2rem; width:100%; max-width:440px; }
.af-card-wide { max-width:520px; }
.af-logo  { display:flex; justify-content:center; margin-bottom:1.5rem; }
.af-logo img { height:64px; width:auto; }
.af-title { font-size:1.2rem; font-weight:700; color:#1C1B1F; text-align:center; margin:0 0 .25rem; }
.af-sub   { font-size:.85rem; color:#888; text-align:center; margin:0 0 1.5rem; }

.af-section { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
              color:var(--md-primary,#7C3AED); border-bottom:2px solid rgba(124,58,237,.15);
              padding-bottom:.3rem; margin:1.25rem 0 .75rem; }

.af-card .form-label { font-size:.82rem; font-weight:500; color:#444; }
.af-card .form-control,
.af-card .form-select {
    font-size:.88rem; border-radius:.5rem; border-color:#ddd; padding:.55rem .85rem;
    transition:border-color .2s, box-shadow .2s;
}
.af-card .form-control:focus,
.af-card .form-select:focus {
    border-color:var(--md-primary,#7C3AED);
    box-shadow:0 0 0 3px rgba(124,58,237,.12);
}
.af-card .form-control:disabled { background:#F5F5F5; color:#999; }

.af-btn {
    background:var(--md-primary,#7C3AED); color:#fff; border:none; border-radius:.5rem;
    padding:.7rem; font-size:.9rem; font-weight:600; width:100%; cursor:pointer;
    transition:opacity .2s; margin-top:.5rem;
}
.af-btn:hover { opacity:.88; }

.af-links { text-align:center; font-size:.82rem; color:#888; margin-top:.9rem; }
.af-links a { color:var(--md-primary,#7C3AED); text-decoration:none; font-weight:500; }
.af-links a:hover { text-decoration:underline; }
.af-links p { margin:.25rem 0; }

.af-divider { border-top:1px solid #F0F0F0; margin:1rem 0; }

.af-info-box {
    background:#F3F4F8; border-radius:.5rem; padding:.85rem 1rem;
    font-size:.83rem; color:#555; margin-bottom:1.25rem;
    display:flex; gap:.6rem; align-items:flex-start;
}
.af-info-box .material-symbols-outlined { font-size:18px; color:var(--md-primary,#7C3AED); flex-shrink:0; margin-top:.1rem; }

.af-terms { text-align:center; font-size:.73rem; color:#bbb; margin-top:1rem; }
.af-terms a { color:#999; }
