.pontes-plano {
    max-width: 1160px;
    margin: 8px auto 28px;
    
    padding: 0;
    box-sizing: border-box;
}

.pontes-plano__form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 20px;
    align-items: start;
    padding: 20px 22px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--light-bg);
}

.pontes-plano__campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.pontes-plano__campo label {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-color);
}

.pontes-plano__campo select,
.pontes-plano__campo input[type="number"] {
    width: 100%;
    
    min-height: 49px;
    padding: 12px 15px;
    font-size: 1rem;
    color: var(--text-color);
    background: var(--content-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-sizing: border-box;
}

.pontes-plano__campo--largo {
    grid-column: 1 / -1;
}

.pontes-plano__opcoes {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.pontes-plano__opcoes legend {
    padding: 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-color);
}

.pontes-plano__opcao {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}

.pontes-plano__opcao input[type="checkbox"] {
    
    width: 24px;
    height: 24px;
    min-width: 24px;
    margin: 0;
    accent-color: var(--primary-color);
    flex: 0 0 auto;
}

.pontes-plano__opcao label {
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--text-color);
    font-weight: 500;
}

.pontes-plano__folgas .pontes-plano__opcao {
    display: inline-flex;
    margin-right: 18px;
}

.pontes-plano__folgas legend {
    margin-bottom: 2px;
}

.pontes-plano__acao {
    grid-column: 1 / -1;
}

.pontes-plano__botao {
    min-height: 44px;
    padding: 10px 22px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--btn-primary-text);
    background: var(--btn-primary-bg);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.pontes-plano__botao:hover,
.pontes-plano__botao:focus-visible {
    background: var(--btn-primary-hover-bg);
}

.pontes-plano__resultado {
    
    scroll-margin-top: 84px;
    margin-top: 22px;
    padding: 22px 24px;
    border: 1px solid var(--res-card-border);
    border-radius: 12px;
    background: var(--res-card-bg);
    box-shadow: var(--res-card-shadow);
}

.pplano-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.pplano-topo__texto {
    min-width: 0;
}

.pplano-etiqueta {
    display: inline-block;
    margin: 0 0 6px;
    padding: 3px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--etiqueta-texto, #8d6700);
    background: var(--res-highlight-bg);
    border-radius: 999px;
}

.pplano-titulo {
    margin: 0;
    font-size: 1.35rem;
    color: var(--text-color);
}

.pplano-resposta {
    margin: 4px 0 0;
    font-size: 1.05rem;
    line-height: 1.5;
    color: var(--text-color);
}

.pplano-resposta strong {
    color: var(--res-highlight-text);
}

.pplano-regime {
    margin: 6px 0 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--secondary-color);
}

.pplano-barra {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.pplano-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background: var(--content-bg);
    color: var(--text-color);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
}

