@layer componentes {
.fr-frame { --fx-px: 16px; --fx-gap: 16px; --fx-r: 12px; }
.container.calc-main-container.fr-frame, .tool-container.fr-frame { padding: 0 var(--fx-px) var(--fx-px); border: 1px solid #d2d2d7; border-radius: var(--fx-r); background: #fff; box-shadow: 0 4px 20px rgba(0, 0, 0, .08); overflow: visible; }
.fr-frame > .cdp-cabeca.cdp-faixa-solta, .cdp-bloco-ferramenta > .cdp-cabeca { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 10px; padding: 14px 18px; background: #0b1d38; border-bottom: 0; }
.fr-frame > .cdp-cabeca.cdp-faixa-solta { margin: 0 calc(-1 * var(--fx-px)) var(--fx-gap); border-radius: calc(var(--fx-r) - 1px) calc(var(--fx-r) - 1px) 0 0; }
.fr-frame > .cdp-cabeca .cdp-cabeca-titulo, .cdp-bloco-ferramenta > .cdp-cabeca .cdp-cabeca-titulo { margin: 0; color: #fff; font-size: 1.25rem; font-weight: 700; line-height: 1.3; text-align: left; }
.cdp-bloco-ferramenta { border-color: #d2d2d7; box-shadow: 0 4px 20px rgba(0, 0, 0, .08); }
.cdp-bloco-ferramenta > .cdp-cabeca { border-radius: 11px 11px 0 0; }
.fr-frame .btn-calc-main, .cdp-bloco-ferramenta .btn-calc-main { border-radius: 8px; }
.fr-ctl { display: block; box-sizing: border-box; width: 100%; height: 50px; padding: 12px 15px; border: 1px solid rgb(210, 210, 210); border-radius: 8px; background: #fff; color: #1d1d1f; font-size: 16px; line-height: 1.2; }
.fr-ctl:focus-visible { outline: 2px solid #007aff; outline-offset: 1px; border-color: #007aff; }
.fr-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.fr-seg > button { flex: 1 1 auto; min-height: 44px; padding: 0 14px; border: 1px solid rgb(210, 210, 210); border-radius: 8px; background: #fff; color: #1d1d1f; font-size: .95rem; font-weight: 600; cursor: pointer; }
.fr-seg > button[aria-pressed="true"] { background: #005bb5; border-color: #005bb5; color: #fff; }
.fr-mais { margin-top: 12px; }
.fr-regiao-rot { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.fr-regiao-rot > .form-label { margin: 0; }
.fr-regiao-campo { margin-bottom: 14px; }
.tef-submeter { margin-bottom: 16px; }
html body .fr-regiao-campo .cp-seg { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body .fr-regiao-campo .cp-seg > button { padding: 4px 8px !important; line-height: 1.2; white-space: normal !important; }
.fr-opcoes { border: 0; background: transparent; padding: 0; }
.fr-opcoes > summary { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-weight: 500; font-size: .88rem; color: var(--secondary-color); list-style: none; user-select: none; }
.fr-opcoes > summary::-webkit-details-marker { display: none; }
.fr-opcoes .include-options-plus { color: var(--primary-color); font-weight: 700; line-height: 1; }
.fr-opcoes[open] > summary { margin-bottom: 8px; }
.pdu-regiao-rot { display: block; margin-bottom: 6px; font-size: .9rem; font-weight: 600; }
.pdu-regiao { max-width: 520px; }
.fr-seg--radio > label { position: relative; flex: 1 1 auto; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px; border: 1px solid rgb(210, 210, 210); border-radius: 8px; background: #fff; color: #1d1d1f; font-size: .95rem; font-weight: 600; cursor: pointer; }
.fr-seg--radio > label > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fr-seg--radio > label:has(input:checked) { background: #005bb5; border-color: #005bb5; color: #fff; }
.fr-seg--radio > label:has(input:focus-visible) { outline: 2px solid #007aff; outline-offset: 2px; }
body.dark-mode .fr-seg--radio > label { background: #2c2c2e; border-color: #3a3a3c; color: #f5f5f7; }
body.dark-mode .fr-seg--radio > label:has(input:checked) { background: #0a84ff; border-color: #0a84ff; color: #fff; }
.fr-mais > summary { cursor: pointer; font-weight: 600; color: #005bb5; list-style: none; }
.fr-mais > summary::-webkit-details-marker { display: none; }
.fr-mais[open] > summary { margin-bottom: 10px; }
body.dark-mode .fr-ctl, body.dark-mode .fr-seg > button { background: #2c2c2e; border-color: #3a3a3c; color: #f5f5f7; }
body.dark-mode .fr-seg > button[aria-pressed="true"] { background: #0a84ff; border-color: #0a84ff; color: #fff; }
body.dark-mode .fr-mais > summary { color: #7dd3fc; }
body.dark-mode .container.calc-main-container.fr-frame, body.dark-mode .tool-container.fr-frame { background: #1c1c1e; border-color: #3a3a3c; box-shadow: 0 4px 20px rgba(0, 0, 0, .35); }
body.dark-mode .fr-frame > .cdp-cabeca.cdp-faixa-solta, body.dark-mode .cdp-bloco-ferramenta > .cdp-cabeca { background: #0b1d38; }
body.dark-mode .fr-frame > .cdp-cabeca .cdp-cabeca-titulo, body.dark-mode .cdp-bloco-ferramenta > .cdp-cabeca .cdp-cabeca-titulo { color: #fff; }
body.dark-mode .cdp-bloco-ferramenta { border-color: #3a3a3c; }
.calculator-section:has(> .cdp-bloco-ferramenta) { padding: 16px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, .08); }
.calculator-section > .cdp-bloco-ferramenta { box-shadow: none; }
.cdp-q4 .cdp-q4-foot a:focus-visible, .cdp-q4 .highlight a:focus-visible { outline-color: #007aff; }
body.dark-mode .cdp-q4 .cdp-q4-foot a:focus-visible, body.dark-mode .cdp-q4 .highlight a:focus-visible { outline-color: #7dd3fc; }
body.dark-mode .date-normalization-notice { background: #3a2e10 !important; border-color: #8a6d1f !important; color: #fde9a8; }
@media (max-width: 768px) {
  .container.calc-main-container.fr-frame, .tool-container.fr-frame { margin-left: 0; margin-right: 0; width: auto; }
  .calculator-section:has(> .cdp-bloco-ferramenta) { margin-left: 0; margin-right: 0; width: auto; }
  .fr-frame > .cdp-cabeca.cdp-faixa-solta, .cdp-bloco-ferramenta > .cdp-cabeca { padding: 12px 16px; }
  .fr-frame > .cdp-cabeca .cdp-cabeca-titulo, .cdp-bloco-ferramenta > .cdp-cabeca .cdp-cabeca-titulo { font-size: 1.125rem; }
}
@media print {
  .fr-frame > .cdp-cabeca.cdp-faixa-solta, .cdp-bloco-ferramenta > .cdp-cabeca { background: none; padding: 0 0 8px; }
  .fr-frame > .cdp-cabeca .cdp-cabeca-titulo, .cdp-bloco-ferramenta > .cdp-cabeca .cdp-cabeca-titulo { color: #000; }
}
}
