@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Thin.subset.woff2") format("woff2");
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-ExtraLight.subset.woff2") format("woff2");
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Light.subset.woff2") format("woff2");
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Regular.subset.woff2") format("woff2");
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Medium.subset.woff2") format("woff2");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-SemiBold.subset.woff2") format("woff2");
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Bold.subset.woff2") format("woff2");
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-ExtraBold.subset.woff2") format("woff2");
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: "Pretendard";
    src: url("/assets/font/pretendard/Pretendard-Black.subset.woff2") format("woff2");
    font-weight: 900;
    font-display: swap;
}

:root {
    /* Colors */
    --Brand-Primary100: #EEFFFC;
    --Brand-Primary200: #C1FFF5;
    --Brand-Primary300: #91E9C7;
    --Brand-Primary400: #17DBBB;
    --Brand-Primary500: #24A18C;
    --Brand-Primary600: #0E6254 ;

    --Grayscale-White: #FFFFFF;
    --Grayscale-Gray50: #FBFBFB;
    --Grayscale-Gray100: #F7F8FA;
    --Grayscale-Gray200: #F1F3F5;
    --Grayscale-Gray300: #E3E5E8;
    --Grayscale-Gray400: #9E9E9E;
    --Grayscale-Gray500: #555555;
    --Grayscale-Gray600: #111111;

    --Semantic-Success-Default: #2CA7E4;
    --Semantic-Success-BG: #DEF2FB;
    --Semantic-Error-Default: #E5484D;
    --Semantic-Error-BG: #FDECEC;
    --Semantic-Warning-Default: #F5A524;
    --Semantic-Warning-BG: #FFF4E5;
    --Semantic-Info-Default: #23C07F;
    --Semantic-Info-BG: #E9F8F2;

    /* Density ------------------------------------------------------------
       화면 밀도는 이 토큰들로만 조절한다. 개별 화면에서 px 을 다시 박지 말 것. */
    --sp-1: 4px;
    --sp-2: 6px;
    --sp-3: 8px;
    --sp-4: 12px;
    --sp-5: 16px;

    --ctl-h: 34px;        /* 버튼 · 인풋 · 셀렉트 공통 높이 */
    --ctl-h-sm: 26px;

    --page-pad: 12px;     /* 페이지 컨테이너 좌우/상하 패딩 */
    --row-h: 64px;        /* 목록 한 행 */
    --row-head-h: 36px;   /* 목록 헤더 */

    --side-w: 176px;
    --side-w-collapsed: 56px;
    --topbar-h: 44px;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button, input, select, textarea {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    font-family: Pretendard;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    box-sizing: border-box;
}
[type="checkbox"]{
    -webkit-appearance: checkbox;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

button, input, select{
    cursor: pointer;
}

.btn {
    height: var(--ctl-h);
    padding: 0 var(--sp-4);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: var(--sp-2);
    margin-bottom: 0;
    white-space: nowrap;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    touch-action: manipulation;
    cursor: pointer;
    outline: none;
}
.btn_sm {
    height: var(--ctl-h-sm);
    padding: 0 var(--sp-3);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: var(--sp-2);
    margin-bottom: 0;
    white-space: nowrap;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
    touch-action: manipulation;
    cursor: pointer;
}
.btn:disabled, .btn_sm:disabled{
    opacity: 0.5;
    cursor: no-drop;
}

.btn_mint{
    background: var(--Brand-Primary400, #17DBBB);
    color: var(--Grayscale-White, #FFF);
}
.btn_mint_reverse{
    border: 1px solid var(--Brand-Primary400, #17DBBB);
    background: var(--Brand-Primary100, #EEFFFC);
    color: var(--Brand-Primary400, #17DBBB);
}
.btn_white{
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray500, #555);
}
.btn_gray{
    background: var(--Grayscale-Gray300, #E3E5E8);
    color: var(--Grayscale-Gray400, #9E9E9E);
}
.btn_gray_reverse{
    border: 1px solid var(--Grayscale-Gray400, #9E9E9E);
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray500, #555);
}
.btn_red{
    background: var(--Semantic-Error-Default, #E5484D);
    color: var(--Grayscale-White, #FFF);
}
.btn_red_reverse{
    border: 1px solid var(--Semantic-Error-Default, #E5484D);
    background: #f6d7d8;
    color: var(--Semantic-Error-Default, #E5484D);
}
.btn_blue{
    background: var(--Semantic-Success-Default, #2CA7E4);
    color: var(--Grayscale-White, #FFF);
}
.btn_blue_reverse{
    border: 1px solid var(--Semantic-Success-Default, #2CA7E4);
    background: #def2fb;
    color: var(--Semantic-Success-Default, #2CA7E4);
}
.btn_yellow{
    background: var(--Semantic-Warning-Default, #F5A524);
    color: var(--Grayscale-White, #FFF);
}
.btn_yellow_reverse{
    border: 1px solid var(--Semantic-Warning-Default, #F5A524);
    background: var(--Semantic-Warning-BG, #FFF4E5);
    color: var(--Semantic-Warning-Default, #F5A524);
}

.table {
    width: 100%;
}
.table_bordered {
    border: 1px solid var(--Brand-Primary300, #91E9C7);
}
.table_bordered tbody>tr>th, .table_bordered thead>tr>th{
    background: var(--Brand-Primary100, #EEFFFC);
}
.table_bordered tbody>tr>th, .table_bordered tbody>tr>td, .table_bordered thead>tr>th, .table_bordered thead>tr>td{
    border: 1px solid var(--Brand-Primary300, #91E9C7);
}
.table tbody>tr>th, .table tbody>tr>td, .table thead>tr>th, .table thead>tr>td{
    padding: var(--sp-2) var(--sp-3);
    font-size: 13px;
    font-weight: 500;
    color: var(--Grayscale-Gray500, #555555);
    vertical-align: middle;
}
.table tbody>tr>th, .table thead>tr>th{
    font-weight: bold;
}

.select_style {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: var(--ctl-h);
    min-height: var(--ctl-h);
    padding: 0 26px 0 var(--sp-3);
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8) !important;
    background-image: url("/assets/seller_icons/icon_arrow_down_gray.svg");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 12px;
    /*border: 1px solid var(--Grayscale-Gray300, #E3E5E8);*/
    border-radius: 6px;
    outline: none;
    cursor: pointer;
    color: var(--Grayscale-Gray500, #555);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
}
.select_style::-ms-expand {
    display: none;
}
.select_style:hover {
    color: var(--Brand-Primary400, #17DBBB);
    appearance: none;
    background-image: url("/assets/seller_icons/icon_arrow_down_mint.svg");
}
.select_style:focus {
    color: var(--Brand-Primary400, #17DBBB);
    background-image: url("/assets/seller_icons/icon_arrow_up_mint.svg");
    appearance: none;
    border: 1px solid var(--Brand-Primary400, #17DBBB);
}
.select_active {
    color: var(--Brand-Primary400, #17DBBB) !important;
    background-image: url("/assets/seller_icons/icon_arrow_down_mint.svg") !important;
    appearance: none !important;
    border: 1px solid var(--Brand-Primary400, #17DBBB) !important;
}
.select_style option{
    color: var(--Grayscale-Gray500, #555);
}

.toggle {
    position: relative;
    display: flex;
    min-width: 44px !important;
    width: 44px !important;
    min-height: 24px !important;
    height: 24px !important;
    box-sizing: border-box;
}
.toggle input {
    display:none;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--Grayscale-Gray300, #E3E5E8);
    -webkit-transition: .3s;
    transition: .3s;
    border-radius: 100px;
    box-sizing: border-box;
}
.slider:before {
    position: absolute;
    content: "";
    width: 18px;
    height: 18px;
    top: 3px;
    left: 3px;
    background-color: var(--Grayscale-White, #FFFFFF);
    transition: .3s;
    border-radius: 50%;
    box-sizing: border-box;
}
.toggle input:checked + .slider {
    background: var(--Brand-Primary400, #17DBBB);
}
.toggle input:checked + .slider:before {
    transform: translateX(20px);
}
/*<label class="toggle">*/
/*<input type="checkbox">*/
/*<span class="slider"></span>*/

input[type=checkbox] {
    min-width: 18px;
    min-height: 18px;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

input[type=checkbox]:checked {
    background-image: url("/assets/seller_icons/icon_check_mint.svg");
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
}

.input_radio_check_box {
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    aspect-ratio: 1/1 !important;
    border-radius: 50% !important;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8) !important;
    background: var(--Grayscale-White, #FFF) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    padding: 4.4px !important;
}

.input_radio_check_box:checked {
    background: var(--Brand-Primary400, #17DBBB) !important;
    background-clip: content-box !important;
}


input[type=radio] {
    width: 22px;
    height: 22px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    cursor: pointer;
    box-sizing: border-box;
    padding: 4.4px;
}

input[type=radio]:checked {
    background: var(--Brand-Primary400, #17DBBB);
    background-clip: content-box;
}
/*</label>*/
/*.label_radio_box>input[type=radio]{*/
/*    margin: 0 4px;*/
/*    width: 16px;*/
/*    height: 16px;*/
/*}*/
/*.label_radio_box>input[type=radio]:checked{*/
/*    appearance: none;*/
/*    -webkit-appearance: none;*/
/*    border: 0.2rem solid #fff;*/
/*    background-color: #1f8dd6;*/
/*    box-shadow: 0 0 0 1px #1f8dd6;*/
/*    border-radius: 50%;*/
/*}*/
.input_style{
    width: 100%;
    height: var(--ctl-h);
    display: flex;
    padding: 0 var(--sp-4);
    align-items: center;
    gap: var(--sp-3);
    border-radius: 6px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray600, #111);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
    outline: none;
}
.input_style::placeholder{
    color: var(--Grayscale-Gray400, #9E9E9E);
}
.input_style:read-only, .readonly{
    border: 1px solid var(--Grayscale-Gray200, #F1F3F5);
    background: var(--Grayscale-Gray200, #F1F3F5);
    pointer-events: none;
}
.input_style:disabled {
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    opacity: 0.6;
    pointer-events: none;
}
.textarea_style{
    width: 100%;
    display: flex;
    padding: var(--sp-3) var(--sp-4);
    align-items: center;
    gap: var(--sp-3);
    border-radius: 6px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray600, #111);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    outline: none;
    height: auto;
    box-sizing: border-box;
    resize: none;
}
.textarea_style::placeholder{
    color: #d1d1d1;
}
.textarea_style:disabled{
    background: #ffffff;
    opacity: 0.5;
}

/* 페이지네이션 */
.div_page{
    width: 100%;
    margin: var(--sp-4) 0 var(--sp-2);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--sp-1);
}
.btn_page_item{
    min-width: 24px;
    height: 24px;
    padding: 0 var(--sp-1);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: transparent;
    color: var(--Grayscale-Gray500, #555);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px; /* 138.462% */
    white-space: nowrap;
}
.btn_page_item:hover{
    background: var(--Grayscale-Gray200, #F1F3F5);
}
.btn_page_item.active{
    color: var(--Grayscale-White, #FFF);
    background: var(--Brand-Primary400, #17DBBB);
}
.btn_page:disabled{
    cursor: no-drop;
    opacity: 0.3;
    pointer-events: none;
}
.btn_page{
    width: 20px;
    height: 20px;
    aspect-ratio: 1/1;
    background-size: contain;    /* 이미지가 잘리지 않게 전체 포함 */
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
}
.div_page .left{
    margin-right: var(--sp-3);
    background-image: url("/assets/seller_icons/icon_arrow_left_thin.svg");
}
.div_page .right{
    margin-left: var(--sp-3);
    background-image: url("/assets/seller_icons/icon_arrow_right_thin.svg");
}
/* 페이지 바 — 좌: 범위·총계 / 중앙: 페이저 / 우: 페이지당 개수 */
.div_page_bar_cls{
    width: 100%;
    margin-top: var(--sp-3);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: var(--sp-3);
}
.div_page_bar_cls .div_page{
    margin: 0;
    width: auto;
}
.div_page_bar_cls > :last-child{
    justify-self: end;
}

/* div ================================*/
.div_none{
    display: none !important;
}
.d_flex{
    display: flex !important;
    align-content: center !important;
}

.width_100{
    width: 100%;
}
.height_100{
    height: 100%;
}
.btn_bg_none{
    background: transparent;
}
.div_row_center{
    display: flex;
    justify-content: center !important;
    align-items: center !important;
}
.div_col_center{
    display: flex;
    flex-direction: column;
    justify-content: center !important;
    align-items: center !important;
}
.div_row_end{
    display: flex;
    justify-content: flex-end;
    align-content: center;
}
.div_row_between{
    display: flex;
    justify-content: space-between;
    align-content: center;
}
.div_col{
    display: flex;
    flex-direction: column;
}
.div_col_line{
    width: 1px;
    height: 100%;
    background: var(--Grayscale-Gray300, #E3E5E8);
}
.div_row_line{
    width: 100%;
    height: 1px;
    background: var(--Grayscale-Gray300, #E3E5E8);
}
.div_label_box_cls{
    display: flex;
    align-items: center;
    gap: 7px;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

/* 페이지 헤더 — 제목 · 설명 · 액션을 한 줄로 */
.div_page_head_cls{
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: var(--sp-3);
    margin-bottom: var(--sp-3);
}
.div_page_head_cls .span_page_desc_cls{
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--Grayscale-Gray400, #9E9E9E);
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
}

/* 제목 + 설명을 한 줄로 (세로 두 줄이던 섹션/페이지 머리말) */
.div_page_title_cls{
    display: flex;
    align-items: baseline;
    gap: var(--sp-3);
    min-width: 0;
}
.div_page_title_cls > span:last-child{
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 커맨드 바 — 검색 · 필터 · 선택 · 보기전환을 한 줄에 고정한다.
   행을 스크롤하는 동안에도 조건을 바로 바꿀 수 있어야 한다. */
.div_cmd_bar_cls{
    position: sticky;
    top: 0;
    z-index: 20;
    margin: 0 calc(var(--page-pad) * -1);
    padding: var(--sp-2) var(--page-pad);
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    flex-wrap: wrap;
    background: var(--Grayscale-Gray50, #FBFBFB);
    border-bottom: 1px solid var(--Grayscale-Gray200, #F1F3F5);
}
.div_cmd_bar_cls .div_cmd_spacer_cls{
    flex: 1;
}
.div_cmd_sep_cls{
    width: 1px;
    height: 18px;
    background: var(--Grayscale-Gray300, #E3E5E8);
}
/* 검색 조건 묶음. 데스크톱에서는 그냥 한 줄, 모바일에서는 접었다 편다.
   묶음이 한 덩어리 flex 아이템이 되므로 wrap/min-width 가 없으면 좁은 데스크톱에서
   축소도 줄바꿈도 못 하고 그대로 넘친다(문의/이슈 관리에서 검색 버튼이 잘렸다). */
.div_cmd_filters_cls{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-width: 0;
    gap: var(--sp-2);
}
/* 접기 버튼은 모바일에서만 보인다. */
.btn_filter_toggle_cls{
    display: none;
    height: 40px;
    padding: 0 var(--sp-4);
    align-items: center;
    gap: var(--sp-2);
    border-radius: 6px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray600, #111);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px; /* 138.462% */
    white-space: nowrap;
}
.btn_filter_toggle_cls.active{
    border-color: var(--Brand-Primary400, #17DBBB);
    background: var(--Brand-Primary100, #EEFFFC);
    color: var(--Brand-Primary600, #0E6254);
}
.span_filter_badge_cls{
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 9px;
    background: var(--Brand-Primary400, #17DBBB);
    color: var(--Grayscale-White, #FFF);
    font-size: 11px;
    font-weight: 700;
}
.i_chevron_cls{
    width: 14px;
    height: 14px;
    transition: transform 0.15s ease;
}
.btn_filter_toggle_cls.active .i_chevron_cls{
    transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce){
    .i_chevron_cls{
        transition: none;
    }
}

/* 적용된 검색 조건 칩 */
.div_chip_bar_cls{
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    flex-wrap: wrap;
}
.chip_cls{
    height: 24px;
    padding: 0 var(--sp-2);
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    border-radius: 4px;
    background: var(--Brand-Primary100, #EEFFFC);
    color: var(--Brand-Primary600, #0E6254);
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
    white-space: nowrap;
}
.btn_chip_x_cls{
    width: 14px;
    height: 14px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: inherit;
    font-size: 13px;
    line-height: 1;
}

/* 모바일 (조회 중심) --------------------------------------------------------
   상품 수정처럼 편집이 많은 화면은 데스크톱 권장이고, 여기서는 목록·상세를
   확인할 수 있는 수준까지 맞춘다. 인라인 style 로 박힌 폭을 이겨야 해서
   일부 규칙은 !important 를 쓴다. */
@media (max-width: 900px){
    /* 가로 스크롤이 생기면 sticky 가 가로로 어긋나 보이므로 모바일에선 고정을 푼다. */
    .div_cmd_bar_cls{
        position: static;
        margin: 0;
        padding: var(--sp-2) 0;
    }
    .div_cmd_bar_cls .select_style{
        width: 100% !important;
        min-width: 0;
    }
    /* 검색어와 검색 버튼은 한 줄을 같이 쓴다. */
    .div_cmd_bar_cls .input_style{
        width: auto !important;
        min-width: 0;
        flex: 1 1 60%;
    }
    .div_cmd_bar_cls .div_cmd_spacer_cls,
    .div_cmd_bar_cls .div_cmd_sep_cls{
        display: none;
    }
    /* 검색 조건은 접어 두고 "필터" 를 눌러 편다. 목록이 화면 위쪽부터 시작한다. */
    .btn_filter_toggle_cls{
        display: inline-flex;
    }
    .div_cmd_filters_cls{
        display: none;
        width: 100%;
        flex-wrap: wrap;
        gap: var(--sp-2);
    }
    .div_cmd_bar_cls.filter_open .div_cmd_filters_cls{
        display: flex;
    }
    .div_page_head_cls{
        flex-wrap: wrap;
        gap: var(--sp-2);
    }
    /* 설명 문구는 모바일에서 숨긴다. 좁은 폭에서 말줄임으로 잘려 뜻이 반만 남는다. */
    .span_page_desc_cls,
    .div_page_title_cls > span:last-child{
        display: none;
    }
    .div_page_title_cls{
        flex-wrap: wrap;
    }
    .div_page_bar_cls{
        grid-template-columns: 1fr;
        justify-items: center;
        gap: var(--sp-2);
    }
    .div_page_bar_cls > :last-child{
        justify-self: center;
    }
    /* 폭이 넓은 표는 페이지 전체가 아니라 표 안에서만 가로로 스크롤한다. */
    .table{
        display: block;
        overflow-x: auto;
    }
    /* 하단 고정 액션 바가 화면 폭을 넘지 않게 */
    .div_action_bar_cls{
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
    }
    /* 가로 행 유틸은 좁은 화면에서 줄을 바꾼다. 이게 없으면 flex 가 항목을
       min-content 아래로 찌그러뜨려 "간이과세자" 가 한 글자씩 세로로 쪼개진다. */
    [class*="div_row_gap_"]{
        flex-wrap: wrap;
    }
    .div_label_box_cls{
        flex-wrap: wrap;
    }

    /* 터치 타깃 — 데스크톱 밀도(34px)는 손가락에 작다. 모바일에서만 키운다. */
    .btn,
    .input_style,
    .select_style{
        height: 40px;
        min-height: 40px;
    }
    .btn_sm{
        height: 32px;
    }
    input[type=checkbox]{
        min-width: 22px;
        min-height: 22px;
        width: 22px;
        height: 22px;
    }
    input[type=radio],
    .input_radio_check_box{
        width: 26px !important;
        height: 26px !important;
    }
    .div_calendar{
        height: 40px;
    }
    .btn_page_item{
        min-width: 32px;
        height: 32px;
    }
    .btn_page{
        width: 28px;
        height: 28px;
    }

    /* 노치 기기에서 하단 고정 바가 홈 인디케이터에 가리지 않게 */
    .div_action_bar_cls{
        bottom: calc(var(--sp-5) + env(safe-area-inset-bottom, 0px));
    }
}

/* 금액 열 — 자릿수를 맞춰야 행이 좁아져도 세로로 훑을 수 있다. */
.text_num{
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

.div_row_gap_4{
    display: flex;
    align-items: center;
    gap: 4px;
}
.div_row_gap_6{
    display: flex;
    align-items: center;
    gap: 6px;
}
.div_row_gap_7{
    display: flex;
    align-items: center;
    gap: 7px;
}
.div_row_gap_8{
    display: flex;
    align-items: center;
    gap: 8px;
}
.div_row_gap_9{
    display: flex;
    align-items: center;
    gap: 9px;
}
.div_row_gap_10{
    display: flex;
    align-items: center;
    gap: 10px;
}
.div_row_gap_12{
    display: flex;
    align-items: center;
    gap: 12px;
}
.div_row_gap_16{
    display: flex;
    align-items: center;
    gap: 16px;
}
.div_row_gap_20{
    display: flex;
    align-items: center;
    gap: 20px;
}

.div_col_gap_4{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.div_col_gap_8{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.div_col_gap_12{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.div_col_gap_16{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.div_col_gap_24{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.div_col_gap_32{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* text ================================
   셀러 화면 타입 스케일 — 새 화면도 이 4단 안에서만 고른다.
     페이지 제목        15 / 700   .text_15_700
     라벨 · 섹션 · 강조   13 / 600   .text_13_600
     본문 · 값 · 인풋 · 표 13 / 500   .text_13_500 (.text_13_400)
     보조 설명 · 캡션     12 / 500   .text_12_500 (.text_12_400)
   예외는 두 가지뿐이다. 대시보드 KPI 숫자 20px, 알림 배지 10px.
   사이드 메뉴도 13px 라, 본문이 메뉴보다 커 보이지 않는다. */
.text_nowrap{
    white-space: nowrap;
}
.text_center{
    text-align: center;
}
.text_right{
    text-align: right;
}

.text_gray400{
    color: var(--Grayscale-Gray400, #9E9E9E) !important;
}
.text_gray500{
    color: var(--Grayscale-Gray500, #555) !important;
}
.text_gray600{
    color: var(--Grayscale-Gray600, #111) !important;
}
.text_mint400{
    color: var(--Brand-Primary400, #17DBBB);
}
.text_mint500{
    color: var(--Brand-Primary500, #24A18C);
}
.text_black{
    color: #000 !important;
}
.text_white{
    color: #fff !important;
}
.text_red{
    color: var(--Semantic-Error-Default, #E5484D) !important;
}
.text_blue{
    color: var(--Semantic-Success-Default, #2CA7E4);
}
.text_yellow{
    color: var(--Semantic-Warning-Default, #F5A524);
}

.text_12_400{
    font-size: 12px;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}
.text_12_500{
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
}
.text_13_400{
    font-size: 13px;
    font-weight: 400;
    line-height: 18px; /* 138.462% */
}
.text_13_500{
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
}
.text_13_600{
    font-size: 13px;
    font-weight: 600;
    line-height: 18px; /* 138.462% */
}
.text_15_700{
    font-size: 15px;
    font-weight: 700;
    line-height: 20px; /* 133.333% */
}
.text_14_500{
    font-size: 14px;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}
.text_16_600{
    font-size: 16px;
    font-weight: 600;
    line-height: 24px; /* 150% */
}
.text_20_600{
    font-size: 20px;
    font-weight: 600;
    line-height: 28px; /* 140% */
}

.i_current_color{
    display: inline-block;
    background-color: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.i_delete{
    width: 20px;
    height: 20px;
    mask-image: url("/assets/seller_icons/icon_close.svg");
    -webkit-mask-image: url("/assets/seller_icons/icon_close.svg");
}
.i_search{
    width: 20px;
    height: 20px;
    mask-image: url("/assets/seller_icons/icon_search.svg");
    -webkit-mask-image: url("/assets/seller_icons/icon_search.svg");
}
/*===================================== todo 이전 스타일 */

.div_header {
    padding: 0px 16px;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    background-color: #6c6c6c;
    height: 40px;
    display: flex;
    align-items: center;
}

.div_set {
    padding: 7px 5px;
    display: flex;
    border: solid 1px #c3c3c3;
    background-color: #e9ebec;
    align-items: center;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 400;
}

.div_calendar {
    height: var(--ctl-h);
    padding: 0 var(--sp-3);
    display: flex;
    align-items: center;
    text-align: center;
    gap: var(--sp-1);
    border-radius: 6px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
    color: var(--Grayscale-Gray400, #9E9E9E);
    cursor: pointer;
}
.input_date_picker{
    width: 82px;
    color: var(--Grayscale-Gray500, #555);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
    outline: none;
    cursor: pointer;
}
.i_calendar_cls {
    width: 16px;
    height: 16px;
    mask-image: url("/assets/seller_icons/icon_calender.svg");
    -webkit-mask-image: url("/assets/seller_icons/icon_calender.svg");
}

.btn_grid {
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px 5px !important;
    margin-bottom: 0;
    font-size: 12px;
    font-weight: 400;
    text-align: center !important;
    white-space: nowrap;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 3px;
}

.input_file {
    padding: 4px;
    min-width: 164px;
    width: 51%;
    display: inline-block;
    margin-right: 4px;
}
.div_input_box_col{
    display: flex;
    flex-direction: column;
    border: 1px solid rgb(209, 209, 209);
    border-radius: 4px;
    background: #ffffff;
    min-width: 100px;
    margin: 0 4px;
}
.div_input_title_col{
    border: 1px solid #d1d1d1;
    border-width: 0 0 1px 0;
    height: 14px;
    padding: 8px;
    background: #e3e3e3;
    border-radius: 3px 3px 0 0;
    min-width: 74px;
    text-align: center;
}

.modal{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    align-items: baseline;
    justify-content: center;
    z-index: 100;
}
.modal_container{
    width: 300px;
    height: auto;
    min-height: auto;
    max-height: calc(100vh - 112px);
    position: relative;
    margin: 1.75em;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
}
.modal_close{
    position: absolute;
    right: 0px;
    margin-right: 24px;
    background: url("/assets/icons/img_x.svg") center center / 1em no-repeat transparent;
    width: 14px;
    height: 14px;
    border: none;
}
.modal_title{
    width: 100%;
    display:flex;
    align-items:center;
    position: relative;
    font-weight: bold;
    background-color: #f4f7ff;
    height: auto;
    padding: 16px;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    border-bottom: 1px solid var(--basic-black, #000);
    background: var(--basic-white, #FFF);
    box-sizing: border-box;
}
.fade_out{
    animation: fade_out 0.3s;
}
.fade_in{
    animation: fade_in 0.3s;
}
.modal_content{
    border: 1px solid #d1d1d1;
    border-width: 1px 0;
    min-height: 58px;
    overflow-y: auto;
}
.modal_footer{
    height: auto;
    display: flex;
    padding: 12px 0px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    align-self: stretch;
}
.modal_footer .btn_modal{
    height: 42px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    padding: 12px 0;
    gap: 8px;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-radius: 4px;
    border: 1px solid var(--basic-gray-50, #929292);
    background: var(--basic-white, #FFF);
}
.h_tooltip{
    cursor: pointer;
}
.h_tooltip_wrapper{
    position: relative;
}
.h_tooltip_wrapper>.h_tooltip_text{
    display: none;
}
.h_tooltip:hover + .h_tooltip_wrapper>.h_tooltip_text{
    display: inline-block !important;
    position: absolute;
    top: -48px;
    left: -19px;
    width: max-content;
    background: #fff;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #c5c5c5;
}
.h_tab{
    display: flex;
    margin-bottom: 16px;
    position: relative;
}
.h_tab::before{
    content: "";
    position: absolute;
    border-bottom: 1px solid #e5e5e5;
    width: 100%;
    top: 40px;
}
.h_tab div{
    padding: 12px 16px;
    text-decoration: none;
    color: #1a1a1a;
    cursor: pointer;
}
.h_tab div.disabled{
    color: #D1D1D1;
    cursor: no-drop;
}
.h_tab div.active{
    border-bottom: 3px solid #1f8dd6;
    font-weight: bold;
}

.select_component_div_style {
    width: 100%;
    height: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content:center;
    position: relative;
}
.select_component_input_style {
    height: 100%;
    width: 100%;
    padding: 6px 12px;
    font-size: 13px;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-sizing: border-box;
    appearance: none;
    background-image: url("/assets/icons/icon_select_down.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 8px) center;
    background-size: 13px;
    outline: none;
    cursor: pointer;
}
.select_component_input_style:hover {
    border-color: #888;
}
.select_component_input_style:disabled {
    opacity: 0.5;
    background: #ffffff;
}
.select_component_div_style > div {
    width: 100%;
    display: none;
    position: absolute;
    top:32px;
    background-color: #fff;
    border: 1px solid #888;
    z-index: 1000;
    box-shadow: 0 2px 2px 2px rgb(0 0 0 / 8%);
}
.select_component_div_style > div > div {
    margin: 8px;
}
.select_component_div_style > div > div > input {
    border: 1px solid #2c89f5;
}
.select_component_div_style > div > div > input:focus {
    outline: 3px solid #d9ebff;
}
.select_component_div_style > div > datalist {
    display: block;
    text-align: left;
    max-height: 10rem;
    overflow-y: scroll;
    color: #555;
}
.select_component_div_style > div > datalist > option {
    height: 28px;
    display: flex;
    align-items: center;
    padding: 0px 8px;
}
.select_component_div_style > div > datalist > option:hover {
    background-color: #d9d9d9;
}
.select_component_click_style {
    background-color: #2c89f5;
    color: white;
}

.grid_loading:after, .grid_loading:before{
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    border-radius: 100%;
    border: 16px solid transparent;
    border-top-color: #3498db;
}
.grid_loading:before {
    z-index: 100;
    animation: spin 1s infinite;
}

.grid_loading:after {
    border: 16px solid #ccc;
}


@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes fade_out {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes fade_in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/* 글씨 색상 */
.ag_red_cls    { color: red !important; }
.ag_blue_cls   { color: #3434f5 !important }
.ag_yellow_cls { color: #e5a310 !important; }
.ag_orange_cls { color: #b97f13 !important; }
.ag_gray_cls   { color: #B6B6B6 !important; } /* 상태가 비활성 (STATUS = 0 ) */

/* 백그라운드 색상 */
.ag_bg_gray_cls   { background-color: #e8e8e8 !important; }
.ag_bg_pink_cls   { background-color: #ffbebe !important; }
.ag_bg_yellow_cls { background-color: #FEF5D4 !important; } /* edit 가능한 색상 */
.ag_bg_blue_cls   { background-color: #9acfea !important; }
.ag_bg_green_cls  { background-color: #def7de !important; }


.grid_default_cell_style{
    border-right: 1px solid #d9dcde !important;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.grid_excel{
    padding: 0 4px !important;
    text-align: center;
}

/* ag-grid header 옵션 버튼 */
.ag-header-icon{
    display: none !important;
}
.string_type{
    user-select: text !important;
}


.tinymce-wrapper{
    height: 100%;
}

.tox-tinymce{
    border: 1px solid #d1d1d1;
    border-radius: 0px;
    min-height: 100%;
}

.tox:not(.tox-tinymce-inline) .tox-editor-header{
    border-bottom: 1px solid #d1d1d1;
    box-shadow: none;
}

.tox .tox-statusbar{
    display: none;
}


/* 모달  ---------------------------------------- */
/* 인라인 폭이 박힌 모달을 화면 안에 가둔다. */
.seller_modal .popup,
.modal_container{
    width: auto !important;
    max-width: calc(100vw - 24px);
}
.seller_modal .wrap{
    position: relative;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
}
.seller_modal .div_modal_header{
    position: relative;
    width: 100%;
    height: 56px;
    min-height: 56px;
    padding: 16px;
    display: flex;
    align-items: center;
    font-weight: bold;
    background: #fff;
    box-sizing: border-box;
    font-size: 16px;
    border-bottom: 1px solid var(--basic-black, #000);
}
.seller_modal .btn_close{
    position: absolute;
    width: 32px;
    height: 32px;
    top: 12px;
    right: 16px;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border: none;
    background: transparent;
    cursor: pointer;
}
.seller_modal .div_modal_body{
    height: 100%;
    padding: 16px;
    display: flex;
    flex-direction: column;
    font-size: 15px;
    box-sizing: border-box;
    overflow-y: auto;
    width: auto;
    max-width: calc(100vw - 24px);
}
.seller_modal .div_modal_footer{
    width: 100%;
    padding: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    border-top: 1px solid #d1d1d1;
}
.seller_modal .btn_close_modal{
    height: 42px;
    padding: 0 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    border-radius: 4px;
    border: 1px solid var(--basic-gray-50, #929292);
    background: var(--basic-white, #FFF);
    color: var(--basic-gray-50, #929292);
    box-sizing: border-box;
}

.seller_modal .btn_accept_modal{
    height: 42px;
    padding: 0 20px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    border-radius: 4px;
    background: var(--link-blue-80, #0052F9);
    color: var(--basic-white, #FFF);
    box-sizing: border-box;
}
/* ===== 상품 목록 공통 (product_list / product_send_list) ===== */

.g_div_container_cls{
    position: relative;
    width: 100%;
    height: 100%;
    padding: var(--page-pad);
    display: flex;
    flex-direction: column;
    background: var(--Grayscale-Gray50, #FBFBFB);
}
.g_div_list_btn_box_cls{
    height: var(--ctl-h);
    padding: 3px;
    display: flex;
    align-items: center;
    gap: 2px;
    border-radius: 6px;
    background: var(--Grayscale-Gray200, #F1F3F5);
}
.g_div_list_btn_box_cls .active{
    background: var(--Grayscale-White, #FFF);
}
.g_btn_list_cls{
    display: flex;
    width: 28px;
    height: 28px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 4px;
    background: transparent;
}
.g_btn_list_cls img{
    filter: invert(71%) sepia(0%) saturate(0%) brightness(88%) contrast(90%);
    transition: filter 0.2s ease;
}
.g_btn_list_cls.active img{
    filter: none;
}
.g_div_table_cls{
    margin-top: var(--sp-3);
    display: flex;
    gap: var(--sp-3);
    flex-wrap: wrap;
    box-sizing: border-box;
}
.g_div_card_cls{
    position: relative;
    width: 220px;
    border-radius: 8px;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-White, #FFF);
}
.g_div_card_cls.checked{
    border: 1px solid var(--Brand-Primary500, #24A18C);
}
.g_div_card_cls input[type=checkbox]{
    position: absolute;
    top: 8px;
    left: 8px;
}
.g_div_card_cls .g_div_product_img_cls{
    width: 100%;
    height: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.g_div_product_img_cls img{
    height: 100%;
    object-fit: contain;
}
.g_div_product_info{
    margin: var(--sp-3);
    width: calc(100% - var(--sp-3) * 2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-2);
}
.g_div_product_name_cls{
    display: flex;
    overflow: hidden;
    flex-direction: column;
}
.g_span_product_name_cls{
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--Grayscale-Gray600, #111);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px; /* 138.462% */
}
.g_span_product_no_cls{
    color: var(--Grayscale-Gray400, #9E9E9E);
    font-size: 12px;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
}
.g_div_product_header_cls{
    padding: 0 var(--sp-4);
    margin-top: var(--sp-3);
    width: 100%;
    height: var(--row-head-h);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 6px 6px 0 0;
    border: 1px solid var(--Grayscale-Gray300, #E3E5E8);
    background: var(--Grayscale-Gray100, #F7F8FA);
}
.g_div_product_header_cls div{
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    color: var(--Grayscale-Gray500, #555);
    font-size: 12px;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}
/* 금액 열은 헤더도 값과 같이 우측 정렬해야 자릿수가 눈에 붙는다. */
.g_div_product_header_cls .g_div_85px_cls, .g_div_product_header_cls .g_div_45px_cls{
    justify-content: flex-end;
}
.g_div_product_header_cls .g_div_product_info_cls{
    justify-content: flex-start;
}
.g_div_list_cls{
    width: 100%;
    height: var(--row-h);
    padding: 0 var(--sp-4);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--Grayscale-Gray200, #F1F3F5);
    background: var(--Grayscale-White, #FFF);
}
.g_div_list_cls:hover{
    background: var(--Grayscale-Gray50, #FBFBFB);
}
.g_div_checked_cls, .g_div_list_cls.g_div_checked_cls:hover{
    border-bottom: 1px solid var(--Brand-Primary400, #17DBBB);
    background: var(--Brand-Primary100, #EEFFFC);
}
.g_div_list_cls .g_div_product_img_cls{
    position: relative;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.g_div_72px_cls{
    width: 72px;
}
.g_div_85px_cls{
    width: 85px;
}
.g_btn_cls{
    display: flex;
    align-items: center;
    gap: var(--sp-1);
    color: var(--Grayscale-Gray600, #111);
    font-size: 13px;
    font-weight: 500;
    line-height: 18px; /* 138.462% */
    white-space: nowrap;
    background: transparent;
}

/* 이 세 줄은 폭과 달리 화면 크기를 안 탄다. 데스크톱 전용 로컬 규칙에 묶여 있다가
   모바일에서 사라진 적이 있어 전역으로 올렸다. */
.g_div_product_info_cls{
    display: flex;
    align-items: center;
    gap: var(--sp-3);
}

/* 소싱몰 로고 배지와 소싱몰 칸. 두 목록 페이지에 같은 규칙이 복제돼 있었다. */
.g_img_chn_logo_cls{
    position: absolute;
    top: 108px;
    right: 8px;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid var(--Grayscale-Gray200, #F1F3F5);
    background: #fff;
    cursor: pointer;
}
.g_div_platform_cls{
    width: 35px;
    height: 28px;
    aspect-ratio: 1/1;
    overflow: hidden;
    text-align: center;
}
.g_div_platform_cls img{
    width: 28px;
    height: 28px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid var(--Grayscale-Gray200, #F1F3F5);
}

@media (max-width: 900px){
    /* 모바일 가로형 카드에서는 썸네일 왼쪽 아래로 내려간다. */
    .g_img_chn_logo_cls{
        top: auto;
        left: 96px;
        bottom: 10px;
        right: auto;
        width: 22px;
        height: 22px;
    }
    .g_div_table_cls{
        flex-direction: column;
        gap: var(--sp-2);
    }
    .g_div_list_btn_box_cls{
        height: 40px;
    }
    .g_btn_list_cls{
        width: 34px;
        height: 34px;
    }
    .g_div_card_cls{
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: var(--sp-3);
        padding: var(--sp-3) var(--sp-3) var(--sp-3) 38px;
    }
    .g_div_card_cls input[type=checkbox]{
        top: 50%;
        left: 8px;
        width: 26px;
        height: 26px;
        min-width: 26px;
        min-height: 26px;
        transform: translateY(-50%);
    }
    .g_div_card_cls .g_div_product_img_cls{
        width: 84px;
        height: 84px;
        flex-shrink: 0;
        border-radius: 6px;
        overflow: hidden;
        background: var(--Grayscale-Gray100, #F7F8FA);
    }
    .g_div_product_info{
        margin: 0;
        width: auto;
        flex: 1;
        min-width: 0;
        gap: var(--sp-1);
    }
    .g_div_product_info .div_row_line{
        display: none;
    }
    /* 목록 뷰는 표 안에서만 가로 스크롤 */
    .g_div_product_header_cls, .g_div_list_cls{
        min-width: 760px;
    }
    .g_div_product_info_cls{
        width: 260px;
        max-width: 260px;
    }
}
