/* Vientsur Energía - Control de Flota. Tema oscuro fijo: no sigue el tema del navegador. */
:root{
	--cf-fondo:#0d1117; --cf-panel:#161b22; --cf-panel-2:#1c2330; --cf-borde:#2a3240; --cf-borde-2:#3a4454;
	--cf-texto:#e6edf3; --cf-suave:#8b949e; --cf-navy:#0B2545; --cf-navy-2:#143a63; --cf-oro:#C9A24B; --cf-oro-2:#dcbb6f;
	--cf-rojo:#f85149; --cf-naranja:#fb8f44; --cf-ambar:#e3b341; --cf-verde:#3fb950; --cf-azul:#58a6ff; --cf-violeta:#bc8cff; --cf-gris:#6e7681;
	--cf-radio:12px;
	color-scheme:dark;
}
html.cf-html,body.cf-standalone{background:var(--cf-fondo);}
body.cf-standalone{margin:0;color:var(--cf-texto);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-text-size-adjust:100%;}
body.cf-app-body #wpadminbar{display:none!important;}
.cf-app *,.cf-acceso *,.cf-modal *{box-sizing:border-box;}
.cf-app{min-height:100vh;display:flex;flex-direction:column;}
.cf-app button,.cf-acceso button,.cf-modal button{font-family:inherit;}
[hidden]{display:none!important;}