.pplano-btn:hover,
.pplano-btn:focus-visible {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.pplano-btn--forte {
    background: var(--btn-primary-bg);
    color: var(--btn-primary-text);
    border-color: var(--btn-primary-bg);
}

.pplano-btn--forte:hover,
.pplano-btn--forte:focus-visible {
    background: var(--btn-primary-hover-bg);
    border-color: var(--btn-primary-hover-bg);
    color: var(--btn-primary-text);
}

.pplano-legenda {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin: 0 0 8px;
    font-size: 0.84rem;
    line-height: 1.5;
    color: var(--secondary-color);
}

.pplano-legenda__i {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.pplano-legenda__a {
    position: relative;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    background: #fafafd;
    color: #1d1d1f;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.pplano-legenda__a.holiday {
    background: #ffe5e3;
    color: var(--feriado-texto-sobre-tom-claro, #c81e14);
    font-weight: 700;
}

body.dark-mode .pplano-legenda__a {
    background: rgba(255, 255, 255, 0.04);
    color: #f5f5f7;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

body.dark-mode .pplano-legenda__a.holiday {
    background: rgba(255, 69, 58, 0.18);
    color: #ff9a94;
}

.pplano-legenda-nota {
    margin: 0 0 16px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--secondary-color);
}

.pontes-plano .table-responsive,
body.tool-pontes .article-content .table-responsive {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

.pplano-regua {
    display: flex;
    gap: 1px;
    height: 26px;
    margin: 20px 0 6px;
}

.pplano-regua__s {
    flex: 1 1 0;
    min-width: 0;
    border-radius: 1px;
    background: var(--res-calendar-header);
}

a.pplano-regua__s {
    display: block;
    text-decoration: none;
}

a.pplano-regua__s:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.pplano-regua__s--util {
    background: var(--res-calendar-header);
}

.pplano-regua__s--fds {
    background: var(--res-day-weekend-bg);
    background: color-mix(in srgb, var(--res-calendar-dimmed) 25%, var(--res-card-bg));
}

.pplano-regua__s--feriado {
    background: var(--res-day-holiday-text);
}

.pplano-regua__s--bloco {
    background: var(--res-day-hover);
    background: color-mix(in srgb, var(--res-day-selected) 42%, var(--res-card-bg));
}

.pplano-regua__s--aberto {
    background: var(--res-day-selected);
}

.pplano-regua-meses {
    display: flex;
    margin: 0 0 18px;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
    color: var(--regua-meses-texto, #727276);
}

.pplano-regua-meses > span {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
}

.pplano-legenda__a--regua {
    width: 26px;
    height: 14px;
    border-radius: 2px;
    box-shadow: none;
}

body.dark-mode .pplano-legenda__a--regua {
    box-shadow: none;
}

@media (max-width: 900px) {
    .pplano-regua {
        gap: 0;
        height: 22px;
    }
    .pplano-regua__s {
        border-radius: 0;
    }
}

.pplano-subtitulo {
    margin: 26px 0 10px;
    font-size: 1.05rem;
    color: var(--text-color);
}

.pplano-blocos {
    margin: 0;
    padding: 0;
    container-type: inline-size;
    container-name: pplano;
}

.pplano-lista {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pplano-cab,
.pplano-linha {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 2px 12px;
    align-items: start;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.pplano-cab {
    display: none;
}

.pplano-linha__n {
    grid-column: 1;
    grid-row: 1;
}

.pplano-linha__dias,
.pplano-linha__periodo,
.pplano-linha__marcar,
.pplano-linha__sust {
    grid-column: 2;
}

.pplano-rot {
    color: var(--secondary-color);
    font-weight: 400;
}

.pplano-linha {
    min-height: 44px;
    border-color: var(--border-color);
    border-radius: 8px;
    background: var(--content-bg);
    color: var(--text-color);
    text-decoration: none;
}

@container pplano (min-width: 740px) {
    .pplano-cab,
    .pplano-linha {
        grid-template-columns: 26px 74px 186px minmax(0, 1.05fr) minmax(0, 1.3fr);
        gap: 0 14px;
        align-items: center;
        padding: 10px 14px;
    }

    .pplano-cab {
        display: grid;
        padding-top: 0;
        padding-bottom: 6px;
        font-size: 0.78rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: var(--secondary-color);
    }

    .pplano-linha__dias,
    .pplano-linha__periodo,
    .pplano-linha__marcar,
    .pplano-linha__sust {
        grid-column: auto;
    }

    .pplano-rot {
        display: none;
    }
}

.pplano-linha:hover,
.pplano-linha:focus-visible {
    border-color: var(--primary-color);
}

.pplano-linha--aberta {
    border-color: var(--primary-color);
    background: var(--res-highlight-bg);
}

.pplano-linha__n {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    font-size: 0.76rem;
    font-weight: 700;
    background: var(--res-highlight-bg);
    color: var(--res-highlight-text);
}

.pplano-linha--aberta .pplano-linha__n {
    background: var(--primary-color);
    color: var(--btn-primary-text);
}

.pplano-linha__dias {
    font-weight: 700;
    white-space: nowrap;
}

.pplano-linha__periodo {
    min-width: 0;
}

.pplano-linha__marcar {
    min-width: 0;
    font-weight: 600;
    color: var(--res-highlight-text);
}

.pplano-linha__sust {
    min-width: 0;
    color: var(--secondary-color);
    font-size: 0.86rem;
}

.pontes-plano__nota {
    margin: 0 0 12px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--secondary-color);
}

.pontes-plano__resposta {
    margin: 0 0 16px;
    font-size: 1.16rem;
    line-height: 1.5;
    font-weight: 700;
    color: var(--text-color);
}

.pontes-plano__aviso {
    margin: 14px 0 0;
    padding: 10px 14px;
    font-size: 0.92rem;
    line-height: 1.55;
    color: var(--text-color);
    background: var(--res-highlight-bg);
    border: 1px solid var(--warning-color);
    border-radius: 8px;
}

.pontes-plano__recusa {
    margin: 0 0 14px;
    padding: 12px 16px;
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--text-color);
    background: var(--res-day-holiday-bg);
    border: 1px solid var(--danger-color);
    border-radius: 8px;
}

.pontes-plano__lei {
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--border-color);
    font-size: 0.92rem;
    line-height: 1.65;
    color: var(--secondary-color);
}

.pontes-relacionadas {
    margin: 22px auto 0;
    padding: 0 4px;
}

.pontes-relacionadas h2 {
    margin: 0 0 10px;
    font-size: clamp(1.05rem, 1.3vw, 1.25rem);
    font-weight: 700;
    color: var(--text-color);
}

.pontes-relacionadas ul {
    margin: 0;
    padding-left: 20px;
}

.pontes-relacionadas li {
    margin-bottom: 6px;
    line-height: 1.6;
    color: var(--text-color);
}

@media (max-width: 900px) {
    .pontes-plano__form {
        grid-template-columns: 1fr;
        padding: 16px;
    }
    .pontes-plano__resultado {
        padding: 18px 16px;
    }
    
}

@media (min-width: 901px) {
    body.cal-year-wide .pontes-plano__resultado #annual-calendar-container {
        margin-left: -25px;
        margin-right: -25px;
    }
}

body.cal-year-wide #annual-calendar-container .calendar-day.pplano-dia,
.pplano-legenda__a.pplano-dia {
    box-shadow: inset 0 0 0 1.5px var(--primary-color);
}

body.cal-year-wide #annual-calendar-container .calendar-day.pplano-dia--aberto:not(.holiday),
.pplano-legenda__a.pplano-dia--aberto {
    background: var(--res-day-range-bg);
}

body.cal-year-wide #annual-calendar-container .calendar-day.pplano-dia--aberto,
.pplano-legenda__a.pplano-dia--aberto {
    box-shadow: inset 0 0 0 2px var(--primary-color);
    font-weight: 700;
}

body.cal-year-wide #annual-calendar-container .calendar-day.pplano-dia--marcar,
.pplano-legenda__a.pplano-dia--marcar {
    background: var(--res-day-selected);
    color: var(--res-day-selected-text);
    box-shadow: inset 0 0 0 2px var(--primary-color);
    font-weight: 700;
}


body.cal-year-wide #annual-calendar-container .month-title .pplano-mes {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    font-variant-numeric: tabular-nums;
    background: var(--res-highlight-bg);
    color: var(--res-highlight-text);
}

body.cal-year-wide #annual-calendar-container .month-title .pplano-mes--melhor {
    background: var(--res-day-selected);
    color: var(--res-day-selected-text);
}

.pplano-intencao__trilho ol {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 12px 16px 0;
    list-style: none;
    font-size: 0.86rem;
    color: var(--secondary-color);
}

.pplano-intencao__cabeca h1 {
    margin: 0 0 6px;
    color: var(--text-color);
}

.pplano-intencao__cabeca p {
    margin: 0 0 16px;
    color: var(--secondary-color);
    line-height: 1.6;
}

.pplano-intencao__accoes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 0 0 20px;
}

