@charset "utf-8";
/**
 * @author https://www.cosmosfarm.com
 */

a.kboard-default-button-small,
input.kboard-default-button-small,
button.kboard-default-button-small { position: relative; display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 10px; width: auto; height: 28px; line-height: 28px; font-size: 14px; font-weight: normal; letter-spacing: normal; color: #545861 !important; background: #eaeaea !important; border: none; border-radius: 0; text-decoration: none !important; cursor: pointer; vertical-align: middle; text-shadow: none; box-shadow: none; transition-duration: 0.3s; box-sizing: content-box; }
a.kboard-default-button-small:hover,
a.kboard-default-button-small:focus,
a.kboard-default-button-small:active,
input.kboard-default-button-small:hover,
input.kboard-default-button-small:focus,
input.kboard-default-button-small:active,
button.kboard-default-button-small:hover,
button.kboard-default-button-small:focus,
button.kboard-default-button-small:active { opacity: 0.7; }

.kboard-default-poweredby { float: left; padding-bottom: 15px; width: 100%; font-size: 14px; }
.kboard-default-new-notify { display: inline-block; *display: inline; zoom: 1; padding: 2px 2px; line-height: 10px; font-size: 10px; color: white; background-color: #1f1bf6; font-weight: normal; }
.kboard-default-cut-strings { width: auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; word-wrap: normal; } 


#kboard-default-list { 
    display: block !important; 
    margin: 0 auto; 
    max-width: 1300px; 
    width: 100%; 
    box-sizing: border-box; /* 추가 */
}

#kboard-default-list form { margin: 0; padding: 0; }

/* #kboard-default-list .kboard-list-header { float: left; display: table; padding-bottom: 15px; width: 100%; } */

/* ========================================== */
/* 게시판 헤더 섹션 - 통합 헤더 영역 (2행 구조) */
/* ========================================== */
/* 통합 헤더 컨테이너 */
#kboard-default-list .kboard-header-container {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    padding: 18px 20px;
    margin-bottom: 20px;
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
    clear: both;  /* float 해제 */
    position: relative;  /* 위치 명시 */
    z-index: 100;  /* 레이어 순서 명시 - 테이블 헤더(z-index: 10)보다 높게 */
}

/* 헤더 상단 행: 정보 및 필터 */
#kboard-default-list .kboard-header-top {
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding-bottom: 15px; 
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 15px;
    gap: 15px;
    flex-wrap: wrap;
}

/* 헤더 하단 행: 액션 (정렬 및 검색) */
#kboard-default-list .kboard-header-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* 전체 게시글 수 스타일 - 헤더 내부로 이동 */
#kboard-default-list .kboard-header-top .kboard-total-count {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #333;
    font-weight: 600;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    white-space: nowrap;
}

/* 전체 게시글 수 숫자 강조 */
#kboard-default-list .kboard-header-top .kboard-total-count strong {
    color: var(--main-color);
    font-weight: 700;
    margin-left: 4px;
}

/* 즐겨찾기 필터 컨테이너 - 헤더 내부로 이동 */
#kboard-default-list .kboard-header-top .kboard-favorite-filter-container {
    margin: 0;
    padding: 0;
    text-align: right;
}

/* 기존 kboard-list-header 스타일 유지 (하위 호환성) */
#kboard-default-list .kboard-list-header { 
    display: flex; 
    justify-content: flex-start;
    align-items: center; 
    padding: 0;
    margin: 0;
    width: 100%; 
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    gap: 15px;
    flex-wrap: wrap;
}

/* 정렬 드롭다운 스타일 - 헤더 하단 행 */
#kboard-default-list .kboard-header-bottom .kboard-sort,
#kboard-default-list .kboard-list-header .kboard-sort { 
    flex-shrink: 0;
}
/* 정렬 드롭다운 스타일 - 헤더 하단 행 */
#kboard-default-list .kboard-header-bottom .kboard-sort .select-box,
#kboard-default-list .kboard-list-header .kboard-sort .select-box {
    position: relative; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px; 
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
}
#kboard-default-list .kboard-header-bottom .kboard-sort .select-box:hover,
#kboard-default-list .kboard-list-header .kboard-sort .select-box:hover {
    border-color: var(--main-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
#kboard-default-list .kboard-header-bottom .kboard-sort .select-box i,
#kboard-default-list .kboard-list-header .kboard-sort .select-box i {
    position: absolute; 
    right: 15px; 
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: #666;
    pointer-events: none;
}
#kboard-default-list .kboard-header-bottom .kboard-sort select,
#kboard-default-list .kboard-list-header .kboard-sort select { 
    display: inline-block; 
    margin: 0; 
    padding: 10px 40px 10px 15px; 
    width: 130px; 
    min-width: 130px;
    height: 40px; 
    line-height: 20px; 
    font-size: 14px; 
    color: #333; 
    border: none; 
    background: transparent; 
    vertical-align: middle; 
    box-shadow: none; 
    box-sizing: border-box; 
    text-indent: 0; 
    border-radius: 8px; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; 
    cursor: pointer;
    font-weight: 500;
}
#kboard-default-list .kboard-header-bottom .kboard-sort select:focus,
#kboard-default-list .kboard-list-header .kboard-sort select:focus {
    outline: none;
    border-color: var(--main-color);
}
#kboard-default-list .kboard-category { float: left; padding-bottom: 15px; width: 100%; }
#kboard-default-list .kboard-category.category-mobile { display: none; }
#kboard-default-list .kboard-category.category-pc { display: block; }
#kboard-default-list .kboard-category select { display: inline; margin: 0 0 5px 0; padding: 0; width: 100%; min-width: 100%; height: 28px; min-height: 0; line-height: 28px; font-size: 13px; color: #666666; border-radius: 0; border: 1px solid #f1f1f1; background: white; vertical-align: middle; box-shadow: none; box-sizing: border-box; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-default-list .kboard-category .kboard-category-list { margin: 0 0 5px 0; padding: 0; list-style: none; border: 0; background-color: #f9f9f9; overflow: hidden; }
#kboard-default-list .kboard-category .kboard-category-list li { display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 5px; border: 0; list-style: none; }
#kboard-default-list .kboard-category .kboard-category-list li::before,
#kboard-default-list .kboard-category .kboard-category-list li::after { display: none; }
#kboard-default-list .kboard-category .kboard-category-list li a { display: block; padding: 10px 10px 8px 10px; font-size: 14px; border: 0; border-bottom: 2px solid transparent; text-decoration: none; text-shadow: none; box-shadow: none; color: #515151; }
#kboard-default-list .kboard-category .kboard-category-list li.kboard-category-selected a { font-weight: bold; border-bottom: 2px solid #545861; color: #545861; }
#kboard-default-list .kboard-tree-category-wrap { overflow: hidden; }
#kboard-default-list .kboard-tree-category-wrap select { display: inline; margin: 0 0 5px 0; padding: 0; width: 100%; height: 28px; line-height: 28px; font-size: 13px; color: #666666; border-radius: 0; border: 1px solid #f1f1f1; background: white; vertical-align: middle; box-shadow: none; box-sizing: border-box; text-indent: 0; -webkit-appearance: menulist; -moz-appearance: menulist; appearance: menulist; }
#kboard-default-list .kboard-tree-category-search .kboard-search-option-wrap.type-select { width: auto; }
#kboard-default-list .kboard-tree-category-search .kboard-search-option-wrap.type-tab { width: 100%; }
#kboard-default-list .kboard-tree-category { float: left; margin: 0 0 5px 0; padding: 0; width: 100%; list-style: none; border: 0; background-color: #f9f9f9; overflow: hidden; }
#kboard-default-list .kboard-tree-category li { display: inline-block; *display: inline; zoom: 1; margin: 0; padding: 0 5px; border: 0; list-style: none; }
#kboard-default-list .kboard-tree-category li::before,
#kboard-default-list .kboard-tree-category li::after { display: none; }
#kboard-default-list .kboard-tree-category li a { display: block; padding: 10px 10px 8px 10px; font-size: 14px; border: 0; border-bottom: 2px solid transparent; text-decoration: none; text-shadow: none; box-shadow: none; color: #515151; }
#kboard-default-list .kboard-tree-category li.kboard-category-selected a { font-weight: bold; border-bottom: 2px solid #545861; color: #545861; }
#kboard-default-list .kboard-tree-category-search { float: left; width: 100%; }
#kboard-default-list .kboard-tree-category-search .kboard-search-option-wrap { margin-right: 5px; float: left; }
#kboard-default-list .kboard-list { 
    float: none;  /* float 제거 - 레이아웃 문제 해결 */
    width: 100%; 
    background-color: transparent;  /* white에서 transparent로 변경 */
    clear: both;  /* float 해제를 위한 clear 추가 */
    margin-top: 0;  /* 상단 마진 명시 */
    margin-bottom: 0;
    position: relative;  /* 위치 명시 */
    z-index: 1;  /* 헤더보다 낮은 z-index */
}
#kboard-default-list .kboard-list table { display: table; table-layout: fixed; margin: 0; padding: 0; width: 100%; border: 0; font-size: 14px; border-collapse: collapse; }
#kboard-default-list .kboard-list table a { color: black; font-weight: normal; text-decoration: none; border: 0; box-shadow: none; font-size: 14px; }
#kboard-default-list .kboard-list table tr { border: 0; background-color: transparent; transition-duration: 0.3s; }
#kboard-default-list .kboard-list table td { padding: 10px 0; height: auto; text-align: center; vertical-align: middle; font-size: 14px; }
#kboard-default-list .kboard-list table td.kboard-list-uid { width: 72px; }
#kboard-default-list .kboard-list table td.kboard-list-title { width: auto; }
#kboard-default-list .kboard-list table td.kboard-list-user { width: 100px; }
#kboard-default-list .kboard-list table td.kboard-list-date { width: 75px; }
#kboard-default-list .kboard-list table td.kboard-list-vote { width: 55px; }
#kboard-default-list .kboard-list table td.kboard-list-view { width: 55px; }
#kboard-default-list .kboard-list thead { background-color: transparent; }
#kboard-default-list .kboard-list thead tr td { font-weight: bold; color: #545861; border: 0; border-bottom: 2px solid #f1f1f1; }
#kboard-default-list .kboard-list tbody tr td { word-break: break-all; border: 0; border-bottom: 1px solid #f1f1f1; }
#kboard-default-list .kboard-list tbody tr:hover { background-color: #f7f7f7; }
#kboard-default-list .kboard-list tbody tr.kboard-list-notice { background-color: #f4f4f4; }
#kboard-default-list .kboard-list tbody tr.kboard-list-popular  .kboard-list-uid { font-weight: bold; }
#kboard-default-list .kboard-list tbody tr.kboard-list-selected .kboard-default-cut-strings { font-weight: bold; }
#kboard-default-list .kboard-list tbody td.kboard-list-title { text-align: left; }
#kboard-default-list .kboard-list tbody td.kboard-list-title img { display: inline; margin: 0; width: auto; height: auto; vertical-align: middle; max-width: 100%; }
#kboard-default-list .kboard-list tbody td.kboard-list-title .kboard-comments-count { color: #00a8e7; }
#kboard-default-list .kboard-list tbody td.kboard-list-user img.avatar { display: inline; margin: 0; width: 24px; max-width: none; height: 24px; vertical-align: middle; border-radius: 50%; }
#kboard-default-list .kboard-list .kboard-mobile-contents { display: none; font-size: 13px; color: #999999; }
#kboard-default-list .kboard-list .kboard-mobile-contents .contents-item { display: inline; margin: 0; padding: 0; }

/* #kboard-default-list .kboard-list .kboard-mobile-contents .contents-item img.avatar { display: inline; margin: 0; width: 24px; max-width: none; height: 24px; vertical-align: middle; border-radius: 50%; } */

