/* Canal de denuncias - Colegio de Médicos de Valencia */
:root {
  --azul: #1b3a57; --azul2: #2b6a9e; --azulClaro: #e8f1f8; --texto: #22313f; --gris: #5d6d7c; --linea: #d6e0ea;
  --fondo: #f4f7fa; --blanco: #fff; --rojo: #a12a1c; --rojoFondo: #fde8e5; --verde: #0b6b3a; --verdeFondo: #e2f4ea; --ambar: #fff4dc;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: -apple-system, "Segoe UI", Roboto, Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.55; color: var(--texto); background: var(--fondo); }
a { color: var(--azul2); }
a:focus, button:focus, input:focus, select:focus, textarea:focus { outline: 3px solid #f0b429; outline-offset: 2px; }
h1 { font-size: 1.7rem; line-height: 1.25; color: var(--azul); margin: 0 0 .6rem; }
h2 { font-size: 1.2rem; color: var(--azul); margin: 0 0 .6rem; }
h3 { font-size: 1.05rem; margin: .2rem 0 .5rem; }
.cdAncho { max-width: 1080px; margin: 0 auto; padding: 0 16px; }

.cdPruebas { background: #b3261e; color: #fff; text-align: center; font-weight: bold; font-size: .85rem; padding: 4px 8px; letter-spacing: .5px; }
.cdCab { background: var(--blanco); border-bottom: 4px solid var(--azul); }
.cdCabIn { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; padding-bottom: 10px; }
.cdMarca { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--azul); }
.cdMarca img { height: 64px; width: auto; }
.cdMarca span { display: flex; flex-direction: column; border-left: 1px solid var(--linea); padding-left: 14px; }
.cdMarca b { font-size: 1.25rem; }
.cdMarca small { color: var(--gris); font-size: .8rem; }
.cdNav { display: flex; flex-wrap: wrap; gap: 4px; }
.cdNav a { text-decoration: none; color: var(--azul); padding: 6px 10px; border-radius: 4px; font-size: .95rem; }
.cdNav a:hover { background: var(--azulClaro); }
.cdNav a[aria-current] { background: var(--azul); color: #fff; }

.cdMain { padding-top: 26px; padding-bottom: 40px; min-height: 60vh; }
.cdLead { font-size: 1.08rem; max-width: 820px; }
.cdHero { background: var(--blanco); border: 1px solid var(--linea); border-radius: 8px; padding: 26px 26px 22px; margin-bottom: 20px; }
.cdRejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.cdTarjeta { background: var(--blanco); border: 1px solid var(--linea); border-radius: 8px; padding: 20px 22px; margin-bottom: 16px; }
.cdRejilla .cdTarjeta { margin-bottom: 0; }
.cdTarjeta ul, .cdTarjeta ol { padding-left: 1.2rem; margin: .3rem 0; }
.cdTarjeta li { margin-bottom: .35rem; }
.cdEstrecha { max-width: 560px; }
.cdDestacada { border-color: #f1d59a; background: var(--ambar); }
.cdOk h1 { color: var(--verde); }
.cdNota { color: var(--gris); font-size: .9rem; }
.cdOblig { color: var(--rojo); }

.cdBtn { display: inline-block; background: var(--azul); color: #fff; border: 0; border-radius: 6px; padding: 10px 18px; font-size: 1rem; font-weight: 600; text-decoration: none; cursor: pointer; font-family: inherit; line-height: 1.3; }
.cdBtn:hover { background: #10283e; }
.cdBtn[disabled] { opacity: .55; cursor: wait; }
.cdBtnSec { background: var(--azulClaro); color: var(--azul); }
.cdBtnSec:hover { background: #d4e5f2; }
.cdBtnGrande { padding: 14px 24px; font-size: 1.08rem; }
.cdBtnPeq { padding: 6px 12px; font-size: .9rem; }
.cdAcciones { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.cdEnviando { color: var(--gris); }

.cdForm fieldset { background: var(--blanco); border: 1px solid var(--linea); border-radius: 8px; padding: 18px 22px; margin: 0 0 16px; min-width: 0; }
.cdForm legend { font-weight: bold; color: var(--azul); font-size: 1.1rem; padding: 0 6px; }
.cdForm label { display: block; font-weight: 600; font-size: .95rem; margin: 12px 0 0; }
.cdForm input[type=text], .cdForm input[type=email], .cdForm input[type=tel], .cdForm input[type=password], .cdForm select, .cdForm textarea {
  display: block; width: 100%; margin-top: 4px; padding: 9px 11px; font-size: 1rem; font-family: inherit; font-weight: normal;
  border: 1px solid #b7c6d4; border-radius: 5px; background: #fff; color: var(--texto); }
.cdForm textarea { resize: vertical; }
.cdForm input[type=file] { display: block; margin-top: 6px; font-weight: normal; max-width: 100%; }
.cdFila2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.cdCheck { font-weight: normal !important; display: flex !important; gap: 8px; align-items: flex-start; }
.cdCheck input { margin-top: 5px; }
.cdOpciones { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cdOpcion { display: flex !important; gap: 10px; align-items: flex-start; border: 1px solid var(--linea); border-radius: 6px; padding: 12px; margin: 0 !important; cursor: pointer; font-weight: normal !important; }
.cdOpcion:has(input:checked) { border-color: var(--azul2); background: var(--azulClaro); }
.cdOpcion input { margin-top: 5px; }
.cdOpcion span { display: flex; flex-direction: column; }
.cdOpcion small { color: var(--gris); }
.cdBloque { margin-top: 6px; }
.cdVoz { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cdVoz .cdNota { flex-basis: 100%; margin: 0; }
.cdVozAudio { max-width: 100%; }

.cdAvisoMal { background: var(--rojoFondo); border: 1px solid #f1b8b0; color: var(--rojo); border-radius: 6px; padding: 12px 14px; margin: 12px 0; }
.cdAvisoOk { background: var(--verdeFondo); border: 1px solid #a9dcc0; color: var(--verde); border-radius: 6px; padding: 12px 14px; margin: 12px 0; }
.cdErrores { background: var(--rojoFondo); border: 1px solid #f1b8b0; color: var(--rojo); border-radius: 6px; padding: 6px 14px; margin-top: 12px; }
.cdErrores ul { margin: 6px 0; padding-left: 1.2rem; }

.cdCodigo { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; background: var(--azulClaro); border: 2px dashed var(--azul2); border-radius: 8px; padding: 16px 18px; margin: 16px 0; }
.cdCodigo span { color: var(--gris); }
.cdCodigo strong { font-family: Consolas, "Courier New", monospace; font-size: 1.7rem; letter-spacing: 2px; color: var(--azul); word-break: break-all; }

.cdCabBuzon { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.cdResumen { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.cdResumen span { display: block; color: var(--gris); font-size: .82rem; text-transform: uppercase; letter-spacing: .3px; }
.cdResumen b { font-size: 1.02rem; }
.cdEstado { color: var(--azul2); }
.cdEstado.cdCerrada { color: var(--gris); }
.cdHilo { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.cdMsg { background: var(--blanco); border: 1px solid var(--linea); border-left: 5px solid var(--linea); border-radius: 8px; padding: 14px 18px; }
.cdMsgYo { border-left-color: #8fb3d1; }
.cdMsgGestion { border-left-color: var(--azul); }
.cdMsgNuevo { box-shadow: 0 0 0 2px #f0b429; }
.cdMsg header { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; margin-bottom: 8px; }
.cdMsg time { color: var(--gris); font-size: .88rem; }
.cdTipo { font-size: .8rem; background: var(--azulClaro); color: var(--azul); border-radius: 3px; padding: 1px 7px; }
.cdNuevo { font-size: .78rem; background: #f0b429; color: #3b2a00; border-radius: 3px; padding: 1px 7px; font-weight: bold; }
.cdTexto { white-space: normal; overflow-wrap: anywhere; }
.cdDatos { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 10px 0 0; font-size: .95rem; }
.cdDatos dt { color: var(--gris); }
.cdDatos dd { margin: 0; overflow-wrap: anywhere; }
.cdDatosAnchos { grid-template-columns: 210px 1fr; gap: 10px 18px; }
.cdFicheros { list-style: none; padding: 0; margin: 10px 0 0; font-size: .95rem; }
.cdPasos li { margin-bottom: .6rem; }

.cdPie { background: var(--azul); color: #dbe6f0; font-size: .9rem; padding: 18px 0; }
.cdPie a { color: #fff; }
.cdPie p { margin: .3rem 0; }

@media (max-width: 720px) {
  h1 { font-size: 1.4rem; }
  .cdFila2, .cdOpciones { grid-template-columns: 1fr; }
  .cdMarca img { height: 48px; }
  .cdMarca b { font-size: 1.05rem; }
  .cdHero, .cdTarjeta, .cdForm fieldset { padding: 16px; }
  .cdDatos, .cdDatosAnchos { grid-template-columns: 1fr; }
  .cdDatos dt { margin-top: 6px; }
  .cdCodigo strong { font-size: 1.3rem; }
}
@media print {
  .cdNav, .cdPie, .cdAcciones, .cdPruebas { display: none; }
  body { background: #fff; }
}
