/*
 * 활용사례(use-case) 카드형 페이지 공통 스타일.
 * 마케팅 시안(.dc.html)을 옮긴 페이지들이 공유하는 구조/인터랙션 CSS만 담는다.
 * 폰트 크기·굵기·여백은 여기서 정의하지 않는다 — base.css/layout.css의
 * title/fs-18/fs-20/fs-48/fw-*/pdt-*/mgb-* 등 기존 유틸리티 클래스를 사용한다.
 * 사용 페이지: WEB-INF/jsp/pages/examples/batch-job-test.jsp, user-history-test.jsp
 *
 * 주의: 이 스타일시트가 <link>로 로드될 때 이유 불명으로 텍스트상 첫 번째 규칙이
 * 파싱 과정에서 누락되는 현상이 확인되어(내용과 무관하게 위치 1이 사라짐),
 * 아래 :root{} 더미 규칙을 희생양으로 맨 앞에 둔다. 지우지 말 것.
 */
:root {}

.uc-case, .uc-case * { letter-spacing: normal !important; }

/* 한글은 공백에서만 줄바꿈한다. base.css 의 body{word-break:break-word} 때문에
   '남습/니다.' 처럼 단어 중간이 끊기던 것을 막는다(활용사례 페이지 한정). */
.uc-case, .uc-case * { word-break: keep-all; }
.uc-case { background: #f8f9fb; color: #0a1317; padding-top: 100px; }
.uc-case .container { overflow: visible; }
.uc-case a { color: #0457cb; text-decoration: none; }
.uc-case a:hover { color: #0064e0; }

.uc-case .ow-card-hover { transition: box-shadow 200ms cubic-bezier(.2,0,0,1), border-color 200ms cubic-bezier(.2,0,0,1), transform 200ms cubic-bezier(.2,0,0,1); }
.uc-case .ow-card-hover:hover { border-color: #0064e0 !important; box-shadow: rgba(20,22,26,.10) 0 10px 30px; transform: translateY(-2px); }
.uc-case .ow-cta-btn { transition: transform 120ms ease-out, background 150ms ease-out; }
.uc-case .ow-cta-btn:active { transform: scale(.98); }
.uc-case .ow-post-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #0a1317; transition: color 150ms ease-out; }
.uc-case .ow-post-link:hover { color: #0064e0 !important; }
.uc-case .uc-guide-btn { transition: background 150ms ease-out, color 150ms ease-out, transform 120ms ease-out; }
.uc-case .uc-guide-btn:hover { background: #0064e0 !important; color: #fff !important; border-color: #0064e0 !important; }
.uc-case .uc-guide-btn:active { transform: scale(.98); }
.uc-case .uc-modal-x { flex: none; width: 40px; height: 40px; border-radius: 9999px; border: none; background: #f1f4f7; color: #5d6c7b; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background 150ms ease-out; }
.uc-case .uc-modal-x:hover { background: #e4e8ee !important; }
.uc-case .uc-modal-overlay { display: none; position: fixed; inset: 0; z-index: 100; background: rgba(10,19,23,.55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); align-items: center; justify-content: center; padding: 40px; animation: owFadeIn 180ms ease-out; }
.uc-case .uc-cards3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.uc-case .uc-cta-box { position: relative; overflow: hidden; border-radius: 32px; background: linear-gradient(135deg,#0091ff 0%,#0064e0 60%,#0457cb 100%); color: #fff; padding: 32px 56px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.uc-case .uc-cta-dots { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 20px 20px; -webkit-mask-image: linear-gradient(135deg, transparent 40%, black); mask-image: linear-gradient(135deg, transparent 40%, black); pointer-events: none; }
.uc-case .uc-cta-actions { position: relative; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.uc-case .uc-cta-section { padding: 24px 0 48px; }
.uc-case .uc-cta-box .fs-18 { color: rgba(255,255,255,.88); max-width: none; }
.uc-case .uc-cta-box .uc-eyebrow { color: #fff; opacity: .85; }
.uc-case .uc-cta-btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 32px; border-radius: 100px; background: #fff; color: #0a1317; font-size: 15px; font-weight: 700; }
.uc-case .uc-hero-intro { max-width: 520px; }
/* 영상 보기 버튼 영역. 현재 두 페이지 모두 영상 업로드 전이라 JSP에서 주석 처리돼 있다.
   미사용처럼 보여도 지우지 말 것 — 영상 등록 시 주석만 풀면 되도록 남겨 둔다(.uc-video-btn 도 동일). */
.uc-case .uc-hero-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.uc-case .uc-diff-intro { color: #1c1e21; }

/* ---- 히어로 브레드크럼 ---- */
.uc-case .uc-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #8595a4; }
.uc-case .uc-breadcrumb a { color: #8595a4; }
.uc-case .uc-crumb-sep { color: #ced0d4; }
.uc-case .uc-crumb-current { color: #F29821; }

/* ---- 섹션 공통 ---- */
.uc-case .uc-eyebrow { font-size: 13px; font-weight: 700; text-transform: uppercase; color: #0064e0; }
/* 헤딩류 기본 잉크색 — 두 페이지 전체에서 가장 많이 반복되는 단일 색상값 */
.uc-case .uc-ink { color: #0a1317; }
.uc-case .uc-tip-pill .uc-ico { margin-top: 1px; }
.uc-case .uc-cta-content { position: relative; }
.uc-case .uc-section { padding: 32px 0; }
.uc-case .uc-section-white { background: #fff; padding: 32px 0; }
/* fs-18 본문 단락의 기본 줄간격·색상 — 색상이 다른 곳만 인라인으로 override */
.uc-case .fs-18 { line-height: 1.3; color: #5d6c7b; }
.uc-case strong.uc-strong { color: #1c1e21; font-weight: 700; }
.uc-case strong.uc-strong-800 { color: #0a1317; font-weight: 800; }

/* ---- 히어로(두 페이지 공통 구조) ---- */
.uc-case .uc-hero-section { background: #fff; padding: 72px 0 88px; }
/* 히어로 하단 여백을 일반 섹션과 같은 32px로 낮춘다(아래 섹션과의 간격 88+32=120px → 32+32=64px).
   영상 보기 버튼처럼 하단 CTA가 없어 아래쪽이 허전해 보일 때 사용한다. */
.uc-case .uc-hero-section--tight { padding-bottom: 32px; }
/* gap 48px: 64px였을 때 좌측 칼럼이 593px이라 긴 제목의 첫 줄(48px에서 597px)이 4px 모자라
   단어 중간에서 접혔다. 48px로 줄이면 좌측이 601px가 되어 폰트 크기를 건드리지 않고 해결된다.
   (제목만 47px로 낮추는 방식은 사이트 공통 fs-48 규칙에서 이 페이지만 예외가 되므로 쓰지 않는다.) */
.uc-case .uc-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: center; }
/* 텍스트 열은 항상 위에서 시작한다.
   align-items:center는 낮은 쪽을 가운데로 내리는데, 히어로 캡처가 세로로 긴 페이지(SQL Viewer는
   비율 1.21이라 프레임이 503px)에서는 텍스트가 높이를 정하지 못해 제목이 68px 아래로 밀렸다.
   대부분의 페이지는 텍스트 열이 더 높아 이 규칙이 아무 영향을 주지 않는다. */
.uc-case .uc-hero-grid > div:first-child { align-self: start; }
.uc-case .uc-tag-pill-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.uc-case .uc-hero-shot { border-radius: 20px; background: #12181d; padding: 12px; box-shadow: rgba(20,22,26,.28) 0 24px 60px; overflow: hidden; }
.uc-case .uc-hero-shot-topbar { display: flex; align-items: center; gap: 8px; padding: 6px 8px 12px; }
.uc-case .uc-hero-shot-title { margin-left: 10px; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 600; }
.uc-case .uc-mac-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.uc-case .uc-mac-dot--red { background: #ff5f57; }
.uc-case .uc-mac-dot--yellow { background: #febc2e; }
.uc-case .uc-mac-dot--green { background: #28c840; }
/* 히어로 질문형 H2(파란 강조) / "영상 보기" 주황 알약 버튼 */
.uc-case .uc-hero-question { color: #1077C5; }
.uc-case .uc-video-btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; border-radius: 100px; color: #fff; font-size: 14px; font-weight: 700; background-color: #F29821; }
/* 히어로 스크린샷 프레임. OWLens 화면 캡처는 대체로 1917x862(약 2.22:1)라
   이를 기본값으로 두고, 비율이 다른 캡처를 쓸 때만 style="aspect-ratio:W/H"로 덮어쓴다. */
.uc-case .uc-hero-shot-frame { position: relative; width: 100%; aspect-ratio: 1917/862; border-radius: 12px; overflow: hidden; background: #0a1317; }
.uc-case .uc-img-contain { display: block; width: 100%; height: 100%; object-fit: contain; }

/* ---- 히어로 태그 pill / 역할별 가치 카드의 다크 배지 ---- */
.uc-case .uc-tag-pill { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 100px; background: #f1f4f7; color: #5d6c7b; font-size: 13px; font-weight: 700; }
.uc-case .uc-role-badge { display: inline-flex; align-items: center; height: 38px; padding: 0 18px; border-radius: 100px; background: #0a1317; color: #fff; font-size: 16px; font-weight: 700; }
.uc-case .uc-role-card { background: #fff; border: 1px solid #dee3e9; border-radius: 16px; padding: 26px 40px; }

/* ---- Solution 단계(번호 원 + 아이콘행 + 이미지 프레임) ---- */
/* 각 행의 border-top이 단계 사이 구분선 역할을 한다. 마지막 행에는 하단 보더를 두지 않는다. */
.uc-case .uc-sol-row { display: grid; grid-template-columns: auto 1fr; gap: 28px; padding: 32px 0; border-top: 1px solid #dee3e9; }
.uc-case .uc-num-badge-col { display: flex; align-items: flex-start; gap: 20px; }
.uc-case .uc-num-badge { flex: none; width: 52px; height: 52px; border-radius: 9999px; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; background-color: #F29821; }
.uc-case .uc-icon-row { display: flex; align-items: center; gap: 10px; }
.uc-case .uc-img-frame { border-radius: 14px; overflow: hidden; border: 1px solid #dee3e9; background: #0a1317; }
.uc-case .uc-img-frame-full { max-width: 1000px; margin: 22px auto 0; }
.uc-case .uc-img-frame img { display: block; width: 100%; height: auto; }
.uc-case .uc-img-caption { margin: 10px 2px 0; font-size: 13px; color: #8595a4; text-align: center; }
.uc-case .uc-flex-col { display: flex; flex-direction: column; }
/* 나란히 놓인 두 이미지는 높이를 맞춰야 하므로 쌍 단위로 하나의 비율을 쓴다.
   자주 쓰는 두 형태를 기본값/변형으로 두고, 둘 다 아니면 컨테이너에
   style="--uc-pair-ratio:W/H"로 덮어쓴다.
     기본        : 대화상자·설정 화면처럼 세로가 있는 캡처
     --wide      : 목록·타임라인처럼 가로로 긴 캡처 */
.uc-case .uc-imgpair { --uc-pair-ratio: 770/525; max-width: 1000px; margin: 22px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.uc-case .uc-imgpair--wide { --uc-pair-ratio: 790/230; }
.uc-case .uc-imgpair .uc-img-frame { flex: 1; aspect-ratio: var(--uc-pair-ratio); }
/* 모달을 여는 안내 버튼. batch-job 원안의 알약형(높이 48px, 테두리 1.5px)을 두 페이지 공통으로 쓴다.
   원안은 height 고정이었으나 좁은 화면에서 글자가 줄바꿈되면 넘치므로 min-height로 두었다
   (한 줄일 때는 48px 그대로라 데스크톱 렌더링은 원안과 동일하다). */
.uc-case .uc-guide-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; min-height: 48px; padding: 6px 24px; border: 1.5px solid #0064e0; background: #eaf2ff; border-radius: 100px; font-size: 15px; font-weight: 700; color: #0457cb; cursor: pointer; }

/* ---- 안내/팁 pill(밝은 파랑) — 여러 모달에서 공용 ---- */
.uc-case .uc-tip-pill { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; padding: 16px 20px; background: #eaf2ff; border-radius: 100px; }
/* Solution 단계 아래 붙는 보조 설명 pill(내용 폭만큼만 차지) */
.uc-case .uc-note-pill { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0; padding: 8px 16px; background: #eaf2ff; border-radius: 100px; font-size: 14px; font-weight: 500; color: #5d6c7b; }
.uc-case .uc-note-pill .uc-ico { color: #0064e0; }

/* ---- Problem 상세 카드(두 페이지 동일 컴포넌트로 통일: 원형 아이콘 배지 + 하단 보더 행) ---- */
.uc-case .uc-problem-card { background: #fff; border: 1px solid #dee3e9; border-radius: 16px; margin-top: 36px; padding: 4px 24px; }
.uc-case .uc-problem-row { display: flex; gap: 16px; padding: 17px 0; border-bottom: 1px solid #eef1f4; }
.uc-case .uc-problem-row:last-child { border-bottom: none; }
.uc-case .uc-problem-icon { flex: none; width: 36px; height: 36px; border-radius: 9999px; background: #f1f4f7; display: inline-flex; align-items: center; justify-content: center; }
.uc-case .uc-problem-icon--danger { color: #e41e3f; }
.uc-case .uc-problem-icon--warn { color: #f2a918; }
.uc-case .uc-problem-icon--info { color: #0064e0; }

/* ---- batch-job 모달: 감시 조건 체크박스 행 ---- */
.uc-case .uc-cond-row { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid #dee3e9; border-radius: 14px; padding: 16px 20px; }
.uc-case .uc-cond-row--split { justify-content: space-between; gap: 14px; }
.uc-case .uc-cond-row-main { display: flex; align-items: flex-start; gap: 12px; }
.uc-case .uc-checkbox-square { flex: none; margin-top: 1px; width: 22px; height: 22px; border-radius: 6px; background: #fff; border: 1.5px solid #ced0d4; }
.uc-case .uc-cond-title { font-size: 15px; font-weight: 700; color: #0a1317; }
.uc-case .uc-cond-desc { margin: 5px 0 0; font-size: 13px; line-height: 1.3; color: #5d6c7b; }
.uc-case .uc-time-box { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 32px; border-radius: 8px; border: 1px solid #dee3e9; background: #f8f9fb; font-size: 13px; font-weight: 600; color: #8595a4; }
.uc-case .uc-time-sep { color: #ced0d4; font-weight: 700; }
.uc-case .uc-text-blue { color: #0064e0; }
/* 제목 앞머리를 주황으로 떼어 강조할 때(넓게, / 좁게, / 깊게,) — 굵기는 제목을 따른다.
   uc-accent-orange 는 800 굵기가 함께 붙으므로 굵기까지 바꾸고 싶을 때만 쓴다. */
.uc-case .uc-text-orange { color: #F29821; }
.uc-case .uc-channel-pill { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 16px; border-radius: 100px; background: #eaf2ff; color: #0064e0; font-size: 13px; font-weight: 700; }

/* ---- user-history 전용: 감사인 질문 콜아웃 박스 / 모달 인사이트 카드 ---- */
.uc-case .uc-callout-card { background: #fff; border: 1px solid #d8e4f2; border-radius: 12px; padding: 13px 20px; }
.uc-case .uc-callout-label { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: #0f4c8a; }
.uc-case .uc-callout-value { margin-top: 7px; font-size: 15px; color: #5d6c7b; line-height: 1.5; }
.uc-case .uc-modal-insight-card { background: #fff; border: 1px solid #dee3e9; border-radius: 14px; padding: 18px 20px; }
.uc-case .uc-modal-insight-title { font-size: 15px; font-weight: 800; color: #0457cb; }
.uc-case .uc-modal-insight-desc { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #5d6c7b; }

/* ---- 비교표(SAP 표준 vs OWLens) ---- */
.uc-case .uc-cmp-scroll { max-width: 960px; margin: 0 auto; }
.uc-case .uc-cmp-table { border: 1px solid #dee3e9; border-radius: 16px; overflow: hidden; }
/* 열 비율은 시안마다 달랐지만(0.55~2fr) 여기서 하나로 맞춘다.
   10개 페이지의 모든 셀이 한 줄에 들어가는 값 — 'SAP 표준 도구' 칸이 가장 길어(394px 필요)
   기존 1fr 1.3fr 1.5fr 로는 Expensive SQL 의 한 칸이 2줄로 접혔다. */
.uc-case .uc-cmp-row { display: grid; grid-template-columns: 1fr 2.6fr 2.45fr; }
.uc-case .uc-cmp-row + .uc-cmp-row { border-top: 1px solid #dee3e9; }
.uc-case .uc-cmp-head { padding: 13px 24px; background: #f1f4f7; font-size: 15px; font-weight: 700; color: #5D6C7B; text-align: center; }
.uc-case .uc-cmp-head-owlens { padding: 13px 24px; color: #fff; font-size: 15px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; background-color: #F29821; }
.uc-case .uc-cmp-label { padding: 13px 24px; font-size: 15px; font-weight: 700; color: #0a1317; }
.uc-case .uc-cmp-sap { padding: 13px 24px; font-size: 15px; color: #5d6c7b; }
.uc-case .uc-cmp-owlens { padding: 13px 24px; font-size: 15px; color: #0a1317; font-weight: 600; background: rgba(0,100,224,.06); display: flex; gap: 10px; }
.uc-case .uc-cmp-owlens .uc-ico { margin-top: 2px; }

/* ---- More Cases / 이어서 살펴보기 카드 ---- */
/* 하단 여백을 사이트 공통값(hr.end의 margin-top 150px)과 같게 맞추되, 흰 여백이 아니라
   이 섹션의 회색 배경 안쪽에 둔다. 아래 hr.end의 margin은 0으로 눌러 여백이 이중으로 쌓이지 않게 한다.
   (패딩을 0으로 두면 카드가 배경 경계에 붙어 보이므로 그렇게 하지 않는다.) */
.uc-case .uc-more-section { background: #f8f9fb; padding: 56px 0 150px; border-top: 1px solid #eef1f4; }
/* layout.css의 `.subpage-layout hr.end`(0,2,1)와 특정도가 같으면 나중에 로드되는 쪽이 이겨서
   .uc-case를 앞에 붙여 (0,3,1)로 올린다. body에 .subpage-layout이 붙어 있다. */
.subpage-layout .uc-case ~ hr.end { margin-top: 0; }
.uc-case .uc-more-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; flex-wrap: wrap; }
.uc-case .uc-more-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #dee3e9; border-radius: 16px; padding: 28px; text-decoration: none; }
.uc-case .uc-more-card-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; min-height: 64px; align-content: flex-start; }
.uc-case .uc-mini-tag { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 100px; background: #f1f4f7; color: #5d6c7b; font-size: 12px; font-weight: 700; }
.uc-case .uc-more-card-meta { font-size: 12px; font-weight: 700; color: #0064e0; }
.uc-case .uc-more-card-link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 20px; font-size: 14px; font-weight: 700; color: #0457cb; }

/* ---- 모달 공통 구조 ---- */
/* 기본 모달 폭은 820px — 더 좁은 모달만 style="max-width:760px" 식으로 개별 지정 */
.uc-case .uc-modal-card { position: relative; width: 100%; max-width: 820px; max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: rgba(10,19,23,.45) 0 40px 100px; animation: owPopIn 240ms cubic-bezier(.2,0,0,1); }
.uc-case .uc-modal-card h3 { line-height: 1.3; }
.uc-case .uc-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 28px 32px 24px; }
.uc-case .uc-modal-body { flex: 1; overflow: auto; overscroll-behavior: contain; padding: 26px 32px 30px; background: #f8f9fb; border-top: 1px solid #eef1f4; }
.uc-case .uc-modal-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 18px 32px; border-top: 1px solid #eef1f4; }
.uc-case .uc-modal-confirm-btn { flex: none; display: inline-flex; align-items: center; height: 44px; padding: 0 30px; border-radius: 100px; border: none; background: #0064e0; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }

/* ---- 이미지 원본 보기(라이트박스) ----
   사이트 공통 .zoom-overlay는 재사용할 수 없다. common.js가 열기 핸들러를 <768px에서만 동작시키고(317행)
   ≥768px에서는 오버레이를 DOM에서 아예 제거한다(369행) — 즉 모바일 전용 기능이다.
   배경·닫기 버튼은 기존 모달 컴포넌트(.uc-modal-overlay / .uc-modal-x)를 그대로 쓰고 여기서는 차이만 둔다.
   오버레이 DOM은 use-case.js가 .uc-case 안에 만들어 붙인다(스코프 유지 + .uc-ico 재사용 목적). */
/* 클릭 가능한 이미지. 커서는 사이트의 다른 클릭 요소(버튼·닫기·썸네일)와 같은 pointer로 맞춘다. */
.uc-case .uc-zoomable { cursor: pointer; }
/* 세로 배치: 이미지 영역 + 하단 썸네일 줄.
   이미지에 flex:1을 줘 "남는 높이 전체"를 항상 차지하게 하고 object-fit:contain으로 그 안에서 맞춘다.
   덕분에 이미지 비율이 달라져도 썸네일 줄의 위치가 움직이지 않는다(매직넘버 없이 고정). */
.uc-case .uc-lightbox { background: rgba(10,19,23,.85); flex-direction: column; justify-content: flex-start; gap: 16px; }
/* scale-down: 화면보다 큰 원본은 맞춰 줄이고, 작은 원본은 원본 크기 그대로 둔다.
   contain은 작은 이미지를 늘려버려 글자가 뭉개진다(실제로 11장 중 6장이 최대 1.76배 확대되고 있었다). */
.uc-case .uc-lightbox-img { flex: 1 1 auto; min-height: 0; max-width: 100%; object-fit: scale-down; border-radius: 8px; }
.uc-case .uc-lightbox-close { position: absolute; top: 20px; right: 20px; }
/* 좌우 이동 버튼 — 배경/호버는 .uc-modal-x를 그대로 쓰고 위치와 방향만 지정한다 */
.uc-case .uc-lightbox-nav { position: absolute; top: 50%; margin-top: -20px; }
.uc-case .uc-lightbox-prev { left: 20px; }
.uc-case .uc-lightbox-next { right: 20px; }
.uc-case .uc-lightbox-prev .uc-ico { transform: scaleX(-1); }
/* 하단 썸네일 줄 — 개수가 많아지면 가로 스크롤 */
.uc-case .uc-lightbox-thumbs { flex: none; display: flex; gap: 8px; max-width: 100%; padding: 2px; overflow-x: auto; }
/* 대부분 어두운 화면 캡처라 투명도만으로는 배경에 묻힌다.
   항상 보이는 테두리 + 어두운 바탕을 깔아 썸네일 한 칸 한 칸이 구분되게 한다. */
.uc-case .uc-lightbox-thumb { flex: none; width: 74px; height: 52px; object-fit: cover; border-radius: 6px;
  border: 2px solid rgba(255,255,255,.3); background: #0a1317; opacity: .75; cursor: pointer;
  transition: opacity 150ms ease-out, border-color 150ms ease-out; }
.uc-case .uc-lightbox-thumb:hover { opacity: 1; border-color: rgba(255,255,255,.6); }
.uc-case .uc-lightbox-thumb.is-current { opacity: 1; border-color: #0064e0; }
.uc-case .uc-modal-field-row { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid #f1f4f7; }
.uc-case .uc-modal-field-row:last-child { border-bottom: none; }
.uc-case .uc-modal-field-row .uc-modal-field-label { font-size: 14px; font-weight: 700; color: #0a1317; }
.uc-case .uc-modal-field-row .uc-modal-field-desc { font-size: 14px; color: #5d6c7b; }
.uc-case .uc-modal-badge { display: inline-flex; align-items: center; height: 28px; padding: 0 14px; border-radius: 100px; border: 1px solid #bcd9ff; background: #f4f9ff; color: #0064e0; font-size: 12px; font-weight: 700; white-space: nowrap; }
.uc-case .uc-modal-subtitle { margin: 8px 0 0; font-size: 14px; color: #8595a4; }
.uc-case .uc-modal-table-box { margin-top: 14px; background: #fff; border: 1px solid #dee3e9; border-radius: 14px; padding: 6px 22px; }
.uc-case .uc-tip-text { margin: 0; font-size: 14px; line-height: 1.4; color: #5d6c7b; }
.uc-case .uc-tip-text--blue { color: #0457cb; }
.uc-case .uc-tip-text strong { font-weight: 800; }

/* ===== 아이콘 =====
 * 인라인 <svg> 대신 <i class="uc-ico ico-이름"></i> 로 쓴다.
 * mask 방식이라 아이콘 색은 그 요소의 color 를 그대로 따라간다(기본은 부모 상속).
 * 기본 크기는 18px, 다른 크기는 ico-16 처럼 크기 클래스를 덧붙인다.
 * 고정색이 필요할 때만 ico-orange / ico-blue / ico-sky 를 추가한다.
 */
.uc-case .uc-ico { display: inline-block; flex: none; width: 18px; height: 18px;
  background-color: currentColor; vertical-align: middle;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain; }
.uc-case .ico-14 { width: 14px; height: 14px; }
.uc-case .ico-15 { width: 15px; height: 15px; }
.uc-case .ico-16 { width: 16px; height: 16px; }
.uc-case .ico-19 { width: 19px; height: 19px; }
.uc-case .ico-20 { width: 20px; height: 20px; }
.uc-case .ico-22 { width: 22px; height: 22px; }
.uc-case .ico-24 { width: 24px; height: 24px; }
.uc-case .ico-orange { color: #F29821; }
.uc-case .ico-blue { color: #0064e0; }

.uc-case .ico-activity { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-alert { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-arrow-right { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-arrow-right-bold { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-bell { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'%3E%3C/path%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'%3E%3C/path%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-chat { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-clipboard { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'%3E%3C/path%3E%3Crect x='8' y='2' width='8' height='4' rx='1'%3E%3C/rect%3E%3Cpolyline points='9 14 11 16 15 12'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'%3E%3C/path%3E%3Crect x='8' y='2' width='8' height='4' rx='1'%3E%3C/rect%3E%3Cpolyline points='9 14 11 16 15 12'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-clock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-close { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-database { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'%3E%3C/ellipse%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'%3E%3C/path%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'%3E%3C/ellipse%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'%3E%3C/path%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-file { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='8' y1='13' x2='14' y2='13'%3E%3C/line%3E%3Cline x1='8' y1='17' x2='12' y2='17'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='8' y1='13' x2='14' y2='13'%3E%3C/line%3E%3Cline x1='8' y1='17' x2='12' y2='17'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-filter { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'%3E%3C/polygon%3E%3C/svg%3E"); }
.uc-case .ico-list { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='8' y1='18' x2='21' y2='18'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='8' y1='18' x2='21' y2='18'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-levels { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16'%3E%3C/path%3E%3Cpath d='M7 12h10'%3E%3C/path%3E%3Cpath d='M10 19h4'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16'%3E%3C/path%3E%3Cpath d='M7 12h10'%3E%3C/path%3E%3Cpath d='M10 19h4'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-history { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v5h5'%3E%3C/path%3E%3Cpath d='M3.05 13A9 9 0 1 0 6 5.3L3 8'%3E%3C/path%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v5h5'%3E%3C/path%3E%3Cpath d='M3.05 13A9 9 0 1 0 6 5.3L3 8'%3E%3C/path%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-rack { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='5' rx='1.5'%3E%3C/rect%3E%3Cpath d='M7 11v3'%3E%3C/path%3E%3Cpath d='M17 11v3'%3E%3C/path%3E%3Crect x='2.5' y='14' width='8' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='14' width='8' height='4' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='5' rx='1.5'%3E%3C/rect%3E%3Cpath d='M7 11v3'%3E%3C/path%3E%3Cpath d='M17 11v3'%3E%3C/path%3E%3Crect x='2.5' y='14' width='8' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='14' width='8' height='4' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); }
.uc-case .ico-grid { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='3' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='3' y='13.5' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='3' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='3' y='13.5' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3Crect x='13.5' y='13.5' width='7.5' height='7.5' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); }
.uc-case .ico-scatter { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='20' x2='21' y2='20'%3E%3C/line%3E%3Cline x1='3' y1='20' x2='3' y2='4'%3E%3C/line%3E%3Ccircle cx='8' cy='16' r='1.2'%3E%3C/circle%3E%3Ccircle cx='12' cy='15.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='16' cy='16.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='20' cy='15.8' r='1.2'%3E%3C/circle%3E%3Ccircle cx='13' cy='7' r='1.2'%3E%3C/circle%3E%3Ccircle cx='15' cy='9' r='1.2'%3E%3C/circle%3E%3Ccircle cx='16.5' cy='6' r='1.2'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='20' x2='21' y2='20'%3E%3C/line%3E%3Cline x1='3' y1='20' x2='3' y2='4'%3E%3C/line%3E%3Ccircle cx='8' cy='16' r='1.2'%3E%3C/circle%3E%3Ccircle cx='12' cy='15.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='16' cy='16.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='20' cy='15.8' r='1.2'%3E%3C/circle%3E%3Ccircle cx='13' cy='7' r='1.2'%3E%3C/circle%3E%3Ccircle cx='15' cy='9' r='1.2'%3E%3C/circle%3E%3Ccircle cx='16.5' cy='6' r='1.2'%3E%3C/circle%3E%3C/svg%3E"); }
.uc-case .ico-select { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='12' height='10' rx='1.5' stroke-dasharray='3 2'%3E%3C/rect%3E%3Cpath d='M14 13l7 3-3 1-1 3-3-7z'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='12' height='10' rx='1.5' stroke-dasharray='3 2'%3E%3C/rect%3E%3Cpath d='M14 13l7 3-3 1-1 3-3-7z'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-eye { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.8-7 10-7 10 7 10 7-3.8 7-10 7-10-7-10-7z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3.2'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.8-7 10-7 10 7 10 7-3.8 7-10 7-10-7-10-7z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3.2'%3E%3C/circle%3E%3C/svg%3E"); }
.uc-case .ico-timeline { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='2.5' y='10.5' width='13' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='2.5' y='16' width='16' height='4' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='2.5' y='10.5' width='13' height='4' rx='1.5'%3E%3C/rect%3E%3Crect x='2.5' y='16' width='16' height='4' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); }
.uc-case .ico-bars { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='21' x2='5' y2='13'%3E%3C/line%3E%3Cline x1='10' y1='21' x2='10' y2='8'%3E%3C/line%3E%3Cline x1='15' y1='21' x2='15' y2='15'%3E%3C/line%3E%3Cline x1='20' y1='21' x2='20' y2='4'%3E%3C/line%3E%3Cline x1='2.5' y1='21' x2='22' y2='21'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='21' x2='5' y2='13'%3E%3C/line%3E%3Cline x1='10' y1='21' x2='10' y2='8'%3E%3C/line%3E%3Cline x1='15' y1='21' x2='15' y2='15'%3E%3C/line%3E%3Cline x1='20' y1='21' x2='20' y2='4'%3E%3C/line%3E%3Cline x1='2.5' y1='21' x2='22' y2='21'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-lock { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='10' rx='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='10' rx='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-pick { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v5H4z'%3E%3C/path%3E%3Cpath d='M4 12h9v4H4z'%3E%3C/path%3E%3Cpath d='M13.5 13.5 20 20l-2.2.6L20 23l-1.8 1-2-3-1.5 1.6z'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v5H4z'%3E%3C/path%3E%3Cpath d='M4 12h9v4H4z'%3E%3C/path%3E%3Cpath d='M13.5 13.5 20 20l-2.2.6L20 23l-1.8 1-2-3-1.5 1.6z'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-split { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='5' x2='21' y2='5'%3E%3C/line%3E%3Cline x1='12' y1='5' x2='12' y2='10'%3E%3C/line%3E%3Cline x1='5' y1='10' x2='19' y2='10'%3E%3C/line%3E%3Cline x1='5' y1='10' x2='5' y2='14'%3E%3C/line%3E%3Cline x1='12' y1='10' x2='12' y2='14'%3E%3C/line%3E%3Cline x1='19' y1='10' x2='19' y2='14'%3E%3C/line%3E%3Crect x='2.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3Crect x='9.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3Crect x='16.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='5' x2='21' y2='5'%3E%3C/line%3E%3Cline x1='12' y1='5' x2='12' y2='10'%3E%3C/line%3E%3Cline x1='5' y1='10' x2='19' y2='10'%3E%3C/line%3E%3Cline x1='5' y1='10' x2='5' y2='14'%3E%3C/line%3E%3Cline x1='12' y1='10' x2='12' y2='14'%3E%3C/line%3E%3Cline x1='19' y1='10' x2='19' y2='14'%3E%3C/line%3E%3Crect x='2.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3Crect x='9.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3Crect x='16.5' y='14' width='5' height='6' rx='1.5'%3E%3C/rect%3E%3C/svg%3E"); }
.uc-case .ico-code { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='7 8 3 12 7 16'%3E%3C/polyline%3E%3Cpolyline points='17 8 21 12 17 16'%3E%3C/polyline%3E%3Cline x1='14' y1='4' x2='10' y2='20'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='7 8 3 12 7 16'%3E%3C/polyline%3E%3Cpolyline points='17 8 21 12 17 16'%3E%3C/polyline%3E%3Cline x1='14' y1='4' x2='10' y2='20'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-stack-up { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='17.5' width='16' height='4' rx='1'%3E%3C/rect%3E%3Crect x='6' y='12.5' width='12' height='4' rx='1'%3E%3C/rect%3E%3Crect x='8' y='7.5' width='8' height='4' rx='1'%3E%3C/rect%3E%3Cpath d='M12 2v3.5'%3E%3C/path%3E%3Cpolyline points='9.8 4 12 2 14.2 4'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='17.5' width='16' height='4' rx='1'%3E%3C/rect%3E%3Crect x='6' y='12.5' width='12' height='4' rx='1'%3E%3C/rect%3E%3Crect x='8' y='7.5' width='8' height='4' rx='1'%3E%3C/rect%3E%3Cpath d='M12 2v3.5'%3E%3C/path%3E%3Cpolyline points='9.8 4 12 2 14.2 4'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-orgchart { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Crect x='2.5' y='16.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Crect x='15.5' y='16.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Cpath d='M12 7.5v3.5H5.5v5.5'%3E%3C/path%3E%3Cpath d='M12 11h6.5v5.5'%3E%3C/path%3E%3Cpath d='M12 11v5.5'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Crect x='2.5' y='16.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Crect x='15.5' y='16.5' width='6' height='5' rx='1'%3E%3C/rect%3E%3Cpath d='M12 7.5v3.5H5.5v5.5'%3E%3C/path%3E%3Cpath d='M12 11h6.5v5.5'%3E%3C/path%3E%3Cpath d='M12 11v5.5'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-shield-alert { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.3C8 20 4 16.8 4 12V6.2l7-2.7 7 2.7V11'%3E%3C/path%3E%3Cpath d='M11 9v3.5'%3E%3C/path%3E%3Cpath d='M11 15.5h.01'%3E%3C/path%3E%3Cpolyline points='15 20 18 16.5 21 18.5'%3E%3C/polyline%3E%3Cpolyline points='21 15 21 18.5 17.6 18.5'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.3C8 20 4 16.8 4 12V6.2l7-2.7 7 2.7V11'%3E%3C/path%3E%3Cpath d='M11 9v3.5'%3E%3C/path%3E%3Cpath d='M11 15.5h.01'%3E%3C/path%3E%3Cpolyline points='15 20 18 16.5 21 18.5'%3E%3C/polyline%3E%3Cpolyline points='21 15 21 18.5 17.6 18.5'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-collect { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3.5h4l1.5 5'%3E%3C/path%3E%3Cpath d='M8.5 8.5h11l-2 7H11z'%3E%3C/path%3E%3Cpath d='M12 12v6'%3E%3C/path%3E%3Cpolyline points='9.5 15.5 12 18.5 14.5 15.5'%3E%3C/polyline%3E%3Ccircle cx='11.5' cy='20.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='17.5' cy='20.5' r='1.2'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3.5h4l1.5 5'%3E%3C/path%3E%3Cpath d='M8.5 8.5h11l-2 7H11z'%3E%3C/path%3E%3Cpath d='M12 12v6'%3E%3C/path%3E%3Cpolyline points='9.5 15.5 12 18.5 14.5 15.5'%3E%3C/polyline%3E%3Ccircle cx='11.5' cy='20.5' r='1.2'%3E%3C/circle%3E%3Ccircle cx='17.5' cy='20.5' r='1.2'%3E%3C/circle%3E%3C/svg%3E"); }
.uc-case .ico-nodes { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4.5' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='4.5' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='19.5' r='2'%3E%3C/circle%3E%3Cpath d='M6.5 12h5V4.5h6'%3E%3C/path%3E%3Cpath d='M11.5 12h6'%3E%3C/path%3E%3Cpath d='M11.5 12v7.5h6'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4.5' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='4.5' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='19.5' cy='19.5' r='2'%3E%3C/circle%3E%3Cpath d='M6.5 12h5V4.5h6'%3E%3C/path%3E%3Cpath d='M11.5 12h6'%3E%3C/path%3E%3Cpath d='M11.5 12v7.5h6'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-drilldown { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='3.5' x2='20' y2='3.5'%3E%3C/line%3E%3Cline x1='7' y1='8.5' x2='20' y2='8.5'%3E%3C/line%3E%3Cline x1='10' y1='13.5' x2='20' y2='13.5'%3E%3C/line%3E%3Cline x1='13' y1='18.5' x2='20' y2='18.5'%3E%3C/line%3E%3Cpolyline points='4 15.5 6.5 18.5 4 21.5'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='3.5' x2='20' y2='3.5'%3E%3C/line%3E%3Cline x1='7' y1='8.5' x2='20' y2='8.5'%3E%3C/line%3E%3Cline x1='10' y1='13.5' x2='20' y2='13.5'%3E%3C/line%3E%3Cline x1='13' y1='18.5' x2='20' y2='18.5'%3E%3C/line%3E%3Cpolyline points='4 15.5 6.5 18.5 4 21.5'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-share { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2.5'%3E%3C/circle%3E%3Ccircle cx='19' cy='6' r='2.5'%3E%3C/circle%3E%3Ccircle cx='19' cy='18' r='2.5'%3E%3C/circle%3E%3Cline x1='7.2' y1='10.8' x2='16.8' y2='7'%3E%3C/line%3E%3Cline x1='7.2' y1='13.2' x2='16.8' y2='17'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2.5'%3E%3C/circle%3E%3Ccircle cx='19' cy='6' r='2.5'%3E%3C/circle%3E%3Ccircle cx='19' cy='18' r='2.5'%3E%3C/circle%3E%3Cline x1='7.2' y1='10.8' x2='16.8' y2='7'%3E%3C/line%3E%3Cline x1='7.2' y1='13.2' x2='16.8' y2='17'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-nodes-thin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='5' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='19' r='2'%3E%3C/circle%3E%3Ccircle cx='20' cy='5' r='1.6'%3E%3C/circle%3E%3Ccircle cx='20' cy='9.5' r='1.6'%3E%3C/circle%3E%3Ccircle cx='20' cy='19' r='1.6'%3E%3C/circle%3E%3Cpath d='M6 12h2M10 5h-2v14h2'%3E%3C/path%3E%3Cpath d='M10 12h-2'%3E%3C/path%3E%3Cpath d='M14 5h4M14 5v4.5h4.4'%3E%3C/path%3E%3Cpath d='M14 19h4.4'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='5' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='2'%3E%3C/circle%3E%3Ccircle cx='12' cy='19' r='2'%3E%3C/circle%3E%3Ccircle cx='20' cy='5' r='1.6'%3E%3C/circle%3E%3Ccircle cx='20' cy='9.5' r='1.6'%3E%3C/circle%3E%3Ccircle cx='20' cy='19' r='1.6'%3E%3C/circle%3E%3Cpath d='M6 12h2M10 5h-2v14h2'%3E%3C/path%3E%3Cpath d='M10 12h-2'%3E%3C/path%3E%3Cpath d='M14 5h4M14 5v4.5h4.4'%3E%3C/path%3E%3Cpath d='M14 19h4.4'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-swap { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 2.5 21 6.5 17 10.5'%3E%3C/polyline%3E%3Cpath d='M3 6.5h18'%3E%3C/path%3E%3Cpolyline points='7 13.5 3 17.5 7 21.5'%3E%3C/polyline%3E%3Cpath d='M21 17.5H3'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 2.5 21 6.5 17 10.5'%3E%3C/polyline%3E%3Cpath d='M3 6.5h18'%3E%3C/path%3E%3Cpolyline points='7 13.5 3 17.5 7 21.5'%3E%3C/polyline%3E%3Cpath d='M21 17.5H3'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-sliders { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10'%3E%3C/path%3E%3Ccircle cx='17' cy='6' r='2.2'%3E%3C/circle%3E%3Cpath d='M20 12H10'%3E%3C/path%3E%3Ccircle cx='7' cy='12' r='2.2'%3E%3C/circle%3E%3Cpath d='M4 18h10'%3E%3C/path%3E%3Ccircle cx='17' cy='18' r='2.2'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10'%3E%3C/path%3E%3Ccircle cx='17' cy='6' r='2.2'%3E%3C/circle%3E%3Cpath d='M20 12H10'%3E%3C/path%3E%3Ccircle cx='7' cy='12' r='2.2'%3E%3C/circle%3E%3Cpath d='M4 18h10'%3E%3C/path%3E%3Ccircle cx='17' cy='18' r='2.2'%3E%3C/circle%3E%3C/svg%3E"); }
.uc-case .ico-monitor-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='20' height='14' rx='2'%3E%3C/rect%3E%3Cline x1='9' y1='21' x2='15' y2='21'%3E%3C/line%3E%3Cline x1='12' y1='17.5' x2='12' y2='21'%3E%3C/line%3E%3Cpolyline points='7.5 10.5 10.5 13.5 16.5 7.5'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='20' height='14' rx='2'%3E%3C/rect%3E%3Cline x1='9' y1='21' x2='15' y2='21'%3E%3C/line%3E%3Cline x1='12' y1='17.5' x2='12' y2='21'%3E%3C/line%3E%3Cpolyline points='7.5 10.5 10.5 13.5 16.5 7.5'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-tracks { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2.5' y1='7' x2='21.5' y2='7'%3E%3C/line%3E%3Cline x1='2.5' y1='17' x2='21.5' y2='17'%3E%3C/line%3E%3Ccircle cx='7' cy='7' r='2'%3E%3C/circle%3E%3Ccircle cx='16' cy='7' r='2'%3E%3C/circle%3E%3Ccircle cx='11' cy='17' r='2'%3E%3C/circle%3E%3Cline x1='7' y1='9' x2='7' y2='11'%3E%3C/line%3E%3Cline x1='11' y1='13' x2='11' y2='15'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='2.5' y1='7' x2='21.5' y2='7'%3E%3C/line%3E%3Cline x1='2.5' y1='17' x2='21.5' y2='17'%3E%3C/line%3E%3Ccircle cx='7' cy='7' r='2'%3E%3C/circle%3E%3Ccircle cx='16' cy='7' r='2'%3E%3C/circle%3E%3Ccircle cx='11' cy='17' r='2'%3E%3C/circle%3E%3Cline x1='7' y1='9' x2='7' y2='11'%3E%3C/line%3E%3Cline x1='11' y1='13' x2='11' y2='15'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-trend { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 16 8 10 12 13 20 5'%3E%3C/polyline%3E%3Cpolyline points='20 10 20 5 15 5'%3E%3C/polyline%3E%3Cline x1='3' y1='20' x2='21' y2='20'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 16 8 10 12 13 20 5'%3E%3C/polyline%3E%3Cpolyline points='20 10 20 5 15 5'%3E%3C/polyline%3E%3Cline x1='3' y1='20' x2='21' y2='20'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-inbox { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9.5V19a1.5 1.5 0 0 0 1.5 1.5h16a1.5 1.5 0 0 0 1.5-1.5V9.5'%3E%3C/path%3E%3Cpath d='M2.5 9.5 4.5 5h6l1 2.5h9l1 2z'%3E%3C/path%3E%3Cpolyline points='10 13.5 12.5 16 10 18.5'%3E%3C/polyline%3E%3Cline x1='14.5' y1='16' x2='17' y2='16'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9.5V19a1.5 1.5 0 0 0 1.5 1.5h16a1.5 1.5 0 0 0 1.5-1.5V9.5'%3E%3C/path%3E%3Cpath d='M2.5 9.5 4.5 5h6l1 2.5h9l1 2z'%3E%3C/path%3E%3Cpolyline points='10 13.5 12.5 16 10 18.5'%3E%3C/polyline%3E%3Cline x1='14.5' y1='16' x2='17' y2='16'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-link { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 14.5 14.5 9.5'%3E%3C/path%3E%3Cpath d='M12.5 6.5l1.8-1.8a4 4 0 0 1 5.7 5.7l-1.8 1.8'%3E%3C/path%3E%3Cpath d='M11.5 17.5l-1.8 1.8a4 4 0 0 1-5.7-5.7l1.8-1.8'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 14.5 14.5 9.5'%3E%3C/path%3E%3Cpath d='M12.5 6.5l1.8-1.8a4 4 0 0 1 5.7 5.7l-1.8 1.8'%3E%3C/path%3E%3Cpath d='M11.5 17.5l-1.8 1.8a4 4 0 0 1-5.7-5.7l1.8-1.8'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-monitor-tree { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='20' height='14' rx='2'%3E%3C/rect%3E%3Cline x1='9' y1='21' x2='15' y2='21'%3E%3C/line%3E%3Cline x1='12' y1='17.5' x2='12' y2='21'%3E%3C/line%3E%3Cline x1='5' y1='14.5' x2='19' y2='14.5'%3E%3C/line%3E%3Ccircle cx='8' cy='14.5' r='1'%3E%3C/circle%3E%3Ccircle cx='12' cy='14.5' r='1'%3E%3C/circle%3E%3Ccircle cx='16' cy='14.5' r='1'%3E%3C/circle%3E%3Cpath d='M8 13.5v-2a1.5 1.5 0 0 1 1.5-1.5h8'%3E%3C/path%3E%3Cpath d='M12 13.5v-4a1.5 1.5 0 0 1 1.5-1.5h4'%3E%3C/path%3E%3Cpath d='M16 13.5v-6a1.5 1.5 0 0 1 1.5-1.5h0'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='20' height='14' rx='2'%3E%3C/rect%3E%3Cline x1='9' y1='21' x2='15' y2='21'%3E%3C/line%3E%3Cline x1='12' y1='17.5' x2='12' y2='21'%3E%3C/line%3E%3Cline x1='5' y1='14.5' x2='19' y2='14.5'%3E%3C/line%3E%3Ccircle cx='8' cy='14.5' r='1'%3E%3C/circle%3E%3Ccircle cx='12' cy='14.5' r='1'%3E%3C/circle%3E%3Ccircle cx='16' cy='14.5' r='1'%3E%3C/circle%3E%3Cpath d='M8 13.5v-2a1.5 1.5 0 0 1 1.5-1.5h8'%3E%3C/path%3E%3Cpath d='M12 13.5v-4a1.5 1.5 0 0 1 1.5-1.5h4'%3E%3C/path%3E%3Cpath d='M16 13.5v-6a1.5 1.5 0 0 1 1.5-1.5h0'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-link-off { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 14.5 14.5 9.5'%3E%3C/path%3E%3Cpath d='M12.5 6.5l1.8-1.8a4 4 0 0 1 5.7 5.7l-1.8 1.8'%3E%3C/path%3E%3Cpath d='M11.5 17.5l-1.8 1.8a4 4 0 0 1-5.7-5.7l1.8-1.8'%3E%3C/path%3E%3Cline x1='2' y1='22' x2='22' y2='2'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 14.5 14.5 9.5'%3E%3C/path%3E%3Cpath d='M12.5 6.5l1.8-1.8a4 4 0 0 1 5.7 5.7l-1.8 1.8'%3E%3C/path%3E%3Cpath d='M11.5 17.5l-1.8 1.8a4 4 0 0 1-5.7-5.7l1.8-1.8'%3E%3C/path%3E%3Cline x1='2' y1='22' x2='22' y2='2'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-lock-check { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10.5' width='16' height='10' rx='2'%3E%3C/rect%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 7.5-2'%3E%3C/path%3E%3Cpolyline points='9.5 15.5 11.5 17.5 15 13.5'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10.5' width='16' height='10' rx='2'%3E%3C/rect%3E%3Cpath d='M8 10.5V7a4 4 0 0 1 7.5-2'%3E%3C/path%3E%3Cpolyline points='9.5 15.5 11.5 17.5 15 13.5'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-mail { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'%3E%3C/rect%3E%3Cpath d='m22 7-10 5L2 7'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'%3E%3C/rect%3E%3Cpath d='m22 7-10 5L2 7'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-pin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 12-9 12s-9-5-9-12a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 12-9 12s-9-5-9-12a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E"); }
.uc-case .ico-plus { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-play { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='none'%3E%3Cpolygon points='6 4 20 12 6 20 6 4'%3E%3C/polygon%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='none'%3E%3Cpolygon points='6 4 20 12 6 20 6 4'%3E%3C/polygon%3E%3C/svg%3E"); }
.uc-case .ico-search { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3Cline x1='8' y1='9' x2='13' y2='9'%3E%3C/line%3E%3Cline x1='8' y1='12.5' x2='12' y2='12.5'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3Cline x1='8' y1='9' x2='13' y2='9'%3E%3C/line%3E%3Cline x1='8' y1='12.5' x2='12' y2='12.5'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-terminal { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 17 10 11 4 5'%3E%3C/polyline%3E%3Cline x1='12' y1='19' x2='20' y2='19'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 17 10 11 4 5'%3E%3C/polyline%3E%3Cline x1='12' y1='19' x2='20' y2='19'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-trash { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'%3E%3C/polyline%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-user { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E"); }

/* CTA 배경 장식 아트(decorative, 클릭 불가) — 두 페이지 위치·크기를 하나로 통일 */
.uc-case .uc-cta-art1 { position: absolute; right: -30px; bottom: -56px; width: 360px; height: 360px; opacity: .10; pointer-events: none; }
.uc-case .uc-cta-art2 { position: absolute; right: 210px; top: 38px; width: 76px; height: 76px; opacity: .14; pointer-events: none; }

/* ---- 모달 내부 공통 조각 ---- */
.uc-case .uc-modal-head-group { display: flex; align-items: center; gap: 16px; }
.uc-case .uc-modal-icon-badge { flex: none; width: 48px; height: 48px; border-radius: 14px; background: #eaf2ff; color: #0064e0; display: inline-flex; align-items: center; justify-content: center; }
.uc-case .uc-modal-kicker { font-size: 12px; font-weight: 700; color: #8595a4; }
.uc-case .uc-modal-intro { margin: 0 0 22px; font-size: 15px; line-height: 1.45; color: #5d6c7b; }
.uc-case .uc-modal-field-row--head { padding: 11px 0; font-size: 12px; font-weight: 700; color: #8595a4; }
.uc-case .uc-modal-insight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
/* 모달 안 안내 박스: 기본 회색, --white 는 흰 배경+테두리 */
.uc-case .uc-note-box { display: flex; gap: 12px; margin-top: 16px; padding: 16px 22px; background: #eef1f4; border-radius: 14px; }
.uc-case .uc-note-box--white { display: block; margin-top: 14px; padding: 18px 22px; background: #fff; border: 1px solid #dee3e9; }

/* ---- 감시 조건 목록(batch-job 모달) ---- */
.uc-case .uc-cond-list { display: flex; flex-direction: column; gap: 10px; }
.uc-case .uc-time-row { flex: none; display: flex; align-items: center; gap: 6px; margin-top: 1px; }
.uc-case .uc-time-box--wide { width: auto; padding: 0 14px; white-space: nowrap; }
.uc-case .uc-channel-row { display: flex; align-items: center; gap: 14px; margin-top: 22px; padding: 16px 22px; background: #fff; border: 1px solid #dee3e9; border-radius: 14px; }
.uc-case .uc-channel-label { font-size: 14px; font-weight: 700; color: #0a1317; }
.uc-case .uc-channel-pills { display: flex; gap: 8px; }

/* ---- user-history 감사 질문 콜아웃 박스 ---- */
.uc-case .uc-callout-box { margin: 30px 0 8px; background: #f4f8fd; border-radius: 16px; padding: 20px 34px; }
.uc-case .uc-callout-box-title { margin: 0 0 16px; color: #0f4c8a; }
.uc-case .uc-callout-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 12px; }
.uc-case .uc-callout-foot { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid #d8e4f2; font-size: 15px; line-height: 1.5; color: #0f4c8a; font-weight: 700; }

/* 이미지 프레임 좁은 변형 / Difference 도입부 주황 강조 */
/* 폭이 좁은 캡처(달력·조회 조건 등). 286px는 현재 쓰이는 캡처의 원본 폭이라
   확대 없이 1:1로 그려진다 — 그보다 키우면 늘어나서 글자가 뭉개진다. */
.uc-case .uc-img-frame--narrow { max-width: 286px; margin: 22px auto 0; }
.uc-case .uc-accent-orange { color: #F29821; font-weight: 800; }
.uc-case .ico-shield { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'%3E%3C/path%3E%3Ccircle cx='9' cy='10' r='2.2'%3E%3C/circle%3E%3Ccircle cx='15' cy='10' r='2.2'%3E%3C/circle%3E%3Cpath d='M9 10h.01M15 10h.01'%3E%3C/path%3E%3Cpath d='M12 13v2.5'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'%3E%3C/path%3E%3Ccircle cx='9' cy='10' r='2.2'%3E%3C/circle%3E%3Ccircle cx='15' cy='10' r='2.2'%3E%3C/circle%3E%3Cpath d='M9 10h.01M15 10h.01'%3E%3C/path%3E%3Cpath d='M12 13v2.5'%3E%3C/path%3E%3C/svg%3E"); }
.uc-case .ico-file-lines { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='8' y1='13' x2='16' y2='13'%3E%3C/line%3E%3Cline x1='8' y1='17' x2='16' y2='17'%3E%3C/line%3E%3Cline x1='8' y1='9' x2='10' y2='9'%3E%3C/line%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='8' y1='13' x2='16' y2='13'%3E%3C/line%3E%3Cline x1='8' y1='17' x2='16' y2='17'%3E%3C/line%3E%3Cline x1='8' y1='9' x2='10' y2='9'%3E%3C/line%3E%3C/svg%3E"); }
.uc-case .ico-clock-thin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'%3E%3C/circle%3E%3Cpolyline points='12 7 12 12 15 14'%3E%3C/polyline%3E%3C/svg%3E"); }
.uc-case .ico-database-thin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'%3E%3C/ellipse%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'%3E%3C/path%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'%3E%3C/path%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'%3E%3C/ellipse%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'%3E%3C/path%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'%3E%3C/path%3E%3C/svg%3E"); }

@keyframes owFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes owPopIn { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }


/* 히어로 캡처가 약 2.12:1인 페이지용(공통 기본값은 2.22:1).
   Top N List(1915x905)·Realtime Monitoring(1916x903)이 함께 쓴다. */
.uc-case .uc-hero-shot-frame--r212 { aspect-ratio: 1916/903; }
/* 약 2.03:1 — Context Analyzer(1910x943) */
.uc-case .uc-hero-shot-frame--r202 { aspect-ratio: 1910/943; }

/* 선택하지 않은 상태의 옵션 pill. 선택 상태는 파란 .uc-channel-pill을 쓴다. */
.uc-case .uc-opt-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.uc-case .uc-opt-pill { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 100px; border: 1px solid #dee3e9; background: #fff; color: #5d6c7b; font-size: 13px; font-weight: 600; }

/* 응답시간 구간 막대(모달 ②). 색 클래스(uc-rt-proc 등)는 막대 조각과 범례 점이 함께 쓰고,
   폭은 막대 안에서만 적용해 범례 점이 늘어나지 않게 한다. */
.uc-case .uc-rt-box { margin-top: 18px; padding: 18px 22px; background: #fff; border: 1px solid #dee3e9; border-radius: 14px; }
.uc-case .uc-rt-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: 12px; color: #8595a4; }
.uc-case .uc-rt-head strong { font-weight: 700; color: #5d6c7b; }
.uc-case .uc-rt-bar { display: flex; height: 22px; border-radius: 6px; overflow: hidden; border: 1px solid #dee3e9; }
.uc-case .uc-rt-bar > span { display: block; }
.uc-case .uc-rt-bar .uc-rt-proc { width: 56%; }
.uc-case .uc-rt-bar .uc-rt-db { width: 22%; }
.uc-case .uc-rt-bar .uc-rt-cpu { width: 14%; }
.uc-case .uc-rt-bar .uc-rt-etc { width: 8%; }
.uc-case .uc-rt-proc { background: #1f6fb2; }
.uc-case .uc-rt-db { background: #4d9bd6; }
.uc-case .uc-rt-cpu { background: #8fc0e6; }
.uc-case .uc-rt-etc { background: #F29821; }
.uc-case .uc-rt-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; font-size: 12px; color: #5d6c7b; }
.uc-case .uc-rt-legend span { display: inline-flex; align-items: center; gap: 6px; }
.uc-case .uc-rt-dot { flex: none; width: 11px; height: 11px; border-radius: 3px; }

/* 3열 표. 모바일에서는 기존 규칙이 1열로 펴 준다.
   --3col      : 가운데가 설명인 경우 (구간 · 의미 · 값이 크면)
   --3col-code : 가운데가 짧은 코드인 경우 (지표 · SAP 표준 · 말해 주는 것) */
.uc-case .uc-modal-field-row--3col { grid-template-columns: 140px 1fr 150px; }
.uc-case .uc-modal-field-row--3col-code { grid-template-columns: 200px 120px 1fr; }


/* ---- Realtime Monitoring 에서 추가된 공용 컴포넌트 ---- */

/* 세로로 긴 캡처용. 전체 폭(1000px)에 두면 세로가 1300px을 넘어 읽기 어려워진다.
   폭을 줄이는 방식이라 값을 낮출수록 높이도 함께 줄어든다. */
.uc-case .uc-img-frame--portrait { max-width: 480px; margin: 22px auto 0; }

/* 아직 캡처가 없는 자리. 조용히 비워 두면 누락된 줄 모르므로 화면에 드러나게 표시한다.
   이미지가 준비되면 이 블록을 uc-img-frame으로 교체한다. */
.uc-case .uc-img-placeholder { display: flex; align-items: flex-start; gap: 12px; max-width: 1000px; margin: 22px auto 0; padding: 22px 24px; border: 1.5px dashed #bcd9ff; border-radius: 14px; background: #f4f9ff; }
.uc-case .uc-img-placeholder .uc-ico { color: #0064e0; margin-top: 1px; }
.uc-case .uc-img-placeholder-title { font-size: 14px; font-weight: 700; color: #0457cb; }
.uc-case .uc-img-placeholder-hint { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: #8595a4; }

/* 탭 (모달 안에서 DB 종류별 화면을 전환) */
.uc-case .uc-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.uc-case .uc-tab { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 100px; border: 1px solid #dee3e9; background: #fff; color: #5d6c7b; font-size: 13px; font-weight: 700; font-family: inherit; cursor: pointer; transition: background 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out; }
.uc-case .uc-tab:hover { border-color: #bcd9ff; }
.uc-case .uc-tab.is-active { border-color: #0064e0; background: #eaf2ff; color: #0457cb; }
.uc-case .uc-tabpanel { display: none; }
.uc-case .uc-tabpanel.is-active { display: block; }

/* 라벨 + 값 목록 (예: 상세에서 보는 트랜잭션) */
.uc-case .uc-kv-grid { display: grid; grid-template-columns: auto 1fr; gap: 7px 20px; margin-top: 12px; }
.uc-case .uc-kv-key { font-size: 13px; color: #8595a4; }
.uc-case .uc-kv-val { font-size: 14px; font-weight: 700; color: #0a1317; font-variant-numeric: tabular-nums; }

/* 응답시간 구간 막대의 얇은 변형. 색은 기본 막대와 같은 팔레트를 쓰고 비율만 다르다. */
.uc-case .uc-rt-bar--slim { height: 16px; border-radius: 4px; margin-top: 14px; }
/* DB 구간이 대부분인 예시 (처리 437ms / DB 3,797ms = 4,237ms 중 각각 약 10% · 90%) */
.uc-case .uc-rt-bar--db-heavy .uc-rt-proc { width: 10%; }
.uc-case .uc-rt-bar--db-heavy .uc-rt-db { width: 90%; }


/* ---- SQL Viewer 에서 추가된 공용 컴포넌트 ---- */

/* 약 1.21:1 — SQL Viewer(1084x898) */
.uc-case .uc-hero-shot-frame--r121 { aspect-ratio: 1084/898; }
/* 세로로 긴 캡처 두 장을 나란히 놓을 때 */
.uc-case .uc-imgpair--portrait { --uc-pair-ratio: 688/950; }

/* 콜아웃/인사이트 카드 안의 결론 한 줄 ("→ SQL 자체를 튜닝합니다") */
.uc-case .uc-card-foot { margin: 12px 0 0; padding-top: 11px; border-top: 1px solid #eef1f4; font-size: 14px; font-weight: 800; color: #0457cb; }
.uc-case .uc-callout-card .uc-card-foot { border-top-color: #d8e4f2; }

/* ---- 다크 통계 패널 (Problem 섹션의 'DB 시간을 SQL 단위로 열어보면') ----
   밝은 배경 위 막대(uc-rt-*)와 달리 어두운 카드 안에서 쓰므로 색·테두리가 다르다. */
.uc-case .uc-dark-panel { margin-top: 28px; padding: 22px 26px 20px; background: #161b26; border-radius: 16px; }
.uc-case .uc-dark-label { margin: 0; font-size: 11px; line-height: 1.5; color: #8a94a6; }
.uc-case .uc-dark-label--gap { margin-top: 16px; }
.uc-case .uc-dark-bar { display: flex; height: 24px; margin-top: 8px; border: 1px solid #2a3242; border-radius: 6px; overflow: hidden; }
.uc-case .uc-dark-bar > span { display: block; }
.uc-case .uc-dark-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 9px; font-size: 11px; color: #8a94a6; }
.uc-case .uc-dark-legend span { display: inline-flex; align-items: center; gap: 5px; }
.uc-case .uc-dark-dot { flex: none; width: 10px; height: 10px; border-radius: 3px; }
/* 구간 색 — 막대 조각과 범례 점이 공유 */
.uc-case .uc-seg-proc { background: #4d9bd6; }
.uc-case .uc-seg-etc { background: #8f7ce0; }
.uc-case .uc-seg-db { background: #d94f9c; }
/* 응답시간 30초 예시의 구성비 */
.uc-case .uc-dark-bar .uc-seg-proc { width: 8%; }
.uc-case .uc-dark-bar .uc-seg-etc { width: 9%; }
.uc-case .uc-dark-bar .uc-seg-db { width: 83%; }

/* SQL 한 건씩의 소요 시간 막대 */
.uc-case .uc-sqlrows { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.uc-case .uc-sqlrow { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }
.uc-case .uc-sqlrow-track { display: block; height: 12px; border-radius: 3px; background: #2a3242; }
.uc-case .uc-sqlrow-fill { display: block; height: 12px; border-radius: 3px; background: #4d9bd6; }
.uc-case .uc-sqlrow-val { min-width: 48px; text-align: right; font-size: 11px; font-family: ui-monospace, Menlo, Consolas, monospace; color: #c7cfdb; }
/* 시간을 가져간 건 강조 */
.uc-case .uc-sqlrow--hot .uc-sqlrow-fill { background: #ff6bb3; }
.uc-case .uc-sqlrow--hot .uc-sqlrow-val { color: #ff6bb3; font-weight: 700; }
/* 막대 폭 — 이 패널 안에서만 쓰는 값 */
.uc-case .uc-sqlrow-fill--52 { width: 52%; }
.uc-case .uc-sqlrow-fill--48 { width: 48%; }
.uc-case .uc-sqlrow-fill--2 { width: 2%; }
.uc-case .uc-sqlrow-fill--1 { width: 1%; }



/* ---- Program Monitor 에서 추가된 공용 규칙 ---- */

/* 약 1.80:1 — Program Monitor(964x536) */
.uc-case .uc-hero-shot-frame--r180 { aspect-ratio: 964/536; }

/* 원본이 작아도 늘리지 않는 이미지 프레임.
   uc-img-frame-full 은 항상 1000px까지 채우므로 작은 캡처가 확대되는데,
   이쪽은 프레임이 이미지 원본 폭까지만 커진다(최대 1000px, 넘으면 축소).
   시안이 축소 저장돼 오는 경우가 많아 폭을 픽셀로 박아두는 대신 이 클래스를 쓴다. */
.uc-case .uc-img-frame--natural { width: fit-content; max-width: 1000px; margin: 22px auto 0; }
.uc-case .uc-img-frame--natural img { width: auto; max-width: 100%; }

/* 콜아웃 카드에 제목이 붙는 변형. 카드가 길어져 2열로 고정해야 할 때 --2col 을 함께 쓴다
   (기본 uc-callout-grid 는 auto-fit 이라 카드가 4장이면 4열이 된다). */
.uc-case .uc-callout-grid--2col { grid-template-columns: repeat(2, 1fr); }
.uc-case .uc-callout-card-title { font-size: 15px; font-weight: 800; color: #0457cb; }
.uc-case .uc-callout-card-desc { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: #5d6c7b; }


/* ---- Dump & Log 에서 추가된 공용 규칙 ---- */

/* 약 2.11:1 — Dump & Log(1916x906) */
.uc-case .uc-hero-shot-frame--r211 { aspect-ratio: 1916/906; }

/* 콜아웃 카드를 세로로 쌓고, 카드 안을 '이름 + 설명' 두 칸으로 나눌 때
   (Dump & Log 의 "세 로그는 서로 다른 질문에 답합니다"). */
.uc-case .uc-callout-list { display: flex; flex-direction: column; gap: 12px; }
.uc-case .uc-callout-row { display: grid; grid-template-columns: 190px 1fr; gap: 16px; align-items: baseline; }
.uc-case .uc-callout-row .uc-callout-card-desc { margin: 0; }

/* 본문 속 코드 조각(덤프 유형명 등) */
.uc-case .uc-code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; color: #0457cb; }

/* 단계가 화살표로 이어지는 흐름 (발생 → SNAP 저장 → ST22 조회 → 자동 삭제) */
.uc-case .uc-flow-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.uc-case .uc-flow-sep { color: #8fc0e6; font-size: 15px; }

/* 번호가 붙는 순서 목록 — uc-modal-table-box 안에서 쓴다 */
.uc-case .uc-step-row { display: grid; grid-template-columns: 26px 1fr; gap: 14px; align-items: start; padding: 12px 0; border-bottom: 1px solid #f1f4f7; }
.uc-case .uc-step-row:last-child { border-bottom: none; }
.uc-case .uc-step-num { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 9999px; background: #eaf2ff; color: #0457cb; font-size: 12px; font-weight: 800; }
.uc-case .uc-step-text { font-size: 14px; line-height: 1.6; color: #5d6c7b; }


/* ---- Expensive SQL 에서 추가된 공용 규칙 ---- */

/* 약 2.04:1 — Expensive SQL(1916x940) */
.uc-case .uc-hero-shot-frame--r204 { aspect-ratio: 1916/940; }


/* ---- SoD & RA 에서 추가된 공용 규칙 ---- */

/* 약 2.11:1 — SoD & RA(1911x907) */
.uc-case .uc-hero-shot-frame--r210 { aspect-ratio: 1911/907; }

/* 카드 2장을 나란히 놓는 그리드. uc-cards3 의 2열 버전으로, 간격도 같은 20px 이다
   (SoD / RA 두 개념을 대비시키는 카드처럼 3열로는 비는 자리가 생기는 경우에 쓴다). */
.uc-case .uc-cards2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }

/* 카드 안 예시 문장을 담는 연파랑 블록. 기존 uc-note-pill 은 inline-flex 알약이라
   두 줄 이상 흐르는 문장에는 맞지 않아 블록형으로 따로 둔다. */
.uc-case .uc-note-box--blue { display: block; margin-top: 16px; padding: 12px 16px; background: #eaf2ff; border: none; border-radius: 12px; font-size: 14px; line-height: 1.5; color: #0457cb; }
/* 박스 안 강조는 uc-tip-text 와 같이 박스 색(#0457cb)을 따르고 굵기만 올린다.
   어두운 잉크색 강조가 필요한 자리는 기존처럼 strong.uc-strong 을 쓴다. */
.uc-case .uc-note-box--blue strong:not(.uc-strong) { font-weight: 800; }

/* 위험 수준 배지(치명적/높음). uc-modal-field-row--3col-code 표의 가운데 칸에 쓴다. */
.uc-case .uc-sev-pill { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 100px; font-size: 12px; font-weight: 700; }
.uc-case .uc-sev-pill--critical { background: #fdeaee; color: #e41e3f; }
.uc-case .uc-sev-pill--high { background: #fdf3e2; color: #b8760a; }


/* ---- Unused List 에서 추가된 공용 규칙 ---- */

/* uc-eyebrow 는 섹션 라벨용이라 대문자로 변환되는데, 카드 안 부제(Unused Users 등)는
   시안이 원래 표기를 그대로 쓰므로 변환만 끈다. 크기·굵기·색은 uc-eyebrow 그대로. */
.uc-case .uc-eyebrow--normal { text-transform: none; }

/* 목록 · 컬럼 · 설명 3열 표. 기존 --3col(140/1fr/150) --3col-code(200/120/1fr) 로는
   가운데 칸(T-code · Description)이 접혀 시안의 비율을 그대로 쓴다. */
.uc-case .uc-modal-field-row--3col-wide { grid-template-columns: 1fr .9fr 1.6fr; }

@media screen and (max-width: 1024px) {
  .uc-case { padding-top: 60px; }
  /* 사이트 공통 hr.end가 이 구간에서 150px→50px로 줄므로 하단 여백도 같이 맞춘다 */
  .uc-case .uc-more-section { padding-bottom: 50px; }
  .uc-case .uc-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
}
@media screen and (max-width: 768px) {
  .uc-case .uc-cards3 { grid-template-columns: 1fr !important; }
  .uc-case .uc-cards2 { grid-template-columns: 1fr !important; }
  .uc-case .uc-imgpair { grid-template-columns: 1fr !important; }
  .uc-case .uc-sol-row { grid-template-columns: 1fr !important; gap: 16px !important; }
  .uc-case .uc-cta-box { padding: 28px 24px !important; }
  .uc-case .uc-cmp-scroll { overflow-x: auto; }
  .uc-case .uc-cmp-scroll > div { min-width: 640px; }

  /* 사이트 공통 fs-48은 모바일에서도 48px 그대로라 H1(32px)보다 커진다.
     활용사례 페이지 안에서만 제목 크기를 낮춰 위계를 되돌린다. */
  .uc-case .fs-48 { font-size: 26px !important; }
  .uc-case .uc-role-card { padding: 22px 24px; }
  .uc-case .uc-callout-box { padding: 20px 22px; }
  .uc-case .uc-callout-grid--2col { grid-template-columns: 1fr; }
  .uc-case .uc-callout-row { grid-template-columns: 1fr; gap: 4px; }
  .uc-case .uc-problem-card { padding: 4px 18px; }

  /* ---- 모달: 좁은 화면에서 내부 여백을 줄이고 2단 구성을 세로로 편다 ---- */
  .uc-case .uc-modal-overlay { padding: 16px; }
  .uc-case .uc-modal-header { padding: 20px 18px 16px; }
  .uc-case .uc-modal-body { padding: 20px 18px 24px; }
  .uc-case .uc-modal-footer { padding: 14px 18px; }
  .uc-case .uc-modal-table-box { padding: 4px 16px; }
  /* 라벨 열이 200px 고정이라 설명 칸이 10여 px로 눌려 글자가 세로로 깨지던 문제 */
  .uc-case .uc-modal-field-row { grid-template-columns: 1fr; gap: 4px; }
  .uc-case .uc-modal-insight-grid { grid-template-columns: 1fr; }
  .uc-case .uc-modal-icon-badge { width: 40px; height: 40px; }

  /* 감시 조건 행: 입력칸이 옆에 붙으면 본문이 눌리므로 아래로 내린다 */
  .uc-case .uc-cond-row--split { flex-direction: column; align-items: stretch; gap: 12px; }
  .uc-case .uc-channel-row { flex-wrap: wrap; padding: 14px 18px; }
  .uc-case .uc-channel-pills { flex-wrap: wrap; }
  .uc-case .uc-tip-pill,
  .uc-case .uc-note-pill { border-radius: 14px; }
}
