.jobs-page{
  width:min(1200px, calc(100% - 32px));
  margin:24px auto 56px;
  color:#10251a;
}

.jobs-hero,
.jobs-detail-hero,
.jobs-filters,
.jobs-panel,
.jobs-dashboard,
.jobs-form{
  background:#fff;
  border:1px solid rgba(20,80,50,.12);
  border-radius:24px;
  box-shadow:0 14px 40px rgba(16,37,26,.06);
}

.jobs-hero,
.jobs-detail-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  background:linear-gradient(135deg,#f3fff8 0%,#fff 100%);
}

.jobs-kicker{
  display:block;
  margin-bottom:8px;
  color:#0c8f4a;
  font-weight:900;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.jobs-hero h2,
.jobs-detail-hero h1{
  margin:0 0 10px;
  font-size:clamp(24px,3.2vw,36px);
  line-height:1.02;
  font-weight:900;
}

.jobs-hero p,
.jobs-detail-hero p{
  margin:0;
  max-width:760px;
  color:#4d6658;
  font-size:18px;
  line-height:1.35;
}

.jobs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  border:0;
  border-radius:14px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}

.jobs-btn--orange{ background:#FF6B35; color:#fff; }
.jobs-btn--red{ background:#d93025; color:#fff; }
.jobs-btn--green{ background:#168f4d; color:#fff; }
.jobs-btn--outline{ background:#fff; color:#168f4d; border:1px solid rgba(22,143,77,.25); }
.jobs-btn--small{ min-height:38px; padding:0 14px; font-size:14px; }

.jobs-filters{ margin-top:20px; padding:22px; }
.jobs-filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
}
.jobs-filter-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:16px;
  flex-wrap:wrap;
}

.jobs-filter-form label span,
.jobs-field span,
.jobs-label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:900;
  color:#637568;
  text-transform:uppercase;
}

.jobs-input,
.jobs-textarea,
.jobs-form select{
  width:100%;
  border:1px solid rgba(20,80,50,.18);
  border-radius:14px;
  padding:12px 14px;
  font-size:16px;
  background:#fff;
  color:#10251a;
}

.jobs-textarea{ resize:vertical; min-height:120px; }

.jobs-radio-group ul{
  display:flex;
  gap:12px;
  list-style:none;
  padding:0;
  margin:0;
  flex-wrap:wrap;
}
.jobs-radio-group label,
.jobs-check{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-weight:800;
  color:#183326;
}

.jobs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:20px;
}

.jobs-card{
  min-height:230px;
  padding:18px;
  border:1px solid rgba(20,80,50,.12);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,37,26,.05);
}

.jobs-card__top{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.jobs-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#e9f8ef;
  color:#168f4d;
  font-size:12px;
  font-weight:900;
}
.jobs-badge--soft{ background:#fff4e8; color:#c55a22; }

.jobs-card h2{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.18;
}
.jobs-card h2 a{ color:#10251a; text-decoration:none; }
.jobs-card__salary{ font-size:22px; font-weight:900; margin-bottom:6px; }
.jobs-card__meta{ color:#637568; margin-bottom:20px; line-height:1.35; }

.jobs-empty{
  margin-top:20px;
  padding:28px;
  border-radius:20px;
  background:#f7faf8;
  color:#637568;
  font-weight:800;
  text-align:center;
}

.jobs-load-more{ text-align:center; margin-top:24px; }

.jobs-detail-main-meta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  font-size:20px;
}

.jobs-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-top:20px;
}
.jobs-panel{
  margin-top:20px;
  padding:24px;
}
.jobs-panel h2{
  margin:0 0 12px;
  font-size:24px;
}
.jobs-panel p{
  margin:0;
  color:#354c3f;
  line-height:1.55;
}

.jobs-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.jobs-tags span{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:#eefaf4;
  color:#168f4d;
  font-weight:900;
}

.jobs-contact small{ display:block; margin-top:10px; color:#637568; }
.jobs-phone{ display:block; margin-top:14px; font-size:24px; color:#168f4d; }

.jobs-form{
  margin-top:20px;
  padding:24px;
}
.jobs-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.jobs-field--description,
.jobs-field--responsibilities,
.jobs-field--requirements,
.jobs-field--conditions{
  grid-column:1 / -1;
}
.jobs-field-error{
  display:block;
  margin-top:6px;
  color:#d12c18;
  font-size:13px;
}
.jobs-errors{
  padding:12px 14px;
  margin-bottom:14px;
  border-radius:14px;
  background:#fff0ed;
  color:#d12c18;
  font-weight:800;
}

.jobs-form .jobs-btn{ margin-top:18px; margin-right:10px; }

.jobs-dashboard-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border:1px solid rgba(20,80,50,.12);
  border-radius:18px;
  margin-bottom:12px;
}
.jobs-dashboard-row strong,
.jobs-dashboard-row span,
.jobs-dashboard-row small{
  display:block;
}
.jobs-dashboard-row span{ margin-top:5px; color:#637568; }
.jobs-dashboard-row small{ margin-top:6px; color:#168f4d; font-weight:800; }
.jobs-dashboard-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.jobs-dashboard-actions a,
.jobs-dashboard-actions button{
  border:0;
  background:#eefaf4;
  color:#168f4d;
  border-radius:10px;
  padding:9px 12px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

.jobs-dashboard-actions a.jobs-btn--red,
.jobs-dashboard-actions button.jobs-btn--red{
  background:#d93025;
  color:#fff;
}

@media (max-width: 900px){
  .jobs-hero,
  .jobs-detail-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .jobs-filter-grid,
  .jobs-grid,
  .jobs-detail-grid,
  .jobs-form-grid{
    grid-template-columns:1fr;
  }
  .jobs-dashboard-row{
    flex-direction:column;
  }
}

@media (max-width: 480px){
  .jobs-page{
    width:calc(100% - 20px);
    margin-top:14px;
  }
  .jobs-hero,
  .jobs-detail-hero,
  .jobs-filters,
  .jobs-panel,
  .jobs-form{
    border-radius:18px;
    padding:18px;
  }
  .jobs-hero h1,
  .jobs-detail-hero h1{
    font-size:34px;
  }
  .jobs-hero p,
  .jobs-detail-hero p{
    font-size:16px;
  }
  .jobs-filter-row{
    align-items:stretch;
    flex-direction:column;
  }
  .jobs-btn{
    width:100%;
  }
}


.jobs-hero-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.jobs-filter-grid--two{
  grid-template-columns:1fr 1fr auto;
  margin-top:16px;
  align-items:end;
}

.jobs-contact-private p{
  margin-bottom:16px;
}

.jobs-applications{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(20,80,50,.12);
}

.jobs-application-card{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  background:#f7faf8;
}

.jobs-application-card strong,
.jobs-application-card span,
.jobs-application-card small{
  display:block;
}

.jobs-application-card span,
.jobs-application-card small{
  margin-top:4px;
  color:#637568;
}

.jobs-application-card p{
  margin-top:8px;
  color:#354c3f;
}

.jobs-card p{
  color:#354c3f;
  line-height:1.45;
}

.jobs-field--about,
.jobs-field--skills{
  grid-column:1 / -1;
}

@media (max-width: 900px){
  .jobs-hero-actions,
  .jobs-filter-grid--two{
    width:100%;
    grid-template-columns:1fr;
  }
}