/* ========================================== */
/* 검색 폼 스타일 - 헤더 하단 행 */
/* ========================================== */
#kboard-default-list .kboard-header-bottom .kboard-search,
#kboard-default-list .kboard-search { 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    flex-shrink: 0;  /* flex: 1에서 flex-shrink: 0으로 변경 - 크기 고정 */
    margin-left: auto;  /* 검색창을 오른쪽 끝으로 */
    margin-right: 0;  /* 오른쪽 여백 제거 */
    padding-right: 0;  /* 오른쪽 패딩 제거 */
    /* max-width 제거 - 오른쪽 끝에 완전히 붙이기 위해 */
}
#kboard-default-list .kboard-search form { 
    display: flex; 
    align-items: stretch; 
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
}
#kboard-default-list .kboard-search .select-box {
    position: relative;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: all 0.3s ease;
}
#kboard-default-list .kboard-search .select-box:hover {
    border-color: var(--main-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
#kboard-default-list .kboard-search .select-box i {
    position: absolute; 
    right: 12px; 
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px; 
    color: #666;
    pointer-events: none;
}
#kboard-default-list .kboard-search select { 
    display: inline; 
    margin: 0; 
    padding: 10px 35px 10px 12px; 
    width: 120px; 
    min-width: 120px;
    max-width: 120px;
    min-height: 0; 
    font-size: 14px; 
    color: #333; 
    border: none; 
    background: transparent; 
    vertical-align: middle; 
    box-shadow: none; 
    box-sizing: border-box; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; 
    cursor: pointer;
    font-weight: 500;
}
#kboard-default-list .kboard-search select:focus {
    outline: none;
}
#kboard-default-list .kboard-search input { 
    display: inline; 
    margin: 0; 
    padding: 10px 15px; 
    width: 100%;
    min-width: 200px;
    min-height: 0; 
    font-size: 14px; 
    color: #333; 
    border: 1px solid #e0e0e0; 
    background: #fff; 
    vertical-align: middle; 
    box-shadow: none; 
    box-sizing: border-box;
    border-radius: 8px;
    transition: all 0.3s ease;
}
#kboard-default-list .kboard-search input:focus {
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}
/* 검색 버튼 스타일 - 붉은 계열 (#c36) */
#kboard-default-list .kboard-search button,
#kboard-default-list .kboard-search button.kboard-default-button-small { 
    height: auto !important; 
    line-height: 1.4 !important; 
    background: #fff !important;  /* 기본 배경 흰색 */
    color: #c36 !important;  /* 기본 텍스트 붉은색 */
    padding: 10px 20px !important;  /* .button 클래스와 동일한 패딩 */
    font-size: 16px !important;  /* .button 클래스와 동일한 폰트 크기 */
    font-weight: normal !important;  /* .button 클래스와 동일 */
    border: 1px solid #c36 !important;  /* 테두리 붉은색 */
    border-radius: 4px !important;  /* .button 기본 border-radius */
    cursor: pointer !important;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: none !important;  /* 기본 그림자 제거 */
    margin: 0 !important;  /* 여백 제거 */
    margin-right: 0 !important;  /* 오른쪽 여백 강제 제거 */
    flex-shrink: 0;  /* 버튼 크기 고정 */
    box-sizing: border-box !important;
}

#kboard-default-list .kboard-search button:hover,
#kboard-default-list .kboard-search button.kboard-default-button-small:hover {
    background: #c36 !important;  /* 호버 시 배경 붉은색 */
    color: #fff !important;  /* 호버 시 텍스트 흰색 */
    transform: translateY(-2px);  /* 호버 효과 */
    box-shadow: 0 5px 15px rgba(204, 51, 102, 0.3);  /* 호버 시 그림자 */
}

#kboard-default-list .kboard-search button:active,
#kboard-default-list .kboard-search button.kboard-default-button-small:active {
    background: #b02e55 !important;  /* 클릭 시 더 진한 붉은색 */
    color: #fff !important;  /* 클릭 시 텍스트 흰색 */
    transform: translateY(0);  /* 클릭 시 원래 위치 */
    box-shadow: 0 2px 8px rgba(204, 51, 102, 0.3);  /* 클릭 시 약한 그림자 */
}

/* ========================================== */
/* 페이징 시스템 스타일 */
/* ========================================== */
#kboard-default-list .kboard-pagination {  
    padding: 20px 0; 
    width: 100%; 
    float: left;
    margin-top: 20px;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages { 
    margin: 0; 
    padding: 0; 
    width: 100%; 
    list-style: none; 
    text-align: center; 
    border: 0; 
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li { 
    display: inline-block; 
    *display: inline; 
    zoom: 1; 
    margin: 0 4px; 
    padding: 0; 
    background: none; 
    border: 0; 
    list-style: none; 
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li a { 
    display: block; 
    margin: 0; 
    padding: 0 12px; 
    height: 36px; 
    line-height: 36px; 
    font-size: 14px; 
    color: #666; 
    text-decoration: none; 
    border: 1px solid #e0e0e0; 
    background-color: #fff; 
    box-shadow: none; 
    transition: all 0.3s ease;
    border-radius: 6px;
    font-weight: 500;
    min-width: 36px;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li:hover a {
    border-color: var(--main-color);
    color: var(--main-color);
    background-color: #f8f9fa;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li.active a { 
    border-color: var(--main-color); 
    color: #fff; 
    background-color: var(--main-color);
    font-weight: 600;
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li:before { 
    display: none; 
}
#kboard-default-list .kboard-pagination .kboard-pagination-pages li:after { 
    display: none; 
}

#kboard-default-list .kboard-list .kboard-mobile-contents .contents-separator { 
    display: inline; 
    margin: 0; 
    padding: 0 2px; 
    color: #bebebe; 
} 

/* ========================================== */
/* 작성 버튼 및 컨트롤 영역 */
/* ========================================== */
#kboard-default-list .kboard-control { 
    float: left; 
    /* padding: 20px 0; */
    width: 100%; 
    text-align: right; 
    /* margin-top: 20px; */
}
#kboard-default-list .kboard-control a,
#kboard-default-list .kboard-control a.kboard-default-button-small {
    background: var(--main-color) !important; 
    color: #fff !important; 
    min-width: 100px; 
    text-align: center; 
    font-size: 16px !important; 
    padding: 12px 20px !important;
    border-radius: 8px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4 !important;
    width: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
#kboard-default-list .kboard-control a:hover,
#kboard-default-list .kboard-control a.kboard-default-button-small:hover {
    background: #158084 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 151, 155, 0.3);
    opacity: 1 !important;
}

/* ========================================== */
/* 에디터 페이지 - 통합 헤더 영역 */
/* ========================================== */
/* 통합 헤더 컨테이너 */
#kboard-default-editor .kboard-editor-header-container {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    padding: 18px 20px;
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
    clear: both;
    position: relative;
    z-index: 100;
}

/* 헤더 상단 행 */
#kboard-default-editor .kboard-editor-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* 페이지 제목 */
#kboard-default-editor .kboard-editor-title {
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}

/* 모드 배지 */
#kboard-default-editor .kboard-editor-mode-badge {
    display: flex;
    align-items: center;
}

#kboard-default-editor .kboard-editor-mode-badge .mode-create,
#kboard-default-editor .kboard-editor-mode-badge .mode-edit,
#kboard-default-editor .kboard-editor-mode-badge .mode-reply,
#kboard-default-editor .kboard-editor-mode-badge .mode-inquiry {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

#kboard-default-editor .kboard-editor-mode-badge .mode-create {
    background-color: rgba(26, 151, 155, 0.1);
    color: var(--main-color);
    border: 1px solid var(--main-color);
}

#kboard-default-editor .kboard-editor-mode-badge .mode-edit {
    background-color: rgba(255, 193, 7, 0.1);
    color: #f57c00;
    border: 1px solid #ffc107;
}

/* 답글 모드 배지 스타일 */
#kboard-default-editor .kboard-editor-mode-badge .mode-reply {
    background-color: rgba(103, 58, 183, 0.1);
    color: #673ab7;
    border: 1px solid #673ab7;
}

/* 문의하기 모드 배지 스타일 */
#kboard-default-editor .kboard-editor-mode-badge .mode-inquiry {
    background-color: rgba(33, 150, 243, 0.1);
    color: #2196f3;
    border: 1px solid #2196f3;
}

/* 부모 게시글 정보 카드 스타일 */
#kboard-default-editor .kboard-reply-parent-info {
    margin-top: 20px;
    padding: 16px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-left: 4px solid #673ab7;
    border-radius: 8px;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9ecef;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-label {
    font-size: 14px;
    font-weight: 600;
    color: #495057;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 13px;
    color: #673ab7;
    text-decoration: none;
    transition: all 0.2s ease;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-link:hover {
    background-color: #673ab7;
    color: #fff;
    border-color: #673ab7;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-icon {
    font-size: 12px;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-title {
    font-size: 15px;
    line-height: 1.5;
    color: #212529;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-title strong {
    font-weight: 600;
    color: #495057;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #6c757d;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-separator {
    color: #dee2e6;
}

#kboard-default-editor .kboard-reply-parent-info .reply-parent-author,
#kboard-default-editor .kboard-reply-parent-info .reply-parent-date {
    display: inline-block;
}

/* 답글달기 원문 내용 요약 스타일 */
#kboard-default-editor .kboard-reply-parent-info .reply-parent-excerpt {
    font-size: 13px;
    line-height: 1.6;
    color: #424242;
    padding: 10px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    margin-top: 4px;
}

/* 참조 공지사항 정보 카드 스타일 (문의하기 모드) */
#kboard-default-editor .kboard-inquiry-reference-info {
    margin-top: 20px;
    padding: 16px;
    background-color: #e3f2fd;
    border: 1px solid #90caf9;
    border-left: 4px solid #2196f3;
    border-radius: 8px;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #90caf9;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-label {
    font-size: 14px;
    font-weight: 600;
    color: #1976d2;
}

/* 문의하기 원문 링크 버튼 스타일 */
#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #90caf9;
    border-radius: 6px;
    font-size: 13px;
    color: #2196f3;
    text-decoration: none;
    transition: all 0.2s ease;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-link:hover {
    background-color: #2196f3;
    color: #fff;
    border-color: #2196f3;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-icon {
    font-size: 12px;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-title {
    font-size: 15px;
    line-height: 1.5;
    color: #1565c0;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-title strong {
    font-weight: 600;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-excerpt {
    font-size: 13px;
    line-height: 1.6;
    color: #424242;
    padding: 10px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #90caf9;
    border-radius: 6px;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-item-label {
    font-weight: 600;
    color: #1976d2;
}

#kboard-default-editor .kboard-inquiry-reference-info .inquiry-reference-item-value {
    color: #424242;
}

/* 필드 영역 컨테이너 */
#kboard-default-editor .kboard-editor-fields-container {
    margin-bottom: 20px;
    width: 100%;
}

#kboard-default-editor { overflow: hidden; }
#kboard-default-editor form { margin: 0; padding: 0; }
/* ========================================== */
/* 입력 필드 스타일 통일 */
/* ========================================== */
#kboard-default-editor select { 
    display: block; 
    margin: 0; 
    padding: 12px 15px; 
    font-size: 16px; 
    width: 100%; 
    min-height: 44px; 
    line-height: 1.5; 
    color: #333; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px; 
    box-shadow: none; 
    background: #fff; 
    box-sizing: border-box; 
    vertical-align: middle; 
    text-indent: 0; 
    -webkit-appearance: none; 
    -moz-appearance: none; 
    appearance: none; 
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 400;
}

#kboard-default-editor input[type=text],
#kboard-default-editor input[type=email],
#kboard-default-editor input[type=number],
#kboard-default-editor input[type=date],
#kboard-default-editor input[type=password] { 
    display: block; 
    margin: 0; 
    padding: 12px 15px; 
    width: 100%; 
    min-height: 44px; 
    line-height: 1.5; 
    font-size: 16px; 
    color: #333; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px; 
    box-shadow: none; 
    background: #fff; 
    box-sizing: border-box; 
    vertical-align: middle;
    transition: all 0.3s ease;
    font-weight: 400;
}

#kboard-default-editor input[type=checkbox] { 
    width: auto; 
    -webkit-appearance: checkbox; 
    -moz-appearance: checkbox; 
    appearance: checkbox; 
    margin-right: 8px;
    cursor: pointer;
}

