@charset "utf-8";

/* =====================================================
   기존 게시판 공통 스타일 (원본 유지 - 절대 수정 금지)
===================================================== */
#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus,#bo_cate a:hover,#bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;border:1px solid #3a8afd;box-shadow:inset 0 2px 5px rgb(33,135,202)}
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70;vertical-align:baseline}
.chk_box input[type="checkbox"] + label span {position:absolute;top:10px;left:10px;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.sound_only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


/* =====================================================
   CSS 변수 정의
   복권/룰렛과 동일한 디자인 언어:
   - 라이트모드: 흰 배경 + 얇은 border + 상단 2px 포인트 라인
   - 다크모드: html[data-theme="dark"] 기준
===================================================== */

/* ── 라이트모드 기본값 ── */
#gft_board {
    --gft-accent:   #5B68FF;       /* 메인 포인트 컬러 (복권과 동일) */
    --gft-accent2:  #FF6B5B;       /* 보조 포인트 컬러 */
    --gft-ok:       #2ecc71;       /* 구매가능/완료 초록 */
    --gft-warn:     #f59e0b;       /* 대기/포인트 오렌지 */
    --gft-danger:   #e53e3e;       /* 에러/반려 빨강 */
    --gft-card:     #ffffff;       /* 카드 배경 */
    --gft-card2:    #f6f6f8;       /* 카드 호버/서브 배경 */
    --gft-border:   rgba(0,0,0,0.08);  /* 테두리 */
    --gft-text:     #1a1a2e;       /* 본문 텍스트 */
    --gft-muted:    #9999b0;       /* 보조 텍스트 */
    --gft-shadow:   rgba(0,0,0,0.08);  /* 그림자 */

    font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif !important;
    font-size: 14px !important;
    color: var(--gft-text) !important;
    line-height: 1.5 !important;
}
#gft_board * { box-sizing: border-box !important; }

/* ── 다크모드 변수 재정의 ── */
html[data-theme="dark"] #gft_board {
    --gft-accent:   #6677FF;
    --gft-accent2:  #FF7A6B;
    --gft-ok:       #10b981;
    --gft-warn:     #f59e0b;
    --gft-danger:   #e53e3e;
    --gft-card:     #12121a;
    --gft-card2:    #1a1a26;
    --gft-border:   rgba(255,255,255,0.07);
    --gft-text:     #e0e0f0;
    --gft-muted:    #55556a;
    --gft-shadow:   rgba(0,0,0,0.4);
}


/* =====================================================
   상단 배너 - 복권 헤더와 동일 구조
   흰 카드 + 상단 2px 그라데이션 라인 + 아이콘
===================================================== */
#gft_board .gft_banner {
    width: 100% !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 18px !important;
    background: var(--gft-card) !important;
    border: 1px solid var(--gft-border) !important;
    box-shadow: 0 4px 16px var(--gft-shadow) !important;
    padding: 28px 32px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 110px !important;
    transition: background .25s, border-color .25s !important;
}
/* 상단 2px 포인트 라인 (복권/룰렛과 동일) */
#gft_board .gft_banner::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--gft-accent), var(--gft-accent2)) !important;
    pointer-events: none !important;
}

/* 다크모드 배너 */
html[data-theme="dark"] #gft_board .gft_banner {
    background: linear-gradient(145deg, #1a1a1a, #111) !important;
    border-color: #2a2a2a !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
}

#gft_board .gft_banner_text { position: relative !important; z-index: 1 !important; }

/* 배지 라벨 - 룰렛 rl-badge와 동일 스타일 */
#gft_board .gft_banner_label {
    display: inline-block !important;
    padding: 3px 12px !important;
    border: 1px solid var(--gft-accent) !important;
    border-radius: 20px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--gft-accent) !important;
    margin-bottom: 10px !important;
}

/* 타이틀 */
#gft_board .gft_banner_title {
    font-size: clamp(18px, 3vw, 26px) !important;
    font-weight: 800 !important;
    color: var(--gft-text) !important;
    margin: 0 0 5px !important;
    letter-spacing: -0.3px !important;
    line-height: 1.3 !important;
}
html[data-theme="dark"] #gft_board .gft_banner_title { color: #ccc !important; }

