/* ==========================================================================
   CALCULADORA PEDIÁTRICA — estilos
   Design system: cores via tokens (--accent-primary/secondary), nada hardcoded
   fora de neutros. Visual claro alinhado à aba Medicamentos.
   ========================================================================== */

/* --- Botões de entrada (empty state da aba Medicamentos) ------------------ */
/* Fallback explícito (#18355C/#30A050): robusto mesmo se o token não existir. */
.pedcalc-entry-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: 0.65rem;
    font-size: 0.79rem;
    font-weight: 700;
    color: var(--accent-primary, #18355C);
    background: color-mix(in srgb, var(--accent-primary, #18355C) 7%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--accent-primary, #18355C) 24%, transparent);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
    transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
    cursor: pointer;
}
.pedcalc-entry-btn i { font-size: 0.85rem; opacity: .9; }
.pedcalc-entry-btn:hover {
    background: color-mix(in srgb, var(--accent-primary, #18355C) 13%, var(--color-bg-primary));
    border-color: color-mix(in srgb, var(--accent-primary, #18355C) 42%, transparent);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px color-mix(in srgb, var(--accent-primary, #18355C) 20%, transparent);
}

/* --- Controle segmentado (iOS-like): ambos os estados sempre visíveis ----- */
.pedseg-group {
    display: flex;
    gap: 3px;
    padding: 3px;
    background: var(--color-bg-tertiary, #f1f3f5);
    border-radius: 10px;
}
.pedseg {
    flex: 1;
    padding: 7px 8px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-secondary, #5b6573);
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
    -webkit-appearance: none;
    appearance: none;
    white-space: nowrap;
}
.pedseg:hover:not(.is-active) {
    color: var(--color-text-primary, #1f2937);
}
.pedseg.is-active {
    background: var(--color-bg-elevated);
    color: var(--accent-primary);
    box-shadow: 0 1px 3px rgba(16, 24, 40, .12);
}

/* --- Tira de contexto do paciente ----------------------------------------- */
.pedcalc-patient-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pedcalc-pchip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 8%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--accent-primary) 20%, transparent);
}
.pedcalc-pmuted { font-size: 11px; color: var(--color-text-muted, #98a2b3); }

/* --- Aviso (peso/idade ausentes) ------------------------------------------ */
.pedcalc-notice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 14px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--accent-primary) 5%, var(--color-bg-primary));
    border: 1px dashed color-mix(in srgb, var(--accent-primary) 32%, transparent);
}
.pedcalc-notice i { color: var(--accent-primary); font-size: 16px; margin-top: 1px; }
.pedcalc-notice-title { font-size: 13px; font-weight: 700; color: var(--color-text-primary, #1f2937); }
.pedcalc-notice-sub { font-size: 12px; color: var(--color-text-secondary, #5b6573); margin-top: 2px; line-height: 1.45; }

/* --- Cartão de resultado --------------------------------------------------- */
.pedcalc-card {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border-primary, #e6e8ec);
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(16, 24, 40, .05);
    overflow: hidden;
}
.pedcalc-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--color-border-primary, #eef0f3);
    background: color-mix(in srgb, var(--accent-primary) 5%, var(--color-bg-primary));
}
.pedcalc-card-title { font-size: 13px; font-weight: 800; color: var(--color-text-primary, #1f2937); }
.pedcalc-card-sub { font-size: 11px; color: var(--color-text-muted, #98a2b3); font-weight: 600; white-space: nowrap; }

/* Cabeçalho do card que VIRA o seletor Manutenção/Expansão */
.pedcalc-card-head-toggle { background: var(--color-bg-elevated); padding: 8px 10px; }
.pedcalc-head-seg { flex: 1; min-width: 0; }

/* Composição em 3 cards quadrados lado a lado (Glicosado / NaCl / KCl) */
.pedcalc-comp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 8px; }
.pedcalc-comp-card {
    border: 1px solid var(--color-border-primary, #e6e8ec);
    border-radius: 12px; padding: 11px 6px 12px; text-align: center;
    background: var(--color-bg-secondary, #f8fafc);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pedcalc-comp-card:hover {
    border-color: color-mix(in srgb, var(--accent-primary) 30%, transparent);
    box-shadow: 0 1px 4px rgba(16, 24, 40, .06);
}
.pedcalc-comp-label {
    font-size: 10.5px; font-weight: 700; color: var(--color-text-secondary, #5b6573);
    line-height: 1.2; min-height: 26px; display: flex; align-items: center; justify-content: center;
}
.pedcalc-comp-val { font-size: 23px; font-weight: 800; color: var(--accent-primary); line-height: 1; margin-top: 5px; }
.pedcalc-comp-val span { font-size: 11px; font-weight: 700; margin-left: 2px; }
.pedcalc-card-body { padding: 14px; }

/* Hero — métrica em destaque */
.pedcalc-hero {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--accent-primary) 7%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--accent-primary) 16%, transparent);
}
.pedcalc-hero-val { font-size: 30px; font-weight: 800; line-height: 1; color: var(--accent-primary); letter-spacing: -0.02em; }
.pedcalc-hero-unit { font-size: 14px; font-weight: 700; color: var(--accent-primary); }

/* Lista de composição */
.pedcalc-section-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: var(--color-text-muted, #98a2b3); margin: 14px 0 6px;
}
.pedcalc-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; border-radius: 9px; background: var(--color-bg-secondary, #f8fafc);
    margin-bottom: 5px;
}
.pedcalc-row-label { font-size: 12.5px; color: var(--color-text-secondary, #475467); font-weight: 600; }
.pedcalc-row-val { font-size: 13.5px; font-weight: 800; color: var(--color-text-primary, #1f2937); }
.pedcalc-row.is-total { background: color-mix(in srgb, var(--accent-primary) 8%, var(--color-bg-primary)); }
.pedcalc-row.is-total .pedcalc-row-val { color: var(--accent-primary); }

/* Chamada (CTA) — orientação principal */
.pedcalc-cta {
    margin-top: 12px; padding: 12px 14px; border-radius: 12px;
    background: color-mix(in srgb, var(--accent-secondary) 10%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--accent-secondary) 26%, transparent);
    font-size: 13px; color: var(--color-text-primary, #1f2937); line-height: 1.5;
}
.pedcalc-cta strong { color: var(--accent-secondary, #30A050); }
/* Valores: distinguidos pela COR (verde) + fonte um pouco maior, sem negrito. */
.pedcalc-cta b { font-weight: normal; color: var(--accent-secondary, #30A050); font-size: 1.14em; }
/* Texto descritivo e conectores (ou/OU/em bomba de infusão) na mesma cor do
   texto principal "Fazer ... EV da solução de". */
.pedcalc-cta-sub { font-size: 12px; color: var(--color-text-primary, #1f2937); margin-top: 5px; line-height: 1.6; }

/* Fases de expansão */
.pedcalc-phase {
    border: 1px solid var(--color-border-primary, #e6e8ec); border-radius: 12px;
    padding: 11px 13px; margin-bottom: 10px;
}
.pedcalc-phase-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.pedcalc-phase-name { font-size: 12.5px; font-weight: 700; color: var(--color-text-primary, #1f2937); }
.pedcalc-phase-time {
    font-size: 11px; font-weight: 700; color: var(--accent-primary);
    background: color-mix(in srgb, var(--accent-primary) 9%, var(--color-bg-primary));
    padding: 2px 9px; border-radius: 999px;
}
.pedcalc-phase-vol { display: flex; align-items: baseline; gap: 6px; }
.pedcalc-phase-vol b { font-size: 22px; font-weight: 800; color: var(--accent-primary); letter-spacing: -.01em; }
.pedcalc-phase-vol span { font-size: 12px; color: var(--color-text-muted, #98a2b3); }

/* --- Doses por fármaco ----------------------------------------------------- */
#pedcalc-drug-search:focus { outline: none; }
.pedcalc-search-box { transition: border-color .15s ease, box-shadow .15s ease; }
.pedcalc-search-box:focus-within {
    border-color: var(--accent-primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-primary) 12%, transparent);
}
.pedcalc-dd-item { transition: background .12s ease; cursor: pointer; }
.pedcalc-dd-item:hover { background: color-mix(in srgb, var(--accent-primary, #18355C) 6%, var(--color-bg-primary)); }
.pedcalc-dd-item.is-active {
    background: color-mix(in srgb, var(--accent-primary, #18355C) 11%, var(--color-bg-primary));
    box-shadow: inset 3px 0 0 var(--accent-primary, #18355C);
}

.pedcalc-ind-block { border: 1px solid var(--color-border-primary, #e6e8ec); border-radius: 12px; overflow: hidden; margin-bottom: 10px; }
.pedcalc-ind-label {
    padding: 7px 12px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
    color: var(--accent-primary); background: color-mix(in srgb, var(--accent-primary) 7%, var(--color-bg-primary));
    border-bottom: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
}

/* Acordeão por indicação (dose padrão aberta, demais colapsadas) */
.pedcalc-ind-acc { border: 1px solid var(--color-border-primary, #e6e8ec); border-radius: 12px; overflow: hidden; margin-bottom: 10px; }
.pedcalc-ind-summary {
    padding: 9px 12px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
    color: var(--accent-primary); background: color-mix(in srgb, var(--accent-primary) 7%, var(--color-bg-primary));
    cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px;
}
.pedcalc-ind-summary::-webkit-details-marker { display: none; }
.pedcalc-ind-summary:hover { background: color-mix(in srgb, var(--accent-primary) 11%, var(--color-bg-primary)); }
.pedcalc-chev { font-size: 10px; color: var(--accent-primary); transition: transform .15s ease; }
.pedcalc-ind-acc[open] .pedcalc-chev { transform: rotate(90deg); }
.pedcalc-ind-acc[open] .pedcalc-ind-summary { border-bottom: 1px solid color-mix(in srgb, var(--accent-primary) 14%, transparent); }
.pedcalc-dose-item { padding: 10px 12px; border-bottom: 1px solid var(--color-border-primary, #f1f3f5); }
.pedcalc-dose-item:last-child { border-bottom: none; }
.pedcalc-dose-text { font-size: 13.5px; font-weight: 600; color: var(--color-text-primary, #1f2937); line-height: 1.45; }
.pedcalc-dose-text b { color: var(--accent-primary); font-weight: 800; }
.pedcalc-dose-meta { font-size: 11px; color: var(--color-text-muted, #98a2b3); margin-top: 3px; }
.pedcalc-dose-warn {
    margin-top: 6px; padding: 6px 9px; border-radius: 8px; font-size: 11.5px; line-height: 1.4;
    color: var(--color-high-text, #9a3412);
    background: color-mix(in srgb, var(--color-high-text, #9a3412) 7%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--color-high-text, #9a3412) 18%, transparent);
    display: flex; gap: 6px; align-items: flex-start;
}

.pedcalc-acc { border: 1px solid var(--color-border-primary, #e6e8ec); border-radius: 10px; }
.pedcalc-acc summary {
    padding: 9px 12px; font-size: 12px; font-weight: 700; color: var(--color-text-secondary, #475467);
    cursor: pointer; list-style: none; display: flex; align-items: center; gap: 7px;
}
.pedcalc-acc summary::-webkit-details-marker { display: none; }
.pedcalc-acc summary i { color: var(--accent-primary); }
.pedcalc-acc-body { padding: 0 12px 11px; font-size: 12px; color: var(--color-text-secondary, #475467); white-space: pre-line; line-height: 1.5; }

/* Link da bula padrão (ANVISA) */
.pedcalc-bula-link {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    margin-top: 2px; padding: 9px 12px; border-radius: 10px;
    font-size: 12.5px; font-weight: 700; text-decoration: none;
    color: var(--accent-primary, #18355C);
    background: color-mix(in srgb, var(--accent-primary, #18355C) 6%, var(--color-bg-primary));
    border: 1px solid color-mix(in srgb, var(--accent-primary, #18355C) 20%, transparent);
    transition: background .15s ease, border-color .15s ease;
}
.pedcalc-bula-link:hover {
    background: color-mix(in srgb, var(--accent-primary, #18355C) 12%, var(--color-bg-primary));
    border-color: color-mix(in srgb, var(--accent-primary, #18355C) 38%, transparent);
}
.pedcalc-bula-link i:last-child { font-size: 10px; opacity: .7; }

/* Empty/placeholder dos resultados */
.pedcalc-empty {
    text-align: center; padding: 28px 16px; border-radius: 12px;
    background: var(--color-bg-secondary, #f8fafc); border: 1px solid var(--color-border-primary, #eef0f3);
}
.pedcalc-empty i { color: var(--color-text-muted, #cbd2dc); font-size: 22px; }
.pedcalc-empty p { font-size: 13px; color: var(--color-text-secondary, #5b6573); margin-top: 8px; }
