/* 기관별 표시되는 공문 작업 수에 맞춰 전체 너비를 균등하게 나눈다. */
#bond-documents .bond-document-actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; width: 100%; }
#bond-documents .bond-document-actions > button { width: 100%; min-width: 0; height: auto; min-height: 52px; padding: 12px 8px; font-size: 14px; font-weight: 600; white-space: normal; line-height: 1.5; }
/* 공문 발송은 화면 중앙에서 메일 본문과 첨부파일을 확인한다. */
dialog[data-business-modal].business-dialog--center {
    inset: 0; margin: auto; width: min(800px, calc(100vw - 32px));
    height: auto; max-width: calc(100vw - 32px); max-height: calc(100dvh - 48px); padding: 0;
    border: 1px solid #e7e5e4; border-radius: 12px; overflow: hidden;
}
dialog[data-business-modal].business-dialog--center[open] { display: flex; flex-direction: column; }
.business-dialog--center > .business-dialog-body { min-height: 0; overflow: auto; }
#bond-doc-send .business-fields { display: block; padding: 0; }
#bond-doc-send .business-dialog-body { background: #fff; }
#bond-doc-send .bond-mail-compose { font-size: 13px; }
#bond-doc-send .bond-mail-row { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid #e7e5e4; overflow-wrap: anywhere; }
#bond-doc-send .bond-mail-label { font-weight: 700; color: #57534e; }
#bond-doc-send .bond-mail-content { padding: 18px 0; border-bottom: 1px solid #e7e5e4; }
#bond-doc-send .bond-mail-content p { min-height: 160px; margin: 12px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
#bond-doc-send .bond-mail-files > div { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
#bond-doc-send .bond-mail-files > div > span:nth-child(2) { flex: 1; min-width: 0; }
#bond-doc-send .bond-mail-files .material-symbols-outlined { font-size: 18px; }
/* D01: 모든 업무 상세·입력창의 공통 외형과 크기. */
#unpaid-repay-balance { color: #2563eb; }
/* 미수금내역: D01 요약과 내역을 탭 없이 연속 배치한다. */
#unpaid-detail .mg-summary { flex-wrap: wrap; }
#unpaid-detail .mg-summary > div { min-width: 0; overflow-wrap: anywhere; }
#unpaid-detail .mg-summary > div:last-child { margin-left: auto; }
#unpaid-detail .mg-summary .unpaid-summary-amount { font-size: inherit; }
/* IP 등록: 800px 모달의 F10 입력 구역을 두 열로 배치한다. */
dialog.ips-register-dialog .business-fields,
dialog#dt-insert .business-fields {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px;
}
.ips-register-dialog .business-dialog-body { padding: 24px; background: #fafaf9; }
.ips-register-dialog .mg-detail-card { margin-bottom: 0; }
.ips-register-dialog .mg-fields .modal-field-label { flex-direction: row; justify-content: flex-start; }

dialog[data-business-modal].unified-modal {
    width: min(var(--business-dialog-width, 800px), 100vw);
    background: #fafaf9;
    color: #292524;
    border-left: 1px solid #e7e5e4;
    box-shadow: -12px 0 48px #29252420;
}
.unified-modal > .business-dialog-header { padding: 22px 26px; border-bottom: 1px solid #e7e5e4; background: #fff; }
dialog.unified-modal .business-dialog-title { font-size: 20px; font-weight: 700; color: #292524; }
.unified-modal > .business-dialog-body { padding: 24px; background: #fafaf9; }
.unified-modal > .business-dialog-body.modal-tabs { padding: 0 24px 24px; }
.unified-modal .modal-tab-panel { padding: 16px 0 0; }
.unified-modal .modal-tab-panel > .modal-section,
.unified-modal .sapp-detail-card,.unified-modal .app-group-card {
    padding: 20px; border: 1px solid #e7e5e4; border-radius: 8px; background: #fff; box-shadow: none;
}
.unified-modal .modal-section-title { color: #292524; font-size: 14px; }
.unified-modal { --detail-columns: 2; }
.unified-modal.business-dialog--1000 { --detail-columns: 3; }
.unified-modal.business-dialog--1200 { --detail-columns: 4; }
.unified-modal.sapp-detail-dialog { --detail-columns: 3; }
#fc-detail.unified-modal { --detail-columns: 3; }
.unified-modal[data-trx-modal] { --detail-columns: 3; }
.unified-modal .modal-detail-grid { grid-template-columns: repeat(min(var(--detail-columns), var(--detail-screen-columns, 4)),minmax(0,1fr)); }
.unified-modal .modal-detail-grid dt { color: #000; font-size: 13px; font-weight: 600; background: transparent; }
.unified-modal .modal-detail-grid dd { font-size: 12px; font-weight: 500; color: #292524; }
.unified-modal .modal-detail-grid dt,.unified-modal .modal-detail-grid dd { border-bottom: 1px solid #d6d3d1; padding: 8px 10px; }
.unified-modal .modal-detail-grid > div { border: 0; column-gap: 8px; }
.unified-modal .tx-table { font-size: 12px; }
.unified-modal .tx-table th,.unified-modal .tx-table td { padding: 8px 10px; }
.unified-modal .business-dialog-footer { background: #fff; }
.unified-modal > .business-dialog-footer { flex: 0 0 auto; margin: 0; padding: 14px 24px; border-top: 1px solid #e7e5e4; }
dialog.unified-modal .business-dialog-close { width: 24px; height: 24px; background: transparent; color: #000; border: 0; }
.unified-modal.business-dialog--slide-right > form {
    display: flex; flex: 1; flex-direction: column; min-height: 0; overflow: hidden;
}
.unified-modal.business-dialog--slide-right > form > .business-dialog-body {
    flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain;
}
.unified-modal.business-dialog--slide-right > form > .business-dialog-footer { flex: 0 0 auto; margin: 0; }
.unified-modal > .business-dialog-body > form > .business-dialog-footer { position: sticky; bottom: -24px; z-index: 10; margin: 20px -24px -24px; padding: 14px 24px; }
.unified-modal-tabs { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; column-gap: 0; row-gap: 0; }
/* D01과 동일한 투명 탭, 선택 밑줄 및 오른쪽 도구 영역. */
.unified-modal-tabs > .modal-tab-list {
    grid-column: 1; grid-row: 1; position: static; min-width: 0; gap: 6px;
    margin: 0 0 18px; padding: 0; background: transparent; border-bottom: 1px solid #d6d3d1;
}
.unified-modal .modal-tab-list button {
    padding: 10px 16px; border: 0; border-radius: 0; background: transparent;
    color: #292524; font-size: 13px; font-weight: 400; white-space: nowrap;
}
.unified-modal .modal-tab-list button:hover { background: transparent; color: #292524; }
.unified-modal .modal-tab-list button[aria-selected="true"] {
    border-bottom: 2px solid #44403c; background: transparent; color: #292524; font-weight: 700;
}
.unified-modal-tabs > .unified-modal-tools {
    grid-column: 2; grid-row: 1; align-self: stretch; min-height: 40px;
    margin: 0 0 18px; padding-left: 8px; border-bottom: 1px solid #d6d3d1;
}
.unified-modal-tabs > [data-cn-tab-panel] { grid-column: 1/-1; }
.unified-modal .unified-modal-tabs > .modal-tab-panel { padding-top: 0; }
.unified-modal .unified-modal-tabs.tabs-card-view,
.unified-modal.unified-modal-tabs.tabs-card-view,
.unified-modal .business-dialog-body.tabs-card-view { display: grid; overflow: auto; background: #fafaf9; gap: 16px; }
.unified-modal .tabs-card-view > [data-cn-tab-panel] { padding: 0; border: 0; background: transparent; }
.unified-modal .unified-modal-tabs.tabs-card-view > .unified-modal-tools { grid-column: 1/-1; margin-bottom: 2px; }
.unified-modal .tabs-card-view > [data-cn-tab-panel]:focus { outline: 1px solid #a8a29e; outline-offset: 3px; border-radius: 8px; }
.app-groups-dialog[data-business-page] .app-section-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
    align-items: start;
}
.app-groups-dialog[data-business-page] .app-section-grid > .app-section-panel {
    width: 100%;
    min-width: 0;
    grid-column: auto !important;
    container-type: inline-size;
}
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="basic"] { order: 1; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="limit"] { order: 2; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="payment"] { order: 3; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="integration"] { order: 4; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="pg"] { order: 5; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="receipt"] { order: 6; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="rate"] { order: 7; }
.app-groups-dialog[data-business-page] .app-section-grid > [data-ui-tab-panel="partner"] { order: 8; }
@media (width < 840px) {
    .app-groups-dialog[data-business-page] .app-section-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
.unified-modal-tools { display: flex; justify-content: end; align-items: center; gap: 8px; margin: 0 0 16px; min-height: 40px; }
.unified-modal-tools button { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid #d6d3d1; border-radius: 4px; background: #fff; color: #292524; }
.unified-modal-tools .material-symbols-outlined { font-size: 16px; }
/* 기본 업무 모달: F10 컴팩트 입력. 체크·라디오·파일 선택의 구조는 유지한다. */
dialog.unified-modal input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),
dialog.unified-modal select:not(.tx-select-native),dialog.unified-modal textarea,dialog.unified-modal .tx-select-trigger {
    box-sizing:border-box; min-height:32px; border:1px solid #d6d3d1;
    border-radius:6px !important; background:#fff; box-shadow:none;
    color:#292524; padding:6px 9px; font-size:12px !important; font-weight:400; line-height:18px;
}
dialog.unified-modal input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):focus,
dialog.unified-modal select:focus,dialog.unified-modal textarea:focus,dialog.unified-modal .tx-select-trigger:focus {
    border-color:#57534e; outline:0; box-shadow:0 0 0 3px #a8a29e33;
}
.unified-modal input::placeholder,.unified-modal textarea::placeholder { color:#c4bfbb; opacity:1; }
dialog.unified-modal input[readonly],dialog.unified-modal input:disabled,dialog.unified-modal textarea[readonly],dialog.unified-modal textarea:disabled { background:#e7e5e4; color:#78716c; }
.unified-modal .modal-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.unified-modal .modal-field-label { display:flex; align-items:center; margin:0; padding:0; }
.unified-modal .modal-field-input { width:100%; min-height:32px; }
dialog.unified-modal textarea { min-height:80px; resize:vertical; }
.unified-modal .bank-collect-fields,
.unified-modal .bank-transfer-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; }
.unified-modal .bank-collect-fields > div,
.unified-modal .bank-transfer-fields > div { min-width: 0; }
.unified-modal .bank-collect-fields label,
.unified-modal .bank-collect-fields input { font-size: 13px; font-weight: 400; }
.unified-modal .bank-collect-fields input[name="amount"],
.unified-modal .bank-transfer-fields input[name="amount"] { text-align: right; }
.unified-modal .bank-transfer-fields .profile-holder-input input { flex: 1; min-width: 0; width: 0; }
.unified-modal .bank-transfer-fields [data-profile-holder-result] { min-height: 40px; padding: 10px 12px; border-bottom: 1px solid #d6d3d1; }
.unified-modal .bank-transfer-fields [data-profile-holder-result].is-error { color: #be123c; }
/* 선택 목록은 기존 공통 JS를 사용하고 표시 버튼에 F10 테두리를 적용한다. */
dialog.unified-modal .modal-field-select,
dialog.unified-modal .tx-select-wrap--field { background:transparent; border:0; box-shadow:none; }
dialog.unified-modal .modal-field-select .tx-select-trigger {
    background:#fff; border:1px solid #d6d3d1; border-radius:6px !important;
}
dialog.unified-modal .modal-field-select .tx-select-trigger:focus { border-color:#57534e; }
/* 예금주·주소 조회 버튼도 F10 입력과 같은 테두리와 높이를 사용한다. */
dialog.unified-modal .profile-holder-input > button,
dialog.unified-modal .profile-postcode-input > button,
dialog.unified-modal [data-postcode-search] {
    align-self: stretch;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 6px 9px;
    border: 1px solid #d6d3d1;
    border-radius: 6px !important;
    background: #fff;
    color: #292524;
    box-shadow: none;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
dialog.unified-modal .profile-holder-input > button:hover,
dialog.unified-modal .profile-postcode-input > button:hover,
dialog.unified-modal .profile-holder-input > button:focus-visible,
dialog.unified-modal .profile-postcode-input > button:focus-visible { border-color: #57534e; outline: none; }
.unified-modal.profile-dialog .profile-fields > .pt-3 { padding-top: 0; }
.unified-modal.profile-dialog .modal-field { padding-top: 0; gap: 8px; }
/* F13: D01 외형, APP 그룹 카드, F10 입력, TAB/펼치기를 결합한 업무 입력 기준. */
.unified-modal.f13-modal .f13-group-card { padding: 20px; border-color: #e7e5e4; border-radius: 8px; background: #fff; }
.unified-modal.f13-modal .unified-modal-tabs > .f13-form { grid-column: 1 / -1; min-width: 0; width: 100%; }
.unified-modal.f13-modal .f13-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.unified-modal.f13-modal .f13-form .profile-fields { gap: 20px; }
.unified-modal.f13-modal .mg-fields .modal-field-label {
    display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
    align-self: stretch; width: 100%; min-height: 14px; color: #292524;
    font-size: 12px; font-weight: 600; text-align: left;
}
.unified-modal.f13-modal .f13-form :is(input:not([type=hidden]),textarea,.tx-select-trigger) { min-height: 32px; padding: 6px 9px; border: 1px solid #d6d3d1; border-radius: 6px !important; background: #fff; box-shadow: none; }
.unified-modal.f13-modal .f13-form :is(input:not([type=hidden]),textarea,.tx-select-trigger):focus { border-color:#57534e; outline:0; box-shadow:0 0 0 3px #a8a29e33; }
.unified-modal.f13-modal .f13-form textarea { min-height: 80px; resize: vertical; }
dialog.unified-modal :is(.unified-field-label,.modal-field-label) { position:static; transform:none; font-size:12px !important; font-weight:600 !important; line-height:18px; color:#292524; background:transparent; }
.unified-field-state { float: right; display: inline-flex; align-items: center; justify-content: center; margin-left: auto; width: 10px; font-size: 10px; line-height: 14px; font-weight: 700; }
.unified-field-state[data-state=pending] { color: #000; }
.unified-field-state[data-state=valid] { color: #15803d; }
.unified-field-state[data-state=invalid] { color: #b45345; }
.unified-field-state[hidden],.unified-field-error[hidden] { display: none !important; }
/* 사용자 등록·상세: 상태 아이콘을 라벨과 같은 행의 오른쪽 끝에 배치한다. */
#member-user-editor .member-editor-field > label.unified-field-label {
    display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center;
}
#member-user-editor .unified-field-label > .unified-field-state { float: none; flex-shrink: 0; }
.unified-modal .unified-field-error { display: block; margin-top: 4px; color: #9f3529; font-size: 11px; }
.unified-modal input[aria-invalid=true],.unified-modal select[aria-invalid=true],.unified-modal textarea[aria-invalid=true] { border-color: #b45345; }
.unified-modal input[aria-invalid=true]:focus,.unified-modal select[aria-invalid=true]:focus,.unified-modal textarea[aria-invalid=true]:focus { border-bottom-color: #000; }
.unified-modal.business-dialog--600 .profile-fields,
.unified-modal.business-dialog--800 .profile-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.unified-modal .sapp-detail-grid { grid-template-columns: repeat(min(var(--detail-columns), var(--detail-screen-columns, 4)),minmax(0,1fr)); }
@media screen and (width < 1280px) { .unified-modal { --detail-screen-columns: 3; } }
@media screen and (width < 840px) { .unified-modal { --detail-screen-columns: 2; } }
.unified-modal .holiday-choice { display: flex; gap: 8px; padding-top: 4px; }
.unified-modal .holiday-choice-option { position: relative; flex: 1; margin: 0; cursor: pointer; }
.unified-modal .holiday-choice-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.unified-modal .holiday-choice-option > span { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 32px; padding: 4px 10px; border: 1px solid #e7e5e4; border-radius: 4px; background: #fff; color: #000; font-size: 12px; font-weight: 500; transition: background .15s, border-color .15s; }
.unified-modal .holiday-choice-option--holiday > span { color: #dc2626; }
.unified-modal .holiday-choice-option .material-symbols-outlined { font-size: 14px; visibility: hidden; }
.unified-modal .holiday-choice-option:hover > span { background: #fafaf9; }
.unified-modal .holiday-choice-option > input:checked + span { border-color: #44403c; background: #f5f5f4; }
.unified-modal .holiday-choice-option--holiday > input:checked + span { border-color: #dc2626; background: #fef2f2; }
.unified-modal .holiday-choice-option > input:checked + span .material-symbols-outlined { visibility: visible; }
.unified-modal .holiday-choice-option > input:focus-visible + span { outline: 2px solid #78716c; outline-offset: 2px; }
#business-print-root { display: none; }
@media (width < 600px) {
 .unified-modal .modal-detail-grid,.unified-modal .sapp-detail-grid,
 dialog.unified-modal .profile-fields,dialog.unified-modal .business-fields { grid-template-columns: minmax(0,1fr); }
 .unified-modal > .business-dialog-body { padding: 16px; }
}
@media print {
 html:has(body.business-printing),body.business-printing { height: auto !important; overflow: visible !important; }
 body.business-printing > :not(#business-print-root),body.business-printing dialog { display: none !important; }
 body.business-printing dialog::backdrop { background: transparent !important; }
 body.business-printing #business-print-root { display: block !important; background: #fff; color: #000; }
 #business-print-root h1 { margin-bottom: 20px; font-size: 20px; font-weight: 600; }
 #business-print-root .business-dialog-body,#business-print-root [data-cn-tabs] { display: block; height: auto; max-height: none; overflow: visible; padding: 0; }
 #business-print-root [data-cn-tab-panel],#business-print-root .modal-section { break-inside: avoid; }
 #business-print-root .tx-table-wrap { overflow: visible !important; }
 #business-print-root .tx-table { white-space: normal; }
 #business-print-root .tx-sticky-col,#business-print-root .tx-table-sticky-left { position: static !important; }
}

/* 고객사 상세·수정: F10 컴팩트 입력과 2열 배치. */
#business-editor.unified-modal.mcht-basic-editor { container: mcht-editor / inline-size; }
#business-editor.unified-modal.mcht-basic-editor .profile-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) .modal-field { gap:8px; }
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) :is(input.modal-field-input,textarea.modal-field-input,.tx-select-trigger) {
    min-height:32px; height:auto; padding:6px 9px; font-size:12px !important; line-height:18px;
    border:1px solid #d6d3d1; border-radius:6px !important; background:#fff; color:#292524;
}
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) textarea.modal-field-input { min-height:80px; }
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) :is(input.modal-field-input,textarea.modal-field-input,.tx-select-trigger):focus {
    border-color:#57534e; outline:0; box-shadow:0 0 0 3px #a8a29e33;
}
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) input.modal-field-input[readonly] { background:#e7e5e4; color:#78716c; }
#business-editor.unified-modal:is(.mcht-basic-editor,.app-groups-dialog) :is(input,textarea)[aria-invalid=true] { border-color:#b91c1c; }
@container mcht-editor (min-width:600px) {
    #business-editor.unified-modal.mcht-basic-editor .profile-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

#business-editor:is(.mcht-basic-editor,.app-groups-dialog) .modal-field-label {
    position:static; transform:none; width:auto; padding:0; margin:0;
    font-size:12px; font-weight:600; line-height:18px; color:#292524; background:transparent;
}

/* APP 조회에서는 폼 대신 라벨과 값만 표시하고 수정 시 기존 F10 폼을 사용한다. */
.app-groups-dialog .app-field-value { display: none; }
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) .modal-field > :not(label):not(.app-field-value),
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) .unified-field-state,
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) button[type="submit"] { display: none !important; }
.app-groups-dialog[data-app-display-mode="view"] .app-field-value {
    display: block;
    min-height: 24px;
    padding: 2px 0 7px;
    border-bottom: 1px solid #e7e5e4;
    color: #292524;
    font-size: 12px;
    line-height: 20px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
/* F10의 fieldset/legend 구역 제목을 회원·내 계정 모달에도 적용한다. */
dialog.unified-modal fieldset:is(.member-editor-section,.f10-fieldset) {
    min-width: 0; margin: 0; padding: 20px;
    border: 1px solid #e7e5e4; border-radius: 8px; background: #fff;
}
dialog.unified-modal fieldset:is(.member-editor-section,.f10-fieldset) > legend {
    width: auto; padding: 0 8px; font-size: 13px; font-weight: 700; color: #57534e;
}
dialog.unified-modal .member-editor-section-form { min-width: 0; }
dialog.unified-modal .member-editor-section-form > fieldset.member-editor-section { height: 100%; }
dialog.unified-modal :is(#account-profile-form,#account-password-form) > fieldset.member-editor-section { height: auto; }

/* APP 보기: 항목 하나의 라벨·값이 화면상 2열이 되도록 한 행에 항목 하나를 배치한다. */
.app-groups-dialog .app-view-details { display: none; }
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) .profile-fields { display: none !important; }
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) .app-view-details {
    display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 16px;
}
.app-groups-dialog[data-app-display-mode="view"] .app-view-details > div {
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
}
.app-groups-dialog[data-app-display-mode="view"] .app-view-details :is(dt,dd) {
    padding: 6px 12px; font-weight: 400;
}

.app-groups-dialog[data-app-display-mode="view"] .app-view-details dd { color: #24314e; white-space: pre-wrap; font-weight: 500;}
.app-groups-dialog .app-group-edit-actions { display: inline-flex; align-items: center; gap: 8px; }
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) > .f10-fieldset {
    border: 0; padding: 0; border-radius: 0;
}
.app-groups-dialog[data-app-display-mode="view"] [data-app-group]:not([data-app-editing="true"]) > .f10-fieldset > legend { padding: 0; margin-bottom: 16px; }
@media (width < 600px) {
    .app-groups-dialog[data-app-display-mode="view"] .app-view-details { grid-template-columns: minmax(0,1fr); }
}
/* APP 카드 폭에 따라 조회값과 수정 입력을 3열·2열·1열로 조정한다. */
.app-groups-dialog[data-business-page] .app-section-panel :is(.profile-fields, .app-view-details) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@container (width >= 760px) {
    .app-groups-dialog[data-business-page] .app-section-panel :is(.profile-fields, .app-view-details) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@container (width < 520px) {
    .app-groups-dialog[data-business-page] .app-section-panel :is(.profile-fields, .app-view-details) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* 지분율의 표시 단위는 입력값과 분리해 오른쪽에 고정한다. */
.unified-modal .modal-percent-input { position: relative; min-width: 0; }
dialog.unified-modal .modal-percent-input input[name="sharedRatePercent"] { padding-right: 38px; }
.unified-modal .modal-percent-input__unit {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    color: #57534e; font-size: 12px; line-height: 18px; pointer-events: none;
}
.unified-modal .modal-percent-input input { appearance: textfield; -moz-appearance: textfield; }
.unified-modal .modal-percent-input input::-webkit-inner-spin-button,
.unified-modal .modal-percent-input input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* 부속 정보 삭제는 닫기와 같은 외형으로 하단 왼쪽에 둔다. */
dialog.unified-modal .business-dialog-footer .tx-profile-delete {
    margin-right: auto; border: 1px solid #2563eb; background: #fff; color: #2563eb;
}
dialog.unified-modal .business-dialog-footer .tx-profile-delete:hover { background: #eff6ff; }

dialog.unified-modal .business-dialog-footer .tx-profile-delete--red {
    border-color: #dc2626; background: #dc2626; color: #fff;
}
dialog.unified-modal .business-dialog-footer .tx-profile-delete--red:hover {
    border-color: #b91c1c; background: #b91c1c;
}

/* 지급계좌 저장은 테마 색상과 관계없이 검은색으로 표시한다. */
dialog.unified-modal .business-dialog-footer .tx-account-save {
    background: #000; border-color: #000; color: #fff;
}
dialog.unified-modal .business-dialog-footer .tx-account-save:hover:not(:disabled) { background: #1c1917; }

/* 지급계좌 번호와 예금주 조회를 하나의 입력 테두리로 연결한다. */
dialog.unified-modal .tx-account-holder-group {
    display: flex; align-items: stretch; gap: 0; min-width: 0;
    border: 1px solid #d6d3d1; border-radius: 6px; background: #fff;
}
dialog.unified-modal .tx-account-holder-group:focus-within {
    border-color: #57534e; box-shadow: 0 0 0 3px #a8a29e33;
}
dialog.unified-modal .tx-account-holder-group > #profile-account-account {
    flex: 1; width: 0; min-width: 0; border: 0; border-radius: 6px 0 0 6px !important;
    background: transparent; box-shadow: none; outline: none;
}
dialog.unified-modal .tx-account-holder-group > button {
    flex: none; margin: 0; border: 0; border-left: 1px solid #d6d3d1;
    border-radius: 0 6px 6px 0 !important; background: #f5f5f4; color: #292524;
    padding: 6px 10px; white-space: nowrap;
}
dialog.unified-modal .tx-account-holder-group > button:hover { background: #e7e5e4; }
dialog.unified-modal .tx-account-holder-group > button:focus-visible { outline: 2px solid #57534e; outline-offset: -3px; }
dialog.unified-modal .tx-account-holder-group:has([aria-invalid="true"]) { border-color: #b45345; }

/* 우편번호 입력과 조회 버튼을 하나의 입력 테두리 안에 배치한다. */
dialog.unified-modal .profile-postcode-input {
    display: flex; align-items: stretch; gap: 0; width: fit-content; max-width: 100%; min-width: 0;
    border: 1px solid #d6d3d1; border-radius: 6px; background: #fff;
}
dialog.unified-modal .profile-postcode-input:focus-within {
    border-color: #57534e; box-shadow: 0 0 0 3px #a8a29e33;
}
dialog.unified-modal .profile-postcode-input > input.modal-field-input {
    flex: 0 0 92px; width: 92px; min-width: 0; border: 0; border-radius: 6px 0 0 6px !important;
    background: transparent; box-shadow: none; outline: none;
}
dialog.unified-modal .profile-postcode-input > button[data-postcode-search] {
    flex: none; margin: 0; border: 0; border-left: 1px solid #d6d3d1;
    border-radius: 0 6px 6px 0 !important; background: #f5f5f4; color: #292524;
    padding: 6px 12px; white-space: nowrap;
}
dialog.unified-modal .profile-postcode-input > button[data-postcode-search]:hover { background: #e7e5e4; }
dialog.unified-modal .profile-postcode-input > button[data-postcode-search]:focus-visible {
    outline: 2px solid #57534e; outline-offset: -3px;
}
dialog.unified-modal .profile-postcode-input:has(input[aria-invalid="true"]) { border-color: #b45345; }

/* 정산 차감·반환: 요약 금액, 입력 도움말, 초과 반환 경고와 이력 구역. */
.trx-adjust-dialog > .business-dialog-body { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 16px; }
dialog.trx-adjust-dialog .business-dialog-footer button[data-dialog-close] { min-width: 52px; border-color: #d6d3d1; background: #fff; color: #292524; }
dialog.trx-adjust-dialog .business-dialog-footer button[type="submit"] { min-width: 52px; }
.trx-adjust-dialog .modal-section-header { justify-content: space-between; margin-bottom: 12px; }
.trx-adjust-dialog .modal-section-header > .modal-section-title { margin: 0; }
.trx-adjust-dialog [data-modal-tools-slot] > .unified-modal-tools { margin: 0; min-height: 0; }
.trx-adjust-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; padding-bottom: 14px; border-bottom: 1px solid #e7e5e4; }
.trx-adjust-meta > div { min-width: 0; }
.trx-adjust-meta dt { margin: 0 0 4px; color: #78716c; font-size: 12px; white-space: nowrap; }
.trx-adjust-meta dd { margin: 0; color: #292524; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.trx-adjust-figures { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0; }
.trx-adjust-figures > div { grid-column: span 2; min-width: 0; padding: 10px 12px; border: 1px solid #e7e5e4; border-radius: 6px; background: #fafaf9; }
.trx-adjust-figures > div.is-key { grid-column: span 3; padding: 12px 14px; border-color: #d6d3d1; background: #fff; }
.trx-adjust-figures dt { margin: 0; color: #57534e; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trx-adjust-figures dd { margin: 4px 0 0; color: #292524; font-size: 14px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.trx-adjust-figures .is-key dt { color: #292524; font-weight: 700; }
.trx-adjust-figures .is-key dd { font-size: 20px; font-weight: 700; }
.trx-adjust-figures .is-negative { border-color: #fca5a5; background: #fef2f2; }
.trx-adjust-figures .is-negative dd, .trx-adjust-figures .is-negative dt { color: #b91c1c; }
.trx-adjust-caption { margin: 2px 0 0; color: #a8a29e; font-size: 11px; text-align: right; white-space: nowrap; }
.trx-adjust-dialog .trx-adjust-input .business-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.trx-adjust-dialog .trx-adjust-input input[name="amount"] { font-size: 14px !important; font-weight: 600; font-variant-numeric: tabular-nums; }
.trx-adjust-help { display: block; margin-top: 6px; color: #78716c; font-size: 11px; line-height: 16px; }
.trx-adjust-warning { display: flex; align-items: flex-start; gap: 6px; margin: 14px 0 0; padding: 10px 12px; border: 1px solid #fca5a5; border-radius: 6px; background: #fef2f2; color: #b91c1c; font-size: 12px; line-height: 18px; }
.trx-adjust-warning[hidden] { display: none; }
.trx-adjust-warning .material-symbols-outlined, .trx-adjust-locked .material-symbols-outlined { font-size: 16px; line-height: 18px; }
.trx-adjust-locked { display: flex; align-items: flex-start; gap: 6px; margin: 0; padding: 12px 14px; border: 1px solid #e7e5e4; border-radius: 8px; background: #fff; color: #57534e; font-size: 12px; line-height: 18px; }
.trx-adjust-count { color: #78716c; font-size: 12px; white-space: nowrap; }
.trx-adjust-history .tx-table th { white-space: nowrap; }
.trx-adjust-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.trx-adjust-empty { margin: 0; padding: 24px 12px; border: 1px dashed #d6d3d1; border-radius: 6px; color: #78716c; font-size: 12px; text-align: center; }
@media (width < 600px) {
 .trx-adjust-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .trx-adjust-figures { grid-template-columns: minmax(0, 1fr); gap: 6px; }
 .trx-adjust-figures > div, .trx-adjust-figures > div.is-key { grid-column: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
 .trx-adjust-figures dd { margin: 0; }
 .trx-adjust-figures .is-key dd { font-size: 17px; }
 .trx-adjust-caption { grid-column: 1 / -1; text-align: left; }
 .trx-adjust-dialog .trx-adjust-input .business-fields { grid-template-columns: minmax(0, 1fr); }
}