/* 설명 텍스트 */
#gft_board .gft_banner_desc {
    font-size: 13px !important;
    color: var(--gft-muted) !important;
    margin: 0 !important;
}

/* 이모지 아이콘 */
#gft_board .gft_banner_icon {
    position: relative !important;
    z-index: 1 !important;
    font-size: 52px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin-left: 20px !important;
    opacity: .85 !important;
}


/* =====================================================
   툴바 - 건수 + 카테고리 탭 + 검색
   복권 서브탭 + 테이블 스타일 통일
===================================================== */
#gft_board .gft_toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--gft-border) !important;
}
html[data-theme="dark"] #gft_board .gft_toolbar { border-bottom-color: #2a2a2a !important; }

#gft_board .gft_toolbar_left {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

/* 전체 N개 텍스트 */
#gft_board .gft_total_txt { font-size: 13px !important; color: var(--gft-muted) !important; }
#gft_board .gft_total_txt strong { font-weight: 700 !important; color: var(--gft-text) !important; }
html[data-theme="dark"] #gft_board .gft_total_txt strong { color: #ccc !important; }

/* ── 카테고리 탭 - 복권 subtab-btn과 동일 ── */
#gft_board .gft_cat_nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#gft_board .gft_cat_tab {
    display: inline-flex !important;
    align-items: center !important;
    height: 30px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gft-muted) !important;
    background: transparent !important;
    border: 1px solid var(--gft-border) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}
#gft_board .gft_cat_tab:hover {
    color: var(--gft-text) !important;
    text-decoration: none !important;
}
/* 활성 탭 - 복권 subtab-btn.active와 동일 */
#gft_board .gft_cat_on {
    background: var(--gft-accent) !important;
    border-color: var(--gft-accent) !important;
    color: #fff !important;
}
html[data-theme="dark"] #gft_board .gft_cat_tab {
    border-color: #2a2a2a !important;
    color: #555 !important;
}
html[data-theme="dark"] #gft_board .gft_cat_tab:hover { color: #aaa !important; }
html[data-theme="dark"] #gft_board .gft_cat_on {
    background: var(--gft-accent) !important;
    border-color: var(--gft-accent) !important;
    color: #fff !important;
}

/* ── 검색 영역 ── */
#gft_board .gft_search_wrap {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}
/* 검색 입력 박스 - 복권 테이블 래퍼와 동일한 border 스타일 */
#gft_board .gft_search_box {
    display: flex !important;
    align-items: center !important;
    height: 34px !important;
    background: var(--gft-card) !important;
    border: 1px solid var(--gft-border) !important;
    border-radius: 6px !important;
    padding: 0 8px 0 12px !important;
    gap: 6px !important;
    transition: border-color 0.2s !important;
    box-shadow: 0 2px 6px var(--gft-shadow) !important;
}
#gft_board .gft_search_box:focus-within {
    border-color: var(--gft-accent) !important;
}
html[data-theme="dark"] #gft_board .gft_search_box {
    background: linear-gradient(145deg, #1a1a1a, #111) !important;
    border-color: #2a2a2a !important;
}
html[data-theme="dark"] #gft_board .gft_search_box:focus-within {
    border-color: #6677FF !important;
}

#gft_board .gft_search_ico {
    color: var(--gft-muted) !important;
    width: 14px !important; height: 14px !important;
    flex-shrink: 0 !important;
}
#gft_board .gft_search_input {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: var(--gft-text) !important;
    font-size: 13px !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    padding: 0 !important;
    width: 160px !important;
    box-shadow: none !important;
    height: auto !important;
}
#gft_board .gft_search_input::placeholder { color: var(--gft-muted) !important; }
html[data-theme="dark"] #gft_board .gft_search_input { color: #aaa !important; }
html[data-theme="dark"] #gft_board .gft_search_input::placeholder { color: #444 !important; }

