/* Hereda tipografía y colores del tema; solo añade estructura. */
.dsc-calc fieldset { border: 1px solid currentColor; border-radius: 6px; padding: 1rem 1.25rem; margin: 0 0 .75rem; }
.dsc-calc legend { font-weight: 700; padding: 0 .35rem; }
.dsc-field { display: flex; flex-direction: column; gap: .25rem; margin: 0 0 1rem; }
.dsc-field label { font-weight: 600; }
.dsc-field input { font: inherit; padding: .5rem .6rem; max-width: 14rem; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; }
.dsc-field input[aria-invalid="true"] { border-width: 2px; border-color: #b3261e; }
.dsc-help, .dsc-method { font-size: .875em; opacity: .85; }
.dsc-calc button { font: inherit; font-weight: 600; padding: .55rem 1.1rem; border: 2px solid currentColor; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }
.dsc-calc button:hover { text-decoration: underline; }
.dsc-calc :focus-visible, .dsc-table-wrap:focus-visible { outline: 3px solid #2a78d6; outline-offset: 2px; }
.dsc-result:not(:empty) { border-left: 4px solid #2a78d6; padding: .5rem 1rem; margin: .5rem 0 1rem; }
.dsc-result.dsc-error { border-left-color: #b3261e; }
.dsc-result p { margin: .25rem 0; }

.dsc-table-wrap { overflow-x: auto; margin: 0 0 1rem; }
.dsc-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.dsc-table caption { text-align: left; font-weight: 600; padding: 0 0 .5rem; }
.dsc-table th, .dsc-table td { padding: .3rem .5rem; border-bottom: 1px solid rgba(127,127,127,.3); text-align: left; }
.dsc-table td:nth-child(2) { white-space: nowrap; }
.dsc-table td:last-child { width: 55%; }
.dsc-bar { display: inline-block; height: .7rem; min-width: 2px; background: #2a78d6; border-radius: 0 3px 3px 0; vertical-align: middle; margin-right: .5rem; }
.dsc-cheap .dsc-bar { background: #1baf7a; }
.dsc-dear .dsc-bar { background: #eb6834; }
.dsc-note { font-size: .8em; font-weight: 600; }
.dsc-cheap th, .dsc-dear th { font-weight: 700; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

@media (forced-colors: active) {
	.dsc-bar { background: CanvasText; }
}
@media (max-width: 480px) {
	.dsc-table td:last-child { width: auto; }
	.dsc-field input { max-width: 100%; }
}