#kboard-default-editor input[type=radio] { 
    width: auto; 
    -webkit-appearance: radio; 
    -moz-appearance: radio; 
    appearance: radio; 
    margin-right: 8px;
    cursor: pointer;
}

/* 호버 효과 */
#kboard-default-editor select:hover,
#kboard-default-editor input[type=text]:hover,
#kboard-default-editor input[type=email]:hover,
#kboard-default-editor input[type=number]:hover,
#kboard-default-editor input[type=date]:hover,
#kboard-default-editor input[type=password]:hover { 
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(26, 151, 155, 0.05);
}

/* 포커스 효과 */
#kboard-default-editor select:focus,
#kboard-default-editor input[type=text]:focus,
#kboard-default-editor input[type=email]:focus,
#kboard-default-editor input[type=number]:focus,
#kboard-default-editor input[type=date]:focus,
#kboard-default-editor input[type=password]:focus { 
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(26, 151, 155, 0.1);
}
/* 파일 업로드 필드 스타일 */
#kboard-default-editor input[type=file] { 
    display: block; 
    margin: 0; 
    padding: 10px 15px; 
    width: 100%; 
    font-size: 14px; 
    color: #333; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px; 
    box-shadow: none; 
    background-color: #f8f9fa;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s ease;
}

#kboard-default-editor input[type=file]:hover {
    border-color: var(--main-color);
    background-color: #fff;
}
#kboard-default-editor .kboard-attr-title input { width: 70%; }

/* ========================================== */
/* 필드 카드 스타일 */
/* ========================================== */
#kboard-default-editor .kboard-attr-row { 
    float: none;  /* float 제거 */
    display: block;
    padding: 20px; 
    width: 100%;
    margin: 15px 0;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    box-sizing: border-box;
}

#kboard-default-editor .kboard-attr-row:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* 필드 레이블 스타일 */
#kboard-default-editor .kboard-attr-row .attr-name { 
    display: block;  /* inline에서 block으로 변경 */
    float: none;  /* float 제거 */
    margin: 0 0 10px 0; 
    padding: 0; 
    width: 100%; 
    line-height: 1.5; 
    color: #333; 
    font-size: 16px; 
    font-weight: 600;
}

#kboard-default-editor .kboard-attr-row .attr-name img { 
    display: inline; 
    margin: 0; 
    padding: 0; 
    width: auto; 
    max-width: 100%; 
    vertical-align: middle; 
}

#kboard-default-editor .kboard-attr-row .attr-name .attr-required-text { 
    color: #c36;  /* 붉은 계열로 변경 */
    font-weight: 600; 
    font-size: 14px;
    margin-left: 4px;
}

#kboard-default-editor .kboard-attr-row.kboard-attr-content .attr-name { 
    display: none; 
}

/* 필드 값 영역 스타일 */
#kboard-default-editor .kboard-attr-row .attr-value { 
    margin: 0;  /* float 기반 마진 제거 */
    padding: 0; 
    line-height: 1.5; 
    font-size: 14px;
    width: 100%;
    display: block;
}
#kboard-default-editor .kboard-attr-row .attr-value .attr-value-option { 
    display: inline-flex; 
    align-items: center;
    padding-right: 20px; 
    width: auto; 
    font-size: 14px; 
    cursor: pointer; 
    margin-bottom: 8px;
}

#kboard-default-editor .kboard-attr-row .attr-value .attr-value-option input { 
    cursor: pointer; 
    margin-right: 6px;
}

#kboard-default-editor .kboard-attr-row .attr-value .attr-value-label { 
    display: inline-flex; 
    align-items: center;
    padding-right: 15px; 
    width: auto; 
    cursor: pointer; 
    margin-bottom: 8px;
}

#kboard-default-editor .kboard-attr-row .attr-value .attr-value-label input { 
    cursor: pointer; 
    margin-right: 6px;
}
#kboard-default-editor .kboard-attr-row .attr-value .description { 
    margin: 8px 0 0 0; 
    color: #666; 
    font-size: 13px;
    line-height: 1.5;
}
#kboard-default-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap { 
    float: none;  /* float 제거 */
    width: 100%; 
    display: block;
}

#kboard-default-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap select { 
    clear: both; 
    float: none;  /* float 제거 */
    margin-bottom: 10px; 
    width: 100%; 
}

/* textarea 필드 스타일 */
#kboard-default-editor textarea.editor-textarea,
#kboard-default-editor .kboard-attr-row textarea {
    display: block;
    margin: 0;
    padding: 12px 15px;
    width: 100%;
    min-height: 150px;
    font-size: 16px;
    color: #333;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: none;
    background: #fff;
    box-sizing: border-box;
    transition: all 0.3s ease;
    font-family: inherit;
    line-height: 1.6;
    resize: vertical;
}

#kboard-default-editor textarea.editor-textarea:focus,
#kboard-default-editor .kboard-attr-row textarea:focus {
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(26, 151, 155, 0.1);
}
/* 에디터 사용 안내 메시지 */
.kboard-editor-tip-message {
	background: #f0f8ff;
	border: 1px solid #0073aa;
	border-radius: 4px;
	padding: 12px 40px 12px 15px;
	margin-bottom: 15px;
	position: relative;
	font-size: 13px;
	line-height: 1.6;
	color: #333;
}
.kboard-editor-tip-message .tip-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.kboard-editor-tip-message .tip-icon {
	font-size: 14px;
	margin-right: 4px;
}
.kboard-editor-tip-message .tip-text {
	font-size: 13px;
}
.kboard-editor-tip-message .tip-separator {
	color: #ccc;
	margin: 0 4px;
}
.kboard-editor-tip-message .tip-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: none;
	border: none;
	font-size: 20px;
	color: #666;
	cursor: pointer;
	padding: 0;
	width: 24px;
	height: 24px;
	line-height: 24px;
	text-align: center;
	border-radius: 3px;
	transition: all 0.2s;
}
.kboard-editor-tip-message .tip-close:hover {
	background: #0073aa;
	color: #fff;
}

/* 드래그 오버 표시 */
.kboard-editor-drag-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(232, 244, 248, 0.95);
	border: 2px dashed #0073aa;
	border-radius: 4px;
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	z-index: 1000;
	font-size: 16px;
	color: #0073aa;
	pointer-events: none;
}
.kboard-editor-drag-overlay.active {
	display: flex;
}
.kboard-editor-drag-overlay .drag-icon {
	font-size: 48px;
	margin-bottom: 10px;
}
.kboard-editor-drag-overlay .drag-text {
	font-weight: 600;
	margin-bottom: 5px;
}
.kboard-editor-drag-overlay .drag-hint {
	font-size: 13px;
	color: #666;
}

/* 에러 메시지 */
.kboard-editor-error-message {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 4px;
	padding: 15px 20px;
	margin-bottom: 15px;
	position: relative;
}
.kboard-editor-error-message .error-title {
	font-weight: 600;
	color: #856404;
	margin-bottom: 8px;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.kboard-editor-error-message .error-icon {
	font-size: 16px;
}
.kboard-editor-error-message .error-content {
	color: #856404;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.kboard-editor-error-message .error-solution {
	background: #fff;
	padding: 10px;
	border-radius: 3px;
	margin-top: 10px;
	font-size: 12px;
	color: #666;
}
.kboard-editor-error-message .error-actions {
	display: flex;
	gap: 10px;
	margin-top: 12px;
	justify-content: flex-end;
}
.kboard-editor-error-message .error-btn {
	padding: 6px 16px;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 3px;
	cursor: pointer;
	font-size: 13px;
	transition: all 0.2s;
}
.kboard-editor-error-message .error-btn:hover {
	background: #f5f5f5;
}
.kboard-editor-error-message .error-btn-primary {
	background: #0073aa;
	color: #fff;
	border-color: #0073aa;
}
.kboard-editor-error-message .error-btn-primary:hover {
	background: #005a87;
}

/* 업로드 진행 상태 */
.kboard-editor-upload-progress {
	background: #fff;
	border: 1px solid #0073aa;
	border-radius: 4px;
	padding: 15px 20px;
	margin-bottom: 15px;
	position: relative;
}
.kboard-editor-upload-progress .progress-title {
	font-weight: 600;
	color: #0073aa;
	margin-bottom: 10px;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.kboard-editor-upload-progress .progress-icon {
	font-size: 16px;
	animation: spin 1s linear infinite;
}
@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.kboard-editor-upload-progress .progress-filename {
	font-size: 13px;
	color: #666;
	margin-bottom: 10px;
}
.kboard-editor-upload-progress .progress-bar-container {
	width: 100%;
	height: 8px;
	background: #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 10px;
}
.kboard-editor-upload-progress .progress-bar {
	height: 100%;
	background: linear-gradient(90deg, #0073aa, #00a0d2);
	transition: width 0.3s;
	border-radius: 4px;
}
.kboard-editor-upload-progress .progress-percent {
	font-size: 12px;
	color: #666;
	text-align: right;
}
.kboard-editor-upload-progress .progress-cancel {
	position: absolute;
	top: 10px;
	right: 10px;
	background: none;
	border: 1px solid #ccc;
	padding: 4px 12px;
	border-radius: 3px;
	cursor: pointer;
	font-size: 12px;
	color: #666;
}

/* 에디터 영역 스타일 (Summernote는 건드리지 않음) */
#kboard-default-editor .kboard-content { 
    float: none;  /* float 제거 */
    margin: 0; 
    padding: 0; 
    width: 100%; 
    position: relative; 
}

#kboard-default-editor .kboard-content .editor-textarea { 
    display: block; 
    margin: 0; 
    padding: 12px 15px; 
    width: 100%; 
    min-width: 100%; 
    max-width: 100%; 
    height: 400px; 
    min-height: 400px; 
    font-size: 16px; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px;
    box-shadow: none; 
    background: #fff; 
    box-sizing: border-box; 
    text-indent: 0;
    transition: all 0.3s ease;
    font-family: inherit;
    line-height: 1.6;
    color: #333;
}

#kboard-default-editor .kboard-content .editor-textarea:focus {
    outline: none;
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px rgba(26, 151, 155, 0.1);
}
/* ========================================== */
/* 컨트롤 버튼 영역 스타일 개선 */
/* ========================================== */
#kboard-default-editor .kboard-control { 
    float: none;  /* float 제거 */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0; 
    width: 100%; 
    margin-top: 20px;
    gap: 15px;
    flex-wrap: wrap;
}

#kboard-default-editor .kboard-control .left { 
    position: static; 
    float: none;  /* float 제거 */
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

#kboard-default-editor .kboard-control .right { 
    margin-top: 0;
    position: static; 
    float: none;  /* float 제거 */
    display: flex;
    justify-content: flex-end;
    text-align: right;
}

/* 버튼 스타일 - 기본 스타일 (모든 버튼 통일) */
#kboard-default-editor .kboard-control a,
#kboard-default-editor .kboard-control button,
#kboard-default-editor .kboard-control a.kboard-default-button-small,
#kboard-default-editor .kboard-control button.kboard-default-button-small {
    background: var(--main-color) !important; 
    color: #fff !important; 
    border: none !important;
    min-width: 100px; 
    text-align: center;  
    padding: 12px 20px !important; 
    font-size: 16px !important;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: auto !important;
    line-height: 1.4 !important;
    width: auto;
}

#kboard-default-editor .kboard-control a:hover,
#kboard-default-editor .kboard-control button:hover,
#kboard-default-editor .kboard-control a.kboard-default-button-small:hover,
#kboard-default-editor .kboard-control button.kboard-default-button-small:hover {
    background: #158084 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 151, 155, 0.3);
    opacity: 1 !important;
}

/* 저장 버튼 스타일 - 메인 컬러 적용 (기본과 동일하지만 명시적으로 유지) */
#kboard-default-editor .kboard-control .right button,
#kboard-default-editor .kboard-control button[type="submit"],
#kboard-default-editor .kboard-control .right button.kboard-default-button-small,
#kboard-default-editor .kboard-control button[type="submit"].kboard-default-button-small {
    background: var(--main-color) !important; 
    color: #fff !important; 
    border: none !important;
    font-weight: 600;
}

