.recruitment-main { width:min(1320px,calc(100% - 36px)); padding:34px 0 58px; }
.recruitment-titlebar { min-height:58px; display:grid; grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) 175px; align-items:center; gap:26px; }
.recruitment-title-line { height:1px; background:linear-gradient(90deg,transparent,#c7cdd6 15%,#c7cdd6); }
.recruitment-title-line:nth-of-type(2) { background:linear-gradient(90deg,#c7cdd6,#c7cdd6 85%,transparent); }
.recruitment-titlebar > div { min-width:150px; text-align:center; }
.recruitment-titlebar h1 { margin:0; color:#252b35; font-size:30px; font-weight:500; line-height:1.15; letter-spacing:1px; }
.recruitment-titlebar small { display:block; margin-top:4px; color:#969eaa; font-size:11px; }
.recruitment-publish-link { min-height:38px; padding:0 13px; display:inline-flex; align-items:center; justify-content:center; gap:4px; border:0; color:#f04b24; background:transparent; font-size:15px; font-weight:800; white-space:nowrap; text-shadow:0 1px 8px rgba(240,75,36,.16); }
.recruitment-publish-link:hover { color:#d83212; }
.recruitment-publish-link b { font-size:24px; line-height:1; }
.recruitment-flash { margin:16px 0 0; padding:12px 15px; border:1px solid; border-radius:8px; font-weight:700; }
.recruitment-flash.success { color:#25764a; border-color:#9fd2b5; background:#edf9f2; }
.recruitment-flash.error { color:#a03a3a; border-color:#efb2b2; background:#fff2f2; }

.recruitment-board { margin-top:16px; }
.recruitment-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.recruitment-card { min-width:0; overflow:hidden; border:1px solid rgba(218,224,232,.72); border-radius:13px; background:#fff; box-shadow:0 13px 30px rgba(65,81,105,.09); transition:transform .18s ease,box-shadow .18s ease; }
.recruitment-card:hover { transform:translateY(-2px); box-shadow:0 18px 38px rgba(65,81,105,.14); }
.recruitment-card > header { min-height:55px; padding:17px 20px 10px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.recruitment-job-heading { min-width:0; display:flex; align-items:center; gap:7px; }
.recruitment-job-heading h2 { max-width:190px; margin:0; overflow:hidden; color:#202631; font-size:17px; font-weight:500; line-height:24px; text-overflow:ellipsis; white-space:nowrap; }
.recruitment-chat { width:18px; height:18px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:#c7d2e4; font-size:8px; font-weight:900; letter-spacing:-1px; }
.recruitment-online { height:22px; padding:0 8px; display:inline-flex; align-items:center; gap:5px; border-radius:5px; color:#28a846; background:#e2f6e7; font-size:12px; white-space:nowrap; }
.recruitment-online i { width:7px; height:7px; border-radius:50%; background:#2ac34f; box-shadow:0 0 0 2px rgba(42,195,79,.11); }
.recruitment-salary { flex:0 0 auto; color:#ff342e; font-size:15px; font-weight:500; line-height:24px; white-space:nowrap; }
.recruitment-tags { min-height:42px; padding:0 20px 11px; display:flex; flex-wrap:wrap; align-content:flex-start; gap:7px; }
.recruitment-tags span { max-width:135px; padding:3px 10px; overflow:hidden; border-radius:4px; color:#6b7078; background:#f3f4f6; font-size:12px; line-height:20px; text-overflow:ellipsis; white-space:nowrap; }
.recruitment-card-details { border-top:1px solid #f0f1f3; }
.recruitment-card-details summary { min-height:48px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#606874; background:linear-gradient(90deg,#fffaf2,#fff7f4); cursor:pointer; font-size:11px; list-style:none; }
.recruitment-card-details summary::-webkit-details-marker { display:none; }
.recruitment-card-details summary > small { flex:0 0 auto; color:#606874; white-space:nowrap; }
.recruitment-card-details summary > small b { color:#e96a49; font-weight:500; }
.recruitment-card-details[open] summary > small b { color:#d94824; }
.recruitment-card-details > div { padding:13px 20px 15px; color:#626c79; background:#fff; font-size:12px; line-height:1.7; }
.recruitment-card-details p { margin:0 0 9px; overflow-wrap:anywhere; }
.recruitment-card-details strong,.recruitment-card-details small { display:block; }
.recruitment-card-details strong { color:#385f9f; overflow-wrap:anywhere; }
.recruitment-card-details small { margin-top:3px; color:#939ba6; }
.recruitment-company { min-width:0; display:flex; align-items:center; gap:9px; }
.recruitment-company i { flex:0 0 auto; color:#91a5c7; font-size:19px; font-style:normal; }
.recruitment-company strong { max-width:190px; overflow:hidden; color:#5d6674; font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }

.recruitment-publish { margin-top:18px; overflow:hidden; border:1px solid #d5dce7; border-radius:12px; background:#fff; box-shadow:0 13px 30px rgba(65,81,105,.08); }
.recruitment-publish > header { padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e5e9ef; background:linear-gradient(180deg,#fff,#fafbfc); }
.recruitment-publish header span { color:#f06b43; font-size:10px; font-weight:900; letter-spacing:2px; }
.recruitment-publish header h2 { margin:2px 0 0; color:#2d3541; font-size:22px; }
.recruitment-publish header p { margin:4px 0 0; color:#7e8794; }
.recruitment-publish header > a { padding:8px 12px; border:1px solid #d4dbe6; border-radius:6px; color:#687486; background:#fff; font-weight:700; }
.recruitment-form { padding:24px; }
.recruitment-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.recruitment-form label { min-width:0; display:flex; flex-direction:column; gap:7px; }
.recruitment-form label.wide { grid-column:span 2; }
.recruitment-form label.full { grid-column:1 / -1; }
.recruitment-form label > span { color:#4e596a; font-weight:800; }
.recruitment-form label > span b { color:#e04d41; }
.recruitment-form input,.recruitment-form select,.recruitment-form textarea { width:100%; border:1px solid #c8d1df; border-radius:6px; outline:0; color:#36404e; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
.recruitment-form input,.recruitment-form select { height:42px; padding:0 11px; }
.recruitment-form textarea { min-height:160px; padding:11px; resize:vertical; line-height:1.7; }
.recruitment-form input:focus,.recruitment-form select:focus,.recruitment-form textarea:focus { border-color:#6d8fc9; box-shadow:0 0 0 3px rgba(87,128,211,.12); }
.recruitment-form label > small { color:#8a929e; }
.recruitment-consent { margin-top:18px; padding:12px 14px; flex-direction:row !important; align-items:flex-start; border:1px solid #e1e5eb; border-radius:6px; background:#f8f9fb; }
.recruitment-consent input { width:17px; height:17px; margin:2px 0 0; flex:0 0 auto; }
.recruitment-consent span { color:#687383 !important; font-weight:600 !important; }
.recruitment-form-actions { margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.recruitment-form-actions > span { color:#7d8794; }
.recruitment-form-actions button,.recruitment-login-gate button,.recruitment-empty a,.recruitment-empty button { min-height:41px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #e0512e; border-radius:6px; color:#fff; background:linear-gradient(180deg,#f47750,#e85733); box-shadow:0 7px 16px rgba(217,74,40,.19); font-weight:800; }
.recruitment-login-gate,.recruitment-empty { min-height:210px; padding:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:#838c98; text-align:center; border:1px solid #d9e0e9; border-radius:12px; background:rgba(255,255,255,.88); }
.recruitment-login-gate strong,.recruitment-empty strong { color:#465264; font-size:19px; }
.recruitment-login-gate p,.recruitment-empty p { margin:0 0 8px; }

@media (max-width: 1120px) {
  .recruitment-titlebar { grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr) 165px; gap:18px; }
  .recruitment-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recruitment-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recruitment-form label.wide { grid-column:span 1; }
}
@media (max-width: 760px) {
  .recruitment-main { width:calc(100% - 20px); padding-top:22px; }
  .recruitment-titlebar { grid-template-columns:1fr auto 1fr; gap:12px; }
  .recruitment-titlebar h1 { font-size:25px; }
  .recruitment-titlebar small { display:none; }
  .recruitment-publish-link { grid-column:1 / -1; justify-self:center; min-height:34px; }
  .recruitment-list { grid-template-columns:1fr; gap:15px; }
  .recruitment-form-grid { grid-template-columns:1fr; }
  .recruitment-form label.wide,.recruitment-form label.full { grid-column:auto; }
}
@media (max-width: 520px) {
  .recruitment-card > header { padding:15px 15px 9px; }
  .recruitment-job-heading { gap:5px; }
  .recruitment-job-heading h2 { max-width:145px; font-size:16px; }
  .recruitment-tags { padding:0 15px 10px; }
  .recruitment-card-details summary { padding-inline:15px; }
  .recruitment-card-details > div { padding-inline:15px; }
  .recruitment-company strong { max-width:150px; }
  .recruitment-publish > header { align-items:flex-start; flex-direction:column; }
  .recruitment-form { padding:17px; }
  .recruitment-form-actions { align-items:stretch; flex-direction:column; }
}