.pplano-intencao__accoes button.pplano-btn {
    cursor: pointer;
    font-family: inherit;
}

.pplano-intencao__estado {
    font-size: 0.88rem;
    color: var(--secondary-color);
}

.pplano-folha {
    width: 794px;
    max-width: 100%;
    margin: 0 auto;
    padding: 24px;
    box-sizing: border-box;
    background: var(--content-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
}

.pplano-folha__marca {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-color);
}

.pplano-folha__logo { height: 31px; width: auto; display: block; }

.pplano-folha__etiqueta {
    font-size: 0.72rem;
    color: var(--secondary-color);
}

.pplano-folha__hero {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
    padding: 12px 14px;
    background: var(--res-highlight-bg);
    border-radius: 8px;
}

.pplano-folha__titulo {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.05;
    color: var(--res-highlight-text);
}

.pplano-folha__sub {
    margin-top: 4px;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--text-color);
}

.pplano-folha__regime {
    margin-top: 3px;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--secondary-color);
}

.pplano-folha__qr {
    width: 62px;
    height: 62px;
    padding: 4px;
    box-sizing: border-box;
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 6px;
}

.pplano-folha__qr svg { display: block; width: 100%; height: 100%; }

.pplano-folha__legenda {
    margin: 10px 0 14px;
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--secondary-color);
}

