/*
 * 알파칩스 채용공고 목록 보정 CSS (개발자 소유, 퍼블리셔 납품물 아님)
 * 퍼블리셔 recruit 목록 CSS는 상태 배지 폭이 문구 길이에 따라 달라져
 * 행마다 제목 시작 위치가 어긋난다. 배지에 최소 폭을 주어 열을 맞춘다.
 */
[data-recruit-list] [data-type=recruit] .post__uid{flex-shrink:0;min-width:1.5em;text-align:center}
[data-recruit-list] [data-type=recruit] .post__state{box-sizing:border-box;min-width:13.5em}
@media all and (max-width: 980px){
  [data-recruit-list] [data-type=recruit] .post__state{min-width:0}
}

/* 상세 하단 고정 바: 접수중이 아닐 때 상태명을 버튼 자리에 표시. 긴 문구가 두 줄로 꺾이지 않게 한다. */
[data-view=document] .recruit__apply .btn--apply{white-space:nowrap}

/* 공유 버튼 옆 안내 말풍선("링크가 복사되었습니다"). 2초 후 사라진다. */
[data-view=document] .recruit__apply .inner{position:relative}
.recruit-share__toast{position:absolute;right:0;bottom:calc(100% + .5rem);padding:.5rem .875rem;border-radius:.5rem;background:#222;color:#fff;font-size:.875rem;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}
.recruit-share__toast.is-visible{opacity:1;transform:translateY(0)}

/* 채용 화면에서 hidden 속성은 항상 숨긴다. 퍼블리셔 .btn{display:inline-block}, .verify__number{display:flex} 등이
   브라우저 기본 [hidden]{display:none}을 덮어 신규 지원서의 취소·목록 버튼, 로그인 상태의 인증 영역이 보이던 문제. */
[data-recruit-apply] [hidden],[data-recruit-login] [hidden],[data-recruit-mypage] [hidden]{display:none!important}
/* 채용 화면 안내/오류 문구(role=status). 퍼블리셔 CSS에 해당 요소가 없어 개발자 CSS로 최소 표시만 둔다. */
.recruit-form__message{margin-top:1rem;text-align:center;color:#00c1ff;font-size:.9375rem}
.recruit-form__message:empty{display:none}
/* 이메일 인증 안내(발송·만료·오류)는 인증 박스 바로 아래에 표시한다. verify__box 그리드의 한 줄 전체를 쓴다. */
.verify__message{grid-column:1/-1;margin:0;font-size:.9375rem;color:#0044ab}
.verify__message[data-tone=error]{color:#e92828}
.verify__message:empty{display:none}

/* OTP는 바깥 verify__number가 입력칸 테두리와 포커스를 담당한다.
   공통 input 및 disabled의 !important 테두리가 안쪽에 중복 표시되지 않게 한다. */
:is([data-recruit-login],[data-recruit-apply]) [data-verify-number]>[data-code]{border:0!important;box-shadow:none;min-width:0;flex:1;padding:0;background:transparent!important}
:is([data-recruit-login],[data-recruit-apply]) [data-verify-number]>[data-timer]{flex-shrink:0}
/* 인증번호 입력 줄(입력칸·Verify·유효시간 안내)은 Send 성공 후에만 표시한다(data-otp-stage=ready → sent, recruit-auth.js).
   퍼블리싱 가이드는 처음부터 비활성으로 보이지만 사용자 요청으로 숨김. 비어 있는 두 번째 그리드 행 높이도 없앤다. */
.verify__box[data-otp-stage=ready]>.verify__number,.verify__box[data-otp-stage=ready]>[data-verify],.verify__box[data-otp-stage=ready]>.verify__text{display:none}
.verify__box[data-otp-stage=ready],.verify__box:has(>.verify__number[hidden]){grid-template-rows:4.125rem}
@media all and (max-width:980px){.verify__box[data-otp-stage=ready],.verify__box:has(>.verify__number[hidden]){grid-template-rows:3.375rem}}
/* 내 지원현황 빈 목록/불러오는 중 행 */
[data-recruit-mypage] .table__empty{padding:3rem 0;text-align:center;color:#6a6a6a}
/* 지원서 조회 모드: 첨부 파일명을 다운로드 링크로 표시 */
[data-recruit-apply] .form__file__item a{text-decoration:underline}

/* 로그인 이메일 추천: 브라우저 배율과 스크롤에 관계없이 입력란 아래에 정렬. */
[data-recruit-login] .recruit-email-suggest{position:relative;min-width:0;height:100%}
[data-recruit-login] .recruit-email-suggest>input{width:100%;height:100%;box-sizing:border-box}
[data-recruit-login] [data-email-suggestions]{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:20;max-height:16rem;overflow-y:auto;margin:0;padding:.375rem 0;list-style:none;background:#fff;border:1px solid #ccc;border-radius:.625rem;box-shadow:0 .25rem .75rem #0002;text-align:left}
[data-recruit-login] [data-email-suggestions]>li{padding:.625rem 1rem;overflow-wrap:anywhere;cursor:pointer;font-size:1rem;line-height:1.4;color:#222}
[data-recruit-login] [data-email-suggestions]>li:hover,[data-recruit-login] [data-email-suggestions]>li[aria-selected=true]{background:#e6f7ff;color:#0044ab}
