/* ============================================================
   공통 (모든 페이지, partials/head-css.php)
   ============================================================ */

/* 목록 표: 회원 목록의 색을 기본(A)으로, 한 행씩 아주 조금 다른 색(B)을 번갈아 씁니다.
   B 는 라이트·다크 테마 모두 글자색 쪽으로 2.5% 섞은 색, 롤오버는 3D 모델 카드(assets/css/model.css)와 같은 5% */
.table.list-table {
    --bs-table-hover-bg: rgba(var(--bs-black-rgb), 0.05);
    --list-table-stripe-bg: rgba(var(--bs-emphasis-color-rgb), 0.025);
}
.table.list-table:not(.list-table-group) > tbody > tr:nth-of-type(even) > *,
.table.list-table > tbody > tr.list-table-stripe > * {
    --bs-table-bg-type: var(--list-table-stripe-bg);
}
/* list-table-group: 화면에서 행을 거르거나 같은 주문 행을 한 색으로 묶는 표는 스크립트가 B 행에 list-table-stripe 를 붙입니다. */

/* 목록 제목 줄: 데이터가 없어 칸 너비가 제목 글자에만 맞춰질 때도 '관리' 등 제목이 줄바꿈되지 않게 합니다. */
.table.list-table > thead th {
    white-space: nowrap;
}

/* 목록 행 높이: 관리 버튼(높이 32px)이 있는 행에 맞춰 모든 목록의 행 높이를 같게 합니다. (최소 높이라 빈 목록 안내 행은 그대로) */
.table.list-table > tbody > tr {
    height: calc(32px + 1.7rem + var(--bs-border-width));
}

/* 가로 스크롤: 마우스를 쓰는 화면에서는 목록에 마우스를 올렸을 때만 스크롤바를 보여 줍니다.
   (스크롤바 자리는 그대로 두어 올릴 때 표 높이가 바뀌지 않습니다. 터치 화면은 기본 동작 그대로) */
@media (hover: hover) and (pointer: fine) {
    .table-responsive {
        scrollbar-color: transparent transparent;
    }
    .table-responsive:hover {
        scrollbar-color: rgba(var(--bs-emphasis-color-rgb), 0.3) transparent;
    }
    /* scrollbar-color 를 지원하지 않는 브라우저(Safari 등) */
    @supports not (scrollbar-color: auto) {
        .table-responsive::-webkit-scrollbar {
            height: 8px;
        }
        .table-responsive::-webkit-scrollbar-thumb {
            border-radius: 4px;
            background-color: transparent;
        }
        .table-responsive:hover::-webkit-scrollbar-thumb {
            background-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
        }
    }
}

/* 택배사 드롭다운 (스토어 설정 기본 택배사, 발송 처리 창): 택배사가 많아 메뉴 높이를 정하고 스크롤합니다. */
.store-courier-menu {
    max-height: 320px;
    overflow-y: auto;
}

/* 창(모달) 위에 창을 하나 더 띄울 때: 두 번째 배경을 처음부터 아래 창 위(1060)에 두어, 나타나는 동안 아래 창이 반짝이지 않게 합니다.
   위에 띄우는 창은 스크립트에서 z-index 1065 로 띄웁니다. (assets/js/confirm-modal.js 등) */
.modal-backdrop ~ .modal-backdrop {
    z-index: 1060;
}

/* 메뉴 아이콘 보기(condensed): 템플릿은 본문 최소 높이를 1300px 로 고정해, 화면이 더 길면 메뉴 배경이 중간에서 끊기고 하단 저작권이 위로 올라옵니다.
   1300px 와 화면 높이(상단바 제외) 중 큰 값으로 맞춰, 메뉴 배경이 화면 끝까지 이어지고 저작권이 화면 맨 아래에 오게 합니다. */
html[data-menu-size="condensed"] .page-content {
    min-height: max(1300px, calc(100vh - var(--bs-topbar-height)));
}

/* 대시보드 차트: 모바일에서 차트 위를 밀어도 페이지가 세로로 스크롤되게 합니다. (차트의 확대·선택 기능은 index.php 에서 끔) */
.dash-chart,
.dash-chart .apexcharts-canvas,
.dash-chart svg {
    touch-action: pan-y;
}
