/* Prontuários — área principal dedicada (SOAP) */

.pront-section {
    margin-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--spacing-sm);
}

/* Troca editor ↔ prontuário */
.editor-area.pront-mode #text {
    display: none !important;
}

.editor-area.pront-mode {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.prontuario-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.prontuario-panel[hidden] {
    display: none !important;
}

.prontuario-panel-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.pront-panel-head {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--color-text);
}

.pront-panel-title {
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: 0;
    line-height: 1.3;
}

.pront-panel-head-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.pront-panel-head-main .pront-panel-title {
    margin: 0;
}

/* Copiar prontuário: só ícone, sem deslocar título / voltar */
.prontuario-panel .pront-copy-btn,
.prontuario-panel .pront-copy-ai-btn {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    border: none !important;
    border-radius: 0;
    background: transparent !important;
    color: var(--color-text-muted);
    cursor: pointer;
    font-family: inherit;
    transition: color 0.18s ease;
    box-shadow: none !important;
}

.prontuario-panel .pront-copy-btn:hover,
.prontuario-panel .pront-copy-ai-btn:hover {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.88);
}

.prontuario-panel .pront-copy-btn:focus-visible,
.prontuario-panel .pront-copy-ai-btn:focus-visible {
    outline: 1px dotted rgba(255, 255, 255, 0.45);
    outline-offset: 3px;
    color: rgba(255, 255, 255, 0.95);
}

.prontuario-panel .pront-copy-btn--copied {
    color: #7dd3fc !important;
}

.prontuario-panel .pront-copy-btn--error {
    color: #f87171 !important;
}

.prontuario-panel .pront-copy-ai-btn--loading {
    opacity: 0.75;
    cursor: wait;
}

.prontuario-panel .pront-copy-ai-btn--success {
    color: #7dd3fc !important;
    border-color: #7dd3fc;
}

.prontuario-panel .pront-copy-ai-btn--error {
    color: #fca5a5 !important;
    border-color: #fca5a5;
}

.pront-ai-copy-popover {
    position: fixed;
    z-index: 9999;
    min-width: 180px;
    max-width: 280px;
    padding: 8px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 8px;
    background: #111;
    color: #e5e7eb;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    font-size: 0.78rem;
}

.pront-ai-copy-popover__msg {
    margin-bottom: 6px;
    color: #b8c0cc;
}

.pront-ai-copy-popover__actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

.pront-ai-copy-popover__copy,
.pront-ai-copy-popover__close {
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 6px;
    background: transparent;
    color: #e5e7eb;
    padding: 4px 8px;
    font-size: 0.75rem;
    cursor: pointer;
    font-family: inherit;
}

.pront-ai-copy-popover__copy:hover,
.pront-ai-copy-popover__copy:focus-visible {
    color: #7dd3fc;
    border-color: rgba(125, 211, 252, 0.55);
    outline: none;
}

.pront-ai-copy-popover__close:hover,
.pront-ai-copy-popover__close:focus-visible {
    border-color: rgba(229, 231, 235, 0.55);
    outline: none;
}

.pront-ai-copy-popover--copied {
    border-color: rgba(125, 211, 252, 0.65);
}

.pront-ai-copy-popover--error {
    border-color: rgba(252, 165, 165, 0.65);
}

.pront-ai-copy-popover__manual {
    width: 100%;
    min-height: 80px;
    max-height: 140px;
    margin-top: 6px;
    resize: vertical;
    background: #0b0b0b;
    color: #e5e7eb;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 6px;
    padding: 6px;
    font: inherit;
}

.pront-panel-back {
    flex-shrink: 0;
    background: none;
    border: 1px solid var(--color-text);
    color: var(--color-text);
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    font-family: inherit;
}

.pront-panel-back:hover {
    background: var(--color-text);
    color: var(--color-bg);
}

.pront-panel-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: var(--spacing-sm);
}

.pront-block-title {
    font-family: var(--font-family);
    font-size: 0.8rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin: 0 0 var(--spacing-md) 0;
}

.pront-block-title--ident {
    margin: 0 0 0.4rem 0;
}

/* Tracejado tipo - - - - abaixo do título Identificação */
.pront-id-dash {
    height: 1px;
    margin: 0 0 0.45rem 0;
    border: none;
    background: repeating-linear-gradient(
        90deg,
        var(--color-border) 0 5px,
        transparent 5px 10px
    );
}

.pront-id-section {
    margin-bottom: 0.8rem;
    padding-bottom: 0.4rem;
    border-bottom: none;
}

/* ~20% menos espaço até ao bloco Subjetivo */
.pront-id-section + .pront-soap-block {
    margin-top: -0.15rem;
}

