/* 기본 폼 요소 스타일 */
input[type='text'], select { height: 32px; line-height: 32px; padding: 0 8px; box-sizing: border-box; vertical-align: middle; font-size: 14px; border: 1px solid #ccc; border-radius: 4px; }
button { cursor: pointer; }
.btn, .search-buttons-cell button, .regist-button-wrap button, .btn-logout { width: 80px; height: 32px; line-height: 32px; padding-top: 0; padding-bottom: 0; vertical-align: middle; box-sizing: border-box; }

/* 헤더 영역 */
.header-bar { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 20px 1rem 20px; }
.page-title { font-size: 24px; font-weight: bold; color: #000; }
.user-info-group { display: flex; align-items: center; gap: 10px; padding-right: 0; }

html, body { background-color: #fff !important; height: 100%; margin: 0; padding: 0; font-family: 'Segoe UI', sans-serif; }
#wrapper, #content-wrapper, #content, .container-fluid { background-color: #fff; }
.container-fluid { padding: 0; max-width: 100%; }

.body-contents { flex-grow: 1; display: flex; flex-direction: column; height: 100%; }
.body-contents form { display: flex; flex-direction: column; background-color: #fff; box-shadow: none; border-radius: 8px; }

.content-layout-wrapper { display: flex; flex-grow: 1; height: 100%; width: 100%; border-top: 1px solid #e3e6f0; }

.left-bar { width: 25%; border-right: 1px solid #e3e6f0; padding: 20px; box-sizing: border-box; display: flex; flex-direction: column; height: 100%; }

.left-bar .search-box table { width: 100%; }
.left-bar .search-box th { width: 100px; text-align: right; vertical-align: middle; padding-right: 10px; }
.left-bar .search-box td { padding: 8px 0; }
.left-bar .search-box input[type='text'], .left-bar .search-box select { width: 100%; }

.search-buttons-cell { text-align: right; padding-top: 15px !important; }
.left-bar .content-box { margin-top: 15px; border-top: 1px solid #eee; flex-grow: 1; overflow-y: auto; }
.left-bar .content-box .title { height: 50px; background: #f6f6f6; border-top: 1px #000 solid; border-bottom: 1px #000 solid; color: #000; font-weight: 600; display: flex; align-content: center; align-items: center; justify-content: center; }
.left-bar .content-box ul { list-style: none; padding: 0; margin: 0; }
.left-bar .content-box ul li { padding: 10px; border-bottom: 1px solid #f0f0f0; cursor: pointer; }
.left-bar .content-box ul li:hover { background-color: #f5f5f5; }

.right-content { flex-grow: 1; padding: 20px 20px 20px 20px; box-sizing: border-box; display: flex; flex-direction: column; }
.right-content .content-list-wrap { width: 100%; overflow-y: auto; flex-grow: 1; }
.right-content .list-bottom-area { margin-top: auto; padding-top: 20px; }

.content-list-wrap .count { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.list-table { width: 100%; border-collapse: collapse; color: #000; }
.list-table thead th { background: #f6f6f6; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 12px 8px; text-align: center; }
.list-table tbody td { border-bottom: 1px solid #bababa; padding: 10px 8px; text-align: center; }
.list-table tbody tr.no-border-row td { border-bottom: none;}
.list-table .text-left { text-align: left; }
.list-table a { color: #4e73df; text-decoration: none; }
.list-table a:hover { text-decoration: underline; }
.list-bottom-area { display: flex; justify-content: space-between; align-items: center; }

/* 로그인 화면 */
.admin-login-wrapper { width: 100vw; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #fff; }
.admin-login-box { display: flex; background-color: #fff; width: 700px; height: 300px; border-radius: 8px; box-shadow: 0 0 20px rgba(0,0,0,0.1); overflow: hidden; }
.login-left { background-color: #007bff; color: white; width: 40%; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.login-left h1 { font-size: 36px; text-align: center; line-height: 1.2; }
.login-left h1 span { font-weight: 700; }
.login-right { width: 60%; padding: 30px 40px; display: flex; flex-direction: column; justify-content: center; }
.form-group { margin-bottom: 20px; }
.form-group label { font-size: 14px; color: #333; margin-bottom: 6px; display: block; }
.form-group input { width: 100%; height: 42px; padding: 0 12px; font-size: 15px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
.form-group input:focus { border-color: #007bff; outline: none; box-shadow: 0 0 4px rgba(0, 123, 255, 0.3); }
button { width: 100%; height: 42px; line-height: 42px; padding: 0; background-color: #007bff; border: none; border-radius: 4px; color: white; font-size: 16px; cursor: pointer; transition: 0.2s; }
button:hover { background-color: #0056b3; }

/* 반응형 */
@media (max-width: 768px) {
    .admin-login-box { flex-direction: column; }
    .login-left, .login-right { flex-basis: auto; padding: 30px; }
}


/* 1. 검색 테이블 전체 테두리 및 셀 테두리 제거 */
/* search-wrap type1_search_wrap 내의 search-table에 적용 */
.type1_search_wrap .search-table,
.type1_search_wrap .search-table th,
.type1_search_wrap .search-table td {
    border: none !important; /* 모든 테두리 제거 */
}

/* 검색 테이블 공통 */
.search-table th, .type1_search_wrap .search-table th { text-align: right; vertical-align: middle; padding-right: 10px; }
.search-table td { vertical-align: middle; }
.search-table .search-buttons-cell, .type1_search_wrap .search-buttons-cell { padding-right: 0; }
.type1_search_wrap .search-buttons-cell .d-flex { gap: 10px; }
.list-table .bold-row { font-weight: bold; background: #d9f0ff; }

/* 상세 보기 테이블 */
.detail-view-table { width: 100%; border-collapse: collapse; margin-top: 10px; background: #fff; border: 1px solid #dee2e6; color: #000; font-size: 14px; }
.detail-view-table th, .detail-view-table td { padding: 10px; vertical-align: middle; border: 1px solid #dee2e6; font-size: 14px; color: #000; }
.detail-view-table tr th:nth-child(1), .detail-view-table tr th:nth-child(3) { width: 15%; text-align: right; white-space: nowrap; background: #e9f1f6; font-weight: 600; }
.detail-view-table tr td:nth-child(2), .detail-view-table tr td:nth-child(4) { width: 35%; text-align: left; background: #fff; word-break: break-word; }
.detail-view-table td[colspan="3"] { text-align: left; }

/* 상세 입력 영역 */
.detail-form {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  padding: 0 20px;
  margin-bottom: 0;
  flex-grow: 0;
  flex-shrink: 0;
  height: auto !important;
}
.detail-form h4 { display: block; width: 100%; margin-top: 25px; margin-bottom: 10px; padding-top: 15px; border-top: 1px solid #e3e6f0; }
.btn-area { margin-top: 30px; width: 100%; display: flex; justify-content: flex-end; padding-bottom: 20px; }
.btn-area .r-btn { display: flex; gap: 10px; }

/* 기본코드 화면 등 단일 컬럼 구조에 좌우 여백 적용 */
.body-contents > .search-wrap,
.body-contents > .content-list-wrap { padding: 0 20px; box-sizing: border-box; }