#kboard-default-editor .kboard-control .right button:hover,
#kboard-default-editor .kboard-control button[type="submit"]:hover,
#kboard-default-editor .kboard-control .right button.kboard-default-button-small:hover,
#kboard-default-editor .kboard-control button[type="submit"].kboard-default-button-small:hover {
    background: #158084 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 151, 155, 0.3);
    opacity: 1 !important;
}

#kboard-default-editor.confirm { margin: 100px auto; max-width: 590px; }
#kboard-default-editor.confirm input[type=password] { width: 100%; box-sizing: border-box; }

/* ========================================== */
/* KBoard 게시글 상세보기 페이지 스타일 */
/* ========================================== */

#kboard-default-document { 
    display: block; 
    margin: 0; 
    width: 100%; 
    padding: 0;
}

/* 통합 헤더 영역 - list.php, editor.php와 일관된 구조 */
#kboard-default-document .kboard-document-header-container {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    padding: 18px 20px;
    margin-bottom: 20px;
}

#kboard-default-document .kboard-document-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

#kboard-default-document .kboard-document-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    margin: 0;
    flex-grow: 1;
    min-width: 200px;
}

#kboard-default-document .kboard-document-status-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

#kboard-default-document .status-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

#kboard-default-document .status-badge.status-complete {
    background-color: #163ed742;
    color: #163ed7;
}

#kboard-default-document .status-badge.status-progress {
    background-color: #7dcd0042;
    color: #1a7d36;
}

#kboard-default-document .status-badge.status-pending {
    background-color: #ffb30042;
    color: #ffb300;
}

#kboard-default-document .status-badge.status-notice {
    background-color: var(--main-color);
    color: #fff;
}

#kboard-default-document .status-badge.status-urgent {
    background-color: #f44336;
    color: #fff;
}

/* 기본 정보 (메타 정보) - 헤더 하단 */
#kboard-default-document .kboard-document-meta-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px solid #f0f0f0;
    font-size: 14px;
    color: #666;
}

#kboard-default-document .kboard-document-meta-info .meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

#kboard-default-document .kboard-document-meta-info .meta-label {
    font-weight: 600;
    color: #999;
}

#kboard-default-document .kboard-document-meta-info .meta-value {
    color: #333;
    font-weight: 500;
}

#kboard-default-document .kboard-document-meta-info .meta-separator {
    color: #ddd;
    margin: 0 4px;
}

/* 게시글 래퍼 */
#kboard-default-document .kboard-document-wrap { 
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* 상세 정보 영역 - 카드 그리드 구조 */
#kboard-default-document .kboard-detail-container {
    margin-bottom: 20px;
}

#kboard-default-document .kboard-detail-grid {
    display: grid;
    grid-template-columns: 1fr; /* 한 줄씩 표시하도록 1열로 변경 */
    gap: 15px;
    margin-bottom: 20px;
}

/* 카드가 하나일 때 전체 너비 차지 (한 줄로 표시) */
#kboard-default-document .kboard-detail-grid .detail-attr-card:only-child {
    grid-column: 1 / -1;
}

#kboard-default-document .detail-attr-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: all 0.3s ease;
}

#kboard-default-document .detail-attr-card:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

#kboard-default-document .detail-attr-card .detail-name {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    line-height: 1.4;
    margin: 0;
    padding: 0;
}

#kboard-default-document .detail-attr-card .detail-value {
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    word-break: break-word;
}

#kboard-default-document .detail-attr-card .detail-value a {
    color: #333;
    text-decoration: none;
    border: 0;
    box-shadow: none;
}

#kboard-default-document .detail-attr-card .detail-value a:hover {
    color: var(--main-color);
    text-decoration: underline;
}

#kboard-default-document .detail-attr-card .detail-value img.avatar {
    display: inline;
    margin: 0 5px 0 0;
    width: 24px;
    max-width: none;
    height: 24px;
    vertical-align: middle;
    border-radius: 50%;
}
#kboard-default-document .kboard-detail .detail-attr.detail-grade .detail-value { 
    font-size: 18px;
}
#kboard-default-document .kboard-detail .detail-attr.detail-grade { 
    width: 5%; 
    min-width: 30px;
}
/* 등급 컬럼 모바일 너비 조정 */
#kboard-default-document .kboard-detail .detail-attr.detail-grade
{width:20%;}
#kboard-default-document .kboard-detail .detail-attr .detail-value img.avatar { display: inline; margin: 0; width: 24px; max-width: none; height: 24px; vertical-align: middle; border-radius: 50%; }
/* 게시글 내용 영역 - 카드 */
#kboard-default-document .kboard-content-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    overflow: hidden;
}

#kboard-default-document .kboard-content { 
    clear: both; 
    float: none;
    width: 100%; 
    min-height: 200px;
    margin: 0;
    padding: 0;
}

#kboard-default-document .kboard-content .content-view { 
    margin: 0; 
    padding: 25px; 
    word-break: break-all;  
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}
#kboard-default-document .kboard-content .content-view iframe { max-width: 100%; }
#kboard-default-document .kboard-content .content-view img { display: inline; margin: 0; vertical-align: middle; max-width: 100%; }
#kboard-default-document .kboard-content .content-view hr { margin: 10px 0; padding: 0; height: 1px; border: 0; background-color: #f1f1f1; }
#kboard-default-document .kboard-content .content-view ul { margin: 0.75em 0; }
#kboard-default-document .kboard-content .content-view ol { margin: 0.75em 0; }
#kboard-default-document .kboard-content .content-view p { margin: 0 0 0.75em; }
#kboard-default-document .kboard-content .content-view p:last-child { margin: 0; }
#kboard-default-document .kboard-content .content-view .thumbnail-area { text-align: center; }
#kboard-default-document .kboard-content .content-view .aligncenter { display: block; margin-right: auto; margin-left: auto; }
#kboard-default-document .kboard-content .content-view .alignright { float:right; }
#kboard-default-document .kboard-content .content-view .alignleft { float: left; }
/* 액션 버튼 영역 - 카드 */
#kboard-default-document .kboard-document-action-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    padding: 15px 20px;
}

#kboard-default-document .kboard-document-action { 
    padding: 0; 
    overflow: hidden; 
    line-height: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

#kboard-default-document .kboard-document-action .left { 
    position: static; 
    float: none;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

#kboard-default-document .kboard-document-action .right { 
    position: static; 
    float: none;
    text-align: right;
    display: flex;
    gap: 10px;
}

#kboard-default-document .kboard-document-action button {
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 15px;
    color: #333;
    line-height: 1.4;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#kboard-default-document .kboard-document-action button .button-icon {
    font-size: 18px;
    line-height: 1;
}

#kboard-default-document .kboard-document-action button .button-text {
    font-weight: 500;
}

#kboard-default-document .kboard-document-action button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 좋아요 버튼 스타일 */
#kboard-default-document .kboard-button-like {
    background: #ff5959 !important;
    color: #fff !important;
    border-color: #ff5959 !important;
}

#kboard-default-document .kboard-button-like:hover {
    background: #ff4444 !important;
    border-color: #ff4444 !important;
    box-shadow: 0 4px 12px rgba(255, 89, 89, 0.3) !important;
}

/* 싫어요 버튼 스타일 */
#kboard-default-document .kboard-button-unlike {
    background: #3d62aa !important;
    color: #fff !important;
    border-color: #3d62aa !important;
}

#kboard-default-document .kboard-button-unlike:hover {
    background: #2d4f8a !important;
    border-color: #2d4f8a !important;
    box-shadow: 0 4px 12px rgba(61, 98, 170, 0.3) !important;
}

/* 인쇄 버튼 스타일 - PDF, DOC 버튼과 동일하게 통일 */
#kboard-default-document .kboard-button-print {
    /* 기본 스타일은 kboard-button-action과 동일하게 유지 */
}

/* 첨부파일 영역 - 카드 */
#kboard-default-document .kboard-attach-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    padding: 15px 20px;
}

#kboard-default-document .kboard-attach { 
    clear: both; 
    margin: 0; 
    padding: 0; 
    font-size: 14px; 
    overflow: hidden; 
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#kboard-default-document .kboard-attach button {
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 15px;
    color: #333;
    line-height: 1.4;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#kboard-default-document .kboard-attach button:hover {
    background: var(--main-color);
    color: #fff;
    border-color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(26, 151, 155, 0.2);
}

#kboard-default-document .kboard-button-action { margin: 0 0 0 0; padding: 0; font-size: 16px; font-weight: normal;  text-align: left; border: none; background: none; background-color: white; border-radius: 2px; letter-spacing: normal; cursor: pointer; vertical-align: middle; text-shadow: none; box-shadow: none; }
#kboard-default-document .kboard-button-action span { position: static; display: inline; margin: 0; padding: 0; font-size: 13px; line-height: 12px; }
#kboard-default-document .kboard-button-like { color: #ff5959; }
#kboard-default-document .kboard-button-unlike { color: #3d62aa; }
#kboard-default-document .kboard-button-print { color: gray; }
#kboard-default-document .kboard-button-pdf { color: gray; }
#kboard-default-document .kboard-button-doc { color: gray; }
#kboard-default-document .kboard-button-download { color: gray; }

/* 댓글 영역 - 카드 스타일 */
#kboard-default-document .kboard-comments-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    padding: 20px;
    overflow: hidden;
}

#kboard-default-document .kboard-comments-area { 
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
/* 이전/다음 글 네비게이션 - 카드 */
#kboard-default-document .kboard-document-navi-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

#kboard-default-document .kboard-navi-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 15px 20px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    cursor: pointer;
    color: #333;
}

/* 이전 글 네비게이션 */
#kboard-default-document .kboard-navi-card.kboard-prev-document {
    background-color: #f5f5f5;
}

#kboard-default-document .kboard-navi-card.kboard-prev-document:hover {
    background-color: #eeeeee;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transform: translateX(-3px);
    color: var(--main-color);
}

/* 다음 글 네비게이션 */
#kboard-default-document .kboard-navi-card.kboard-next-document {
    background-color: #e3f2fd;
}

#kboard-default-document .kboard-navi-card.kboard-next-document:hover {
    background-color: #bbdefb;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    transform: translateX(3px);
    color: var(--main-color);
}

/* 네비게이션 아이콘 */
#kboard-default-document .kboard-navi-card .navi-icon {
    font-size: 20px;
    font-weight: bold;
    color: #666;
    flex-shrink: 0;
    line-height: 1;
    pointer-events: none; /* 클릭 이벤트가 부모 링크로 전달되도록 */
}

#kboard-default-document .kboard-navi-card.kboard-prev-document .navi-icon {
    order: -1;
}

#kboard-default-document .kboard-navi-card.kboard-next-document .navi-icon {
    order: 1;
}

/* 네비게이션 카드 자체가 링크이므로 내부 a 태그 스타일은 더 이상 필요 없음 */
#kboard-default-document .kboard-navi-card:hover {
    color: var(--main-color);
}

#kboard-default-document .kboard-navi-card .navi-tit {
    font-size: 16px;
    color: #666;
    font-weight: 600;
    min-width: 60px;
    flex-shrink: 0;
    pointer-events: none; /* 클릭 이벤트가 부모 링크로 전달되도록 */
}

#kboard-default-document .kboard-navi-card .navi-document-title {
    display: block;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: inherit;
    pointer-events: none; /* 클릭 이벤트가 부모 링크로 전달되도록 */
}
/* 컨트롤 버튼 영역 - list.php, editor.php와 일관된 스타일 */
#kboard-default-document .kboard-control { 
    float: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px 0;
    width: 100%;
    margin-top: 0;
}

#kboard-default-document .kboard-control .left { 
    position: static; 
    float: none;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-grow: 1;
}

#kboard-default-document .kboard-control .right { 
    position: static; 
    float: none;
    text-align: right;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-grow: 1;
}

/* 컨트롤 버튼 스타일 - .kboard-default-button-small 클래스 포함 */
#kboard-default-document .kboard-control a,
#kboard-default-document .kboard-control a.kboard-default-button-small {
    min-width: 100px;
    padding: 12px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