#gft_board .gft_search_clear {
    font-size: 12px !important;
    color: var(--gft-muted) !important;
    padding: 2px 5px !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}
#gft_board .gft_search_clear:hover { color: var(--gft-danger) !important; }

/* 검색 버튼 - 복권 btn-issue와 동일 */
#gft_board .gft_search_btn {
    height: 34px !important;
    padding: 0 16px !important;
    background: var(--gft-accent) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: 0 3px 10px rgba(91,104,255,0.3) !important;
    transition: transform .15s, box-shadow .2s !important;
}
#gft_board .gft_search_btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 16px rgba(91,104,255,0.45) !important;
}


/* =====================================================
   카드 그리드 - 4열 고정, 복권 카드와 동일 언어
===================================================== */
#gft_board .gft_grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    list-style: none !important;
}
@media (max-width: 991px) {
    #gft_board .gft_grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}
@media (max-width: 575px) {
    #gft_board .gft_grid { grid-template-columns: repeat(1, 1fr) !important; }
}

/* 카드 페이드업 애니메이션 */
@keyframes gft_fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── 카드 - 복권 lottery-section과 동일 구조 ── */
#gft_board .gft_card {
    background: var(--gft-card) !important;
    border: 1px solid var(--gft-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s !important;
    animation: gft_fadeUp .3s both ease-out !important;
    box-shadow: 0 4px 16px var(--gft-shadow) !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* 카드 상단 2px 포인트 라인 */
#gft_board .gft_card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--gft-accent), var(--gft-accent2)) !important;
    z-index: 1 !important;
}

/* 카드 호버 - 복권과 동일 */
#gft_board .gft_card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px var(--gft-shadow) !important;
    border-color: var(--gft-accent) !important;
}

html[data-theme="dark"] #gft_board .gft_card {
    background: linear-gradient(145deg, #1a1a1a, #111) !important;
    border-color: #2a2a2a !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
}
html[data-theme="dark"] #gft_board .gft_card:hover {
    border-color: #555 !important;
    box-shadow: 0 0 0 1.5px #888, 0 6px 28px rgba(150,150,150,0.15) !important;
    transform: none !important;
}

/* ── 이미지 - 정사각형 유지 ── */
#gft_board .gft_card_img_wrap {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 100% !important;
    height: 0 !important;
    overflow: hidden !important;
    background: var(--gft-card2) !important;
    display: block !important;
}
html[data-theme="dark"] #gft_board .gft_card_img_wrap { background: #0e0e0e !important; }

#gft_board .gft_img_anchor {
    display: block !important;
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
}
#gft_board .gft_card_img {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .3s ease !important;
}
#gft_board .gft_card:hover .gft_card_img { transform: scale(1.04) !important; }

/* ── 포인트 뱃지 - 오렌지 그라데이션 유지 ── */
#gft_board .gft_point_badge {
    position: absolute !important;
    top: 8px !important; right: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #f59e0b, #f97316) !important;
    box-shadow: 0 2px 8px rgba(245,158,11,.45) !important;
    z-index: 4 !important;
    white-space: nowrap !important;
}

/* ── 완료/반려 오버레이 ── */
#gft_board .gft_sold_overlay,
#gft_board .gft_reject_overlay {
    position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 3 !important;
}
#gft_board .gft_sold_overlay   { background: rgba(46,204,113,.55) !important; }
#gft_board .gft_reject_overlay { background: rgba(231,76,60,.55) !important; }
#gft_board .gft_sold_overlay span,
#gft_board .gft_reject_overlay span {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 5px 14px !important;
    border: 2px solid rgba(255,255,255,.55) !important;
    border-radius: 4px !important;
}

/* ── 카드 본문 ── */
#gft_board .gft_card_body {
    padding: 12px 14px 14px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* 상품명 */
#gft_board .gft_card_name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--gft-text) !important;
    line-height: 1.5 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: color 0.15s !important;
}
html[data-theme="dark"] #gft_board .gft_card_name { color: #aaa !important; }
html[data-theme="dark"] #gft_board .gft_card:hover .gft_card_name { color: #fff !important; }