.pplano-folha__blocos {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid var(--primary-color);
}

.pplano-folha__blocos h2 {
    margin: 0 0 4px;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--primary-color);
}

.pplano-folha__blocos table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.pplano-folha__blocos caption {
    text-align: left;
    padding-bottom: 6px;
    font-size: 0.76rem;
    color: var(--secondary-color);
}

.pplano-folha__blocos th,
.pplano-folha__blocos td {
    padding: 5px 6px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-color);
}

.pplano-folha__destaque td {
    font-weight: 700;
    background: var(--res-highlight-bg);
}

.pplano-folha__lei {
    margin: 12px 0 0;
    font-size: 0.74rem;
    line-height: 1.5;
    color: var(--secondary-color);
}

@media (max-width: 860px) {
    .pplano-folha { padding: 16px; }
}

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

    .no-print,
    .site-micro-header,
    .cookie-consent-banner,
    .skip-link,
    .header-spacer,
    footer,
    .pplano-mes,
    .ad-slot { display: none !important; }

    .pplano-folha {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    
    html body .pplano-folha #annual-calendar-container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
    html body .pplano-folha .month-container {
        min-width: 0 !important;
        padding: 5px 7px 8px !important;
        border: 1px solid #ccc !important;
        border-radius: 6px !important;
        background: #fff !important;
        box-shadow: none !important;
        transform: none !important;
    }
    html body .pplano-folha .month-title {
        margin-bottom: 1px !important;
        padding-bottom: 1px !important;
        font-size: 8pt !important;
        line-height: 1.1 !important;
    }
    html body .pplano-folha .calendar-grid.calendar-grid--with-weeks {
        grid-template-columns: 22px repeat(7, minmax(0, 1fr)) !important;
        gap: 1.3px !important;
        padding: 0 !important;
        font-size: 8pt !important;
        line-height: 1 !important;
    }
    html body .pplano-folha .calendar-header-day { padding-bottom: 1px !important; font-size: 6pt !important; }
    html body .pplano-folha .calendar-week-cell {
        width: 100% !important;
        max-width: 22px !important;
        min-height: 0 !important;
        aspect-ratio: 1.35 / 1 !important;
        box-shadow: none !important;
    }
    html body .pplano-folha .calendar-day {
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 1.46 / 1 !important;
        padding: 0 !important;
        border-radius: 2px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    
    html body .pplano-folha #annual-calendar-container .calendar-day.pplano-dia {
        box-shadow: inset 0 0 0 1.2px #005bb5 !important;
    }
    html body .pplano-folha #annual-calendar-container .calendar-day.pplano-dia--aberto:not(.holiday) {
        background: #eef6ff !important;
    }
    html body .pplano-folha #annual-calendar-container .calendar-day.pplano-dia--aberto {
        box-shadow: inset 0 0 0 1.8px #005bb5 !important;
        font-weight: 700 !important;
    }
    html body .pplano-folha #annual-calendar-container .calendar-day.pplano-dia--marcar {
        background: #005bb5 !important;
        color: #ffffff !important;
        box-shadow: inset 0 0 0 1.8px #005bb5 !important;
        font-weight: 700 !important;
    }

    html body .pplano-folha .pplano-regua {
        gap: 0 !important;
        height: 12pt !important;
        margin: 6pt 0 2pt !important;
    }
    html body .pplano-folha .pplano-regua__s {
        border-radius: 0 !important;
    }
    html body .pplano-folha .pplano-regua__s--util { background: #f2f2f4 !important; }
    html body .pplano-folha .pplano-regua__s--fds { background: #d6d6d8 !important; }
    html body .pplano-folha .pplano-regua__s--feriado { background: #d32f2f !important; }
    html body .pplano-folha .pplano-regua__s--bloco { background: #99bde1 !important; }
    html body .pplano-folha .pplano-regua__s--aberto { background: #005bb5 !important; }
    html body .pplano-folha .pplano-regua-meses {
        display: flex !important;
        margin: 0 0 6pt !important;
        font-size: 5.5pt !important;
        color: #6e6e73 !important;
    }
    html body .pplano-folha .pplano-regua-meses > span { flex: 1 1 0 !important; text-align: center !important; }

    html body .pplano-folha,
    html body .pplano-folha * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .pplano-folha__blocos { break-inside: avoid; page-break-inside: avoid; }
}

body.cal-year-wide #annual-calendar-container .calendar-day > .cal-day-acao {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: inherit;
}

body.cal-year-wide #annual-calendar-container .calendar-day:has(> .cal-day-acao) {
    cursor: pointer;
}

body.cal-year-wide #annual-calendar-container .calendar-day > .cal-day-acao:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: -2px;
}

body.cal-year-wide #annual-calendar-container .calendar-day:hover > .cal-day-acao {
    box-shadow: inset 0 0 0 1.5px var(--primary-color);
    border-radius: inherit;
}

