/* ============================================================
   다단계(MLM) 관리 시스템 — 화면 프로토타입 테마
   admin_template(InApp / CodesCandy) 의 SCSS를 충실히 재현.
   Bootstrap 5.3 기반 · primary = #E66239(오렌지) · Poppins
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');

/* ---- Tabler 로컬 폰트 ---- */
@font-face{
  font-family:"tabler-icons";
  font-style:normal;font-weight:400;font-display:block;
  src:url("../vendor/tabler/fonts/tabler-icons.woff2") format("woff2");
}

/* ---- 브랜드 컬러 토큰 (Bootstrap 변수 오버라이드) ---- */
:root,[data-bs-theme=light]{
  --bs-primary:#E66239;            --bs-primary-rgb:230,98,57;
  --bs-primary-text-emphasis:#5c270f;
  --bs-primary-bg-subtle:#fbe5dc;
  --bs-primary-border-subtle:#f5c1ad;

  --bs-success:#00C951;            --bs-success-rgb:0,201,81;
  --bs-success-text-emphasis:#00502; --bs-success-text-emphasis:#005020;
  --bs-success-bg-subtle:#ccf4dc;  --bs-success-border-subtle:#99e5b9;

  --bs-info:#00B8DB;               --bs-info-rgb:0,184,219;
  --bs-info-text-emphasis:#004957;
  --bs-info-bg-subtle:#ccf1f8;     --bs-info-border-subtle:#99e3f0;

  --bs-warning:#F0B100;            --bs-warning-rgb:240,177,0;
  --bs-warning-text-emphasis:#604700;
  --bs-warning-bg-subtle:#fcf0cc;  --bs-warning-border-subtle:#f8e099;

  --bs-danger:#FB2C36;             --bs-danger-rgb:251,44,54;
  --bs-danger-text-emphasis:#650f13;
  --bs-danger-bg-subtle:#fed5d7;   --bs-danger-border-subtle:#fdabaf;

  --bs-secondary-color:#525252;
  --bs-body-color:#262626;         --bs-body-color-rgb:38,38,38;
  --bs-border-color:#e5e5e5;       --bs-border-color-translucent:#e5e5e5;
  --bs-link-color:#404040;         --bs-link-color-rgb:64,64,64;
  --bs-link-hover-color:#E66239;   --bs-link-hover-color-rgb:230,98,57;
  --bs-body-font-family:'Poppins','Noto Sans KR',sans-serif;
  --bs-body-font-size:0.875rem;
  --bs-emphasis-color:#171717;
}

