/* S20. Compensation worksheets and statutory passages remain readable on screen and paper. */
.s20-fees-page [hidden] { display: none !important; }
.s20-fees-page :is(.mobile-cta,.tool-next) { display: none !important; }
.s20-fees-page :is(.container,.field,select,.form-card) { min-width: 0; min-inline-size: 0; }
.s20-fees-page .ef-warning { font-weight: 600; }
.s20-fees-page .ef-table { width: 100%; min-width: 0; }
.s20-fees-page .ef-table :is(th,td) { vertical-align: top; overflow-wrap: anywhere; }
.s20-fees-page .ef-state-heading th { background: var(--surface-soft); font-size: 1.1rem; }
.s20-fees-page .ef-state-heading :is(.fine,p) { font-size: .94rem; font-weight: 400; margin: 8px 0 0; }
.s20-fees-page .ef-excerpt { margin: 0; }
.s20-fees-page q { display: block; white-space: pre-line; quotes: none; }
.s20-fees-page cite { font-style: normal; }
.s20-fees-page mark { background: var(--primary-soft); color: var(--text); }
@media screen and (min-width: 1024px) {
 .s20-fees-page .ef-table { table-layout: fixed; }
 .s20-fees-page .ef-table :is(th,td):nth-child(1) { width: 15%; }
 .s20-fees-page .ef-table :is(th,td):nth-child(2) { width: 63%; }
 .s20-fees-page .ef-table :is(th,td):nth-child(3) { width: 22%; }
 .s20-fees-page .ef-table .ef-state-heading th { width: 100%; }
}
@media screen and (max-width: 1023px) {
 .s20-fees-page .ef-table thead { display: none; }
 .s20-fees-page :is(.ef-table,.ef-table tbody,.ef-table tr,.ef-table th,.ef-table td) { display: block; width: 100%; }
 .s20-fees-page .ef-table tr { border-bottom: 1px solid var(--line); padding: 14px 18px; }
 .s20-fees-page .ef-table :is(th,td) { border: 0; padding: 4px 0; }
 .s20-fees-page .ef-table td::before { content: attr(data-label); display: block; font-weight: 600; }
}
@media (max-width: 640px) {
 .s20-fees-page .form-card { padding: 20px; }
 .s20-fees-page .ef-table :is(th,td) { min-width: 0; }
}
@media print {
 .s20-fees-page { font-size: 10pt; line-height: 1.35; }
 .s20-fees-page .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
 .s20-fees-page :is(.container,.container.narrow) { width: 100%; max-width: none; padding: 0; }
 .s20-fees-page :is(.section,.section-tight) { padding: 0; }
 .s20-fees-page :is(.no-print,.faq,.tool-next,.mobile-cta) { display: none !important; }
 .s20-fees-page .fact-table-wrap { overflow: visible; border: 0; }
 .s20-fees-page :is(.ef-table,.ef-table tbody,.ef-table tr,.ef-table th,.ef-table td) { display: block; width: 100%; border: 0; padding: 0; min-width: 0; }
 .s20-fees-page .ef-table { overflow: visible; border-radius: 0; }
 .s20-fees-page .ef-table thead { display: none; }
 .s20-fees-page .ef-state-heading th { margin: 12pt 0 6pt; background: none; }
 .s20-fees-page .ef-table tr { margin: 0 0 12pt; break-inside: auto; }
 .s20-fees-page .ef-table th { break-after: avoid; }
 .s20-fees-page .ef-table td::before { content: attr(data-label); display: block; font-weight: 600; }
 .s20-fees-page .ef-table td:last-child { break-inside: avoid; }
 .s20-fees-page .ef-table a::after { content: attr(href); display: block; font-size: 9pt; overflow-wrap: anywhere; }
 .s20-fees-page .ef-table :is(p,q,cite,.fine) { font-size: 10pt; line-height: 1.35; }
 .s20-fees-page mark { background: none; color: inherit; }
 .s20-fees-page h2 { break-after: avoid; }
 .s20-fees-page .ef-support { margin-top: 20pt; }
 .s20-fees-page .ef-state-heading { break-inside: avoid; }
 .s20-fees-page :is(.ef-support .std-list,.ef-support .std-list > li) { display: block; border: 0; border-radius: 0; overflow: visible; font-size: 10pt; }
 .s20-fees-page .ef-support .std-list > li { padding: 8pt 0; break-inside: avoid; }
 .s20-fees-page .ef-support .std-list span { font-size: inherit; }
}

.s20-fees-page .ef-fields { margin: 24px 0; }
.s20-fees-page .field small { color: var(--muted); font-weight: 400; }
.s20-fees-page .ef-total { font-size: 2rem; font-weight: 700; color: var(--text); }
.s20-fees-page .ef-error { color: var(--fail-ink); }
.s20-fees-page .ef-steps { width: 100%; margin: 20px 0; }
@media (max-width: 640px) {
 .s20-fees-page :is(.ef-steps,.ef-steps tbody,.ef-steps tr,.ef-steps th,.ef-steps td) { display: block; width: 100%; min-width: 0; }
 .s20-fees-page .ef-steps thead { display: none; }
 .s20-fees-page .ef-steps td::before { content: attr(data-label); display: block; font-weight: 600; }
}
@media print {
 .s20-fees-page #ef-result { break-inside: auto; }
 .s20-fees-page .ef-steps { table-layout: fixed; font-size: 10pt; }
 .s20-fees-page .ef-steps :is(th,td) { padding: 6pt; font-size: 10pt; overflow-wrap: anywhere; }
}

.s20-fees-page .ef-entered { margin: 16px 0; }
.s20-fees-page .ef-entered dt { font-weight: 600; }
.s20-fees-page .ef-entered dd { margin: 0 0 12px; }