/* Faixa única: nome, prontuário, datas, medicações, doenças — mesma linha (desktop) */
.pront-ident-band {
    display: grid;
    /* Dá mais respiro para nascimento/consulta e evita colisão da idade no calendário */
    grid-template-columns:
        minmax(0, 1.06fr)
        minmax(0, 0.9fr)
        minmax(0, 1.2fr)
        minmax(0, 1.12fr)
        minmax(0, 0.96fr)
        minmax(0, 0.96fr);
    gap: 0.4rem 0.58rem;
    align-items: start;
}

.pront-ident-band .pront-id-field--birth {
    margin-left: 0.3rem;
}

.pront-ident-band .pront-id-field--consulta {
    margin-left: 0.52rem;
}

.pront-ident-band .pront-id-field,
.pront-ident-band .pront-clinical-field {
    min-width: 0;
}

/* Pequena separação entre coluna medicações e doenças */
.pront-ident-band .pront-clinical-field--doencas {
    padding-left: 0.7rem;
    box-sizing: border-box;
}

.pront-id-field label,
.pront-clinical-field label {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
    display: block;
}

.pront-ident-band .pront-id-field--short > .pront-input-line {
    width: 100%;
}

.pront-id-birth-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    min-width: 0;
}

.pront-date-row {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    min-width: 0;
    flex: 1 1 auto;
}

.pront-id-birth-line .pront-date-row {
    /* No campo de nascimento, a idade fica ao lado; não deixar esta linha "engolir" esse espaço */
    flex: 0 0 auto;
}

.pront-date-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

/* Sobrepõe button:hover global de styles.css: só feedback ao clicar (:active) */
.prontuario-panel button.pront-date-cal-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    margin: 0;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: var(--color-bg-secondary);
    color: var(--color-text-muted);
    cursor: pointer;
    line-height: 1;
    transition: opacity 0.12s ease, transform 0.12s ease;
}

.prontuario-panel button.pront-date-cal-btn:hover {
    background: var(--color-bg-secondary);
    color: var(--color-text-muted);
    border-color: var(--color-border);
}

.prontuario-panel button.pront-date-cal-btn:active {
    opacity: 0.72;
    transform: scale(0.94);
}

.prontuario-panel button.pront-date-cal-btn:focus,
.prontuario-panel button.pront-date-cal-btn:focus-visible {
    outline: none;
    box-shadow: none;
}

.pront-id-birth-line .pront-input-line {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

.pront-id-age {
    flex: 0 0 auto;
    min-width: 5.4rem;
    margin-left: 0.2rem;
    padding: var(--spacing-xs) 0;
    border-bottom: 1px solid transparent;
    color: var(--color-text-muted);
    font-family: var(--font-mono);
    font-size: 0.82rem;
    line-height: 1.35;
    white-space: nowrap;
}

.pront-id-age--hidden {
    visibility: hidden;
}

.pront-input-line {
    width: 100%;
    padding: var(--spacing-xs) 0;
    font-size: 0.95rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-mono);
    border-radius: 0;
}

.pront-input-line:focus {
    outline: none;
    border-bottom-color: var(--color-text);
}

/* Linhas de preenchimento: nome + prontuário (prontuário curto) */
.pront-ident-band .pront-id-field--rule > .pront-input-line:not(.pront-input-date-pill) {
    border: none;
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
    padding: 4px 2px 3px;
    min-height: 1.7rem;
    line-height: 1.35;
    box-sizing: border-box;
    width: 100%;
}

.pront-ident-band .pront-id-field--rule > .pront-input-line:not(.pront-input-date-pill):focus {
    outline: none;
    border-bottom-color: var(--color-text);
    box-shadow: none;
}

.pront-ident-band .pront-id-field--chart > .pront-input-line {
    max-width: 6.75rem;
    width: 100%;
}

/* Datas: mesma largura em nascimento e consulta */
.pront-ident-band .pront-date-row .pront-input-date-pill.pront-input-line {
    flex: 0 0 10.35rem;
    width: 10.35rem;
    max-width: 10.35rem;
    min-width: 10.35rem;
    border: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    border-radius: 999px;
    padding: 5px 7px;
    min-height: 1.75rem;
    background: var(--color-bg-secondary);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    text-align: center;
    box-sizing: border-box;
}

.pront-input-date-pill.pront-input-line:focus {
    outline: none;
    border-color: var(--color-text-muted);
    box-shadow: 0 0 0 1px var(--color-border-dark);
}

/* Espaço entre grupos via word-spacing — letter-spacing alto cortava "aaaa" na pílula */
.pront-input-date-pill.pront-input-line::placeholder {
    opacity: 0.65;
    letter-spacing: 0.02em;
    word-spacing: 0.55em;
    text-align: center;
    font-size: 0.74rem;
}

.pront-clinical-field {
    min-width: 0;
    /* Largura do ▶ + margem + gap = indentação do preview/editor alinhada ao rótulo */
    --pront-clinical-toggle-w: 1.1rem;
    --pront-clinical-toggle-mr: 0.02rem;
    --pront-clinical-head-gap: 0.1rem;
}

.pront-clinical-head {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: var(--pront-clinical-head-gap);
    margin-bottom: 0;
}