body{
  font-family:var(--bs-body-font-family);
  font-size:0.875rem;
  color:#262626;
  background:#f7f7f8;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:600;color:#171717;}
a{text-decoration:none;}
.fw-semibold{font-weight:600!important;}
small,.small{font-size:.8125rem;}

/* ---- 버튼: primary = 오렌지 ---- */
.btn-primary{
  --bs-btn-color:#fff;--bs-btn-bg:#E66239;--bs-btn-border-color:#E66239;
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:#cf512b;--bs-btn-hover-border-color:#c24c29;
  --bs-btn-focus-shadow-rgb:230,98,57;
  --bs-btn-active-color:#fff;--bs-btn-active-bg:#c24c29;--bs-btn-active-border-color:#b64726;
  --bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#E66239;--bs-btn-disabled-border-color:#E66239;
}
.btn-outline-primary{
  --bs-btn-color:#E66239;--bs-btn-border-color:#E66239;
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:#E66239;--bs-btn-hover-border-color:#E66239;
  --bs-btn-focus-shadow-rgb:230,98,57;
  --bs-btn-active-color:#fff;--bs-btn-active-bg:#E66239;--bs-btn-active-border-color:#E66239;
}
.btn-success{--bs-btn-bg:#00C951;--bs-btn-border-color:#00C951;--bs-btn-hover-bg:#00ad45;--bs-btn-hover-border-color:#00a341;--bs-btn-active-bg:#00a341;}
.btn-danger{--bs-btn-bg:#FB2C36;--bs-btn-border-color:#FB2C36;--bs-btn-hover-bg:#e01923;--bs-btn-hover-border-color:#d4171f;--bs-btn-active-bg:#d4171f;}
.btn-light{--bs-btn-bg:#f5f5f5;--bs-btn-border-color:#f5f5f5;--bs-btn-hover-bg:#e9e9e9;--bs-btn-hover-border-color:#e2e2e2;--bs-btn-color:#404040;}
.btn-outline-secondary{--bs-btn-color:#525252;--bs-btn-border-color:#d4d4d4;--bs-btn-hover-bg:#f5f5f5;--bs-btn-hover-color:#262626;--bs-btn-hover-border-color:#d4d4d4;--bs-btn-active-bg:#ececec;--bs-btn-active-color:#262626;}
.btn{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:.875rem;--bs-btn-border-radius:.5rem;font-weight:500;}
.btn-sm{--bs-btn-padding-y:.35rem;--bs-btn-padding-x:.6rem;--bs-btn-border-radius:.45rem;}

.link-primary{color:#E66239!important;}
.link-primary:hover{color:#c24c29!important;}
.text-primary{color:#E66239!important;}

/* ---- 폼 ---- */
.form-control,.form-select{border-color:#e0e0e0;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;}
.form-control:focus,.form-select:focus{border-color:#E66239;box-shadow:0 0 0 .2rem rgba(230,98,57,.15);}
.form-control-sm,.form-select-sm{border-radius:.45rem;}
.form-check-input:checked{background-color:#E66239;border-color:#E66239;}
.form-check-input:focus{border-color:#f0a98e;box-shadow:0 0 0 .2rem rgba(230,98,57,.15);}
.form-switch .form-check-input:checked{background-color:#E66239;border-color:#E66239;}
.form-label{font-weight:500;margin-bottom:.35rem;color:#404040;}
.input-group-text{background:#f5f5f5;border-color:#e0e0e0;color:#525252;}

/* ---- 카드 ---- */
.card{border:1px solid #ededed;border-radius:.85rem;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.card-header{border-bottom:1px solid #f0f0f0;}
.rounded-2{border-radius:.5rem!important;}
.rounded-3{border-radius:.85rem!important;}

/* ---- 테이블 ---- */
.table{--bs-table-color:#404040;vertical-align:middle;margin-bottom:0;}
.table>:not(caption)>*>*{padding:.7rem .9rem;}
.table thead th{font-weight:600;font-size:.8rem;color:#737373;text-transform:none;letter-spacing:0;background:#fafafa;border-bottom:1px solid #ececec;white-space:nowrap;}
.table-light{--bs-table-bg:#fafafa;}
.table-hover>tbody>tr:hover>*{--bs-table-bg-state:#fbf4f1;}
.table td{border-color:#f1f1f1;}

/* ---- 배지 ---- */
.badge{font-weight:500;padding:.4em .65em;border-radius:.45rem;}

/* ---- 페이지네이션 ---- */
.pagination{--bs-pagination-color:#525252;--bs-pagination-active-bg:#E66239;--bs-pagination-active-border-color:#E66239;--bs-pagination-hover-color:#E66239;--bs-pagination-focus-color:#E66239;--bs-pagination-focus-box-shadow:0 0 0 .2rem rgba(230,98,57,.15);--bs-pagination-border-radius:.5rem;}

/* ---- 네비 pills (서브 메뉴) ---- */
.nav-pills{--bs-nav-pills-link-active-bg:#E66239;--bs-nav-pills-border-radius:.55rem;}
.nav-pills .nav-link{color:#525252;font-weight:500;padding:.4rem .85rem;}
.nav-pills .nav-link:hover{color:#E66239;background:rgba(230,98,57,.08);}
.nav-pills .nav-link.active{background:#E66239;color:#fff;}

/* ---- 탭 ---- */
.nav-tabs{--bs-nav-tabs-link-active-color:#E66239;--bs-nav-tabs-border-color:#ececec;}
.nav-tabs .nav-link{color:#737373;font-weight:500;border:0;border-bottom:2px solid transparent;}
.nav-tabs .nav-link:hover{border-bottom-color:#f0c0ae;color:#E66239;}
.nav-tabs .nav-link.active{color:#E66239;border-bottom:2px solid #E66239;background:transparent;}

/* ============================================================
   커스텀 컴포넌트 (admin_template _custom/_avatar/_icon-shape)
   ============================================================ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(1px);display:none;z-index:1030;}
.overlay.show{display:block;}

.sidebar{
  width:248px;background:#fff;transition:width .25s,left .25s;
  border-right:1px solid #ececec;height:100vh;position:fixed;top:0;left:0;
  padding-top:60px;z-index:1031;overflow-y:auto;
}
.sidebar .nav-section{padding:14px 24px 6px;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:#a3a3a3;text-transform:uppercase;}
.sidebar .nav-link{
  color:#404040;padding:8px 11px;display:flex;align-items:center;
  font-size:.875rem;font-weight:400;gap:11px;white-space:nowrap;
  margin:1px 12px;border-radius:9px;
}
.sidebar .nav-link:hover{color:#E66239;background:rgba(230,98,57,.095);}
.sidebar .nav-link.active{color:#E66239;background:rgba(230,98,57,.11);font-weight:500;}
.sidebar .nav-link .ti{font-size:18px;width:20px;text-align:center;}
.sidebar .nav-link .badge{margin-left:auto;}
.sidebar .logo-area{
  position:absolute;top:0;left:0;height:60px;width:100%;background:#fff;
  display:flex;align-items:center;gap:9px;padding-left:20px;color:#171717;
  border-bottom:1px solid #ececec;font-weight:700;font-size:1.05rem;
}
.sidebar .logo-area .brand-mark{width:30px;height:30px;border-radius:8px;background:#E66239;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
.sidebar.collapsed{width:64px;}
.sidebar.collapsed .nav-link{margin:1px 8px;padding:8px 12px;}
.sidebar.collapsed .nav-text,.sidebar.collapsed .nav-section,.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-link .badge{display:none;}

.topbar{height:60px;margin-left:248px;transition:margin-left .25s;z-index:1029;}
.topbar.full{margin-left:64px;}
.content{margin-left:248px;transition:margin-left .25s;min-height:100vh;}
.content.full{margin-left:64px;}

@media (max-width:992px){
  .sidebar{left:-248px;}
  .sidebar.mobile-show{left:0;}
  .topbar{margin-left:0!important;width:100%!important;}
  .content{margin-left:0!important;}
}

/* 아바타 */
.avatar{position:relative;display:inline-block;width:3rem;height:3rem;}
.avatar-xs{width:1.5rem;height:1.5rem;}
.avatar-sm{width:2rem;height:2rem;}
.avatar-md{width:2.5rem;height:2.5rem;}
.avatar-lg{width:3.5rem;height:3.5rem;}
.avatar-xl{width:5rem;height:5rem;}
.avatar img{width:100%;height:100%;object-fit:cover;}
.avatar-initials{display:flex;justify-content:center;align-items:center;width:100%;height:100%;text-transform:uppercase;font-weight:600;border-radius:50%;}
.avatar-primary .avatar-initials{color:#fff;background:#E66239;}
.avatar-success .avatar-initials{color:#fff;background:#00C951;}
.avatar-info .avatar-initials{color:#fff;background:#00B8DB;}
.avatar-warning .avatar-initials{color:#fff;background:#F0B100;}
.avatar-secondary .avatar-initials{color:#fff;background:#737373;}

/* 아이콘 셰이프 */
.icon-shape{display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:middle;border-radius:.6rem;}
.icon-xs{width:1.5rem;height:1.5rem;}
.icon-sm{width:2rem;height:2rem;}
.icon-md{width:2.75rem;height:2.75rem;}
.icon-lg{width:3.25rem;height:3.25rem;}

/* btn-icon */
.btn-icon{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;}
.btn-icon.btn-sm{width:2.1875rem;height:2.1875rem;font-size:.875rem;}
.btn-icon.btn-xs{width:1.75rem;height:1.75rem;font-size:.75rem;}

.border-dashed{border-style:dashed!important;}

/* 페이지 헤더 / 유틸 */
.page-title{font-size:1.5rem;font-weight:600;margin-bottom:.15rem;color:#171717;}
.breadcrumb{font-size:.8rem;--bs-breadcrumb-divider-color:#bbb;--bs-breadcrumb-item-active-color:#737373;margin-bottom:0;}
.text-xs{font-size:.72rem;}
.bg-soft{background:#f7f7f8;}
.cursor-pointer{cursor:pointer;}

/* 서브 화면 전환 */
.screen-pane{display:none;}
.screen-pane.active{display:block;animation:fadeIn .18s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

/* 서브메뉴 칩바 */
.subnav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;}
.subnav .subnav-link{
  font-size:.82rem;font-weight:500;color:#525252;background:#fff;border:1px solid #e8e8e8;
  padding:.4rem .8rem;border-radius:2rem;cursor:pointer;white-space:nowrap;transition:.12s;
}
.subnav .subnav-link:hover{border-color:#E66239;color:#E66239;}
.subnav .subnav-link.active{background:#E66239;border-color:#E66239;color:#fff;}

/* KPI 카드 라벨 */
.kpi-label{font-size:.8rem;color:#737373;margin-bottom:.4rem;font-weight:500;}
.kpi-value{font-size:1.55rem;font-weight:700;color:#171717;line-height:1.1;}

/* 트리(계보도) */
.tree-node{display:inline-flex;flex-direction:column;align-items:center;}
.tree-card{border:1px solid #e8e8e8;border-radius:.7rem;background:#fff;padding:.5rem .7rem;min-width:120px;text-align:center;box-shadow:0 1px 2px rgba(16,24,40,.05);}
.tree-card.lv0{border-color:#E66239;background:#fff6f2;}
.leg-badge{font-size:.65rem;padding:.15rem .4rem;border-radius:.3rem;font-weight:600;}

/* 스텝퍼(마감 위저드) */
.stepper{display:flex;align-items:center;gap:0;}
.stepper .step{display:flex;align-items:center;gap:.6rem;flex:1;}
.stepper .step .dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background:#f0f0f0;color:#a3a3a3;flex-shrink:0;border:2px solid #f0f0f0;}
.stepper .step.done .dot{background:#00C951;border-color:#00C951;color:#fff;}
.stepper .step.active .dot{background:#E66239;border-color:#E66239;color:#fff;}
.stepper .step .label{font-size:.8rem;font-weight:500;color:#737373;}
.stepper .step.active .label,.stepper .step.done .label{color:#262626;}
.stepper .line{height:2px;background:#ececec;flex:1;margin:0 .25rem;}
.stepper .line.done{background:#00C951;}

footer.app-footer{font-size:.8rem;color:#a3a3a3;}

/* ============================================================
   언어 선택 · 테마 토글 · 다크 모드 (모든 모듈 페이지)
   ============================================================ */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:11px;border:1px solid var(--bs-border-color,#e0e0e0);background:var(--bs-card-bg,#fff);color:var(--bs-body-color,#525252);cursor:pointer;font-size:17px;transition:.15s;}
.theme-toggle:hover{border-color:#E66239;color:#E66239;}
.theme-toggle .ic-moon{display:none;}.theme-toggle .ic-sun{display:inline;}
[data-theme="light"] .theme-toggle .ic-moon{display:inline;}[data-theme="light"] .theme-toggle .ic-sun{display:none;}
.lang-select{font-size:.8rem;border:1px solid #e0e0e0;border-radius:8px;padding:.34rem 1.7rem .34rem .6rem;background-color:#fff;color:#404040;cursor:pointer;min-width:96px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23999%27 stroke-width=%272%27 stroke-linecap=%27round%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-repeat:no-repeat;background-position:right .55rem center;}
.lang-select:focus{outline:none;border-color:#E66239;}

[data-bs-theme="dark"]{
  --bs-body-bg:#0A0E17;--bs-body-color:#C7D0E2;--bs-body-color-rgb:199,208,226;
  --bs-emphasis-color:#fff;--bs-secondary-color:#9aa6bd;
  --bs-border-color:#222B40;--bs-border-color-translucent:#222B40;
  --bs-card-bg:#121826;--bs-card-border-color:#222B40;
  --bs-tertiary-bg:#171F30;--bs-secondary-bg:#171F30;--bs-light:#171F30;--bs-light-rgb:23,31,48;
  --bs-heading-color:#fff;color-scheme:dark;
  --bs-primary-bg-subtle:#3a1d12;--bs-primary-text-emphasis:#ff9d7a;--bs-primary-border-subtle:#5c2e1c;
  --bs-success-bg-subtle:#0c2c1c;--bs-success-text-emphasis:#67e0a3;--bs-success-border-subtle:#16523a;
  --bs-info-bg-subtle:#0c2630;--bs-info-text-emphasis:#7fdcef;--bs-info-border-subtle:#155063;
  --bs-warning-bg-subtle:#322806;--bs-warning-text-emphasis:#f3cd6b;--bs-warning-border-subtle:#5a4910;
  --bs-danger-bg-subtle:#3a1113;--bs-danger-text-emphasis:#ff9098;--bs-danger-border-subtle:#5e1c20;
  --bs-secondary-bg-subtle:#1b2336;--bs-secondary-text-emphasis:#aeb8cc;--bs-secondary-border-subtle:#2a3450;
}
[data-bs-theme="dark"] body{background:#0A0E17;color:#C7D0E2;}
[data-bs-theme="dark"] h1,[data-bs-theme="dark"] h2,[data-bs-theme="dark"] h3,[data-bs-theme="dark"] h4,[data-bs-theme="dark"] h5,[data-bs-theme="dark"] h6{color:#fff;}
[data-bs-theme="dark"] .bg-white{background:#0C111B!important;}
[data-bs-theme="dark"] .navbar.bg-white,[data-bs-theme="dark"] .topbar{background:#0C111B!important;border-color:#222B40!important;}
[data-bs-theme="dark"] .card{border-color:#222B40;background:#121826;box-shadow:0 1px 2px rgba(0,0,0,.35);}
[data-bs-theme="dark"] .card-header{border-color:#222B40;background:transparent;}
[data-bs-theme="dark"] .table{--bs-table-color:#C7D0E2;--bs-table-bg:transparent;}
[data-bs-theme="dark"] .table thead th{background:#171F30;color:#8794AD;border-color:#222B40;}
[data-bs-theme="dark"] .table-light{--bs-table-bg:#171F30;--bs-table-color:#C7D0E2;}
[data-bs-theme="dark"] .table td{border-color:#1f2840;}
[data-bs-theme="dark"] .table>:not(caption)>*>*{color:#C7D0E2;}
[data-bs-theme="dark"] .table-hover>tbody>tr:hover>*{--bs-table-bg-state:rgba(230,98,57,.06);}
[data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select{background-color:#0E1422;border-color:#2a3450;color:#E7EBF3;}
[data-bs-theme="dark"] .form-control::placeholder{color:#5b6680;}
[data-bs-theme="dark"] .input-group-text{background:#171F30;border-color:#2a3450;color:#8794AD;}
[data-bs-theme="dark"] .lang-select{background-color:#171F30;border-color:#2a3450;color:#C7D0E2;}
[data-bs-theme="dark"] .theme-toggle{background:#121826;border-color:#222B40;color:#C7D0E2;}
[data-bs-theme="dark"] .btn-light{background:#171F30;border-color:#222B40;color:#C7D0E2;}
[data-bs-theme="dark"] .btn-light:hover{background:#1e2740;color:#fff;}
[data-bs-theme="dark"] .btn-outline-secondary{--bs-btn-color:#9aa6bd;--bs-btn-border-color:#2e3a56;--bs-btn-hover-bg:#1e2740;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#2e3a56;}
[data-bs-theme="dark"] .sidebar{background:#0C111B;border-color:#222B40;}
[data-bs-theme="dark"] .sidebar .logo-area{background:#0C111B;border-color:#222B40;color:#fff;}
[data-bs-theme="dark"] .sidebar .nav-section{color:#5b6680;}
[data-bs-theme="dark"] .sidebar .nav-link{color:#aeb8cc;}
[data-bs-theme="dark"] .sidebar .nav-link:hover,[data-bs-theme="dark"] .sidebar .nav-link.active{background:rgba(230,98,57,.13);color:#ff8a5c;}
[data-bs-theme="dark"] .subnav .subnav-link{background:#121826;border-color:#2a3450;color:#aeb8cc;}
[data-bs-theme="dark"] .subnav .subnav-link:hover{border-color:#E66239;color:#ff8a5c;}
[data-bs-theme="dark"] .subnav .subnav-link.active{background:#E66239;border-color:#E66239;color:#fff;}
[data-bs-theme="dark"] .page-title{color:#fff;}
[data-bs-theme="dark"] .breadcrumb{--bs-breadcrumb-item-active-color:#8794AD;}
[data-bs-theme="dark"] .breadcrumb,[data-bs-theme="dark"] .breadcrumb a{color:#7a86a0;}
[data-bs-theme="dark"] .kpi-label{color:#8794AD;}
[data-bs-theme="dark"] .kpi-value{color:#fff;}
[data-bs-theme="dark"] .text-muted{color:#8794AD!important;}
[data-bs-theme="dark"] .text-dark{color:#E7EBF3!important;}
[data-bs-theme="dark"] .bg-soft,[data-bs-theme="dark"] .bg-light{background:#171F30!important;}
[data-bs-theme="dark"] .tree-card{background:#121826;border-color:#2a3450;}
[data-bs-theme="dark"] .tree-card.lv0{background:#1c1410;border-color:#E66239;}
[data-bs-theme="dark"] .stepper .step .dot{background:#1e2740;border-color:#1e2740;color:#5b6680;}
[data-bs-theme="dark"] .stepper .line{background:#222B40;}
[data-bs-theme="dark"] .form-label{color:#aeb8cc;}
[data-bs-theme="dark"] .border,[data-bs-theme="dark"] .border-top,[data-bs-theme="dark"] .border-bottom,[data-bs-theme="dark"] .border-start,[data-bs-theme="dark"] .border-end{border-color:#222B40!important;}
[data-bs-theme="dark"] .app-footer{color:#5b6680;}
[data-bs-theme="dark"] .alert-info{background:rgba(0,184,219,.12);border-color:rgba(0,184,219,.3);color:#7fdcef;}
[data-bs-theme="dark"] .alert-warning{background:rgba(240,177,0,.12);border-color:rgba(240,177,0,.3);color:#f3cd6b;}
[data-bs-theme="dark"] .alert-danger{background:rgba(251,44,54,.12);border-color:rgba(251,44,54,.3);color:#ff9098;}
[data-bs-theme="dark"] .list-group-item{background:transparent;border-color:#222B40;color:#C7D0E2;}
[data-bs-theme="dark"] .nav-tabs{border-color:#222B40;}
[data-bs-theme="dark"] .nav-tabs .nav-link{color:#8794AD;}
[data-bs-theme="dark"] .pagination{--bs-pagination-bg:#121826;--bs-pagination-color:#aeb8cc;--bs-pagination-border-color:#2a3450;--bs-pagination-hover-bg:#1e2740;--bs-pagination-hover-color:#fff;--bs-pagination-disabled-bg:#121826;--bs-pagination-disabled-border-color:#2a3450;}

/* ── 국기 언어 드롭다운 (모듈 페이지 · Bootstrap 변수로 라이트/다크 자동) ── */
.lang-dd{position:relative;}
.lang-btn{display:inline-flex;align-items:center;gap:8px;height:35px;padding:0 9px 0 11px;border:1px solid var(--bs-border-color,#e0e0e0);border-radius:9px;background:var(--bs-card-bg,#fff);color:var(--bs-body-color,#404040);cursor:pointer;font-size:.82rem;font-weight:500;line-height:1;transition:.15s;}
.lang-btn:hover,.lang-dd.open .lang-btn{border-color:#E66239;}
.lang-btn .flag{width:21px;height:14px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1);}
.lang-btn .caret{font-size:14px;color:#9aa3b2;transition:transform .18s;}
.lang-dd.open .lang-btn .caret{transform:rotate(180deg);}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:174px;list-style:none;margin:0;padding:6px;border:1px solid var(--bs-border-color,#e0e0e0);border-radius:12px;background:var(--bs-card-bg,#fff);box-shadow:0 14px 34px rgba(18,24,40,.18);z-index:1080;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:.16s;}
.lang-dd.open .lang-menu{opacity:1;visibility:visible;transform:none;}
.lang-menu li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--bs-body-color,#404040);transition:.12s;}
.lang-menu li img{width:23px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.1);}
.lang-menu li:hover{background:rgba(230,98,57,.1);color:#E66239;}
.lang-menu li .chk{margin-left:auto;color:#E66239;display:none;font-size:15px;}
.lang-menu li.active{color:#E66239;font-weight:600;}
.lang-menu li.active .chk{display:inline;}
