@charset "utf-8";

/* 사용자 화면 공통 검정/주황 테마 */
:root {
    --tb-bg: #090909;
    --tb-surface: #151515;
    --tb-surface-2: #202020;
    --tb-primary: #FE7702;
    --tb-primary-hover: #ff922f;
    --tb-text: #f5f5f5;
    --tb-muted: #aaa;
    --tb-border: #353535;
}

html, body {
    background: var(--tb-bg) !important;
    color: var(--tb-text) !important;
}
body a, body a:link, body a:visited { color: var(--tb-text); }
body a:hover, body a:focus, body a:active { color: var(--tb-primary) !important; }

#hd, #wrapper, #container, #aside, #ft,
.m-header, .m-category-bar, .m-bottom-nav, .m-side-panel {
    background: var(--tb-bg) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}

/* PC 상단 로고·확장 메뉴 영역 */
div.header,
div.header:hover,
div.header > .inner,
div.header h1.logo,
div.header .gnb,
div.header .gnb_ul,
div.header .submenu {
    background: var(--tb-bg) !important;
    border-color: var(--tb-border) !important;
}
div.header {
    border-bottom-color: var(--tb-primary) !important;
}
div.header h1.logo,
div.header h1.logo a {
    display: block;
    width: 250px;
    height: 80px;
    background: var(--tb-bg) !important;
}
div.header h1.logo img {
    display: block;
    width: 250px;
    height: 80px;
    object-fit: contain;
    object-position: left center;
}
div.gnb ul li a.tom,
div.gnb ul li.us div a {
    color: var(--tb-text) !important;
}
div.gnb ul li a.tom:hover,
div.gnb ul li.us:hover a.tom {
    color: var(--tb-primary) !important;
}
div.gnb ul li.us div a:hover {
    background: var(--tb-primary) !important;
    color: #111 !important;
}
div.header:hover div.gnb ul li.us .submenu {
    background: var(--tb-bg) !important;
    z-index: 30;
}
div.header:hover div.gnb ul li.us .submenu a,
div.header:hover div.gnb ul li.us .submenu a:link,
div.header:hover div.gnb ul li.us .submenu a:visited {
    display: block !important;
    color: var(--tb-text) !important;
    border-bottom: 1px solid var(--tb-border) !important;
}
div.header:hover div.gnb ul li.us .submenu a:first-child {
    border-top: 1px solid var(--tb-primary) !important;
}
div.header:hover div.gnb ul li.us .submenu a:hover,
div.header:hover div.gnb ul li.us .submenu a:focus {
    background: var(--tb-primary) !important;
    color: #111 !important;
}

#gnb, .gnb, .gnb_2dul, .m-menu-list, .m-user-box,
.custom-login, .latest, .lt, .new_win,
#bo_list, #bo_v, #bo_w, #bo_vc, .tbl_wrap,
.pc-card, .pc-empty-slot {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}

#gnb, .gnb { border-top-color: var(--tb-primary) !important; }
.gnb_1da:hover, .gnb_1dli_air .gnb_1da, .gnb_1dli_on .gnb_1da,
.gnb_2da:hover, .m-category-item.active,
.m-bottom-nav a.active, .m-bottom-nav a:active {
    background-color: var(--tb-primary) !important;
    color: #111 !important;
}

h1, h2, h3, h4, h5, h6, #container_title,
.pc-title-row h2, .pc-card-info h4, .cl-nick,
.m-menu-header, .m-user-nick { color: var(--tb-text) !important; }
#container_title {
    background: var(--tb-surface) !important;
    border-color: var(--tb-border) !important;
    border-left: 4px solid var(--tb-primary) !important;
}

.pc-card-info, .pc-card-bottom, .box_title,
.tbl_head01 tbody tr, .tbl_head02 tbody tr,
.tbl_frm01 td, .tbl_frm01 th {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}

.tbl_head01 thead th, .tbl_head02 thead th,
.tbl_head01 tfoot th, .tbl_head01 tfoot td,
.tbl_head02 tfoot th, .tbl_head02 tfoot td {
    background: var(--tb-surface-2) !important;
    color: var(--tb-primary) !important;
    border-color: var(--tb-border) !important;
}

