
@import url(./_reset.css);
@import url(./swal.css);

:root { 
    --brandColor: #184992;
    --brandColor2: #555555;
    --brandColor3: #8aa9e1;
    --brandColor4: #7a7f88;
    --borderColor: #ddd;
    --menuBg: #4f7fc9;
    --menuThis: #fff;
    --tableColor: #edf3fd;
    --menuColor: #3f66a1;
    --red: #db2410;
    --btnPadding: 7px 20px;
} 

/* 공통 css */
.inner { width: calc(100% - 40px); max-width: 1600px; margin: 0 auto; min-height: 500px; } 
.contents_inner { overflow-x: auto; padding: 20px 0; margin-top: 71px; } 
.notscroll { overflow: hidden; } 
.btn { padding: var(--btnPadding); background: #fff; color: var(--menuColor); border: 1px solid var(--brandColor); border-radius: 5px; font-size: 15px; font-weight: 600; transition: all 0.15s; } 
.btn_mod { padding: 3px 8px; font-size: 13px; background: var(--menuBg); border: 1px solid #ddd; border-radius: 4px; } 
.btn_all { background: #f0f3f7; color: #62617e; border: 1px solid #ddd; } 
.enter_430 { display: none; } 
input[type="checkbox"] { cursor: pointer; } 
.pointer, .click_pointer, .edit_pointer, .view_pointer { cursor: pointer; }
.hidden { display: none !important; }
/* 버튼 */
.btn.red { background: #fff; color: #c94f4f; border: 1px solid #c94f4f; }
.btn-fit { height: stretch; max-width: fit-content; }

/* placeholder */
::placeholder { color: #aaa; font-weight: 300; }

/* 사이드 메뉴 */
.sc_nav { position: relative; position: fixed; top: 0px; width: 260px; height: 100%; background: var(--menuBg); } 
.sc_nav .head { display: flex; align-items: center; gap: 20px; padding: 12px 20px; } 
.sc_nav .head img { margin: 0 auto; width: 95% } 
.sc_nav .user_box { display: none; } 
.sc_nav nav { display: flex; flex-direction: column; height: calc(100dvh - 111px); padding: 20px 25px; overflow-y: auto; } 
.sc_nav nav .nav_list, .sc_nav nav .nav_item, .sc_nav nav .nav_list_sub { position: relative; display: flex; flex-direction: column; } 
.sc_nav nav .nav_list { flex: 1; gap: 5px; } 
.sc_nav nav .nav_list_sub { gap: 3px; display: none; margin: 10px 0; } 
.sc_nav nav .nav_item a { position: relative; } 
.sc_nav nav .nav_item .title { padding: 9px 11px; font-size: 16px; font-weight: 600; background: url(../images/arrow_down2.svg) no-repeat 95%/9px; border-radius: 5px; cursor: pointer; color: #fff; font-weight: 600; } 
.sc_nav nav .nav_item .title.open { background: #3e649e url(../images/arrow_down2.svg) no-repeat 95%/9px; }
.sc_nav nav .nav_item_sub { position: relative; font-size: 16px; } 
.sc_nav nav .nav_item_sub.active::after { content: ''; position: absolute; right: 100%; top: 0; width: 100vw; height: 100%; background: #24242d; } 
.sc_nav nav .nav_item_sub:not(:last-child) { margin-bottom: 5px; } 
.sc_nav nav .nav_item .active { position: relative; background: var(--menuThis); color: var(--menuColor); font-weight: 700; border-radius: 5px; } 
.sc_nav nav .nav_item a::before { content: ''; position: absolute; left: 0; top: 0; width: 0; height: 31px; background: #3e649e; border-radius: 5px; z-index: -1; transition: all 0.2s ease-out; } 
.sc_nav nav .nav_item_sub a { position: relative; display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 15px; padding-left: 10px; line-height: 1.4; border-radius: 5px; color: #fff; } 
.sc_nav nav .nav_item_sub a span { padding: 0px 8px; font-size: 14px; background: var(--red); border-radius: 20px; } 
.sc_nav nav .nav_item_sub a .count { padding: 0px 8px; border-radius: 30px; background: #fff; color: var(--menuColor); font-size: 14px; font-weight: 600; } 
.sc_nav nav::-webkit-scrollbar { width: 10px; } 
.sc_nav nav::-webkit-scrollbar-thumb { background: var(--menuBg); border-radius: 30px; } 
.sc_nav .new_window { position: relative; } 
.sc_nav .new_window::after { content: ''; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); width: 15px; height: 15px; background: url(../../images/new_window.svg) no-repeat center/contain; } 
.menu_mo { display: none; } 
.menu_bg__mo { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #00000060; z-index: 500; } 
.sc_nav .logout_box { display: none; } 


/* 컨텐츠 영역 */
.container { flex: 1; margin-left: 260px; overflow: hidden; } 

/* 타이틀 */
.sub_title { display: flex; justify-content: space-between; align-items: center; padding-bottom: 15px; } 
.sub_title h3 { font-size: 20px; font-weight: 700; position: relative; padding-left: 15px; } 
.sub_title h3::before { content: ''; display: inline-block; position: absolute; left: 0; width: 5px; height: 100%; background-color: var(--brandColor); }
.sub_title .filter_area { width: fit-content; }

/* header */
.group_headline { position: fixed; top: 0; left: 260px; width: calc(100% - 260px); display: flex; align-items: center; justify-content: space-between; padding: 20px 30px; background: #fff; border-bottom: 1px solid var(--borderColor); box-sizing: border-box; z-index: 400; } 
.group_headline .inner { position: relative; display: flex; justify-content: space-between; } 
.group_headline .user_box { display: flex; align-items: center; gap: 20px; font-size: 15px; } 
.group_headline .user_box .name { display: flex; align-items: center; gap: 5px; padding-left: 20px; border-left: 1px solid #bbb; } 
.group_headline .user_box .name b { font-weight: 600; padding-right: 5px; } 
.group_headline .user_box .name .dept { margin-right: 6px; padding: 4px 10px; background: var(--menuBg); color: var(--menuColor); font-size: 14px; border-radius: 4px; } 
.group_headline .user_box .logout { position: relative; display: flex; align-items: center; padding-right: 28px; color: #666; } 
.group_headline .user_box .logout::after { content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-45%); width: 24px; height: 24px; background: url(../images/exit.svg) no-repeat center/contain; } 
.group_headline .headline_box h2 { display: flex; align-items: center; gap: 20px; font-size: 25px; font-weight: 700; } 

/* header */
.user_box .btn_box { display: flex; align-items: center; gap: 20px; } 
.user_box .btn_box > * { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 14px; color: #666; } 
.user_box .btn_box > * svg { width: 18px; height: 18px; background: #fff; } 

/* 검색 */
.filter_area { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; } 
.filter_area .search_wrap { position: relative; display: flex; align-items: center; gap: 10px; } 
.filter_area .search_box { display: flex; align-items: center; background: #fff; border: 1px solid #bbb; border-radius: 5px; } 
.filter_area .search_box input { padding: 8px 10px; font-size: 14px; } 
.filter_area .search_box input[type="file"] { padding: 3px 10px; } 
.filter_area .select_wrap { position: relative; } 
.filter_area .select_wrap::after { content: ''; position: absolute; top: 50%; right: 8px; transform: translateY(-50%); width: 10px; height: 10px; background: url(../images/arrow_down.svg) no-repeat center / contain; pointer-events: none; } 
.filter_area .select_wrap select { padding: 8px 10px; font-size: 14px; text-align: center; padding-right: 30px; } 
.filter_area #btnSearch { width: 22px; height: 22px; background: url(../images/search.svg) no-repeat center/contain; } 
.filter_area .calender_wrap input { width: 130px; padding-right: 30px; text-align: center; background: url(../images/calender.svg) no-repeat right 9px center/15px 15px; box-sizing: border-box; cursor: pointer; } 
.filter_area .search_box .title { padding: 0 10px; color: var(--brandColor); font-size: 14px; border-right: 1px solid #ddd; } 
select:has(option[value=""]:checked) { color: gray; } 
select option { color: #000; } 

.content_area { width: 100%; }

/* ========== 페이지네이션 ========== */
.pagination { margin-top: 15px; display: flex; justify-content: center; align-items: center; gap: 10px; }
.pagination .number { padding: 0 6px; }
.pagination .active { font-size: 18px; font-weight: 700; padding: 0 6px; border-radius: 10px; background-color: var(--menuColor); color: #fff; }
.pagination .page { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 0 10px;}

/* ========== 모달 ========== */
.modal { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); justify-content: center; align-items: center; z-index: 1000; } 
.modal_area { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 500px; width: 90%; background-color: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .15); } 
.modal_area .modal_header { display: flex; justify-content: space-between; align-items: center; background-color: var(--brandColor3); padding: 10px 15px; } 
.modal_area .modal_title { font-size: 20px; font-weight: 700; } 
.modal_area button.close { font-size: 30px; font-weight: 200; cursor: pointer; } 
.modal_area .modal_body { background: #fff; padding: 20px 15px; } 
.modal_area.modal_md { max-width: 800px !important; }
.modal_area.modal_lg { max-width: 1200px !important; }

.modal_area .input_wrap { flex: 1; margin-bottom: 15px; display: flex; justify-content: space-between; align-items: center; } 
.modal_area .input_wrap label { width: 120px; text-align: center; font-size: 16px; font-weight: 600; cursor: default; } 
.modal_area .input_wrap input, .modal_area .input_wrap select, .modal_area .input_wrap textarea { flex: 1; padding: 10px 15px; font-size: 16px; font-weight: 300; border: 1px solid var(--borderColor); border-radius: 5px; } 
.modal_area .input_wrap select { background: url(../images/arrow_down.svg) no-repeat 95% 50%/9px; } 
.modal_area .input_wrap select option { text-align: center; } 

.modal_area .modal_body.select_wrap, .modal_area .modal_body .calender_wrap { padding: 0; gap: 0; } 
.modal_area .calender_wrap input { width: 130px; padding-right: 30px; padding-left: 15px; text-align: center; background: url(../images/calender.svg) no-repeat right 9px center/15px 15px; box-sizing: border-box; cursor: pointer; } 
select:has(option[value=""]:checked), select:has(option[value="전체"]:checked) { color: gray; } 
select option { color: #000; } 

.modal_area .modal_btn_wrap { display: flex; justify-content: center; align-items: center; gap:  10px; margin-top: 30px; }
.modal_area .modal_btn_wrap button { width: 150px; padding: 10px 25px; }

/* datepicker 달력 */
.datepicker table tr td span { height: 45px; line-height: 45px; } 
.datepicker table tr td span.focused { background: 0; } 
.datepicker table tr td span:hover { background: #eee; } 
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover { background-image: linear-gradient(to bottom, #6d94ff, #204bbe); color: #fff; } 

.datepicker table tr td { border-bottom: 1px solid #eee; border-top: 1px solid #eee; } 
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover { background-image: linear-gradient(to bottom, #6d94ff, #204bbe); color: #fff; border-bottom: none; } 
.datepicker table tr td.today { border: 0; background: #adbcff !important; } 

.datepicker.dropdown-menu { padding: 10px 10px 48px; z-index: 9999999 !important;} 
.datepicker.dropdown-menu td { font-size: 14px; padding: 5px; border-radius: 0; } 

.datepicker table tr th { font-size: 15px; } 
.datepicker table tr .datepicker-switch { font-size: 16px; padding: 10px; } 
.datepicker table tr th.dow { padding: 6px 10px; } 

.datepicker table tr .clear { position: absolute; margin-left: 10px; margin-top: 8px; padding: 2px 2px; font-size: 13px; width: 35px; height: auto; text-align: center; color: #444; background: #fff; border: 1px solid #ccc; border-radius: 20px; cursor: pointer; } 
.datepicker table tr .clear:hover { color: #000; background: #fff; border: 1px solid #666; } 

.limit_select_box { display: flex; align-items: center; } 
.limit_select_box p { margin-left: 5px; font-size: 14px; color: #666; } 

.sunday,
.holiday { background: #ffcccc !important; color: #d10000 !important; } 
.saturday { background: #cce5ff !important; color: #0044cc !important; } 


/* 명세서 */
.statement_wrap * { box-sizing: border-box; }
.statement_wrap { padding: 10px 15px; border: 5px double #838383; width: fit-content; margin: 0 auto; }
.statement_wrap .statement_header { width: 100%; display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-bottom: 40px; }
.statement_wrap .statement_header .logo_wrap { width: 180px; height: 100%; }
.statement_wrap .statement_header .header_title { padding: 0 20px; }
.statement_wrap .statement_header .header_title h2 { font-size: 40px; font-weight: 700; }
.statement_wrap .statement_body { display: flex; justify-content: space-between; align-items: stretch; gap: 30px; }
.statement_wrap .statement_body .info_wrap span { display: inline-block; }
.statement_wrap .statement_body .info_wrap span.blue { font-size: 20px; font-weight: 800; color: #0b0be4; }
.statement_wrap .statement_body .info_wrap span.red { font-size: 20px; font-weight: 800; color: #e40b0b; }
.statement_wrap .statement_body .info_wrap .pay_date { display: flex; justify-content: flex-start; align-items: center; gap: 15px; margin-top: 100px; }
.statement_wrap .statement_body .info_item { width: 180px; margin-bottom: 20px; }
.statement_wrap .statement_body .info_item .info_title { width: 100%; font-size: 28px; font-weight: 600; margin-bottom: 15px; padding: 5px; border-bottom: 2px solid #333; }
.statement_wrap .statement_body .info_item .info_content { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; }
.statement_wrap .statement_body .info_item .info_content .info_row { width: 100%; display: flex; justify-content: space-between; align-items: center; font-size: 17px; }
.statement_wrap .statement_body .info_item .info_content .info_row.notice { font-size: 15px; font-weight: 400; justify-content: flex-start; gap: 8px; color: #424242; }
.statement_wrap .statement_body .info_item .info_content .info_row.question { justify-content: flex-start; }
.statement_wrap .statement_body .info_item .info_content .info_row.answer { justify-content: flex-end; }
.statement_wrap .statement_body .calc_wrap { flex: 1; }
.statement_wrap .statement_body .calc_wrap .calc_header { width: 100%; height: 46px; border-bottom: 2px solid #333; margin-bottom: 30px; }
.statement_wrap .statement_body .calc_wrap .calc_body { display: flex; flex-direction: column; gap: 20px; }
.statement_wrap .statement_body .calc_wrap .calc_item { display: flex; flex-direction: column; }
.statement_wrap .statement_body .calc_wrap .calc_item.line { border-top: 2px solid #333; border-bottom: 2px solid #333; }
.statement_wrap .statement_body .calc_wrap .calc_item .calc_row { width: 100%; padding: 5px 0; padding-left: 8px; display: flex; justify-content: space-between; align-items: center; }
.statement_wrap .statement_body .calc_wrap .calc_item .calc_row.sub_title { padding-left: 100px; border-top: 1px dotted #888; border-bottom: 1px dotted #888; }
.statement_wrap .statement_body .calc_wrap .calc_item .calc_row.sub { padding-left: 117px; }
.statement_wrap .statement_body .calc_wrap .calc_item .calc_row.line { border-top: 1px dotted #888; }
.statement_wrap .statement_footer { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; font-size: 25px; font-weight: 700; margin-top: 50px; }
.statement_wrap .statement_footer p { font-weight: 400; }



/* 프린트 페이지 기본설정 */
@media print { body { margin: 0; padding: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; } 
 .inner { margin: 20px auto; } 
 .btn_print, .sc_nav, .group_headline { display: none; } 
 .container { margin: 0; } 
 .contents_inner { padding: 0; } 
 .contents_inner main { min-width: 0px; } 
 @page { size: A4 portrait; /* 세로 방향 프린트 */
 margin: 1rem; @bottom-left { content: ""; } 
 @bottom-right { content: ""; } 
 }
 @page :left { @top-left { content: ""; } 
 @bottom-left { content: ""; } 
 }
 @page :right { @top-right { content: ""; } 
 @bottom-right { content: ""; } 
 } 
 }


@media (min-width: 786px) { /* 사이드 메뉴 */
 .sc_nav nav .nav_item a:hover::before { width: 100%; } 

 /* header */
 .group_headline .user_box .logout:hover { color: #000; } 

 .btn:hover { background: #eef0ff; box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 5px; color: var(--menuColor); } 
 .btn.red:hover { background: #ffeeee; box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 5px; color: #c94f4f; } 
 .btn.btn_all:hover { background: #f0f3f7; color: #424257; border: 1px solid #ccc; } 
 .modal .btn:hover { background: #5863b9; color: #fff; border: 1px solid #5863b9; } 
 .modal .btn_box .btn_default:hover { border: 1px solid #bbb; color: var(--brandColor2); background: var(--menuBg); } 

 /* 프린트 */
 .user_box .btn_box > *:hover svg * { stroke: var(--menuColor); } 
 .user_box .btn_box > *:hover { color: var(--menuColor); font-weight: 500; } 
 }


@media (max-width: 1350px) { /* 사이드 메뉴 */
 .sc_nav { position: fixed; right: 100%; width: 300px; z-index: 600; transition: all 0.2s; } 
 .sc_nav.active { transform: translateX(100%); } 
 .sc_nav .head img { width: 85%; } 
 
 /* header */
 .group_headline { padding: 15px 15px; left: 0;  width: 100%; } 
 .group_headline .headline_box { display: flex; align-items: center; gap: 10px; } 
 .container { margin-left: 0; } 
 .menu_mo { display: flex; align-items: center; justify-content: center; cursor: pointer; width: 33px; height: 33px; background: url(../images/menu_open.svg) no-repeat center/contain; transition: all 0.2s; } 
 .sc_nav.active .menu_mo { display: none; } 

 /* 사이드 메뉴 */
 .sc_nav nav { padding: 20px 25px; height: calc(100dvh - 159px); } 
 .sc_nav nav .nav_list { gap: 5px; } 
 .sc_nav .user_box { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 15px 25px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; font-size: 15px; } 
 .sc_nav .user_box .name { display: flex; align-items: center; gap: 10px; } 
 .sc_nav .user_box .name b { font-weight: 600; padding-right: 5px; } 
 .sc_nav .user_box .name .dept { padding-left: 10px; border-left: 1px solid #ccc; } 
 .sc_nav .logout_box { display: flex; align-items: center; justify-content: flex-end; margin-top: 30px; padding: 15px 0; border-top: 1px solid #ddd; } 
 .sc_nav .logout_box > * { display: block; font-size: 16px; color: #fff; font-weight: 500; width: fit-content; } 
 }

@media (max-width: 960px) { /* header */
    .contents_inner { margin-top: 64px; } 
 .group_headline .headline_box p { font-size: 13px; } 
 }

@media (max-width: 786px){
 :root { --btnPadding: 7px 15px; } 

 /* 검색 */
 .filter_area .search_box { font-size: 14px; } 
 
 /* 로그인 정보 */
 .group_headline .user_box { display: none; } 

 /* 모달 */
 .view_modal .content_box .headline { font-size: 22px; line-height: 1.4; } 
 }

@media (max-width: 586px) { /* 사이드 메뉴 */
 .contents_inner { padding: 20px 0; } 
 .group_headline .headline_box h2 { font-size: 22px; } 
 .sc_nav .user_box { font-size: 16px; } 
 .sc_nav .logout { font-size: 15px; } 

 /* 모달 */
 .modal .modal_area { width: 90% !important; } 
 .container .modal .modal_area .modal_body { padding: 20px 20px 10px; } 
 .modal .modal_area .modal_body { overflow: hidden; } 
 .container .view_modal .text_box { min-height: 200px; } 
 .container .modal .modal_area h4 { font-size: 19px; } 
 .container .modal .content_box .title,
 .container .modal .content_box .input_act,
 .container .modal .content_box .input_dis { font-size: 15px; } 
 .modal.m_align .content_box .title { width: auto; } 
 .container .modal .content_box .input_act { padding: 8px 13px; } 
 .container .modal .content_box .time_wrap .wrap::after,
 .container .modal .content_box .select_wrap::after { right: 12px; } 
 .container .modal .content_box .time_wrap .wrap::before,
 .container .modal .content_box .select_wrap::before { right: 33px; } 

 .container .modal.m_align .content_box { flex-direction: column; align-items: flex-start; } 
 .container .modal .content_box .select_wrap,
 .container .modal .content_box .radio_wrap { width: 100%; } 

 /* 모달 - 보기 모달 */
 .view_modal .content_box .headline { font-size: 20px; } 
 }

@media (max-width: 430px){
 .contents_inner { padding: 25px 0; } 

 /* 사이드 메뉴 */
 .sc_nav nav .nav_list { gap: 0px; } 
 .sc_nav nav .nav_list_sub { gap: 0; } 
 /* .sc_nav nav .nav_item .title { padding: 5px 10px; }  */
 /* .sc_nav nav .nav_item_sub a { padding: 6px 0; }  */

 /* header */
 .group_headline .headline_box h2 { gap: 10px; font-size: 22px; } 
 .group_headline .headline_box p { font-size: 10px; } 

 /* 모달 */
 .container .modal .modal_area { width: 85%; } 
 .container .modal .modal_area .modal_body { padding: 15px 20px 10px; } 
 .container .modal .modal_area .modal_header { padding: 10px 20px; } 
 .container.modal .content_box .input_act.headline { font-size: 18px; } 
 .container .modal .modal_area h4 { font-size: 17px; } 
 .container .modal .content_box .title, .container .modal .content_box .input_act, .modal .content_box .radio_wrap .radio_act { font-size: 14px; } 
 .container .modal .content_box .radio_wrap .radio_act { padding: 6px 0; } 
 :root { --btnPadding: 7px 18px; } 
 .container .modal .btn { font-size: 14px; } 
 .container .modal .content_box.fixed_top { font-size: 14px; } 

 /* 모달(팝업) - 오늘 하루 열지 않음 */
 .today_check_box { font-size: 14px; } 
 .today_check_box .hide_today_check { width: 16px; height: 16px; } 
 .today_check_area .btn_close { padding: 5px 10px; font-size: 13px; } 
 }

.popup-container { padding: 15px 20px 10px; }

#content-frame {
    width: 100%;
    height: calc(100vh - 180px);
    border: none;
}

.title_area {
    padding: .75rem;
}

#loadingSpinner {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.spinner {
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


.w-full { width: 100% !important; }

.text-center { text-align: center !important; }

.d-block { display: block !important; }

.text-gray { color: rgba(0, 0, 0, .35) !important; }

.calc_item:has(.half-hidden) {
    position: relative;
}

.half-hidden {
    color: rgba(0, 0, 0, .35);
    margin-left: 5%;
    width: 95% !important;
}

.table_scroll {
    position: relative;
    overflow-y: auto;
    max-height: calc(100vh - 260px);
}

/* 보안 워터마크 스타일 (화면 캡처 시 표시용) */
.security-watermark {
    position: fixed;
    pointer-events: none;
    z-index: 9999;
}

.security-watermark::after {
    content: attr(data-watermark);
    position: absolute;
    transform: translate(-50%, -50%) rotate(-30deg);
    font-size: 36px;
    font-weight: bold;
    color: rgba(194, 219, 235, 0.4);
    white-space: nowrap;
    pointer-events: none;
}