@font-face {
    font-family: 'ERP-Gmarket-Light';
    src: url('../../fonts/GmarketSansTTFLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ERP-Gmarket-Medium-KR';
    src: url('../../fonts/GmarketSansTTFMedium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+1100-11FF, U+3130-318F, U+AC00-D7AF;
}

/* Backward-compatible aliases for legacy inline styles */
@font-face {
    font-family: 'GmarketSansLight';
    src: url('../../fonts/GmarketSansTTFLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GmarketSansTTFLight';
    src: url('../../fonts/GmarketSansTTFLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GmarketSansMedium';
    src: url('../../fonts/GmarketSansTTFMedium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GmarketSansTTFMedium';
    src: url('../../fonts/GmarketSansTTFMedium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

:root {
    --erp-font-base: 'ERP-Gmarket-Light', 'GmarketSansTTFLight', 'GmarketSansLight', 'Noto Sans KR', system-ui, sans-serif;
    --erp-font-title: 'ERP-Gmarket-Medium-KR', 'ERP-Gmarket-Light', 'GmarketSansTTFMedium', 'GmarketSansMedium', 'GmarketSansTTFLight', 'Noto Sans KR', system-ui, sans-serif;
    --erp-color-accent: #53b8d0;
    --erp-border-color: #dcdcdc;
    --erp-bg-main: #f8fafc;
}

body,
input,
select,
textarea,
button,
td,
p,
div,
li,
a,
.form-input,
.form-select,
.table-input {
    font-family: var(--erp-font-base) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
label,
th,
strong,
b,
.page-title,
.card-header,
.card-header-left,
.form-label,
.search-label,
.modal-title,
.section-title,
.title,
.erp-table th,
.menu-group-title,
.menu-logo-left,
.menu-section-title {
    font-family: var(--erp-font-title) !important;
}

/* Global card title style: "- Title -" + bottom bar */
.erp-titleized {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 8px;
}

.erp-titleized::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 8px !important;
    height: 3px !important;
    margin: 0 !important;
    background-color: var(--erp-color-accent) !important;
    display: block !important;
}

button,
.btn,
input[type='button'],
input[type='submit'],
input[type='reset'],
a.btn {
    font-family: var(--erp-font-base) !important;
    padding: 10px 20px !important;
    box-sizing: border-box;
}

.btn-perm {
    padding: 8px 10px !important;
}

.footer-toggle-btn {
    padding: 4px 20px !important;
}

/* In-input delete button style: transparent + X icon */
.form-input-wrapper button[id^='del_btn_'],
.form-input-wrapper button#profileDeleteBtn,
.form-input-wrapper button#signDeleteBtn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #ef4444 !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'GmarketSansTTFMedium', 'GmarketSansMedium', var(--erp-font-title) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* Keep hidden state when no image/file is registered */
.form-input-wrapper button[id^='del_btn_'][style*='display:none'],
.form-input-wrapper button#profileDeleteBtn[style*='display:none'],
.form-input-wrapper button#signDeleteBtn[style*='display:none'],
.form-input-wrapper button[id^='del_btn_'][hidden],
.form-input-wrapper button#profileDeleteBtn[hidden],
.form-input-wrapper button#signDeleteBtn[hidden] {
    display: none !important;
}

.form-input-wrapper button[id^='del_btn_'] > i,
.form-input-wrapper button#profileDeleteBtn > i,
.form-input-wrapper button#signDeleteBtn > i {
    display: none !important;
}

.form-input-wrapper button[id^='del_btn_']::before,
.form-input-wrapper button#profileDeleteBtn::before,
.form-input-wrapper button#signDeleteBtn::before {
    content: 'X';
    color: #ef4444 !important;
    font-family: 'GmarketSansTTFMedium', 'GmarketSansMedium', var(--erp-font-title) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.form-input-wrapper button[id^='del_btn_']:hover,
.form-input-wrapper button#profileDeleteBtn:hover,
.form-input-wrapper button#signDeleteBtn:hover {
    background: transparent !important;
    background-color: transparent !important;
    filter: none !important;
}

button.icon-btn,
button.btn-bookmark,
button.table-search-btn,
button.row-icon-btn,
button.send-btn,
button.btn-close-modal,
button.font-zoom-btn,
#menuToggleBtn,
#infoToggleBtn {
    padding: 0 !important;
}

button.flag-current {
    padding: 8px 10px 8px 12px !important;
}

button.flag-option {
    padding: 5px 6px !important;
}

.erp-hotkey-hint {
    font-size: 0.85em;
    opacity: 0.95;
    pointer-events: none;
}

.erp-hotkey-press {
    filter: brightness(0.9);
    transform: translateY(1px);
}

.fa-solid,
.fas {
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900 !important;
}

.fa-regular,
.far {
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 400 !important;
}

.fa-brands,
.fab {
    font-family: 'Font Awesome 6 Brands' !important;
    font-weight: 400 !important;
}

/* Selection Buttons (radio style) */
.radio-option label,
.radio-item span,
.radio-item label {
    font-family: var(--erp-font-base) !important;
}

.radio-option input[type='radio']:checked + label,
.radio-item input[type='radio']:checked + span,
.radio-item input[type='radio']:checked + label {
    font-family: var(--erp-font-title) !important;
}

/* Shared Flatpickr Theme */
.flatpickr-calendar {
    width: 330px !important;
    border: 1px solid #eee;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    font-family: var(--erp-font-base) !important;
    padding: 10px;
}

.flatpickr-months {
    align-items: center;
    margin-bottom: 10px;
}

/* Global saving overlay (save/update) */
.erp-global-saving-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.erp-global-saving-overlay.is-open {
    display: flex;
}

.erp-global-saving-content {
    text-align: center;
}

.erp-global-saving-content i {
    font-size: 2.8rem;
    color: var(--erp-color-accent);
    margin-bottom: 8px;
}

.erp-global-saving-text {
    font-size: 0.82rem;
    color: #ffffff;
    text-shadow: 0 1px 2px rgba(15, 23, 42, 0.6);
    font-family: var(--erp-font-base) !important;
}

.flatpickr-current-month {
    font-size: 1.1rem;
    color: #333;
    font-weight: normal;
}

.flatpickr-current-month .cur-month {
    font-weight: normal;
    margin-right: 5px;
}

.flatpickr-current-month .cur-year,
.flatpickr-monthDropdown-months {
    font-weight: normal;
}

.flatpickr-weekdays {
    margin-bottom: 5px;
}

.flatpickr-weekday {
    color: #999;
    font-size: 0.8rem;
    font-weight: normal;
}

.flatpickr-day {
    border-radius: 50% !important;
    color: #333;
    font-size: 0.9rem;
    margin-top: 5px;
}

.flatpickr-day.today {
    border-color: transparent;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day:hover,
.flatpickr-day:focus {
    background: none;
    color: #333;
    border: 1px solid var(--erp-color-accent);
}

.flatpickr-prev-month,
.flatpickr-next-month {
    fill: #333;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    width: 14px;
    height: 14px;
    stroke-width: 2;
}

/* Shared fixed bottom action bar (save/reset when not at page bottom) */
.fixed-actions {
    background: #e1e0da !important;
    padding: 0 15px !important;
}

.fixed-actions .fixed-actions-inner {
    min-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 10px;
}

.fixed-actions .btn {
    margin-bottom: 0 !important;
}

/* Global modal style normalization */
.modal-overlay,
.perm-modal-overlay,
.form-modal-overlay,
.erp-popup-overlay,
.img-modal,
.img-preview-overlay,
.image-preview-overlay,
.image-modal {
    padding: 20px !important;
}

.modal-card,
.modal-content,
.form-modal-content,
.perm-modal-content,
.erp-popup-card,
.img-preview-box,
.image-preview-dialog,
dialog {
    padding: 15px !important;
}

.modal-header,
.perm-modal-header,
.erp-popup-title,
.modal-card > .modal-title,
.modal-content > .modal-title,
.form-modal-content > .modal-title,
.perm-modal-content > .modal-title,
dialog > .modal-title {
    width: 100% !important;
    box-sizing: border-box !important;
}

.modal-header,
.perm-modal-header {
    padding-bottom: 6px !important;
    margin-bottom: 10px !important;
}

.erp-popup-title,
.modal-card > .modal-title,
.modal-content > .modal-title,
.form-modal-content > .modal-title,
.perm-modal-content > .modal-title,
dialog > .modal-title {
    padding-bottom: 6px !important;
    margin-bottom: 10px !important;
}

.modal-header .modal-title,
.perm-modal-header .modal-title {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Modal title typography */
.modal-title,
.modal-header .modal-title,
.perm-modal-header .modal-title,
.erp-popup-title,
.modal-card > .modal-title,
.modal-content > .modal-title,
.form-modal-content > .modal-title,
.perm-modal-content > .modal-title,
dialog > .modal-title,
.modal-header > span:first-child,
.perm-modal-header > span:first-child {
    font-family: 'GmarketSansTTFMedium', 'GmarketSansMedium', var(--erp-font-title) !important;
    font-weight: 500 !important;
    font-size: 1.0rem !important;
    line-height: 1.25 !important;
    margin-left: 10px;
}

/* Modal controls: text form + search button same height */
.modal-overlay input[type='text'],
.modal-overlay input[type='search'],
.modal-overlay input[type='email'],
.modal-overlay input[type='password'],
.modal-overlay input[type='number'],
.modal-overlay input[type='tel'],
.modal-overlay input[type='date'],
.modal-overlay input[type='datetime-local'],
.modal-overlay .form-control,
.modal-overlay .form-input,
.modal-overlay .search-input,
.modal-overlay select,
.modal-overlay textarea,
.perm-modal-overlay input[type='text'],
.perm-modal-overlay input[type='search'],
.perm-modal-overlay input[type='email'],
.perm-modal-overlay input[type='password'],
.perm-modal-overlay input[type='number'],
.perm-modal-overlay input[type='tel'],
.perm-modal-overlay input[type='date'],
.perm-modal-overlay input[type='datetime-local'],
.perm-modal-overlay .form-control,
.perm-modal-overlay .form-input,
.perm-modal-overlay .search-input,
.perm-modal-overlay select,
.perm-modal-overlay textarea,
.form-modal-overlay input[type='text'],
.form-modal-overlay input[type='search'],
.form-modal-overlay input[type='email'],
.form-modal-overlay input[type='password'],
.form-modal-overlay input[type='number'],
.form-modal-overlay input[type='tel'],
.form-modal-overlay input[type='date'],
.form-modal-overlay input[type='datetime-local'],
.form-modal-overlay .form-control,
.form-modal-overlay .form-input,
.form-modal-overlay .search-input,
.form-modal-overlay select,
.form-modal-overlay textarea,
.modal.show input[type='text'],
.modal.show input[type='search'],
.modal.show input[type='email'],
.modal.show input[type='password'],
.modal.show input[type='number'],
.modal.show input[type='tel'],
.modal.show input[type='date'],
.modal.show input[type='datetime-local'],
.modal.show .form-control,
.modal.show .form-input,
.modal.show .search-input,
.modal.show select,
.modal.show textarea {
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.modal-overlay .btn-search,
.modal-overlay .btn-modal-search,
.modal-overlay .table-search-btn,
.modal-overlay button[id*='Search'],
.modal-overlay button[id*='search'],
.modal-overlay button[aria-label*='검색'],
.perm-modal-overlay .btn-search,
.perm-modal-overlay .btn-modal-search,
.perm-modal-overlay .table-search-btn,
.perm-modal-overlay button[id*='Search'],
.perm-modal-overlay button[id*='search'],
.perm-modal-overlay button[aria-label*='검색'],
.form-modal-overlay .btn-search,
.form-modal-overlay .btn-modal-search,
.form-modal-overlay .table-search-btn,
.form-modal-overlay button[id*='Search'],
.form-modal-overlay button[id*='search'],
.form-modal-overlay button[aria-label*='검색'],
.modal.show .btn-search,
.modal.show .btn-modal-search,
.modal.show .table-search-btn,
.modal.show button[id*='Search'],
.modal.show button[id*='search'],
.modal.show button[aria-label*='검색'] {
    height: 40px !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Unified modal layout across all pages */
:root {
    --erp-modal-overlay-bg: rgba(0, 0, 0, 0.4);
    --erp-modal-bg: #ffffff;
    --erp-modal-radius: 8px;
    --erp-modal-padding: 20px;
    --erp-modal-content-padding: 20px 20px 25px;
    --erp-modal-gap: 20px;
    --erp-modal-title-size: 1rem;
    --erp-modal-title-weight: 600;
    --erp-modal-title-color: #333333;
    --erp-modal-title-divider-color: #cccccc;
}

.modal-overlay,
.perm-modal-overlay,
.form-modal-overlay,
.erp-popup-overlay {
    position: fixed !important;
    inset: 0 !important;
    padding: var(--erp-modal-padding) !important;
    box-sizing: border-box !important;
    background: var(--erp-modal-overlay-bg) !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: auto !important;
}

.modal-overlay > div:not(.image-preview-dialog):not(.img-preview-box),
.perm-modal-overlay > div:first-child,
.form-modal-overlay > div:first-child,
.erp-popup-overlay > div:first-child,
dialog {
    background: var(--erp-modal-bg) !important;
    border: none !important;
    border-radius: var(--erp-modal-radius) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
    padding: var(--erp-modal-content-padding) !important;
    box-sizing: border-box !important;
    max-height: calc(100vh - (var(--erp-modal-padding) * 2)) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.modal-overlay .modal-header,
.perm-modal-overlay .perm-modal-header,
.form-modal-overlay .modal-header,
.form-modal-overlay .perm-modal-header {
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 var(--erp-modal-gap) 0 !important;
    padding: 0 0 6px 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.modal-overlay .modal-title,
.perm-modal-overlay .modal-title,
.form-modal-overlay .modal-title,
.erp-popup-overlay .erp-popup-title,
.modal-card > .modal-title,
.modal-content > .modal-title,
.form-modal-content > .modal-title,
.perm-modal-content > .modal-title,
dialog > .modal-title {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 var(--erp-modal-gap) 0 !important;
    margin-left: 0 !important;
    padding: 0 0 6px 10px !important;
    border-bottom: none !important;
    box-shadow: none !important;
    font-family: 'GmarketSansTTFMedium', 'GmarketSansMedium', var(--erp-font-title) !important;
    font-size: var(--erp-modal-title-size) !important;
    font-weight: var(--erp-modal-title-weight) !important;
    color: var(--erp-modal-title-color) !important;
    line-height: 1.25 !important;
}

.modal-overlay .modal-header .modal-title,
.perm-modal-overlay .perm-modal-header .modal-title,
.form-modal-overlay .modal-header .modal-title,
.form-modal-overlay .perm-modal-header .modal-title,
.modal-overlay .modal-header > span:first-child,
.perm-modal-overlay .perm-modal-header > span:first-child,
.form-modal-overlay .modal-header > span:first-child,
.form-modal-overlay .perm-modal-header > span:first-child {
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    border: none !important;
    box-shadow: none !important;
    font-family: 'GmarketSansTTFMedium', 'GmarketSansMedium', var(--erp-font-title) !important;
    font-size: var(--erp-modal-title-size) !important;
    font-weight: var(--erp-modal-title-weight) !important;
    color: var(--erp-modal-title-color) !important;
}

.modal-overlay .modal-body,
.modal-overlay .perm-modal-body,
.perm-modal-overlay .modal-body,
.perm-modal-overlay .perm-modal-body,
.form-modal-overlay .modal-body,
.form-modal-overlay .perm-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

.modal-overlay .modal-footer,
.modal-overlay .perm-modal-footer,
.modal-overlay .modal-actions,
.perm-modal-overlay .modal-footer,
.perm-modal-overlay .perm-modal-footer,
.perm-modal-overlay .modal-actions,
.form-modal-overlay .modal-footer,
.form-modal-overlay .perm-modal-footer,
.form-modal-overlay .modal-actions,
.erp-popup-overlay .erp-popup-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 10px !important;
    padding-top: 0 !important;
    border-top: none !important;
}

@media (max-width: 640px) {
    .modal-overlay,
    .perm-modal-overlay,
    .form-modal-overlay,
    .erp-popup-overlay {
        padding: 12px !important;
    }

    .modal-overlay > div:not(.image-preview-dialog):not(.img-preview-box),
    .perm-modal-overlay > div:first-child,
    .form-modal-overlay > div:first-child,
    .erp-popup-overlay > div:first-child,
    dialog {
        padding: 14px 14px 18px !important;
        max-height: calc(100vh - 24px) !important;
    }
}

/* ===============================
   Global UI Unification Layer
   - Page title / card title / label / spacing / button / popup
   =============================== */
:root {
    --erp-ui-title-size: 1rem;
    --erp-ui-title-weight: 500;
    --erp-ui-title-color: #53b8d0;
    --erp-ui-box-title-size: 0.95rem;
    --erp-ui-box-title-weight: 500;
    --erp-ui-box-title-color: #0f172a;
    --erp-ui-label-size: 0.8rem;
    --erp-ui-label-weight: 500;
    --erp-ui-label-color: #475569;
    --erp-ui-field-gap: 6px;
    --erp-ui-row-gap: 10px;
    --erp-ui-btn-height: 40px;
    --erp-ui-btn-radius: 0;
}

/* 1) Page Title */
.page-title {
    font-family: var(--erp-font-title) !important;
    font-size: var(--erp-ui-title-size) !important;
    font-weight: var(--erp-ui-title-weight) !important;
    color: var(--erp-ui-title-color) !important;
    line-height: 1.2 !important;
}

.page-title i {
    color: inherit !important;
}

/* 2) Box/Card Title */
.card,
article.card {
    border: 1px solid var(--erp-border-color) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
}

.card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    font-family: var(--erp-font-title) !important;
    font-size: var(--erp-ui-box-title-size) !important;
    font-weight: var(--erp-ui-box-title-weight) !important;
    color: var(--erp-ui-box-title-color) !important;
    line-height: 1.25 !important;
}

.card-header-left,
.card-header .title,
.card-header > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--erp-font-title) !important;
    font-size: var(--erp-ui-box-title-size) !important;
    font-weight: var(--erp-ui-box-title-weight) !important;
    color: var(--erp-ui-box-title-color) !important;
    line-height: 1.25 !important;
}

.card-header-left::before,
.card-header .title::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 3px !important;
    margin-right: 8px !important;
    background-color: var(--erp-color-accent) !important;
}

/* 3) Label / Spacing */
.form-group,
.search-group {
    gap: var(--erp-ui-field-gap) !important;
}

.form-row {
    margin-bottom: var(--erp-ui-row-gap) !important;
}

.form-label,
.search-label,
label.form-label,
.form-group > label,
.search-group > label {
    font-family: var(--erp-font-title) !important;
    font-size: var(--erp-ui-label-size) !important;
    font-weight: var(--erp-ui-label-weight) !important;
    color: var(--erp-ui-label-color) !important;
    line-height: 1.25 !important;
    margin: 0 0 6px 0 !important;
}

.form-row > .form-label,
.form-row > label {
    margin: 0 !important;
}

/* 4) Common Button */
.btn,
button.btn,
a.btn,
input.btn,
input[type='button'].btn,
input[type='submit'].btn,
input[type='reset'].btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: var(--erp-ui-btn-height) !important;
    min-height: var(--erp-ui-btn-height) !important;
    padding: 0 16px !important;
    border-radius: var(--erp-ui-btn-radius) !important;
    font-family: var(--erp-font-base) !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    border: 1px solid transparent !important;
    box-sizing: border-box !important;
}

.btn-primary,
.btn-search {
    background: var(--erp-color-accent) !important;
    border-color: var(--erp-color-accent) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-search:hover {
    filter: brightness(0.95) !important;
}

.btn-reset,
.btn-secondary {
    background: #ffffff !important;
    border-color: var(--erp-color-accent) !important;
    color: var(--erp-color-accent) !important;
}

.btn-reset:hover,
.btn-secondary:hover {
    background: #f8fafc !important;
}

.btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}

/* 5) Popup (confirm/alert) style alignment */
.erp-popup-overlay .erp-popup-card {
    width: min(360px, 100%) !important;
    max-width: 100% !important;
    border: 1px solid var(--erp-border-color) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
    padding: 20px 20px 25px !important;
}

.erp-popup-overlay .erp-popup-icon {
    color: var(--erp-color-accent) !important;
    margin-bottom: 12px !important;
}

.erp-popup-overlay .erp-popup-title {
    font-family: var(--erp-font-title) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #333333 !important;
}

.erp-popup-overlay .erp-popup-text {
    font-family: var(--erp-font-base) !important;
    font-size: 0.85rem !important;
    color: #64748b !important;
    margin-bottom: 20px !important;
}

.erp-popup-overlay .erp-popup-btn {
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 0 !important;
    font-family: var(--erp-font-base) !important;
    font-size: 0.85rem !important;
    padding: 0 16px !important;
}

.erp-popup-overlay .erp-popup-btn-confirm {
    background: var(--erp-color-accent) !important;
    border: 1px solid var(--erp-color-accent) !important;
    color: #ffffff !important;
}

.erp-popup-overlay .erp-popup-btn-cancel {
    background: #ffffff !important;
    border: 1px solid var(--erp-color-accent) !important;
    color: var(--erp-color-accent) !important;
}

/* Global F4 buttons (닫기/취소/초기화): outline uses same color as text */
button[data-erp-hotkey='F4'],
a.btn[data-erp-hotkey='F4'],
a.button[data-erp-hotkey='F4'],
input[type='button'][data-erp-hotkey='F4'],
input[type='submit'][data-erp-hotkey='F4'],
input[type='reset'][data-erp-hotkey='F4'] {
    border: 1px solid currentColor !important;
}
