/* 프로필 관리 페이지 전용 (기존 토큰·버튼 클래스와 톤 맞춤) */
.user-profile-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 40px 48px;
  }

  /* 원형은 이미지만 자르고, 카메라 버튼은 래퍼에 둬서 잘리지 않게 함 */
  .user-profile-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    width: 140px;
    height: 140px;
  }

  /* 원과 이미지 한 덩어리: 이미지가 원 전체를 덮음 (비율 유지하며 잘림) */
  .user-profile-avatar {
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-circle, 50%);
    background-color: var(--color-disabled-bg);
    overflow: hidden;
    position: relative;
  }

  .user-profile-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  /* 프로필 원의 우하단에 겹침 (원 밖으로 살짝 나와도 잘리지 않음) */
  .user-profile-avatar-edit {
    position: absolute;
    right: -2px;
    bottom: -2px;
    z-index: 2;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 2px solid var(--color-white);
    border-radius: var(--border-radius-circle, 50%);
    background-color: var(--color-black);
    color: var(--color-white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  }

  .user-profile-avatar-edit svg {
    display: block;
    flex-shrink: 0;
  }

  .user-profile-avatar-edit:focus-visible {
    outline: 2px solid var(--color-primary-green-100);
    outline-offset: 2px;
  }

  .user-profile-fields {
    flex: 1;
    min-width: 240px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px 0;
  }

  .user-profile-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    font-size: 15px;
    line-height: 1.5;
  }

  .user-profile-row dt {
    margin: 0;
    min-width: 5.5em;
    font-weight: 600;
    color: var(--color-text);
  }

  .user-profile-row dt::after {
    content: " :";
  }

  .user-profile-row dd {
    margin: 0;
    flex: 1;
    min-width: 0;
    word-break: break-all;
  }

  /* 프리랜서: 계약기간 여러 줄 */
  .user-profile-value--multiline {
    white-space: pre-line;
  }

  .user-profile-value {
    color: var(--color-black);
  }

  /* 연차 통계 3칸 */
  .user-profile-leave-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 8px;
  }

  @media (max-width: 768px) {
    .user-profile-leave-stats {
      grid-template-columns: 1fr;
    }
  }

  .user-profile-leave-box {
    border-radius: var(--border-radius-medium);
    padding: 22px 20px;
    text-align: center;
  }

  .user-profile-leave-box--muted {
    background-color: var(--color-disabled-bg);
    color: var(--color-black);
  }

  .user-profile-leave-box--accent {
    background-color: var(--color-primary-green-100);
    color: var(--color-white);
  }

  .user-profile-leave-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
  }

  .user-profile-leave-value {
    font-size: 22px;
    font-weight: 700;
  }

  /* 액션 2줄(2×2): 1행 비밀번호·서명 / 2행 경력·로그아웃, 전체 폭 — searchBtn 재사용 */
  .user-profile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 16px;
    width: 100%;
  }

  .user-profile-action-btn {
    width: 100%;
    height: 52px;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
  }

  .user-profile-action-btn--logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .user-profile-action-btn--logout img {
    width: 18px;
    height: 18px;
  }

  a.user-profile-action-btn {
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
  }

  /* 비밀번호 변경 팝업(userProfileChangePwdPop) — 목업: 상단 설명 + 회색 안내 박스 */
  .profile-pwd-modal-desc {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.55;
  }

  /* 목업: 매우 연한 회색(#F8F8F8) — disabled-bg(#e0e0e0) 쓰면 너무 진해짐 */
  .profile-pwd-notice-box {
    margin-top: 4px;
    margin-bottom: 20px;
    padding: 16px 18px;
    border: 1px solid #dddddd;
    border-radius: var(--border-radius-medium);
    font-size: 13px;
    color: var(--color-text);
    line-height: 1.65;
    background-color: #f8f8f8;
  }

  .profile-pwd-notice-box p {
    margin: 0 0 6px;
  }

  .profile-pwd-notice-box p:last-child {
    margin-bottom: 0;
  }

  /* 비밀번호 변경: 인풋 아래 에러 문구 */
  #profileChangePwdModal .profile-pwd-field-error {
    display: none;
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.35;
    color: #d32f2f;
  }

  #profileChangePwdModal .tb_text.is-invalid {
    border-color: #d32f2f !important;
    box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.12);
  }

  /* 비밀번호 팝업만 목업 색(라벨 연녹 / 저장·취소) — 전역 primary와 별도 */
  #profileChangePwdModal .popup_table th {
    background-color: #e9f0e4;
  }

  #profileChangePwdModal .saveBtn,
  #profilePhotoModal .saveBtn,
  #profileSignatureModal .saveBtn,
  #profileCareerModal .saveBtn {
    background-color: #7cb342;
    border: 1px solid #7cb342;
    color: #fff;
  }

  #profileChangePwdModal .saveBtn:hover,
  #profilePhotoModal .saveBtn:hover,
  #profileSignatureModal .saveBtn:hover,
  #profileCareerModal .saveBtn:hover {
    filter: brightness(0.96);
  }

  #profileChangePwdModal .cancelBtn,
  #profilePhotoModal .cancelBtn,
  #profileSignatureModal .cancelBtn,
  #profileCareerModal .cancelBtn {
    border-color: #437c2e;
    color: var(--color-black);
    background-color: #fff;
  }

  /* 프로필 사진 변경 팝업(userProfilePhotoPop) */
  .profile-photo-modal-desc {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.55;
  }

  .profile-photo-modal-preview-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }

  .profile-photo-modal-preview {
    width: 160px;
    height: 160px;
    border-radius: var(--border-radius-circle, 50%);
    overflow: hidden;
    background-color: var(--color-disabled-bg);
    border: 1px solid var(--color-border-gray, #ddd);
  }

  .profile-photo-modal-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .profile-photo-modal-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
  }

  .user-profile-photo-modal-input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
  }

  .profile-photo-modal-notice {
    margin-bottom: 20px;
  }

  /* 서명 관리 팝업(userProfileSignaturePop) — 가로형 미리보기 */
  .profile-signature-modal-desc {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.55;
  }

  .profile-signature-modal-preview-wrap {
    margin-bottom: 20px;
  }

  .profile-signature-modal-preview {
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border: 1px dashed var(--color-border-gray, #ccc);
    border-radius: var(--border-radius-medium);
    background-color: #fafafa;
    box-sizing: border-box;
  }

  .profile-signature-modal-preview-img {
    display: block;
    max-width: 100%;
    max-height: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center center;
  }

  .profile-signature-modal-preview-img.is-hidden {
    display: none;
  }

  .profile-signature-modal-placeholder {
    margin: 0;
    font-size: 14px;
    color: #888;
    text-align: center;
    line-height: 1.5;
  }

  .profile-signature-modal-placeholder-title {
    display: inline-block;
    font-size: 16px;
    font-weight: 700;
    color: #666;
    margin-bottom: 2px;
  }

  .profile-signature-modal-preview-img:not(.is-hidden) ~ .profile-signature-modal-placeholder {
    display: none;
  }

  .profile-signature-modal-actions {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
  }

  .user-profile-signature-modal-input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
  }

  .profile-signature-modal-notice {
    margin-bottom: 20px;
  }

  /* 등록된 서명·사용자 지정 프로필 사진 없을 때 삭제 비활성 (다른 팝업 delectBtn 재사용) */
  #profileSignatureModal .delectBtn:disabled,
  #profilePhotoModal .delectBtn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
  }

  /* 경력 관리 팝업(userProfileCareerPop) */
  .profile-career-modal-dialog.modal-dialog {
    width: min(96vw, 1280px);
    max-width: 1280px;
    margin: 24px auto;
  }

  /* 사용자관리 — 경력 전용 페이지: 모달 오버레이 없이 본문만 (modal.css .modal-content 고정 위치 무력화) */
  .profile-career-page-shell {
    display: block !important;
    position: static !important;
    width: 100%;
    height: auto;
    overflow: visible;
    background: transparent;
    z-index: auto;
  }

  .profile-career-page-shell .profile-career-page-dialog {
    width: min(96vw, 1280px);
    max-width: 1280px;
    margin: 0 auto;
  }

  .profile-career-page-shell .profile-career-page-modal-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    max-width: 100%;
    max-height: none;
    width: 100%;
  }

  .profile-career-page-wrap {
    padding-bottom: 40px;
  }

  /* 사용자관리 경력 페이지: 모달 래퍼 없이 콘텐츠만 */
  .profile-career-page-wrap--flat {
    padding-top: 0;
  }

  /* 사용자관리 경력 페이지: 콘텐츠 영역 가로 전체 사용 (창 넓히면 테이블도 같이 넓어짐) */
  .profile-career-page-shell--flat {
    display: block !important;
    position: static !important;
    width: 100%;
    max-width: none;
    margin: 0;
    overflow: visible;
    background: transparent;
    box-sizing: border-box;
  }

  .profile-career-page-shell--flat > .popup-wrapper.profile-career-popup {
    width: 100%;
    max-width: none;
    padding: 24px 0 40px;
    margin: 0;
    box-sizing: border-box;
  }

  /* 넓은 화면에서 경력 그리드가 컨테이너 폭까지 채우도록 */
  .profile-career-page-shell--flat .profile-career-grid-wrap {
    width: 100%;
    max-width: none;
  }

  /* width 100% + 기존 min-width(1020px) 유지 → 좁은 화면은 가로 스크롤, 넓은 화면은 영역까지 확장 */
  .profile-career-page-shell--flat .profile-career-grid {
    width: 100%;
  }

  .profile-career-page-shell--flat .profile-career-edu-table,
  .profile-career-page-shell--flat .profile-career-cert-table {
    width: 100%;
  }

  /* 사용자관리 경력 — 상단 titleBox 보조 정리 */
  .user-mgmt-career-titleBox .user-mgmt-career-titleBox__sub {
    line-height: 1.5;
  }

  .user-mgmt-career-titleBox .user-mgmt-career-titleBox__name {
    font-weight: 600;
    color: var(--color-text);
  }

  /* 수행기간 유효성 메시지 (기간 셀 아래) */
  #profileCareerModal .profile-career-period-error {
    display: none;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.35;
    color: #d32f2f;
    white-space: pre-line;
  }

  #profileCareerModal textarea.profile-career-cell.profile-career-period--invalid {
    border-color: #d32f2f !important;
    box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.12);
  }

  .profile-career-popup .popup-wrapper,
  .profile-career-popup.popup-wrapper {
    max-width: none;
  }

  .profile-career-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
  }

  /*
   * 사용자관리 경력 페이지 툴바: .profile-career-header 가 아래쪽에 다시 정의되며
   * justify-content: space-between 이 덮어씌워지고, 자식이 버튼 하나면 항목이 좌측에만 붙는 문제가 있었음.
   * 좌측 제목 + 우측 Word 버튼을 두고 반드시 이 블록을 .profile-career-header 보다 뒤에 둠.
   */
  .profile-career-header.profile-career-header--toolbar-only {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border-gray, #e0e0e0);
  }

  .profile-career-header-toolbar-heading {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--color-text);
  }

  .profile-career-header-toolbar-heading .profile-career-header-toolbar-name {
    font-weight: 700;
    color: var(--color-text);
  }

  .profile-career-header-toolbar-heading .profile-career-header-toolbar-suffix {
    font-weight: 600;
    margin-left: 2px;
  }

  .profile-career-header--toolbar-only .profile-career-word-btn {
    flex-shrink: 0;
  }

  .profile-career-word-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid var(--color-border-gray, #ccc);
    border-radius: var(--border-radius-medium);
    background: var(--color-white);
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    flex-shrink: 0;
  }

  .profile-career-word-btn:hover {
    background: #f5f5f5;
  }

  .profile-career-word-btn__icon {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
  }

  .profile-career-section-label {
    margin: 20px 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
  }

  .profile-career-popup .profile-career-info-section:first-of-type .profile-career-section-label {
    margin-top: 12px;
  }

  .profile-career-info-section {
    margin-bottom: 22px;
  }

  .profile-career-info-section .popup_table {
    margin-bottom: 0;
    width: 100%;
  }

  /*
   * 학력·자격 표: 붙은 표 + 회색 테두리(가장자리·내부 격선 분명히)
   */
  #profileCareerModal .profile-career-edu-table,
  #profileCareerModal .profile-career-cert-table {
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    /* 바깥 윤곽이 하얗게 묻히지 않도록 한 톤 진한 회색 */
    border: 1px solid #b0b0b0;
    border-radius: var(--border-radius-medium);
    overflow: hidden;
  }

  /* 학력정보: 하단만 바깥 테두리(#b0b0b0)와 같은 회색으로 맞춤 */
  #profileCareerModal .profile-career-edu-table tbody tr:last-child td {
    border-bottom: 1px solid #b0b0b0;
  }

  #profileCareerModal .profile-career-edu-table th,
  #profileCareerModal .profile-career-edu-table td,
  #profileCareerModal .profile-career-cert-table th,
  #profileCareerModal .profile-career-cert-table td {
    border: 1px solid #c4c4c4;
    border-radius: 0;
    padding: 0;
    vertical-align: middle;
  }

  #profileCareerModal .profile-career-edu-table thead th,
  #profileCareerModal .profile-career-cert-table thead th {
    background-color: #e9f0e4;
    color: #1c4004;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    padding: 10px 12px;
  }

  /* 기본정보: 이름·학위·전공·기술등급·업무영역 (업무영역은 입력 길이 여유) */
  #profileCareerModal .profile-career-edu-table thead th:nth-child(1),
  #profileCareerModal .profile-career-edu-table tbody td:nth-child(1) {
    width: 14%;
  }

  #profileCareerModal .profile-career-edu-table thead th:nth-child(2),
  #profileCareerModal .profile-career-edu-table tbody td:nth-child(2) {
    width: 16%;
  }

  #profileCareerModal .profile-career-edu-table thead th:nth-child(3),
  #profileCareerModal .profile-career-edu-table tbody td:nth-child(3) {
    width: 18%;
  }

  #profileCareerModal .profile-career-edu-table thead th:nth-child(4),
  #profileCareerModal .profile-career-edu-table tbody td:nth-child(4) {
    width: 18%;
  }

  #profileCareerModal .profile-career-edu-table thead th:nth-child(5),
  #profileCareerModal .profile-career-edu-table tbody td:nth-child(5) {
    width: 34%;
  }

  /* 입력칸은 셀 테두리만 쓰고 내부 박스 테두리·라운드 제거 */
  #profileCareerModal .profile-career-edu-table .tb_text,
  #profileCareerModal .profile-career-cert-table .tb_text {
    display: block;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    background: var(--color-white);
  }

  #profileCareerModal .profile-career-edu-table .tb_text:focus,
  #profileCareerModal .profile-career-cert-table .tb_text:focus {
    outline: 2px solid var(--color-primary-green-100);
    outline-offset: -2px;
    position: relative;
    z-index: 1;
  }

  /* modal.css .popup_table th { min-width:100px; width:20% } 무효화 — 자격사항만 */
  #profileCareerModal .profile-career-cert-table > thead > tr > th {
    min-width: 0 !important;
  }

  #profileCareerModal .profile-career-cert-table > thead > tr > th:not(.profile-career-cert-th--action) {
    width: auto !important;
  }

  #profileCareerModal .profile-career-cert-table thead th {
    text-align: center;
  }

  /* 자격사항: 헤더 클릭 → 열 붙여넣기 모드 (기술경력 그리드와 동일 패턴) */
  #profileCareerModal #careerCertTable thead tr:first-child th:not(.profile-career-cert-th--action) {
    cursor: pointer;
    user-select: none;
  }

  #profileCareerModal #careerCertTable thead tr:first-child th.profile-career-cert-th--action {
    cursor: default;
  }

  #profileCareerModal #careerCertTable thead tr:first-child th.profile-career-paste-col--active {
    box-shadow: inset 0 0 0 2px var(--color-primary-green-100, #84b73f);
    background-color: #dcedc8;
  }

  /* 삭제 열: '삭제' 두 글자(14px) + 좌우 패딩에 맞춘 폭 */
  #profileCareerModal .profile-career-cert-table col.profile-career-cert-col-del {
    width: 4rem;
  }

  /* 삭제 열: col + th/td 에서 폭 강제 (다른 규칙보다 우선) */
  #profileCareerModal .profile-career-cert-table thead th.profile-career-cert-th--action {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4.75rem !important;
    padding: 10px 8px !important;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
  }

  #profileCareerModal .profile-career-cert-table td.career-cert-row-del-cell {
    width: 4rem !important;
    min-width: 4rem !important;
    max-width: 4.75rem !important;
    padding: 6px 4px !important;
    box-sizing: border-box;
    text-align: center;
  }

  #profileCareerModal .profile-career-cert-table .career-cert-row-del-btn {
    width: 26px;
    height: 26px;
    font-size: 16px;
    min-width: 0;
  }

  /* 자격사항 행 추가 줄 (modal.css .rowAddBtnTd 와 동일 용도) */
  #profileCareerModal .profile-career-cert-table tr.career-cert-add-row td.rowAddBtnTd {
    padding: 8px !important;
    text-align: center;
    background-color: var(--color-background-gray, #f0f0f0) !important;
    border: 1px solid #c4c4c4;
  }

  #profileCareerModal .profile-career-cert-table tr.career-cert-add-row .rowAddBtnTd button {
    border: none;
    background: transparent;
    padding: 4px 10px;
    cursor: pointer;
    vertical-align: middle;
  }

  #profileCareerModal .profile-career-cert-table tr.career-cert-add-row .rowAddBtnTd button img {
    vertical-align: middle;
  }

  .profile-career-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 14px;
  }

  .profile-career-summary {
    font-size: 15px;
    color: var(--color-text);
  }

  .profile-career-summary strong {
    color: var(--color-primary-green-100, #84b73f);
    font-size: 17px;
  }

  .profile-career-paste-hint {
    display: inline-block;
    margin-left: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #666;
    vertical-align: middle;
  }

  .profile-career-toolbar-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .profile-career-btn-reset-all {
    height: 40px;
    padding: 0 18px;
    border: 1px solid var(--color-border-gray, #d0d0d0);
    border-radius: var(--border-radius-medium);
    background-color: #ececec;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }

  .profile-career-btn-reset-all:hover {
    background-color: #e0e0e0;
  }

  .profile-career-btn-sort {
    height: 40px;
    padding: 0 18px;
    border: 1px solid #437c2e;
    border-radius: var(--border-radius-medium);
    background-color: #e9f0e4;
    color: var(--color-black);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }

  .profile-career-btn-sort:hover {
    filter: brightness(0.97);
  }

  .profile-career-grid-wrap {
    overflow-x: auto;
    margin-bottom: 20px;
    border: 1px solid var(--color-border-gray, #ddd);
    border-radius: var(--border-radius-medium);
  }

  .profile-career-grid {
    width: 100%;
    border-collapse: collapse;
    min-width: 1020px;
    font-size: 13px;
  }

  .profile-career-grid thead tr:first-child th {
    background-color: #e9f0e4;
    color: #1c4004;
    font-weight: 600;
    padding: 10px 8px;
    border: 1px solid var(--color-border-gray, #ddd);
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
  }

  /* 삭제 열: 세로 붙여넣기 대상 아님 */
  .profile-career-grid thead tr:first-child th.profile-career-grid-th--action {
    cursor: default;
    width: 52px;
    min-width: 52px;
    max-width: 56px;
  }

  .profile-career-grid thead tr:first-child th.profile-career-paste-col--active {
    box-shadow: inset 0 0 0 2px var(--color-primary-green-100, #84b73f);
    background-color: #dcedc8;
  }

  .profile-career-col-reset-row th {
    background-color: #f5f5f5;
    padding: 6px 4px;
    border: 1px solid var(--color-border-gray, #ddd);
    vertical-align: middle;
  }

  .profile-career-col-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--color-white);
    color: #555;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  }

  .profile-career-col-reset-btn:hover {
    background: #eee;
    color: var(--color-black);
  }

  /* SVG 클릭이 버튼으로 전달되도록 (열 초기화 미동작 방지) */
  .profile-career-col-reset-btn svg {
    pointer-events: none;
  }

  .profile-career-grid .profile-career-reset-cell--noop {
    background-color: #f5f5f5;
  }

  .profile-career-row-del-cell {
    text-align: center;
    vertical-align: middle !important;
    width: 52px;
    min-width: 52px;
    padding: 4px !important;
    background: var(--color-white);
  }

  .profile-career-row-del-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: var(--border-radius-small, 4px);
    background: #fff;
    color: #c62828;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
  }

  .profile-career-row-del-btn:hover {
    background: #ffebee;
    border-color: #c62828;
  }

  .profile-career-proj-add-td {
    padding: 8px !important;
    text-align: center;
    background-color: var(--color-background-gray, #f0f0f0) !important;
    border: 1px solid var(--color-border-gray, #ddd) !important;
  }

  .profile-career-proj-add-td button {
    border: none;
    background: transparent;
    padding: 4px 10px;
    cursor: pointer;
    vertical-align: middle;
  }

  .profile-career-proj-add-td button img {
    vertical-align: middle;
  }

  .profile-career-grid tbody td {
    border: 1px solid var(--color-border-gray, #ddd);
    padding: 0;
    vertical-align: top;
    background: var(--color-white);
  }

  .profile-career-cell {
    display: block;
    width: 100%;
    min-height: 44px;
    min-width: 100px;
    padding: 8px 10px;
    border: none;
    border-radius: 0;
    font-size: 13px;
    line-height: 1.45;
    resize: none;
    box-sizing: border-box;
    font-family: inherit;
    background: transparent;
  }

  .profile-career-cell:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(132, 183, 63, 0.55);
  }

  /* 수행 기간 열: 중복 기간 경고 */
  .profile-career-period--overlap {
    border-color: #c62828 !important;
    background-color: #ffebee;
  }