@charset "UTF-8";
/* ============================================================
   modern-override.css
   원래 색상 계열 유지 + 모던 플랫 스타일
   이미지 배경 제거, border-radius, transition 추가
   ============================================================ */

/* ----------------------------------------------------------
   0. Logo
   ---------------------------------------------------------- */
img.logo_img,
img.brand-img {
    width: 150px !important;
    height: auto !important;
    filter: grayscale(100%) !important;
}
td.logo_title {
    vertical-align: middle !important;
    padding-top: 0 !important;
}
a.logo_a {
    display: flex !important;
    align-items: center !important;
}
a.logo_a img.logo_img {
    float: none !important;
}
a.logo_a .logo_text {
    float: none !important;
    padding-top: 0 !important;
}
.logo-wrap {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

/* ----------------------------------------------------------
   0-C. 상단 이미지 버튼 → CSS 텍스트 버튼
   ---------------------------------------------------------- */

/* 공통: 이미지 숨기고 텍스트 버튼으로 대체 */
a[href="/commuting/statistics/index.jsp"],
a[href="/projects/statistics/index.jsp"],
a[href*="/statistics/rate/index.jsp"],
a[href*="/rate_maintenance/index.jsp"],
a[href="/logout.jsp"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 12px !important;
    background-color: #333 !important;
    border: 1px solid #444 !important;
    border-radius: 2px !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
a[href="/commuting/statistics/index.jsp"]:hover,
a[href="/projects/statistics/index.jsp"]:hover,
a[href*="/statistics/rate/index.jsp"]:hover,
a[href*="/rate_maintenance/index.jsp"]:hover,
a[href="/logout.jsp"]:hover {
    background-color: #1a1a1a !important;
    border-color: #666 !important;
}

/* 로그아웃은 아웃라인 스타일로 구분 */
a[href="/logout.jsp"] {
    background-color: transparent !important;
    border: 1px solid #999 !important;
    color: #666 !important;
}
a[href="/logout.jsp"]:hover {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #444 !important;
}

/* 이미지 숨기기 */
a[href="/commuting/statistics/index.jsp"] img,
a[href="/projects/statistics/index.jsp"] img,
a[href*="/statistics/rate/index.jsp"] img,
a[href*="/rate_maintenance/index.jsp"] img,
a[href="/logout.jsp"] img {
    display: none !important;
}

/* 텍스트 삽입 — HTML에서 직접 표시하므로 ::after 제거 */
a[href="/commuting/statistics/index.jsp"]::after,
a[href="/projects/statistics/index.jsp"]::after,
a[href*="/statistics/rate/index.jsp"]::after,
a[href*="/rate_maintenance/index.jsp"]::after {
    content: none !important;
}
a[href="/logout.jsp"]::after {
    content: "로그아웃" !important;
}

/* ----------------------------------------------------------
   0. Global
   ---------------------------------------------------------- */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ==========================================================
   0-B. TOP MENU — 블랙 계열 + 메뉴 구분선
   ========================================================== */

/* 메뉴 아이템 — 구분선 밝게, 배경 블랙 */
.menu {
    border-right: 1px solid #444 !important;
    background: #1a1a1a !important;
}
.menu a {
    color: #eee !important;
}
.menu:hover {
    background: #000 !important;
}
.menu:hover a {
    color: #fff !important;
}

/* 메뉴바 전체 배경 → 블랙 (인라인 style 오버라이드) */
td.top_menuU > table {
    background: #1a1a1a !important;
}

/* 서브메뉴 드롭다운 배경 → 딥블랙 */
.tab_menu {
    background: #111 !important;
}
.tab_menu table {
    background: #111 !important;
}

/* 서브메뉴 항목 — 구분선 + 호버 + 넓이 */
.submenu2 {
    border-bottom: 1px solid #2a2a2a !important;
    color: #f0f0f0 !important;
    min-width: 180px !important;
    white-space: nowrap !important;
    padding: 10px 14px !important;
}
.submenu2 a {
    color: #f0f0f0 !important;
}
.submenu2:hover,
.submenu2:hover a {
    color: #fff !important;
}

/* 관리자모드 드롭다운 — 우측 정렬 */
#layer22.tab_menu {
    left: auto !important;
    right: 0 !important;
    width: auto !important;
}
#layer22 .submenu2 {
    text-align: right !important;
}

/* 하단 액션 버튼 크기 확대 */
.btns_g {
    display: inline-block !important;
    padding: 8px 24px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}
.btns_g strong {
    font-weight: 600 !important;
}

/* ==========================================================
   1. BUTTONS — 원래 계열 유지, 이미지→플랫
   ========================================================== */

