/* [L4.5] wego-forms.css — WEGO+ 퍼블 forms.css 기반 · Alopex 폼 컨트롤 호환.
   ※ skgas-bundle(L4) 이후 로드해 skgas-ui Textinput/Divselect 오버라이드.
   ※ FO/BO 바이트 동일 — docs/design-system-migration.md */

/* ── 공통 필드 박스 (로그인 전용 .login-input 제외) ── */
.Textinput:not(.login-input),
.Combobox-textinput,
.Divselect,
.Textarea,
.Dateinput > input,
.Daterange .Startdate > input,
.Daterange .Enddate > input,
input.Textinput.sCode,
input.Textinput.sName {
    box-sizing: border-box;
    font-family: var(--wego-font-sans, inherit) !important;
    font-size: var(--input-font-size) !important;
    color: var(--text-primary) !important;
    border: 1.5px solid var(--input-border) !important;
    border-radius: var(--input-radius) !important;
    background: var(--input-bg) !important;
    outline: none;
    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
}

.Textinput:not(.login-input),
.Combobox-textinput {
    height: var(--input-height) !important;
    padding: var(--input-padding) !important;
    line-height: normal !important;
}

.Textarea {
    display: block;
    min-height: 96px;
    padding: 12px 14px !important;
    line-height: 1.55 !important;
    border-radius: var(--radius-sm, 6px) !important;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
    resize: vertical;
}

.single-tbl:has(> .Textarea) {
    box-sizing: border-box;
    padding: 12px;
    background: var(--bg-hover, #F8FAFC);
    border: 1px solid var(--border-color, #E2E8F0);
    border-radius: var(--radius-md, 10px);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.05));
}

.single-tbl > .Textarea {
    width: 100%;
    max-width: 100%;
    min-height: 104px;
}

.Textinput:not(.login-input):hover,
.Combobox-textinput:hover,
.Textarea:hover,
/* Dateinput hover — compound 규칙으로 input·Calendar 동시 적용 */

/* Divselect/select — background 단축 금지(화살표 background-image 유지) */
.Divselect:hover,
select.Select:not(.Divselect > select):hover {
    border-color: var(--input-border-hover) !important;
    background-color: var(--bg-white) !important;
}

.Textinput:not(.login-input):focus,
.Textinput:not(.login-input):active,
.Combobox-textinput:focus,
.Combobox-textinput:active,
.Textarea:focus {
    border-color: var(--input-border-focus) !important;
    background: var(--input-bg-focus) !important;
    box-shadow: var(--input-focus-ring) !important;
}

.Dateinput > input:focus,
.Dateinput > .Textinput:focus,
.Daterange .Startdate > input:focus,
.Daterange .Startdate > .Textinput:focus,
.Daterange .Enddate > input:focus,
.Daterange .Enddate > .Textinput:focus {
    border-color: var(--input-border-focus) !important;
    background: var(--input-bg-focus) !important;
    box-shadow: none !important;
}

.Divselect:focus-within,
.Divselect:active,
select.Select:not(.Divselect > select):focus {
    border-color: var(--input-border-focus) !important;
    background-color: var(--input-bg-focus) !important;
    box-shadow: var(--input-focus-ring) !important;
}

