@charset "euc-kr";

/* 공통 */
html,body { font-family: 'SUIT', sans-serif; min-width: 1280px; }
ul { margin: 0; padding: 0; }
li { list-style: none; }
a { text-decoration: none; color: inherit; display: block; line-height: normal; }
strong { font-weight: 600 !important; }
label { cursor: pointer; }
select { -webkit-appearance: none; cursor: pointer; -moz-appearance: none; appearance: none; filter: alpha(opacity=0); background: url(../images/common/down_arrow.png) no-repeat right center; background-color: var(--w); border-radius: 2px; padding: 5px 20px 5px 5px; outline: none; font-size: 13px; font-family: 'SUIT', sans-serif; }
select::-ms-expand { display:none; }
select { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
input { color: var(--text2); background-color: var(--bg2); }
input[type=text] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: "SUIT",sans-serif; outline: none; border: 1px solid var(--cg); border-radius: 2px; padding: 4.5px 5px; box-sizing: border-box; }
input[type=password] { font-family: "SUIT",sans-serif; outline: none; }
input[type=checkbox] { width: 14px; height: 14px; cursor: pointer; margin:0; vertical-align: middle; }
input[type="submit"] { font-family: "SUIT",sans-serif; border: none; cursor: pointer; }
input[type="radio"] { vertical-align: middle; margin-top: 0; margin-bottom: 3px; }
input[type="date"] { position: relative; padding-left: 10px; font-family: 'SUIT', sans-serif; font-size: 15px; outline: none; border: 1px solid var(--cg); box-sizing: border-box; }
input[type="date"]::-webkit-clear-button, input[type="date"]::-webkit-inner-spin-button { display: none; }
input[type="date"]::-webkit-calendar-picker-indicator { background: transparent; z-index: 1; } 
input[type="date"]:after{ position: absolute; top:50%; right:10px; content: ''; width: 20px; height: 20px; background: url(../images/msg/calendar_icon.png) no-repeat; transform: translateY(-50%); }
input[type="time"] { position: relative; padding: 0 5px 0 10px; font-family: 'SUIT', sans-serif; font-size: 15px; outline: none; border: 1px solid var(--cg); box-sizing: border-box; }
input[type="time"]::-webkit-clear-button, input[type="time"]::-webkit-inner-spin-button { display: none; }
input[type="time"]::-webkit-calendar-picker-indicator { background: transparent; z-index: 1; } 
input[type="time"]:after{ position: absolute; top:50%; right:10px; content: ''; width: 20px; height: 20px; background: url(../images/msg/time_icon.png) no-repeat; transform: translateY(-50%); }
textarea { font-family: "SUIT",sans-serif; color: var(--text2); resize: none; box-sizing: border-box; outline: none; vertical-align: middle; }
table { width: 100%; table-layout: fixed; }
table thead th { background-color: var(--g1); box-sizing: border-box; }
table th { height: 35px; line-height: 1.4em; padding: 5px 10px; border: 1px solid var(--g); border-top: none; text-align: center; vertical-align: middle; font-size: 14px; font-weight: 700; font-family: 'SUIT',sans-serif; background-color: var(--g1); box-sizing: border-box; }
table th select { margin-top: 5px; }
table td { height: 35px; line-height: 1.4em; padding: 5px; border: 1px solid var(--g); text-align: center; vertical-align: middle; font-size: 14px; letter-spacing: -0.5px; font-family: 'SUIT',sans-serif; background-color: var(--w); box-sizing: border-box; word-break: break-all; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
table tbody tr:first-child td { border-top: none; }
table tbody td { position: relative; }
table tbody td a { display: flex; }
.content-1 { -ms-overflow-style: none; overflow: auto; }
.content-1::-webkit-scrollbar { width: 0; }
.td_scroll { -ms-overflow-style: none; overflow: auto; }
.td_scroll::-webkit-scrollbar { width: 0; }
.content-1 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background-color: rgba(255, 255, 255, 0.3) !important; }
.td_scroll .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background-color: rgba(0, 0, 0, 0.3) !important; }
.mCSB_inside > .mCSB_container { margin: 0 !important; }
.mCSB_scrollTools { width: 8px !important; }

/* 스크롤 숨기기 */
.content-1 { -ms-overflow-style: none; overflow: auto; }
.content-1::-webkit-scrollbar { width: 0; }
.mCSB_inside>.mCSB_container { margin:0 !important; }
.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-light-3.mCSB_scrollTools .mCSB_draggerRail { background-color: #fff0 !important; }
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background-color: rgb(185 189 191) !important; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background-color: rgba(0,0,0,0.1); }
::-webkit-scrollbar-thumb { background-color: rgb(181 184 185); border-radius: 5px; }

.table { width: 100%; border: 1px solid transparent; position: relative; }
.table:hover { border: 1px solid var(--bk); }
.cate_table tbody th { border-top: 1px solid var(--g) !important; text-align: left; }
.cate_table tbody td { border-top: 1px solid var(--g) !important; text-align: left; }
.td_fixed { padding: 0 !important; border: none; border-right: 1px solid var(--g); position: relative; left: -1px; }
.td_fixed .td_scroll { max-height: 377px; }
.td_fixed td:last-child { border-right: none; }
.th_fixed.on { position: fixed; width: 1198px; top: 60px; z-index: 1; }
.wide .th_fixed.on { position: fixed; width: 1588px; top: 60px; z-index: 1; }
.h_table td { overflow: visible !important; }

