/* ==========================================================================
   PORTAL AARCA
   PRODUÇÃO ANIMAL
   MOBILE FIRST
   ========================================================================== */


/* ==========================================================================
   1. PÁGINA
   ========================================================================== */

.producao-animal-page {
    --pa-green-dark: #17351d;
    --pa-green: #2e7d32;
    --pa-green-hover: #256628;
    --pa-green-light: #eaf5eb;

    --pa-brown: #8a5a2b;
    --pa-brown-light: #f7f0e8;

    --pa-text: #536159;
    --pa-text-soft: #748078;

    --pa-border: rgba(23, 53, 29, 0.10);

    --pa-background: #ffffff;
    --pa-background-soft: #f7faf7;

    --pa-shadow:
        0 14px 36px rgba(23, 53, 29, 0.08);

    --pa-shadow-hover:
        0 20px 46px rgba(23, 53, 29, 0.13);

    width: 100%;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fbf8 100%
        );

    color: var(--pa-text);
}


/* ==========================================================================
   2. CONTAINER
   ========================================================================== */

.producao-animal-page .container {
    width: min(92%, 1200px);

    margin-inline: auto;
}


/* ==========================================================================
   3. HERO
   ========================================================================== */

.pa-public-hero {
    position: relative;

    overflow: hidden;

    padding: 68px 0 46px;

    text-align: center;

    background:
        radial-gradient(
            circle at 15% 10%,
            rgba(138, 90, 43, 0.10),
            transparent 36%
        ),
        radial-gradient(
            circle at 85% 5%,
            rgba(46, 125, 50, 0.10),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #fbfdfb,
            #f4f9f5
        );
}


.pa-public-hero::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    top: -80px;
    right: -70px;

    border-radius: 50%;

    border:
        30px solid
        rgba(138, 90, 43, 0.045);

    pointer-events: none;
}


.pa-public-hero::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    bottom: -95px;
    left: -75px;

    border-radius: 50%;

    background:
        rgba(46, 125, 50, 0.035);

    pointer-events: none;
}


.pa-public-hero .container {
    position: relative;

    z-index: 2;
}


.pa-public-hero .section-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 36px;

    padding: 8px 15px;

    margin-bottom: 14px;

    border:
        1px solid
        rgba(138, 90, 43, 0.13);

    border-radius: 999px;

    background: var(--pa-brown-light);

    color: #74502d;

    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
}


.pa-public-hero h1 {
    margin: 0 0 15px;

    color: var(--pa-green-dark);

    font-size: clamp(38px, 11vw, 56px);

    line-height: 1.05;

    letter-spacing: -0.04em;
}


.pa-public-hero p {
    max-width: 760px;

    margin: 0 auto;

    color: var(--pa-text);

    font-size: 16px;

    line-height: 1.75;
}


/* ==========================================================================
   4. FILTROS
   ========================================================================== */

.pa-public-filters {
    padding: 30px 0 12px;
}


.pa-filter-form {
    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;

    padding: 18px;

    background: #ffffff;

    border: 1px solid var(--pa-border);

    border-radius: 18px;

    box-shadow:
        0 12px 30px
        rgba(23, 53, 29, 0.06);
}


.pa-filter-field {
    min-width: 0;
}


.pa-filter-field label {
    display: block;

    margin-bottom: 7px;

    color: var(--pa-green-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 0.04em;

    text-transform: uppercase;
}


.pa-filter-field select {
    width: 100%;

    min-height: 48px;

    padding:
        10px 38px
        10px 13px;

    border:
        1px solid
        #d9e4da;

    border-radius: 12px;

    background: #ffffff;

    color: var(--pa-text);

    font-size: 14px;

    outline: none;
}


.pa-filter-field select:focus {
    border-color:
        var(--pa-green);

    box-shadow:
        0 0 0 3px
        rgba(46, 125, 50, 0.10);
}


/* ==========================================================================
   5. AÇÕES DOS FILTROS
   ========================================================================== */

.pa-filter-actions {
    display: flex;

    flex-direction: column;

    gap: 10px;
}


.pa-filter-actions .btn {
    width: 100%;

    min-height: 48px;
}


.pa-clear-filters {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 10px 14px;

    color: var(--pa-green);

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;
}


.pa-clear-filters:hover {
    text-decoration: underline;
}


/* ==========================================================================
   6. RESULTADO DOS FILTROS
   ========================================================================== */

.pa-filter-result {
    margin-top: 12px;

    padding: 13px 15px;

    border:
        1px solid
        var(--pa-border);

    border-radius: 12px;

    background:
        var(--pa-background-soft);

    color: var(--pa-text);

    font-size: 13px;
    line-height: 1.5;
}


.pa-filter-result strong {
    color: var(--pa-green-dark);

    font-weight: 850;
}


/* ==========================================================================
   7. INDICADORES PRINCIPAIS
   ========================================================================== */

.pa-public-summary {
    padding: 36px 0 22px;
}


.pa-summary-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;
}