#kboard-default-document .kboard-control .left a,
#kboard-default-document .kboard-control .left a.kboard-default-button-small {
    background: var(--main-color) !important;
    color: #fff !important;
}

#kboard-default-document .kboard-control .left a:hover,
#kboard-default-document .kboard-control .left a.kboard-default-button-small:hover {
    background: #158084 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 151, 155, 0.3);
    opacity: 1 !important;
}

#kboard-default-document .kboard-control .right a,
#kboard-default-document .kboard-control .right a.kboard-default-button-small {
    background: var(--main-color) !important;
    color: #fff !important;
}

#kboard-default-document .kboard-control .right a:hover,
#kboard-default-document .kboard-control .right a.kboard-default-button-small:hover {
    background: #158084 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 151, 155, 0.3);
    opacity: 1 !important;
}

#kboard-default-latest table { display: table; table-layout: fixed; width: 100%; border: 0; border-bottom: 1px solid #f1f1f1; }
#kboard-default-latest table tr { padding: 0; border: 0; }
#kboard-default-latest table th { padding: 5px 0; height: auto; border: 0; text-align: center; }
#kboard-default-latest table td { padding: 5px 0; height: auto; border: 0; border-top: 1px solid #f1f1f1; vertical-align: middle; }
#kboard-default-latest table td.kboard-latest-title { text-align: left; }
#kboard-default-latest table .kboard-latest-title { padding-left: 5px; font-size: 14px; }
#kboard-default-latest table .kboard-latest-title a { text-decoration: none; box-shadow: none; }
#kboard-default-latest table .kboard-latest-title img { display: inline; margin: 0; width: auto; height: auto; vertical-align: middle; max-width: 100%; }
#kboard-default-latest table .kboard-latest-title .kboard-comments-count { }
#kboard-default-latest table .kboard-latest-date { padding: 2px 10px; width: auto; text-align: center; font-size: 14px; }

@media screen and (max-width: 600px) {
	#kboard-default-list .kboard-category.category-mobile { display: block; }
	#kboard-default-list .kboard-category.category-pc { display: none; }
	#kboard-default-list .kboard-tree-category-search .kboard-search-option-wrap.select { width: 100%; }
	#kboard-default-list .kboard-list table { border-top: 1px solid #f1f1f1; }
	#kboard-default-list .kboard-list table thead { display: none; }
	#kboard-default-list .kboard-list table td.kboard-list-title { padding: 10px 5px; }
	#kboard-default-list .kboard-list table td.kboard-list-title .kboard-default-cut-strings { margin-bottom: 10px; white-space: normal; font-size: 15px; line-height: 23px; }
	#kboard-default-list .kboard-list table td.kboard-list-uid,
	#kboard-default-list .kboard-list table td.kboard-list-user,
	#kboard-default-list .kboard-list table td.kboard-list-date,
	#kboard-default-list .kboard-list table td.kboard-list-vote,
	#kboard-default-list .kboard-list table td.kboard-list-view { display: none; }
	#kboard-default-list .kboard-list .kboard-mobile-contents { display: block; }
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li { display: none; }
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.first-page,
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.last-page,
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.prev-page,
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.next-page,
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.active { display: inline-block; }
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.prev-page a,
	#kboard-default-list .kboard-pagination .kboard-pagination-pages li.next-page a { padding: 8px 12px; }
	#kboard-default-list .kboard-search select { float: left; margin-right: 1%; width: 29%; min-width: 29%; height: 28px; line-height: 28px; box-sizing: border-box; }
	#kboard-default-list .kboard-search input { float: left; margin-right: 1%; width: 49%; min-width: 49%; height: 28px; line-height: 28px; box-sizing: border-box; }
	#kboard-default-list .kboard-search button { float: left; width: 20%; min-width: 20%; box-sizing: border-box; }
	
	#kboard-default-editor select,
	#kboard-default-editor input[type=text],
	#kboard-default-editor input[type=email],
	#kboard-default-editor input[type=number],
	#kboard-default-editor input[type=date],
	#kboard-default-editor input[type=password],
	#kboard-default-editor input[type=file] { width: 100% !important; box-sizing: border-box; }
	/* 에디터 헤더 모바일 */
	#kboard-default-editor .kboard-editor-header-container {
		padding: 12px 15px;
		margin-bottom: 15px;
	}
	
	#kboard-default-editor .kboard-editor-header-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	
	#kboard-default-editor .kboard-editor-title {
		font-size: 20px;
	}
	
	/* 필드 카드 모바일 */
	#kboard-default-editor .kboard-attr-row { 
		padding: 15px; 
		margin: 12px 0;
	}
	
	#kboard-default-editor .kboard-attr-row .attr-name { 
		padding: 0; 
		width: 100%; 
		font-size: 15px;
		margin-bottom: 12px;
	}
	
	#kboard-default-editor .kboard-attr-row .attr-value { 
		margin: 0; 
		width: 100%;
	}
	
	#kboard-default-editor .kboard-attr-row .attr-value .kboard-tree-category-wrap select { 
		margin-bottom: 10px; 
		width: 100%; 
	}
	
	/* 입력 필드 모바일 */
	#kboard-default-editor select,
	#kboard-default-editor input[type=text],
	#kboard-default-editor input[type=email],
	#kboard-default-editor input[type=number],
	#kboard-default-editor input[type=date],
	#kboard-default-editor input[type=password] {
		width: 100%;
		font-size: 16px;  /* iOS 줌 방지 */
	}
	
	/* 컨트롤 버튼 모바일 */
	#kboard-default-editor .kboard-control {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 15px 0;
	}
	
	#kboard-default-editor .kboard-control .left {
		width: 100%;
		flex-direction: column;
	}
	
	#kboard-default-editor .kboard-control .right {
		width: 100%;
		justify-content: stretch;
	}
	
	#kboard-default-editor .kboard-control a,
	#kboard-default-editor .kboard-control button {
		width: 100%;
		padding: 12px 20px !important;
	}
	
	#kboard-default-editor.confirm { 
		max-width: none; 
	}
	
	#kboard-default-document .kboard-title h1 { padding: 10px 5px; font-size: 18px; }
	#kboard-default-document .kboard-content .content-view { padding: 10px 5px; }
	/* 통합 헤더 모바일 */
	#kboard-default-document .kboard-document-header-container {
		padding: 15px;
		margin-bottom: 15px;
	}
	
	#kboard-default-document .kboard-document-header-top {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	
	#kboard-default-document .kboard-document-title {
		font-size: 22px;
		text-align: center;
	}
	
	#kboard-default-document .kboard-document-status-badge {
		width: 100%;
		justify-content: center;
	}
	
	/* 기본 정보 모바일 */
	#kboard-default-document .kboard-document-meta-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding-top: 12px;
		margin-top: 12px;
	}
	
	#kboard-default-document .kboard-document-meta-info .meta-separator {
		display: none;
	}
	
	#kboard-default-document .kboard-document-meta-info .meta-item {
		width: 100%;
		justify-content: space-between;
	}
	
	/* 상세 정보 그리드 모바일 - 1열 */
	#kboard-default-document .kboard-detail-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	
	#kboard-default-document .detail-attr-card {
		padding: 12px 15px;
	}
	
	#kboard-default-document .detail-attr-card .detail-name {
		font-size: 13px;
	}
	
	#kboard-default-document .detail-attr-card .detail-value {
		font-size: 15px;
	}
	
	/* 게시글 내용 모바일 */
	#kboard-default-document .kboard-content-card {
		margin-bottom: 15px;
	}
	
	#kboard-default-document .kboard-content .content-view {
		padding: 18px 15px;
		font-size: 15px;
		line-height: 1.7;
	}
	
	/* 액션 버튼 모바일 */
	#kboard-default-document .kboard-document-action-card {
		padding: 12px 15px;
		margin-bottom: 15px;
	}
	
	#kboard-default-document .kboard-document-action {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	
	#kboard-default-document .kboard-document-action .left,
	#kboard-default-document .kboard-document-action .right {
		width: 100%;
		flex-direction: column;
		gap: 8px;
	}
	
	#kboard-default-document .kboard-document-action button {
		width: 100%;
		padding: 12px 15px;
		font-size: 15px;
	}
	
	/* 첨부파일 모바일 */
	#kboard-default-document .kboard-attach-card {
		padding: 12px 15px;
		margin-bottom: 15px;
	}
	
	#kboard-default-document .kboard-attach {
		flex-direction: column;
		gap: 8px;
	}
	
	#kboard-default-document .kboard-attach button {
		width: 100%;
		justify-content: center;
	}
	
	/* 네비게이션 모바일 */
	#kboard-default-document .kboard-document-navi-container {
		gap: 8px;
		margin-bottom: 15px;
	}
	
	#kboard-default-document .kboard-navi-card {
		padding: 12px 15px;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	#kboard-default-document .kboard-navi-card a {
		flex-direction: row;
		align-items: center;
		gap: 8px;
		flex-grow: 1;
	}
	
	#kboard-default-document .kboard-navi-card .navi-tit {
		min-width: 50px;
		font-size: 14px;
	}
	
	#kboard-default-document .kboard-navi-card .navi-icon {
		font-size: 18px;
	}
	
	#kboard-default-document .kboard-navi-card .navi-document-title {
		white-space: normal;
		text-overflow: clip;
		flex-grow: 1;
	}
	
	/* 컨트롤 버튼 모바일 */
	#kboard-default-document .kboard-control {
		flex-direction: column;
		gap: 10px;
		padding: 12px 0;
	}
	
	#kboard-default-document .kboard-control .left,
	#kboard-default-document .kboard-control .right {
		width: 100%;
		flex-direction: column;
		gap: 8px;
	}
	
	#kboard-default-document .kboard-control a {
		width: 100%;
		max-width: none;
		font-size: 15px;
		padding: 12px 15px;
	}
}



/* 로그인 페이지 로고 스타일 - KBoard 규격에 맞춤 */
.login-logo {
    max-width: 300px;        /* 데스크톱: 300px (비율 유지하면 높이 140px) */
    height: auto;
    display: block;
    margin: 0 auto 20px auto;  /* 하단 여백 20px */
    transition: transform 0.3s ease;
}

.login-logo:hover {
    transform: scale(1.02);   /* 호버 시 살짝 확대 */
}

/* 모바일 최적화 - KBoard 모바일 규격 참고 */
@media screen and (max-width: 768px) {
    .login-logo {
        max-width: 200px;     /* 모바일: 200px (비율 유지하면 높이 93px) */
        margin-bottom: 15px;  /* KBoard 패딩 규격과 일치 */
    }
    
    .cosmosfarm-members-form {
        max-width: 100%;
        margin: 0 15px;       /* KBoard 모바일 마진과 일치 */
        padding: 20px;
    }
    
    .cosmosfarm-members-form fieldset {
        padding: 15px;        /* KBoard 패딩 규격과 일치 */
    }
    
    .cosmosfarm-members-form input[type="text"],
    .cosmosfarm-members-form input[type="password"] {
        width: 100%;
        padding: 12px;
        font-size: 16px;      /* iOS 줌 방지 */
        height: 28px;         /* KBoard 입력 필드 높이와 일치 */
        line-height: 28px;
    }
    
    .cosmosfarm-members-form .button_div {
        text-align: center;
    }
    
    .cosmosfarm-members-form .button_div input[type="submit"] {
        width: 100%;
        padding: 12px;
        font-size: 16px;
        height: 28px;         /* KBoard 버튼 높이와 일치 */
        line-height: 28px;
    }
}

/* 태블릿 최적화 */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .login-logo {
        max-width: 250px;     /* 태블릿: 250px (비율 유지하면 높이 116px) */
    }
    
    .cosmosfarm-members-form {
        max-width: 450px;
        margin: 0 auto;
    }
}

/* 작은 모바일 (320px 이하) */
@media screen and (max-width: 480px) {
    .login-logo {
        max-width: 150px;     /* 작은 모바일: 150px (비율 유지하면 높이 70px) */
        margin-bottom: 10px;
    }
}