.pront-clinical-head label {
    margin-bottom: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.prontuario-panel button.pront-clinical-toggle {
    flex-shrink: 0;
    width: var(--pront-clinical-toggle-w);
    min-width: var(--pront-clinical-toggle-w);
    height: var(--pront-clinical-toggle-w);
    padding: 0;
    margin: 0 var(--pront-clinical-toggle-mr) 0 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    line-height: 1;
    opacity: 0.55;
    align-self: flex-start;
    position: relative;
    top: 0.12em;
}

.prontuario-panel button.pront-clinical-toggle:hover {
    background: transparent;
    color: var(--color-text);
    opacity: 1;
}

.prontuario-panel button.pront-clinical-toggle:focus-visible {
    outline: none;
    opacity: 1;
    color: var(--color-text);
}

.pront-ident-band .pront-clinical-editor {
    margin-top: 1px;
    padding-left: calc(
        var(--pront-clinical-toggle-w) + var(--pront-clinical-toggle-mr) + var(--pront-clinical-head-gap)
    );
}

.pront-ident-band .pront-clinical-editor[hidden] {
    display: none !important;
}

/* Uma linha — mesma tipografia que nome / prontuário (.pront-input-line = 0.95rem) */
.pront-ident-band .pront-clinical-inline-editor.pront-input-line {
    width: 100%;
    padding: 4px 2px 3px 0;
    min-height: 1.65rem;
    font-size: 0.95rem;
}

.pront-clinical-preview {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.55rem;
    margin-top: 1px;
    padding-top: 0;
}

/* Chips alinhados à primeira letra do rótulo (não ao triângulo) */
.pront-ident-band .pront-clinical-preview {
    padding-left: calc(
        var(--pront-clinical-toggle-w) + var(--pront-clinical-toggle-mr) + var(--pront-clinical-head-gap)
    );
}

.pront-clinical-preview:empty {
    display: none;
    margin: 0;
}

.pront-clinical-chip {
    font-family: var(--font-family);
    font-size: 0.8rem;
    font-style: italic;
    line-height: 1.3;
    color: var(--color-text-muted);
}

/* Placeholder "Preencher..." mais discreto em todo o prontuário */
.prontuario-panel .pront-input-line::placeholder,
.prontuario-panel .pront-input-inline::placeholder,
.prontuario-panel .pront-textarea::placeholder {
    font-size: 0.78em;
    opacity: 0.75;
}

@media (max-width: 1180px) {
    .pront-ident-band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.pront-soap-block {
    margin-bottom: 1rem;
}

.pront-soap-title {
    font-family: var(--font-family);
    font-size: 0.85rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-muted);
    margin: 0 0 0.625rem 0;
    padding-bottom: 2px;
    border-bottom: 1px solid var(--color-border);
}

.pront-soap-title--with-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.pront-field-block {
    margin-bottom: 0.875rem;
}

/* Queixa, pregressa, familiar: textarea mais baixa (−35%); vão entre blocos −15% */
.pront-soap-block .pront-field-block--queixa,
.pront-soap-block .pront-field-block--preg,
.pront-soap-block .pront-field-block--fam {
    margin-bottom: calc(0.875rem * 0.85);
}

.pront-soap-block .pront-field-block--queixa .pront-textarea,
.pront-soap-block .pront-field-block--preg .pront-textarea,
.pront-soap-block .pront-field-block--fam .pront-textarea {
    min-height: calc(2.5rem * 0.65);
    padding-top: 2px;
    padding-bottom: 2px;
    line-height: 1.35;
}

.pront-field-grid {
    display: grid;
    gap: 0.625rem 0.75rem;
    align-items: start;
    margin-bottom: 0.625rem;
}

.pront-field-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pront-field-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pront-field-grid .pront-field-block {
    min-width: 0;
    margin-bottom: 0;
}

.pront-field-grid .pront-field-block--span-2 {
    grid-column: span 2;
}

.pront-field-grid .pront-field-block--av {
    grid-column: 3;
    grid-row: 1;
}

.pront-field-grid .pront-field-block--fenda {
    grid-column: 1;
    grid-row: 2;
}

.pront-field-grid .pront-field-block--fundo {
    grid-column: 2;
    grid-row: 2;
}

.pront-field-grid .pront-item-head {
    gap: 4px;
    margin-bottom: 0;
}

.pront-field-grid .pront-item-head label {
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pront-field-grid .pront-textarea {
    padding-top: 0;
    min-height: 1.65rem;
    line-height: 1.35;
}

.pront-field-grid .pront-field-block > .pront-textarea,
.pront-assessment-plan-layout .pront-field-block > .pront-textarea {
    height: 1.65rem;
}

.pront-field-grid .pront-details {
    margin-bottom: 3px;
    font-size: 0.7rem;
}

.pront-field-grid .pront-details summary {
    margin-bottom: 2px;
}

.pront-field-grid .pront-av-row {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 0.82fr) minmax(0, 1.15fr);
    gap: 0.5rem;
    align-items: end;
    margin-bottom: 0;
}

.pront-field-grid .pront-av-eye {
    gap: 0.35rem;
    min-width: 0;
}

.pront-field-grid .pront-input-inline {
    padding: 1px 0;
}

.pront-field-grid .pront-textarea--av-obs {
    height: 1.35rem;
    min-height: 1.35rem;
    padding: 1px 0;
    overflow: hidden;
    resize: none;
}

.pront-field-grid .pront-item-extras {
    margin-top: 4px;
    gap: 4px;
}

.pront-assessment-plan-layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: start;
    margin-bottom: 0.875rem;
}

