.rpmc-fuentes {
  --rpmc-ink: var(--wp--preset--color--contrast, #173b58);
  --rpmc-accent: var(--wp--preset--color--primary, #17633b);
  color: var(--rpmc-ink);
  max-width: 1120px;
  margin: 2rem auto;
  font: inherit;
}
.rpmc-fuentes h2 { border-top: 5px solid var(--rpmc-accent); padding-top: 1.2rem; line-height: 1.2; }
.rpmc-fuentes ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; list-style: none; counter-reset: rpmc; border-top: 1px solid #cbd5d7; }
.rpmc-fuentes li { counter-increment: rpmc; padding: 1.5rem 1.5rem 1rem 0; border-bottom: 1px solid #cbd5d7; overflow-wrap: anywhere; }
.rpmc-fuentes li::before { content: counter(rpmc, decimal-leading-zero); display: block; font-size: .8em; letter-spacing: .12em; margin-bottom: .5rem; color: var(--rpmc-accent); }
.rpmc-fuentes li strong { font-size: 1.1em; }
.rpmc-fuentes li p { font-size: .95em; line-height: 1.6; }
.rpmc-fuentes a { color: var(--rpmc-accent); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.rpmc-fuentes a:focus-visible { outline: 3px solid var(--rpmc-ink); outline-offset: 4px; }
.rpmc-source { max-width: 960px; border: 1px solid #bcc5cb; border-left: 4px solid #17633b; margin: 1.5rem 0; padding: 1rem 1.25rem; background: white; }
.rpmc-source legend { font-size: 1.15em; padding: 0 .4rem; }
.rpmc-source select { width: 100%; max-width: 36rem; }
@media (max-width: 650px) {
  .rpmc-fuentes ol { grid-template-columns: 1fr; }
  .rpmc-fuentes li { padding-right: 0; }
  .rpmc-source { padding: .75rem; }
}
@media print {
  #adminmenumain, #wpadminbar, #wpfooter, .wrap > p > a, .notice { display: none !important; }
  #wpcontent, #wpfooter { margin-left: 0 !important; }
  .widefat { table-layout: fixed; }
  .widefat td { overflow-wrap: anywhere; }
}

.rpmc-acceso { border: 1px solid #cbd5d7; padding: 1.25rem; margin-bottom: 2rem; background: #f5f8f7; }
.rpmc-acceso h2 { margin-top: 0; }
.rpmc-acceso form { max-width: 28rem; }
.rpmc-acceso label { display: block; margin-bottom: .4rem; }
.rpmc-acceso input[type="text"], .rpmc-acceso input[type="password"] { width: 100%; box-sizing: border-box; min-height: 44px; }
.rpmc-acceso input[type="submit"] { min-height: 44px; cursor: pointer; }

/* Administración: estilos aislados de las demás pantallas de WordPress. */
.rpmc-admin { max-width: 1440px; color: #243746; }
.rpmc-admin h1 { margin-bottom: 12px; }
.rpmc-admin h2 { margin-top: 26px; font-size: 21px; }
.rpmc-admin h3 { font-size: 16px; margin: 0 0 16px; }
.rpmc-admin .rpmc-navigation { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; border-bottom: 1px solid #cbd5df; }
.rpmc-admin .rpmc-filters, .rpmc-admin .rpmc-entry, .rpmc-admin .rpmc-downloads { background: #fff; border: 1px solid #cbd5df; border-radius: 6px; padding: 24px; margin: 20px 0; box-sizing: border-box; }
.rpmc-admin .rpmc-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; }
.rpmc-admin .rpmc-filter-grid p { margin: 0; min-width: 0; }
.rpmc-admin .rpmc-filter-grid label { display: block; font-weight: 600; }
.rpmc-admin .rpmc-filter-grid input, .rpmc-admin .rpmc-filter-grid select { display: block; width: 100%; max-width: none; margin: 8px 0 0; min-height: 40px; box-sizing: border-box; font-weight: 400; }
.rpmc-admin .rpmc-filter-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #e2e8ee; }
.rpmc-admin .button { min-height: 36px; line-height: 34px; white-space: normal; }
.rpmc-admin .rpmc-downloads { border-left: 4px solid #17633b; }
.rpmc-admin .rpmc-downloads p:last-child { margin-bottom: 0; }
.rpmc-admin .rpmc-entry .form-table { margin: 0 0 28px; }
.rpmc-admin .rpmc-entry .form-table th { width: 240px; }
.rpmc-admin .rpmc-entry .form-table input { width: 100%; max-width: 680px; min-height: 40px; }
.rpmc-admin .rpmc-sources-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 28px; }
.rpmc-admin .rpmc-source { min-width: 0; max-width: none; margin: 0; padding: 20px; border-radius: 4px; }
.rpmc-admin .rpmc-source legend { max-width: 90%; font-size: 15px; line-height: 1.5; }
.rpmc-admin .rpmc-source label { font-weight: 600; }
.rpmc-admin .rpmc-source select, .rpmc-admin .rpmc-source textarea { width: 100%; max-width: none; margin-top: 6px; box-sizing: border-box; }
.rpmc-admin .rpmc-source select { min-height: 40px; }
.rpmc-admin .rpmc-source textarea { min-height: 110px; resize: vertical; }
.rpmc-admin details { padding: 18px; border: 1px solid #cbd5df; background: #f6f8fa; margin-bottom: 20px; }
.rpmc-admin summary { cursor: pointer; font-weight: 600; }
.rpmc-admin .widefat { display: block; overflow-x: auto; border-radius: 4px; }
.rpmc-admin .widefat th { font-weight: 600; background: #edf3f6; }
.rpmc-admin .widefat th, .rpmc-admin .widefat td { padding: 12px; vertical-align: top; overflow-wrap: anywhere; }
.rpmc-admin .rpmc-source form label { display: block; }
@media (max-width: 1100px) {
 .rpmc-admin .rpmc-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .rpmc-admin .rpmc-sources-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .rpmc-admin .rpmc-filter-grid { grid-template-columns: 1fr; }
 .rpmc-admin .rpmc-filters, .rpmc-admin .rpmc-entry, .rpmc-admin .rpmc-downloads { padding: 16px; }
 .rpmc-admin .rpmc-entry .form-table th { width: auto; }
}
@media print {
 .rpmc-admin .rpmc-navigation, .rpmc-admin .rpmc-filters, .rpmc-admin .rpmc-downloads { display: none; }
 .rpmc-admin .widefat { display: table; overflow: visible; }
}
