/* ══════════════════════════════════════════════════════════════════════
   공통 테마 — 화이트 · 블랙 · 그레이 + PwC 팔레트(강조가 필요할 때만)
   ERP(index) · AgentHub(hub) · 데이터플랫폼(platform) 세 화면이 같이 읽는다.
   각 화면의 기존 규칙 뒤에 로드해 덮어쓴다 — 구조는 그대로, 색·여백·헤더만 바꾼다.
   ══════════════════════════════════════════════════════════════════════ */
:root{
  --bg:#f5f5f7; --surface:#ffffff; --surface-2:#fafafa;
  --line:#e5e5ea; --line-2:#f0f0f3;
  --ink:#1d1d1f; --ink-2:#515154; --ink-3:#86868b; --ink-4:#aeaeb2;
  --text:var(--ink); --sub:var(--ink-3);
  /* PwC 팔레트 — 상태·강조에만 */
  --pwc-orange:#d04a02; --pwc-tangerine:#eb8c00; --pwc-yellow:#ffb600; --pwc-rose:#d93954;
  --pwc-red:#e0301e; --pwc-burgundy:#7d2239; --pwc-green:#1f7a4d;
  --o:var(--pwc-orange); --orange:var(--pwc-orange); --o50:#fdf1ea; --o-50:#fdf1ea; --o-100:#fdece3;
  --navy:var(--ink); --card:var(--surface); --g50:var(--surface-2); --g-50:var(--surface-2);
  --g-100:#f0f0f3; --g-200:var(--line); --g-300:#d2d2d7; --g-500:var(--ink-3); --g-700:var(--ink-2); --g-900:var(--ink);
  --r:14px; --r-pill:999px;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.04);
  --shadow-pop:0 12px 40px rgba(0,0,0,.18);
}
html{background:var(--bg)}
body{background:var(--bg)!important;color:var(--ink)!important}
/* ── 상단바: 흰색·반투명·얇은 선 (검은 띠 제거) ── */
header{background:rgba(255,255,255,.86)!important;color:var(--ink)!important;border-bottom:1px solid var(--line);
  backdrop-filter:saturate(180%) blur(16px);padding:0 28px!important;min-height:56px;gap:14px!important}
