.jobs-page,.jobs-module,.job-detail,.jobs-admin{
  --jobs-border:#dfe5ee;
  --jobs-border-strong:#cfd8e6;
  --jobs-text:#172033;
  --jobs-muted:#667085;
  --jobs-surface:#fff;
  --jobs-soft:#f7f9fc;
  --jobs-soft-blue:#f2f6ff;
  --jobs-accent:#3158d4;
  --jobs-accent-dark:#2447bc;
  --jobs-success:#067647;
  --jobs-danger:#b42318;
  color:var(--jobs-text);
  font:inherit
}
.jobs-page,.job-detail,.jobs-admin{
  width:min(100%,1180px);
  margin:0 auto;
  box-sizing:border-box;
  padding:24px 20px 44px
}
.jobs-hero,.jobs-admin__head,.job-detail__head{
  border:1px solid var(--jobs-border);
  border-radius:18px;
  background:linear-gradient(135deg,#f8faff 0%,#eef3ff 100%);
  box-shadow:0 12px 32px rgba(37,55,95,.045)
}
.jobs-hero{
  position:relative;
  overflow:hidden;
  padding:28px 30px;
  margin-bottom:18px
}
.jobs-hero::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-65px;
  top:-75px;
  border-radius:50%;
  background:rgba(49,88,212,.07);
  pointer-events:none
}
.jobs-hero h1,.jobs-admin h1,.job-detail h1{
  margin:.28rem 0 .5rem;
  color:var(--jobs-text);
  line-height:1.08
}
.jobs-hero h1{font-size:clamp(2rem,4vw,2.75rem)}
.jobs-admin h1{font-size:clamp(1.65rem,3vw,2.05rem)}
.job-detail h1{font-size:clamp(2rem,4vw,2.8rem)}
.jobs-hero p,.jobs-admin__head p,.job-detail__head p{
  margin:.2rem 0 0;
  color:var(--jobs-muted);
  line-height:1.55
}
.jobs-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:var(--jobs-accent)
}

.jobs-search{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(160px,1fr) minmax(160px,1fr) auto;
  align-items:end;
  gap:12px;
  padding:16px;
  margin-bottom:18px;
  border:1px solid var(--jobs-border);
  border-radius:16px;
  background:var(--jobs-surface);
  box-shadow:0 8px 24px rgba(37,55,95,.035)
}
.jobs-search label,.jobs-editor-form label,.job-apply__form label,.jobs-panel label{
  display:grid;
  min-width:0;
  gap:7px
}
.jobs-search span,.jobs-editor-form label>span,.job-apply__form label>span,.jobs-panel label>span{
  color:#253049;
  font-size:.88rem;
  font-weight:750
}
.jobs-search input,.jobs-editor-form input,.jobs-editor-form select,.jobs-editor-form textarea,.job-apply__form input,.job-apply__form textarea,.jobs-panel input,.jobs-panel select,.jobs-panel textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--jobs-border-strong);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  color:var(--jobs-text);
  font:inherit;
  line-height:1.35;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.jobs-editor-form input,.jobs-editor-form select,.jobs-panel input,.jobs-panel select{min-height:42px}