/* 사이드 목록 홀짝 행 */
.list_tb,
.list_tb tbody,
.list_tb tbody tr,
.list_tb tbody .list1,
.list_tb tbody .list0 {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
}
.list_tb tbody .list1 {
    background: var(--tb-surface-2) !important;
}
.list_tb tbody td,
.list_tb tbody td a {
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
.list_tb .m_rank_no:not(.m_rank_top),
.list_tb .m_rank_name,
.list_tb .m_rank_name span:not(.m_rank_top),
.list_tb .m_rank_point:not(.m_rank_top) {
    color: var(--tb-text) !important;
}
.list_tb tbody tr:hover,
.list_tb tbody .list1:hover {
    background: rgba(254, 119, 2, .14) !important;
}

/* 공지사항·이벤트·1:1문의 게시판 탭과 목록 */
ul.board_tab {
    border-bottom-color: var(--tb-primary) !important;
}
ul.board_tab li a,
ul.board_tab li a:link,
ul.board_tab li a:visited {
    background: var(--tb-surface-2) !important;
    color: var(--tb-muted) !important;
    border-color: var(--tb-border) !important;
}
ul.board_tab li a.tab_on,
ul.board_tab li a:hover,
ul.board_tab li a:focus {
    background: var(--tb-primary) !important;
    color: #111 !important;
    border-color: var(--tb-primary) !important;
}
#bo_list .tbl_head01 tbody tr td,
#bo_list .tbl_head01 tbody tr.bo_notice td {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-top-color: var(--tb-border) !important;
    border-bottom-color: var(--tb-border) !important;
}
#bo_list .tbl_head01 tbody tr.bo_notice td {
    background: var(--tb-surface-2) !important;
}
#bo_list .tbl_head01 tbody td a,
#bo_list .tbl_head01 tbody td a:link,
#bo_list .tbl_head01 tbody td a:visited,
#bo_list .tbl_head01 tbody .td_num strong {
    color: var(--tb-text) !important;
}
#bo_list .tbl_head01 tbody tr.bo_notice .td_num strong,
#bo_list .tbl_head01 tbody tr.bo_notice .td_subject > a {
    color: var(--tb-primary) !important;
}
#bo_list .tbl_head01 tbody tr:hover td {
    background: rgba(254, 119, 2, .14) !important;
}

/* 포인트 전환 신청 */
.exc_form {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border: 1px solid var(--tb-border);
    padding: 18px;
    box-sizing: border-box;
}
.exc_form table,
.exc_form table th,
.exc_form table td {
    border-color: var(--tb-border) !important;
}
.exc_form table th {
    background: var(--tb-surface-2) !important;
    color: var(--tb-primary) !important;
    padding: 12px !important;
}
.exc_form table td {
    background: var(--tb-surface) !important;
    color: var(--tb-muted) !important;
    padding: 12px !important;
}
.exc_form table td input {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border: 1px solid var(--tb-border) !important;
    padding: 8px 10px;
}
.exc_form .btn_submit {
    background: var(--tb-primary) !important;
    color: #111 !important;
    border: 1px solid var(--tb-primary) !important;
}
.exc_form .btn_submit:hover {
    background: var(--tb-primary-hover) !important;
}

/* 네임드스코어 외부 iframe 페이지 */
.named-score-page {
    width: 850px;
    max-width: 100%;
    margin: 20px auto;
    background: var(--tb-surface);
    border: 1px solid var(--tb-border);
    border-top: 3px solid var(--tb-primary);
    box-sizing: border-box;
    overflow: hidden;
}
.named-score-title {
    padding: 12px 16px;
    background: var(--tb-surface-2);
    color: var(--tb-primary);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    border-bottom: 1px solid var(--tb-border);
}
.named-score-frame {
    display: block;
    width: 100% !important;
    height: 1577px;
    border: 0;
    background: var(--tb-bg);
}
.named-score-page.is-mobile {
    width: 100%;
    margin: 0;
    border-right: 0;
    border-left: 0;
}
.named-score-page.is-mobile .named-score-frame {
    height: calc(100vh - 203px);
    min-height: 520px;
}

