/**
 * KTS도우미 — CCBB LUXE 화이트 모드 공통 (html.kts-theme-light 전용)
 * 다크 모드 스타일은 각 페이지 기본 CSS 유지
 */
html.kts-theme-light {
  --kts-luxe-bg: #f4f6fa;
  --kts-luxe-bg-mesh: #eef2f8;
  --kts-luxe-surface: #ffffff;
  --kts-luxe-ink: #0f172a;
  --kts-luxe-muted: #475569;
  --kts-luxe-muted-2: #64748b;
  --kts-luxe-line: rgba(15, 23, 42, 0.08);
  --kts-luxe-line-strong: rgba(15, 23, 42, 0.12);
  --kts-luxe-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.06);
  --kts-luxe-shadow-lg: 0 2px 4px rgba(15, 23, 42, 0.03), 0 20px 50px rgba(15, 23, 42, 0.08);
  --kts-luxe-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --kts-luxe-radius: 14px;
  --kts-luxe-radius-lg: 20px;
  --kt-red: #e60012;
}

html.kts-theme-light,
html.kts-theme-light body {
  font-family: var(--kts-luxe-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  word-break: keep-all;
  overflow-wrap: break-word;
  color: var(--kts-luxe-ink) !important;
  background-color: var(--kts-luxe-bg) !important;
  background-image:
    radial-gradient(ellipse 120% 80% at 50% -30%, rgba(230, 0, 18, 0.04), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 20%, rgba(59, 130, 246, 0.05), transparent 50%),
    radial-gradient(ellipse 60% 40% at 0% 80%, rgba(248, 250, 252, 0.9), transparent 50%) !important;
}

html.kts-theme-light button,
html.kts-theme-light input,
html.kts-theme-light select,
html.kts-theme-light textarea {
  font-family: inherit;
}

/* ── 상단 네비 (홈·검색·요금·전략 등) ── */
html.kts-theme-light .kts-top-nav {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
  border-bottom: 1px solid var(--kts-luxe-line) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04) !important;
}

html.kts-theme-light .kts-round-nav,
html.kts-theme-light .kts-theme-toggle-btn {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-muted) !important;
  box-shadow: none !important;
}

html.kts-theme-light .kts-round-nav:hover,
html.kts-theme-light .kts-theme-toggle-btn:hover {
  background: #f1f5f9 !important;
  border-color: rgba(15, 23, 42, 0.16) !important;
  color: var(--kts-luxe-ink) !important;
}

/* ── 홈 (home.html) ── */
html.kts-theme-light .bg-mesh {
  opacity: 1 !important;
  filter: none !important;
  background:
    radial-gradient(ellipse 120% 80% at 50% -30%, rgba(230, 0, 18, 0.04), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 20%, rgba(59, 130, 246, 0.05), transparent 50%),
    radial-gradient(ellipse 60% 40% at 0% 80%, rgba(248, 250, 252, 0.9), transparent 50%),
    var(--kts-luxe-bg) !important;
}

html.kts-theme-light .app-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(15, 23, 42, 0.14) !important;
  border-radius: 20px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    0 2px 10px rgba(15, 23, 42, 0.06),
    0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

html.kts-theme-light .app-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(15, 23, 42, 0.2) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 10px 28px rgba(15, 23, 42, 0.1),
    0 3px 8px rgba(15, 23, 42, 0.06) !important;
  background: #ffffff !important;
}