.pontes-plano__resultado[aria-busy="true"] {
    opacity: 0.55;
    transition: opacity 0.12s ease;
}

@media (prefers-reduced-motion: reduce) {
    .pontes-plano__resultado[aria-busy="true"] { transition: none; }
}

.pontes-plano__acao {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.pontes-plano__campo--bloco {
    flex: 1 1 320px;
    min-width: 0;
}

@media (max-width: 900px) {
    .pontes-plano__acao {
        flex-direction: column;
        align-items: stretch;
    }
    .pontes-plano__botao {
        width: 100%;
    }
}

.pplano-fraccao {
    margin: 12px 0 0;
    padding: 12px 16px;
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--text-color);
    background: var(--res-card-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

.pplano-fraccao strong {
    font-weight: 600;
}

@media print {
    html body .pplano-fraccao {
        background: none;
        border: 0;
        border-left: 2px solid #999;
        padding: 4px 10px;
    }
    html body #annual-calendar-container .calendar-day > .cal-day-acao {
        color: inherit;
        text-decoration: none;
    }
}

.pplano-comojoga {
    margin: 0 0 14px;
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--secondary-color);
}

.pplano-sugestao {
    margin: 0 0 12px;
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--secondary-color);
}

body.cal-year-wide #annual-calendar-container .month-container {
    cursor: default;
}

body.cal-year-wide #annual-calendar-container .month-container:hover,
body.cal-year-wide #annual-calendar-container .month-container:focus {
    transform: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.08);
}

@media print {
    html body .pplano-comojoga,
    html body .pplano-sugestao { display: none !important; }
}
.pontes-plano__anuncio { margin: 10px 0 0; font-size: .86rem; opacity: .8; min-height: 1.2em; }
.pontes-plano__falha { margin: 10px 0 0; padding: 10px 12px; border: 1px solid #e0b4b4; border-radius: 8px; background: #fdf2f2; color: #8a2020; font-size: .95rem; }
body.dark-mode .pontes-plano__falha { background: #3a1f1f; color: #ffd9d9; border-color: #7a3a3a; }
#pontes-plano-resultado[aria-busy="true"] { opacity: .55; }
h2#pontes-plano-titulo:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 3px; }