/* ── 게이지 - 심플하게 ── */
#gft_board .gft_gauge { display: flex !important; flex-direction: column !important; gap: 5px !important; }
#gft_board .gft_gauge_track {
    width: 100% !important;
    height: 4px !important;
    background: var(--gft-border) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
html[data-theme="dark"] #gft_board .gft_gauge_track { background: #2a2a2a !important; }
#gft_board .gft_gauge_fill { height: 100% !important; border-radius: 4px !important; transition: width .6s ease !important; }
/* 구매 가능: 복권 남은수량 ok 색상 */
#gft_board .gft_g_ok   { background: linear-gradient(90deg, var(--gft-ok), #55d98d) !important; }
/* 포인트 부족: 회색 */
#gft_board .gft_g_lack { background: var(--gft-border) !important; }
html[data-theme="dark"] #gft_board .gft_g_lack { background: #333 !important; }

#gft_board .gft_gauge_txt { font-size: 12px !important; color: var(--gft-muted) !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; }
#gft_board .gft_g_ok_txt  { color: var(--gft-ok) !important; font-weight: 700 !important; }

/* ── 카드 하단 ── */
#gft_board .gft_card_foot { margin-top: auto !important; display: flex !important; gap: 6px !important; align-items: center !important; }

/* ── 버튼 공통 ── */
#gft_board .gft_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    height: 36px !important;
    padding: 0 12px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: transform .15s, box-shadow .2s, opacity .2s !important;
    white-space: nowrap !important;
    flex: 1 !important;
    line-height: 1 !important;
    border: none !important;
}

/* 구매 버튼 - 복권 btn-issue와 동일 */
#gft_board .gft_btn_buy {
    background: var(--gft-accent) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(91,104,255,0.3) !important;
}
#gft_board .gft_btn_buy:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 16px rgba(91,104,255,0.45) !important;
    color: #fff !important;
    text-decoration: none !important;
}
#gft_board .gft_btn_buy:disabled { opacity: .35 !important; cursor: not-allowed !important; }
html[data-theme="dark"] #gft_board .gft_btn_buy { background: #6677FF !important; }

/* 로그인 유도 */
#gft_board .gft_btn_login {
    background: transparent !important;
    color: var(--gft-muted) !important;
    border: 1px solid var(--gft-border) !important;
    font-size: 12px !important;
}
#gft_board .gft_btn_login:hover {
    color: var(--gft-text) !important;
    border-color: var(--gft-accent) !important;
    text-decoration: none !important;
}
html[data-theme="dark"] #gft_board .gft_btn_login {
    border-color: #2a2a2a !important; color: #555 !important;
}
html[data-theme="dark"] #gft_board .gft_btn_login:hover {
    color: #aaa !important; border-color: #555 !important;
}

/* 포인트 부족 / 완료 */
#gft_board .gft_btn_lack {
    background: transparent !important;
    color: var(--gft-muted) !important;
    border: 1px solid var(--gft-border) !important;
    cursor: not-allowed !important;
    font-size: 12px !important;
    opacity: .7 !important;
}
html[data-theme="dark"] #gft_board .gft_btn_lack { border-color: #2a2a2a !important; color: #444 !important; }

/* 관리자 버튼 */
#gft_board .gft_btn_adm {
    flex: 0 0 36px !important;
    background: transparent !important;
    color: var(--gft-muted) !important;
    border: 1px solid var(--gft-border) !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 14px !important;
}
#gft_board .gft_btn_adm:hover {
    color: var(--gft-text) !important;
    border-color: var(--gft-accent) !important;
    text-decoration: none !important;
}
html[data-theme="dark"] #gft_board .gft_btn_adm { border-color: #2a2a2a !important; color: #444 !important; }
html[data-theme="dark"] #gft_board .gft_btn_adm:hover { color: #fff !important; border-color: #555 !important; }


