/* Shared applet styles inherit the host font and background; every selector is scoped. */
.ped-cat-evo { color: inherit; container-type: inline-size; min-width: 0; line-height: 1.45; overflow-wrap: anywhere; }
.ped-cat-evo *, .ped-cat-evo *::before, .ped-cat-evo *::after { box-sizing: border-box; }
.ped-cat-evo [hidden][hidden] { display: none; }
.ped-cat-evo .ped-layout { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 368px), 1fr)); gap: 1.5rem; align-items: start; }
.ped-cat-evo .ped-form, .ped-cat-evo .ped-output, .ped-cat-evo .ped-specific-panel > div { min-width: 0; }
.ped-cat-evo .ped-form > div { margin: 0 0 1rem; }
.ped-cat-evo label { display: inline; font: inherit; font-weight: 600; margin: 0; }
.ped-cat-evo small { display: block; font-size: .875em; line-height: 1.4; margin-top: .3em; }
.ped-cat-evo small:empty { display: none; }
.ped-cat-evo [data-field], .ped-cat-evo [data-assessment], .ped-cat-evo button { font: inherit; line-height: 1.4; letter-spacing: normal; text-transform: none; max-width: 100%; margin: 0; color: #1F2937; }
.ped-cat-evo input[data-field], .ped-cat-evo select[data-assessment], .ped-cat-evo .ped-select { width: 100%; min-width: 0; min-height: 2.75em; padding: .55em .65em; border: 1px solid #6B7280; border-radius: .3em; background: #FFFFFF; box-shadow: none; }
.ped-cat-evo input[data-field] { display: block; }
/* Keep the native select and its picker; a noninteractive caption wraps the selected wording. */
/* WebKit includes invisible native option text in scroll overflow; contain it while the visible caption wraps. */
.ped-cat-evo .ped-select { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6em; align-items: center; color: #1F2937; overflow: hidden; }
.ped-cat-evo .ped-select::after { content: '\2304'; pointer-events: none; }
.ped-cat-evo .ped-select-caption { pointer-events: none; }
.ped-cat-evo .ped-select select { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; }
.ped-cat-evo input[data-field]:disabled, .ped-cat-evo .ped-select:has(select:disabled) { background: #F3F4F6; color: #4B5563; }
.ped-cat-evo .ped-select select:disabled { cursor: default; }
.ped-cat-evo button { display: inline-block; width: auto; min-height: 2.75em; padding: .5em .85em; border: 1px solid #6B7280; border-radius: .3em; background: #F3F4F6; box-shadow: none; cursor: pointer; white-space: normal; text-align: center; }
.ped-cat-evo button:disabled { color: #4B5563; cursor: default; opacity: .7; }
.ped-cat-evo button:hover:not(:disabled) { background: #E5E7EB; }
.ped-cat-evo input:focus-visible, .ped-cat-evo button:focus-visible, .ped-cat-evo select[data-assessment]:focus-visible, .ped-cat-evo .ped-select:focus-within { outline: 2px solid #1F2937; outline-offset: 2px; }
.ped-cat-evo input[data-field][aria-invalid="true"], .ped-cat-evo .ped-select:has([aria-invalid="true"]) { border-color: #9B2525; }
.ped-cat-evo [aria-invalid="true"] ~ small { color: inherit; font-weight: 600; }
.ped-cat-evo .ped-chart { width: 100%; min-width: 0; background: #FFFFFF; color: #1F2937; border-radius: .3em; }
.ped-cat-evo .ped-chart svg { width: 100%; height: auto; display: block; }
.ped-cat-evo .ped-output > p, .ped-cat-evo [data-dual-summary] p { margin: .7em 0; padding: 0; }
.ped-cat-evo .ped-output > h3 { font: inherit; font-weight: 600; margin: 1em 0 .4em; padding: 0; color: inherit; }
.ped-cat-evo [data-procedures] { margin: 0 0 1em; padding: 0 0 0 1.3em; }
.ped-cat-evo [data-procedures] li { margin: .3em 0; padding: 0; }
.ped-cat-evo [data-procedures] a { color: inherit; text-decoration: underline; }
.ped-cat-evo [data-result] { display: inline-block; font-size: 1.25em; line-height: 1.3; padding: .25em .7em; border: 1px solid #4B5563; border-radius: .3em; }
.ped-cat-evo [data-dual-summary] { padding: .5em .75em; border: 1px solid #D1D5DB; border-radius: .3em; margin: .8em 0; }
.ped-cat-evo [data-dual-summary] label { display: block; margin-bottom: .3em; }
.ped-cat-evo .ped-specific { margin: 0 0 1.5rem; }
.ped-cat-evo .ped-specific > button { width: 100%; text-align: start; font-weight: 600; }
.ped-cat-evo .ped-specific-panel { display: grid; grid-template-columns: 1fr; gap: 1rem 1.5rem; padding: 1rem; border: 1px solid #D1D5DB; border-radius: 0 0 .3em .3em; }
.ped-cat-evo .ped-specific-panel > button { justify-self: start; grid-column: 1 / -1; }
.ped-cat-evo [data-specific-field]:has(input[type="checkbox"]) { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .3em; align-items: center; }
.ped-cat-evo [data-specific-field]:has(input[type="checkbox"]) small { grid-column: 1 / -1; }
.ped-cat-evo input[data-field][type="checkbox"] { width: 1.25em; height: 1.25em; min-height: 0; padding: 0; accent-color: #4B5563; }
.ped-cat-evo .ped-help-trigger { width: 2em; min-height: 2em; height: 2em; padding: 0; margin: 0 0 .35em .3em; border-radius: 50%; font-weight: 600; vertical-align: middle; }
.ped-cat-evo .ped-help-popup { position: fixed; z-index: 10000; overflow: auto; overscroll-behavior: contain; padding: .8em; border: 1px solid #6B7280; border-radius: .3em; background: #FFFFFF; color: #1F2937; box-shadow: 0 .2em .8em #0003; font: inherit; line-height: 1.45; text-align: start; }
.ped-cat-evo .ped-help-popup p { margin: .4em 0 1em; padding: 0; }
.ped-cat-evo .ped-help-popup strong { font-weight: 600; }
@container (max-width: 759px) { .ped-cat-evo .ped-layout { grid-template-columns: 1fr; } }
@container (min-width: 760px) {
  .ped-cat-evo .ped-layout, .ped-cat-evo .ped-specific-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
