#recruit-app { min-height:100vh; background:radial-gradient(circle at top right, rgba(180,218,255,.45), transparent 24rem), linear-gradient(180deg, #f6f9fc 0%, #edf3f8 52%, #f8fbfd 100%); color:#153047; }
.recruit-shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.recruit-header { position:sticky; top:50px; z-index:200; backdrop-filter:blur(14px); background:rgba(247,251,255,.82); border-bottom:1px solid rgba(21,48,71,.08); }
.recruit-header__inner, .recruit-footer__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px 0; flex-wrap:wrap; }
.recruit-brand { display:inline-flex; flex-direction:column; color:#153047; text-decoration:none; }
.recruit-brand__eyebrow, .section-head span, .recruit-kicker { font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#c35c2d; }
.recruit-brand strong { font-size:24px; line-height:1.1; }
.recruit-nav { display:flex; flex-wrap:nowrap; gap:14px; align-items:center; justify-content:flex-end; flex:1 1 auto; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.recruit-nav::-webkit-scrollbar { height:6px; }
.recruit-nav::-webkit-scrollbar-thumb { background:rgba(21,48,71,.18); border-radius:999px; }
.recruit-nav::-webkit-scrollbar-track { background:transparent; }
.recruit-nav a { white-space:nowrap; }
.recruit-nav a, .recruit-footer__links a { color:#234561; text-decoration:none; font-weight:600; }
.recruit-footer__links { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.recruit-main { padding:40px 0 24px; }
.recruit-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:28px; align-items:stretch; margin-bottom:36px; }
.recruit-hero__content, .recruit-hero__panel, .recruit-section, .feature-card, .job-card, .empty-state, .recruit-form-card, .job-detail-card, .applicant-card { border:1px solid rgba(24,57,87,.08); background:rgba(255,255,255,.88); box-shadow:0 18px 50px rgba(24,57,87,.08); border-radius:24px; }
.recruit-hero__content { padding:42px; }
.recruit-hero__content h1 { margin:10px 0 16px; font-size:clamp(34px,5vw,58px); line-height:1.02; color:#0f2436; }
.recruit-hero__content p, .feature-card p, .empty-state p, .recruit-note p, .form-hint, .applicant-card p { margin:0; color:#48657c; line-height:1.7; }
.recruit-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.recruit-actions--between { justify-content:space-between; align-items:center; margin-bottom:18px; }
.btn-primary, .btn-secondary, .table-actions a, .table-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:999px; text-decoration:none; font-weight:700; border:0; cursor:pointer; }
.btn-primary { background:#163a59; color:#fff; }
.btn-secondary { background:#f3e0d6; color:#91411e; }
.recruit-hero__panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:20px; }
.metric-card { padding:20px; border-radius:18px; background:linear-gradient(180deg,#f9fcff 0%,#eef5fb 100%); }
.metric-card span { display:block; color:#5f7b91; font-size:13px; }
.metric-card strong { display:block; margin-top:8px; font-size:32px; color:#132b40; }
.recruit-section { padding:30px; margin-bottom:24px; }
.section-head { margin-bottom:18px; }
.section-head--profile { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-head__profile img { width:72px; height:72px; border-radius:50%; object-fit:cover; background:#fff; border:1px solid rgba(24,57,87,.12); }
.recruit-profile-upload { display:flex; align-items:center; gap:16px; }
.recruit-profile-actions { display:flex; flex-direction:column; gap:8px; }
.profile-img-upload { position:relative; width:96px; height:96px; }
.profile-img-upload label { display:block; width:96px; height:96px; border-radius:50%; overflow:hidden; background:#eef3f7; border:1px solid rgba(24,57,87,.12); cursor:pointer; position:relative; }
.profile-img-upload img { width:100%; height:100%; object-fit:cover; display:block; }
.profile-img-upload input[type=file] { display:none; }
.profile-change-btn { align-self:flex-start; min-height:36px; padding:6px 12px; font-size:13px; }
.company-profile-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.company-profile-photo .profile_img img { width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid rgba(24,57,87,.12); }
.table-profile { display:flex; align-items:center; gap:8px; }
.table-profile__img .profile_img img { width:32px; height:32px; border-radius:50%; object-fit:cover; border:1px solid rgba(24,57,87,.12); }
.table-profile__name { display:inline-block; }
.talent-profile { display:flex; align-items:center; gap:10px; margin:6px 0 10px; }
.talent-profile__img .profile_img img { width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid rgba(24,57,87,.12); }
.resume-preview-card { border:1px solid rgba(24,57,87,.08); background:rgba(255,255,255,.88); box-shadow:0 18px 50px rgba(24,57,87,.08); border-radius:24px; padding:22px; margin-bottom:18px; }
.resume-preview-head { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.resume-preview__img .profile_img img { width:72px; height:72px; border-radius:50%; object-fit:cover; border:1px solid rgba(24,57,87,.12); }
.detail-grid--compact { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.checkbox-label--inline { display:inline-flex; align-items:center; gap:8px; margin-top:4px; }
.section-head h2 { margin:8px 0 0; font-size:30px; color:#10273a; }
.feature-grid, .job-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.feature-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.feature-card, .job-card, .empty-state, .recruit-form-card, .job-detail-card, .applicant-card { padding:24px; }
.feature-card strong, .job-card h3, .empty-state strong, .applicant-card strong { display:block; margin-bottom:10px; font-size:22px; color:#10273a; }
.job-card h3 a { color:#10273a; text-decoration:none; }
.job-card__meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.job-card dl, .detail-grid { margin:0; }
.job-card dl div, .detail-grid div { display:flex; gap:10px; padding:8px 0; border-top:1px solid rgba(16,39,58,.08); }
.job-card dt, .detail-grid dt { min-width:76px; color:#587186; font-weight:700; }
.job-company { margin:0 0 12px; color:#5a7185; font-weight:700; }
.simple-list { margin:0; padding-left:18px; }
.simple-list li + li { margin-top:8px; }
.recruit-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; font-size:12px; font-weight:700; color:#fff; background:#74879a; }
.recruit-badge.is-approved, .recruit-badge.is-active, .recruit-badge.is-hired { background:#1c8d63; }
.recruit-badge.is-pending, .recruit-badge.is-review, .recruit-badge.is-interview { background:#d28d23; }
.recruit-badge.is-rejected, .recruit-badge.is-blocked, .recruit-badge.is-closed { background:#b74b4b; }
.recruit-form-card { display:block; }
.recruit-form-card label { display:block; margin-bottom:16px; }
.recruit-form-card label span { display:block; margin-bottom:8px; font-size:14px; font-weight:700; color:#264760; letter-spacing:0; text-transform:none; }
.recruit-form-card input[type=text], .recruit-form-card input[type=email], .recruit-form-card input[type=url], .recruit-form-card input[type=date], .recruit-form-card input[type=number], .recruit-form-card textarea, .recruit-form-card select, .recruit-inline-form select { width:100%; border:1px solid #d7e1ea; border-radius:14px; min-height:48px; padding:12px 14px; font-size:15px; color:#173349; background:#fbfdff; box-sizing:border-box; }
.recruit-form-card select { font-size:16px; line-height:1.6; }
.recruit-form-card select option { font-size:16px; }
.recruit-form-card textarea { min-height:150px; resize:vertical; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.recruit-form-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:12px; }
.checkbox-label { display:flex !important; align-items:center; gap:10px; }
.checkbox-label span { margin:0 !important; }
.inline-note { font-weight:700; color:#264760; }
.table-wrap { overflow-x:auto; }
.recruit-table { width:100%; border-collapse:collapse; }
.recruit-table th, .recruit-table td { padding:14px 12px; border-top:1px solid rgba(16,39,58,.08); text-align:left; vertical-align:middle; }
.recruit-table th { color:#5f778b; font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.table-actions { display:flex; flex-wrap:wrap; gap:8px; }
.table-actions form { margin:0; }
.table-actions a, .table-actions button { min-height:36px; padding:0 12px; background:#eef3f7; color:#173349; }
.detail-body { margin-top:18px; line-height:1.8; color:#345268; }
.inline-admin-form, .recruit-inline-form { display:flex; gap:8px; align-items:center; flex-wrap:nowrap; }
.recruit-inline-form input[type=text] { flex:1 1 auto; }
.recruit-inline-form .btn-secondary { flex:0 0 auto; }
.form-hint { margin-top:14px; }
.recruit-footer { border-top:1px solid rgba(21,48,71,.08); background:rgba(255,255,255,.72); margin-bottom:100px; }
.recruit-footer p { margin:6px 0 0; color:#506a80; }
.recruit-pill { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; background:#eef3f7; color:#173349; font-weight:700; }
.applicant-stack { display:grid; grid-template-columns:1fr; gap:16px; }
.applicant-card__head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
@media (max-width:960px) {
  #recruit-app { font-size:16px; }
  .recruit-shell { width:min(100% - 32px,1180px); }
  .recruit-hero, .feature-grid, .job-grid, .form-grid, .feature-grid--2 { grid-template-columns:1fr; }
  .recruit-header__inner, .recruit-footer__inner, .recruit-actions--between, .applicant-card__head { flex-direction:column; align-items:flex-start; }
  .recruit-nav { width:100%; justify-content:flex-start; }
  .recruit-form-card select { font-size:16px; }
  .recruit-header { top:0; }
  .recruit-form-card label { position:relative; }
  .recruit-form-card label select { position:relative; z-index:1; }
}
.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.summary-grid--compact { margin-bottom:18px; }
.summary-card { padding:22px; border-radius:20px; border:1px solid rgba(24,57,87,.08); background:linear-gradient(180deg,#f9fcff 0%,#eef5fb 100%); box-shadow:0 18px 50px rgba(24,57,87,.05); }
.summary-card span { display:block; color:#5f7b91; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.summary-card strong { display:block; margin-top:10px; font-size:30px; color:#10273a; }
.summary-card small { display:block; margin-top:6px; color:#5e7689; }
.recruit-filter-bar--wide select { max-width:220px; }
.recruit-pagination { margin-top:20px; }
.recruit-pagination .pg_wrap { justify-content:center; }
.recruit-select { position:relative; }
.recruit-select__button { width:100%; display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 14px; border:1px solid #d7e1ea; border-radius:14px; background:#fbfdff; font-size:16px; color:#173349; cursor:pointer; }
.recruit-select__arrow { margin-left:10px; font-size:14px; color:#5a7185; }
.recruit-select__menu { position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid #d7e1ea; border-radius:14px; box-shadow:0 18px 40px rgba(24,57,87,.12); padding:6px; z-index:30; max-height:280px; overflow-y:auto; display:none; }
.recruit-select.is-open .recruit-select__menu { display:block; }
.recruit-select__option { width:100%; text-align:left; padding:10px 12px; border:0; background:transparent; cursor:pointer; font-size:16px; color:#173349; border-radius:10px; }
.recruit-select__option:hover { background:#eef3f7; }
.recruit-dropzone { border:2px dashed #d7e1ea; border-radius:16px; padding:18px; background:#fbfdff; }
.recruit-dropzone.is-drag { border-color:#c35c2d; background:#fff7f2; }
.recruit-dropzone__hint strong { display:block; color:#173349; }
.recruit-dropzone__hint p { margin:6px 0 0; color:#5a7185; }
.recruit-dropzone__preview { display:grid; grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)); gap:12px; margin-top:14px; }
.recruit-dropzone__thumb { border-radius:12px; overflow:hidden; background:#eef3f7; }
.recruit-dropzone__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.recruit-dropzone__thumb.is-new { cursor:pointer; position:relative; }
.recruit-dropzone__thumb.is-new::after { content:"×"; position:absolute; top:6px; right:6px; width:20px; height:20px; border-radius:50%; background:rgba(0,0,0,.55); color:#fff; font-size:14px; display:flex; align-items:center; justify-content:center; }
.recruit-gallery { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:16px; }
.recruit-gallery__item { border-radius:16px; overflow:hidden; background:#eef3f7; box-shadow:0 12px 30px rgba(24,57,87,.12); }
.recruit-gallery__item img { width:100%; height:100%; display:block; object-fit:cover; }
@media (max-width:960px) {
  .summary-grid { grid-template-columns:1fr; }
}
.recruit-nav__notify { position:relative; display:inline-flex; align-items:center; gap:8px; }
.recruit-nav__badge { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#c35c2d; color:#fff; font-size:11px; font-weight:700; line-height:1; }
.applicant-card--unread { border-color:rgba(195,92,45,.35); box-shadow:0 18px 50px rgba(195,92,45,.12); }
.recruit-badge.is-priority-urgent { background:#b42318; }
.recruit-badge.is-priority-high { background:#d97706; }
.recruit-badge.is-priority-normal { background:#2563eb; }
.recruit-badge.is-priority-low { background:#64748b; }
.recruit-badge.is-scout-sent { background:#2563eb; }
.recruit-badge.is-scout-accepted { background:#1c8d63; }
.recruit-badge.is-scout-rejected { background:#b74b4b; }
.recruit-badge.is-scout-cancelled { background:#64748b; }

/* ── ICIA 자격증 뱃지 ── */
.recruit-license-wrap { margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.recruit-license-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 24px; padding: 0 8px; border-radius: 999px; background: #1e3a5f; color: #fff; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.recruit-license-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; background: linear-gradient(135deg, #eff6ff, #dbeafe); border: 1px solid #bfdbfe; color: #1e40af; font-size: 12px; font-weight: 600; white-space: nowrap; }
.recruit-license-none { font-size: 12px; color: #9ca3af; font-style: italic; }
