#rewrite-budget { padding: 20px 0; }
.estimate-text { max-width: 780px; margin-bottom: 24px; }
.estimate-text textarea { display: block; min-height: 130px; }
.estimate-text .estimate-note { margin: 8px 0 0; font-size: 13px; }
.estimate-controls { max-width: 250px; }
.estimate-text-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.estimate-text-heading label { margin: 0; }
.estimate-text-heading button { flex-shrink: 0; }
#estimate-source:not([hidden]) { display: inline-block; }
#estimate-status { font-size: 22px; font-weight: bold; }
#estimate-results table { max-width: 780px; font-variant-numeric: tabular-nums; }
#estimate-results td:last-child, #estimate-results th:last-child { text-align: right; }
html[data-design=modern] #rewrite-budget { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 32px 0; }
html[data-design=modern] #estimate-status { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.025em; font-weight: 500; margin-top: 28px; }
html[data-design=modern] .estimate-note { color: var(--muted); font-size: 14px; }
@media (max-width: 540px) { .estimate-text-heading { align-items: flex-start; flex-direction: column; gap: 4px; } .estimate-controls { max-width: none; } }
.estimate-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.estimate-layout .estimate-controls { max-width: none; }
.estimate-layout .estimate-text-heading { min-height: 44px; }
.estimate-layout .estimate-text textarea { min-height: 360px; }
.estimate-summary { min-width: 0; }
.estimate-summary > p { margin: 12px 0; }
.estimate-summary .estimate-note { font-size: 13px; }
.pricing-questions details { padding: 12px 0; }
html[data-design=modern] main.pricing-page { max-width: 1180px; }
html[data-design=modern] .pricing-page > section.intro { margin: 40px 0 32px; }
html[data-design=modern] .pricing-page > #rewrite-budget { margin: 32px 0; }
html[data-design=modern] #rewrite-budget h2 { margin-bottom: 20px; }
html[data-design=modern] .estimate-layout textarea { font-size: 16px; line-height: 1.7; padding: 20px; }
html[data-design=modern] .estimate-summary #estimate-status { font-size: 24px; margin: 24px 0 4px; }
html[data-design=modern] .estimate-summary th, html[data-design=modern] .estimate-summary td { padding: 10px 12px; }
html[data-design=modern] .estimate-summary table { margin: 18px 0 24px; }
html[data-design=modern] .estimate-controls label { margin-top: 0; }
html[data-design=modern] .pricing-questions { max-width: 760px; }
#pricing-availability { font-size: 14px; }
@media (max-width: 760px) {
  .estimate-layout { grid-template-columns: 1fr; gap: 8px; }
  .estimate-layout .estimate-text textarea { min-height: 280px; }
  .estimate-layout .estimate-text { margin-bottom: 12px; }
}

html[data-design=modern] .pricing-page h1 { font-size: clamp(36px, 4vw, 48px); margin-bottom: 18px; max-width: none; }
#pricing-examples { margin: 40px 0; }
.recorded-level { border-bottom: 1px solid #b8c7bc; padding-bottom: 12px; }
.recorded-level > summary { min-height: 44px; }
.recorded-level > summary span:first-child { display: inline-block; min-width: 90px; font-weight: 600; }
.recorded-level > summary span:last-child { font-variant-numeric: tabular-nums; }
.recorded-text { white-space: pre-wrap; max-height: 420px; overflow-y: auto; padding: 20px; border: 1px solid #b8c7bc; margin: 12px 0; }
.recorded-edits { padding-left: 24px; }
.recorded-edits li { margin: 12px 0; }
.recorded-edits del { color: #873a30; text-decoration-thickness: 1px; }
.recorded-edits ins { color: #235b43; background: #edf4e8; text-decoration: none; padding: 2px 4px; }
html[data-design=modern] .recorded-text { background: var(--white); border-radius: 12px; font-size: 16px; line-height: 1.7; }
html[data-design=modern] .recorded-level > summary { font-size: 16px; }
html[data-design=modern] .comparison-verdict { color: var(--muted); }

.comparison-changes:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.comparison-changes > div { min-width: 0; }
.change-label { font-size: 13px; font-weight: 600; margin: 12px 0 0; }
.change-label::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border: 1px solid currentColor; }
.change-label.change-removed::before, .recorded-text del { background: #ffe5b4; color: #55390d; }
.change-label.change-added::before, .recorded-text ins { background: #ccebd7; color: #173e2b; }
.recorded-text del, .recorded-text ins { box-decoration-break: clone; -webkit-box-decoration-break: clone; border-radius: 2px; }
.recorded-text del { text-decoration-thickness: 1px; text-decoration-color: #a06c2a; }
.recorded-text ins { text-decoration: underline; text-decoration-color: #54906c; text-underline-offset: 3px; }
@media (max-width: 760px) { .comparison-changes:not([hidden]) { grid-template-columns: 1fr; gap: 0; } .comparison-changes .change-removed.recorded-text { max-height: 280px; } }

[data-example] { margin: 24px 0; }
.comparison-controls:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin: 24px 0; }
.comparison-controls label { margin: 0; }
.comparison-controls select { display: block; margin-top: 8px; min-height: 44px; }
.comparison-explorer [data-example] > h3, .comparison-explorer .recorded-level > summary { display: none; }
.comparison-explorer .recorded-level { border-bottom: 0; }
@media (max-width: 540px) { .comparison-controls:not([hidden]) { grid-template-columns: 1fr; gap: 12px; } }
