/* Acceso, controles y estados compartidos: mismo diseño en todas las pantallas. */
[hidden]{display:none!important}
.lg-back{overflow-y:auto;padding:20px;overscroll-behavior:contain}
.lg-card{max-height:calc(100dvh - 40px);overflow-y:auto}
.lg-card label{font-size:14px;letter-spacing:.025em;text-transform:none}
.lg-card input,.lg-card textarea{font-size:16px;min-height:44px}
.lg-card button,.s-b{min-height:44px}
button:disabled,select:disabled{opacity:.6;cursor:wait}
.ck-save{display:block;min-height:22px;margin-top:8px;color:var(--ink-2);font-size:14px}
.ck-save[data-error="true"]{color:var(--bad,#a32f32)}
.propuesta-nota{padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:14px;color:var(--ink-2)}
.propuesta-tag{font-size:12px;color:var(--accent);font-weight:600}
.nav a{padding-block:8px}
@media(max-width:820px){
  .nav{font-size:13px;letter-spacing:.035em;gap:18px}
  .sesion{min-width:0}.s-u{max-width:40vw}.s-u b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lg-card{padding:22px 20px!important}
  .tagline,.page .lead,.soon{text-align:left}
  .pillar p{font-size:15px}
  .pmeta>div{min-width:0!important}
  .nec{overflow-x:auto}
}
@media(max-width:420px){.topbar{gap:12px}.topbar .mark span{display:none}}

/* KAIA · reglas responsivas y de impresión.
   Vivían en dealer.css, que solo cargaban algunas páginas: por eso el home y el
   selector de marca no tenían nada de móvil. Va en todas las páginas, siempre última. */

@media (max-width:820px){
  /* barra superior: el logo se queda, la nav pasa abajo */
  .topbar{flex-wrap:wrap;row-gap:12px;padding-block:14px}
  .topbar .mark img{width:82px}
  .nav{order:3;width:100%;gap:18px;font-size:11.5px;overflow-x:auto;
       -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .sesion{margin-left:auto}

  .page{padding-block:26px}
  .dhead{gap:14px}
  .dhead-r{width:100%}
  .dhead-r .sel{flex:1}

  /* formulario de nueva evaluación: una fila por campo */
  .nf{flex-direction:column;align-items:stretch;gap:12px}
  .nf label{width:100%}
  .nf select,.nf input{width:100%;min-width:0;min-height:46px;font-size:16px}
  .nf .btn{width:100%}
  .btn{min-height:48px}

  /* barra de progreso pegada arriba, sin tapar contenido */
  .runbar{top:0;flex-direction:column;align-items:stretch;gap:10px;padding:13px 16px;margin:18px 0 14px}
  .prog{min-width:0}

  /* la pregunta y sus botones: lo que más se toca */
  .ck{padding:15px 16px}
  .ck-q{font-size:15.5px}
  .ck-n{font-size:12.5px}
  .ck-a{gap:9px}
  .nb{flex:1;min-width:96px;min-height:46px;font-size:13.5px;font-weight:500}
  .ck-obs{width:100%;flex-basis:100%;min-height:46px;font-size:16px}
  .ck-resp{margin-left:0;width:100%}

  /* plan de acción */
  .pcard{padding:16px}
  .pacc{font-size:15px}
  .pmeta{gap:14px}
  .pfoot{gap:9px}
  .pfoot .sel{flex:1;min-height:44px;font-size:15px}
  .ev{margin-left:0;width:100%;justify-content:center;min-height:44px}
  .chip{min-height:38px;padding-inline:15px}

  /* comparaciones: las etiquetas se achican para dejarle ancho a la barra */
  .evo{padding:18px 16px}
  .evo-row{grid-template-columns:88px 1fr 74px;gap:10px}
  .evo-n{font-size:11.5px}
  .evo-d{font-size:11.5px}
  .cat{grid-template-columns:78px 1fr 38px;gap:8px}
  .cat-n{font-size:11px}

  /* mapa y panel */
  .mapcard{padding:14px 12px 6px}
  .peru{max-height:none}
  .side{position:static}
  .citylist{max-height:none}
  .crow{padding:11px 12px;min-height:44px}
  .drow{min-height:44px}

  .kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}
  .kpi{padding:14px 15px}
  .kpi.big{grid-column:span 2}
  .k-v{font-size:28px}

  .calidad,.nec,.hallazgos,.nuevo,.panel{padding:18px 16px}
  .cal-i{grid-template-columns:1fr;gap:8px}
  .cal-n{padding-top:0}
  .sect2{margin-top:34px;font-size:17px}
  h1{font-size:clamp(26px,7vw,34px)}
}

@media (max-width:420px){
  .wrap{padding-inline:16px}
  .nb{min-width:0}
  .evo-row{grid-template-columns:74px 1fr 64px}
  .kpis{grid-template-columns:1fr 1fr}
  .kpi.big{grid-column:span 2}
}

@media (hover:none){
  .pillar:hover,.brand:hover,.pcard:hover{transform:none;box-shadow:none}
  .nb:hover{border-color:var(--line);color:var(--ink-2)}
  .nb.on:hover{border-color:var(--ink);color:#fff}
}

@media (max-width:820px){.pr-cols{grid-template-columns:1fr;gap:18px}.proc{padding:18px 16px}}

@media print{
  @page{margin:14mm}
  .topbar,.footer,.inf-acc,.bg,.sesion{display:none!important}
  body{background:#fff;font-size:11pt}
  .inf{max-width:none;padding:0}
  .hoja{border:0;border-radius:0;padding:0;background:#fff}
  .i-p,.i-s{break-inside:avoid}
  .i-h{border-bottom-color:#000}
}

@media (max-width:820px){
  .hoja{padding:24px 18px}
  .inf{padding-inline:16px;max-width:100%}
  .i-h h1{font-size:22px}
}

@media (max-width:820px){.slope{min-width:560px}}


/* — de dashboard.css — */

@media (max-width:1040px){.dgrid{grid-template-columns:1fr}}

@media (max-width:640px){
  .v-in{border-radius:14px;gap:12px;padding:14px 18px}
}

@media (prefers-reduced-motion:reduce){
  .kpis .kpi,.mapcard,.side,.evo,.proc,.calidad,
  .slope .sl line,.slope .sl circle,.slope text{animation:none}
}

@media (max-width:1040px){.kpis.seis{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media (max-width:640px){
  .kpis.dos{grid-template-columns:1fr}
  .kpis.seis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){.kpis.dos .kpi.big{grid-column:1 / -1}}

@media (prefers-reduced-motion:reduce){.peru .dep.con.critico{animation:none}}

@media (max-width:560px){.acceso{margin:40px auto;padding:30px 22px}}

/* Flujo operativo, tablas de consulta y salida impresa. */
.tabla-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);margin-top:16px}
.tabla-scroll table{width:100%;min-width:600px}.tabla-scroll th,.tabla-scroll td{padding:12px 14px;text-align:left;vertical-align:top}
.tabla-scroll td{font-size:14px}.tabla-scroll a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.audit-actions{margin-top:24px;flex-wrap:wrap}.audit-actions .btn{width:auto}
.evidencia-lista{display:grid;gap:12px}.evidencia-item{padding:12px;border:1px solid var(--line);border-radius:10px}.evidencia-item img{max-height:260px;display:block;margin:12px auto}.evidencia-item a{color:var(--accent);text-decoration:underline}
.lg-card.ancha{max-width:760px;width:100%}.inic h2{font-size:20px;line-height:1.35}.inic details{font-size:14px}.inic summary{cursor:pointer;padding:10px 0;font-weight:600}
@media print{.nf,.audit-actions,#a-historial .lg-acc{display:none!important}.tabla-scroll{overflow:visible;border:0}.tabla-scroll table{min-width:0}.page{padding-block:0}.kpis{break-inside:avoid}.inic{break-inside:avoid}body{display:block}main{display:block}.wrap{max-width:none}}
.lg-card select{display:block;width:100%;margin-top:6px;padding:10px 12px;font:inherit;font-size:16px;min-height:44px;background:white;border:1px solid var(--line);border-radius:7px}.lg-card [data-ver-fotos]{margin-bottom:16px}
.kpi.umbral .k-edit{position:static;display:block;align-self:flex-start;margin-top:12px;max-width:100%}
