/* ASGG 전면 리스킨 1단계 — 공용 토큰 · 탭바 · 카드 골격 (v gs-1)
 * 범위: 워크스페이스(.workspace-shell) 공통 프리미티브만.
 * 인쇄 팝업은 별도 문서라 영향 없음. 화면별 보정은 다음 단계에서.
 */
:root {
  --gs-paper: #f7f6f3;
  --gs-card: #ffffff;
  --gs-ink: #1a1a18;
  --gs-ink2: #3a3934;
  --gs-muted: #8a887f;
  --gs-faint: #a09e94;
  --gs-hair: #e3e0d8;
  --gs-green: #166534;
  --gs-amber: #a16207;
  --gs-red: #b91c1c;
}

body { background: var(--gs-paper) !important; }

/* ---------- 상단 탭바 ---------- */
.asgg-tabbar,
nav.tab-nav.workflow-nav {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--gs-hair) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.workspace-shell .tab-btn,
nav.tab-nav .tab-btn {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--gs-muted) !important;
  font-size: 13px;
  letter-spacing: .02em;
  padding: 12px 6px;
  transition: color .2s;
}
.workspace-shell .tab-btn:hover,
nav.tab-nav .tab-btn:hover { color: var(--gs-ink) !important; }
.workspace-shell .tab-btn.active,
nav.tab-nav .tab-btn.active {
  color: var(--gs-ink) !important;
  font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--gs-ink) !important;
}

/* ---------- 카드 골격 ---------- */
.workspace-shell section.card.tab-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0;
}
.workspace-shell .card {
  background: var(--gs-card);
  border: 1px solid var(--gs-hair);
  border-radius: 0;
  box-shadow: none;
}
.workspace-shell section.card.tab-content > .card,
.workspace-shell .card .card { box-shadow: none; }

/* ---------- 타이포 ---------- */
.workspace-shell h1, .workspace-shell h2, .workspace-shell h3, .workspace-shell h4,
.workspace-shell .section-title {
  color: var(--gs-ink);
  -webkit-text-fill-color: var(--gs-ink);
  letter-spacing: -.01em;
}
.workspace-shell small, .workspace-shell .hint, .workspace-shell .desc { color: var(--gs-muted); }

/* ---------- 표 ---------- */
.workspace-shell table th {
  background: transparent !important;
  color: var(--gs-muted) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  border-bottom: 1px solid var(--gs-ink) !important;
}
.workspace-shell table td { border-color: var(--gs-hair) !important; }
.workspace-shell table { border-color: var(--gs-hair) !important; }
.workspace-shell td, .workspace-shell th { font-variant-numeric: tabular-nums; }

/* ---------- 입력 ---------- */
.workspace-shell input[type="text"],
.workspace-shell input[type="number"],
.workspace-shell input[type="date"],
.workspace-shell input[type="search"],
.workspace-shell select,
.workspace-shell textarea {
  background: #fff;
  border: 1px solid var(--gs-hair);
  border-radius: 4px;
  color: var(--gs-ink);
  box-shadow: none;
}
.workspace-shell input:focus,
.workspace-shell select:focus,
.workspace-shell textarea:focus {
  border-color: var(--gs-ink);
  outline: none;
  box-shadow: none;
}
.workspace-shell label { color: var(--gs-ink2); }

/* ---------- 버튼 공통 (형태만 정돈, 의미색은 단계별 보정) ---------- */
.workspace-shell button { border-radius: 4px; }

/* ---------- 고특이도 오버라이드 (#view-workspace ID 규칙 대응) ---------- */
#view-workspace nav.tab-nav.workflow-nav, body.workspace-mode nav.tab-nav.workflow-nav {
  background: transparent !important; background-image: none !important;
  border: none !important; border-bottom: 1px solid var(--gs-hair) !important;
  border-radius: 0 !important; box-shadow: none !important;
}
#view-workspace nav.tab-nav .tab-btn, body.workspace-mode nav.tab-nav .tab-btn {
  background: transparent !important; background-image: none !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--gs-muted) !important; text-shadow: none !important;
}
#view-workspace nav.tab-nav .tab-btn:hover, body.workspace-mode nav.tab-nav .tab-btn:hover { color: var(--gs-ink) !important; }
#view-workspace nav.tab-nav .tab-btn.active, body.workspace-mode nav.tab-nav .tab-btn.active {
  background: transparent !important; background-image: none !important;
  color: var(--gs-ink) !important; font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--gs-ink) !important;
}

