/* =========================================================
   Cadastro Solides - ACNSG
   Identidade visual: Guia de Design ACNSG v4.1
   Paleta: Navy #0d2453 + Gold #d4af5a + Green #8bc34a
   Tipografia: Montserrat
   ========================================================= */

/* Fonte institucional Montserrat (Guia v4.1, secao 1.4) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
    /* === Paleta principal v4.1 === */
    --navy:        #0d2453;
    --navy-2:      #14306b;
    --navy-dark:   #0a1a3d;
    --gold:        #d4af5a;
    --gold-2:      #e8c264;
    --green:       #8bc34a;
    --green-2:     #6ea83a;

    /* === Texto, fundo, borda === */
    --text:        #1a1a1a;
    --muted:       #666666;
    --bg:          #ffffff;
    --bg-soft:     #f4f7fb;
    --border:      #e5e5e5;

    /* === Status === */
    --success:     #1f7d3a;
    --success-bg:  #e8f5ec;
    --error:       #b3261e;
    --error-bg:    #fbe5e3;
    --warning:     #b78420;
    --warning-bg:  #fbf3df;
    --info:        #14306b;
    --info-bg:     #e7ecf6;

    /* === Tipografia === */
    --font: 'Montserrat', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    /* === Layout === */
    --container:    1280px;
    --radius:       999px;        /* botoes, pills, badges */
    --radius-card:  12px;          /* cards, modais */
    --radius-input: 8px;           /* inputs, alertas, code */

    /* === Sombras (rgba navy) === */
    --shadow-sm:   0 1px 3px  rgba(13,36,83,.06);
    --shadow:      0 4px 18px rgba(13,36,83,.10);
    --shadow-lg:   0 12px 30px rgba(13,36,83,.15);

    /* === Aliases legados (codigo antigo continua funcionando) === */
    --azul-primario: var(--navy);
    --azul-escuro:   var(--navy-2);
    --azul-claro:    var(--info-bg);
    --azul-bg:       var(--bg-soft);
    --branco:        var(--bg);
    --cinza-texto:   var(--muted);
    --cinza-borda:   var(--border);
    --dourado:       var(--gold);
    --dourado-claro: var(--gold-2);
    --dourado-bg:    var(--warning-bg);
    --verde:         var(--success);
    --verde-escuro:  var(--success);
    --verde-bg:      var(--success-bg);
    --verde-borda:   #b9e3c5;
    --amarelo:       var(--warning);
    --vermelho:      var(--error);
    --sombra:        var(--shadow);
    --sombra-sutil:  var(--shadow-sm);
    --sombra-card:   var(--shadow-lg);
}

*{box-sizing:border-box}
html,body{
    margin:0;padding:0;
    font-family:var(--font);
    color:var(--text);
    background:var(--bg-soft);
    min-height:100vh;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-weight:500;
}
a{color:var(--navy);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--navy-2);text-decoration:underline}

h1,h2,h3,h4,h5,h6{
    font-family:var(--font);
    color:var(--navy);
    font-weight:800;
    letter-spacing:-.01em;
}

/* ============================================================
   Animacoes (Guia v4.1, secao 1.7)
   Discretas, naturais, funcionais — duracao curta + easing suave
   ============================================================ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ===== Topbar institucional (Guia v4.1, secao 2.1) =====
   Navy + borda inferior dourada de 3px + logo + slogan. */