html.kts-theme-light .app-icon-img-wrap {
  background: linear-gradient(165deg, #ffffff 0%, #eef2f7 100%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -1px 0 rgba(15, 23, 42, 0.05),
    0 3px 10px rgba(15, 23, 42, 0.08) !important;
}

html.kts-theme-light .app-label {
  color: var(--kts-luxe-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

html.kts-theme-light .app-sub {
  color: var(--kts-luxe-muted-2) !important;
  font-weight: 500 !important;
}

html.kts-theme-light .home-hero-title {
  color: var(--kts-luxe-ink) !important;
  letter-spacing: -0.03em !important;
}

html.kts-theme-light .ktsgo-boot-splash {
  background: var(--kts-luxe-bg) !important;
}

/* ── 검색 도우미 (index.html) ── */
html.kts-theme-light .wrap {
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .title,
html.kts-theme-light .powered-by,
html.kts-theme-light .tabs-section-label {
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .tabs-wrap,
html.kts-theme-light .regions-wrap,
html.kts-theme-light .bar-select-card {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  box-shadow: var(--kts-luxe-shadow) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .tab {
  color: var(--kts-luxe-muted) !important;
  font-weight: 600 !important;
}

html.kts-theme-light .tab:hover {
  background: rgba(59, 130, 246, 0.08) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .tab.active {
  background: #007aff !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 122, 255, 0.28) !important;
}

html.kts-theme-light .region {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .region:hover {
  background: rgba(59, 130, 246, 0.08) !important;
  border-color: rgba(59, 130, 246, 0.25) !important;
}

html.kts-theme-light .region.active {
  background: #007aff !important;
  border-color: #007aff !important;
  color: #fff !important;
}

html.kts-theme-light .btn {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .result-card {
  background: var(--kts-luxe-surface) !important;
  border-bottom-color: var(--kts-luxe-line) !important;
}

html.kts-theme-light .result-card:hover {
  background: #f8fafc !important;
}

html.kts-theme-light .data-table .col-name,
html.kts-theme-light .data-table .col-addr {
  color: var(--kts-luxe-ink) !important;
  border-right-color: var(--kts-luxe-line) !important;
}

html.kts-theme-light .search-mode-hero-inner {
  background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  box-shadow: var(--kts-luxe-shadow) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .search-inline-input,
html.kts-theme-light .memo-panel textarea,
html.kts-theme-light .search-modal-inner input {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .map-modal-inner,
html.kts-theme-light .search-modal-inner,
html.kts-theme-light .map-picker-inner {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
  box-shadow: var(--kts-luxe-shadow-lg) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .footer-credit,
html.kts-theme-light .footer-credit .footer-name,
html.kts-theme-light #status,
html.kts-theme-light .loading,
html.kts-theme-light .geo-hint {
  color: var(--kts-luxe-muted) !important;
}

/* ── 전략 (strategy.html) ── */
html.kts-theme-light body.text-\[\#E0E0E0\] {
  color: var(--kts-luxe-ink) !important;
  background: var(--kts-luxe-bg) !important;
  background-image:
    radial-gradient(ellipse 120% 80% at 50% -30%, rgba(230, 0, 18, 0.04), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 20%, rgba(59, 130, 246, 0.05), transparent 50%) !important;
}

html.kts-theme-light .card-border,
html.kts-theme-light .card-glass {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  box-shadow: var(--kts-luxe-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.kts-theme-light .card-border::before {
  display: none !important;
}

html.kts-theme-light .kpi-label {
  color: var(--kts-luxe-muted-2) !important;
}

html.kts-theme-light .neon-blue,
html.kts-theme-light .kpi-number,
html.kts-theme-light .kpi-range {
  color: #007aff !important;
  text-shadow: none !important;
}

html.kts-theme-light .notice-glass {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line) !important;
  border-radius: var(--kts-luxe-radius) !important;
}

html.kts-theme-light .notice-glass p {
  color: var(--kts-luxe-muted) !important;
}

/* ── 모바일 해지위약금 (termination.html) ── */
html.kts-theme-light .top-bar {
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(20px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.2) !important;
  border-bottom: 1px solid var(--kts-luxe-line) !important;
}

html.kts-theme-light .top-title {
  color: var(--kts-luxe-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

html.kts-theme-light .page-desc {
  color: var(--kts-luxe-muted) !important;
}

html.kts-theme-light .form-section {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
  box-shadow: var(--kts-luxe-shadow) !important;
}

html.kts-theme-light .form-input,
html.kts-theme-light .form-select {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-ink) !important;
  border-radius: 12px !important;
}

html.kts-theme-light .field-label {
  color: var(--kts-luxe-muted) !important;
}

html.kts-theme-light .result-card {
  background: #f0fdf9 !important;
  border: 1px solid rgba(16, 185, 129, 0.25) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
}

html.kts-theme-light .menu-card {
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%) !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06), inset 0 1px 0 #fff !important;
}

html.kts-theme-light .menu-card-icon {
  background: linear-gradient(155deg, #f8fafc 0%, #eef2f7 100%) !important;
  border-color: rgba(15, 23, 42, 0.1) !important;
}

/* ── 통합계산기 (unified-calc.html) ── */
html.kts-theme-light #app {
  background: var(--kts-luxe-surface) !important;
  box-shadow: var(--kts-luxe-shadow-lg) !important;
  border-radius: 0 !important;
}

html.kts-theme-light .uc-hd {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border-bottom: 1px solid var(--kts-luxe-line) !important;
}

html.kts-theme-light .uc-hd h1 {
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .uc-hd p,
html.kts-theme-light .uc-note,
html.kts-theme-light #gateScreen .sub {
  color: var(--kts-luxe-muted) !important;
}

html.kts-theme-light .uc-hd-linklike {
  color: #0b5cab !important;
}

html.kts-theme-light .uc-card {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  box-shadow: var(--kts-luxe-shadow) !important;
  border-radius: var(--kts-luxe-radius-lg) !important;
}

html.kts-theme-light .uc-card h2 {
  color: #0b5cab !important;
}

html.kts-theme-light .uc-table th {
  color: var(--kts-luxe-muted-2) !important;
}

html.kts-theme-light .uc-table td {
  color: var(--kts-luxe-ink) !important;
  border-bottom-color: var(--kts-luxe-line) !important;
}

html.kts-theme-light .uc-table td.num {
  color: #b45309 !important;
}

html.kts-theme-light #gateScreen input {
  background: #f8fafc !important;
  border: 1px solid var(--kts-luxe-line-strong) !important;
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light #gateScreen #gateBtn {
  background: linear-gradient(135deg, #007aff, #005ecb) !important;
  color: #fff !important;
}

html.kts-theme-light #gateScreen #gateHintBtn {
  background: #fffbeb !important;
  border-color: rgba(234, 179, 8, 0.45) !important;
  color: #92400e !important;
}

html.kts-theme-light .uc-home-confirm-dialog {
  background: var(--kts-luxe-surface) !important;
  border: 1px solid var(--kts-luxe-line) !important;
  box-shadow: var(--kts-luxe-shadow-lg) !important;
}

html.kts-theme-light .uc-home-confirm-msg {
  color: var(--kts-luxe-ink) !important;
}

html.kts-theme-light .uc-home-confirm-btn--no {
  background: #f1f5f9 !important;
  color: var(--kts-luxe-muted) !important;
}

html.kts-theme-light .uc-top-bar {
  display: flex;
  justify-content: flex-end;
  padding: 12px 14px 0;
  max-width: 500px;
  margin: 0 auto;
}

/* ── 요금계산기 · 공통 면 ── */
html.kts-theme-light .fee-header,
html.kts-theme-light .fee-section,
html.kts-theme-light .summary-card {
  border-radius: var(--kts-luxe-radius-lg) !important;
}

html.kts-theme-light .fee-container {
  color: var(--kts-luxe-ink);
}

/* ── policy / admin / 별도가족 — 베이스만 보강 ── */
html.kts-theme-light.policy-page body,
html.kts-theme-light .adm-shell,
html.kts-theme-light .sfc-wrap {
  background-color: var(--kts-luxe-bg) !important;
}