/* ---------- 상단 워크스페이스 탭 스트립 (.ws-top-tab) ---------- */
header.top-navbar.asgg-topbar { background:#fff !important; border-bottom:1px solid var(--gs-hair) !important; box-shadow:none !important; }
header.asgg-topbar .ws-top-tab, .global-workspace-tabs .ws-top-tab {
  background:transparent !important; background-image:none !important;
  border:none !important; border-radius:0 !important; box-shadow:none !important;
  color:var(--gs-muted) !important; text-shadow:none !important;
  padding:10px 5px; font-size:12.5px; letter-spacing:.02em; transition:color .2s;
}
header.asgg-topbar .ws-top-tab:hover, .global-workspace-tabs .ws-top-tab:hover { color:var(--gs-ink) !important; }
header.asgg-topbar .ws-top-tab.active, .global-workspace-tabs .ws-top-tab.active {
  background:transparent !important; background-image:none !important;
  color:var(--gs-ink) !important; font-weight:600;
  box-shadow:inset 0 -2px 0 var(--gs-ink) !important;
}

/* ---------- 최종 오버라이드: JS 주입 vc 테마(#asgg-vercel-inspired-system) 대응 ---------- */
#global-workspace-tabs .ws-top-tab.ws-top-tab, header.top-navbar.asgg-topbar .global-workspace-tabs .ws-top-tab {
  background:transparent !important; background-image:none !important;
  border:none !important; border-radius:0 !important; box-shadow:none !important;
  color:var(--gs-muted) !important;
}
#global-workspace-tabs .ws-top-tab.ws-top-tab:hover { color:var(--gs-ink) !important; background:transparent !important; }
#global-workspace-tabs .ws-top-tab.ws-top-tab.active, header.top-navbar.asgg-topbar .global-workspace-tabs .ws-top-tab.active {
  background:transparent !important; background-image:none !important;
  color:var(--gs-ink) !important; font-weight:600;
  box-shadow:inset 0 -2px 0 var(--gs-ink) !important;
}

/* ---------- 2단계: text-fill 상속 리셋 + 배지·상태 필 정돈 ---------- */
.workspace-shell button, .workspace-shell [class*="btn"], .workspace-shell .detail-workflow-step,
.workspace-shell input, .workspace-shell select, .workspace-shell textarea, .workspace-shell a {
  -webkit-text-fill-color: currentColor !important;
}
.workspace-shell .contract-panel-badge {
  background: transparent !important; border: 1px solid var(--gs-hair) !important;
  color: var(--gs-muted) !important; border-radius: 2px !important; box-shadow: none !important;
  font-weight: 600; letter-spacing: .06em;
}
.workspace-shell .fcp-action-badge, .workspace-shell .fcp-vendor-status {
  background: transparent !important; border: 1px solid var(--gs-hair) !important;
  border-radius: 2px !important; box-shadow: none !important; font-weight: 600;
}
.workspace-shell .fcp-action-badge.is-warning { color: var(--gs-amber) !important; border-color: color-mix(in srgb, var(--gs-amber) 35%, var(--gs-hair)) !important; }
.workspace-shell .fcp-action-badge.is-risk { color: var(--gs-red) !important; border-color: color-mix(in srgb, var(--gs-red) 35%, var(--gs-hair)) !important; }
.workspace-shell .fcp-action-badge.is-planned, .workspace-shell .fcp-vendor-status.is-planned { color: var(--gs-ink2) !important; }
.workspace-shell .fcp-action-badge.is-normal, .workspace-shell .fcp-vendor-status.is-done { color: var(--gs-green) !important; border-color: color-mix(in srgb, var(--gs-green) 30%, var(--gs-hair)) !important; }