.pront-assessment-plan-layout .pront-soap-block {
    min-width: 0;
    margin-bottom: 0;
}

.pront-assessment-plan-layout .pront-field-block {
    margin-bottom: 0;
}

.pront-assessment-plan-layout .pront-item-head {
    gap: 4px;
    margin-bottom: 0;
}

.pront-assessment-plan-layout .pront-item-head label {
    line-height: 1.18;
}

.pront-assessment-plan-layout .pront-textarea {
    padding-top: 0;
    min-height: 1.65rem;
    line-height: 1.35;
}

.pront-soap-block--compact > .pront-field-block:last-child {
    margin-bottom: 0;
}

.pront-soap-block--span-2 {
    grid-column: span 2;
}

.pront-protocol-help-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pront-protocol-help-btn {
    width: 1.05rem;
    height: 1.05rem;
    padding: 0;
    border: 1px solid var(--color-border-dark);
    border-radius: 50%;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: normal;
    line-height: 1;
    opacity: 0.75;
}

.pront-protocol-help-btn:hover,
.pront-protocol-help-btn:focus-visible {
    border-color: var(--color-text-muted);
    background: transparent;
    color: var(--color-text);
    opacity: 1;
    outline: none;
}

.pront-protocol-help-panel {
    position: fixed;
    z-index: 10050;
    padding: 7px 9px 8px;
    border: 1px solid var(--color-border);
    background: var(--color-bg-secondary);
    color: var(--color-text);
    overflow: auto;
    scrollbar-width: thin;
    box-sizing: border-box;
    font-family: var(--font-family);
    text-transform: none;
    letter-spacing: 0;
}

.pront-protocol-help-title {
    font-size: 0.66rem;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
    margin-bottom: 5px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-border);
}

.pront-protocol-help-text {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--color-text-muted);
    font-style: italic;
    text-transform: none;
    letter-spacing: 0;
}

@media (max-width: 980px) {
    .pront-ident-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pront-field-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pront-field-grid .pront-field-block--span-2 {
        grid-column: auto;
    }

    .pront-field-grid .pront-field-block--av {
        grid-column: auto;
        grid-row: auto;
    }

    .pront-field-grid .pront-field-block--fenda,
    .pront-field-grid .pront-field-block--fundo {
        grid-column: auto;
        grid-row: auto;
    }

    .pront-assessment-plan-layout {
        grid-template-columns: 1fr;
    }

    .pront-soap-block--span-2 {
        grid-column: auto;
    }
}

@media (max-width: 640px) {
    .pront-ident-band {
        grid-template-columns: 1fr;
    }

    .pront-ident-band .pront-date-row .pront-input-date-pill.pront-input-line {
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .pront-ident-band .pront-id-field--birth,
    .pront-ident-band .pront-id-field--consulta {
        margin-left: 0;
    }

    .pront-ident-band .pront-clinical-field--doencas {
        padding-left: 0;
    }

    .pront-id-field--short > .pront-input-line,
    .pront-id-birth-line .pront-input-line {
        flex-basis: 100%;
        width: 100%;
    }

    .pront-id-birth-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .pront-id-age {
        padding: 0;
        min-width: 0;
        margin-left: 0;
    }

    .pront-field-grid--three {
        grid-template-columns: 1fr;
    }

    .pront-field-grid--two {
        grid-template-columns: 1fr;
    }
}

.pront-item-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-xs);
}

.pront-item-head label {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.35;
    flex: 1;
    margin-bottom: 0;
}

.pront-add-btn {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    font-size: 1.25rem;
    line-height: 1;
    background: none;
    border: 1px solid var(--color-text);
    color: var(--color-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-mono);
}

.pront-add-btn:hover {
    background: var(--color-text);
    color: var(--color-bg);
}

.pront-add-btn--item {
    width: auto;
    height: auto;
    min-width: 0;
    padding: 1px 0 0 6px;
    border: none;
    background: transparent;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 300;
    color: var(--color-text-muted);
    opacity: 0.45;
}

.pront-add-btn--item:hover,
.pront-add-btn--item:focus-visible {
    background: transparent;
    color: var(--color-text);
    opacity: 1;
    outline: none;
}