.check_box { display: flex; align-items: center; gap: 5px; font-size: 13px; line-height: 20px; color: var(--bk); font-weight: 500; }
.check_box input { display: none; }
.check_box .check_icon { display: flex; align-items: center; justify-content: center; border: 1px solid var(--g); width: 20px; height: 20px; border-radius: 4px; transition: 0.2s; }
.check_box .check_icon svg { fill: var(--gr); }
.check_box .check_icon.on { background-color: #2496f1; border: 1px solid transparent; transform: scale(0.8); }
.check_box .check_icon.on svg { fill: var(--w); }

.btn { padding: 10px 20px; font-size: 13px; background-color: var(--bl); color: var(--w); border-radius: 5px; transition: 0.3s; }
.btn:hover { box-shadow: inset 10px 0 20px 0 var(--bl2); }
.btn02 { padding: 9px 15px; font-size: 13px; background-color: var(--bl); color: var(--w); border-radius: 5px; transition: 0.3s; }
.btn02:hover { box-shadow: inset 10px 0 20px 0 var(--bl2); }
.btn03 { padding: 9px 15px; font-size: 13px; background-color: var(--db); color: var(--w); border-radius: 5px; transition: 0.3s; }
.btn04 { padding: 8px 10px; font-size: 13px; background-color: var(--db2); font-family: 'SUIT',sans-serif; color: var(--w); border-radius: 4px; }
.btn04:hover { background-color: var(--lb3); }
.btn05 { display: inline-block; height: 24px; line-height: 24px; padding: 0 8px; font-size: 13px; background-color: var(--bl2); color: var(--w); border-radius: 2px; }
.btn06 { display: inline-block; height: 24px; line-height: 24px; padding: 0 8px; font-size: 13px; background-color: var(--bl3); color: var(--w); border-radius: 2px; }
.btn07 { height: 26px; line-height: 26px; padding: 0 8px; font-size: 13px; border: 1px solid var(--gr); border-radius: 2px; }
.btn07:hover { border: 1px solid var(--bl); color: var(--bl); }
.btn07.this { border: 1px solid var(--bl2); color: var(--bl2); }
.btn08 { height: 26px; line-height: 26px; padding: 0 8px; font-size: 13px; background-color: var(--bl2); border-radius: 2px; color: var(--w); }
.btn09 { height: 26px; line-height: 26px; padding: 0 8px; font-size: 13px; border: 1px solid var(--bk); border-radius: 2px; }
.btn10 { display: inline-block; height: 25px; line-height: 25px; padding: 0 10px; font-size: 13px; background-color: var(--w); border: 1px solid var(--gr); }

.t_red { color: var(--red) !important; }
.t_red02 { color: var(--red3) !important; }
.t_blue { color: var(--bl2) !important; }
.t_green { color: var(--green) !important; }
.t_gray { color: var(--cg) !important; }
.t_center { text-align: center !important; }
.t_center td { text-align: center; }
.t_left { text-align: left !important; }
.t_left td { text-align: left; }
.t_right { text-align: right !important; }
.t_right td { text-align: right; }
.input_center td input[type=text] { text-align: center; }

.td_none { color: var(--red); border-top: none; text-align: center; }
.none { display: none; }
.border-top { border-top: 1px solid var(--g); }

.bg_blue { background-color: var(--lb4) !important; }
.bg_blue2 { background-color: var(--bl2) !important; }
.bg_blue3 { background-color: var(--bl3) !important; }
.bg_red { background-color: var(--lr) !important; }
.bg_red2 { background-color: var(--lr2) !important; }
.bg_red3 { background-color: var(--lr3) !important; }
.bg_gray { background-color: var(--gr2) !important; }
.bg_y { background-color: var(--y) !important; }
td.bg_gray { border: 1px solid var(--g); }

.flex { display: flex; justify-content: space-between; }
.flex2 { display: flex; gap: 10px; }
.flex i { width: calc(50% - 10px); }
.flex_center { display: flex; align-items: center; gap: 5px; }
.td_flex { display: flex; align-items: center; gap: 5px; justify-content: center; }
.td_flex2 { display: flex; flex-direction: column; gap: 5px; justify-content: center; }
.td_flex3 { display: flex; align-items: center; gap: 5px; }
.td_flex4 { display: flex; align-items: center; gap: 5px; justify-content: flex-end; }
.td_flex5 { display: flex; align-items: center; gap: 5px; justify-content: space-between; }
.td_flex6 { display: flex; flex-direction: column !important; align-items: flex-start !important; }
.left { float: left; }
.sel_27 { height: 27px; width: 160px !important; background-color: var(--w); }

.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt40 { margin-top: 40px; }

.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }

.pd0 { padding: 10px 0 !important; }

.blank { padding: 0 !important; height: 2px !important; background: transparent !important; }
.blank5 { padding: 0 !important; height: 5px !important; background: none; }
.row_blank { padding: 0 !important; width: 2px !important; border: none !important; background: transparent !important; }

:root {
   --wg: #f7f7f7;
   --w: #fff;
   --cg: #888;
   --g: #ddd;
   --g1: #fafafb;
   --gr: #bbb;
   --gr2: #f1f1f1;
   --bl: #2496f1;
   --bl2: #1a76bf;
   --bl3: #5d7fab;
   --bl4: #4cafff;
   --bk: #3a3a3a;
   --db: #1c2a46;
   --db2: #35415a;
   --lb: #f4f5f8;
   --lb2: #b7bdcb;
   --lb3: #4a566e;
   --lb4: #f0f8ff;
   --red: #f00;
   --red2: #a10000;
   --red3: #cd1414;
   --green: #70ab2d;
   --lr: #fff5f5;
   --lr2: #f8f4f4;
   --lr3: #fff8f2;
   --y: #fffdf2;
   --y2: #ffe13a;
   --or: #ff6e13;
}

/* 로그인 */
.login_wrap { width: 100%; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: var(--wg); gap: 30px; }
.login_wrap .logo { display: flex; align-items: center; justify-content: space-between; }
.login_wrap .logo a { display: flex; align-items: center; gap: 5px; font-size: 18px; font-weight: 500; letter-spacing: 2px; color: #777; }
.login_wrap .login_box { width: 520px; padding: 40px; background-color: var(--w); border-radius: 10px; box-shadow: 0px 1px 4px rgba(0,0,0,0.1); }
.login_wrap .login_box > h1 { font-size: 28px; font-weight: 700; color: var(--bk); }
.login_wrap .login_box > p { font-size: 13px; margin-top: 15px; color: var(--cg); font-weight: 500; }
.login_wrap .login_box .login_input { display: flex; flex-direction: column; gap: 15px; margin-top: 40px; }
.login_wrap .login_box .login_input span { display: inline-block; font-size: 13px; color: var(--bk); font-weight: 600; margin: 0px 0px 10px 5px; }
.login_wrap .login_box .login_input input { width: 100%; border: 1px solid var(--g); height: 40px; padding: 0 10px; border-radius: 5px; font-family: "SUIT",sans-serif; box-sizing: border-box; }
.login_wrap .login_box .login_bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 30px; }
.login_wrap .login_copy { margin-top: 60px; }
.login_wrap .login_copy span { font-size: 13px; color: var(--cg); }