/* ==========================================================================
   8. CARD DE INDICADOR
   ========================================================================== */

.pa-summary-card {
    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 170px;

    padding: 25px 18px;

    overflow: hidden;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f5faf6
        );

    border:
        1px solid
        var(--pa-border);

    border-radius: 18px;

    box-shadow:
        var(--pa-shadow);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.pa-summary-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 58px;
    height: 4px;

    transform:
        translateX(-50%);

    border-radius:
        0 0 8px 8px;

    background:
        linear-gradient(
            90deg,
            var(--pa-brown),
            var(--pa-green)
        );
}


.pa-summary-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(46, 125, 50, 0.18);

    box-shadow:
        var(--pa-shadow-hover);
}


.pa-summary-icon {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 46px;
    height: 46px;

    margin-bottom: 14px;

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            var(--pa-brown-light),
            var(--pa-green-light)
        );

    font-size: 23px;
}


.pa-summary-card strong {
    display: block;

    margin-bottom: 8px;

    color: var(--pa-green-dark);

    font-size:
        clamp(30px, 9vw, 42px);

    font-weight: 850;

    line-height: 1;

    letter-spacing: -0.04em;

    overflow-wrap: anywhere;
}


.pa-summary-card > span:not(.pa-summary-icon) {
    color: var(--pa-text);

    font-size: 14px;

    font-weight: 750;

    line-height: 1.45;
}


.pa-summary-card small {
    display: block;

    margin-top: 5px;

    color: var(--pa-text-soft);

    font-size: 12px;

    line-height: 1.4;
}


/* ==========================================================================
   9. CONSOLIDADO
   ========================================================================== */

.pa-public-totals {
    padding: 58px 0 34px;

    background:
        linear-gradient(
            180deg,
            rgba(234, 245, 235, 0.28),
            rgba(255, 255, 255, 0)
        );
}


/* ==========================================================================
   10. CABEÇALHO DE SEÇÃO
   ========================================================================== */

.pa-section-heading {
    max-width: 760px;

    margin: 0 auto 32px;

    text-align: center;
}


.pa-section-heading > span {
    display: block;

    margin-bottom: 8px;

    color: var(--pa-green);

    font-size: 12px;

    font-weight: 850;

    line-height: 1.3;

    letter-spacing: 0.07em;

    text-transform: uppercase;
}


.pa-section-heading h2 {
    margin: 0 0 12px;

    color: var(--pa-green-dark);

    font-size:
        clamp(30px, 8vw, 42px);

    line-height: 1.12;

    letter-spacing: -0.03em;
}


.pa-section-heading p {
    margin: 0;

    color: var(--pa-text);

    font-size: 15px;

    line-height: 1.7;
}


/* ==========================================================================
   11. GRID CONSOLIDADO
   ========================================================================== */

.pa-totals-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;
}


/* ==========================================================================
   12. CARD CONSOLIDADO
   ========================================================================== */

.pa-total-card {
    position: relative;

    padding: 22px 20px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fbf8
        );

    border:
        1px solid
        var(--pa-border);

    border-radius: 16px;

    box-shadow:
        0 10px 26px
        rgba(23, 53, 29, 0.055);
}


.pa-total-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background:
        linear-gradient(
            180deg,
            var(--pa-green),
            var(--pa-brown)
        );
}


.pa-total-card > span {
    display: block;

    margin-bottom: 8px;

    color: var(--pa-text-soft);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.055em;

    text-transform: uppercase;
}


.pa-total-card strong {
    display: block;

    margin-bottom: 5px;

    color: var(--pa-green-dark);

    font-size: 29px;

    font-weight: 850;

    line-height: 1.1;

    letter-spacing: -0.025em;
}


.pa-total-card small {
    color: var(--pa-brown);

    font-size: 12px;

    font-weight: 750;
}


/* ==========================================================================
   13. REGISTROS
   ========================================================================== */

.pa-public-records {
    padding: 58px 0 78px;
}


.pa-records-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 18px;
}


/* ==========================================================================
   14. CARD DO REGISTRO
   ========================================================================== */

