.ftn-job-form-shell { max-width:820px; margin:2rem auto; padding:clamp(1rem,3vw,2rem); border:1px solid #e2e8f0; border-radius:18px; background:#fff; box-shadow:0 14px 40px rgba(15,23,42,.08); }
.ftn-job-form-header { text-align:center; margin-bottom:1.5rem; }
.ftn-job-form-header h1 { margin:0 0 .4rem; font-size:clamp(1.8rem,4vw,2.6rem); }
.ftn-job-form { display:grid; gap:1.25rem; }
.ftn-job-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-bottom:1rem; }
.ftn-job-steps span { padding:.65rem .5rem; text-align:center; border-bottom:3px solid #dbe3ee; color:#64748b; font-weight:700; }
.ftn-job-steps span.is-active { color:#0b6b57; border-color:#14b88a; }
.ftn-job-step { display:grid; gap:1rem; }
.ftn-job-step[hidden] { display:none!important; }
.ftn-job-form label,.ftn-job-provider-types legend { display:grid; gap:.4rem; font-weight:700; }
.ftn-job-form input:not([type=checkbox]),.ftn-job-form select,.ftn-job-form textarea { width:100%; min-height:48px; padding:.75rem; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
.ftn-job-form textarea { min-height:160px; resize:vertical; }
.ftn-job-provider-types { display:flex; gap:.75rem 1rem; flex-wrap:wrap; border:0; padding:0; }
.ftn-job-provider-types legend { width:100%; margin-bottom:.4rem; }
.ftn-job-provider-types label { display:flex; align-items:center; font-weight:500; }
.ftn-job-step-actions { display:flex; justify-content:space-between; gap:.75rem; }
.ftn-job-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ftn-jobs-state,.ftn-jobs-notice { padding:1rem; border-radius:10px; background:#f1f5f9; }
.ftn-my-jobs { display:grid; gap:1rem; }
.ftn-job-card { border:1px solid #e2e8f0; border-radius:14px; padding:1.25rem; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.05); }
.ftn-my-jobs-header,.ftn-job-card-header,.ftn-job-card-footer,.ftn-job-meta { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ftn-my-jobs-header { margin-bottom:.5rem; }
.ftn-my-jobs-header h1,.ftn-job-card-header h2 { margin:0; }
.ftn-job-card-header time { color:#64748b; font-size:.84rem; }
.ftn-job-meta { justify-content:flex-start; margin:1rem 0; }
.ftn-job-meta-item { padding:.5rem .7rem; border-radius:8px; background:#f1f5f9; }
.ftn-status { display:inline-flex; padding:.35rem .65rem; border-radius:999px; background:#e2e8f0; font-size:.82rem; font-weight:800; }
.ftn-status-open { background:#dcfce7; color:#166534; }.ftn-status-claimed { background:#dbeafe; color:#1e40af; }.ftn-status-closed { background:#f1f5f9; color:#475569; }
.ftn-job-accordion { margin:1rem 0; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; }.ftn-job-accordion summary { cursor:pointer; padding:.8rem 0; font-weight:800; }
.ftn-job-offers { display:grid; gap:.7rem; list-style:none; padding:0; }.ftn-job-offer { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; padding:.8rem; border-radius:10px; background:#f8fafc; }.ftn-job-offer-message { flex:1 1 250px; }.ftn-job-card-footer { justify-content:flex-start; }.ftn-job-card-footer form { margin:0; }
@media (max-width:640px) { .ftn-job-form-shell{margin:1rem 0;border-radius:12px}.ftn-job-steps span{font-size:.78rem}.ftn-job-step-actions{flex-direction:column-reverse}.ftn-job-step-actions .ftn-btn{width:100%} }
