/* UI Refresh v2 — 신청·결재·문서·프로젝트 관리 화면 구조 개선 */
.v2PageLead { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; padding:18px 20px; border:1px solid #e9ebf0; border-radius:16px; background:linear-gradient(135deg,#fff 0%,#f8f8ff 100%); }
.v2PageLead strong { display:block; font-size:20px; letter-spacing:-.4px; color:#252933; }
.v2PageLead span { display:block; margin-top:5px; font-size:13px; color:#7c8390; }
.v2LeadBadge { flex:none; padding:7px 10px; border-radius:999px; background:#eeefff; color:#4f46e5; font-size:11px; font-weight:700; }

.v2StructuredForm { position:relative; }
.v2FormSectionLabel { margin:24px -2px 8px; padding:16px 2px 8px; border-top:1px solid #eef0f3; }
.v2StructuredForm > .v2FormSectionLabel:first-of-type { margin-top:4px; padding-top:4px; border-top:0; }
.v2FormSectionTitle { font-size:14px; font-weight:750; letter-spacing:-.2px; color:#303541; }
.v2FormSectionDesc { margin-top:3px; font-size:11.5px; line-height:1.55; color:#949aa6; }
.v2StructuredForm #routeNotice, .v2StructuredForm #docRouteNotice { margin:8px 0 2px; padding:8px 10px; border-radius:9px; background:#f7f8fa; }
.v2StructuredForm button[type="submit"] { min-width:116px; margin-top:20px; }

.v2ApprovalSwitch { display:flex; gap:6px; width:max-content; max-width:100%; margin:0 0 20px; padding:5px; overflow:auto; border:1px solid #e9ebef; border-radius:12px; background:#f7f8fa; }
.v2ApprovalSwitchBtn { display:flex; align-items:center; gap:7px; min-height:36px; padding:7px 12px; border:0 !important; border-radius:8px !important; background:transparent !important; color:#6c7380 !important; font-size:12px; font-weight:650; white-space:nowrap; cursor:pointer; }
.v2ApprovalSwitchBtn b { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:#e8eaf0; color:#616875; font-size:10px; }
.v2ApprovalSwitchBtn.active { background:#fff !important; color:#35309c !important; box-shadow:0 1px 4px rgba(18,24,40,.08); }
.v2ApprovalSwitchBtn.active b { background:#eeefff; color:#4f46e5; }
#tab-approve > h2, #tab-docApprove > h2 { margin:18px 0 10px !important; font-size:15px; }
#tab-approve .listWrap, #tab-docApprove .listWrap { min-height:26px; }

.v2ChooserHead { margin:4px 0 10px; }
.v2ChooserHead strong { display:block; font-size:15px; color:#313641; }
.v2ChooserHead span { display:block; margin-top:4px; color:#8a909b; font-size:12px; }
.v2DocTypeChooser { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px !important; margin-bottom:18px !important; }
.v2DocTypeChooser .docTypeBtn { min-height:62px; padding:12px 14px !important; border:1px solid #e7e9ee !important; border-radius:12px !important; background:#fff !important; color:#515866 !important; text-align:left; font-weight:650; box-shadow:none !important; }
.v2DocTypeChooser .docTypeBtn::after { content:'문서 작성'; display:block; margin-top:4px; font-size:10.5px; font-weight:500; color:#9aa0aa; }
.v2DocTypeChooser .docTypeBtn.active { border-color:#cfd0ff !important; background:#f7f7ff !important; color:#4039bb !important; box-shadow:inset 0 0 0 1px #e0e0ff !important; }
.v2DocumentForm { max-width:980px; }
.v2DocumentForm .richEditorToolbar { border-radius:10px 10px 0 0; }
.v2DocumentForm .richEditor { border-radius:0 0 10px 10px; }

.v2AdminUtility { margin:10px 0 16px; border:1px dashed #dfe2e8; border-radius:11px; background:#fafbfc; }
.v2AdminUtility summary { padding:10px 12px; cursor:pointer; color:#737a87; font-size:12px; font-weight:650; }
.v2AdminUtility summary span { margin-left:6px; padding:3px 6px; border-radius:999px; background:#eef0f3; color:#8c929d; font-size:9.5px; font-weight:600; }
.v2AdminUtility > .filterBar { margin:0 8px 8px; border:0; background:#fff; }
.v2PrimaryAction { margin-bottom:14px !important; padding:10px 14px !important; border-color:#d6d5ff !important; background:#f7f7ff !important; color:#4841ca !important; font-weight:700 !important; }
.v2ProjectForm { max-width:1100px; }
.v2ProjectForm #pjParticipantsWrap, .v2ProjectForm #pjOutsourcingWrap { padding:4px 0; }
.v2ProjectForm .companionList { background:#fafbfc; border-radius:10px; padding:10px; }

.v2WorkloadSummary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 24px; }
.v2MetricCard { position:relative; min-height:104px; padding:16px 17px; overflow:hidden; border:1px solid #ebedf1; border-radius:14px; background:#fff; }
.v2MetricCard::after { content:''; position:absolute; width:60px; height:60px; right:-18px; top:-18px; border-radius:50%; background:#f3f3ff; }
.v2MetricCard span { display:block; color:#737b88; font-size:11.5px; font-weight:650; }
.v2MetricCard b { display:block; margin-top:8px; color:#292e38; font-size:28px; line-height:1; letter-spacing:-.7px; }
.v2MetricCard small { display:block; margin-top:7px; color:#a0a5ae; font-size:10.5px; }
#tab-workload > h3 { margin-top:28px !important; padding-top:4px; font-size:14px !important; color:#353a45; }
#tab-workload .tableWrap { margin-top:10px; }
#tab-workload > .row[style*="align-items:flex-start"] > div { padding:14px; border:1px solid #eceef2; border-radius:12px; background:#fafbfc; }

@media (max-width:800px) {
  .v2PageLead { align-items:flex-start; padding:15px; }
  .v2PageLead strong { font-size:18px; }
  .v2LeadBadge { display:none; }
  .v2ApprovalSwitch { width:100%; }
  .v2ApprovalSwitchBtn { flex:1; justify-content:center; }
  .v2DocTypeChooser { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2DocTypeChooser .docTypeBtn { min-height:54px; }
  .v2WorkloadSummary { grid-template-columns:1fr; gap:8px; }
  .v2MetricCard { min-height:84px; }
  #tab-workload > .row[style*="align-items:flex-start"] { flex-direction:column; }
}

.v2SwitchHidden { display:none !important; }