.pa-record-card {
    padding: 20px;

    background: #ffffff;

    border:
        1px solid
        var(--pa-border);

    border-radius: 18px;

    box-shadow:
        0 12px 30px
        rgba(23, 53, 29, 0.06);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}


.pa-record-card:hover {
    transform:
        translateY(-3px);

    box-shadow:
        0 18px 38px
        rgba(23, 53, 29, 0.10);
}


/* ==========================================================================
   15. TOPO DO REGISTRO
   ========================================================================== */

.pa-record-top {
    display: flex;

    flex-direction: column;

    gap: 12px;

    margin-bottom: 18px;
}


.pa-record-species {
    display: inline-flex;

    margin-bottom: 5px;

    color: var(--pa-brown);

    font-size: 11px;

    font-weight: 850;

    letter-spacing: 0.05em;

    text-transform: uppercase;
}


.pa-record-top h3 {
    margin: 0;

    color: var(--pa-green-dark);

    font-size: 22px;

    line-height: 1.25;
}


.pa-record-status {
    align-self: flex-start;

    display: inline-flex;

    align-items: center;

    min-height: 32px;

    padding: 6px 11px;

    border-radius: 999px;

    background:
        var(--pa-green-light);

    color:
        var(--pa-green);

    font-size: 11px;

    font-weight: 850;

    text-transform: uppercase;
}


/* ==========================================================================
   16. META DO REGISTRO
   ========================================================================== */

.pa-record-meta {
    display: grid;

    grid-template-columns: 1fr;

    gap: 10px;

    margin-bottom: 18px;
}


.pa-record-meta > div {
    padding: 12px 14px;

    background:
        var(--pa-background-soft);

    border:
        1px solid
        var(--pa-border);

    border-radius: 11px;
}


.pa-record-meta span,
.pa-record-herd span,
.pa-record-production span {
    display: block;

    margin-bottom: 4px;

    color:
        var(--pa-text-soft);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 0.05em;

    text-transform: uppercase;
}


.pa-record-meta strong {
    color:
        var(--pa-green-dark);

    font-size: 13px;

    line-height: 1.4;
}


/* ==========================================================================
   17. REBANHO DO REGISTRO
   ========================================================================== */

.pa-record-herd {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    padding-top: 16px;

    border-top:
        1px solid
        var(--pa-border);
}


.pa-record-herd > div {
    padding: 12px 10px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8faf8
        );

    border:
        1px solid
        var(--pa-border);

    border-radius: 11px;
}


.pa-record-herd strong {
    color:
        var(--pa-green-dark);

    font-size: 17px;

    font-weight: 850;

    line-height: 1.2;
}


/* ==========================================================================
   18. PRODUÇÃO DO REGISTRO
   ========================================================================== */

.pa-record-production {
    display: grid;

    grid-template-columns: 1fr;

    gap: 10px;

    margin-top: 14px;

    padding-top: 16px;

    border-top:
        1px solid
        var(--pa-border);
}


.pa-record-production > div {
    padding: 13px 14px;

    background:
        var(--pa-brown-light);

    border:
        1px solid
        rgba(138, 90, 43, 0.10);

    border-radius: 11px;
}


.pa-record-production strong {
    color:
        var(--pa-green-dark);

    font-size: 14px;

    font-weight: 850;

    line-height: 1.4;
}


/* ==========================================================================
   19. ESTADO VAZIO
   ========================================================================== */

.pa-empty {
    max-width: 720px;

    margin: 0 auto;

    padding: 42px 22px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #f5faf5,
            #ffffff
        );

    border:
        1px solid
        var(--pa-border);

    border-radius: 20px;

    box-shadow:
        0 14px 32px
        rgba(23, 53, 29, 0.06);
}


.pa-empty h2 {
    margin: 0 0 12px;

    color:
        var(--pa-green-dark);

    font-size: 27px;
}


.pa-empty p {
    margin: 0 0 18px;

    color:
        var(--pa-text);

    font-size: 15px;

    line-height: 1.7;
}


/* ==========================================================================
   20. CELULAR MUITO PEQUENO
   ========================================================================== */