/* "+" do título do bloco — sem moldura */
.pront-add-discrete {
    flex-shrink: 0;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 2px 4px;
    margin: 0;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1;
    background: transparent;
    border: none;
    box-shadow: none;
    color: var(--color-text-muted);
    opacity: 0.5;
    cursor: pointer;
    font-family: var(--font-mono);
}

.pront-add-discrete:hover,
.pront-add-discrete:focus-visible {
    opacity: 1;
    color: var(--color-text);
    outline: none;
}

/* Legenda sintomas */
.pront-symptom-legend {
    font-size: 0.72rem;
    color: var(--color-text-muted);
    line-height: 1.45;
    margin: 0 0 calc(var(--spacing-md) * 0.85) 0;
    font-style: italic;
}

/*
 * Sintomas: 4 pilhas verticais independentes (sem “vão” entre colunas quando uma linha expande).
 * Ordem: por linhas (1,2,3… em cada coluna em desktop).
 */
.pront-symptom-grid {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.pront-symptom-column {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.pront-symptom-cell {
    min-width: 0;
    padding: var(--spacing-sm) 0;
    border-bottom: 1px solid var(--color-border);
}

.pront-symptom-cell--essential .pront-check-text {
    color: var(--color-text);
    font-weight: 500;
}

.pront-symptom-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
}

.pront-symptom-cluster {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}

.pront-symptom-label-wrap {
    flex: 1;
    min-width: 0;
}

.pront-symptom-line .pront-check-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* “N” = ausência da queixa — riscado; cor explícita por tema (--color-text-struck em styles.css) */
.pront-symptom-cell .pront-symptom-line .pront-check-text.pront-check-text--no {
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    color: var(--color-text-struck);
    text-decoration-color: var(--color-text-struck);
    font-weight: 400;
}

.pront-sym-yn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pront-sym-opt {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    cursor: pointer;
    font-size: 0.72rem;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pront-sym-opt input[type='radio'] {
    accent-color: var(--color-text);
    cursor: pointer;
    margin: 0;
}

body.dark-mode .prontuario-panel .pront-sym-opt input[type='radio'] {
    accent-color: var(--color-pront-radio-checked);
}

.pront-sym-opt-letter {
    min-width: 0.65rem;
}

.pront-check {
    font-size: 0.78rem;
    color: var(--color-text-muted);
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.35;
    margin: 0;
}

.pront-check input {
    accent-color: var(--color-text);
    cursor: pointer;
    margin-top: 3px;
    flex-shrink: 0;
}

.pront-check-text {
    flex: 1;
    min-width: 0;
}

.pront-textarea {
    width: 100%;
    padding: var(--spacing-xs) 0;
    font-size: 0.9rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-mono);
    border-radius: 0;
    resize: vertical;
    min-height: 2.5rem;
}

.pront-textarea--extra {
    border: 1px solid var(--color-border);
    padding: var(--spacing-xs) var(--spacing-sm);
    margin-bottom: 0;
}

.pront-textarea:focus {
    outline: none;
    border-bottom-color: var(--color-text);
}

.pront-textarea--extra:focus {
    border-color: var(--color-text);
}

.pront-details {
    margin-bottom: var(--spacing-sm);
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.pront-details summary {
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-xs);
}

.pront-help {
    margin: var(--spacing-xs) 0 0 0;
    line-height: 1.5;
    font-style: italic;
}

.pront-av-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.pront-av-eye {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex: 1;
    min-width: 160px;
}

.pront-av-label {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--color-text);
    min-width: 1.5rem;
}

.pront-input-inline {
    flex: 1;
    min-width: 0;
    padding: var(--spacing-xs) 0;
    font-size: 0.95rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-mono);
}

.pront-input-inline:focus {
    outline: none;
    border-bottom-color: var(--color-text);
}

.pront-item-extras {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-sm);
}

.pront-extra-row {
    display: flex;
    gap: var(--spacing-xs);
    align-items: flex-start;
}

.pront-extra-row .pront-textarea {
    flex: 1;
}

.pront-extra-remove {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    background: none;
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.pront-extra-remove:hover {
    border-color: var(--color-text);
    color: var(--color-text);
}

/* Toggle seta + painel detalhe (sintomas) */
.pront-sym-detail-toggle {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    margin-right: 2px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1;
    opacity: 0.65;
    font-family: var(--font-mono);
}

.pront-sym-detail-toggle:hover,
.pront-sym-detail-toggle:focus-visible {
    opacity: 1;
    color: var(--color-text);
    outline: none;
}

.pront-symptom-detail-panel {
    display: block;
    margin-top: 4px;
    max-height: min(220px, 38vh);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    padding-right: 2px;
    text-align: left;
}

.pront-symptom-detail-panel::-webkit-scrollbar {
    display: none;
}

.pront-symptom-detail-panel--hidden {
    display: none !important;
}

.pront-detail-section {
    margin: 0 0 4px 0;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--color-border);
}

