@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

* {
    box-sizing: border-box;
}
body {
    font-family: 'Inter', -apple-system, 'Segoe UI', Arial, sans-serif;
    background: #eef1f8;
	padding: 90px 20px 40px 20px;
    color: #1e293b;
}

.topbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 12px 25px;

    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);

    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.04);

    z-index: 999;
}

/* lado esquerdo */
.topbar-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-badge {
    width: 38px;
    height: 38px;
    border-radius: 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg, #3b82f6, #1e40af);
    color: white;
    font-size: 17px;

    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3);
}

.topbar-titulo {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.topbar-nome {
    font-weight: 800;
    font-size: 17px;
    color: #0f172a;
    letter-spacing: -0.2px;
}

.topbar-sub {
    font-size: 11.5px;
    color: #64748b;
    font-weight: 500;
}

/* botões direita */
.topbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-top {
    display: flex;
    align-items: center;
    gap: 8px;

    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
    text-decoration: none;

    border: none;
    padding: 9px 16px;
    border-radius: 9px;

    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;

    transition: all 0.2s ease;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25);
}

.btn-top-sec {
    background: white;
    color: #2563eb;
    border: 1.5px solid #dbe6ff;
    box-shadow: none;
}

.btn-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
}

.btn-top-sec:hover {
    background: #eff6ff;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.12);
}

.indicador-rascunho {
    display: flex;
    align-items: center;
    gap: 6px;

    font-size: 11.5px;
    color: #10b981;
    font-weight: 600;

    opacity: 0;
    transition: opacity 0.4s ease;
    white-space: nowrap;
}

.indicador-rascunho.visivel {
    opacity: 1;
}

.indicador-rascunho i {
    font-size: 11px;
}

@media (max-width: 700px) {
    .indicador-rascunho span.texto-completo {
        display: none;
    }
}

.card {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.25s ease;
}

.card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    margin-bottom: 18px;
}

/* =========================================
   ETAPAS DO FORMULÁRIO (wizard)
   Por padrão só a etapa 1 fica visível; o JS
   controla a troca entre as demais.
========================================= */
.form-step {
    display: none;
}

.form-step[data-step="1"] {
    display: block;
}

/* =========================================
   STEPPER (indicador de progresso do formulário)
========================================= */

.stepper {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    background: #fff;
    border-radius: 12px;
    padding: 18px 24px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);

    overflow-x: auto;
}

.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;

    cursor: pointer;
    flex-shrink: 0;
    min-width: 70px;
    position: relative;
}

.step-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

    background: #e2e8f0;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;

    transition: all 0.2s ease;
}

/* bolinha de status da etapa: vermelha = ainda não percorrida,
   verde = já percorrida. A etapa ativa não recebe a bolinha. */
