.publico { max-width: 760px; margin: 0 auto; padding: 24px 16px 60px; }
.publico header { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.publico header img { width: 28px; height: 28px; }
.publico header a { color: var(--texto); text-decoration: none; font-weight: 650; }
.publico h1 { font-family: var(--fuente); font-weight: 650; letter-spacing: -.03em; font-size: 30px; margin: 6px 0 4px; }
.publico .meta { color: var(--tenue); font-size: 13.5px; margin: 0 0 24px; }
.publico .aviso { background: var(--superficie-2); border-radius: 14px; padding: 12px 14px; font-size: 14px; margin: 26px 0; }
.publico .cta { display: inline-block; margin-top: 8px; background: var(--primario); color: var(--primario-texto); padding: 10px 18px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.metricas { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.metricas .num small { display: block; }
.error-publico { color: var(--tenue); padding: 40px 0; text-align: center; }

.metricas .num { border: 1px solid var(--borde); border-radius: 18px; padding: 14px 16px; background: var(--superficie-2); }
.metricas .num strong { display: block; font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.metricas .num small { color: var(--tenue); font-size: 12.5px; line-height: 1.45; }
.boton-publico { font: inherit; padding: 10px 16px; border-radius: 999px; border: .5px solid currentColor; background: transparent; color: inherit; cursor: pointer; margin: 4px 6px 4px 0; }
.boton-publico:disabled { opacity: .5; }

/* 28/09: panel del dueño ampliado e informe de impacto */
.publico.ancho-admin { max-width: 1080px; }
.publico h2 { font-size: 18px; font-weight: 600; margin: 34px 0 6px; }
.publico h3 { font-size: 14.5px; font-weight: 600; margin: 18px 0 8px; }
.publico code { font-size: 12.5px; background: var(--superficie-2); padding: 1px 6px; border-radius: 6px; }
.form-admin { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.form-admin input { font: inherit; padding: 9px 12px; border-radius: 10px; border: .5px solid rgba(127,127,127,.45); background: transparent; color: inherit; min-width: 0; }
.form-admin input[name="nombre"] { flex: 2 1 220px; }
.form-admin input[type="number"] { width: 90px; }
.tabla-envoltura { overflow-x: auto; }
.tabla-admin { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tabla-admin th, .tabla-admin td { text-align: left; padding: 8px 10px; border-bottom: .5px solid rgba(127,127,127,.3); vertical-align: middle; white-space: nowrap; }
.tabla-admin th { font-weight: 500; color: #8a8a8a; font-size: 12px; }
.tabla-admin .boton-publico { padding: 5px 10px; font-size: 12.5px; margin: 2px 4px 2px 0; }
.boton-publico.secundario { opacity: .85; }
.impacto-nota { font-size: 13px; color: var(--tenue); line-height: 1.6; }
.impacto-def { font-size: 13px; line-height: 1.6; padding-left: 18px; }
.impacto-def li { margin-bottom: 4px; }