.topbar{
    background: var(--navy);
    color:#fff;
    border-bottom:3px solid var(--gold);
    position:sticky; top:0; z-index:100;
    box-shadow:var(--shadow-sm);
}
.topbar-inner{
    max-width:var(--container);margin:0 auto;
    padding:14px 24px;min-height:64px;
    display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.topbar .brand{display:flex;align-items:center;gap:14px}
.topbar .brand-logo{
    height:46px;width:auto;display:block;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));
}
.topbar .brand-text{
    display:flex;flex-direction:column;line-height:1.1;
}
.topbar .brand-text strong{
    font-size:15px;font-weight:800;color:#fff;letter-spacing:.5px;
}
.topbar .slogan{
    font-size:12px;font-style:italic;color:var(--gold-2);
    letter-spacing:.3px;font-weight:500;
}
/* Legado */
.topbar .titulo{font-size:13px;font-style:italic;color:#fff;opacity:.92}

.topbar .nav-right{
    margin-left:auto;display:flex;align-items:center;gap:18px;
    font-size:14px;flex-wrap:wrap;
}
.topbar .nav-right a{
    color:#fff;opacity:.92;font-weight:500;
    transition:opacity .2s ease, color .2s ease;
    padding:6px 2px;
}
.topbar .nav-right a:hover{
    opacity:1;text-decoration:none;color:var(--gold-2);
}
.topbar .nav-right span{opacity:.85;font-size:13px;color:#d4d8e4}

/* CTA no header (Guia v4.1, secao 2.1) — botao "Sair" ou destaque */
.topbar .nav-cta{
    background:var(--gold);color:var(--navy) !important;
    padding:8px 18px;border-radius:var(--radius);font-weight:700;
    opacity:1 !important;
}
.topbar .nav-cta:hover{
    background:var(--gold-2);color:var(--navy) !important;
    transform:translateY(-1px);text-decoration:none;
}

/* ===== Container ===== */
.container{max-width:1180px;margin:0 auto;padding:32px 20px 60px}
.container-narrow{max-width:520px;margin:0 auto;padding:32px 20px 60px}

/* ===== Hero ===== */
.hero{text-align:center;margin-top:24px}
.hero .acnsg-logo{
    width:170px;height:auto;margin-bottom:6px;
    filter:drop-shadow(0 4px 10px rgba(13,36,83,.18));
}
.hero h1{
    font-size:42px;margin:6px 0 8px;
    color:var(--navy);font-weight:900;letter-spacing:-.02em;
    line-height:1.15;
}
.hero p.lead{
    color:var(--muted);font-size:15px;margin:0 auto 36px;
    max-width:640px;font-weight:500;line-height:1.6;
}

/* ===== Cards de navegacao (home / landing) =====
   v4.1: radius 12px, border-top gold no hover, lift sutil */
.cards{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-bottom:36px}
.card-link{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    width:240px;min-height:170px;padding:24px 18px;
    border-radius:var(--radius-card);
    text-align:center;text-decoration:none;color:inherit;
    border:2px solid transparent;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor:pointer;
    box-shadow:var(--shadow-sm);
    background:#fff;
}
.card-link:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
    border-color:var(--gold);
    text-decoration:none;
}
.card-link .icon{font-size:36px;margin-bottom:14px;display:block;line-height:1}
.card-link h3{font-size:18px;margin:0 0 6px;font-weight:700;color:inherit}
.card-link p{font-size:13px;margin:0;opacity:.85;font-weight:500}

/* card navy (primario) */
.card-azul{background:var(--navy);color:#fff;border-color:var(--navy)}
.card-azul:hover{background:var(--navy-2);border-color:var(--gold)}
.card-azul .icon{color:var(--gold-2)}

/* card branco (secundario) */
.card-branco{background:#fff;color:var(--navy);border-color:var(--border)}
.card-branco:hover{border-color:var(--gold)}
.card-branco .icon{color:var(--gold)}

/* card verde (historico / consulta) */
.card-verde{background:var(--success-bg);color:var(--success);border-color:#b9e3c5}
.card-verde:hover{border-color:var(--gold)}
.card-verde .icon{color:var(--green)}

/* card dourado (acoes institucionais) */
.card-dourado{background:var(--warning-bg);color:#8a6118;border-color:#f3d57c}
.card-dourado:hover{border-color:var(--gold)}
.card-dourado .icon{color:var(--gold)}

/* ===== Footer institucional (Guia v4.1, secao 2.14) =====
   Navy escuro + linha dourada no topo + grid de 2 colunas +
   linha de redes sociais + barra inferior com credito do dev.
   Versao adaptada para sistema interno (CADSOLIDES). */
footer.rodape,
footer.rodape-v4{
    background:var(--navy);
    color:#d4d8e4;
    border-top:3px solid var(--gold);
    margin-top:40px;
    font-size:14px;font-weight:500;
}
.footer-inner{
    max-width:var(--container);
    margin:0 auto;
    padding:0;
}

/* Grid principal (2 colunas no admin; 4 colunas no site publico) */
.footer-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2.5rem;
    padding:36px 28px 28px;
}

/* Coluna marca */
.footer-col-brand .footer-logo{
    width:64px;height:auto;display:block;margin-bottom:10px;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.footer-brand-name{
    margin:0 0 6px;
    color:var(--gold);
    font-weight:900;font-size:1.1rem;letter-spacing:.06em;
}
.footer-tagline{
    margin:0 0 14px;
    line-height:1.5;color:#d4d8e4;font-size:.88rem;
}
.footer-cnpj{
    margin:0;font-size:.82rem;color:#d4d8e4;
}
.footer-cnpj strong{color:#fff;font-weight:700}

/* Coluna contato */
.footer-col-title{
    margin:0 0 14px;color:var(--gold);
    font-size:.78rem;font-weight:800;
    text-transform:uppercase;letter-spacing:.1em;
}
.footer-contact-text{
    margin:0;line-height:1.8;font-size:.88rem;color:#d4d8e4;
}
.footer-contact-link{color:#d4d8e4;transition:color .2s ease}
.footer-contact-link:hover{color:var(--gold);text-decoration:none}
.footer-endereco-inline{
    color:#b8c0d4;text-decoration:none;
    transition:color .2s ease;
}
.footer-endereco-inline:hover{color:var(--gold);text-decoration:none}

/* Linha de redes sociais */
.footer-social{
    background:rgba(255,255,255,.03);
    border-top:1px solid rgba(255,255,255,.05);
    text-align:center;padding:18px 14px;
}
.footer-social-label{
    margin:0 0 12px;color:var(--gold);
    font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;
    font-weight:700;
}
.footer-social-row{
    display:flex;justify-content:center;gap:10px;
}
.footer-social-icon{
    width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,.08);
    color:var(--gold) !important;
    display:inline-flex;align-items:center;justify-content:center;
    transition:background .2s ease, color .2s ease, transform .2s ease;
}
.footer-social-icon:hover{
    background:var(--gold);
    color:var(--navy) !important;
    transform:translateY(-2px);
    text-decoration:none;
}

/* Barra inferior */
.footer-bottom{
    background:rgba(0,0,0,.25);
    border-top:1px solid rgba(255,255,255,.1);
    padding:14px 18px;text-align:center;
}
.footer-copyright{
    margin:0 0 4px;font-size:.82rem;color:#d4d8e4;
}
.footer-dev{
    margin:0;font-size:.74rem;color:#7a8298;
}
.footer-dev a{
    color:var(--gold);font-weight:600;text-decoration:none;
    transition:color .2s ease;
}
.footer-dev a:hover{color:var(--gold-2);text-decoration:underline}

/* Responsivo footer */
@media (max-width:680px){
    .footer-grid{
        grid-template-columns:1fr;gap:1.5rem;
        padding:28px 20px 22px;text-align:center;
    }
    .footer-col-brand .footer-logo{margin-left:auto;margin-right:auto}
    .footer-cnpj{margin-top:8px}
}

/* Compatibilidade com versao antiga (caso algum lugar use .rodape simples) */
footer.rodape:not(.rodape-v4){
    text-align:center;padding:28px 20px 22px;
}
footer.rodape:not(.rodape-v4) strong{color:#fff}
footer.rodape:not(.rodape-v4) .links{margin-top:8px;font-size:12px}
footer.rodape:not(.rodape-v4) .links a{margin:0 6px;color:var(--gold-2)}
footer.rodape:not(.rodape-v4) .links a:hover{color:#fff}
footer.rodape::before{content:none}

/* ===== Forms (card branco com borda dourada no topo) ===== */
.card-form{
    background:#fff;border-radius:var(--radius-card);padding:32px 28px;
    box-shadow:var(--shadow);border:1px solid var(--border);
    border-top:4px solid var(--gold);
}
.card-form h2{
    margin:0 0 20px;font-size:22px;color:var(--navy);
    font-weight:800;letter-spacing:-.01em;
}
.card-form h2 .icon{color:var(--navy);margin-right:8px}

.row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}
.col{flex:1 1 220px;min-width:180px}
.col-12{flex:1 1 100%}
.col-6{flex:1 1 calc(50% - 7px);min-width:240px}
.col-4{flex:1 1 calc(33.33% - 10px);min-width:200px}
.col-3{flex:1 1 calc(25% - 11px);min-width:160px}

label{
    display:block;margin-bottom:6px;
    font-weight:600;font-size:13px;color:var(--navy);
    letter-spacing:.01em;
}

/* Inputs (Guia v4.1, secao 2.8): border 2px, radius 8px, focus gold */
input[type=text],input[type=email],input[type=password],input[type=date],
input[type=tel],input[type=number],input[type=file],select,textarea{
    width:100%;padding:10px 14px;
    border:2px solid var(--border);
    border-radius:var(--radius-input);
    font-size:14px;font-family:inherit;font-weight:500;
    background:#fff;color:var(--text);
    transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus,select:focus,textarea:focus{
    outline:none;border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(212,175,90,.18);
}
.help{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4}
.required{color:var(--error);font-weight:700}

/* ===== Botoes (Guia v4.1, secao 2.6) =====
   Pilula radius 999px, padding generoso, peso 700, lift -2px no hover */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 22px;border:2px solid transparent;
    border-radius:var(--radius);
    font-size:14px;font-weight:700;font-family:inherit;
    cursor:pointer;text-decoration:none;text-align:center;line-height:1.2;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
    box-shadow:var(--shadow-sm);
}
.btn:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid rgba(212,175,90,.45);outline-offset:2px}

/* Primario — gradiente navy institucional (sistema interno ACNSG) */
.btn-primary{
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
    color:#fff;border-color:var(--navy);
}
.btn-primary:hover{
    background:linear-gradient(135deg, var(--navy-2) 0%, var(--navy) 100%);
    color:#fff;
}

/* Navy solido — alternativa institucional (Guia v4.1) */
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-2);color:#fff;border-color:var(--navy-2)}

/* Sucesso — green ACNSG */
.btn-success{background:var(--green);color:#fff;border-color:var(--green)}
.btn-success:hover{background:var(--green-2);color:#fff;border-color:var(--green-2)}

/* Perigo — error */
.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}
.btn-danger:hover{background:#962e2e;color:#fff;border-color:#962e2e}

/* Secundario — outline */
.btn-secondary{background:#fff;color:var(--navy);border-color:var(--border)}
.btn-secondary:hover{border-color:var(--navy);background:var(--bg-soft);color:var(--navy)}

/* Outline gold (CTA institucional discreto) */
.btn-outline{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn-outline:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}

/* Gold — destaque institucional / CTA (Guia v4.1 padrao para "Quero apoiar") */
.btn-dourado, .btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-dourado:hover, .btn-gold:hover{background:var(--gold-2);color:var(--navy);border-color:var(--gold-2)}

/* Tamanhos */
.btn-sm{padding:7px 14px;font-size:13px}
.btn-lg{padding:14px 28px;font-size:15px}
.btn-block{display:flex;width:100%}

.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}

/* ===== Alertas (Guia v4.1, secao 2.9) =====
   Borda lateral 4px na cor do status; bg em versao clara */
.alert{
    padding:14px 18px;border-radius:var(--radius-input);
    margin-bottom:16px;font-size:14px;font-weight:500;line-height:1.5;
    border:1px solid transparent;border-left-width:4px;
}
.alert strong{font-weight:700}
.alert-success{background:var(--success-bg);border-color:#b9e3c5;border-left-color:var(--success);color:var(--success)}
.alert-danger {background:var(--error-bg);  border-color:#f0b8b8;border-left-color:var(--error);  color:#962e2e}
.alert-warning{background:var(--warning-bg);border-color:#f3d57c;border-left-color:var(--warning);color:#8a6118}
.alert-info   {background:var(--info-bg);   border-color:#b9c5e0;border-left-color:var(--info);   color:var(--info)}

/* ===== Tabela (Guia v4.1, secao 2.11) =====
   Cabecalho navy + texto gold uppercase, linhas alternadas em bg-soft */
.table-wrap{
    overflow-x:auto;background:#fff;border-radius:var(--radius-card);
    box-shadow:var(--shadow-sm);border:1px solid var(--border);
}
table.dados{width:100%;border-collapse:collapse;font-size:13px}
table.dados th,table.dados td{
    padding:12px 14px;border-bottom:1px solid var(--border);
    text-align:left;vertical-align:middle;
}
table.dados th{
    background:var(--navy);color:var(--gold-2);font-weight:800;
    text-transform:uppercase;font-size:11px;letter-spacing:.08em;
    border-bottom:none;
}
table.dados tbody tr:nth-child(even) td{background:var(--bg-soft)}
table.dados tbody tr:hover td{background:rgba(212,175,90,.06)}
table.dados code{
    background:var(--bg-soft);padding:2px 8px;border-radius:6px;font-size:12px;
    font-family:var(--font-mono);color:var(--navy);
}

/* ===== Badges / pills (Guia v4.1, secao 2.10) ===== */
.badge{
    display:inline-block;padding:4px 12px;border-radius:var(--radius);
    font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
    line-height:1.4;
}
.badge-success, .badge-verde   {background:var(--success-bg);color:var(--success)}
.badge-warning, .badge-dourado {background:var(--warning-bg);color:#8a6118}
.badge-danger,  .badge-vermelho{background:var(--error-bg);  color:#962e2e}
.badge-info,    .badge-azul    {background:var(--info-bg);   color:var(--info)}
.badge-neutral, .badge-cinza   {background:var(--border);    color:var(--muted)}

/* ===== Tags (Guia v4.1, secao 2.7) ===== */
.tag{
    display:inline-block;padding:4px 12px;border-radius:var(--radius);
    font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}
.tag-gold{background:var(--gold);color:var(--navy)}
.tag-green{background:var(--green);color:#fff}
.tag-navy{background:var(--navy);color:#fff}

/* ===== Login (Versao 2 — Institucional, Guia v4.1) =====
   Logo grande sem moldura, card faz fadeUp, hover sobe 3px,
   borda dourada de 4px no topo. */
.login-wrap{
    display:flex;align-items:center;justify-content:center;
    min-height:calc(100vh - 80px);padding:20px;
}
.login-card{
    background:#fff;border-radius:var(--radius-card);padding:36px 32px;
    width:100%;max-width:420px;
    box-shadow:var(--shadow);border:1px solid var(--border);
    border-top:4px solid var(--gold);
    text-align:center;
    animation:fadeUp .55s ease both;
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
}
.login-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}
.login-card .acnsg-logo{
    width:auto;height:110px;display:block;margin:0 auto 12px;
    filter:drop-shadow(0 4px 10px rgba(13,36,83,.18));
}
.login-card h2,
.login-card h3{margin:0 0 4px;color:var(--navy);font-weight:800;font-size:1.25rem;letter-spacing:-.01em}
.login-card p{font-size:.82rem;color:var(--muted);margin:0 0 18px;font-weight:500}
.login-card form{text-align:left}

/* ===== Filtros ===== */
.filtros{
    background:#fff;padding:18px;border-radius:var(--radius-card);
    border:1px solid var(--border);margin-bottom:18px;box-shadow:var(--shadow-sm);
}
.filtros .row{margin-bottom:0}

/* ===== Paginacao ===== */
.paginacao{display:flex;justify-content:center;gap:6px;margin-top:18px;flex-wrap:wrap}
.paginacao a,.paginacao span{
    padding:7px 14px;border-radius:var(--radius-input);
    background:#fff;border:1px solid var(--border);
    color:var(--navy);font-size:13px;text-decoration:none;font-weight:600;
    transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.paginacao a:hover{border-color:var(--gold);background:var(--bg-soft);text-decoration:none}
.paginacao .ativa{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ===== Secoes dentro de formularios ===== */
.card-form h3{
    font-size:13px;color:var(--muted);text-transform:uppercase;
    margin:22px 0 12px;border-bottom:1px solid var(--border);
    padding-bottom:8px;letter-spacing:.08em;font-weight:800;
}

/* ===== Pre/Code blocks ===== */
pre{
    background:var(--bg-soft) !important;border:1px solid var(--border);
    padding:14px;border-radius:var(--radius-input);font-size:12px;
    color:var(--navy);line-height:1.6;font-family:var(--font-mono);
}
code{font-family:var(--font-mono)}

/* ===== Stat card (Guia v4.1, secao 2.5) =====
   Numero grande navy, label uppercase, borda superior gold de 4px */
.stat-card{
    text-align:center;padding:22px 14px;background:#fff;
    border:1px solid var(--border);border-radius:var(--radius-card);
    border-top:4px solid var(--gold);box-shadow:var(--shadow-sm);
}
.stat-num{
    display:block;font-size:2.8rem;font-weight:900;color:var(--navy);
    line-height:1;letter-spacing:-.02em;
}
.stat-label{
    font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;
    color:var(--muted);margin-top:8px;font-weight:700;
}

/* ===== Responsivo ===== */
@media(max-width:768px){
    .topbar-inner{padding:12px 16px;gap:10px}
    .topbar .nav-right{
        gap:12px;font-size:13px;width:100%;
        justify-content:flex-start;margin-top:6px;margin-left:0;
    }
    .topbar .nav-right span{display:none}
    .topbar .brand-logo{height:40px}
    .topbar .brand-text{display:none}
}
@media(max-width:680px){
    .hero h1{font-size:30px}
    .hero .acnsg-logo{width:130px}
    .container{padding:20px 14px 40px}
    .card-link{width:100%;max-width:340px}
    .card-form{padding:22px 18px}
    .actions{justify-content:stretch}
    .actions .btn{flex:1 1 auto}
    .login-card{padding:28px 22px}
    .login-card .acnsg-logo{height:90px}
}

/* ===== Acessibilidade — respeita preferencia de reduzir movimento
   (Guia v4.1, secao 1.7 — obrigatorio em qualquer animacao) ===== */
@media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.001ms !important;
        scroll-behavior:auto !important;
    }
    .login-card,
    .card-link,
    .btn{
        animation:none;transform:none;
    }
    .login-card:hover,
    .card-link:hover,
    .btn:hover{transform:none}
}
