/* T1 Rail Slim (Fase 3.1.5)
 * Overrides per la rail a 6 voci: nasconde i satellite spostati fuori rail,
 * aggiunge stili per ARCHIVIO, safe-area header, AI nel pannello clinico. */

/* ── Safe-area: chrome cockpit rispetta la larghezza della rail ────────── */
:root {
  --t1-cockpit-safe-left: calc(var(--t1-rail-width, 92px) + 14px);
  --t1-cockpit-chrome-gap: 14px;
  --t1-rail-gateway-btn: 34px;
  /* Ritmo verticale: gateway centrato sulla rail; coppie con gap interno uguale */
  --t1-rail-pad-top: max(8vh, 4.85rem);
  --t1-rail-profile-sep-y: 12px 0 16px;
  --t1-rail-primary-inter: 22px;
  --t1-rail-pair-intra: 10px;
}

/* Gateway: centrato sulla larghezza rail (fixed) */
.cockpit-back-gateway {
  left: calc((var(--t1-rail-width) - var(--t1-rail-gateway-btn)) / 2);
  top: 22px;
  width: var(--t1-rail-gateway-btn);
  height: var(--t1-rail-gateway-btn);
}

/* Padding rail: profilo più in basso vs gateway */
.sidebar-rail.rail-sidebar {
  padding: var(--t1-rail-pad-top) 6px 14px;
}

/* Profilo COCKPIT: aria sotto il gateway */
.rail-zone--profile {
  padding-top: 8px;
}

/* Profilo → blocco operativo */
.rail-zone--profile + .rail-sep.rail-sep--zone:not([class*='archive']) {
  margin: var(--t1-rail-profile-sep-y);
}

.rail-zone--functions {
  padding-top: 4px;
}

/* (SESSIONI+LAB) | CHECK VIDEO: gap unico tra coppia e voce secondaria */
.rail-group.rail-group--primary {
  gap: var(--t1-rail-primary-inter);
}

.rail-pair--lab-vault {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--t1-rail-pair-intra);
  width: 100%;
}

.rail-pair--archive {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--t1-rail-pair-intra);
  width: 100%;
}

/* Progetti / T1 Space: link esterno con stack label T1 + Space */
#rail-project-space-link.rail-quadrant {
  margin-bottom: 0;
  text-decoration: none;
  color: inherit;
  border: 1px solid transparent;
  border-radius: 10px;
  transition:
    background var(--t-fast, 0.18s ease),
    border-color var(--t-fast, 0.18s ease),
    color var(--t-fast, 0.18s ease),
    box-shadow var(--t-fast, 0.18s ease);
}

.rail-quadrant-label-stack--t1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  max-width: 100%;
  line-height: 1;
  margin-top: 0;
}

.rail-quadrant-label--t1-brand {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 88%, white 12%);
  text-shadow: none;
}

.rail-quadrant-label--t1-space {
  font-size: 6.5px;
  font-weight: 600;
  letter-spacing: 0.26em;
  line-height: 1;
  text-indent: 0.26em;
  color: var(--t1-helm-frost-muted, rgba(224, 247, 250, 0.72));
  opacity: 0.95;
}

/* T1 Space hover icon — label in pill (vedi blocco icon-only sotto) */
#rail-project-space-link.rail-quadrant:visited {
  color: inherit;
}

#rail-project-space-link.rail-quadrant:hover,
#rail-project-space-link.rail-quadrant:focus-visible {
  background: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 9%, rgba(8, 12, 20, 0.55));
  border-color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 28%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 18%, transparent);
}

#rail-project-space-link.rail-quadrant:hover .rail-quadrant-icon,
#rail-project-space-link.rail-quadrant:focus-visible .rail-quadrant-icon {
  stroke: var(--t1-cyan-gateway, #00f2ff);
  filter: drop-shadow(0 0 4px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 38%, transparent));
}

/* ── Satelliti opzionali rail (visibilità da preferenza coach) ───────────── */

/* Legacy: CTA profilo sostituita dal link .rail-project-space-link in zona archivio */
.rail-project-space-cta {
  display: none !important;
}

/* ── GALLERY rail button (galleria casting/santuario) ─────────────────── */
#rail-btn-archive-mode {
  /* usa stile base .rail-quadrant già definito nel main CSS */
  border: 1px solid transparent;
  transition:
    background var(--t-fast),
    border-color var(--t-fast),
    color var(--t-fast);
}

#rail-btn-archive-mode .rail-quadrant-label--gallery {
  letter-spacing: 0.1em;
  text-indent: 0;
}