.pront-detail-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pront-detail-section-title {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
    margin-bottom: 3px;
    line-height: 1.25;
}

.pront-detail-check-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 1px;
    margin-top: 2px;
}

.pront-detail-section-title + .pront-detail-check-list {
    margin-top: 3px;
}

.pront-detail-section--inline-head {
    margin-bottom: 4px;
    padding-bottom: 2px;
}

.pront-detail-section-head-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
    min-width: 0;
}

.pront-detail-section-title--inline {
    margin-bottom: 0;
    flex: 0 0 auto;
    max-width: 48%;
    line-height: 1.2;
}

.pront-detail-section-head-inline .pront-detail-range-inner {
    flex: 1 1 0;
    min-width: 0;
    max-width: 52%;
}

@media (max-width: 380px) {
    .pront-detail-section-head-inline {
        flex-wrap: wrap;
    }

    .pront-detail-section-title--inline {
        max-width: 100%;
    }

    .pront-detail-section-head-inline .pront-detail-range-inner {
        max-width: 100%;
    }
}

.pront-detail-triple {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 8px;
    align-items: start;
    margin-bottom: 4px;
}

/* Irradiação / duração / evolução: só os gatilhos, sem rótulos duplicados em cima */
.pront-detail-section--irr-compact {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 4px;
}

.pront-detail-section--irr-compact .pront-detail-triple {
    margin-bottom: 2px;
    padding-bottom: 0;
    border-bottom: none;
}

.pront-detail-section--irr-compact .pront-detail-row--full {
    margin-top: 2px;
    margin-bottom: 0;
}

@media (max-width: 520px) {
    .pront-detail-triple {
        grid-template-columns: 1fr;
    }
}

.pront-detail-triple-lbl {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: 2px;
    line-height: 1.2;
}

.pront-detail-row {
    display: grid;
    grid-template-columns: minmax(4.5rem, 32%) 1fr;
    gap: 4px 8px;
    align-items: center;
    margin-bottom: 3px;
}

.pront-detail-row--full {
    grid-template-columns: 1fr;
}

.pront-detail-row-label {
    font-size: 0.68rem;
    color: var(--color-text-muted);
    line-height: 1.2;
}

.pront-detail-row-control {
    min-width: 0;
}

/* Select estilo plataforma: gatilho sublinhado + lista em tema (evita popup nativo branco) */
.pront-detail-select-wrap {
    position: relative;
    width: 100%;
}

.pront-detail-select-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.pront-detail-select.pront-detail-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 3px 1.35rem 3px 2px;
    font-size: 0.7rem;
    line-height: 1.25;
    min-height: 1.35rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-mono);
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a5854' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 0.85em;
}

.pront-detail-select-trigger:hover {
    border-bottom-color: var(--color-text-muted);
}

.pront-detail-select-trigger:focus-visible {
    outline: none;
    border-bottom-color: var(--color-text);
}

.pront-detail-select-value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pront-detail-select-hint {
    padding: 4px 10px 2px 10px;
    font-size: 0.62rem;
    line-height: 1.3;
    color: var(--color-text-muted);
    pointer-events: none;
    user-select: none;
    border-bottom: 1px solid var(--color-border);
    margin-bottom: 1px;
    white-space: normal;
}

.pront-detail-select-menu {
    position: fixed;
    z-index: 10050;
    margin: 0;
    padding: 2px 0;
    list-style: none;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    border: 1px solid var(--color-border);
    background: var(--color-bg-secondary);
    color: var(--color-text);
    box-shadow: none;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    line-height: 1.35;
}

.pront-detail-select-opt {
    padding: 4px 10px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pront-detail-select-opt:hover,
.pront-detail-select-opt:focus-visible {
    background: var(--color-bg-tertiary);
    outline: none;
}

.pront-detail-select-opt--sel {
    background: var(--color-bg);
    color: var(--color-text-muted);
}

body.dark-mode .pront-detail-select.pront-detail-select-trigger {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
}

.pront-detail-input {
    width: 100%;
    box-sizing: border-box;
    padding: 2px 4px;
    font-size: 0.7rem;
    line-height: 1.25;
    min-height: 1.35rem;
    border: 1px solid var(--color-border);
    border-radius: 0;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-mono);
}

.pront-detail-input:focus {
    outline: none;
    border-color: var(--color-text-muted);
}

/* Mesma tipografia que .pront-detail-select-trigger; uma linha só (sem border da secção por baixo) */
.pront-detail-input.pront-detail-input--det {
    font-size: 0.7rem;
    line-height: 1.25;
    padding: 3px 4px;
    min-height: 1.35rem;
    border: none;
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
    background: transparent;
    color: var(--color-text);
    font-family: var(--font-mono);
    text-transform: none;
}

.pront-detail-input.pront-detail-input--det::placeholder {
    color: var(--color-text-muted);
    opacity: 1;
    text-transform: none;
}

.pront-detail-input.pront-detail-input--det:focus {
    outline: none;
    border-color: transparent;
    border-bottom-color: var(--color-text-muted);
}