.jobs-search input:focus,.jobs-editor-form input:focus,.jobs-editor-form textarea:focus,.jobs-editor-form select:focus,.job-apply__form input:focus,.job-apply__form textarea:focus,.jobs-panel input:focus,.jobs-panel select:focus,.jobs-panel textarea:focus{
  outline:0;
  border-color:var(--jobs-accent);
  box-shadow:0 0 0 3px rgba(49,88,212,.12)
}
.jobs-search input::placeholder,.jobs-editor-form input::placeholder,.jobs-editor-form textarea::placeholder{color:#98a2b3}
.jobs-editor-form small,.jobs-panel small,.job-apply__form small{
  color:var(--jobs-muted);
  line-height:1.45
}

.jobs-button,.jobs-search button{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid var(--jobs-accent);
  border-radius:10px;
  padding:10px 16px;
  background:var(--jobs-accent);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease
}
.jobs-button:hover,.jobs-search button:hover{
  background:var(--jobs-accent-dark);
  border-color:var(--jobs-accent-dark);
  box-shadow:0 7px 16px rgba(49,88,212,.16)
}
.jobs-button:active,.jobs-search button:active{transform:translateY(1px)}

.jobs-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}
.job-card{
  display:flex;
  min-width:0;
  min-height:210px;
  flex-direction:column;
  border:1px solid var(--jobs-border);
  border-radius:16px;
  background:var(--jobs-surface);
  padding:20px;
  box-shadow:0 10px 26px rgba(30,50,80,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.job-card:hover{
  transform:translateY(-2px);
  border-color:#cbd6e8;
  box-shadow:0 16px 34px rgba(30,50,80,.08)
}
.job-card h3{
  margin:.65rem 0 .55rem;
  font-size:1.2rem;
  line-height:1.25
}
.job-card p{
  margin:.15rem 0 1rem;
  color:var(--jobs-muted);
  line-height:1.6
}
.job-card h3 a,.job-card__link{color:var(--jobs-text);text-decoration:none}
.job-card__link{
  margin-top:auto;
  color:var(--jobs-accent);
  font-weight:800
}
.job-card__meta{display:flex;flex-wrap:wrap;gap:7px}
.job-card__meta span,.jobs-status,.jobs-editor-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  border-radius:999px;
  background:#eef3ff;
  padding:5px 9px;
  color:#3553a5;
  font-size:.76rem;
  font-weight:800
}
.jobs-empty{
  grid-column:1/-1;
  position:relative;
  padding:34px 24px;
  border:1px dashed #c7d2e2;
  border-radius:16px;
  background:rgba(255,255,255,.58);
  color:var(--jobs-muted);
  text-align:center
}
.jobs-empty::before{
  content:"";
  display:block;
  width:42px;
  height:42px;
  margin:0 auto 13px;
  border:1px solid #d8e1ef;
  border-radius:13px;
  background:linear-gradient(135deg,#f7f9ff,#edf3ff);
  box-shadow:inset 0 0 0 10px rgba(49,88,212,.035)
}
.jobs-empty strong{
  display:block;
  color:#475467;
  font-size:.98rem
}
.jobs-empty span{display:block;margin-top:6px;line-height:1.5}

.job-back{
  display:inline-flex;
  margin-bottom:13px;
  color:var(--jobs-accent);
  font-weight:750;
  text-decoration:none
}
.job-detail__head{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);
  gap:24px;
  padding:28px;
  margin-bottom:18px
}
.job-facts,.jobs-admin-facts{margin:0;display:grid;gap:9px}
.job-facts div,.jobs-admin-facts div{
  border:1px solid var(--jobs-border);
  border-radius:10px;
  background:#fff;
  padding:10px 12px
}
.job-facts dt,.jobs-admin-facts dt{
  color:var(--jobs-muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.job-facts dd,.jobs-admin-facts dd{margin:3px 0 0;font-weight:700}
.job-detail__content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.job-detail__content section,.job-apply,.job-apply-cta{
  border:1px solid var(--jobs-border);
  border-radius:16px;
  background:#fff;
  padding:22px;
  box-shadow:0 8px 24px rgba(37,55,95,.03)
}
.job-detail__content h2,.job-apply h2,.job-apply-cta h2{margin-top:0}
.job-richtext{line-height:1.72}
.job-richtext>:first-child{margin-top:0}
.job-richtext>:last-child{margin-bottom:0}
.job-apply{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:26px;
  margin-top:18px
}
.jobs-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.jobs-check{
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start
}
.jobs-check input{
  width:auto!important;
  min-height:0!important;
  margin-top:4px
}
.jobs-hp{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important
}
.jobs-alert{
  margin-bottom:16px;
  border-radius:12px;
  padding:12px 15px
}
.jobs-alert--success{
  border:1px solid #abefc6;
  background:#ecfdf3;
  color:var(--jobs-success)
}

.jobs-admin__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px;
  margin-bottom:16px
}
.jobs-admin__head>div{min-width:0}
.jobs-admin__head>a{
  flex:0 0 auto;
  font-weight:750;
  text-decoration:none
}
.jobs-admin__head>a:not(.jobs-button){
  color:var(--jobs-accent)
}
.jobs-admin__head>a.jobs-button{
  color:#fff;
  font-weight:800
}
.jobs-admin__head>a.jobs-button:hover,
.jobs-admin__head>a.jobs-button:focus-visible{
  color:#fff
}
.jobs-admin__cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px
}
.jobs-admin__cards>div{
  border:1px solid var(--jobs-border);
  border-radius:14px;
  padding:16px 18px;
  background:#fff;
  box-shadow:0 7px 22px rgba(37,55,95,.028)
}
.jobs-admin__cards strong{display:block;font-size:1.65rem;line-height:1.1}
.jobs-admin__cards span{display:block;margin-top:4px;color:var(--jobs-muted)}
.jobs-table-wrap{
  overflow:auto;
  border:1px solid var(--jobs-border);
  border-radius:14px;
  background:#fff
}
.jobs-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse
}
.jobs-table th,.jobs-table td{
  padding:13px 15px;
  border-bottom:1px solid #edf0f4;
  text-align:left;
  vertical-align:top
}
.jobs-table th{
  background:#f8fafc;
  color:var(--jobs-muted);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}