@media (max-width: 359px) {

    .producao-animal-page .container {
        width: 94%;
    }


    .pa-public-hero {
        padding-top: 44px;

        padding-bottom: 34px;
    }


    .pa-public-hero h1 {
        font-size: 36px;
    }


    .pa-summary-card {
        min-height: 155px;

        padding: 22px 15px;
    }


    .pa-summary-card strong {
        font-size: 31px;
    }


    .pa-record-card {
        padding: 16px;
    }


    .pa-record-herd {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================================
   21. CELULAR GRANDE
   ========================================================================== */

@media (min-width: 521px) {

    .pa-summary-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 16px;
    }


    .pa-totals-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 16px;
    }


    .pa-record-meta {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .pa-record-production {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* ==========================================================================
   22. TABLET
   ========================================================================== */

@media (min-width: 769px) {

    .pa-public-hero {
        padding:
            68px 0 52px;
    }


    .pa-public-hero p {
        font-size: 17px;
    }


    .pa-filter-form {
        grid-template-columns:
            0.9fr
            1.2fr
            1.1fr
            1.1fr
            auto;

        align-items: end;

        gap: 16px;

        padding: 22px;
    }


    .pa-filter-actions {
        flex-direction: row;

        align-items: center;
    }


    .pa-filter-actions .btn {
        width: auto;

        min-width: 150px;
    }


    .pa-summary-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 18px;
    }


    .pa-summary-card {
        min-height: 185px;

        padding: 28px 20px;
    }


    .pa-totals-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));

        gap: 18px;
    }


    .pa-record-top {
        flex-direction: row;

        align-items: flex-start;

        justify-content: space-between;
    }


    .pa-record-status {
        align-self: auto;
    }


    .pa-record-meta {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }


    .pa-record-herd {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}


/* ==========================================================================
   23. DESKTOP
   ========================================================================== */

@media (min-width: 1024px) {

    .pa-public-summary {
        padding-top: 46px;
    }


    .pa-public-totals {
        padding-top: 72px;

        padding-bottom: 46px;
    }


    .pa-public-records {
        padding-top: 72px;

        padding-bottom: 92px;
    }


    .pa-record-card {
        padding: 24px;
    }


    .pa-record-top h3 {
        font-size: 24px;
    }

}


/* ==========================================================================
   24. DESKTOP GRANDE
   ========================================================================== */

@media (min-width: 1280px) {

    .pa-summary-grid,
    .pa-totals-grid {
        gap: 22px;
    }

}

/* ==========================================================================
   AJUSTE MOBILE — HERO ABAIXO DO CABEÇALHO
   ========================================================================== */

@media (max-width: 768px) {

    .pa-public-hero {
        padding-top: 72px;
    }

}

/* ==========================================================================
   25. ACESSIBILIDADE
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .pa-summary-card,
    .pa-record-card {
        transition: none;
    }


    .pa-summary-card:hover,
    .pa-record-card:hover {
        transform: none;
    }

}


/* ==========================================================================
   26. IMPRESSÃO BÁSICA
   ========================================================================== */

@media print {

    .pa-summary-card,
    .pa-total-card,
    .pa-record-card {
        box-shadow: none;
    }


    .pa-public-filters {
        display: none;
    }

}
/* ==========================================================================
   AJUSTE DESKTOP — POSIÇÃO DO CONTEÚDO DO HERO
   ========================================================================== */

@media (min-width: 769px) {

    .pa-public-hero .container {
        padding-top: 18px;
    }

}
/* ==========================================================================
   BOTÃO EXPORTAR CSV
   ========================================================================== */

.pa-export-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 48px;

    padding: 12px 18px;

    border:
        1px solid
        rgba(138, 90, 43, 0.22);

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #f8f1e9,
            #ffffff
        );

    color:
        var(--pa-brown);

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    white-space: nowrap;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}


.pa-export-btn:hover {
    transform:
        translateY(-2px);

    background:
        var(--pa-brown-light);

    border-color:
        rgba(138, 90, 43, 0.34);

    color:
        #70451f;

    box-shadow:
        0 10px 24px
        rgba(138, 90, 43, 0.12);
}


/* CELULAR */

@media (max-width: 768px) {

    .pa-export-btn {
        width: 100%;
    }

}


/* REDUÇÃO DE MOVIMENTO */

@media (prefers-reduced-motion: reduce) {

    .pa-export-btn {
        transition: none;
    }

    .pa-export-btn:hover {
        transform: none;
    }

}
/* ==========================================================================
   BOTÃO GERAR PDF
   ========================================================================== */

.pa-report-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 48px;

    padding: 12px 18px;

    border:
        1px solid
        rgba(46, 125, 50, 0.22);

    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #f1f8f2,
            #ffffff
        );

    color:
        var(--pa-green);

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    white-space: nowrap;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}