.pront-detail-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 4px 6px;
    font-size: 0.7rem;
    line-height: 1.35;
    min-height: 2.25rem;
    border: 1px solid var(--color-border);
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-mono);
    resize: vertical;
}

.pront-detail-range-inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 1.5rem;
    padding: 2px 0;
    box-sizing: border-box;
}

/* Range: trilho fino, bolinha pequena, mesma cor; área de arrasto mais alta */
.pront-detail-range-inner .pront-detail-range-input {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-width: 120px;
    height: 24px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
    touch-action: none;
    position: relative;
    z-index: 2;
    opacity: 1;
    /* Sem accent-color: no WebKit/Chromium pinta uma 2ª linha nativa por baixo do ::-webkit-slider-runnable-track */
}

.pront-detail-range-inner .pront-detail-range-input::-webkit-slider-runnable-track {
    height: 2.3px;
    background: var(--color-text);
    border: none;
}

.pront-detail-range-inner .pront-detail-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 8px;
    height: 8px;
    margin-top: -2.85px;
    border-radius: 50%;
    background: var(--color-text);
    border: none;
    box-shadow: none;
    box-sizing: border-box;
    cursor: pointer;
    pointer-events: auto;
}

.pront-detail-range-inner .pront-detail-range-input::-moz-range-track {
    height: 2.3px;
    background: var(--color-text);
    border: none;
}

.pront-detail-range-inner .pront-detail-range-input::-moz-range-thumb {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-text);
    border: none;
    box-shadow: none;
    box-sizing: border-box;
    cursor: pointer;
    pointer-events: auto;
}

.pront-detail-range-inner .pront-detail-range-input:focus-visible {
    outline: none;
}

.pront-detail-range-inner .pront-detail-range-input:focus-visible::-webkit-slider-thumb {
    outline: 2px solid var(--color-text-muted);
    outline-offset: 2px;
}

.pront-detail-range-inner .pront-detail-range-input:focus-visible::-moz-range-thumb {
    outline: 2px solid var(--color-text-muted);
    outline-offset: 2px;
}

.pront-detail-range-val {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    min-width: 2.5ch;
    text-align: right;
    color: var(--color-text-muted);
    pointer-events: none;
}

.pront-detail-check-row {
    display: grid;
    grid-template-columns: 1.05rem minmax(0, 1fr);
    column-gap: 8px;
    align-items: start;
    margin: 0;
    padding: 0;
    font-size: 0.68rem;
    font-family: var(--font-mono);
    color: var(--color-text);
    cursor: pointer;
    line-height: 1.35;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: left;
}

.pront-detail-check-row input[type='checkbox'] {
    grid-column: 1;
    margin: 3px 0 0 0;
    padding: 0;
    width: 0.85rem;
    height: 0.85rem;
    flex-shrink: 0;
    align-self: start;
    accent-color: var(--color-text);
}

.pront-detail-check-lbl {
    grid-column: 2;
    margin: 0;
    padding: 0;
    min-width: 0;
    text-align: left;
    color: var(--color-text);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.pront-detail-balloon-panel {
    position: fixed;
    z-index: 10050;
    padding: 6px 8px 8px;
    border: 1px solid var(--color-border);
    background: var(--color-bg-secondary);
    color: var(--color-text);
    overflow: auto;
    scrollbar-width: thin;
    box-sizing: border-box;
}

.pront-detail-balloon-hint {
    font-size: 0.62rem;
    line-height: 1.3;
    color: var(--color-text-muted);
    margin: 0 0 6px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-border);
}

.pront-detail-balloon-textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    min-height: 3.5rem;
    margin: 0;
    padding: 4px 6px;
    font-size: 0.7rem;
    line-height: 1.35;
    font-family: var(--font-mono);
    border: 1px solid var(--color-border);
    border-radius: 0;
    background: var(--color-bg);
    color: var(--color-text);
    resize: vertical;
}

.pront-detail-balloon-textarea:focus {
    outline: none;
    border-color: var(--color-text-muted);
}

.pront-symptom-summary-wrap {
    margin-top: var(--spacing-xs);
    margin-bottom: var(--spacing-xs);
    min-width: 0;
}

.pront-symptom-summary-wrap--hidden {
    display: none !important;
}

.pront-symptom-summary {
    font-size: 0.72rem;
    line-height: 1.45;
    color: var(--color-text-muted);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
}

.pront-symptom-summary--expanded {
    display: block;
    -webkit-line-clamp: unset;
    max-height: 10rem;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
}

.pront-symptom-summary--expanded::-webkit-scrollbar {
    display: none;
}

.pront-symptom-summary-more {
    margin-top: 4px;
    padding: 0;
    border: none;
    background: none;
    font-size: 0.68rem;
    text-decoration: underline;
    color: var(--color-text-muted);
    cursor: pointer;
    font-family: inherit;
}

