/* 전체 화면 공통 겉모양(색·모서리·그림자). 글자 크기와 칸 배치는 건드리지 않고 색과 모서리만 바꿉니다.
   각 화면이 자기 스타일 뒤에 이 파일을 불러오므로, 여기만 고치면 모든 화면의 분위기가 함께 바뀝니다. */
:root {
  --bg: #f4f6fb; --card: #ffffff; --line: #e5e9f2; --line2: #d5dbe8;
  --ink: #1e2a3b; --ink2: #5b6b82; --ink3: #93a0b5;
  --brand: #3a5bd9; --brand-d: #2f49b0; --brand-l: #eaefff;
  --bad: #d03a3a; --bad-l: #fdeaea;
  --r: 6px;
}
body { background: var(--bg) !important; color: var(--ink) !important; }

/* 화면 제목 */
.header-container { border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 14px !important; }
.header-title { border-left: 0 !important; padding-left: 0 !important; font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.3px; color: var(--ink); }

/* 버튼 */
.btn, .btn-action, .btn-bottom, .btn-pick, .btn-inline-search, .btn-file {
  border: 1px solid var(--line2) !important; background: #fff !important; color: var(--ink) !important;
  border-radius: 4px !important; font-weight: 600 !important; transition: background .15s, border-color .15s;
}
.btn:hover, .btn-action:hover, .btn-bottom:hover, .btn-pick:hover, .btn-inline-search:hover, .btn-file:hover { background: #f4f7fd !important; border-color: #b9c3d8 !important; }
.btn-blue { background: var(--brand-l) !important; color: var(--brand) !important; border-color: #c7d3fb !important; }
.btn-red { background: #fff !important; color: var(--bad) !important; border-color: #f1c4c4 !important; }
.btn-gray { background: #eef1f8 !important; color: var(--ink2) !important; border-color: var(--line2) !important; }
.btn-save, .btn-submit, .ai-panel .ai-btn {
  background: var(--brand) !important; color: #fff !important; border: 0 !important; border-radius: 4px !important;
  box-shadow: 0 1px 2px rgba(58,91,217,.35); font-weight: 700 !important;
}
.btn-save:hover, .btn-submit:hover, .ai-panel .ai-btn:hover { background: var(--brand-d) !important; }
.btn-save:disabled, .btn-submit:disabled, .ai-panel .ai-btn:disabled { background: #a8b3cf !important; box-shadow: none; }

/* 탭 묶음 */
.tab-group, .btn-tab-group { background: #eef1f8 !important; border: 0 !important; border-radius: 6px !important; padding: 3px; gap: 2px; }
.tab-btn, .btn-tab { background: transparent !important; color: var(--ink2) !important; border: 0 !important; border-radius: 4px !important; font-weight: 600 !important; }
.tab-btn.active, .btn-tab.active { background: #fff !important; color: var(--brand) !important; box-shadow: 0 1px 3px rgba(20,30,60,.12); }

/* 목록 표 */
.table-container { background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: var(--r) !important; box-shadow: 0 1px 2px rgba(20,30,60,.06), 0 4px 14px rgba(20,30,60,.05); }
.data-table th, .list-table th, .pick-table th { background: #f0f3fa !important; color: var(--ink2) !important; border-color: var(--line2) !important; font-weight: 700 !important; }
.data-table td, .list-table td, .pick-table td { border-color: var(--line) !important; }
.data-table .filter-row th, .list-table .filter-row th { background: #f7f9fd !important; }
.data-table .filter-row input, .list-table .filter-row input { border: 1px solid var(--line2) !important; border-radius: 4px !important; }
.data-table .filter-row input:focus, .list-table .filter-row input:focus { border-color: var(--brand) !important; box-shadow: 0 0 0 2px rgba(58,91,217,.2) !important; }
.data-table tr:hover td, .list-table tbody tr:hover td, .pick-table tbody tr:hover td { background: #f6f8ff !important; }
.pick-scroll { border-color: var(--line2) !important; border-radius: var(--r); }
.info-count { color: var(--bad); }

/* 팝업 / 오른쪽 입력 패널 */
.modal-overlay { backdrop-filter: blur(2px); }
.modal-content { border-radius: 8px !important; box-shadow: 0 20px 60px rgba(15,23,42,.3) !important; }
.modal-header { background: #fff !important; color: var(--ink) !important; border-bottom: 1px solid var(--line); }
.modal-close { color: var(--ink2) !important; }
.modal-body { background: #fff !important; }
.form-table th { background: #f0f3fa !important; color: var(--ink2) !important; border-color: var(--line2) !important; }
.form-table td { border-color: var(--line) !important; }
.form-table input[type="text"], .form-table input[type="password"], .form-table input[type="date"], .form-table input[type="number"], .form-table select, .form-table textarea {
  border: 1px solid var(--line2) !important; border-radius: 4px !important; color: var(--ink);
}
.form-table input:focus, .form-table select:focus, .form-table textarea:focus { outline: none; border-color: var(--brand) !important; box-shadow: 0 0 0 2px rgba(58,91,217,.2) !important; }
.ai-panel { border: 1px dashed #aebdf5 !important; background: #f5f8ff !important; border-radius: var(--r) !important; }
input.ai-filled, textarea.ai-filled { background: #fff9d6 !important; }
input.ai-error { background: var(--bad-l) !important; }

/* 화면별 제목 칸 (다른 이름을 쓰는 화면들) */
.pbs-table th, .company_info th, .image-header, .info-label, .work-side-label, .card-header-title {
  background: #f0f3fa !important; color: var(--ink2) !important; font-weight: 700 !important;
}
.pbs-table th, .pbs-table td, .company_info th, .company_info td { border-color: var(--line2) !important; }
.company_info input, .company_info textarea, .company_info select { border: 1px solid var(--line2) !important; border-radius: 4px !important; }
.day-cell.active { background-color: var(--brand) !important; }
.btn-green { background: var(--brand-l) !important; color: var(--brand) !important; border-color: #c7d3fb !important; }
