/* Espacio de trabajo del proyecto (app.js: projectDetailContent / attachWorkspace). Mismo lenguaje que el resto
   del detalle: crema, tinta café, dorado, paneles blancos con borde suave. Una sección a la vez; los cambios de
   sección y de disciplina se animan en su lugar. */
.ws-main { --ws-ease: cubic-bezier(.22, 1, .36, 1); --ws-oro: #c49a50; --ws-oro-osc: #7a5813; --ws-linea: rgba(122, 88, 19, .13); --ws-gris: #8a7d6d; }

/* Portada: nombre, datos, disciplinas como chips y el equipo en miniatura a la derecha */
.ws-portada { align-items: center; margin-bottom: 22px; }
.ws-portada .pd-portada-copy { flex: 1; }
.ws-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.ws-chip { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 11px 0 8px; border-radius: 999px; background: rgba(222, 191, 135, .22); color: var(--ws-oro-osc); font: 700 11.5px 'Plus Jakarta Sans', sans-serif; }
.ws-equipo-pila { display: flex; align-self: flex-start; padding-top: 6px; }
.ws-equipo-pila span { display: grid; place-items: center; width: 34px; height: 34px; margin-left: -8px; border-radius: 50%; background: linear-gradient(135deg, #e9d3a6, #c49a50); color: #4b3300; font: 800 11.5px 'Plus Jakarta Sans', sans-serif; box-shadow: 0 0 0 2.5px #fff8f3; animation: ws-aparece .35s var(--ws-ease) both; }
.ws-equipo-pila span:first-child { margin-left: 0; }
.ws-equipo-pila span.mas { background: #f0e7dd; color: var(--ws-oro-osc); }

/* Navegación interna: cápsula con una píldora que se desliza a la sección elegida */
.ws-nav { position: sticky; top: 0; z-index: 15; display: inline-flex; gap: 2px; padding: 4px; margin-bottom: 22px; border-radius: 999px; background: rgba(240, 231, 221, .92); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(122, 88, 19, .06); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.ws-nav::-webkit-scrollbar { display: none; }
.ws-nav-pildora { position: absolute; top: 4px; bottom: 4px; left: 0; border-radius: 999px; background: #fff; box-shadow: 0 4px 14px rgba(77, 51, 14, .12); transition: transform .38s var(--ws-ease), width .38s var(--ws-ease); }
.ws-tab { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: #6c6358; font: 600 14px 'Plus Jakarta Sans', sans-serif; white-space: nowrap; cursor: pointer; transition: color .25s; }
.ws-tab[aria-selected="true"] { color: #1d1a16; }
.ws-tab .material-symbols-outlined { color: #b39456; transition: color .25s; }
.ws-tab[aria-selected="true"] .material-symbols-outlined { color: var(--ws-oro-osc); }
.ws-tab em { font-style: normal; display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: rgba(196, 154, 80, .18); color: var(--ws-oro-osc); font-size: 11px; font-weight: 800; }

.ws-panel { transition: opacity .28s var(--ws-ease), transform .34s var(--ws-ease); }
.ws-panel.ws-entra, .ws-disc-detalle.ws-entra { opacity: 0; transform: translateY(8px); transition: none; }
.ws-disc-detalle { transition: opacity .2s var(--ws-ease), transform .3s var(--ws-ease); }
.ws-disc-detalle.ws-sale { opacity: 0; transform: translateY(-4px); }
.ws-vacio { margin: 0; padding: 4px 0 18px; font-size: 13.5px; line-height: 1.55; color: var(--ws-gris); }

/* Resumen: tarjeta de disciplinas */
.ws-rd-lista { list-style: none; margin: 0; padding: 0 0 6px; display: flex; flex-direction: column; gap: 6px; }
.ws-rd, .ws-agregar-op { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 12px 12px 12px; border: 1px solid transparent; border-radius: 16px; background: #fffaf4; text-align: left; font-family: inherit; color: inherit; cursor: pointer; transition: background .2s, border-color .2s, transform .25s var(--ws-ease); }
.ws-rd:hover, .ws-agregar-op:hover { background: #fff; border-color: rgba(196, 154, 80, .45); transform: translateX(2px); }
.ws-rd-ico { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 13px; background: rgba(222, 191, 135, .3); color: var(--ws-oro-osc); }
.ws-rd-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ws-rd-txt b { font-size: 14.5px; color: #1d1a16; }
.ws-rd-txt small { font-size: 12px; color: var(--ws-gris); overflow-wrap: anywhere; }
.ws-rd-resp { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: linear-gradient(135deg, #e9d3a6, #c49a50); color: #4b3300; font: 800 10.5px 'Plus Jakarta Sans', sans-serif; }
.ws-rd-ir { color: #c4b49a; transition: transform .25s var(--ws-ease), color .2s; }
.ws-rd:hover .ws-rd-ir { transform: translateX(3px); color: var(--ws-oro-osc); }
.ws-agregar { display: inline-flex; align-items: center; gap: 6px; margin: 6px 0 14px; padding: 9px 14px; border: 1.5px dashed rgba(196, 154, 80, .55); border-radius: 999px; background: transparent; color: var(--ws-oro-osc); font: 700 13px 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: background .2s, border-style .2s; }
.ws-agregar:hover { background: rgba(222, 191, 135, .16); border-style: solid; }

/* Disciplinas: riel a la izquierda, la disciplina elegida a la derecha */
.ws-disc { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 24px; align-items: start; }
.ws-disc-riel { position: sticky; top: 64px; display: flex; flex-direction: column; gap: 6px; }
.ws-disc-item { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid transparent; border-radius: 18px; background: transparent; text-align: left; font-family: inherit; color: inherit; cursor: pointer; transition: background .25s var(--ws-ease), border-color .25s, box-shadow .3s; }
.ws-disc-item:hover { background: rgba(255, 255, 255, .7); }
.ws-disc-item[aria-selected="true"] { background: #fff; border-color: var(--ws-linea); box-shadow: 0 12px 28px rgba(77, 51, 14, .07); }
.ws-disc-item[aria-selected="true"]::before { content: ''; position: absolute; left: -2px; top: 16px; bottom: 16px; width: 3px; border-radius: 3px; background: var(--ws-oro); animation: ws-aparece .3s var(--ws-ease); }
.ws-disc-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 12px; background: rgba(222, 191, 135, .26); color: var(--ws-oro-osc); transition: background .25s, color .25s; }
.ws-disc-item[aria-selected="true"] .ws-disc-ico { background: var(--ws-oro); color: #fff; }
.ws-disc-txt { display: flex; flex-direction: column; min-width: 0; }
.ws-disc-txt b { font-size: 14px; color: #1d1a16; }
.ws-disc-txt small { font-size: 11.5px; color: var(--ws-gris); }
.ws-disc-item.ws-recien { animation: ws-recien 1.4s var(--ws-ease); }
.ws-agregar-riel { align-self: flex-start; margin: 8px 0 0 6px; }
.ws-dd-cab { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.ws-dd-ico { display: grid; place-items: center; width: 58px; height: 58px; flex: none; border-radius: 18px; background: linear-gradient(150deg, rgba(222, 191, 135, .55), rgba(222, 191, 135, .18)); color: var(--ws-oro-osc); }
.ws-dd-tit { flex: 1; min-width: 200px; }
.ws-dd-tit h2 { margin: 2px 0 0; font: 700 26px/1.15 'Plus Jakarta Sans', sans-serif; letter-spacing: -.02em; color: #1d1a16; }
.ws-dd-tit p { margin: 4px 0 0; font-size: 13px; color: var(--ws-gris); }
.ws-dd-acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ws-dd-resp { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; padding: 10px 14px; border-radius: 14px; background: rgba(240, 231, 221, .6); font-size: 13px; color: #6c6358; }
.ws-dd-resp .material-symbols-outlined { color: #b39456; }
.ws-dd-resp b { color: #1d1a16; }
.ws-dd-resp-sel { margin-left: auto; }
.ws-dd-resp-sel select { height: 34px; padding: 0 30px 0 12px; border: 1px solid rgba(122, 88, 19, .2); border-radius: 999px; background: #fff; font: 600 12.5px 'Plus Jakarta Sans', sans-serif; color: #1d1a16; max-width: 260px; }

/* Agregar disciplina (modal) */
.ws-agregar-lista { display: flex; flex-direction: column; gap: 8px; }
.ws-agregar-op.ocupado { opacity: .6; cursor: progress; }
.ws-agregar-estado { flex: none; font-size: 11px; font-weight: 700; color: #a2957f; }
.ws-agregar-estado.lista { color: #3f6b3a; }

@keyframes ws-aparece { from { opacity: 0; transform: scale(.85); } }
@keyframes ws-recien { 0% { box-shadow: 0 0 0 0 rgba(196, 154, 80, .55); } 60% { box-shadow: 0 0 0 10px rgba(196, 154, 80, 0); } }

/* Actividad: línea de tiempo por día */
.ws-act-lista { list-style: none; margin: 0; padding: 0; position: relative; }
.ws-act-dia { margin: 18px 0 8px; font: 700 11px 'Plus Jakarta Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ws-gris); }
.ws-act-dia::first-letter { text-transform: uppercase; }
.ws-act-dia:first-child { margin-top: 2px; }
.ws-act-item { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; animation: ws-act-entra .4s var(--ws-ease) both; animation-delay: calc(var(--i, 0) * 28ms); }
.ws-act-item::before { content: ''; position: absolute; left: 16.5px; top: -6px; bottom: -6px; width: 1px; background: var(--ws-linea); z-index: 0; }
.ws-act-dia + .ws-act-item::before { top: 50%; }
.ws-act-item:last-child::before, .ws-act-item:has(+ .ws-act-dia)::before { bottom: 50%; }
.ws-act-dia + .ws-act-item:last-child::before, .ws-act-dia + .ws-act-item:has(+ .ws-act-dia)::before { display: none; }
.ws-act-ico { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fbf4e8; color: var(--ws-oro-osc); box-shadow: 0 0 0 1px var(--ws-linea); }
.ws-act-item p { margin: 0; font-size: 13.5px; line-height: 1.45; color: #4a4239; overflow-wrap: anywhere; }
.ws-act-item p b { color: #1d1a16; font-weight: 700; }
.ws-act-veces { font-style: normal; display: inline-grid; place-items: center; min-width: 22px; height: 18px; padding: 0 6px; border-radius: 999px; background: rgba(196, 154, 80, .18); color: var(--ws-oro-osc); font-size: 11px; font-weight: 800; }
.ws-act-item time { font-size: 12px; color: var(--ws-gris); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ws-act-mas { display: inline-flex; align-items: center; gap: 6px; margin: 14px auto 0; padding: 9px 16px; border: 0; border-radius: 999px; background: rgba(222, 191, 135, .2); color: var(--ws-oro-osc); font: 700 13px 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: background .2s; }
.ws-act-mas:hover { background: rgba(222, 191, 135, .34); }
.ws-act-mas:disabled { opacity: .55; cursor: progress; }
@keyframes ws-act-entra { from { opacity: 0; transform: translateY(6px); } }

@media (max-width: 900px) {
  .ws-disc { grid-template-columns: 1fr; gap: 16px; }
  .ws-disc-riel { position: static; flex-direction: row; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: none; }
  .ws-disc-riel::-webkit-scrollbar { display: none; }
  .ws-disc-item { flex: none; padding: 8px 14px 8px 8px; }
  .ws-disc-item[aria-selected="true"]::before { display: none; }
  .ws-agregar-riel { margin: 0; flex: none; align-self: center; }
  .ws-portada { align-items: flex-start; }
  .ws-equipo-pila { display: none; }
  .ws-tab { padding: 0 14px; }
  .ws-dd-resp-sel { margin-left: 0; width: 100%; }
  .ws-dd-resp-sel select { width: 100%; max-width: none; }
}
/* Teléfono: las tres secciones caben a lo ancho y las disciplinas se acomodan en filas (nada queda cortado) */
@media (max-width: 600px) {
  .ws-nav { display: flex; width: 100%; box-sizing: border-box; }
  .ws-tab { flex: 1; justify-content: center; gap: 5px; padding: 0 6px; font-size: 13px; }
  .ws-tab em { display: none; }
  .ws-act-item { grid-template-columns: 30px minmax(0, 1fr); gap: 4px 10px; }
  .ws-act-ico { width: 30px; height: 30px; }
  .ws-act-item::before { left: 14.5px; }
  .ws-act-item time { grid-column: 2; font-size: 11.5px; }
  .ws-disc-riel { flex-wrap: wrap; overflow: visible; }
  .ws-disc-item { padding: 6px 12px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .6); }
  .ws-disc-ico { width: 32px; height: 32px; border-radius: 50%; }
  .ws-disc-txt small { display: none; }
  .ws-disc-txt b { font-size: 13px; }
  .ws-dd-tit h2 { font-size: 22px; }
}
/* Cinco secciones: en pantallas angostas solo la elegida muestra su nombre; las demás, el ícono (con su title). */
@media (max-width: 760px) {
  .ws-nav { display: flex; width: 100%; box-sizing: border-box; overflow: visible; }
  .ws-tab { flex: 1 1 0; min-width: 0; justify-content: center; padding: 0 8px; }
  .ws-tab[aria-selected="true"] { flex-grow: 3.2; }
  .ws-tab:not([aria-selected="true"]) > span:not(.material-symbols-outlined), .ws-tab:not([aria-selected="true"]) em { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ws-main *, .ws-main *::before { transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* Tarjeta de proyecto en las listas: sus disciplinas en miniatura */
.proyecto-discs { display: flex; align-items: center; gap: 4px; }
.proyecto-discs span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; background: rgba(222, 191, 135, .24); color: #7a5813; }
.proyecto-discs em { margin-left: 4px; font-style: normal; font-size: 12px; font-weight: 600; color: #8a7d6d; }
/* Barra lateral: rótulo del grupo de disciplinas */
.nav-grupo { margin: 14px 0 4px; padding: 0 16px; font: 700 10px/1 'Plus Jakarta Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #a2957f; }
body.sidebar-hidden #sidebar .nav-grupo { visibility: hidden; height: 0; margin: 6px 0; }
/* Separación entre secciones del menú (inicio · proyectos · disciplinas · visor): una línea sutil con aire. */
#sidebar .nav-sep { display: block; height: 1px; margin: 16px 18px 14px !important; background: linear-gradient(90deg, rgba(122, 88, 19, .16), rgba(122, 88, 19, .04)); }
#sidebar .nav-sep + .nav-grupo { margin: 2px 0 10px !important; }
#sidebar-nav-list > button + button { margin-top: 6px !important; }
body.sidebar-hidden #sidebar .nav-sep { margin: 10px 14px !important; }
body.sidebar-hidden #sidebar .nav-sep + .nav-grupo { margin: 0 !important; }
.ws-equipo-pila span { margin-left: -6px; }

/* Fusionar proyectos (administración): lista de candidatos, vista previa de lo que pasa y aviso final */
.mg-lista { max-height: min(52vh, 440px); overflow-y: auto; padding: 2px; }
.mg-op .ws-rd-txt small { white-space: normal; }
#merge-body { transition: opacity .16s ease, transform .16s ease; }
#merge-body.mg-sale { opacity: 0; transform: translateY(4px); }
.mg-flujo { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0 16px; }
.mg-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 12px 4px 9px; border-radius: 999px; font: 700 13px 'Plus Jakarta Sans', sans-serif; overflow-wrap: anywhere; }
.mg-origen { background: #f3ece4; color: #6c6358; text-decoration: line-through; text-decoration-color: rgba(108, 99, 88, .45); }
.mg-destino { background: rgba(222, 191, 135, .3); color: #7a5813; }
.mg-plan { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; max-height: min(42vh, 360px); overflow-y: auto; }
.mg-plan li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; align-items: start; font-size: 13.5px; line-height: 1.45; color: #4a4239; overflow-wrap: anywhere; animation: ws-act-entra .35s cubic-bezier(.22, 1, .36, 1) both; }
.mg-plan li .material-symbols-outlined { color: #b39456; margin-top: 1px; }
.mg-plan b { color: #1d1a16; }
.mg-aviso { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; padding: 10px 12px; border-radius: 12px; background: #fbf3e4; color: #6b5a3e; font-size: 12.5px; line-height: 1.45; }
@keyframes ws-act-entra { from { opacity: 0; transform: translateY(6px); } }