/* 헤더 */
.header { width: calc(100% - 240px); min-width: 1240px; height: 60px; position: fixed; left: 240px; top: 0; background-color: var(--w); border-bottom: 1px solid var(--g); display: flex; align-items: center; justify-content: space-between; padding: 0 20px; z-index: 10; }
.header i { display: flex; align-items: center; gap: 5px; }
.header .member { display: flex; align-items: center; gap: 5px; border: 1px solid var(--g); padding: 7px 15px; border-radius: 5px; box-sizing: border-box; }
.header .member .dep { font-size: 13px; font-weight: 600; border-right: 1px solid var(--cg); padding-right: 10px; margin-right: 5px; }
.header .member span { font-size: 14px; }
.header .member span b { color: #111; font-weight: 600; }
.header.short { width: calc(100% - 60px); left: 60px; }
.header .bookmark { height: 33px; display: flex; align-items: center; background-color: var(--lb3); padding: 0 15px 0 13px; border-radius: 5px; box-sizing: border-box; cursor: pointer; }
.header .bookmark span { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--w); }

/* 메뉴 */
.sidebar { width: 240px; min-height: 100vh; position: fixed; left: 0; top: 0; background-color: var(--db); color: var(--lb4); padding: 0 10px 0 30px; z-index: 9; }
.sidebar .logo { display: flex; align-items: center; justify-content: space-between; height: 60px; margin-bottom: 10px; padding-right: 5px; }
.sidebar .logo a { display: flex; align-items: center; gap: 5px; font-size: 18px; font-weight: 400; color: var(--w); letter-spacing: 2px; }
.sidebar .logo .sidebar_toggle { cursor: pointer; padding: 2px; border-radius: 5px; }
.sidebar .logo .sidebar_toggle:hover { background-color: var(--db2); }
.sidebar .logo .sidebar_toggle svg { fill: var(--w); }
.sidebar .menu { height: 80vh; overflow-y: auto; }
.sidebar .menu .menu_list { display: flex; flex-direction: column; gap: 10px; padding-right: 10px; }
.sidebar .menu .menu_list > li { min-height: 40px; font-weight: 400; }
.sidebar .menu .menu_list > li:nth-child(2) { padding-bottom: 10px; border-bottom: 1px dashed var(--lb3); }
.sidebar .menu .menu_list > li:nth-child(5) { padding-bottom: 10px; border-bottom: 1px dashed var(--lb3); }
.sidebar .menu .menu_list > li svg { fill: var(--lb2); }
.sidebar .menu .menu_list > li > a { display: flex; align-items: center; justify-content: space-between; border-radius: 5px; line-height: 40px; padding-right: 5px; }
.sidebar .menu .menu_list > li > a > span { display: flex; align-items: center; gap: 10px; }
.sidebar .menu .menu_list > li.this > a { color: var(--bl4); }
.sidebar .menu .menu_list > li.this .sub_menu { display: block; }
.sidebar .menu .menu_list > li.this > a > span > svg { fill: var(--bl4); }
.sidebar .menu .menu_list li.lock { opacity: 0.5; }
.sidebar .menu .menu_list li.lock svg { opacity: 0.5; }
.sidebar .menu .menu_list > li > a p { display: flex; align-items: center; transition: 0.3s; }
.sidebar .menu .menu_list > li > a.over.on p { transform: rotate(180deg); }
.sidebar .menu .sub_menu { display: none; padding: 5px 5px 10px 5px; margin-bottom: 10px; border-bottom: 1px solid var(--lb3); position: relative; }
.sidebar .menu .sub_menu > li { font-size: 15px; min-height: 40px; }
.sidebar .menu .sub_menu > li.this { color: var(--bl4) !important; }
.sidebar .menu .sub_menu > li > a { display: flex; align-items: center; justify-content: space-between; line-height: 40px; }
.sidebar.short { width: 60px; padding: 0; }
.sidebar.short .logo { padding: 0; }
.sidebar.short .logo a { display: none; }
.sidebar.short .logo .sidebar_toggle { transform: rotate(180deg); margin : 0 auto; }
.sidebar .menu .menu_list { padding: 0; }
.sidebar.short .menu { overflow: visible !important; }
.sidebar.short .menu .mCustomScrollBox { overflow: visible !important; }
.sidebar.short .menu .mCustomScrollBox .mCSB_container { overflow: visible !important; }
.sidebar.short .menu .menu_list > li { position: relative; }
.sidebar.short .menu .menu_list > li:hover .sub_menu { display: block !important; }
.sidebar.short .menu .menu_list > li > a { height: 40px; justify-content: center; align-items: center; }
.sidebar.short .menu .menu_list > li > a > span h1 { display: none; }
.sidebar.short .menu .menu_list > li > a > p { display: none; }
.sidebar.short .menu .sub_menu { display: none !important; position: absolute; top: 0; left: 60px; width: 170px; background-color: var(--db); padding: 5px 0; margin: 0; border: none; border-left: 5px solid var(--lb); }
.sidebar.short .menu .sub_menu > li > a { padding-left: 15px; }
.sidebar.short .menu .sub_menu > li:hover { color: var(--lb2); }

/* 본문 공통 */
.container { width: 100%; min-height: 100vh; background-color: var(--lb); padding-bottom: 140px; }
.container.short .wrap { left: 80px }
/* .wrap { width: 1200px; position: relative; left: 260px; top: 125px; } */
.wrap { width: 1200px; position: relative; left: 260px; top: 80px; }
/* .wrap.wide { width: 1590px; position: relative; left: 260px; top: 125px; } */
.wrap.wide { width: 1590px; position: relative; left: 260px; top: 80px; }
.wrap.wide.over { width: 1770px; }

