/* Workspace de documentos GhSoft: navegación de nivel ERP, compatible con Phoenix. */
#ghsoftDocumentWorkspace {
  --ghsoft-tab-border: var(--phoenix-border-color);
  --ghsoft-tab-surface: var(--phoenix-body-bg);
  --ghsoft-tab-surface-soft: var(--phoenix-secondary-bg-subtle);
  --ghsoft-tab-text: var(--phoenix-secondary-color);
  --ghsoft-tab-highlight: var(--phoenix-primary);
  position: relative;
  z-index: 8;
  margin-bottom: 1rem;
}

.ghsoft-workspace-bar {
  align-items: stretch;
  background: var(--ghsoft-tab-surface);
  border: 1px solid var(--ghsoft-tab-border);
  border-radius: var(--phoenix-border-radius);
  display: flex;
  min-height: 3.25rem;
}

.ghsoft-workspace-tabs-scroll {
  -ms-overflow-style: none;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.ghsoft-workspace-tabs-scroll::-webkit-scrollbar { display: none; }

.ghsoft-document-tab {
  align-items: center;
  background: transparent;
  border: 0;
  border-inline-end: 1px solid var(--ghsoft-tab-border);
  color: var(--ghsoft-tab-text);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .8125rem;
  font-weight: 600;
  gap: .45rem;
  max-width: 16rem;
  min-height: 3.125rem;
  padding: .625rem .75rem;
  position: relative;
  text-align: start;
}

.ghsoft-document-tab:hover,
.ghsoft-document-tab:focus-visible {
  background: var(--ghsoft-tab-surface-soft);
  color: var(--phoenix-emphasis-color);
  outline: none;
}

.ghsoft-document-tab.is-active {
  background: var(--phoenix-primary-bg-subtle);
  color: var(--ghsoft-tab-highlight);
}

.ghsoft-document-tab.is-active::after {
  background: var(--ghsoft-tab-highlight);
  bottom: 0;
  content: '';
  height: 2px;
  inset-inline: .625rem;
  position: absolute;
}

.ghsoft-document-tab.is-loading .ghsoft-tab-icon { display: none; }
.ghsoft-document-tab .ghsoft-tab-spinner { display: none; }
.ghsoft-document-tab.is-loading .ghsoft-tab-spinner { display: inline-block; }

.ghsoft-tab-icon,
.ghsoft-tab-spinner,
.ghsoft-tab-dirty,
.ghsoft-tab-error {
  flex: 0 0 auto;
}

.ghsoft-tab-title {
  max-width: 11.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ghsoft-tab-dirty {
  color: var(--phoenix-warning);
  font-size: .75rem;
  line-height: 1;
}

.ghsoft-tab-error { color: var(--phoenix-danger); }

.ghsoft-tab-close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: inherit;
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.375rem;
  justify-content: center;
  margin-inline-start: .125rem;
  padding: 0;
  width: 1.375rem;
}

.ghsoft-tab-close:hover,
.ghsoft-tab-close:focus-visible {
  background: var(--phoenix-danger-bg-subtle);
  color: var(--phoenix-danger);
  outline: none;
}

.ghsoft-workspace-actions {
  align-items: center;
  border-inline-start: 1px solid var(--ghsoft-tab-border);
  display: flex;
  flex: 0 0 auto;
  padding: .375rem;
}

.ghsoft-workspace-actions .btn { min-width: 2.25rem; }

#ghsoftWorkspaceContent[hidden] { display: none !important; }
#ghsoftPageContent[hidden] { display: none !important; }

#ghsoftWorkspaceContent {
  min-height: 18rem;
}

.ghsoft-workspace-loading,
.ghsoft-workspace-error {
  align-items: center;
  border: 1px dashed var(--phoenix-border-color);
  color: var(--phoenix-secondary-color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 18rem;
  text-align: center;
}

.ghsoft-workspace-error { color: var(--phoenix-danger); }

.ghsoft-workspace-document {
  min-height: 18rem;
}

.ghsoft-workspace-document[data-ghsoft-document-loading='true'] { opacity: .72; }

@media (max-width: 575.98px) {
  #ghsoftDocumentWorkspace { margin-inline: -.35rem; }
  .ghsoft-workspace-bar { border-inline: 0; border-radius: 0; }
  .ghsoft-document-tab { max-width: 12rem; padding-inline: .625rem; }
  .ghsoft-tab-title { max-width: 7.25rem; }
  .ghsoft-workspace-actions { padding-inline: .25rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .ghsoft-document-tab,
  .ghsoft-tab-close,
  #ghsoftWorkspaceContent {
    transition: background-color .16s ease, color .16s ease, opacity .16s ease;
  }
}