/* ---------- 2단계 보강: 지출/정산 fcp 테마(ID 2개+!important) 대응 ---------- */
#view-workspace .fcp-action-badge.fcp-action-badge, #view-workspace .fcp-vendor-status.fcp-vendor-status {
  background: transparent !important; border: 1px solid var(--gs-hair) !important;
  border-radius: 2px !important; box-shadow: none !important; font-weight: 600;
}
#view-workspace .fcp-action-badge.fcp-action-badge.is-warning { color: var(--gs-amber) !important; }
#view-workspace .fcp-action-badge.fcp-action-badge.is-risk { color: var(--gs-red) !important; }
#view-workspace .fcp-action-badge.fcp-action-badge.is-planned, #view-workspace .fcp-vendor-status.fcp-vendor-status.is-planned { color: var(--gs-ink2) !important; }
#view-workspace .fcp-action-badge.fcp-action-badge.is-normal, #view-workspace .fcp-vendor-status.fcp-vendor-status.is-done { color: var(--gs-green) !important; }

/* ---------- 2단계 보강2: #tab-8 ID 2개 셀렉터 대응 ---------- */
#view-workspace #tab-8 .fcp-action-badge.fcp-action-badge, #view-workspace #tab-8 .fcp-status-badge.fcp-status-badge,
#view-workspace #tab-8 .fcp-vendor-status.fcp-vendor-status, #view-workspace #tab-8 .settle-month-status-badge.settle-month-status-badge {
  background: transparent !important; border: 1px solid var(--gs-hair) !important;
  border-radius: 2px !important; box-shadow: none !important; font-weight: 600;
}
#view-workspace #tab-8 .fcp-action-badge.fcp-action-badge.is-warning, #view-workspace #tab-8 .fcp-status-badge.fcp-status-badge.is-warning, #view-workspace #tab-8 .settle-month-status-badge.settle-month-status-badge.is-warning { color: var(--gs-amber) !important; }
#view-workspace #tab-8 .fcp-action-badge.fcp-action-badge.is-risk, #view-workspace #tab-8 .fcp-status-badge.fcp-status-badge.is-risk, #view-workspace #tab-8 .settle-month-status-badge.settle-month-status-badge.is-risk { color: var(--gs-red) !important; }
#view-workspace #tab-8 .fcp-action-badge.fcp-action-badge.is-planned, #view-workspace #tab-8 .fcp-vendor-status.fcp-vendor-status.is-planned, #view-workspace #tab-8 .settle-month-status-badge.settle-month-status-badge.is-planned { color: var(--gs-ink2) !important; }
#view-workspace #tab-8 .fcp-action-badge.fcp-action-badge.is-normal, #view-workspace #tab-8 .fcp-status-badge.fcp-status-badge.is-normal, #view-workspace #tab-8 .fcp-vendor-status.fcp-vendor-status.is-done { color: var(--gs-green) !important; }

/* ---------- 3단계: 현장보고서(#tab-10) 모드 탭 정돈 ---------- */
#view-workspace #tab-10 .daily-report-mode-tabs.daily-report-mode-tabs {
  background: transparent !important; border: none !important;
  border-bottom: 1px solid var(--gs-hair) !important; border-radius: 0 !important; box-shadow: none !important;
  padding: 0 !important; gap: 22px;
}
#view-workspace #tab-10 .daily-report-mode-tab.daily-report-mode-tab {
  background: transparent !important; background-image: none !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--gs-muted) !important; font-size: 13px; padding: 12px 4px !important; transition: color .2s;
}
#view-workspace #tab-10 .daily-report-mode-tab.daily-report-mode-tab:hover { color: var(--gs-ink) !important; }
#view-workspace #tab-10 .daily-report-mode-tab.daily-report-mode-tab.active {
  background: transparent !important; color: var(--gs-ink) !important; font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--gs-ink) !important;
}