.title { display: flex; align-items: center; gap: 5px; font-size: 17px; font-weight: 700; color: var(--db2); padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px dashed var(--g); }
.title svg { fill: var(--db2); }
.title span { font-size: 16px; }

.sub_title { display: flex; align-items: center; justify-content: space-between; height: 50px; background-color: var(--g1); border: 1px solid var(--g); padding: 0 10px; position: relative; }
.sub_title h1 { display: flex; align-items: center; gap: 5px; font-size: 16px; color: var(--bl2); font-weight: 600; }
.sub_title .t_toggle { width: 13px; height: 13px; position: relative; cursor: pointer; }
.sub_title .t_toggle::after { width: 2px; height: 13px; background-color: var(--cg); content: ''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); transition: 0.3s; }
.sub_title .t_toggle::before { width: 2px; height: 13px; background-color: var(--cg); content: ''; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(90deg); }
.sub_title .t_toggle.on::after { transform: translate(-50%,-50%) rotate(90deg); }

.table_mid { display: flex; align-items: center; justify-content: space-between; height: 50px; background-color: var(--g1); border: 1px solid var(--g); border-top: none; padding: 0 10px; position: relative; }
.table_mid i { gap: 10px; }
.table_mid label { font-family: 'dutom',sans-serif; font-size: 13px; }
.table_mid span { display: flex; align-items: center; gap: 5px; }