.jobs-table tbody tr:hover{background:#fbfcfe}
.jobs-table td small{display:block;margin-top:3px;color:var(--jobs-muted)}
.jobs-actions{display:flex;align-items:center;gap:9px}
.jobs-actions form{margin:0}
.jobs-actions button{
  border:0;
  background:transparent;
  color:var(--jobs-danger);
  cursor:pointer
}
.jobs-status--published,.jobs-status--accepted{background:#ecfdf3;color:#067647}
.jobs-status--draft,.jobs-status--new{background:#f2f4f7;color:#475467}
.jobs-status--archived,.jobs-status--rejected{background:#fef3f2;color:#b42318}

.jobs-panel{
  margin-bottom:14px;
  border:1px solid var(--jobs-border);
  border-radius:16px;
  background:#fff;
  padding:19px 20px;
  box-shadow:0 7px 22px rgba(37,55,95,.028)
}
.jobs-panel h2{
  margin:0 0 14px;
  color:#20293c;
  font-size:1.08rem;
  line-height:1.3
}
.jobs-panel h3{
  margin:.1rem 0 .25rem;
  font-size:1rem
}
.jobs-panel__title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:8px
}
.jobs-panel__title h2{margin-bottom:4px}
.jobs-panel__title p{margin:0;color:var(--jobs-muted);font-size:.9rem;line-height:1.45}
.jobs-editor-badge{flex:0 0 auto;background:#eef4ff;color:#3158d4}
.jobs-tabs__nav{
  display:flex;
  gap:4px;
  overflow-x:auto;
  margin:0 0 16px;
  border-bottom:1px solid var(--jobs-border);
  scrollbar-width:thin
}
.jobs-tabs__nav button{
  flex:0 0 auto;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  padding:9px 12px;
  color:#667085;
  font:inherit;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer
}
.jobs-tabs__nav button:hover{color:#344054}
.jobs-tabs__nav button.is-active{
  border-color:var(--jobs-accent);
  color:var(--jobs-accent)
}
.jobs-tab{display:none}
.jobs-tab.is-active{display:grid;gap:13px}
.jobs-tab[hidden]{display:none!important}
.jobs-form-actions{
  position:sticky;
  bottom:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:12px;
  padding:13px 0 3px;
  background:linear-gradient(to bottom,rgba(247,249,252,0),rgba(247,249,252,.96) 24%,rgba(247,249,252,.99))
}
.jobs-form-actions>a{color:var(--jobs-muted);text-decoration:none;font-weight:700}
.jobs-application-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:16px
}
.jobs-note{color:var(--jobs-muted);font-size:.84rem;line-height:1.5}

/* WYSIWYG integration: the editor plugin owns its inner layout. */
.jobs-editor-form .fd-editor-shell{
  width:100%;
  min-width:0;
  max-width:100%;
  margin:0
}
.jobs-editor-form .fd-editor-shell .fd-editor-source{
  box-sizing:border-box
}
.jobs-editor-form textarea.jobs-richtext-input:not([data-fd-wysiwyg-bound="1"]){
  min-height:170px;
  resize:vertical
}

@media (max-width:900px){
  .jobs-search{grid-template-columns:1fr 1fr}
  .jobs-search button{grid-column:1/-1}
  .jobs-grid{grid-template-columns:1fr 1fr}
  .job-detail__head,.job-apply,.jobs-application-grid{grid-template-columns:1fr}
  .job-detail__content{grid-template-columns:1fr}
  .jobs-admin__head{align-items:flex-start}
  .jobs-admin__cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:680px){
  .jobs-page,.job-detail,.jobs-admin{padding:14px 10px 30px}
  .jobs-hero,.job-detail__head{padding:21px;border-radius:15px}
  .jobs-admin__head{display:grid;padding:18px;border-radius:15px}
  .jobs-search,.jobs-grid,.jobs-form-grid,.jobs-admin__cards{grid-template-columns:1fr}
  .jobs-search button{grid-column:auto}
  .jobs-panel{padding:15px;border-radius:14px}
  .jobs-panel__title{display:grid;gap:9px}
  .jobs-editor-badge{width:max-content}
  .jobs-actions{display:grid;gap:6px}
  .job-card{min-height:0;padding:17px}
  .jobs-form-actions{
    margin-left:-10px;
    margin-right:-10px;
    padding:12px 10px 4px
  }
}
