/* Medición del ranking: superficie propia, compatible con el tema del dueño. */
.rm-shell { --rm-papel: #faf7f0; --rm-tinta: #303638; --rm-suave: #566061; --rm-borde: #c6b79d; --rm-azul: #2e6ca8; --rm-verde: #0e7674; --rm-acento: #805500; color: var(--rm-tinta); background: var(--rm-papel); min-height: 100vh; color-scheme: light; }
.rm { max-width: 1420px; padding: 30px 36px 64px; margin-inline: auto; font-family: var(--fuente-texto); }
.rm h1, .rm h2, .rm h3, .rm p, .rm li { max-width: none; }
.rm .dueno-pagina-cabecera { color: var(--rm-tinta); border-color: var(--rm-borde); }
.rm .dueno-pagina-cabecera__icono { color: var(--rm-acento); }
.rm-enlaces { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .7rem 1rem; margin: 1.2rem 0 2rem; }
.rm-enlaces a { display: inline-flex; align-items: center; gap: .45rem; min-height: 36px; color: var(--rm-acento); font-size: .875rem; font-weight: 600; text-decoration: none; }
.rm-enlaces a:hover { text-decoration: underline; }
.rm-cabecera { display: flex; align-items: center; gap: 1.2rem; padding: 1.5rem 0; border-block: 1px solid var(--rm-borde); }
.rm-cabecera__icono { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border: 1.5px solid var(--rm-tinta); border-radius: 10px 7px 11px 8px; background: #f4dfaa; color: #654300; box-shadow: 3px 3px 0 #c6b79d; }
.rm-cabecera > div { min-width: 0; flex: 1; }
.rm-ceja { display: block; color: var(--rm-acento); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .35rem; }
.rm-cabecera h2 { font-family: var(--fuente-panel); font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 700; }
.rm-cabecera p { margin: .5rem 0 0; max-width: 65ch; color: var(--rm-suave); font-size: .9375rem; line-height: 1.55; }
.rm-boton { display: inline-flex; align-items: center; justify-content: center; flex: none; gap: .5rem; min-height: 42px; padding: .55rem .9rem; border: 1px solid var(--rm-borde); border-radius: 6px; background: transparent; color: var(--rm-tinta); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.rm-boton--principal { border-color: var(--rm-acento); background: var(--rm-acento); color: var(--rm-papel); }
.rm-boton:hover:not(:disabled) { box-shadow: inset 0 0 0 1px currentColor; }
.rm-boton:disabled { opacity: .55; cursor: wait; }
.rm :is(button,a,input,summary):focus-visible { outline: 3px solid var(--rm-azul); outline-offset: 3px; }
.rm-aviso { margin: 1rem 0; min-height: 1.4rem; font-size: .875rem; color: var(--rm-suave); }
.rm-aviso[role='alert'] { color: #963b35; padding: .8rem 1rem; border-left: 3px solid currentColor; background: #f5e1dd; }
.rm-panel { padding: 1.5rem 0; margin-block: 1.2rem; border-top: 1px solid var(--rm-borde); }
.rm-panel > header { margin-bottom: 1.1rem; }
.rm-panel h2, .rm-plan h2 { font-family: var(--fuente-panel); font-size: 1.25rem; font-weight: 700; }
.rm-panel > header p { margin-top: .4rem; font-size: .875rem; line-height: 1.55; color: var(--rm-suave); }
.rm-nota { margin-top: 1rem; font-size: .8125rem; line-height: 1.6; color: var(--rm-suave); }
.rm-plan { display: flex; justify-content: space-between; gap: 1.2rem 2rem; flex-wrap: wrap; padding: 1.4rem 1.6rem; border: 1px solid var(--rm-borde); border-radius: 10px 8px 12px 7px; background: color-mix(in srgb,var(--rm-acento) 7%,var(--rm-papel)); }
.rm-plan h2 { margin: .65rem 0 .4rem; }
.rm-plan p { font-size: .8125rem; color: var(--rm-suave); }
.rm-plan__fechas { display: flex; flex-direction: column; justify-content: center; gap: .5rem; font-size: .8125rem; }
.rm-estado { display: inline-flex; padding: .2rem .6rem; border: 1px solid currentColor; border-radius: 4px; color: var(--rm-acento); font-size: .75rem; font-weight: 700; }
.rm-estado--recopilando { color: var(--rm-azul); }
.rm-estado--comparando { color: var(--rm-verde); }
.rm-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--rm-borde); }
.rm-kpi { min-width: 0; padding: 1.4rem 1.5rem; border-right: 1px solid var(--rm-borde); }
.rm-kpi:first-child { padding-left: 0; }
.rm-kpi:last-child { padding-right: 0; border-right: 0; }
.rm-kpi > span { display: block; color: var(--rm-suave); font-size: .875rem; }
.rm-kpi > strong { display: block; font-family: var(--fuente-panel); font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 600; margin: .5rem 0; color: var(--rm-azul); letter-spacing: -.04em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.rm-kpi--despues > strong { color: var(--rm-verde); }
.rm-kpi--cambio > strong { color: var(--rm-acento); }
.rm-kpi > small { display: block; font-size: .75rem; color: var(--rm-suave); line-height: 1.55; }
.rm-espera { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem 0; font-size: .9375rem; line-height: 1.6; }
.rm-espera > svg { flex: none; margin-top: .25rem; color: var(--rm-azul); }
.rm-meses { display: flex; flex-direction: column; margin: 1.2rem 0; }
.rm-mes { display: grid; grid-template-columns: minmax(160px,.7fr) minmax(0,2fr); gap: 1.5rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--rm-borde); }
.rm-mes--despues { background: color-mix(in srgb,var(--rm-verde) 5%,var(--rm-papel)); }
.rm-mes > div:first-child { display: flex; flex-direction: column; gap: .2rem; padding-left: .5rem; }
.rm-mes strong { font-size: .875rem; }
.rm-mes span, .rm-mes small { font-size: .75rem; color: var(--rm-suave); }
.rm-barra { display: grid; grid-template-columns: minmax(0,1fr) 3.5rem; align-items: center; gap: .7rem; padding: .25rem 0; }
.rm-barra span { font-size: .75rem; }
.rm-barra i { display: block; height: 13px; background: linear-gradient(to right,var(--rm-verde) 0,var(--rm-verde) var(--valor),transparent var(--valor)); border-bottom: 1px solid var(--rm-borde); }
.rm-barra--antes i { background: linear-gradient(to right,var(--rm-azul) 0,var(--rm-azul) var(--valor),transparent var(--valor)); }
.rm-barra b { text-align: right; padding-right: .5rem; font-family: var(--fuente-panel); font-size: .875rem; font-weight: 600; }
.rm-datos { margin-top: 1rem; border-block: 1px solid var(--rm-borde); }
.rm-datos > summary, .rm-metodo > summary { display: flex; align-items: center; gap: .6rem; min-height: 48px; cursor: pointer; font-size: .875rem; font-weight: 600; padding-block: .8rem; }
.rm-datos > summary::after { content: '+'; margin-left: auto; font-size: 1.2rem; }
.rm-datos[open] > summary::after { content: '−'; }
.rm-tabla { width: 100%; overflow-x: auto; }
.rm-tabla table { border-collapse: collapse; width: 100%; text-align: left; font-size: .8125rem; }
.rm-tabla th, .rm-tabla td { padding: .8rem .65rem; border-top: 1px solid var(--rm-borde); vertical-align: middle; }
.rm-tabla thead th { color: var(--rm-suave); font-weight: 600; background: color-mix(in srgb,var(--rm-borde) 15%,var(--rm-papel)); }
.rm-tabla tbody th { font-weight: 600; }
.rm-tabla td { font-variant-numeric: tabular-nums; }
.rm-tabla small { display: block; color: var(--rm-suave); font-size: .75rem; font-weight: 400; margin-top: .2rem; }
.rm-cobertura { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; padding-block: .7rem; }
.rm-cobertura > div { display: flex; flex-direction: column; gap: .4rem; }
.rm-cobertura strong { font-family: var(--fuente-panel); font-size: 1.7rem; }
.rm-cobertura strong span { font-size: 1rem; font-weight: 400; color: var(--rm-suave); }
.rm-cobertura > div > span { color: var(--rm-suave); font-size: .8125rem; }
.rm-incidencias { list-style: none; margin: 1rem 0 0; padding: 0; }
.rm-incidencias li { display: flex; align-items: flex-start; gap: .6rem; margin: .5rem 0; padding: .7rem .9rem; border-left: 3px solid var(--rm-acento); background: color-mix(in srgb,var(--rm-acento) 8%,var(--rm-papel)); font-size: .8125rem; line-height: 1.55; }
.rm-incidencias svg { flex: none; margin-top: .2rem; }
.rm-metodo { border-top: 1px solid var(--rm-borde); margin-top: 2rem; }
.rm-metodo > summary { list-style: none; }
.rm-metodo > summary > svg:last-child { margin-left: auto; }
.rm-metodo__contenido { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2.5rem; padding: 1rem 0 2rem; }
.rm-metodo h3 { font-size: .9375rem; margin-bottom: .6rem; }
.rm-metodo p, .rm-metodo li { margin-top: .6rem; color: var(--rm-suave); font-size: .875rem; line-height: 1.7; }
.rm-metodo a { color: var(--rm-azul); text-underline-offset: 3px; }
.rm-metodo ul { padding-left: 1.1rem; }
.rm-cargando, .rm-vacio { padding: 2.5rem 1rem; text-align: center; color: var(--rm-suave); font-size: .9375rem; }
.rm-vacio > svg { color: var(--rm-acento); margin-bottom: .7rem; }
.rm-acceso { display: flex; align-items: center; gap: .9rem; margin: 1rem 0 1.5rem; padding: .85rem 1rem; border: 1px solid currentColor; border-radius: 7px; color: var(--cat-4,#805500); background: color-mix(in srgb,var(--cat-4,#805500) 6%,transparent); text-decoration: none; }
.rm-acceso > svg { flex: none; }
.rm-acceso > svg:last-child { margin-left: auto; }
.rm-acceso > span { min-width: 0; font-size: .9375rem; font-weight: 600; }
.rm-acceso small { display: block; margin-top: .15rem; font-size: .8125rem; font-weight: 400; color: var(--color-texto-suave,#566061); }
.rm-acceso:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
body.superadmin-oscuro .rm-shell { --rm-papel: #202629; --rm-tinta: #f3ede1; --rm-suave: #bcc9c9; --rm-borde: #657779; --rm-azul: #9ac8ed; --rm-verde: #88d1c2; --rm-acento: #ecc879; color-scheme: dark; }
body.superadmin-oscuro .rm-aviso[role='alert'] { color: #ffc7b4; background: #4b3030; }
@media (max-width: 900px) { .rm { padding: 24px; }.rm-kpi { padding: 1.1rem; }.rm-cabecera { flex-wrap: wrap; }.rm-cabecera > .rm-boton { margin-left: auto; }.rm-mes { grid-template-columns: minmax(125px,.8fr) minmax(0,1.6fr); gap: .8rem; } }
@media (max-width: 600px) { .rm { padding: 20px 16px 48px; }.rm-cabecera { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: .8rem; }.rm-cabecera > .rm-boton { grid-column: 2; margin-left: 0; justify-self: start; }.rm-cabecera__icono { width: 44px; height: 44px; }.rm-cabecera h2 { font-size: 1.6rem; }.rm-cabecera p { font-size: .875rem; }.rm-variacion,.rm-metodo__contenido { grid-template-columns: 1fr; }.rm-kpis { grid-template-columns: 1fr; }.rm-kpi,.rm-kpi:first-child,.rm-kpi:last-child { padding: 1rem 0; border: 0; border-bottom: 1px solid var(--rm-borde); }.rm-kpi:last-child { border-bottom: 0; }.rm-kpi > strong { font-size: 2.1rem; }.rm-plan { padding: 1.1rem; }.rm-mes { grid-template-columns: 1fr; gap: .5rem; padding: .9rem 0; }.rm-mes > div:first-child { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: .3rem .65rem; }.rm-barra { grid-template-columns: minmax(0,1fr) 3rem; gap: .5rem; }.rm-cobertura { grid-template-columns: 1fr; gap: 1rem; }.rm-tabla table,.rm-tabla tbody,.rm-tabla tr { display: block; }.rm-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }.rm-tabla tr { border-top: 1px solid var(--rm-borde); padding: .55rem 0; }.rm-tabla th,.rm-tabla td { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: .8rem; padding: .4rem 0; border: 0; overflow-wrap: anywhere; }.rm-tabla th::before,.rm-tabla td::before { content: attr(data-label); font-size: .75rem; font-weight: 400; color: var(--rm-suave); }.rm-enlaces { margin-bottom: 1rem; }.rm-metodo__contenido { gap: 1rem; }.rm-acceso { gap: .65rem; padding: .8rem; } }
@media (prefers-reduced-motion: reduce) { .rm * { scroll-behavior: auto !important; } }
.rm-panel--inicio { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.5rem; border: 1px solid var(--rm-borde); border-radius: 10px; background: color-mix(in srgb,var(--rm-acento) 7%,var(--rm-papel)); }
.rm-inicio__icono { flex: none; color: var(--rm-acento); padding-top: .2rem; }
.rm-panel--inicio > div { min-width: 0; }
.rm-panel--inicio h2 { font-size: 1.35rem; }
.rm-panel--inicio p { margin-top: .7rem; font-size: .9375rem; line-height: 1.65; color: var(--rm-suave); }
.rm-panel--inicio p.rm-nota { font-size: .8125rem; }
.rm-variacion { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; }
.rm-variacion dt { color: var(--rm-suave); font-size: .8125rem; }
.rm-variacion dd { font-family: var(--fuente-panel); font-size: 1.1rem; font-weight: 600; text-align: right; }
@media(max-width:600px) { .rm-variacion { grid-template-columns: 1fr; }.rm-panel--inicio { padding: 1.1rem; gap: .8rem; }.rm-panel--inicio h2 { font-size: 1.15rem; }.rm-inicio__icono { display: none; } }
.rm-variacion > div { padding: 1rem 1.1rem; border: 1px solid var(--rm-borde); border-radius: 7px; }
.rm-variacion dd { margin: .4rem 0 0; text-align: left; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.rm-mes--transicion { background: color-mix(in srgb,var(--rm-acento) 7%,var(--rm-papel)); }
.rm-barra--transicion i { background: repeating-linear-gradient(135deg,var(--rm-acento) 0 3px,transparent 3px 5px); background-size: var(--valor) 100%; background-repeat: no-repeat; }
@media(max-width:600px) { .rm-variacion { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }.rm-variacion > div { padding: .9rem; } }
@media(max-width:359px) { .rm-variacion { grid-template-columns: 1fr; } }