header h1{font-size:16px!important;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
header .sub,header .badge,header span{color:var(--ink-3)!important;opacity:1!important}
header .badge{background:var(--ink)!important;color:#fff!important;border-radius:999px;padding:3px 10px!important;font-size:11px;font-weight:600}
header select{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:6px 12px!important;font-size:12.5px}
header a{color:var(--ink-2)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:6px 12px!important;font-size:12.5px;opacity:1!important;background:#fff}
header a[href="/hub"],header a.primary{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;font-weight:600}
header #userRoles{color:var(--ink-3)!important;font-size:11px}
.notice{background:#fff!important;border-bottom:1px solid var(--line)!important;color:var(--ink-2)!important;padding:8px 28px!important;font-size:12.5px}
.notice.bad{background:#fdeeeb!important;color:#8a1f1f!important;border-color:#f3b8b8!important}
/* ── 탭·서브탭: 검은 알약은 위아래 여백을 더 준다 ── */
nav{background:transparent!important;border-bottom:1px solid var(--line)!important;padding:0 20px!important}
nav button{padding:14px 14px!important;color:var(--ink-3)!important;font-weight:500}
nav button.active,nav button.on{color:var(--ink)!important;border-bottom-color:var(--ink)!important;font-weight:700}
.subtabs button,.tabs button,.kind-tabs button{padding:9px 16px!important;border-radius:999px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink-2)!important;font-size:13px!important;line-height:1.2}
.subtabs button.active,.tabs button.on,.tabs button.active,.kind-tabs button.on{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;font-weight:600!important}
.tabs{border-bottom:0!important;gap:6px!important}
header input{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:999px!important;padding:6px 12px!important}
header .b,header .badge{background:var(--ink)!important;color:#fff!important;border-radius:999px!important;padding:3px 10px!important;font-size:11px;font-weight:600}
header span.k{color:var(--ink-3)!important}
.subtabs button.btn{border-radius:999px!important;background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important}
.subtabs button.btn.orange{background:var(--pwc-orange)!important;border-color:var(--pwc-orange)!important}
.subtabs button.btn.ghost{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
/* ── 카드·패널 ── */
.panel,.card,.mcard,.wbox,.app,.canvas-wrap{background:var(--surface);border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)}
.panel{padding:20px 22px!important}
.panel h2{font-size:15px!important;letter-spacing:-.01em}
.mcard{border-radius:12px!important}
th{background:var(--surface-2)!important;color:var(--ink-2)!important;border-bottom:1px solid var(--line)!important;font-weight:600;font-size:11.5px}
td{border-bottom:1px solid var(--line-2)!important}
tr:hover td{background:var(--surface-2)!important}
/* ── 버튼: 알약, 검정 기본 · 주황은 실행/저장 ── */
.btn{border-radius:999px!important;font-weight:600;padding:8px 16px;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s}
.btn.sm{padding:5px 11px!important;font-size:12px!important;border-radius:999px!important}
.btn.orange,.btn.o{background:var(--pwc-orange)!important;color:#fff!important;border-color:var(--pwc-orange)!important}
.btn.ghost{background:#fff!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line);border:0!important}
.btn.green{background:var(--pwc-green)!important}
.btn.r{color:var(--pwc-red)!important;border-color:#f3b8b8!important}
button.btn:not(.orange):not(.o):not(.ghost):not(.green):not(.r):not(.sm){background:var(--ink);color:#fff}
.field,input.field,select.field,textarea.field{border:1px solid var(--line)!important;border-radius:10px!important;background:#fff}
.field:focus{outline:2px solid rgba(29,29,31,.15);border-color:var(--ink-4)!important}
.tag{border-radius:999px!important;font-weight:600}
/* ── 창·모달 ── */
.win,.modal,.modal-bg .box,.modal .box{border-radius:18px!important;box-shadow:var(--shadow-pop)!important;border:1px solid var(--line)!important}
.win-head{background:#fff!important;border-bottom:1px solid var(--line)!important;padding:14px 18px!important;border-radius:18px 18px 0 0!important}
.win-head b{font-size:14px!important;color:var(--ink)}
.win-body{padding:20px 22px!important}
.modal-bg{backdrop-filter:blur(2px)}
/* ── 설명 상자 → ⓘ 버튼 + 팝오버 (ui.js 가 바꾼다) ── */
.hint.info-src{display:none!important}
.info-row{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;color:var(--ink-3)}
.info-row.inline{display:inline-flex;margin:0 0 0 6px;vertical-align:middle}
.ibtn{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink-4);background:#fff;color:var(--ink-3);font-size:11px;font-weight:700;
  font-family:Georgia,"Times New Roman",serif;font-style:italic;display:inline-grid;place-items:center;line-height:1;cursor:pointer;flex:none;padding:0;transition:border-color .15s,color .15s}
.ibtn:hover,.ibtn.on{border-color:var(--ink);color:var(--ink)}
.info-row .lbl{cursor:pointer;border-bottom:1px dotted var(--ink-4)}
.popover{position:fixed;z-index:9000;max-width:380px;background:var(--ink);color:#fff;padding:12px 14px;border-radius:12px;font-size:12.5px;line-height:1.6;box-shadow:var(--shadow-pop)}
.popover b{color:#fff}.popover code{background:rgba(255,255,255,.14);color:#fff;border:0;padding:1px 5px;border-radius:4px}
.popover a{color:#ffd9c2}
.popover .arrow{position:absolute;top:-6px;left:14px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.popover .x{position:absolute;right:8px;top:6px;border:0;background:transparent;color:#fff;opacity:.7;cursor:pointer;font-size:14px}
/* ── 프로세스맵 노드 등 잔여 진한 배경을 그레이 톤으로 ── */
.toast{background:var(--ink)!important;border-radius:12px!important}
.md,pre.sql,pre.prompt{background:#1d1d1f!important;border-radius:12px!important}