.step-item:not(.ativo) .step-circle::after {
    content: "";
    position: absolute;
    top: -2px;
    right: -2px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #ef4444;
    border: 2px solid white;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.step-item.concluido:not(.ativo) .step-circle::after {
    background: #10b981;
}

.step-circle i {
    display: none;
    font-size: 13px;
}

.step-label {
    font-size: 11px;
    color: #64748b;
    text-align: center;
    max-width: 90px;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.step-line {
    flex: 1;
    height: 2px;
    background: #e2e8f0;
    margin-top: 16px;
    min-width: 20px;
}

/* passo ativo (onde o usuário está agora) — cor por categoria */
.step-item.ativo .step-circle {
    color: white;
}

.step-item.ativo .step-label {
    font-weight: 700;
}

/* passo já concluído (usuário passou por ele) */
.step-item.concluido .step-circle {
    color: white;
}

.step-item.concluido .step-circle span {
    display: none;
}

.step-item.concluido .step-circle i {
    display: block;
}

/* ===== PALETA POR CATEGORIA =====
   c1 Identificação · c2 Biometria · c3 Dados Técnicos
   c4 Câmaras/Ventrículos · c5 Valvas · c6 Estruturas Adicionais
   c7 Comentários/Conclusão */
.step-item.c1.ativo .step-circle, .step-item.c1.concluido .step-circle { background: linear-gradient(135deg, #a78bfa, #7c3aed); }
.step-item.c1.ativo .step-circle { box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.18); }
.step-item.c1.ativo .step-label, .step-item.c1.concluido .step-label { color: #7c3aed; }

.step-item.c2.ativo .step-circle, .step-item.c2.concluido .step-circle { background: linear-gradient(135deg, #fbbf24, #f59e0b); }
.step-item.c2.ativo .step-circle { box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.18); }
.step-item.c2.ativo .step-label, .step-item.c2.concluido .step-label { color: #d97706; }

.step-item.c3.ativo .step-circle, .step-item.c3.concluido .step-circle { background: linear-gradient(135deg, #22d3ee, #0891b2); }
.step-item.c3.ativo .step-circle { box-shadow: 0 0 0 4px rgba(8, 145, 178, 0.18); }
.step-item.c3.ativo .step-label, .step-item.c3.concluido .step-label { color: #0891b2; }

.step-item.c4.ativo .step-circle, .step-item.c4.concluido .step-circle { background: linear-gradient(135deg, #fb7185, #e11d48); }
.step-item.c4.ativo .step-circle { box-shadow: 0 0 0 4px rgba(225, 29, 72, 0.18); }
.step-item.c4.ativo .step-label, .step-item.c4.concluido .step-label { color: #e11d48; }

.step-item.c5.ativo .step-circle, .step-item.c5.concluido .step-circle { background: linear-gradient(135deg, #2dd4bf, #0d9488); }
.step-item.c5.ativo .step-circle { box-shadow: 0 0 0 4px rgba(13, 148, 136, 0.18); }
.step-item.c5.ativo .step-label, .step-item.c5.concluido .step-label { color: #0d9488; }

.step-item.c6.ativo .step-circle, .step-item.c6.concluido .step-circle { background: linear-gradient(135deg, #818cf8, #4f46e5); }
.step-item.c6.ativo .step-circle { box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.18); }
.step-item.c6.ativo .step-label, .step-item.c6.concluido .step-label { color: #4f46e5; }

.step-item.c7.ativo .step-circle, .step-item.c7.concluido .step-circle { background: linear-gradient(135deg, #34d399, #059669); }
.step-item.c7.ativo .step-circle { box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.18); }
.step-item.c7.ativo .step-label, .step-item.c7.concluido .step-label { color: #059669; }

/* ===== ICON BADGES (ícones coloridos em círculo/quadrado arredondado) ===== */
.icon-badge {
    width: 34px;
    height: 34px;
    border-radius: 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    color: white;
    font-size: 15px;

    margin-right: 4px;
    vertical-align: middle;

    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.18);
}

.icon-badge.sm {
    width: 27px;
    height: 27px;
    font-size: 12px;
    border-radius: 8px;
}

.icon-badge.c1 { background: linear-gradient(135deg, #a78bfa, #7c3aed); }
.icon-badge.c2 { background: linear-gradient(135deg, #fbbf24, #f59e0b); }
.icon-badge.c3 { background: linear-gradient(135deg, #22d3ee, #0891b2); }
.icon-badge.c4 { background: linear-gradient(135deg, #fb7185, #e11d48); }
.icon-badge.c5 { background: linear-gradient(135deg, #2dd4bf, #0d9488); }
.icon-badge.c6 { background: linear-gradient(135deg, #818cf8, #4f46e5); }
.icon-badge.c7 { background: linear-gradient(135deg, #34d399, #059669); }

/* borda lateral dos tópicos, colorida conforme a categoria da etapa */
.form-step[data-step="3"] .topico-box { border-left: 4px solid #0891b2; }
.form-step[data-step="4"] .topico-box { border-left: 4px solid #e11d48; }
.form-step[data-step="5"] .topico-box { border-left: 4px solid #0d9488; }
.form-step[data-step="6"] .topico-box { border-left: 4px solid #4f46e5; }
.form-step[data-step="7"] .topico-box { border-left: 4px solid #059669; }

/* NAVEGAÇÃO ENTRE ETAPAS */
.wizard-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: -10px 0 20px;
}

.wizard-nav .btn,
.wizard-nav .btn-sec {
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
}

@media (max-width: 600px) {
    .stepper {
        padding: 14px 12px;
    }

    .step-label {
        display: none;
    }

    .step-item.ativo .step-label {
        display: block;
    }

    .wizard-nav .btn,
    .wizard-nav .btn-sec {
        font-size: 13px;
        padding: 10px 14px;
    }
}

/* INPUTS MAIS PADRONIZADOS */
input, select, textarea {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border-radius: 8px;
    border: 1px solid #ddd;
}

input, select {
    height: 45px;
}

/* ===== IDENTIFICAÇÃO ===== */
.grid-ident {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 15px;
}

.grid-ident-2 {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr 1.2fr;
    gap: 15px;
    margin-top: 10px;
    align-items: stretch;
}

/* ===== MEDIDAS ECOCARDIOGRÁFICAS ===== */
.grid-medidas {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.campo-medida {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.rotulo-medida {
    color: var(--texto-secundario, #64748b);
    font-size: 13px;
    font-weight: 600;
}
.entrada-medida {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 42px;
    border: 1px solid var(--borda, #d1d5db);
    border-radius: 8px;
    background: var(--campo, #fff);
    overflow: hidden;
}
.entrada-medida input {
    width: 100%;
    min-width: 0;
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
    background: transparent !important;
    padding: 10px 11px;
}
.unidade-medida {
    flex: 0 0 auto;
    padding: 0 10px;
    color: var(--texto-secundario, #64748b);
    font-size: 12px;
    white-space: nowrap;
}

.campo-data-exame {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    max-width: 320px;
}
.campo-data-exame label {
    color: var(--texto-secundario, #64748b);
    font-size: 13px;
    white-space: nowrap;
}
.campo-data-exame input { flex: 1; }

/* compatibilidade com telas antigas */
.grid-param {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

/* ===== BOX RESULT (CORRIGIDO - SEM DUPLICAÇÃO) ===== */
.box-result {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    height: 48px;
    border-radius: 10px;

    color: white;
    font-weight: bold;

    padding: 5px;
}

/* texto menor em cima */
.box-result small {
    font-size: 10px;
    line-height: 10px;
}

/* valor */
.box-result span {
    font-size: 14px;
}

/* CORES */
.box-result.imc {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
}

.box-result.asc {
    background: #1e293b;
}

.box-result.feve {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    margin-top: 15px;
	height: 48px;
}

/* TEXTO INTERNO */
.box-result small {
    font-size: 11px;
    opacity: 0.8;
}

.box-result span {
    font-size: 16px;
}

/* BOTÃO */
.btn {
    background: #2d6cdf;
    color: #fff;
    padding: 12px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

/* ===== TOPO DOS TÓPICOS ===== */
.header-topico {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* OPÇÕES */
.opcoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0;
}

.opcoes button {
    background: #f1f5ff;
    border: none;
    padding: 8px 12px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
    transition: 0.2s;
}

.opcoes button:hover {
    background: #dbe6ff;
}

.opcoes button.active {
    background: #2d6cdf;
    color: white;
}

/* ===== TÓPICOS ===== */
.topico-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #94a3b8;
    border-radius: 12px;
    padding: 20px;
	position: relative;
    z-index: 1;
    margin-bottom: 18px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.topico-box:hover {
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}

.topico-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.topico-header h4 {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #1e293b;
    font-size: 14px;
    font-weight: 700;
}

.topico-header-direita {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.contador-frases {
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    background: #f1f5f9;
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.contador-frases.com-conteudo {
    color: #2563eb;
    background: #dbeafe;
}

/* BOTÃO LIMPAR */
.btn-limpar {
    display: flex;
    align-items: center;
    gap: 6px;

    background: #fee2e2;
    border: none;
    color: #dc2626;

    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;

    font-size: 12px;
    transition: all 0.2s ease;
}

.btn-limpar:hover {
    background: #fecaca;
    transform: scale(1.05);
}

.btn-limpar i {
    font-size: 12px;
}

/* CAMPOS DOS TÓPICOS */
.topico-box select,
.topico-box textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 10px;
    font-size: 14px;
}

.topico-box textarea {
    min-height: 100px;
    resize: vertical;
}

/* TEXTAREA GLOBAL */
textarea {
    width: 100%;
    margin-top: 10px;
    min-height: 80px;
    border-radius: 8px;
    padding: 10px;
    border: 1px solid #ddd;
}

/* ===== SUBTÍTULOS DE GRUPOS DENTRO DOS TÓPICOS (bancos com subseções) ===== */
.subtitulo-grupo {
    margin: 20px 0 8px;
    padding-top: 12px;
    border-top: 1px dashed #cbd5e1;

    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #64748b;
}

.topico-box h4 {
    margin-top: 14px;
    margin-bottom: 4px;
}

/* ===== ÍCONES ===== */
h3 i:not(.icon-badge i), h4 i:not(.icon-badge i) {
    margin-right: 8px;
    color: #2563eb;
    transition: all 0.2s ease;
}

h3:hover i:not(.icon-badge i),
h4:hover i:not(.icon-badge i) {
    transform: scale(1.15);
    color: #1d4ed8;
}

.card h3:hover .icon-badge,
.topico-header h4:hover .icon-badge {
    transform: scale(1.08) rotate(-3deg);
}

.icon-badge {
    transition: transform 0.2s ease;
}

/* ANIMAÇÃO */
@keyframes iconFade {
    from {
        opacity: 0;
        transform: translateY(-3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

h3 i:not(.icon-badge i), h4 i:not(.icon-badge i) {
    animation: iconFade 0.3s ease;
}

.grid-ident,
.grid-ident-2,
.grid-param {
    align-items: end;
}

input, select {
    height: 48px;
}

.box-result {
    height: 48px; /* igual aos inputs */
}

/* =========================
   RESPONSIVO - TABLET
========================= */
@media (max-width: 1024px) {

    .grid-ident {
        grid-template-columns: 1fr 1fr;
    }

    .grid-ident-2 {
        grid-template-columns: 1fr 1fr;
    }

    .grid-param {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* =========================
   RESPONSIVO - CELULAR
========================= */
@media (max-width: 600px) {

    body {
        padding: 10px;
    }

    .card {
        padding: 15px;
    }

    h3 {
        font-size: 16px;
    }

    /* IDENTIFICAÇÃO */
    .grid-ident {
        grid-template-columns: 1fr;
    }

    .grid-ident-2 {
        grid-template-columns: 1fr;
    }

    /* PARÂMETROS */
    .grid-param {
        grid-template-columns: 1fr 1fr;
    }

    /* BOX RESULT (fica bonito no mobile) */
    .box-result {
        height: 50px;
        font-size: 13px;
    }

    .box-result span {
        font-size: 15px;
    }

    /* BOTÃO */
    .btn {
        width: 100%;
        font-size: 15px;
    }
}

/* =========================
   FOCUS (CLIQUE NOS CAMPOS)
========================= */

input:focus,
select:focus,
textarea:focus {
    outline: none; /* remove borda padrão preta */
    border: 1.5px solid #2d6cdf; /* azul do seu layout */
    box-shadow: 0 0 0 3px rgba(45,108,223,0.15); /* glow suave */
    transition: all 0.2s ease;
}

/* efeito mais suave ao clicar */
input,
select,
textarea {
    transition: all 0.2s ease;
}

/* MODAL OVERLAY */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    inset: 0;

    background: rgba(0,0,0,0.4);

    justify-content: center;
    align-items: center;
}

/* CAIXA */
.modal-content {
    width: 92%;
    max-width: 960px;
    max-height: 90vh;

    background: white;
    border-radius: 12px;

    display: flex;
    flex-direction: column;
    overflow: hidden;

    animation: fadeUp 0.3s ease;
}

/* HEADER */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 15px 20px;
    border-bottom: 1px solid #e2e8f0;
}

.modal-header h2 {
    font-size: 18px;
    color: #1e40af;
}

.close {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
}

/* BODY */
.modal-body {
    padding: 25px 30px 30px;
    overflow-y: auto;
    background: #f8fafc;
}

/* FOOTER */
.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;

    padding: 15px;
    border-top: 1px solid #e2e8f0;
}

.btn-sec {
    background: #e2e8f0;
    border: none;
    padding: 10px 14px;
    border-radius: 8px;
    cursor: pointer;
}

.btn-sec:hover {
    background: #cbd5e1;
}

/* ANIMAÇÃO */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================
   ESTILO DO LAUDO (visualização do relatório)
========================================= */

.laudo {
    line-height: 1.6;
    color: #1e293b;
    font-size: 14px;
}

/* CABEÇALHO COM DADOS DO PACIENTE */
.laudo-topo {
    display: flex;
    align-items: center;
    gap: 18px;

    background: linear-gradient(135deg, #3b82f6, #1e40af);
    color: white;
    border-radius: 14px;
    padding: 20px 24px;
    margin-bottom: 22px;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
}

.laudo-topo-icone {
    flex-shrink: 0;
    width: 54px;
    height: 54px;
    border-radius: 50%;

    background: rgba(255,255,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.laudo-topo-info h2 {
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 6px;
}

.laudo-topo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.laudo-topo-tags span {
    display: flex;
    align-items: center;
    gap: 6px;

    background: rgba(255,255,255,0.16);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
}

/* TÍTULOS DE SEÇÃO */
.laudo-titulo-secao {
    display: flex;
    align-items: center;
    gap: 8px;

    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #2563eb;

    margin: 26px 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #dbe6ff;
}

.laudo-titulo-secao:first-of-type {
    margin-top: 0;
}

.laudo-titulo-secao i {
    font-size: 13px;
}

.laudo-titulo-secao.c3 { color: #0891b2; border-bottom-color: #cffafe; }
.laudo-titulo-secao.c4 { color: #e11d48; border-bottom-color: #ffe4e6; }
.laudo-titulo-secao.c5 { color: #0d9488; border-bottom-color: #ccfbf1; }
.laudo-titulo-secao.c6 { color: #4f46e5; border-bottom-color: #e0e7ff; }
.laudo-titulo-secao.c7 { color: #059669; border-bottom-color: #d1fae5; }

/* GRID DE MEDIDAS */
.laudo-medidas {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
}

.medida-item {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 12px;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

.medida-item small {
    font-size: 10.5px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.medida-item span {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

.medida-item span em {
    font-size: 11px;
    font-weight: 400;
    font-style: normal;
    color: #94a3b8;
}

.medida-item.destaque {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border: none;
}

.medida-item.destaque small,
.medida-item.destaque span,
.medida-item.destaque span em {
    color: white;
}

/* GRUPOS DE ACHADOS (Câmaras, Valvas, etc.) */
.laudo-grupo {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.laudo-secao {
    background: white;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #3b82f6;
    border-radius: 10px;
    padding: 12px 16px;
}

.laudo-secao.c3 { border-left-color: #0891b2; }
.laudo-secao.c3 .laudo-secao-header i, .laudo-secao.c3 .laudo-secao-header h4 { color: #0891b2; }

.laudo-secao.c4 { border-left-color: #e11d48; }
.laudo-secao.c4 .laudo-secao-header i, .laudo-secao.c4 .laudo-secao-header h4 { color: #e11d48; }

.laudo-secao.c5 { border-left-color: #0d9488; }
.laudo-secao.c5 .laudo-secao-header i, .laudo-secao.c5 .laudo-secao-header h4 { color: #0d9488; }

.laudo-secao.c6 { border-left-color: #4f46e5; }
.laudo-secao.c6 .laudo-secao-header i, .laudo-secao.c6 .laudo-secao-header h4 { color: #4f46e5; }

.laudo-secao.c7 { border-left-color: #059669; }
.laudo-secao.c7 .laudo-secao-header i, .laudo-secao.c7 .laudo-secao-header h4 { color: #059669; }

.laudo-secao-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.laudo-secao-header i {
    color: #2563eb;
    font-size: 13px;
}

.laudo-secao-header h4 {
    font-size: 13px;
    font-weight: 700;
    color: #1e40af;
}

.laudo-secao-corpo p {
    margin: 3px 0;
    padding-left: 2px;
}

/* SUBSEÇÕES dentro de um mesmo tópico (ex.: FEVE Simpson em Homens,
   FEVE Simpson em Mulheres dentro de Ventrículo Esquerdo) */
.laudo-subsecao {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #e2e8f0;
}

.laudo-subsecao:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.laudo-subsecao h5 {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #3b82f6;
    margin-bottom: 4px;
}

.laudo-subsecao p {
    margin: 3px 0;
    padding-left: 2px;
}

/* COMENTÁRIOS */
.laudo-comentarios {
    background: #f1f5f9;
    border-radius: 10px;
    padding: 14px 18px;
}

.laudo-comentarios p {
    margin: 4px 0;
}

/* CONCLUSÃO — destaque máximo do laudo */
.laudo-conclusao {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-left: 5px solid #1e40af;
    border-radius: 10px;
    padding: 16px 20px;
}

.laudo-conclusao p {
    margin: 5px 0;
    font-weight: 600;
    color: #0f172a;
}

@media (max-width: 600px) {
    .laudo-topo {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    .laudo-medidas {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================
   IMPRESSÃO — mostra apenas o laudo
========================================= */
@media print {
    body * {
        visibility: hidden;
    }

    .modal-content,
    .modal-content * {
        visibility: visible;
    }

    .modal {
        position: absolute;
        inset: auto;
        background: none;
        display: block !important;
    }

    .modal-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        max-height: none;
        box-shadow: none;
        border-radius: 0;
    }

    .modal-header,
    .modal-footer {
        display: none;
    }

    .modal-body {
        overflow: visible;
        background: white;
        padding: 0;
    }

    .laudo-secao,
    .laudo-conclusao,
    .laudo-comentarios {
        break-inside: avoid;
    }
}

.input-tags {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 8px;
    display: flex;
	position: relative;
    flex-direction: column; /* 👈 MUDA TUDO */
    gap: 6px;
    background: #fff;
}

/* container das tags */
.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* área do input */
.input-busca {
    position: relative;
}

.input-busca input {
    width: 100%;
    border: none;
    outline: none;
    padding: 8px;
}

.input-tags input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 120px;
}

/* TAGS */
.tag {
    background: #2563eb;
    color: white;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
}

.tag span {
    cursor: pointer;
    font-weight: bold;
}

.tag-texto {
    cursor: text;
    font-weight: normal;
    outline: none;
    border-radius: 4px;
    padding: 1px 3px;
    margin: -1px -3px;
    white-space: pre-wrap;
    word-break: break-word;
}

.tag-texto:hover {
    background: rgba(255, 255, 255, 0.15);
}

.tag-texto:focus {
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
}

.tag-remover {
    flex-shrink: 0;
    opacity: 0.85;
}

.tag-remover:hover {
    opacity: 1;
}

/* AUTOCOMPLETE DENTRO DA CAIXA */
.autocomplete-list {
	display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 100%;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;

    max-height: 220px;
    overflow-y: auto;

    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    z-index: 9999;

    padding: 6px;
}

/* itens */
.item-autocomplete {
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;

    font-size: 13px;
    line-height: 1.4;
    color: #1e293b;

    transition: all 0.15s ease;
}

/* hover bonito */
.item-autocomplete:hover {
    background: #eff6ff;
    color: #1d4ed8;
}

/* item destacado via navegação por teclado (setas) */
.item-autocomplete.active {
    background: #dbe6ff;
    color: #1d4ed8;
}

/* separação leve */
.item-autocomplete:not(:last-child) {
    border-bottom: 1px solid #f1f5f9;
}

/* scroll mais bonito */
.autocomplete-list::-webkit-scrollbar {
    width: 6px;
}

.autocomplete-list::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}


/* =========================================
   PÁGINA DE LISTAGEM / HISTÓRICO DE LAUDOS
========================================= */

.conteudo-listagem {
    max-width: 1100px;
    margin: 0 auto;
}

.alerta {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 12px 16px;
    border-radius: 10px;
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: 600;
}

.alerta-sucesso {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.grid-busca {
    display: grid;
    grid-template-columns: 2fr 0.9fr 1fr 1fr auto auto;
    gap: 14px;
    align-items: end;
}

.grid-busca .btn {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    white-space: nowrap;
}

.texto-vazio {
    color: #94a3b8;
    font-size: 14px;
    text-align: center;
    padding: 30px 0;
}

.tabela-wrap {
    overflow-x: auto;
}

.tabela-laudos {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.tabela-laudos thead th {
    text-align: left;
    padding: 10px 12px;
    color: #64748b;
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 2px solid #e2e8f0;
}

.tabela-laudos tbody tr {
    transition: background 0.15s ease;
}

.tabela-laudos tbody tr:hover {
    background: #f8fafc;
}

.tabela-laudos tbody td {
    padding: 12px;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
}

.celula-nome {
    font-weight: 700;
    color: #0f172a;
}

.celula-acoes {
    display: flex;
    gap: 6px;
}

.acao-icone {
    width: 32px;
    height: 32px;
    border-radius: 8px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #f1f5f9;
    color: #475569;
    text-decoration: none;
    font-size: 13px;

    transition: all 0.15s ease;
}

.acao-icone:hover {
    background: #dbeafe;
    color: #2563eb;
    transform: translateY(-1px);
}

.acao-icone.acao-excluir:hover {
    background: #fee2e2;
    color: #dc2626;
}

@media (max-width: 700px) {
    .grid-busca {
        grid-template-columns: 1fr;
    }
}


/* =========================================
   MENU DO USUÁRIO (avatar + dropdown no topbar)
========================================= */

.menu-usuario {
    position: relative;
}

/* =========================================
   SINO DE NOTIFICAÇÕES (admin)
========================================= */

.menu-notificacoes {
    position: relative;
}

.sino-notificacoes {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: white;
    border: 1.5px solid #e2e8f0;
    color: #475569;
    font-size: 15px;
    cursor: pointer;

    transition: all 0.15s ease;
}

.sino-notificacoes:hover {
    background: #f1f5f9;
    color: #2563eb;
}

.badge-notificacoes {
    position: absolute;
    top: -3px;
    right: -3px;

    min-width: 17px;
    height: 17px;
    padding: 0 3px;
    border-radius: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #dc2626;
    color: white;
    font-size: 10px;
    font-weight: 800;
    border: 2px solid white;
}

.dropdown-notificacoes {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;

    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);

    width: 290px;
    max-height: 360px;
    overflow-y: auto;

    padding: 8px;
    z-index: 1000;
}

.dropdown-notificacoes.aberto {
    display: block;
    animation: fadeUp 0.15s ease;
}

.dropdown-notificacoes-titulo {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #94a3b8;
    padding: 8px 10px;
}

.notificacao-item {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 8px 10px;
    border-radius: 10px;
    text-decoration: none;

    transition: background 0.15s ease;
}

.notificacao-item:hover {
    background: #f1f5f9;
}

.notificacao-item strong {
    display: block;
    font-size: 13px;
    color: #0f172a;
}

.notificacao-item span {
    display: block;
    font-size: 11.5px;
    color: #94a3b8;
}

.notificacao-ver-todas {
    display: block;
    text-align: center;
    padding: 10px;
    margin-top: 4px;
    border-top: 1px solid #f1f5f9;

    font-size: 12.5px;
    font-weight: 700;
    color: #2563eb;
    text-decoration: none;
}

.notificacao-ver-todas:hover {
    text-decoration: underline;
}

.avatar-usuario {
    width: 38px;
    height: 38px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg, #3b82f6, #1e40af);
    color: white;
    font-weight: 700;
    font-size: 14px;

    border: none;
    cursor: pointer;
    font-family: inherit;

    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25);
    transition: transform 0.15s ease;
}

.avatar-usuario:hover {
    transform: scale(1.06);
}

.dropdown-usuario {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;

    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);

    min-width: 200px;
    padding: 10px;
    z-index: 1000;
}

.dropdown-usuario.aberto {
    display: block;
    animation: fadeUp 0.15s ease;
}

.dropdown-usuario-nome {
    font-weight: 700;
    font-size: 13.5px;
    color: #0f172a;
    padding: 6px 10px 0;
}

.dropdown-usuario-papel {
    font-size: 11.5px;
    color: #94a3b8;
    padding: 0 10px 8px;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 6px;
}

.dropdown-usuario a {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 9px 10px;
    border-radius: 8px;

    font-size: 13px;
    color: #334155;
    text-decoration: none;

    transition: background 0.15s ease;
}

.dropdown-usuario a:hover {
    background: #f1f5f9;
    color: #2563eb;
}

.usuario-logado {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

/* =========================================
   SELOS (papel / status) — usados em usuarios.php
========================================= */

.selo-papel, .selo-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.selo-admin   { background: #ede9fe; color: #7c3aed; }
.selo-medico  { background: #dbeafe; color: #2563eb; }

.selo-ativo    { background: #d1fae5; color: #059669; }
.selo-pendente { background: #fef3c7; color: #d97706; }
.selo-inativo  { background: #fee2e2; color: #dc2626; }

.alerta-erro {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

/* =========================================
   PÁGINAS DE AUTENTICAÇÃO (login / cadastro)
   Layout dividido: lado com identidade da
   "clínica" + card de formulário.
========================================= */

body.pagina-auth {
    padding: 0;
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg, #eff6ff 0%, #eef2ff 50%, #f0fdfa 100%);
}

.auth-wrap {
    display: flex;
    width: 100%;
    max-width: 960px;
    min-height: 560px;
    margin: 30px 20px;

    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.12);
}

.auth-lado-info {
    flex: 1;
    padding: 50px 40px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: linear-gradient(155deg, #2563eb, #1e3a8a 65%, #0f172a);
    color: white;
    position: relative;
    overflow: hidden;
}

.auth-lado-info::before {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    top: -120px;
    right: -100px;
}

.auth-lado-info::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    bottom: -80px;
    left: -60px;
}

.auth-logo {
    width: 56px;
    height: 56px;
    font-size: 24px;
    border-radius: 16px;
    margin-bottom: 22px;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
    position: relative;
    z-index: 1;
}

.auth-lado-info h1 {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.auth-lado-info > p {
    font-size: 14px;
    color: #dbeafe;
    line-height: 1.6;
    max-width: 320px;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.auth-lista-recursos {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    z-index: 1;
}

.auth-lista-recursos li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #e0e7ff;
}

.auth-lista-recursos i {
    color: #6ee7b7;
    font-size: 15px;
}

.auth-card {
    flex: 1;
    padding: 50px 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 22px;
    color: #0f172a;
    margin-bottom: 6px;
}

.auth-card h2 i {
    color: #2563eb;
    font-size: 19px;
}

.auth-subtitulo {
    color: #64748b;
    font-size: 13.5px;
    margin-bottom: 22px;
}

.form-auth {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.form-auth label {
    font-size: 12.5px;
    font-weight: 700;
    color: #334155;
    margin-top: 12px;
    margin-bottom: 2px;
}

.form-auth input {
    margin-top: 0;
}

.checkbox-lembrar {
    display: flex !important;
    align-items: center;
    gap: 8px;

    font-size: 13px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    text-transform: none;

    margin-top: 14px !important;
    cursor: pointer;
}

.checkbox-lembrar input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #2563eb;
    cursor: pointer;
    margin: 0;
}

/* =========================================
   CONFIGURAÇÕES (timbre do laudo)
========================================= */

.rotulo-campo {
    font-size: 12.5px;
    font-weight: 700;
    color: #334155;
    margin-bottom: 4px;
    display: block;
}

.logo-atual {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.logo-atual img {
    max-width: 100px;
    max-height: 60px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 4px;
}

.logo-atual span {
    font-size: 12px;
    color: #64748b;
}

/* =========================================
   LOG DE AUDITORIA
========================================= */

.grid-busca-auditoria {
    display: grid;
    grid-template-columns: 1.5fr 1.2fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
}

.grid-busca-auditoria .btn {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    white-space: nowrap;
}

.selo-acao {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.selo-acao.c1 { background: #ede9fe; color: #7c3aed; }
.selo-acao.c2 { background: #fef3c7; color: #d97706; }
.selo-acao.c3 { background: #cffafe; color: #0891b2; }
.selo-acao.c4 { background: #fee2e2; color: #dc2626; }
.selo-acao.c5 { background: #dbeafe; color: #2563eb; }
.selo-acao.c6 { background: #e0e7ff; color: #4f46e5; }
.selo-acao.c7 { background: #d1fae5; color: #059669; }

.texto-discreto {
    color: #94a3b8;
    font-size: 12px;
}

/* =========================================
   HISTÓRICO DE VERSÕES DO LAUDO
========================================= */

.lista-versoes {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.versao-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 18px;
}

.versao-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.versao-cabecalho strong {
    font-size: 13.5px;
    color: #0f172a;
}

.versao-acoes {
    display: flex;
    gap: 8px;
}

.versao-acoes form {
    display: inline;
}

.versao-acoes .btn-sec {
    display: flex;
    align-items: center;
    gap: 6px;
    width: auto;
    font-size: 12.5px;
    padding: 8px 12px;
}

.versao-detalhe {
    display: none;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #e2e8f0;
    font-size: 13px;
}

.versao-detalhe.aberto {
    display: block;
}

.versao-detalhe small {
    color: #94a3b8;
    font-size: 10.5px;
    text-transform: uppercase;
}

.versao-topico {
    margin-bottom: 12px;
}

.versao-topico strong {
    display: block;
    color: #2563eb;
    font-size: 12px;
    margin-bottom: 4px;
}

.versao-topico p {
    margin: 2px 0;
    color: #334155;
}

@media (max-width: 900px) {
    .grid-busca-auditoria {
        grid-template-columns: 1fr 1fr;
    }
}

.btn-auth {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: 22px;
    background: linear-gradient(135deg, #3b82f6, #1e40af);
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
}

.auth-rodape {
    margin-top: 24px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

.auth-rodape a {
    color: #2563eb;
    font-weight: 700;
    text-decoration: none;
}

.auth-rodape a:hover {
    text-decoration: underline;
}

.auth-esqueci {
    text-align: center;
    margin-top: 14px;
}

.auth-esqueci a {
    font-size: 12.5px;
    color: #64748b;
    text-decoration: none;
}

.auth-esqueci a:hover {
    color: #2563eb;
    text-decoration: underline;
}

@media (max-width: 800px) {
    .auth-wrap {
        flex-direction: column;
        min-height: auto;
        margin: 16px;
    }

    .auth-lado-info {
        padding: 34px 28px;
    }

    .auth-card {
        padding: 34px 28px;
    }
}

/* =========================================
   DIÁLOGOS PERSONALIZADOS (confirmação / aviso)
   Substituem o confirm()/alert() nativos do navegador.
========================================= */

.modal-dialogo-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);

    opacity: 0;
    transition: opacity 0.18s ease;
}

.modal-dialogo-overlay.visivel {
    opacity: 1;
}

.modal-dialogo-caixa {
    width: 90%;
    max-width: 380px;

    background: white;
    border-radius: 18px;
    padding: 28px 26px 22px;

    text-align: center;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.25);

    transform: translateY(14px) scale(0.97);
    transition: transform 0.18s ease;
}

.modal-dialogo-overlay.visivel .modal-dialogo-caixa {
    transform: translateY(0) scale(1);
}

.modal-dialogo-icone {
    width: 54px;
    height: 54px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;

    font-size: 22px;
    color: white;
}

.modal-dialogo-icone.perigo { background: linear-gradient(135deg, #fb7185, #dc2626); }
.modal-dialogo-icone.info   { background: linear-gradient(135deg, #60a5fa, #2563eb); }
.modal-dialogo-icone.aviso  { background: linear-gradient(135deg, #fbbf24, #d97706); }
.modal-dialogo-icone.erro   { background: linear-gradient(135deg, #f87171, #b91c1c); }

.modal-dialogo-titulo {
    font-size: 16.5px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 8px;
}

.modal-dialogo-mensagem {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.55;
    margin-bottom: 22px;
}

.modal-dialogo-mensagem ul {
    text-align: left;
    padding-left: 18px;
    margin-top: 4px;
}

.modal-dialogo-mensagem li {
    margin: 4px 0;
}

.modal-dialogo-botoes {
    display: flex;
    gap: 10px;
}

.modal-dialogo-botoes button {
    flex: 1;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-perigo {
    background: linear-gradient(135deg, #fb7185, #dc2626) !important;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25);
}

/* =========================================
   MODO ESCURO
   Ativado via body.tema-escuro (alternado pelo botão no topbar,
   preferência salva no localStorage).
========================================= */

.botao-tema {
    width: 38px;
    height: 38px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: white;
    border: 1.5px solid #e2e8f0;
    color: #475569;
    font-size: 15px;
    cursor: pointer;

    transition: all 0.15s ease;
}

.botao-tema:hover {
    background: #f1f5f9;
    color: #2563eb;
}

body,
.card,
.topbar,
.stepper,
.topico-box,
input,
select,
textarea,
.modal-content,
.modal-dialogo-caixa,
.dropdown-usuario,
.dropdown-notificacoes,
.auth-wrap,
.tabela-laudos tbody td,
.versao-item,
.acao-icone,
.contador-frases,
.icon-badge,
.step-circle {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.tema-escuro {
    background: #0f172a;
    color: #e2e8f0;
}

body.tema-escuro .topbar {
    background: rgba(15, 23, 42, 0.9);
    border-bottom-color: #1e293b;
}

body.tema-escuro .topbar-nome { color: #f1f5f9; }
body.tema-escuro .topbar-sub { color: #94a3b8; }

body.tema-escuro .card,
body.tema-escuro .stepper,
body.tema-escuro .modal-content,
body.tema-escuro .modal-dialogo-caixa,
body.tema-escuro .dropdown-usuario,
body.tema-escuro .dropdown-notificacoes,
body.tema-escuro .auth-card,
body.tema-escuro .versao-item {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

body.tema-escuro .auth-wrap {
    background: #1e293b;
}

body.tema-escuro .topico-box {
    background: #16213a;
    border-color: #334155;
}

body.tema-escuro h1, body.tema-escuro h2, body.tema-escuro h3, body.tema-escuro h4, body.tema-escuro h5,
body.tema-escuro .card h3, body.tema-escuro .topico-header h4, body.tema-escuro .dropdown-usuario-nome,
body.tema-escuro .celula-nome, body.tema-escuro .versao-cabecalho strong {
    color: #f1f5f9;
}

body.tema-escuro p, body.tema-escuro span, body.tema-escuro label {
    color: #cbd5e1;
}

body.tema-escuro .texto-vazio, body.tema-escuro .texto-discreto,
body.tema-escuro .auth-subtitulo, body.tema-escuro .topbar-sub,
body.tema-escuro .dropdown-usuario-papel, body.tema-escuro .form-auth label {
    color: #94a3b8;
}

body.tema-escuro input,
body.tema-escuro select,
body.tema-escuro textarea {
    background: #0f172a;
    border-color: #334155;
    color: #f1f5f9;
}

body.tema-escuro input::placeholder,
body.tema-escuro textarea::placeholder {
    color: #64748b;
}

body.tema-escuro input:focus,
body.tema-escuro select:focus,
body.tema-escuro textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

body.tema-escuro .btn-sec {
    background: #334155;
    color: #e2e8f0;
}

body.tema-escuro .btn-sec:hover {
    background: #475569;
}

body.tema-escuro .btn-top-sec {
    background: #1e293b;
    color: #93c5fd;
    border-color: #334155;
}

body.tema-escuro .avatar-usuario,
body.tema-escuro .sino-notificacoes {
    background: #1e293b;
    border-color: #334155;
}

body.tema-escuro .dropdown-usuario a,
body.tema-escuro .notificacao-item {
    color: #cbd5e1;
}

body.tema-escuro .dropdown-usuario a:hover,
body.tema-escuro .notificacao-item:hover {
    background: #334155;
    color: #93c5fd;
}

body.tema-escuro .tabela-laudos thead th {
    color: #94a3b8;
    border-bottom-color: #334155;
}

body.tema-escuro .tabela-laudos tbody td {
    border-bottom-color: #334155;
    color: #e2e8f0;
}

body.tema-escuro .tabela-laudos tbody tr:hover {
    background: #16213a;
}

body.tema-escuro .acao-icone {
    background: #334155;
    color: #cbd5e1;
}

body.tema-escuro .acao-icone:hover {
    background: #3730a3;
    color: #c7d2fe;
}

body.tema-escuro .contador-frases {
    background: #334155;
    color: #94a3b8;
}

body.tema-escuro .contador-frases.com-conteudo {
    background: #1e3a8a;
    color: #bfdbfe;
}

body.tema-escuro .step-circle {
    background: #334155;
    color: #94a3b8;
}

body.tema-escuro .step-label {
    color: #94a3b8;
}

body.tema-escuro .laudo-secao,
body.tema-escuro .laudo-comentarios {
    background: #16213a;
    border-color: #334155;
}

body.tema-escuro .laudo-secao-header h4,
body.tema-escuro .laudo-secao-corpo p {
    color: #e2e8f0;
}

body.tema-escuro .modal-body {
    background: #0f172a;
}

body.tema-escuro .alerta-sucesso {
    background: #052e21;
    border-color: #065f46;
}

body.tema-escuro .alerta-erro {
    background: #450a0a;
    border-color: #7f1d1d;
}

body.tema-escuro .grid-busca input,
body.tema-escuro .grid-busca-auditoria input,
body.tema-escuro .grid-busca-auditoria select {
    background: #0f172a;
}

body.tema-escuro .versao-detalhe {
    border-top-color: #334155;
}

body.tema-escuro .rotulo-campo {
    color: #cbd5e1;
}





/* Ajustes responsivos para a nova organização de identificação e medidas */
@media (max-width: 900px) {
    .grid-medidas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .grid-ident { grid-template-columns: 1fr; }
    .grid-ident-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-medidas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .campo-data-exame { max-width: 100%; }
}

/* ===== CAMPO "DATA DO EXAME" ===== */
.campo-data-exame {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    max-width: 220px;
}
.campo-data-exame label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin: 0;
}
.campo-data-exame input[type="date"] {
    width: 100%;
    flex: none;
    margin-top: 0;
    padding: 0 12px;
    font-family: inherit;
    font-size: 14px;
    color: inherit;
    background: #fff;
    cursor: pointer;
}
.campo-data-exame input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.55;
    padding: 4px;
    border-radius: 6px;
    transition: opacity 0.15s ease, background 0.15s ease;
}
.campo-data-exame input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
    background: rgba(37, 99, 235, 0.1);
}
body.tema-escuro .campo-data-exame input[type="date"] {
    background: transparent;
    color-scheme: dark;
}
@media (max-width: 600px) {
    .campo-data-exame { max-width: 100%; }
}

/* ===== CAMPOS DE DATA (filtros da listagem e da auditoria) ===== */
input[type="date"] {
    font-family: inherit;
    font-size: 14px;
    color: inherit;
    padding: 0 12px;
    cursor: pointer;
}
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.55;
    padding: 4px;
    border-radius: 6px;
    transition: opacity 0.15s ease, background 0.15s ease;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
    background: rgba(37, 99, 235, 0.1);
}
body.tema-escuro input[type="date"] { color-scheme: dark; }

.campo-filtro-data {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}
.campo-filtro-data span {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--texto-secundario, #64748b);
}
.campo-filtro-data input { margin-top: 0; }


/* ===== LISTAGEM: ordenação, paginação e filtros ===== */
.grid-busca .btn-limpar-filtros { display: inline-flex; align-items: center; gap: 6px; height: 48px; box-sizing: border-box; white-space: nowrap; }
.th-ordenavel { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.th-ordenavel i { font-size: 11px; opacity: 0.35; transition: opacity 0.15s ease; }
.th-ordenavel:hover i { opacity: 0.8; }
.th-ordenavel.ativa { color: #2563eb; }
.th-ordenavel.ativa i { opacity: 1; }

.paginacao-barra { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
.paginacao-info { font-size: 13px; color: var(--texto-secundario, #64748b); }
.paginacao { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pag-item { min-width: 36px; height: 36px; padding: 0 10px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
            border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; color: #334155; font-size: 13px; font-weight: 600; text-decoration: none; transition: all 0.15s ease; }
a.pag-item:hover { border-color: #93c5fd; background: #eff6ff; color: #1d4ed8; }
.pag-item.ativo { background: #2563eb; border-color: #2563eb; color: #fff; }
.pag-item.desativado { opacity: 0.4; cursor: default; }
.pag-item.reticencias { border: none; background: transparent; min-width: 20px; padding: 0; }
.paginacao-por-pagina { margin: 0; }
.paginacao-por-pagina label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--texto-secundario, #64748b); }
.paginacao-por-pagina select { width: auto; height: 36px; margin: 0; padding: 0 10px; }
body.tema-escuro .pag-item { background: transparent; border-color: #334155; color: #cbd5e1; }
body.tema-escuro .th-ordenavel.ativa { color: #60a5fa; }
@media (max-width: 700px) {
    .grid-busca { grid-template-columns: 1fr; }
    .paginacao-barra { justify-content: center; }
}

/* ===== MENU PERSONALIZADO (Gênero) ===== */
.select-custom { position: relative; margin-top: 5px; }
.select-custom-nativo { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; margin: 0; padding: 0; }
.select-custom-botao {
    width: 100%; height: 48px; box-sizing: border-box; padding: 0 14px;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    border: 1px solid #ddd; border-radius: 8px; background: #fff;
    font: inherit; font-size: 14px; color: #6b7280; cursor: pointer; text-align: left;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.select-custom.preenchido .select-custom-botao { color: #1e293b; }
.select-custom-botao:hover { border-color: #b8c4dc; }
.select-custom-botao:focus-visible, .select-custom.aberto .select-custom-botao {
    outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.select-custom-seta { font-size: 11px; color: #94a3b8; transition: transform 0.2s ease; }
.select-custom.aberto .select-custom-seta { transform: rotate(180deg); }
.select-custom-lista {
    position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 30;
    margin: 0; padding: 6px; list-style: none;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}
.select-custom.aberto .select-custom-lista { opacity: 1; visibility: visible; transform: translateY(0); }
.select-custom-lista li {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px;
    border-radius: 8px; font-size: 14px; color: #334155; cursor: pointer;
}
.select-custom-lista li i { width: 16px; text-align: center; color: #94a3b8; }
.select-custom-lista li:hover, .select-custom-lista li.ativo { background: #eff6ff; color: #1d4ed8; }
.select-custom-lista li:hover i, .select-custom-lista li.ativo i { color: #2563eb; }
.select-custom-lista li.selecionado { font-weight: 600; background: #dbeafe; color: #1d4ed8; }
body.tema-escuro .select-custom-botao { background: transparent; border-color: #334155; color: #94a3b8; }
body.tema-escuro .select-custom.preenchido .select-custom-botao { color: #e2e8f0; }
body.tema-escuro .select-custom-lista { background: #1e293b; border-color: #334155; box-shadow: 0 12px 28px rgba(0,0,0,0.5); }
body.tema-escuro .select-custom-lista li { color: #cbd5e1; }
body.tema-escuro .select-custom-lista li:hover, body.tema-escuro .select-custom-lista li.ativo { background: #334155; color: #93c5fd; }
body.tema-escuro .select-custom-lista li.selecionado { background: #1e3a8a; color: #bfdbfe; }

/* =========================================
   ASSINATURA DO MÉDICO (Visualizar Laudo)
========================================= */
.painel-assinatura{margin-top:18px;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.painel-assinatura [hidden]{display:none!important}
.painel-assinatura-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.painel-assinatura-topo h4{margin:0;font-size:15px;color:#0f172a}
.assinatura-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#fee2e2;color:#b91c1c}
.assinatura-status.ok{background:#d1fae5;color:#047857}
.assinatura-abas{display:flex;gap:6px;margin-bottom:12px}
.assinatura-abas .aba{flex:1;padding:9px 12px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:#475569}
.assinatura-abas .aba.ativa{background:#0ea5a4;border-color:#0ea5a4;color:#fff}
#assinaturaCanvas{display:block;width:100%;height:170px;background:#fff;border:2px dashed #94a3b8;border-radius:12px;touch-action:none;cursor:crosshair}
.assinatura-dica{margin:8px 0;font-size:12px;color:#64748b}
.assinatura-botoes{display:flex;gap:8px;flex-wrap:wrap}
.assinatura-upload{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px 14px;border:2px dashed #94a3b8;border-radius:12px;background:#fff;cursor:pointer;color:#334155;font-weight:600;text-align:center}
.assinatura-upload i{font-size:22px;color:#0ea5a4}
.assinatura-atual{display:flex;align-items:center;gap:14px;margin-top:14px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap}
.assinatura-atual img{max-height:70px;max-width:240px;background:#fff}
.assinatura-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.assinatura-lembrar{font-size:13px;color:#475569;display:flex;gap:6px;align-items:center;cursor:pointer}
.laudo-assinatura{margin-top:36px;text-align:center}
.laudo-assinatura img{display:block;margin:0 auto;max-height:80px;max-width:260px}
.laudo-assinatura-linha{width:260px;max-width:80%;border-top:1px solid #334155;margin:4px auto 4px}
.laudo-assinatura small{color:#64748b}
.laudo-assinatura-vazia{font-size:12px;color:#94a3b8;font-style:italic}
body.tema-escuro .painel-assinatura{background:#0f172a;border-color:#334155}
body.tema-escuro .painel-assinatura-topo h4{color:#f1f5f9}
body.tema-escuro .assinatura-abas .aba{background:#1e293b;border-color:#334155;color:#cbd5e1}
body.tema-escuro .assinatura-abas .aba.ativa{background:#0ea5a4;border-color:#0ea5a4;color:#fff}
body.tema-escuro .assinatura-upload,body.tema-escuro .assinatura-atual{background:#1e293b;border-color:#475569;color:#e2e8f0}
body.tema-escuro .assinatura-lembrar{color:#cbd5e1}
@media(max-width:600px){.assinatura-botoes .btn,.assinatura-botoes .btn-sec{flex:1}#assinaturaCanvas{height:150px}}
.assinatura-lembrar input[type=checkbox]{width:auto;height:auto;margin:0;flex:0 0 auto;padding:0}
.assinatura-lembrar{flex:1;min-width:220px}

/* ===== Preview no modelo "Ajustes 05.11.2026" ===== */
.laudo-biometria{display:flex;flex-wrap:wrap;gap:6px 22px;padding:8px 14px;margin:-6px 0 12px;background:#eff6ff;border-radius:0 0 10px 10px;font-size:13px;color:#334155}
.laudo-biometria b{color:#1e40af}
.laudo-medidas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;margin-bottom:10px}
.laudo-grupo-medidas{margin-bottom:12px}
.laudo-grupo-medidas h5{margin:0 0 4px;font-size:13px;color:#1e40af;border-bottom:1px solid #334155;padding-bottom:2px}
.laudo-grupo-medidas .linha-medida{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:1px 0}
.laudo-grupo-medidas .linha-medida b{white-space:nowrap;font-weight:600}
.laudo-paragrafo{margin:2px 0 8px;font-size:13.5px;line-height:1.5}
.laudo-subtitulo{margin:8px 0 2px;font-size:11.5px;text-transform:uppercase;color:#3b82f6}
body.tema-escuro .laudo-biometria{background:#1e293b;color:#cbd5e1}
body.tema-escuro .laudo-biometria b,body.tema-escuro .laudo-grupo-medidas h5{color:#93c5fd}
body.tema-escuro .laudo-grupo-medidas h5{border-color:#64748b}
@media(max-width:600px){.laudo-medidas-colunas{grid-template-columns:1fr}}

/* Identificação do preview: mesma estrutura do PDF */
.laudo-identificacao{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;padding:10px 16px;margin-bottom:14px}
.laudo-id-linha{display:flex;flex-wrap:wrap;gap:6px 28px;justify-content:space-between;font-size:14px;color:#334155;padding:3px 0}
.laudo-id-linha b{color:#1e3a8a}
body.tema-escuro .laudo-identificacao{background:#1e293b;border-color:#334155}
body.tema-escuro .laudo-id-linha{color:#e2e8f0}
body.tema-escuro .laudo-id-linha b{color:#93c5fd}

/* Timbre no preview */
.painel-timbre{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px}
.painel-timbre label{font-weight:700;color:#1e3a8a;font-size:14px;margin:0}
.painel-timbre .link-timbres{font-size:13px;font-weight:600;color:#2563eb;text-decoration:none;margin-left:auto}
.painel-timbre .link-timbres:hover{text-decoration:underline}
.timbre-aviso{font-size:13px;color:#64748b}
.laudo-timbre{display:flex;align-items:center;gap:14px;padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid #2563eb}
.laudo-timbre[hidden]{display:none}
.laudo-timbre img{max-height:60px;max-width:90px;object-fit:contain}
.laudo-timbre h2{margin:0;font-size:19px;color:#1e40af}
.laudo-timbre p{margin:2px 0 0;font-size:12px;color:#64748b}
.laudo-assinatura-linha.sem-imagem{margin-top:44px}
body.tema-escuro .painel-timbre{background:#1e293b;border-color:#334155}
body.tema-escuro .painel-timbre label{color:#93c5fd}
body.tema-escuro .laudo-timbre h2{color:#93c5fd}
.painel-timbre{position:relative;z-index:5}
.select-timbre{flex:1;min-width:220px;max-width:380px;margin-top:0}
.select-timbre .select-custom-botao{color:#1e293b;background:#fff}
.select-timbre .select-custom-lista{max-height:240px;overflow-y:auto}
.tag-em-uso{font-style:normal;font-size:11px;font-weight:700;margin-left:6px;padding:2px 8px;border-radius:999px;background:#d1fae5;color:#047857}
body.tema-escuro .select-timbre .select-custom-botao{background:#0f172a;color:#e2e8f0}

/* Arrastar e soltar frases */
.tag{cursor:grab;user-select:none;-webkit-user-select:none}
.tag .tag-texto{user-select:text;-webkit-user-select:text}
.tag-alca{font-size:13px;line-height:1;letter-spacing:-3px;opacity:.65;cursor:grab!important;font-weight:normal!important;padding:2px 3px 2px 0;touch-action:none;flex-shrink:0}
.tag:hover .tag-alca{opacity:1}
.tag-origem{opacity:.35;outline:2px dashed #93c5fd;outline-offset:1px}
.tag-fantasma{position:fixed;z-index:100001;pointer-events:none;margin:0;box-shadow:0 14px 30px rgba(15,23,42,.35);transform:rotate(1.2deg);cursor:grabbing;opacity:.95}
body.arrastando-tag,body.arrastando-tag *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}

/* ===== Modo noturno: caixas de medidas e demais campos (fundo escuro + letra clara) ===== */
body.tema-escuro .entrada-medida,
body.tema-escuro .input-tags {
    background: #0f172a;
    border-color: #475569;
}
body.tema-escuro .entrada-medida:focus-within,
body.tema-escuro .input-tags:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}
body.tema-escuro .entrada-medida input,
body.tema-escuro .input-tags input {
    background: transparent;
    color: #f8fafc;
}
body.tema-escuro .entrada-medida input::placeholder,
body.tema-escuro .input-tags input::placeholder {
    color: #64748b;
}
body.tema-escuro .unidade-medida { color: #94a3b8; }
body.tema-escuro .autocomplete-list { background: #1e293b; border-color: #475569; box-shadow: 0 12px 28px rgba(0,0,0,.5); }
body.tema-escuro .item-autocomplete { color: #e2e8f0; border-color: #334155; }
body.tema-escuro .item-autocomplete:hover,
body.tema-escuro .item-autocomplete.active { background: #334155; color: #bfdbfe; }
body.tema-escuro textarea { background: #0f172a; color: #f8fafc; border-color: #475569; }
body.tema-escuro .painel-timbre .link-timbres { color: #93c5fd; }

/* ===== Modo noturno: conclusão do preview, assinatura e caixa ASC ===== */
body.tema-escuro .laudo-conclusao {
    background: #1e293b;
    border-color: #334155;
    border-left-color: #3b82f6;
}
body.tema-escuro .laudo-conclusao p { color: #f1f5f9; }
body.tema-escuro .laudo-assinatura b,
body.tema-escuro .laudo-assinatura small { color: #e2e8f0; }
body.tema-escuro .laudo-assinatura-linha { border-top-color: #94a3b8; }
body.tema-escuro .laudo-assinatura img { background: #fff; border-radius: 6px; padding: 2px 6px; }
body.tema-escuro .box-result.asc {
    background: linear-gradient(135deg, #0d9488, #0f766e);
    color: #fff;
}
body.tema-escuro .box-result small,
body.tema-escuro .box-result span { color: #fff; }

/* Cor dos títulos escolhida no timbre (variável definida no preview) */
.laudo .laudo-timbre { border-bottom-color: var(--cor-titulo, #2563eb); }
.laudo .laudo-timbre h2,
.laudo .laudo-id-linha b { color: var(--cor-titulo, #1e40af); }
.laudo .laudo-conclusao { border-left-color: var(--cor-titulo, #1e40af); }
.laudo .laudo-titulo-secao i { color: var(--cor-titulo, #2563eb); }
body.tema-escuro .laudo .laudo-timbre h2,
body.tema-escuro .laudo .laudo-id-linha b { color: var(--cor-titulo, #93c5fd); }
body.tema-escuro .laudo .laudo-conclusao { border-left-color: var(--cor-titulo, #3b82f6); }

/* Seletor de cor (Configurações > Timbres) */
.campo-cor { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 6px 0 4px; }
.campo-cor input[type="color"] { width: 56px; height: 42px; padding: 3px; border-radius: 10px; cursor: pointer; }
.amostra-cor { font-weight: 800; font-size: 18px; }
.cores-rapidas { display: flex; gap: 8px; }
.cor-rapida { width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px #94a3b8; cursor: pointer; padding: 0; }
.cor-rapida:hover { transform: scale(1.12); }
.laudo .laudo-titulo-secao,
.laudo .laudo-titulo-secao[class] { color: var(--cor-titulo, #2563eb); }
.laudo .laudo-subsecao h5 { color: var(--cor-titulo, #3b82f6); }

/* Nome longo do sistema no celular */
.logo-badge { flex-shrink: 0; }
@media (max-width: 520px) {
    .topbar-nome { font-size: 14px; line-height: 1.2; }
    .topbar-titulo small, .topbar-sub { font-size: 10.5px; }
}

/* ===== Avatar com foto ===== */
.avatar-usuario { overflow: hidden; padding: 0; }
.avatar-usuario img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ===== Minha conta ===== */
.conta-pagina { max-width: 980px; margin: 0 auto; }
.conta-grade { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
.conta-coluna { display: flex; flex-direction: column; gap: 20px; }
.conta-foto-card { text-align: center; }
.conta-foto-card h3 { text-align: left; }
.conta-foto-preview { width: 150px; height: 150px; margin: 14px auto 16px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #3b82f6, #1e40af); color: #fff; font-size: 56px; font-weight: 700; box-shadow: 0 8px 22px rgba(37, 99, 235, .3); }
.conta-foto-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.conta-foto-card form { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-bottom: 8px; }
.btn-conta-foto { cursor: pointer; display: inline-flex; align-items: center; gap: 8px; width: auto !important; }
.btn-remover-foto { width: auto !important; }
.campo-senha { position: relative; }
.campo-senha input { padding-right: 46px; }
.ver-senha { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #64748b; cursor: pointer; font-size: 15px; padding: 8px; }
.forca-senha { height: 6px; border-radius: 99px; background: #e2e8f0; margin: 8px 0 4px; overflow: hidden; }
.forca-senha span { display: block; height: 100%; width: 0; transition: width .25s, background .25s; }
body.tema-escuro .forca-senha { background: #334155; }
@media (max-width: 760px) { .conta-grade { grid-template-columns: 1fr; } }

/* ===== Página Exportar laudos ===== */
.exportar-pagina { max-width: 980px; margin: 0 auto; }
.grid-exportar { grid-template-columns: 2fr 1fr 1fr 1fr auto auto; }
.exportar-resumo { margin: 14px 2px 0; color: #475569; font-size: 14px; }
.exportar-resumo i { color: #2563eb; margin-right: 6px; }
.exportar-opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.exportar-opcao { border: 1px solid #e2e8f0; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; background: #f8fafc; }
.exportar-opcao h4 { margin: 0; font-size: 17px; color: #0f172a; }
.exportar-opcao p { margin: 0 0 6px; color: #64748b; font-size: 14px; line-height: 1.5; flex: 1; }
.exportar-opcao .btn[disabled] { opacity: .55; cursor: not-allowed; }
.exportar-icone { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 26px; color: #fff; }
.exportar-icone.excel { background: linear-gradient(135deg, #16a34a, #15803d); }
.exportar-icone.pdf { background: linear-gradient(135deg, #ef4444, #b91c1c); }
.exportar-aviso { color: #64748b; font-size: 13px; }
body.tema-escuro .exportar-opcao { background: #1e293b; border-color: #334155; }
body.tema-escuro .exportar-opcao h4 { color: #f1f5f9; }
body.tema-escuro .exportar-opcao p, body.tema-escuro .exportar-resumo, body.tema-escuro .exportar-aviso { color: #cbd5e1; }
@media (max-width: 760px) {
    .grid-exportar { grid-template-columns: 1fr; }
    .exportar-opcoes { grid-template-columns: 1fr; }
}
.exportar-opcao a.btn { text-decoration: none; color: #fff; display: inline-flex; align-items: center; gap: 8px; }
