.tariff-comparison { margin-top: 2rem; border: 1px solid #d3e2dc; border-radius: 16px; background: #fff; }
.tariff-comparison table { min-width: 650px; width: 100%; }
.tariff-comparison caption { text-align: left; padding: 1.25rem; font-size: 1.3rem; font-weight: 700; }
.tariff-comparison tbody th { text-align: left; font-weight: 500; }
.tariff-document-catalog { margin: 1rem 0; padding: .75rem; border: 1px solid #d3e2dc; border-radius: 12px; }
.tariff-document-catalog summary { cursor: pointer; font-weight: 600; }
.tariff-document-catalog > ul { max-height: 22rem; overflow-y: auto; overscroll-behavior: contain; padding-right: .5rem; }
.tariff-document-catalog p { font-size: .875rem; line-height: 1.5; }
.generation-actions { margin: 1rem 0 1.5rem; }
.generation-actions > form { margin-top: 1rem; }
.generation-actions .empty-state { text-align: left; margin-bottom: 1rem; }
.generation-actions details { margin-top: 1rem; }
.generation-actions details ul { max-height: 18rem; overflow: auto; }
[data-generation-progress] { padding: 1rem; margin-top: 1rem; background: #eef6f2; border: 1px solid #d3e2dc; border-radius: 12px; }
[data-generation-progress] progress { width: 100%; height: 12px; accent-color: #14796b; }
[data-generation-recovery]:not([hidden]) { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-generation-error] { color: #a32b32; }
@media (max-width: 640px) { .generation-actions .button { max-width: 100%; white-space: normal; } }
.questionnaire-overview .cabinet-card-head { align-items: center; flex-wrap: wrap; gap: 1rem; }
.questionnaire-overview .cabinet-card-head p { margin-bottom: 0; color: var(--ink-soft); }
.questionnaire-overview .stat-card { box-shadow: none; background: #f6faf8; }
.questionnaire-overview .questionnaire-readiness { margin: 1rem 0 0; }
.questionnaire-readiness > small { display: block; margin-top: .35rem; }
.readiness-warning summary { cursor: pointer; line-height: 1.5; }
.readiness-warning summary:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; border-radius: 4px; }
.readiness-warning[open] summary { margin-bottom: .75rem; }
.readiness-warning ul { padding-left: 1.25rem; }
.generation-support-choice { margin: 20px 0; padding: 22px; border: 1px solid #d1ddd6; border-radius: 16px; background: #f3f8f5; }
.generation-support-choice h3 { margin-top: 0; }
.generation-support-options, .recommendation-navigation { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.recommendation-review { margin-top: 24px; padding-top: 18px; border-top: 1px solid #d1ddd6; }
@media (max-width: 600px) { .generation-support-choice { padding: 16px; } .generation-support-options .button { width: 100%; text-align: center; } }
.readiness-warning li + li { margin-top: .5rem; }
