
/* Global compact panel rhythm: injected table controls should never create large vertical gaps. */
.workspace-view {
  gap: 10px !important;
}

.workspace-view .execution-panel {
  padding: 14px !important;
  border-radius: 14px !important;
}

.workspace-view .execution-panel:has(.table-tools) {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.workspace-view .section-title {
  margin-bottom: 8px !important;
}

.workspace-view .table-tools {
  margin: 0 0 8px !important;
  gap: 8px !important;
}

.workspace-view .table-tools label {
  gap: 4px !important;
}

.workspace-view .table-tools input,
.workspace-view .table-tools select {
  width: min(210px, 100%) !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
}

.workspace-view .table-wrap {
  margin-top: 0 !important;
  border-radius: 12px !important;
}

.workspace-view .data-table th,
.workspace-view .data-table td {
  padding: 8px 10px !important;
}

#editorsTable td {
  vertical-align: middle !important;
}

#editorsTable .radio-row {
  gap: 6px !important;
}

#editorsTable .radio-row label {
  min-height: 26px !important;
  min-width: 76px !important;
  padding: 0 !important;
}

#editorsTable .employment-status-select,
#editorsTable .resignation-date-input {
  min-height: 30px !important;
  padding: 5px 7px !important;
}

/* Temporary Admin containment: keep dense tabs usable until the visual pass. */
#adminView:not(.hidden) {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 6px !important;
}

#adminView .admin-tabbar {
  flex: 0 0 auto !important;
  margin-bottom: 10px !important;
}

#adminView > section.execution-panel {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-height: auto !important;
  overflow: visible !important;
}

#adminView > .admin-tab-workspace-panel:not(.hidden) {
  display: block;
  width: 100%;
  padding: 0 !important;
  gap: 0 !important;
}

#adminView[data-active-admin-tab="dailies"] > section.execution-panel[data-admin-tab="dailies"]:not(.hidden),
#adminView[data-active-admin-tab="onboarding"] > section.execution-panel[data-admin-tab="onboarding"]:not(.hidden),
#adminView[data-active-admin-tab="ops"] > section.execution-panel[data-admin-tab="ops"]:not(.hidden),
#adminView[data-active-admin-tab="people"] > section.execution-panel[data-admin-tab="people"]:not(.hidden),
#adminView[data-active-admin-tab="view"] > section.execution-panel[data-admin-tab="view"]:not(.hidden),
#adminView[data-active-admin-tab="kpi"] > .admin-tab-workspace-panel:not(.hidden),
#adminView[data-active-admin-tab="logs"] > .admin-tab-workspace-panel:not(.hidden),
#adminView[data-active-admin-tab="reports"] > .admin-tab-workspace-panel:not(.hidden),
#adminView[data-active-admin-tab="sop"] > .admin-tab-workspace-panel:not(.hidden) {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

.attendance-code-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 8px;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}

.sop-acknowledgement-block {
  display: grid;
  gap: 8px;
  max-height: 260px;
  overflow: auto;
  text-align: left;
}

.sop-acknowledgement-block p {
  margin: 0;
  color: #334155;
}

.sop-acknowledgement-note {
  padding: 10px;
  border: 1px solid #bfdbfe;
  border-radius: 10px;
  background: #eff6ff;
  color: #0f2747;
  line-height: 1.45;
}

.attendance-code-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #f8fbff;
}

.attendance-code-legend b {
  color: #0d2b52;
  font-weight: 950;
}

.attendance-form-row {
  display: flex;
  align-items: end;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  grid-column: 1 / -1;
  overflow: visible;
}

.attendance-form-row label {
  min-width: 0;
  width: 150px;
  flex: 0 0 150px;
}

.attendance-form-row label:has(input[type="file"]) {
  width: 220px;
  flex-basis: 220px;
}

.attendance-form-row .inline-checkbox {
  min-width: auto;
  align-self: center;
  padding-bottom: 9px;
}

.attendance-config-row {
  justify-content: flex-start;
}

#monthlyAttendanceForm {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
}

#monthlyAttendanceForm .message {
  margin: 0;
}
