:root{
  --fondo:#070d14;
  --panel:#0e1a26;
  --panel2:#132433;
  --linea:#1d3346;
  --texto:#e9eff6;
  --apagado:#8ba3ba;

  --marca:#068ec7;
  --marca-clara:#31b6e8;
  --marca-oscura:#04597e;
  --marca-suave:rgba(6,142,199,.16);
  --degradado:linear-gradient(135deg,#0bb8d4,#068ec7 55%,#0a6ea8);

  /* compatibilidad con nombres anteriores */
  --ambar:#31b6e8;
  --ambar-suave:rgba(6,142,199,.16);

  --recepcion:#31b6e8;
  --proceso:#f0a93c;
  --declaracion:#ef6f68;
  --cierre:#3fc79b;
  --reporte:#9b8ce0;

  --radio:12px;
  --col:30px;
  --tareas:290px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--fondo);
  color:var(--texto);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:Archivo,Inter,sans-serif;margin:0;letter-spacing:-.01em}
a{color:var(--ambar);text-decoration:none}
a:hover{text-decoration:underline}
input,select,textarea,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ambar);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}

/* ---------- portal del cliente ---------- */
.portal{
  min-height:100vh;display:grid;place-items:center;padding:24px;
  background:radial-gradient(1100px 600px at 50% -10%,rgba(6,142,199,.22),transparent 60%);
}
.portal__caja{
  width:min(420px,100%);text-align:center;
  background:linear-gradient(180deg,#102131,#0c1a26);
  border:1px solid var(--linea);border-radius:20px;padding:36px 32px;
  box-shadow:0 30px 70px rgba(0,0,0,.55);
}
.portal__eti{
  margin:0 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--marca-clara);
}
.portal__caja h1{font-size:21px;line-height:1.3;margin-bottom:22px}
.portal__caja label{display:block;text-align:left;font-size:12.5px;color:var(--apagado)}
.portal__caja select{
  width:100%;background:#0b1520;border:1px solid var(--linea);border-radius:9px;
  padding:11px 12px;margin:4px 0 14px;font-size:14px;
}
.portal__caja select:focus{border-color:var(--marca)}
.portal__caja .btn{
  width:100%;margin-top:6px;background:var(--degradado);color:#fff;border:0;
  border-radius:10px;padding:12px;font-weight:600;cursor:pointer;
}
.portal__caja .btn:hover{filter:brightness(1.1)}
.portal__pie{margin:22px 0 0;font-size:12px;color:var(--apagado);line-height:1.7}
.portal__caja p.panico{text-align:left;margin-top:12px}