#rail-btn-archive-mode[aria-pressed='true'],
#rail-btn-archive-mode.is-active {
  background: color-mix(in srgb, var(--t1-palco-gallery-warm, #b8a99a) 12%, rgba(20, 16, 12, 0.65));
  border-color: color-mix(in srgb, var(--t1-palco-gallery-warm, #b8a99a) 32%, transparent);
}

#rail-btn-archive-mode[aria-pressed='true'] .rail-quadrant-label,
#rail-btn-archive-mode.is-active .rail-quadrant-label {
  color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #e6ddd4) 55%, var(--t1-palco-gallery-warm, #b8a99a));
}

#rail-btn-archive-mode[aria-pressed='true'] .rail-quadrant-icon,
#rail-btn-archive-mode.is-active .rail-quadrant-icon {
  stroke: color-mix(in srgb, var(--t1-palco-gallery-pearl, #e6ddd4) 50%, var(--t1-palco-gallery-warm, #b8a99a));
}

/* Nasconde ARCHIVIO via flag SHOW_ARCHIVE_ICON = false (gestito da JS con hidden attr) */
#rail-btn-archive-mode[hidden] {
  display: none !important;
}

/* Check video — voce secondaria; nascosta via Impostazioni o SHOW_CHECK_VIDEO_RAIL */
#rail-btn-video-engine[hidden] {
  display: none !important;
}

#rail-btn-video-engine.rail-quadrant--check-video:not(:hover):not(.is-active):not([aria-expanded='true']) .rail-quadrant-icon {
  opacity: 0.42;
}

/* Scaffale — satellite memoria clinica (P0.3; ex slot Roster overlay) */
#rail-clinical-scaffale-link.rail-quadrant {
  margin-bottom: 0;
  text-decoration: none;
  color: inherit;
  border: 1px solid transparent;
  border-radius: 10px;
  transition:
    background var(--t-fast),
    border-color var(--t-fast),
    color var(--t-fast);
}

#rail-clinical-scaffale-link.rail-quadrant:visited {
  color: inherit;
}

#rail-clinical-scaffale-link.rail-quadrant:hover,
#rail-clinical-scaffale-link.rail-quadrant:focus-visible {
  background: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 8%, rgba(8, 12, 20, 0.55));
  border-color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 22%, transparent);
}

#rail-clinical-scaffale-link.rail-quadrant:hover .rail-quadrant-icon,
#rail-clinical-scaffale-link.rail-quadrant:focus-visible .rail-quadrant-icon {
  stroke: var(--t1-cyan-gateway, #00f2ff);
}

/* ── rail-zone--system: respiro sotto Archivio+Progetti (non toccare margin-top: auto in style_4) ─ */
.rail-zone--system {
  padding-top: 34px;
  gap: var(--t1-rail-pair-intra);
}

/* ── Zona ARCHIVIO isolata (Fase 3.1.9) ───────────────────────────────── */
.rail-zone--archive {
  flex-shrink: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: auto;
  margin-bottom: 8px;
}

/* Separatori zona archivio: più aria sopra SETTINGS dopo ARCHIVIO */
.rail-sep--archive-top,
.rail-sep--archive-bottom {
  width: 22px;
  height: 1px;
  background: rgba(255, 255, 255, 0.05);
  flex-shrink: 0;
}

.rail-sep--archive-top {
  margin: 14px 0 8px;
}

.rail-sep--archive-bottom {
  margin: 24px 0 12px;
}

/* STAMP: header note operative — posizione in t1_share_cockpit.css */

/* ── Rail icon-only · label pill al hover/focus (Zen / Test 0) ─────────── */
.sidebar-rail.rail-command,
.sidebar-rail.rail-command .rail-command-stack,
.sidebar-rail.rail-command .rail-zone,
.sidebar-rail.rail-command .rail-pair {
  overflow: visible;
}

.sidebar-rail.rail-command .rail-quadrant,
.sidebar-rail.rail-command .rail-profile-anchor {
  overflow: visible;
}

.sidebar-rail.rail-command .rail-quadrant {
  padding: 3px 0;
}

.sidebar-rail.rail-command .rail-quadrant-inner {
  gap: 0;
  position: relative;
}

.sidebar-rail.rail-command .rail-profile-stack {
  gap: 0;
  position: relative;
}

