/* Lo propio del back office sobre los estilos del kit (estilos.css). La letra viaja con la Nube: no se pide
   a Google, así nadie de fuera sabe quién abre el back office. */
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 400; font-display: swap; src: url(fuentes/plus-jakarta-sans-400.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 500; font-display: swap; src: url(fuentes/plus-jakarta-sans-500.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 600; font-display: swap; src: url(fuentes/plus-jakarta-sans-600.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 700; font-display: swap; src: url(fuentes/plus-jakarta-sans-700.woff2) format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-weight: 800; font-display: swap; src: url(fuentes/plus-jakarta-sans-800.woff2) format('woff2'); }

/* Colores de los íconos del dock (en el prototipo iban en línea; aquí la política de seguridad no lo permite). */
.ic-inicio { background: #F96A04 } .ic-descargas { background: #2F6FED } .ic-clientes { background: #1F8A5B }
.ic-admin { background: #7C5CE6 } .ic-salir { background: #8A90AE }

.mt { margin-top: 22px }
.b.suave.sel { background: var(--tinta); color: #fff; border-color: var(--tinta) }
.b:disabled { opacity: .55; cursor: default }

/* Entrada */
.tarjeta-l .b.suave { margin-top: 10px; height: 44px }
.error-l { color: #C13B46; font-size: 14px; font-weight: 600; min-height: 21px; margin: 14px 0 0 }
.prueba-l { margin: 10px 0 0; font-size: 13px; color: var(--ambar); background: var(--ambar-tinte); border-radius: 12px; padding: 8px 12px }

/* Mapa: cada estado se pinta según sus descargas (app.js); sin datos, gris claro. */
.mapa path { fill: #EEF0F5; stroke: #fff; stroke-width: 1 }
.mapa path.sin-estado { fill: #EEF0F5 }

/* Estados vacíos: lo que todavía no tiene datos se dice, no se simula. */
.vacio { color: var(--tinta-3); font-size: 14px; padding: 14px 0; line-height: 1.55 }

/* Clientes */
.contador { margin-left: auto; font-size: 13px; color: var(--tinta-3); font-weight: 600; white-space: nowrap }
td .av { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--one-tinte); color: var(--one-2); font-weight: 800; font-size: 12px; margin-right: 8px; vertical-align: middle }
td .sin { color: var(--tinta-3) }
tbody tr { cursor: pointer }
tbody tr:hover td { background: var(--papel-2) }

/* Administración */
.lin .av { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-weight: 800; flex: none }
.av.owner { background: var(--one-tinte); color: var(--one-2) }
.av.administrador { background: var(--verde-tinte); color: var(--verde) }
.av.consulta { background: var(--azul-tinte); color: var(--azul) }
.lin .quitar { border: 0; background: none; color: #C13B46; font-weight: 700; font-size: 13px; padding: 4px 8px; border-radius: 8px }
.lin .quitar:hover { background: #FDE7E9 }
.precio { width: 90px; height: 34px; border-radius: 10px; border: 1px solid var(--linea); padding: 0 10px; font: inherit; font-size: 14px; text-align: right; background: var(--papel-2) }
.form-linea { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px }
.form-linea input, .form-linea select { height: 36px; border-radius: 10px; border: 1px solid var(--linea); padding: 0 12px; font: inherit; font-size: 13px; background: var(--papel-2); min-width: 0; flex: 1 1 130px }
.form-linea .b { flex: none }
#bitacora { margin-top: 14px; max-height: 320px; overflow: auto; font-size: 13px }
#bitacora .lin { padding: 8px 0 }

/* Ficha del cliente */
.ficha { border: 1px solid var(--linea); border-radius: 24px; box-shadow: var(--sombra); padding: 28px 30px; width: min(620px, 92vw); color: var(--tinta); font-family: var(--fuente) }
.ficha::backdrop { background: rgba(31, 35, 64, .25) }
.ficha h3 { font-size: 22px; margin-bottom: 4px }
.ficha .sub { color: var(--tinta-2); font-size: 14px; margin-bottom: 16px }
.ficha dl { display: grid; grid-template-columns: 150px 1fr; gap: 8px 14px; font-size: 14px; margin: 0 0 16px }
.ficha dt { color: var(--tinta-3); font-weight: 600 }
.ficha dd { margin: 0; font-weight: 600 }
.ficha .acciones { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 16px }
.ficha select, .ficha input { height: 36px; border-radius: 10px; border: 1px solid var(--linea); padding: 0 10px; font: inherit; font-size: 13px; background: var(--papel-2) }