/* ---------------------------------------------------------------- barra */
.cf-barra{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;background:var(--cf-navy);
	padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid #1d3a5f;box-shadow:0 2px 12px rgba(0,0,0,.35);}
.cf-marca{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:16px;}
.cf-logo{width:30px;height:30px;border-radius:7px;}
.cf-titulo{white-space:nowrap;}
.cf-nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;}
.cf-nav::-webkit-scrollbar{display:none;}
.cf-tab{background:transparent;border:0;color:#c9d4e4;padding:8px 14px;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;}
.cf-tab:hover{background:var(--cf-navy-2);color:#fff;}
.cf-tab.activo{background:var(--cf-oro);color:var(--cf-navy);font-weight:700;}
.cf-barra-der{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.cf-usuario{background:transparent;border:0;color:#c9d4e4;font-size:13px;cursor:pointer;padding:6px;border-radius:6px;}
.cf-usuario:hover{color:var(--cf-oro);}
.cf-icono{background:var(--cf-navy-2);border:0;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
.cf-icono:hover{background:#1d4b7d;}
.cf-icono.activo{background:var(--cf-oro);color:var(--cf-navy);}

/* -------------------------------------------------------------- botones */
.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:1px solid var(--cf-borde-2);
	background:var(--cf-panel-2);color:var(--cf-texto);border-radius:8px;cursor:pointer;font-size:14px;text-decoration:none;line-height:1.2;white-space:nowrap;}
.cf-btn:hover{border-color:var(--cf-oro);color:#fff;}
.cf-btn:disabled{opacity:.55;cursor:default;}
.cf-btn.cargando{cursor:progress;}
.cf-btn-primario{background:var(--cf-oro);border-color:var(--cf-oro);color:var(--cf-navy);font-weight:700;}
.cf-btn-primario:hover{background:var(--cf-oro-2);border-color:var(--cf-oro-2);color:var(--cf-navy);}
.cf-btn-peligro{background:transparent;border-color:#6e2a2a;color:var(--cf-rojo);}
.cf-btn-peligro:hover{background:#3a1616;border-color:var(--cf-rojo);color:#ffb3ad;}
.cf-btn-mini{padding:5px 10px;font-size:13px;}
.cf-btn-instalar{background:var(--cf-oro);border-color:var(--cf-oro);color:var(--cf-navy);font-weight:700;padding:7px 12px;}
.cf-ancho-total{width:100%;}
.cf-enlace{color:var(--cf-oro);text-decoration:none;}
.cf-enlace:hover{text-decoration:underline;}

/* ----------------------------------------------------------------- main */
.cf-main{flex:1;padding:18px 16px 28px;max-width:1600px;width:100%;margin:0 auto;}
.cf-vista{display:none;}
.cf-vista.activa{display:block;}
.cf-nota{color:var(--cf-suave);font-size:13px;margin:6px 0;}
.cf-sub{display:block;color:var(--cf-suave);font-size:12.5px;}
.cf-vacio{padding:28px;text-align:center;color:var(--cf-suave);}
.cf-mono{font-family:ui-monospace,Consolas,monospace;letter-spacing:.03em;}
.cf-nowrap{white-space:nowrap;}
.cf-num{text-align:right;white-space:nowrap;}
.cf-hueco{flex:1;}

/* ---------------------------------------------------------- indicadores */
.cf-indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;}
.cf-ind{background:var(--cf-panel);border:1px solid var(--cf-borde);border-left:4px solid var(--cf-gris);border-radius:10px;
	padding:11px 14px;cursor:pointer;text-align:left;color:var(--cf-texto);display:flex;flex-direction:column;transition:transform .12s,border-color .12s;}
.cf-ind:hover{transform:translateY(-1px);border-color:var(--cf-borde-2);}
.cf-ind.activo{outline:2px solid var(--cf-oro);outline-offset:1px;}
.cf-ind.cero{opacity:.55;}
.cf-ind-num{font-size:26px;font-weight:700;line-height:1.1;}
.cf-ind-tit{font-size:11.5px;color:var(--cf-suave);text-transform:uppercase;letter-spacing:.04em;margin-top:3px;}
.cf-ind[data-color=rojo]{border-left-color:var(--cf-rojo);} .cf-ind[data-color=rojo] .cf-ind-num{color:var(--cf-rojo);}
.cf-ind[data-color=naranja]{border-left-color:var(--cf-naranja);} .cf-ind[data-color=naranja] .cf-ind-num{color:var(--cf-naranja);}
.cf-ind[data-color=ambar]{border-left-color:var(--cf-ambar);} .cf-ind[data-color=ambar] .cf-ind-num{color:var(--cf-ambar);}
.cf-ind[data-color=azul]{border-left-color:var(--cf-azul);} .cf-ind[data-color=azul] .cf-ind-num{color:var(--cf-azul);}
.cf-ind[data-color=violeta]{border-left-color:var(--cf-violeta);} .cf-ind[data-color=violeta] .cf-ind-num{color:var(--cf-violeta);}
.cf-ind[data-color=oro]{border-left-color:var(--cf-oro);} .cf-ind[data-color=oro] .cf-ind-num{color:var(--cf-oro);}

/* --------------------------------------------------------- herramientas */
.cf-herramientas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center;}
.cf-herramientas input[type=search],.cf-herramientas select{padding:9px 12px;border:1px solid var(--cf-borde);border-radius:8px;
	background:var(--cf-panel);color:var(--cf-texto);font-size:14px;min-width:170px;}
.cf-herramientas input[type=search]{flex:1;min-width:220px;}

/* -------------------------------------------------------------- tarjetas */
.cf-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.cf-tarjeta{background:var(--cf-panel);border:1px solid var(--cf-borde);border-radius:var(--cf-radio);overflow:hidden;cursor:pointer;
	display:flex;flex-direction:column;position:relative;transition:transform .12s,box-shadow .12s,border-color .12s;}
.cf-tarjeta::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--cf-gris);z-index:2;}
.cf-tarjeta[data-c=rojo]::before{background:var(--cf-rojo);} .cf-tarjeta[data-c=naranja]::before{background:var(--cf-naranja);}
.cf-tarjeta[data-c=ambar]::before{background:var(--cf-ambar);} .cf-tarjeta[data-c=verde]::before{background:var(--cf-verde);}
.cf-tarjeta:hover,.cf-tarjeta:focus-visible{transform:translateY(-2px);border-color:var(--cf-borde-2);box-shadow:0 10px 26px rgba(0,0,0,.4);outline:0;}
.cf-tarjeta-foto{position:relative;height:150px;background:linear-gradient(135deg,#132238,#0f1826);}
.cf-foto{width:100%;height:100%;object-fit:cover;display:block;}
.cf-sin-foto{display:flex;align-items:center;justify-content:center;color:#2f4a6d;}
.cf-ico-grande{width:92px;height:92px;}
.cf-estado{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;background:#30363d;color:#c9d1d9;}
.cf-tarjeta-foto .cf-estado{position:absolute;top:10px;right:10px;}
.cf-estado[data-e=activo]{background:#12361f;color:var(--cf-verde);}
.cf-estado[data-e=taller]{background:#3d2a0c;color:var(--cf-ambar);}
.cf-estado[data-e=baja]{background:#3a1616;color:var(--cf-rojo);}
.cf-tarjeta-cuerpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1;}
.cf-tarjeta h3{margin:6px 0 0;font-size:16px;color:#fff;}
.cf-tarjeta .cf-sub{min-height:18px;}
.cf-tarjeta[data-c=gris] .cf-tarjeta-foto{filter:grayscale(.4);}

/* Matricula con aspecto de placa europea */
.cf-placa{display:inline-flex;align-items:center;min-height:28px;padding-right:8px;background:#f7f7f2;color:#111;border:2px solid #111;border-radius:5px;overflow:hidden;
	font:700 16px/1 ui-monospace,"DIN Alternate","Arial Narrow",Consolas,monospace;letter-spacing:.06em;align-self:flex-start;}
.cf-placa-eu{align-self:stretch;margin-right:7px;background:#1f47b8;color:#fff;font-size:10px;display:flex;align-items:flex-end;padding:3px 4px;letter-spacing:0;}

.cf-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;}
.cf-chip{background:var(--cf-panel-2);border:1px solid var(--cf-borde);border-top:3px solid var(--cf-gris);border-radius:8px;padding:6px 8px;
	display:flex;flex-direction:column;min-width:0;}
.cf-chip-tit{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--cf-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cf-chip-val{font-weight:700;font-size:13.5px;white-space:nowrap;}
.cf-chip-dias{font-size:11.5px;color:var(--cf-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cf-chip[data-c=rojo]{border-top-color:var(--cf-rojo);background:#2a1215;} .cf-chip[data-c=rojo] .cf-chip-dias,.cf-chip[data-c=rojo] .cf-chip-val{color:#ff9d97;}
.cf-chip[data-c=naranja]{border-top-color:var(--cf-naranja);background:#2b1a0d;} .cf-chip[data-c=naranja] .cf-chip-dias{color:var(--cf-naranja);}
.cf-chip[data-c=ambar]{border-top-color:var(--cf-ambar);} .cf-chip[data-c=ambar] .cf-chip-dias{color:var(--cf-ambar);}
.cf-chip[data-c=verde]{border-top-color:var(--cf-verde);}
.cf-chip[data-c=rojo]{animation:cf-pulso 1.6s ease-in-out infinite;}
@keyframes cf-pulso{0%,100%{box-shadow:0 0 0 0 rgba(248,81,73,0);}50%{box-shadow:0 0 0 3px rgba(248,81,73,.35);}}
@media (prefers-reduced-motion:reduce){.cf-chip[data-c=rojo]{animation:none;}}

/* ----------------------------------------------------------------- ficha */
.cf-ficha-barra{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
.cf-ficha-cab{display:flex;gap:18px;background:var(--cf-panel);border:1px solid var(--cf-borde);border-radius:var(--cf-radio);padding:14px;
	border-left:5px solid var(--cf-gris);}
.cf-ficha-cab[data-c=rojo]{border-left-color:var(--cf-rojo);} .cf-ficha-cab[data-c=naranja]{border-left-color:var(--cf-naranja);}
.cf-ficha-cab[data-c=ambar]{border-left-color:var(--cf-ambar);} .cf-ficha-cab[data-c=verde]{border-left-color:var(--cf-verde);}
.cf-ficha-foto{position:relative;width:280px;flex:0 0 280px;height:180px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#132238,#0f1826);}
.cf-foto-btn{position:absolute;bottom:8px;right:8px;background:rgba(13,17,23,.8);}
.cf-ficha-titulo{flex:1;min-width:0;}
.cf-ficha-titulo .cf-placa{font-size:20px;min-height:34px;vertical-align:middle;}
.cf-ficha-titulo .cf-estado{vertical-align:middle;margin-left:6px;}
.cf-ficha-titulo h2{margin:10px 0 2px;font-size:24px;color:#fff;}
.cf-resumen{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;color:var(--cf-suave);font-size:14px;}
.cf-resumen b{color:var(--cf-texto);}

.cf-vencs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0;}
.cf-venc{background:var(--cf-panel);border:1px solid var(--cf-borde);border-top:4px solid var(--cf-gris);border-radius:var(--cf-radio);padding:12px 14px;}
.cf-venc[data-c=rojo]{border-top-color:var(--cf-rojo);background:linear-gradient(180deg,#2a1215,var(--cf-panel) 70%);}
.cf-venc[data-c=naranja]{border-top-color:var(--cf-naranja);background:linear-gradient(180deg,#2b1a0d,var(--cf-panel) 70%);}
.cf-venc[data-c=ambar]{border-top-color:var(--cf-ambar);}
.cf-venc[data-c=verde]{border-top-color:var(--cf-verde);}
.cf-venc-cab{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.cf-venc h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--cf-suave);}
.cf-venc-fecha{font-size:26px;font-weight:700;margin:6px 0 0;color:#fff;}
.cf-venc-dias{margin:0;font-weight:600;}
.cf-venc[data-c=rojo] .cf-venc-dias{color:var(--cf-rojo);} .cf-venc[data-c=naranja] .cf-venc-dias{color:var(--cf-naranja);}
.cf-venc[data-c=ambar] .cf-venc-dias{color:var(--cf-ambar);} .cf-venc[data-c=verde] .cf-venc-dias{color:var(--cf-verde);}
.cf-venc-tipo{margin:6px 0 0;font-size:13px;color:var(--cf-suave);}
.cf-venc p{margin-bottom:0;}
.cf-etq{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;background:#30363d;color:#c9d1d9;font-weight:600;}
.cf-etq[data-r=favorable]{background:#12361f;color:var(--cf-verde);}
.cf-etq[data-r=desfavorable]{background:#3d2a0c;color:var(--cf-ambar);}
.cf-etq[data-r=negativa]{background:#3a1616;color:var(--cf-rojo);}
.cf-etq[data-c=rojo]{background:#3a1616;color:var(--cf-rojo);} .cf-etq[data-c=naranja]{background:#3b230f;color:var(--cf-naranja);}
.cf-etq[data-c=ambar]{background:#3d2f0c;color:var(--cf-ambar);} .cf-etq[data-c=verde]{background:#12361f;color:var(--cf-verde);}

.cf-pestanas{display:flex;gap:4px;border-bottom:1px solid var(--cf-borde);margin:6px 0 14px;overflow-x:auto;scrollbar-width:none;}
.cf-pestanas::-webkit-scrollbar{display:none;}
.cf-pestana{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--cf-suave);padding:10px 14px;cursor:pointer;font-size:14.5px;white-space:nowrap;}
.cf-pestana:hover{color:#fff;}
.cf-pestana.activa{color:#fff;border-bottom-color:var(--cf-oro);font-weight:600;}
.cf-cuenta{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:#30363d;font-size:12px;text-align:center;}
.cf-cuenta.aviso{background:var(--cf-naranja);color:#1a0e04;}

.cf-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start;}
.cf-caja{background:var(--cf-panel);border:1px solid var(--cf-borde);border-radius:var(--cf-radio);padding:14px 16px;}
.cf-caja h2,.cf-caja h3{margin:0 0 10px;font-size:15px;color:var(--cf-oro);}
.cf-separada{margin-top:18px;}
.cf-datos{margin:0;display:grid;grid-template-columns:1fr;}
.cf-dato{display:grid;grid-template-columns:44% 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #21283330;border-bottom-color:#212833;}
.cf-dato:last-child{border-bottom:0;}
.cf-dato dt{color:var(--cf-suave);font-size:13.5px;}
.cf-dato dd{margin:0;font-weight:500;word-break:break-word;}
.cf-notas{white-space:pre-wrap;margin:0;}

/* Documentos */
.cf-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:10px;}
.cf-doc{display:flex;gap:12px;align-items:center;background:var(--cf-panel);border:1px solid var(--cf-borde);border-left:4px solid var(--cf-borde);border-radius:10px;padding:10px;}
.cf-doc[data-c=rojo]{border-left-color:var(--cf-rojo);} .cf-doc[data-c=naranja]{border-left-color:var(--cf-naranja);} .cf-doc[data-c=ambar]{border-left-color:var(--cf-ambar);}
.cf-doc-mini{width:64px;height:64px;flex:0 0 64px;border-radius:8px;overflow:hidden;background:var(--cf-panel-2);border:1px solid var(--cf-borde);cursor:pointer;padding:0;
	display:flex;align-items:center;justify-content:center;}
.cf-doc-mini img{width:100%;height:100%;object-fit:cover;}
.cf-doc-ext{font-weight:700;color:var(--cf-oro);font-size:13px;}
.cf-doc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.cf-doc-acc{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:210px;}

/* ---------------------------------------------------------------- tablas */
.cf-tabla-caja{background:var(--cf-panel);border:1px solid var(--cf-borde);border-radius:var(--cf-radio);overflow:auto;}
.cf-tabla{width:100%;border-collapse:collapse;font-size:14px;}
.cf-tabla th{text-align:left;padding:10px 12px;background:#11161d;color:var(--cf-suave);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;
	border-bottom:1px solid var(--cf-borde);white-space:nowrap;}
.cf-tabla td{padding:9px 12px;border-bottom:1px solid #212833;vertical-align:middle;}
.cf-tabla tbody tr:hover{background:#1a212b;}

/* ---------------------------------------------------------------- campos */
.cf-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;}
fieldset.cf-campos{border:1px solid var(--cf-borde);border-radius:10px;padding:14px;margin:0 0 14px;}
fieldset.cf-campos legend{padding:0 6px;color:var(--cf-oro);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;}
.cf-campos label,.cf-acceso label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--cf-suave);}
.cf-campos input,.cf-campos select,.cf-campos textarea,.cf-acceso input{padding:10px 11px;border:1px solid var(--cf-borde-2);border-radius:8px;
	font-size:15px;color:var(--cf-texto);background:#0d1117;font-family:inherit;width:100%;}
.cf-campos input:focus,.cf-campos select:focus,.cf-campos textarea:focus,.cf-acceso input:focus{outline:0;border-color:var(--cf-oro);box-shadow:0 0 0 3px rgba(201,162,75,.2);}
.cf-campos input[readonly]{opacity:.65;}
.cf-campos input[type=file]{padding:8px;font-size:13px;}
.cf-campos .cf-ancho{grid-column:1/-1;}
.cf-check{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--cf-texto)!important;cursor:pointer;}
.cf-check input{width:auto!important;accent-color:var(--cf-oro);}
.cf-acciones{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.cf-error{color:var(--cf-rojo);font-size:13px;margin:0 auto 0 0;}

/* Contrasena con ojo */
.cf-clave{position:relative;display:block;}
.cf-clave input{padding-right:46px!important;}
.cf-ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:36px;border:0;background:transparent;color:var(--cf-suave);
	cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;}
.cf-ojo:hover{color:var(--cf-oro);}

/* --------------------------------------------------------------- modales */
.cf-modal{position:fixed;inset:0;background:rgba(1,4,9,.72);display:flex;align-items:center;justify-content:center;padding:16px;z-index:60;}
.cf-modal-caja{background:var(--cf-panel);border:1px solid var(--cf-borde-2);border-radius:14px;width:100%;max-width:980px;max-height:92vh;
	display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.6);}
.cf-estrecha{max-width:640px;} .cf-mini{max-width:420px;}
.cf-modal-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;background:var(--cf-navy);color:#fff;}
.cf-modal-cab h2{margin:0;font-size:17px;}
.cf-cab-acciones{display:flex;align-items:center;gap:10px;}
.cf-cerrar{background:transparent;border:0;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0 4px;}
.cf-obligatorio .cf-cerrar{display:none;}
.cf-modal-cuerpo{padding:16px 18px;overflow:auto;}
.cf-modal-pie{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--cf-borde);background:#11161d;}
.cf-modal-visor .cf-modal-caja{max-width:1100px;height:92vh;}
.cf-visor{flex:1;display:flex;align-items:center;justify-content:center;background:#05080c;overflow:auto;}
.cf-visor img{max-width:100%;max-height:100%;object-fit:contain;}
.cf-visor iframe{width:100%;height:100%;border:0;background:#fff;}

/* ----------------------------------------------------------------- legal */
.cf-legal-texto h3{color:var(--cf-oro);font-size:15px;margin:18px 0 6px;}
.cf-legal-texto p{margin:0 0 8px;color:#c9d1d9;font-size:14px;}
.cf-legal-texto code{background:#0d1117;padding:1px 5px;border-radius:4px;font-size:12.5px;}

/* ------------------------------------------------------------------ pie */
.cf-pie{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:14px 16px calc(14px + env(safe-area-inset-bottom));
	border-top:1px solid var(--cf-borde);color:var(--cf-suave);font-size:12.5px;background:#0a0e14;}
.cf-pie nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-left:auto;}
.cf-pie a{color:var(--cf-suave);text-decoration:none;}
.cf-pie a:hover{color:var(--cf-oro);}
.cf-version{background:var(--cf-panel-2);border:1px solid var(--cf-borde);padding:1px 8px;border-radius:10px;color:var(--cf-oro);font-weight:600;}

/* ---------------------------------------------------------------- acceso */
.cf-acceso{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 0%,#143a63 0%,#0B2545 45%,#0d1117 100%);}
.cf-acceso-caja{margin:auto;width:100%;max-width:380px;background:var(--cf-panel);border:1px solid var(--cf-borde-2);border-radius:16px;
	padding:28px 26px;display:flex;flex-direction:column;gap:14px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.cf-acceso-caja img{margin:0 auto;border-radius:18px;}
.cf-acceso-caja h1{margin:0;font-size:22px;color:#fff;}
.cf-acceso-caja label{text-align:left;}
.cf-acceso .cf-pie{background:transparent;border-top:0;justify-content:center;}
.cf-acceso .cf-pie nav{margin-left:0;}

/* ---------------------------------------------------------------- toast */
.cf-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--cf-oro);color:var(--cf-navy);
	font-weight:600;padding:12px 20px;border-radius:10px;z-index:90;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:92vw;}
.cf-toast.error{background:var(--cf-rojo);color:#fff;}

/* ---------------------------------------------------------------- movil */
@media (max-width:820px){
	.cf-titulo,.cf-usuario{display:none;}
	.cf-barra{gap:8px;padding-left:10px;padding-right:10px;}
	.cf-main{padding:12px 10px 22px;}
	.cf-ind-num{font-size:22px;}
	.cf-indicadores{grid-template-columns:repeat(2,1fr);}
	.cf-rejilla{grid-template-columns:1fr;}
	.cf-ficha-cab{flex-direction:column;}
	.cf-ficha-foto{width:100%;flex-basis:auto;height:200px;}
	.cf-docs{grid-template-columns:1fr;}
	.cf-doc{flex-wrap:wrap;}
	.cf-doc-acc{max-width:none;width:100%;justify-content:flex-start;}
	.cf-modal{padding:0;align-items:stretch;}
	.cf-modal-caja{max-height:none;height:100%;border-radius:0;}
	.cf-herramientas input[type=search]{min-width:0;width:100%;}
	.cf-herramientas select{flex:1;min-width:0;}
	.cf-pie nav{margin-left:0;}
	.cf-dato{grid-template-columns:40% 1fr;}
}
@media print{
	.cf-barra,.cf-herramientas,.cf-modal,.cf-ficha-barra,.cf-pie{display:none!important;}
	body.cf-standalone{background:#fff;color:#000;}
}

/* El tema de WordPress no debe colarse en la app */
.cf-app h1,.cf-app h2,.cf-app h3,.cf-app h4,.cf-acceso h1,.cf-modal h2,.cf-modal h3{font-family:inherit;letter-spacing:normal;line-height:1.25;text-transform:none;}
.cf-modal-cab h2{color:#fff;}
.cf-venc h3{text-transform:uppercase;letter-spacing:.06em;}
.cf-app a,.cf-acceso a{text-decoration:none;}
.cf-app p,.cf-acceso p,.cf-modal p{letter-spacing:normal;}
@media (max-width:820px){
	.cf-herramientas input[type=search]{flex:1 1 100%;}
	.cf-herramientas .cf-btn{flex:1;}
	.cf-tarjeta-foto{height:120px;}
	.cf-ind{padding:9px 12px;}
	.cf-ficha-titulo h2{font-size:21px;}
	.cf-venc-fecha{font-size:23px;}
}
.cf-docs{grid-template-columns:repeat(auto-fill,minmax(min(100%,470px),1fr));}

/* ------------------------------------------------------------ app Node */
body.cf-standalone{min-height:100vh;}
body:not(.es-admin) .solo-admin{display:none!important;}
body:not(.puede-editar) .solo-editar{display:none!important;}
.cf-cargando{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--cf-fondo);z-index:100;}
.cf-cargando img{border-radius:16px;animation:cf-latido 1.4s ease-in-out infinite;}
@keyframes cf-latido{0%,100%{opacity:.55;transform:scale(.96);}50%{opacity:1;transform:scale(1);}}
.cf-cargando[hidden]{display:none!important;}
.cf-aviso-version{position:fixed;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translateX(-50%);z-index:95;
	background:var(--cf-panel-2);border:1px solid var(--cf-oro);color:var(--cf-texto);border-radius:10px;padding:10px 14px;
	display:flex;gap:12px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:14px;}