/* ---------- 4단계: 현장리스트(#dash-proj) 톤 정리 ---------- */
#dash-proj { font-variant-numeric: tabular-nums; }
#dash-proj .text-success, #dash-proj .text-success * { color: var(--gs-green) !important; }
#dash-proj .text-danger, #dash-proj .text-danger * { color: var(--gs-red) !important; }
#dash-proj .text-warning, #dash-proj .text-warning * { color: var(--gs-amber) !important; }
#dash-proj .dash-money-main { letter-spacing: -.01em; }
#dash-proj .dash-money-sub, #dash-proj .dash-insight-money-col, #dash-proj .dash-insight-value { font-variant-numeric: tabular-nums; }
#dash-proj .badge { border-radius: 2px; letter-spacing: .04em; }
#dash-proj .dash-idea-plan-link { border-radius: 2px !important; }
#dash-proj .dash-money-sub b { color: var(--gs-green) !important; }

/* ---------- 메인 히어로 강조 (entry-hero) ---------- */
#view-entry .entry-hero h1 {
  font-family: Georgia, "Noto Serif KR", serif !important;
  font-size: clamp(56px, 6.5vw, 100px) !important;
  line-height: 1.02 !important; letter-spacing: -.03em !important;
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink);
  margin: 18px 0 14px !important;
}
#view-entry .entry-hero h1 span {
  display: block; font-family: Pretendard, sans-serif !important;
  font-size: 11px !important; letter-spacing: .5em !important;
  color: var(--gs-muted) !important; -webkit-text-fill-color: var(--gs-muted);
  margin-top: 18px; font-weight: 600;
}
#view-entry .entry-kicker { font-size: 10.5px !important; letter-spacing: .34em !important; color: var(--gs-muted) !important; }
#view-entry .entry-kicker::after { content:""; display:block; width:56px; height:2px; background:var(--gs-ink); margin-top:14px; }
#view-entry .entry-hero p { max-width: 46ch; }
#view-entry .entry-system-panel { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; }
#view-entry .entry-system-row {
  background: transparent !important; border: none !important; box-shadow: none !important;
  border-top: 1px solid var(--gs-ink) !important; border-radius: 0 !important;
  padding: 14px 18px 18px 2px !important;
}
#view-entry .entry-system-row span { font-size: 10.5px !important; letter-spacing: .18em !important; color: var(--gs-muted) !important; text-transform: uppercase; }
#view-entry .entry-system-row strong {
  display: block; font-size: 52px !important; line-height: 1.1 !important; font-weight: 700 !important;
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink);
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; margin-top: 6px;
}
#view-entry .entry-system-foot { color: var(--gs-faint) !important; letter-spacing: .18em !important; font-size: 9.5px !important; border-top: 1px solid var(--gs-hair); padding-top: 10px; }
@keyframes asggHeroUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
#view-entry .entry-hero > div > *, #view-entry .entry-system-row { animation: asggHeroUp .9s cubic-bezier(.19,1,.22,1) both; }
#view-entry .entry-hero > div > *:nth-child(2) { animation-delay: .08s; } #view-entry .entry-hero > div > *:nth-child(3) { animation-delay: .16s; }
#view-entry .entry-system-row:nth-child(2) { animation-delay: .2s; } #view-entry .entry-system-row:nth-child(3) { animation-delay: .28s; } #view-entry .entry-system-row:nth-child(4) { animation-delay: .36s; }
@media (prefers-reduced-motion: reduce) { #view-entry .entry-hero > div > *, #view-entry .entry-system-row { animation: none; } }

/* ---------- 브랜드 록업 정제 (세리프 아이덴티티) ---------- */
#view-entry .entry-brand-mark {
  background: var(--gs-ink) !important; border: none !important; box-shadow: none !important;
  width: 46px !important; height: 46px !important;
}
#view-entry .entry-brand-mark span {
  font-family: Georgia, "Noto Serif KR", serif !important;
  color: var(--gs-paper) !important; -webkit-text-fill-color: var(--gs-paper);
  font-size: 12px !important; font-weight: 400 !important;
  text-shadow: none !important; letter-spacing: 0 !important;
}
#view-entry .entry-brand-text strong {
  font-family: Georgia, "Noto Serif KR", serif !important;
  font-size: 17px !important; letter-spacing: .12em !important; font-weight: 400 !important;
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink);
}
#view-entry .entry-brand-text small {
  font-size: 9px !important; letter-spacing: .32em !important; text-transform: uppercase;
  color: var(--gs-muted) !important; -webkit-text-fill-color: var(--gs-muted); font-weight: 500 !important;
}
header.asgg-topbar .brand-name b, .asgg-brand-name-v2 b {
  font-family: Georgia, "Noto Serif KR", serif !important;
  font-size: 16px !important; letter-spacing: .1em !important; font-weight: 400 !important;
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink);
}
header.asgg-topbar .brand-name small, .asgg-brand-name-v2 small {
  font-size: 8.5px !important; letter-spacing: .3em !important; text-transform: uppercase;
  color: var(--gs-muted) !important; -webkit-text-fill-color: var(--gs-muted);
}