input:not([type="checkbox"]):not([type="radio"]), textarea, select, .frm_input {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
input::placeholder, textarea::placeholder { color: #777 !important; }

.btn_submit, .btn_b02, .btn_admin, .cl-btn-primary,
.pc-admin-bar button, .pc-tab.active, .pg_current,
button[type="submit"], input[type="submit"] {
    background: var(--tb-primary) !important;
    border-color: var(--tb-primary) !important;
    color: #111 !important;
}
.btn_submit:hover, .btn_b02:hover, .cl-btn-primary:hover,
.pc-admin-bar button:hover, button[type="submit"]:hover,
input[type="submit"]:hover { background: var(--tb-primary-hover) !important; }

.btn_b01, .btn_cancel, .cl-btn-secondary, .cl-links a,
.pg_page, .pc-tab {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
.pc-tabs {
    background: var(--tb-surface) !important;
    border-color: var(--tb-border) !important;
}
.pc-card-category, .pc-card-date, .pc-count,
.frm_info, .cl-auto, .m-menu-list small { color: var(--tb-muted) !important; }
.pc-card:hover {
    border-color: var(--tb-primary) !important;
    box-shadow: 0 8px 24px rgba(254, 119, 2, .18) !important;
}

/* 파트너 업체 등록/수정 모달 */
#addModal,
#editModal {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border: 1px solid var(--tb-primary) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .7) !important;
}
#addModal h3,
#editModal h3 {
    color: var(--tb-primary) !important;
    border-bottom: 1px solid var(--tb-border);
    padding-bottom: 12px;
}
#addModal label,
#editModal label {
    color: var(--tb-text) !important;
}
#addModal input:not([type="checkbox"]):not([type="radio"]),
#addModal select,
#addModal textarea,
#editModal input:not([type="checkbox"]):not([type="radio"]),
#editModal select,
#editModal textarea {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border: 1px solid var(--tb-border) !important;
}
#addModal input[type="file"],
#editModal input[type="file"] {
    color: var(--tb-muted) !important;
}
#addModal input[type="file"]::file-selector-button,
#editModal input[type="file"]::file-selector-button {
    background: var(--tb-primary);
    color: #111;
    border: 0;
    border-radius: 4px;
    padding: 7px 10px;
    margin-right: 10px;
    cursor: pointer;
}
#addModal iframe,
#editModal iframe {
    background: #111 !important;
}
#currentBannerImage {
    max-height: 280px;
    object-fit: contain;
    background: #0b0b0b;
    border: 1px solid var(--tb-border);
}

/* 회원정보/비밀글 비밀번호 확인 */
#mb_confirm,
#pw_confirm {
    color: var(--tb-text) !important;
}
#mb_confirm h1,
#pw_confirm h1 {
    color: var(--tb-primary) !important;
}
#mb_confirm p,
#pw_confirm p {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
#mb_confirm p strong,
#pw_confirm p strong {
    color: var(--tb-primary) !important;
}
#mb_confirm fieldset,
#pw_confirm fieldset {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
#mb_confirm fieldset .frm_input,
#pw_confirm fieldset .frm_input {
    background: #111 !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-primary) !important;
}
#mb_confirm_id,
#mb_confirm label,
#pw_confirm label {
    color: var(--tb-text) !important;
}
#pw_confirm .btn_confirm a {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}

/* 아이디/비밀번호 찾기 팝업 */
#find_info {
    min-height: 100vh;
    background: var(--tb-bg) !important;
    color: var(--tb-text) !important;
}
#find_info #win_title {
    background: var(--tb-surface) !important;
    color: var(--tb-primary) !important;
    border-top-color: var(--tb-primary) !important;
    border-bottom-color: var(--tb-border) !important;
}
#find_info #info_fs {
    background: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
    padding: 20px !important;
}
#find_info #info_fs p,
#find_info #info_fs label,
#find_info #captcha_info {
    color: var(--tb-text) !important;
}
#find_info #mb_email,
#find_info #captcha_key {
    background: #111 !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-primary) !important;
}
#find_info .win_btn {
    border-top: 1px solid var(--tb-border);
}
#find_info .win_btn button {
    background: var(--tb-surface-2) !important;
    color: var(--tb-text) !important;
    border: 1px solid var(--tb-border) !important;
}

