@charset "utf-8";

/* ===== 07.구직 — Figma 1127:8342 (green) =====
   팔레트: 진녹 #14532D · 녹색 #16A34A · 연녹 bg #F0FDF4 · 녹테두리 #BBF7D0 */
.js-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}

/* 헤더 */
.js-head {position:sticky; top:0; z-index:20; background:var(--card);}
.js-bar {display:flex; align-items:center; gap:14px; padding:17px 22px; border-bottom:1.92px solid var(--line);}
.js-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:58px; height:58px;}
.js-back img {width:32px; height:32px;}
.js-search {flex:1; display:flex; align-items:center; gap:16px; height:68px; padding:0 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:42px;}
.js-search img {width:31px; height:31px;}
.js-search input {flex:1; min-width:0; border:0; background:transparent; font-size:24px; color:var(--ink);}
.js-search input::placeholder {color:#6B7280;}

/* 필터 (5개, 좌우 스크롤) */
.js-filters {display:flex; flex-wrap:nowrap; gap:11.52px; padding:15px 27px 21px; border-bottom:1.92px solid var(--line); overflow-x:auto; scrollbar-width:none;}
.js-filters::-webkit-scrollbar {display:none;}
.js-dd {position:relative; flex:0 0 auto;}
.js-fil {flex:0 0 auto; display:flex; align-items:center; gap:5.76px; padding:11.52px 23px; border:1.92px solid var(--line); border-radius:38px; background:var(--card); color:#475569; font-size:21px; font-weight:500; white-space:nowrap;}
.js-fil .lbl {white-space:nowrap; font-size:inherit;}
.js-fil img {width:21px; height:21px; transition:transform .2s ease;}
.js-dd.open .js-fil img {transform:rotate(180deg);}
.js-fil.on {border-color:#16A34A; color:#15803D; background:#F0FDF4; font-weight:700;}
.js-fil-region::before {content:''; flex:0 0 auto; width:21px; height:21px; background:url('/asset/images/jobseek/js-pin.svg') center/contain no-repeat;}
.js-dd-menu {position:absolute; top:62px; left:0; z-index:30; min-width:220px; max-height:0; overflow:hidden; opacity:0; background:var(--card); border-radius:16px; box-shadow:0 18px 44px rgba(15,23,42,.18); transition:opacity .15s ease;}
.js-dd.open .js-dd-menu {max-height:420px; overflow-y:auto; opacity:1; padding:10px; border:1.92px solid var(--line);}
.js-dd-menu li {padding:16px 20px; border-radius:10px; font-size:22px; color:var(--body); cursor:pointer; white-space:nowrap;}
.js-dd-menu li.on {background:#F0FDF4; color:#15803D; font-weight:700;}

/* 브레드크럼 */
.js-crumb {display:flex; align-items:center; gap:11px; padding:15px 27px 13px; border-bottom:1.92px solid var(--line); font-size:23px; font-weight:700; color:#6B7280;}
.js-crumb img {width:25px; height:25px;}

/* 탭 (게시판 종류가 늘어나면 좌우 화살표로 스크롤) */
.js-tabswrap {position:relative;}
.js-tabs {display:flex; gap:0; padding:0 27px; overflow-x:auto; scrollbar-width:none; border-bottom:3.84px solid var(--line);}
.js-tabs::-webkit-scrollbar {display:none;}
.js-tab {flex:0 0 auto; position:relative; padding:21px 23px; background:none; color:#94A3B8; font-size:23px; font-weight:500; white-space:nowrap;}
.js-tab.on {color:#16A34A; font-weight:700;}
.js-tab.on::after {content:''; position:absolute; left:0; right:0; bottom:-3.84px; height:3.84px; border-radius:3px 3px 0 0; background:#16A34A;}
.js-tabarrow {position:absolute; top:0; bottom:3.84px; width:46px; z-index:5; display:flex; align-items:center; justify-content:center; border:0; cursor:pointer; padding:0;}
.js-tabarrow img {width:16px; height:16px;}
.js-tabarrow.prev {left:0; background:linear-gradient(to right, var(--card) 55%, transparent);}
.js-tabarrow.next {right:0; background:linear-gradient(to left, var(--card) 55%, transparent);}

/* 본문 */
.js-body {flex:1; padding:23px 27px 170px;}
.js-feat-h {display:flex; align-items:center; justify-content:space-between; margin-bottom:21px;}
.js-feat-h b {font-size:25px; font-weight:700; color:var(--ink);}
.js-feat-h a {font-size:21px; color:var(--sub); font-weight:500;}

/* 이번 주 주목 구직 — 인물 카드 (2열) */
.js-feat {display:grid; grid-template-columns:repeat(2, 1fr); gap:19.2px;}
.js-fcard {position:relative; display:flex; flex-direction:column; background:var(--card); border:1.92px solid var(--line); border-radius:19.2px; overflow:hidden; box-shadow:0 1.92px 11.52px rgba(15,23,42,.06);}
.js-fcard-top {display:flex; flex-direction:column; align-items:center; gap:11.52px; padding:25px 19px 17px; background:#F7FEF9; border-bottom:1.92px solid var(--line);}
.js-fav {display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; border:3.84px solid #DCFCE7; background:linear-gradient(135deg, #A7F3C4, #6EE79F); color:#14532D; font-size:30px; font-weight:800;}
.js-fav.gray {background:#EDF1F6; border-color:#E2E8F0; color:#94A3B8;}
.js-fav.gray img {width:46px; height:46px; opacity:.55;}
.js-fname {font-size:23px; font-weight:700; color:var(--ink); text-align:center;}
.js-fsub {font-size:19px; color:var(--sub); text-align:center;}
.js-fheart {position:absolute; right:11.52px; top:11.52px; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,.9); border:1.92px solid var(--line);}
.js-fheart img {width:25px; height:25px;}
.js-fcard-bot {position:relative; display:flex; flex-direction:column; gap:7.68px; padding:15px 19px 19px;}
.js-ftags {display:flex; flex-wrap:wrap; gap:7.68px;}
.js-ftag {padding:4px 15px; border-radius:38px; font-size:19px; font-weight:600; white-space:nowrap;}
.js-ftag.main {background:#F0FDF4; color:#16A34A;}
.js-ftag.line {border:1.5px solid var(--line); color:#475569;}
.js-ftitle {min-height:60px; font-size:22px; font-weight:600; color:var(--ink); line-height:30px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.js-fmeta {display:flex; align-items:center; justify-content:space-between;}
.js-floc {display:flex; align-items:center; gap:5.76px; font-size:19px; color:var(--sub);}
.js-floc img {width:19px; height:19px;}
.js-fpay {font-size:20px; font-weight:700; color:#16A34A;}

/* AD 배너 (그린) */
.js-ad {display:flex; align-items:center; gap:19.2px; margin:23px 0; padding:23px 30px; border-radius:19.2px; background:linear-gradient(136deg, #14532D 0%, #16A34A 100%); position:relative;}
.js-ad img {flex:0 0 auto; width:53px; height:53px;}
.js-ad-body {display:flex; flex-direction:column; gap:3.84px; min-width:0;}
.js-ad-t {font-size:24px; font-weight:700; color:#fff;}
.js-ad-s {font-size:20px; color:rgba(255,255,255,.7);}
.js-ad-tag {position:absolute; right:14px; top:23px; padding:2px 12px; border-radius:8px; background:rgba(0,0,0,.3); color:rgba(255,255,255,.85); font-size:19px; font-weight:600;}

/* 전체 구직 */
.js-lhead {display:flex; align-items:baseline; justify-content:space-between; margin:8px 0 20px;}
.js-lhead .l {font-size:28px; font-weight:700; color:var(--ink);}
.js-lhead .l b {font-size:inherit; font-weight:700; color:#16A34A;}
.js-lhead .c {font-size:21px; color:var(--sub);}
.js-list {display:flex; flex-direction:column; gap:18px;}
.js-item {position:relative; display:flex; gap:19.2px; align-items:flex-start; padding:23px 25px; background:var(--card); border:1.92px solid var(--line); border-radius:19.2px; box-shadow:0 1.92px 5.76px rgba(15,23,42,.06);}
.js-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:100px; height:100px; border-radius:50%; border:3.84px solid #DCFCE7; background:linear-gradient(135deg, #A7F3C4, #6EE79F); color:#14532D; font-size:30px; font-weight:800;}
.js-av.gray {background:linear-gradient(135deg, #E5EAF0, #CBD5E1); border-color:#DCFCE7; color:#94A3B8;}
.js-av.gray.nophoto {background:#EDF1F6; border-color:#E2E8F0;}
.js-av.gray img {width:48px; height:48px; opacity:.55;}
.js-ibody {flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; padding-right:38px;}
.js-prow {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.js-tag {padding:3px 14px; border-radius:38px; font-size:18px; font-weight:700; white-space:nowrap;}
.js-tag.main {background:#F0FDF4; color:#14532D;}
.js-tag.job {background:#FEF3C7; color:#92400E;}
.js-tag.kind {background:#EEF2FF; color:#1E3A5F;}
.js-tag.new {background:#F0FDF4; color:#14532D;}
.js-tag.done {background:#F1F5F9; color:#64748B;}
.js-iname {font-size:23px; font-weight:700; color:var(--ink); margin-top:8px;}
.js-iname .place {color:inherit; font-size:inherit; font-weight:inherit;}
.js-ititle {font-size:24px; font-weight:700; color:var(--ink); line-height:32px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.js-org {display:flex; align-items:center; gap:5.76px; font-size:20px; color:var(--sub);}
.js-org img {width:21px; height:21px;}
.js-foot {display:flex; align-items:center; justify-content:space-between; margin-top:2px;}
.js-pay {font-size:21px; font-weight:700; color:#16A34A;}
.js-pay.muted {color:#94A3B8; font-weight:600;}
.js-time {font-size:19px; color:var(--sub);}
.js-bm {position:absolute; right:25px; top:23px; display:flex; padding:4px;}
.js-bm img {width:29px; height:29px;}
.js-item.done {opacity:.72;}

/* 페이지네이션 */
.js-page {display:flex; align-items:center; justify-content:center; gap:8px; padding:38px 0 6px;}
.js-page .pg {display:flex; align-items:center; justify-content:center; min-width:62px; height:62px; padding:0 16px; border:1.85px solid var(--line); border-radius:14px; background:var(--card); color:var(--body); font-size:22px; font-weight:500;}
.js-page .pg.on {background:#16A34A; border-color:#16A34A; color:#fff; font-weight:700;}
.js-page .pg img {width:24px; height:24px;}
.js-page .dots {padding:0 5px; color:var(--sub); font-size:24px;}

/* FAB */
.js-write {position:fixed; right:27px; bottom:135px; z-index:35; display:flex; align-items:center; justify-content:center; width:92px; height:92px; border-radius:50%; background:#16A34A; box-shadow:0 8px 16px rgba(22,163,74,.4);}
.js-write img {width:42px; height:42px;}

/* 하단 탭바 (공통) */
.js-nav, .jsd-nav, .jsw-nav, .jsdn-nav, .jso-nav {position:relative; display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.js-nav {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}
.js-nav .tab, .jsd-nav .tab, .jsw-nav .tab, .jsdn-nav .tab, .jso-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.js-nav .tab img, .jsd-nav .tab img, .jsw-nav .tab img, .jsdn-nav .tab img, .jso-nav .tab img {width:42px; height:42px;}
.js-nav .tab.on, .jsd-nav .tab.on, .jsw-nav .tab.on, .jsdn-nav .tab.on, .jso-nav .tab.on {color:#16A34A;}
.js-nav .tab-fab, .jsd-nav .tab-fab, .jsw-nav .tab-fab, .jsdn-nav .tab-fab, .jso-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.js-nav .tab-fab .fab, .jsd-nav .tab-fab .fab, .jsw-nav .tab-fab .fab, .jsdn-nav .tab-fab .fab, .jso-nav .tab-fab .fab {position:absolute; left:50%; top:0; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:linear-gradient(135deg, #0D9488, #0F766E); border:5px solid var(--card); box-shadow:0 10px 24px rgba(13,148,136,0.4);}
.js-nav .tab-fab .fab img, .jsd-nav .tab-fab .fab img, .jsw-nav .tab-fab .fab img, .jsdn-nav .tab-fab .fab img, .jso-nav .tab-fab .fab img {width:48px; height:48px;}

@media (hover:hover) and (pointer:fine) {
	.js-item:hover, .js-fcard:hover {background:var(--snow);}
}

/* ===== 07.구직 상세 — Figma 1055:3006 ===== */
.jsd-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow); padding-bottom:290px;}
.jsd-hero {display:flex; flex-direction:column; gap:17px; padding:34px 27px 29px; background:linear-gradient(150deg, #14532D 0%, #16A34A 100%);}
.jsd-htop {display:flex; align-items:center; justify-content:space-between;}
.jsd-hback {display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:rgba(255,255,255,.14);}
.jsd-hback img {width:20px; height:36px;}
.jsd-hacts {display:flex; gap:10px;}
.jsd-hbtn {display:flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:rgba(255,255,255,.14);}
.jsd-hbtn img {width:30px; height:30px;}
.jsd-hprofile {display:flex; flex-direction:column; align-items:center; gap:13px; padding:6px 0 4px;}
.jsd-hav {display:flex; align-items:center; justify-content:center; width:128px; height:128px; border-radius:50%; background:#fff; border:6px solid rgba(255,255,255,.3); color:#16A34A; font-size:44px; font-weight:800;}
.jsd-hname {font-size:32px; font-weight:800; color:#fff;}
.jsd-hsub {font-size:22px; color:rgba(255,255,255,.82);}
.jsd-htags {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding-top:4px;}
.jsd-htag {padding:5px 17px; border-radius:38px; font-size:19px; font-weight:600;}
.jsd-htag.w {background:rgba(255,255,255,.2); color:#fff;}
.jsd-htag.ok {background:rgba(255,255,255,.92); color:#15803D;}
.jsd-hcode {display:flex; align-items:center; gap:12px; margin-top:6px; padding:14px 22px; border-radius:14px; background:rgba(255,255,255,.13);}
.jsd-hcode .k {font-size:20px; color:rgba(255,255,255,.65);}
.jsd-hcode .v {font-size:22px; font-weight:700; color:#fff; letter-spacing:.5px;}
.jsd-hcopy {margin-left:auto; display:flex; align-items:center; gap:6px; font-size:20px; color:rgba(255,255,255,.8); background:none;}
.jsd-hcopy img {width:22px; height:22px;}

.jsd-stat {display:grid; grid-template-columns:repeat(4, 1fr); background:var(--card); border-bottom:1.92px solid var(--line);}
.jsd-scol {display:flex; flex-direction:column; align-items:center; gap:6px; padding:21px 6px 23px;}
.jsd-scol + .jsd-scol {border-left:1.92px solid var(--line);}
.jsd-scol .k {font-size:19px; color:var(--sub);}
.jsd-scol .v {font-size:23px; font-weight:700; color:var(--ink);}
.jsd-scol .v.green {color:#16A34A;}

.jsd-acts {display:flex; gap:11.5px; padding:17px 27px 21px; background:var(--card); border-bottom:1.92px solid var(--line);}
.jsd-act {flex:1; display:flex; align-items:center; justify-content:center; gap:9.6px; padding:17px 13px; border:1.92px solid var(--line); border-radius:15px; background:var(--card); color:#475569; font-size:21px; font-weight:600;}
.jsd-act img {width:27px; height:27px;}
.jsd-act.heart {background:#FEF2F2; border-color:#DC2626; color:#DC2626;}

.jsd-sech {display:flex; align-items:center; gap:11.5px; padding:30px 27px 15px;}
.jsd-sech img {width:28px; height:28px;}
.jsd-sech h2 {font-size:25px; font-weight:700; color:var(--ink);}

/* 정보 테이블 (번호) */
.jsd-info {margin:6px 27px 0; border:1.92px solid var(--line); border-radius:19px; overflow:hidden; background:var(--card);}
.jsd-irow {display:flex; border-bottom:1.92px solid var(--line);}
.jsd-irow:last-child {border-bottom:0;}
.jsd-ik {flex:0 0 auto; width:180px; display:flex; align-items:center; gap:11px; padding:18px 21px; background:#F0FDF4; color:#15803D; font-size:21px; font-weight:700;}
.jsd-ik .num {display:flex; align-items:center; justify-content:center; width:34px; height:34px; flex:0 0 auto; border-radius:50%; background:#16A34A; color:#fff; font-size:18px; font-weight:700;}
.jsd-iv {flex:1; min-width:0; padding:18px 23px; font-size:23px; color:var(--ink); line-height:33px; word-break:break-all;}
.jsd-iv.link {color:#16A34A; font-weight:500;}
.jsd-iv.green {color:#16A34A; font-weight:600;}

/* 역량 및 강점 */
.jsd-cond {display:flex; flex-wrap:wrap; gap:11.5px; margin:0 27px;}
.jsd-cchip {display:flex; align-items:center; gap:9px; padding:11px 21px; border-radius:38px; background:#F7FEF9; border:1.92px solid #BBF7D0; color:#15803D; font-size:21px; font-weight:600;}
.jsd-cchip img {width:23px; height:23px;}

/* 상세 설명 */
.jsd-desc {margin:0 27px; display:flex; flex-direction:column; gap:6px;}
.jsd-desc p {font-size:23px; line-height:39px; color:#334155;}

/* 학력 및 경력 타임라인 */
.jsd-tl {position:relative; margin:0 27px; padding-left:42px;}
.jsd-tlitem {position:relative; padding:6px 0 26px;}
.jsd-tlitem:last-child {padding-bottom:4px;}
.jsd-tlitem::before {content:''; position:absolute; left:-37px; top:12px; width:22px; height:22px; border-radius:50%; background:#16A34A;}
.jsd-tl-t {font-size:24px; font-weight:700; color:var(--ink); line-height:32px;}
.jsd-tl-d {font-size:21px; color:#475569; line-height:30px; margin-top:4px;}
.jsd-tl-date {font-size:20px; font-weight:600; color:#16A34A; margin-top:5px;}

/* 연락처 정보 */
.jsd-contact {margin:0 27px; padding:25px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.jsd-crow {display:flex; align-items:center; gap:15px; padding:9px 0;}
.jsd-crow.bd {border-top:1.92px solid var(--line); padding-top:17px; margin-top:9px;}
.jsd-ck {flex:0 0 auto; min-width:90px; font-size:21px; font-weight:600; color:var(--sub);}
.jsd-cv {flex:1; min-width:0; font-size:23px; color:var(--ink); word-break:break-all;}
.jsd-cbtn {flex:0 0 auto; display:flex; align-items:center; gap:7.68px; padding:10px 19px; border-radius:11.5px; background:#F0FDF4; color:#16A34A; font-size:21px; font-weight:700;}
.jsd-cbtn img {width:23px; height:23px;}

.jsd-disc {margin:24px 27px 0; font-size:18px; line-height:28px; color:var(--mute);}
.jsd-report {display:flex; align-items:center; justify-content:center; gap:9.6px; width:calc(100% - 54px); margin:16px 27px 0; padding:17px; border:1.92px solid var(--line); border-radius:15px; background:var(--card); color:var(--sub); font-size:21px;}
.jsd-report img {width:25px; height:25px;}

/* 하단 액션바 */
.jsd-bottom {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%;}
.jsd-actionbar {display:flex; align-items:center; gap:13px; padding:22px 27px 18px; background:var(--card); border-top:1.92px solid var(--line);}
.jsd-bar-email {display:flex; flex-direction:column; align-items:center; gap:4px;}
.jsd-bar-email .ic {display:flex; align-items:center; justify-content:center; width:80px; height:80px; border:1.92px solid var(--line); border-radius:19px; background:var(--card);}
.jsd-bar-email .ic img {width:32px; height:32px;}
.jsd-bar-email .lb {font-size:17px; color:var(--sub);}
.jsd-bar-chat {flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:23px; border-radius:19px; background:var(--navy); color:#fff; font-size:24px; font-weight:700;}
.jsd-bar-chat img {width:30px; height:30px;}
.jsd-bar-offer {flex:1.4; display:flex; align-items:center; justify-content:center; gap:10px; padding:23px; border-radius:19px; background:linear-gradient(135deg, #16A34A, #14532D); color:#fff; font-size:25px; font-weight:700;}
.jsd-bar-offer img {width:30px; height:30px;}
.jsd-wrap a.jsd-cbtn {color:#16A34A;}
.jsd-bottom button.jsd-bar-chat, .jsd-bottom button.jsd-bar-offer {color:#fff;}
.jsd-bottom .jsd-bar-email {color:var(--sub);}

/* ===== 07.구직 등록 — Figma 1055:3265 ===== */
.jsw-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.jsw-head {position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:12px; padding:22px 27px; background:var(--card); border-bottom:1.92px solid var(--line);}
.jsw-back {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.jsw-back img {width:38px; height:38px;}
.jsw-title {flex:1; display:flex; align-items:center; gap:11px; font-size:30px; font-weight:700; color:var(--ink);}
.jsw-title img {width:32px; height:32px;}
.jsw-temp {flex:0 0 auto; padding:9px 18px; border-radius:11px; background:#F0FDF4; border:1.92px solid #BBF7D0; font-size:21px; font-weight:600; color:#16A34A;}
.jsw-body {flex:1; display:flex; flex-direction:column; gap:21px; padding:21px 27px 170px;}
.jsw-card {display:flex; flex-direction:column; gap:15px; padding:29px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.jsw-sech {display:flex; align-items:center; gap:9px;}
.jsw-sech img {width:27px; height:27px;}
.jsw-sech b {font-size:25px; font-weight:700; color:var(--ink);}
.jsw-sech i {color:#DC2626; font-size:25px; font-weight:700; font-style:normal;}
.jsw-sech small {font-size:20px; color:var(--sub);}
.jsw-sech .rec {padding:3px 13px; border-radius:38px; background:#F0FDF4; color:#16A34A; font-size:18px; font-weight:700;}

/* 프로필 사진 */
.jsw-photo {display:flex; align-items:center; gap:22px;}
.jsw-pav {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:128px; height:128px; border-radius:50%; border:3px solid #DCFCE7; background:linear-gradient(135deg, #A7F3C4, #6EE79F); color:#14532D; font-size:40px; font-weight:800; overflow:hidden;}
.jsw-pav img {width:100%; height:100%; object-fit:cover;}
.jsw-pbody {flex:1; min-width:0; display:flex; flex-direction:column; gap:7px;}
.jsw-pbody b {font-size:23px; font-weight:700; color:var(--ink);}
.jsw-pbody small {font-size:20px; color:var(--sub); line-height:29px;}
.jsw-pbtns {display:flex; gap:11px; margin-top:5px;}
.jsw-pbtn {padding:11px 22px; border:1.92px solid var(--line); border-radius:12px; background:var(--snow); font-size:21px; font-weight:600; color:#475569;}
.jsw-pbtn.up {border-color:#BBF7D0; background:#F0FDF4; color:#16A34A;}

.jsw-input {width:100%; padding:20px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink); font-family:inherit;}
.jsw-input::placeholder {color:var(--sub);}
.jsw-select {width:100%; appearance:none; -webkit-appearance:none; padding:20px 60px 20px 28px; background:var(--snow) url('/asset/images/common/chevron.svg') no-repeat; background-position:right 22px center; background-size:27px 27px; border:1.92px solid var(--line); border-radius:14px; font-size:24px; color:var(--ink); font-family:inherit;}
.jsw-select.sm {padding:18px 44px 18px 18px; background-position:right 12px center; background-size:25px 25px; font-size:23px;}
.jsw-field {display:flex; flex-direction:column; gap:11px;}
.jsw-field > span {font-size:23px; font-weight:500; color:#6B7280;}
.jsw-count {text-align:right; font-size:20px; color:var(--sub);}
.jsw-grid2 {display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;}
.jsw-row {display:flex; gap:12px; align-items:center;}
.jsw-row .jsw-input {flex:1;}
.jsw-unit {flex:0 0 auto; font-size:23px; color:var(--sub);}

/* 칩 그리드 (구인유형 2x2, 직종 3xN) */
.jsw-kgrid {display:grid; grid-template-columns:repeat(2, 1fr); gap:13px;}
.jsw-jgrid {display:grid; grid-template-columns:repeat(3, 1fr); gap:13.44px;}
.jsw-chip {display:flex; align-items:center; gap:11px; padding:19px 21px; border:1.92px solid var(--line); border-radius:15px; background:var(--snow); color:#475569; font-size:22px; font-weight:600;}
.jsw-chip img {width:30px; height:30px;}
.jsw-chip.on {border-color:#16A34A; background:#F0FDF4; color:#15803D;}
.jsw-jchip {display:flex; flex-direction:column; align-items:center; gap:9px; padding:21px 8px; border:1.92px solid var(--line); border-radius:18px; background:var(--snow); color:#475569; font-size:21px; font-weight:600;}
.jsw-jchip img {width:34px; height:34px;}
.jsw-jchip.on {border-color:#16A34A; background:#F0FDF4; color:#15803D;}

.jsw-hint {display:flex; align-items:flex-start; gap:11px; padding:18px 23px; background:#F0FDF4; border:1.92px solid #BBF7D0; border-radius:14px; font-size:21px; line-height:31px; color:#15803D;}
.jsw-hint img {flex:0 0 auto; width:24px; height:24px; margin-top:3px;}
.jsw-textarea {width:100%; min-height:300px; padding:27px 28px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:24px; line-height:36px; color:var(--ink); resize:vertical; font-family:inherit;}
.jsw-textarea::placeholder {color:var(--sub);}
.jsw-email {display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center;}
.jsw-email .at {font-size:24px; color:var(--sub); text-align:center;}
.jsw-tel {display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center;}
.jsw-tel .jsw-select {width:140px;}
.jsw-warn {display:flex; align-items:flex-start; gap:13px; padding:21px 25px; background:var(--cream); border:1.92px solid #FDE68A; border-radius:14px; font-size:21px; line-height:32px; color:#92400E;}
.jsw-warn img {flex:0 0 auto; width:25px; height:25px; margin-top:3px;}
.jsw-submit {display:flex; align-items:center; justify-content:center; gap:11px; margin-top:4px; padding:28px; background:linear-gradient(135deg, #16A34A, #15803D); border-radius:19px; color:#fff; font-size:27px; font-weight:700;}
.jsw-wrap a.jsw-submit {color:#fff;}

/* ===== 07.구직 완료 — Figma 1055:3552 ===== */
.jsdn-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow);}
.jsdn-body {flex:1; display:flex; flex-direction:column; align-items:center; padding:64px 46px 46px;}
.jsdn-circle {display:flex; align-items:center; justify-content:center; width:192px; height:192px; margin-bottom:36px; border:6px solid #BBF7D0; border-radius:50%; background:#F0FDF4;}
.jsdn-circle img {width:92px; height:92px;}
.jsdn-title {font-size:40px; font-weight:800; color:var(--ink); text-align:center; margin-bottom:15px;}
.jsdn-sub {font-size:23px; color:#6B7280; text-align:center; line-height:37px; margin-bottom:30px;}
.jsdn-chips {display:flex; gap:13px; margin-bottom:38px;}
.jsdn-chip {display:flex; align-items:center; gap:8px; padding:11px 22px; border-radius:38px; font-size:21px; font-weight:700;}
.jsdn-chip img {width:24px; height:24px;}
.jsdn-chip.gray {background:#F1F5F9; color:#475569;}
.jsdn-chip.green {background:#F0FDF4; color:#16A34A;}
.jsdn-card {width:100%; padding:29px 33px; background:var(--card); border:1.92px solid var(--line); border-radius:19px; margin-bottom:24px;}
.jsdn-card.tip {background:#F7FEF9; border-color:#BBF7D0;}
.jsdn-card-h {display:flex; align-items:center; gap:9.6px; margin-bottom:18px;}
.jsdn-card-h img {width:25px; height:25px;}
.jsdn-card-h b {font-size:23px; font-weight:700; color:#15803D;}
.jsdn-proc {display:flex; align-items:center; gap:15px; padding:8px 0; font-size:23px; color:#475569;}
.jsdn-proc img {flex:0 0 auto; width:25px; height:25px;}
.jsdn-proc.avg {margin-top:6px; padding-top:16px; border-top:1.92px solid var(--line);}
.jsdn-proc.avg span {font-size:23px; font-weight:700; color:#16A34A;}
.jsdn-tipli {display:flex; gap:12px; padding:7px 0; font-size:22px; line-height:32px; color:#334155;}
.jsdn-tipli::before {content:'·'; color:#16A34A; font-weight:800;}
.jsdn-btns {display:flex; flex-direction:column; gap:15px; width:100%; margin:16px 0 31px;}
.jsdn-btn {display:flex; align-items:center; justify-content:center; border-radius:19px; text-align:center;}
.jsdn-btn.primary {padding:27px; background:linear-gradient(135deg, #16A34A, #15803D); color:#fff; font-size:27px; font-weight:700;}
.jsdn-btn:not(.primary) {padding:25px; background:var(--card); border:1.92px solid var(--line); color:#475569; font-size:25px; font-weight:600;}
.jsdn-btns a.jsdn-btn.primary {color:#fff;}
.jsdn-btns a.jsdn-btn:not(.primary) {color:#475569;}
.jsdn-notice {display:flex; align-items:flex-start; gap:13px; width:100%; padding:21px 27px; background:var(--cream); border:1.92px solid #FDE68A; border-radius:15px;}
.jsdn-notice img {flex:0 0 auto; width:25px; height:25px; margin-top:3px;}
.jsdn-notice p {font-size:21px; color:#92400E; line-height:32px;}

/* ===== 청빙 제안 바텀시트 — Figma 1119:23957 ===== */
.jso-dim {position:fixed; inset:0; z-index:60; display:flex; align-items:flex-end; justify-content:center; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .25s ease;}
.jso-dim.on {opacity:1; pointer-events:auto;}
.jso-sheet {width:720px; max-width:100%; max-height:92vh; display:flex; flex-direction:column; background:var(--card); border-radius:42px 42px 0 0; box-shadow:0 -7.68px 30px rgba(0,0,0,.18); transform:translateY(40px); transition:transform .25s ease;}
.jso-dim.on .jso-sheet {transform:translateY(0);}
.jso-handle {flex:0 0 auto; display:flex; justify-content:center; padding:21px 0 6px;}
.jso-handle span {width:77px; height:7.68px; border-radius:8px; background:var(--mute);}
.jso-head {flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 34.56px 24px; border-bottom:1.92px solid var(--line);}
.jso-htext {min-width:0; display:flex; flex-direction:column; gap:4px;}
.jso-htext b {display:flex; align-items:center; gap:10px; font-size:30px; font-weight:800; color:var(--ink);}
.jso-htext span {font-size:21px; color:var(--sub);}
.jso-x {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:61px; height:61px; border-radius:50%; background:var(--snow); border:1.92px solid var(--line);}
.jso-x img {width:27px; height:27px;}
.jso-body {flex:1; overflow-y:auto; display:flex; flex-direction:column; padding:24px 34.56px 0;}

/* To 카드 (그린) */
.jso-to {display:flex; align-items:center; gap:18px; padding:22px 26px; background:#F0FDF4; border:1.92px solid #BBF7D0; border-radius:19px;}
.jso-to-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:50%; background:linear-gradient(135deg, #4ADE80, #16A34A); color:#fff; font-size:30px; font-weight:800;}
.jso-to-body {min-width:0; display:flex; flex-direction:column; gap:4px;}
.jso-to-name {font-size:24px; font-weight:700; color:var(--ink);}
.jso-to-sub {font-size:20px; color:#15803D;}

/* From 카드 */
.jso-from {margin-top:14px; padding:24px 26px; background:var(--card); border:1.92px solid var(--line); border-radius:19px;}
.jso-from-h {display:flex; align-items:center; justify-content:space-between; margin-bottom:15px;}
.jso-from-h .lbl {font-size:21px; font-weight:700; color:#6B7280;}
.jso-from-h .auto {display:flex; align-items:center; gap:7px; padding:5px 15px; border-radius:38px; background:#F0FDF4; color:#16A34A; font-size:18px; font-weight:700;}
.jso-from-h .auto img {width:20px; height:20px;}
.jso-from-main {display:flex; align-items:center; gap:16px;}
.jso-from-av {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:74px; height:74px; border-radius:16px; background:var(--navy); color:#fff; font-size:27px; font-weight:800;}
.jso-from-info {min-width:0; display:flex; flex-direction:column; gap:3px;}
.jso-from-info b {font-size:23px; font-weight:700; color:var(--ink);}
.jso-from-info small {font-size:20px; color:var(--sub);}
.jso-from-chips {display:flex; flex-wrap:wrap; gap:9px; margin-top:15px;}
.jso-from-chips span {padding:6px 16px; border-radius:38px; background:var(--snow); border:1.5px solid var(--line); font-size:19px; color:#475569; font-weight:600;}
.jso-from-edit {display:flex; align-items:center; gap:8px; margin-top:15px; font-size:20px; font-weight:700; color:#16A34A; background:none;}
.jso-from-edit img {width:22px; height:22px;}

/* 섹션 헤더 */
.jso-sec {display:flex; align-items:center; gap:9.6px; margin:28px 0 14px; font-size:23px; font-weight:700; color:var(--ink);}
.jso-sec img {width:26px; height:26px;}
.jso-sec i {color:#DC2626; font-style:normal;}
.jso-sec small {font-size:19px; font-weight:500; color:var(--sub);}

/* 제안 유형 카드 (2x2) */
.jso-types {display:grid; grid-template-columns:repeat(2, 1fr); gap:13px;}
.jso-type {display:flex; align-items:center; gap:14px; padding:20px 21px; border:1.92px solid var(--line); border-radius:16px; background:var(--card); text-align:left;}
.jso-type img {flex:0 0 auto; width:32px; height:32px;}
.jso-type-tx {min-width:0; display:flex; flex-direction:column; gap:2px;}
.jso-type-tx b {font-size:22px; font-weight:700; color:var(--ink);}
.jso-type-tx small {font-size:18px; color:var(--sub);}
.jso-type.on {border-color:#16A34A; background:#F0FDF4;}
.jso-type.on b {color:#15803D;}

/* 제안 조건 */
.jso-cond {display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.jso-field {display:flex; flex-direction:column; gap:10px;}
.jso-field > span {font-size:21px; color:#6B7280; font-weight:500;}
.jso-input {width:100%; padding:19px 24px; background:var(--snow); border:1.92px solid var(--line); border-radius:13px; font-size:23px; color:var(--ink); font-family:inherit;}
.jso-input::placeholder {color:var(--sub);}
.jso-select {width:100%; appearance:none; -webkit-appearance:none; padding:19px 50px 19px 24px; background:var(--snow) url('/asset/images/common/chevron.svg') no-repeat; background-position:right 18px center; background-size:25px 25px; border:1.92px solid var(--line); border-radius:13px; font-size:23px; color:var(--ink); font-family:inherit;}

/* 빠른 템플릿 칩 */
.jso-tpls {display:flex; flex-wrap:wrap; gap:11px; margin-bottom:14px;}
.jso-tpl {display:flex; align-items:center; gap:7px; padding:11px 19px; border:1.92px solid #BBF7D0; border-radius:38px; background:#F7FEF9; color:#15803D; font-size:20px; font-weight:600;}
.jso-msg {width:100%; min-height:230px; padding:24px 26px; background:var(--snow); border:1.92px solid var(--line); border-radius:14px; font-size:23px; line-height:36px; color:var(--ink); resize:vertical; font-family:inherit;}
.jso-msgcount {text-align:right; font-size:20px; color:var(--sub); margin-top:8px;}

/* 교회명 공개 토글 */
.jso-toggle {display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:20px; padding:21px 25px; background:var(--snow); border:1.92px solid var(--line); border-radius:15px;}
.jso-toggle-tx {min-width:0;}
.jso-toggle-tx b {display:block; font-size:22px; font-weight:700; color:var(--ink);}
.jso-toggle-tx small {font-size:19px; color:var(--sub);}
.jso-sw {flex:0 0 auto; position:relative; width:84px; height:48px; border-radius:38px; background:#16A34A; transition:background .2s;}
.jso-sw::after {content:''; position:absolute; top:5px; left:41px; width:38px; height:38px; border-radius:50%; background:#fff; transition:left .2s; box-shadow:0 2px 6px rgba(0,0,0,.2);}
.jso-sw.off {background:var(--mute);}
.jso-sw.off::after {left:5px;}

.jso-notice {display:flex; align-items:flex-start; gap:12px; margin-top:20px; padding:20px 24px; background:#F0FDF4; border:1.92px solid #BBF7D0; border-radius:14px; font-size:21px; line-height:33px; color:#15803D;}
.jso-notice img {flex:0 0 auto; width:24px; height:24px; margin-top:4px;}
.jso-send {display:flex; align-items:center; justify-content:center; gap:13px; margin:24px 0 30px; padding:27px; border-radius:19px; background:linear-gradient(135deg, #16A34A, #15803D); color:#fff; font-size:27px; font-weight:700;}
.jso-send img {width:31px; height:31px;}

/* ===== 발송 확인 다이얼로그 — Figma 1119:24202 ===== */
.jsg-dim {position:fixed; inset:0; z-index:65; display:flex; align-items:center; justify-content:center; padding:40px; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .2s ease;}
.jsg-dim.on {opacity:1; pointer-events:auto;}
.jsg-modal {width:560px; max-width:100%; padding:42px 38px 34px; background:var(--card); border-radius:32px; transform:scale(.92); transition:transform .2s ease;}
.jsg-dim.on .jsg-modal {transform:scale(1);}
.jsg-icon {display:flex; align-items:center; justify-content:center; width:108px; height:108px; margin:0 auto 22px; border-radius:50%; background:#F0FDF4; border:3px solid #BBF7D0;}
.jsg-icon img {width:50px; height:50px;}
.jsg-title {font-size:32px; font-weight:800; color:var(--ink); text-align:center; margin-bottom:12px;}
.jsg-sub {font-size:21px; color:#6B7280; text-align:center; line-height:32px; margin-bottom:26px;}
.jsg-rows {display:flex; flex-direction:column; padding:8px 26px; background:var(--snow); border:1.92px solid var(--line); border-radius:17px; margin-bottom:26px;}
.jsg-row {display:flex; gap:15px; padding:14px 0;}
.jsg-row + .jsg-row {border-top:1.92px solid var(--line);}
.jsg-row .k {flex:0 0 auto; width:110px; font-size:20px; color:var(--sub);}
.jsg-row .v {flex:1; min-width:0; font-size:21px; font-weight:600; color:var(--ink); line-height:30px;}
.jsg-btns {display:flex; flex-direction:column; gap:13px;}
.jsg-send {display:flex; align-items:center; justify-content:center; gap:11px; padding:24px; border-radius:16px; background:linear-gradient(135deg, #16A34A, #15803D); color:#fff; font-size:25px; font-weight:700;}
.jsg-send img {width:28px; height:28px;}
.jsg-edit {padding:22px; border-radius:16px; background:var(--card); border:1.92px solid var(--line); color:#475569; font-size:23px; font-weight:600; text-align:center;}

/* ===== 제안 완료 — Figma 1119:24265 ===== */
.jsc-wrap {display:flex; flex-direction:column; min-height:100%; background:var(--snow); padding-bottom:170px;}
.jsc-head {position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:23px 31px; background:var(--card); border-bottom:1.92px solid var(--line);}
.jsc-head h1 {font-size:28px; font-weight:700; color:var(--ink);}
.jsc-x {display:flex; align-items:center; justify-content:center; width:54px; height:54px;}
.jsc-x img {width:30px; height:30px;}
.jsc-body {flex:1; display:flex; flex-direction:column; align-items:center; padding:54px 38px 40px;}
.jsc-circle {display:flex; align-items:center; justify-content:center; width:170px; height:170px; margin-bottom:30px; border:6px solid #BBF7D0; border-radius:50%; background:#F0FDF4;}
.jsc-circle img {width:80px; height:80px;}
.jsc-title {font-size:38px; font-weight:800; color:var(--ink); text-align:center; margin-bottom:14px;}
.jsc-sub {font-size:22px; color:#6B7280; text-align:center; line-height:34px; margin-bottom:30px;}
.jsc-status {display:flex; align-items:center; gap:16px; width:100%; padding:22px 26px; background:#F0FDF4; border:1.92px solid #BBF7D0; border-radius:16px; margin-bottom:24px;}
.jsc-status-ic {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:14px; background:#16A34A;}
.jsc-status-ic img {width:32px; height:32px;}
.jsc-status-tx {min-width:0;}
.jsc-status-tx b {display:block; font-size:22px; font-weight:700; color:#15803D;}
.jsc-status-tx small {font-size:19px; color:#16803D;}
.jsc-card {width:100%; padding:26px 28px; background:var(--card); border:1.92px solid var(--line); border-radius:17px; margin-bottom:24px;}
.jsc-card-h {display:flex; align-items:center; gap:9px; margin-bottom:16px; font-size:22px; font-weight:700; color:var(--ink);}
.jsc-card-h img {width:24px; height:24px;}
.jsc-drow {display:flex; gap:12px; padding:8px 0; font-size:21px;}
.jsc-drow .k {flex:0 0 auto; min-width:128px; color:var(--sub);}
.jsc-drow .v {flex:1; min-width:0; font-weight:600; color:var(--ink); word-break:break-all;}
.jsc-drow .v.tag {flex:0 0 auto; padding:3px 15px; border-radius:38px; background:#F0FDF4; color:#16A34A; font-size:19px; font-weight:700;}
.jsc-next {width:100%; padding:26px 28px; background:var(--card); border:1.92px solid var(--line); border-radius:17px; margin-bottom:32px;}
.jsc-next-h {display:flex; align-items:center; gap:9px; font-size:22px; font-weight:700; color:var(--ink); margin-bottom:16px;}
.jsc-next-h img {width:24px; height:24px;}
.jsc-nstep {display:flex; gap:15px; padding:10px 0;}
.jsc-nstep .n {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:#16A34A; color:#fff; font-size:20px; font-weight:700;}
.jsc-nstep .tx {min-width:0;}
.jsc-nstep .tx b {display:block; font-size:22px; font-weight:700; color:var(--ink);}
.jsc-nstep .tx small {font-size:19px; color:var(--sub); line-height:28px;}
.jsc-btns {width:100%; display:flex; flex-direction:column; gap:14px;}
.jsc-btn {display:flex; align-items:center; justify-content:center; border-radius:17px; text-align:center;}
.jsc-btn.primary {gap:11px; padding:27px; background:linear-gradient(135deg, #16A34A, #15803D); color:#fff; font-size:25px; font-weight:700;}
.jsc-btn.primary img {width:28px; height:28px;}
.jsc-btn:not(.primary) {padding:25px; background:var(--card); border:1.92px solid var(--line); color:#475569; font-size:23px; font-weight:600;}
.jsc-wrap a.jsc-btn.primary {color:#fff;}
.jsc-wrap a.jsc-btn:not(.primary) {color:#475569;}
.jsc-nav {position:fixed; left:50%; bottom:0; transform:translateX(-50%); z-index:40; width:720px; max-width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 40px; background:var(--card); border-top:1.85px solid var(--line);}
.jsc-nav .tab {display:flex; flex-direction:column; align-items:center; gap:5.8px; color:var(--sub); font-size:19.2px;}
.jsc-nav .tab img {width:42px; height:42px;}
.jsc-nav .tab.on {color:#16A34A;}
.jsc-nav .tab-fab {position:relative; align-self:stretch; width:96px;}
.jsc-nav .tab-fab .fab {position:absolute; left:50%; top:0; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:96px; height:96px; border-radius:50%; background:linear-gradient(135deg, #0D9488, #0F766E); border:5px solid var(--card); box-shadow:0 10px 24px rgba(13,148,136,0.4);}
.jsc-nav .tab-fab .fab img {width:48px; height:48px;}

/* 필터 드롭다운 클립 방지 */
.js-filters:has(.js-dd.open){overflow:visible;}