.pront-symptom-summary-more:hover {
    color: var(--color-text);
}

/* Queixa + botão de hipóteses (lupa) */
.pront-item-head--queixa {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
}

.pront-queixa-title-row {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-width: 0;
}

.pront-queixa-title-row label {
    margin: 0;
}

/*
 * Lupa: só o glifo muda de cor (sem fundo/quadrado).
 * Sobrepõe styles.css global `button:hover { background: var(--color-text); }`.
 */
.prontuario-panel button.pront-disease-context__button--hypothesis {
    flex-shrink: 0;
    min-width: 1.75rem;
    min-height: 1.75rem;
    padding: 0.12rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    line-height: 1;
    border: none;
    border-radius: 0;
    background: transparent !important;
    color: var(--color-text-muted);
    cursor: pointer;
    font-family: inherit;
    transition: color 0.18s ease, transform 0.15s ease;
    box-shadow: none;
}

.prontuario-panel button.pront-disease-context__button--hypothesis:hover {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.92);
}

.prontuario-panel button.pront-disease-context__button--hypothesis:active {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.95);
    transform: scale(0.96);
}

.prontuario-panel button.pront-disease-context__button--hypothesis:focus,
.prontuario-panel button.pront-disease-context__button--hypothesis:focus-visible {
    outline: none;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.95);
    box-shadow: none;
}

/* Foco teclado: contorno fino, sem preencher área */
.prontuario-panel button.pront-disease-context__button--hypothesis:focus-visible {
    outline: 1px dotted rgba(255, 255, 255, 0.45);
    outline-offset: 3px;
}

.prontuario-panel button.pront-disease-context__button--hypothesis[aria-expanded='true'] {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.93);
}

.prontuario-panel
    button.pront-disease-context__button--hypothesis.pront-disease-context__button--has-selection {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.88);
}

.pront-disease-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
    min-height: 0;
}

.pront-disease-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.68rem;
    border: 1px solid var(--color-border);
    background: var(--color-bg-secondary);
    max-width: 100%;
}

.pront-disease-chip__remove {
    margin: 0;
    padding: 0 0.15rem;
    border: none;
    background: none;
    color: var(--color-text-muted);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}

.pront-disease-chip__remove:hover,
.pront-disease-chip__remove:focus-visible {
    color: var(--color-text);
    outline: none;
}

.pront-disease-chip__remove:focus-visible {
    box-shadow: 0 0 0 1px var(--color-text-muted);
}

/* Balão ancorado ao botão lâmpada (posição via JS) */
.pront-disease-popover.pront-disease-popover--balloon {
    position: fixed;
    z-index: 12000;
    left: 0;
    top: 0;
    width: min(440px, calc(100vw - 20px));
    max-height: min(480px, calc(100vh - 24px));
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: var(--color-bg-secondary);
    color: var(--color-text);
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(255, 255, 255, 0.04);
}

/* O atributo hidden perde para `display: flex` acima (mesma especificidade, ordem do autor).
   Sem isto, Fechar / Escape / clique fora definem hidden mas o diálogo continua visível. */
.pront-disease-popover[hidden] {
    display: none !important;
}

.pront-disease-popover__title {
    margin: 0;
    padding: 0.65rem 0.9rem;
    font-size: 0.84rem;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 1px solid var(--color-border);
}

.pront-disease-popover__search {
    margin: 0.55rem 0.9rem 0;
    padding: 0.45rem 0.55rem;
    font-size: 0.82rem;
    width: calc(100% - 1.8rem);
    box-sizing: border-box;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: inherit;
}

.pront-disease-popover__search:focus {
    outline: none;
    border-color: var(--color-text-muted);
}

.pront-disease-popover__list {
    flex: 1;
    overflow-y: auto;
    padding: 0.45rem 0.9rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 0;
}

.pront-disease-popover__item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.82rem;
    line-height: 1.4;
    cursor: pointer;
}

.pront-disease-popover__item input {
    margin-top: 0.2rem;
    transform: scale(1.05);
}

.pront-disease-popover__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.65rem 0.9rem;
    border-top: 1px solid var(--color-border);
    justify-content: flex-end;
}

.pront-disease-popover .pront-btn-secondary {
    padding: 0.4rem 0.75rem;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    font-family: inherit;
}

.pront-disease-popover .pront-btn-secondary:hover,
.pront-disease-popover .pront-btn-secondary:focus-visible {
    border-color: var(--color-text-muted);
    outline: none;
}

.pront-disease-popover .pront-btn-secondary:focus-visible {
    box-shadow: 0 0 0 2px var(--color-text-muted);
}

.pront-oph-alert-strip {
    margin-bottom: 0.45rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.pront-alert-note {
    font-size: 0.68rem;
    line-height: 1.35;
    padding: 0.35rem 0.45rem;
    border: 1px dashed var(--color-border);
    color: var(--color-text-muted);
}

.pront-alert-note::before {
    content: '⚠ ';
}
