/* ─── Kendo UI + Tailwind 조합용 커스텀 스타일 ─── */
/* 2026-09-30 깔끔한 SaaS 톤: 세로 줄 없는 표, 흰 머리행, 은은한 hover, 둥근 페이저·창 */

/* Tailwind preflight 가 Kendo 위젯 안의 테이블/버튼을 초기화하지 않도록 보정 */
.k-grid,
.k-window,
.k-popup {
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 0.875rem;
}

.k-grid {
    border-color: #e5e7eb;
}

.k-grid table {
    border-collapse: separate;
}

.k-grid .k-grid-header th {
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    background-color: #f9fafb;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

.k-grid .k-grid-header th.heder-left .k-cell-inner > .k-link {
    justify-content: flex-start;
}

/* 세로 줄을 없애고 가로 구분선만 */
.k-grid .k-table-th,
.k-grid .k-table-td,
.k-grid td,
.k-grid th {
    border-inline-start-width: 0;
    border-left-width: 0;
}

.k-grid td {
    vertical-align: middle;
    padding: 0.625rem 1rem;
    line-height: 1.4;
    border-bottom: 1px solid #f1f5f9;
}

/* 줄무늬 없이 흰 바탕 (라이트) */
html:not(.dark) .k-grid tr.k-alt td,
html:not(.dark) .k-grid .k-table-alt-row {
    background-color: #fff;
}

.k-grid tr:hover td {
    background-color: #f5f8ff;
}

.k-grid .k-pager {
    justify-content: center;
    background-color: #fff;
    border-top: 1px solid #eef0f3;
    padding: 0.625rem 1rem;
}

/* 페이저 번호: 둥근 칩, 현재 페이지는 포인트 색 */
.k-pager .k-pager-numbers .k-button {
    border-radius: 0.5rem;
    min-width: 2rem;
}

html:not(.dark) .k-pager .k-pager-numbers .k-button.k-selected {
    color: #fff !important;
    background-color: #2563eb !important;
}

.k-pager .k-pager-numbers .k-button.k-selected::before {
    opacity: 0;
}

/* 체크박스·선택 색을 포인트 색으로 */
.k-checkbox:checked,
.k-checkbox.k-checked {
    background-color: #2563eb;
    border-color: #2563eb;
}

.k-grid .k-table-row.k-selected > td,
.k-grid tr.k-selected > td {
    background-color: rgb(37 99 235 / 0.06);
}

.k-grid .k-pager .k-pager-sizes {
    position: absolute;
    left: 1rem;
}

.k-grid .k-pager .k-pager-info {
    position: absolute;
    right: 1rem;
}

.k-grid .empty-grid {
    padding: 4rem 1rem;
    text-align: center;
    color: #94a3b8;
}

/* 그리드 컨테이너 둥근 모서리 */
.bid-grid .k-grid {
    border-radius: 0.875rem;
    overflow: hidden;
    border-color: #e5e7eb;
}

/* 다크 모드 */
.dark .k-grid,
.dark .k-window,
.dark .k-popup {
    color: #e2e8f0;
    background-color: #0f172a;
    border-color: #1e293b;
}

.dark .k-grid .k-grid-header th,
.dark .k-grid .k-pager {
    background-color: #1e293b;
    color: #94a3b8;
    border-color: #334155;
}

.dark .k-grid td {
    border-color: #1e293b;
}

.dark .k-grid tr:hover td {
    background-color: #1e293b;
}

.dark .k-window .k-window-content {
    background-color: #0f172a;
}

/* Kendo Window 를 SaaS 모달 느낌으로 – 흰 제목줄 + 위쪽 색 띠 */
.k-window {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    border-top: 3px solid #2563eb;
    box-shadow: 0 24px 48px -12px rgb(16 24 40 / 0.25);
}

.k-window .k-window-titlebar {
    background: #fff;
    color: #111827;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #eef0f3;
}

.k-window .k-window-titlebar .k-window-titlebar-action {
    color: #6b7280;
}

.k-window.window-violet {
    border-top-color: #7c3aed;
}

.k-window.window-teal {
    border-top-color: #0d9488;
}

.k-window .k-window-title {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.k-window .k-window-content {
    padding: 0;
}

.k-overlay {
    background-color: #0f172a;
    opacity: 0.45;
    backdrop-filter: blur(2px);
}

.dark .k-window {
    border-color: #1e293b;
}

.dark .k-window .k-window-titlebar {
    background: #0f172a;
    color: #e2e8f0;
    border-bottom-color: #1e293b;
}

.dark .k-window .k-window-titlebar .k-window-titlebar-action {
    color: #94a3b8;
}

/* Kendo Window 내부 폼 요소는 Tailwind forms 스타일 유지 */
.k-window input[type="checkbox"] {
    border-radius: 0.25rem;
}

/* 다크 모드 – 입력·드롭다운·탭·버튼 (Kendo 라이트 테마 위에 덧씌움) */
.dark .k-input,
.dark .k-picker,
.dark .k-dropdownlist,
.dark .k-textbox,
.dark .k-numerictextbox {
    color: #e2e8f0;
    background-color: #1e293b;
    border-color: #334155;
}

.dark .k-list,
.dark .k-list-item,
.dark .k-popup .k-list-container {
    color: #e2e8f0;
    background-color: #0f172a;
}

.dark .k-list-item:hover,
.dark .k-list-item.k-hover {
    background-color: #1e293b;
}

.dark .k-tabstrip-items-wrapper,
.dark .k-tabstrip-content,
.dark .k-tabstrip > .k-content {
    color: #e2e8f0;
    background-color: #0f172a;
    border-color: #334155;
}

.dark .k-tabstrip-item {
    color: #94a3b8;
}

.dark .k-tabstrip-item.k-active {
    color: #e2e8f0;
    background-color: #1e293b;
    border-color: #334155;
}

.dark .k-button-solid-base {
    color: #e2e8f0;
    background-color: #1e293b;
    border-color: #334155;
}

.dark .k-pager .k-link,
.dark .k-pager-info {
    color: #94a3b8;
}

.dark .k-grid .k-grid-content,
.dark .k-grid .k-grid-header,
.dark .k-grid-header-wrap {
    background-color: #0f172a;
    border-color: #1e293b;
}

.dark .k-grid tr.k-alt td,
.dark .k-grid .k-table-alt-row {
    background-color: rgba(30, 41, 59, 0.35);
}

/* 다크 모드 – Kendo 테마가 표(.k-table)에 진회색 글자색을 직접 지정하므로 덮어씀 */
.dark .k-grid .k-table {
    color: #e2e8f0;
}

/* 다크 모드 hover – Kendo 가 hover 행(tr)에 밝은 회색(#ededed)을 주므로 셀을 불투명하게 덮는다.
   짝수 행(.k-alt) 규칙보다 우선해야 하므로 파일 맨 끝 + 더 높은 선택자로 둔다 */
.dark .k-grid .k-table-row:hover,
.dark .k-grid .k-table-row.k-hover,
.dark .k-grid .k-table-row:hover > td,
.dark .k-grid .k-table-row.k-hover > td {
    background-color: #1e293b;
}

/* 다크 모드 페이저 – 번호는 밝은 회색, 현재 페이지는 파란 채움으로 구분
   (Kendo 테마가 선택 버튼 배경을 !important 로 투명 처리하므로 여기서도 !important 필요) */
.dark .k-pager .k-pager-numbers .k-button {
    color: #cbd5e1;
}

.dark .k-pager .k-pager-numbers .k-button:hover {
    color: #fff;
    background-color: #334155;
}

.dark .k-pager .k-pager-numbers .k-button.k-button-flat-primary.k-selected {
    color: #fff;
    font-weight: 700;
    background-color: #2b6cee !important;
}

.dark .k-pager .k-pager-numbers .k-button.k-button-flat-primary.k-selected::before {
    opacity: 0;
}

.dark .k-pager .k-pager-nav {
    color: #cbd5e1;
}

/* 다크 모드 Kendo 창(입찰가격산정·AI분석) – 라이트 기준으로 잡힌 흐린 글자색을 밝게 보정.
   이미 dark:text-* 가 지정된 요소는 그 값을 존중하도록 제외한다 */
.dark .k-window .text-slate-500:not([class*="dark:text-"]) {
    color: #94a3b8;
}

.dark .k-window .text-slate-600:not([class*="dark:text-"]) {
    color: #cbd5e1;
}

.dark .k-window .text-red-600:not([class*="dark:text-"]) {
    color: #f87171;
}

.dark .k-window .text-blue-500:not([class*="dark:text-"]),
.dark .k-window .text-blue-600:not([class*="dark:text-"]),
.dark .k-window .text-blue-700:not([class*="dark:text-"]) {
    color: #60a5fa;
}
