/* =============================================================
 * 공통 액션 버튼 컬러 시스템
 * 어떤 버튼 골격(.krds-btn / .btn / .new-register-btn / .excel-download-btn 등)
 * 위에든 의미 클래스(.btn-save / .btn-delete / ...)를 추가하면 컬러가 적용됨.
 *
 * 의미 → 컬러 매핑
 *   .btn-save / .btn-success / .btn-confirm   : 초록 (저장/확인)
 *   .btn-delete / .btn-danger                 : 빨강 (삭제/위험)
 *   .btn-cancel / .btn-secondary              : 회색 (취소/닫기)
 *   .btn-search / .btn-primary                : 파랑 (조회/주요 액션)
 *   .btn-edit / .btn-info                     : 청록 (수정)
 *   .btn-reset                                : 진회색 (초기화)
 *   .btn-warning                              : 노랑 (경고)
 *
 * 신규 페이지 생성 시 의미에 맞는 클래스를 부여한다 (CLAUDE.md 참조).
 * ============================================================= */

/* ---- 기본값(룩) — 골격 클래스가 무엇이든 동일하게 보이도록 강제 ---- */
.btn-save, .btn-success, .btn-confirm,
.btn-delete, .btn-danger,
.btn-cancel, .btn-secondary,
.btn-search, .btn-primary,
.btn-edit, .btn-info,
.btn-reset,
.btn-warning {
    color: var(--color-text-on-primary);
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
    line-height: var(--line-height-tight);
}

.btn-save:disabled, .btn-success:disabled, .btn-confirm:disabled,
.btn-delete:disabled, .btn-danger:disabled,
.btn-cancel:disabled, .btn-secondary:disabled,
.btn-search:disabled, .btn-primary:disabled,
.btn-edit:disabled, .btn-info:disabled,
.btn-reset:disabled,
.btn-warning:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- 저장 / 확인 / 성공 — 초록 ---- */
.btn-save,
.btn-success,
.btn-confirm,
.krds-btn.btn-save,
.krds-btn.btn-success,
.krds-btn.btn-confirm,
.btn.btn-save,
.btn.btn-success,
.btn.btn-confirm {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: var(--color-text-on-primary);
}
.btn-save:hover,
.btn-success:hover,
.btn-confirm:hover,
.krds-btn.btn-save:hover,
.krds-btn.btn-success:hover,
.krds-btn.btn-confirm:hover,
.btn.btn-save:hover,
.btn.btn-success:hover,
.btn.btn-confirm:hover {
    background-color: var(--color-success-hover);
    border-color: var(--color-success-hover);
    color: var(--color-text-on-primary);
}

/* ---- 삭제 / 위험 — 빨강 ---- */
.btn-delete,
.btn-danger,
.krds-btn.btn-delete,
.krds-btn.btn-danger,
.btn.btn-delete,
.btn.btn-danger {
    background-color: var(--color-danger);
    border-color: var(--color-danger);
    color: var(--color-text-on-primary);
}
.btn-delete:hover,
.btn-danger:hover,
.krds-btn.btn-delete:hover,
.krds-btn.btn-danger:hover,
.btn.btn-delete:hover,
.btn.btn-danger:hover {
    background-color: var(--color-danger-hover);
    border-color: var(--color-danger-hover);
    color: var(--color-text-on-primary);
}

/* ---- 취소 / 닫기 / 보조 — 회색 ---- */
.btn-cancel,
.btn-secondary,
.krds-btn.btn-cancel,
.krds-btn.btn-secondary,
.btn.btn-cancel,
.btn.btn-secondary {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-text-on-primary);
}
.btn-cancel:hover,
.btn-secondary:hover,
.krds-btn.btn-cancel:hover,
.krds-btn.btn-secondary:hover,
.btn.btn-cancel:hover,
.btn.btn-secondary:hover {
    background-color: var(--color-secondary-hover);
    border-color: var(--color-secondary-hover);
    color: var(--color-text-on-primary);
}

/* ---- 조회 / 주요 액션 — 파랑 ---- */
.btn-search,
.btn-primary,
.krds-btn.btn-search,
.krds-btn.btn-primary,
.btn.btn-search,
.btn.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-text-on-primary);
}
.btn-search:hover,
.btn-primary:hover,
.krds-btn.btn-search:hover,
.krds-btn.btn-primary:hover,
.btn.btn-search:hover,
.btn.btn-primary:hover {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: var(--color-text-on-primary);
}

/* ---- 수정 / 정보 — 청록 ---- */
.btn-edit,
.btn-info,
.krds-btn.btn-edit,
.krds-btn.btn-info,
.btn.btn-edit,
.btn.btn-info {
    background-color: var(--color-info);
    border-color: var(--color-info);
    color: var(--color-text-on-primary);
}
.btn-edit:hover,
.btn-info:hover,
.krds-btn.btn-edit:hover,
.krds-btn.btn-info:hover,
.btn.btn-edit:hover,
.btn.btn-info:hover {
    background-color: var(--color-info-hover);
    border-color: var(--color-info-hover);
    color: var(--color-text-on-primary);
}

/* ---- 초기화 — 진회색 ---- */
.btn-reset,
.krds-btn.btn-reset,
.btn.btn-reset {
    background-color: var(--color-reset);
    border-color: var(--color-reset);
    color: var(--color-text-on-primary);
}
.btn-reset:hover,
.krds-btn.btn-reset:hover,
.btn.btn-reset:hover {
    background-color: var(--color-reset-hover);
    border-color: var(--color-reset-hover);
    color: var(--color-text-on-primary);
}

/* ---- 경고 — 노랑 ---- */
.btn-warning,
.krds-btn.btn-warning,
.btn.btn-warning {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: var(--color-text-strong);
}
.btn-warning:hover,
.krds-btn.btn-warning:hover,
.btn.btn-warning:hover {
    background-color: var(--color-warning-hover);
    border-color: var(--color-warning-hover);
    color: var(--color-text-strong);
}