.pa-report-btn:hover {
    transform:
        translateY(-2px);

    background:
        var(--pa-green-light);

    border-color:
        rgba(46, 125, 50, 0.34);

    color:
        var(--pa-green-hover);

    box-shadow:
        0 10px 24px
        rgba(46, 125, 50, 0.12);
}


@media (max-width: 768px) {

    .pa-report-btn {
        width: 100%;
    }

}


@media (prefers-reduced-motion: reduce) {

    .pa-report-btn {
        transition: none;
    }

    .pa-report-btn:hover {
        transform: none;
    }

}
/* ==========================================================================
   RELATÓRIO INSTITUCIONAL — PRODUÇÃO ANIMAL
   ========================================================================== */

.is-report-mode {
    background: #ffffff;
}


body:has(.is-report-mode) .site-header {
    display: none !important;
}


body:has(.is-report-mode) .sorteios-floating-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}


/* CABEÇALHO */

.pa-report-header {
    background: #ffffff;

    padding: 52px 0 30px;

    border-bottom:
        1px solid #dce8df;
}


.pa-report-header .container,
.pa-report-footer .container {
    max-width: 980px;

    margin: 0 auto;
}


.pa-report-brand {
    display: flex;

    align-items: center;

    gap: 22px;

    margin-bottom: 46px;

    padding-bottom: 38px;

    border-bottom:
        1px solid #dce8df;
}


.pa-report-logo img {
    display: block;

    width: auto;

    max-width: 120px;
    max-height: 88px;
}


.pa-report-identity {
    display: flex;

    flex-direction: column;

    gap: 4px;
}


.pa-report-identity strong {
    color: #123d21;

    font-size: 27px;
    font-weight: 850;

    line-height: 1.1;
}


.pa-report-identity span {
    margin-top: 4px;

    color: #59695f;

    font-size: 13px;
}


/* TÍTULO */

.pa-report-title {
    margin-bottom: 26px;
}


.pa-report-title > span {
    display: inline-block;

    margin-bottom: 10px;

    color: #237238;

    font-size: 11px;
    font-weight: 850;

    letter-spacing: 0.10em;

    text-transform: uppercase;
}


.pa-report-title h1 {
    margin: 0 0 12px;

    color: #123d21;

    font-size: 38px;
    font-weight: 850;

    line-height: 1.08;

    letter-spacing: -0.025em;
}


.pa-report-title p {
    margin: 0;

    max-width: 760px;

    color: #627068;

    font-size: 14px;

    line-height: 1.6;
}


/* METADADOS */

.pa-report-meta {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 12px;
}


.pa-report-meta > div {
    padding: 14px 16px;

    border:
        1px solid #dce8df;

    border-radius: 12px;

    background: #f8fbf9;
}