/* ---------- controles ---------- */
input,select,textarea{
  width:100%;background:#0e141b;border:1px solid var(--linea);
  border-radius:8px;padding:9px 11px;margin:4px 0 12px;
}
input::placeholder,textarea::placeholder{color:#5d6b7c}
.btn{
  border:1px solid transparent;border-radius:8px;padding:9px 16px;
  cursor:pointer;font-weight:500;transition:background .15s,border-color .15s;
}
.btn--principal{background:var(--degradado);color:#fff;border-color:transparent}
.btn--principal:hover{filter:brightness(1.1)}
.btn--fantasma{background:transparent;border-color:var(--linea);color:var(--texto)}
.btn--fantasma:hover{border-color:var(--ambar);color:var(--ambar)}
.aviso{
  background:rgba(229,112,95,.12);border:1px solid rgba(229,112,95,.4);
  color:#ffb3a7;border-radius:8px;padding:9px 12px;margin:4px 0 0;font-size:13px;
}

/* ---------- logo ---------- */
.marca__logo{
  width:38px;height:38px;border-radius:10px;object-fit:contain;
  background:#fff;padding:3px;flex:none;
}
.marca__logo--grande{width:74px;height:74px;border-radius:16px;padding:6px;margin-bottom:20px}

/* ---------- estructura ---------- */
.barra{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:11px 22px;border-bottom:1px solid var(--linea);
  background:linear-gradient(180deg,#0d1c29,#0a1521);
  box-shadow:0 1px 0 rgba(255,255,255,.03),0 10px 30px rgba(0,0,0,.35);
}
.barra__marca{display:flex;align-items:center;gap:12px}
.barra__marca b{display:block;font-family:Archivo;font-size:15px;letter-spacing:-.01em}
.barra__marca span{display:block;font-size:11.5px;color:var(--apagado)}
.cargando{color:var(--apagado);font-size:13px;padding:16px 12px}
.sin{margin:0;color:var(--apagado)}
.sub{font-size:14px;margin:22px 0 12px}
.panico{
  background:#2a1512;border:1px solid #7a3b31;color:#ffb3a7;
  padding:14px 16px;margin:12px;border-radius:10px;font-size:13px;line-height:1.6;
}
.cuerpo{display:flex;align-items:flex-start;min-height:calc(100vh - 59px)}

/* ---------- cartera ---------- */
.cartera{
  width:330px;flex:0 0 330px;border-right:1px solid var(--linea);
  position:sticky;top:57px;height:calc(100vh - 57px);display:flex;flex-direction:column;
}
.cartera__filtros{padding:16px 16px 4px}
.cartera__filtros input{margin-bottom:10px}
.segmentos{display:flex;gap:4px;background:#0e141b;border:1px solid var(--linea);border-radius:9px;padding:3px}
.segmentos button{
  flex:1;background:transparent;border:0;border-radius:6px;padding:6px;
  font-size:12.5px;color:var(--apagado);cursor:pointer;
}
.segmentos button.activo{background:var(--ambar-suave);color:var(--ambar);font-weight:500}
.cartera__lista{overflow-y:auto;padding:8px 10px 24px;flex:1}
.cliente{
  width:100%;text-align:left;background:transparent;border:1px solid transparent;
  border-radius:var(--radio);padding:10px 12px;cursor:pointer;display:block;margin-bottom:2px;
}
.cliente:hover{background:var(--panel)}
.cliente.sel{background:linear-gradient(90deg,var(--marca-suave),transparent);border-color:var(--marca)}
.cliente__nombre{font-weight:500;font-size:13.5px;line-height:1.35}
.cliente__meta{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:11.5px;color:var(--apagado)}
.punto{width:7px;height:7px;border-radius:50%;background:#4a5766;flex:none}
.punto--on{background:var(--cierre)}
.dato dd{letter-spacing:-.01em}
.punto--off{background:var(--declaracion)}
.cliente__serv{display:block;margin-top:3px;font-size:11.5px;color:#6f8096}
.conteo{font-size:12px;color:var(--apagado);font-variant-numeric:tabular-nums}
.version{
  font-size:10px;color:#5d7085;border:1px solid var(--linea);border-radius:6px;
  padding:2px 7px;margin-left:12px;
}
.grupo-vacio{color:var(--apagado);font-size:13px;padding:14px 12px}

/* ---------- ficha ---------- */
.ficha{flex:1;min-width:0;padding:24px 26px 60px;overflow-y:auto;max-height:calc(100vh - 57px)}
.vacio{color:var(--apagado);padding:80px 10px;max-width:420px}
.vacio h2{color:var(--texto);font-size:19px;margin-bottom:6px}

.encabezado{border-bottom:1px solid var(--linea);padding-bottom:18px;margin-bottom:26px}
.encabezado h2{font-size:26px;line-height:1.2}
.encabezado__ruc{color:var(--apagado);margin-top:4px;font-size:13px}
.estado{
  display:inline-flex;align-items:center;gap:7px;border-radius:999px;
  padding:5px 12px;font-size:12.5px;border:1px solid var(--linea);background:var(--panel);
}

.seccion{margin-bottom:34px}
.seccion__titulo{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
  font-size:12.5px;color:var(--apagado);font-weight:500;
}
.seccion__titulo::after{content:"";flex:1;height:1px;background:var(--linea)}
.tarjeta{background:var(--panel);border:1px solid var(--linea);border-radius:14px;padding:18px 20px}

.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 26px}
.dato dt{font-size:12px;color:var(--apagado);margin-bottom:3px}
.dato dd{margin:0;font-size:14.5px;font-weight:500}

/* contactos */
.contactos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:18px}
.contacto{border:1px solid var(--linea);border-radius:10px;padding:12px 14px;background:var(--panel2)}
.contacto b{display:block;font-weight:600}
.contacto span{display:block;color:var(--apagado);font-size:12.5px}

/* servicios */
.servicio{border:1px solid var(--linea);border-radius:14px;overflow:hidden;margin-bottom:14px}
.servicio__cab{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:14px 18px;background:var(--panel2);border-bottom:1px solid var(--linea);
}
.servicio__cab h4{font-size:16px}
.servicio__tarifa{font-family:Archivo;font-size:18px;color:var(--ambar)}
.servicio__tarifa small{font-size:11px;color:var(--apagado);display:block;text-align:right;font-family:Inter}
.servicio__detalle{padding:6px 18px 14px;background:var(--panel)}
.linea-detalle{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--linea)}
.linea-detalle:last-child{border-bottom:0}
.linea-detalle span:first-child{color:var(--apagado)}
.linea-detalle span:last-child{font-weight:500;text-align:right}

/* equipo */
.equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.persona{
  background:var(--panel);border:1px solid var(--linea);border-radius:14px;
  padding:16px;display:flex;gap:13px;align-items:center;
}
.persona__foto{
  width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--ambar-suave);background:var(--panel2);
}
.persona__inicial{
  width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--panel2);border:2px solid var(--ambar-suave);
  font-family:Archivo;font-size:18px;color:var(--ambar);
}
.persona b{display:block;font-size:14px;line-height:1.3}
.persona em{font-style:normal;color:var(--ambar);font-size:12px}
.persona span{display:block;color:var(--apagado);font-size:12px;margin-top:3px}

/* canales */
.canales{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.canal{background:var(--panel);border:1px solid var(--linea);border-radius:14px;padding:16px 18px}
.canal--destacado{border-color:rgba(233,169,61,.5);background:linear-gradient(180deg,rgba(233,169,61,.08),var(--panel))}
.canal h4{font-size:15px;margin-bottom:4px}
.canal p{margin:0 0 10px;color:var(--apagado);font-size:12.5px}
.canal ul{margin:0;padding:0;list-style:none}
.canal li{padding:3px 0;font-size:13.5px}
.canal li b{color:var(--apagado);font-weight:400;margin-right:6px;font-size:12.5px}

/* pendiente */
.pendiente{
  border:1px dashed var(--linea);border-radius:14px;padding:22px;
  background:repeating-linear-gradient(135deg,transparent,transparent 12px,rgba(255,255,255,.012) 12px,rgba(255,255,255,.012) 24px);
}
.pendiente p{color:var(--apagado);margin:6px 0 0;max-width:60ch}

/* ---------- LÍNEA DE TIEMPO DEL CICLO ---------- */
.g-caja{
  background:
    radial-gradient(900px 300px at 15% -20%,rgba(6,142,199,.16),transparent 65%),
    linear-gradient(180deg,#132131,#0d1722);
  border:1px solid var(--linea);border-radius:18px;overflow:hidden;width:100%;
  box-shadow:0 26px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
}
.g-cab{
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  padding:18px 20px;border-bottom:1px solid var(--linea);
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);
}
.g-cab h4{font-size:17px}
.g-cab p{margin:4px 0 0;color:var(--apagado);font-size:12.5px}

.g-leyenda{display:flex;flex-wrap:wrap;gap:7px}
.g-fase{
  display:flex;align-items:center;gap:7px;cursor:pointer;
  background:#0e141b;border:1px solid var(--linea);border-radius:999px;
  padding:5px 12px;font-size:11.5px;color:var(--texto);transition:opacity .15s,border-color .15s;
}
.g-fase:hover{border-color:var(--ambar)}
.g-fase i{width:11px;height:11px;border-radius:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.g-fase--off{opacity:.35}
.g-fase--ctrl{background:var(--ambar-suave);border-color:rgba(233,169,61,.4);color:var(--ambar);font-weight:500}
.g-fase--ctrl:hover{background:rgba(233,169,61,.22)}

.g-scroll{overflow-x:auto}
.g-caja{width:100%}
.g-rejilla{min-width:100%;position:relative}
.g-fila{display:grid;grid-template-columns:var(--tareas) repeat(37,minmax(var(--col),1fr))}

.g-meses,.g-dias{background:#101821;position:relative;z-index:2}
.g-mes{
  border-bottom:1px solid var(--linea);border-left:1px solid var(--linea);
  padding:9px 14px;font-size:11.5px;color:var(--apagado);font-family:Archivo;font-weight:500;
}
.g-mes--act{color:var(--ambar)}
.g-mes--titulo{
  grid-column:1;border-left:0;position:sticky;left:0;z-index:5;background:#101821;color:var(--texto);
}
.g-dia{
  border-bottom:1px solid var(--linea);border-left:1px solid rgba(38,49,63,.5);
  text-align:center;font-size:11px;color:var(--apagado);padding:7px 0;
  font-variant-numeric:tabular-nums;
}
.g-dia--ant{color:#54626f}
.g-dia--nulo{opacity:.3}
.g-dia--hoy{
  color:#1a1204;font-weight:700;
  background:linear-gradient(180deg,#f2c078,#dc9a33);
}

.g-capa{position:absolute;inset:0;pointer-events:none;z-index:1}
.g-franja{position:absolute;top:0;bottom:0;width:var(--col);background:rgba(255,255,255,.025)}
.g-hoy{
  position:absolute;top:0;bottom:0;width:var(--col);
  background:linear-gradient(180deg,rgba(233,169,61,.16),rgba(233,169,61,.04));
  border-left:1px solid rgba(233,169,61,.6);border-right:1px solid rgba(233,169,61,.2);
}

.g-tarea{
  grid-column:1;position:sticky;left:0;z-index:3;
  background:#141b24;border-right:1px solid var(--linea);
  border-bottom:1px solid rgba(38,49,63,.55);
  padding:9px 16px;font-size:12.5px;display:flex;align-items:center;gap:10px;min-height:48px;
}
.g-fila:hover .g-tarea{background:#1a232e}
.g-fila--sel .g-tarea{background:#1d2733;color:var(--ambar)}
.g-tarea span{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;line-height:1.35;
}
.g-punto{
  width:10px;height:10px;border-radius:3px;flex:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 5px rgba(0,0,0,.5);
}

.g-pista{
  grid-column:2 / -1;grid-row:1;min-height:48px;
  border-bottom:1px solid rgba(38,49,63,.45);
  background:repeating-linear-gradient(to right,rgba(38,49,63,.55) 0 1px,transparent 1px var(--col));
}

.g-grupo{
  grid-column:1 / -1;position:sticky;left:0;width:100%;text-align:left;cursor:pointer;
  display:flex;align-items:center;gap:9px;
  padding:12px 16px;border:0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  background:linear-gradient(180deg,#1d2a38,#141d28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 10px rgba(0,0,0,.28);
  font-family:Archivo;font-size:13px;font-weight:600;color:var(--texto);
}
.g-grupo:hover{color:var(--ambar)}
.g-grupo span{color:var(--apagado);font-family:Inter;font-weight:400;font-size:11.5px}
.g-flecha{width:15px;height:15px;transform:rotate(90deg);transition:transform .18s}
.g-grupo--cerrado .g-flecha{transform:rotate(0deg)}

.g-barra{
  grid-row:1;align-self:center;margin:0 3px;height:30px;border:0;cursor:pointer;
  border-radius:9px;display:flex;align-items:center;padding:0 10px;
  font-size:11px;font-weight:700;color:#0b141c;white-space:nowrap;overflow:hidden;
  position:relative;z-index:2;isolation:isolate;
  background:linear-gradient(170deg,var(--c1),var(--c2) 78%);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.55),
    inset 0 -2px 3px rgba(0,0,0,.28),
    0 4px 10px rgba(0,0,0,.5),
    0 1px 2px rgba(0,0,0,.6);
  transition:transform .16s cubic-bezier(.2,.8,.3,1),box-shadow .16s,filter .16s;
}
.g-barra::after{
  content:'';position:absolute;inset:1px 1px 55% 1px;border-radius:8px 8px 12px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0));
  pointer-events:none;
}
.g-barra:hover{transform:translateY(-3px) scale(1.01);filter:brightness(1.1);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.6),0 10px 22px rgba(0,0,0,.6)}
.g-barra span{overflow:hidden;text-overflow:ellipsis;opacity:.85}
.g-barra--hito{padding:0;border-radius:7px}
.g-barra--sel{
  outline:2px solid var(--ambar);outline-offset:2px;transform:translateY(-2px);
}

.g-detalle{
  border-top:1px solid var(--linea);padding:18px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);
}
.g-detalle--vacio{color:var(--apagado);font-size:12.5px}
.g-detalle__cab{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.g-tag{
  font-size:11px;border-radius:999px;padding:4px 11px;
  background:#0e141b;border:1px solid var(--linea);color:var(--apagado);
}
.g-tag--fase{
  background:linear-gradient(160deg,var(--c1),var(--c2));color:#10161d;
  border-color:transparent;font-weight:600;
}
.g-detalle h5{font-family:Archivo;font-size:16px;margin:0 0 14px}
.g-detalle__datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.g-detalle__datos dt{font-size:11.5px;color:var(--apagado);margin-bottom:3px}
.g-detalle__datos dd{margin:0;font-size:13.5px;font-weight:500}

/* ---------- pestañas e iconos ---------- */
.ico{width:17px;height:17px;flex:none}
.ico--sub{width:16px;height:16px;color:var(--ambar)}

.pestanas{
  display:flex;gap:4px;margin:0 0 24px;border-bottom:1px solid var(--linea);
  overflow-x:auto;scrollbar-width:none;
}
.pestanas::-webkit-scrollbar{display:none}
.pestanas button{
  display:flex;align-items:center;gap:8px;white-space:nowrap;
  background:transparent;border:0;border-bottom:2px solid transparent;
  color:var(--apagado);padding:11px 14px;cursor:pointer;font-size:13.5px;
  font-family:Archivo;font-weight:500;transition:color .15s,border-color .15s;
}
.pestanas button:hover{color:var(--texto)}
.pestanas button.activa{color:var(--marca-clara);border-bottom-color:var(--marca-clara)}
.pestanas button.activa .ico{color:var(--ambar)}

.pestanas--sec{
  border-bottom:0;gap:6px;margin-bottom:20px;
  background:#0e141b;border:1px solid var(--linea);border-radius:11px;padding:4px;
}
.pestanas--sec button{border-bottom:0;border-radius:8px;padding:8px 14px}
.pestanas--sec button.activa{background:var(--marca-suave);color:var(--marca-clara)}

.panel{animation:aparece .18s ease-out}
@keyframes aparece{from{opacity:0}to{opacity:1}}

.etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{
  border:1px solid var(--linea);background:var(--panel);border-radius:999px;
  padding:5px 12px;font-size:12.5px;color:var(--apagado);
}
.sub{display:flex;align-items:center;gap:9px;font-size:14.5px;margin:30px 0 13px;font-family:Archivo}
.sub:first-child{margin-top:0}

.ico--mini{width:14px;height:14px}
.sub-fila{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sub-fila .sub{margin-bottom:13px}

.btn-mini{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  background:transparent;border:1px solid var(--linea);border-radius:8px;
  padding:7px 13px;font-size:12.5px;color:var(--apagado);transition:.15s;
}
.btn-mini:hover{border-color:var(--ambar);color:var(--ambar)}
.btn-mini--ok{background:var(--degradado);border-color:transparent;color:#fff;font-weight:500}
.btn-mini--ok:hover{filter:brightness(1.12);color:#fff}

.alta{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:13px 15px;
}
.alta input,.alta select{margin:0;flex:1;min-width:170px}

.filtros{
  display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:16px;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:10px 14px;
}
.filtros__eti{font-size:12px;color:var(--apagado);text-transform:uppercase;letter-spacing:.05em}
.filtros__nota{margin-left:auto;font-size:11.5px;color:#5d6b7c}
select.mini,input.mini{
  margin:0;width:auto;min-width:0;padding:7px 30px 7px 11px;font-size:13px;
  background:#0e141b url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238fa0b3' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 11px center;
  -webkit-appearance:none;appearance:none;
}

/* tiras de datos compactas */
.tiras{
  display:flex;flex-wrap:wrap;gap:0;margin-bottom:18px;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;overflow:hidden;
}
.tira{padding:11px 18px;border-right:1px solid var(--linea);flex:1;min-width:150px}
.tira:last-child{border-right:0}
.tira dt{font-size:11px;color:var(--apagado);margin-bottom:2px}
.tira dd{margin:0;font-size:14px;font-weight:500}

/* acciones sobre los archivos */
.acciones{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.acciones__n{font-size:12px;color:var(--apagado);margin-right:auto}
.check{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--apagado);cursor:pointer}
.check input{width:auto;margin:0;accent-color:#e9a93d}
.sub-caja{margin-top:4px}

.correos{display:grid;gap:8px}
.correo{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--linea);border-radius:11px;padding:10px 14px;
}
.correo--interno{opacity:.72}
.correo__nombre{
  margin:0;width:220px;flex:none;background:transparent;border:1px solid transparent;
  font-size:13.5px;font-weight:500;padding:6px 9px;
}
.correo__nombre:hover{border-color:var(--linea)}
.correo__nombre:focus{background:#0e141b;border-color:var(--ambar)}
.correo__mail{flex:1;min-width:180px;font-size:13px;color:var(--apagado)}
.correo__mail:hover{color:var(--ambar)}
.correo__tag{font-size:11px;color:var(--apagado);border:1px solid var(--linea);border-radius:999px;padding:3px 9px}

.persona{align-items:flex-start}
.persona__avatar{position:relative;flex:none}
.persona__subir{
  position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:var(--ambar);color:#1a1204;border:2px solid var(--panel);
}
.persona__subir:hover{background:#f2b955}
.persona__datos{min-width:0}
.quitar{
  margin-top:7px;background:transparent;border:0;padding:0;cursor:pointer;
  color:var(--declaracion);font-size:11.5px;text-decoration:underline;
}

.flotante{
  position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:80;
  background:#1b2430;border:1px solid var(--linea);border-radius:10px;
  padding:11px 18px;font-size:13px;box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.flotante--ok{border-color:rgba(95,199,155,.5);color:#9fe3c6}


/* ---------- carpetas, archivos y visor ---------- */
.pestanas--ter{
  background:transparent;border:0;border-bottom:1px solid var(--linea);
  border-radius:0;padding:0;margin-bottom:18px;
}
.pestanas--ter button{border-radius:0;border-bottom:2px solid transparent;padding:9px 13px}
.pestanas--ter button.activa{background:transparent;border-bottom-color:var(--ambar)}

.alta__eti{font-size:13px;color:var(--ambar);font-weight:500}
.resultado{margin-top:6px}

.carpetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px}
.carpeta{
  text-align:left;cursor:pointer;display:block;
  background:linear-gradient(180deg,#18202a,#141a22);
  border:1px solid var(--linea);border-radius:14px;padding:16px;
  transition:border-color .15s,transform .15s;
}
.carpeta:hover{border-color:var(--ambar);transform:translateY(-2px)}
.carpeta.sel{border-color:var(--ambar);box-shadow:0 0 0 1px var(--ambar) inset}
.carpeta b{display:block;font-size:14px;margin-top:10px}
.carpeta span{display:block;color:var(--apagado);font-size:12px;margin-top:3px;line-height:1.45}
.ico--carpeta{width:24px;height:24px;color:var(--ambar)}

.ruta-drive{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  color:var(--apagado);font-size:12.5px;margin:4px 0 12px;
}
.ruta-drive__n{margin-left:auto;color:var(--ambar)}

.archivos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.archivo{
  display:flex;align-items:center;gap:4px;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:10px 12px;
  transition:border-color .15s,transform .15s,background .15s;
}
.archivo--sel{border-color:var(--ambar);background:rgba(233,169,61,.07)}
.archivo__chk{display:flex;align-items:center;padding:0 6px 0 2px;cursor:pointer}
.archivo__chk input{width:auto;margin:0;accent-color:#e9a93d}
.archivo:hover{border-color:var(--marca);transform:translateY(-1px);text-decoration:none}
a.archivo{cursor:pointer}
a.archivo .archivo__ico{background:rgba(6,142,199,.14);color:var(--marca-clara)}
.archivo__abrir{
  flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;
  background:transparent;border:0;cursor:pointer;padding:2px 0;
}
.archivo__baja{
  flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  color:var(--apagado);border:1px solid transparent;background:transparent;cursor:pointer;
}
.archivo__baja:hover{color:var(--ambar);border-color:var(--linea)}
.archivo__ico{background:rgba(229,112,95,.13);color:#e5705f}
.bloque-libro__n{margin-left:auto;color:var(--apagado);font-size:12px}
.archivo__ico{
  width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:rgba(233,169,61,.12);color:var(--ambar);
}
.archivo__txt{min-width:0}
.archivo__txt b{display:block;font-size:13px;font-weight:500;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.archivo__txt span{color:var(--apagado);font-size:11.5px}

.bloque-libro{margin-bottom:18px}
.bloque-libro__cab{display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:13.5px}
.bloque-libro__cab a{margin-left:auto;font-size:12px}

.visor{position:fixed;inset:0;background:rgba(4,7,10,.82);z-index:90;display:grid;place-items:center;padding:14px}
.visor__caja{
  background:var(--panel);border:1px solid var(--linea);border-radius:14px;
  width:97vw;height:94vh;min-width:420px;min-height:280px;max-width:100vw;max-height:100vh;
  display:flex;flex-direction:column;overflow:hidden;
  resize:both;box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.visor__cab{cursor:grab;user-select:none}
.visor__cab.arrastrando{cursor:grabbing}
.visor__caja--config{height:auto;max-height:88vh;width:min(720px,100%)}
.visor__cab{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;border-bottom:1px solid var(--linea);
}
.visor__cab b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.visor__cab div{display:flex;gap:8px;flex:none}
.visor__cuerpo{flex:1;display:flex;min-height:0}
.visor__lista{
  width:250px;flex:none;border-right:1px solid var(--linea);overflow-y:auto;padding:10px;
}
.visor__ayuda{margin:2px 6px 10px;font-size:11px;color:#5d6b7c;line-height:1.5}
.visor__item{display:flex;align-items:center;gap:2px;border-radius:9px}
.visor__item:hover{background:var(--panel2)}
.visor__item.sel{background:var(--ambar-suave)}
.visor__item.sel button{color:var(--ambar)}
.visor__item button{
  flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;
  background:transparent;border:0;padding:9px 8px 9px 2px;color:var(--texto);font-size:12px;
}
.visor__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.visor__chk{display:flex;align-items:center;padding:0 6px;cursor:pointer}
.visor__chk input{width:auto;margin:0;accent-color:#e9a93d}

.visor__paneles{flex:1;display:flex;gap:1px;background:var(--linea);min-width:0}
.panel-pdf{flex:1;min-width:0;display:flex;flex-direction:column;background:#0c1116}
.panel-pdf__cab{
  padding:9px 14px;font-size:11.5px;color:var(--apagado);
  border-bottom:1px solid var(--linea);background:var(--panel);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.panel-pdf__hojas{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;
  align-items:center;gap:12px}
.hoja{border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.5);background:#fff;max-width:100%;height:auto}

.config{padding:18px;overflow-y:auto}
.config label{display:block;font-size:12px;color:var(--apagado);margin-top:12px}
.config input{font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace}
.config__nota{color:var(--apagado);font-size:12px;margin:4px 0 16px;line-height:1.6}
.equivalencias{display:grid;gap:8px;max-height:44vh;overflow-y:auto;margin-bottom:14px;padding-right:6px}
.eq-titulo{
  font-family:Archivo;font-size:11.5px;color:var(--apagado);text-transform:uppercase;
  letter-spacing:.06em;margin:14px 0 4px;
}
.eq-titulo:first-child{margin-top:0}
.eq-tag{display:block;font-size:11px;margin-top:3px}
.eq-tag--ok{color:var(--cierre)}
.eq-tag--man{color:var(--ambar)}
.eq-tag--no{color:var(--declaracion)}
.eq-tag--duda{color:var(--proceso,#f3bb5f)}

.ubis{display:grid;gap:8px;margin:10px 0 14px}
.ubi{display:grid;grid-template-columns:1.1fr .7fr 1.8fr auto;gap:8px;align-items:center}
.ubi input,.ubi select{margin:0;font-size:12.5px}
.ubiX{padding:7px 11px;color:var(--declaracion)}
.equivalencia--falta input{border-color:rgba(229,112,95,.5)}
.config__pie{display:flex;gap:10px;justify-content:flex-end}
.equivalencia{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;
  border-bottom:1px solid var(--linea);padding-bottom:8px;
}
.equivalencia b{display:block;font-size:13px;font-weight:500;line-height:1.3}
.equivalencia span{color:var(--apagado);font-size:11.5px}
.equivalencia input{margin:0;font-size:12.5px}

/* ---------- enlace del cliente ---------- */
.acceso-caja{
  background:linear-gradient(135deg,rgba(6,142,199,.14),rgba(6,142,199,.03));
  border:1px solid rgba(6,142,199,.35);border-radius:16px;padding:20px;
}
.acceso-fila{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.acceso-fila:last-child{margin-bottom:0}
.acceso-fila label{font-size:11.5px;color:var(--apagado);width:100%;margin-bottom:-4px}
.acceso-fila input{margin:0;flex:1;min-width:200px;font-size:12.5px}
.acceso-fila input.enlace{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--marca-clara)}
.acceso-fila input.clave{
  max-width:180px;flex:none;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:16px;letter-spacing:.12em;text-align:center;
}
.interruptor{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  border:1px solid var(--linea);border-radius:999px;padding:7px 15px;background:var(--panel);
  font-size:12.5px;
}
.interruptor input{width:auto;margin:0;accent-color:#3fc79b}
.interruptor.on{border-color:rgba(63,199,155,.6);color:#7fe0bd;background:rgba(63,199,155,.1)}
.interruptor.off{border-color:rgba(239,111,104,.5);color:#ffada7;background:rgba(239,111,104,.08)}
.eq-usar{padding:5px 10px;font-size:11.5px;white-space:nowrap}
.equivalencia--sug{grid-template-columns:1fr 1fr auto}

.es-intranet .barra{
  background:linear-gradient(120deg,#0d2536,#0a1a27 55%,#0d1c29);
  border-bottom:1px solid rgba(6,142,199,.35);
  padding:16px 26px;
}
.es-intranet .marca__logo{width:46px;height:46px;border-radius:12px}
.es-intranet .barra__marca b{font-size:17px}
.es-intranet .barra__marca span{color:var(--marca-clara);letter-spacing:.08em;
  text-transform:uppercase;font-size:10.5px;font-weight:500}
.es-intranet .ficha{max-width:1240px;margin:0 auto;padding:26px 30px 70px}
.es-intranet .encabezado h2{font-size:29px}

.portal__caja h1{letter-spacing:-.02em}
.portal__eti{font-weight:600}

/* En la intranet el contenido aprovecha todo el ancho. */
.es-intranet .ficha{max-width:none;padding:26px 34px 70px}

/* El plan de trabajo se estira hasta los bordes, comiéndose el margen
   lateral de la ficha. Sin desplazamientos: solo margen negativo. */
.es-intranet #contenedorGantt{margin:0 -34px}
.es-intranet #contenedorGantt .g-caja{border-radius:0;border-left:0;border-right:0}
.es-intranet #contenedorGantt .g-cab{padding-left:34px;padding-right:34px}
.es-intranet #contenedorGantt .g-detalle{padding-left:34px;padding-right:34px}
.es-intranet #contenedorGantt .g-tarea{padding-left:34px}
.es-intranet #contenedorGantt .g-mes--titulo{padding-left:34px}
.es-intranet{--tareas:320px}

@media (max-width:900px){
  .es-intranet .ficha{padding:18px 14px 50px}
  .es-intranet #contenedorGantt{margin:0 -14px}
  .es-intranet #contenedorGantt .g-cab,
  .es-intranet #contenedorGantt .g-detalle,
  .es-intranet #contenedorGantt .g-tarea,
  .es-intranet #contenedorGantt .g-mes--titulo{padding-left:14px}
}

/* ---------- comprobantes ---------- */
.envio{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:26px}
.envio__archivo{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.envio__btn{justify-content:center;width:100%;padding:13px}
.envio__campos label{display:block;font-size:12px;color:var(--apagado);margin-bottom:4px}
.envio__campos input,.envio__campos textarea{margin:0 0 14px}
.envio__fila{display:flex;gap:9px;margin-bottom:14px}
.envio__fila select{flex:1}

.comprobantes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.comp{background:var(--panel);border:1px solid var(--linea);border-radius:14px;padding:15px 17px}
.comp__cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.comp__estado{font-size:11px;border-radius:999px;padding:3px 10px;border:1px solid var(--linea)}
.comp__estado--ok{color:#7fe0bd;border-color:rgba(63,199,155,.5);background:rgba(63,199,155,.1)}
.comp__estado--no{color:#ffada7;border-color:rgba(239,111,104,.5);background:rgba(239,111,104,.08)}
.comp__estado--esp{color:var(--marca-clara);border-color:rgba(6,142,199,.5);background:var(--marca-suave)}
.comp__datos{display:flex;gap:14px;flex-wrap:wrap;color:var(--apagado);font-size:12px}
.comp__txt{margin:9px 0 0;font-size:13px;line-height:1.5}
.comp__nota{margin:7px 0 0;font-size:12.5px;color:var(--marca-clara)}
.comp__pie{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}
.comp__del{color:var(--declaracion);border-color:rgba(239,111,104,.35)}
.comp__del:hover{border-color:var(--declaracion);color:#ffada7}

@media (max-width:760px){
  .envio{grid-template-columns:1fr;gap:18px}
}

/* fotos del equipo más grandes y vistosas */
.persona{padding:18px}
.persona__foto,.persona__inicial{width:74px;height:74px;border-width:3px}
.persona__inicial{font-size:24px}
.persona b{font-size:15px}
.es-intranet .persona{padding:20px;gap:16px}
.es-intranet .persona__foto,.es-intranet .persona__inicial{
  width:92px;height:92px;border:3px solid rgba(6,142,199,.35);
  box-shadow:0 10px 26px rgba(0,0,0,.45);
}
.es-intranet .persona__inicial{font-size:30px}
.es-intranet .persona b{font-size:16.5px}
.es-intranet .equipo{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

/* avisos amables cuando todavía no hay documentos */
.aviso-suave{
  display:flex;gap:16px;align-items:center;
  background:linear-gradient(135deg,rgba(6,142,199,.12),rgba(6,142,199,.03));
  border:1px solid rgba(6,142,199,.3);border-radius:14px;padding:20px 22px;
}
.aviso-suave .ico{width:30px;height:30px;color:var(--marca-clara);flex:none}
.aviso-suave b{display:block;font-weight:500;font-size:14px;line-height:1.55}
.aviso-suave span{display:block;margin-top:6px;font-size:11.5px;color:var(--apagado)}

.franja-intranet{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 22px;border-bottom:1px solid var(--linea);
  background:linear-gradient(90deg,rgba(6,142,199,.14),transparent 70%);
}
.franja-intranet span{font-size:12px;color:var(--apagado)}
.franja-intranet input{
  margin:0;flex:1;min-width:260px;max-width:620px;font-size:12px;
  font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--marca-clara);
  background:#0b1520;padding:7px 11px;
}

/* =====================================================================
   INTRANET DEL CLIENTE · tema oscuro
   ===================================================================== */
body.claro{background:var(--fondo);color:var(--texto)}
body.claro .barra{
  background:linear-gradient(120deg,#0d2536,#0a1a27 55%,#0d1c29);
  border-bottom:1px solid rgba(6,142,199,.35);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  padding:14px 30px;
}
body.claro .barra__marca b{color:var(--texto);font-size:16px}
body.claro .barra__marca span{color:var(--marca-clara);text-transform:uppercase;letter-spacing:.09em;font-size:10px}
body.claro .marca__logo{background:#fff;padding:3px;width:42px;height:42px}
body.claro .conteo,body.claro .version{display:none}
body.claro .ficha{max-width:1680px;margin:0 auto;padding:30px 40px 70px;max-height:none;overflow:visible}
body.claro .cuerpo{display:block}

.in__hola{font-family:Archivo;font-size:30px;color:#f2f7fb;margin:0 0 4px}
.in__sub{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.in__sub p{margin:0;color:var(--apagado);font-size:14px}
.in__sub span{color:#6f8496;font-size:13px}

.in__resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:40px}
.in__tarj{
  display:flex;gap:16px;align-items:flex-start;
  background:linear-gradient(180deg,#132433,#0f1c28);
  border:1px solid var(--linea);border-radius:14px;padding:20px;
  box-shadow:0 12px 28px rgba(0,0,0,.38);
}
.in__ico{width:26px;height:26px;color:var(--marca-clara);flex:none;
  background:var(--marca-suave);border-radius:10px;padding:8px;box-sizing:content-box}
.in__tarj span{display:block;color:var(--apagado);font-size:12px;line-height:1.5}
.in__tarj b{display:block;font-size:15px;color:#f2f7fb;line-height:1.45;font-weight:600}
.in__tarj b.ok{color:#3fc79b}
.in__lineas{display:grid;gap:9px;width:100%}
.in__lineas>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.in__lineas b{text-align:right;font-size:13.5px}

.in__titulo{font-family:Archivo;font-size:20px;color:#f2f7fb;margin:0 0 4px}
.in__pie{margin:0 0 20px;color:var(--apagado);font-size:13.5px}

.in__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;align-items:start}
.sec{background:linear-gradient(180deg,#132433,#101c27);border:1px solid var(--linea);
  border-radius:14px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.35);
  transition:box-shadow .16s,border-color .16s}
.sec:hover{border-color:rgba(6,142,199,.55);box-shadow:0 16px 34px rgba(0,0,0,.5)}
.sec--abierta{border-color:var(--marca)}
.sec__cab{
  width:100%;display:flex;flex-direction:column;gap:12px;align-items:flex-start;
  background:transparent;border:0;cursor:pointer;padding:22px 20px;text-align:left;
}
.sec__ico{width:44px;height:44px;border-radius:12px;background:var(--marca-suave);
  color:var(--marca-clara);display:grid;place-items:center}
.sec__ico .ico{width:22px;height:22px}
.sec__cab b{font-size:15px;color:#f2f7fb;font-weight:600}
.sec__items{display:none;border-top:1px solid var(--linea);padding:6px 0 10px}
.sec--abierta .sec__items{display:block}
.sec__item{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:transparent;border:0;cursor:pointer;padding:10px 20px;
  color:#cfe0ee;font-size:13.5px;text-align:left;
}
.sec__item svg{width:15px;height:15px;color:#5d7085;flex:none}
.sec__item:hover{background:var(--marca-suave);color:var(--marca-clara)}
.sec__item:hover svg{color:var(--marca-clara)}
.sec__item--no{color:#5d7085;cursor:default}
.sec__item--no:hover{background:transparent;color:#5d7085}

.in__detalle{margin-top:34px;background:linear-gradient(180deg,#0f1c28,#0b1620);
  border:1px solid var(--linea);border-radius:16px;padding:24px}
.in__detcab{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.in__detcab h3{font-family:Archivo;font-size:19px;color:#f2f7fb;text-transform:capitalize}

/* piezas heredadas, en oscuro */
body.claro .tarjeta,body.claro .contacto,body.claro .persona,body.claro .canal,
body.claro .servicio,body.claro .comp,body.claro .archivo,body.claro .carpeta{
  background:var(--panel);border-color:var(--linea);color:var(--texto);
}
body.claro .servicio__cab{background:var(--panel2);border-color:var(--linea)}
body.claro .servicio__detalle{background:var(--panel)}
body.claro .dato dt,body.claro .contacto span,body.claro .canal p,
body.claro .linea-detalle span:first-child,body.claro .filtros__eti{color:var(--apagado)}
body.claro .dato dd,body.claro .contacto b,body.claro .persona b{color:var(--texto)}
body.claro .canal--destacado{background:linear-gradient(180deg,rgba(6,142,199,.10),var(--panel));
  border-color:rgba(6,142,199,.45)}
body.claro .filtros,body.claro .envio{background:var(--panel);border-color:var(--linea)}
body.claro select,body.claro input,body.claro textarea{background:#0e141b;border-color:var(--linea);color:var(--texto)}
body.claro .btn-mini{border-color:var(--linea);color:var(--apagado)}
body.claro .btn-mini:hover{border-color:var(--marca-clara);color:var(--marca-clara)}
body.claro .aviso-suave{background:linear-gradient(135deg,rgba(6,142,199,.12),rgba(6,142,199,.03));
  border-color:rgba(6,142,199,.3);color:var(--texto)}
body.claro .aviso-suave b{color:#f2f7fb}
body.claro .sub,body.claro .seccion__titulo{color:var(--texto)}
body.claro .persona em{color:var(--marca-clara)}
body.claro .g-caja{background:
  radial-gradient(900px 300px at 15% -20%,rgba(6,142,199,.16),transparent 65%),
  linear-gradient(180deg,#132131,#0d1722)}

/* semáforo del vencimiento */
.in__tarj b.sem{
  display:flex;flex-direction:column;align-items:flex-end;gap:5px;line-height:1.35;
}
.in__tarj b.sem i{
  font-style:normal;font-size:11px;font-weight:600;letter-spacing:.02em;
  border-radius:999px;padding:3px 10px;white-space:nowrap;
}
.sem--verde{color:#63d7a8}
.sem--verde i{color:#63d7a8;background:rgba(63,199,155,.16)}
.sem--ambar{color:#f0b95f}
.sem--ambar i{color:#f0b95f;background:rgba(240,169,60,.16)}
.sem--rojo{color:#ff9187}
.sem--rojo i{color:#ff9187;background:rgba(239,111,104,.16)}
.in__tarj b.sem--gris,.in__lineas b.apagado{color:#6f8496;font-weight:500}
.in__lineas>div{gap:20px}

.pronto{
  font-style:normal;font-size:10.5px;color:var(--apagado);background:rgba(255,255,255,.06);
  border-radius:999px;padding:3px 9px;flex:none;
}

/* estado de cuenta */
.fact__resumen{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;
  background:linear-gradient(180deg,rgba(239,111,104,.10),rgba(239,111,104,.03));
  border:1px solid rgba(239,111,104,.32);border-radius:14px;padding:20px 24px;margin-bottom:8px;
}
.fact__resumen--ok{
  background:linear-gradient(180deg,rgba(63,199,155,.10),rgba(63,199,155,.03));
  border-color:rgba(63,199,155,.32);
}
.fact__resumen span{display:block;color:var(--apagado);font-size:12px;margin-bottom:4px}
.fact__resumen b{font-family:Archivo;font-size:22px;color:#f2f7fb}

.fact{display:grid;gap:8px}
.fact__fila{
  display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;
  background:var(--panel);border:1px solid var(--linea);border-radius:12px;padding:14px 18px;
}
.fact__doc b{display:block;font-size:14px;color:#f2f7fb}
.fact__doc span{display:block;color:var(--apagado);font-size:12px;margin-top:2px}
.fact__est{font-size:11.5px;border-radius:999px;padding:4px 11px;white-space:nowrap}
.fact__est--no{color:#ff9187;background:rgba(239,111,104,.16)}
.fact__est--ok{color:#63d7a8;background:rgba(63,199,155,.16)}
.fact__imp{font-size:15px;color:#f2f7fb;text-align:right;min-width:110px}

@media (max-width:640px){
  .fact__fila{grid-template-columns:1fr auto;row-gap:10px}
  .fact__imp{grid-column:1 / -1;text-align:left}
}

/* videos del centro de ayuda */
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.video__marco{
  position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;
  background:#0f1a24;border:1px solid var(--linea);
}
.video__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video b{display:block;margin-top:10px;font-size:14px;color:#f2f7fb}

@media (max-width:1400px){ .in__grid{grid-template-columns:repeat(4,1fr)} }
@media (max-width:1000px){ .in__grid{grid-template-columns:repeat(2,1fr)}
  .in__resumen{grid-template-columns:1fr} }

/* ---------- responsive ---------- */
@media (max-width:900px){
  .cuerpo{flex-direction:column}
  .cartera{width:100%;flex:none;height:auto;position:static;border-right:0;border-bottom:1px solid var(--linea)}
  .cartera__lista{max-height:220px}
  .ficha{padding:18px 14px 50px}
  :root{--tareas:190px;--col:34px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- carpetas desplegables (legajo del colaborador) ---------- */
.acord{border:1px solid var(--linea);border-radius:14px;overflow:hidden;margin-top:6px}
.acord__item+.acord__item{border-top:1px solid var(--linea)}
.acord__cab{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;
  background:var(--panel);border:0;padding:15px 18px;color:var(--texto);
}
.acord__cab:hover{background:var(--panel2)}
.acord__cab .ico{color:var(--marca-clara)}
.acord__cab b{font-family:Archivo;font-size:14.5px;font-weight:600;flex:1}
.acord__n{font-size:12.5px;color:var(--marca-clara);background:var(--marca-suave);border-radius:999px;padding:3px 11px}
.acord__flecha{width:16px;height:16px;color:var(--apagado);transition:transform .18s}
.acord__item--abierto .acord__flecha{transform:rotate(90deg)}
.acord__item--abierto .acord__cab{background:var(--panel2)}
.acord__item--vacio .acord__cab{cursor:default;opacity:.55}
.acord__item--vacio .acord__n{color:var(--apagado);background:transparent;padding:0}
.acord__item--vacio .acord__flecha{visibility:hidden}
.acord__cuerpo{padding:12px 18px 14px;background:#0b1520;margin:0}
.acord__cuerpo .ruta-drive{display:none}
.acord__cuerpo .acciones{margin-bottom:8px}
.acord__cuerpo .archivos{grid-template-columns:1fr;gap:0;border:1px solid var(--linea);border-radius:10px;overflow:hidden}
.acord__cuerpo .archivo{border:0;border-radius:0;border-bottom:1px solid var(--linea);padding:6px 10px;transform:none!important}
.acord__cuerpo .archivo:last-child{border-bottom:0}
.acord__cuerpo .archivo__ico{width:30px;height:30px;border-radius:8px}
.acord__cuerpo .archivo__txt{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0}
.acord__cuerpo .archivo__txt b{-webkit-line-clamp:1;flex:1}
.acord__cuerpo .archivo__txt span{flex:none}
