/* ==============================
 기본 스타일
============================== */


*{ box-sizing: border-box; margin: 0; padding: 0; }

html{ -webkit-text-size-adjust: 100%; }

body{ font-family: "Pretendard", "Noto Sans KR", Arial, sans-serif; line-height: 1.5; color: #0f172a; background: #f6f4fb; margin: 0; }

img, picture, video, canvas, svg{ display: block; max-width: 100%; }

button, input, textarea, select{ font: inherit; color: inherit; background: none; border: none; outline: none; }

button{ cursor: pointer; }

a{ text-decoration: none; color: inherit; }

ul, ol, li{ list-style: none; }

table{ border-collapse: collapse; border-spacing: 0; }

textarea{ resize: none; }

input[type="button"], input[type="submit"], input[type="reset"], button{ appearance: none; -webkit-appearance: none; }

fieldset{ border: 0; }

legend{ display: none; }

address, em, i{ font-style: normal; }

.site_header{ position: sticky; top: 0; left: 0; z-index: 3; width: 100%; background-color: #ffffff; border-bottom: 1px solid #e5e7eb; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); }

.site_header_inner{ box-sizing: border-box; width: 100%; margin: 0 auto; padding: 0 24px; }

.site_header_nav{
    display: flex;
    width: 100%;
    height: 68px;
    align-items: center;
    gap: 24px;
}

.site_header_left{
    display: none;
}

.site_header_right{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}


.site_header_home_link{ display: inline-flex; box-sizing: border-box; height: 38px; padding: 0 18px; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; color: #ffffff; background-color: #111827; border-radius: 10px; transition: all 0.2s ease; }

.site_header_menu_link{ display: inline-flex; box-sizing: border-box; height: 38px; padding: 0 18px; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none; color: #374151; background-color: #f3f4f6; border-radius: 10px; transition: all 0.2s ease; }

.site_header_logout_form{ display: flex; margin: 0; padding: 0; align-items: center; }

.site_header_logout_button{ display: inline-flex; box-sizing: border-box; height: 38px; padding: 0 18px; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; line-height: 1; color: #6b7280; background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: 10px; transition: all 0.2s ease; cursor: pointer; }

.site_header_home_link:hover{ color: #ffffff; background-color: #374151; }

.site_header_menu_link:hover{ color: #ffffff; background-color: #111827; }

.site_header_logout_button:hover{ color: #ffffff; background-color: #ef4444; border-color: #ef4444; }

.site_header_home_link:active{ transform: translateY(1px); }

.site_header_menu_link:active{ transform: translateY(1px); }

.site_header_logout_button:active{ transform: translateY(1px); }

.shoppi_admin_login_wrap{ display: flex; box-sizing: border-box; width: 100%; min-height: 100vh; padding: 40px 20px; align-items: center; justify-content: center; background: linear-gradient(135deg, #f2efff 0%, #faf9ff 45%, #ffffff 100%); }

.shoppi_admin_login_box{ box-sizing: border-box; width: 100%; max-width: 420px; padding: 42px 36px 38px; background: #ffffff; border-radius: 28px; box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12); }

.shoppi_admin_login_head{ margin-bottom: 32px; text-align: center; }

.shoppi_admin_login_logo{display: inline-flex;max-height: 42px;margin-bottom: 18px;padding: 0 18px;align-items: center;justify-content: center;/* font-weight: 800; */letter-spacing: 1px;/* color: #ffffff; *//* border-radius: 999px; */}

.shoppi_admin_login_logo img{ width: 150px; }

.shoppi_admin_login_head h1{ margin: 0 0 8px; font-size: 28px; font-weight: 800; line-height: 1.25; color: #172033; }

.shoppi_admin_login_head p{ margin: 0; font-size: 14px; font-weight: 400; line-height: 1.5; color: #7a8497; }

.shoppi_admin_login_form{ width: 100%; }

.shoppi_admin_login_body{ width: 100%; }

.shoppi_admin_login_input_box{ margin-bottom: 16px; }

.shoppi_admin_login_input_box label{ display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: #354057; }

.shoppi_admin_login_input_box input{ box-sizing: border-box; width: 100%; height: 54px; padding: 0 16px; font-size: 15px; font-weight: 500; color: #172033; background: #fffcf8; border: 1px solid #eae0d8; border-radius: 14px; transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; outline: none; }

.shoppi_admin_login_input_box input::placeholder{ color: #a6afc0; }

.shoppi_admin_login_input_box input:focus{ background: #ffffff; border-color: #6858df; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.12); }

.shoppi_admin_login_option{ display: flex; margin: 4px 0 22px; align-items: center; justify-content: space-between; }

.shoppi_admin_login_check{ display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; color: #5e687a; cursor: pointer; user-select: none; gap: 8px; }

.shoppi_admin_login_check input[type="checkbox"]{ position: absolute; width: 1px; height: 1px; opacity: 0; }

.shoppi_admin_login_check span{ display: inline-flex; box-sizing: border-box; width: 19px; height: 19px; align-items: center; justify-content: center; background: #ffffff; border: 1px solid #c8d1e1; border-radius: 6px; transition: all 0.2s ease; }

.shoppi_admin_login_check span::after{ width: 9px; height: 5px; margin-top: -2px; border-bottom: 2px solid #ffffff; border-left: 2px solid #ffffff; transform: rotate(-45deg); opacity: 0; content: ""; }

.shoppi_admin_login_check input[type="checkbox"]:checked + input + span{ background: #6858df; border-color: #6858df; }

.shoppi_admin_login_check input[type="checkbox"]:checked + input + span::after{ opacity: 1; }

.shoppi_admin_login_button_box{ width: 100%; }

.shoppi_admin_login_button_box input{ width: 100%; height: 56px; font-size: 17px; font-weight: 800; color: #ffffff; background: #7c6cf2; border: 0; border-radius: 16px; box-shadow: 0 12px 26px rgba(124, 108, 242, 0.16); transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; cursor: pointer; }

.shoppi_admin_login_button_box input:hover{ background: #6858df; box-shadow: 0 16px 32px rgba(124, 108, 242, 0.22); transform: translateY(-1px); }

.shoppi_admin_login_button_box input:active{ box-shadow: 0 8px 18px rgba(124, 108, 242, 0.24); transform: translateY(0); }
/* 슬림 푸터 */
.site_footer{
    position: relative;
    margin-top: 30px;
    color: #94a3b8;
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.16), transparent 28%),
            #0f172a;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site_footer::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, #7c6cf2, #a99cf8, #22c55e);
}

.site_footer_inner{
    width: 100%;
    padding: 22px 28px 20px 304px;
}

.site_footer_main{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site_footer_company{
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.site_footer_company strong{
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
}

.site_footer_company span, .site_footer_company a{
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
}

.site_footer_link{
    color: #ffffff !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    transition: 0.18s ease;
}

.site_footer_link:hover{
    color: #ded8ff !important;
    border-bottom-color: #ded8ff;
}
.site_footer_a_link{
    color: #ffffff !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    transition: 0.18s ease;
}

.site_footer_a_link:hover{
    color: #ded8ff !important;
    border-bottom-color: #ded8ff;
}

.site_footer_customer{
    display: inline-flex;
    height: 38px;
    padding: 0 14px;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 999px;
    background: rgba(124, 108, 242, 0.18);
    box-shadow: 0 10px 22px rgba(124, 108, 242, 0.12);
}

.site_footer_customer span{
    color: #ded8ff;
    font-size: 13px;
    font-weight: 900;
}

.site_footer_customer strong{
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}

.site_footer_customer em{
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
    font-weight: 800;
    font-style: normal;
}

.site_footer_menu{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    padding: 14px 0 10px;
}

.site_footer_menu a{
    position: relative;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.18s ease;
}

.site_footer_menu a:not(:last-child){
    margin-right: 14px;
}

.site_footer_menu a:not(:last-child)::after{
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-left: 14px;
    vertical-align: middle;
    border-radius: 50%;
    background: rgba(148, 163, 184, 0.55);
}

.site_footer_menu a:hover{
    color: #ffffff;
}

.site_footer_sub{
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.site_footer_bottom{
    margin-top: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.03em;
}

/* 사이드바 접힘 상태 대응 */
.kmclub-admin-layout.sidebar-collapsed .site_footer_inner{
    padding-left: 114px;
}

/* 모바일 */
@media screen and (max-width: 980px) {
    .site_footer{
        margin-top: 24px;
    }

    .site_footer_inner{
        padding: 20px 16px 18px;
    }

    .site_footer_main{
        display: block;
    }

    .site_footer_company{
        display: flex;
        gap: 6px 10px;
    }

    .site_footer_customer{
        margin-top: 12px;
    }

    .site_footer_menu{
        gap: 8px 0;
    }

    .site_footer_menu a{
        font-size: 13px;
    }

    .site_footer_menu a:not(:last-child){
        margin-right: 12px;
    }

    .site_footer_menu a:not(:last-child)::after{
        margin-left: 12px;
    }

    .site_footer_sub{
        display: block;
        font-size: 13px;
    }

    .site_footer_sub span{
        display: inline;
        margin-right: 8px;
    }
}

@media screen and (max-width: 480px) {
    .site_footer_customer{
        height: auto;
        padding: 10px 14px;
        flex-wrap: wrap;
        border-radius: 16px;
    }

    .site_footer_customer em{
        width: 100%;
    }

    .site_footer_company{
        display: block;
    }

    .site_footer_company strong, .site_footer_company span, .site_footer_company a{
        display: inline;
        margin-right: 8px;
        line-height: 1.8;
    }

    .site_footer_menu{
        line-height: 1.8;
    }

    .site_footer_menu a:not(:last-child){
        margin-right: 10px;
    }

    .site_footer_menu a:not(:last-child)::after{
        margin-left: 10px;
    }
}
.shopee_product_table_wrap{
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e8e4f0;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.shopee_product_table{
    width: 100%;
    min-width: 980px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    color: #111827;
    font-size: 14px;
}

.shopee_product_col_category{
    width: 18%;
}

.shopee_product_col_image{
    width: 13%;
}

.shopee_product_col_code{
    width: 18%;
}

.shopee_product_col_name{
    width: 35%;
}

.shopee_product_col_action{
    width: 16%;
}

.shopee_product_table_head th{
    position: sticky;
    top: 0;
    z-index: 2;
    height: 62px;
    padding: 14px 16px;
    border-bottom: 1px solid #e8e4f0;
    background: #faf9fd;
    color: #475569;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.45;
    text-align: center;
    white-space: nowrap;
}

.shopee_product_table_head th:first-child{
    border-top-left-radius: 24px;
}

.shopee_product_table_head th:last-child{
    border-top-right-radius: 24px;
}

.shopee_product_table_body td{
    height: 92px;
    padding: 14px 16px;
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
    vertical-align: middle;
}

.shopee_product_table_body tr:last-child td{
    border-bottom: 0;
}

.shopee_product_table_body tr{
    transition: 0.18s ease;
}

.shopee_product_table_body tr:hover{
    background: #faf9ff;
}

.shopee_product_table_body tr:hover td{
    color: #111827;
}

.shopee_product_name{
    text-align: left !important;
    color: #111827 !important;
    font-weight: 800 !important;
    word-break: keep-all;
}

.shopee_product_name{
    display: table-cell;
}

.shopee_product_image_box{
    position: relative;
    display: flex;
    width: 66px;
    height: 66px;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border: 1px solid #e8e4f0;
    border-radius: 18px;
    background: #faf9fd;
}

.shopee_product_image_box > img{
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    object-fit: cover;
    background: #ffffff;
}

.shopee_product_preview_box{
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9999;
    width: 420px;
    height: 420px;
    padding: 14px;
    border: 1px solid #e8e4f0;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.shopee_product_preview_box img{
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: contain;
    background: #faf9fd;
}

.shopee_product_image_box:hover .shopee_product_preview_box{
    display: block;
}

.shopee_product_publish_btn{
    display: inline-flex;
    min-width: 96px;
    height: 40px;
    padding: 0 16px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #7c6cf2, #6858df);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(124, 108, 242, 0.18);
    transition: 0.18s ease;
}

.shopee_product_publish_btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(124, 108, 242, 0.24);
}

.shopee_product_empty{
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 15px;
    font-weight: 800;
}

.shopee_product_pager{
    display: flex;
    width: 100%;
    margin-top: 22px;
    align-items: center;
    justify-content: center;
    gap: 6px;
}



.shopee_product_pager a:hover{
    border-color: #7c6cf2;
    background: #f4f1ff;
    color: #6858df;
}

.shopee_product_pager strong, .shopee_product_pager .active{
    border-color: #7c6cf2;
    background: #7c6cf2;
    color: #ffffff;
}
.pagination_nav{
    display: flex;
    width: 100%;
    margin-top: 28px;
    align-items: center;
    justify-content: center;
}

.pagination_list{
    display: flex;
    margin: 0;
    padding: 8px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    list-style: none;
    border: 1px solid #e8e4f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.pagination_item{
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination_link{
    display: inline-flex;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #64748b;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    transition: 0.18s ease;
}

.pagination_link:hover{
    border-color: #ded8ff;
    background: #f4f1ff;
    color: #6858df;
    transform: translateY(-1px);
}

.pagination_link_active, .pagination_item_active .pagination_link{
    border-color: #7c6cf2;
    background: linear-gradient(135deg, #7c6cf2, #6858df);
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(124, 108, 242, 0.20);
}

.pagination_link_active:hover, .pagination_item_active .pagination_link:hover{
    color: #ffffff;
    transform: translateY(-1px);
}

.pagination_item_prev .pagination_link, .pagination_item_next .pagination_link{
    min-width: 40px;
    padding: 0;
    background: #faf9fd;
    border-color: #e8e4f0;
}

.pagination_item_prev .pagination_link:hover, .pagination_item_next .pagination_link:hover{
    border-color: #7c6cf2;
    background: #f4f1ff;
}

.pagination_icon{
    display: block;
    width: 14px;
    height: 14px !important;
    background-color: #64748b;
    mask-image: url("/resources/img/chevron-right-light-full.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("/resources/img/chevron-right-light-full.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.pagination_item_prev .pagination_icon{
    mask-image: url("/resources/img/chevron-left-light-full.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("/resources/img/chevron-left-light-full.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.pagination_link:hover .pagination_icon{
    background-color: #6858df;
}

.pagination_link_active .pagination_icon, .pagination_item_active .pagination_icon{
    background-color: #ffffff;
}

/* 쇼피 상품 등록 */ .site_section_inner{ background: #f6f4fb; }

.shopee_publish_wrap{ max-width: 1100px; margin: 0 auto; background: #f6f4fb; }

.shopee_publish_form{ display: flex; flex-direction: column; gap: 20px; }

.shopee_publish_header{ display: flex; padding: 24px; background: #fff; border: 1px solid #e8e4f0; border-radius: 16px; gap: 24px; }

.shopee_publish_image_box{ width: 180px; height: 180px; overflow: hidden; flex-shrink: 0; background: #fafafa; border: 1px solid #e8e4f0; border-radius: 14px; }

.shopee_publish_image{ width: 100%; height: 100%; object-fit: cover; }

.shopee_publish_info_box{ display: flex; min-width: 0; flex-direction: column; justify-content: center; }

.shopee_publish_label{ margin: 0 0 8px; font-size: 13px; color: #6b7280; }

.shopee_publish_title{ margin: 0; font-size: 24px; font-weight: 700; color: #111827; }

.shopee_publish_desc{ margin: 12px 0 0; font-size: 14px; color: #6b7280; }

.shopee_publish_section{ padding: 24px; background: #fff; border: 1px solid #e8e4f0; border-radius: 16px; }

.shopee_publish_section_title{ margin: 0 0 18px; font-size: 18px; font-weight: 700; color: #111827; }

.shopee_publish_form_row{ display: grid; margin-top: 16px; align-items: flex-start; grid-template-columns: 160px 1fr; gap: 16px; }

.shopee_publish_form_row:first-of-type{ margin-top: 0; }

.shopee_publish_form_label{ padding-top: 10px; font-size: 14px; font-weight: 600; color: #374151; }

.shopee_publish_form_content{ min-width: 0; }

.shopee_publish_select{ width: 100%; height: 42px; padding: 0 12px; font-size: 14px; border: 1px solid #d1d5db; border-radius: 10px; }

.shopee_publish_input{ box-sizing: border-box; width: 100%; height: 42px; padding: 0 12px; font-size: 14px; border: 1px solid #d1d5db; border-radius: 10px; }

.shopee_publish_textarea{ box-sizing: border-box; width: 100%; min-height: 140px; padding: 12px; font-size: 14px; border: 1px solid #d1d5db; border-radius: 10px; resize: vertical; }

.shopee_publish_notice{ margin: 10px 0 0; font-size: 13px; color: #8a5a00; }

.shopee_publish_btn_group{ display: flex; margin-top: 12px; gap: 8px; }

.shopee_publish_btn{ height: 38px; padding: 0 14px; font-size: 13px; font-weight: 600; border: 0; border-radius: 9px; cursor: pointer; }

.shopee_publish_btn_gray{ color: #374151; background: #eef0f4; }

.shopee_publish_btn_dark{ color: #fff; background: #111827; }

.shopee_store_check_group{ display: flex; flex-wrap: wrap; gap: 10px; }

.shopee_store_check_item{ display: inline-flex; box-sizing: border-box; min-width: 90px; height: 42px; padding: 0 14px; align-items: center; font-size: 14px; background: #fff; border: 1px solid #d1d5db; border-radius: 999px; cursor: pointer; gap: 6px; }

.shopee_store_check_item input{ margin: 0; }

.shopee_price_table_box{ overflow-x: auto; border: 1px solid #e8e4f0; border-radius: 12px; }

.shopee_price_table{ width: 100%; min-width: 680px; border-collapse: collapse; }

.shopee_price_table th{ padding: 13px 14px; font-size: 13px; font-weight: 700; text-align: left; color: #374151; background: #f9fafb; border-bottom: 1px solid #e8e4f0; }

.shopee_price_table td{ padding: 12px 14px; font-size: 14px; color: #374151; border-bottom: 1px solid #eef0f4; }

.shopee_price_table tr:last-child td{ border-bottom: 0; }

.shopee_price_input{ box-sizing: border-box; width: 160px; height: 36px; padding: 0 10px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; }

.shopee_price_changed{ font-weight: 700; color: #111827; }

.shopee_price_currency{ margin-left: 4px; color: #6b7280; }

.shopee_image_layout{ display: grid; grid-template-columns: 410px 1fr; gap: 24px; align-items: start; }

.shopee_publish_product_image_area, .shopee_publish_detail_image_area{ min-width: 0; }

.shopee_publish_product_image_grid{ display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); /* 추가 */
    width: 410px; height: 410px; gap: 4px; padding: 4px; border: 1px solid #dcdfe6; border-radius: 8px; background: #fff; }

.shopee_product_image_empty, .shopee_product_image_thumb{ position: relative; width: 100%; height: 100%; min-width: 0; min-height: 0; border: 1px dashed #dcdfe6; border-radius: 6px; overflow: hidden; background: #fff; display: flex; align-items: center; justify-content: center; }

.shopee_product_image_empty{ color: #c5cbd5; font-size: 20px; }

.shopee_product_image_thumb img{ width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }

.shopee_publish_detail_image_preview{ height: 410px; overflow-y: auto; border: 1px solid #dcdfe6; border-radius: 8px; background: #fff; }

.shopee_detail_image_thumb img{ width: 100%; display: block; }

.shopee_product_image_remove{ position: absolute; top: 6px; right: 6px; z-index: 5; width: 22px; height: 22px; border: 0; border-radius: 50%; background: #ef4444; color: #fff; font-size: 14px; font-weight: 700; line-height: 22px; text-align: center; cursor: pointer; }

/* 입력 가능 */ .shopee_price_input{ box-sizing: border-box; width: 160px; height: 36px; padding: 0 10px; color: #111827; background: #ffffff; border: 1px solid #d1d5db; border-radius: 8px; }

/* 입력 가능 - 포커스 */ .shopee_price_input:focus{ color: #111827; background: #ffffff; border-color: #7c6cf2; outline: none; }

/* disabled 있는 경우 */ .shopee_price_input:disabled{ color: #9ca3af; background: #f3f4f6; border-color: #e5e7eb; cursor: not-allowed; }

/* disabled placeholder */ .shopee_price_input:disabled::placeholder{ color: #c7cbd1; }

.shopee_publish_submit_box{ display: flex; padding: 20px 24px; justify-content: flex-end; background: #fff; border: 1px solid #e8e4f0; border-radius: 16px; }

.shopee_publish_submit{ min-width: 220px; height: 48px; font-size: 15px; font-weight: 700; color: #fff; background: #7c6cf2; border: 0; border-radius: 12px; cursor: pointer; }

.shopee_publish_bottom_notice{ margin: 14px 0 0; font-size: 13px; text-align: right; color: #6b7280; }

button, select{ font-family: inherit; }

.kmclub-admin-layout{ min-height: 100vh; }

.kmclub-sidebar{ display: flex; position: fixed; top: 0; bottom: 0; left: 0; z-index: 50; width: 276px; padding: 18px 14px; flex-direction: column; color: #e5e7eb; background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.96)); border-right: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 24px 0 70px rgba(15, 23, 42, 0.16); }

.kmclub-sidebar-logo{ display: flex; margin-bottom: 18px; padding: 10px; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.08); gap: 12px; }

.kmclub-sidebar-logo-wide-box{ display: flex; width: 43px; height: 42px; overflow: hidden; flex: 0 0 auto; align-items: center; }

.kmclub-sidebar-logo-wide-image{ display: block; max-width: 100%; max-height: 100%; object-fit: contain; }

.kmclub-sidebar-logo-text strong{ display: block; font-size: 20px; font-weight: 900; line-height: 1; letter-spacing: -0.05em; color: #fff; }

.kmclub-sidebar-logo-text span{ display: block; margin-top: 6px; font-size: 13px; font-weight: 700; color: rgba(226, 232, 240, 0.7); }

.kmclub-sidebar-group-title{ display: flex; height: 34px; margin-bottom: 8px; padding: 0 10px; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(226, 232, 240, 0.62); }

.kmclub-sidebar-nav{ display: flex; flex-direction: column; gap: 6px; }

.kmclub-sidebar-link{ display: flex; position: relative; min-height: 44px; padding: 0 11px; align-items: center; font-size: 13px; font-weight: 800; color: rgba(226, 232, 240, 0.82); border-radius: 14px; transition: 0.22s ease; gap: 10px; }

.kmclub-sidebar-link:hover{ color: #fff; background: rgba(255, 255, 255, 0.08); transform: translateX(2px); }

.kmclub-sidebar-link.active{ color: #fff; background: linear-gradient(135deg, rgba(124, 108, 242, 0.92), rgba(169, 156, 248, 0.78)); box-shadow: 0 14px 30px rgba(124, 108, 242, 0.22); }

.kmclub-sidebar-icon{ display: inline-flex; width: 28px; height: 28px; flex: 0 0 auto; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; letter-spacing: -0.02em; color: #ded8ff;  border-radius: 10px; }

.kmclub-sidebar-link.active .kmclub-sidebar-icon{ color: #fff; background: rgba(255, 255, 255, 0.18); }

.kmclub-sidebar-text{ min-width: 0; overflow: hidden; flex: 1; white-space: nowrap; text-overflow: ellipsis; }

.kmclub-sidebar-badge{ display: inline-flex; height: 20px; padding: 0 7px; align-items: center; font-size: 13px; font-weight: 900; white-space: nowrap; color: #fbbf24; background: rgba(245, 158, 11, 0.15); border: 1px solid rgba(245, 158, 11, 0.24); border-radius: 999px; }

.kmclub-sidebar-bottom{ margin-top: auto; padding-top: 18px; }

.kmclub-upgrade-card{ display: block; padding: 16px; color: #fff; background: radial-gradient(circle at right top, rgba(255, 255, 255, 0.26), transparent 34%), linear-gradient(135deg, #7c6cf2, #a99cf8); border-radius: 20px; box-shadow: 0 18px 42px rgba(124, 108, 242, 0.28); transition: 0.24s ease; }

.kmclub-upgrade-card:hover{ box-shadow: 0 24px 50px rgba(124, 108, 242, 0.36); transform: translateY(-3px); }

.kmclub-upgrade-card strong{ display: block; font-size: 14px; font-weight: 900; letter-spacing: -0.03em; }

.kmclub-upgrade-card span{ display: block; margin-top: 6px; font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, 0.82); }

.kmclub-connection-card{ margin-top: 14px; padding: 14px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 18px; }

.kmclub-connection-row{ display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 800; color: rgba(226, 232, 240, 0.86); gap: 10px; }

.kmclub-connection-dot{ width: 9px; height: 9px; background: #ef4444; border-radius: 50%; box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.14); }

.kmclub-connection-status{ margin-top: 8px; font-size: 13px; font-weight: 700; color: rgba(226, 232, 240, 0.56); }

.kmclub-main-area{ width: 100%; min-width: 0; padding-left: 150px; transition: 0.28s ease; }

.kmclub-global-dashboard{ min-height: 100vh; padding: 24px; }

.kmclub-mobile-topbar{ display: none; position: sticky; top: 0; z-index: 40; padding: 12px 14px; align-items: center; justify-content: space-between; background: rgba(248, 251, 255, 0.86); border-bottom: 1px solid rgba(15, 23, 42, 0.08); backdrop-filter: blur(16px); }

.kmclub-mobile-brand{ font-size: 17px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-mobile-button{ height: 36px; padding: 0 13px; font-size: 13px; font-weight: 900; color: #fff; background: #0f172a; border: 0; border-radius: 12px; cursor: pointer; }

.kmclub-dashboard-header{ display: flex; padding: 10px 4px 22px; align-items: flex-end; justify-content: space-between; gap: 24px; }

.kmclub-dashboard-title-area h1{ margin: 0; font-size: 38px; font-weight: 900; letter-spacing: -0.07em; color: #0f172a; }

.kmclub-dashboard-title-area p{ margin: 9px 0 0; font-size: 14px; font-weight: 700; color: #64748b; }

.kmclub-dashboard-controls{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }

.kmclub-period-select{ min-width: 145px; height: 44px; padding: 0 14px; font-size: 13px; font-weight: 800; color: #334155; background: rgba(255, 255, 255, 0.86); border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 15px; outline: none; }

.kmclub-currency-toggle{ display: flex; padding: 4px; align-items: center; background: rgba(255, 255, 255, 0.74); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 16px; }

.kmclub-currency-button{ min-width: 74px; height: 36px; font-size: 13px; font-weight: 900; color: #64748b; background: transparent; border: 0; border-radius: 12px; cursor: pointer; }

.kmclub-currency-button.active{ color: #fff; background: linear-gradient(135deg, #7c6cf2, #a99cf8); box-shadow: 0 10px 22px rgba(124, 108, 242, 0.22); }

.kmclub-report-button, .kmclub-refresh-button{ height: 44px; padding: 0 18px; font-size: 13px; font-weight: 900; color: #fff; background: #0f172a; border: 0; border-radius: 15px; box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18); transition: 0.25s ease; cursor: pointer; }

.kmclub-refresh-button{ width: 44px; padding: 0; font-size: 18px; background: linear-gradient(135deg, #7c6cf2, #a99cf8); }

.kmclub-report-button:hover, .kmclub-refresh-button:hover{ transform: translateY(-2px); }

.kmclub-kpi-row-main{ display: grid; margin-bottom: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.kmclub-kpi-row-sub{ display: grid; margin-bottom: 18px; grid-template-columns: 1.25fr repeat(4, minmax(0, 1fr)); gap: 18px; }

.kmclub-kpi-card{ position: relative; min-height: 170px; padding: 22px; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72)); border: 1px solid rgba(255, 255, 255, 0.92); border-radius: 28px; box-shadow: 0 24px 70px rgba(104, 88, 223, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88); transition: 0.25s ease; }

.kmclub-kpi-card:hover{ box-shadow: 0 30px 80px rgba(104, 88, 223, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.88); transform: translateY(-4px); }

.kmclub-kpi-card:before{ position: absolute; top: -64px; right: -64px; width: 160px; height: 160px; background: rgba(124, 108, 242, 0.07); border-radius: 50%; content: ""; }

.kmclub-kpi-top{ display: flex; position: relative; z-index: 1; margin-bottom: 24px; align-items: center; justify-content: space-between; gap: 12px; }

.kmclub-kpi-icon{ display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; letter-spacing: -0.02em; color: #fff; background: linear-gradient(135deg, #7c6cf2, #a99cf8); border-radius: 16px; }

.kmclub-kpi-icon.orange{ background: linear-gradient(135deg, #7c6cf2, #f43f5e); }

.kmclub-kpi-icon.indigo{ background: linear-gradient(135deg, #7161e8, #7c6cf2); }

.kmclub-kpi-icon.green{ background: linear-gradient(135deg, #16a34a, #14b8a6); }

.kmclub-kpi-icon.red{ background: linear-gradient(135deg, #ef4444, #7c6cf2); }

.kmclub-kpi-detail{ height: 30px; padding: 0 11px; font-size: 13px; font-weight: 900; color: #64748b; background: rgba(255, 255, 255, 0.74); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 999px; cursor: pointer; }

.kmclub-kpi-value{ position: relative; z-index: 1; margin: 0; font-size: 30px; font-weight: 900; letter-spacing: -0.05em; color: #0f172a; }

.kmclub-kpi-value.green, .kmclub-kpi-value-small.green{ color: #16a34a; }

.kmclub-kpi-value.red{ color: #ef4444; }

.kmclub-kpi-label-row{ display: flex; position: relative; z-index: 1; margin-top: 12px; align-items: center; gap: 8px; }

.kmclub-kpi-label{ font-size: 19px; font-weight: 900; color: #475569; }

.kmclub-kpi-pill{ display: inline-flex; height: 22px; padding: 0 8px; align-items: center; font-size: 17px; font-weight: 900; color: #7c6cf2; background: #f2efff; border-radius: 999px; }

.kmclub-kpi-note{ position: relative; z-index: 1; margin-top: 8px; font-size: 17px; font-weight: 700; line-height: 1.5; color: #64748b; }

.kmclub-kpi-sub-card{ min-height: 150px; }

.kmclub-kpi-sub-card .kmclub-kpi-top{ margin-bottom: 16px; }

.kmclub-kpi-value-small{ position: relative; z-index: 1; margin: 0; font-size: 26px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-rate-track{ position: relative; z-index: 1; height: 9px; margin-top: 15px; overflow: hidden; background: #e2e8f0; border-radius: 999px; }

.kmclub-rate-fill{ width: 100%; height: 100%; background: linear-gradient(90deg, #16a34a, #14b8a6); border-radius: 999px; }

.kmclub-chart-grid{ display: grid; margin-bottom: 18px; grid-template-columns: 1fr 1fr 2fr; gap: 18px; }

.kmclub-chart-card{ min-height: 320px; padding: 22px; overflow: hidden; background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(255, 255, 255, 0.92); border-radius: 30px; box-shadow: 0 24px 70px rgba(104, 88, 223, 0.08); }

.kmclub-chart-card.wide{ overflow: visible; }

.kmclub-chart-head{ display: flex; margin-bottom: 20px; align-items: flex-start; justify-content: space-between; gap: 16px; }

.kmclub-chart-title{ margin: 0; font-size: 18px; font-weight: 900; letter-spacing: -0.04em; color: #0f172a; }

.kmclub-chart-sub{ margin: 6px 0 0; font-size: 13px; font-weight: 700; color: #64748b; }

.kmclub-chart-legend{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }

.kmclub-legend-item{ display: flex; align-items: center; font-size: 13px; font-weight: 900; color: #64748b; gap: 6px; }

.kmclub-legend-dot{ width: 8px; height: 8px; background: #7c6cf2; border-radius: 50%; }

.kmclub-legend-dot.green{ background: #16a34a; }

.kmclub-legend-dot.orange{ background: #7c6cf2; }

.kmclub-pie-visual{ position: relative; width: 190px; height: 190px; margin: 16px auto 8px; background: conic-gradient( #7c6cf2 0deg 128deg, #a99cf8 128deg 212deg, #16a34a 212deg 278deg, #7c6cf2 278deg 326deg, #8b5cf6 326deg 360deg ); border-radius: 50%; box-shadow: 0 20px 44px rgba(124, 108, 242, 0.16); }

.kmclub-pie-visual:after{ position: absolute; background: #fff; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06); content: ""; inset: 42px; }

.kmclub-pie-center{ display: flex; position: absolute; z-index: 2; flex-direction: column; align-items: center; justify-content: center; font-weight: 900; color: #0f172a; inset: 0; }

.kmclub-pie-center strong{ font-size: 22px; letter-spacing: -0.04em; }

.kmclub-pie-center span{ margin-top: 4px; font-size: 13px; color: #64748b; }

.kmclub-pie-list{ display: grid; margin-top: 18px; grid-template-columns: 1fr 1fr; gap: 8px; }

.kmclub-pie-item{ display: flex; min-width: 0; align-items: center; font-size: 13px; font-weight: 800; color: #475569; gap: 7px; }

.kmclub-pie-color{ width: 8px; height: 8px; flex: 0 0 auto; background: #7c6cf2; border-radius: 50%; }

.kmclub-revenue-chart-wrap{ height: 252px; padding: 14px 12px 10px; overflow: visible; background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(239, 246, 255, 0.74)); border: 1px solid rgba(15, 23, 42, 0.05); border-radius: 22px; }

.kmclub-revenue-chart-area{ position: relative; min-width: 0; height: 100%; padding-left: 48px; overflow: visible; }

.kmclub-chart-yaxis{ position: absolute; top: 0; left: 0; z-index: 5; width: 38px; height: 205px; pointer-events: none; }

.kmclub-chart-yaxis span{ position: absolute; right: 0; font-size: 13px; font-weight: 900; line-height: 1; white-space: nowrap; color: #475569; transform: translateY(-50%); }

.kmclub-chart-yaxis span:first-child{ transform: translateY(0); }

.kmclub-chart-yaxis span:last-child{ transform: translateY(-100%); }

.kmclub-chart-grid-lines{ display: flex; position: absolute; top: 0; right: 0; left: 48px; z-index: 1; height: 205px; flex-direction: column; justify-content: space-between; pointer-events: none; }

.kmclub-chart-grid-lines span{ display: block; height: 1px; background: rgba(148, 163, 184, 0.22); }

.kmclub-revenue-bars{ display: flex; position: relative; z-index: 2; height: 100%; align-items: stretch; gap: 14px; }

.kmclub-chart-column{ display: flex; position: relative; min-width: 0; height: 100%; flex: 1; flex-direction: column; justify-content: flex-end; cursor: pointer; gap: 9px; }

.kmclub-chart-bars{ display: flex; position: relative; height: 205px; align-items: flex-end; justify-content: center; gap: 7px; }

.kmclub-chart-bar{ width: 28%; min-width: 10px; max-width: 25px; border-radius: 999px 999px 5px 5px; transition: 0.25s ease; }

.kmclub-chart-bar.revenue{ background: linear-gradient(180deg, #7c6cf2, #a99cf8); }

.kmclub-chart-bar.profit{ background: linear-gradient(180deg, #16a34a, #14b8a6); box-shadow: 0 10px 18px rgba(22, 163, 74, 0.15); }

.kmclub-chart-column:hover .kmclub-chart-bar{ transform: translateY(-5px); filter: brightness(1.04); }

.kmclub-chart-column:before{ position: absolute; bottom: calc(100% - 20px); left: 50%; z-index: 20; min-width: 118px; padding: 10px 12px; font-size: 13px; font-weight: 800; line-height: 1.55; text-align: left; white-space: pre; color: #fff; background: rgba(15, 23, 42, 0.94); border-radius: 14px; box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22); transition: 0.2s ease; transform: translateX(-50%) translateY(8px); opacity: 0; pointer-events: none; visibility: hidden; content: attr(data-day) "\A 매출 " attr(data-revenue) "\A 수익 " attr(data-profit); }

.kmclub-chart-column:after{ position: absolute; bottom: calc(100% - 26px); left: 50%; z-index: 21; border-top: 7px solid rgba(15, 23, 42, 0.94); border-right: 6px solid transparent; border-left: 6px solid transparent; transition: 0.2s ease; transform: translateX(-50%) translateY(8px); opacity: 0; pointer-events: none; visibility: hidden; content: ""; }

.kmclub-chart-column:hover:before, .kmclub-chart-column:hover:after{ transform: translateX(-50%) translateY(0); opacity: 1; visibility: visible; }

.kmclub-chart-day{ height: 18px; font-size: 13px; font-weight: 800; letter-spacing: -0.02em; text-align: center; color: #64748b; }

.kmclub-market-card{ position: relative; padding: 22px; overflow: hidden; color: #fff; background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(104, 88, 223, 0.92)); border-radius: 30px; box-shadow: 0 30px 80px rgba(15, 23, 42, 0.18); }

.kmclub-market-card:before{ position: absolute; top: -130px; right: -110px; width: 300px; height: 300px; background: rgba(169, 156, 248, 0.25); border-radius: 50%; content: ""; filter: blur(2px); }

.kmclub-market-head{ display: flex; position: relative; z-index: 1; margin-bottom: 18px; align-items: center; justify-content: space-between; gap: 16px;}

.kmclub-market-title{ margin: 0; font-size: 19px; font-weight: 900; letter-spacing: -0.04em; color:#fff !important; }

.kmclub-market-pill{ display: inline-flex; height: 30px; padding: 0 12px; align-items: center; font-size: 13px; font-weight: 900; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; }

.kmclub-market-grid{ display: grid; position: relative; z-index: 1; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }

.kmclub-market-item{ min-height: 132px; padding: 16px 12px; text-align: center; background: rgba(255, 255, 255, 0.09); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 22px; }

.kmclub-market-code{ display: inline-flex; min-width: 42px; height: 28px; margin-bottom: 14px; align-items: center; justify-content: center; font-size: 13px; font-weight: 900; color: #e9e5ff; background: rgba(255, 255, 255, 0.13); border-radius: 999px; }

.kmclub-market-score{ font-size: 25px; font-weight: 900; letter-spacing: -0.04em; color: #5eead4; }

.kmclub-market-name{ margin-top: 5px; font-size: 13px; font-weight: 800; color: rgba(255, 255, 255, 0.64); }

.kmclub-market-bar{ height: 8px; margin-top: 14px; overflow: hidden; background: rgba(255, 255, 255, 0.14); border-radius: 999px; }

.kmclub-market-fill{ width: 100%; height: 100%; background: linear-gradient(90deg, #5eead4, #22c55e); border-radius: 999px; }
/* ========================================
   사이드바 접기 / 펼치기
======================================== */

/* 자연스러운 너비 변경 */
.kmclub-sidebar{
    transition:
            width 0.28s cubic-bezier(0.4, 0, 0.2, 1),
            padding 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.kmclub-main-area{
    transition:
            padding-left 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 메뉴 글자 및 부가 요소 */
.kmclub-sidebar-logo-text, .kmclub-sidebar-text, .kmclub-sidebar-badge, .kmclub-sidebar-group-title, .kmclub-sidebar-bottom{
    opacity: 1;
    visibility: visible;
    transition:
            opacity 0.15s ease 0.08s,
            visibility 0.15s ease 0.08s,
            transform 0.2s ease;
}

/* 접기/펼치기 버튼 */
.kmclub-sidebar-toggle-button{
    display: inline-flex;
    position: absolute;
    top: 18px;
    right: 16px;
    z-index: 11;
    width: 34px;
    height: 34px;
    padding: 0;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #64748b;
    background-color: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    box-shadow: 0 2px 5px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition:
            color 0.15s ease,
            background-color 0.15s ease,
            border-color 0.15s ease,
            box-shadow 0.15s ease;
}

.kmclub-sidebar-toggle-button:hover{
    color: #7c6cf2;
    background-color: #f8f6ff;
    border-color: #ddd7ff;
    box-shadow: 0 3px 8px rgba(124, 108, 242, 0.1);
}

.kmclub-sidebar-toggle-button svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s ease;
}

/* ========================================
   접힌 상태
======================================== */

.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar{
    width: 82px;
    padding-right: 12px;
    padding-left: 12px;
}

.kmclub-admin-layout.sidebar-collapsed
.kmclub-main-area{
    padding-left: 82px;
}

.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-logo{
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
}

/* 접힌 상태의 글자 숨김 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-logo-text, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-group-title, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-text, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-badge, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-bottom{
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-5px);
    transition:
            opacity 0.1s ease,
            visibility 0.1s ease,
            transform 0.1s ease;
}

/* 접힌 상태의 메뉴 아이콘 정렬 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-link{
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
}

.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-icon{
    width: 34px;
    height: 34px;
    margin: 0;
    border-radius: 9px;
}

/* 접힌 상태의 하위 메뉴 숨김 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-submenu{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* 접힌 상태에서 버튼을 로고 아래 중앙에 배치 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-toggle-button{
    top: 58px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

/* 화살표 방향 변경 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-toggle-button svg{
    transform: rotate(180deg);
}
.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-submenu{
    display: none !important;
}

.kmclub-page-header{ display: flex; padding: 10px 4px 22px; align-items: flex-end; justify-content: space-between; gap: 24px; }

.kmclub-page-title-area h1, .kmclub-page-title{ margin: 0; font-size: 38px; font-weight: 900; letter-spacing: -0.07em; color: #0f172a; }

.kmclub-page-title-area p, .kmclub-page-desc{ margin: 9px 0 0; font-size: 14px; font-weight: 700; color: #64748b; }

.kmclub-page-controls{ display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }

.kmclub-page-select{ min-width: 145px; height: 44px; padding: 0 14px; font-size: 13px; font-weight: 800; color: #334155; background: rgba(255, 255, 255, 0.86); border: 1px solid rgba(15, 23, 42, 0.1); border-radius: 15px; outline: none; }

.kmclub-page-report-button, .kmclub-page-refresh-button{ height: 44px; padding: 0 18px; font-size: 13px; font-weight: 900; color: #fff; background: #0f172a; border: 0; border-radius: 15px; box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18); transition: 0.25s ease; cursor: pointer; }

.kmclub-page-refresh-button{ width: 44px; padding: 0; font-size: 18px; background: linear-gradient(135deg, #7c6cf2, #a99cf8); }

.kmclub-page-report-button:hover, .kmclub-page-refresh-button:hover{ transform: translateY(-2px); }

.kmclub-sidebar-logo-image-box{ width: 50px; }

.kmclub-shopee-linking-wrap{ display: grid; gap: 22px; }

.kmclub-shopee-status-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.kmclub-shopee-status-card{ position: relative; overflow: hidden; min-height: 148px; padding: 20px; border: 1px solid #e8e4f0; border-radius: 22px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-shopee-status-card::after{ content: ""; position: absolute; right: -36px; bottom: -36px; width: 108px; height: 108px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-shopee-status-top{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; }

.kmclub-shopee-status-label{ font-size: 13px; font-weight: 800; color: #64748b; }

.kmclub-shopee-status-badge{ display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 999px; font-size: 13px; font-weight: 900; }

.kmclub-shopee-status-badge.is-off{ background: #fff1f2; color: #e11d48; }

.kmclub-shopee-status-icon{ display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 12px; background: #f4f1ff; color: #7c6cf2; font-size: 13px; font-weight: 900; }

.kmclub-shopee-status-body{ position: relative; z-index: 1; }

.kmclub-shopee-status-body strong{ display: block; margin-bottom: 8px; font-size: 14px; color: #111827; }

.kmclub-shopee-status-body p{ margin: 0; font-size: 24px; font-weight: 900; letter-spacing: -0.04em; color: #0f172a; }

.kmclub-shopee-status-body em{ display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; font-style: normal; color: #64748b; }

.kmclub-shopee-content-grid{ display: grid; grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }

.kmclub-shopee-connect-box, .kmclub-shopee-guide-box{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-shopee-box-head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-shopee-box-head h2{ margin: 0; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; color: #111827; }

.kmclub-shopee-box-head p{ margin: 8px 0 0; font-size: 14px; color: #64748b; }

.kmclub-shopee-connect-action{ display: flex; align-items: center; gap: 16px; margin: 24px; padding: 20px; border: 1px solid #e9e5ff; border-radius: 20px; background: linear-gradient(135deg, #faf9ff, #f2efff); }

.kmclub-shopee-connect-logo{ display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 18px; background: #7c6cf2; color: #ffffff; font-size: 16px; font-weight: 900; flex-shrink: 0; }

.kmclub-shopee-connect-text{ flex: 1; min-width: 0; }

.kmclub-shopee-connect-text strong{ display: block; margin-bottom: 7px; font-size: 17px; font-weight: 900; color: #111827; }

.kmclub-shopee-connect-text span{ display: block; font-size: 14px; line-height: 1.6; color: #64748b; }

.kmclub-shopee-connect-button{ flex-shrink: 0; height: 44px; padding: 0 18px; border: 0; border-radius: 14px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; }

.kmclub-shopee-connect-button:hover{ transform: translateY(-2px); }

.kmclub-shopee-region-box{ margin: 0 24px 24px; padding: 20px; border: 1px solid #eef2f7; border-radius: 20px; }

.kmclub-shopee-region-title{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }

.kmclub-shopee-region-title strong{ font-size: 15px; font-weight: 900; color: #111827; }

.kmclub-shopee-region-title span{ font-size: 13px; font-weight: 800; color: #7c6cf2; }

.kmclub-shopee-region-list{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }

.kmclub-shopee-region-list span{ display: flex; align-items: center; justify-content: center; height: 42px; border: 1px solid #e8e4f0; border-radius: 14px; background: #faf9fd; color: #94a3b8; font-size: 13px; font-weight: 900; }

.kmclub-shopee-guide-section, .kmclub-shopee-faq-section{ padding: 24px; }

.kmclub-shopee-guide-section{ border-bottom: 1px solid #eef2f7; }

.kmclub-shopee-guide-section h3, .kmclub-shopee-faq-section h3{ margin: 0 0 16px; font-size: 18px; font-weight: 900; color: #111827; }

.kmclub-shopee-step-list{ display: grid; gap: 10px; margin: 0; padding-left: 22px; }

.kmclub-shopee-step-list li{ padding-left: 4px; font-size: 14px; line-height: 1.75; color: #334155; }

.kmclub-shopee-step-list b{ color: #6858df; }

.kmclub-shopee-faq-list{ display: grid; gap: 10px; }

.kmclub-shopee-faq-item{ overflow: hidden; border: 1px solid #e8e4f0; border-radius: 16px; background: #ffffff; }

.kmclub-shopee-faq-item.is-open{ border-color: #ded8ff; background: #faf9ff; }

.kmclub-shopee-faq-question{ display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 16px 18px; border: 0; background: transparent; color: #111827; font-size: 14px; font-weight: 900; text-align: left; cursor: pointer; }

.kmclub-shopee-faq-question span{ display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #f4f1ff; color: #7c6cf2; font-size: 17px; font-weight: 900; flex-shrink: 0; }

.kmclub-shopee-faq-answer{ display: none; padding: 0 18px 18px; color: #64748b; font-size: 14px; line-height: 1.75; }

.kmclub-order-content{ display: grid; gap: 22px; }

.kmclub-order-margin-alert{ display: flex; align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 20px; background: linear-gradient(135deg, #fffbeb, #fff7ed); box-shadow: 0 12px 28px rgba(245, 158, 11, 0.08); }

.kmclub-order-margin-icon{ display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 16px; background: #f59e0b; font-size: 22px; flex-shrink: 0; }

.kmclub-order-margin-text strong{ display: block; margin-bottom: 5px; font-size: 16px; font-weight: 900; color: #92400e; }

.kmclub-order-margin-text span{ display: block; font-size: 14px; line-height: 1.5; color: #b45309; }

.kmclub-order-summary-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.kmclub-order-summary-card{ position: relative; overflow: hidden; min-height: 132px; padding: 20px; border: 1px solid #e8e4f0; border-radius: 22px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-order-summary-card::after{ content: ""; position: absolute; right: -36px; bottom: -36px; width: 110px; height: 110px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-order-summary-top{ position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 24px; }

.kmclub-order-summary-top span{ font-size: 15px; font-weight: 900; color: #111827; }

.kmclub-order-summary-top em{ display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #f1f5f9; color: #64748b; font-size: 13px; font-style: normal; font-weight: 800; }

.kmclub-order-summary-card strong{ position: relative; z-index: 1; display: block; font-size: 30px; font-weight: 900; letter-spacing: -0.05em; color: #0f172a; }

.kmclub-order-filter-panel{ padding: 22px; border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-order-filter-grid{ display: grid; grid-template-columns: 1.5fr repeat(4, minmax(150px, 1fr)); gap: 14px; align-items: end; }

.kmclub-order-filter-field{ min-width: 0; }

.kmclub-order-filter-field label{ display: block; margin-bottom: 8px; font-size: 13px; font-weight: 900; color: #334155; }

.kmclub-order-filter-input, .kmclub-order-filter-select{ width: 100%; height: 44px; padding: 0 14px; border: 1px solid #dbe3ef; border-radius: 14px; background: #faf9fd; color: #111827; font-size: 14px; font-weight: 700; outline: none; transition: 0.18s ease; }

.kmclub-order-filter-input:focus, .kmclub-order-filter-select:focus{ border-color: #7c6cf2; background: #ffffff; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.1); }

.kmclub-order-filter-input::placeholder{ color: #94a3b8; font-weight: 600; }

.kmclub-order-filter-actions{ display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }

.kmclub-order-filter-reset-button, .kmclub-order-export-button, .kmclub-order-empty-reset-button{ height: 42px; padding: 0 18px; border: 0; border-radius: 14px; font-size: 14px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-order-filter-reset-button{ background: #f1f5f9; color: #475569; }

.kmclub-order-export-button{ background: #111827; color: #ffffff; }

.kmclub-order-empty-reset-button{ background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.18); }

.kmclub-order-filter-reset-button:hover, .kmclub-order-export-button:hover, .kmclub-order-empty-reset-button:hover{ transform: translateY(-2px); }

.kmclub-order-empty-box{ min-height: 360px; padding: 56px 24px; border: 1px dashed #cbd5e1; border-radius: 26px; background: radial-gradient(circle at top, rgba(124, 108, 242, 0.08), transparent 34%), #ffffff; text-align: center; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.04); }

.kmclub-order-empty-icon{ display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; margin: 0 auto 18px; border-radius: 24px; background: #f4f1ff; font-size: 34px; }

.kmclub-order-empty-box h2{ margin: 0 0 10px; font-size: 24px; font-weight: 900; letter-spacing: -0.04em; color: #111827; }

.kmclub-order-empty-box p{ margin: 0 0 22px; color: #64748b; font-size: 15px; line-height: 1.7; }

.kmclub-order-empty-box p b{ color: #7c6cf2; }

.kmclub-cost-content{ display: grid; gap: 22px; }

.kmclub-cost-filter-panel{ padding: 22px; border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-cost-filter-grid{ display: grid; grid-template-columns: 1.6fr minmax(190px, 0.7fr) minmax(170px, 0.7fr) minmax(150px, 0.5fr); gap: 14px; align-items: end; }

.kmclub-cost-filter-field{ min-width: 0; }

.kmclub-cost-filter-field label{ display: block; margin-bottom: 8px; font-size: 13px; font-weight: 900; color: #334155; }

.kmclub-cost-filter-input, .kmclub-cost-filter-select{ width: 100%; height: 46px; padding: 0 14px; border: 1px solid #dbe3ef; border-radius: 14px; background: #faf9fd; color: #111827; font-size: 14px; font-weight: 700; outline: none; transition: 0.18s ease; }

.kmclub-cost-filter-input:focus, .kmclub-cost-filter-select:focus{ border-color: #7c6cf2; background: #ffffff; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.1); }

.kmclub-cost-filter-input::placeholder{ color: #94a3b8; font-weight: 600; }

.kmclub-cost-empty-box{ min-height: 430px; padding: 70px 24px; border: 1px dashed #cbd5e1; border-radius: 26px; background: radial-gradient(circle at top, rgba(124, 108, 242, 0.08), transparent 34%), #ffffff; text-align: center; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.04); }

.kmclub-cost-empty-icon{ display: flex; align-items: center; justify-content: center; width: 78px; height: 78px; margin: 0 auto 18px; border-radius: 26px; background: #f4f1ff; font-size: 36px; }

.kmclub-cost-empty-box h2{ margin: 0 0 10px; font-size: 25px; font-weight: 900; letter-spacing: -0.04em; color: #111827; }

.kmclub-cost-empty-box p{ margin: 0 0 24px; color: #64748b; font-size: 15px; line-height: 1.7; }

.kmclub-cost-sync-button{ height: 46px; padding: 0 22px; border: 0; border-radius: 15px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.2); transition: 0.18s ease; }

.kmclub-cost-sync-button:hover{ transform: translateY(-2px); }

.kmclub-margin-wrap{ display: grid; gap: 22px; }

.kmclub-margin-summary-grid{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }

.kmclub-margin-summary-card{ position: relative; overflow: hidden; min-height: 156px; padding: 20px; border: 1px solid #e8e4f0; border-radius: 22px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-margin-summary-card::after{ content: ""; position: absolute; right: -38px; bottom: -38px; width: 112px; height: 112px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-margin-summary-card.is-loss::after{ background: rgba(225, 29, 72, 0.08); }

.kmclub-margin-summary-top{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }

.kmclub-margin-summary-top span{font-size: 17px;font-weight: 800;color: #64748b;}

.kmclub-margin-summary-top em{ display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #f4f1ff; color: #7c6cf2; font-size: 13px; font-style: normal; font-weight: 900; }

.kmclub-margin-summary-card.is-loss .kmclub-margin-summary-top em{ background: #fff1f2; color: #e11d48; }

.kmclub-margin-summary-card strong{ position: relative; z-index: 1; display: block; margin-bottom: 8px; color: #0f172a; font-size: 28px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-margin-summary-card p{position: relative;z-index: 1;margin: 0;color: #64748b;font-size: 15px;line-height: 1.5;}

.kmclub-margin-filter-panel, .kmclub-margin-list-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-margin-filter-head, .kmclub-margin-list-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-margin-filter-head h2, .kmclub-margin-list-head h2{margin: 0;color: #111827;font-size: 22px;font-weight: 900;letter-spacing: -0.04em;}

.kmclub-margin-filter-head p, .kmclub-margin-list-head p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-margin-filter-region{ display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 14px; border: 1px solid #e9e5ff; border-radius: 999px; background: #f4f1ff; color: #6858df; flex-shrink: 0; }

.kmclub-margin-filter-region span{ font-size: 14px; font-weight: 900; }

.kmclub-margin-filter-region strong{ font-size: 14px; font-weight: 900; }

.kmclub-margin-filter-grid{ display: grid; grid-template-columns: 1.4fr repeat(4, minmax(150px, 1fr)); gap: 14px; padding: 24px; }

.kmclub-margin-field{ display: grid; gap: 8px; }

.kmclub-margin-field label{ color: #334155; font-size: 13px; font-weight: 900; }

.kmclub-margin-field input, .kmclub-margin-field select{ width: 100%; height: 46px; padding: 0 14px; border: 1px solid #dbe3ef; border-radius: 14px; background: #ffffff; color: #111827; font-size: 14px; outline: none; transition: 0.18s ease; }

.kmclub-margin-field input::placeholder{ color: #94a3b8; }

.kmclub-margin-field input:focus, .kmclub-margin-field select:focus{ border-color: #7c6cf2; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.10); }

.kmclub-margin-action-row{ display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 24px 24px; }

.kmclub-margin-action-button, .kmclub-margin-reset-button, .kmclub-margin-empty-button{ height: 42px; padding: 0 16px; border: 0; border-radius: 14px; font-size: 14px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-margin-action-button{ background: #f2efff; color: #6858df; }

.kmclub-margin-action-button.is-primary{ background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); }

.kmclub-margin-reset-button{ background: #faf9fd; color: #475569; border: 1px solid #e2e8f0; }

.kmclub-margin-action-button:hover, .kmclub-margin-reset-button:hover, .kmclub-margin-empty-button:hover{ transform: translateY(-2px); }

.kmclub-margin-empty{ display: flex; min-height: 360px; flex-direction: column; align-items: center; justify-content: center; padding: 50px 20px; text-align: center; }

.kmclub-margin-empty-logo{ display: inline-flex; align-items: center; justify-content: center; min-width: 148px; height: 40px; margin-bottom: 20px; padding: 0 16px; border: 1px solid #e8e4f0; border-radius: 999px; background: #faf9fd; color: #64748b; font-size: 13px; font-weight: 900; }

.kmclub-margin-empty-icon{ display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin-bottom: 18px; border-radius: 24px; background: linear-gradient(135deg, #f4f1ff, #e9e5ff); font-size: 34px; }

.kmclub-margin-empty strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.03em; }

.kmclub-margin-empty p{ margin: 0 0 22px; color: #64748b; font-size: 14px; }

.kmclub-margin-empty-button{ background: #111827; color: #ffffff; }

.kmclub-bulk-discount-wrap{ display: grid; gap: 22px; }

.kmclub-bulk-region-panel, .kmclub-bulk-country-card, .kmclub-bulk-promotion-card, .kmclub-bulk-calc-card, .kmclub-bulk-history-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-bulk-region-head, .kmclub-bulk-card-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-bulk-region-head h2, .kmclub-bulk-card-head h2{ margin: 0; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-bulk-region-head p, .kmclub-bulk-card-head p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-bulk-region-grid{ display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; padding: 24px; }

.kmclub-bulk-region-button{ position: relative; overflow: hidden; min-height: 92px; padding: 16px 12px; border: 1px solid #e8e4f0; border-radius: 18px; background: #faf9fd; cursor: pointer; text-align: left; transition: 0.2s ease; }

.kmclub-bulk-region-button::after{ content: ""; position: absolute; right: -24px; bottom: -24px; width: 70px; height: 70px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); opacity: 0; transition: 0.2s ease; }

.kmclub-bulk-region-button strong{ position: relative; z-index: 1; display: block; margin-bottom: 10px; color: #111827; font-size: 18px; font-weight: 900; }

.kmclub-bulk-region-button span{ position: relative; z-index: 1; display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #fff1f2; color: #e11d48; font-size: 13px; font-weight: 900; }

.kmclub-bulk-region-button:hover{ transform: translateY(-2px); border-color: #ded8ff; background: #ffffff; }

.kmclub-bulk-region-button.active{ border-color: #7c6cf2; background: #f4f1ff; box-shadow: 0 12px 26px rgba(124, 108, 242, 0.14); }

.kmclub-bulk-region-button.active::after{ opacity: 1; }

.kmclub-bulk-main-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 18px; align-items: start; }

.kmclub-bulk-left-area{ display: grid; gap: 18px; }

.kmclub-bulk-country-card{ padding: 24px; }

.kmclub-bulk-country-title{ display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }

.kmclub-bulk-country-title h2{ margin: 0; color: #111827; font-size: 24px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-bulk-country-title p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-bulk-country-badge{ display: inline-flex; align-items: center; height: 30px; padding: 0 11px; border-radius: 999px; background: #fff1f2; color: #e11d48; font-size: 13px; font-weight: 900; flex-shrink: 0; }

.kmclub-bulk-country-desc{ padding: 16px 18px; border-radius: 16px; background: #faf9fd; color: #334155; font-size: 14px; line-height: 1.6; }

.kmclub-bulk-empty-promotion{ display: flex; min-height: 220px; flex-direction: column; align-items: center; justify-content: center; padding: 42px 20px; text-align: center; }

.kmclub-bulk-empty-icon{ display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; margin-bottom: 18px; border-radius: 24px; background: linear-gradient(135deg, #f4f1ff, #e9e5ff); font-size: 34px; }

.kmclub-bulk-empty-promotion strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 18px; font-weight: 900; letter-spacing: -0.03em; }

.kmclub-bulk-empty-promotion p{ margin: 0; color: #64748b; font-size: 14px; }

.kmclub-bulk-calc-body{ padding: 24px; }

.kmclub-bulk-field-group{ display: grid; gap: 10px; margin-bottom: 22px; }

.kmclub-bulk-field-group label{ color: #334155; font-size: 13px; font-weight: 900; }

.kmclub-bulk-method-box{ display: flex; gap: 8px; }

.kmclub-bulk-method-button{ height: 42px; padding: 0 16px; border: 1px solid #e9e5ff; border-radius: 14px; background: #f4f1ff; color: #6858df; font-size: 14px; font-weight: 900; cursor: pointer; }

.kmclub-bulk-method-button.active{ background: #7c6cf2; color: #ffffff; box-shadow: 0 10px 22px rgba(124, 108, 242, 0.18); }

.kmclub-bulk-help-box{ display: grid; gap: 6px; padding: 15px 16px; border: 1px solid #fde68a; border-radius: 16px; background: #fffbeb; }

.kmclub-bulk-help-box strong{ color: #92400e; font-size: 14px; font-weight: 900; }

.kmclub-bulk-help-box span{ color: #78350f; font-size: 13px; line-height: 1.6; }

.kmclub-bulk-rate-input{ display: flex; align-items: center; height: 50px; border: 1px solid #dbe3ef; border-radius: 16px; background: #ffffff; overflow: hidden; }

.kmclub-bulk-rate-input input{ width: 100%; height: 100%; padding: 0 16px; border: 0; outline: none; color: #111827; font-size: 20px; font-weight: 900; }

.kmclub-bulk-rate-input span{ display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 100%; border-left: 1px solid #e8e4f0; background: #faf9fd; color: #475569; font-size: 16px; font-weight: 900; }

.kmclub-bulk-calc-button{ width: 100%; height: 48px; border: 0; border-radius: 16px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 15px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; }

.kmclub-bulk-calc-button:hover{ transform: translateY(-2px); }

.kmclub-bulk-table-wrap{ overflow-x: auto; padding: 0 24px 24px; }

.kmclub-bulk-history-table{ width: 100%; min-width: 1100px; border-collapse: separate; border-spacing: 0; }

.kmclub-bulk-history-table th{ height: 48px; padding: 0 14px; border-bottom: 1px solid #e8e4f0; background: #faf9fd; color: #475569; font-size: 13px; font-weight: 900; text-align: left; white-space: nowrap; }

.kmclub-bulk-history-table th:first-child{ border-top-left-radius: 14px; }

.kmclub-bulk-history-table th:last-child{ border-top-right-radius: 14px; }

.kmclub-bulk-history-table td{ padding: 0; border-bottom: 1px solid #eef2f7; }

.kmclub-bulk-history-empty{ display: flex; min-height: 210px; flex-direction: column; align-items: center; justify-content: center; padding: 42px 20px; text-align: center; }

.kmclub-bulk-history-empty div{ margin-bottom: 14px; font-size: 34px; }

.kmclub-bulk-history-empty strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 18px; font-weight: 900; }

.kmclub-bulk-history-empty p{ margin: 0; color: #64748b; font-size: 14px; }

.kmclub-campaign-price-wrap{ display: grid; gap: 22px; }

.kmclub-campaign-region-panel, .kmclub-campaign-upload-panel, .kmclub-campaign-info-card, .kmclub-campaign-history-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-campaign-region-head, .kmclub-campaign-card-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-campaign-region-head h2, .kmclub-campaign-card-head h2{ margin: 0; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-campaign-region-head p, .kmclub-campaign-card-head p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-campaign-region-grid{ display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; padding: 24px; }

.kmclub-campaign-region-button{ position: relative; overflow: hidden; min-height: 92px; padding: 16px 12px; border: 1px solid #e8e4f0; border-radius: 18px; background: #faf9fd; cursor: pointer; text-align: left; transition: 0.2s ease; }

.kmclub-campaign-region-button::after{ content: ""; position: absolute; right: -24px; bottom: -24px; width: 70px; height: 70px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); opacity: 0; transition: 0.2s ease; }

.kmclub-campaign-region-button strong{ position: relative; z-index: 1; display: block; margin-bottom: 10px; color: #111827; font-size: 18px; font-weight: 900; }

.kmclub-campaign-region-button span{ position: relative; z-index: 1; display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #fff1f2; color: #e11d48; font-size: 13px; font-weight: 900; }

.kmclub-campaign-region-button:hover{ transform: translateY(-2px); border-color: #ded8ff; background: #ffffff; }

.kmclub-campaign-region-button.active{ border-color: #7c6cf2; background: #f4f1ff; box-shadow: 0 12px 26px rgba(124, 108, 242, 0.14); }

.kmclub-campaign-region-button.active::after{ opacity: 1; }

.kmclub-campaign-main-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }

.kmclub-campaign-selected-region{ display: flex; align-items: center; gap: 12px; margin: 24px 24px 0; padding: 18px 20px; border: 1px solid #e9e5ff; border-radius: 18px; background: linear-gradient(135deg, #f4f1ff, #faf9ff); }

.kmclub-campaign-selected-region span{ color: #64748b; font-size: 13px; font-weight: 900; }

.kmclub-campaign-selected-region strong{ color: #6858df; font-size: 20px; font-weight: 900; }

.kmclub-campaign-selected-region p{ margin: 0; color: #111827; font-size: 14px; font-weight: 800; }

.kmclub-campaign-upload-body{ padding: 24px; }

.kmclub-campaign-field-group{ display: grid; gap: 10px; margin-bottom: 22px; }

.kmclub-campaign-field-group label{ color: #334155; font-size: 13px; font-weight: 900; }

.kmclub-campaign-method-box{ display: flex; gap: 8px; }

.kmclub-campaign-method-button{ height: 42px; padding: 0 16px; border: 1px solid #e9e5ff; border-radius: 14px; background: #7c6cf2; color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 10px 22px rgba(124, 108, 242, 0.18); }

.kmclub-campaign-help-box{ display: grid; gap: 6px; padding: 15px 16px; border: 1px solid #fde68a; border-radius: 16px; background: #fffbeb; }

.kmclub-campaign-help-box strong{ color: #92400e; font-size: 14px; font-weight: 900; }

.kmclub-campaign-help-box span{ color: #78350f; font-size: 13px; line-height: 1.6; }

.kmclub-campaign-target-box{ padding: 20px; border: 1px solid #eef2f7; border-radius: 20px; background: #faf9fd; }

.kmclub-campaign-target-head{ margin-bottom: 18px; }

.kmclub-campaign-target-head h3{ margin: 0 0 8px; color: #111827; font-size: 17px; font-weight: 900; }

.kmclub-campaign-target-head p{ margin: 0; color: #64748b; font-size: 13px; line-height: 1.6; }

.kmclub-campaign-rate-input{ display: flex; align-items: center; max-width: 220px; height: 50px; border: 1px solid #dbe3ef; border-radius: 16px; background: #ffffff; overflow: hidden; }

.kmclub-campaign-rate-input input{ width: 100%; height: 100%; padding: 0 16px; border: 0; outline: none; color: #111827; font-size: 20px; font-weight: 900; }

.kmclub-campaign-rate-input span{ display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 100%; border-left: 1px solid #e8e4f0; background: #ffffff; color: #475569; font-size: 16px; font-weight: 900; }

.kmclub-campaign-field-group em{ color: #64748b; font-size: 13px; font-style: normal; }

.kmclub-campaign-warning-box{ display: flex; align-items: flex-start; gap: 10px; margin: 22px 0; padding: 16px 18px; border: 1px solid #fecaca; border-radius: 18px; background: #fff1f2; }

.kmclub-campaign-warning-box strong{ flex-shrink: 0; color: #be123c; font-size: 14px; font-weight: 900; }

.kmclub-campaign-warning-box span{ color: #9f1239; font-size: 13px; line-height: 1.6; }

.kmclub-campaign-upload-drop{ display: flex; min-height: 280px; flex-direction: column; align-items: center; justify-content: center; padding: 34px 20px; border: 2px dashed #ded8ff; border-radius: 24px; background: linear-gradient(135deg, #faf9ff, #f4f1ff); text-align: center; cursor: pointer; transition: 0.2s ease; }

.kmclub-campaign-upload-drop:hover{ border-color: #7c6cf2; background: #f4f1ff; }

.kmclub-campaign-upload-drop input{ display: none; }

.kmclub-campaign-upload-icon{ display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; margin-bottom: 18px; border-radius: 24px; background: #ffffff; font-size: 34px; box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08); }

.kmclub-campaign-upload-drop strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 18px; font-weight: 900; }

.kmclub-campaign-upload-drop p{ margin: 0 0 16px; color: #64748b; font-size: 14px; }

.kmclub-campaign-upload-drop ul{ display: grid; gap: 6px; margin: 0 0 20px; padding: 0; list-style: none; }

.kmclub-campaign-upload-drop li{ color: #64748b; font-size: 13px; }

.kmclub-campaign-upload-button{ height: 44px; padding: 0 18px; border: 0; border-radius: 14px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); }

.kmclub-campaign-info-panel{ display: grid; gap: 18px; }

.kmclub-campaign-info-card{ padding: 22px; }

.kmclub-campaign-info-card span{ display: block; margin-bottom: 14px; color: #64748b; font-size: 13px; font-weight: 900; }

.kmclub-campaign-info-card strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 24px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-campaign-info-card p{ margin: 0; color: #64748b; font-size: 14px; line-height: 1.6; }

.kmclub-campaign-table-wrap{ overflow-x: auto; padding: 0 24px 24px; }

.kmclub-campaign-history-table{ width: 100%; min-width: 1120px; border-collapse: separate; border-spacing: 0; }

.kmclub-campaign-history-table th{ height: 48px; padding: 0 14px; border-bottom: 1px solid #e8e4f0; background: #faf9fd; color: #475569; font-size: 13px; font-weight: 900; text-align: left; white-space: nowrap; }

.kmclub-campaign-history-table th:first-child{ border-top-left-radius: 14px; }

.kmclub-campaign-history-table th:last-child{ border-top-right-radius: 14px; }

.kmclub-campaign-history-table td{ padding: 0; border-bottom: 1px solid #eef2f7; }

.kmclub-campaign-history-empty{ display: flex; min-height: 220px; flex-direction: column; align-items: center; justify-content: center; padding: 42px 20px; text-align: center; }

.kmclub-campaign-history-empty div{ margin-bottom: 14px; font-size: 34px; }

.kmclub-campaign-history-empty strong{ display: block; margin-bottom: 8px; color: #111827; font-size: 18px; font-weight: 900; }

.kmclub-campaign-history-empty p{ margin: 0; color: #64748b; font-size: 14px; }

.kmclub-semi-source-wrap{ display: grid; gap: 22px; }

.kmclub-semi-source-top-grid{ display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 18px; }

.kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-semi-source-manage-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-semi-source-usage-card{ overflow: hidden; }

.kmclub-semi-source-card-head, .kmclub-semi-source-manage-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-semi-source-card-head h2, .kmclub-semi-source-manage-head h2, .kmclub-semi-source-extension-content h2{ margin: 0; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-semi-source-card-head p, .kmclub-semi-source-manage-head p, .kmclub-semi-source-extension-content p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-semi-source-status-badge{ display: inline-flex; align-items: center; height: 30px; padding: 0 11px; border-radius: 999px; background: #ecfdf5; color: #059669; font-size: 13px; font-weight: 900; flex-shrink: 0; }

.kmclub-semi-source-usage-body{ padding: 24px; }

.kmclub-semi-source-usage-count{ display: flex; align-items: flex-end; gap: 6px; margin-bottom: 16px; }

.kmclub-semi-source-usage-count strong{ color: #111827; font-size: 46px; font-weight: 900; letter-spacing: -0.06em; line-height: 1; }

.kmclub-semi-source-usage-count span{ margin-bottom: 5px; color: #64748b; font-size: 20px; font-weight: 800; }

.kmclub-semi-source-progress{ overflow: hidden; width: 100%; height: 12px; margin-bottom: 20px; border-radius: 999px; background: #eef2f7; }

.kmclub-semi-source-progress-bar{ height: 100%; border-radius: 999px; background: linear-gradient(135deg, #7c6cf2, #6858df); }

.kmclub-semi-source-usage-info{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.kmclub-semi-source-usage-info div{ padding: 16px; border: 1px solid #eef2f7; border-radius: 18px; background: #faf9fd; }

.kmclub-semi-source-usage-info span{ display: block; margin-bottom: 8px; color: #64748b; font-size: 13px; font-weight: 800; }

.kmclub-semi-source-usage-info strong{ display: block; color: #111827; font-size: 20px; font-weight: 900; }

.kmclub-semi-source-extension-card{ position: relative; overflow: hidden; display: flex; align-items: center; gap: 20px; padding: 24px; background: radial-gradient(circle at top right, rgba(124, 108, 242, 0.14), transparent 36%), #ffffff; }

.kmclub-semi-source-extension-icon{ display: inline-flex; align-items: center; justify-content: center; width: 78px; height: 78px; border-radius: 24px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 18px; font-weight: 900; flex-shrink: 0; box-shadow: 0 14px 28px rgba(124, 108, 242, 0.24); }

.kmclub-semi-source-extension-content{ flex: 1; min-width: 0; }

.kmclub-semi-source-market-list{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

.kmclub-semi-source-market-list span{ display: inline-flex; align-items: center; height: 30px; padding: 0 10px; border-radius: 999px; background: #f4f1ff; color: #6858df; font-size: 13px; font-weight: 900; }

.kmclub-semi-source-download-button, .kmclub-semi-source-primary-button, .kmclub-semi-source-empty-button{ height: 44px; padding: 0 18px; border: 0; border-radius: 14px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; }

.kmclub-semi-source-download-button{ flex-shrink: 0; }

.kmclub-semi-source-download-button:hover, .kmclub-semi-source-primary-button:hover, .kmclub-semi-source-empty-button:hover{ transform: translateY(-2px); }

.kmclub-semi-source-selected-count{ display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 14px; border-radius: 999px; background: #f4f1ff; color: #6858df; flex-shrink: 0; }

.kmclub-semi-source-selected-count strong{ font-size: 16px; font-weight: 900; }

.kmclub-semi-source-selected-count span{ font-size: 13px; font-weight: 800; }

.kmclub-semi-source-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 24px 24px 14px; }

.kmclub-semi-source-search-box{ flex: 1; min-width: 0; }

.kmclub-semi-source-search-box input{ width: 100%; height: 46px; padding: 0 15px; border: 1px solid #dbe3ef; border-radius: 14px; background: #ffffff; color: #111827; font-size: 14px; outline: none; }

.kmclub-semi-source-search-box input::placeholder{ color: #94a3b8; }

.kmclub-semi-source-search-box input:focus{ border-color: #7c6cf2; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.10); }

.kmclub-semi-source-button-group{ display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

.kmclub-semi-source-sub-button, .kmclub-semi-source-danger-button{ height: 42px; padding: 0 15px; border-radius: 14px; font-size: 14px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-semi-source-sub-button{ border: 1px solid #e9e5ff; background: #f4f1ff; color: #6858df; }

.kmclub-semi-source-danger-button{ border: 1px solid #fecdd3; background: #fff1f2; color: #e11d48; }

.kmclub-semi-source-sub-button:hover, .kmclub-semi-source-danger-button:hover{ transform: translateY(-2px); }

.kmclub-semi-source-market-filter{ display: flex; flex-wrap: wrap; gap: 8px; padding: 0 24px 24px; }

.kmclub-semi-source-market-button{ height: 36px; padding: 0 13px; border: 1px solid #e8e4f0; border-radius: 999px; background: #ffffff; color: #64748b; font-size: 13px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-semi-source-market-button.active, .kmclub-semi-source-market-button:hover{ border-color: #7c6cf2; background: #f4f1ff; color: #6858df; }

.kmclub-semi-source-empty{ display: flex; min-height: 380px; flex-direction: column; align-items: center; justify-content: center; padding: 54px 20px; border-top: 1px solid #eef2f7; text-align: center; }

.kmclub-semi-source-empty-logo{ display: inline-flex; align-items: center; justify-content: center; min-width: 148px; height: 40px; margin-bottom: 20px; padding: 0 16px; border: 1px solid #e8e4f0; border-radius: 999px; background: #faf9fd; color: #64748b; font-size: 13px; font-weight: 900; }

.kmclub-semi-source-empty-icon{ display: flex; align-items: center; justify-content: center; width: 78px; height: 78px; margin-bottom: 18px; border-radius: 26px; background: linear-gradient(135deg, #f4f1ff, #e9e5ff); font-size: 36px; }

.kmclub-semi-source-empty strong{ display: block; margin-bottom: 10px; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.03em; }

.kmclub-semi-source-empty p{ margin: 0 0 24px; color: #64748b; font-size: 14px; line-height: 1.7; }

.kmclub-bulk-source-wrap{ display: grid; gap: 22px; }

.kmclub-bulk-source-summary-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.kmclub-bulk-source-summary-card{ position: relative; overflow: hidden; min-height: 156px; padding: 20px; border: 1px solid #e8e4f0; border-radius: 22px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-bulk-source-summary-card::after{ content: ""; position: absolute; right: -38px; bottom: -38px; width: 112px; height: 112px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-bulk-source-summary-top{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }

.kmclub-bulk-source-summary-top span{ color: #64748b; font-size: 13px; font-weight: 800; }

.kmclub-bulk-source-summary-top em{ display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #f4f1ff; color: #7c6cf2; font-size: 13px; font-style: normal; font-weight: 900; }

.kmclub-bulk-source-summary-card strong{ position: relative; z-index: 1; display: block; margin-bottom: 8px; color: #0f172a; font-size: 30px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-bulk-source-summary-card p{ position: relative; z-index: 1; margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; }

.kmclub-bulk-source-filter-panel, .kmclub-bulk-source-connect-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-bulk-source-filter-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-bulk-source-filter-head h2{ margin: 0; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-bulk-source-filter-head p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-bulk-source-filter-grid{ display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(180px, 1fr)); gap: 14px; padding: 24px; }

.kmclub-bulk-source-field{ display: grid; gap: 8px; }

.kmclub-bulk-source-field label{ color: #334155; font-size: 13px; font-weight: 900; }

.kmclub-bulk-source-field input, .kmclub-bulk-source-field select{ width: 100%; height: 46px; padding: 0 14px; border: 1px solid #dbe3ef; border-radius: 14px; background: #ffffff; color: #111827; font-size: 14px; outline: none; transition: 0.18s ease; }

.kmclub-bulk-source-field input::placeholder{ color: #94a3b8; }

.kmclub-bulk-source-field input:focus, .kmclub-bulk-source-field select:focus{ border-color: #7c6cf2; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.10); }

.kmclub-bulk-source-filter-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 24px 24px; }

.kmclub-bulk-source-sub-button, .kmclub-bulk-source-main-button{ height: 42px; padding: 0 16px; border-radius: 14px; font-size: 14px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-bulk-source-sub-button{ border: 1px solid #e2e8f0; background: #faf9fd; color: #475569; }

.kmclub-bulk-source-main-button{ border: 0; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); }

.kmclub-bulk-source-sub-button:hover, .kmclub-bulk-source-main-button:hover{ transform: translateY(-2px); }

.kmclub-bulk-source-connect-panel{ position: relative; overflow: hidden; display: flex; align-items: center; gap: 30px; min-height: 330px; padding: 44px; background: radial-gradient(circle at top right, rgba(124, 108, 242, 0.18), transparent 34%), linear-gradient(135deg, #ffffff 0%, #faf9ff 100%); }

.kmclub-bulk-source-connect-panel::before{ content: ""; position: absolute; right: -90px; bottom: -90px; width: 240px; height: 240px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-bulk-source-connect-visual{ position: relative; display: flex; align-items: center; justify-content: center; width: 180px; height: 180px; flex-shrink: 0; }

.kmclub-bulk-source-connect-icon{ position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 104px; height: 104px; border-radius: 32px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 28px; font-weight: 900; box-shadow: 0 20px 40px rgba(124, 108, 242, 0.26); }

.kmclub-bulk-source-connect-ring{ position: absolute; inset: 18px; border: 2px dashed rgba(124, 108, 242, 0.28); border-radius: 50%; }

.kmclub-bulk-source-connect-content{ position: relative; z-index: 1; max-width: 620px; }

.kmclub-bulk-source-connect-badge{ display: inline-flex; align-items: center; height: 30px; margin-bottom: 16px; padding: 0 11px; border-radius: 999px; background: #f4f1ff; color: #6858df; font-size: 13px; font-weight: 900; }

.kmclub-bulk-source-connect-content h2{ margin: 0; color: #111827; font-size: 28px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-bulk-source-connect-content p{ margin: 12px 0 24px; color: #64748b; font-size: 15px; line-height: 1.7; }

.kmclub-bulk-source-connect-button{ display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border-radius: 15px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; text-decoration: none; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; }

.kmclub-bulk-source-connect-button:hover{ transform: translateY(-2px); }

.kmclub-ai-trend-wrap{ display: grid; gap: 22px; }

.kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-summary-card, .kmclub-ai-trend-filter-panel, .kmclub-ai-trend-empty-panel{ border: 1px solid #e8e4f0; border-radius: 24px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); }

.kmclub-ai-trend-info-panel{ display: flex; gap: 22px; padding: 28px; background: radial-gradient(circle at top left, rgba(124, 108, 242, 0.14), transparent 34%), linear-gradient(135deg, #ffffff 0%, #faf9ff 100%); }

.kmclub-ai-trend-info-icon{ display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; border-radius: 24px; background: linear-gradient(135deg, #7c6cf2, #6858df); font-size: 34px; flex-shrink: 0; box-shadow: 0 16px 30px rgba(124, 108, 242, 0.22); }

.kmclub-ai-trend-info-content{ flex: 1; min-width: 0; }

.kmclub-ai-trend-info-content h2{ margin: 0 0 12px; color: #111827; font-size: 24px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-ai-trend-info-content p{ margin: 0; color: #475569; font-size: 15px; line-height: 1.8; }

.kmclub-ai-trend-notice-list{ display: grid; gap: 10px; margin-top: 20px; }

.kmclub-ai-trend-notice-item{ display: grid; gap: 6px; padding: 15px 16px; border: 1px solid #e9e5ff; border-radius: 16px; background: rgba(239, 246, 255, 0.8); }

.kmclub-ai-trend-notice-item strong{ color: #6858df; font-size: 14px; font-weight: 900; }

.kmclub-ai-trend-notice-item span{ color: #334155; font-size: 13px; line-height: 1.6; }

.kmclub-ai-trend-notice-item.is-warning{ border-color: #fed7aa; background: #fff7ed; }

.kmclub-ai-trend-notice-item.is-warning strong{ color: #c2410c; }

.kmclub-ai-trend-connect-panel{ display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; background: radial-gradient(circle at top right, rgba(124, 108, 242, 0.12), transparent 34%), #ffffff; }

.kmclub-ai-trend-connect-content{ min-width: 0; }

.kmclub-ai-trend-connect-badge, .kmclub-ai-trend-empty-badge{ display: inline-flex; align-items: center; height: 30px; margin-bottom: 12px; padding: 0 11px; border-radius: 999px; background: #f4f1ff; color: #6858df; font-size: 13px; font-weight: 900; }

.kmclub-ai-trend-connect-content h2{ margin: 0; color: #111827; font-size: 21px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-ai-trend-connect-content p{ margin: 10px 0 0; color: #64748b; font-size: 14px; line-height: 1.7; }

.kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button, .kmclub-ai-trend-main-button{ display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border: 0; border-radius: 15px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; text-decoration: none; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; flex-shrink: 0; }

.kmclub-ai-trend-connect-button:hover, .kmclub-ai-trend-empty-button:hover, .kmclub-ai-trend-main-button:hover{ transform: translateY(-2px); }

.kmclub-ai-trend-summary-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.kmclub-ai-trend-summary-card{ position: relative; overflow: hidden; min-height: 156px; padding: 20px; }

.kmclub-ai-trend-summary-card::after{ content: ""; position: absolute; right: -38px; bottom: -38px; width: 112px; height: 112px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-ai-trend-summary-top{ position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }

.kmclub-ai-trend-summary-top span{ color: #64748b; font-size: 13px; font-weight: 800; }

.kmclub-ai-trend-summary-top em{ display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 999px; background: #f4f1ff; color: #7c6cf2; font-size: 13px; font-style: normal; font-weight: 900; }

.kmclub-ai-trend-summary-card strong{ position: relative; z-index: 1; display: block; margin-bottom: 8px; color: #0f172a; font-size: 30px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-ai-trend-summary-card p{ position: relative; z-index: 1; margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; }

.kmclub-ai-trend-filter-head{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid #eef2f7; }

.kmclub-ai-trend-filter-head h2{ margin: 0; color: #111827; font-size: 20px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-ai-trend-filter-head p{ margin: 8px 0 0; color: #64748b; font-size: 14px; }

.kmclub-ai-trend-filter-grid{ display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(180px, 1fr)); gap: 14px; padding: 24px; }

.kmclub-ai-trend-field{ display: grid; gap: 8px; }

.kmclub-ai-trend-field label{ color: #334155; font-size: 13px; font-weight: 900; }

.kmclub-ai-trend-field input, .kmclub-ai-trend-field select{ width: 100%; height: 46px; padding: 0 14px; border: 1px solid #dbe3ef; border-radius: 14px; background: #ffffff; color: #111827; font-size: 14px; outline: none; transition: 0.18s ease; }

.kmclub-ai-trend-field input::placeholder{ color: #94a3b8; }

.kmclub-ai-trend-field input:focus, .kmclub-ai-trend-field select:focus{ border-color: #7c6cf2; box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.10); }

.kmclub-ai-trend-filter-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 0 24px 24px; }

.kmclub-ai-trend-sub-button{ height: 42px; padding: 0 16px; border: 1px solid #e2e8f0; border-radius: 14px; background: #faf9fd; color: #475569; font-size: 14px; font-weight: 900; cursor: pointer; transition: 0.18s ease; }

.kmclub-ai-trend-sub-button:hover{ transform: translateY(-2px); }

.kmclub-ai-trend-main-button{ height: 42px; }

.kmclub-ai-trend-empty-panel{ position: relative; overflow: hidden; display: flex; align-items: center; gap: 30px; min-height: 330px; padding: 44px; background: radial-gradient(circle at top right, rgba(124, 108, 242, 0.18), transparent 34%), linear-gradient(135deg, #ffffff 0%, #faf9ff 100%); }

.kmclub-ai-trend-empty-panel::before{ content: ""; position: absolute; right: -90px; bottom: -90px; width: 240px; height: 240px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-ai-trend-empty-visual{ position: relative; display: flex; align-items: center; justify-content: center; width: 180px; height: 180px; flex-shrink: 0; }

.kmclub-ai-trend-empty-icon{ position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 104px; height: 104px; border-radius: 32px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 30px; font-weight: 900; box-shadow: 0 20px 40px rgba(124, 108, 242, 0.26); }

.kmclub-ai-trend-empty-ring{ position: absolute; inset: 18px; border: 2px dashed rgba(124, 108, 242, 0.28); border-radius: 50%; }

.kmclub-ai-trend-empty-content{ position: relative; z-index: 1; max-width: 620px; }

.kmclub-ai-trend-empty-content h2{ margin: 0; color: #111827; font-size: 28px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-ai-trend-empty-content p{ margin: 12px 0 24px; color: #64748b; font-size: 15px; line-height: 1.7; }

.kmclub-pricing-wrap{ display: grid; gap: 24px; }

.kmclub-pricing-hero{ position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px; border: 1px solid #e9e5ff; border-radius: 28px; background: radial-gradient(circle at top right, rgba(124, 108, 242, 0.20), transparent 34%), linear-gradient(135deg, #ffffff 0%, #faf9ff 100%); box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07); }

.kmclub-pricing-hero::after{ content: ""; position: absolute; right: -80px; bottom: -80px; width: 220px; height: 220px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-pricing-eyebrow{ display: inline-flex; align-items: center; height: 30px; margin-bottom: 14px; padding: 0 11px; border-radius: 999px; background: #f4f1ff; color: #6858df; font-size: 13px; font-weight: 900; letter-spacing: 0.08em; }

.kmclub-pricing-hero h2{ position: relative; z-index: 1; margin: 0; color: #111827; font-size: 28px; font-weight: 900; letter-spacing: -0.05em; }

.kmclub-pricing-hero p{ position: relative; z-index: 1; max-width: 720px; margin: 12px 0 0; color: #64748b; font-size: 15px; line-height: 1.7; }

.kmclub-pricing-discount-badge{ position: relative; z-index: 1; display: grid; place-items: center; width: 128px; height: 128px; border-radius: 36px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; box-shadow: 0 18px 36px rgba(124, 108, 242, 0.26); flex-shrink: 0; }

.kmclub-pricing-discount-badge strong{ display: flex; font-size: 47px; font-weight: 900; letter-spacing: -0.06em; line-height: 1; align-items: center; justify-content: center; height: 65px; flex-direction: column; position: absolute; margin-top: 16px; }

.kmclub-pricing-discount-badge span{display: block;text-align: center;font-size: 13px;font-weight: 800;line-height: 1.35;position: absolute;top: -20px;}

.kmclub-pricing-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; align-items: stretch; }

.kmclub-pricing-card{ position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 100%; padding: 24px; border: 1px solid #e8e4f0; border-radius: 26px; background: #ffffff; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06); transition: 0.22s ease; }

.kmclub-pricing-card::after{ content: ""; position: absolute; right: -48px; top: -48px; width: 134px; height: 134px; border-radius: 50%; background: rgba(124, 108, 242, 0.08); }

.kmclub-pricing-card:hover{ transform: translateY(-4px); box-shadow: 0 20px 44px rgba(15, 23, 42, 0.10); }

.kmclub-pricing-card.is-recommended{ border-color: #7c6cf2; box-shadow: 0 20px 44px rgba(124, 108, 242, 0.14); }

.kmclub-pricing-recommend-badge{position: absolute !important;top: 18px;right: 18px;z-index: 2;display: inline-flex;align-items: center;height: 30px;padding: 0 12px;border-radius: 999px;background: #7c6cf2;color: #ffffff;font-size: 13px;font-weight: 900;}

.kmclub-pricing-card-head{ position: relative; z-index: 1; padding-bottom: 20px; border-bottom: 1px solid #eef2f7; }

.kmclub-pricing-plan-label{ display: inline-flex; align-items: center; height: 28px; margin-bottom: 14px; padding: 0 10px; border-radius: 999px; background: #f4f1ff; color: #6858df; font-size: 13px; font-weight: 900; letter-spacing: 0.08em; }

.kmclub-pricing-card-head h3{ margin: 0; color: #111827; font-size: 22px; font-weight: 900; letter-spacing: -0.04em; }

.kmclub-pricing-card-head p{ margin: 9px 0 0; color: #64748b; font-size: 14px; line-height: 1.5; }

.kmclub-pricing-price-box{ position: relative; z-index: 1; min-height: 122px; padding: 22px 0; border-bottom: 1px solid #eef2f7; }

.kmclub-pricing-origin-price{ margin-bottom: 5px; color: #94a3b8; font-size: 14px; font-weight: 800; text-decoration: line-through; }

.kmclub-pricing-price-box strong{ display: block; color: #0f172a; font-size: 31px; font-weight: 900; letter-spacing: -0.06em; line-height: 1.1; }

.kmclub-pricing-price-box span{ display: block; margin-top: 7px; color: #64748b; font-size: 13px; font-weight: 800; }

.kmclub-pricing-price-box em{ display: inline-flex; align-items: center; height: 28px; margin-top: 12px; padding: 0 10px; border-radius: 999px; background: #fff1f2; color: #e11d48; font-size: 13px; font-style: normal; font-weight: 900; }

.kmclub-pricing-spec-list{ position: relative; z-index: 1; display: grid; gap: 10px; padding: 20px 0; border-bottom: 1px solid #eef2f7; }

.kmclub-pricing-spec-list div{ display: flex; align-items: center; justify-content: space-between; gap: 14px; }

.kmclub-pricing-spec-list span{ color: #64748b; font-size: 13px; font-weight: 800; }

.kmclub-pricing-spec-list strong{ color: #111827; font-size: 14px; font-weight: 900; text-align: right; }

.kmclub-pricing-feature-box{ position: relative; z-index: 1; flex: 1; padding: 20px 0; }

.kmclub-pricing-feature-box > strong{ display: block; margin-bottom: 12px; color: #111827; font-size: 15px; font-weight: 900; }

.kmclub-pricing-feature-box ul{ display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }

.kmclub-pricing-feature-box li{ position: relative; padding-left: 22px; color: #334155; font-size: 13px; line-height: 1.55; }

.kmclub-pricing-feature-box li::before{ content: "✓"; position: absolute; left: 0; top: 0; color: #7c6cf2; font-weight: 900; }

.kmclub-pricing-feature-note{ color: #92400e !important; }

.kmclub-pricing-feature-note::before{ content: "!" !important; color: #f59e0b !important; }

.kmclub-pricing-button{ position: relative; z-index: 1; width: 100%; height: 46px; margin-top: auto; border: 0; border-radius: 15px; background: linear-gradient(135deg, #7c6cf2, #6858df); color: #ffffff; font-size: 14px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22); transition: 0.2s ease; }

.kmclub-pricing-button.is-free{ background: #111827; box-shadow: 0 12px 24px rgba(17, 24, 39, 0.18); }

.kmclub-pricing-button:hover{ transform: translateY(-2px); }

.kmclub-admin-layout.sidebar-collapsed .site_header_nav{padding-left:0;}

/* Shopee 연동 관리 */
.shopee-shop-connect-wrap{
    display: grid;
    gap: 22px;
}

.shopee-shop-add-button{
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(135deg, #7c6cf2, #6858df);
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(124, 108, 242, 0.22);
    transition: 0.2s ease;
}

.shopee-shop-add-button:hover{
    transform: translateY(-2px);
}

.shopee-shop-merchant-section{
    display: grid;
    gap: 16px;
}

.shopee-shop-merchant-card{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px;
    border: 1px solid #e9e5ff;
    border-radius: 24px;
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.14), transparent 34%),
            #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.shopee-shop-merchant-info{
    min-width: 0;
}

.shopee-shop-merchant-badge{
    display: inline-flex;
    align-items: center;
    height: 28px;
    margin-bottom: 12px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f4f1ff;
    color: #6858df;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.shopee-shop-merchant-info strong{
    display: block;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.shopee-shop-merchant-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
}

.shopee-shop-merchant-meta span{
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    background: #faf9fd;
    color: #475569;
    font-size: 13px;
    font-weight: 800;
}

.shopee-shop-merchant-action-form{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.shopee-shop-list-panel{
    overflow: hidden;
    border: 1px solid #e8e4f0;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.shopee-shop-list-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    border-bottom: 1px solid #eef2f7;
}

.shopee-shop-list-head h2{
    margin: 0;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.shopee-shop-list-head p{
    margin: 8px 0 0;
    color: #64748b;
    font-size: 14px;
}

.shopee-shop-table-wrap{
    width: 100%;
    overflow-x: auto;
}

.shopee-shop-table{
    width: 100%;
    min-width: 1120px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.shopee-shop-col-name{
    width: 17%;
}

.shopee-shop-col-region{
    width: 8%;
}

.shopee-shop-col-currency{
    width: 8%;
}

.shopee-shop-col-id{
    width: 13%;
}

.shopee-shop-col-status{
    width: 10%;
}

.shopee-shop-col-expire{
    width: 15%;
}

.shopee-shop-col-health{
    width: 20%;
}

.shopee-shop-col-action{
    width: 9%;
}

.shopee-shop-table-head th{
    height: 54px;
    padding: 0 14px;
    border-bottom: 1px solid #e8e4f0;
    background: #faf9fd;
    color: #475569;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
}

.shopee-shop-table-body td{
    min-height: 76px;
    padding: 16px 14px;
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
    vertical-align: middle;
}

.shopee-shop-table-body tr:last-child td{
    border-bottom: 0;
}

.shopee-shop-table-body tr{
    transition: 0.18s ease;
}

.shopee-shop-table-body tr:hover{
    background: #faf9ff;
}

.shopee-shop-name-cell{
    text-align: left !important;
}

.shopee-shop-name-cell strong{
    display: block;
    color: #111827;
    font-size: 14px;
    font-weight: 900;
    word-break: keep-all;
}

.shopee-shop-region-badge, .shopee-shop-status-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.shopee-shop-region-badge{
    background: #f4f1ff;
    color: #6858df;
}

.shopee-shop-status-badge{
    background: #ecfdf5;
    color: #059669;
}

.shopee-shop-id-text{
    color: #475569;
    font-size: 13px;
    font-weight: 900;
}

.shopee-shop-health-cell{
    text-align: left !important;
}

.shopee-shop-penalty-summary{
    display: grid;
    gap: 8px;
}

.shopee-shop-penalty-grid{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.shopee-shop-penalty-grid span{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 9px;
    border-radius: 999px;
    background: #faf9fd;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.shopee-shop-penalty-grid b{
    margin-left: 4px;
    color: #111827;
    font-weight: 900;
}

.shopee-shop-penalty-summary small{
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
}

.shopee-shop-health-refresh-button{
    height: 32px;
    margin-top: 10px;
    padding: 0 12px;
    border: 1px solid #e9e5ff;
    border-radius: 11px;
    background: #f4f1ff;
    color: #6858df;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: 0.18s ease;
}

.shopee-shop-health-refresh-button:hover{
    border-color: #7c6cf2;
    background: #e9e5ff;
}

.shopee-shop-action-cell{
    text-align: center;
}

.shopee-shop-token-form{
    display: flex;
    justify-content: center;
}

.shopee-shop-action-button{
    display: inline-flex;
    min-width: 86px;
    height: 38px;
    padding: 0 14px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 13px;
    background: #111827;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
    transition: 0.18s ease;
}

.shopee-shop-action-button:hover{
    transform: translateY(-2px);
}

.shopee-shop-action-button-sub{
    border: 1px solid #e9e5ff;
    background: #f4f1ff;
    color: #6858df;
}

.shopee-shop-reauth-button{
    background: #e11d48;
}

.shopee-shop-loading-text{
    color: #94a3b8;
    font-size: 13px;
    font-weight: 800;
}

.shopee-shop-empty-box{
    display: flex;
    min-height: 320px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 54px 20px;
    text-align: center;
}

.shopee-shop-empty-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 18px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f4f1ff, #e9e5ff);
    color: #6858df;
    font-size: 20px;
    font-weight: 900;
}

.shopee-shop-empty-box strong{
    display: block;
    margin-bottom: 8px;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
}

.shopee-shop-empty-box p{
    margin: 0;
    color: #64748b;
    font-size: 14px;
}
/* ==============================
 반응형 @media 정리
============================== */


@media screen and (min-width:1024px){
    .shopee_product_preview_box{ display: none; position: fixed; top: 50%; left: 50%; z-index: 999999; width: 420px; height: 420px; padding: 10px; background: #fff; border: 1px solid #ddd; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); transform: translate(-50%, -50%); pointer-events: none; }

    .shopee_product_preview_box img{ width: 100%; height: 100%; object-fit: contain; }

    .shopee_product_image_box:hover .shopee_product_preview_box{ display: block; }

    .shopee_product_image_box:hover{ border-color: #7c6cf2; }
}

@media (max-width: 1440px){
    .kmclub-pricing-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-campaign-region-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .kmclub-campaign-main-grid{ grid-template-columns: 1fr; }

    .kmclub-campaign-info-panel{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .kmclub-bulk-region-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .kmclub-bulk-main-grid{ grid-template-columns: 1fr; }

    .kmclub-margin-summary-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .kmclub-margin-filter-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .kmclub-margin-field:first-child{ grid-column: span 3; }
}

@media (max-width:1320px){
    .kmclub-kpi-row-main{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-kpi-row-sub{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .kmclub-chart-grid{ grid-template-columns: 1fr 1fr; }

    .kmclub-chart-card.wide{ grid-column: 1 / -1; }

    .kmclub-market-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1280px){
    .kmclub-ai-trend-filter-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-ai-trend-field.is-search{ grid-column: span 2; }

    .kmclub-bulk-source-summary-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-bulk-source-filter-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-bulk-source-field.is-search{ grid-column: span 2; }

    .kmclub-semi-source-top-grid{ grid-template-columns: 1fr; }

    .kmclub-cost-filter-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-cost-filter-field.is-search{ grid-column: 1 / -1; }

    .kmclub-order-summary-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-order-filter-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-order-filter-field.is-search{ grid-column: 1 / -1; }

    .kmclub-shopee-status-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-shopee-content-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 980px){
    .pagination_nav{
        margin-top: 22px;
        padding: 0 4px;
    }

    .pagination_list{
        max-width: 100%;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 7px;
        border-radius: 16px;
        scrollbar-width: none;
    }

    .pagination_list::-webkit-scrollbar{
        display: none;
    }

    .pagination_link{
        min-width: 34px;
        height: 34px;
        padding: 0 10px;
        border-radius: 10px;
        font-size: 13px;
        flex-shrink: 0;
    }

    .pagination_item_prev .pagination_link, .pagination_item_next .pagination_link{
        min-width: 36px;
    }
    .shopee_product_table_wrap{
        border-radius: 20px;
    }

    .shopee_product_table{
        min-width: 860px;
        font-size: 13px;
    }

    .shopee_product_table_head th{
        height: 56px;
        padding: 12px 14px;
        font-size: 13px;
    }

    .shopee_product_table_body td{
        height: 84px;
        padding: 12px 14px;
        font-size: 13px;
    }

    .shopee_product_image_box{
        width: 58px;
        height: 58px;
        border-radius: 16px;
    }

    .shopee_product_image_box > img{
        width: 50px;
        height: 50px;
        border-radius: 12px;
    }

    .shopee_product_preview_box{
        display: none !important;
    }

    .shopee_product_publish_btn{
        min-width: 84px;
        height: 36px;
        padding: 0 13px;
        border-radius: 12px;
        font-size: 13px;
    }

    .shopee_product_pager{
        flex-wrap: wrap;
    }
    .kmclub-ai-trend-connect-panel{ display: block; }

    .kmclub-ai-trend-connect-button{ margin-top: 18px; }

    .kmclub-ai-trend-summary-grid{ grid-template-columns: 1fr; }

    .kmclub-ai-trend-info-panel{ display: block; }

    .kmclub-ai-trend-info-icon{ margin-bottom: 18px; }

    .kmclub-semi-source-toolbar{ display: grid; grid-template-columns: 1fr; }

    .kmclub-semi-source-button-group{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }

    .kmclub-semi-source-sub-button, .kmclub-semi-source-danger-button, .kmclub-semi-source-primary-button{ width: 100%; }

    .kmclub-campaign-info-panel{ grid-template-columns: 1fr; }

    .kmclub-campaign-region-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-campaign-region-head, .kmclub-campaign-card-head{ display: block; padding: 20px; }

    .kmclub-campaign-upload-body{ padding: 20px; }

    .kmclub-campaign-selected-region{ margin: 20px 20px 0; flex-wrap: wrap; }

    .kmclub-campaign-table-wrap{ padding: 0 20px 20px; }

    .kmclub-margin-summary-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-margin-filter-grid{ grid-template-columns: 1fr; }

    .kmclub-margin-field:first-child{ grid-column: auto; }

    .kmclub-margin-action-row{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-margin-action-button, .kmclub-margin-reset-button{ width: 100%; }
}

@media (max-width:980px){
    .site_header_nav{ height: auto; min-height: 58px; padding-left: 0; gap: 10px; }

    .kmclub-sidebar{ position: fixed; width: 276px; transition: 0.28s ease; transform: translateX(-100%); }

    .kmclub-admin-layout.sidebar-open .kmclub-sidebar{ transform: translateX(0); }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar{ width: 276px; }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-main-area, .kmclub-main-area{ padding-left: 0; }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-group-title, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-badge, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-bottom{ width: auto; height: auto; overflow: visible; opacity: 1; pointer-events: auto; visibility: visible; }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-link{ padding: 0 11px; justify-content: flex-start; }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button{ position: static; margin-left: auto; background: rgba(255, 255, 255, 0.07); }

    .kmclub-mobile-topbar{ display: flex; }
}

@media (max-width:820px){
    .kmclub-global-dashboard{ padding: 14px; }

    .kmclub-dashboard-header{ display: block; padding-top: 18px; }

    .kmclub-dashboard-title-area h1{ font-size: 30px; }

    .kmclub-dashboard-controls{ margin-top: 18px; justify-content: flex-start; }

    .kmclub-kpi-row-main, .kmclub-kpi-row-sub, .kmclub-chart-grid{ grid-template-columns: 1fr; }

    .kmclub-chart-card.wide{ overflow-x: auto; }

    .kmclub-revenue-chart-wrap{ min-width: 700px; }

    .kmclub-market-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-page-header{ display: block; padding-top: 18px; padding-bottom: 20px; }

    .kmclub-page-title-area h1, .kmclub-page-title{ font-size: 30px; line-height: 1.2; letter-spacing: -0.06em; }

    .kmclub-page-title-area p, .kmclub-page-desc{ margin-top: 8px; font-size: 13px; line-height: 1.5; }

    .kmclub-page-controls{ width: 100%; margin-top: 18px; justify-content: flex-start; }

    .kmclub-page-select{ min-width: 140px; flex: 1; }

    .kmclub-currency-toggle{ flex: 0 0 auto; }

    .kmclub-page-report-button{ min-width: 120px; flex: 1; }

    .kmclub-page-refresh-button{ flex: 0 0 44px; }
}

@media screen and (max-width:768px){
    .shopee-shop-add-button{
        width: 100%;
    }

    .shopee-shop-merchant-card{
        display: block;
        padding: 22px;
    }

    .shopee-shop-merchant-action-form{
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .shopee-shop-merchant-meta{
        display: grid;
    }

    .shopee-shop-list-head{
        padding: 20px;
    }

    .shopee-shop-table-wrap{
        overflow: visible;
    }

    .shopee-shop-table{
        display: block;
        min-width: 0;
    }

    .shopee-shop-table colgroup, .shopee-shop-table-head{
        display: none;
    }

    .shopee-shop-table-body{
        display: grid;
        gap: 14px;
        padding: 16px;
    }

    .shopee-shop-table-body tr{
        display: grid;
        gap: 10px;
        padding: 18px;
        border: 1px solid #e8e4f0;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .shopee-shop-table-body td{
        display: flex;
        min-height: 0;
        padding: 0;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        border-bottom: 0;
        text-align: right;
        font-size: 13px;
    }

    .shopee-shop-table-body td::before{
        content: attr(data-label);
        flex: 0 0 auto;
        color: #94a3b8;
        font-size: 13px;
        font-weight: 900;
        text-align: left;
    }

    .shopee-shop-name-cell{
        display: block !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid #eef2f7 !important;
        text-align: left !important;
    }

    .shopee-shop-name-cell::before{
        display: none;
    }

    .shopee-shop-name-cell strong{
        font-size: 17px;
    }

    .shopee-shop-health-cell{
        display: block !important;
        padding-top: 12px !important;
        border-top: 1px solid #eef2f7 !important;
        text-align: left !important;
    }

    .shopee-shop-health-cell::before{
        display: block;
        margin-bottom: 10px;
    }

    .shopee-shop-penalty-grid{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .shopee-shop-penalty-grid span{
        justify-content: center;
    }

    .shopee-shop-health-refresh-button{
        width: 100%;
        height: 38px;
    }

    .shopee-shop-action-cell{
        display: block !important;
        padding-top: 12px !important;
        text-align: left !important;
    }

    .shopee-shop-action-cell::before{
        display: none;
    }

    .shopee-shop-token-form{
        display: block;
    }

    .shopee-shop-action-button{
        width: 100%;
        height: 40px;
    }

    .shopee-shop-empty-box{
        min-height: 260px;
        padding: 44px 18px;
    }
    .shopee_product_table_wrap{
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .shopee_product_table{
        display: block;
        width: 100%;
        min-width: 0;
        border-collapse: separate;
    }

    .shopee_product_table colgroup, .shopee_product_table_head{
        display: none;
    }

    .shopee_product_table_body{
        display: grid;
        gap: 14px;
        width: 100%;
    }

    .shopee_product_table_body tr{
        display: grid;
        grid-template-columns: 74px 1fr;
        gap: 12px 14px;
        padding: 16px;
        border: 1px solid #e8e4f0;
        border-radius: 20px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .shopee_product_table_body td{
        display: block;
        width: auto;
        height: auto;
        padding: 0;
        border-bottom: 0;
        text-align: left;
        color: #334155;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.5;
    }

    .shopee_product_table_body td:nth-child(1){
        grid-column: 2;
        grid-row: 2;
    }

    .shopee_product_table_body td:nth-child(2){
        grid-column: 1;
        grid-row: 1 / span 4;
    }

    .shopee_product_table_body td:nth-child(3){
        grid-column: 2;
        grid-row: 3;
    }

    .shopee_product_table_body td:nth-child(4){
        grid-column: 2;
        grid-row: 1;
    }

    .shopee_product_table_body td:nth-child(5){
        grid-column: 2;
        grid-row: 4;
        margin-top: 4px;
    }

    .shopee_product_table_body td:nth-child(1)::before{
        content: "대분류";
    }

    .shopee_product_table_body td:nth-child(3)::before{
        content: "상품코드";
    }

    .shopee_product_table_body td:nth-child(1)::before, .shopee_product_table_body td:nth-child(3)::before{
        display: inline-flex;
        margin-right: 8px;
        color: #94a3b8;
        font-size: 13px;
        font-weight: 900;
    }

    .shopee_product_name{
        display: block !important;
        color: #111827 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.45 !important;
        word-break: keep-all;
    }

    .shopee_product_image_box{
        width: 74px;
        height: 74px;
        margin: 0;
        border-radius: 18px;
        overflow: hidden;
        background: #faf9fd;
    }

    .shopee_product_image_box > img{
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
    }

    .shopee_product_preview_box{
        display: none !important;
    }

    .shopee_product_publish_btn{
        width: 100%;
        min-width: 0;
        height: 38px;
        border-radius: 13px;
        font-size: 13px;
    }

    .shopee_product_empty{
        min-height: 220px;
        padding: 40px 20px;
        border: 1px dashed #cbd5e1;
        border-radius: 20px;
        background: #ffffff;
    }
    .site_header_inner{ padding: 0 14px; }

    .site_header_nav{ height: auto; min-height: 58px; padding-left: 0; gap: 10px; }

    .site_header_left{ overflow-x: auto; gap: 8px; scrollbar-width: none; }

    .site_header_left::-webkit-scrollbar{ display: none; }

    .site_header_home_link{ height: 34px; padding: 0 13px; font-size: 13px; white-space: nowrap; border-radius: 8px; }

    .site_header_menu_link{ height: 34px; padding: 0 13px; font-size: 13px; white-space: nowrap; border-radius: 8px; }

    .site_header_logout_button{ height: 34px; padding: 0 13px; font-size: 13px; white-space: nowrap; border-radius: 8px; }

    .site_footer{ margin-top: 40px; }

    .site_footer_inner{ padding: 30px 18px 26px; }

    .site_footer_top{ flex-direction: column; gap: 18px; }

    .site_footer_customer{ box-sizing: border-box; width: 100%; min-width: auto; text-align: left; }

    .site_footer_logo{ font-size: 22px; }

    .site_footer_customer_tel{ font-size: 20px; }

    .site_footer_info p{ display: block; font-size: 13px; }

    .site_footer_info span, .site_footer_info a, .site_footer_info strong{ display: inline; margin-right: 8px; }

    .site_footer_notice{ font-size: 13px; }


    .shopee_product_table_head th{ padding: 12px 10px; }

    .shopee_product_table_body td{padding: 0px 10px;}

    .shopee_product_image_box{ width: 60px; height: 60px; }

    .shopee_product_publish_btn{ min-width: 76px; height: 34px; font-size: 13px; }

    .shopee_product_pager{ flex-wrap: wrap; }

    .shopee_publish_wrap{ padding: 16px; }

    .shopee_publish_header{ padding: 18px; flex-direction: column; }

    .shopee_publish_image_box{ width: 100%; height: 240px; }

    .shopee_publish_title{ font-size: 20px; }

    .shopee_publish_section{ padding: 18px; }

    .shopee_publish_form_row{ grid-template-columns: 1fr; gap: 8px; }

    .shopee_publish_form_label{ padding-top: 0; }

    .shopee_publish_btn_group{ flex-direction: column; }

    .shopee_publish_btn{ width: 100%; }

    .shopee_publish_submit_box{ padding: 18px; }

    .shopee_publish_submit{ width: 100%; }

    .shopee_publish_bottom_notice{ text-align: left; }
}

@media (max-width: 768px){
    .kmclub-pricing-hero{ display: block; padding: 24px; }

    .kmclub-pricing-hero h2{ font-size: 24px; }

    .kmclub-pricing-discount-badge{ width: 112px; height: 112px; margin-top: 22px; border-radius: 30px; }

    .kmclub-pricing-grid{ grid-template-columns: 1fr; }

    .kmclub-pricing-card{ padding: 22px; }

    .kmclub-ai-trend-info-panel{ padding: 22px; }

    .kmclub-ai-trend-connect-panel{ padding: 22px; }

    .kmclub-ai-trend-filter-head{ display: block; padding: 20px; }

    .kmclub-ai-trend-filter-grid{ grid-template-columns: 1fr; padding: 20px; }

    .kmclub-ai-trend-field.is-search{ grid-column: auto; }

    .kmclub-ai-trend-filter-actions{ display: grid; grid-template-columns: 1fr; padding: 0 20px 20px; }

    .kmclub-ai-trend-sub-button, .kmclub-ai-trend-main-button{ width: 100%; }

    .kmclub-ai-trend-empty-panel{ display: block; min-height: auto; padding: 34px 24px; text-align: center; }

    .kmclub-ai-trend-empty-visual{ width: 140px; height: 140px; margin: 0 auto 24px; }

    .kmclub-ai-trend-empty-icon{ width: 88px; height: 88px; border-radius: 28px; font-size: 26px; }

    .kmclub-ai-trend-empty-content h2{ font-size: 24px; }

    .kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button{ width: 100%; }

    .kmclub-bulk-source-summary-grid{ grid-template-columns: 1fr; }

    .kmclub-bulk-source-filter-head{ display: block; padding: 20px; }

    .kmclub-bulk-source-filter-grid{ grid-template-columns: 1fr; padding: 20px; }

    .kmclub-bulk-source-field.is-search{ grid-column: auto; }

    .kmclub-bulk-source-filter-actions{ display: grid; grid-template-columns: 1fr; padding: 0 20px 20px; }

    .kmclub-bulk-source-sub-button, .kmclub-bulk-source-main-button{ width: 100%; }

    .kmclub-bulk-source-connect-panel{ display: block; min-height: auto; padding: 34px 24px; text-align: center; }

    .kmclub-bulk-source-connect-visual{ width: 140px; height: 140px; margin: 0 auto 24px; }

    .kmclub-bulk-source-connect-icon{ width: 88px; height: 88px; border-radius: 28px; font-size: 24px; }

    .kmclub-bulk-source-connect-content h2{ font-size: 24px; }

    .kmclub-semi-source-card-head, .kmclub-semi-source-manage-head{ display: block; padding: 20px; }

    .kmclub-semi-source-status-badge, .kmclub-semi-source-selected-count{ margin-top: 14px; }

    .kmclub-semi-source-usage-body{ padding: 20px; }

    .kmclub-semi-source-usage-info{ grid-template-columns: 1fr; }

    .kmclub-semi-source-extension-card{ display: block; padding: 20px; }

    .kmclub-semi-source-extension-icon{ margin-bottom: 16px; }

    .kmclub-semi-source-download-button{ width: 100%; margin-top: 18px; }

    .kmclub-semi-source-toolbar{ padding: 20px 20px 14px; }

    .kmclub-semi-source-market-filter{ padding: 0 20px 20px; }

    .kmclub-semi-source-button-group{ grid-template-columns: 1fr; }

    .kmclub-semi-source-empty{ min-height: 320px; padding: 42px 16px; }

    .kmclub-bulk-region-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px; }

    .kmclub-bulk-region-head, .kmclub-bulk-card-head{ display: block; padding: 20px; }

    .kmclub-bulk-country-card, .kmclub-bulk-calc-body{ padding: 20px; }

    .kmclub-bulk-country-title{ display: block; }

    .kmclub-bulk-country-badge{ margin-top: 12px; }

    .kmclub-bulk-table-wrap{ padding: 0 20px 20px; }

    .kmclub-cost-filter-grid{ grid-template-columns: 1fr; }

    .kmclub-cost-filter-field.is-search{ grid-column: auto; }

    .kmclub-cost-empty-box{ min-height: 330px; padding: 46px 18px; }

    .kmclub-cost-sync-button{ width: 100%; }

    .kmclub-order-margin-alert{ align-items: flex-start; }

    .kmclub-order-summary-grid{ grid-template-columns: 1fr; }

    .kmclub-order-filter-grid{ grid-template-columns: 1fr; }

    .kmclub-order-filter-field.is-search{ grid-column: auto; }

    .kmclub-order-filter-actions{ display: grid; grid-template-columns: 1fr; }

    .kmclub-order-empty-box{ min-height: 300px; padding: 42px 18px; }

    .kmclub-shopee-status-grid{ grid-template-columns: 1fr; }

    .kmclub-shopee-connect-action{ display: block; }

    .kmclub-shopee-connect-logo{ margin-bottom: 14px; }

    .kmclub-shopee-connect-text{ margin-bottom: 16px; }

    .kmclub-shopee-connect-button{ width: 100%; }

    .kmclub-shopee-region-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .kmclub-shopee-box-head, .kmclub-shopee-guide-section, .kmclub-shopee-faq-section{ padding: 20px; }

    .kmclub-shopee-connect-action, .kmclub-shopee-region-box{ margin: 20px; }
}

@media (max-width: 640px){
    .kmclub-margin-summary-grid{ grid-template-columns: 1fr; }

    .kmclub-margin-filter-head, .kmclub-margin-list-head{ display: block; padding: 20px; }

    .kmclub-margin-filter-region{ margin-top: 14px; }

    .kmclub-margin-filter-grid{ padding: 20px; }

    .kmclub-margin-action-row{ grid-template-columns: 1fr; padding: 0 20px 20px; }

    .kmclub-margin-empty{ min-height: 300px; padding: 40px 16px; }
}

@media screen and (max-width:480px){
    .site_header_nav{ align-items: center; }

    .site_header_left{ min-width: 0; flex: 1; }

    .site_header_right{ flex-shrink: 0; }

    .site_header_home_link{ padding: 0 12px; }

    .site_header_menu_link{ padding: 0 12px; }

    .site_header_logout_button{ padding: 0 12px; }

    .shoppi_admin_login_wrap{ padding: 24px 16px; }

    .shoppi_admin_login_box{ padding: 34px 24px 30px; border-radius: 22px; }

    .shoppi_admin_login_head{ margin-bottom: 26px; }

    .shoppi_admin_login_head h1{ font-size: 24px; }

    .shoppi_admin_login_input_box input{ height: 52px; border-radius: 13px; }

    .shoppi_admin_login_button_box input{ height: 54px; border-radius: 14px; }
}

@media (max-width: 480px){
    .kmclub-campaign-region-grid{ grid-template-columns: 1fr; }

    .kmclub-campaign-rate-input{ max-width: 100%; }

    .kmclub-campaign-upload-drop{ min-height: 250px; }

    .kmclub-bulk-region-grid{ grid-template-columns: 1fr; }
}


body{
    color: #0f172a;
    background:
            radial-gradient(circle at top left, rgba(124, 108, 242, 0.16), transparent 34%),
            radial-gradient(circle at top right, rgba(169, 156, 248, 0.12), transparent 30%),
            linear-gradient(180deg, #faf9ff 0%, #f2efff 48%, #f7faff 100%);
}

.site_header{
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 14px 38px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(18px);
}

.site_header_nav{
    height: 72px;
}

.site_header_home_link, .site_header_menu_link, .site_header_logout_button, .kmclub-report-button, .kmclub-page-report-button, .kmclub-order-export-button, .kmclub-margin-empty-button{
    border-radius: 999px;
}

.site_header_home_link, .kmclub-report-button, .kmclub-page-report-button, .kmclub-order-export-button, .kmclub-margin-empty-button{
    background: linear-gradient(135deg, #0f172a, #1e3a8a);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
}

.site_header_home_link:hover, .kmclub-report-button:hover, .kmclub-page-report-button:hover, .kmclub-order-export-button:hover, .kmclub-margin-empty-button:hover{
    background: linear-gradient(135deg, #6858df, #a99cf8);
    transform: translateY(-2px);
}

.site_header_menu_link, .site_header_logout_button{
    color: #334155;
    background: rgba(248, 250, 252, 0.88);
    border: 1px solid rgba(203, 213, 225, 0.72);
}

.site_header_menu_link:hover, .site_header_logout_button:hover{
    color: #ffffff;
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    border-color: transparent;
    box-shadow: 0 12px 26px rgba(124, 108, 242, 0.20);
}

.shoppi_admin_login_wrap{
    background:
            radial-gradient(circle at 18% 18%, rgba(124, 108, 242, 0.20), transparent 30%),
            radial-gradient(circle at 84% 12%, rgba(169, 156, 248, 0.16), transparent 28%),
            linear-gradient(135deg, #faf9ff 0%, #f2efff 48%, #ffffff 100%);
}

.shoppi_admin_login_box{
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.92);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 30px 90px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(18px);
}

.shoppi_admin_login_box::before{
    content: "";
    position: absolute;
    top: -90px;
    right: -90px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(124, 108, 242, 0.10);
}

.shoppi_admin_login_head, .shoppi_admin_login_form{
    position: relative;
    z-index: 1;
}

.shoppi_admin_login_logo{
    /* min-height: 46px; */
    /* background: linear-gradient(135deg, #0f172a, #6858df); */
    /* box-shadow: 0 14px 28px rgba(124, 108, 242, 0.18); */
}

.shoppi_admin_login_head h1{
    color: #0f172a;
    letter-spacing: -0.055em;
}

.shoppi_admin_login_head p{
    color: #64748b;
    font-weight: 700;
}

.shoppi_admin_login_input_box label, .shopee_publish_form_label, .kmclub-order-filter-field label, .kmclub-cost-filter-field label, .kmclub-margin-field label, .kmclub-bulk-source-field label, .kmclub-ai-trend-field label{
    color: #334155;
    font-weight: 900;
}

.shoppi_admin_login_input_box input, .shopee_publish_input, .shopee_publish_select, .shopee_publish_textarea, .kmclub-order-filter-input, .kmclub-order-filter-select, .kmclub-cost-filter-input, .kmclub-cost-filter-select, .kmclub-margin-field input, .kmclub-margin-field select, .kmclub-bulk-source-field input, .kmclub-bulk-source-field select, .kmclub-ai-trend-field input, .kmclub-ai-trend-field select{
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.90);
}

.shoppi_admin_login_input_box input:focus, .shopee_publish_input:focus, .shopee_publish_select:focus, .shopee_publish_textarea:focus, .kmclub-order-filter-input:focus, .kmclub-order-filter-select:focus, .kmclub-cost-filter-input:focus, .kmclub-cost-filter-select:focus, .kmclub-margin-field input:focus, .kmclub-margin-field select:focus, .kmclub-bulk-source-field input:focus, .kmclub-bulk-source-field select:focus, .kmclub-ai-trend-field input:focus, .kmclub-ai-trend-field select:focus{
    border-color: #7c6cf2;
    box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.11);
}

.shoppi_admin_login_check input[type="checkbox"]:checked + input + span, .shoppi_admin_login_button_box input, .shopee_publish_submit, .shopee_product_publish_btn, .kmclub-refresh-button, .kmclub-page-refresh-button, .kmclub-currency-button.active, .kmclub-cost-sync-button, .kmclub-margin-action-button.is-primary, .kmclub-bulk-source-main-button, .kmclub-ai-trend-main-button, .kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button, .kmclub-bulk-source-connect-button, .kmclub-campaign-upload-button, .kmclub-campaign-method-button, .kmclub-campaign-region-button.active, .kmclub-bulk-region-button.active, .kmclub-shopee-connect-button{
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(124, 108, 242, 0.22);
}

.shoppi_admin_login_button_box input:hover, .shopee_publish_submit:hover, .shopee_product_publish_btn:hover, .kmclub-cost-sync-button:hover, .kmclub-margin-action-button.is-primary:hover, .kmclub-bulk-source-main-button:hover, .kmclub-ai-trend-main-button:hover, .kmclub-ai-trend-connect-button:hover, .kmclub-ai-trend-empty-button:hover, .kmclub-bulk-source-connect-button:hover, .kmclub-campaign-upload-button:hover, .kmclub-shopee-connect-button:hover{
    background: linear-gradient(135deg, #6858df, #0891b2);
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(124, 108, 242, 0.26);
}

.kmclub-sidebar{
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.28), transparent 34%),
            linear-gradient(180deg, #07111f 0%, #0f172a 46%, #111827 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 26px 0 70px rgba(15, 23, 42, 0.20);
}

.kmclub-sidebar-logo{
    border-bottom-color: rgba(255, 255, 255, 0.10);
}

.kmclub-sidebar-logo-text strong{
    color: #ffffff;
}

.kmclub-sidebar-logo-text span, .kmclub-sidebar-group-title{
    color: rgba(219, 234, 254, 0.68);
}

.kmclub-sidebar-link{
    color: rgba(226, 232, 240, 0.84);
}

.kmclub-sidebar-link:hover{
    background: rgba(124, 108, 242, 0.16);
}

.kmclub-sidebar-link.active{
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    box-shadow: 0 16px 34px rgba(124, 108, 242, 0.30);
}

.kmclub-sidebar-icon{
    color: #ded8ff;
    background: rgba(255, 255, 255, 0.09);
}

.kmclub-upgrade-card, .kmclub-semi-source-extension-card, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-empty-panel{
    background:
            radial-gradient(circle at top right, rgba(169, 156, 248, 0.18), transparent 34%),
            linear-gradient(135deg, #ffffff 0%, #faf9ff 52%, #f2efff 100%);
}

.kmclub-upgrade-card{
    color: #ffffff;
    background:
            radial-gradient(circle at top right, rgba(255, 255, 255, 0.25), transparent 34%),
            linear-gradient(135deg, #6858df, #a99cf8);
}

.kmclub-page-title-area h1, .kmclub-page-title, .kmclub-dashboard-title-area h1{
    color: #0f172a;
    letter-spacing: -0.075em;
}

.kmclub-page-title-area p, .kmclub-page-desc, .kmclub-dashboard-title-area p{
    color: #64748b;
}

.kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-shopee-connect-box, .kmclub-shopee-guide-box, .kmclub-order-summary-card, .kmclub-order-filter-panel, .kmclub-order-empty-box, .kmclub-cost-filter-panel, .kmclub-cost-empty-box, .kmclub-margin-summary-card, .kmclub-margin-filter-panel, .kmclub-margin-list-panel, .kmclub-bulk-region-panel, .kmclub-bulk-country-card, .kmclub-bulk-promotion-card, .kmclub-bulk-calc-card, .kmclub-bulk-history-panel, .kmclub-campaign-region-panel, .kmclub-campaign-upload-panel, .kmclub-campaign-info-card, .kmclub-campaign-history-panel, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-semi-source-manage-panel, .kmclub-bulk-source-summary-card, .kmclub-bulk-source-filter-panel, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-summary-card, .kmclub-ai-trend-filter-panel, .kmclub-ai-trend-empty-panel, .shopee_product_table_wrap, .shopee_publish_header, .shopee_publish_section, .shopee_publish_submit_box{
    border: 1px solid rgba(219, 227, 239, 0.92);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 24px 70px rgba(104, 88, 223, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(14px);
}

.kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-order-summary-card, .kmclub-margin-summary-card, .kmclub-bulk-source-summary-card, .kmclub-ai-trend-summary-card{
    border-radius: 30px;
}

.kmclub-kpi-card:hover, .kmclub-shopee-status-card:hover, .kmclub-order-summary-card:hover, .kmclub-margin-summary-card:hover, .kmclub-bulk-source-summary-card:hover, .kmclub-ai-trend-summary-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 30px 86px rgba(104, 88, 223, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.kmclub-kpi-card::before, .kmclub-shopee-status-card::after, .kmclub-order-summary-card::after, .kmclub-margin-summary-card::after, .kmclub-bulk-source-summary-card::after, .kmclub-ai-trend-summary-card::after{
    background: rgba(124, 108, 242, 0.09);
}

.kmclub-kpi-icon, .kmclub-kpi-icon.orange, .kmclub-kpi-icon.indigo, .kmclub-kpi-icon.green, .kmclub-kpi-icon.red, .kmclub-semi-source-extension-icon, .kmclub-bulk-source-connect-icon, .kmclub-ai-trend-info-icon, .kmclub-ai-trend-empty-icon{
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(124, 108, 242, 0.22);
}

.kmclub-kpi-pill, .kmclub-margin-filter-region, .kmclub-shopee-region-title span, .kmclub-ai-trend-connect-badge, .kmclub-ai-trend-empty-badge, .kmclub-bulk-source-connect-badge, .kmclub-campaign-selected-region strong, .kmclub-semi-source-market-list span, .kmclub-bulk-source-summary-top em, .kmclub-ai-trend-summary-top em{
    color: #6858df;
    background: #f4f1ff;
}

.kmclub-market-card, .site_footer{
    color: #e9e5ff;
    background:
            radial-gradient(circle at top right, rgba(169, 156, 248, 0.22), transparent 32%),
            linear-gradient(135deg, #07111f, #0f172a 46%, #1e3a8a 100%);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.20);
}

.site_footer::before{
    background: linear-gradient(90deg, #7c6cf2, #a99cf8, #60a5fa);
}

.site_footer_company span, .site_footer_company a, .site_footer_sub, .site_footer_bottom{
    color: rgba(219, 234, 254, 0.68);
}

.site_footer_customer{
    border-color: rgba(96, 165, 250, 0.28);
    background: rgba(124, 108, 242, 0.18);
}

.shopee_product_table_head th, .kmclub-bulk-history-table th, .kmclub-campaign-history-table th{
    background: linear-gradient(180deg, #faf9ff, #f2efff);
    color: #334155;
}

.shopee_product_table_body tr:hover{
    background: #f4f1ff;
}

.shopee_product_image_box, .shopee_publish_image_box, .shopee_product_preview_box{
    border-color: #dbe3ef;
    background: #faf9ff;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.pagination_list{
    border-color: #dbe3ef;
    box-shadow: 0 16px 34px rgba(104, 88, 223, 0.08);
}

.pagination_link_active, .pagination_item_active .pagination_link, .shopee_product_pager strong, .shopee_product_pager .active{
    border-color: transparent;
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(124, 108, 242, 0.22);
}

.pagination_link:hover, .shopee_product_pager a:hover{
    border-color: #ded8ff;
    background: #f4f1ff;
    color: #6858df;
}

.kmclub-order-margin-alert, .kmclub-bulk-help-box, .kmclub-campaign-help-box{
    border-color: #ded8ff;
    background: linear-gradient(135deg, #f4f1ff, #faf9ff);
}

.kmclub-order-margin-icon{
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    color: #ffffff;
}

.kmclub-order-margin-text strong, .kmclub-bulk-help-box strong, .kmclub-campaign-help-box strong{
    color: #1e3a8a;
}

.kmclub-order-margin-text span, .kmclub-bulk-help-box span, .kmclub-campaign-help-box span{
    color: #334155;
}

.kmclub-campaign-warning-box{
    border-color: #fecaca;
    background: #fff1f2;
}

.kmclub-bulk-region-button, .kmclub-campaign-region-button, .kmclub-shopee-region-list span, .kmclub-semi-source-market-button, .kmclub-bulk-method-button, .kmclub-margin-action-button, .kmclub-ai-trend-sub-button, .kmclub-bulk-source-sub-button, .kmclub-order-filter-reset-button{
    border-color: #e9e5ff;
    background: #faf9ff;
    color: #475569;
}

.kmclub-bulk-region-button:hover, .kmclub-campaign-region-button:hover, .kmclub-semi-source-market-button:hover, .kmclub-bulk-method-button:hover, .kmclub-margin-action-button:hover, .kmclub-ai-trend-sub-button:hover, .kmclub-bulk-source-sub-button:hover, .kmclub-order-filter-reset-button:hover{
    border-color: #7c6cf2;
    background: #f4f1ff;
    color: #6858df;
}

.kmclub-bulk-region-button span, .kmclub-campaign-region-button span, .kmclub-shopee-status-badge.is-off{
    color: #6858df;
    background: #f4f1ff;
}

.kmclub-ai-trend-notice-item{
    border-color: #e9e5ff;
    background: rgba(239, 246, 255, 0.82);
}

.kmclub-ai-trend-notice-item strong{
    color: #6858df;
}

.kmclub-revenue-chart-wrap, .kmclub-campaign-target-box, .kmclub-semi-source-usage-info div{
    background: linear-gradient(180deg, #faf9ff, #f2efff);
    border-color: rgba(219, 227, 239, 0.96);
}

.kmclub-chart-bar.revenue, .kmclub-chart-bar.profit, .kmclub-rate-fill, .kmclub-market-fill, .kmclub-semi-source-progress-bar{
    background: linear-gradient(90deg, #7c6cf2, #a99cf8);
}

.kmclub-pie-visual{
    background: conic-gradient(
            #6858df 0deg 128deg,
            #a99cf8 128deg 212deg,
            #60a5fa 212deg 278deg,
            #38bdf8 278deg 326deg,
            #818cf8 326deg 360deg
    );
}

.kmclub-legend-dot, .kmclub-pie-color{
    background: #7c6cf2;
}

.kmclub-legend-dot.green, .kmclub-pie-color.green{
    background: #a99cf8;
}

.kmclub-legend-dot.orange, .kmclub-pie-color.orange{
    background: #60a5fa;
}

@media screen and (max-width: 980px) {
    .site_header_nav{
        height: auto;
        min-height: 64px;
        padding-left: 0;
    }

    .kmclub-global-dashboard{
        padding: 18px 14px;
    }

    .kmclub-page-title-area h1, .kmclub-page-title, .kmclub-dashboard-title-area h1{
        font-size: 30px;
    }
}

@media screen and (max-width: 480px) {
    .site_header_home_link, .site_header_menu_link, .site_header_logout_button{
        height: 36px;
        font-size: 13px;
    }

    .shoppi_admin_login_box{
        border-radius: 24px;
    }

    .kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-order-summary-card, .kmclub-margin-summary-card, .kmclub-bulk-source-summary-card, .kmclub-ai-trend-summary-card{
        border-radius: 24px;
    }
}


body{
    color: #111827;
    background:
            radial-gradient(circle at 8% 0%, rgba(124, 108, 242, 0.16), transparent 28%),
            radial-gradient(circle at 88% 8%, rgba(169, 156, 248, 0.14), transparent 30%),
            linear-gradient(180deg, #f7fbff 0%, #eef4fb 48%, #faf9fd 100%);
}

body::before{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    height: 360px;
    background:
            linear-gradient(135deg, rgba(15, 23, 42, 0.06), rgba(124, 108, 242, 0.10)),
            radial-gradient(circle at 72% 18%, rgba(56, 189, 248, 0.16), transparent 26%);
    pointer-events: none;
    content: "";
}

.site_header{
    background: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(18px);
}

.site_header::after{
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(124, 108, 242, 0.56), rgba(169, 156, 248, 0.42), transparent);
    content: "";
}

.site_header_nav{
    height: 76px;
}

.site_header_left, .site_header_right{
    gap: 10px;
}

.site_header_home_link, .site_header_menu_link, .site_header_logout_button{
    height: 42px;
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.site_header_home_link{
    background: linear-gradient(135deg, #0f172a, #1e40af 54%, #0891b2);
    box-shadow: 0 14px 28px rgba(124, 108, 242, 0.22);
}

.site_header_menu_link{
    color: #334155;
    background: rgba(248, 250, 252, 0.86);
    border: 1px solid rgba(203, 213, 225, 0.76);
}

.site_header_menu_link:hover{
    color: #6858df;
    background: #f4f1ff;
    border-color: #ded8ff;
    box-shadow: 0 10px 24px rgba(124, 108, 242, 0.12);
}

.site_header_logout_button{
    color: #475569;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

.shoppi_admin_login_wrap{
    position: relative;
    overflow: hidden;
    background:
            radial-gradient(circle at 16% 18%, rgba(124, 108, 242, 0.26), transparent 28%),
            radial-gradient(circle at 86% 12%, rgba(169, 156, 248, 0.22), transparent 28%),
            linear-gradient(135deg, #07111f 0%, #0f172a 42%, #143a8f 100%);
}

.shoppi_admin_login_wrap::before{
    position: absolute;
    top: 82px;
    left: 50%;
    width: 1180px;
    max-width: calc(100% - 40px);
    height: 250px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 44px;
    background:
            linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
            radial-gradient(circle at 82% 22%, rgba(56, 189, 248, 0.22), transparent 30%);
    transform: translateX(-50%);
    content: "";
}


.shoppi_admin_login_box{
    position: relative;
    z-index: 1;
    max-width: 456px;
    padding: 46px 40px 40px;
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 34px 90px rgba(2, 6, 23, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
}

.shoppi_admin_login_head h1{
    color: #0f172a;
    font-size: 31px;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.shoppi_admin_login_head p{
    color: #64748b;
    font-weight: 700;
}

.shoppi_admin_login_logo{
    /* min-height: 44px; */
    /* background: linear-gradient(135deg, #0f172a, #6858df); */
    /* box-shadow: 0 14px 34px rgba(124, 108, 242, 0.24); */
}

.shoppi_admin_login_input_box label, .kmclub-order-filter-field label, .kmclub-cost-filter-field label, .kmclub-margin-field label, .kmclub-bulk-source-field label, .kmclub-ai-trend-field label{
    color: #1e293b;
    font-weight: 900;
}

.shoppi_admin_login_input_box input, .kmclub-order-filter-input, .kmclub-order-filter-select, .kmclub-cost-filter-input, .kmclub-cost-filter-select, .kmclub-margin-field input, .kmclub-margin-field select, .kmclub-bulk-source-field input, .kmclub-bulk-source-field select, .kmclub-ai-trend-field input, .kmclub-ai-trend-field select, .shopee_publish_input, .shopee_publish_select, .shopee_publish_textarea, .shopee_price_input{
    background: #faf9ff;
    border-color: #e9e5ff;
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.shoppi_admin_login_input_box input:focus, .kmclub-order-filter-input:focus, .kmclub-order-filter-select:focus, .kmclub-cost-filter-input:focus, .kmclub-cost-filter-select:focus, .kmclub-margin-field input:focus, .kmclub-margin-field select:focus, .kmclub-bulk-source-field input:focus, .kmclub-bulk-source-field select:focus, .kmclub-ai-trend-field input:focus, .kmclub-ai-trend-field select:focus, .shopee_publish_input:focus, .shopee_publish_select:focus, .shopee_publish_textarea:focus, .shopee_price_input:focus{
    background: #ffffff;
    border-color: #7c6cf2;
    box-shadow: 0 0 0 5px rgba(124, 108, 242, 0.12);
}

.shoppi_admin_login_button_box input, .shopee_publish_submit, .shopee_product_publish_btn, .kmclub-cost-sync-button, .kmclub-bulk-calc-button, .kmclub-bulk-source-main-button, .kmclub-bulk-source-connect-button, .kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button, .kmclub-ai-trend-main-button, .kmclub-page-refresh-button, .kmclub-refresh-button, .kmclub-shopee-connect-button, .kmclub-semi-source-download-button, .kmclub-semi-source-primary-button, .kmclub-semi-source-empty-button, .kmclub-campaign-upload-button, .kmclub-campaign-method-button{
    background: linear-gradient(135deg, #6858df 0%, #7c6cf2 48%, #a99cf8 100%);
    border: 0;
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(124, 108, 242, 0.24);
}

.shoppi_admin_login_button_box input:hover, .shopee_publish_submit:hover, .shopee_product_publish_btn:hover, .kmclub-cost-sync-button:hover, .kmclub-bulk-calc-button:hover, .kmclub-bulk-source-main-button:hover, .kmclub-bulk-source-connect-button:hover, .kmclub-ai-trend-connect-button:hover, .kmclub-ai-trend-empty-button:hover, .kmclub-ai-trend-main-button:hover, .kmclub-shopee-connect-button:hover, .kmclub-campaign-upload-button:hover{
    filter: brightness(1.04);
    transform: translateY(-2px);
    box-shadow: 0 22px 42px rgba(124, 108, 242, 0.30);
}

.kmclub-sidebar{
    width: 286px;
    background:
            radial-gradient(circle at 20% 0%, rgba(59, 130, 246, 0.34), transparent 28%),
            linear-gradient(180deg, #07111f 0%, #0f172a 48%, #08111f 100%);
    border-right: 1px solid rgba(96, 165, 250, 0.16);
    box-shadow: 26px 0 70px rgba(15, 23, 42, 0.22);
}

.kmclub-sidebar-logo{
    margin-bottom: 20px;
    padding: 13px 12px 16px;
    border-bottom-color: rgba(148, 163, 184, 0.16);
}

.kmclub-sidebar-logo-wide-box, .kmclub-sidebar-logo-image-box{
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10);
}

.kmclub-sidebar-logo-text strong{
    font-size: 21px;
    letter-spacing: -0.06em;
}

.kmclub-sidebar-logo-text span{
    color: rgba(191, 219, 254, 0.72);
}

.kmclub-sidebar-link{
    min-height: 48px;
    border: 1px solid transparent;
    border-radius: 17px;
}

.kmclub-sidebar-link:hover{
    border-color: rgba(96, 165, 250, 0.18);
    background: rgba(59, 130, 246, 0.12);
}

.kmclub-sidebar-link.active{
    background:
            linear-gradient(135deg, rgba(124, 108, 242, 0.98), rgba(169, 156, 248, 0.92));
    border-color: rgba(191, 219, 254, 0.24);
    box-shadow: 0 18px 38px rgba(124, 108, 242, 0.30);
}

.kmclub-sidebar-icon{
    background: rgba(96, 165, 250, 0.14);
    color: #e9e5ff;
}

.kmclub-upgrade-card, .kmclub-ai-trend-info-panel, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-empty-panel{
    background:
            radial-gradient(circle at 88% 10%, rgba(56, 189, 248, 0.24), transparent 34%),
            linear-gradient(135deg, #ffffff 0%, #faf9ff 44%, #eef6ff 100%);
}

.kmclub-upgrade-card{
    color: #ffffff;
    background:
            radial-gradient(circle at right top, rgba(255, 255, 255, 0.24), transparent 34%),
            linear-gradient(135deg, #1e40af, #7c6cf2 48%, #0891b2);
}

.kmclub-main-area{
    padding-left: 145px;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
    padding-left: 82px;
}

.kmclub-global-dashboard{
    padding: 32px 32px 38px;
}

.kmclub-dashboard-header, .kmclub-page-header{
    position: relative;
    margin-bottom: 6px;
    padding: 22px 6px 28px;
}

.kmclub-dashboard-header::before, .kmclub-page-header::before{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 32px;
    background:
            radial-gradient(circle at 92% 8%, rgba(169, 156, 248, 0.14), transparent 32%),
            linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(239, 246, 255, 0.64));
    box-shadow: 0 24px 60px rgba(124, 108, 242, 0.08);
    content: "";
}

.kmclub-dashboard-title-area h1, .kmclub-page-title-area h1, .kmclub-page-title{
    color: #0f172a;
    font-size: 42px;
    font-weight: 900;
    letter-spacing: -0.08em;
}

.kmclub-dashboard-title-area p, .kmclub-page-title-area p, .kmclub-page-desc{
    color: #475569;
    font-size: 15px;
    font-weight: 800;
}

.kmclub-dashboard-title-area p::before, .kmclub-page-desc::before, .kmclub-page-title-area p::before{
    display: inline-flex;
    height: 22px;
    margin-right: 8px;
    padding: 0 8px;
    align-items: center;
    vertical-align: 1px;
    border-radius: 999px;
    background: #f4f1ff;
    color: #6858df;
    font-size: 13px;
    font-weight: 900;
    content: "SHOPEE";
}

.kmclub-kpi-card, .kmclub-kpi-sub-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-shopee-connect-box, .kmclub-shopee-guide-box, .kmclub-order-summary-card, .kmclub-order-filter-panel, .kmclub-cost-filter-panel, .kmclub-margin-summary-card, .kmclub-margin-filter-panel, .kmclub-margin-list-panel, .kmclub-bulk-region-panel, .kmclub-bulk-country-card, .kmclub-bulk-promotion-card, .kmclub-bulk-calc-card, .kmclub-bulk-history-panel, .kmclub-campaign-region-panel, .kmclub-campaign-upload-panel, .kmclub-campaign-info-card, .kmclub-campaign-history-panel, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-semi-source-manage-panel, .kmclub-bulk-source-summary-card, .kmclub-bulk-source-filter-panel, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-summary-card, .kmclub-ai-trend-filter-panel, .kmclub-ai-trend-empty-panel, .shopee_product_table_wrap, .shopee_publish_header, .shopee_publish_section, .shopee_publish_submit_box{
    border: 1px solid rgba(219, 234, 254, 0.86);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 20px 52px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
}

.kmclub-kpi-card::after, .kmclub-shopee-status-card::after, .kmclub-order-summary-card::after, .kmclub-margin-summary-card::after, .kmclub-bulk-source-summary-card::after, .kmclub-ai-trend-summary-card::after{
    background:
            radial-gradient(circle, rgba(124, 108, 242, 0.16) 0%, rgba(169, 156, 248, 0.08) 56%, transparent 70%);
}

.kmclub-kpi-card:hover, .kmclub-chart-card:hover, .kmclub-shopee-status-card:hover, .kmclub-order-summary-card:hover, .kmclub-margin-summary-card:hover, .kmclub-bulk-source-summary-card:hover, .kmclub-ai-trend-summary-card:hover{
    border-color: rgba(147, 197, 253, 0.92);
    box-shadow: 0 28px 70px rgba(124, 108, 242, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.kmclub-kpi-icon, .kmclub-shopee-status-icon, .kmclub-order-empty-icon, .kmclub-cost-empty-icon, .kmclub-margin-empty-icon, .kmclub-bulk-empty-icon, .kmclub-campaign-upload-icon, .kmclub-ai-trend-info-icon, .kmclub-bulk-source-connect-icon, .kmclub-ai-trend-empty-icon, .kmclub-semi-source-extension-icon, .kmclub-semi-source-empty-icon{
    color: #ffffff;
    background: linear-gradient(135deg, #6858df, #7c6cf2 52%, #a99cf8);
    box-shadow: 0 16px 32px rgba(124, 108, 242, 0.22);
}

.kmclub-kpi-icon.orange, .kmclub-kpi-icon.indigo, .kmclub-kpi-icon.green, .kmclub-kpi-icon.red{
    background: linear-gradient(135deg, #6858df, #7c6cf2 48%, #a99cf8);
}

.kmclub-kpi-value, .kmclub-kpi-value-small, .kmclub-order-summary-card strong, .kmclub-margin-summary-card strong, .kmclub-bulk-source-summary-card strong, .kmclub-ai-trend-summary-card strong{
    color: #0f172a;
}

.kmclub-kpi-label, .kmclub-chart-title, .kmclub-shopee-box-head h2, .kmclub-margin-filter-head h2, .kmclub-margin-list-head h2, .kmclub-bulk-source-filter-head h2, .kmclub-ai-trend-filter-head h2, .kmclub-campaign-card-head h2, .kmclub-campaign-region-head h2, .kmclub-semi-source-card-head h2, .kmclub-semi-source-manage-head h2{
    color: #0f172a;
    letter-spacing: -0.045em;
}

.kmclub-kpi-note, .kmclub-chart-sub, .kmclub-shopee-box-head p, .kmclub-margin-filter-head p, .kmclub-margin-list-head p, .kmclub-bulk-source-filter-head p, .kmclub-ai-trend-filter-head p, .kmclub-campaign-card-head p, .kmclub-campaign-region-head p, .kmclub-semi-source-card-head p, .kmclub-semi-source-manage-head p{
    color: #64748b;
    font-weight: 500;
}

.kmclub-page-select, .kmclub-period-select, .kmclub-currency-toggle{
    background: rgba(255, 255, 255, 0.88);
    border-color: #e9e5ff;
    box-shadow: 0 10px 24px rgba(124, 108, 242, 0.08);
}

.kmclub-currency-button.active{
    background: linear-gradient(135deg, #6858df, #a99cf8);
}

.kmclub-page-report-button, .kmclub-report-button, .kmclub-order-export-button, .kmclub-margin-empty-button{
    background: linear-gradient(135deg, #0f172a, #1e3a8a);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.20);
}

.shopee_product_table_head th, .kmclub-bulk-history-table th, .kmclub-campaign-history-table th, .shopee_price_table th{
    background: linear-gradient(180deg, #faf9ff, #f4f1ff);
    color: #1e3a8a;
    border-bottom-color: #e9e5ff;
}

.shopee_product_table_body tr:hover{
    background: linear-gradient(90deg, #faf9ff, #f4f1ff);
}

.shopee_product_image_box, .shopee_publish_image_box, .shopee_publish_product_image_grid, .shopee_publish_detail_image_preview{
    border-color: #e9e5ff;
    background: #faf9ff;
}

.kmclub-market-card, .site_footer{
    background:
            radial-gradient(circle at top right, rgba(169, 156, 248, 0.22), transparent 34%),
            linear-gradient(135deg, #07111f 0%, #0f172a 48%, #12317a 100%);
}

.kmclub-market-card::before, .site_footer::before{
    background: linear-gradient(90deg, #6858df, #a99cf8, #93c5fd);
}

.kmclub-market-score{
    color: #67e8f9;
}

.kmclub-market-code, .kmclub-market-pill{
    color: #e9e5ff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(191, 219, 254, 0.20);
}

.kmclub-revenue-chart-wrap{
    background:
            linear-gradient(180deg, rgba(248, 251, 255, 0.96), rgba(239, 246, 255, 0.86));
    border-color: rgba(219, 234, 254, 0.86);
}

.kmclub-chart-bar.revenue{
    background: linear-gradient(180deg, #7c6cf2, #60a5fa);
}

.kmclub-chart-bar.profit{
    background: linear-gradient(180deg, #a99cf8, #22c55e);
}

.kmclub-pie-visual{
    background: conic-gradient(
            #6858df 0deg 128deg,
            #a99cf8 128deg 212deg,
            #60a5fa 212deg 278deg,
            #818cf8 278deg 326deg,
            #14b8a6 326deg 360deg
    );
}

.kmclub-bulk-region-button, .kmclub-campaign-region-button, .kmclub-shopee-region-list span, .kmclub-semi-source-market-button{
    border-color: #e9e5ff;
    background: #faf9ff;
}

.kmclub-bulk-region-button.active, .kmclub-campaign-region-button.active, .kmclub-semi-source-market-button.active, .kmclub-semi-source-market-button:hover{
    border-color: #7c6cf2;
    background: #f4f1ff;
    color: #6858df;
    box-shadow: 0 12px 26px rgba(124, 108, 242, 0.14);
}

.kmclub-shopee-connect-action, .kmclub-campaign-selected-region, .kmclub-ai-trend-notice-item, .kmclub-bulk-help-box, .kmclub-campaign-help-box{
    border-color: #e9e5ff;
    background: linear-gradient(135deg, #faf9ff, #f4f1ff);
}

.kmclub-order-margin-alert, .kmclub-campaign-warning-box{
    border-color: #ded8ff;
    background: linear-gradient(135deg, #f4f1ff, #faf9ff);
}

.kmclub-order-margin-icon{
    background: linear-gradient(135deg, #6858df, #a99cf8);
}

.kmclub-order-margin-text strong, .kmclub-campaign-warning-box strong, .kmclub-bulk-help-box strong, .kmclub-campaign-help-box strong{
    color: #1e40af;
}

.kmclub-order-margin-text span, .kmclub-campaign-warning-box span, .kmclub-bulk-help-box span, .kmclub-campaign-help-box span{
    color: #334155;
}

.site_footer{
    margin-top: 34px;
    color: #94a3b8;
    border-top: 1px solid rgba(191, 219, 254, 0.12);
}

.site_footer_inner{
    padding-top: 26px;
    padding-bottom: 24px;
}

.site_footer_customer{
    border-color: rgba(96, 165, 250, 0.28);
    background: rgba(124, 108, 242, 0.18);
}

.site_footer_customer span{
    color: #ded8ff;
}

.site_footer_menu a:hover, .site_footer_link:hover, .site_footer_a_link:hover{
    color: #93c5fd !important;
}

.pagination_list{
    border-color: #e9e5ff;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 28px rgba(124, 108, 242, 0.10);
}

.pagination_link{
    border-radius: 999px;
}

.pagination_link:hover{
    border-color: #93c5fd;
    background: #f4f1ff;
}

.pagination_link_active, .pagination_item_active .pagination_link{
    border-color: #7c6cf2;
    background: linear-gradient(135deg, #6858df, #a99cf8);
    box-shadow: 0 10px 20px rgba(124, 108, 242, 0.22);
}

@media screen and (max-width: 1200px) {
    .kmclub-global-dashboard{
        padding: 24px 20px 30px;
    }

    .kmclub-dashboard-title-area h1, .kmclub-page-title-area h1, .kmclub-page-title{
        font-size: 36px;
    }
}

@media screen and (max-width: 980px) {
    .site_header_nav{
        height: auto;
        min-height: 68px;
    }

    .kmclub-main-area{
        padding-left: 0;
    }

    .kmclub-dashboard-header, .kmclub-page-header{
        display: block;
        padding: 18px 2px 24px;
    }

    .kmclub-dashboard-controls, .kmclub-page-controls{
        justify-content: flex-start;
        margin-top: 16px;
    }
}

@media screen and (max-width: 480px) {
    .shoppi_admin_login_wrap::before, .shoppi_admin_login_wrap::after{
        display: none;
    }

    .shoppi_admin_login_box{
        padding: 34px 24px 30px;
        border-radius: 28px;
    }

    .kmclub-dashboard-title-area h1, .kmclub-page-title-area h1, .kmclub-page-title{
        font-size: 30px;
    }
}

/* =========================================================
   SHOPEE REFERENCE V3 OVERRIDE
   국민솔루션 참고형 관리자/솔루션 UI 강화
   - 기존 class 유지
   - :root 미사용
   - 파일 하단 추가형
========================================================= */

body{
    color: #0b1220;
    background:
            radial-gradient(circle at 12% 0%, rgba(124, 108, 242, 0.14), transparent 30%),
            radial-gradient(circle at 88% 4%, rgba(169, 156, 248, 0.14), transparent 28%),
            linear-gradient(180deg, #f6f9ff 0%, #f2efff 42%, #faf9ff 100%);
}

body::before{
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
            linear-gradient(rgba(124, 108, 242, 0.045) 1px, transparent 1px),
            linear-gradient(90deg, rgba(124, 108, 242, 0.045) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,0.75), transparent 74%);
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.75), transparent 74%);
}

.site_header{
    background: rgba(255, 255, 255, 0.78);
    border-bottom: 1px solid rgba(124, 108, 242, 0.12);
    box-shadow: 0 14px 44px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.site_header::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(124, 108, 242, 0.55), rgba(169, 156, 248, 0.45), transparent);
}

.site_header_home_link, .kmclub-report-button, .kmclub-page-report-button, .kmclub-order-export-button, .kmclub-margin-empty-button, .kmclub-mobile-button{
    background: linear-gradient(135deg, #07111f 0%, #102a69 52%, #0ea5e9 100%);
    box-shadow: 0 14px 30px rgba(124, 108, 242, 0.20);
}

.site_header_menu_link{
    color: #1e3a8a;
    background: rgba(239, 246, 255, 0.86);
    border: 1px solid rgba(191, 219, 254, 0.74);
}

.site_header_menu_link:hover, .site_header_home_link:hover{
    background: linear-gradient(135deg, #6858df, #a99cf8);
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(124, 108, 242, 0.22);
}

.shoppi_admin_login_wrap{
    position: relative;
    overflow: hidden;
    background:
            radial-gradient(circle at 20% 16%, rgba(59, 130, 246, 0.34), transparent 28%),
            radial-gradient(circle at 82% 20%, rgba(169, 156, 248, 0.22), transparent 32%),
            linear-gradient(135deg, #06111f 0%, #0f1e3c 44%, #102a69 100%);
}

.shoppi_admin_login_wrap::before{
    content: "회원 플랫폼 구축 · 기능 확장 전문 기업";
    position: absolute;
    top: 8%;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(219, 234, 254, 0.18);
    font-size: 54px;
    font-weight: 900;
    letter-spacing: -0.08em;
    white-space: nowrap;
    pointer-events: none;
}

.shoppi_admin_login_box{
    position: relative;
    max-width: 450px;
    padding: 46px 40px 40px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(219, 234, 254, 0.9);
    border-radius: 34px;
    box-shadow: 0 34px 90px rgba(3, 7, 18, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
}

.shoppi_admin_login_box::before{
    content: "SHOPEE PLATFORM";
    display: inline-flex;
    height: 30px;
    margin: 0 auto 16px;
    padding: 0 12px;
    align-items: center;
    justify-content: center;
    color: #6858df;
    background: #f4f1ff;
    border: 1px solid #e9e5ff;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.shoppi_admin_login_head h1{
    color: #08111f;
    font-size: 30px;
    letter-spacing: -0.06em;
}

.shoppi_admin_login_head p{
    color: #64748b;
    font-weight: 700;
}

.shoppi_admin_login_input_box input, .kmclub-order-filter-input, .kmclub-order-filter-select, .kmclub-cost-filter-input, .kmclub-cost-filter-select, .kmclub-margin-field input, .kmclub-margin-field select, .kmclub-bulk-source-field input, .kmclub-bulk-source-field select, .kmclub-ai-trend-field input, .kmclub-ai-trend-field select, .kmclub-semi-source-search-box input, .shopee_publish_input, .shopee_publish_select, .shopee_publish_textarea, .shopee_price_input{
    background: #ffffff;
    border-color: #e9e5ff;
    color: #0f172a;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.84);
}

.shoppi_admin_login_input_box input:focus, .kmclub-order-filter-input:focus, .kmclub-order-filter-select:focus, .kmclub-cost-filter-input:focus, .kmclub-cost-filter-select:focus, .kmclub-margin-field input:focus, .kmclub-margin-field select:focus, .kmclub-bulk-source-field input:focus, .kmclub-bulk-source-field select:focus, .kmclub-ai-trend-field input:focus, .kmclub-ai-trend-field select:focus, .kmclub-semi-source-search-box input:focus, .shopee_price_input:focus{
    border-color: #7c6cf2;
    box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.11);
}

.shoppi_admin_login_button_box input, .shopee_publish_submit, .shopee_product_publish_btn, .kmclub-shopee-connect-button, .kmclub-cost-sync-button, .kmclub-bulk-calc-button, .kmclub-campaign-upload-button, .kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button, .kmclub-ai-trend-main-button, .kmclub-bulk-source-connect-button, .kmclub-bulk-source-main-button, .kmclub-semi-source-download-button, .kmclub-semi-source-primary-button, .kmclub-semi-source-empty-button{
    background: linear-gradient(135deg, #6858df 0%, #7c6cf2 54%, #a99cf8 100%);
    color: #ffffff;
    box-shadow: 0 16px 32px rgba(124, 108, 242, 0.24);
}

.shoppi_admin_login_button_box input:hover, .shopee_publish_submit:hover, .shopee_product_publish_btn:hover, .kmclub-shopee-connect-button:hover, .kmclub-cost-sync-button:hover, .kmclub-bulk-calc-button:hover, .kmclub-campaign-upload-button:hover, .kmclub-ai-trend-connect-button:hover, .kmclub-ai-trend-empty-button:hover, .kmclub-ai-trend-main-button:hover, .kmclub-bulk-source-connect-button:hover, .kmclub-bulk-source-main-button:hover, .kmclub-semi-source-download-button:hover, .kmclub-semi-source-primary-button:hover, .kmclub-semi-source-empty-button:hover{
    filter: brightness(1.05);
    transform: translateY(-2px);
}

.kmclub-sidebar{
    background:
            radial-gradient(circle at 24% 0%, rgba(124, 108, 242, 0.22), transparent 30%),
            linear-gradient(180deg, #06111f 0%, #0b1730 48%, #102a69 100%);
    border-right: 1px solid rgba(147, 197, 253, 0.16);
    box-shadow: 28px 0 80px rgba(2, 6, 23, 0.28);
}

.kmclub-sidebar-logo{
    margin-bottom: 20px;
    padding: 12px 10px 18px;
    border-bottom-color: rgba(147, 197, 253, 0.18);
}

.kmclub-sidebar-logo-text strong{
    color: #ffffff;
    letter-spacing: -0.07em;
}

.kmclub-sidebar-logo-text span{
    color: rgba(191, 219, 254, 0.76);
}

.kmclub-sidebar-link{
    min-height: 46px;
    color: rgba(226, 232, 240, 0.84);
    border: 1px solid transparent;
}

.kmclub-sidebar-link:hover{
    color: #ffffff;
    background: rgba(124, 108, 242, 0.18);
    border-color: rgba(147, 197, 253, 0.14);
}

.kmclub-sidebar-link.active{
    background: linear-gradient(135deg, #7c6cf2 0%, #0ea5e9 100%);
    box-shadow: 0 18px 38px rgba(14, 165, 233, 0.28);
}

.kmclub-sidebar-icon{
    color: #ded8ff;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(147, 197, 253, 0.12);
}

.kmclub-upgrade-card, .kmclub-shopee-connect-logo, .kmclub-semi-source-extension-icon, .kmclub-bulk-source-connect-icon, .kmclub-ai-trend-info-icon, .kmclub-ai-trend-empty-icon, .kmclub-kpi-icon, .kmclub-page-refresh-button, .kmclub-refresh-button{
    background: radial-gradient(circle at top right, rgba(255,255,255,0.28), transparent 34%), linear-gradient(135deg, #7c6cf2, #a99cf8);
    box-shadow: 0 18px 38px rgba(124, 108, 242, 0.26);
}

.kmclub-dashboard-header, .kmclub-page-header{
    position: relative;
    margin-bottom: 8px;
    padding: 26px 28px;
    overflow: hidden;
    align-items: center;
    background:
            radial-gradient(circle at right top, rgba(124, 108, 242, 0.16), transparent 34%),
            linear-gradient(135deg, rgba(255,255,255,0.92), rgba(239,246,255,0.82));
    border: 1px solid rgba(219, 234, 254, 0.9);
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(124, 108, 242, 0.10);
}

.kmclub-dashboard-header::before, .kmclub-page-header::before{
    content: "SHOPEE";
    position: absolute;
    bottom: -16px;
    color: rgba(124, 108, 242, 0.055);
    font-size: 92px;
    font-weight: 900;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.kmclub-dashboard-title-area h1, .kmclub-page-title-area h1, .kmclub-page-title{
    color: #07111f;
    font-size: 40px;
    letter-spacing: -0.08em;
}

.kmclub-dashboard-title-area p, .kmclub-page-title-area p, .kmclub-page-desc{
    color: #475569;
    font-weight: 800;
}

.kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-shopee-connect-box, .kmclub-shopee-guide-box, .kmclub-order-summary-card, .kmclub-order-filter-panel, .kmclub-cost-filter-panel, .kmclub-margin-summary-card, .kmclub-margin-filter-panel, .kmclub-margin-list-panel, .kmclub-bulk-region-panel, .kmclub-bulk-country-card, .kmclub-bulk-promotion-card, .kmclub-bulk-calc-card, .kmclub-bulk-history-panel, .kmclub-campaign-region-panel, .kmclub-campaign-upload-panel, .kmclub-campaign-info-card, .kmclub-campaign-history-panel, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-semi-source-manage-panel, .kmclub-bulk-source-summary-card, .kmclub-bulk-source-filter-panel, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-summary-card, .kmclub-ai-trend-filter-panel, .kmclub-ai-trend-empty-panel, .shopee_product_table_wrap, .shopee_publish_header, .shopee_publish_section, .shopee_publish_submit_box{
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(219, 234, 254, 0.88);
    box-shadow: 0 22px 58px rgba(104, 88, 223, 0.08), inset 0 1px 0 rgba(255,255,255,0.86);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.kmclub-kpi-card::after, .kmclub-shopee-status-card::after, .kmclub-order-summary-card::after, .kmclub-margin-summary-card::after, .kmclub-bulk-source-summary-card::after, .kmclub-ai-trend-summary-card::after{
    background: radial-gradient(circle, rgba(124, 108, 242, 0.13), rgba(169, 156, 248, 0.04) 58%, transparent 70%);
}

.kmclub-kpi-value, .kmclub-kpi-value-small, .kmclub-order-summary-card strong, .kmclub-margin-summary-card strong, .kmclub-bulk-source-summary-card strong, .kmclub-ai-trend-summary-card strong, .kmclub-shopee-status-body p{
    color: #07111f;
}

.kmclub-kpi-label, .kmclub-chart-title, .kmclub-shopee-box-head h2, .kmclub-margin-filter-head h2, .kmclub-margin-list-head h2, .kmclub-bulk-region-head h2, .kmclub-bulk-card-head h2, .kmclub-campaign-region-head h2, .kmclub-campaign-card-head h2, .kmclub-ai-trend-filter-head h2, .kmclub-semi-source-card-head h2, .kmclub-semi-source-manage-head h2, .kmclub-bulk-source-filter-head h2{
    color: #08111f;
}

.kmclub-kpi-pill, .kmclub-margin-filter-region, .kmclub-ai-trend-connect-badge, .kmclub-ai-trend-empty-badge, .kmclub-bulk-source-connect-badge, .kmclub-semi-source-selected-count, .kmclub-campaign-selected-region strong{
    color: #6858df;
    background: #f4f1ff;
    border-color: #e9e5ff;
}

.kmclub-market-card, .site_footer{
    background:
            radial-gradient(circle at 86% 0%, rgba(169, 156, 248, 0.28), transparent 34%),
            radial-gradient(circle at 12% 8%, rgba(124, 108, 242, 0.28), transparent 28%),
            linear-gradient(135deg, #06111f 0%, #0f172a 46%, #102a69 100%);
}

.site_footer_inner{
    border-top: 1px solid rgba(147, 197, 253, 0.08);
}

.site_footer_company strong, .site_footer_customer strong{
    color: #ffffff;
}

@media screen and (max-width: 980px) {
    .shoppi_admin_login_wrap::before{
        display: none;
    }

    .kmclub-dashboard-header, .kmclub-page-header{
        padding: 24px 20px;
        border-radius: 24px;
    }

    .kmclub-dashboard-header::before, .kmclub-page-header::before{
        font-size: 60px;
    }
}

@media screen and (max-width: 480px) {
    .shoppi_admin_login_box{
        padding: 34px 24px 30px;
        border-radius: 28px;
    }

    .kmclub-dashboard-title-area h1, .kmclub-page-title-area h1, .kmclub-page-title{
        font-size: 30px;
    }
}



/* ==============================================
   SHOPEE SOFT DIGITAL OVERRIDE v5
   - 과한 네온 제거
   - 참고 이미지 색감은 은은하게만 반영
   - 실무형 관리자 화면용
============================================== */

body{
    color: #172033;
    background:
            radial-gradient(circle at 12% 0%, rgba(124, 108, 242, 0.10), transparent 28%),
            radial-gradient(circle at 88% 4%, rgba(124, 58, 237, 0.08), transparent 24%),
            linear-gradient(180deg, #f6f8ff 0%, #eef3fb 46%, #faf9fd 100%);
}

body::before{
    display: none;
}

.kmclub-admin-layout, .site_section_inner, .kmclub-global-dashboard, .shopee_publish_wrap, .kmclub-order-content, .kmclub-cost-content, .kmclub-margin-wrap, .kmclub-bulk-discount-wrap, .kmclub-campaign-price-wrap, .kmclub-semi-source-wrap, .kmclub-bulk-source-wrap, .kmclub-ai-trend-wrap{
    background: transparent;
}

.kmclub-main-area{
    background: transparent;
}

.kmclub-main-area::before, .shoppi_admin_login_wrap::before{
    display: none;
}

/* 헤더 - 과한 네온 대신 반투명 화이트 */
.site_header{
    background: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(124, 108, 242, 0.10);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
    backdrop-filter: blur(14px);
}

.site_header_home_link{
    color: #ffffff;
    background: linear-gradient(135deg, #6858df, #7c6cf2);
    box-shadow: 0 8px 18px rgba(124, 108, 242, 0.18);
}

.site_header_menu_link{
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}

.site_header_menu_link:hover{
    color: #ffffff;
    background: #1e293b;
}

.site_header_logout_button{
    color: #64748b;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}

.site_header_logout_button:hover{
    color: #ffffff;
    background: #334155;
    border-color: #334155;
}

/* 사이드바 - 딥블루 유지, 광량 줄임 */
.kmclub-sidebar{
    background:
            radial-gradient(circle at 0% 0%, rgba(124, 108, 242, 0.22), transparent 32%),
            linear-gradient(180deg, #08142f 0%, #0f172a 58%, #111827 100%);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 18px 0 48px rgba(15, 23, 42, 0.18);
}

.kmclub-sidebar-link.active{
    background: linear-gradient(135deg, #7c6cf2, #7161e8);
    box-shadow: 0 12px 24px rgba(124, 108, 242, 0.20);
}

.kmclub-sidebar-link:hover{
    background: rgba(255, 255, 255, 0.08);
    transform: translateX(2px);
}

.kmclub-sidebar-icon, .kmclub-sidebar-link.active .kmclub-sidebar-icon{
    background: rgba(255, 255, 255, 0.12);
    color: #e9e5ff;
    box-shadow: none;
}

.kmclub-sidebar-badge{
    color: #ded8ff;
    background: rgba(124, 108, 242, 0.16);
    border-color: rgba(147, 197, 253, 0.20);
}

/* 페이지 상단 - 기업형 카드 */
.kmclub-dashboard-header, .kmclub-page-header{
    position: relative;
    padding: 22px 24px;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 24px;
    background:
            radial-gradient(circle at right top, rgba(124, 108, 242, 0.09), transparent 34%),
            linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 251, 255, 0.88));
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(10px);
}

.kmclub-dashboard-title-area h1, .kmclub-page-title, .kmclub-page-title-area h1{
    color: #0f172a;
}

.kmclub-dashboard-title-area p, .kmclub-page-title-area p, .kmclub-page-desc{
    color: #64748b;
}

/* 카드 - 밝은 글래스 톤 */
.kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-shopee-connect-box, .kmclub-shopee-guide-box, .kmclub-order-summary-card, .kmclub-order-filter-panel, .kmclub-cost-filter-panel, .kmclub-margin-summary-card, .kmclub-margin-filter-panel, .kmclub-margin-list-panel, .kmclub-bulk-region-panel, .kmclub-bulk-country-card, .kmclub-bulk-promotion-card, .kmclub-bulk-calc-card, .kmclub-bulk-history-panel, .kmclub-campaign-region-panel, .kmclub-campaign-upload-panel, .kmclub-campaign-info-card, .kmclub-campaign-history-panel, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-semi-source-manage-panel, .kmclub-bulk-source-summary-card, .kmclub-bulk-source-filter-panel, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-info-panel, .kmclub-ai-trend-connect-panel, .kmclub-ai-trend-summary-card, .kmclub-ai-trend-filter-panel, .kmclub-ai-trend-empty-panel, .shopee_publish_header, .shopee_publish_section, .shopee_publish_submit_box, .shopee_product_table_wrap, .pagination_list, .shoppi_admin_login_box{
    color: #172033;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e8e4f0;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(8px);
}

.kmclub-kpi-card:hover, .kmclub-chart-card:hover, .kmclub-shopee-status-card:hover, .kmclub-order-summary-card:hover, .kmclub-margin-summary-card:hover, .kmclub-bulk-source-summary-card:hover, .kmclub-ai-trend-summary-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(124, 108, 242, 0.10);
}

.kmclub-kpi-card::before, .kmclub-order-summary-card::after, .kmclub-margin-summary-card::after, .kmclub-bulk-source-summary-card::after, .kmclub-shopee-status-card::after, .kmclub-ai-trend-summary-card::after{
    background: rgba(124, 108, 242, 0.07);
}

/* 제목/본문 컬러 복구 */
.kmclub-chart-title, .kmclub-market-title, .kmclub-shopee-box-head h2, .kmclub-margin-filter-head h2, .kmclub-margin-list-head h2, .kmclub-bulk-region-head h2, .kmclub-bulk-card-head h2, .kmclub-campaign-region-head h2, .kmclub-campaign-card-head h2, .kmclub-semi-source-card-head h2, .kmclub-semi-source-manage-head h2, .kmclub-bulk-source-filter-head h2, .kmclub-bulk-source-connect-content h2, .kmclub-ai-trend-info-content h2, .kmclub-ai-trend-connect-content h2, .kmclub-ai-trend-filter-head h2, .kmclub-order-empty-box h2, .kmclub-cost-empty-box h2, .kmclub-margin-empty strong, .kmclub-bulk-empty-promotion strong, .kmclub-campaign-history-empty strong, .kmclub-semi-source-empty strong, .shopee_publish_section_title, .shopee_publish_title, .shoppi_admin_login_head h1{
    color: #0f172a;
}

.kmclub-chart-sub, .kmclub-market-name, .kmclub-shopee-box-head p, .kmclub-order-filter-field label, .kmclub-margin-field label, .kmclub-campaign-target-head p, .kmclub-semi-source-card-head p, .kmclub-bulk-source-filter-head p, .kmclub-ai-trend-info-content p, .kmclub-ai-trend-connect-content p, .kmclub-ai-trend-filter-head p, .kmclub-order-empty-box p, .kmclub-cost-empty-box p, .kmclub-margin-empty p, .kmclub-bulk-empty-promotion p, .kmclub-campaign-history-empty p, .kmclub-semi-source-empty p, .kmclub-ai-trend-notice-item span, .shopee_publish_desc, .shoppi_admin_login_head p, .shoppi_admin_login_input_box label, .shoppi_admin_login_check{
    color: #64748b;
}

.kmclub-kpi-value, .kmclub-kpi-value-small, .kmclub-order-summary-card strong, .kmclub-margin-summary-card strong, .kmclub-bulk-source-summary-card strong, .kmclub-shopee-status-body p, .kmclub-semi-source-usage-count strong, .kmclub-semi-source-usage-info strong, .kmclub-campaign-info-card strong, .kmclub-ai-trend-summary-card strong, .kmclub-bulk-country-title h2, .kmclub-campaign-selected-region strong{
    color: #0f172a;
    text-shadow: none;
}

.kmclub-kpi-value.green, .kmclub-kpi-value-small.green{
    color: #16a34a;
}

.kmclub-kpi-value.red{
    color: #dc2626;
}

/* 버튼 - 색감만 참고, 광택 줄임 */
.kmclub-report-button, .kmclub-refresh-button, .kmclub-page-report-button, .kmclub-page-refresh-button, .kmclub-shopee-connect-button, .kmclub-cost-sync-button, .kmclub-bulk-calc-button, .kmclub-campaign-upload-button, .kmclub-semi-source-download-button, .kmclub-semi-source-primary-button, .kmclub-semi-source-empty-button, .kmclub-bulk-source-main-button, .kmclub-bulk-source-connect-button, .kmclub-ai-trend-connect-button, .kmclub-ai-trend-empty-button, .kmclub-ai-trend-main-button, .kmclub-margin-action-button.is-primary, .kmclub-campaign-method-button, .shopee_publish_submit, .shopee_product_publish_btn, .shoppi_admin_login_button_box input{
    color: #ffffff;
    background: linear-gradient(135deg, #7c6cf2, #7161e8);
    box-shadow: 0 10px 22px rgba(124, 108, 242, 0.18);
}

.kmclub-report-button:hover, .kmclub-refresh-button:hover, .kmclub-page-report-button:hover, .kmclub-page-refresh-button:hover, .kmclub-shopee-connect-button:hover, .kmclub-cost-sync-button:hover, .kmclub-bulk-calc-button:hover, .kmclub-campaign-upload-button:hover, .kmclub-semi-source-download-button:hover, .kmclub-semi-source-primary-button:hover, .kmclub-semi-source-empty-button:hover, .kmclub-bulk-source-main-button:hover, .kmclub-bulk-source-connect-button:hover, .kmclub-ai-trend-connect-button:hover, .kmclub-ai-trend-empty-button:hover, .kmclub-ai-trend-main-button:hover, .kmclub-margin-action-button.is-primary:hover, .kmclub-campaign-method-button:hover, .shopee_publish_submit:hover, .shopee_product_publish_btn:hover, .shoppi_admin_login_button_box input:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(124, 108, 242, 0.22);
    filter: none;
}

.kmclub-refresh-button, .kmclub-page-refresh-button{
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
}

/* 입력폼 */
.kmclub-period-select, .kmclub-page-select, .kmclub-order-filter-input, .kmclub-order-filter-select, .kmclub-cost-filter-input, .kmclub-cost-filter-select, .kmclub-margin-field input, .kmclub-margin-field select, .kmclub-bulk-rate-input, .kmclub-campaign-rate-input, .kmclub-semi-source-search-box input, .kmclub-bulk-source-field input, .kmclub-bulk-source-field select, .kmclub-ai-trend-field input, .kmclub-ai-trend-field select, .shopee_publish_select, .shopee_publish_input, .shopee_publish_textarea, .shopee_price_input, .shoppi_admin_login_input_box input{
    color: #111827;
    background: #ffffff;
    border: 1px solid #dbe3ef;
    box-shadow: none;
}

.kmclub-period-select:focus, .kmclub-page-select:focus, .kmclub-order-filter-input:focus, .kmclub-order-filter-select:focus, .kmclub-cost-filter-input:focus, .kmclub-cost-filter-select:focus, .kmclub-margin-field input:focus, .kmclub-margin-field select:focus, .kmclub-semi-source-search-box input:focus, .kmclub-bulk-source-field input:focus, .kmclub-bulk-source-field select:focus, .kmclub-ai-trend-field input:focus, .kmclub-ai-trend-field select:focus, .shopee_publish_select:focus, .shopee_publish_input:focus, .shopee_publish_textarea:focus, .shopee_price_input:focus, .shoppi_admin_login_input_box input:focus{
    border-color: #7c6cf2;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(124, 108, 242, 0.10);
}

.kmclub-order-filter-input::placeholder, .kmclub-cost-filter-input::placeholder, .kmclub-margin-field input::placeholder, .kmclub-semi-source-search-box input::placeholder, .kmclub-bulk-source-field input::placeholder, .kmclub-ai-trend-field input::placeholder, .shopee_publish_input::placeholder, .shopee_publish_textarea::placeholder, .shopee_price_input::placeholder, .shoppi_admin_login_input_box input::placeholder{
    color: #94a3b8;
}

/* 보조 박스 */
.kmclub-currency-toggle, .kmclub-bulk-method-box, .kmclub-campaign-method-box, .kmclub-order-margin-alert, .kmclub-campaign-selected-region, .kmclub-shopee-connect-action, .kmclub-bulk-help-box, .kmclub-campaign-help-box, .kmclub-ai-trend-notice-item, .kmclub-semi-source-usage-info div, .kmclub-bulk-country-desc, .kmclub-campaign-target-box, .kmclub-shopee-region-box{
    background: #faf9fd;
    border-color: #e8e4f0;
}

.kmclub-campaign-warning-box{
    background: #fff1f2;
    border-color: #fecdd3;
}

.kmclub-order-margin-alert{
    background: linear-gradient(135deg, #f4f1ff, #faf9fd);
    border-color: #e9e5ff;
}

.kmclub-order-margin-text strong, .kmclub-bulk-help-box strong, .kmclub-campaign-help-box strong, .kmclub-ai-trend-notice-item strong, .kmclub-campaign-selected-region span, .kmclub-campaign-selected-region p, .kmclub-shopee-region-title span{
    color: #6858df;
}

/* 테이블 */
.shopee_product_table, .shopee_price_table, .kmclub-bulk-history-table, .kmclub-campaign-history-table{
    color: #111827;
}

.shopee_product_table_head th, .shopee_price_table th, .kmclub-bulk-history-table th, .kmclub-campaign-history-table th{
    color: #475569;
    background: #faf9fd;
    border-bottom: 1px solid #e8e4f0;
}

.shopee_product_table_body td, .shopee_price_table td, .kmclub-bulk-history-table td, .kmclub-campaign-history-table td{
    color: #334155;
    border-bottom: 1px solid #eef2f7;
}

.shopee_product_table_body tr:hover, .pagination_link:hover, .kmclub-bulk-region-button:hover, .kmclub-campaign-region-button:hover, .kmclub-semi-source-market-button:hover, .kmclub-semi-source-market-button.active{
    background: #faf9ff;
}

.shopee_product_name{
    color: #111827 !important;
}

.shopee_product_image_box, .shopee_publish_image_box, .shopee_publish_product_image_grid, .shopee_publish_detail_image_preview, .shopee_price_table_box, .kmclub-campaign-upload-drop{
    background: #ffffff;
    border-color: #e8e4f0;
}

/* 차트/진행바 */
.kmclub-rate-fill, .kmclub-market-fill, .kmclub-semi-source-progress-bar, .kmclub-chart-bar.profit, .kmclub-currency-button.active, .kmclub-bulk-method-button.active{
    background: linear-gradient(90deg, #7c6cf2, #a99cf8);
}

.kmclub-chart-bar.revenue{
    background: linear-gradient(180deg, #6366f1, #8b5cf6);
}

.kmclub-pie-visual{
    background: conic-gradient(#7c6cf2 0deg 128deg, #a99cf8 128deg 212deg, #7161e8 212deg 278deg, #8b5cf6 278deg 326deg, #64748b 326deg 360deg);
    box-shadow: 0 18px 40px rgba(124, 108, 242, 0.14);
}

/* 로그인 */
.shoppi_admin_login_wrap{
    background:
            radial-gradient(circle at 18% 12%, rgba(124, 108, 242, 0.16), transparent 30%),
            radial-gradient(circle at 82% 12%, rgba(124, 58, 237, 0.12), transparent 28%),
            linear-gradient(180deg, #f6f8ff 0%, #eef3fb 100%);
}

.shoppi_admin_login_box{
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #e8e4f0;
}

.shoppi_admin_login_logo{
    background: transparent;
}

/* 푸터 - 기존보다 정돈 */
.site_footer{
    color: #94a3b8;
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.14), transparent 28%),
            #0f172a;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site_footer::before{
    background: linear-gradient(90deg, #7c6cf2, #a99cf8, #7161e8);
}

.site_footer_link, .site_footer_a_link, .site_footer_company strong, .site_footer_customer strong, .site_footer_menu a{
    color: #ffffff !important;
}

.site_footer_customer{
    border-color: rgba(59, 130, 246, 0.24);
    background: rgba(124, 108, 242, 0.16);
    box-shadow: 0 10px 22px rgba(124, 108, 242, 0.12);
}

@media screen and (max-width: 980px) {
    .kmclub-dashboard-header, .kmclub-page-header{
        padding: 18px 16px;
    }
}



/* =========================================================
   KMCLUB Focus Motion Effects v7
   - 15% 할인 뱃지
   - Shopee 연동 CTA
   - AI 트렌드 빈 화면 비주얼
   - 사이드바 연동 상태 카드
   기존 CSS 하단 오버라이드용
========================================================= */

.kmclub-pricing-discount-badge, .kmclub-shopee-connect-action, .kmclub-ai-trend-empty-visual, .kmclub-connection-card{
    will-change: transform, box-shadow, opacity;
}

/* 15% 할인 뱃지: 너무 튀지 않는 프리미엄 플로팅 */
.kmclub-pricing-discount-badge{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.34);
    background:
            radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.40), transparent 28%),
            linear-gradient(135deg, #7c6cf2 0%, #7161e8 48%, #a99cf8 100%);
    box-shadow:
            0 22px 48px rgba(124, 108, 242, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.38);
    animation:
            kmclub-focus-badge-pop 0.72s cubic-bezier(0.22, 1, 0.36, 1) both,
            kmclub-focus-badge-float 4.4s ease-in-out 0.8s infinite;
}

.kmclub-pricing-discount-badge::before{
    content: "";
    position: absolute;
    inset: -3px;
    z-index: -1;
    border-radius: inherit;
    background: conic-gradient(
            from 160deg,
            rgba(255, 255, 255, 0),
            rgba(255, 255, 255, 0.42),
            rgba(255, 255, 255, 0),
            rgba(169, 156, 248, 0.34),
            rgba(255, 255, 255, 0)
    );
    opacity: 0.78;
    animation: kmclub-focus-slow-rotate 5.5s linear infinite;
}

.kmclub-pricing-discount-badge::after{
    content: "";
    position: absolute;
    top: -70%;
    left: -80%;
    width: 72%;
    height: 240%;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.34),
            transparent
    );
    transform: rotate(24deg);
    animation: kmclub-focus-light-sweep 5.2s ease-in-out infinite;
}

.kmclub-pricing-discount-badge strong, .kmclub-pricing-discount-badge span{
    position: relative;
    z-index: 2;
}

.kmclub-pricing-discount-badge:hover{
    transform: translateY(-4px) scale(1.025);
    box-shadow:
            0 28px 58px rgba(124, 108, 242, 0.34),
            inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

/* Shopee 연동 CTA: 카드 자체가 살짝 살아있는 느낌 */
.kmclub-shopee-connect-action{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(191, 219, 254, 0.94);
    background:
            radial-gradient(circle at 14% 18%, rgba(124, 108, 242, 0.10), transparent 28%),
            radial-gradient(circle at 88% 16%, rgba(169, 156, 248, 0.12), transparent 30%),
            linear-gradient(135deg, #ffffff 0%, #faf9ff 48%, #eef6ff 100%);
    box-shadow:
            0 18px 46px rgba(104, 88, 223, 0.10),
            inset 0 1px 0 rgba(255, 255, 255, 0.96);
    transform: translateY(0);
    animation: kmclub-focus-card-rise 0.78s cubic-bezier(0.22, 1, 0.36, 1) both;
    transition:
            transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.38s ease,
            border-color 0.28s ease,
            background 0.28s ease;
}

.kmclub-shopee-connect-action::before{
    content: "";
    position: absolute;
    top: -55%;
    left: -62%;
    width: 48%;
    height: 220%;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.62),
            transparent
    );
    transform: rotate(22deg);
    opacity: 0.75;
    animation: kmclub-focus-card-shine 6.4s ease-in-out infinite;
}

.kmclub-shopee-connect-action::after{
    content: "";
    position: absolute;
    right: -46px;
    bottom: -52px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(124, 108, 242, 0.08);
    pointer-events: none;
    transition: 0.38s ease;
}

.kmclub-shopee-connect-action:hover{
    border-color: rgba(96, 165, 250, 0.96);
    transform: translateY(-5px);
    box-shadow:
            0 28px 68px rgba(104, 88, 223, 0.17),
            inset 0 1px 0 rgba(255, 255, 255, 1);
}

.kmclub-shopee-connect-action:hover::after{
    transform: scale(1.2);
    background: rgba(169, 156, 248, 0.10);
}

.kmclub-shopee-connect-logo{
    position: relative;
    z-index: 2;
    overflow: hidden;
    background:
            radial-gradient(circle at 28% 20%, rgba(255, 255, 255, 0.28), transparent 28%),
            linear-gradient(135deg, #7c6cf2, #6858df 58%, #a99cf8);
    box-shadow:
            0 16px 32px rgba(124, 108, 242, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.26);
    animation: kmclub-focus-logo-breathe 3.4s ease-in-out infinite;
}

.kmclub-shopee-connect-logo::after{
    content: "";
    position: absolute;
    top: -40%;
    left: -80%;
    width: 56%;
    height: 190%;
    background: rgba(255, 255, 255, 0.24);
    transform: rotate(24deg);
    animation: kmclub-focus-mini-shine 4.8s ease-in-out infinite;
}

.kmclub-shopee-connect-text, .kmclub-shopee-connect-button{
    position: relative;
    z-index: 2;
}

.kmclub-shopee-connect-text strong{
    letter-spacing: -0.04em;
}

.kmclub-shopee-connect-button{
    overflow: hidden;
    background: linear-gradient(135deg, #7c6cf2, #6858df 58%, #a99cf8);
    box-shadow: 0 14px 28px rgba(124, 108, 242, 0.24);
    transition:
            transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.22s ease,
            filter 0.22s ease;
}

.kmclub-shopee-connect-button::before{
    content: "";
    position: absolute;
    top: 0;
    left: -78%;
    width: 52%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
    transform: skewX(-18deg);
    transition: 0.42s ease;
}

.kmclub-shopee-connect-button:hover{
    transform: translateY(-3px);
    box-shadow: 0 20px 38px rgba(124, 108, 242, 0.32);
    filter: brightness(1.04);
}

.kmclub-shopee-connect-button:hover::before{
    left: 128%;
}

.kmclub-shopee-connect-button:active{
    transform: translateY(-1px) scale(0.982);
}

/* AI 빈 화면: 궤도형 링 + AI 코어 플로팅 */
.kmclub-ai-trend-empty-visual{
    position: relative;
    isolation: isolate;
    animation: kmclub-focus-visual-in 0.82s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-ai-trend-empty-visual::before{
    content: "";
    position: absolute;
    inset: 26px;
    z-index: 0;
    border-radius: 50%;
    background:
            radial-gradient(circle, rgba(124, 108, 242, 0.15), transparent 56%);
    animation: kmclub-focus-orb-pulse 3.2s ease-in-out infinite;
}

.kmclub-ai-trend-empty-visual::after{
    content: "";
    position: absolute;
    inset: 4px;
    z-index: 0;
    border-radius: 50%;
    border: 1px solid rgba(124, 108, 242, 0.10);
    box-shadow: inset 0 0 0 18px rgba(239, 246, 255, 0.34);
}

.kmclub-ai-trend-empty-icon{
    position: relative;
    z-index: 3;
    overflow: hidden;
    background:
            radial-gradient(circle at 28% 18%, rgba(255, 255, 255, 0.32), transparent 28%),
            linear-gradient(135deg, #7c6cf2, #7161e8 54%, #a99cf8);
    box-shadow:
            0 22px 44px rgba(124, 108, 242, 0.30),
            inset 0 1px 0 rgba(255, 255, 255, 0.30);
    animation: kmclub-focus-ai-core 4s ease-in-out infinite;
}

.kmclub-ai-trend-empty-icon::before{
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    pointer-events: none;
}

.kmclub-ai-trend-empty-icon::after{
    content: "";
    position: absolute;
    top: -45%;
    left: -86%;
    width: 58%;
    height: 200%;
    background: rgba(255, 255, 255, 0.24);
    transform: rotate(24deg);
    animation: kmclub-focus-mini-shine 5.1s ease-in-out infinite;
}

.kmclub-ai-trend-empty-ring{
    z-index: 2;
    border-color: rgba(124, 108, 242, 0.32) !important;
    box-shadow:
            0 0 0 14px rgba(124, 108, 242, 0.04),
            inset 0 0 24px rgba(124, 108, 242, 0.06);
    animation: kmclub-focus-orbit-rotate 12s linear infinite;
}

.kmclub-ai-trend-empty-ring::before, .kmclub-ai-trend-empty-ring::after{
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #a99cf8;
    box-shadow: 0 0 0 5px rgba(169, 156, 248, 0.12), 0 0 18px rgba(169, 156, 248, 0.42);
}

.kmclub-ai-trend-empty-ring::before{
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.kmclub-ai-trend-empty-ring::after{
    right: 22px;
    bottom: 28px;
    background: #7161e8;
    box-shadow: 0 0 0 5px rgba(79, 70, 229, 0.12), 0 0 18px rgba(79, 70, 229, 0.36);
}

/* 사이드바 연동 상태: 작지만 확실한 상태 알림 */
.kmclub-connection-card{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background:
            radial-gradient(circle at 100% 0%, rgba(124, 108, 242, 0.26), transparent 46%),
            rgba(255, 255, 255, 0.065);
    box-shadow:
            0 16px 36px rgba(2, 6, 23, 0.22),
            inset 0 1px 0 rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(14px);
    animation: kmclub-focus-connection-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
    transition:
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.28s ease,
            box-shadow 0.28s ease,
            background 0.28s ease;
}

.kmclub-connection-card::before{
    content: "";
    position: absolute;
    top: -65%;
    left: -72%;
    width: 70%;
    height: 230%;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(22deg);
    animation: kmclub-focus-connection-sweep 6s ease-in-out infinite;
}

.kmclub-connection-card::after{
    content: "";
    position: absolute;
    right: -24px;
    bottom: -24px;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: rgba(239, 68, 68, 0.13);
    pointer-events: none;
}

.kmclub-connection-card:hover{
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, 0.20);
    box-shadow:
            0 22px 46px rgba(2, 6, 23, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.kmclub-connection-row, .kmclub-connection-status{
    position: relative;
    z-index: 2;
}

.kmclub-connection-dot{
    position: relative;
    display: inline-flex;
    width: 10px;
    height: 10px;
    background: #ef4444;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(239, 68, 68, 0.14), 0 0 18px rgba(239, 68, 68, 0.34);
    animation: kmclub-focus-dot-breathe 1.7s ease-in-out infinite;
}

.kmclub-connection-dot::after{
    content: "";
    position: absolute;
    inset: -8px;
    border: 1px solid rgba(239, 68, 68, 0.34);
    border-radius: 50%;
    animation: kmclub-focus-dot-ring 1.7s ease-out infinite;
}

.kmclub-connection-card.is-connected::after{
    background: rgba(34, 197, 94, 0.14);
}

.kmclub-connection-card.is-connected .kmclub-connection-dot{
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.16), 0 0 18px rgba(34, 197, 94, 0.34);
}

.kmclub-connection-card.is-connected .kmclub-connection-dot::after{
    border-color: rgba(34, 197, 94, 0.34);
}

.kmclub-connection-card.is-connected .kmclub-connection-status{
    color: rgba(187, 247, 208, 0.84);
}

/* 키프레임 */
@keyframes kmclub-focus-badge-pop {
    from { opacity: 0; transform: translateY(16px) scale(0.86) rotate(-7deg); }
    to { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }
}

@keyframes kmclub-focus-badge-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-6px) rotate(1deg); }
}

@keyframes kmclub-focus-slow-rotate {
    to { transform: rotate(360deg); }
}

@keyframes kmclub-focus-light-sweep {
    0%, 58% { left: -80%; }
    76%, 100% { left: 140%; }
}

@keyframes kmclub-focus-card-rise {
    from { opacity: 0; transform: translateY(18px) scale(0.985); filter: blur(6px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes kmclub-focus-card-shine {
    0%, 64% { left: -62%; }
    84%, 100% { left: 128%; }
}

@keyframes kmclub-focus-logo-breathe {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-2px) scale(1.035); }
}

@keyframes kmclub-focus-mini-shine {
    0%, 62% { left: -86%; }
    82%, 100% { left: 136%; }
}

@keyframes kmclub-focus-visual-in {
    from { opacity: 0; transform: translateY(16px) scale(0.94); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes kmclub-focus-orb-pulse {
    0%, 100% { transform: scale(0.95); opacity: 0.65; }
    50% { transform: scale(1.08); opacity: 1; }
}

@keyframes kmclub-focus-ai-core {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-5px) scale(1.035); }
}

@keyframes kmclub-focus-orbit-rotate {
    to { transform: rotate(360deg); }
}

@keyframes kmclub-focus-connection-in {
    from { opacity: 0; transform: translateY(12px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes kmclub-focus-connection-sweep {
    0%, 66% { left: -72%; }
    86%, 100% { left: 130%; }
}

@keyframes kmclub-focus-dot-breathe {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(0.82); opacity: 0.78; }
}

@keyframes kmclub-focus-dot-ring {
    from { transform: scale(0.72); opacity: 0.64; }
    to { transform: scale(1.55); opacity: 0; }
}

/* 반응형 */
@media screen and (max-width: 760px) {
    .kmclub-shopee-connect-action{
        display: grid;
        grid-template-columns: 58px 1fr;
        align-items: center;
        gap: 14px;
        margin: 18px;
        padding: 18px;
    }

    .kmclub-shopee-connect-button{
        grid-column: 1 / -1;
        width: 100%;
    }

    .kmclub-ai-trend-empty-visual{
        width: 138px;
        height: 138px;
        margin: 0 auto;
    }

    .kmclub-ai-trend-empty-icon{
        width: 86px;
        height: 86px;
        border-radius: 26px;
        font-size: 26px;
    }

    .kmclub-ai-trend-empty-ring{
        inset: 12px;
    }
}

/* 접근성: 모션 줄이기 */
@media (prefers-reduced-motion: reduce) {
    .kmclub-pricing-discount-badge, .kmclub-pricing-discount-badge::before, .kmclub-pricing-discount-badge::after, .kmclub-shopee-connect-action, .kmclub-shopee-connect-action::before, .kmclub-shopee-connect-logo, .kmclub-shopee-connect-logo::after, .kmclub-shopee-connect-button, .kmclub-shopee-connect-button::before, .kmclub-ai-trend-empty-visual, .kmclub-ai-trend-empty-visual::before, .kmclub-ai-trend-empty-icon, .kmclub-ai-trend-empty-icon::after, .kmclub-ai-trend-empty-ring, .kmclub-connection-card, .kmclub-connection-card::before, .kmclub-connection-dot, .kmclub-connection-dot::after{
        animation: none !important;
        transition: none !important;
    }
}

/* ==============================================
   KMCLUB Dashboard Dynamic Motion Override v2
   - 기존 포커스 모션 유지
   - 대시보드 카드 + 뱃지 역동성 강화
   - 하단 오버라이드 방식
============================================== */

.kmclub-global-dashboard{
    position: relative;
    overflow: hidden;
}

.kmclub-global-dashboard::before{
    content: "";
    position: fixed;
    top: 82px;
    right: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background:
            radial-gradient(circle,
            rgba(124, 108, 242, 0.13) 0%,
            rgba(169, 156, 248, 0.08) 38%,
            rgba(255, 255, 255, 0) 72%);
    pointer-events: none;
    animation: kmclub-dashboard-ambient-drift 9s ease-in-out infinite;
}

.kmclub-global-dashboard::after{
    content: "";
    position: fixed;
    left: 108px;
    bottom: -180px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background:
            radial-gradient(circle,
            rgba(139, 92, 246, 0.10) 0%,
            rgba(124, 108, 242, 0.07) 44%,
            rgba(255, 255, 255, 0) 72%);
    pointer-events: none;
    animation: kmclub-dashboard-ambient-drift-reverse 10s ease-in-out infinite;
}

.kmclub-global-shell{
    position: relative;
    z-index: 1;
    animation: kmclub-dashboard-shell-enter 0.78s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-dashboard-header{
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    padding: 24px 28px;
    border: 1px solid rgba(219, 234, 254, 0.92);
    border-radius: 30px;
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.12), transparent 36%),
            linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.88));
    box-shadow:
            0 22px 58px rgba(104, 88, 223, 0.10),
            inset 0 1px 0 rgba(255, 255, 255, 0.95);
    animation: kmclub-dashboard-header-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-dashboard-header::before{
    content: "";
    position: absolute;
    top: 0;
    left: -48%;
    width: 34%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
    transform: skewX(-18deg);
    animation: kmclub-dashboard-header-shine 6.4s ease-in-out infinite;
}

.kmclub-dashboard-header::after{
    content: "DASHBOARD";
    position: absolute;
    right: 24px;
    bottom: -14px;
    color: rgba(124, 108, 242, 0.055);
    font-size: 64px;
    font-weight: 950;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.kmclub-dashboard-title-area, .kmclub-dashboard-controls{
    position: relative;
    z-index: 2;
}

.kmclub-dashboard-title-area h1{
    background: linear-gradient(135deg, #0f172a 0%, #6858df 54%, #a99cf8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.kmclub-period-select, .kmclub-currency-toggle, .kmclub-report-button, .kmclub-refresh-button{
    transition:
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.28s ease,
            border-color 0.28s ease,
            filter 0.28s ease;
}

.kmclub-period-select:hover, .kmclub-currency-toggle:hover{
    transform: translateY(-2px);
    border-color: rgba(147, 197, 253, 0.95);
    box-shadow: 0 14px 30px rgba(104, 88, 223, 0.10);
}

.kmclub-report-button:hover, .kmclub-refresh-button:hover{
    transform: translateY(-3px) scale(1.015);
    filter: brightness(1.04);
}

.kmclub-refresh-button{
    position: relative;
    overflow: hidden;
}

.kmclub-refresh-button:hover{
    animation: kmclub-dashboard-refresh-pop 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-kpi-row-main, .kmclub-kpi-row-sub, .kmclub-chart-grid, .kmclub-market-card, .kmclub-shopee-status-grid, .kmclub-order-summary-grid, .kmclub-margin-summary-grid, .kmclub-bulk-source-summary-grid, .kmclub-ai-trend-summary-grid{
    animation: kmclub-dashboard-section-enter 0.76s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-kpi-row-sub{
    animation-delay: 0.08s;
}

.kmclub-chart-grid{
    animation-delay: 0.15s;
}

.kmclub-market-card{
    animation-delay: 0.22s;
}

.kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-order-summary-card, .kmclub-margin-summary-card, .kmclub-bulk-source-summary-card, .kmclub-ai-trend-summary-card, .kmclub-campaign-info-card, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-empty-panel{
    position: relative;
    overflow: hidden;
    transform: translateY(0) scale(1);
    transition:
            transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            border-color 0.32s ease,
            background 0.32s ease,
            filter 0.32s ease;
    animation: kmclub-dashboard-card-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-kpi-row-main .kmclub-kpi-card:nth-child(1), .kmclub-kpi-row-sub .kmclub-kpi-card:nth-child(1){
    animation-delay: 0.05s;
}

.kmclub-kpi-row-main .kmclub-kpi-card:nth-child(2), .kmclub-kpi-row-sub .kmclub-kpi-card:nth-child(2){
    animation-delay: 0.11s;
}

.kmclub-kpi-row-main .kmclub-kpi-card:nth-child(3), .kmclub-kpi-row-sub .kmclub-kpi-card:nth-child(3){
    animation-delay: 0.17s;
}

.kmclub-kpi-row-main .kmclub-kpi-card:nth-child(4), .kmclub-kpi-row-sub .kmclub-kpi-card:nth-child(4){
    animation-delay: 0.23s;
}

.kmclub-kpi-row-sub .kmclub-kpi-card:nth-child(5){
    animation-delay: 0.29s;
}

.kmclub-kpi-card::after, .kmclub-chart-card::after, .kmclub-shopee-status-card::before, .kmclub-order-summary-card::before, .kmclub-margin-summary-card::before, .kmclub-bulk-source-summary-card::before, .kmclub-ai-trend-summary-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: -74%;
    z-index: 1;
    width: 44%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.56), transparent);
    transform: skewX(-18deg);
    opacity: 0;
    pointer-events: none;
}

.kmclub-kpi-card:hover, .kmclub-chart-card:hover, .kmclub-shopee-status-card:hover, .kmclub-order-summary-card:hover, .kmclub-margin-summary-card:hover, .kmclub-bulk-source-summary-card:hover, .kmclub-ai-trend-summary-card:hover, .kmclub-campaign-info-card:hover, .kmclub-semi-source-usage-card:hover, .kmclub-semi-source-extension-card:hover{
    border-color: rgba(147, 197, 253, 0.96);
    transform: translateY(-8px) scale(1.012);
    box-shadow:
            0 34px 86px rgba(104, 88, 223, 0.16),
            inset 0 1px 0 rgba(255, 255, 255, 0.94);
    filter: saturate(1.02);
}

.kmclub-kpi-card:hover::after, .kmclub-chart-card:hover::after, .kmclub-shopee-status-card:hover::before, .kmclub-order-summary-card:hover::before, .kmclub-margin-summary-card:hover::before, .kmclub-bulk-source-summary-card:hover::before, .kmclub-ai-trend-summary-card:hover::before{
    opacity: 1;
    animation: kmclub-dashboard-card-shine 0.9s ease both;
}

.kmclub-kpi-icon, .kmclub-shopee-status-icon, .kmclub-order-empty-icon, .kmclub-cost-empty-icon, .kmclub-margin-empty-icon, .kmclub-bulk-empty-icon, .kmclub-semi-source-empty-icon, .kmclub-ai-trend-info-icon, .kmclub-ai-trend-empty-icon, .kmclub-bulk-source-connect-icon, .kmclub-shopee-connect-logo{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
            transform 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.36s ease,
            filter 0.36s ease;
}

.kmclub-kpi-icon::before, .kmclub-shopee-status-icon::before, .kmclub-ai-trend-info-icon::before, .kmclub-ai-trend-empty-icon::before, .kmclub-bulk-source-connect-icon::before, .kmclub-shopee-connect-logo::before{
    content: "";
    position: absolute;
    inset: -38%;
    z-index: -1;
    background:
            conic-gradient(
                    from 180deg,
                    rgba(255, 255, 255, 0),
                    rgba(255, 255, 255, 0.38),
                    rgba(255, 255, 255, 0));
    animation: kmclub-dashboard-icon-aurora 4.8s linear infinite;
}

.kmclub-kpi-card:hover .kmclub-kpi-icon, .kmclub-shopee-status-card:hover .kmclub-shopee-status-icon, .kmclub-ai-trend-info-panel:hover .kmclub-ai-trend-info-icon, .kmclub-ai-trend-empty-panel:hover .kmclub-ai-trend-empty-icon, .kmclub-bulk-source-connect-panel:hover .kmclub-bulk-source-connect-icon, .kmclub-shopee-connect-action:hover .kmclub-shopee-connect-logo{
    transform: translateY(-3px) rotate(-2deg) scale(1.06);
    filter: brightness(1.04);
}

.kmclub-kpi-value, .kmclub-kpi-value-small, .kmclub-order-summary-card strong, .kmclub-margin-summary-card strong, .kmclub-bulk-source-summary-card strong, .kmclub-ai-trend-summary-card strong, .kmclub-market-score{
    transition:
            transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
            letter-spacing 0.34s ease,
            filter 0.34s ease;
}

.kmclub-kpi-card:hover .kmclub-kpi-value, .kmclub-kpi-card:hover .kmclub-kpi-value-small, .kmclub-order-summary-card:hover strong, .kmclub-margin-summary-card:hover strong, .kmclub-bulk-source-summary-card:hover strong, .kmclub-ai-trend-summary-card:hover strong, .kmclub-market-item:hover .kmclub-market-score{
    transform: translateY(-2px) scale(1.035);
    letter-spacing: -0.075em;
    filter: brightness(1.03);
}

.kmclub-kpi-pill, .kmclub-kpi-detail, .kmclub-market-pill, .kmclub-shopee-status-badge, .kmclub-bulk-country-badge, .kmclub-bulk-source-connect-badge, .kmclub-ai-trend-connect-badge, .kmclub-ai-trend-empty-badge, .kmclub-semi-source-status-badge, .kmclub-semi-source-selected-count, .kmclub-pricing-recommend-badge, .kmclub-pricing-plan-label, .kmclub-pricing-eyebrow, .kmclub-pricing-price-box em{
    position: relative;
    overflow: hidden;
    transition:
            transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.28s ease,
            background 0.28s ease,
            border-color 0.28s ease;
}

.kmclub-kpi-pill::before, .kmclub-kpi-detail::before, .kmclub-market-pill::before, .kmclub-shopee-status-badge::before, .kmclub-bulk-country-badge::before, .kmclub-bulk-source-connect-badge::before, .kmclub-ai-trend-connect-badge::before, .kmclub-ai-trend-empty-badge::before, .kmclub-semi-source-status-badge::before, .kmclub-semi-source-selected-count::before, .kmclub-pricing-recommend-badge::before, .kmclub-pricing-price-box em::before{
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 48%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.58), transparent);
    transform: skewX(-18deg);
    opacity: 0;
}

.kmclub-kpi-card:hover .kmclub-kpi-pill, .kmclub-kpi-card:hover .kmclub-kpi-detail, .kmclub-market-card:hover .kmclub-market-pill, .kmclub-shopee-status-card:hover .kmclub-shopee-status-badge, .kmclub-bulk-country-card:hover .kmclub-bulk-country-badge, .kmclub-bulk-source-connect-panel:hover .kmclub-bulk-source-connect-badge, .kmclub-ai-trend-connect-panel:hover .kmclub-ai-trend-connect-badge, .kmclub-ai-trend-empty-panel:hover .kmclub-ai-trend-empty-badge, .kmclub-semi-source-usage-card:hover .kmclub-semi-source-status-badge, .kmclub-semi-source-manage-panel:hover .kmclub-semi-source-selected-count, .kmclub-pricing-card:hover .kmclub-pricing-plan-label, .kmclub-pricing-card:hover .kmclub-pricing-price-box em{
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(124, 108, 242, 0.12);
}

.kmclub-kpi-card:hover .kmclub-kpi-pill::before, .kmclub-kpi-card:hover .kmclub-kpi-detail::before, .kmclub-market-card:hover .kmclub-market-pill::before, .kmclub-shopee-status-card:hover .kmclub-shopee-status-badge::before, .kmclub-bulk-country-card:hover .kmclub-bulk-country-badge::before, .kmclub-bulk-source-connect-panel:hover .kmclub-bulk-source-connect-badge::before, .kmclub-ai-trend-connect-panel:hover .kmclub-ai-trend-connect-badge::before, .kmclub-ai-trend-empty-panel:hover .kmclub-ai-trend-empty-badge::before, .kmclub-semi-source-usage-card:hover .kmclub-semi-source-status-badge::before, .kmclub-semi-source-manage-panel:hover .kmclub-semi-source-selected-count::before, .kmclub-pricing-card:hover .kmclub-pricing-price-box em::before{
    opacity: 1;
    animation: kmclub-dashboard-badge-shine 0.82s ease both;
}

.kmclub-pricing-discount-badge{
    transform-origin: 50% 58%;
    animation:
            kmclub-dashboard-badge-pop-in 0.82s cubic-bezier(0.22, 1, 0.36, 1) both,
            kmclub-dashboard-discount-float 3.6s ease-in-out 1s infinite;
}

.kmclub-pricing-discount-badge:hover{
    animation:
            kmclub-dashboard-discount-hover 0.88s cubic-bezier(0.22, 1, 0.36, 1) both,
            kmclub-dashboard-discount-float 3.6s ease-in-out 0.88s infinite;
}

.kmclub-pricing-discount-badge strong{
    animation: kmclub-dashboard-discount-number 2.8s ease-in-out infinite;
}

.kmclub-shopee-connect-action{
    position: relative;
    overflow: hidden;
    transform: translateY(0) scale(1);
    border-color: rgba(191, 219, 254, 0.98);
    box-shadow:
            0 16px 36px rgba(124, 108, 242, 0.10),
            inset 0 1px 0 rgba(255, 255, 255, 0.90);
    animation: kmclub-dashboard-connect-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-shopee-connect-action::before{
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background:
            radial-gradient(circle,
            rgba(124, 108, 242, 0.20),
            rgba(169, 156, 248, 0.08) 48%,
            transparent 70%);
    transition: 0.42s ease;
    pointer-events: none;
}

.kmclub-shopee-connect-action::after{
    content: "";
    position: absolute;
    top: 0;
    left: -70%;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.68), transparent);
    transform: skewX(-18deg);
    opacity: 0;
    pointer-events: none;
}

.kmclub-shopee-connect-action:hover{
    transform: translateY(-6px) scale(1.008);
    border-color: rgba(96, 165, 250, 0.98);
    box-shadow:
            0 28px 70px rgba(124, 108, 242, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.kmclub-shopee-connect-action:hover::before{
    transform: scale(1.18) translate(-8px, 8px);
}

.kmclub-shopee-connect-action:hover::after{
    opacity: 1;
    animation: kmclub-dashboard-card-shine 0.88s ease both;
}

.kmclub-shopee-connect-logo, .kmclub-ai-trend-empty-icon{
    animation: kmclub-dashboard-core-breathe 3.1s ease-in-out infinite;
}

.kmclub-ai-trend-empty-visual{
    isolation: isolate;
    animation: kmclub-dashboard-ai-visual-float 4.4s ease-in-out infinite;
}

.kmclub-ai-trend-empty-visual::before, .kmclub-ai-trend-empty-visual::after{
    content: "";
    position: absolute;
    z-index: 1;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7c6cf2, #a99cf8);
    box-shadow: 0 10px 24px rgba(124, 108, 242, 0.28);
}

.kmclub-ai-trend-empty-visual::before{
    top: 32px;
    right: 40px;
    animation: kmclub-dashboard-ai-orbit-dot-a 5.2s ease-in-out infinite;
}

.kmclub-ai-trend-empty-visual::after{
    left: 34px;
    bottom: 38px;
    width: 10px;
    height: 10px;
    background: linear-gradient(135deg, #8b5cf6, #a99cf8);
    animation: kmclub-dashboard-ai-orbit-dot-b 5.8s ease-in-out infinite;
}

.kmclub-ai-trend-empty-ring, .kmclub-bulk-source-connect-ring{
    animation: kmclub-dashboard-ring-spin 9s linear infinite;
}

.kmclub-ai-trend-empty-ring::before, .kmclub-bulk-source-connect-ring::before{
    content: "";
    position: absolute;
    top: -5px;
    left: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #a99cf8;
    box-shadow: 0 0 0 6px rgba(169, 156, 248, 0.14), 0 8px 18px rgba(169, 156, 248, 0.30);
    transform: translateX(-50%);
}

.kmclub-connection-card{
    position: relative;
    overflow: hidden;
    border-color: rgba(255, 255, 255, 0.14);
    background:
            radial-gradient(circle at top right, rgba(124, 108, 242, 0.28), transparent 42%),
            rgba(255, 255, 255, 0.075);
    box-shadow:
            0 16px 36px rgba(15, 23, 42, 0.24),
            inset 0 1px 0 rgba(255, 255, 255, 0.12);
    animation: kmclub-dashboard-connection-enter 0.68s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-connection-card::before{
    content: "";
    position: absolute;
    top: -70%;
    left: -80%;
    width: 70%;
    height: 240%;
    background: rgba(255, 255, 255, 0.10);
    transform: rotate(23deg);
    animation: kmclub-dashboard-connection-scan 5.4s ease-in-out infinite;
}

.kmclub-connection-card::after{
    content: "";
    position: absolute;
    right: -24px;
    bottom: -24px;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: rgba(239, 68, 68, 0.14);
    animation: kmclub-dashboard-connection-glow 2.6s ease-in-out infinite;
    pointer-events: none;
}

.kmclub-connection-dot{
    position: relative;
    animation: kmclub-dashboard-dot-breath 1.55s ease-in-out infinite;
}

.kmclub-connection-dot::after{
    content: "";
    position: absolute;
    inset: -8px;
    border: 1px solid rgba(239, 68, 68, 0.36);
    border-radius: 50%;
    animation: kmclub-dashboard-dot-ring 1.55s ease-out infinite;
}

.kmclub-connection-card.is-connected::after{
    background: rgba(34, 197, 94, 0.16);
}

.kmclub-connection-card.is-connected .kmclub-connection-dot{
    background: #22c55e;
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.16);
}

.kmclub-connection-card.is-connected .kmclub-connection-dot::after{
    border-color: rgba(34, 197, 94, 0.36);
}

.kmclub-rate-fill, .kmclub-market-fill, .kmclub-semi-source-progress-bar{
    position: relative;
    overflow: hidden;
    animation: kmclub-dashboard-progress-grow 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-rate-fill::after, .kmclub-market-fill::after, .kmclub-semi-source-progress-bar::after{
    content: "";
    position: absolute;
    top: 0;
    left: -42%;
    width: 38%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.50), transparent);
    transform: skewX(-18deg);
    animation: kmclub-dashboard-progress-shine 2.8s ease-in-out infinite;
}

.kmclub-chart-card{
    animation-delay: 0.18s;
}

.kmclub-chart-bar{
    transform-origin: bottom center;
    animation: kmclub-dashboard-bar-rise 0.88s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-chart-column:nth-child(1) .kmclub-chart-bar{ animation-delay: 0.08s; }
.kmclub-chart-column:nth-child(2) .kmclub-chart-bar{ animation-delay: 0.15s; }
.kmclub-chart-column:nth-child(3) .kmclub-chart-bar{ animation-delay: 0.22s; }
.kmclub-chart-column:nth-child(4) .kmclub-chart-bar{ animation-delay: 0.29s; }
.kmclub-chart-column:nth-child(5) .kmclub-chart-bar{ animation-delay: 0.36s; }
.kmclub-chart-column:nth-child(6) .kmclub-chart-bar{ animation-delay: 0.43s; }

.kmclub-pie-visual{
    transition:
            transform 0.44s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.44s ease,
            filter 0.44s ease;
    animation: kmclub-dashboard-pie-enter 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-chart-card:hover .kmclub-pie-visual{
    transform: rotate(-8deg) scale(1.045);
    box-shadow: 0 26px 58px rgba(124, 108, 242, 0.22);
    filter: saturate(1.06);
}

.kmclub-market-card{
    overflow: hidden;
    transition:
            transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 0.42s ease,
            filter 0.42s ease;
}

.kmclub-market-card::after{
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 36%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
    transform: skewX(-18deg);
    animation: kmclub-dashboard-market-shine 6.2s ease-in-out infinite;
}

.kmclub-market-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 38px 92px rgba(15, 23, 42, 0.24);
    filter: saturate(1.04);
}

.kmclub-market-item{
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    transition:
            transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
            background 0.32s ease,
            border-color 0.32s ease,
            box-shadow 0.32s ease;
    animation: kmclub-dashboard-market-item-enter 0.68s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.kmclub-market-item:nth-child(1){ animation-delay: 0.04s; }
.kmclub-market-item:nth-child(2){ animation-delay: 0.08s; }
.kmclub-market-item:nth-child(3){ animation-delay: 0.12s; }
.kmclub-market-item:nth-child(4){ animation-delay: 0.16s; }
.kmclub-market-item:nth-child(5){ animation-delay: 0.20s; }
.kmclub-market-item:nth-child(6){ animation-delay: 0.24s; }
.kmclub-market-item:nth-child(7){ animation-delay: 0.28s; }
.kmclub-market-item:nth-child(8){ animation-delay: 0.32s; }

.kmclub-market-item:hover{
    transform: translateY(-7px) scale(1.018);
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.26);
    box-shadow: 0 20px 36px rgba(15, 23, 42, 0.20);
}

.kmclub-market-code{
    transition:
            transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
            background 0.32s ease,
            color 0.32s ease;
}

.kmclub-market-item:hover .kmclub-market-code{
    transform: translateY(-2px) scale(1.06);
    background: rgba(255, 255, 255, 0.20);
    color: #ffffff;
}

@keyframes kmclub-dashboard-shell-enter {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes kmclub-dashboard-header-enter {
    from { opacity: 0; transform: translateY(18px) scale(0.985); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes kmclub-dashboard-header-shine {
    0%, 60% { left: -48%; }
    82%, 100% { left: 128%; }
}

@keyframes kmclub-dashboard-section-enter {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes kmclub-dashboard-card-enter {
    from { opacity: 0; transform: translateY(24px) scale(0.972); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes kmclub-dashboard-card-shine {
    from { left: -74%; }
    to { left: 130%; }
}

@keyframes kmclub-dashboard-badge-shine {
    from { left: -80%; }
    to { left: 128%; }
}

@keyframes kmclub-dashboard-icon-aurora {
    to { transform: rotate(360deg); }
}

@keyframes kmclub-dashboard-refresh-pop {
    0% { transform: translateY(-3px) rotate(0deg) scale(1.015); }
    48% { transform: translateY(-3px) rotate(180deg) scale(1.08); }
    100% { transform: translateY(-3px) rotate(360deg) scale(1.015); }
}

@keyframes kmclub-dashboard-ambient-drift {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(-28px, 22px, 0) scale(1.08); }
}

@keyframes kmclub-dashboard-ambient-drift-reverse {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(24px, -20px, 0) scale(1.06); }
}

@keyframes kmclub-dashboard-badge-pop-in {
    from { opacity: 0; transform: translateY(18px) scale(0.78) rotate(-9deg); }
    to { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }
}

@keyframes kmclub-dashboard-discount-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-7px) rotate(1.5deg); }
}

@keyframes kmclub-dashboard-discount-hover {
    0% { transform: translateY(0) scale(1) rotate(0deg); }
    44% { transform: translateY(-8px) scale(1.06) rotate(-2deg); }
    100% { transform: translateY(-4px) scale(1.025) rotate(1deg); }
}

@keyframes kmclub-dashboard-discount-number {
    0%, 100% { transform: scale(1); filter: brightness(1); }
    50% { transform: scale(1.045); filter: brightness(1.08); }
}

@keyframes kmclub-dashboard-connect-enter {
    from { opacity: 0; transform: translateY(18px) scale(0.982); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes kmclub-dashboard-core-breathe {
    0%, 100% { box-shadow: 0 18px 36px rgba(124, 108, 242, 0.24); }
    50% { box-shadow: 0 24px 50px rgba(124, 108, 242, 0.34); }
}

@keyframes kmclub-dashboard-ai-visual-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes kmclub-dashboard-ai-orbit-dot-a {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.88; }
    50% { transform: translate3d(-20px, 16px, 0) scale(1.16); opacity: 1; }
}

@keyframes kmclub-dashboard-ai-orbit-dot-b {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.82; }
    50% { transform: translate3d(24px, -18px, 0) scale(1.18); opacity: 1; }
}

@keyframes kmclub-dashboard-ring-spin {
    to { transform: rotate(360deg); }
}

@keyframes kmclub-dashboard-connection-enter {
    from { opacity: 0; transform: translateY(14px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes kmclub-dashboard-connection-scan {
    0%, 62% { left: -80%; }
    86%, 100% { left: 132%; }
}

@keyframes kmclub-dashboard-connection-glow {
    0%, 100% { transform: scale(1); opacity: 0.75; }
    50% { transform: scale(1.16); opacity: 1; }
}

@keyframes kmclub-dashboard-dot-breath {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(0.80); opacity: 0.78; }
}

@keyframes kmclub-dashboard-dot-ring {
    from { transform: scale(0.72); opacity: 0.64; }
    to { transform: scale(1.55); opacity: 0; }
}

@keyframes kmclub-dashboard-progress-grow {
    from { transform: scaleX(0); transform-origin: left center; }
    to { transform: scaleX(1); transform-origin: left center; }
}

@keyframes kmclub-dashboard-progress-shine {
    0%, 52% { left: -42%; }
    80%, 100% { left: 122%; }
}

@keyframes kmclub-dashboard-bar-rise {
    from { transform: scaleY(0); opacity: 0.35; }
    to { transform: scaleY(1); opacity: 1; }
}

@keyframes kmclub-dashboard-pie-enter {
    from { transform: scale(0.82) rotate(-18deg); opacity: 0; filter: blur(8px); }
    to { transform: scale(1) rotate(0deg); opacity: 1; filter: blur(0); }
}

@keyframes kmclub-dashboard-market-shine {
    0%, 64% { left: -60%; }
    88%, 100% { left: 130%; }
}

@keyframes kmclub-dashboard-market-item-enter {
    from { opacity: 0; transform: translateY(18px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media screen and (max-width: 1280px) {
    .kmclub-dashboard-header{
        display: block;
    }

    .kmclub-dashboard-controls{
        margin-top: 18px;
        justify-content: flex-start;
    }

    .kmclub-kpi-row-main, .kmclub-kpi-row-sub, .kmclub-shopee-status-grid, .kmclub-order-summary-grid, .kmclub-margin-summary-grid, .kmclub-bulk-source-summary-grid, .kmclub-ai-trend-summary-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 760px) {
    .kmclub-global-dashboard{
        padding: 16px;
    }

    .kmclub-dashboard-header{
        padding: 22px 18px;
        border-radius: 24px;
    }

    .kmclub-dashboard-header::after{
        display: none;
    }

    .kmclub-dashboard-title-area h1{
        font-size: 30px;
    }

    .kmclub-dashboard-controls{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .kmclub-period-select, .kmclub-currency-toggle, .kmclub-report-button, .kmclub-refresh-button{
        width: 100%;
    }

    .kmclub-kpi-row-main, .kmclub-kpi-row-sub, .kmclub-chart-grid, .kmclub-market-grid, .kmclub-shopee-status-grid, .kmclub-order-summary-grid, .kmclub-margin-summary-grid, .kmclub-bulk-source-summary-grid, .kmclub-ai-trend-summary-grid{
        grid-template-columns: 1fr;
    }

    .kmclub-shopee-connect-action, .kmclub-ai-trend-empty-panel, .kmclub-bulk-source-connect-panel{
        display: block;
        padding: 22px;
    }

    .kmclub-shopee-connect-logo, .kmclub-ai-trend-empty-visual, .kmclub-bulk-source-connect-visual{
        margin-bottom: 18px;
    }

    .kmclub-kpi-card:hover, .kmclub-chart-card:hover, .kmclub-market-card:hover, .kmclub-shopee-status-card:hover, .kmclub-order-summary-card:hover, .kmclub-margin-summary-card:hover, .kmclub-bulk-source-summary-card:hover, .kmclub-ai-trend-summary-card:hover{
        transform: translateY(-4px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .kmclub-global-dashboard, .kmclub-global-dashboard::before, .kmclub-global-dashboard::after, .kmclub-global-shell, .kmclub-dashboard-header, .kmclub-dashboard-header::before, .kmclub-kpi-row-main, .kmclub-kpi-row-sub, .kmclub-chart-grid, .kmclub-market-card, .kmclub-shopee-status-grid, .kmclub-order-summary-grid, .kmclub-margin-summary-grid, .kmclub-bulk-source-summary-grid, .kmclub-ai-trend-summary-grid, .kmclub-kpi-card, .kmclub-chart-card, .kmclub-shopee-status-card, .kmclub-order-summary-card, .kmclub-margin-summary-card, .kmclub-bulk-source-summary-card, .kmclub-ai-trend-summary-card, .kmclub-campaign-info-card, .kmclub-semi-source-usage-card, .kmclub-semi-source-extension-card, .kmclub-bulk-source-connect-panel, .kmclub-ai-trend-empty-panel, .kmclub-kpi-icon, .kmclub-shopee-status-icon, .kmclub-ai-trend-info-icon, .kmclub-ai-trend-empty-icon, .kmclub-bulk-source-connect-icon, .kmclub-shopee-connect-logo, .kmclub-pricing-discount-badge, .kmclub-shopee-connect-action, .kmclub-ai-trend-empty-visual, .kmclub-ai-trend-empty-visual::before, .kmclub-ai-trend-empty-visual::after, .kmclub-ai-trend-empty-ring, .kmclub-bulk-source-connect-ring, .kmclub-connection-card, .kmclub-connection-card::before, .kmclub-connection-card::after, .kmclub-connection-dot, .kmclub-connection-dot::after, .kmclub-rate-fill, .kmclub-market-fill, .kmclub-semi-source-progress-bar, .kmclub-chart-bar, .kmclub-pie-visual, .kmclub-market-item{
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}



/* =========================================================
   셀러플로우 사이드바 정리본
   - 이 블록은 style.css 가장 마지막에 둡니다.
   - 기존 사이드바 CSS를 안전하게 덮어쓰기 위한 최종 오버라이드입니다.
========================================================= */

:root{
    --kmclub-sidebar-width: 270px;
    --kmclub-sidebar-collapsed-width: 76px;
    --kmclub-sidebar-blue: #7c6cf2;
    --kmclub-sidebar-blue-soft: #f2efff;
    --kmclub-sidebar-text: #344054;
    --kmclub-sidebar-muted: #8a94a6;
    --kmclub-sidebar-line: #e5e9f0;
}

.kmclub-admin-layout{
    min-height: 100vh !important;
}

.kmclub-sidebar{
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;

    width: var(--kmclub-sidebar-width) !important;
    padding: 18px 14px !important;

    flex-direction: column !important;

    color: var(--kmclub-sidebar-text) !important;
    background: #ffffff !important;
    border-right: 1px solid var(--kmclub-sidebar-line) !important;
    box-shadow: none !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    transition: width 0.2s ease, transform 0.2s ease !important;
}

.kmclub-sidebar-logo{
    position: relative !important;
    display: flex !important;
    min-height: 66px !important;
    margin: 0 0 16px !important;
    padding: 8px 42px 14px 8px !important;

    align-items: center !important;
    gap: 12px !important;

    border-bottom: 1px solid var(--kmclub-sidebar-line) !important;
}

.kmclub-sidebar-logo-image-box{
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
}

.kmclub-sidebar-logo-image-box a{
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

.kmclub-sidebar-logo-image{
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
}

.kmclub-sidebar-logo-text{
    min-width: 0 !important;
    transition: opacity 0.15s ease !important;
}

.kmclub-sidebar-logo-text strong{
    display: block !important;
    color: #182230 !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.035em !important;
}

.kmclub-sidebar-logo-text span{
    display: block !important;
    margin-top: 5px !important;
    overflow: hidden !important;
    color: var(--kmclub-sidebar-muted) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kmclub-sidebar-toggle-button{
    position: absolute !important;
    top: 12px !important;
    right: 4px !important;
    z-index: 11 !important;

    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;

    border: 1px solid var(--kmclub-sidebar-line) !important;
    border-radius: 8px !important;

    color: #667085 !important;
    background: #ffffff !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-shadow: none !important;
    cursor: pointer !important;

    transition:
            color 0.15s ease,
            border-color 0.15s ease,
            background-color 0.15s ease !important;
}

.kmclub-sidebar-toggle-button:hover{
    color: var(--kmclub-sidebar-blue) !important;
    border-color: #b8c6e8 !important;
    background: #f8faff !important;
}

.kmclub-sidebar-toggle-button svg{
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    max-width: none !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    transition: transform 0.2s ease !important;
}

/* 기존 햄버거 span/X 변환 코드 무효화 */
.kmclub-sidebar-toggle-button span{
    display: none !important;
}

.kmclub-sidebar-group-title{
    display: flex !important;
    height: 30px !important;
    margin: 0 0 7px !important;
    padding: 0 12px !important;

    align-items: center !important;
    justify-content: space-between !important;

    color: #98a2b3 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.kmclub-sidebar-group-title span:last-child{
    display: none !important;
}

.kmclub-sidebar-nav{
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.kmclub-sidebar-link{
    position: relative !important;
    display: flex !important;

    min-height: 48px !important;
    padding: 0 12px !important;

    align-items: center !important;
    gap: 12px !important;

    color: var(--kmclub-sidebar-text) !important;
    background: transparent !important;
    border-radius: 8px !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    box-shadow: none !important;
    transform: none !important;

    transition:
            color 0.15s ease,
            background-color 0.15s ease !important;
}

.kmclub-sidebar-link:hover{
    color: #182230 !important;
    background: #f5f7fa !important;
    transform: none !important;
}

.kmclub-sidebar-link.active{
    color: var(--kmclub-sidebar-blue) !important;
    background: var(--kmclub-sidebar-blue-soft) !important;
    box-shadow: none !important;
}

.kmclub-sidebar-link.active::before{
    content: "" !important;
    position: absolute !important;
    top: 11px !important;
    bottom: 11px !important;
    left: 0 !important;
    width: 3px !important;
    border-radius: 0 4px 4px 0 !important;
    background: var(--kmclub-sidebar-blue) !important;
}

.kmclub-sidebar-icon{
    display: inline-flex !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex: 0 0 24px !important;

    align-items: center !important;
    justify-content: center !important;

    color: #667085 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

.kmclub-sidebar-icon svg{
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    max-width: none !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.kmclub-sidebar-link:hover .kmclub-sidebar-icon{
    color: #344054 !important;
    background: transparent !important;
}

.kmclub-sidebar-link.active .kmclub-sidebar-icon{
    color: var(--kmclub-sidebar-blue) !important;
    background: transparent !important;
}

.kmclub-sidebar-text{
    min-width: 0 !important;
    overflow: hidden !important;
    flex: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.kmclub-sidebar-badge{
    display: inline-flex !important;
    height: 22px !important;
    padding: 0 7px !important;

    align-items: center !important;

    color: #475467 !important;
    background: #f2f4f7 !important;
    border: 0 !important;
    border-radius: 6px !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.kmclub-sidebar-bottom{
    margin-top: auto !important;
    padding-top: 18px !important;
}

.kmclub-upgrade-card{
    display: block !important;
    padding: 14px !important;

    color: #344054 !important;
    background: #f8f9fb !important;
    border: 1px solid var(--kmclub-sidebar-line) !important;
    border-radius: 9px !important;

    box-shadow: none !important;
    transform: none !important;
}

.kmclub-upgrade-card:hover{
    color: var(--kmclub-sidebar-blue) !important;
    border-color: #b8c6e8 !important;
    background: #f8faff !important;
    box-shadow: none !important;
    transform: none !important;
}

.kmclub-upgrade-card strong{
    display: block !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em !important;
}

.kmclub-upgrade-card span{
    display: block !important;
    margin-top: 4px !important;
    color: #8a94a6 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.kmclub-connection-card{
    margin-top: 10px !important;
    padding: 13px 14px !important;

    background: #ffffff !important;
    border: 1px solid var(--kmclub-sidebar-line) !important;
    border-radius: 9px !important;

    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
}

.kmclub-connection-row{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    color: #475467 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.kmclub-connection-dot{
    width: 8px !important;
    height: 8px !important;
    background: #f04438 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    animation: none !important;
}

.kmclub-connection-status{
    margin-top: 5px !important;
    color: #98a2b3 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* 본문 */
.kmclub-main-area{
    width: calc(100% - var(--kmclub-sidebar-width)) !important;
    min-width: 0 !important;
    margin-left: var(--kmclub-sidebar-width) !important;
    padding-left: 0 !important;

    transition:
            width 0.2s ease,
            margin-left 0.2s ease !important;
}

.site_header_nav{
    padding-left: 0 !important;
}

/* 접힘 상태 */
.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar{
    width: var(--kmclub-sidebar-collapsed-width) !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
    width: calc(100% - var(--kmclub-sidebar-collapsed-width)) !important;
    margin-left: var(--kmclub-sidebar-collapsed-width) !important;
    padding-left: 0 !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo{
    min-height: 64px !important;
    padding: 8px 0 14px !important;
    justify-content: center !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-image-box{
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-image{
    width: 38px !important;
    height: 38px !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-group-title, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-badge, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-bottom{
    display: none !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-link{
    min-height: 48px !important;
    padding: 0 !important;
    justify-content: center !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-link.active::before{
    top: 10px !important;
    bottom: 10px !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-icon{
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex-basis: 24px !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button{
    top: 0 !important;
    right: 20px !important;
    width: 34px !important;
    height: 34px !important;
    color: #667085 !important;
    background: #ffffff !important;
    border-color: var(--kmclub-sidebar-line) !important;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08) !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button svg{
    transform: rotate(180deg) !important;
}

/* 푸터 */
.site_footer_inner{
    padding-left: calc(var(--kmclub-sidebar-width) + 28px) !important;
}

.kmclub-admin-layout.sidebar-collapsed ~ .site_footer .site_footer_inner, .kmclub-admin-layout.sidebar-collapsed .site_footer_inner{
    padding-left: calc(var(--kmclub-sidebar-collapsed-width) + 28px) !important;
}

/* 모바일 상단바 */
.kmclub-mobile-topbar{
    display: none !important;
}

.kmclub-mobile-button{
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;

    border: 1px solid var(--kmclub-sidebar-line) !important;
    border-radius: 8px !important;

    color: #344054 !important;
    background: #ffffff !important;

    align-items: center !important;
    justify-content: center !important;
}

.kmclub-mobile-button svg{
    width: 21px !important;
    height: 21px !important;
    max-width: none !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
}

@media (max-width: 980px) {
    .kmclub-sidebar{
        width: var(--kmclub-sidebar-width) !important;
        transform: translateX(-100%) !important;
    }

    .kmclub-admin-layout.sidebar-open .kmclub-sidebar{
        transform: translateX(0) !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar{
        width: var(--kmclub-sidebar-width) !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-group-title, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-text, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-badge, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-bottom{
        display: initial !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo-text{
        display: block !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-group-title{
        display: flex !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-bottom{
        display: block !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-link{
        padding: 0 12px !important;
        justify-content: flex-start !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button{
        top: 12px !important;
        right: 4px !important;
        box-shadow: none !important;
    }

    .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button svg{
        transform: none !important;
    }

    .kmclub-main-area, .kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .kmclub-mobile-topbar{
        position: sticky !important;
        top: 0 !important;
        z-index: 900 !important;

        display: flex !important;
        min-height: 60px !important;
        padding: 10px 16px !important;

        align-items: center !important;
        gap: 12px !important;

        background: rgba(255, 255, 255, 0.96) !important;
        border-bottom: 1px solid var(--kmclub-sidebar-line) !important;
        backdrop-filter: blur(8px) !important;
    }

    .kmclub-mobile-button{
        display: inline-flex !important;
    }

    .kmclub-mobile-brand{
        color: #182230 !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        letter-spacing: -0.025em !important;
    }

    .site_footer_inner, .kmclub-admin-layout.sidebar-collapsed .site_footer_inner{
        padding-left: 16px !important;
    }
}

/* 상품 등록 하위 메뉴 */
.kmclub-sidebar-menu-group{
    width: 100%;
}

.kmclub-sidebar-submenu{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 4px 0 10px 40px;
    padding: 2px 8px 2px 14px;
    border-left: 1px solid #dbe3ef;
}

.kmclub-sidebar-sublink{
    position: relative;
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 10px;
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 6px;
    transition:
            color 0.15s ease,
            background-color 0.15s ease;
}

.kmclub-sidebar-sublink:hover{
    color: #7c6cf2;
    background-color: #f8f6ff;
}

/* 현재 하위 메뉴 */
.kmclub-sidebar-sublink.active{
    color: #7c6cf2;
    font-weight: 700;
    background-color: transparent;
}

/* 현재 메뉴 위치 표시 */
.kmclub-sidebar-sublink.active::before{
    content: "";
    position: absolute;
    top: 50%;
    left: -15px;
    width: 2px;
    height: 20px;
    background-color: #7c6cf2;
    border-radius: 2px;
    transform: translateY(-50%);
}

/* ========================================
   사이드바 부드러운 접기/펼치기
======================================== */

.kmclub-sidebar{
    position: relative;
    transition:
            width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
            min-width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.kmclub-main-area{
    transition:
            width 0.25s cubic-bezier(0.4, 0, 0.2, 1),
            margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 글자와 부가 요소도 자연스럽게 표시 */
.kmclub-sidebar-logo-text, .kmclub-sidebar-text, .kmclub-sidebar-badge, .kmclub-sidebar-group-title, .kmclub-sidebar-bottom{
    opacity: 1;
    visibility: visible;
    transition:
            opacity 0.15s ease 0.08s,
            visibility 0.15s ease 0.08s,
            transform 0.2s ease;
}

/* 접혔을 때 글자 숨김 */
.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-logo-text, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-text, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-badge, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-group-title, .kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-bottom{
    opacity: 0;
    visibility: hidden;
    transform: translateX(-6px);
    transition:
            opacity 0.1s ease,
            visibility 0.1s ease,
            transform 0.1s ease;
}

/* 하위 메뉴 */
.kmclub-sidebar-submenu{
    opacity: 1;
    visibility: visible;
    transition:
            opacity 0.15s ease 0.08s,
            visibility 0.15s ease 0.08s;
}

.kmclub-admin-layout.sidebar-collapsed
.kmclub-sidebar-submenu{
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
            opacity 0.08s ease,
            visibility 0.08s ease;
}
/* =====================================================================
   SELLERFLOW — LAVENDER COMPLETE REBUILD
   이 블록이 관리자 화면의 최종 디자인을 담당합니다.
   기존 style_v2.css는 불러오지 않습니다.
===================================================================== */

:root{
    --ui-primary: #7c6cf2;
    --ui-primary-hover: #6959df;
    --ui-primary-dark: #5949cf;
    --ui-primary-soft: #f1eeff;
    --ui-primary-soft-2: #f8f6ff;
    --ui-primary-border: #dcd6ff;

    --ui-bg: #f6f4fb;
    --ui-sidebar: #f9f8ff;
    --ui-white: #ffffff;
    --ui-border: #e8e4f0;
    --ui-border-strong: #d9d4e2;

    --ui-text: #1e1f29;
    --ui-sub: #686a79;
    --ui-muted: #999baa;

    --ui-success: #15966f;
    --ui-success-soft: #eaf8f3;
    --ui-warning: #c98213;
    --ui-warning-soft: #fff7e7;
    --ui-danger: #dc4545;
    --ui-danger-soft: #fff0f0;

    --ui-sidebar-width: 228px;
    --ui-sidebar-folded: 72px;
    --ui-header-height: 68px;

    --ui-radius-sm: 8px;
    --ui-radius-md: 12px;
    --ui-radius-lg: 18px;

    --ui-shadow: 0 8px 28px rgba(58, 47, 111, 0.045);
}

/* ---------- BASE ---------- */
html, body{
    min-width: 320px;
    margin: 0 !important;
    overflow-x: hidden;
    color: var(--ui-text) !important;
    background: var(--ui-bg) !important;
}

body, button, input, select, textarea{
    font-family: "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: -0.018em;
}

body{
    font-size: 14px;
    line-height: 1.5;
}

::selection{
    color: #fff;
    background: rgba(124, 108, 242, 0.88);
}

.kmclub-admin-layout{
    min-height: 100vh;
    background: var(--ui-bg) !important;
}

.kmclub-main-area{
    width: auto !important;
    min-width: 0 !important;
    margin-left: var(--ui-sidebar-width) !important;
    padding-left: 0 !important;
    background: var(--ui-bg) !important;
    transition: margin-left .2s ease !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
    margin-left: var(--ui-sidebar-folded) !important;
    padding-left: 0 !important;
}

.site_section, .site_section_inner{
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: var(--ui-bg) !important;
    background-image: none !important;
}

.site_section_inner{
    min-height: calc(100vh - var(--ui-header-height));
    padding: 0 !important;
}

/* ---------- SIDEBAR ---------- */
.kmclub-sidebar{
    position: fixed !important;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    display: flex;
    width: var(--ui-sidebar-width) !important;
    padding: 18px 14px 16px !important;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    color: var(--ui-sub) !important;
    background: var(--ui-sidebar) !important;
    background-image: none !important;
    border-right: 1px solid var(--ui-border) !important;
    box-shadow: none !important;
    transition: width .2s ease, padding .2s ease !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar{
    width: var(--ui-sidebar-folded) !important;
    padding-right: 9px !important;
    padding-left: 9px !important;
}

.kmclub-sidebar-logo{
    position: relative;
    display: flex;
    min-height: 62px;
    margin: 0 0 18px !important;
    padding: 6px 36px 16px 4px !important;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--ui-border) !important;
}

.kmclub-sidebar-logo-image-box{
    display: flex;
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 10px;
}

.kmclub-sidebar-logo-image{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kmclub-sidebar-logo-text{
    min-width: 0;
}

.kmclub-sidebar-logo-text strong{
    display: block;
    overflow: hidden;
    color: #171821 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.045em !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kmclub-sidebar-logo-text span{
    display: block;
    overflow: hidden;
    margin-top: 4px !important;
    color: var(--ui-muted) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kmclub-sidebar-group-title{
    display: none !important;
}

.kmclub-sidebar-nav{
    display: flex;
    flex-direction: column;
    gap: 5px !important;
}

.kmclub-sidebar-link{
    position: relative;
    display: flex;
    min-height: 42px !important;
    padding: 0 11px !important;
    align-items: center;
    gap: 8px !important;
    color: #535665 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    transform: none !important;
    transition: color .15s ease, background-color .15s ease !important;
}

.kmclub-sidebar-link:hover{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    transform: none !important;
}

.kmclub-sidebar-link.active, .kmclub-sidebar-parent-link.active, .kmclub-sidebar-menu-group.active > .kmclub-sidebar-parent-link{
    color: #fff !important;
    background: var(--ui-primary) !important;
    background-image: none !important;
    box-shadow: 0 8px 18px rgba(124, 108, 242, .18) !important;
}

/* 사이드바 아이콘만 작고 단색으로 유지 */
.kmclub-sidebar-icon{
    display: inline-flex;
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px;
    align-items: center;
    justify-content: center;
    color: #777a88 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.kmclub-sidebar-icon svg{
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kmclub-sidebar-link:hover .kmclub-sidebar-icon{
    color: var(--ui-primary) !important;
}

.kmclub-sidebar-link.active .kmclub-sidebar-icon, .kmclub-sidebar-parent-link.active .kmclub-sidebar-icon{
    color: #fff !important;
}

.kmclub-sidebar-submenu{
    display: none !important;
    margin: 4px 0 8px 29px !important;
    padding: 2px 0 3px 11px !important;
    border-left: 1px solid var(--ui-primary-border) !important;
}

.kmclub-sidebar-menu-group.active > .kmclub-sidebar-submenu{
    display: block !important;
}

.kmclub-sidebar-sublink{
    display: flex;
    min-height: 34px;
    padding: 7px 9px;
    align-items: center;
    color: #737685 !important;
    background: transparent !important;
    border-radius: 8px;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.kmclub-sidebar-sublink:hover, .kmclub-sidebar-sublink.active{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
}

.kmclub-sidebar-bottom{
    margin-top: auto !important;
    padding: 14px 3px 0 !important;
    border-top: 1px solid var(--ui-border) !important;
}

.kmclub-connection-card{
    display: block;
    margin: 0 !important;
    padding: 12px !important;
    background: #fff !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 11px !important;
    box-shadow: none !important;
}

.kmclub-connection-card:hover{
    background: var(--ui-primary-soft-2) !important;
    border-color: var(--ui-primary-border) !important;
}

.kmclub-connection-row{
    color: var(--ui-sub) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

.kmclub-connection-dot{
    width: 7px !important;
    height: 7px !important;
    background: #c9cbd4 !important;
    box-shadow: none !important;
}

.kmclub-connection-card.is-connected .kmclub-connection-dot{
    background: var(--ui-success) !important;
}

.kmclub-connection-status{
    margin-top: 5px !important;
    color: var(--ui-muted) !important;
    font-size: 13px !important;
}

.kmclub-sidebar-toggle-button{
    position: absolute !important;
    top: 9px !important;
    right: 0 !important;
    display: inline-flex;
    width: 29px !important;
    height: 29px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    color: var(--ui-muted) !important;
    background: #fff !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

.kmclub-sidebar-toggle-button:hover{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-primary-border) !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-logo{
    min-height: 91px;
    padding: 6px 0 40px !important;
    justify-content: center;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-toggle-button{
    top: 0 !important;
    right: 50% !important;
    left: auto !important;
    transform: translateX(50%) !important;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-link{
    padding: 0 !important;
    justify-content: center;
}

.kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar-submenu{
    display: none !important;
}

/* ---------- HEADER ---------- */
.site_header{
    position: sticky !important;
    top: 0;
    z-index: 80 !important;
    width: 100%;
    height: var(--ui-header-height);
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px);
}

.site_header_inner{
    width: 100%;
    padding: 0 26px !important;
}

.site_header_nav, .kmclub-admin-topbar{
    display: flex;
    width: 100%;
    min-height: var(--ui-header-height) !important;
    height: var(--ui-header-height) !important;
    align-items: center;
    gap: 12px !important;
}

.kmclub-admin-topbar-left{
    display: none !important;
}

.site_header_right, .kmclub-admin-topbar-right{
    display: flex !important;
    width: 100% !important;
    min-width: 0;
    margin-left: 0 !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
}

.kmclub-sync-summary{
    display: flex !important;
    min-width: 0;
    margin-right: 4px;
    align-items: center;
    gap: 6px !important;
    color: var(--ui-muted) !important;
    font-size: 13px !important;
    white-space: nowrap;
}

.kmclub-sync-summary strong{
    color: var(--ui-sub) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

.kmclub-sync-dot{
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px;
    background: #c9cbd4 !important;
    border-radius: 50%;
}

.kmclub-sync-summary.is-connected .kmclub-sync-dot{
    background: var(--ui-success) !important;
}

.kmclub-sync-button, .kmclub-connection-button, .site_header_logout_button{
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    flex: 0 0 auto !important;
    align-items: center;
    justify-content: center;
    gap: 6px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform: none !important;
}

.kmclub-sync-button{
    color: #fff !important;
    background: var(--ui-primary) !important;
    background-image: none !important;
    border: 1px solid var(--ui-primary) !important;
}

.kmclub-sync-button:hover{
    background: var(--ui-primary-hover) !important;
    border-color: var(--ui-primary-hover) !important;
}

.kmclub-sync-button:disabled{
    color: #fff !important;
    background: #d0d1d8 !important;
    border-color: #d0d1d8 !important;
}

.kmclub-sync-button svg{
    display: block !important;
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    flex: 0 0 14px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
}

.kmclub-connection-button, .site_header_logout_button{
    color: var(--ui-sub) !important;
    background: #fff !important;
    border: 1px solid var(--ui-border) !important;
}

.kmclub-connection-button:hover, .site_header_logout_button:hover{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-primary-border) !important;
}

/* ---------- COMMON FORMS / BUTTONS ---------- */
input[type="text"], input[type="number"], input[type="email"], input[type="password"], input[type="search"], select, textarea, .kmclub-page-select, .kmclub-period-select, .shopee_publish_select, .shopee_publish_input, .shopee_publish_textarea, .shopee_price_input{
    color: var(--ui-text) !important;
    background: #fff !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

input:focus, select:focus, textarea:focus{
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(124,108,242,.11) !important;
    outline: none !important;
}

.kmclub-page-report-button, .kmclub-page-refresh-button, .kmclub-report-button, .kmclub-refresh-button, .shopee_product_publish_btn, .shopee_publish_submit, .kmclub-shopee-connect-button{
    color: #fff !important;
    background: var(--ui-primary) !important;
    background-image: none !important;
    border: 1px solid var(--ui-primary) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transform: none !important;
}

.kmclub-page-report-button:hover, .kmclub-page-refresh-button:hover, .kmclub-report-button:hover, .kmclub-refresh-button:hover, .shopee_product_publish_btn:hover, .shopee_publish_submit:hover, .kmclub-shopee-connect-button:hover{
    background: var(--ui-primary-hover) !important;
    border-color: var(--ui-primary-hover) !important;
    transform: none !important;
}

/* ---------- DASHBOARD: TYPOGRAPHY-LED, DECORATIVE ICONS REMOVED ---------- */












/* 모든 대시보드 장식용 아이콘 박스 제거 */


/* 카드 */




/* 기존 KPI 구조와 신규 KPI 구조를 함께 지원 */
















/* 알림은 낮고 단순하게 */










/* 작은 현황 카드: 아이콘 없이 제목/숫자 중심 */
















/* 메인 차트 + 할 일 */






















/* 오늘 할 일: 아이콘 없이 목록 */










/* 하단 */




















/* ---------- OTHER ADMIN PAGES ---------- */
.shopee_product_table_wrap, .shopee_price_table_box, .kmclub-shopee-status-card, .kmclub-shopee-connect-box, .kmclub-shopee-guide-box, .shopee_publish_header, .shopee_publish_section, .shopee_publish_submit_box{
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: var(--ui-shadow) !important;
}

.shopee_product_table_head th, .shopee_price_table th{
    color: var(--ui-sub) !important;
    background: #faf9fd !important;
    border-bottom-color: var(--ui-border) !important;
}

.shopee_product_table_body tr:hover{
    background: var(--ui-primary-soft-2) !important;
}

.shopee_product_publish_btn{
    min-width: 88px !important;
    height: 38px !important;
}

.pagination_list{
    background: #fff !important;
    border-color: var(--ui-border) !important;
    box-shadow: none !important;
}

.pagination_link:hover{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-primary-border) !important;
}

.pagination_link_active, .pagination_item_active .pagination_link, .shopee_product_pager strong, .shopee_product_pager .active{
    color: #fff !important;
    background: var(--ui-primary) !important;
    border-color: var(--ui-primary) !important;
    box-shadow: none !important;
}

.kmclub-shopee-status-icon, .kmclub-shopee-connect-logo{
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    background-image: none !important;
}

.kmclub-shopee-connect-logo{
    color: #fff !important;
    background: var(--ui-primary) !important;
}

/* 관리자에서는 푸터 숨김: 레퍼런스처럼 업무 화면에 집중 */
.kmclub-admin-layout + .site_footer{
    display: none !important;
}

/* ---------- RESPONSIVE ---------- */
@media screen and (max-width: 1280px) {




    .kmclub-sync-summary span:last-child{
        display: none !important;
    }
}

@media screen and (max-width: 980px) {
    .kmclub-main-area, .kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .kmclub-sidebar, .kmclub-admin-layout.sidebar-collapsed .kmclub-sidebar{
        width: min(82vw, 280px) !important;
        padding: 15px !important;
        transform: translateX(-100%);
        transition: transform .2s ease !important;
    }

    .kmclub-admin-layout.sidebar-open .kmclub-sidebar{
        transform: translateX(0);
        box-shadow: 14px 0 36px rgba(45,36,87,.16) !important;
    }

    .kmclub-mobile-topbar{
        display: flex !important;
        min-height: 55px !important;
        color: var(--ui-text) !important;
        background: rgba(255,255,255,.97) !important;
        border-bottom: 1px solid var(--ui-border) !important;
    }

    .kmclub-mobile-button{
        color: var(--ui-primary) !important;
        background: var(--ui-primary-soft) !important;
        border: 1px solid var(--ui-primary-border) !important;
    }

    .site_header{
        position: relative !important;
        height: auto !important;
    }

    .site_header_nav, .kmclub-admin-topbar{
        min-height: 56px !important;
        height: auto !important;
        padding: 8px 0;
    }




}

@media screen and (max-width: 720px) {














    .kmclub-sync-button span, .kmclub-connection-button span{
        display: none !important;
    }

    .kmclub-sync-button, .kmclub-connection-button{
        width: 36px !important;
        min-width: 36px !important;
        padding: 0 !important;
    }
}
/* =====================================================================
   DASHBOARD BAR CHART STRUCTURE FIX
   대시보드 인라인 CSS 제거 후 사라진 막대그래프 구조 복구
===================================================================== */
















































/* =====================================================================
   DASHBOARD POLISH — REFRESH / KPI BADGES / RECENT ORDERS
===================================================================== */

/* 상단 기간 선택 + 새로고침 */










/* KPI 증감률을 레퍼런스처럼 작은 배지로 */






/* 순수익의 수익률 배지도 동일하게 */


/* KPI 설명에서 구분점이 너무 붙어 보이지 않도록 */


/* 최근 주문 카드 */














/* 최근 주문 카드 폭과 높이 */




/* 국가별 상태 배지 */








/* 최근 주문이 너무 좁아질 때 */

/* =====================================================================
   SELLERFLOW FINAL TYPOGRAPHY SYSTEM
   기준: 관리자 화면의 실제 문자는 최소 13px, 본문은 14px
===================================================================== */

:root{
    --ui-font-page-title: 30px;
    --ui-font-section-title: 18px;
    --ui-font-card-title: 14px;
    --ui-font-body: 14px;
    --ui-font-sub: 13px;
    --ui-font-control: 14px;
    --ui-font-badge: 13px;
}

/* 기본 본문 */
body{
    font-size: var(--ui-font-body) !important;
    line-height: 1.55 !important;
}

/* 사이드바 */
.kmclub-sidebar-logo-text strong{
    font-size: 18px !important;
}

.kmclub-sidebar-logo-text span{
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.kmclub-sidebar-link{
    min-height: 44px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.kmclub-sidebar-sublink{
    min-height: 38px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.kmclub-connection-row, .kmclub-connection-status{
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* 상단 헤더 */
.kmclub-sync-summary, .kmclub-sync-summary strong, .kmclub-sync-button, .kmclub-connection-button, .site_header_logout_button{
    font-size: 13px !important;
}

.kmclub-sync-button, .kmclub-connection-button, .site_header_logout_button{
    height: 38px !important;
    min-height: 38px !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
}

/* 페이지 제목 */
.kmclub-page-title, .kmclub-page-title-area h1, .kmclub-dashboard-title-area h1{
    font-size: var(--ui-font-page-title) !important;
    line-height: 1.25 !important;
}

.kmclub-page-desc, .kmclub-page-title-area p, .kmclub-dashboard-title-area p{
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* 폼과 버튼 */
input, select, textarea, button, .kmclub-page-select, .kmclub-period-select, .shopee_publish_select, .shopee_publish_input, .shopee_publish_textarea, .shopee_price_input, .kmclub-page-report-button, .kmclub-page-refresh-button, .kmclub-report-button, .kmclub-refresh-button, .shopee_product_publish_btn, .shopee_publish_submit, .kmclub-shopee-connect-button{
    font-size: var(--ui-font-control) !important;
}

/* KPI */








/* 알림 */






/* 작은 현황 카드 */






/* 섹션 제목 */
.kmclub-chart-title, .kmclub-market-title, .shopee_publish_section_title, .kmclub-shopee-box-head h2{
    font-size: var(--ui-font-section-title) !important;
    line-height: 1.35 !important;
}

.kmclub-chart-sub, .kmclub-shopee-box-head p{
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* 그래프 */




/* 오늘 할 일 */








/* 테이블 */
.shopee_product_table_head th, .shopee_price_table th{
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.shopee_product_table_body td, .shopee_price_table td{
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.shopee_product_name{
    font-size: 14px !important;
}



/* 최근 주문 */








/* 페이지네이션 */
.pagination_link, .shopee_product_pager a, .shopee_product_pager strong{
    font-size: 13px !important;
}

/* Shopee 연동 */
.kmclub-shopee-status-label, .kmclub-shopee-status-body strong, .kmclub-shopee-connect-text span, .kmclub-shopee-status-body em{
    font-size: 13px !important;
}

.kmclub-shopee-connect-text strong{
    font-size: 15px !important;
}

.kmclub-shopee-status-badge{
    min-height: 26px !important;
    padding: 4px 9px !important;
    font-size: 13px !important;
}

/* 작은 화면에서도 지나치게 축소하지 않음 */
@media screen and (max-width: 720px) {
    body{
        font-size: 14px !important;
    }

    .kmclub-page-title, .kmclub-page-title-area h1{
        font-size: 26px !important;
    }

    .kmclub-sidebar-link{
        font-size: 14px !important;
    }

    .kmclub-sidebar-sublink{
        font-size: 13px !important;
    }
}

/* =========================================================
   셀러플로우 공통 페이지 헤더
   - 제목 30px / 영문 14px / 설명 14px
   - 이전 화면은 텍스트 링크
   - 보조 기능은 outline / 주요 실행은 primary
========================================================= */
.sf-page-head { display:flex; width:100%; margin:0 0 20px; align-items:flex-start; justify-content:space-between; gap:20px; }
.sf-page-head-copy { min-width:0; }
.sf-page-head-copy h1 { display:flex; margin:0; align-items:baseline; flex-wrap:wrap; gap:10px; color:#20212a; font-size:30px; font-weight:800; line-height:1.25; letter-spacing:-.05em; }
.sf-page-head-copy h1 span { color:#8d909e; font-size:14px; font-weight:600; line-height:1.3; letter-spacing:-.01em; }
.sf-page-head-copy p { margin:8px 0 0; color:#666977; font-size:14px; font-weight:400; line-height:1.5; }
.sf-page-head-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.sf-page-back-link { display:inline-flex; min-height:42px; padding:0 5px; align-items:center; justify-content:center; color:#20212a; font-size:14px; font-weight:700; line-height:1; text-decoration:none; white-space:nowrap; transition:color .15s ease; }
.sf-page-back-link:hover { color:#7766ee; }
.sf-button { display:inline-flex; min-height:42px; padding:0 15px; align-items:center; justify-content:center; gap:7px; border:1px solid transparent; border-radius:9px; font-size:14px; font-weight:400; line-height:1; text-decoration:none; white-space:nowrap; cursor:pointer; transition:color .15s ease,background-color .15s ease,border-color .15s ease; }
.sf-button-outline { color:#20212a; background:#fff; border-color:#ddd9e4; }
.sf-button-outline:hover { color:#7766ee; background:#fcfbff; border-color:#dcd6ff; }
.sf-button-primary { color:#fff; background:#7766ee; border-color:#7766ee; }
.sf-button-primary:hover { color:#fff; background:#6554df; border-color:#6554df; }
.sf-button:disabled,.sf-button.is-disabled { color:#a5a7b0; background:#f2f2f5; border-color:#e3e3e8; cursor:not-allowed; pointer-events:none; }
@media screen and (max-width:760px) { .sf-page-head { flex-direction:column; } .sf-page-head-actions { width:100%; justify-content:flex-start; } }
@media screen and (max-width:520px) { .sf-page-head-copy h1 { font-size:27px; } .sf-page-head-actions { align-items:stretch; flex-direction:column; } .sf-page-head-actions .sf-button,.sf-page-head-actions .sf-page-back-link { width:100%; } }


/* =========================================
   MOBILE HEADER FINAL
========================================= */

.kmclub-mobile-button{
    display:none !important;
}

@media screen and (max-width:980px){

    .site_header{
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        left:0 !important;
        z-index:1200 !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        background:#fff !important;
        border-bottom:1px solid #ebe8f0 !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
    }

    .site_header_inner{
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        padding:0 12px !important;
        box-sizing:border-box !important;
    }

    .site_header_nav,
    .kmclub-admin-topbar{
        display:flex !important;
        width:100% !important;
        height:54px !important;
        min-height:54px !important;
        padding:0 !important;
        align-items:center !important;
        gap:8px !important;
    }

    /* 햄버거 */
    .kmclub-mobile-button{
        display:inline-flex !important;
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        flex:0 0 36px !important;
        align-items:center !important;
        justify-content:center !important;
        color:#666977 !important;
        background:#fff !important;
        border:1px solid #dedfe5 !important;
        border-radius:8px !important;
        box-shadow:none !important;
    }

    .kmclub-mobile-button svg{
        width:18px !important;
        height:18px !important;
        fill:none !important;
        stroke:currentColor !important;
        stroke-width:2 !important;
        stroke-linecap:round !important;
    }

    /* 오른쪽 영역 */
    .site_header_right,
    .kmclub-admin-topbar-right{
        display:flex !important;
        width:auto !important;
        min-width:0 !important;
        height:54px !important;
        min-height:54px !important;
        margin-left:auto !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex-wrap:nowrap !important;
        gap:6px !important;
    }

    /* Shopee 연결상태는 모바일 헤더에서 제거 */
    .site_header .kmclub-sync-summary{
        display:none !important;
    }

    /* 피드백 */
    .site_header .kmclub-feedback-button{
        display:inline-flex !important;
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        flex:0 0 36px !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:8px !important;
    }

    .site_header .kmclub-feedback-button span{
        display:none !important;
    }

    .site_header .kmclub-feedback-button svg{
        width:17px !important;
        height:17px !important;
    }

    /* 알림 */
    .site_header .kmclub-notification-button{
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        flex:0 0 36px !important;
        border-radius:8px !important;
    }

    .site_header .kmclub-notification-button svg{
        width:19px !important;
        height:19px !important;
    }

    .site_header .kmclub-notification-badge{
        top:-5px !important;
        right:-5px !important;
    }

    /* 프로필 */
    .site_header .kmclub-account-menu{
        display:flex !important;
        min-height:36px !important;
        padding:0 !important;
        align-items:center !important;
        gap:1px !important;
    }

    .site_header .kmclub-account-avatar{
        width:36px !important;
        min-width:36px !important;
        height:36px !important;
        min-height:36px !important;
        flex:0 0 36px !important;
        font-size:14px !important;
    }

    /* 셀러싱크 / 관리자 제거 */
    .site_header .kmclub-account-copy{
        display:none !important;
    }

    .site_header .kmclub-account-link{
        display:inline-flex !important;
        width:18px !important;
        min-width:18px !important;
        height:36px !important;
        min-height:36px !important;
        padding:0 !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .site_header .kmclub-account-arrow{
        width:14px !important;
        height:14px !important;
    }

    /* fixed header 높이만큼 본문 내리기 */
    .kmclub-main-area,
    .kmclub-admin-layout.sidebar-collapsed .kmclub-main-area{
        width:100% !important;
        margin-left:0 !important;
        padding-top:54px !important;
    }
}