/* ========================================== */
/* KBoard 정교한 반응형 스타일링 */
/* ========================================== */

/* 기본 레이아웃 - 데스크톱 */
#kboard-default-list {
    position: static !important;
    max-width: 1200px;
    margin: 0 auto;
}

/* 헤더 영역 반응형 */
#kboard-default-list .kboard-list-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 15px;
    gap: 15px;
}

#kboard-default-list .kboard-list-header .kboard-sort {
    flex-shrink: 0;
}

/* 검색 영역 반응형 */
#kboard-default-list .kboard-search {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    padding: 15px 0;
}

#kboard-default-list .kboard-search select,
#kboard-default-list .kboard-search input {
    min-width: 120px;
    flex: 1;
    max-width: 200px;
}

#kboard-default-list .kboard-search button {
    flex-shrink: 0;
    min-padding: 2px 10px; width: auto;
}

/* 테이블 반응형 - 기본 */
#kboard-default-list .kboard-list table {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}

/* 컬럼 너비 조정 */
#kboard-default-list .kboard-list table td.kboard-list-uid { width: 60px; min-width: 60px; }
#kboard-default-list .kboard-list table td.kboard-list-product { width: 120px; min-width: 120px; }
#kboard-default-list .kboard-list table td.kboard-list-title { width: auto; min-width: 200px; }
#kboard-default-list .kboard-list table td.kboard-list-user { width: 100px; min-width: 100px; }
#kboard-default-list .kboard-list table td.kboard-list-date { width: 100px; min-width: 100px; }

/* ========================================== */
/* 태블릿 반응형 (768px - 1024px) */
/* ========================================== */
@media screen and (max-width: 1024px) and (min-width: 769px) {
    #kboard-default-list .kboard-list-header {
        flex-direction: row;  /* column → row로 변경 */
        justify-content: space-between;  /* 추가 */
        align-items: center;  /* 추가 */
        gap: 15px;  /* 10px → 15px로 증가 */
    }
    
    #kboard-default-list .kboard-list-header .kboard-sort {
        align-self: auto;  /* flex-end → auto로 변경 */
    }
    
    #kboard-default-list .kboard-search {
        flex-direction: row;  /* column → row로 변경 */
        align-items: center;  /* stretch → center로 변경 */
        gap: 10px;  /* 추가 */
    }
    
    #kboard-default-list .kboard-search select,
    #kboard-default-list .kboard-search input {
        max-width: 150px;  /* 100% → 150px로 제한 */
        width: auto;  /* 100% → auto로 변경 */
    }
}

/* ========================================== */
/* 모바일 반응형 (768px 이하) */
/* ========================================== */
@media screen and (max-width: 768px) {
    #kboard-default-list {
        padding: 0 10px;
    }
    
    #kboard-default-list .kboard-list-header {
        flex-direction: column;
        align-items: stretch;
        padding: 10px 0;
    }
    
    #kboard-default-list .kboard-list-header .kboard-sort {
        align-self: stretch;
    }
    
    #kboard-default-list .kboard-list-header .kboard-sort select {
        width: 100%;
        max-width: none;
    }
    
    #kboard-default-list .kboard-search {
        flex-direction: column;
        gap: 8px;
        padding: 10px 0;
    }
    
    #kboard-default-list .kboard-search select,
    #kboard-default-list .kboard-search input {
        width: 100%;
        max-width: none;
        min-width: auto;
    }
    
    #kboard-default-list .kboard-search button {
        width: 100%;
        min-width: auto;
    }
}

/* 태블릿 반응형 (768px - 1199px) */
@media screen and (min-width: 768px) and (max-width: 1199px) {
    /* 상세 정보 그리드 태블릿 - 1열 (한 줄씩 표시) */
    #kboard-default-document .kboard-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* 데스크톱 반응형 (1200px 이상) */
@media screen and (min-width: 1200px) {
    /* 상세 정보 그리드 데스크톱 - 1열 (한 줄씩 표시) */
    #kboard-default-document .kboard-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    /* 테이블 모바일 변환 */
    #kboard-default-list .kboard-list table {
        display: block;
        width: 100%;
    }
    
    #kboard-default-list .kboard-list table thead {
        display: none;
    }
    
    #kboard-default-list .kboard-list table tbody {
        display: block;
    }
    
    #kboard-default-list .kboard-list table tbody tr {
        display: block;
        border: 1px solid #f1f1f1;
        margin-bottom: 10px;
        border-radius: 8px;
        padding: 15px;
        background: white;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    #kboard-default-list .kboard-list table tbody td {
        display: block;
        padding: 5px 0;
        text-align: left;
        border: none;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-uid {
        display: none;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-product {
        font-weight: bold;
        color: #666;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-title {
        font-size: 16px;
        line-height: 1.4;
        margin: 10px 0;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-title .kboard-default-cut-strings {
        white-space: normal;
        line-height: 1.4;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-user,
    #kboard-default-list .kboard-list table td.kboard-list-date {
        display: inline-block;
        font-size: 12px;
        color: #999;
        margin-right: 15px;
    }
    
    #kboard-default-list .kboard-list .kboard-mobile-contents {
        display: block;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #f0f0f0;
    }
    
    /* 페이징 모바일 최적화 */
    #kboard-default-list .kboard-pagination {
        padding: 20px 0;
    }
    
    #kboard-default-list .kboard-pagination .kboard-pagination-pages {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 5px;
    }
    
    #kboard-default-list .kboard-pagination .kboard-pagination-pages li {
        display: inline-block;
    }
    
    #kboard-default-list .kboard-pagination .kboard-pagination-pages li a {
        padding: 8px 12px;
        border-radius: 4px;
        background: #f8f9fa;
        border: 1px solid #dee2e6;
        height:auto;
        line-height:1;
    }
    
    #kboard-default-list .kboard-pagination .kboard-pagination-pages li.active a {
        background: var(--main-color);
        color: white;
        border-color: var(--main-color);
    }
}

/* ========================================== */
/* 작은 모바일 (480px 이하) */
/* ========================================== */
@media screen and (max-width: 480px) {
    #kboard-default-list {
        padding: 0 5px;
    }
    
    #kboard-default-list .kboard-list table tbody tr {
        padding: 10px;
        margin-bottom: 8px;
    }
    
    #kboard-default-list .kboard-list table td.kboard-list-title {
        font-size: 15px;
    }
    
    #kboard-default-list .kboard-search {
        gap: 6px;
    }
    
    #kboard-default-list .kboard-search select,
    #kboard-default-list .kboard-search input,
    #kboard-default-list .kboard-search button {
        height: 40px;
        font-size: 16px; /* iOS 줌 방지 */
    }
}

/* ========================================== */
/* 큰 화면 최적화 (1200px 이상) */
/* ========================================== */
@media screen and (min-width: 1200px) {
    #kboard-default-list {
        max-width: 1300px;
        margin: 0 auto;
    }
    
    #kboard-default-list .kboard-list table {
        font-size: 15px;
    }
    
    #kboard-default-list .kboard-list table td {
        padding: 12px 8px;
    }
}

/* ========================================== */
/* 접근성 및 사용성 개선 */
/* ========================================== */
#kboard-default-list .kboard-list table tbody tr:hover {
    background-color: #f8f9fa;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

#kboard-default-list .kboard-search button:hover {
    background-color: #005a87;
    /* transform: translateY(-1px); */
    transition: all 0.3s ease;
}

/* 포커스 접근성 */
#kboard-default-list .kboard-search select:focus,
#kboard-default-list .kboard-search input:focus,
#kboard-default-list .kboard-search button:focus {
    /* outline: 2px solid #007cba;
    outline-offset: 2px; */
    outline:none;
}

/* 페이지 제목 크기만 조정 */
.wp-block-post-title.has-text-align-center {
    font-size: 1.5rem !important;
}


/* 모바일에서 크기 조정 */
@media screen and (max-width: 380px) {
    .wp-block-post-title.has-text-align-center {
        font-size: 1rem !important;
    }
}

/* 제목 헤더만 좌측 정렬 */
#kboard-default-list .kboard-list table thead td.kboard-list-title {
    text-align: left !important;
}


/* ========================================== */
/* 접근성 및 사용성 개선 */
/* ========================================== */
#kboard-default-list .kboard-list {
    background: transparent;
    clear: both;  /* float 해제 */
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
}

/* 테이블 컨테이너 */
#kboard-default-list.custom .kboard-table {
    /* overflow-x:auto */ /* 주석 처리 - 외부 스크롤 제거 */
    display: block;
    clear: both;  /* float 해제 */
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
    background-color: #fff;
}

#kboard-default-list.custom .kboard-list-head {
    display: flex;
}
#kboard-default-list.custom .kboard-list-head span 
{font-size:1.7rem; text-align:center; flex-grow:1; color:#fff; padding:2rem 1rem; font-weight:600; background:var(--main-color); } /* 텍스트 색상을 흰색으로, 배경색을 메인 컬러로 변경 */
#kboard-default-list.custom .kboard-list-head span:first-child 
{border-radius:10px 0 0 10px}
#kboard-default-list.custom .kboard-list-head span:last-child 
{border-radius:0 10px 10px 0;}
/* ========================================== */
/* 게시글 목록 행 기본 스타일 */
/* ========================================== */
#kboard-default-list.custom .kboard-list-row {
    margin: 1rem 0; 
    border-radius: 10px; 
    transition: all 0.3s ease;
    display: flex; 
    align-items: center; 
    width: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
#kboard-default-list.custom .kboard-list-row .board-column {
    flex-grow: 1; 
    text-align: center; 
    display: flex;  /* inline-block에서 flex로 변경하여 수직 중앙 정렬 */
    align-items: center;  /* 수직 중앙 정렬 */
    justify-content: center;  /* 수평 중앙 정렬 */
    background: #fff; 
    font-size: 1.5rem; 
    color: #333; 
    padding: 0 0.5rem;  /* 상하 패딩 제거 (flex로 중앙 정렬하므로) */
    overflow: hidden; 
    white-space: nowrap; 
    text-overflow: ellipsis; 
    width: 100%; 
    height: 65px; 
    transition: all 0.3s ease;
    line-height: normal;  /* line-height를 normal로 설정 */
}
#kboard-default-list.custom .kboard-list-row .board-column:first-child {
    border-radius: 10px 0 0 10px;
}
#kboard-default-list.custom .kboard-list-row .board-column:last-child {
    border-radius: 0 10px 10px 0;
}
#kboard-default-list.custom .kboard-list-row .board-column strong {
    color: #333; 
    font-size: 1.5rem;
    font-weight: 600;
}


/* 각 컬럼 가로폭 조정 */
#kboard-default-list.custom .kboard-list-uid {min-width:70px; max-width:70px}
#kboard-default-list.custom .kboard-list-type {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-type_wms {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-inv_no {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-homenet {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-partner {min-width:150px; max-width:150px;}
#kboard-default-list.custom .kboard-list-customer {min-width:90px; max-width:90px;}
#kboard-default-list.custom .kboard-list-product {min-width:140px; max-width:140px;}
#kboard-default-list.custom .kboard-list-grade {min-width:0px; max-width:60px;}
#kboard-default-list.custom .kboard-list-handler {min-width:90px; max-width:90px; }
#kboard-default-list.custom .kboard-list-handledDate {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-status {min-width:90px; max-width:100px;} 
#kboard-default-list.custom .kboard-list-date {min-width:100px; max-width:100px;}
#kboard-default-list.custom .kboard-list-user {min-width:80px; max-width:80px;}
#kboard-default-list.custom .kboard-list-title {min-width:100px;}
#kboard-default-list.custom .kboard-list-releaseDate {min-width:150px; max-width:150px;}






/* 현황 색상 */
.kboard-list-status {
    text-align: center !important;
}

.kboard-status i
{position:relative; width:auto; height:auto; display:inline-block; text-align:left;}
.kboard-status i:before
{display:none;}
.kboard-status i:after
{position:relative; content:''; width:auto; height:auto; border-radius:10px; left:0; top:0; text-align:center; font-size:14px; line-height:1.4; display:inline-block; padding:2px 10px;}