/* 브랜드 마크: U·N·D·G 2×2 그리드 정렬 */
#view-entry .entry-brand-mark {
  display: grid !important; grid-template-columns: repeat(2, 1fr) !important;
  place-items: center !important; box-sizing: border-box !important;
  padding: 8px 9px !important; border-radius: 50% !important; overflow: hidden !important;
  flex: 0 0 46px;
}
#view-entry .entry-brand-mark span {
  position: static !important; margin: 0 !important; padding: 0 !important;
  line-height: 1 !important; font-size: 11px !important;
}

/* ---------- 전수 통일 (gs-15) ---------- */
.top-navbar.asgg-topbar .brand-name.asgg-brand-name-v2 b {
  font-family: Georgia, "Noto Serif KR", serif !important; font-size: 16px !important;
  letter-spacing: .1em !important; font-weight: 400 !important;
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink) !important;
}
.top-navbar.asgg-topbar .brand-name.asgg-brand-name-v2 small {
  font-size: 8.5px !important; letter-spacing: .3em !important; text-transform: uppercase;
  color: var(--gs-muted) !important; -webkit-text-fill-color: var(--gs-muted) !important;
}
.top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn {
  background: transparent !important; background-image: none !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--gs-muted) !important; text-shadow: none !important;
  padding: 10px 5px; font-size: 12.5px; letter-spacing: .02em; transition: color .2s;
}
.top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn:hover { color: var(--gs-ink) !important; }
.top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn.active {
  background: transparent !important; color: var(--gs-ink) !important; font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--gs-ink) !important;
}
.top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-create { border-radius: 4px !important; }
body .badge {
  background: transparent !important; border: 1px solid var(--gs-hair) !important;
  border-radius: 2px !important; box-shadow: none !important; letter-spacing: .04em;
}
.dash-material-link {
  color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink);
  text-decoration: underline !important; text-decoration-color: var(--gs-faint) !important; text-underline-offset: 3px;
}
#view-dashboard .flow-display { font-family: Georgia, "Noto Serif KR", serif !important; letter-spacing: -.02em !important; }
#view-dashboard .flow-display span { color: var(--gs-ink) !important; -webkit-text-fill-color: var(--gs-ink) !important; }
#view-dashboard .flow-step-no { color: var(--gs-ink) !important; }
#view-dashboard .teal { color: var(--gs-muted) !important; }
.portfolio-archline-eyebrow { color: var(--gs-muted) !important; letter-spacing: .24em !important; }

/* 대시보드 내비 텍스트 탭 — 특이도 보강 */
html .top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn.dash-top-btn {
  background: transparent !important; background-image: none !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
  color: var(--gs-muted) !important;
}
html .top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn.dash-top-btn:hover { color: var(--gs-ink) !important; }
html .top-navbar.asgg-topbar .global-dashboard-tabs .top-nav-link.dash-top-btn.dash-top-btn.active {
  background: transparent !important; color: var(--gs-ink) !important; font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--gs-ink) !important;
}