/* =====================================================
   빈 목록
===================================================== */
#gft_board .gft_empty {
    text-align: center !important;
    padding: 60px 20px !important;
    background: var(--gft-card) !important;
    border: 1px solid var(--gft-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 16px var(--gft-shadow) !important;
}
html[data-theme="dark"] #gft_board .gft_empty {
    background: linear-gradient(145deg, #1a1a1a, #111) !important;
    border-color: #2a2a2a !important;
}
#gft_board .gft_empty_illust { margin: 0 0 14px !important; opacity: .3 !important; color: var(--gft-muted) !important; }
#gft_board .gft_empty_title  { font-size: 16px !important; font-weight: 700 !important; color: var(--gft-text) !important; margin: 0 0 6px !important; }
#gft_board .gft_empty_desc   { font-size: 13px !important; color: var(--gft-muted) !important; margin: 0 !important; }
html[data-theme="dark"] #gft_board .gft_empty_title { color: #aaa !important; }
html[data-theme="dark"] #gft_board .gft_empty_desc  { color: #444 !important; }


/* =====================================================
   주문내역 - 복권 당첨현황 리스트와 동일 스타일
===================================================== */
#gft_board .gft_order_section {
    margin: 20px 0 !important;
    background: var(--gft-card) !important;
    border: 1px solid var(--gft-border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px var(--gft-shadow) !important;
    transition: background .25s, border-color .25s !important;
}
html[data-theme="dark"] #gft_board .gft_order_section {
    background: linear-gradient(145deg, #1a1a1a, #111) !important;
    border-color: #2a2a2a !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
}

/* 섹션 헤더 - 복권 table-section-title과 동일 */
#gft_board .gft_order_head {
    padding: 10px 16px !important;
    background: linear-gradient(145deg, #555, #1a1a1a) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-bottom: none !important;
}
html[data-theme="dark"] #gft_board .gft_order_head { background: #000 !important; color: #ccc !important; }

/* 초록 점 */
#gft_board .gft_order_head::before {
    content: '' !important;
    width: 6px !important; height: 6px !important;
    border-radius: 50% !important;
    background: var(--gft-ok) !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

#gft_board .gft_order_list {
    display: flex !important;
    flex-direction: column !important;
}

/* 주문 행 - 복권 history-item과 동일 */
#gft_board .gft_order_row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 11px 16px !important;
    border-bottom: 1px solid var(--gft-border) !important;
    transition: background .15s !important;
}
#gft_board .gft_order_row:last-child { border-bottom: none !important; }
#gft_board .gft_order_row:hover { background: var(--gft-card2) !important; }
html[data-theme="dark"] #gft_board .gft_order_row { border-bottom-color: #2a2a2a !important; }
html[data-theme="dark"] #gft_board .gft_order_row:hover { background: rgba(255,255,255,0.025) !important; }

#gft_board .gft_order_left  { display: flex !important; align-items: center !important; gap: 10px !important; min-width: 0 !important; flex: 1 !important; }
#gft_board .gft_order_right { display: flex !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; }

/* 포인트 뱃지 - 복권 badge-grade와 동일 */
#gft_board .gft_order_pt {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    background: linear-gradient(145deg, #f5a623, #e08800) !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
}

/* 상품명 */
#gft_board .gft_order_name {
    font-size: 13px !important;
    color: var(--gft-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
html[data-theme="dark"] #gft_board .gft_order_name { color: #aaa !important; }

/* 날짜 */
#gft_board .gft_order_date { font-size: 11px !important; color: var(--gft-muted) !important; }
html[data-theme="dark"] #gft_board .gft_order_date { color: #444 !important; }

/* 상태 뱃지 */
#gft_board .gft_status_badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}
/* 승인완료 - 복권 remain-ok와 동일 계열 */
#gft_board .gft_badge_ok   {
    background: rgba(46,204,113,.1) !important;
    color: var(--gft-ok) !important;
    border: 1px solid rgba(46,204,113,.25) !important;
}
/* 처리대기 - 오렌지 */
#gft_board .gft_badge_wait {
    background: rgba(245,158,11,.1) !important;
    color: var(--gft-warn) !important;
    border: 1px solid rgba(245,158,11,.25) !important;
}
#gft_board .gft_order_empty {
    text-align: center !important;
    padding: 20px !important;
    font-size: 13px !important;
    color: var(--gft-muted) !important;
}
html[data-theme="dark"] #gft_board .gft_order_empty { color: #444 !important; }