/* Pill condivisa: solo label dirette (non figli dello stack T1) */
.sidebar-rail.rail-command .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-profile-stack > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  z-index: 210;
  white-space: nowrap;
  width: max-content;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 5px 11px;
  border-radius: 8px;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-indent: 0;
  text-align: left;
  text-transform: uppercase;
  color: rgba(224, 247, 250, 0.94);
  background:
    linear-gradient(
      160deg,
      rgba(232, 240, 250, 0.07) 0%,
      rgba(10, 14, 22, 0.78) 52%,
      rgba(6, 8, 14, 0.9) 100%
    );
  border: 1px solid color-mix(in srgb, var(--t1-cyan, #00e5ff) 24%, rgba(255, 255, 255, 0.07));
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.46),
    0 0 16px color-mix(in srgb, var(--t1-cyan, #00e5ff) 14%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%) translateX(-6px);
  transition:
    opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0.2s,
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.2s ease;
}

.sidebar-rail.rail-command .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}

.sidebar-rail.rail-command .rail-quadrant-label-stack--t1 .rail-quadrant-label--t1-brand,
.sidebar-rail.rail-command .rail-quadrant-label-stack--t1 .rail-quadrant-label--t1-space {
  position: static;
  transform: none;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1;
  visibility: inherit;
  font-size: 9.5px;
  letter-spacing: 0.1em;
  text-indent: 0;
  color: inherit;
}

.sidebar-rail.rail-command .rail-quadrant-label-stack--t1 .rail-quadrant-label--t1-brand {
  font-weight: 700;
  color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 82%, white 18%);
}

.sidebar-rail.rail-command .rail-quadrant-label-stack--t1 .rail-quadrant-label--t1-space {
  font-weight: 600;
  opacity: 0.92;
}

/* Pill rail: solo hover/focus — mai bloccata su is-active / aria-expanded */
.sidebar-rail.rail-command .rail-quadrant:not(:hover):not(:focus-visible) > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-profile-anchor:not(:hover):not(:focus-visible) > .rail-profile-stack > .rail-quadrant-label,
.sidebar-rail.rail-command #rail-project-space-link:not(:hover):not(:focus-visible) > .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) translateX(-6px);
}

/* Mostra pill */
.sidebar-rail.rail-command .rail-quadrant:hover > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-quadrant:focus-visible > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-profile-anchor:hover > .rail-profile-stack > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-profile-anchor:focus-visible > .rail-profile-stack > .rail-quadrant-label,
.sidebar-rail.rail-command #rail-project-space-link:hover > .rail-quadrant-inner > .rail-quadrant-label-stack--t1,
.sidebar-rail.rail-command #rail-project-space-link:focus-visible > .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

.sidebar-rail.rail-command .rail-quadrant.is-active:hover > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-quadrant.is-active:focus-visible > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-quadrant[aria-expanded='true']:hover > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-quadrant[aria-pressed='true']:hover > .rail-quadrant-inner > .rail-quadrant-label {
  color: color-mix(in srgb, var(--t1-cyan, #00e5ff) 42%, rgba(224, 247, 250, 0.96));
  border-color: color-mix(in srgb, var(--t1-cyan, #00e5ff) 38%, transparent);
}

/* Hint rail: auto-dismiss dopo ~2s (t1_hover_hint.js) */
.sidebar-rail.rail-command .rail-quadrant[data-hint-dismissed='true']:hover > .rail-quadrant-inner > .rail-quadrant-label,
.sidebar-rail.rail-command .rail-profile-anchor[data-hint-dismissed='true']:hover > .rail-profile-stack > .rail-quadrant-label,
.sidebar-rail.rail-command #rail-project-space-link[data-hint-dismissed='true']:hover > .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) translateX(-6px);
}

/* Focus tastiera coerente con active/hover: evita "stato perso" in rail icon-only. */
.sidebar-rail.rail-command .rail-quadrant:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--t1-cyan, #00e5ff) 34%, transparent);
  background: color-mix(in srgb, var(--t1-cyan, #00e5ff) 11%, rgba(10, 14, 22, 0.62));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--t1-cyan, #00e5ff) 24%, transparent),
    0 0 18px color-mix(in srgb, var(--t1-cyan, #00e5ff) 18%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .sidebar-rail.rail-command .rail-quadrant-inner > .rail-quadrant-label,
  .sidebar-rail.rail-command .rail-profile-stack > .rail-quadrant-label,
  .sidebar-rail.rail-command .rail-quadrant-inner > .rail-quadrant-label-stack--t1 {
    transform: translateY(-50%);
    transition-duration: 0.01ms;
  }
}
