/* 엑셀 변경 비교 화면 (xlsx-diff-view.js) */
.xdv { --xdv-ink:#1e293b; --xdv-ink2:#475569; --xdv-ink3:#94a3b8; --xdv-line:#e2e8f0; --xdv-blue:#2563eb;
  --xdv-warn:#c2410c; --xdv-warn-l:#ffedd5; --xdv-chg:#a16207; --xdv-chg-l:#fef9c3; color:var(--xdv-ink); font-size:14px; }
.xdv-card { background:#fff; border:1px solid var(--xdv-line); border-radius:14px; padding:18px; }
.xdv-verdict { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-bottom:10px; }
.xdv-big { font-size:20px; font-weight:700; }
.xdv-counts { display:flex; gap:8px; flex-wrap:wrap; }
.xdv-cnt { padding:5px 12px; border-radius:999px; font-size:13px; font-weight:600; }
.xdv-cnt.warn { background:var(--xdv-warn-l); color:var(--xdv-warn); } .xdv-cnt.chg { background:var(--xdv-chg-l); color:var(--xdv-chg); } .xdv-cnt.info { background:#f1f5f9; color:var(--xdv-ink2); }
.xdv-right { margin-left:auto; }
.xdv-muted { color:var(--xdv-ink3); font-size:12.5px; }
.xdv-btn { padding:9px 16px; border-radius:8px; border:1px solid var(--xdv-line); background:#fff; color:var(--xdv-ink); font-size:13.5px; font-weight:500; cursor:pointer; white-space:nowrap; font-family:inherit; }
.xdv-btn:hover { border-color:var(--xdv-blue); color:var(--xdv-blue); }
.xdv-btn.primary { background:var(--xdv-blue); border-color:var(--xdv-blue); color:#fff; } .xdv-btn.primary:hover { background:#1d4ed8; color:#fff; }
.xdv-btn.sm { padding:5px 10px; font-size:12.5px; } .xdv-btn:disabled { opacity:.5; cursor:not-allowed; }
.xdv-sel { padding:6px 10px; border:1px solid var(--xdv-line); border-radius:8px; font-size:13px; background:#fff; font-family:inherit; }
.xdv-integrity { margin-top:12px; padding:10px 14px; border-radius:10px; font-size:13.5px; line-height:1.55; }
.xdv-integrity.ok { background:#dcfce7; color:#166534; } .xdv-integrity.bad { background:#fee2e2; color:#991b1b; font-weight:600; }
.xdv-same { background:#dcfce7; color:#166534; font-size:17px; font-weight:700; padding:18px; border-radius:12px; }
.xdv section { margin-top:18px; }
.xdv h4 { font-size:15px; font-weight:700; margin-bottom:10px; }
.xdv-w { display:flex; gap:12px; padding:11px 12px; border-radius:10px; background:var(--xdv-warn-l); margin-bottom:8px; font-size:13.5px; align-items:flex-start; cursor:pointer; }
.xdv-w:hover { outline:2px solid #fdba74; }
.xdv-wloc { font-weight:700; white-space:nowrap; min-width:120px; }
.xdv-vals { color:var(--xdv-ink2); font-size:12.5px; margin-top:2px; }
.xdv-tabs { display:flex; gap:4px; border-bottom:2px solid var(--xdv-line); margin-bottom:12px; flex-wrap:wrap; }
.xdv-tab { padding:9px 14px; border:none; background:none; font-size:14px; font-weight:500; color:var(--xdv-ink2); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; font-family:inherit; }
.xdv-tab.on { color:var(--xdv-blue); border-bottom-color:var(--xdv-blue); font-weight:700; }
.xdv-b { display:inline-block; min-width:20px; padding:0 6px; border-radius:999px; background:#f1f5f9; font-size:11.5px; margin-left:4px; }
.xdv-b.w { background:var(--xdv-warn-l); color:var(--xdv-warn); }
.xdv-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:10px; }
.xdv-chip { padding:6px 12px; border-radius:999px; border:1px solid var(--xdv-line); background:#fff; font-size:12.5px; cursor:pointer; color:var(--xdv-ink2); font-family:inherit; }
.xdv-chip.on { background:var(--xdv-ink); border-color:var(--xdv-ink); color:#fff; }
.xdv-hint { background:#eff6ff; color:#1e40af; padding:10px 14px; border-radius:10px; font-size:13px; margin-bottom:10px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.xdv-tblwrap { overflow-x:auto; border:1px solid var(--xdv-line); border-radius:10px; background:#fff; }
table.xdv-list { width:100%; border-collapse:collapse; font-size:13px; }
table.xdv-list th { background:#f8fafc; text-align:left; padding:9px 10px; font-weight:600; color:var(--xdv-ink2); border-bottom:1px solid var(--xdv-line); white-space:nowrap; }
table.xdv-list td { padding:9px 10px; border-bottom:1px solid var(--xdv-line); vertical-align:top; }
table.xdv-list tr:last-child td { border-bottom:none; }
table.xdv-list tr.warn td { background:#fff7ed; }
.xdv-kind { display:inline-block; padding:2px 8px; border-radius:6px; font-size:12px; font-weight:600; white-space:nowrap; }
.xdv-kind.warn { background:var(--xdv-warn-l); color:var(--xdv-warn); } .xdv-kind.change { background:var(--xdv-chg-l); color:var(--xdv-chg); } .xdv-kind.info { background:#f1f5f9; color:var(--xdv-ink2); }
.xdv-loc { font-weight:600; white-space:nowrap; } .xdv-loc small { display:block; font-weight:400; color:var(--xdv-ink3); }
.xdv-old { color:var(--xdv-ink2); text-decoration:line-through; text-decoration-color:#cbd5e1; word-break:break-all; }
.xdv-new { font-weight:600; word-break:break-all; }
.xdv-delta { font-weight:700; white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
.xdv-delta.neg { color:#dc2626; } .xdv-delta.pos { color:var(--xdv-blue); }
.xdv-note { font-size:12px; color:var(--xdv-ink2); margin-top:3px; }
.xdv-rowcells { font-size:12px; color:var(--xdv-ink2); margin-top:3px; line-height:1.6; }
.xdv-swatch { display:inline-block; width:14px; height:14px; border-radius:3px; vertical-align:-2px; border:1px solid #ccc; }
.xdv-gridwrap { overflow:auto; max-height:560px; border:1px solid var(--xdv-line); border-radius:10px; background:#fff; }
table.xdv-grid { border-collapse:collapse; font-size:12.5px; font-variant-numeric:tabular-nums; }
table.xdv-grid th, table.xdv-grid td { border:1px solid #edf2f7; padding:4px 8px; white-space:nowrap; max-width:220px; overflow:hidden; text-overflow:ellipsis; }
table.xdv-grid thead th { background:#f1f5f9; position:sticky; top:0; z-index:1; font-weight:600; color:var(--xdv-ink2); }
table.xdv-grid th.rh { background:#f8fafc; color:var(--xdv-ink3); font-weight:500; text-align:right; position:sticky; left:0; }
table.xdv-grid td.chg { background:#fef08a; font-weight:600; } table.xdv-grid td.warn { background:#fdba74; font-weight:700; }
table.xdv-grid td.fmt { box-shadow:inset 0 0 0 2px #a5b4fc; } table.xdv-grid td.cmt { box-shadow:inset 0 0 0 2px #fbbf24; } table.xdv-grid td.colins { background:#ecfdf5; }
table.xdv-grid tr.ins td { background:#dcfce7; } table.xdv-grid tr.del td { background:#fee2e2; color:#991b1b; text-decoration:line-through; }
table.xdv-grid tr.gap td { background:#f8fafc; color:var(--xdv-ink3); text-align:center; font-size:11.5px; }
table.xdv-grid tr.hid th.rh::after { content:' 🙈'; }
.xdv-legend { display:flex; gap:12px; flex-wrap:wrap; font-size:12px; color:var(--xdv-ink2); margin:8px 0; align-items:center; }
.xdv-legend span::before { content:''; display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:5px; vertical-align:-2px; background:var(--c); }
.xdv-details { background:#fff; border:1px solid var(--xdv-line); border-radius:10px; padding:10px 14px; margin-top:10px; }
.xdv-details summary { cursor:pointer; font-weight:600; font-size:14px; }
.xdv-in { margin-top:10px; font-size:13px; color:var(--xdv-ink2); line-height:1.7; }
table.xdv-recon { border-collapse:collapse; font-size:13px; margin-top:8px; width:100%; }
table.xdv-recon th, table.xdv-recon td { border-bottom:1px solid var(--xdv-line); padding:7px 10px; text-align:right; font-variant-numeric:tabular-nums; }
table.xdv-recon th:first-child, table.xdv-recon td:first-child { text-align:left; }
.xdv-spinner { display:inline-block; width:16px; height:16px; border:2px solid #cbd5e1; border-top-color:var(--xdv-blue); border-radius:50%; animation:xdv-spin .8s linear infinite; vertical-align:-3px; }
@keyframes xdv-spin { to { transform:rotate(360deg); } }
.xdv-err { background:#fee2e2; color:#991b1b; padding:12px 14px; border-radius:10px; font-size:13.5px; }
