/* Complementos de la aplicación real (sobre la base visual aprobada en las vistas previas). */
.ap-marca .bv-marca{padding:0 8px}
.ap-orgsel{margin:0}
.ap-vacia{font-size:12px;color:var(--bv-mut);padding:4px 10px;margin:0}
.ap-cli{display:flex;align-items:center;gap:8px;padding:8px 10px 3px;font-size:12px;font-weight:600;color:var(--bv-ink)}
.ap-cli .ap-col-ini{background:var(--bv-acc2)}
.ap-cli span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-nav a.ap-sub{padding:5px 10px 5px 34px;font-size:13px}
.ap-nav a.ap-sub span{margin-left:auto}
.ap-tabla td.c-usr,.ap-tabla td.c-col{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-colchip{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block}
.ap-nom>div{min-width:0}.ap-nom b{max-width:300px}
.ap-tabla td:nth-child(2){max-width:340px}
.ap-tabla .c-est svg{width:16px;height:16px}
.c-acc-ancha{width:auto !important;display:flex;gap:6px;justify-content:flex-end}
.ap-tabla-pap tbody tr{cursor:default}
.ap-vacio[hidden]{display:none}
@media (max-width:1240px){.c-fec{display:none}}
@media (max-width:1100px){.ap-tabla td.c-usr{max-width:140px}.ap-tabla td.c-col{max-width:150px}.ap-nom b,.ap-nom small{max-width:210px}}
@media (max-width:600px){.ap-tabla .c-usr{display:none}.ap-nom b,.ap-nom small{max-width:150px}.ap-tabla td,.ap-tabla th{padding-left:8px;padding-right:8px}}

.ap-acc{position:relative}
.ap-menu-nuevo{position:absolute;right:0;top:calc(100% + 6px);z-index:20;padding:6px;display:flex;flex-direction:column;min-width:210px;box-shadow:0 12px 30px rgba(36,33,40,.14)}
.ap-menu-nuevo button{font:inherit;display:flex;gap:10px;align-items:center;border:0;background:none;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--bv-ink);text-align:left}
.ap-menu-nuevo button:hover,.ap-menu-nuevo button:focus-visible{background:var(--bv-bg)}
.ap-menu-nuevo svg{width:16px;height:16px;color:var(--bv-acc2)}
.ap-banner svg{width:18px;height:18px}
.ap-banner a{color:var(--bv-crit);font-weight:600}
.ap-fz-linea{font-size:12px;margin:-8px 0 0}
.ap-editor .bv-campo small{display:block;margin-top:4px;font-size:12px}
.ap-area{resize:vertical;min-height:70px;font:inherit}
textarea.bv-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
.ap-extras{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.ap-extra{display:grid;grid-template-columns:1fr 1.3fr auto auto;gap:6px;align-items:center}
.ap-extra .ac-chk{white-space:nowrap}
select.bv-in{appearance:auto;cursor:pointer}
.bv-in-sm{padding:5px 8px;font-size:13px;width:auto}
.bv-error{margin-bottom:14px}
.bv-btn svg{width:16px;height:16px}

/* ventanas */
.ap-modal-ancho{max-width:640px}
.md-txt{margin:0 0 4px;font-size:14px}
.ap-gen{display:flex;flex-direction:column;gap:14px}
.ap-gen-op[hidden]{display:none}
.pg-pie-izq{justify-content:flex-start;border-top:1px solid var(--bv-line);padding-top:12px}

/* acceso */
.ac-cod{font-size:20px;letter-spacing:.2em;text-align:center}
.ac-qr{display:flex;justify-content:center;padding:8px;border:1px solid var(--bv-line);border-radius:var(--bv-rc);width:max-content;margin:0 auto 6px;background:#fff}
.ac-nota{font-size:12px;margin:8px 0 16px}
.ac-mb{margin-bottom:18px}
.ac-respaldo{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 18px;padding:14px;border:1px dashed var(--bv-line2);border-radius:var(--bv-rc);margin-bottom:12px;font-size:15px;text-align:center}
.ac-kitpanel h1{font-size:22px;font-weight:800;margin:0 0 6px}
.ac-kit-cod{word-break:normal;overflow-wrap:normal}
.ac-card a{color:var(--bv-acc2)}

/* páginas (organización, auditoría, cuenta) */
.pg{min-height:100vh}
.pg-cab{display:flex;align-items:center;gap:12px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--bv-line);position:sticky;top:0;z-index:5}
.pg-main{max-width:980px;margin:0 auto;padding:26px 16px 60px;display:flex;flex-direction:column;gap:14px}
.pg-main h1{font-size:26px;font-weight:800;margin:0;letter-spacing:-.01em}
.pg-main>p{margin:0}
.pg-sec{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.pg-sec h2{font-size:16px;font-weight:700;margin:0}
.pg-tabla{width:100%;border-collapse:collapse;font-size:14px}
.pg-tabla th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--bv-mut);padding:8px;border-bottom:1px solid var(--bv-line)}
.pg-tabla td{padding:10px 8px;border-bottom:1px solid var(--bv-line);vertical-align:middle}
.pg-tabla tr:last-child td{border-bottom:0}
.pg-peq{font-size:12px}
.pg-nowrap{white-space:nowrap}
.pg-retirado td{opacity:.55}
.pg-ok{color:var(--bv-ok);font-weight:600;font-size:13px}.pg-mal{color:var(--bv-warn);font-weight:600;font-size:13px}
.pg-fila{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pg-fila .bv-in{flex:1 1 200px;width:auto}
.pg-num{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--bv-mut)}
.pg-num .bv-in{width:80px}
.pg-enlace{flex-direction:column;align-items:flex-start}
.pg-enlace code{word-break:break-all;font-size:12px;background:#fff;padding:6px 8px;border-radius:4px;border:1px solid #e2d0f5;width:100%}
.pg-lista{margin:8px 0 0;padding-left:18px;font-size:14px;max-height:300px;overflow:auto}
.pg-agregar{border-top:1px solid var(--bv-line);margin-top:12px;padding-top:12px}
.pg-cadena .bv-aviso svg{width:18px;height:18px}
.pg-aud .c-est svg{width:14px;height:14px}

/* impresión del kit: solo el código */
@media print{
  body *{visibility:hidden}
  .ac-imprimible,.ac-imprimible *{visibility:visible}
  .ac-imprimible{position:absolute;left:0;top:0;width:100%;border:2px dashed #000}
  .ac-kit-acc{display:none}
}
.ap-sec h3:not(:first-child){margin-top:14px}
.ap-menu-sep{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--bv-mut);padding:10px 10px 4px;border-top:1px solid var(--bv-line);margin-top:4px}
.pg-grupo{border:1px solid var(--bv-line);border-radius:var(--bv-rc);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pg-grupo-cab{display:flex;align-items:center;gap:8px}
.pg-grupo-cab b{font-weight:700}
.pg-chips{display:flex;flex-wrap:wrap;gap:6px}
.pg-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bv-bg);border:1px solid var(--bv-line);border-radius:999px;padding:3px 4px 3px 10px;font-size:13px}
.pg-chip button{width:20px;height:20px}
.pg-chip button svg{width:12px;height:12px}
.pg-via{font-size:12px;color:var(--bv-mut)}
.pg-campos-pl{display:flex;flex-direction:column;gap:6px}
.pg-campo-pl{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center}