/* =====================================================
   페이지네이션 - 복권 page-btn과 동일
===================================================== */
#gft_board .gft_pages { margin: 20px 0 !important; text-align: center !important; }
#gft_board .gft_pages .pg_wrap {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
}
#gft_board .gft_pages a,
#gft_board .gft_pages strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    color: var(--gft-text) !important;
    background: transparent !important;
    border: 1px solid var(--gft-border) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-weight: 600 !important;
}
#gft_board .gft_pages a:hover {
    border-color: var(--gft-accent) !important;
    color: var(--gft-accent) !important;
    text-decoration: none !important;
}
/* 현재 페이지 - active 상태 */
#gft_board .gft_pages strong {
    background: var(--gft-accent) !important;
    color: #fff !important;
    border-color: var(--gft-accent) !important;
    font-weight: 700 !important;
}

html[data-theme="dark"] #gft_board .gft_pages a {
    border-color: #2a2a2a !important; color: #aaa !important;
}
html[data-theme="dark"] #gft_board .gft_pages a:hover {
    border-color: #6677FF !important; color: #6677FF !important;
}
html[data-theme="dark"] #gft_board .gft_pages strong {
    background: #6677FF !important; border-color: #6677FF !important; color: #fff !important;
}


/* =====================================================
   하단 버튼
===================================================== */
#gft_board .gft_footer_btns {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    margin: 10px 0 20px !important;
    flex-wrap: wrap !important;
}
#gft_board .gft_ftr_btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 34px !important;
    padding: 0 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    cursor: pointer !important;
    border: none !important;
    color: #fff !important;
    transition: opacity 0.2s !important;
    line-height: 1 !important;
}
#gft_board .gft_ftr_btn:hover { opacity: .82 !important; text-decoration: none !important; color: #fff !important; }
#gft_board .gft_ftr_red    { background: var(--gft-danger) !important; }
#gft_board .gft_ftr_orange { background: #f97316 !important; }
#gft_board .gft_ftr_green  { background: var(--gft-ok) !important; }


/* =====================================================
   토스트 알림
===================================================== */
.gft_toast {
    position: fixed !important;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(14px) !important;
    opacity: 0 !important;
    padding: 11px 26px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'Noto Sans KR', sans-serif !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    transition: opacity .25s, transform .25s !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.35) !important;
}
.gft_toast_show { opacity: 1 !important; transform: translateX(-50%) translateY(0) !important; }
.gft_toast_ok   { background: #2ecc71 !important; color: #fff !important; }
.gft_toast_err  { background: var(--gft-danger) !important; color: #fff !important; }

/* 버튼 로딩 스피너 */
@keyframes gft_spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}


/* =====================================================
   반응형
===================================================== */
@media (max-width: 768px) {
    #gft_board .gft_toolbar { flex-direction: column !important; align-items: flex-start !important; }
    #gft_board .gft_search_wrap { width: 100% !important; }
    #gft_board .gft_search_box { flex: 1 !important; }
    #gft_board .gft_search_input { width: 100% !important; }
    #gft_board .gft_banner { padding: 20px 20px !important; }
    #gft_board .gft_banner_icon { font-size: 40px !important; }
    #gft_board .gft_order_date { display: none !important; }
}
@media (max-width: 480px) {
    #gft_board .gft_banner { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    #gft_board .gft_banner_icon { margin-left: 0 !important; align-self: flex-end !important; }
    #gft_board .gft_card_name { font-size: 13px !important; }
    #gft_board .gft_btn { font-size: 12px !important; height: 33px !important; }
}