.Textinput.Disabled,
.Textinput:disabled,
.Textinput[disabled],
.Textinput[data-disabled="true"],
.Combobox-textinput.Disabled,
.Combobox-textinput:disabled,
.Combobox-textinput[disabled],
.Combobox-textinput[data-disabled="true"],
.Textarea.Disabled,
.Textarea:disabled,
.Textarea[disabled],
.Textarea[data-disabled="true"],
.Dateinput > input.Disabled,
.Dateinput > input:disabled,
.Dateinput > input[disabled],
.Dateinput > input[data-disabled="true"],
.Daterange .Startdate > input.Disabled,
.Daterange .Startdate > input:disabled,
.Daterange .Startdate > input[disabled],
.Daterange .Startdate > input[data-disabled="true"],
.Daterange .Enddate > input.Disabled,
.Daterange .Enddate > input:disabled,
.Daterange .Enddate > input[disabled],
.Daterange .Enddate > input[data-disabled="true"] {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    opacity: 1 !important;
    background: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

.Divselect.Disabled,
.Divselect[disabled],
.Divselect[data-disabled="true"],
.Divselect:has(> select.Disabled),
.Divselect:has(> select:disabled),
.Divselect:has(> select[disabled]),
.Divselect:has(> select[data-disabled="true"]),
select.Select:not(.Divselect > select).Disabled,
select.Select:not(.Divselect > select):disabled,
select.Select:not(.Divselect > select)[disabled],
select.Select:not(.Divselect > select)[data-disabled="true"] {
    color: var(--input-fg-disabled) !important;
    background-color: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* 코드·명 검색 */
.FormField {
    box-sizing: border-box;
    min-width: 0;
}

.FormField--lookup {
    display: flex;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
}

.FormField--lookup.newLookup {
    width: 100%;
    max-width: min(var(--src-field-max-width, 390px), 100%);
}

.Table.Form-type td .newFull {
    box-sizing: border-box;
    width: 100% !important;
    max-width: min(var(--src-field-max-width, 390px), 100%) !important;
    margin-right: 0 !important;
}

.Table.Form-type td select.Multiselect.newFull + .ui-multiselect {
    box-sizing: border-box;
    width: 100% !important;
    max-width: min(var(--src-field-max-width, 390px), 100%) !important;
    margin-right: 0 !important;
}

.FormField--lookup > .Textinput.sCode {
    flex: 0 0 120px !important;
    width: 120px !important;
    max-width: 120px !important;
}

.FormField--lookup > .Textinput.sName {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.FormField--lookup > .Textinput {
    margin-right: 0 !important;
}

.FormField--lookup > .Textinput.newSName {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.FormField--lookup-fields {
    display: flex;
    flex: 1 1 0;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
}

.FormField--lookup-fields > .Textinput {
    margin-right: 0 !important;
}

.FormField--lookup-fields > .Textinput.newSName {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.FormField--lookup-fields > .Textinput:is(.W30per, .W35per, .W40per, .W60per, .W65per, .W70per) {
    max-width: none !important;
}

.FormField--lookup > .Button {
    flex: 0 0 auto;
    /* skgas `.Table.Form-type td .Button { margin-right:4px }` 가 FormField 안에서도 먹어서
       Divselect.newFull / Daterange.newFull 보다 우측이 짧게 끝남 → 검색 버튼 margin 제거 */
    margin: 0 !important;
}

/* 한 셀의 선택폼 2개 — 공통 간격으로 균등 분할하고 한 줄을 유지한다. */
.FormField--select-pair {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    box-sizing: border-box;
    min-width: 0;
}

.Table.Form-type td > .FormField--select-pair > .Divselect,
.FormField--select-pair > .Divselect {
    display: block !important;
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
}

/* 검색 기준 선택 + 검색어 입력 — 공통 폭 안에서 입력이 남는 영역을 채운다. */
.FormField--control-pair {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
}

.FormField--control-pair > .Divselect {
    flex: 0 1 140px !important;
    width: 140px !important;
    min-width: 100px !important;
    max-width: 140px !important;
    margin-right: 0 !important;
}

.FormField--control-pair > .Textinput {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
}

/* 선택 기준에 따라 두 번째 컨트롤이 바뀌는 동적 검색 조건. */
.FormField--adaptive-control {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
}

.FormField--adaptive-control > .Divselect {
    flex: 0 1 140px !important;
    width: 140px !important;
    min-width: 100px !important;
    max-width: 140px !important;
    margin-right: 0 !important;
}

.FormField--adaptive-control > div:not(.Divselect) {
    flex: 1 1 0;
    min-width: 0;
}

.FormField--adaptive-control > div:not(.Divselect) .Divselect,
.FormField--adaptive-control > div:not(.Divselect) .Textinput {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
}

.FormField > .W100per {
    max-width: 100% !important;
}

input.Textinput.sCode {
    flex: 0 0 120px;
    max-width: 120px;
    background: #F5F7FA !important;
}

.newCode {
    flex: 0 0 110px !important;
    width: 110px !important;
    max-width: 110px !important;
}

input.Textinput.sName {
    flex: 1;
    min-width: 0;
    max-width: min(var(--input-max-width-name), 100%);
}

input.Textinput.sCode.Disabled,
input.Textinput.sCode:disabled,
input.Textinput.sCode[disabled],
input.Textinput.sCode[data-disabled="true"],
input.Textinput.sName.Disabled,
input.Textinput.sName:disabled,
input.Textinput.sName[disabled],
input.Textinput.sName[data-disabled="true"] {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    opacity: 1 !important;
    background: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* 검색 테이블 셀 — sName 고정 상한(2·4열 동일). calc(100%) 금지: 4열 td가 넓으면 판매점만 커짐 */
.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.sName {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(var(--src-search-sname-max, 160px), 100%) !important;
}

/* ── 입력폼 최대 가로폭 (Table.Form-type · 검색/상세 공통) ── */
.Table.Form-type tbody td > .Textinput:not(.login-input):not([class*="Width-"]),
.Table.Form-type tbody td > .Combobox-textinput {
    max-width: min(var(--input-max-width), 100%);
}

.Table.Form-type tbody td > .Textarea:not([class*="Width-"]) {
    max-width: min(var(--input-max-width-textarea), 100%);
    box-sizing: border-box;
}

.Table.Form-type tbody td > .Divselect:not([class*="Width-"]) {
    max-width: min(var(--input-max-width-select), 100%);
}

/* ── wego 'W100per' 유틸 복원 (미이관 클래스, AS-IS 호환) ──
   AS-IS(wego-alopex-ui-default.css)의 .W100per { width:100% } 동작을 복원한다.
   width 강제 + Form-type 입력의 max-width 제한 해제로 셀(td) 전폭을 사용한다.
   textarea(비고/공지 등)·input(정렬순서 등) 공통. */
.W100per {
    width: 100% !important;
}

/* 폼 분할 비율 유틸 — 기존 W30/W70(px)과 구분하기 위해 per 접미사 사용 */
.W30per {
    flex: 0 1 30% !important;
    width: 30% !important;
    min-width: 0;
}

.W35per {
    flex: 0 1 35% !important;
    width: 35% !important;
    min-width: 0;
}

.W40per {
    flex: 0 1 40% !important;
    width: 40% !important;
    min-width: 0;
}

.W60per {
    flex: 0 1 60% !important;
    width: 60% !important;
    min-width: 0;
}

.W65per {
    flex: 0 1 65% !important;
    width: 65% !important;
    min-width: 0;
}

.W70per {
    flex: 0 1 70% !important;
    width: 70% !important;
    min-width: 0;
}

.W400 {
    width: 400px;
}

.W410 {
    width: 410px;
}

.Table.Form-type tbody td > :is(.W100per, .W30per, .W35per, .W40per, .W60per, .W65per, .W70per) {
    max-width: 100% !important;
}

/* Divselect — 시각만. span/select 위치·크기는 L3 유지, 표시 텍스트 정렬만 보정 */
.Divselect,
.Divselect:hover,
.Divselect:focus-within,
.Divselect:active,
.Divselect.ui-state-active {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 6px center !important;
    background-size: 18px !important;
}

.Divselect {
    min-width: 140px;
    height: var(--input-height) !important;
    padding: 0 28px 0 10px !important;
    box-sizing: border-box;
    line-height: calc(var(--input-height) - 3px) !important;
    text-align: left;
    overflow: visible !important;
    cursor: pointer;
}

/* 클릭은 투명 select — span은 표시만 (flex·전체 덮기 금지) */
.Divselect > span {
    pointer-events: none;
    display: block;
    height: 100%;
    line-height: inherit !important;
    max-width: 100%;
    margin-right: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Divselect 내부 select는 값·포커스·클릭만 담당하고 시각은 wrapper가 담당한다. */
.Divselect > select.Select {
    opacity: 0 !important;
    background-image: none !important;
}

/* Divselect 밖 단독 select만 자체 시각과 화살표를 가진다. */
select.Select:not(.Divselect > select),
select.Select:not(.Divselect > select):hover,
select.Select:not(.Divselect > select):focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 6px center !important;
    background-size: 18px !important;
}

select.Select:not(.Divselect > select) {
    min-width: 140px;
    height: var(--input-height) !important;
    padding: 0 28px 0 10px !important;
    line-height: normal !important;
    vertical-align: middle;
    appearance: none;
    cursor: pointer;
}

.Divselect.Disabled,
.Divselect:has(> select.Disabled),
.Divselect:has(> select:disabled),
.Divselect:has(> select[disabled]),
.Divselect:has(> select[data-disabled="true"]) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23C8D0DA' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
}

select.Select:not(.Divselect > select).Disabled,
select.Select:not(.Divselect > select):disabled,
select.Select:not(.Divselect > select)[disabled],
select.Select:not(.Divselect > select)[data-disabled="true"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23C8D0DA' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
}

/* =====================================================
   Select 옵션 패널 — Combobox · Autocomplete · Dropdown · MultiSelect
   ※ L3 wegoplus #fa5a4c → WEGO primary-light / brand-primary (가독성)
   ※ Divselect는 네이티브 <select> 팝업(OS UI) — option 규칙은 브라우저 한도 내 보조
===================================================== */
.Combobox-dropdown,
.Combobox-wrapper .Combobox-dropdown,
.Autocomplete-dropdown,
.Autocomplete-wrapper,
.Dropdown,
.Dropdown ul,
.Multiselect.ui-multiselect-menu,
.MultiSelect.ui-multiselect-menu {
    font-family: var(--wego-font-sans, inherit) !important;
    font-size: var(--input-font-size, 15px) !important;
    color: var(--text-primary) !important;
    background: var(--bg-white) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow-md) !important;
    box-sizing: border-box;
}

.Combobox-dropdown,
.Autocomplete-dropdown {
    padding: 4px 0 !important;
    margin: 0 !important;
    max-height: 280px !important;
    overflow-y: auto;
}

.Dropdown,
.Dropdown ul {
    padding: 4px 0 !important;
    margin: 0 !important;
    min-width: 168px;
    z-index: var(--wego-z-floating-control, 10000);
}

.Multiselect.ui-multiselect-menu,
.MultiSelect.ui-multiselect-menu {
    padding: 6px 4px !important;
    min-width: 200px;
    max-height: 320px;
}

.Combobox-dropdown li,
.Autocomplete-dropdown li,
.Dropdown li {
    position: relative;
    padding: 0 !important;
    margin: 0 4px !important;
    line-height: normal !important;
    color: var(--text-secondary) !important;
    text-indent: 0 !important;
    border-radius: var(--radius-xs);
    list-style: none;
}

.Combobox-dropdown li > a,
.Autocomplete-dropdown li > a,
.Dropdown li > a {
    display: block !important;
    width: 100% !important;
    padding: 8px 12px !important;
    font-size: var(--input-font-size, 15px) !important;
    font-weight: 400;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.Combobox-dropdown > li:hover,
.Combobox-dropdown > li.Selected,
.Combobox-dropdown > li.Focused,
.Autocomplete-dropdown > li:hover,
.Autocomplete-dropdown > li.Selected,
.Autocomplete-dropdown > li.Focused,
.Dropdown > li:hover,
.Dropdown > li.Focused {
    cursor: pointer;
    background: var(--brand-primary-light) !important;
    color: var(--brand-primary) !important;
}

.Combobox-dropdown > li:hover > a,
.Combobox-dropdown > li.Selected > a,
.Combobox-dropdown > li.Focused > a,
.Autocomplete-dropdown > li:hover > a,
.Autocomplete-dropdown > li.Selected > a,
.Autocomplete-dropdown > li.Focused > a,
.Dropdown > li:hover > a,
.Dropdown > li.Focused > a {
    color: var(--brand-primary) !important;
    text-decoration: none !important;
}

.Combobox-dropdown li.Disabled,
.Combobox-dropdown li.Disabled *,
.Autocomplete-dropdown li.Disabled,
.Autocomplete-dropdown li.Disabled *,
.Dropdown li.Disabled,
.Dropdown li.Disabled * {
    color: var(--input-fg-disabled, #b0bbc8) !important;
    cursor: not-allowed !important;
}

.Combobox-dropdown > li:hover.Disabled,
.Combobox-dropdown > li.Selected.Disabled,
.Combobox-dropdown > li.Focused.Disabled,
.Autocomplete-dropdown > li:hover.Disabled,
.Autocomplete-dropdown > li.Selected.Disabled,
.Autocomplete-dropdown > li.Focused.Disabled,
.Dropdown > li:hover.Disabled,
.Dropdown > li.Focused.Disabled,
.Combobox-dropdown > li:hover.Disabled > a,
.Combobox-dropdown > li.Selected.Disabled > a,
.Combobox-dropdown > li.Focused.Disabled > a,
.Autocomplete-dropdown > li:hover.Disabled > a,
.Autocomplete-dropdown > li.Selected.Disabled > a,
.Autocomplete-dropdown > li.Focused.Disabled > a,
.Dropdown > li:hover.Disabled > a,
.Dropdown > li.Focused.Disabled > a {
    background: transparent !important;
    color: var(--input-fg-disabled, #b0bbc8) !important;
}

/* MultiSelect 체크 목록 */
.Multiselect .ui-multiselect-checkboxes,
.MultiSelect .ui-multiselect-checkboxes {
    padding: 2px 0;
}

.Multiselect .ui-multiselect-checkboxes li,
.MultiSelect .ui-multiselect-checkboxes li {
    margin: 0 4px;
    padding: 0;
    border-radius: var(--radius-xs);
}

.Multiselect .ui-multiselect-checkboxes label,
.MultiSelect .ui-multiselect-checkboxes label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 7px 10px !important;
    margin: 0;
    font-size: var(--input-font-size, 15px) !important;
    color: var(--text-secondary) !important;
    cursor: pointer;
    border-radius: var(--radius-xs);
    transition: background-color 0.12s ease, color 0.12s ease;
}

.Multiselect .ui-multiselect-checkboxes label:hover,
.MultiSelect .ui-multiselect-checkboxes label:hover,
.Multiselect .ui-multiselect-checkboxes li.ui-state-hover label,
.MultiSelect .ui-multiselect-checkboxes li.ui-state-hover label {
    background: var(--brand-primary-light) !important;
    color: var(--brand-primary) !important;
}

.Multiselect .ui-multiselect-header,
.MultiSelect .ui-multiselect-header {
    margin: 0 4px 6px !important;
    padding: 6px 8px !important;
    font-size: 12px !important;
    color: var(--text-muted) !important;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-hover) !important;
    border-radius: var(--radius-xs) var(--radius-xs) 0 0;
}

/* MultiSelect 트리거 — FO/BO 공통 입력폼 시각 */
.ui-multiselect.Multiselect,
.ui-multiselect.MultiSelect {
    box-sizing: border-box;
    height: var(--input-height, 32px) !important;
    padding: 0 10px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius-sm) !important;
    background: var(--bg-white) !important;
    color: var(--text-primary) !important;
}

.ui-multiselect.Multiselect:hover,
.ui-multiselect.Multiselect.ui-state-active,
.ui-multiselect.MultiSelect:hover,
.ui-multiselect.MultiSelect.ui-state-active {
    border-color: var(--brand-primary) !important;
}

/* Divselect PC 옵션 레이어 — 브라우저 기본 select 팝업을 대체 */
.Divselect[data-desktop-divselect="true"] {
    padding-right: 30px;
    background-image: none !important;
}

.Divselect[data-desktop-divselect="true"]::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 11px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border: solid var(--text-muted);
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
    transition: transform .16s ease, margin-top .16s ease;
    pointer-events: none;
}

.Divselect[data-desktop-divselect="true"].is-desktop-menu-open::after {
    margin-top: -2px;
    transform: rotate(225deg);
}

.DivselectMenu {
    position: fixed;
    z-index: var(--wego-z-floating-control-top, 10020);
    box-sizing: border-box;
    max-height: min(320px, calc(100vh - 24px));
    padding: 5px;
    overflow-y: auto;
    background: var(--bg-white, #fff);
    border: 1px solid var(--border-color, #d9dde3);
    border-radius: var(--radius-sm, 6px);
    box-shadow: 0 12px 28px rgba(25, 35, 52, .16), 0 2px 6px rgba(25, 35, 52, .08);
}

.DivselectMenu[hidden] {
    display: none !important;
}

.DivselectMenu-option {
    display: block;
    width: 100%;
    min-height: 32px;
    padding: 0 10px;
    overflow: hidden;
    color: var(--text-secondary, #4b5563);
    font: inherit;
    font-size: var(--input-font-size, 13px);
    line-height: 32px;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    background: transparent;
    border: 0;
    border-radius: var(--radius-xs, 4px);
}

.DivselectMenu-option:hover,
.DivselectMenu-option:focus {
    outline: 0;
    color: var(--brand-primary, #f15a24);
    background: var(--brand-primary-light, #fff1eb);
}

.DivselectMenu-option.is-selected {
    position: relative;
    padding-right: 30px;
    color: var(--brand-primary, #f15a24);
    font-weight: 600;
    background: var(--brand-primary-light, #fff1eb);
}

.DivselectMenu-option.is-selected::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 7px;
    height: 4px;
    margin-top: -3px;
    border: solid currentColor;
    border-width: 0 0 1.5px 1.5px;
    transform: rotate(-45deg);
}

.DivselectMenu-option:disabled {
    color: var(--text-disabled, #aab1bb);
    cursor: default;
    background: transparent;
}

/* MultiSelect 헤더 — 필터와 일괄 동작을 구분해 가독성 개선 */
.Multiselect .ui-multiselect-header,
.MultiSelect .ui-multiselect-header {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 8px !important;
}

.Multiselect .ui-multiselect-filter,
.MultiSelect .ui-multiselect-filter {
    display: block;
    flex: 1 1 100%;
    margin: 0 !important;
    color: var(--text-muted) !important;
    font-size: 12px;
}

.Multiselect .ui-multiselect-filter input,
.MultiSelect .ui-multiselect-filter input {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    height: 30px !important;
    padding: 0 9px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius-xs) !important;
    background: var(--bg-white) !important;
    color: var(--text-primary) !important;
    font-size: 13px !important;
}

.Multiselect .ui-multiselect-filter input:focus,
.MultiSelect .ui-multiselect-filter input:focus {
    outline: 0;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 2px var(--brand-primary-light);
}

.Multiselect .ui-multiselect-hasfilter ul,
.MultiSelect .ui-multiselect-hasfilter ul {
    position: static !important;
    display: flex;
    gap: 6px;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.Multiselect .ui-multiselect-header ul li,
.MultiSelect .ui-multiselect-header ul li {
    float: none !important;
    padding: 0 !important;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-all,
.Multiselect .ui-multiselect-header a.ui-multiselect-none,
.MultiSelect .ui-multiselect-header a.ui-multiselect-all,
.MultiSelect .ui-multiselect-header a.ui-multiselect-none {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    min-height: 26px;
    padding: 0 8px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xs);
    background: var(--bg-white);
    color: var(--text-secondary) !important;
    font-size: 12px;
    line-height: 1;
    text-decoration: none !important;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-all > span.ui-icon,
.Multiselect .ui-multiselect-header a.ui-multiselect-none > span.ui-icon,
.MultiSelect .ui-multiselect-header a.ui-multiselect-all > span.ui-icon,
.MultiSelect .ui-multiselect-header a.ui-multiselect-none > span.ui-icon {
    display: none;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-all:hover,
.Multiselect .ui-multiselect-header a.ui-multiselect-none:hover,
.MultiSelect .ui-multiselect-header a.ui-multiselect-all:hover,
.MultiSelect .ui-multiselect-header a.ui-multiselect-none:hover {
    background: var(--brand-primary-light);
}

.Multiselect .ui-multiselect-header li.ui-multiselect-close,
.MultiSelect .ui-multiselect-header li.ui-multiselect-close {
    position: absolute;
    top: 4px;
    right: 8px;
    margin: 0;
    padding-right: 0 !important;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-close,
.MultiSelect .ui-multiselect-header a.ui-multiselect-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: var(--radius-xs);
}

.Multiselect .ui-multiselect-header a.ui-multiselect-close span.ui-icon,
.MultiSelect .ui-multiselect-header a.ui-multiselect-close span.ui-icon {
    position: relative;
    display: block;
    width: 18px;
    height: 18px;
    background-image: none !important;
    color: #222;
    font-size: 20px;
    line-height: 18px;
    text-align: center;
    text-indent: 0 !important;
    overflow: visible !important;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-close span.ui-icon::before,
.MultiSelect .ui-multiselect-header a.ui-multiselect-close span.ui-icon::before {
    position: absolute;
    inset: 0;
    display: block;
    content: '\00d7';
}

.Multiselect .ui-multiselect-header a.ui-multiselect-close:hover,
.MultiSelect .ui-multiselect-header a.ui-multiselect-close:hover {
    background: var(--bg-white);
    color: #222;
}

.Multiselect .ui-multiselect-header a.ui-multiselect-close:hover span.ui-icon,
.MultiSelect .ui-multiselect-header a.ui-multiselect-close:hover span.ui-icon {
    color: #222;
}

.Multiselect .ui-multiselect-header span.ui-icon,
.MultiSelect .ui-multiselect-header span.ui-icon {
    float: none !important;
    margin: 0 !important;
}

/* 네이티브 select option (Divselect 내부·select.Select) — 브라우저별 제한 있음 */
.Divselect > select option,
select.Select option {
    font-family: var(--wego-font-sans, inherit);
    font-size: var(--input-font-size, 15px);
    color: var(--text-primary);
    background-color: var(--bg-white);
    padding: 6px 8px;
    line-height: 1.4;
}

.Divselect > select option:checked,
select.Select option:checked {
    background: var(--brand-primary-light);
    color: var(--brand-primary);
    font-weight: 500;
}

/* =====================================================
   Dateinput · Daterange · Datepicker — wego 달력
===================================================== */
.Dateinput,
.Daterange .Startdate,
.Daterange .Enddate {
    display: inline-flex;
    align-items: center;
    gap: 0;
    position: relative;
    vertical-align: middle;
}

.Dateinput > input,
.Dateinput > .Textinput,
.Daterange .Startdate > input,
.Daterange .Startdate > .Textinput,
.Daterange .Enddate > input,
.Daterange .Enddate > .Textinput {
    width: 124px;
    min-width: 124px;
    flex: 0 0 auto;
    height: var(--input-height) !important;
    padding: var(--input-padding) !important;
    margin: 0 !important;
    border-right: none !important;
    border-radius: var(--input-radius) 0 0 var(--input-radius) !important;
}

/* 달력 트리거 — 입력 옆 형제 배치(wegoplus right:-25px·float 겹침 방지) */
.Dateinput > .Calendar,
.Daterange .Startdate > .Calendar,
.Daterange .Enddate > .Calendar {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
    margin-left: 0 !important;
    flex: 0 0 32px;
    width: 32px !important;
    height: var(--input-height) !important;
    min-width: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    cursor: pointer;
    border: 1.5px solid var(--input-border) !important;
    border-left: none !important;
    border-radius: 0 var(--input-radius) var(--input-radius) 0 !important;
    background-color: var(--bg-white) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 18px 18px !important;
    transition: border-color 0.15s, background-color 0.15s;
}

/* 검색폼 전체 폭 단일 날짜 — 달력 버튼을 제외한 남는 폭을 입력이 채운다. */
:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Dateinput.newFull {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    max-width: min(var(--src-field-max-width, 390px), 100%) !important;
    min-width: 0;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Dateinput.newFull > input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Dateinput.newFull > .Calendar {
    flex: 0 0 32px;
}

/* 검색폼 단일 날짜 + 앞뒤 보조 컨트롤 — 보조 컨트롤을 제외한 나머지를 날짜가 채운다. */
:is(#searchDiv, .src-box--standard-search) .Table.Form-type td :is(.FormField--date-suffix, .FormField--date-context).newFull {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td :is(.FormField--date-suffix, .FormField--date-context).newFull > .Dateinput {
    display: flex !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td :is(.FormField--date-suffix, .FormField--date-context).newFull > .Dateinput > input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td :is(.FormField--date-suffix, .FormField--date-context).newFull > .Dateinput > .Calendar {
    flex: 0 0 32px;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td :is(.FormField--date-suffix, .FormField--date-context).newFull > :not(.Dateinput) {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* 검색폼 전체 폭 날짜 기간 — 시작일·종료일이 셀의 남는 폭을 균등 분할한다.
   .src-box .tbl-src .Daterange { width:auto } 보다 우선해 lookup(newLookup)과 우측 끝 정렬. */
:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Daterange.newFull {
    display: flex !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
    width: 100% !important;
    max-width: min(var(--src-field-max-width, 390px), 100%) !important;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Daterange.newFull > .Dateinput {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0;
}

:is(#searchDiv, .src-box--standard-search) .Table.Form-type td .Daterange.newFull > .Dateinput > input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.Dateinput:hover > input,
.Dateinput:hover > .Textinput,
.Dateinput:hover > .Calendar,
.Daterange .Startdate:hover > input,
.Daterange .Startdate:hover > .Textinput,
.Daterange .Startdate:hover > .Calendar,
.Daterange .Enddate:hover > input,
.Daterange .Enddate:hover > .Textinput,
.Daterange .Enddate:hover > .Calendar {
    border-color: var(--input-border-hover) !important;
}

.Dateinput:hover > input,
.Dateinput:hover > .Textinput,
.Daterange .Startdate:hover > input,
.Daterange .Startdate:hover > .Textinput,
.Daterange .Enddate:hover > input,
.Daterange .Enddate:hover > .Textinput {
    background: var(--bg-white) !important;
}

.Dateinput:hover > .Calendar,
.Daterange .Startdate:hover > .Calendar,
.Daterange .Enddate:hover > .Calendar,
.Dateinput:focus-within > .Calendar,
.Daterange .Startdate:focus-within > .Calendar,
.Daterange .Enddate:focus-within > .Calendar {
    background-color: var(--brand-primary-light) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EF7620' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E") !important;
}

.Dateinput:focus-within,
.Daterange .Startdate:focus-within,
.Daterange .Enddate:focus-within {
    border-radius: var(--input-radius);
    box-shadow: var(--input-focus-ring) !important;
}

.Dateinput:focus-within > input,
.Dateinput:focus-within > .Textinput,
.Daterange .Startdate:focus-within > input,
.Daterange .Startdate:focus-within > .Textinput,
.Daterange .Enddate:focus-within > input,
.Daterange .Enddate:focus-within > .Textinput {
    border-color: var(--input-border-focus) !important;
    border-right: none !important;
    background: var(--input-bg-focus) !important;
    box-shadow: none !important;
}

.Dateinput:focus-within > .Calendar,
.Daterange .Startdate:focus-within > .Calendar,
.Daterange .Enddate:focus-within > .Calendar {
    border-color: var(--input-border-focus) !important;
    border-left: none !important;
}

.Dateinput:has(> .Calendar:active) > input,
.Dateinput:has(> .Calendar:active) > .Textinput,
.Dateinput:has(> .Calendar:active) > .Calendar,
.Daterange .Startdate:has(> .Calendar:active) > input,
.Daterange .Startdate:has(> .Calendar:active) > .Textinput,
.Daterange .Startdate:has(> .Calendar:active) > .Calendar,
.Daterange .Enddate:has(> .Calendar:active) > input,
.Daterange .Enddate:has(> .Calendar:active) > .Textinput,
.Daterange .Enddate:has(> .Calendar:active) > .Calendar {
    border-color: var(--input-border-focus) !important;
}

.Dateinput:has(> .Calendar:active),
.Daterange .Startdate:has(> .Calendar:active),
.Daterange .Enddate:has(> .Calendar:active) {
    border-radius: var(--input-radius);
    box-shadow: var(--input-focus-ring) !important;
}

.Dateinput > .Calendar.Disabled,
.Daterange .Calendar.Disabled {
    cursor: not-allowed !important;
    background-color: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C8D0DA' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E") !important;
}

.Dateinput > .Clear,
.Daterange .Clear {
    right: 32px !important;
    top: 50% !important;
    transform: translateY(-50%);
    width: 14px !important;
    height: 14px !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239CA3AF' d='M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12l-4.89 4.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") no-repeat center / 14px !important;
    border: none !important;
    text-indent: -9999px;
    overflow: hidden;
}

.Daterange .Startdate,
.Daterange .Enddate {
    display: inline-flex;
    align-items: center;
}

/* Datepicker 팝업 — 닫기(X)는 테두리 밖 우상단 */
.Datepicker {
    position: relative;
    z-index: var(--wego-z-floating-control, 10000);
    width: 284px;
    padding: 10px 12px;
    font-family: var(--wego-font-sans, inherit);
    font-size: 13px;
    color: var(--text-primary);
    background: var(--bg-white);
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-md) !important;
    box-sizing: border-box;
    overflow: visible !important;
}

.Datepicker > table {
    width: 100%;
}

/* Header — 년(왼쪽) / 월(오른쪽), 컨테이너 안에 유지 */
.Datepicker .Header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    height: auto;
    min-height: 32px;
    margin: 0 0 8px;
    padding: 0 28px 0 0;
    box-sizing: border-box;
}

/* Alopex DOM 순서: Prev → Next → Label — order로 ◀ 라벨 ▶ */
.Datepicker .SubheaderYear,
.Datepicker .SubheaderMonth,
.Datepicker .SubheaderYearWide {
    display: inline-flex !important;
    align-items: center;
    gap: 2px;
    width: auto !important;
    max-width: calc(50% - 4px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: 1 1 0;
    min-width: 0;
    box-sizing: border-box;
}

.Datepicker .SubheaderYear,
.Datepicker .SubheaderYearWide {
    justify-content: flex-start;
}

.Datepicker .SubheaderMonth {
    justify-content: flex-end;
}

.Datepicker .SubheaderYearWide {
    max-width: 100%;
    flex-basis: 100%;
    justify-content: center;
}

.Datepicker .SubheaderYear .PrevYear,
.Datepicker .SubheaderYearWide .PrevYear,
.Datepicker .SubheaderMonth .PrevMonth {
    order: 1;
}

.Datepicker .SubheaderYear .CurrentYear,
.Datepicker .SubheaderYear .CurrentYearSelect,
.Datepicker .SubheaderYearWide .CurrentYear,
.Datepicker .SubheaderYearWide .CurrentYearSelect,
.Datepicker .SubheaderMonth .CurrentMonth,
.Datepicker .SubheaderMonth .CurrentMonthSelect {
    order: 2;
    padding: 0 4px !important;
    margin: 0 !important;
    min-width: 0;
    flex: 1 1 auto;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.Datepicker .SubheaderYear .NextYear,
.Datepicker .SubheaderYearWide .NextYear,
.Datepicker .SubheaderMonth .NextMonth {
    order: 3;
}

.Datepicker .PrevYear,
.Datepicker .PrevMonth,
.Datepicker .NextYear,
.Datepicker .NextMonth {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    float: none !important;
}

.Datepicker .CurrentYear,
.Datepicker .CurrentMonth {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 28px;
    display: inline-block;
    vertical-align: middle;
}

.Datepicker .CurrentYearSelect,
.Datepicker .CurrentMonthSelect {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    height: 28px;
    line-height: 28px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: 0 6px;
    vertical-align: middle;
}

.Datepicker .PrevYear .Control,
.Datepicker .PrevMonth .Control,
.Datepicker .NextYear .Control,
.Datepicker .NextMonth .Control,
.Datepicker .BtnClose .Control {
    width: 24px !important;
    height: 24px !important;
    border-radius: var(--radius-sm) !important;
    border: 1px solid var(--border-color) !important;
    background-color: var(--bg-white) !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 18px 18px !important;
    box-sizing: border-box;
    transition: border-color 0.15s, background-color 0.15s;
}

.Datepicker .PrevYear .Control,
.Datepicker .PrevMonth .Control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z'/%3E%3C/svg%3E") !important;
}

.Datepicker .NextYear .Control,
.Datepicker .NextMonth .Control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z'/%3E%3C/svg%3E") !important;
}

.Datepicker .PrevYear .Control:hover,
.Datepicker .PrevMonth .Control:hover,
.Datepicker .NextYear .Control:hover,
.Datepicker .NextMonth .Control:hover {
    border-color: var(--brand-primary-border) !important;
    background-color: var(--brand-primary-light) !important;
}

.Datepicker > .BtnClose {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none;
    float: none !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 3;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

.Datepicker .BtnClose .Control {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    border: 1px solid var(--border-color) !important;
    background-color: var(--bg-white) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23374151' d='M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12l-4.89 4.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") !important;
    background-size: 14px 14px !important;
    transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s;
}

.Datepicker .BtnClose .Control:hover,
.Datepicker .BtnClose .Control:active {
    border-color: var(--brand-primary-border) !important;
    background-color: var(--brand-primary-light) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EF7620' d='M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12l-4.89 4.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") !important;
}

.Datepicker table {
    border-collapse: separate;
    border-spacing: 2px;
}

.Datepicker thead th {
    height: 30px;
    padding: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    background: var(--bg-hover) !important;
    border: none !important;
    border-radius: var(--radius-xs);
}

.Datepicker .Cell {
    width: auto;
    height: auto;
    padding: 1px;
    border: none !important;
}

.Datepicker .Day,
.Datepicker .Month,
.Datepicker .PrevMonthDay,
.Datepicker .NextMonthDay {
    display: block;
    height: 32px;
    line-height: 32px;
    font-size: 13px;
    border-radius: var(--radius-xs);
    border: none !important;
    color: var(--text-primary);
    background: var(--bg-white) !important;
    box-sizing: border-box;
}

.Datepicker .PrevMonthDay,
.Datepicker .NextMonthDay {
    color: var(--text-light) !important;
    background: var(--bg-hover) !important;
}

.Datepicker .Day:hover,
.Datepicker .Month:hover,
.Datepicker a:focus {
    color: var(--brand-primary) !important;
    background: var(--brand-primary-light) !important;
    font-weight: 600;
}

.Datepicker .Today {
    color: var(--brand-primary) !important;
    background: var(--brand-primary-light) !important;
    font-weight: 600;
}

.Datepicker .Day.Selected,
.Datepicker .Day.af-selected,
.Datepicker a.Selected,
.Datepicker a.af-selected {
    color: var(--bg-white) !important;
    background: var(--brand-primary) !important;
    font-weight: 600;
}

.Datepicker .Day.Disabled,
.Datepicker .PrevMonthDay.Disabled,
.Datepicker .NextMonthDay.Disabled {
    color: var(--text-light) !important;
    background: var(--input-bg-disabled) !important;
    cursor: not-allowed;
}

/* 그리드 인라인 select */
.wegoplusgrid .bodycell select,
.wegoplusgrid .bodycell .grid-select,
select.grid-select {
    width: 100%;
    height: var(--input-height);
    padding: 2px 8px;
    border: 1px solid var(--input-border);
    border-radius: var(--radius-xs);
    font-family: var(--wego-font-sans, inherit);
    font-size: var(--input-font-size);
    color: var(--text-secondary);
    background-color: var(--bg-white);
    outline: none;
}

.wegoplusgrid .bodycell select:focus,
select.grid-select:focus {
    border-color: var(--input-border-focus);
}

/* =====================================================
   Checkbox · Radio — wego 토큰(주황) · Alopex·native 공통
   ※ .wegoplusgrid-default-renderer·로그인 .save-id 제외
===================================================== */
input[type="checkbox"]:not(.wegoplusgrid-default-renderer),
input.Checkbox[type="checkbox"],
input[type="radio"]:not(.wegoplusgrid-default-renderer),
input.Radio[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    margin: 0;
    border: 1.5px solid #CBD5E1;
    background: var(--bg-white);
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
    box-sizing: border-box;
    transition: border-color 0.15s, background 0.15s;
    position: relative;
    accent-color: var(--brand-primary);
}

input[type="checkbox"]:not(.wegoplusgrid-default-renderer),
input.Checkbox[type="checkbox"] {
    border-radius: 4px;
    overflow: hidden;
    top: 0;
}

/* 체크 아이콘 — ::after 대신 박스 안 SVG(Alopex .Checkbox overflow:hidden 대응) */
input[type="checkbox"]:not(.wegoplusgrid-default-renderer):checked,
input.Checkbox[type="checkbox"]:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M2.2 7.1 5.4 10.3 11.8 3.3l1 1-7.4 7.4-4.2-4.2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 13px 13px;
    background-clip: padding-box;
}

input[type="radio"]:not(.wegoplusgrid-default-renderer),
input.Radio[type="radio"] {
    border-radius: 50%;
    overflow: visible !important;
    top: 0 !important;
    align-self: center;
}

input[type="checkbox"]:not(.wegoplusgrid-default-renderer):hover,
input.Checkbox[type="checkbox"]:hover,
input[type="radio"]:not(.wegoplusgrid-default-renderer):hover,
input.Radio[type="radio"]:hover {
    border-color: var(--brand-primary);
}

input[type="checkbox"]:not(.wegoplusgrid-default-renderer):checked::after,
input.Checkbox[type="checkbox"]:checked::after {
    content: none;
}

input[type="radio"]:not(.wegoplusgrid-default-renderer):checked,
input.Radio[type="radio"]:checked {
    border-color: var(--brand-primary);
    background: var(--bg-white);
}

input[type="radio"]:not(.wegoplusgrid-default-renderer):checked::after,
input.Radio[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--brand-primary);
}

input[type="checkbox"]:not(.wegoplusgrid-default-renderer):disabled,
input.Checkbox[type="checkbox"]:disabled,
input[type="radio"]:not(.wegoplusgrid-default-renderer):disabled,
input.Radio[type="radio"]:disabled {
    background-color: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    cursor: not-allowed;
}

input[type="checkbox"]:not(.wegoplusgrid-default-renderer):disabled:checked,
input.Checkbox[type="checkbox"]:disabled:checked {
    background-color: #C8D0DA !important;
    border-color: #C8D0DA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M2.2 7.1 5.4 10.3 11.8 3.3l1 1-7.4 7.4-4.2-4.2z'/%3E%3C/svg%3E");
    background-size: 13px 13px;
    background-clip: padding-box;
}

input[type="radio"]:not(.wegoplusgrid-default-renderer):disabled:checked::after,
input.Radio[type="radio"]:disabled:checked::after {
    background: #C8D0DA;
}

.sasCheckbox,
.sasRadio,
.src-box .tbl-src tbody td:has(> label.ImageRadio),
.src-box .tbl-src tbody td:has(> .ImageRadio) {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    min-height: var(--input-height);
}

.sasCheckbox label,
.sasRadio label,
label:has(> input[type="checkbox"]:not(.wegoplusgrid-default-renderer)),
label:has(> input.Checkbox),
label.ImageRadio,
label:has(> input[type="radio"]:not(.wegoplusgrid-default-renderer)),
label:has(> input.Radio) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px;
    margin-right: 10px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-secondary);
    cursor: pointer;
    vertical-align: middle;
    white-space: nowrap;
    min-height: var(--input-height);
    position: relative;
    box-sizing: border-box;
}

label:has(> input:disabled),
label:has(> input.Checkbox:disabled),
label:has(> input.Radio:disabled) {
    color: #B0BBC8;
    cursor: not-allowed;
}

/* ImageCheckbox / ImageRadio — 레거시 :after 스프라이트 → wego 박스 */
.ImageCheckbox:not(.save-id),
label.ImageRadio,
.ImageRadio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px;
    vertical-align: middle;
    line-height: 1.2;
    min-height: var(--input-height);
}

.ImageCheckbox:not(.save-id):after,
.ImageRadio:after {
    content: "" !important;
    position: absolute;
    left: 0 !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    margin-top: -8px !important;
    border: 1.5px solid #CBD5E1 !important;
    background-color: var(--bg-white) !important;
    background-image: none !important;
    box-sizing: border-box;
}

.ImageCheckbox:not(.save-id):after {
    border-radius: 4px !important;
}

label.ImageRadio:after,
.ImageRadio:after {
    border-radius: 50% !important;
    pointer-events: none;
}

.ImageCheckbox:not(.save-id).Checked:after {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M2.2 7.1 5.4 10.3 11.8 3.3l1 1-7.4 7.4-4.2-4.2z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 13px 13px !important;
    background-clip: padding-box !important;
}

.ImageRadio.Checked:after {
    border-color: var(--brand-primary) !important;
    background-color: var(--bg-white) !important;
    box-shadow: inset 0 0 0 4px var(--brand-primary);
}

.ImageCheckbox:not(.save-id).Disabled:after,
.ImageRadio.Disabled:after {
    background-color: var(--input-bg-disabled) !important;
    border-color: var(--input-border-disabled) !important;
    box-shadow: none !important;
}

.ImageCheckbox:not(.save-id).Checked.Disabled:after {
    background-color: #C8D0DA !important;
    border-color: #C8D0DA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M2.2 7.1 5.4 10.3 11.8 3.3l1 1-7.4 7.4-4.2-4.2z'/%3E%3C/svg%3E") !important;
    background-size: 13px 13px !important;
    background-clip: padding-box !important;
}

.ImageRadio.Checked.Disabled:after {
    box-shadow: inset 0 0 0 4px #C8D0DA !important;
}

.ImageCheckbox:not(.save-id) > .Checkbox,
label.ImageRadio > .Radio,
.ImageRadio > .Radio {
    flex: 0 0 16px;
    width: 16px !important;
    height: 16px !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    top: 0 !important;
    position: relative !important;
    z-index: 1;
    align-self: center;
}

/* =====================================================
   Phase 2b — 검색·타이틀 (.src-box / .cnt-title HTML 유지)
   타이틀 좌측 · 브레드크럼 우측 (HTML 순서 변경 없음)
===================================================== */
.title-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px var(--title-breadcrumb-gap);
    flex-wrap: wrap;
    margin-bottom: var(--title-block-bottom-gap);
}

.title-wrap::after {
    content: none;
    display: none;
}

.title-wrap .cnt-title,
.title-wrap .title-right__wrap {
    float: none;
}

.cnt-title {
    order: 1;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    font-size: 26px;
    font-weight: 600;
    color: var(--text-primary);
}

.title-right__wrap {
    order: 2;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 60%;
    margin-left: auto;
    text-align: right;
    align-self: center;
    position: static;
    top: auto;
    font-size: 14px;
    color: var(--text-muted);
    background: none !important;
    padding-left: 0 !important;
}

.title-right__wrap:empty {
    display: none;
}

.page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px 8px;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--text-muted);
}

.page-breadcrumb__home {
    font-size: 18px;
    color: var(--brand-primary-mid);
    flex-shrink: 0;
}

.page-breadcrumb__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.page-breadcrumb__arrow {
    font-size: 18px;
    color: #C8D0DA;
    flex-shrink: 0;
}

.page-breadcrumb__label {
    color: var(--text-muted);
}

.page-breadcrumb__current {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--brand-primary-dark);
    background-color: var(--brand-primary-light);
    border: 1.5px solid var(--brand-primary-border);
    border-radius: var(--radius-md);
}

.title-info__wrap {
    display: flow-root;
    margin: 20px 0 8px;
}

.title-info {
    float: left;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-secondary);
    line-height: 31px;
    display: flex;
    align-items: center;
    gap: 3px;
}

/* 타이틀 옆 단위 표기(.title-info .Divsort) — 레거시 wego-layout.css 이관.
   .Divsort 가 block 으로 떨어져 줄바꿈되던 문제를 inline-block 으로 복원.
   ico-dot.png 는 레거시에도 부재(404)하여 점 아이콘 배경은 제외. */
.title-info .Divsort {
    position: relative;
    display: inline-block;
    height: 25px;
    line-height: 25px;
}

.title-info .Divsort .title {
    display: inline-block;
    position: relative;
    margin-left: 15px;
    padding-left: 10px;
    padding-right: 0;
    font-size: 12px;
    font-weight: 200;
    line-height: 25px;
    color: #777777;
    vertical-align: middle;
}

.title-info .Divsort .explaint {
    padding-right: 5px;
    font-size: 12px;
    font-weight: 200;
    color: #616161;
}

.title-info .Divsort .explaint::before {
    content: ':';
    margin-right: 5px;
    font-size: 10px;
    font-weight: 400;
}

.info-txt {
    font-size: 14px;
    color: var(--brand-primary);
    padding: 0 4px;
    font-weight: normal;
}

.title-info__right {
    float: right;
}

/* 그리드 상단 검색결과 + 진행현황 + 엑셀 (레거시 first_title-info__wrap) */
.first_title-info__wrap {
    margin: 20px 0 8px;
    position: relative;
    overflow: hidden;
    min-height: 31px;
}

.first_title-info__wrap .title-info {
    float: none;
    display: inline-block;
    vertical-align: middle;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-secondary);
    line-height: 31px;
    background: 0;
    padding: 0;
}

.first_title-info__wrap .title-info__right {
    float: none;
    position: absolute;
    right: 0;
    bottom: 0;
}

/* 스마트미터 수신주기 설정과 검침시간변경 버튼을 같은 세로 중심선에 배치 */
[data-schedules-page] .first_title-info__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: visible;
}

[data-schedules-page] .first_title-info__wrap .title-info {
    display: flex;
    align-items: center;
}

[data-schedules-page] .first_title-info__wrap .title-info__right {
    position: static;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* 스마트미터 통합관리 검색결과 머리줄 — 제목·잔량 레전드·안내문구를 한 줄에 둔다 */
[data-smart-meters-page] .title-info__wrap.smart-meters-results__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

[data-smart-meters-page] .smart-meters-results__head .title-info {
    float: none;
}

[data-smart-meters-page] .smart-meters-results__head .smart-meters-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 12px;
}

[data-smart-meters-page] .smart-meters-results__head .smart-meters-summary__item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

[data-smart-meters-page] .smart-meters-results__head .smart-meters-results__hint {
    margin: 0;
    color: #E8788C;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

[data-smart-meters-page] .smart-meters-results__head .title-info__right {
    float: none;
    margin-left: auto;
}

.Divprogress {
    position: relative;
    display: inline-block;
    margin: 0 0 0 10px;
    padding: 0 0 5px;
    vertical-align: middle;
    box-sizing: border-box;
}

.progresswrap {
    float: left;
    margin-left: 5px;
}

.progresstitle {
    font-size: 12px;
    color: #444;
    font-weight: 400;
    height: 25px;
    vertical-align: middle;
}

.progressex {
    font-weight: 300;
    font-size: 12px;
    color: #777;
    margin-right: 10px;
    vertical-align: middle;
}

.progressex::before {
    content: '│';
}

.sgrid-div .first_title-info__wrap {
    margin-top: 0;
}

.sgrid-div .first_title-info__wrap .title-info {
    line-height: 25px;
}

.asterisk {
    color: var(--brand-danger);
}

/* .src-box — 카드 · 검색 테이블 전체 너비, 버튼은 하단 오른쪽(가로 폭 미사용) */
.src-box {
    --src-box-pad-x: 10px;
    --src-box-pad-y: 6px;
    --src-cell-pad-y: 5px;
    --src-cell-pad-x: 12px;
    --src-cell-gap: 6px;
    --src-field-max-width: 390px;
    --src-btn-row-gap: 8px;
    background-color: var(--bg-white);
    border: 1px solid var(--border-color) !important;
    border-radius: var(--card-border-radius);
    margin-bottom: var(--gap-card);
    box-shadow: var(--shadow-card);
    position: relative !important;
    padding: var(--src-box-pad-y) var(--src-box-pad-x) !important;
    overflow: visible;
    box-sizing: border-box;
}

/* 팝업은 본문 검색 영역용 1000px 최소 폭을 쓰지 않는다. */
.popup-body-wrap .popup-wrap {
    --src-table-min-width: 0px;
}

.src-box table {
    width: 100%;
    min-width: var(--src-table-min-width, 1000px);
}

/* 검색 테이블 — 라벨(th)·필드(td) 간격 (퍼블 search-form-group gap 유사) */
.src-box .Table.Form-type.tbl-src {
    table-layout: fixed;
    width: 100% !important;
    min-width: var(--src-table-min-width, 1000px);
    border-collapse: separate;
    border-spacing: 0;
}

.FormField--radio-keyword {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap, 6px);
    min-width: 0;
}

.FormField--radio-keyword > .sasRadio {
    flex: 0 0 auto;
}

.FormField--radio-keyword > .Textinput,
.FormField--radio-keyword > .input-deletep-wrap {
    flex: 1 1 0;
    width: auto !important;
    min-width: 0;
    max-width: none !important;
}

.src-box .Table.Form-type.tbl-src tbody th,
.src-box .tbl-src tbody th {
    width: 1%;
    white-space: nowrap;
    padding: var(--src-cell-pad-y) 8px var(--src-cell-pad-y) 0 !important;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-secondary);
    vertical-align: middle;
}

.src-box .Table.Form-type.tbl-src tbody td,
.src-box .tbl-src tbody td {
    padding: var(--src-cell-pad-y) var(--src-cell-pad-x) var(--src-cell-pad-y) 0 !important;
    vertical-align: middle;
    min-width: 0;
    overflow: hidden;
}

.src-box .Table.Form-type.tbl-src tbody td:has(> .Daterange),
.src-box .tbl-src tbody td:has(> .Daterange) {
    overflow: visible !important;
}

.src-box .tbl-src tbody td:last-child {
    padding-right: var(--src-cell-pad-x) !important;
}

/* 단일 컨트롤 — W숫자 클래스는 bundle width 유지, 그 외만 auto */
.src-box .tbl-src .Textinput:not([class*=" W"]) {
    width: auto;
    max-width: min(var(--input-max-width), 100%);
    min-width: 0;
    box-sizing: border-box;
}

.src-box .tbl-src .Textinput[class*=" W"] {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.src-box .tbl-src tbody td > .Divselect:only-child {
    display: block;
    width: 100%;
    max-width: min(var(--input-max-width-select), 100%);
    min-width: 0;
    box-sizing: border-box;
}

/* 검색어 — Divselect + Textinput 한 줄(단독 Divselect width:100% 줄바꿈 방지)
   colspan 칸은 table-cell 유지 — flex면 colspan 무시됨 */
.src-box .tbl-src tbody td:has(> .Divselect + .Textinput):not([colspan]),
.src-box .tbl-src tbody td:has(> .Textinput + .Divselect):not([colspan]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--src-cell-gap);
    min-width: 0;
}

.src-box .tbl-src tbody td:has(> .Divselect + .Textinput) > .Divselect,
.src-box .tbl-src tbody td:has(> .Textinput + .Divselect) > .Divselect {
    flex: 0 0 auto;
    width: auto;
    min-width: 140px;
    max-width: min(200px, 46%);
    display: block;
    box-sizing: border-box;
}

.src-box .tbl-src tbody td:has(> .Divselect + .Textinput) > .Textinput,
.src-box .tbl-src tbody td:has(> .Textinput + .Divselect) > .Textinput {
    flex: 1 1 160px;
    width: auto;
    min-width: 0;
    max-width: min(var(--input-max-width), 100%);
    box-sizing: border-box;
}

.src-box .tbl-src tbody td:has(> .Divselect + .Textinput) > .Textinput.W250,
.src-box .tbl-src tbody td:has(> .Textinput + .Divselect) > .Textinput.W250 {
    flex: 1 1 200px;
    max-width: min(250px, 100%);
}

/* 한 셀에 위젯 2개 이상 — 전 화면 공통 flex(겹침·옆 칸 침범 방지)
   colspan 칸은 table-cell 유지 */
.src-box .tbl-src tbody td:has(
    > :is(.Textinput, .Divselect, .Daterange, .Button, .Combobox-textinput)
    ~ :is(.Textinput, .Divselect, .Daterange, .Button, .Combobox-textinput)
):not([colspan]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--src-cell-gap);
    min-width: 0;
}

/* 코드+명+검색버튼 — nowrap, 버튼이 overflow:hidden에 잘리지 않게 */
.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center;
    gap: var(--src-cell-gap);
    min-width: 0;
    overflow: visible !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput {
    flex: 0 0 auto !important;
    min-width: 0;
    box-sizing: border-box;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.W90 {
    width: 90px !important;
    max-width: 90px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.sCode {
    width: 120px !important;
    max-width: 120px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.W130 {
    width: 130px !important;
    max-width: 130px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.W120 {
    width: 120px !important;
    max-width: 120px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.W150 {
    width: 150px !important;
    max-width: 150px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Textinput.W200 {
    width: 200px !important;
    max-width: 200px !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ .Button) > .Button {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.src-box .tbl-src tbody td:has(> .Divselect ~ .Divselect):not(:has(> :is(.Textinput, .Daterange, .Button, .Combobox-textinput))) {
    flex-wrap: nowrap;
    align-items: center;
}

.src-box .tbl-src tbody td:has(> .Divselect ~ .Divselect):not(:has(> :is(.Textinput, .Daterange, .Button, .Combobox-textinput))) > .Divselect {
    display: block;
    flex: 0 0 auto;
    width: auto;
    min-width: 140px;
    max-width: min(var(--input-max-width-select), 100%);
    margin-right: 0 !important;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W90 {
    flex: 0 0 auto;
    width: 90px;
    max-width: 42%;
    min-width: 0;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.sCode {
    flex: 0 0 auto;
    width: 120px !important;
    max-width: min(120px, 50%);
    min-width: 0;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *):not(:has(> .Textinput ~ .Button)) > .Textinput.sName {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: min(var(--input-max-width-name), 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W200 {
    flex: 0 0 auto;
    width: 200px;
    min-width: 0;
    max-width: min(200px, 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W130,
.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W120,
.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W150,
.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W170,
.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W180 {
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W130 {
    width: 130px;
    max-width: min(130px, 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W120 {
    width: 120px;
    max-width: min(120px, 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W150 {
    width: 150px;
    max-width: min(150px, 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W170 {
    width: 170px;
    max-width: min(170px, 100%);
}

.src-box .tbl-src tbody td:has(> .Textinput ~ *) > .Textinput.W180 {
    width: 180px;
    max-width: min(180px, 100%);
}

.src-box .tbl-src tbody td:has(> * ~ .Button) > .Button {
    flex: 0 0 auto;
    margin: 0 !important;
}

/* 품의상세 등 — 체크박스 라벨 여러 개 */
.src-box .tbl-src tbody td:has(> label ~ label) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
}

.src-box .tbl-src tbody td:has(> label ~ label) label {
    margin-right: 0;
}

/* colspan 단일 Textinput — 넓은 필드 (복수 input+버튼 셀 제외) */
.src-box .tbl-src tbody td[colspan] > .Textinput:only-child {
    width: 100%;
    max-width: min(var(--input-max-width-textarea), 100%);
}

/* colspan 검색어 — table-cell 유지 + 셀렉트/입력 한 줄 */
.src-box .tbl-src tbody td[colspan]:has(> .Divselect + .Textinput) > .Divselect,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput + .Divselect) > .Divselect {
    display: inline-block;
    width: auto;
    min-width: 140px;
    max-width: min(200px, 46%);
    vertical-align: middle;
    box-sizing: border-box;
}

.src-box .tbl-src tbody td[colspan]:has(> .Divselect + .Textinput) > .Textinput,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput + .Divselect) > .Textinput {
    display: inline-block;
    width: auto;
    min-width: 160px;
    max-width: min(var(--input-max-width), 100%);
    vertical-align: middle;
    box-sizing: border-box;
}

/* colspan code+명+검색 — W숫자 합이 col 폭 초과 시 명칭만 flex 축소(버튼·입력 클리핑 방지) */
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) {
    overflow: visible !important;
}

.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W60,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W80,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W90,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.sCode {
    flex: 0 0 auto !important;
}

.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W200,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W250,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.W300,
.src-box .tbl-src tbody td[colspan]:has(> .Textinput ~ .Button) > .Textinput.sName {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(var(--input-max-width), 100%) !important;
}

.src-box .tbl-src .Textinput.W300 {
    width: 300px;
    max-width: min(300px, 100%);
}

.src-box .tbl-src .Textinput.W250 {
    width: 250px;
    max-width: min(250px, 100%);
}

/* 게시기간 등 Daterange — width:100% 금지(좌우 벌어짐·검색버튼 겹침) */
.src-box .tbl-src .Daterange {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    width: auto !important;
    max-width: 100%;
    vertical-align: middle;
    float: none !important;
}

.src-box .tbl-src .Daterange .Startdate,
.src-box .tbl-src .Daterange .Enddate,
.src-box .tbl-src .Daterange .Dateinput {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
    width: auto !important;
    float: none !important;
    position: relative;
    vertical-align: middle;
}

.src-box .tbl-src .Daterange .Startdate > input,
.src-box .tbl-src .Daterange .Enddate > input {
    width: 124px !important;
    min-width: 124px !important;
    box-sizing: border-box;
    border-right: none !important;
    border-radius: var(--input-radius) 0 0 var(--input-radius) !important;
}

/* skgas .tbl-src float + wegoplus .Calendar { right:25px } 겹침 해제 */
.src-box .tbl-src .Daterange .Startdate > .Calendar,
.src-box .tbl-src .Daterange .Enddate > .Calendar {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 32px;
}

.src-box .btn .Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    vertical-align: middle;
}

/* 검색·새로고침 — 폼 아래 한 줄, 오른쪽 정렬(테이블 가로 폭 확보) */
.src-box .btn {
    position: static !important;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100% !important;
    margin: var(--src-btn-row-gap) 0 0 0 !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
}

.Tabs .src-box {
    margin-top: 10px;
}

/* =====================================================
   .src-box — 좁은 화면 가로 스크롤 (필드 영역만, .btn 제외)
===================================================== */
.src-box > .src_items_group,
.src-box--popup > .src_items_group,
.src-box--search-flow > .src_items_group,
.src-box-new > .src_items_group {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    min-width: 0;
    max-width: 100%;
}

/* Alopex Table 초기화 래퍼 — inline overflow:hidden 해제 */
.src-box .Table-wrapper,
.src-box .af-table-wrapper {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100%;
}

.src-box .Table-scroller,
.src-box .af-table-scroller {
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

/* #searchDiv — table 직접 자식(Alopex 래퍼) */
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) > .Table-wrapper,
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) > .af-table-wrapper {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

.src-box-new .src_items_group {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.src-box--search-flow > .src_items_group {
    width: 100%;
}

.src-box--search-flow .Table.Form-type.tbl-src {
    min-width: var(--src-table-min-width, 1000px);
}

/* =====================================================
   src-box--search-flow — 4열 유동 검색 (1~3열 필드, 4열 새로고침·검색)
   마지막 필드 행의 4열에만 버튼. FO/BO wego-forms.css 동기화.
===================================================== */
.src-box--search-flow {
    display: block;
    padding-right: var(--src-box-pad-x) !important;
}

.src-box--search-flow > .btn {
    display: none !important;
}

.src-box--search-flow .Table.Form-type.tbl-src {
    table-layout: fixed;
    width: 100% !important;
}

.src-box--search-flow .tbl-src col.src-col-label {
    width: 100px;
}

.src-box--search-flow .tbl-src col.src-col-field {
    width: auto;
}

.src-box--search-flow .tbl-src col.src-col-actions-label {
    width: 0;
    min-width: 0;
}

.src-box--search-flow .tbl-src col.src-col-actions {
    width: 200px;
    min-width: 180px;
}

.src-box--search-flow .tbl-src tbody th.src-th-empty {
    padding: 0 !important;
    border: 0;
    width: 0;
    min-width: 0;
    font-size: 0;
    line-height: 0;
}

.src-box--search-flow .tbl-src tbody td.src-cell-empty {
    padding: var(--src-cell-pad-y) 0 !important;
}

.src-box--search-flow .tbl-src tbody th.src-th-actions-spacer,
.src-box--search-flow .tbl-src tbody th.src-col-actions-label {
    padding: 0 !important;
    width: 0;
    min-width: 0;
    border: 0;
    font-size: 0;
    line-height: 0;
}

.src-box--search-flow .tbl-src tbody td.src-cell-actions {
    padding: var(--src-cell-pad-y) var(--src-cell-pad-x) var(--src-cell-pad-y) 8px !important;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
}

.src-box--search-flow .src-action-buttons {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.src-box--search-flow .src-action-buttons .Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    flex: 0 0 auto;
}

/* 4열 — 검색 필드 금지(액션 전용) */
.src-box--search-flow .tbl-src tbody td.src-cell-actions .Textinput,
.src-box--search-flow .tbl-src tbody td.src-cell-actions .Divselect,
.src-box--search-flow .tbl-src tbody td.src-cell-actions .Daterange {
    display: none !important;
}

.src-box--search-flow .tbl-src .Textinput.W200,
.src-box--search-flow .tbl-src .Textinput.W250,
.src-box--search-flow .tbl-src .Textinput.W300 {
    max-width: 100%;
    box-sizing: border-box;
}

.src-box--search-flow .tbl-src .Textinput.W200 {
    width: 200px;
}

.src-box--search-flow .tbl-src tbody td:not(.src-cell-actions):not(.src-cell-empty) > .Divselect:only-child {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .src-box--search-flow .tbl-src col.src-col-actions {
        width: 160px;
        min-width: 140px;
    }

    .src-box--search-flow .src-action-buttons {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

/* =====================================================
   #searchDiv — 검색 영역 통일 (필드 + 새로고침·검색 오른쪽)
   .src-box--search-flow 는 테이블 4열 액션(별도 패턴) 제외
===================================================== */
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    padding-right: var(--src-box-pad-x) !important;
}

:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) > .src_items_group {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow):not(.src-box--popup) .src_items_group > table,
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow):not(.src-box--popup) .src_items_group > .Table,
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow):not(.src-box--popup) > table,
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow):not(.src-box--popup) > .Table {
    flex: 1 1 auto;
    min-width: var(--src-table-min-width, 1000px);
    width: 100% !important;
}

:is(#searchDiv.src-box, .src-box--standard-search) .src_items_group > form {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--popup) .src_items_group > form > table,
:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--popup) .src_items_group > form > .Table {
    width: 100% !important;
    min-width: var(--src-table-min-width, 1000px);
}

:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) > .btn {
    position: static !important;
    display: flex;
    flex: 0 0 auto;
    width: auto !important;
    margin: 0 !important;
    align-items: center;
    justify-content: flex-end;
}

:is(#searchDiv.src-box, .src-box--standard-search):not(.src-box--search-flow) > .btn .Button {
    height: var(--input-height) !important;
    margin: 0;
}

/*
 * 팝업 검색 테이블은 실제 iframe 가용 폭에 맞춰 입력 열을 유동화한다.
 * 본문 화면의 70/360/70/360 계약은 유지하고, 팝업에서만 라벨 70px + 나머지 폭을 나눠 쓴다.
 */
.popup-body-wrap .popup-wrap .src-box .tbl-src--popup-columns > colgroup > col:nth-child(odd) {
    width: 70px !important;
}

.popup-body-wrap .popup-wrap .src-box .tbl-src--popup-columns > colgroup > col:nth-child(even) {
    width: auto !important;
}

/* 70px에 들어가지 않는 팝업 라벨(유량계 코드/명칭, 출발/도착지 유형 등) */
.popup-body-wrap .popup-wrap .src-box .tbl-src--popup-columns > colgroup > col.src-col-label-wide {
    width: 160px !important;
}

/*
 * 라벨은 글자 폭, 입력은 --src-field-max-width 만 쓰고
 * 남는 폭은 조건 사이가 아니라 검색 버튼 앞에 둔다.
 */
.popup-body-wrap .popup-wrap #searchDiv.src-box .tbl-src--popup-columns.tbl-src--popup-compact {
    table-layout: auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.popup-body-wrap .popup-wrap #searchDiv.src-box .tbl-src--popup-columns.tbl-src--popup-compact > colgroup > col:nth-child(odd) {
    width: auto !important;
}

.popup-body-wrap .popup-wrap #searchDiv.src-box .tbl-src--popup-columns.tbl-src--popup-compact > colgroup > col:nth-child(even) {
    width: var(--src-field-max-width, 180px) !important;
}

/* 좁은 팝업에서도 검색조건은 축소 가능하게 하고 버튼은 같은 행의 세로 중앙을 유지한다. */
@media (max-width: 1079px) {
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow),
    .popup-body-wrap .src-box--popup,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) {
        flex-wrap: nowrap;
        align-items: center;
    }

    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > .src_items_group,
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > table,
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > .Table,
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > .Table-wrapper,
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > .af-table-wrapper,
    .popup-body-wrap .src-box--popup > .src_items_group,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) > .src_items_group,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) > .Table-wrapper,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) > .af-table-wrapper {
        flex: 1 1 0;
        width: auto !important;
        min-width: 0;
        max-width: 100%;
    }

    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow) > .btn,
    .popup-body-wrap .src-box--popup > .btn,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) > .btn {
        align-self: center;
        margin-left: auto !important;
    }
}

@media (max-width: 599px) {
    .popup-body-wrap #searchDiv.src-box:not(.src-box--search-flow),
    .popup-body-wrap .src-box--popup,
    .popup-body-wrap .src-box:has(.tbl-src--popup-columns) {
        --src-box-pad-x: 5px;
        gap: 0;
    }
}

#searchDiv .input-deletep-wrap,
.src-box--standard-search .input-deletep-wrap,
.src-box--popup .input-deletep-wrap {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--src-cell-gap);
    flex: 1 1 auto;
    min-width: 0;
}

#searchDiv .input-deletep-wrap > .Divselect,
.src-box--standard-search .input-deletep-wrap > .Divselect,
.src-box--popup .input-deletep-wrap > .Divselect {
    flex: 0 0 auto;
    width: auto;
    min-width: 140px;
    max-width: min(200px, 46%);
    display: block;
    box-sizing: border-box;
}

#searchDiv .input-deletep-wrap > .Textinput,
.src-box--standard-search .input-deletep-wrap > .Textinput,
.src-box--popup .input-deletep-wrap > .Textinput {
    flex: 1 1 160px;
    width: auto;
    min-width: 0;
    max-width: min(var(--input-max-width), 100%);
    box-sizing: border-box;
}

/* #searchDiv flex 검색 행 (.src_items) — 구 src-box-new */
:is(#searchDiv.src-box, .src-box--standard-search) .src_items_group .src_items {
    width: 320px;
    margin: 5px 30px 5px 0;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

:is(#searchDiv.src-box, .src-box--standard-search) .src_items_group .item._title {
    min-width: 80px;
    padding: 0 10px 0 0;
    font-weight: 700;
    letter-spacing: -1px;
}

:is(#searchDiv.src-box, .src-box--standard-search) .src_items_group .item,
:is(#searchDiv.src-box, .src-box--standard-search) .src_items_group .item > .Divselect {
    height: var(--input-height) !important;
    line-height: normal !important;
}

/* =====================================================
   src-box-new — ECR flex 검색 + tp_wide 날짜 (skgas-ly-new 호환)
   신규 화면은 article#searchDiv.src-box + .src_items_group 권장
===================================================== */
.src-box-new {
    background-color: var(--bg-white);
    border: 1px solid var(--border-color) !important;
    border-radius: var(--card-border-radius);
    margin-bottom: var(--gap-card);
    box-shadow: var(--shadow-card);
    box-sizing: border-box;
}

.src-box-new .src_items_group .item,
.src-box-new .src_items_group .item > .Divselect {
    height: var(--input-height) !important;
    line-height: normal !important;
}

.src-box-new .src_items_group .item > .Divselect {
    width: 100%;
    min-width: 120px;
    max-width: 100%;
    box-sizing: border-box;
}

.src-box-new .src_items_group + .btn {
    display: flex;
    align-items: center;
    gap: 6px;
}

.src-box-new .src_items_group + .btn .Button {
    height: var(--input-height) !important;
    margin: 0;
}

/* tp_wide — Dateinput 100%×2 겹침·absolute 달력 해제 */
.src-box-new .Daterange.tp_wide,
.Daterange.tp_wide {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    width: auto !important;
    max-width: 100%;
    vertical-align: middle;
}

.src-box-new .Daterange.tp_wide .Startdate,
.src-box-new .Daterange.tp_wide .Enddate,
.src-box-new .Daterange.tp_wide .Dateinput,
.Daterange.tp_wide .Startdate,
.Daterange.tp_wide .Enddate,
.Daterange.tp_wide .Dateinput {
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto !important;
    width: auto !important;
    float: none !important;
    position: relative;
}

.src-box-new .Daterange.tp_wide .Startdate > input,
.src-box-new .Daterange.tp_wide .Enddate > input,
.Daterange.tp_wide .Startdate > input,
.Daterange.tp_wide .Enddate > input {
    width: 124px !important;
    min-width: 124px !important;
    max-width: none !important;
    flex: 0 0 124px;
    border-right: none !important;
    border-radius: var(--input-radius) 0 0 var(--input-radius) !important;
}

.src-box-new .Daterange.tp_wide .Dateinput > .Calendar,
.src-box-new .Daterange.tp_wide .Startdate > .Calendar,
.src-box-new .Daterange.tp_wide .Enddate > .Calendar,
.Daterange.tp_wide .Dateinput > input + .Calendar,
.Daterange.tp_wide .Startdate > .Calendar,
.Daterange.tp_wide .Enddate > .Calendar {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    left: auto !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 32px;
    border-radius: 0 var(--input-radius) var(--input-radius) 0 !important;
}

/* scrItem — 코드/명 + 검색 버튼 일체형 */
.src-box-new .scrItem,
.scrItem {
    display: inline-flex !important;
    align-items: stretch;
    flex-wrap: nowrap;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

.src-box-new .scrItem .Textinput,
.scrItem .Textinput {
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    max-width: 100%;
    border-radius: var(--input-radius) 0 0 var(--input-radius) !important;
}

.src-box-new .scrItem .Textinput + .Button,
.scrItem .Textinput + .Button {
    flex: 0 0 auto;
    margin-left: 0 !important;
    border-radius: 0 var(--input-radius) var(--input-radius) 0 !important;
    height: var(--input-height) !important;
    min-height: var(--input-height) !important;
}

/* Form-type table readability — excludes search forms */
.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) {
    box-sizing: border-box;
    background-color: var(--form-table-cell-bg);
    border: 1px solid var(--form-table-border);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type {
    border: 0;
    color: var(--text-primary);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tbody {
    border-top: 0;
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tr,
.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tr:first-child,
.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tr:first-child th {
    border-color: var(--form-table-border);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tbody th {
    color: var(--form-table-label-fg);
    background: var(--form-table-label-bg);
    border-color: var(--form-table-border);
    font-size: var(--form-table-label-font-size);
    font-weight: var(--form-table-label-font-weight);
    line-height: var(--form-table-label-line-height);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tbody td {
    border-color: var(--form-table-border);
    color: var(--text-primary);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tr:nth-child(even) td {
    background-color: var(--form-table-cell-bg);
}

.af-table-wrapper.af-default.Table-wrapper:not(#searchDiv):not(#searchDiv *):not(.src-box):not(.src-box *):not(.src-box-new):not(.src-box-new *):not(.src-box--popup):not(.src-box--popup *):not(.src-box--search-flow):not(.src-box--search-flow *) .Table.Form-type tbody tr:hover td {
    background-color: var(--form-table-hover-bg);
}

/* =====================================================
   .src-box--more — 검색조건 4줄 이상일 때 3줄로 접고 더보기
   검색 버튼은 오른쪽 세로 중앙. 더보기는 검색버튼 제외 폼 하단선 중앙에 걸침(높이 미점유).
===================================================== */
.src-box.src-box--more.has-src-more {
    overflow: visible !important;
}

.src-box--more:not(.is-expanded) .tbl-src tbody > tr:nth-child(n + 4) {
    display: none;
}

.src-box-more-toggle-wrap {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 3;
    display: none;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.src-box--more.has-src-more > .src-box-more-toggle-wrap {
    display: flex;
}

.src-box-more-toggle {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    height: 22px;
    padding: 0 8px;
    border: 0;
    background: #fff;
    color: #4f7fbf;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    pointer-events: auto;
}

.src-box-more-toggle:hover {
    color: #2f5f9a;
}

.src-box-more-toggle:focus-visible {
    outline: 1px solid #8aa4bc;
    outline-offset: 2px;
}

.src-box-more-toggle__icon {
    font-size: 18px !important;
    line-height: 1;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
}

.src-box--more.is-expanded .src-box-more-toggle__icon {
    transform: rotate(180deg);
}