.sel_wrap { width: 150px; height: 35px; position: relative; }
.sel_box { width: 100%; height: 35px; line-height: 35px; border: 1px solid var(--g); font-size: 13px; font-weight: 600; color: var(--bl); padding: 0 10px; border-radius: 5px; cursor: pointer; position: relative; box-sizing: border-box; transition: 0.3s; }
.sel_box.sel_box02 { border: 1px solid var(--gr); }
.sel_box::after { position: absolute; top: 8px; right: 10px; content: ''; width: 16px; height: 16px; background: url(../images/common/down_arrow.png) no-repeat 50% 50%; transition: 0.3s; }
.sel_box.sel_box_w::after { background: url(../images/common/down_arrow.png) no-repeat 50% 50%; }
.sel_box:hover { border: 1px solid var(--bl); }
.sel_box.on { border: 1px solid var(--bl); box-shadow: 0px 0px 4px rgb(15, 111, 171); }
.sel_box.on::after { transform: rotate(180deg); }
.sel_list.on { display: flex; }
.sel_list { width: 100%; position: absolute; left: 0; top: 40px; width: 100%; background-color: var(--w); display: none; flex-direction: column; border-radius: 5px; border: 1px solid var(--g); overflow: hidden; box-shadow: 0px 1px 6px rgba(0,0,0,0.15); z-index: 9; }
.sel_list > h1 { display: flex; align-items: center; justify-content: space-between; height: 45px; font-size: 15px; font-weight: 600; border-bottom: 1px dashed var(--g); padding: 0 10px; }
.sel_list > h1 a { display: flex; }
.sel_list ul li { width: 100%; }
.sel_list ul li a { line-height: 35px; padding: 0 10px; font-size: 13px; display: block; font-weight: 500; }
.sel_list ul li:hover { background-color: #f0f6fb; }
.sel_list ul li.this a { font-weight: bold; color: #0f6fab; }

.date_wrap { height: 50px; display: inline-block; width: 100%; position: relative; margin-top: 20px; background-color: #eee; border: 1px solid var(--g); }
.date { display: flex; align-items: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.date span { font-size: 14px; border-radius: 50px; box-shadow: 0px 1px 6px rgba(0,0,0,0.15); display: inline-block; height: 28px; line-height: 28px; padding: 0 15px; margin: 0 10px; }
.date span.this { background-color: var(--bl3); color: var(--w); }
.date a { width: 25px; height: 25px; border-radius: 50px; display: flex; align-items: center; justify-content: center; transition: 0.3s; }
.date a:hover { box-shadow: 0px 1px 6px rgba(0,0,0,0.3); }

.lock_data { display: flex; align-items: center; position: relative; font-weight: 600; margin-left: 10px; }
.lock_data h1 { font-family: 'SUIT',sans-serif; font-size: 13px; letter-spacing: -0.4px; }
.lock_data.block::before { position: absolute; left:0; top:0; content: ''; display: block; width: 100%; height: 100%; z-index: 9; }
.change_mode { border-radius: 100px; background: var(--red2); width: 55px; height: 22px; display: block; position: relative; cursor: pointer; transition: 0.6s; overflow: hidden; line-height: 13px; margin-left: 5px; }
.change_mode a { width: 16px; height: 16px; border-radius: 16px; background: var(--w); display: block; position: absolute; top: 3px; left: 3px; transition: 0.6s; }
.change_mode a > span { position: absolute; color: var(--w); font-size: 13px; font-weight: 400; }
.change_mode.on { background: var(--green); }
.change_mode.on a { left: 35px; }
.change_mode .change_on { left: -26px; }
.change_mode .change_off { right: -26px; }

.msg span { font-size: 15px; font-weight: 600; color: var(--red2); }

.page { margin-top: 20px; font-family: 'SUIT',sans-serif; font-size: 13px; font-weight: bold; }
.page ul { display: flex; align-items: center; justify-content: center; }
.page ul li a { display: flex; }
.page ul li a:hover { fill: var(--bl); color: var(--bl); }
.page ul li span { padding: 0 8px; }
.page ul li.this a { color:  var(--or) !important; }

/* 연월차 상세 내역 */
.vDetail_table { display: flex; gap: 10px; }
.vDetail_table table { width: calc(100% / 3 - 5px); }

/* 주간일정 */
.week_table td { max-width: 215px; }

/* 주간 업무 전체 출력 */
.print_container { background-color: #fff; width: 100%; height: 100vh; position: relative; }
.print_wrap { width: 1080px; margin: 0 auto; }
.print_wrap .flex { flex-wrap: nowrap !important; gap: 0 !important; }
.print_tit { width: 100%; height: 35px; position: relative; border: 2px solid #111; font-family: "SUIT",sans-serif; background-color: #eee; }
.print_tit h1 { font-size: 16px; font-weight: bold; letter-spacing: -0.4px; line-height: 33px; position: absolute; left: 50%; transform: translate(-50%); }
.print_tit b { font-size: 13px; line-height: 33px; font-weight: bold; position: absolute; width: 120px; left: 20px; text-align: left; }
.print_tit span { font-size: 13px; line-height: 33px; font-weight: bold; position: absolute; width: 191.5px; right: 0; text-align: left; }
.print_table { border: 2px solid #111; table-layout: fixed; }
.print_table thead th { border-bottom: 2px solid #111; background-color: #d5d5d5; }
.print_table thead th:first-child { border-right: 2px solid #111; }
.print_table tbody td { height: 22px; padding: 0; background-color: #fff; font-size: 11px; color: #111; border: 1px solid #111; border-top: none; border-bottom: 1px dotted #111; text-align: left; padding: 0 5px; letter-spacing: -0.4px; }
.print_table tbody tr.border_top { border-top: 1px solid #111; }
.print_table tbody td.blank { border: 1px solid #111; }
.print_table tbody th { border-right: 2px solid #111; line-height: 16px; background-color: #f3f3f3; }
.print_table th { height: 28px; background-color: #fff; font-family: "SUIT",sans-serif; font-size: 13px; color: #111; font-weight: bold; border: 1px solid #111; box-sizing: border-box; }
.flex .print_table { width: calc(50% - 2.5px); }

/* 월정산 지급 관리 */
.cp_table tbody tr:first-child { border-top: 1px solid var(--g); }
.cp_table tbody td:first-child { padding: 0; }
.cp_table tbody td:last-child { padding: 0; }
.cp_table input[type=text] { border: none; }
.cp_table .p_date { background-color: var(--w); }

/* 레이어 공통 */
.layer { position: absolute; background-color: var(--w); box-shadow: 0px 5px 15px rgba(0,0,0,0.2); padding: 20px; border-radius: 10px; display: none; z-index: 99; }
.layer > .layer_close { width: 25px; height: 25px; border-radius: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; position: absolute; top: 10px; right: 10px; transition: 0.3s; }
.layer > .layer_close:hover { box-shadow: 0px 1px 6px rgba(0,0,0,0.3); background-color: var(--gr2); }
.layer .layer_con { margin-top: 25px; }
.layer .layer_input { border: 1px solid var(--g); display: flex; align-items: center; padding: 0 10px; margin-bottom: 10px; }
.layer .layer_input input { height: 30px; box-sizing: border-box; border: none; padding: 0 10px; width: 100%; font-family: "SUIT",sans-serif; font-size: 13px; font-weight: 500; }
.layer .layer_bottom { display: flex; align-items: center; justify-content: center; gap:5px; margin-top: 20px; }

/* 즐겨찾기 레이어 */
.layer#bookmark_layer { width: 300px; top: 80px; right: 80px; font-size: 13px; font-weight: 500; line-height: 20px; }
.layer#bookmark_layer h1 { font-size: 17px; font-weight: 600; margin-bottom: 20px; }
.layer#bookmark_layer i { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.layer#bookmark_layer i span { width: 45px; font-size: 13px; color: var(--cg); font-weight: 600; }
.layer#bookmark_layer i input { width: calc(100% - 45px); height: 35px; border-radius: 5px; border: 1px solid var(--g); font-family: "SUIT",sans-serif; font-size: 14px; font-weight: 500; padding: 0 10px; box-sizing: border-box; }

/* 기타 근무 등록 레이어 */
.input_work_layer { position: absolute; left: 0; top: 0; width: 160px; padding: 10px; border-radius: 5px; border: 1px solid var(--lb3);  box-sizing: border-box; background: var(--wg); z-index: 8; box-shadow: 0px 1px 6px rgba(0,0,0,0.15); display: none; }
.input_work_layer::after { width: 0; height: 0; border: 8px solid transparent; border-bottom-color: var(--wg); content: ''; clear: both; position: absolute; left: 50%; top: -15px; transform: translate(-50%); }
.input_work_layer::before { width: 0; height: 0; border: 8px solid transparent; border-bottom-color: var(--lb3); content: ''; clear: both; position: absolute; left: 50%; top: -16px; transform: translate(-50%); }
.input_work_layer input { width: 50px; height: 30px; background: none; border: 1px solid var(--gr); outline: none; border-radius: 5px; font-size: 14px; box-sizing: border-box; text-align: center; }
.input_work_layer .input_work_btn span { display: inline-block; width: 40px; height: 30px; line-height: 28px; text-align: center; cursor: pointer; border-radius: 5px; border: 1px solid var(--gr); background: var(--gr2); font-family: 'dutom',sans-serif; font-size: 13px; box-sizing: border-box; }
.input_work_layer .input_work_btn span:first-child { background: var(--bl); color: var(--w); border: 1px solid var(--bl); }
.input_work_layer .input_work_layer_nt > span { font-size: 11px; color: var(--cg); font-family: 'SUIT',sans-serif; letter-spacing: -0.6px; }

/* 휴가 관리 기준 레이어 */
.layer#vinfo_layer { width: 500px; top: -10px; right: -10px; font-size: 13px; font-weight: 500; line-height: 20px; }
.layer#vinfo_layer h1 { font-size: 15px; margin-top: 10px; }
.layer#vinfo_layer p { margin-left: 15px; }

/* 업무등록 레이어 */
.layer#work_add_layer { width: 300px; }
.layer#work_add_layer .work_reg_box { width: 100%; }

/* 팝업 공통 */
.popup_wrap { margin: 0 auto; }
.popup_content { width: 100%; padding: 20px; }
.popup_content table { border-top: 1px solid var(--g); }
.popup_content input[type=text] { width: 100%; }
.popup_content select { width: 100%; }
.popup_content .cate_table select { width: auto; }
.popup_content textarea { width: 100%; height: 100%; padding: 5px; }

.popup_title { width: 100%; height: 50px; line-height: 50px; font-size: 20px; padding: 0 20px; background-color: var(--db); color: #fff; }
.popup_title h1 { display: flex; align-items: center; gap: 5px; }

.popup_text { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; }

.popup_tab { margin-bottom: 10px; }
.popup_tab ul { display: flex; align-items: flex-end; border-bottom: 1px solid var(--g); }
.popup_tab ul li { display: flex; align-items: center; height: 40px; background-color: var(--g1); border: 1px solid var(--g); border-left: none; box-sizing: border-box; position: relative; top: 1px; }
.popup_tab ul li:first-child { border-left: 1px solid var(--g); }
.popup_tab ul li a { line-height: 40px; font-size: 13px; color: var(--cg); width: 100%; padding: 0 30px; }
.popup_tab ul li.this { border-top: 2px solid var(--bk); background-color: var(--w); border-bottom: 1px solid var(--w); }
.popup_tab ul li.this a { font-weight: bold; color: var(--bk); }

.popup_top { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 45px; padding: 0 10px; background-color: var(--g1); font-family: "SUIT",sans-serif; font-size: 13px; border: 1px solid var(--gr); }
.popup_top i { display: flex; align-items: center; }
.popup_top p { display: flex; align-items: center; margin-right: 20px; }
.popup_top p select { background-color: var(--w); height: 24px; border: 1px solid var(--gr); padding-left: 5px; padding-right: 20px; font-family: "SUIT",sans-serif; font-size: 13px; }

.popup_bottom { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; }
.popup_bottom a { font-size: 14px; padding: 9px 20px;  }
.popup_bottom2 { display: flex; justify-content: center; gap: 5px; margin-bottom: 20px; }
.popup_bottom2 a { height: auto; line-height: normal; font-size: 13px; padding: 6px 10px;  }

.popup_content .pinput_box { display: flex; flex-direction: column; gap: 20px; }
.popup_content .pinput_box i { display: flex; flex-direction: column; gap: 7px; }
.popup_content .pinput_box i span { font-size: 13px; color: var(--bl); font-weight: 600; margin-left: 5px; }
.popup_content .pinput_box i p { display: flex; align-items: center; gap: 5px; height: 40px; border-radius: 5px; border: 1px solid var(--g); font-family: "SUIT",sans-serif; font-size: 14px; font-weight: 500; padding: 0 10px; box-sizing: border-box; }
.popup_content .pinput_box i input[type="text"] { height: 40px; border-radius: 5px; border: 1px solid var(--g); font-family: "SUIT",sans-serif; font-size: 14px; font-weight: 500; padding: 0 10px; box-sizing: border-box; }
.popup_content .pinput_box i input[type="file"] { height: 40px; border-radius: 5px; border: 1px solid var(--g); font-size: 13px; line-height: 40px; font-weight: 500; padding: 0 10px; box-sizing: border-box; }
.popup_content .pinput_box i select { height: 40px; border-radius: 5px; border: 1px solid var(--g); background-position: 98% center; font-family: "SUIT",sans-serif; font-size: 14px; font-weight: 500; padding-left: 10px; }
.popup_content .pinput_box i textarea { font-size: 14px; font-weight: 500; }

/* 즐겨찾는 메뉴 팝업 */
.bookmark_wrap { display: flex; justify-content: space-between; }
.bookmark_wrap h1 { display: flex; align-items: center; justify-content: space-between; height: 35px; padding: 0 20px; font-size: 13px; color: var(--bl); font-weight: 600; background-color: var(--gr2); border-bottom: 1px solid var(--gr); }
.bookmark_wrap h1 a { display: flex; }
.bookmark_wrap .bookmark_box { width: 400px; height: 400px; border: 1px solid var(--gr); }
.bookmark_wrap .bookmark_btn { display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.bookmark_wrap .bookmark_btn a { display: flex; align-items: center; justify-content: center; background-color: var(--bk); border-radius: 5px; padding: 5px; }
.bookmark_wrap .bookmark_btn a svg { fill: var(--w); }
.bookmark_wrap .bookmark_content { padding: 20px; }
.bookmark_wrap .bookmark_content .pinput_box select { width: 120px; height: 30px; font-size: 13px; }
.bookmark_wrap .bookmark_content .bookmark_menulist { margin-top: 20px; }
.bookmark_wrap .bookmark_content .bookmark_menulist .subCate { display: flex; flex-direction: column; gap: 10px; }
.bookmark_wrap .bookmark_content .bookmark_menulist .subCate.none { display: none; }
.bookmark_wrap .bookmark_content .bookmark_menulist label { font-weight: 600; }
.bookmark_wrap .bookmark_content .bookmark_listnumber { border: 1px solid var(--bk); padding: 0; height: 320px; background: none; }

/* 연월차 내역 팝업 */
.popup_content .year_box { width: 100%; height: 40px; border: 1px solid var(--bk); display: flex; align-items: center; justify-content: center; position: relative; }
.popup_content .year_box span { font-weight: bold; position: relative; z-index: 1; }
.popup_content .year_box p { background-color: var(--y2); position: absolute; left:0; top:0; content: ''; width: calc(100% / 3 * 1); height: 100%; }
.popup_content .month_box { width: 100%; height: 40px; border: 1px solid var(--bk); display: flex; align-items: center; justify-content: center; position: relative; }
.popup_content .month_box span { font-weight: bold; position: relative; z-index: 1; }
.popup_content .month_box p { background-color: var(--bl); position: absolute; left:0; top:0; content: ''; width: calc(100% / 12 * 7); height: 100%; }

/* 구매요청 팝업 */
.pr_table tbody td:nth-child(2) { text-align: left; }
.pr_table tbody td:nth-child(3) { text-align: left; }
.pr_table tbody td:nth-child(4) { text-align: right; }
.pr_table tbody td:nth-child(6) { text-align: right; }

/* 거래명세서 작성 팝업 */
.readonly { position: relative; background-color: #eee; color: #888; }
.edoc_table_wrap { border: 1px solid #e66464; padding: 1px; }
.edoc_table_top { background-color: #fff; height: 55px; position: relative; border: 1px solid #e66464; border-bottom: none; }
.edoc_table_top span { font-family: "SUIT",sans-serif; color: #e66464; font-size: 13px; }
.edoc_table_top input[type=text] { border: 1px solid #bbb; height: 24px; width: 120px; font-family: "SUIT",sans-serif; font-size: 13px; }
.edoc_table_top .edoc_num { position: absolute; left: 5px; top: 5px; }
.edoc_table_top .edoc_tit { position: absolute; left: 50%; transform: translate(-50%); line-height: 55px; font-size: 24px; }
.edoc_table_top .edoc_sub { position: absolute; top:50%; right: 200px; transform: translate(0,-50%); text-align: center; line-height: 16px; }
.edoc_table { font-family: "SUIT",sans-serif; }
.edoc_table thead th { background-color: #fff; border: none; color: #e66464; font-size: 13px; font-weight: normal; color: #e66464; }
.edoc_table tbody th { border: 1px solid #e66464; background-color: #fff; font-size: 13px; font-weight: normal; color: #e66464; line-height: 16px; padding: 5px 0; }
.edoc_table tbody td.pd0 { padding: 0 !important; }
.edoc_table tbody th.pd10 { padding: 0 10px !important; }
.edoc_table tbody td.pd10 { padding: 0 10px !important; }
.edoc_table tbody th img { cursor: pointer; }
.edoc_table tbody td { border: 1px solid #e66464 !important; font-size: 13px; padding: 5px 10px; height: auto; overflow: visible; text-overflow: inherit; white-space: inherit; word-break: normal; }
.edoc_table tbody td textarea { vertical-align: middle; width: 100%; height: 24px; border: 1px solid #bbb; font-family: "SUIT",sans-serif; font-size: 13px; box-sizing: border-box; padding: 3px 5px; resize: both; }
.edoc_table tbody td p { display: flex; align-items: center; }
.edoc_table tbody td p span { width: 60px; display: flex; justify-content: space-between; color: #e66464; }
.edoc_table tbody td p input { margin-left: 5px; }
.edoc_table tbody td p img { cursor: pointer; margin-left: 5px; }
.edoc_table input[type=text] { border: 1px solid #bbb; height: 24px; width: 100%; font-family: "SUIT",sans-serif; font-size: 13px; text-overflow: inherit; white-space: inherit; overflow: auto; }
.edoc_table input[type=radio] { margin-left: 0; }
.edoc_table.pd03 tbody td { padding: 3px !important; }
.edoc_file_box { background-color: #eee; height: 45px; margin-top: 10px; display: flex; align-items: center; padding: 0 20px; border: 1px solid #ccc; }
.edoc_file_box strong { font-size: 13px; margin-right: 10px; font-family: "SUIT",sans-serif; }
.edoc_file_box input[type=file] { border: 1px solid #aaa; height: 22px; line-height: 22px; font-family: "SUIT",sans-serif; font-size: 13px; color: #666; }
.edoc_table_wrap.blue_wrap { border: 1px solid #264385; }
.edoc_table_wrap.blue_wrap .edoc_table_top { border: 1px solid #264385 !important; }
.edoc_table_wrap.blue_wrap .edoc_table_top span { color: #264385; }
.edoc_table_wrap.blue_wrap .edoc_table thead th { color: #264385; }
.edoc_table_wrap.blue_wrap .edoc_table tbody th { border: 1px solid #264385; color: #264385; }
.edoc_table_wrap.blue_wrap .edoc_table tbody td { border: 1px solid #264385 !important; }

/* 견적서 작성 팝업 */
.doc_bill_view_wrap { background-color: #636b81; padding: 10px; font-family: "SUIT",sans-serif; font-size: 13px; }
.doc_bill_view_wrap > .flex { background-color: #fff; padding: 10px; }
.doc_bill_right { width: 170px; margin-top: 22px; }
.doc_bill_right .doc_bill_right_top { text-align: center; border: 1px solid #ccc; border-top: 3px solid #4b5165; }
.doc_bill_right .doc_bill_right_top h1 { height: 35px; line-height: 35px; font-weight: 500; font-size: 15px; font-family: "SUIT",sans-serif; border-bottom: 1px solid #ccc; background-color: #f3f3f3; }
.doc_bill_right .doc_bill_right_bottom { border: 1px solid #ccc; margin-top: 10px; }
.doc_bill_right .doc_bill_right_bottom h1 { text-align: center; height: 35px; line-height: 35px; font-weight: bold; color: #fff; background-color: #3a3e49; }
.doc_bill_right .doc_bill_right_con { text-align: left; padding: 10px; padding-bottom: 20px; }
.doc_bill_right .doc_bill_right_con p { margin-top: 10px; display: flex; align-items: center; height: 13px; }
.doc_bill_right .doc_bill_right_con p b { font-size: 19px; margin-right: 5px; }
.doc_bill_right .doc_bill_right_bottom .doc_bill_right_con p { display: flex; align-items: center; }
.doc_bill_right .doc_bill_right_bottom .doc_bill_right_con p a { text-align: center; height: 30px; line-height: 30px; display: block; width: 100%; background-color: #5d6678; color: #fff; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top { display: flex; align-items: center; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_tit { left: 0; transform: translate(0); text-align: center; width: 475px; position: relative; display: inline-block; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_sub { position: relative; display: inline-block; right: 0; top: 0; transform: translate(0); }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_right { display: inline-block; line-height: 24px; margin-left: 80px; text-align: right; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_right p { display: flex; align-items: center; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_right p b { width: 100px; display: inline-block;}
.doc_bill_view_wrap .edoc_table_wrap .edoc_table_top .edoc_right p span { display: inline-block; color: #111; width: 90px; }
.doc_bill_view_wrap .edoc_table_wrap .edoc_table tbody td { height: 25px; }

.data_cbox { display: flex; align-items: center; gap: 10px; position: absolute; top: 120px; right: 20px; background: linear-gradient(to bottom,#4A4A4A,#2B2B2B); width: 150px; padding: 10px 15px; border-radius: 4px; opacity: 0.7; z-index: 9; }
/* .data_cbox { display: flex; align-items: center; gap: 10px; position: fixed; bottom: 30px; right: 30px; background: linear-gradient(to bottom,#4A4A4A,#2B2B2B); width: 175px; padding: 10px 15px; border-radius: 4px; z-index: 9; } */
.data_cbox svg { height: 1em; }
.data_cbox svg.spin { animation: spin 2s infinite linear; }
.data_cbox span { color: #fff; font-size: 14px; font-weight: 500; }
.data_cbox a { display: flex; position: absolute; right: 15px; top: 49%; transform: translate(0,-50%); }
.data_cbox.on { background: linear-gradient(to bottom,#70ab2d,#558125); }
@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}

/* 그래프 만들기 */
.chart_wrap { display: flex; gap: 20px; }
.chart_wrap .chart_step_box { width: 690px; height: 485px; background-color: #fff; border-radius: 10px; padding: 40px; position: relative; }
.chart_wrap .chart_step_box .chart_step_done { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 5px; background-color: #fff; opacity: 0.8; display: none; z-index: 9; }
.chart_wrap .chart_step_box .chart_step { display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.chart_wrap .chart_step_box .chart_step.none { display: none; }
.chart_wrap .chart_step_box .chart_step h1 { font-size: 20px; font-weight: 700; margin-bottom: 20px; }
.chart_wrap .chart_step_box .chart_step .chart_items { display: flex; align-items: center; gap: 20px; }
.chart_wrap .chart_step_box .chart_step .chart_items > span { width: 110px; font-size: 14px; font-weight: 600; }
.chart_wrap .chart_step_box .chart_step .chart_items .select_box { width: 190px; height: 40px; display: flex; align-items: center; background: url(../images/common/down_arrow.png) no-repeat 160px center; font-size: 14px; font-weight: 500; padding: 0 30px 0 20px; border-radius: 5px; cursor: pointer; position: relative; border: 1px solid #ccd5dd; box-sizing: border-box; }
.chart_wrap .chart_step_box .chart_step .chart_items .select_box ul { width: 100%; display: none; position: absolute; left:0; top: 42px; background-color: #fff; border-radius: 5px; border: 1px solid #ccd5dd; box-sizing: border-box; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.2); z-index: 1; }
.chart_wrap .chart_step_box .chart_step .chart_items .select_box ul li { display: flex; align-items: center; height: 40px; padding: 0 20px; transition: 0.2s; }
.chart_wrap .chart_step_box .chart_step .chart_items .select_box ul li:hover { background-color: #f3f3f3; }
.chart_wrap .chart_step_box .chart_step .chart_items .input_box { display: flex; align-items: center; gap: 10px; }
.chart_wrap .chart_step_box .chart_step .chart_items .input_box span { font-size: 14px; font-weight: 500; }
.chart_wrap .chart_step_box .chart_step .chart_items .input_box input { text-align: center; width: 55px; height: 40px; border: 1px solid #ccd5dd; border-radius: 5px; outline: none; padding: 0 20px; box-sizing: border-box; }
.chart_wrap .chart_step_box .chart_step .chart_items .input_box a { line-height: 40px; font-size: 14px; padding: 0 20px; background-color: #273a64; color: #fff; border-radius: 5px; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box { display: flex; align-items: center; gap: 10px; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input { width: 24px; height: 24px; -webkit-appearance: none; cursor: pointer; border-radius: 2px; margin: 0; position: relative; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type0 { background-color: #000; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type1 { background-color: #36a2eb; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type2 { background-color: #ff6384; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type3 { background-color: #ff9f40; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type4 { background-color: #4bc0c0; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type5 { background-color: #9966ff; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type6 { background-color: #c9cbcf; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.color_type7 { background-color: #ff4242; }
.chart_wrap .chart_step_box .chart_step .chart_items .color_box input.checked::before { content: "\2713"; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #fff; line-height: 1; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick { display: block; width: 120px; background-color: #111; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type0 { height: 1px; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type1 { height: 2px; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type2 { height: 3px; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type3 { height: 4px; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type4 { height: 5px; }
.chart_wrap .chart_step_box .chart_step .chart_items .thick.thick_type5 { height: 6px; }
.chart_wrap .chart_step_box .chart_step .chart_items .check_box label { font-size: 14px; color: #000; }
.chart_wrap .chart_step_box .chart_step .chart_items .check_box .check_icon { width: 24px; height: 24px; }
.chart_wrap .chart_step_box .chart_step .chart_items .check_box .check_icon.on { transform: scale(1); }
.chart_wrap .chart_step_box .chart_step .step_btn { width: 100%; display: flex; justify-content: space-between; position: absolute; bottom: 0; right: 0; padding: 40px; box-sizing: border-box; }
.chart_wrap .chart_step_box .chart_step .step_btn button { width: 140px; height: 40px; line-height: 40px; text-align: center; border: none; background-color: #4d505a; color: #fff; font-family: 'SUIT',sans-serif; font-size: 14px; font-weight: 500; border-radius: 5px; box-shadow: 0px 1px 4px rgba(0,0,0,0.3); cursor: pointer; transition: 0.2s; }
.chart_wrap .chart_step_box .chart_step .step_btn button:hover { opacity: 0.7; }
.chart_wrap .chart_step_box .chart_step .step_btn button.hide { opacity: 0; visibility: hidden; }
.chart_wrap .chart_step_box .chart_step .step_btn button.done { background-color: #2496f1; }
.chart_wrap .chart_step_box .chart_step .step_btn button.edit { background-color: #2496f1; display: none; }
.chart_wrap .chart_step_box .chart_step .step_btn.mode_edit { justify-content: end; }
.chart_wrap .chart_step_box .chart_step .step_btn.mode_edit button { display: none; }
.chart_wrap .chart_step_box .chart_step .step_btn.mode_edit button.edit { display: block; }

.chart_wrap .chart_step_edit { width: 490px; display: none; }
.chart_wrap .chart_step_edit ul { display: flex; flex-direction: column; gap: 15px; }
.chart_wrap .chart_step_edit ul li { display: flex; align-items: center; justify-content: space-between; height: 68px; background-color: #fff; border-radius: 5px; padding: 0 20px; box-sizing: border-box; font-size: 15px; font-weight: 600; }
.chart_wrap .chart_step_edit ul li a { font-size: 13px; background-color: #222; color: #fff; padding: 7px 10px; border-radius: 5px; font-weight: 400; }

.canvas_wrap { margin-top: 20px; width: 100%; display: none; padding: 20px; background-color: #fff; }
.canvas_wrap .canvas { width: 100%; overflow-x: scroll; }