.kboard-status i.progress:before {
    /* background:#7dcd00; */
    /* 텍스트 관련 속성들 모두 제거 */
}

.kboard-status i.progress:after {
    font-weight: 600;
    background:#28a74530;
    content: '진행중';
    color: #1a7d36;
    font-size: 14px;
    text-align: center;
    line-height: auto;
    padding: 2px 10px; width: auto;
    height: 20px;
    border-radius: 10px;
}

.kboard-status i.receiving:before {
    /* background:#ffb300; */
    /* 텍스트 관련 속성들 모두 제거 */
}

.kboard-status i.receiving:after {
    font-weight: 600;
    background:#ffb30042;
    content: '접수중';
    color: #e67700;
    font-size: 14px;
    text-align: center;
    line-height: auto;
    padding: 2px 10px; width: auto;
    height: 20px;
    border-radius: 10px;
}

.kboard-status i.done:before {
    /* background:#163ed7; */
    /* 텍스트 관련 속성들 모두 제거 */
}

.kboard-status i.done:after {
    font-weight: 600;
    background:#163ed730;
    content: '처리 완료';
    color: #163ed7;
    font-size: 14px;
    text-align: center;
    line-height: auto;
    padding: 2px 10px; width: auto;
    height: 20px;
    border-radius: 10px;
}

/* ========================================== */
/* 반응형 디자인 - 태블릿 및 모바일 (767px 이하) */
/* ========================================== */
@media screen and (max-width: 767px) {
    /* 통합 헤더 컨테이너 모바일 최적화 */
    #kboard-default-list .kboard-header-container {
        padding: 12px 15px;
    }
    
    /* 헤더 상단 행 모바일 */
    #kboard-default-list .kboard-header-top {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
    
    /* 전체 게시글 수 모바일 */
    #kboard-default-list .kboard-header-top .kboard-total-count {
        font-size: 14px;
        justify-content: center;
        text-align: center;
    }
    
    /* 즐겨찾기 필터 버튼 모바일 */
    #kboard-default-list .kboard-header-top .kboard-favorite-filter-container {
        width: 100%;
        text-align: center;
    }
    
    #kboard-default-list .kboard-header-top .kboard-favorite-filter-btn {
        width: 100%;
        justify-content: center;
        padding: 12px 20px;
    }
    
    /* 헤더 하단 행 모바일 */
    #kboard-default-list .kboard-header-bottom {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }
    
    /* 정렬 드롭다운 모바일 */
    #kboard-default-list .kboard-header-bottom .kboard-sort,
    #kboard-default-list .kboard-list-header .kboard-sort {
        width: 100%;
    }
    
    #kboard-default-list .kboard-header-bottom .kboard-sort .select-box,
    #kboard-default-list .kboard-list-header .kboard-sort .select-box {
        width: 100%;
    }
    
    #kboard-default-list .kboard-header-bottom .kboard-sort select,
    #kboard-default-list .kboard-list-header .kboard-sort select {
        width: 100%;
        min-width: 100%;
    }
    
    /* 검색 폼 모바일 최적화 */
    #kboard-default-list .kboard-header-bottom .kboard-search,
    #kboard-default-list .kboard-search {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }
    
    #kboard-default-list .kboard-search form {
        flex-direction: column;
        gap: 8px;
    }
    
    #kboard-default-list .kboard-search .select-box {
        width: 100%;
    }
    
    #kboard-default-list .kboard-search select {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }
    
    #kboard-default-list .kboard-search input {
        width: 100%;
        min-width: 100%;
    }
    
    #kboard-default-list .kboard-search button {
        width: 100%;
    }
    
    /* 테이블 헤더 숨김 */
    #kboard-default-list.custom .kboard-list-head {
        display: none;
    }
    
    /* 게시글 행 모바일 레이아웃 */
    #kboard-default-list.custom .kboard-list-row .board-column {
        display: none;
        text-align: left;
    }
    
    #kboard-default-list.custom .kboard-list-row .board-column.kboard-list-title {
        display: block;
        height: auto;
        padding: 15px;
        border-radius: 10px;
    }
    
    /* 작성 버튼 모바일 */
    #kboard-default-list .kboard-control {
        padding: 15px 0;
        text-align: center;
    }
    
    #kboard-default-list .kboard-control a {
        width: 100%;
        max-width: 300px;
        padding: 12px 20px;
    }
    
    /* 게시글 보기 화면 모바일 최적화 */
    #kboard-default-document {
        padding: 0;
    }
    #kboard-default-document .kboard-title {
        margin-bottom: 10px;
    }
    #kboard-default-document .kboard-title h1 {
        padding: 0;
        font-size: 20px;
    }
    #kboard-default-document .kboard-detail {
        display: flex;
        flex-wrap: wrap;
    }
    #kboard-default-document .kboard-detail .detail-attr {
        width: 50%;
    }
    #kboard-default-document .kboard-detail .detail-attr .detail-name {
        font-size: 14px;
        width: 100%;
        text-align: left;
    }
    #kboard-default-document .kboard-detail .detail-attr .detail-value {
        font-size: 14px;
        display: block;
        width: 100%;
        padding: 0;
        margin-top: 10px;
    }
    #kboard-default-document .kboard-control .right {
        margin-top: 15px;
    }
}

/* ========================================== */
/* 공지사항 전용 스타일 - 색상 차별화 */
/* ========================================== */

/* 공지사항 행 전체 스타일 - 심플 버전 */


/* ========================================== */
/* 공지사항 게시글 스타일 */
/* ========================================== */
#kboard-default-list.custom .kboard-list-row.kboard-list-notice {
    box-shadow: 0 2px 8px rgba(134, 187, 255, 0.2);
}
#kboard-default-list.custom .kboard-list-row.kboard-list-notice .board-column {
    background-color: #86bbff6b; /* 반투명 파란색 배경 */
    color: #000;
    font-weight: 500;
}
#kboard-default-list.custom .kboard-list-row.kboard-list-notice:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(134, 187, 255, 0.3);
}
#kboard-default-list.custom .kboard-list-row.kboard-list-notice:hover .board-column {
    background-color: #86bbff8b; /* 호버 시 약간 더 진한 파란색 */
}

/* ========================================== */
/* 긴급 게시글 스타일 */
/* ========================================== */
#kboard-default-list.custom .kboard-list-row[data-urgent="true"] {
    box-shadow: 0 2px 8px rgba(255, 107, 107, 0.2);
}
#kboard-default-list.custom .kboard-list-row[data-urgent="true"] .board-column {
    background-color: #ff6b6b94; /* 반투명 빨간색 배경 */
    color: #000;
    font-weight: 600;
}
#kboard-default-list.custom .kboard-list-row[data-urgent="true"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}
#kboard-default-list.custom .kboard-list-row[data-urgent="true"]:hover .board-column {
    background-color: #ff6b6bb4; /* 호버 시 약간 더 진한 빨간색 */
}



/* ========================================== */
/* 일반 게시글 호버 효과 */
/* ========================================== */
#kboard-default-list.custom .kboard-list-row:not(.kboard-list-notice):not([data-urgent="true"]):hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
#kboard-default-list.custom .kboard-list-row:not(.kboard-list-notice):not([data-urgent="true"]):hover .board-column {
    background-color: #f8f9fa;
    transition: all 0.3s ease;
}




/* 기존 답글 스타일 전체 삭제 */
/* ========================================== */
/* 답글 전용 스타일 - 공지사항과 일반글 사이의 중간 톤 */
/* ========================================== */

/* 답글 컬럼들 색상 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .board-column {
    background-color: #f8f8f8;
    color: #000000;
    font-size: 12px;
    font-weight: 400;
    padding: 0 0.5rem;  /* 상하 패딩 제거, 좌우만 유지 */
}

/* 답글 호버 효과 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(177, 156, 217, 0.3);
}

/* 답글 호버 시 컬럼 색상 변화 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply:hover .board-column {
    background-color: #62c9aa;
    transition: all 0.3s ease;
}

/* 선택된 답글 강조 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply.kboard-list-selected .board-column {
    background-color: #dfdfdf;
    font-weight: 500;
}

/* 답글 아이콘 스타일 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-uid img {
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

#kboard-default-list.custom .kboard-list-row.kboard-list-reply:hover .reply-uid img {
    opacity: 1;
}

/* 답글 전용 Flex 레이아웃 - 헤더와 정렬되도록 개선 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply {
    margin-left: 0 !important;  /* margin-left 제거 - 인라인 스타일 우선순위 무시 */
    border-radius: 8px;
    transition: all 0.3s ease;
    display: flex;  /* flex 레이아웃 명시 */
    align-items: center;
    width: 100%;
}

/* 답글 컬럼 수직 정렬 조정 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .board-column {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 65px;
    padding: 0.5rem;
}

/* 답글 아이콘 영역 - 깊이에 따라 넓이 증가하여 들여쓰기 효과 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-uid {
    box-sizing: border-box;
}

/* 답글 깊이에 따른 아이콘 영역 넓이 및 들여쓰기 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply[data-depth="0"] .reply-uid {
    min-width: 90px;  /* 기본 너비 + 들여쓰기 공간 */
    max-width: 90px;
    padding-left: 20px;
}
#kboard-default-list.custom .kboard-list-row.kboard-list-reply[data-depth="1"] .reply-uid {
    min-width: 110px;  /* 답글의 답글 - 더 넓은 공간 */
    max-width: 110px;
    padding-left: 40px;
}
#kboard-default-list.custom .kboard-list-row.kboard-list-reply[data-depth="2"] .reply-uid {
    min-width: 130px;  /* 답글의 답글의 답글 */
    max-width: 130px;
    padding-left: 60px;
}
#kboard-default-list.custom .kboard-list-row.kboard-list-reply[data-depth="3"] .reply-uid {
    min-width: 150px;  /* 더 깊은 답글 */
    max-width: 150px;
    padding-left: 80px;
}
#kboard-default-list.custom .kboard-list-row.kboard-list-reply[data-depth="4"] .reply-uid {
    min-width: 170px;  /* 더 깊은 답글 */
    max-width: 170px;
    padding-left: 100px;
}

/* 답글 제목 영역 - 일반글 제목과 동일하게 flex-grow 적용 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-title {
    flex-grow: 1;
    min-width: 100px;
    text-align: left;  /* 제목은 왼쪽 정렬 */
    justify-content: flex-start;  /* 왼쪽 정렬 */
    position: relative;
    padding-left: 0;  /* 제목은 들여쓰기 없음 */
}

/* 답글 제목 앞 빈 공간 제거 - reply-uid의 넓이 증가로 대체 */

/* 답글 날짜 영역 - 일반글 날짜와 동일한 너비 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-date {
    min-width: 100px;
    max-width: 100px;
    flex-shrink: 0;
}

/* 답글 작성자 영역 - 일반글 작성자와 동일한 너비 */
#kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-user {
    min-padding: 2px 10px; width: auto;
    max-padding: 2px 10px; width: auto;
    flex-shrink: 0;
}


/* 모바일에서 답글 스타일 조정 */
@media screen and (max-width: 767px) {
    #kboard-default-list.custom .kboard-list-row.kboard-list-reply {
        margin-left: 20px !important;  /* 인라인 스타일 우선순위 무시 */
    }
    
    /* 답글 모바일 컬럼 스타일 */
    #kboard-default-list.custom .kboard-list-row.kboard-list-reply .board-column {
        display: none;
        text-align: left;
    }


    
    #kboard-default-list.custom .kboard-list-row.kboard-list-reply .reply-uid img {
        width: 14px;
        height: 14px;
        opacity: 0.8;
    }
    
    /* 답글 제목만 모바일에서 표시 */
    #kboard-default-list.custom .kboard-list-row.kboard-list-reply .board-column.kboard-list-title {
        display: block;
        height: auto;
        padding: 8px 12px;
        font-size: 14px;
        line-height: 1.4;
    }
    
    /* 답글 모바일 컨텐츠 스타일 */
    #kboard-default-list.custom .kboard-list-row.kboard-list-reply .kboard-mobile-contents {
        display: block;
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid #e0e0e0;
        font-size: 12px;
        color: #888;
    }


}