/* --- 기본 (btns / btns11) --- */
.btnAll a.btns,
.btnAll a.btns11 {
    background: none !important;
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    padding: 0 14px !important;
    height: 28px !important;
    line-height: 26px !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
.btnAll a.btns:hover,
.btnAll a.btns11:hover {
    background-color: #e2e3e5 !important;
    border-color: #999 !important;
}
.btnAll a.btns strong,
.btnAll a.btns11 strong {
    background: none !important;
    padding: 0 !important;
    left: 0 !important;
    position: static !important;
    display: inline !important;
    color: inherit !important;
}

/* --- 주요 액션 (read_btns) — 다크 --- */
.btnAll a.read_btns {
    background: none !important;
    background-color: #333 !important;
    border: 1px solid #222 !important;
    border-radius: 2px !important;
    padding: 0 14px !important;
    height: 28px !important;
    line-height: 26px !important;
    color: #fff !important;
    font-weight: bold !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
.btnAll a.read_btns:hover {
    background-color: #1a1a1a !important;
}
.btnAll a.read_btns strong {
    background: none !important;
    padding: 0 !important;
    left: 0 !important;
    position: static !important;
    display: inline !important;
    color: #fff !important;
}

/* --- 보조 (gray_btns) --- */
.btnAll a.gray_btns {
    background: none !important;
    background-color: #e8e9eb !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    padding: 0 14px !important;
    height: 28px !important;
    line-height: 26px !important;
    color: #444 !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
.btnAll a.gray_btns:hover {
    background-color: #d8dadc !important;
}
.btnAll a.gray_btns strong {
    background: none !important;
    padding: 0 !important;
    left: 0 !important;
    position: static !important;
    display: inline !important;
    color: #444 !important;
}

/* --- 파랑 (btns_bl) → 다크 --- */
a.btns_bl {
    background: none !important;
    background-color: #333 !important;
    border: 1px solid #222 !important;
    border-radius: 2px !important;
    padding: 0 12px !important;
    height: 24px !important;
    line-height: 22px !important;
    color: #fff !important;
    font-weight: bold !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
a.btns_bl:hover { background-color: #1a1a1a !important; }
a.btns_bl strong,
a.btns_bl strong.re {
    background: none !important; padding: 0 !important; left: 0 !important;
    position: static !important; display: inline !important; color: #fff !important;
}

/* --- 초록 (btns_g) → 다크 액션 버튼 --- */
a.btns_g {
    background: none !important;
    background-color: #333 !important;
    border: 1px solid #222 !important;
    border-radius: 4px !important;
    padding: 4px 14px !important;
    font-size: 12px !important;
    color: #fff !important;
    font-weight: 600 !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1.2 !important;
    height: auto !important;
}
a.btns_g:hover { background-color: #1a1a1a !important; }
a.btns_g strong,
a.btns_g strong.re {
    background: none !important; padding: 0 !important; left: 0 !important;
    position: static !important; display: inline !important; color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* --- 빨강 (btns_r) → 기본 회색 소형 --- */
a.btns_r {
    background: none !important;
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    padding: 0 6px !important;
    height: 20px !important;
    line-height: 18px !important;
    font-size: 11px !important;
    color: #333 !important;
    font-weight: bold !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
a.btns_r:hover { background-color: #e2e3e5 !important; border-color: #999 !important; }
a.btns_r strong,
a.btns_r strong.re {
    background: none !important; padding: 0 !important; left: 0 !important;
    position: static !important; display: inline !important; color: #333 !important;
    font-size: 11px !important;
}

/* --- 흰색 (btns_w) --- */
a.btns_w {
    background: none !important;
    background-color: #fff !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    padding: 0 12px !important;
    height: 24px !important;
    line-height: 22px !important;
    color: #333 !important;
    font-weight: bold !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}
a.btns_w:hover {
    background-color: #f0f1f3 !important;
    border-color: #999 !important;
}
a.btns_w strong {
    background: none !important; padding: 0 !important; left: 0 !important;
    position: static !important; display: inline !important; color: #333 !important;
}

/* --- 인라인 버튼 (.btn_in) --- */
.btn_in,
.btn_in * {
    background: none !important;
    border: none !important;
}
.btn_in.inbtn {
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    height: 28px !important;
    line-height: 26px !important;
    transition: all 0.15s ease !important;
    overflow: visible !important;
}
.btn_in.inbtn:hover {
    background-color: #e2e3e5 !important;
    border-color: #999 !important;
}
.btn_in.inbtn * {
    left: 0 !important;
    position: static !important;
    background: none !important;
    border: none !important;
    height: 26px !important;
    line-height: 26px !important;
}

/* --- input 버튼 --- */
input[type="button"],
input[type="submit"] {
    background: none !important;
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 2px !important;
    padding: 4px 14px !important;
    min-height: 28px !important;
    font-size: 12px !important;
    color: #333 !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    filter: grayscale(100%) !important;
}
input[type="button"]:hover,
input[type="submit"]:hover {
    background-color: #e2e3e5 !important;
    border-color: #999 !important;
}
/* ? 도움말 버튼 예외 */
.help_popup_btn input[type="button"] {
    width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f0f2f5 !important;
    background-color: #f0f2f5 !important;
    color: #e74c3c !important;
    border: 1px solid #ccc !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: Arial, sans-serif !important;
    line-height: 20px !important;
    text-align: center !important;
    cursor: pointer !important;
    filter: none !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ==========================================================
   2. INPUT FIELDS
   ========================================================== */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="file"] {
    border: 1px solid #c4c9d0 !important;
    border-radius: 2px !important;
    padding: 4px 6px !important;
    min-height: 28px !important;
    max-width: 100% !important;
    font-size: 12px !important;
    color: #1a1a1a !important;
    background-color: #fff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    outline: none !important;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
input[type="file"]:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1) !important;
}

select {
    border: 1px solid #c4c9d0 !important;
    border-radius: 2px !important;
    padding: 3px 6px !important;
    min-height: 28px !important;
    font-size: 12px !important;
    color: #1a1a1a !important;
    background-color: #fff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    outline: none !important;
}
select:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1) !important;
}

textarea {
    border: 1px solid #c4c9d0 !important;
    border-radius: 2px !important;
    padding: 6px !important;
    font-size: 12px !important;
    color: #1a1a1a !important;
    background-color: #fff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    outline: none !important;
}
textarea:focus {
    border-color: #333 !important;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1) !important;
}

/* ==========================================================
   3. TABLES — 원래 색상 계열 유지, 세련되게 정리
   ========================================================== */

/* --- 3-A. 리스트 테이블 ---
   원래: list_body1 #2E83BF, list_body2 #58A5DB, list_body3 #54A2D9
   → 같은 블루 계열, 약간 정돈
   -------------------------------------------------- */
.list_body1 {
    background-color: #ffffff !important;
}
.list_body2 {
    background-color: #55A0D5 !important;
}
.list_body3 {
    background-color: #55A0D5 !important;
}

/* --- 3-B. 게시판 테이블 ---
   원래: board_body1 #B2B2B2, board_body2 #ECECEC,
         board_line1 #E9E9E9, board_line3 #E9E9E9
   → 모던 플랫 헤더 + 깔끔한 구분선
   -------------------------------------------------- */
.board_body1 {
    background-color: #fff !important;
    border-top: none !important;
}
.board_body1 > tbody > tr:first-child > td {
    background-color: #2d2d2d !important;
    height: 2px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
.board_body2 {
    background-color: #f5f6f8 !important;
}
tr.board_body2 > td {
    border-bottom: 1px solid #999 !important;
}
.board_line1 {
    background-color: #f5f6f8 !important;
    border-left: 1px solid #e8eaed !important;
    border-bottom: 1px solid #999 !important;
    color: #333 !important;
    font-weight: bold !important;
    font-size: 12px !important;
    padding: 8px 4px !important;
    letter-spacing: -0.03em !important;
}
.board_line1:first-child {
    border-left: none !important;
}
.board_line2 {
    background-color: #eceef1 !important;
    border-bottom: 1px solid #d0d3d8 !important;
}
.board_line3 {
    background-color: #f5f6f8 !important;
    border-left: 1px solid #e8eaed !important;
    border-top: 1px solid #d0d3d8 !important;
}

/* 데이터 행 하단 구분선 */
.board_con1 {
    border-bottom: 1px solid #eceef1 !important;
}
.board_con1 td {
    padding: 8px 4px !important;
}

/* --- 3-C. 검색/필터 영역 ---
   원래: chtitle_body1 #3679C9, chtitle_body2 #E6F1FE, chtitle_body3 #FFFFFF
   → 무채색 모던 스타일
   -------------------------------------------------- */
.chtitle_body1 {
    background-color: #c8d4e0 !important;
}
.chtitle_body2 {
    background-color: #eef7ff !important;
    color: #1a5ea0 !important;
    font-weight: bold !important;
}
.chtitle_body3 {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
}

/* --- 3-D. 입력폼 테이블 ---
   원래: write_body1 #B1B1B1, write_body2 #AEB5E8, write_body3 #F29C94
         write_txt1 #E9E9E9, write_txt4 #DFE4F7
   → 모던 플랫 스타일
   -------------------------------------------------- */
.write_body1 {
    background-color: #ccc !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}
table.write_body1 {
    table-layout: fixed !important;
    width: 100% !important;
    max-width: 100% !important;
}
.write_txt2 {
    overflow: hidden !important;
    word-wrap: break-word !important;
}
.write_txt2 span,
.write_txt2 label {
    white-space: normal !important;
}
body {
    overflow-x: hidden !important;
}
.write_body2 {
    background-color: #ACB2E0 !important;
}
.write_body3 {
    background-color: #f8e8f0 !important;
}
.write_txt1 {
    background-color: #f5f6f8 !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
    letter-spacing: -0.02em !important;
    min-width: 100px !important;
    white-space: nowrap !important;
}
.write_txt2 {
    background-color: #fff !important;
    color: #1a1a1a !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
}
.write_txt3 {
    background-color: #f5f6f8 !important;
}
.write_txt8 {
    background-color: #f5f6f8 !important;
}
.write_txt4 {
    background-color: #DDE2F4 !important;
}
.write_txt4_01 {
    background-color: #DDE2F4 !important;
}
.write_txt9 {
    background-color: #DDE2F4 !important;
}
.write_txt15 {
    background-color: #fdf0f6 !important;
    border-top: 1px solid #f8e8f0 !important;
}
.write_body15 {
    background-color: #B5B8BC !important;
    border-color: #B5B8BC !important;
}

/* --- 3-E. 폼 헤더 ---
   원래: form_01 #ECECEC → 같은 계열
   -------------------------------------------------- */
.form_01 {
    background-color: #EDEEF0 !important;
}
.form_01_print {
    background-color: #EDEEF0 !important;
}

/* --- 3-F. 부제목 ---
   원래: subtitle_body1 #D9D6D6, subtitle_body2 #EDEDED
   -------------------------------------------------- */
.subtitle_body1 {
    background-color: #D6D8DB !important;
}
.subtitle_body2 {
    background-color: #EDEEF0 !important;
}

/* --- 3-G. 리포트 ---
   원래: report1 #3788C2, report2 #E1EEF6, report5 #5CABE2, report7 #5CABE2
   → 같은 블루 계열
   -------------------------------------------------- */
.report1 {
    background-color: #3585BE !important;
}
.report2 {
    background-color: #E0ECF5 !important;
}
.report5 {
    background-color: #58A5DB !important;
}
.report7 {
    background-color: #58A5DB !important;
}

/* 리포트 테이블 라인 진하게 */
table.report1 {
    border: 1px solid #999 !important;
}
table.report1 td {
    border-bottom: 1px solid #bbb !important;
}
table.report1 .report2 td,
table.report1 tr.report2 td,
td.report2 {
    border-bottom: 1px solid #aaa !important;
}
table.report1 .report4 td,
table.report1 tr.report4 td {
    border-bottom: 1px solid #bbb !important;
}
table.report1 .report6 td,
table.report1 tr.report6 td {
    border-bottom: 1px solid #bbb !important;
}

/* --- 3-H. 시안 테이블 (.sianT) ---
   원래: border #b8b8b8, th #f5f5f5
   → 같은 계열 + 블루 상단선 포인트
   -------------------------------------------------- */
.sianT {
    border-top: 2px solid #2B7FB8 !important;
    border-bottom: 1px solid #c0c2c5 !important;
}
.sianT th {
    background: #F2F3F5 !important;
    border-bottom: 1px solid #c0c2c5 !important;
}
.sianT td {
    border-bottom: 1px solid #dddfe2 !important;
}
.sianT th.division {
    background: #DDE2F4 !important;
    color: #0070d9 !important;
}

/* --- 3-I. 시안 리스트 --- */
.sian_list table thead th {
    background: #55A0D5 !important;
    color: #ffffff !important;
    font-weight: bold !important;
}
.sian_list table tbody td {
    padding: 3px 5px !important;
    line-height: 1.3 !important;
}
.sian_list table tbody tr {
    height: auto !important;
}

/* --- 3-J. #blist 게시판 --- */
#blist table {
    border-top: 2px solid #2B7FB8 !important;
}
#blist table thead th {
    border-bottom: 1px solid #c0c2c5 !important;
    background: #F2F3F5 !important;
}
#blist table.line thead th {
    border-right: 1px solid #d0d1d2 !important;
    background: #F2F3F5 !important;
}
#blist table tbody td {
    border-bottom: 1px solid #e8e9eb !important;
}

/* --- 3-K. 구분 라인 ---
   원래: write_line #2E83BF, write_line1 #E3E3E3
   -------------------------------------------------- */
.write_line {
    background-color: #2B7FB8 !important;
}
.write_line1 {
    background-color: #DFE0E3 !important;
}

/* --- 3-L. 데이터 행 호버 --- */
tr[onMouseOver] td {
    transition: background-color 0.1s ease !important;
}

/* --- 3-M. 점선 구분선 --- */
td[background*="line_dot"] {
    background: none !important;
    background-color: #e8e9eb !important;
}

/* --- 3-N. 타이틀 바 ---
   원래: stitle #1E77B5, sptitle #4B9DD9, sptitle_2 #3E769B
   → 같은 블루 계열
   -------------------------------------------------- */
.stitle {
    background-color: #1E75B2 !important;
}
.stitle_line {
    background-color: #C8CACD !important;
}
.sptitle {
    background-color: #4A9AD5 !important;
}
.sptitle_2 {
    background-color: #3C7498 !important;
}

/* --- 3-O. 공통 테이블 (.co_tb) --- */
.co_tb {
    background: #F2F3F5 !important;
}

/* ==========================================================
   4. LEFT SIDEBAR — 모던 플랫 스타일
   ========================================================== */

/* 왼쪽 사이드바 컨테이너 — 이미지 배경 제거, 다크 플랫 */
td[background*="left_bg"] {
    background: #1e2028 !important;
    border-right: 1px solid #2a2c36 !important;
}

/* 메뉴 테이블 기본 */
td[background*="left_bg"] > table {
    width: 100% !important;
    border-spacing: 0 !important;
}

/* 구분선 — 기존 bgcolor=F8F8F8 → 미세한 다크 라인 */
td[background*="left_bg"] td[bgcolor="F8F8F8"],
td[background*="left_bg"] td[bgcolor="f8f8f8"] {
    background: #2a2c36 !important;
    height: 1px !important;
}

/* 메뉴 항목 — 기존 bgcolor=D3D3D3 → 다크 플랫 */
td[background*="left_bg"] .submenu {
    background: transparent !important;
    padding: 10px 14px !important;
    height: auto !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    transition: all 0.15s ease !important;
    border-left: 3px solid transparent !important;
}
td[background*="left_bg"] .submenu a {
    color: #b0b4c0 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: block !important;
}
td[background*="left_bg"] .submenu:hover {
    background: #262832 !important;
    border-left-color: #4a9ad5 !important;
}
td[background*="left_bg"] .submenu:hover a {
    color: #fff !important;
}

/* ☞ 기호 제거 — CSS로 아이콘 대체 */
td[background*="left_bg"] .submenu a {
    padding-left: 2px !important;
}

/* left_table_color 클래스가 있는 경우도 동일 적용 */
td[background*="left_bg"] .left_table_color {
    width: 100% !important;
}
td[background*="left_bg"] .left_table_color .submenu {
    background: transparent !important;
    padding: 10px 14px !important;
    height: auto !important;
    transition: all 0.15s ease !important;
    border-left: 3px solid transparent !important;
}
td[background*="left_bg"] .left_table_color .submenu:hover {
    background: #262832 !important;
    border-left-color: #4a9ad5 !important;
}

/* ==========================================================
   5. IMAGE BUTTONS → CSS TEXT + EMOJI (안전한 방식)
   원칙: 이미지를 opacity:0으로 투명하게 만들되 클릭 영역 유지
   부모 요소(a, span)에 position:relative + ::after로 텍스트 표시
   ========================================================== */

/* --- 5-0. 공통: a > img 버튼 --- */
a:has(> img[src*="_btn.gif"]),
a:has(> img[src*="_btn.png"]),
a:has(> img[src*="_btn1.gif"]) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 12px !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 3px !important;
    background: #f5f6f8 !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    min-height: 22px !important;
    white-space: nowrap !important;
    font-size: 11px !important;
}
a:has(> img[src*="_btn.gif"]):hover,
a:has(> img[src*="_btn.png"]):hover,
a:has(> img[src*="_btn1.gif"]):hover {
    background: #e8e9eb !important;
    border-color: #999 !important;
}
a:has(> img[src*="_btn.gif"]) > img,
a:has(> img[src*="_btn.png"]) > img,
a:has(> img[src*="_btn1.gif"]) > img {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
}

/* --- 5-0b. 공통: input type=image 버튼 --- */
input[type="image"][src*="_btn.gif"],
input[type="image"][src*="_btn.png"],
input[type="image"][src*="_check.gif"] {
    padding: 5px 14px !important;
    border: 1px solid #c0c0c0 !important;
    border-radius: 3px !important;
    background: #f5f6f8 url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7') center/0 no-repeat !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    min-height: 26px !important;
    vertical-align: middle !important;
}
input[type="image"][src*="_btn.gif"]:hover,
input[type="image"][src*="_btn.png"]:hover,
input[type="image"][src*="_check.gif"]:hover {
    background-color: #e8e9eb !important;
    border-color: #999 !important;
}

/* --- 5-1. 주요 액션 버튼 (a > img) --- */
a:has(> img[src*="search_btn"])::after { content: "🔍 검색" !important; }
a:has(> img[src*="list_btn"])::after { content: "📋 목록" !important; }
a:has(> img[src*="write_btn"])::after { content: "✏️ 글쓰기" !important; }
a:has(> img[src*="edit_btn"])::after { content: "📝 수정" !important; }
a:has(> img[src*="edt_btn"])::after { content: "📝 수정" !important; }
a:has(> img[src*="sedit_btn"])::after { content: "📝 수정" !important; }
a:has(> img[src*="delete_btn"])::after { content: "🗑️ 삭제" !important; }
a:has(> img[src*="del_btn"])::after { content: "🗑️ 삭제" !important; }
a:has(> img[src*="save_btn"])::after { content: "💾 저장" !important; }
a:has(> img[src*="ok_btn"])::after { content: "✅ 확인" !important; }
a:has(> img[src*="cancel_btn"])::after { content: "❌ 취소" !important; }
a:has(> img[src*="reply_btn"])::after { content: "↩️ 답글" !important; }
a:has(> img[src*="replyedit_btn"])::after { content: "↩️ 답글수정" !important; }
a:has(> img[src*="re_btn"])::after { content: "🔄 다시" !important; }
a:has(> img[src*="default_btn"])::after { content: "⚙️ 기본값" !important; }
a:has(> img[src*="pre_btn"])::after { content: "◀ 이전" !important; }
a:has(> img[src*="print_btn"])::after { content: "🖨️ 인쇄" !important; }
a:has(> img[src*="excel_btn"])::after { content: "📊 엑셀" !important; }
a:has(> img[src*="juso_btn"])::after { content: "📍 주소검색" !important; }
a:has(> img[src*="postsearch_bt"])::after { content: "📍 우편번호" !important; }
a:has(> img[src*="idcheck_bt"])::after { content: "🔎 중복확인" !important; }
a:has(> img[src*="member_idcheck"])::after { content: "🔎 중복확인" !important; }
a:has(> img[src*="domain_check"])::after { content: "🌐 확인" !important; }
a:has(> img[src*="file_add_btn"])::after { content: "📎 파일추가" !important; }
a:has(> img[src*="port_btn"])::after { content: "🖼️ 포트폴리오" !important; }
a:has(> img[src*="sms_btn"])::after { content: "💬 SMS" !important; }
a:has(> img[src*="email_btn"])::after { content: "📧 이메일" !important; }
a:has(> img[src*="question_btn"])::after { content: "❓ 도움말" !important; }
a:has(> img[src*="help_btn"])::after { content: "❓ 도움말" !important; }
a:has(> img[src*="check1_btn"])::after { content: "🟢 출근" !important; }
a:has(> img[src*="check2_btn"])::after { content: "🔴 퇴근" !important; }
a:has(> img[src*="past_btn"])::after { content: "📜 이전기록" !important; }
a:has(> img[src*="top_btn"])::after { content: "⬆ TOP" !important; }
a:has(> img[src*="searchpre_btn"])::after { content: "◀ 이전" !important; }
a:has(> img[src*="searchnex_btn"])::after { content: "다음 ▶" !important; }
a:has(> img[src*="closeview"])::after { content: "✖ 닫기" !important; }
a:has(> img[src*="de_btn"])::after { content: "💰 입금완료" !important; }
a:has(> img[src*="tim_btn"])::after { content: "⏰ 시간" !important; }

/* --- 5-2. 주요 액션 — 다크 스타일 --- */
a:has(> img[src*="write_btn"]),
a:has(> img[src*="save_btn"]),
a:has(> img[src*="ok_btn"]) {
    background: #333 !important;
    border-color: #222 !important;
    color: #fff !important;
}
a:has(> img[src*="write_btn"]):hover,
a:has(> img[src*="save_btn"]):hover,
a:has(> img[src*="ok_btn"]):hover {
    background: #1a1a1a !important;
}

/* 삭제 — 레드 아웃라인 */
a:has(> img[src*="delete_btn"]),
a:has(> img[src*="del_btn"]) {
    border-color: #d9534f !important;
    color: #d9534f !important;
    background: #fff !important;
}
a:has(> img[src*="delete_btn"]):hover,
a:has(> img[src*="del_btn"]):hover {
    background: #d9534f !important;
    color: #fff !important;
}

/* 취소 — 회색 아웃라인 */
a:has(> img[src*="cancel_btn"]) {
    border-color: #999 !important;
    color: #666 !important;
    background: #fff !important;
}
a:has(> img[src*="cancel_btn"]):hover {
    background: #f0f0f0 !important;
}

/* --- 5-3. 기간 선택 버튼 --- */
a:has(> img[src*="day01_btn"])::after { content: "1주" !important; }
a:has(> img[src*="day02_btn"])::after { content: "1개월" !important; }
a:has(> img[src*="day03_btn"])::after { content: "3개월" !important; }
a:has(> img[src*="day04_btn"])::after { content: "4개월" !important; }
a:has(> img[src*="day05_btn"])::after { content: "5개월" !important; }
a:has(> img[src*="yesterday_btn"])::after { content: "◀ 전일" !important; }
a:has(> img[src*="daytoday_btn"])::after { content: "📅 오늘" !important; }
a:has(> img[src*="tomorrow_btn"])::after { content: "익일 ▶" !important; }

a:has(> img[src*="day01_btn"]),
a:has(> img[src*="day02_btn"]),
a:has(> img[src*="day03_btn"]),
a:has(> img[src*="day04_btn"]),
a:has(> img[src*="day05_btn"]),
a:has(> img[src*="yesterday_btn"]),
a:has(> img[src*="daytoday_btn"]),
a:has(> img[src*="tomorrow_btn"]) {
    padding: 3px 8px !important;
    font-size: 11px !important;
    min-height: 22px !important;
}

/* --- 5-4. 달력 아이콘 --- */
span:has(> img[src*="calendar_btn"]) {
    position: relative !important;
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}
span:has(> img[src*="calendar_btn"]) img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
}
span:has(> img[src*="calendar_btn"])::before {
    content: "📅" !important;
    font-size: 20px !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1 !important;
    filter: grayscale(100%) !important;
    cursor: pointer !important;
}

/* --- 5-5. 소형 아이콘 (img에 직접 onClick이 있는 경우) ---
   opacity:0 + position:absolute로 투명하게 유지하되
   부모에 ::after로 이모지 표시, 클릭은 img가 받음 */

/* 정렬 아이콘은 headHtml.jsp의 JS에서 이모지 span으로 교체 */

/* 아이콘 — 텍스트 인덴트로 이미지 숨기고 ::after로 이모지 표시 */
img[src*="icon_edit"],
img[src*="icon_copy"],
img[src*="icon_close"],
img[src*="icon_delete"],
img[src*="icon_plus"],
img[src*="icon_up"],
img[src*="icon_down"],
img[src*="icon_next"],
img[src*="file_download"],
img[src*="position_edit"],
img[src*="position_del"],
img[src*="position_write"] {
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    object-position: -9999px 0 !important;
    overflow: hidden !important;
    display: inline-block !important;
    vertical-align: middle !important;
    background-size: 0 !important;
    font-size: 16px !important;
    text-align: center !important;
    line-height: 20px !important;
    color: transparent !important;
}

/* 아이콘은 headHtml.jsp의 JS에서 이모지 span으로 교체 */

/* ==========================================================
   6. BOOTSTRAP / SUMMERNOTE SCOPE GUARD
   ========================================================== */
.note-editor input[type="text"],
.note-editor select,
.note-editor textarea,
.modal input[type="text"],
.modal select,
.modal textarea {
    min-height: auto !important;
}

/* ==========================================================
   7. 일정관리 스타일
   ========================================================== */

/* 일정 헤더 행 */
tr.notStort td.form_01 {
    height: 30px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    vertical-align: middle !important;
}

/* 일정 날짜 범위 */
.data_title2 {
    font-size: 14px !important;
    font-weight: bold !important;
}

/* 전달 상태 배경 — 모던 파스텔 */
a[onclick*="getRefConveyStateUpdate"] {
    padding: 1px 6px !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}

/* ==========================================================
   8. 추가 모던 스타일
   ========================================================== */

/* --- 7-1. a > img 버튼 이모지 흑백 --- */
a:has(> img[src*="_btn.gif"])::after,
a:has(> img[src*="_btn.png"])::after {
    filter: grayscale(100%) !important;
}

/* --- 7-2. 글쓰기 버튼과 검색영역 사이 간격 --- */
.btnAll {
    margin-top: 8px !important;
    display: block !important;
}

/* --- 7-3. 페이지네이션 모던 스타일 --- */
td[align="center"] > a[href*="page="],
td[align="center"] > a[href*="javascript"],
td[align="center"] > font > a {
    display: inline-block !important;
    padding: 4px 10px !important;
    margin: 1px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    color: #555 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    vertical-align: middle !important;
}
td[align="center"] > a[href*="page="]:hover,
td[align="center"] > a[href*="javascript"]:hover,
td[align="center"] > font > a:hover {
    background: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
}
td[align="center"] > font[color="red"] {
    display: inline-block !important;
    padding: 4px 10px !important;
    margin: 1px !important;
    background: #333 !important;
    color: #fff !important;
    border: 1px solid #333 !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: bold !important;
    vertical-align: middle !important;
}

/* --- 7-4. sian_list .item 하단 여백 줄이기 --- */
.sian_list .item,
.ian_list .item {
    padding-bottom: 5px !important;
    margin-bottom: 5px !important;
}

/* --- 7-5. list_body2 헤더 — 블랙 계열 --- */
.list_body2,
tr.list_body2,
tr.list_body2 td {
    background-color: #2d2d2d !important;
    color: #fff !important;
    font-weight: bold !important;
    font-size: 12px !important;
}
.list_body2 a,
tr.list_body2 a {
    color: #fff !important;
}

/* ==========================================================
   7-CAL. 달력 팝업 (calendar_beans.js) — 모던 오버라이드
   ========================================================== */

/* 달력 아이콘 - JS absolute 위치 덮어쓰기 방지 */
span[id$="Icon"] {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    top: auto !important;
    left: auto !important;
}

/* 달력 전체 레이아웃 */
.calLayout {
    border: 1px solid #d0d3d8 !important;
    background-color: #fff !important;
    border-radius: 6px !important;
    padding: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    font-family: 'Malgun Gothic', '맑은 고딕', -apple-system, sans-serif !important;
    width: 210px !important;
}

/* 달력 상단 타이틀 (년/월 선택 영역) */
.calTitle {
    border: none !important;
    background-color: #f5f6f8 !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    margin-bottom: 6px !important;
}
.calTitle table {
    width: 100% !important;
}
.calTitle td {
    padding: 4px 2px !important;
    vertical-align: middle !important;
}

/* 이전/다음 화살표 */
.calTitle td[id$="before"],
.calTitle td[id$="next"] {
    font-size: 14px !important;
    cursor: pointer !important;
    color: #666 !important;
    transition: color 0.15s ease !important;
    user-select: none !important;
    text-align: center !important;
}
.calTitle td[id$="before"]:hover,
.calTitle td[id$="next"]:hover {
    color: #2d2d2d !important;
}

/* 년/월 셀렉트박스 */
.calTitle select {
    border: 1px solid #d0d3d8 !important;
    border-radius: 3px !important;
    padding: 2px 4px !important;
    font-size: 12px !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    color: #2d2d2d !important;
    background-color: #fff !important;
    min-height: 24px !important;
    cursor: pointer !important;
}

/* 요일 헤더 영역 */
.calHeader {
    padding: 4px 0 2px 0 !important;
    text-align: center !important;
    border-bottom: 1px solid #e8eaed !important;
    margin-bottom: 4px !important;
}

/* 요일 제목 (일, 월, 화 ...) */
.calDayTitle {
    width: 26px !important;
    float: left !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #888 !important;
    padding: 2px 0 4px 0 !important;
    text-align: center !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
}

/* 달력 본문 */
.calBody {
    padding: 2px 0 !important;
    text-align: center !important;
}
.calBody div {
    line-height: 1 !important;
}

/* 날짜 셀 — 공통 */
.calDay,
.calSunDay,
.calSatDay,
.calOtherDay {
    width: 26px !important;
    height: 26px !important;
    float: left !important;
    font-size: 12px !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    padding: 0 !important;
    line-height: 26px !important;
    text-align: center !important;
    cursor: pointer !important;
    border: none !important;
    border-radius: 4px !important;
    transition: background-color 0.12s ease, color 0.12s ease !important;
    box-sizing: border-box !important;
}

/* 평일 */
.calDay {
    background-color: #fff !important;
    color: #2d2d2d !important;
}
.calDay:hover {
    background-color: #f0f1f3 !important;
}

/* 일요일 */
.calSunDay {
    background-color: #fff !important;
    color: #e04040 !important;
}
.calSunDay:hover {
    background-color: #fff0f0 !important;
}

/* 토요일 */
.calSatDay {
    background-color: #fff !important;
    color: #3070d0 !important;
}
.calSatDay:hover {
    background-color: #f0f4ff !important;
}

/* 이전/다음달 날짜 */
.calOtherDay {
    background-color: #fff !important;
    color: #c8cad0 !important;
}
.calOtherDay:hover {
    background-color: #f5f6f8 !important;
    color: #999 !important;
}

/* 오늘 날짜 */
.dayToday {
    background-color: #2d2d2d !important;
    color: #fff !important;
    font-weight: 700 !important;
    width: 26px !important;
    height: 26px !important;
    float: left !important;
    font-size: 12px !important;
    line-height: 26px !important;
    text-align: center !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

/* 선택된 날짜 */
.calSelDay {
    background-color: #1a73e8 !important;
    color: #fff !important;
    font-weight: 700 !important;
    width: 26px !important;
    height: 26px !important;
    float: left !important;
    font-size: 12px !important;
    line-height: 26px !important;
    text-align: center !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* 마우스 오버 — 날짜 */
.calOnDay {
    background-color: #e8eaed !important;
    border: none !important;
    color: #2d2d2d !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

/* 날짜 간 간격 */
.calDaySpace {
    padding: 1px !important;
    float: left !important;
}

/* 줄바꿈 */
.calDayBr {
    clear: both !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 화살표 호버 */
.divHeadOnRigth {
    color: #1a73e8 !important;
    cursor: pointer !important;
}

/* Today 버튼 */
.todayBtn {
    clear: both !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    cursor: pointer !important;
    background-color: #f5f6f8 !important;
    border: 1px solid #d0d3d8 !important;
    border-radius: 4px !important;
    padding: 4px 0 !important;
    height: auto !important;
    color: #2d2d2d !important;
    transition: background-color 0.15s ease !important;
    margin-top: 4px !important;
}
.todayBtn:hover {
    background-color: #e8eaed !important;
}

/* Today 버튼 래퍼 */
.todayLay {
    padding: 2px 0 0 0 !important;
}

/* 월 선택 캘린더 — 월 셀 */
.dayEvMon {
    font-size: 12px !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    width: 36px !important;
    height: 26px !important;
    line-height: 26px !important;
    background-color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 !important;
    float: left !important;
    cursor: pointer !important;
    text-align: center !important;
    transition: background-color 0.12s ease !important;
    color: #2d2d2d !important;
}
.dayEvMon:hover {
    background-color: #f0f1f3 !important;
}

/* 이번달 (월 선택 캘린더) */
.MonToday {
    font-size: 12px !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    width: 36px !important;
    height: 26px !important;
    line-height: 26px !important;
    background-color: #2d2d2d !important;
    color: #fff !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 !important;
    cursor: pointer !important;
    text-align: center !important;
}

/* 선택된 월 */
.selMon {
    font-size: 12px !important;
    font-family: 'Malgun Gothic', '맑은 고딕', sans-serif !important;
    width: 36px !important;
    height: 26px !important;
    line-height: 26px !important;
    background-color: #1a73e8 !important;
    color: #fff !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    text-align: center !important;
}

/* --- 7-6. title_font — 블랙 계열 --- */
.title_font {
    color: #1a1a1a !important;
    font-weight: bold !important;
    font-size: 14px !important;
}

/* --- 페이징 스타일 개선 (search_list, .page, .modern-pagination) --- */
.search_list,
.page,
.modern-pagination {
    font-size: 12px !important;
    letter-spacing: 0 !important;
}
.search_list a,
.page a,
.modern-pagination a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 8px !important;
    margin: 1px 1px !important;
    border: 1px solid #d0d4dc !important;
    border-radius: 3px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    vertical-align: middle !important;
    text-align: center !important;
    box-sizing: border-box !important;
    background: #fff !important;
}
.search_list a:hover,
.page a:hover,
.modern-pagination a:hover {
    background: #2d2d2d !important;
    color: #fff !important;
    border-color: #2d2d2d !important;
}
.search_list b,
.search_list strong,
.search_list .b_numb,
.page b,
.page strong,
.modern-pagination b,
.modern-pagination strong,
.modern-pagination .b_numb,
.modern-pagination font b,
.modern-pagination font[color] b {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 8px !important;
    margin: 1px 1px !important;
    background: #2d2d2d !important;
    color: #fff !important;
    border: 1px solid #2d2d2d !important;
    border-radius: 3px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    vertical-align: middle !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
/* font 태그 안의 b 태그 — font 색상 무시 */
.modern-pagination font,
.modern-pagination font[color] {
    color: inherit !important;
}
/* ... 구분자 스타일 */
.modern-pagination,
.search_list {
    line-height: 34px !important;
}

/* ==========================================================
   9. 상세/수정/작성 페이지 모던화
   ========================================================== */

/* --- 9-1. 섹션 헤더 (기본내용, 내용 등) — 이미지 배경 제거, 모던 라인 --- */
table[background*="line1.gif"],
table[background*="/img/line1.gif"],
table[background*="/manage/img/line1.gif"] {
    background: none !important;
    border-bottom: 2px solid #2d2d2d !important;
}
table[background*="line1.gif"] img,
table[background*="/img/line1.gif"] img,
table[background*="/manage/img/line1.gif"] img {
    display: none !important;
}
table[background*="line1.gif"] td,
table[background*="/img/line1.gif"] td,
table[background*="/manage/img/line1.gif"] td {
    text-align: left !important;
    padding-left: 0 !important;
}
table[background*="line1.gif"] b,
table[background*="/img/line1.gif"] b,
table[background*="/manage/img/line1.gif"] b {
    font-size: 13px !important;
    color: #1a1a1a !important;
    letter-spacing: -0.02em !important;
}

/* --- 9-2. 페이지 타이틀 영역 모던화 --- */
.subtitle_body1 {
    background-color: transparent !important;
}
.subtitle_body2 {
    background-color: transparent !important;
    border-bottom: 2px solid #333 !important;
    padding: 12px 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: -0.03em !important;
}
.subtitle_body2 img[src*="title_dot"] {
    display: none !important;
}

/* --- 9-3. 이전글/다음글 내비게이션 모던화 --- */
td[bgcolor="F4F4F4"],
td[bgcolor="f4f4f4"] {
    background-color: #f5f6f8 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    padding: 8px 14px !important;
}
td[bgcolor="F4F4F4"] img[src*="up_txt"],
td[bgcolor="F4F4F4"] img[src*="down_txt"],
td[bgcolor="f4f4f4"] img[src*="up_txt"],
td[bgcolor="f4f4f4"] img[src*="down_txt"] {
    display: none !important;
}
/* 이전/다음 텍스트 표시 */
td[bgcolor="F4F4F4"]:has(img[src*="up_txt"])::after,
td[bgcolor="f4f4f4"]:has(img[src*="up_txt"])::after {
    content: "이전글" !important;
    font-size: 12px !important;
    color: #555 !important;
}
td[bgcolor="F4F4F4"]:has(img[src*="down_txt"])::after,
td[bgcolor="f4f4f4"]:has(img[src*="down_txt"])::after {
    content: "다음글" !important;
    font-size: 12px !important;
    color: #555 !important;
}

/* 이전/다음 상하 구분선 모던화 */
td[bgcolor="B2B2B2"],
td[bgcolor="b2b2b2"] {
    background-color: #333 !important;
}
td[bgcolor="D8D8D8"],
td[bgcolor="d8d8d8"] {
    background-color: #e8eaed !important;
}

/* --- 9-4. 파일 첨부 영역 아이콘 모던화 --- */
img[src*="file_icon.gif"] {
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    filter: grayscale(100%) !important;
}

/* --- 9-5. 체크박스/라디오 모던화 --- */
input[type="checkbox"],
input[type="radio"] {
    accent-color: #333 !important;
    cursor: pointer !important;
    margin-right: 3px !important;
}

/* --- 9-6. 검색 영역 모던화 --- */
.chtitle_body1 {
    background-color: #ccc !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}
.chtitle_body2 {
    background-color: #f5f6f8 !important;
    color: #333 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    padding: 8px 12px !important;
    border-right: 1px solid #e0e3e8 !important;
}
.chtitle_body3 {
    background-color: #fff !important;
    color: #1a1a1a !important;
    padding: 8px 10px !important;
}

/* --- 9-6-1. 상세검색 탭 버튼 --- */
a.detailSearchTab {
    display: inline-block !important;
    position: relative !important;
    top: -1px !important;
    z-index: 1 !important;
    padding: 6px 16px !important;
    background-color: #f5f6f8 !important;
    border: 1px solid #ccc !important;
    border-top: none !important;
    border-radius: 0 0 4px 4px !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}
a.detailSearchTab:hover {
    background-color: #ebedf0 !important;
}

/* --- 9-7. dotted 구분선 모던화 --- */
td[background*="line_dot.gif"] {
    background: none !important;
    border-bottom: 1px solid #e8eaed !important;
    height: 1px !important;
}

/* --- 9-8. 프로젝트 관리 write_line 모던화 --- */
.write_line {
    background-color: #333 !important;
}
.write_line1 {
    background-color: #e8eaed !important;
}

/* --- 9-9. 타이틀/페이지 헤더 모던화 --- */
.title_font {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
.stitle_line {
    background-color: #333 !important;
}

/* --- 9-10. 하단 액션 버튼 — 크기 확대는 a.btns_g 에서 처리 --- */

/* --- 9-11. 주간보고 캘린더 일정 패딩 --- */

/* --- 9-12. Summernote 에디터 본문 font-weight 상속 방지 --- */
.note-editable {
    font-weight: 400 !important;
    background-color: #fff !important;
}

/* --- 9-13. 공통 버튼 스타일 (btns_wrap) --- */
.pull-left { float: left; }
.pull-right { float: right; }
.clearfix::after, .btns_wrap::after { clear: both; content: ""; display: block; height: 0; visibility: hidden; }

.btns_wrap { margin-top: 15px; padding: 0 5px; }
.btns_wrap.list { margin-top: -34px; }

.btns {
    display: inline-block;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 20px;
    text-decoration: none !important;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    vertical-align: middle;
    background: none !important;
    background-image: none !important;
}
.btns:hover { opacity: 0.85; }

.btns_blue {
    background-color: #555 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}
.btns_blue:hover { background-color: #333 !important; border-color: #222 !important; }

.btns_blue_line {
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    color: #333 !important;
}
.btns_blue_line:hover { background-color: #e2e3e5 !important; border-color: #999 !important; }

.btns_red {
    background-color: #888 !important;
    color: #fff !important;
    border: 1px solid #777 !important;
}
.btns_red:hover { background-color: #666 !important; border-color: #555 !important; }

.btns_red_line {
    background-color: #f0f1f3 !important;
    border: 1px solid #c0c0c0 !important;
    color: #666 !important;
}

/* ----------------------------------------------------------
   에디터 콘텐츠 내 표(table) 정렬 보정
   text-align: center가 적용된 table에 margin auto 추가
   ---------------------------------------------------------- */
#bbs table[style*="text-align: center"],
#bbs table[style*="text-align:center"],
.note-editable table[style*="text-align: center"],
.note-editable table[style*="text-align:center"] {
    margin-left: auto;
    margin-right: auto;
}

#bbs table[style*="text-align: right"],
#bbs table[style*="text-align:right"],
.note-editable table[style*="text-align: right"],
.note-editable table[style*="text-align:right"] {
    margin-left: auto;
    margin-right: 0;
}

@media all and (max-width: 1000px) {
    .btns_wrap.list { margin-top: 15px; }
    .btns { padding: 6px 16px; font-size: 13px; }
}