/* 출석부 플러그인 */
#atd_list,
#ajax_navi,
#ajax_calendar,
#ajax_list {
    color: var(--tb-text) !important;
}
#atd_list div.atd_info,
#atd_list div.atd_box,
#atd_list table,
#atd_list tr,
#atd_list td,
#atd_list thead th,
.calendar_conts,
.calendar_summ {
    background-color: var(--tb-surface) !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-border) !important;
}
#atd_list div.atd_info td.head,
#atd_list div.atd_box td,
#atd_list div.atd_box div.no_hand,
#atd_list div.atd_box div.no_hand span,
#atd_list tbody td,
#atd_list td.info_m .contentsText {
    color: var(--tb-text) !important;
}
#atd_list div.atd_info td:not(.head),
#atd_list td.point,
#atd_list #at-timer {
    color: var(--tb-primary) !important;
}
#atd_list div.atd_box {
    border-left: 3px solid var(--tb-primary) !important;
}
#atd_list thead th {
    background: var(--tb-surface-2) !important;
    color: var(--tb-primary) !important;
}
#atd_list tbody tr:nth-child(odd) td {
    background: #121212 !important;
}
#atd_list tbody tr:nth-child(even) td {
    background: var(--tb-surface) !important;
}
#atd_list .attend_input {
    background: #111 !important;
    color: var(--tb-text) !important;
    border-color: var(--tb-primary) !important;
}
#ajax_navi .att-btn-primary,
#ajax_navi .navi .att-btn-primary {
    background: var(--tb-primary) !important;
    color: #111 !important;
    border-color: var(--tb-primary) !important;
}
#ajax_navi .att-btn-primary font {
    color: inherit !important;
}
#ajax_navi .att-btn-primary.disabled {
    background: #303030 !important;
    color: #888 !important;
    border-color: var(--tb-border) !important;
}
.calendar_conts ul.chart {
    background: var(--tb-surface-2) !important;
    border-color: var(--tb-border) !important;
}
.calendar_conts ul.chart li dt {
    color: var(--tb-text) !important;
}
.calendar_conts ul.chart li dt.today,
.calendar_conts ul.chart li dt.regi {
    background: var(--tb-primary) !important;
    color: #111 !important;
}
.calendar_conts ul.chart li dt.off,
.calendar_summ ul.tip li,
.calendar_summ ul.tip li em,
.calendar_summ p.tip {
    color: var(--tb-muted) !important;
}
.calendar_conts ul.chart li dt.sun { color: #ff665b !important; }
.calendar_conts ul.chart li dt.sat { color: #58a6ff !important; }
#ft_copy, .m-bottom-nav {
    background: #050505 !important;
    border-color: var(--tb-border) !important;
}

/* 사용자 페이지 안내 푸터 */
div.footer {
    background: var(--tb-surface) !important;
    color: var(--tb-muted) !important;
    border-color: var(--tb-border) !important;
}
div.footer h2,
div.footer h3,
div.footer strong {
    color: var(--tb-text) !important;
}
div.footer h2 {
    border-left: 4px solid var(--tb-primary);
    padding-left: 10px;
}
div.footer h3 {
    color: var(--tb-primary) !important;
}
div.footer p,
div.footer li {
    color: var(--tb-muted) !important;
}
hr, table, th, td { border-color: var(--tb-border) !important; }

@media (max-width: 991px) {
    .m-header-right a, .m-hamburger, .m-cat-item,
    .m-bottom-nav a { color: var(--tb-text) !important; }
    .m-side-overlay { background: rgba(0, 0, 0, .78) !important; }
}