/* 제품-펌웨어 선택 필드 스타일 */
.kboard-attr-product-firmware {
    position: relative;
}

.kboard-attr-product-firmware select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 5px;
}

.kboard-attr-product-firmware select:focus {
    border-color: #007cba;
    outline: none;
    box-shadow: 0 0 0 1px #007cba;
}

.kboard-attr-product-firmware select option:disabled {
    color: #999;
    font-style: italic;
}

/* 로딩 애니메이션 */
.kboard-attr-product-firmware.loading {
    position: relative;
}

.kboard-attr-product-firmware.loading::after {
    content: '';
    position: absolute;
    right: 15px;
    top: 30px;
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #007cba;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 즐겨찾기 버튼 스타일 */
.kboard-favorite-btn {
    display: inline-block;
    margin-left: 8px;
    cursor: pointer;
    color: #ccc;
    font-size: 14px;
    transition: all 0.2s ease;
    vertical-align: middle;
    position: relative;
    z-index: 10;
    padding: 4px;
}

.kboard-favorite-btn:hover {
    color: #ffd700;
    transform: scale(1.1);
}

.kboard-favorite-btn.favorited {
    color: #ffd700;
}

.kboard-favorite-btn.favorited:hover {
    color: #ffed4e;
}

.kboard-favorite-btn.processing {
    opacity: 0.5;
    pointer-events: none;
}

.kboard-favorite-btn i {
    font-size: 16px;
}

/* 모바일에서 즐겨찾기 버튼 크기 조정 */
@media (max-width: 768px) {
    .kboard-favorite-btn {
        font-size: 16px;
        margin-left: 6px;
    }
    
    .kboard-favorite-btn i {
        font-size: 18px;
    }
}

/* ========================================== */
/* 즐겨찾기 필터 버튼 스타일 - 헤더 내부 */
/* ========================================== */
/* 즐겨찾기 필터 컨테이너 - 헤더 외부 (하위 호환성) */
.kboard-favorite-filter-container {
    margin-bottom: 15px;
    text-align: right;
    padding: 0;
}

/* 헤더 내부 즐겨찾기 필터 버튼 */
.kboard-header-top .kboard-favorite-filter-btn,
.kboard-favorite-filter-btn {
    background: #fff;
    border: 1px solid #e0e0e0;
    color: #666;
    padding: 10px 18px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    white-space: nowrap;
}

.kboard-header-top .kboard-favorite-filter-btn:hover,
.kboard-favorite-filter-btn:hover {
    background: #f8f9fa;
    border-color: var(--main-color);
    color: var(--main-color);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.kboard-header-top .kboard-favorite-filter-btn.active,
.kboard-favorite-filter-btn.active {
    background: var(--main-color);
    border-color: var(--main-color);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.kboard-header-top .kboard-favorite-filter-btn.active:hover,
.kboard-favorite-filter-btn.active:hover {
    background: var(--main-color);
    opacity: 0.9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.kboard-header-top .kboard-favorite-filter-btn i,
.kboard-favorite-filter-btn i {
    font-size: 16px;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
    .kboard-attr-product-firmware select {
        font-size: 16px; /* iOS 줌 방지 */
    }
}

/* TablePress 편집 버튼 스타일 통일 */
a[href*="tablepress"][href*="action=edit"] {
    background: #000 !important;
    color: #fff !important;
    min-width: 60px !important;
    text-align: center !important;
    padding: 10px 30px !important;
    font-size: 15px !important;
    text-decoration: none !important;
    /* border-radius: 3px !important; */
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

a[href*="tablepress"][href*="action=edit"]:hover {
    background: #333 !important;
    color: #fff !important;
}

/* TablePress 관련 다른 링크들도 통일 */
.tablepress-table-description a,
.tablepress a {
    background: #000 !important;
    color: #fff !important;
    min-width: 60px !important;
    text-align: center !important;
    padding: 10px 30px !important;
    font-size: 15px !important;
    text-decoration: none !important;
    /* border-radius: 3px !important; */
    display: inline-block !important;
    margin: 2px !important;
    transition: all 0.3s ease !important;
}

.tablepress-table-description a:hover,
.tablepress a:hover {
    background: #333 !important;
    color: #fff !important;
}


/* TablePress 캡션 높이 문제 해결 */
.dt-scroll-foot {
    min-height: 0 !important;
    height: auto !important;
}

.dt-scroll-footInner {
    min-height: 0 !important;
    height: auto !important;
}

/* TablePress 캡션 스타일 조정 */
.tablepress caption {
    height: auto !important;
    line-height: 1.4 !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

/* 편집하기 버튼이 테이블 높이에 영향주지 않도록 */
.tablepress caption a {
    display: inline-block !important;
    vertical-align: top !important;
    margin: 0 !important;
}

/* DataTables 스크롤 영역 높이 자동 조정 */
.dataTables_scrollFootInner,
.dt-scroll-footInner table {
    height: auto !important;
    min-height: 0 !important;
}

/* 전체 테이블 컨테이너 높이 문제 해결 */
.dataTables_wrapper .dataTables_scroll {
    overflow: visible !important;
}

.dataTables_wrapper .dataTables_scrollFootInner {
    box-sizing: content-box !important;
    height: auto !important;
}

.kboard-reply-count {
    background-color: #a0d6c6;
    color: #ffffff !important;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 11px;
    margin-left: 5px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.kboard-reply-count i {
    font-size: 12px;
}

/* 테이블 영역 - 스크롤 제거 (페이징/버튼 보이게) */
#kboard-default-list.custom .kboard-table {
    /* max-height: 500px; */ /* 주석 처리 - 높이 제한 제거 */
    /* overflow-y: auto; */ /* 주석 처리 - 외부 스크롤 제거 */
    display: block;
    border-radius: 10px;
    margin-top: 0;  /* 상단 마진 명시 */
    margin-bottom: 0;  /* 하단 마진 명시 */
    clear: both;  /* float 해제 */
    position: relative;  /* 위치 명시 */
    z-index: 1;  /* 헤더보다 낮은 z-index */
    background-color: #fff;  /* 배경색 추가 */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);  /* 헤더와 동일한 그림자 */
}

/* 헤더 고정 - 테이블 내부 헤더 */
#kboard-default-list.custom .kboard-thead {
    position: sticky;
    top: 0;
    background-color: var(--main-color); /* 배경색을 메인 컬러로 변경 */
    z-index: 5;  /* 헤더 컨테이너(100)보다 낮지만, 테이블 내용보다는 높게 */
    border-radius: 10px 10px 0 0;
}

/* 테이블 바디 스크롤 영역 - 내부 스크롤만 유지 */
#kboard-default-list.custom .test2 {
    /* max-height 제거: 헤더-행 정렬 보존 */
    /* overflow-y 제거 */
}

/* 스크롤바 스타일링 - .kboard-table은 더 이상 스크롤 없음 */
/* #kboard-default-list.custom .kboard-table::-webkit-scrollbar {
    width: 8px;
}

#kboard-default-list.custom .kboard-table::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

#kboard-default-list.custom .kboard-table::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

#kboard-default-list.custom .kboard-table::-webkit-scrollbar-thumb:hover {
    background: #555;
} */

/* 테마의 sub-content 스크롤 - 제거하여 .test2 내부 스크롤만 유지 */
#subContent .sub-content {
    overflow-y: visible !important; /* auto → visible로 변경 - 페이지 스크롤 제거 */
}

/* 스크롤바를 거의 희미하게 스타일링 */
#kboard-default-list.custom .test2::-webkit-scrollbar {
    width: 6px;
}

#kboard-default-list.custom .test2::-webkit-scrollbar-track {
    background: transparent;
}

#kboard-default-list.custom .test2::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    transition: background 0.3s ease;
}

#kboard-default-list.custom .test2::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.2);
}

/* Firefox용 스크롤바 스타일링 */
#kboard-default-list.custom .test2 {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}











/* 게시글 보기 화면 스크롤 제한 */
#kboard-default-document .kboard-content {
    max-height: 600px;
    /* overflow-y 제거 */
    overflow-x: hidden;
    border: 1px solid #ddd;
    border-radius: 10px;
}

/* 게시글 보기 화면 스크롤바 스타일링 */
#kboard-default-document .kboard-content::-webkit-scrollbar {
    width: 6px;
}

#kboard-default-document .kboard-content::-webkit-scrollbar-track {
    background: transparent;
}

#kboard-default-document .kboard-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    transition: background 0.3s ease;
}

#kboard-default-document .kboard-content::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.2);
}

/* Firefox용 스크롤바 스타일링 */
#kboard-default-document .kboard-content {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}



/* TinyMCE 하단 영역 전체 숨기기 - 상태바만 숨기도록 매우 구체적인 선택자 사용 */
#kboard_content_ifr ~ .mce-container.mce-stack-layout-item.mce-last,
.mce-statusbar.mce-container.mce-stack-layout-item.mce-last,
.mce-container[id*="mceu_32"] {
    display: none !important;
}

/* TinyMCE 상태바와 관련 요소들 모두 숨기기 */
.mce-statusbar,
.mce-path,
.mce-resizehandle,
.mce-statusbar .mce-flow-layout-item.mce-last {
    display: none !important;
}

/* TinyMCE 전체 컨테이너 강제 표시 */
#mceu_24,
.mce-tinymce,
.mce-tinymce.mce-container {
    visibility: visible !important;
    display: block !important;
    opacity: 1 !important;
}

/* 툴바는 반드시 표시되도록 보장 */
.mce-top-part,
.mce-toolbar-grp,
.mce-toolbar,
[id*="mceu_25"],
[id*="mceu_26"],
[id*="mceu_27"],
[id*="mceu_28"],
[id*="mceu_29"],
[id*="mceu_30"],
#mceu_29,
#mceu_29.mce-container,
#mceu_29.mce-toolbar {
    display: block !important;
    visibility: visible !important;
}


/* 펌웨어 유형 배지 스타일 - 펌웨어 게시판 전용 */

.kboard-list-fwtype { min-width:80px; max-width:80px; text-align: center; flex-shrink:0; }

.fw-badge {

    display: inline-block;

    padding: 3px 10px;

    border-radius: 4px;

    font-size: 12px;

    font-weight: 600;

}

.fw-badge.fw-server {

    background: rgba(9, 46, 135, 0.1);

    color: #092e87;

    border: 1px solid rgba(9, 46, 135, 0.3);

}

.fw-badge.fw-client {

    background: rgba(26, 151, 155, 0.1);

    color: #1a979b;

    border: 1px solid rgba(26, 151, 155, 0.3);

}

.fw-badge.fw-unknown {

    background: rgba(108, 117, 125, 0.1);

    color: #6c757d;

    border: 1px solid rgba(108, 117, 125, 0.3);

}




/* HelpU 추가: 조회수 칸 */

#kboard-default-list.custom .kboard-list-view { min-width:70px; max-width:80px; text-align:center; }




/* HelpU 조회 칸 정렬 보정: 작성자 옆에 고정폭으로 붙임 */

#kboard-default-list.custom .kboard-list-head span.kboard-list-view,

#kboard-default-list.custom .kboard-list-row .board-column.kboard-list-view {

    flex: 0 0 100px !important;

    width: 100px !important;

    min-width: 100px !important;

    max-width: 100px !important;

    text-align: center !important;

    justify-content: center !important;

}




/* HelpU: 기술지원신청(17) 희망방문일 칸 */

#kboard-default-list.custom .kboard-list-visitdate { min-width:100px; max-width:110px; text-align:center; }




/* HelpU: 희망방문일 칸 고정폭(정렬 보정) */

#kboard-default-list.custom .kboard-list-head span.kboard-list-visitdate,

#kboard-default-list.custom .kboard-list-row .board-column.kboard-list-visitdate {

    flex: 0 0 105px !important;

    width: 105px !important;

    min-width: 105px !important;

    max-width: 105px !important;

    text-align: center !important;

    justify-content: center !important;

}