/* ---------- Fase 5: directorio, salud, informe y marca blanca ---------- */
.bv-marca-logo{max-height:30px;max-width:120px;object-fit:contain;border-radius:4px}
.ac-sso{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}
.ac-sso svg{width:18px;height:18px}
.ac-sso[hidden],.ac-o[hidden]{display:none}
.ac-o{display:flex;align-items:center;gap:10px;color:var(--bv-mut);font-size:12px;margin:8px 0 12px}
.ac-o::before,.ac-o::after{content:"";flex:1;border-top:1px solid var(--bv-line)}
.sl-crit{color:var(--bv-crit);font-weight:700}
.sl-resumen{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sl-pt{font-size:44px;font-weight:800;line-height:1;letter-spacing:-.02em}
.sl-pt small{font-size:14px;color:var(--bv-mut);font-weight:600;margin-left:2px}
.sl-res-t{display:flex;flex-direction:column;gap:2px;min-width:180px}
.sl-chips{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}
.sl-chip{border:1px solid var(--bv-line);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--bv-mut);background:var(--bv-bg)}
.sl-chip b{color:var(--bv-ink)}
.sl-chip-warn{background:var(--bv-warnbg);border-color:#fcd9a5;color:var(--bv-warn)}
.sl-chip-crit{background:var(--bv-critbg);border-color:#f7c4c4;color:var(--bv-crit)}
.sl-chip-warn b,.sl-chip-crit b{color:inherit}
.sl-doc{margin-top:6px}
.sl-noimp input[type=date]{width:auto;min-width:150px}
.sl-hoja{padding:28px 30px;display:flex;flex-direction:column;gap:10px}
.sl-cab{display:flex;align-items:center;gap:16px;border-bottom:2px solid var(--bv-acc);padding-bottom:14px;margin-bottom:6px}
.sl-cab h2{margin:2px 0}
.sl-logo{max-height:56px;max-width:160px;object-fit:contain}
.sl-prov{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bv-acc)}
.sl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.sl-kpi{border:1px solid var(--bv-line);border-radius:var(--bv-rc);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.sl-kpi b{font-size:24px;font-weight:800}
.sl-kpi span{font-size:12px;color:var(--bv-mut)}
.sl-hoja h3{margin:14px 0 2px;font-size:15px}
.sl-lista{margin:0;padding-left:18px;font-size:14px;display:flex;flex-direction:column;gap:3px}
.sl-act{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px;font-size:13px}
.sl-act div{display:flex;gap:8px;align-items:baseline;border-bottom:1px dotted var(--bv-line);padding:3px 0}
.sl-act b{min-width:34px;text-align:right}
.sl-pie{border-top:1px solid var(--bv-line);margin-top:14px;padding-top:10px;font-size:12px}
.sl-code{word-break:break-all;background:var(--bv-bg);border:1px solid var(--bv-line);border-radius:var(--bv-r);padding:6px 8px;font-size:12px}
.sl-ayuda summary{cursor:pointer;font-weight:600;font-size:14px}
.sl-vista{border:1px dashed var(--bv-line2);border-radius:var(--bv-rc);padding:14px;background:var(--bv-bg)}
.sl-color{width:52px;height:34px;border:1px solid var(--bv-line2);border-radius:var(--bv-r);padding:2px;background:#fff}
@media (max-width:640px){.sl-hoja{padding:18px 14px}.sl-cab{flex-direction:column;align-items:flex-start}.sl-pt{font-size:36px}}
@media print{
  .sl-hoja.ac-imprimible{border:none;box-shadow:none;padding:0}
  .sl-noimp{display:none}
  .sl-hoja .pg-tabla{font-size:11px}
  .sl-hoja{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
