/* SISPPROTECH Proyectos · piezas del portal de clientes y de las pantallas del equipo.
   Se apoya en la hoja del portal del equipo (tokens, vidrio, botones, campos, cifras). */

.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.sub-t{font-stretch:var(--ancho);font-size:1rem;font-weight:600;color:var(--tinta);margin:0 0 12px;}
.vidrio-panel{padding:22px 24px;}
.campo--ancho{grid-column:1 / -1;}
.migas{margin:0 0 18px;}
.migas a{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;color:var(--tinta-2);}
.migas a:hover{color:#fff;}
.migas .ico{width:17px;height:17px;}

/* Chips de estado */
.chip--alerta{background:rgba(255,201,40,0.16);color:#FFD866;border-color:rgba(255,201,40,0.35);}
.chip--nuevo{background:rgba(1,209,253,0.14);color:#7FE6FF;border-color:rgba(1,209,253,0.35);}
.chip--ok{background:rgba(69,223,160,0.15);color:var(--verde);border-color:rgba(69,223,160,0.35);}
.chip--apagado{background:rgba(255,255,255,0.06);color:var(--tinta-3);}
.chip--t-abierto{background:rgba(255,201,40,0.16);color:#FFD866;}
.chip--t-en_proceso{background:rgba(135,59,251,0.25);color:#D8CBFF;}
.chip--t-resuelto{background:rgba(69,223,160,0.15);color:var(--verde);}
.chip--t-cerrado{background:rgba(255,255,255,0.06);color:var(--tinta-3);}
.chip--fase-pendiente{background:rgba(255,255,255,0.06);color:var(--tinta-3);}
.chip--fase-en_curso{background:rgba(1,209,253,0.14);color:#7FE6FF;}
.chip--fase-hecha{background:rgba(69,223,160,0.15);color:var(--verde);}

/* Barra de avance */
.avance{height:8px;border-radius:99px;background:rgba(255,255,255,0.08);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,0.4);}
.avance span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violeta),var(--azul-luz) 60%,var(--cian));box-shadow:0 0 12px rgba(1,209,253,0.5);transition:width .6s cubic-bezier(.2,.8,.2,1);}

/* ---------- Rastreador de etapas ---------- */
.rastreo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:paso;}
.rastreo-paso{position:relative;min-width:0;}
/* La línea que une los pasos */
.rastreo-paso::before{content:'';position:absolute;top:19px;left:calc(-50% + 22px);right:calc(50% + 22px);height:2px;background:rgba(255,255,255,0.14);}
.rastreo-paso:first-child::before{display:none;}
.rastreo-paso.is-hecha::before,.rastreo-paso.is-actual::before{background:linear-gradient(90deg,var(--violeta),var(--cian));}
.rastreo-btn{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:0 4px;background:none;border:none;font:inherit;color:inherit;text-align:center;}
button.rastreo-btn{cursor:pointer;border-radius:12px;padding:4px 4px 8px;}
button.rastreo-btn:hover .rastreo-punto{border-color:var(--cian);}
.rastreo-punto{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;color:var(--tinta-3);background:#0E0D2A;border:2px solid rgba(255,255,255,0.18);transition:border-color .2s;}
.rastreo-punto .ico{width:20px;height:20px;stroke-width:2.4;}
.is-hecha .rastreo-punto{background:linear-gradient(135deg,var(--violeta),var(--azul-luz));border-color:transparent;color:#fff;}
.is-actual .rastreo-punto{color:#fff;border-color:var(--cian);background:#121040;box-shadow:0 0 0 5px rgba(1,209,253,0.14),0 0 22px rgba(1,209,253,0.55);}
.rastreo-txt{display:flex;flex-direction:column;gap:1px;min-width:0;}
.rastreo-txt b{font-size:14px;font-weight:600;color:var(--tinta-2);overflow-wrap:anywhere;}
.is-actual .rastreo-txt b,.is-hecha .rastreo-txt b{color:var(--tinta);}
.rastreo-txt small{font-size:12px;color:var(--tinta-3);}
.is-actual .rastreo-txt small{color:#7FE6FF;}
/* Versión chica (tarjetas y listas) */
.rastreo--chico .rastreo-paso::before{top:6px;left:calc(-50% + 8px);right:calc(50% + 8px);}
.rastreo--chico .rastreo-punto{width:14px;height:14px;font-size:0;border-width:2px;}
.rastreo--chico .rastreo-punto .ico{display:none;}
.rastreo--chico .is-actual .rastreo-punto{box-shadow:0 0 0 3px rgba(1,209,253,0.18),0 0 12px rgba(1,209,253,0.6);}
.rastreo--chico .rastreo-btn{gap:6px;}
.rastreo--chico .rastreo-txt b{font-size:10.5px;font-weight:500;color:var(--tinta-3);overflow-wrap:normal;white-space:nowrap;letter-spacing:-0.01em;}
.rastreo--chico .is-actual .rastreo-txt b{color:#7FE6FF;font-weight:700;}
.pp-rastreo{padding:22px 18px 16px;margin-bottom:18px;}

/* ---------- Pestañas del proyecto ---------- */
.pp-pestanas{display:flex;gap:4px;overflow-x:auto;padding:4px;margin:0 0 16px;background:rgba(255,255,255,0.05);border:1px solid var(--vidrio-borde);border-radius:999px;scrollbar-width:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
.pp-pestanas::-webkit-scrollbar{display:none;}
.pp-pestanas button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14.5px;font-weight:600;color:var(--tinta-2);background:none;border:none;border-radius:999px;padding:9px 17px;cursor:pointer;white-space:nowrap;}
.pp-pestanas button:hover{color:#fff;background:rgba(255,255,255,0.06);}
.pp-pestanas button[aria-selected="true"]{background:var(--boton);color:#fff;box-shadow:0 8px 18px -10px rgba(135,59,251,0.95);}
.pp-pestanas .burbuja{min-width:19px;height:19px;font-size:11px;}

/* ---------- Panel ---------- */
.pp-panel{padding:26px 28px 28px;}
.pp-panel-cabeza{margin:0 0 20px;}
.pp-panel-cabeza h2{font-stretch:var(--ancho);font-weight:500;font-size:1.4rem;letter-spacing:-0.015em;}
.pp-panel-cabeza p{margin:6px 0 0;max-width:68ch;color:var(--tinta-2);}
.pp-espera{display:flex;align-items:center;gap:14px;padding:20px;border:1px dashed rgba(255,255,255,0.18);border-radius:14px;color:var(--tinta-2);}
.pp-espera .ico{width:28px;height:28px;color:#7FE6FF;}
.pp-espera p{margin:0;}
.pp-cabeza{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin:0 0 20px;}
.pp-meta{margin:8px 0 0;color:var(--tinta-2);font-size:14.5px;}
.pp-cabeza-avance{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;min-width:220px;}
.pp-avance-n{font-stretch:var(--ancho);font-size:2.4rem;line-height:1;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;background:linear-gradient(95deg,#C9B4FF,#7FE6FF);-webkit-background-clip:text;background-clip:text;color:transparent;}
.pp-avance-t{font-size:13.5px;color:var(--tinta-3);}
.pp-cabeza-avance .avance{grid-column:1 / -1;margin-top:8px;}

/* Documento (propuesta y entrega) */
.pp-doc{border:1px solid var(--grabado);border-radius:14px;background:rgba(5,6,22,0.35);padding:22px 24px;margin-bottom:18px;}
.pp-doc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;font-size:13.5px;color:var(--tinta-3);}
.pp-doc-texto{white-space:pre-line;color:var(--tinta);line-height:1.7;max-width:76ch;overflow-wrap:anywhere;}
.pp-doc-monto{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 0;padding-top:16px;border-top:1px solid var(--grabado);}
.pp-doc-monto span{font-stretch:var(--ancho-placa);font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--tinta-3);}
.pp-doc-monto strong{font-stretch:var(--ancho);font-size:1.35rem;color:var(--tinta);}
.pp-decision{border-top:1px solid var(--grabado);padding-top:18px;margin-top:6px;}
.pp-decision textarea{resize:vertical;}
.pp-entrega{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.pp-entrega-fecha{display:flex;align-items:center;gap:8px;margin:0;color:var(--verde);font-weight:600;}

/* WBS */
.pp-resumen-wbs{display:grid;grid-template-columns:repeat(2,auto) 1fr;align-items:center;gap:10px 28px;margin:0 0 20px;padding:14px 18px;border-radius:12px;background:rgba(5,6,22,0.35);border:1px solid var(--grabado);font-size:14px;color:var(--tinta-2);}
.pp-resumen-wbs strong{color:var(--tinta);font-variant-numeric:tabular-nums;}
.wbs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.wbs-fila{display:grid;grid-template-columns:26px 44px minmax(0,1fr);gap:12px;align-items:start;padding:14px 4px;border-top:1px solid var(--grabado);}
.wbs-fila:first-child{border-top:none;}
.wbs-fila--n1{padding-left:34px;}
.wbs-fila--n0 + .wbs-fila--n1{border-top-style:dashed;}
.wbs-fila--n1 + .wbs-fila--n1{border-top-style:dashed;}
.wbs-fila--n0 .wbs-linea strong{font-stretch:var(--ancho);font-size:1.05rem;}
.wbs-estado{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,0.22);display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
.wbs-estado .ico{width:14px;height:14px;stroke-width:3;}
.is-en_curso > .wbs-estado{border-color:var(--cian);background:conic-gradient(var(--cian) 0 50%,transparent 50%);box-shadow:0 0 10px rgba(1,209,253,0.5);}
.is-hecha > .wbs-estado{border-color:transparent;background:linear-gradient(135deg,#2FC98A,#45DFA0);color:#062417;}
.wbs-cod{font-variant-numeric:tabular-nums;font-weight:600;font-size:13.5px;color:var(--tinta-3);padding-top:2px;}
.wbs-cuerpo{min-width:0;display:flex;flex-direction:column;gap:6px;}
.wbs-linea{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.wbs-linea strong{color:var(--tinta);font-weight:600;}
.wbs-cuerpo p{margin:0;font-size:14px;color:var(--tinta-2);}
.wbs-fechas{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tinta-3);}
.wbs-fechas .ico{width:14px;height:14px;}
.wbs-cuerpo .avance{max-width:360px;height:6px;}
.is-hecha .wbs-linea strong{color:var(--tinta-2);}

/* Editor WBS (equipo) */
.wbs-ed-cabeza,.wbs-ed-fila{display:grid;grid-template-columns:44px minmax(160px,1fr) 128px 64px 150px 150px 152px;gap:8px;align-items:center;}
.wbs-ed-cabeza{font-stretch:var(--ancho-placa);font-size:10.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--tinta-3);padding:0 0 8px;border-bottom:1px solid var(--grabado-fuerte);}
.wbs-editor{display:flex;flex-direction:column;margin:0 0 18px;}
.wbs-ed-fila{padding:8px 0;border-bottom:1px solid var(--grabado);}
.wbs-ed-fila--n1 .wbs-ed-titulo{margin-left:22px;width:calc(100% - 22px);}
.wbs-ed-fila--n0 .wbs-ed-titulo{font-weight:600;}
.wbs-ed-fila input,.wbs-ed-fila select{font:inherit;font-size:14px;color:var(--tinta);background:var(--campo);border:1px solid var(--grabado-fuerte);border-radius:8px;padding:8px 9px;min-width:0;width:100%;}
.wbs-ed-fila input:focus,.wbs-ed-fila select:focus{border-color:var(--azul);outline:none;box-shadow:0 0 0 3px rgba(135,59,251,0.3);}
.wbs-ed-botones{display:flex;gap:4px;justify-content:flex-end;}
.wbs-ed-botones .btn{padding:6px 10px;min-width:32px;}

/* Revisiones */
.revisiones{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.revision{position:relative;padding:18px 20px;border-radius:14px;background:rgba(5,6,22,0.35);border:1px solid var(--grabado);display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.revision.is-abierta{border-color:rgba(255,201,40,0.35);}
.revision-cabeza{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;}
.revision-n{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-stretch:var(--ancho);font-weight:700;color:#fff;background:linear-gradient(135deg,var(--violeta),var(--azul-luz));}
.revision-cabeza h3{font-size:1.05rem;}
.revision-cabeza small{color:var(--tinta-3);font-size:12.5px;}
.revision-desc{margin:0;white-space:pre-line;color:var(--tinta-2);}
.revision-coment{margin:0;padding:10px 14px;border-left:3px solid var(--cian);background:rgba(1,209,253,0.06);border-radius:0 10px 10px 0;white-space:pre-line;color:var(--tinta);}
.revision .pp-decision{width:100%;}
.revision .btn--chico{max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.revision-borrar{align-self:flex-end;}

/* Soporte en el proyecto */
.pp-soporte{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 22px;border-radius:14px;margin-bottom:24px;background:linear-gradient(120deg,rgba(135,59,251,0.18),rgba(53,96,251,0.1));border:1px solid rgba(196,176,255,0.25);}
.pp-soporte-estado{display:flex;flex-direction:column;gap:4px;max-width:56ch;}
.pp-soporte-estado strong{font-stretch:var(--ancho);font-size:1.15rem;color:var(--tinta);}
.pp-soporte-estado p{margin:2px 0 0;color:var(--tinta-2);font-size:14.5px;}
.pp-soporte-estado.is-vigente strong{color:var(--verde);}

/* Hilo de mensajes */
.hilo{list-style:none;margin:0 0 16px;padding:4px 2px;display:flex;flex-direction:column;gap:12px;max-height:min(62vh,640px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.2) transparent;}
.hilo-vacio{color:var(--tinta-3);text-align:center;padding:30px 10px;}
.hilo-msj{display:flex;}
.hilo-msj.is-mio{justify-content:flex-end;}
.hilo-globo{max-width:min(78%,620px);padding:11px 14px 8px;border-radius:16px 16px 16px 4px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.11);display:flex;flex-direction:column;gap:5px;}
.is-mio .hilo-globo{border-radius:16px 16px 4px 16px;background:linear-gradient(120deg,rgba(135,59,251,0.85),rgba(53,96,251,0.8));border-color:rgba(255,255,255,0.18);color:#fff;}
.hilo-autor{font-size:12px;font-weight:700;color:#C9B4FF;}
.is-mio .hilo-autor{color:rgba(255,255,255,0.85);}
.hilo-globo p{margin:0;white-space:pre-line;overflow-wrap:anywhere;color:var(--tinta);line-height:1.5;}
.is-mio .hilo-globo p{color:#fff;}
.hilo-globo time{font-size:11.5px;color:var(--tinta-3);align-self:flex-end;}
.is-mio .hilo-globo time{color:rgba(255,255,255,0.75);}
.hilo-evento{align-self:center;display:flex;flex-direction:column;align-items:center;gap:2px;max-width:88%;text-align:center;padding:7px 14px;border-radius:12px;background:rgba(1,209,253,0.06);border:1px solid rgba(1,209,253,0.2);font-size:13px;color:var(--tinta-2);white-space:pre-line;}
.hilo-evento time{font-size:11px;color:var(--tinta-3);}
.adjunto{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.12);color:inherit;text-decoration:none;max-width:100%;}
.adjunto span{display:flex;flex-direction:column;min-width:0;}
.adjunto b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.adjunto small{font-size:12px;opacity:.75;}
.adjunto--img{padding:0;overflow:hidden;}
.adjunto--img img{display:block;max-width:260px;max-height:200px;object-fit:cover;}

/* Redactor */
.redactor{border-top:1px solid var(--grabado);padding-top:14px;}
.redactor textarea{width:100%;font:inherit;font-size:15px;color:var(--tinta);background:var(--campo);border:1px solid var(--grabado-fuerte);border-radius:14px;padding:12px 14px;resize:vertical;min-height:76px;}
.redactor textarea:focus{border-color:var(--azul);outline:none;box-shadow:0 0 0 3px rgba(135,59,251,0.3);}
.redactor-pie{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;}
.redactor-pie .btn--azul{margin-left:auto;}
.redactor-archivo{font-size:13px;color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%;}
.redactor-adj{cursor:pointer;}

/* Archivos */
.pp-subir{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px;}
.pp-subir small{color:var(--tinta-3);}
.pp-subir .btn{cursor:pointer;}
.is-cargando{opacity:.55;pointer-events:none;}
.archivos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
.archivo{border-radius:14px;overflow:hidden;background:rgba(5,6,22,0.35);border:1px solid var(--grabado);display:flex;flex-direction:column;}
.archivo-vista{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:rgba(255,255,255,0.04);color:var(--tinta-3);overflow:hidden;}
.archivo-vista img{width:100%;height:100%;object-fit:cover;}
.archivo-vista .ico{width:40px;height:40px;stroke-width:1.3;}
.archivo-txt{padding:12px 14px;display:flex;flex-direction:column;gap:3px;font-size:13px;min-width:0;}
.archivo-txt strong{color:var(--tinta);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.archivo-txt span{color:var(--tinta-3);}
.archivo-txt a{font-weight:600;margin-top:4px;}

/* Tickets */
.tickets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ticket-fila{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px;border-radius:12px;background:rgba(255,255,255,0.045);border:1px solid var(--grabado);text-decoration:none;color:var(--tinta);transition:background-color .15s,border-color .15s;}
.ticket-fila:hover{background:rgba(255,255,255,0.08);border-color:rgba(196,176,255,0.35);color:var(--tinta);}
.ticket-folio{font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:#7FE6FF;padding:4px 8px;border-radius:8px;background:rgba(1,209,253,0.08);}
.ticket-txt{display:flex;flex-direction:column;min-width:0;}
.ticket-txt strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ticket-txt small{font-size:12.5px;color:var(--tinta-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ticket-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}

/* ---------- Pantallas del equipo ---------- */
.form-reticula{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;}
.form-reticula .acciones{margin-top:4px;}
.form-fila--cinco{grid-template-columns:repeat(5,minmax(0,1fr)) auto;}
.nuevo-plegable > summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--tinta);font-size:15px;}
.nuevo-plegable > summary::-webkit-details-marker{display:none;}
.nuevo-plegable[open] > summary{margin-bottom:18px;}
.nuevo-plegable > summary .ico{color:#7FE6FF;transition:transform .2s;}
.nuevo-plegable[open] > summary .ico{transform:rotate(45deg);}
.pp-panel .nuevo-plegable{padding:16px 18px;border-radius:14px;border:1px dashed rgba(255,255,255,0.2);margin-bottom:8px;}
.eq-proyectos{list-style:none;margin:0;padding:0;}
.eq-proyectos li + li{border-top:1px solid var(--grabado);}
.eq-proy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1.4fr) 120px minmax(150px,auto);gap:12px 24px;align-items:center;padding:14px 8px;text-decoration:none;color:var(--tinta);border-radius:12px;}
.eq-proy:hover{background:rgba(255,255,255,0.05);color:var(--tinta);}
.eq-proy-txt{display:flex;flex-direction:column;min-width:0;}
.eq-proy-txt strong{font-weight:600;}
.eq-proy-txt span{font-size:13px;color:var(--tinta-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.eq-proy-avance{display:flex;flex-direction:column;gap:5px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--tinta-2);}
.eq-proy-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.eq-proy-chips small{color:var(--tinta-3);font-size:12px;}
.eq-proy-cabeza{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 28px;flex-wrap:wrap;margin:0 0 16px;}
.eq-proy-cliente{margin:0;font-size:15px;color:var(--tinta-2);}
.eq-proy-cliente strong{color:var(--tinta);}
.eq-proy-cabeza .aclara{margin-top:4px;}
.eq-ticket{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;}
.eq-ticket-lado{display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.eq-ticket-lado .tarjeta{margin:0;}
.eq-contacto{display:flex;flex-direction:column;margin:0 0 12px;}
.eq-contacto strong{color:var(--tinta);}
.eq-contacto span{font-size:13.5px;color:var(--tinta-3);}
.datos-lista--t{grid-template-columns:auto 1fr;font-size:13.5px;}
.datos-lista--t dd{text-align:left;font-weight:500;}
.cifras--cuatro{margin-bottom:20px;}

/* =================================================================
   Portal de clientes: marco con barra superior
   ================================================================= */
.pc .pc-barra{position:sticky;top:0;z-index:30;background:rgba(9,9,30,0.62);border-bottom:1px solid var(--vidrio-borde);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);}
.pc-barra-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px;}
.pc-marca{text-decoration:none;flex-shrink:0;}
.pc-marca .marca{font-size:20px;}
.pc-marca .marca-sub{margin-top:4px;font-size:9.5px;}
.pc-nav{flex:1;}
.pc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;justify-content:center;}
.pc-nav a{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;color:var(--tinta-2);text-decoration:none;font-weight:600;font-size:15px;}
.pc-nav a:hover{background:rgba(255,255,255,0.07);color:#fff;}
.pc-nav a[aria-current="page"]{background:linear-gradient(100deg,rgba(135,59,251,0.4),rgba(53,96,251,0.25));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14);}
.pc-nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.pc-yo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.pc-yo-txt{display:flex;flex-direction:column;line-height:1.25;}
.pc-yo-txt strong{color:#fff;font-size:14px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-yo-txt a{font-size:12.5px;color:var(--tinta-3);}
.pc-yo-txt a:hover{color:#fff;}
.pc-principal{max-width:1200px;margin:0 auto;padding:36px 24px 40px;min-height:70vh;}
.pc-principal:focus{outline:none;}
.pc-cargando{padding:60px 0;text-align:center;}
.pc-pie{max-width:1200px;margin:0 auto;padding:22px 24px 40px;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;font-size:13.5px;color:var(--tinta-3);border-top:1px solid var(--grabado);}

.pc-cabeza{margin:0 0 26px;}
.pc-saludo{margin:0 0 6px;font-size:1.05rem;color:var(--tinta-2);}
.pc-eyebrow{display:block;font-stretch:var(--ancho-placa);font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#7FE6FF;margin:0 0 8px;}
.pc-titulo{font-stretch:var(--ancho-placa);font-weight:500;font-size:clamp(2rem,4.2vw,3rem);line-height:1.05;letter-spacing:-0.03em;}
.pc-titulo span{background:linear-gradient(95deg,#C9B4FF 0%,#7FE6FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.pc-titulo--proy{font-size:clamp(1.7rem,3.4vw,2.5rem);font-stretch:var(--ancho);}
.pc-bajada{max-width:62ch;margin:12px 0 0;font-size:1.05rem;}
.pc-sub{font-stretch:var(--ancho);font-weight:500;font-size:1.25rem;margin:34px 0 16px;}
.pc-cifras{margin-bottom:8px;}

.pc-proyectos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;}
.pc-proy{position:relative;display:flex;flex-direction:column;gap:16px;height:100%;text-decoration:none;color:var(--tinta-2);transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden;}
.pc-proy::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--violeta),var(--azul-luz),var(--cian));opacity:.7;}
.pc-proy:hover{transform:translateY(-3px);border-color:rgba(196,176,255,0.4);color:var(--tinta-2);box-shadow:var(--vidrio-sombra),0 30px 60px -30px rgba(135,59,251,0.6);}
.pc-proy-cabeza{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;}
.pc-proy-serv{color:var(--tinta-3);font-weight:600;}
.pc-proy-etapa{color:#7FE6FF;font-weight:700;}
.pc-proy h3{font-stretch:var(--ancho);font-weight:500;font-size:1.4rem;line-height:1.15;letter-spacing:-0.015em;}
.pc-proy-avance{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;margin-bottom:-8px;}
.pc-proy-fase{color:var(--tinta-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-proy-avisos{display:flex;gap:6px;flex-wrap:wrap;}
.pc-proy-ir{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--enlace);}
.pc-proy:hover .pc-proy-ir{color:#fff;}
.pc-proy-ir .ico{transition:transform .2s;}
.pc-proy:hover .pc-proy-ir .ico{transform:translateX(4px);}

.pc-postventa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:34px;padding:28px;background:
  radial-gradient(70% 90% at 0% 0%,rgba(135,59,251,0.25),transparent 70%),var(--vidrio);}
.pc-postventa-txt h2{font-stretch:var(--ancho);font-weight:500;font-size:1.5rem;line-height:1.15;margin:0 0 10px;}
.pc-postventa-txt p{margin:0 0 18px;max-width:52ch;}

.pp-vacio{text-align:center;padding:40px 24px;margin-top:18px;}
.pp-vacio h1,.pp-vacio h2{font-stretch:var(--ancho);font-weight:500;font-size:1.4rem;margin:0 0 10px;}
.pp-vacio p{max-width:56ch;margin:0 auto 20px;}
.pp-vacio .acciones{justify-content:center;}

/* Soporte: nuevo ticket */
.pc-nuevo{padding:0;margin-bottom:8px;}
.pc-nuevo > summary{list-style:none;display:flex;align-items:center;gap:10px;padding:18px 24px;cursor:pointer;font-stretch:var(--ancho);font-weight:600;font-size:1.1rem;color:var(--tinta);}
.pc-nuevo > summary::-webkit-details-marker{display:none;}
.pc-nuevo > summary .ico{color:#7FE6FF;transition:transform .2s;}
.pc-nuevo[open] > summary .ico{transform:rotate(45deg);}
.pc-ticket-form{padding:0 24px 24px;}
.tipo-ticket{border:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.tipo-ticket legend{font-size:13.5px;font-weight:600;color:var(--tinta);margin-bottom:8px;padding:0;}
.tipo-opcion{position:relative;cursor:pointer;}
.tipo-opcion input{position:absolute;opacity:0;pointer-events:none;}
.tipo-opcion > span{display:flex;flex-direction:column;gap:3px;height:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--grabado-fuerte);background:rgba(5,6,22,0.35);transition:border-color .15s,background-color .15s;}
.tipo-opcion b{color:var(--tinta);font-size:14.5px;}
.tipo-opcion small{color:var(--tinta-3);font-size:13px;}
.tipo-opcion:hover > span{border-color:rgba(196,176,255,0.45);}
.tipo-opcion input:checked + span{border-color:var(--cian);background:rgba(1,209,253,0.08);box-shadow:0 0 0 1px var(--cian) inset;}
.tipo-opcion input:focus-visible + span{outline:2px solid var(--amarillo);outline-offset:2px;}
.cuenta-salir-pc{display:none;}

/* ---------- Entrada del portal de clientes ---------- */
.entrada--doble{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:1fr auto;align-items:center;gap:30px 64px;max-width:1100px;margin:0 auto;min-height:100vh;padding:48px 28px;}
.entrada--doble .entrada-marca{text-align:left;display:inline-block;margin-bottom:34px;}
.entrada-titulo{font-stretch:var(--ancho-placa);font-weight:500;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;letter-spacing:-0.035em;margin:0 0 30px;}
.entrada-titulo span{background:linear-gradient(95deg,#C9B4FF 0%,#7FE6FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.entrada-etapas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;max-width:480px;}
.entrada-etapas li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:14px;padding:0 0 16px;font-size:14.5px;color:var(--tinta-2);}
.entrada-etapas li:not(:last-child)::before{content:'';position:absolute;left:16px;top:32px;bottom:2px;width:2px;background:linear-gradient(180deg,rgba(135,59,251,0.7),rgba(1,209,253,0.25));}
.entrada-etapas b{display:block;color:var(--tinta);font-size:15px;}
.entrada-n{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;background:#121040;border:2px solid rgba(196,176,255,0.45);}
.entrada-etapas li:first-child .entrada-n{border-color:var(--cian);box-shadow:0 0 16px rgba(1,209,253,0.5);}
.entrada--doble .entrada-placa{max-width:none;}
.entrada--doble .entrada-nota{grid-column:1 / -1;max-width:none;text-align:center;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .eq-proy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .eq-proy-chips{justify-content:flex-start;}
  .form-fila--cinco{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wbs-ed-cabeza{display:none;}
  .wbs-ed-fila{grid-template-columns:40px minmax(0,1fr) 120px 64px;grid-template-areas:none;}
  .wbs-ed-fila input[type=date]{grid-column:span 1;}
  .wbs-ed-fila .wbs-ed-botones{grid-column:1 / -1;justify-content:flex-end;}
  .eq-ticket{grid-template-columns:1fr;}
  .eq-ticket-lado{position:static;}
  .pc-postventa{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .entrada--doble{grid-template-columns:1fr;max-width:520px;padding:32px 18px;}
  .entrada-etapas{display:none;}
  .entrada-titulo{margin-bottom:6px;}
  .entrada--doble .entrada-marca{margin-bottom:22px;}
  .form-reticula{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  /* Sin blur aquí: un backdrop-filter atraparía el menú fijo de abajo dentro del encabezado */
  .pc .pc-barra{position:relative;background:rgba(9,9,30,0.92);-webkit-backdrop-filter:none;backdrop-filter:none;}
  .pc-barra-in{padding:10px 16px;gap:12px;justify-content:space-between;}
  .pc-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(10,9,32,0.86);border-top:1px solid var(--vidrio-borde);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding-bottom:env(safe-area-inset-bottom);}
  .pc-nav ul{justify-content:space-around;gap:0;}
  .pc-nav li{flex:1;}
  .pc-nav a{flex-direction:column;gap:3px;width:100%;padding:9px 4px 8px;border-radius:0;font-size:11.5px;font-weight:500;}
  .pc-nav a[aria-current="page"]{background:linear-gradient(180deg,rgba(135,59,251,0.32),transparent);box-shadow:inset 0 2px 0 var(--cian);}
  .pc-nav .burbuja{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;font-size:11px;padding:0 5px;}
  .pc-yo-txt strong{display:none;}
  .pc-principal{padding:24px 16px 96px;}
  .pc-pie{padding-bottom:calc(90px + env(safe-area-inset-bottom));}
  .cuenta-salir-pc{display:inline-flex;}
  .rastreo-txt small{display:none;}
  .rastreo-txt b{font-size:12px;}
  .rastreo-punto{width:34px;height:34px;font-size:13px;}
  .rastreo-paso::before{top:16px;left:calc(-50% + 19px);right:calc(50% + 19px);}
  .pp-panel{padding:20px 16px 22px;}
  .vidrio-panel{padding:18px 16px;}
  .pc-postventa{padding:22px 18px;}
}
@media (max-width:620px){
  .pc-proyectos{grid-template-columns:1fr;}
  .tipo-ticket{grid-template-columns:1fr;}
  .ticket-fila{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px;}
  .ticket-folio{grid-column:1 / -1;justify-self:start;}
  .ticket-chips{grid-column:1 / -1;justify-content:flex-start;}
  .eq-proy{grid-template-columns:1fr;}
  .form-reticula,.form-fila--cinco{grid-template-columns:1fr;}
  .hilo-globo{max-width:88%;}
  .pp-resumen-wbs{grid-template-columns:1fr;gap:6px;}
  .wbs-fila{grid-template-columns:24px 34px minmax(0,1fr);gap:8px;}
  .wbs-fila--n1{padding-left:14px;}
  .wbs-ed-fila{grid-template-columns:36px minmax(0,1fr);}
  .wbs-ed-fila select,.wbs-ed-fila input[type=number],.wbs-ed-fila input[type=date],.wbs-ed-avance-vacio{grid-column:span 1;}
  .wbs-ed-fila--n1 .wbs-ed-titulo{margin-left:0;width:100%;}
  .revision-cabeza{grid-template-columns:auto minmax(0,1fr);}
  .revision-cabeza .chip{grid-column:1 / -1;justify-self:start;}
  .pc-nuevo > summary{padding:16px 18px;}
  .pc-ticket-form{padding:0 16px 18px;}
  .pp-cabeza-avance{min-width:0;width:100%;}
  .rastreo-txt b{font-size:10px;white-space:nowrap;overflow-wrap:normal;letter-spacing:-0.02em;}
  .rastreo-punto{width:30px;height:30px;}
  .rastreo-paso::before{top:14px;left:calc(-50% + 17px);right:calc(50% + 17px);}
}
@media (prefers-reduced-motion:reduce){
  .pc-proy,.pc-proy-ir .ico,.avance span{transition:none;}
  .pc-proy:hover{transform:none;}
}