.pa-report-meta span {
    display: block;

    margin-bottom: 5px;

    color: #718178;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}


.pa-report-meta strong {
    display: block;

    color: #1b472d;

    font-size: 14px;

    line-height: 1.35;
}


/* MODO RELATÓRIO */

.is-report-mode .pa-public-hero,
.is-report-mode .pa-public-filters {
    display: none;
}


.is-report-mode .pa-public-summary {
    padding-top: 34px;
}


.is-report-mode .pa-summary-card,
.is-report-mode .pa-total-card,
.is-report-mode .pa-record-card {
    box-shadow: none;
}


/* RODAPÉ */

.pa-report-footer {
    padding: 34px 0 42px;

    background: #ffffff;

    border-top:
        1px solid #dce8df;
}


.pa-report-source {
    margin-bottom: 18px;

    padding: 16px 18px;

    background: #f7faf8;

    border:
        1px solid #dce8df;

    border-radius: 11px;

    color: #53665a;

    font-size: 12px;
}


.pa-report-source strong {
    color: #173f25;
}


.pa-report-actions {
    display: flex;

    align-items: center;

    gap: 22px;

    flex-wrap: wrap;
}


.pa-report-actions .btn {
    min-height: 48px;

    padding: 12px 20px;

    border: 0;

    border-radius: 11px;

    background: #287d38;

    color: #ffffff;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;
}


.pa-report-back {
    color: #287d38;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;
}


.pa-report-back:hover {
    text-decoration: underline;
}
/* ==========================================================================
   CORREÇÃO — MODO RELATÓRIO PRODUÇÃO ANIMAL
   ========================================================================== */

/* Esconde cabeçalho e elementos normais do Portal */

body:has(.producao-animal-page.is-report-mode) header,
body:has(.producao-animal-page.is-report-mode) .site-header,
body:has(.producao-animal-page.is-report-mode) #masthead,
body:has(.producao-animal-page.is-report-mode) .sorteios-floating-button,
body:has(.producao-animal-page.is-report-mode) .sorteios-float,
body:has(.producao-animal-page.is-report-mode) .floating-sorteio {
    display: none !important;
}


/* Esconde o HERO e filtros da página normal */

.producao-animal-page.is-report-mode .pa-public-hero,
.producao-animal-page.is-report-mode .pa-public-filters {
    display: none !important;
}


/* Relatório */

.producao-animal-page.is-report-mode {
    background: #ffffff !important;
}


/* Cabeçalho institucional */

.producao-animal-page.is-report-mode .pa-report-header {
    display: block;

    padding: 42px 0 30px;

    background: #ffffff;
}


/* LOGOMARCA — impede a logo gigante */

.producao-animal-page.is-report-mode .pa-report-logo {
    flex: 0 0 auto;
}


.producao-animal-page.is-report-mode .pa-report-logo img,
.producao-animal-page.is-report-mode .pa-report-logo .custom-logo {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 110px !important;
    max-height: 80px !important;

    object-fit: contain;
}


/* Remove dimensões herdadas da logo do header */

.producao-animal-page.is-report-mode .pa-report-logo a {
    display: block;

    width: auto !important;
    height: auto !important;
}


/* Marca */

.producao-animal-page.is-report-mode .pa-report-brand {
    display: flex;

    align-items: center;

    gap: 20px;

    margin-bottom: 38px;

    padding-bottom: 30px;

    border-bottom: 1px solid #dce8df;
}


/* Metadados */

.producao-animal-page.is-report-mode .pa-report-meta {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 12px;
}


/* Evita interferência do CSS geral */

.producao-animal-page.is-report-mode .pa-report-meta > div {
    display: block;

    min-width: 0;
}


/* CELULAR */

@media (max-width: 768px) {

    .producao-animal-page.is-report-mode .pa-report-meta {
        grid-template-columns: 1fr;
    }

    .producao-animal-page.is-report-mode .pa-report-brand {
        align-items: flex-start;
    }

    .producao-animal-page.is-report-mode .pa-report-title h1 {
        font-size: 30px;
    }

}

/* ==========================================================================
   IMPRESSÃO / PDF — PRODUÇÃO ANIMAL
   ========================================================================== */

@media print {

    @page {
        size: A4 portrait;
        margin: 8mm 10mm;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #17351d !important;
    }

    body header,
    body footer,
    .site-header,
    .site-footer,
    #masthead,
    .sorteios-floating-button,
    .sorteios-float,
    .floating-sorteio,
    .pa-public-hero,
    .pa-public-filters,
    .pa-report-actions {
        display: none !important;
    }

    .producao-animal-page.is-report-mode {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    .producao-animal-page.is-report-mode .container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* CABEÇALHO */

    .pa-report-header {
        padding: 0 0 4mm !important;
        border-bottom: 1px solid #dce8df !important;
        background: #ffffff !important;
    }

    .pa-report-brand {
        display: flex !important;
        align-items: center !important;
        gap: 4mm !important;
        margin: 0 0 4mm !important;
        padding: 0 0 3mm !important;
        border-bottom: 1px solid #dce8df !important;
    }

    .pa-report-logo img,
    .pa-report-logo .custom-logo {
        width: auto !important;
        height: auto !important;
        max-width: 22mm !important;
        max-height: 15mm !important;
    }

    .pa-report-identity strong {
        font-size: 12pt !important;
        line-height: 1.1 !important;
    }

    .pa-report-identity span {
        font-size: 6.5pt !important;
    }

    /* TÍTULO */

    .pa-report-title {
        margin-bottom: 3mm !important;
    }

    .pa-report-title > span {
        margin-bottom: 1mm !important;
        font-size: 6pt !important;
    }

    .pa-report-title h1 {
        margin: 0 0 1mm !important;
        font-size: 15pt !important;
        line-height: 1.1 !important;
    }

    .pa-report-title p {
        max-width: none !important;
        margin: 0 !important;
        font-size: 6.5pt !important;
        line-height: 1.3 !important;
    }

    /* METADADOS */

    .pa-report-meta {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
    }

    .pa-report-meta > div {
        padding: 2mm !important;
        border-radius: 2mm !important;
    }

    .pa-report-meta span {
        margin-bottom: 0.5mm !important;
        font-size: 5pt !important;
    }

    .pa-report-meta strong {
        font-size: 6pt !important;
        line-height: 1.2 !important;
    }

    /* INDICADORES */

    .pa-public-summary {
        padding: 4mm 0 2mm !important;
    }

    .pa-summary-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 2mm !important;
    }

    .pa-summary-card {
        min-height: 0 !important;
        padding: 2.5mm 2mm !important;
        border-radius: 2.5mm !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .pa-summary-card::before {
        height: 0.8mm !important;
    }

    .pa-summary-icon {
        width: 7mm !important;
        height: 7mm !important;
        margin-bottom: 1mm !important;
        border-radius: 2mm !important;
        font-size: 9pt !important;
    }

    .pa-summary-card strong {
        margin-bottom: 1mm !important;
        font-size: 14pt !important;
    }

    .pa-summary-card > span:not(.pa-summary-icon) {
        font-size: 5.5pt !important;
        line-height: 1.2 !important;
    }

    .pa-summary-card small {
        margin-top: 0.5mm !important;
        font-size: 5pt !important;
    }

    /* TÍTULOS DAS SEÇÕES */

    .pa-public-totals,
    .pa-public-records {
        padding: 3mm 0 2mm !important;
        background: #ffffff !important;
    }

    .pa-section-heading {
        margin: 0 auto 2mm !important;
    }

    .pa-section-heading > span {
        margin-bottom: 0.5mm !important;
        font-size: 5pt !important;
    }

    .pa-section-heading h2 {
        margin: 0 0 1mm !important;
        font-size: 11pt !important;
        line-height: 1.1 !important;
    }

    .pa-section-heading p {
        margin: 0 !important;
        font-size: 6pt !important;
        line-height: 1.25 !important;
    }

    /* CONSOLIDADO */

    .pa-totals-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 2mm !important;
    }

    .pa-total-card {
        padding: 2.5mm !important;
        border-radius: 2.5mm !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .pa-total-card > span {
        margin-bottom: 1mm !important;
        font-size: 5pt !important;
    }

    .pa-total-card strong {
        margin-bottom: 0.5mm !important;
        font-size: 12pt !important;
    }

    .pa-total-card small {
        font-size: 5pt !important;
    }

    /* REGISTRO */

    .pa-records-grid {
        display: block !important;
    }

    .pa-record-card {
        margin: 0 0 2mm !important;
        padding: 2.5mm !important;
        border-radius: 2.5mm !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .pa-record-top {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 2mm !important;
        margin-bottom: 2mm !important;
    }

    .pa-record-species {
        margin-bottom: 0.5mm !important;
        font-size: 5pt !important;
    }

    .pa-record-top h3 {
        font-size: 10pt !important;
        line-height: 1.15 !important;
    }

    .pa-record-status {
        min-height: 0 !important;
        padding: 1mm 2mm !important;
        font-size: 5pt !important;
    }

    .pa-record-meta {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
        margin-bottom: 2mm !important;
    }

    .pa-record-meta > div {
        padding: 2mm !important;
        border-radius: 2mm !important;
    }

    .pa-record-meta span,
    .pa-record-herd span,
    .pa-record-production span {
        margin-bottom: 0.5mm !important;
        font-size: 5pt !important;
    }

    .pa-record-meta strong,
    .pa-record-production strong {
        font-size: 6.5pt !important;
        line-height: 1.2 !important;
    }

    .pa-record-herd {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
        padding-top: 2mm !important;
    }

    .pa-record-herd > div {
        padding: 2mm !important;
        border-radius: 2mm !important;
    }

    .pa-record-herd strong {
        font-size: 8pt !important;
    }

    .pa-record-production {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
        margin-top: 2mm !important;
        padding-top: 2mm !important;
    }

    .pa-record-production > div {
        padding: 2mm !important;
        border-radius: 2mm !important;
    }

    /* RODAPÉ */

    .pa-report-footer {
        padding: 2mm 0 0 !important;
        border-top: 1px solid #dce8df !important;
        background: #ffffff !important;
    }

    .pa-report-source {
        margin: 0 !important;
        padding: 2mm !important;
        border-radius: 2mm !important;
        font-size: 5pt !important;
        line-height: 1.25 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}

/* 20.0-E3.2 — visão simples e segura do associado */
.pa-member-banner { padding: 0 0 24px; }
.pa-member-banner__card {
    display: flex; align-items: center; gap: 16px; padding: 18px 22px;
    border: 1px solid #cfe3d5; border-radius: 18px; background: #f5fbf7;
    box-shadow: 0 10px 28px rgba(20, 75, 42, .07);
}
.pa-member-banner__card > span { font-size: 32px; line-height: 1; }
.pa-member-banner__card strong { display: block; color: #154b2a; font-size: 18px; }
.pa-member-banner__card p { margin: 4px 0 0; color: #54665c; }
.pa-member-banner__card a {
    margin-left: auto; display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 10px 16px; border-radius: 12px; background: #247c38;
    color: #fff; font-weight: 700; text-decoration: none;
}
.pa-member-banner__card.is-warning { background: #fffaf0; border-color: #edd9a8; }
@media (max-width: 720px) {
    .pa-member-banner__card { align-items: flex-start; flex-wrap: wrap; }
    .pa-member-banner__card a { width: 100%; margin-left: 0; }
    .producao-animal-page.is-member-view .pa-public-hero p { font-size: 16px; }
}


/* Sprint 20.0-E3.4 — Assistente de cadastro da Produção Animal */
.pa-member-create{padding:26px 0 8px}.pa-create-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #d8eadc;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(24,94,45,.08)}.pa-create-head h2{margin:7px 0 5px;color:#153f27;font-size:clamp(24px,3vw,34px)}.pa-create-head p{margin:0;color:#52675a}.pa-create-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:0;border-radius:14px;background:#247c37;color:#fff;font-weight:800;font-size:16px;cursor:pointer}.pa-create-toggle span{font-size:25px}.pa-wizard{display:none;margin-top:16px;padding:24px;border:1px solid #d8eadc;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(24,94,45,.08)}.pa-wizard.is-open{display:block}.pa-wizard-progress{display:flex;align-items:center;justify-content:center;margin-bottom:25px}.pa-wizard-progress span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e6eee8;color:#647268;font-weight:900}.pa-wizard-progress span.is-active{background:#247c37;color:#fff}.pa-wizard-progress i{width:min(80px,12vw);height:3px;background:#e2e9e4}.pa-wizard-step{display:none;padding:0;border:0}.pa-wizard-step.is-active{display:block}.pa-wizard-step legend{width:100%;margin-bottom:20px;color:#173f29;font-size:clamp(24px,4vw,34px);font-weight:900;text-align:center}.pa-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.pa-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;padding:14px;border:2px solid #dce9df;border-radius:18px;background:#fbfdfb;cursor:pointer;text-align:center}.pa-choice input{position:absolute;opacity:0}.pa-choice span{font-size:36px}.pa-choice strong{margin-top:8px;font-size:16px}.pa-choice:has(input:checked){border-color:#247c37;background:#eef9f0;box-shadow:0 0 0 3px rgba(36,124,55,.1)}.pa-simple-field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.pa-simple-field>span{color:#294b35;font-weight:800}.pa-simple-field input,.pa-simple-field select,.pa-simple-field textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid #cbdccf;border-radius:13px;background:#fff;color:#183a27;font:inherit}.pa-simple-field textarea{min-height:95px;resize:vertical}.pa-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pa-wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:15px}.pa-wizard-actions button{min-height:50px;padding:0 20px;border-radius:13px;font-weight:800;cursor:pointer}.pa-step-back{border:1px solid #b8ccbd;background:#fff;color:#285039}.pa-step-next,.pa-step-submit{border:0;background:#247c37;color:#fff}.pa-step-submit{display:none}.pa-wizard.is-last .pa-step-next{display:none}.pa-wizard.is-last .pa-step-submit{display:inline-flex;align-items:center}.pa-wizard-note{margin:18px 0 0;padding:13px;border-radius:12px;background:#f1f8f2;color:#405a47;text-align:center}.pa-front-alert{margin-bottom:15px;padding:15px 18px;border-radius:13px;font-weight:800}.pa-front-alert.is-success{background:#eaf8ed;color:#17632e}.pa-front-alert.is-error{background:#fff1ef;color:#9f2d22}
@media(max-width:720px){.pa-create-head{align-items:stretch;flex-direction:column}.pa-create-toggle{width:100%}.pa-wizard{padding:18px}.pa-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-choice{min-height:108px}.pa-inline-fields{grid-template-columns:1fr}.pa-wizard-actions{display:grid;grid-template-columns:1fr 1fr}.pa-wizard-actions button{width:100%;padding:0 10px}.pa-step-submit{grid-column:1/-1}.pa-wizard-progress i{width:28px}}
@media(prefers-reduced-motion:reduce){.pa-create-toggle,.pa-choice,.pa-wizard-actions button{transition:none}}
