/* skip navigation */
.skip_navi a { display:block; position:absolute; left:0; top:-100px; width:100%; padding:0px 0; text-align:center; z-index:1001; border:none; }
.skip_navi a:active, .skip_navi a:focus { top:0; font-weight:bold; padding:5px 0; background:#e1e1e1; line-height:1.5; border-bottom:1px solid #aaa; outline:transparent; }

.admin_wrapper { max-width:100vw; min-height:calc(100vh - 80px); position:relative; }
.admin_wrapper .admin_content { position:relative; min-width:1320px; min-height:calc(100vh - 120px); margin:80px 0 0 280px; padding:40px 40px 120px; transition:margin-left 0.3s ease-in-out; }

/* Header */
.admin_header { width:100%; min-width:1600px; height:80px; position:fixed; top:0; left:0; display:flex; justify-content:space-between; align-items:center;background:#0d1a40; z-index:1000; }
.admin_header .logo { width:280px; text-align:center; }
.admin_header .gnb { width:calc(100% - 680px) }
.admin_header .gnb ul { display:flex; padding-left:55px; justify-items:start; gap:38px; }
.admin_header .gnb a { color:var(--neutral_500); font-size:var(--font_large); font-weight:600; }
.admin_header .gnb a:hover,.admin_header .gnb a.active { color:#fff; }

.admin_header .header_right { width:400px; display:flex; justify-content:end; align-items:center; padding-right:40px; color:var(--neutral_100); }
.admin_header .header_right > .material-symbols-rounded { color:var(--neutral_500); font-size:20px; border:1px solid var(--neutral_800); padding:3px 5px; margin-left:12px; border-radius:4px; background:transparent }
.admin_header .header_right > .material-symbols-rounded:hover { color:var(--neutral_100); border:1px solid var(--neutral_600); }
.header_right .btn_logout { width:120px; height:40px; color:var(--neutral_100); font-size:var(--font_base); border-radius:50px; background:var(--primary_700); margin-left:40px; }
.header_right .btn_logout:hover { background:var(--primary_600); }
.header_right .btn_logout span { margin-left:4px; }

/* lnb */
.admin_wrapper .admin_lnb { position:fixed; top:80px; width:280px; height:100vh; transition: margin-left 0.3s ease-in-out; background:#0d1a40; padding:0 14px 0 20px; z-index:1000; }
.admin_wrapper .admin_lnb:after { content:""; width:12px; height:12px; position:absolute; right:-12px; top:0; background:url(../../assets/images/leftTop_round.png) no-repeat; }
.admin_lnb h2 { display:flex; align-items:center; width:240px; height:100px; color:var(--primary_300); font-size:22px; font-weight:600; border-bottom:1px solid var(--primary_300); padding:20px 12px; }
.admin_lnb h2 .material-symbols-rounded { font-size:24px; margin-right:6px; }
.admin_lnb .toggle_sidebar { position:absolute; right:0; top:20px; width:16px; height:60px; background:var(--neutral_500); color:var(--neutral_800); font-size:26px; border-radius:8px 0 0 8px; transition:background-color 0.2s; text-indent:-5px; padding:3px 0 30px 0; }
.admin_lnb .toggle_sidebar:before { content:"arrow_left"; font-family:'Material Symbols Rounded'; display:block; margin-top:8px; }
.admin_lnb .toggle_sidebar.close:before { content:"arrow_right"; }
.admin_lnb .toggle_sidebar:hover { background:var(--neutral_300); }
.admin_lnb .sidebar_menu { overflow:auto; overflow-x:hidden; height:calc(100vh - 180px); padding-right:2px; }
.admin_lnb .sidebar_menu::-webkit-scrollbar { width:6px; }
.admin_lnb .sidebar_menu::-webkit-scrollbar-track { border-radius:3px; background:#0d1a40; }
.admin_lnb .sidebar_menu::-webkit-scrollbar-thumb { border-radius:3px; background:#283351; }
.admin_lnb .sidebar_menu::-webkit-scrollbar-thumb:hover { border-radius:3px; background:var(--primary_700); }
.admin_lnb .sidebar_menu a { position:relative; display:block; }
.admin_lnb .sidebar_menu a:hover { color:var(--neutral_0) !important; }
.sidebar_menu > li { transition:max-height 0.3s cubic-bezier(0.4,0,0.2,1); overflow:hidden; border-bottom:1px solid #334679; padding:8px 0; }
.sidebar_menu > li.open { overflow:visible; transition:all .3s; }
.sidebar_menu > li.active_depth_2 { background:var(--primary_900); }
.admin_lnb .sidebar_menu > li > a { color:var(--neutral_500); font-size:var(--font_medium); padding:10px 20px 8px; font-weight:600; border-radius:4px; }
.admin_lnb .sidebar_menu li a { border-radius:var(--borderRadius); }
.admin_lnb .sidebar_menu li a:hover { background:var(--primary_800); }
.admin_lnb .sidebar_menu > li.active_depth_2 > a { color:var(--neutral_0); }
.admin_lnb .sidebar_menu > li.active_depth_2 > a:only-child,.admin_lnb .sidebar_menu > li.active_depth_2 > a:only-child:hover { background:var(--primary_700) }
.admin_lnb .sidebar_menu > li.active_depth_2 > a:hover { background:none; }
.admin_lnb .sidebar_menu .depth_3 > li > a { color:var(--neutral_300); padding:6px 12px 5px; margin:0 8px; padding-left:30px; }
.admin_lnb .sidebar_menu .depth_3 > li > a.active_depth_3 { color:var(--neutral_0); font-weight:600; background:var(--primary_700); }
.admin_lnb .sidebar_menu .depth_3 > li > a:before { content:""; width:4px; height:4px; border-radius:4px; background: var(--neutral_100); position: absolute; left:20px; top:50%; transform: translateY(-50%); }
.admin_lnb .sidebar_menu .depth_4 { margin:4px 8px 0; }
.admin_lnb .sidebar_menu .depth_4 a { font-size: 13px; color:var(--neutral_500); padding:3px 12px 1px 30px; border-radius:var(--borderRadius); }
.admin_lnb .sidebar_menu a.active_depth_4 { color:var(--neutral_0); font-weight:600; }
.admin_lnb .sidebar_menu .depth_4 li:last-child { margin-bottom:8px; }

/* content */
.admin_content .content_header h2 { color:var(--neutral_900); font-size:var(--font_xlarge); font-weight:700; }
.admin_content > h3 { display:flex; align-items:center; justify-content:space-between; color:var(--primary_500); font-size:21px; font-weight:700; margin:3px 0 12px 16px; }
.admin_content > h3 span,.admin_content > h4 > span { color:var(--error_color); font-size:var(--font_small); font-weight:500; }
.admin_content .content_header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding:0 16px; }
.content_header .breadcrumb { display:flex; align-items:center; font-size:var(--font_base); color:var(--neutral_800); }
.content_header .breadcrumb a { color:var(--neutral_600); }
.content_header .breadcrumb a:after  { content:"keyboard_arrow_right"; font-family:'Material Symbols Rounded'; padding:0 12px; vertical-align:-1px; font-size:var(--font_small); }
.content_header .breadcrumb a:hover { color:var(--neutral_900); }

/* 검색영역 */
.search_section,.memo_area,.file_dragUpload,.page_comment { position:relative; background:var(--neutral_200); border-radius:var(--borderRadius_2); margin-bottom:40px; padding:20px 32px; transition:all .2s; box-shadow:var(--shadow_light); }
.viewPeriod { position:relative; border-radius:var(--borderRadius_2); margin-bottom:40px; padding:20px 32px; transition:all .2s; box-shadow:var(--shadow_light); background:var(--neutral_100); border:1px solid var(--neutral_300); }
.search_section.small { height:72px; overflow:hidden; }
.search_box { display:flex; gap:20px; align-items:start; margin-bottom:12px; }
.search_box dt { color:var(--neutral_900); font-weight:600; font-size:var(--font_medium); min-width:110px; padding-right:20px; padding-top:5px; text-align:left; }
.search_box.alignC dt { padding-top:0; }
.search_box dt:not(:first-of-type) { padding-left:60px; }
.search_box dd .form_group { min-height:32px; }
.search_section .search_box:last-of-type { margin-bottom:0; }
.search_section .search_box input[type="text"] { flex:1; height:32px; padding:0 12px; border:1px solid var(--neutral_500); border-radius:4px; font-size:var(--font_base); color:var(--neutral_900); }
.search_section .search_box select { min-width:156px; }
.search_section .search_box select.small { min-width:119px !important}
.search_section .search_box input[type="text"]::placeholder { color:var(--neutral_500); }
.search_section .search_box .btn_list { height:40px; padding:0 20px; background:var(--primary_600); color:#fff; font-size:var(--font_base); border-radius:4px; }
.search_section .btn_group { position:absolute; right:32px; top:20px; }

.btn_group .btn_search { background:var(--primary_500); color:#fff; border:1px solid var(--primary_500); }
.btn_group .btn_search:hover { background:var(--primary_600); border:1px solid var(--primary_600); }
.btn_group .btn_search span { font-size:16px; }
.btn_group .btn_openClose { margin-left:4px; min-width:32px; width:32px; height:32px; background:var(--neutral_300); border:1px solid var(--neutral_500); border-radius:var(--borderRadius); }
.btn_group .btn_openClose:before { content:"arrow_drop_up"; font-family:'Material Symbols Rounded'; color:var(--neutral_800); font-size:27px; line-height:1.2; }
.btn_group .btn_openClose.close:before { content:"arrow_drop_down"; }
.admin_content h4 { display:flex; align-items:center; justify-content:space-between; color: var(--Neutral_900); font-size:20px; font-weight:600; margin-top:40px; padding:20px 16px 14px 16px; border-top:1px solid var(--neutral_300); }
.admin_content h4.borderN { border:none; padding-top:0; }
.admin_content h4 strong { color:var(--primary_500); }
.admin_content h3 + h4 { border:none; margin-top:-3px; padding-top:0; }

/* 공통 컴포넌트:입력 필드 */
.form_group { display:flex; gap:20px; flex-wrap:wrap; }
.form_group.column { flex-direction:column; gap:8px; }
.form_group.align_center { justify-content:center; }
.alignC { align-items:center !important; }

.data_table th .form_group { justify-content:center; }
.data_table.align_left td .form_group,.data_table.align_left th .form_group { justify-content:left; }
.form_check { display:flex; align-items:center; justify-content:center; }
.form_check.align_left { justify-content:left; }
.form_check.align_right { justify-content:right; }
.form_check.inline { display:inline; margin-left:24px; }
.form_check.inline input { margin-right:5px; }
.form_check.inline label { vertical-align:middle; }
.calendar_bullet { display:inline-block; color:var(--neutral_600); margin:5px -8px 0; }
.form_group .btn_date_range { display:flex; align-items:start; }
.form_group .btn_date_range li { color:var(--neutral_800); border-top:1px solid var(--neutral_500); border-bottom:1px solid var(--neutral_500); }
.form_group .btn_date_range li:first-child { border-radius:var(--borderRadius) 0 0 var(--borderRadius); overflow:hidden; border-left:1px solid var(--neutral_500); }
.form_group .btn_date_range li:last-child { border-radius:0 var(--borderRadius) var(--borderRadius) 0; overflow:hidden; border-right:1px solid var(--neutral_500);}
.form_group .btn_date_range li button { width:60px; height:32px; background:#fff; }
.form_group .btn_date_range li button.active { color:#fff; background:var(--neutral_800); font-weight:400; }
.btn_group,.table_actions { display:flex; gap:16px; }
.btn_group button, .table_actions button { min-width:100px; }
.btn_fileType { font-size:var(--font_small); color:var(--neutral_800); background:var(--neutral_100); border:1px solid var(--neutral_300); border-radius:2px; padding:2px 8px; font-weight:400; }
.btn_fileType:hover { color:var(--neutral_900); background:var(--neutral_200); border:1px solid var(--neutral_500); }
.btn_groupRight { margin-top:40px; display:flex; gap:16px; justify-content:right; }
.btn_groupRight button { min-width:120px; height:40px; }
.form_warning p,.form_group p,.warning { font-size:var(--font_small); margin-top:8px; font-weight:500; }
.form_group > p { margin-top:0; }
.inline_dl { display:flex; align-items:center; gap:16px; justify-content:center; }
.inline_dl.align_left { justify-content:flex-start; }
.inline_dl.small dt { min-width:60px; }
.inline_dl input { margin-right:4px; }
.inline_dl dt { font-weight:600; color:var(--neutral_900); min-width:100px; }
.form_warning { text-align:left; }

/* 첫번째 탭 */
.first_tab { display:flex; align-items:center; gap:8px; margin-bottom:20px; border-bottom:1px solid var(--neutral_300); }
.first_tab li a { display:block; font-size:var(--font_medium); color:var(--neutral_600); padding:9px 40px; border-radius:var(--borderRadius) var(--borderRadius) 0 0; border:1px solid var(--neutral_300); background:var(--neutral_100); font-weight:500; margin-bottom:-1px; }
.first_tab li a.active,.first_tab li a:hover { background:var(--primary_500); color:var(--neutral_0); border:1px solid var(--primary_500); }
.tab_container .tab_content { display:none; }
.tab_container .tab_content.active { display:block; }

/* 큰탭 */
.big_tab { display:flex; align-items:center; margin:40px 0 20px; }
h3+.big_tab { margin-top:0px; }
.big_tab li { width:100%; text-align:center; }
.big_tab li:first-child a { border-radius:var(--borderRadius_2) 0 0 var(--borderRadius_2); }
.big_tab li:last-child a { border-radius:0 var(--borderRadius_2) var(--borderRadius_2) 0; }
.big_tab li a { display:block; font-size:var(--font_large); color:var(--neutral_500); padding:12px 0 15px; border:1px solid var(--neutral_500); background:var(--neutral_0); font-weight:500; margin-left:-1px; }
.big_tab li a.active,.big_tab li a:hover { background:var(--primary_500); color:var(--neutral_0); border:1px solid var(--primary_500); }

/* 페이징 */
.paging { display:flex; justify-content:center; align-items:center; margin-top:40px; }
.paging a { display:flex; justify-content:center; align-items:center; width:32px; height:32px; border-radius:var(--borderRadius); color:var(--neutral_600); font-size:var(--font_medium); }
.paging a.active, .paging a:hover { background:var(--primary_100); color:var(--primary_500); }

/* 테이블 스타일 */
.table_top { position:relative; display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.table_top.align_right {  justify-content:flex-end; }
.table_top .table_sort { display:flex; align-items:center; gap:20px; }
.table_top .table_sort { display:flex; align-items:center; gap:20px; }
.table_top .table_sort strong { color:var(--primary_500); }
.table_top p { color:var(--neutral_600); font-size:12px; font-weight:700; }
.table_top h4 { padding:0 0 0 16px; margin:0 0 -14px 0; border:none; }
.data_table::before,.table_view::before { display:block; position:absolute; top:0; content:"";width:100%; border-top:1px solid #000; }
.data_table th,.data_table td { padding:11px 8px; text-align:center; vertical-align:middle; line-height:1.3; }
.data_table th,.table_view th { background:var(--neutral_100); border:1px solid var(--neutral_300); border-bottom:none; font-weight:500; text-align:center; }
.data_table tbody th { border-bottom:1px solid var(--neutral_300); }
.data_table td { border:1px solid #dfe8ec; text-align:center; background:var(--neutral_0); }
.data_table.align_left td { text-align:left; }
.data_table.align_left .form_check { justify-content:start; }
.data_table th:first-child,.data_table td:first-child,.table_view th:first-child,.table_view td:first-child { border-left:none; /* 맨 왼쪽 보더 없음 */ }
.data_table th:last-child,.data_table td:last-child,.table_view th:last-child,.table_view td:last-child { border-right:none; /* 맨 오른쪽 보더 없음 */ }
.data_table td a:not(.btn),.table_view td a:not(.btn) { text-decoration:underline; }
.data_table tbody tr:hover,.table_view tbody td:hover { background-color:var(--primary_100); /* 호버 효과 */}
.data_table thead > tr:first-child > th { border-top:none; }
tr.important td { background:var(--primary_100); font-weight:600; }
tr.important td a { font-weight:600; }

/* 테이블 뷰 */
.table_view th,.table_view td { padding:15px 20px; vertical-align:middle; line-height:1.3; text-align:left; border:1px solid #dfe8ec; }
.table_view td { background:var(--neutral_0); }
.essential { color:var(--error_color); margin-right:4px; margin-left:-11px; }

/* 중첩 테이블 */
.table_overlay td:first-child,.table_overlay th:first-child { border-left:1px solid var(--neutral_300); }
.table_overlay td:last-child,.table_overlay th:last-child { border-right:1px solid var(--neutral_300); }
.table_overlay td,.table_overlay th { text-align:center; background:var(--neutral_0); border:1px solid var(--neutral_300); padding:8px 20px; }
.table_overlay tbody td:hover { background:var(--neutral_0); }
.table_overlay th { background:var(--neutral_200); }

/* 로그인 */
.login_wrapper { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:100vh; }
.login_box { width:100%; min-width:0; max-width:480px; padding:60px 40px; background:var(--neutral_200); box-shadow:var(--shadow_light); border-radius:var(--borderRadius_2); }
.login_box h1 { text-align:center; margin-bottom:36px; }
.login_input { display:flex; flex-direction:column; gap:16px; }
.login_input > div { position:relative; }
.login_input label { display:block; font-size:var(--font_medium); font-weight:600; padding:8px; }
.login_input input[type="text"], .login_input input[type="password"] { width:100%; height:60px; padding:0 12px; font-size:var(--font_medium);  }
.login_input .btn_delete { position:absolute; right:20px; top:70px; transform:translateY(-50%); background:var(--neutral_500); border-radius:30px; text-align:center; width:20px; height:20px; }
.login_input .btn_delete:hover { background:var(--neutral_600); }
.login_input .code_input .btn_delete { top:85px; transform:translateY(-50%); }
.login_input .btn_delete span { color:var(--neutral_0);padding:0; }
.login_box .btn_getCode button,.btn_login { width:100%; height:52px; font-size:var(--font_large); color:var(--neutral_0); border-radius:var(--borderRadius); background:var(--neutral_800); font-weight:500;}
.login_box .btn_getCode button:hover { background:var(--primary_800); }
.login_box .btn_getCode button:disabled { background:var(--neutral_500); cursor:not-allowed; }
.login_box .btn_login { background:var(--primary_500);  }
.login_box .btn_login:hover { background:var(--primary_600); }
.login_box .txtError_color { padding:8px 16px; font-weight:500; }
.code_input { position:relative; margin-top:16px; border-top:1px solid var(--neutral_300); padding-top:16px; }
.code_input .timer { position:absolute; right:10px; top:25px; color:var(--neutral_800); font-size:var(--font_medium); }
.code_input .timer span { color:var(--neutral_500); vertical-align:-4px; margin-right:4px; font-size:21px;}
.login_footer { font-size:var(--font_small); color:var(--neutral_600); margin-top:20px; }

/* index */
.admin_content.no_lnb { margin-left:0; }
.admin_content.no_lnb + .admin_footer { margin-left:0; width:100% }
.admin_content .index { display:flex; flex-direction:column; align-items:center; margin:100px auto 0; }
.admin_content .index .index_img { margin:35px 0 45px 0 }
.admin_content .index .welcome { font-size:22px; font-weight:600; margin-bottom:20px; }
.admin_content .index .welcome strong { font-weight:600;  }
.admin_content .index dl { display:flex; padding:6px 32px; background:var(--primary_100); border-radius:50px; gap:8px; }
.admin_content .index dt { font-weight:500; font-size:var(--font_medium); }
.admin_content .index dd { font-weight:500; font-size:var(--font_medium); color:var(--primary_500) }
.login_history { width:500px; margin-top:50px; border:1px solid var(--neutral_300); border-radius:var(--borderRadius_2); padding:20px 32px; }
.login_history h4 { color:var(--neutral_800); border-bottom:1px solid var(--neutral_300); padding:0 0 12px 0; margin-bottom:16px; }
.login_history ul li { display:flex; }
.login_history ul li span { position:relative; display:block; color:var(--neutral_600); font-size:var(--font_medium); width:180px; }
.login_history ul li span:after { position:absolute; right:0; content:"|"; font-weight:100; padding:0 8px 0 0; }
.login_history ul li p { font-weight:500; font-size:var(--font_medium); }
.login_history ul li p:last-child { margin-left:24px; }

/* 배너관리 */
.content_header button,.table_actions .btn_scheduleHelp { font-size:26px; color:var(--neutral_600); vertical-align:-4px; margin-left:4px; }
.content_header button:hover,.table_actions .btn_scheduleHelp:hover { color:var(--primary_800); vertical-align:-4px; }
.btn_bannerPreview { display:block; width:150px; margin:0 auto; }
.btn_bannerPreview img { width:100% }
.banner_list .layer_basic { width:580px; }
.banner_list .layer_basic td img { width:90%; }
.banner_list .layer_basic .search_section { margin-bottom:20px; }
.banner_list .layer_basic .search_box { justify-content:space-between; }

/* 팝업관리 */
.search_input { position:relative; }
.search_input input[type="text"] { width:480px; padding-left:40px !important; }
.search_input:before { position:absolute; left:15px; content:"search"; font-family:'Material Symbols Rounded'; color:var(--neutral_500); font-size:22px; }
.layer_wrapper .search_input input[type="text"] { width:270px; }
.layer_wrapper h3 { font-size:var(--font_medium); font-weight:600; margin:0 0 12px 16px; text-align:left; }
.layer_wrapper h3.border { border-top:1px solid var(--neutral_300); padding-top:20px; }
.layer_wrapper h3 strong { color:var(--primary_500); font-weight:600; }

/* 쿠폰 발급대상 레이어 */
.layer_wrapper.coupon_issue .layer_basic { width:1000px; }
.excel_upload .fileSearch_before { border: 1px solid var(--neutral_300); border-radius: var(--borderRadius); background: var(--neutral_100); padding: 8px 16px; margin-bottom:8px;}
.excel_upload .layer_basic { width:500px; }

/* footer */
.admin_footer { display: flex; width:calc(100% - 280px); min-width:1440px; margin-left:280px; padding:10px 40px; border-top:1px solid var(--neutral_300); transition:all 0.3s 
ease-in-out; }
.admin_footer p { color:var(--neutral_600); font-size:var(--font_small); }

/* 메뉴관리 */
.dd {
    position: relative;
    display: block;
    margin-top:20px;
    padding: 0;
    max-width: 100%;
    list-style: none;
    font-size: 13px;
    line-height: 20px;
}

.dd-list {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}
.dd-list .dd-list {
    padding-left:40px;
}

.dd-empty,.dd-item,.dd-placeholder {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    min-height: 20px;
    font-size: 13px;
    line-height: 20px;
}

.dd-handle { display:block; height:48px; margin:8px 0; padding:9px 0 12px 20px; text-decoration:none; font-weight:600; font-size:16px; border: 1px solid var(--neutral_300); color:var(--neutral_900); background:var(--neutral_100); border-radius:4px; cursor:move; position:relative; transition:all .1s; }
.dd-handle .item-actions a,.dd-handle .delete-btn { display:inline-block; margin-left:8px; font-size:14px; color:var(--neutral_600); background:transparent; border:none; padding:4px; border-radius:4px; cursor:pointer; text-decoration:underline; }
.dd-handle .item-actions a { color:var(--primary_500); }
.dd-handle .item-actions a:hover,.dd-handle .delete-btn:hover { color:var(--error_color); }
.dd > .dd-list > .dd-item > .dd-handle { background:var(--neutral_300); border:1px solid var(--neutral_500); }
.dd-handle:before { content:"horizontal_rule"; font-family: 'Material Symbols Rounded'; color:var(--neutral_600); }
.dd-list .dd-list .dd-handle:before { content:"keyboard_arrow_right"; }
.dd-list .dd-list .dd-list .dd-handle:before { content:"arrow_right"; }
.dd-list .dd-list .dd-list .dd-list .dd-handle:before { content:"wifi_1_bar"; }
.dd-handle:after { position:absolute; right:20px; top:5px; content:"drag_indicator"; font-family:'Material Symbols Rounded'; color:var(--neutral_500); font-size:24px; }
.dd-handle:hover:after {  color:var(--primary_500);}
.dd-handle:hover { color:var(--primary_700); background:var(--primary_100) !important; border:1px solid var(--primary_300) !important; }
.dd-handle .label-text {
    display: inline-block;
}

.item-actions {
    position: absolute;
    right:60px;
    top: 50%;
    transform: translateY(-50%);
}

.dd-nodrag {
    cursor: default;
}


.dd-item > button {
    position: relative;
    cursor: pointer;
    float: left;
    width: 25px;
    height: 20px;
    margin: 5px 0;
    padding: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border: 0;
    background: none;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    font-weight: 700;
}
.dd-item > button:before {
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    text-indent: 0;
}
.dd-item > button.dd-expand:before {
    content: '+';
}
.dd-item > button.dd-collapse:before {
    content: '-';
}

.dd-expand {
    display: none;
}
.dd-collapsed .dd-collapse,
.dd-collapsed .dd-list {
    display: none;
}
.dd-collapsed .dd-expand {
    display: block;
}

.dd-empty,
.dd-placeholder {
    margin: 5px 0;
    padding: 0;
    min-height: 30px;
    background: #f2fbff;
    border: 1px dashed #b6bcbf;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.dd-empty {
    border: 1px dashed #bbb;
    min-height: 100px;
    background-color: #e5e5e5;
    background-size: 60px 60px;
    background-position: 0 0, 30px 30px;
}

.dd-dragel {
    position: absolute;
    pointer-events: none;
    z-index: 9999;
}
.dd-dragel > .dd-item .dd-handle {
    margin-top: 0;
}
.dd-dragel .dd-handle {
    box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1);
}

.dd-nochildren .dd-placeholder {
    display: none;
}

/* 로그보기 */
.btn_see_reasons { width:300px; }
.see_reasons .layer_content { max-height:400px; overflow:auto; }

/* 회원관리 레이어 */
.memo_area { margin:20px 0 5px; text-align:right; }
.memo_area dl { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.memo_area dl:last-child { margin-bottom:0; }
.memo_area dt { width:80px; text-align:left; }
.memo_area dd { flex:1; }
.memo_area input, .memo_area textarea { width:100%; }
.byte_count { text-align:right; font-size:var(--font_small); color:var(--neutral_500); margin-top:4px; }
.byte_count span { font-weight:500; color:var(--primary_500); }
.memo_area textarea { min-height:120px; padding:12px; resize:none; }
.memo_area button { margin-top:12px; }

/* 학습상담 레이어 */
.study_counseling .layer_content { width:600px; overflow:hidden; }

/* 댓글 리스트 */
.study_counseling .comment_list,.study_counseling .scroll { max-height:310px; overflow:auto; }
.comment_list { margin-top:20px; }
.comment_list ul li { border-bottom:1px solid var(--neutral_300); padding:10px 20px; }
.comment_list ul li p { color:var(--neutral_800); text-align:left; }
.writer_info { display:flex; justify-content:right; gap:12px; margin-bottom:8px; color:var(--neutral_500); }
.writer_info button { color:var(--neutral_600); }
.writer_info button:hover { color:var(--neutral_900); }

/* 학적부 */
.school_register h3 { display:flex; align-items:center; font-size:var(--font_medium); font-weight:600; margin:32px 0 12px; }
.school_register .btn_openClose { margin-right:12px; width:24px; height:24px; border:1px solid var(--neutral_800); border-radius:var(--borderRadius); }
.school_register .btn_openClose:hover { background:var(--neutral_200); }
.school_register .btn_openClose:before { content:"arrow_drop_up"; font-family:'Material Symbols Rounded'; color:var(--neutral_800); font-size:24px; line-height:.95 }
.school_register h3:has(.btn_openClose.close) { border-bottom:1px solid var(--neutral_900); padding-bottom:12px; }
.school_register .btn_openClose.close:before { content:"arrow_drop_down"; }
.school_register .layer_basic { width:1440px; height:740px; }
.ipMac_registration_update .layer_basic { width:820px; height:750px; }
.ipMac_registration_update .layer_content { max-height:620px; }
.no_txt.border { border-top:1px solid var(--neutral_300); border-bottom:1px solid var(--neutral_300);  }
.no_txt { color:var(--neutral_500); text-align:center; padding:60px 0; }
.no_txt button { display:block; margin:20px auto 0; }
.icon_tooltip { position:relative; display:inline-block; margin-left:4px; color:var(--neutral_500); font-size:18px; cursor:pointer; }
.icon_tooltip button { color:var(--neutral_600); font-size:21px; vertical-align:-5px; }
.tooltip { opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s; position:absolute; top:35px; left:-14px; width:400px; border-radius:8px; background:var(--neutral_800); color:#fff; font-size:12px; padding:16px 20px; text-align:left;  z-index:100; box-shadow:var(--shadow_light); }
.icon_tooltip.open .tooltip { opacity:1; visibility:visible; }
.tooltip ul { margin:8px 0; }
.tooltip li { position:relative; padding-left:10px;color:#fff; font-size:12px; }
.tooltip ul li:before { position:absolute; left:0; top:-4px; content:"•"; font-size:16px; color:#fff; }
.tooltip ol li { list-style-type:decimal; margin-left:16px; padding-left:0;}
.tooltip:before { position:absolute; left:18px; top:-5px; content:""; width:8px; height:10px; transform:rotate(45deg); flex-shrink:0; background:var(--neutral_800); }
.tooltip strong { font-size:15px; padding-bottom:3px; display:block; }

/* 기수관리 */
.template_selection,.detailed_subject { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:20px; margin-top:16px; }
.inline_dl .template_selection { margin:0; }
.detailed_subject { flex-direction:column; align-items:flex-start; }
.template_selection li { padding:4px 20px; border:1px solid var(--neutral_500); border-radius:30px; }
.template_selection span,.detailed_subject span { color:var(--primary_800); font-weight:500; }
.template_selection button,.detailed_subject button { color:var(--error_color); font-weight:500; }

/* 학점은행제 관리 */
.weekly_schedule { display:flex; gap:20px; justify-content:center; }
.weekly_schedule dt,.weekly_schedule dd { font-weight:500; }
.weekly_schedule dt { color:var(--primary_500); }
.weekly_schedule span { color:var(--neutral_600); }
.table_actions .btn_scheduleHelp { min-width:30px; margin-right:-8px; }
.registration_process .layer_basic,.content_registration .layer_basic,.difficulty_setting .layer_basic { width:1000px; }
.table_comment { margin-top:16px; color:var(--neutral_600); font-size:var(--font_small); font-weight:700; }

/* 콘텐츠 차시 상세 내용 */
.lesson_detailContent { display:flex; height:400px; align-items:flex-start;align-self:stretch; }
.lesson_detailContent .lesson_detailContent_left { width:200px; height:400px; overflow:hidden; overflow-y:scroll; border-radius:var(--borderRadius_2) 0 0 var(--borderRadius_2); border:1px solid var(--neutral_300); }
.lesson_detailContent .lesson_detailContent_left ul { display:flex; flex-direction:column; }
.lesson_detailContent .lesson_detailContent_left li { height:46px; border-bottom:1px solid var(--neutral_300); text-align:center; width:100%; }
.lesson_detailContent .lesson_detailContent_left li:last-child { border-bottom:none; }
.lesson_detailContent .lesson_detailContent_left li a { display:flex; width:100%; height:100%; justify-content:center; align-items:center; }
.lesson_detailContent .lesson_detailContent_left li a.active { background:var(--neutral_100); font-weight:700; }
.lesson_detailContent .lesson_detailContent_right { border-radius:0 var(--borderRadius_2) var(--borderRadius_2) 0; background:var(--neutral_300);border:1px solid var(--neutral_500); padding:20px 30px 20px 40px; flex:1; }
.lesson_detailContent .lesson_detailContent_right > div { height:358px; overflow-y:scroll; padding-right:8px; }
.lesson_detailContent .lesson_detailContent_right td { background:var(--neutral_0); }

/* 학습 운영 관리 */
.question_txt { max-width:600px; }
.exam_preview .layer_content { width:1000px; }
.exam_content { text-align:left; margin-top:40px; }
.exam_question h4 { padding:16px 20px; font-weight:500; background:var(--neutral_100); font-size:var(--font_base); border-top:1px solid #000; border-bottom:1px solid var(--neutral_300); margin-top:16px; }

/* exam_choice: 동그라미 안 숫자 표시 */
.exam_choice { padding:16px 20px; counter-reset: exam-counter; }
.exam_choice li { list-style:none; counter-increment: exam-counter; position:relative; padding-left:24px; margin-bottom:4px; }
.exam_choice li::before { content:counter(exam-counter); position:absolute; left:0; top:3px; width:14px; height:14px; line-height:14px; border-radius:50%; text-align:center; font-size:var(--font_small); border:1px solid var(--neutral_600); }
.exam_question .right_answer { background:var(--primary_100); padding:16px 20px; }
.exam_question .right_answer strong { display:block; color:var(--primary_500); font-size:var(--font_medium); margin-bottom:4px; }
.page_comment { background:var(--neutral_100); border:1px solid var(--neutral_300); text-align:left; }
.page_comment li { position:relative; padding-left:12px; }
.page_comment li:before { content:""; width:3px; height:3px; border-radius:50%; background:var(--neutral_600); position:absolute; left:0; top:8px; }

/* 문제은행 관리 */
.questionBank_wrap { position:relative; display:flex; }
.questionBank_wrap .course_list { width:500px; height:960px; padding-right:24px; margin-right:24px;  }
.questionBank_wrap .course_list .search_box,.redeployment .search_box { flex-direction:column; gap:0 20px; }
.questionBank_wrap .course_list .search_box dd,.redeployment .search_box dd { margin-top:16px; }
.course_list .search_box select { width:150px; }
.course_list .search_box .search_input input { width:235px; }
.questionBank_wrap .course_detail { flex:1; background:var(--neutral_300); border:1px solid var(--neutral_500); border-radius:var(--borderRadius_2); padding:20px 32px; }
.questionBank_wrap .course_list .scroll { max-height:804px; overflow:auto; }
.course_detail header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.course_detail header h3 { font-size:var(--font_large); font-weight:600; }
.question_content { max-width:250px; }
.percent { gap:10px; align-items:center; }
.percent .calendar_bullet { padding:0 10px; }
.questionBank_wrap::after {
    content: "";
    position:absolute; /* span wrap height and scroll with page */
    top:-100px; /* offset below the fixed header */
    bottom:-160px; /* extend 40px past the wrap so it visually meets the footer */
    left: calc(500px); /* adjust if needed to align with course_list */
    width:1px;
    background:linear-gradient( to bottom, #fff 0px,#fff 100px, var(--neutral_300) 100px, var(--neutral_300) calc(100% - 40px), #fff calc(100% - 40px), #fff 100% );
    pointer-events:none; z-index:0; /* keeps it behind interactive elements */ }
.single_registr .layer_basic { width:1100px; }

/* 파일 업로드_버튼형 */
.file_search { position:relative; display:flex; gap:16px; }
.file_search.btn_type label { line-height:2; display:inline-block; transition:all .2s; }
.file_search.btn_type .fileSearch_after { margin-top:0; }
td .file_search.btn_type a { text-decoration:none; }
.answer_option li { display:flex; align-items:center; gap:8px; counter-increment:answer; position:relative; padding-left:36px; margin:8px 0; }
.answer_option input[type="text"] { width:450px; }
.answer_option .material-symbols-rounded { margin-left:0; }
.answer_option { counter-reset:answer; list-style:none;padding-left:0;  margin-left:0; }
.answer_option li::before { content:counter(answer) "번"; position:absolute; left:0; top:50%; transform:translateY(-50%); font-weight:600; color: #333; white-space:nowrap; }
.btn_answerOption { display:flex; justify-content:end; gap:16px; margin-top:24px; }

/* 반배정 슬라이드 */
.classAssignment_swiper { position:relative; padding:0 60px; overflow:hidden; margin-bottom:40px; }
.classAssignment_swiper .swiper-container:before { position:absolute; background:var(--neutral_0); width:60px; content:""; height:100%; left:-60px; top:0; z-index:10; }
.classAssignment_swiper .swiper-container:after { position:absolute; background:var(--neutral_0); width:60px; content:""; height:100%; right:-60px; top:0; z-index:10; }
.classAssignment_swiper .swiper-container { overflow:visible; }
.classAssignment_swiper ul { display:flex; width:100%; gap:20px; align-items:stretch; padding:0; margin:0; }
.classAssignment_swiper li { width:calc((100% - 76px) / 4) !important; display:flex; padding:32px 32px 24px 32px; flex-direction:column; justify-content:start;align-items:center; border-radius:var(--borderRadius); border: 1px solid var(--neutral_300); background:var(--neutral_100); box-shadow:var(--shadow_light); margin-bottom:5px; }
.classAssignment_swiper li:hover { border:1px solid var(--neutral_800);}
.classAssignment_swiper dl { display:flex; }
.classAssignment_swiper li dt,.classAssignment_swiper li dd { font-size:18px; font-weight:600; }
.classAssignment_swiper li dd { max-width:220px; display:inline-block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.classAssignment_swiper li dt:after { content:" | "; color:var(--neutral_500); font-weight:400; margin:0 8px 0 4px; }
.classAssignment_swiper li strong { font-size:20px; margin:10px 0 15px 0; }
.classAssignment_swiper li span { color:var(--neutral_600); }
.classAssignment_swiper .btn_swiperControl { border:1px solid var(--neutral_800); width:40px; height:32px; border-radius:var(--borderRadius); background:var(--neutral_0); color:var(--neutral_800); }
.classAssignment_swiper .btn_swiperControl:after, .classAssignment_swiper .btn_swiperControl:before { font-size:13px; font-weight:800; }
.classAssignment_swiper .swiper-button-prev { left:-60px; }
.classAssignment_swiper .swiper-button-next { right:-60px; z-index:11; }

/* 수강자 반 재배정 레이어 */
.re_deployment .layer_basic,.class_assignment .layer_basic { width:1180px; }
.re_deployment .redeployment { display:flex; justify-content:space-between; }
.re_deployment .layer_content { overflow:hidden }
.graph_section { display:flex; padding:16px 20px; align-items:center; justify-content:space-between; }
.redeployment_left,.redeployment_right { width:514px; }
.graph_section div { position:relative; width:370px; height:8px; background:var(--neutral_300); border-radius:4px; overflow:hidden; }
.redeployment .graph_section p { position:absolute; left:0; height:8px; background:var(--primary_500);  /* 계산: (사람수 / max) * 100% */
  width:calc((var(--count, 0) / var(--max)) * 100%);
  transition: width .45s ease; }
.graph_section dl,.graph_section span { display:flex; margin-left:20px; font-weight:500; }
.graph_section dt,.graph_section dd { font-weight:500; }
.graph_section dt:after { content:" / " }
.redeployment_left .scroll { height:190px; overflow:auto; padding-bottom:20px; }
.redeployment_right .scroll,.re_deployment.no .redeployment_left .scroll { height:347px; overflow:auto; padding-bottom:20px; }
.redeployment .redeployment_left .graph_section p { background:var(--primary_500); }
.redeployment_left .search_input input[type="text"] { width:274px; }
.select_button { display:flex; flex-direction:column; gap:8px; justify-content:center; }
.select_button button { width:40px; height:32px; border:1px solid var(--neutral_800); border-radius:var(--borderRadius); background:var(--neutral_0); }
.select_button button:hover { background:var(--neutral_100); }
.redeployment_right dt { color:var(--primary_500); font-weight:600; }
.re_deployment.no .redeployment_left .table_top { margin-top:61px; }
.exam_content h3 select { float:right; margin-bottom:8px; }
.exam_content .first_tab { margin-top:-40px; }
.evaluation_result .graph_section p { position:absolute; left:0; height:8px; background:var(--primary_500); --max:100; /* 100% 기준 */
  width:calc((var(--count, 0) / var(--max)) * 100%);
  transition: width .45s ease; }
.evaluation_result .exam_content { margin-top:20px; }
.evaluationResult_detail { border:1px solid var(--neutral_300); border-bottom:none;}
.evaluationResult_detail .question { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid var(--neutral_300); background:var(--neutral_200); font-weight:500; }
.evaluationResult_detail .question strong { color:var(--primary_500); }
.evaluationResult_detail li { display:flex; align-items:center; padding-left:20px; border-bottom:1px solid var(--neutral_300);  }
.evaluationResult_detail li > p { min-width:100px; }
.evaluationResult_detail dt:after { content:""; }
.evaluationResult_detail dd { color:var(--neutral_600); padding-left:5px;}
.evaluationResult_detail dd:before { content:"(" }
.evaluationResult_detail dd:after { content:")" }
.surveyInfo { display:flex; gap:20px; margin-bottom:40px; height:305px; }
.surveyInfo > div { width:50%; }
.surveyInfo h3 { font-size:20px; font-weight:600; padding:0 16px 14px 16px; }
.surveyInfo h4 { font-size:16px; font-weight:600; padding:0 16px 14px 16px; border:none; margin:0; }
.surveyInfo .surveyInfo_right { display:flex; gap:20px; padding:32px 32px 24px 32px; border-radius:var(--borderRadius_2); border:1px solid var(--neutral_500); background:var(--neutral_300) }
.surveyInfo .surveyInfo_right .surveyInfo_box { width:50%; }
.surveyInfo .surveyInfo_right .surveyInfo_box table { height:210px; }
.surveyInfo .surveyInfo_right .surveyInfo_box td { background:var(--neutral_0); }
.tab_required { position:absolute; right:0; top:-50px;color:var(--error_color); font-weight:500; font-size: var(--font_small); }
.preview { margin:16px 0; }
.bullet_circle,.bullet_num { padding-left:20px; }
.bullet_circle li { list-style-type:disc; }
.bullet_num li { list-style-type:decimal; }
.bullet_hyphen li { position:relative; padding-left:20px; }
.bullet_hyphen li:before { position:absolute; left:5px;content:"-"; }
.skin_preview { width:240px; height:164px; background:var(--neutral_300) url(../../assets/images/preview_logo.png) center no-repeat; border:1px solid var(--neutral_500); border-radius:var(--borderRadius); }
.content_composition { display:flex; gap:60px; }
.content_composition .search_box { align-items:center; }
.content_composition .search_box select { width:500px; }
.note_registration { display:flex; border:1px solid var(--neutral_500); border-radius:var(--borderRadius_2); overflow:hidden; }
.note_registration .list { width:500px; max-height:1600px; padding:20px 32px; border-right:1px solid var(--neutral_500); overflow:auto; }
.note_registration .note_detail { flex:1; padding:20px 32px; background:var(--neutral_300); }
.notice_preview .layer_content { width:1050px; }

/* 상담원 상태 */
.counselor_status { display:flex; gap:20px; }
.counselor_status .status { width:500px; display:flex; text-align:center;flex-direction:column; gap:10px; padding:32px 32px 24px; position:relative; border-radius:var(--borderRadius_2); transition:all .2s; box-shadow:var(--shadow_light); background:var(--neutral_100); border:1px solid var(--neutral_300); text-align:center; }
.counselor_status .status dl { display:flex; justify-content:center; }
.counselor_status .status dt,.counselor_status .status dd { font-size:var(--font_large); font-weight:600; }
.counselor_status .status dd { color:var(--neutral_500); }
.counselor_status .status dd:before { content:"|"; padding:0 8px; font-weight:400; }
.counselor_status .hoursWork { font-size:20px; font-weight:600; }
.counselor_status .hoursWork strong { color:var(--success_color); font-weight:600; }
.counselor_status .hoursWork span:first-child:after { content:": " }
.counselor_status .table { padding:27px 32px 24px; flex:1; background:var(--neutral_300); border-radius:var(--borderRadius_2); overflow:hidden; border:1px solid var(--neutral_500); }
.counselor_status .table h3 { font-size:var(--font_medium); font-weight:600; margin-bottom:12px; }
.counselor_status .table strong { color:var(--primary_500); }
.counseler_notice { display:flex; gap:40px; }
.counseler_notice div { width:50%; }
.counseler_notice div h4 { border-top:none; border-bottom:1px solid var(--neutral_900); padding-top:0; }
.counseler_notice div li { position:relative; display:flex; padding:16px 20px 16px 20px; height:65px; border-bottom:1px solid var(--neutral_300); align-items:center; justify-content:space-between; }
.counseler_notice div li p,.counseler_notice div li a { display:list-item; list-style:disc; list-style-position:inside; width:80%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.counseler_notice div li a { width:100%; }
.counseler_notice div li p.complete { color:var(--neutral_600); }
.counseler_notice div li button { width:102px; }
.tooltip.right { left:initial; right:-80px; }
.tooltip.right:before { left:initial; right:88px; }
.change_history .tooltip { width:300px; }
.reason_holding .layer_content,.counseling_assign .layer_content,.search_member .layer_content,.member_confirmation .layer_content { width:800px; }
.off td { color:var(--neutral_600); background:var(--neutral_100); }
.refund_request .table_overlay { width:300px; min-width:300px; }
.refund_request .table_overlay td { height:38px; }
.refund_request .layer_content { width:1000px; }
.data_table tfoot { border-bottom:1px solid #dfe8ec; }
.refund_request .layer_content { width:1000px; padding-bottom:20px; }
.bank_info { display:flex; gap:16px; align-items:center; }
.bank_info dt { font-weight:600; min-width:60px; padding-right:8px; }
.refund_request .layer_content > strong { display:block; font-weight:600; font-size:var(--font_large); margin:40px 0 10px; }
.faq_subject { width:650px }
.category_management .layer_content { width:1100px; }
.category_management .search_section, .category_management .page_comment { margin-bottom:20px; }
.byte_info { display:flex; justify-content:flex-end; margin-top:8px; }
.byte_info p { font-weight:500; margin-right:4px; }
.byte_info strong { color:var(--primary_500); }
.byte_info span { color:var(--neutral_500); }
.byte_info span:before { content:"(" }
.byte_info span:after { content:")" }
.search_memberDetail .layer_content,.package_search .layer_content,.coupon_list .layer_content { width:1000px; }

/* 통계 */
.national_subsidy input[type="date"] { width:150px; }
.national_subsidy input[type="number"] { color:var(--error_color); }

/* 학습현황 관리 */
dl.inline { display:flex; align-items:center; gap:8px; }
dl.inline dt { min-width:80px; }
.question_marks .layer_basic,.questionMarks_detail .layer_basic,.score_result .layer_basic { width:1100px; }
.exam_question { text-align:left; }
.answer_section .layer_content { width:1100px; }
.learning_log .layer_basic { width:900px; }

/* 답변 길이 고정 후 스크롤 */
.answer_text {
    max-height:500px;
    overflow-y:auto;
}