/* v72 — 통합 문서함 */

#tab-docHub,
#tab-docApply {
  max-width: 1180px;
}

.docHubHeader,
.docComposeHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.docHubHeader h2,
.docComposeHeader h2 {
  margin: 0 0 6px;
}

.docComposeHeader p {
  margin: 0;
  color: #7b8496;
  font-size: 13px;
}

.docPrimaryBtn {
  border: 0;
  border-radius: 10px;
  background: #4f46e5;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  padding: 11px 18px;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(79,70,229,.18);
}

.docPrimaryBtn:hover { background: #4338ca; }

.docBackBtn {
  display: inline-flex;
  margin-bottom: 14px;
}

.docHubTabs {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  margin: 0 0 16px;
  border: 1px solid #e4e8ef;
  border-radius: 14px;
  background: #fff;
  width: fit-content;
}

.docHubTab {
  border: 0;
  background: transparent;
  color: #667085;
  border-radius: 10px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.docHubTab span {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  padding: 0 6px;
  border-radius: 999px;
  background: #eef0f5;
  color: #667085;
  font-size: 11px;
}

.docHubTab.active {
  background: #5146e5;
  color: #fff;
}

.docHubTab.active span {
  background: rgba(255,255,255,.18);
  color: #fff;
}

.docHubPane {
  min-height: 320px;
}

.docToolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 11px 12px;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid #e5e9f0;
  border-radius: 12px;
}

.docToolbar input,
.docToolbar select {
  height: 36px;
  min-width: 140px;
  border: 1px solid #dfe3ea;
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
  color: #313744;
  font-size: 12px;
}

.docToolbar input[type="text"] { min-width: 230px; flex: 0 1 320px; }

.docDataTable {
  overflow: hidden;
  border: 1px solid #e5e9f0;
  border-radius: 14px;
  background: #fff;
}

.docTableHead,
.docTableRow {
  display: grid;
  align-items: center;
  column-gap: 14px;
}

.docProgressCols {
  grid-template-columns: minmax(250px, 1.65fr) 130px 100px minmax(155px, .9fr) 110px 105px;
}

.docArchiveCols {
  grid-template-columns: 135px minmax(300px, 1.65fr) 110px 115px minmax(150px, .8fr) 70px;
}

.docTableHead {
  min-height: 42px;
  padding: 0 16px;
  background: #f7f8fa;
  border-bottom: 1px solid #e8ebf0;
  color: #6f7785;
  font-size: 11px;
  font-weight: 700;
}

.docTableRow {
  min-height: 62px;
  padding: 9px 16px;
  border-bottom: 1px solid #edf0f4;
  color: #3c4350;
  font-size: 12px;
}

.docTableRow:hover { background: #fafbff; }
.docTableRow:last-of-type { border-bottom: 0; }

.docMainCell { min-width: 0; }

.docMainCell small {
  display: block;
  margin-top: 4px;
  color: #9aa1ad;
  font-size: 10px;
}

.docTitleBtn,
.docActionTitle {
  border: 0;
  padding: 0;
  background: none;
  color: #263bc3;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  line-height: 1.45;
}

.docTitleBtn:hover,
.docActionTitle:hover { text-decoration: underline; }

.docTypePill,
.docStatusPill {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 700;
}

.docTypePill {
  background: #f1f3f7;
  color: #596273;
}

.docTypePill.type-지출결의서 { background: #fff6df; color: #a36500; }
.docTypePill.type-내부결재 { background: #edf3ff; color: #315db9; }
.docTypePill.type-외부공문,
.docTypePill.type-외부접수문서 { background: #eef5f6; color: #49656a; }
.docTypePill.type-출장비청구서 { background: #f4efff; color: #6b48b6; }
.docTypePill.type-보안문서 { background: #fff0f0; color: #b14a4a; }

.docStatusPill.status-검토대기,
.docStatusPill.status-승인대기 { background: #fff6df; color: #9b690b; }
.docStatusPill.status-반려 { background: #fff0f0; color: #b54747; }
.docStatusPill.status-승인 { background: #eaf8ef; color: #21834b; }

.docStageCell { color: #5e6674; }

.docRowAction {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
}

.docMoreBtn,
.docTextDanger {
  border: 0;
  background: transparent;
  padding: 5px 7px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 11px;
}

.docMoreBtn { color: #4f46e5; }
.docMoreBtn:hover { background: #f0efff; }
.docTextDanger { color: #b84a4a; }
.docTextDanger:hover { background: #fff1f1; }

.docTableDetail.cardDetailPanel {
  margin: 0;
  padding: 16px 20px;
  border: 0;
  border-bottom: 1px solid #e8ecf2;
  border-radius: 0;
  background: #fafbfc;
}

.docDetailActions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.docArchiveValue { color: #29303b; font-size: 12px; }

.docArchiveDetailMeta {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  color: #626b78;
  font-size: 12px;
}

.archiveFolderEdit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.archiveFolderEdit > span { color: #8b93a0; font-size: 11px; }
.archiveFolderEdit select {
  min-width: 130px;
  height: 31px;
  border: 1px solid #dfe3ea;
  border-radius: 7px;
  background: #fff;
}

.docApprovalGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.docApprovalPanel {
  min-width: 0;
  padding: 16px;
  border: 1px solid #e4e8ef;
  border-radius: 14px;
  background: #fff;
}

.docApprovalPanel > p {
  margin: 4px 0 13px;
  color: #89919d;
  font-size: 11px;
}

.docPanelHead {
  display: flex;
  align-items: center;
  gap: 8px;
}
.docPanelHead h3 { margin: 0; font-size: 14px; }
.docCountBadge {
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f0efff;
  color: #4f46e5;
  font-size: 11px;
  font-weight: 700;
}

.compactDocActionList { display: flex; flex-direction: column; gap: 8px; }

.docActionCard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #e9ecf1;
  border-radius: 10px;
  background: #fbfcfd;
}

.docActionInfo { min-width: 0; flex: 1; }
.docActionMeta { display: flex; align-items: center; gap: 7px; color: #9299a5; font-size: 10px; margin-bottom: 5px; }
.docActionTitle { display: block; color: #252b36; }
.docActionSub { margin-top: 4px; color: #8a929e; font-size: 10px; }
.docActionButtons { display: flex; flex-direction: column; gap: 6px; flex: 0 0 auto; }
.docActionButtons button { min-width: 74px; font-size: 11px; padding: 7px 9px; }

.docAdvancedBox {
  margin-top: 16px;
  border: 1px solid #e4e8ef;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.docAdvancedBox > summary {
  cursor: pointer;
  padding: 12px 15px;
  color: #636c79;
  font-size: 12px;
  font-weight: 700;
  list-style: none;
}
.docAdvancedBox > summary::-webkit-details-marker { display: none; }
.docAdvancedBox[open] > summary { border-bottom: 1px solid #eceff3; }
.docAdvancedToolbar { border: 0; margin: 0; border-radius: 0; }

.folderManageInner {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 14px;
}
.folderManageInner input {
  height: 34px;
  border: 1px solid #dfe3ea;
  border-radius: 8px;
  padding: 0 9px;
}

.docEmptyState { padding: 44px 20px; color: #98a0ac; }

/* 기존 완료 문서함의 반복적인 상태/폴더 UI보다 통합 표가 우선하도록 */
#tab-docHub .reqCard .detailToggleHint { display: none; }

@media (max-width: 1100px) {
  .docProgressCols { grid-template-columns: minmax(230px, 1.6fr) 115px 95px minmax(130px, .9fr) 95px 80px; }
  .docArchiveCols { grid-template-columns: 120px minmax(250px, 1.5fr) 95px 105px 130px 60px; }
}

@media (max-width: 900px) {
  .docApprovalGrid { grid-template-columns: 1fr; }
  .docDataTable { overflow-x: auto; }
  .docTableHead,
  .docTableRow { min-width: 830px; }
  .docHubHeader { align-items: center; }
}
