/* Focused, task-first shell for the public job intake. */
body:has(.job-posting-shell) { background: #f8fafc; }
.job-posting-shell { min-height: 100dvh; color: #0f172a; }
.job-posting-header { display:flex; align-items:center; justify-content:space-between; min-height:64px; padding:10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); border-bottom:1px solid #e2e8f0; background:#fff; }
.job-posting-header__exit,.job-posting-header__account,.job-posting-header__discard { display:inline-flex; align-items:center; gap:6px; min-height:44px; border-radius:10px; padding:8px 10px; color:#475569; font-size:.875rem; font-weight:700; }
.job-posting-header__exit:hover,.job-posting-header__account:hover,.job-posting-header__discard:hover { background:#f1f5f9; color:#1d4ed8; }
.job-posting-header__discard { border:0; background:transparent; cursor:pointer; }
.job-posting-header__actions { display:flex; align-items:center; gap:2px; }
.job-posting-logo { display:inline-flex; align-items:center; gap:7px; color:#0f172a; font-family:'Barlow',sans-serif; font-size:1.15rem; font-weight:900; letter-spacing:.04em; }
.job-posting-logo span span { color:#2563eb; }
.job-posting-mobile-progress { display:none; padding:10px 16px; background:#fff; border-bottom:1px solid #e2e8f0; color:#475569; font-size:.75rem; font-weight:800; }
.job-posting-mobile-progress > div { height:4px; overflow:hidden; margin-top:7px; border-radius:99px; background:#e2e8f0; }.job-posting-mobile-progress i { display:block; height:100%; border-radius:inherit; background:#2563eb; transition:width .2s ease; }
.job-posting-layout { width:min(100% - 32px, 1120px); margin:28px auto 48px; display:grid; gap:20px; grid-template-columns:220px minmax(0, 1fr); align-items:start; }
.job-posting-rail { position:sticky; top:20px; padding:20px 16px; border:1px solid #e2e8f0; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.job-posting-eyebrow { margin:0; color:#2563eb; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.job-posting-rail__steps { margin:18px 0 0; padding:0; list-style:none; }.job-posting-rail__steps li { display:flex; align-items:flex-start; gap:10px; padding:10px 4px; color:#64748b; }.job-posting-rail__steps li > span { display:inline-flex; width:22px; height:22px; flex:none; align-items:center; justify-content:center; border:1px solid #cbd5e1; border-radius:999px; font-size:.72rem; font-weight:800; }.job-posting-rail__steps strong,.job-posting-rail__steps small { display:block; }.job-posting-rail__steps strong { font-size:.8rem; }.job-posting-rail__steps small { margin-top:2px; font-size:.69rem; }.job-posting-rail__steps .is-active { color:#1d4ed8; }.job-posting-rail__steps .is-active > span { color:#fff; border-color:#2563eb; background:#2563eb; }.job-posting-rail__steps .is-complete { color:#059669; }.job-posting-rail__steps .is-complete > span { color:#047857; border-color:#86efac; background:#ecfdf5; }
.job-posting-rail__privacy { margin-top:16px; padding:12px; border-radius:10px; background:#eff6ff; color:#1e40af; font-size:.72rem; line-height:1.5; }
.job-wizard-card { min-width:0; overflow:visible; border:1px solid #dbe3ef; border-radius:16px; background:#fff; box-shadow:0 14px 32px rgba(15,23,42,.06); }
.job-wizard-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:25px 28px 22px; border-bottom:1px solid #e2e8f0; }.job-wizard-card__heading h1 { margin:5px 0 0; font-size:1.7rem; font-weight:800; letter-spacing:-.025em; }.job-wizard-card__heading p:not(.job-posting-eyebrow) { margin:5px 0 0; color:#64748b; font-size:.9rem; }
#adaptiveJobForm { padding:28px; }.wizard-step { animation:job-wizard-in .18s ease-out; }@keyframes job-wizard-in { from { opacity:0; transform:translateX(8px); } to { opacity:1; transform:none; } }
.job-step-intro { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:22px; }.job-step-intro h2 { margin:0; font-size:1.15rem; font-weight:800; }.job-step-intro p { margin:5px 0 0; color:#64748b; font-size:.86rem; line-height:1.5; }
.job-service-search { display:flex; align-items:center; gap:8px; width:220px; min-height:42px; padding:0 11px; border:1px solid #cbd5e1; border-radius:10px; color:#64748b; background:#f8fafc; }.job-service-search input { width:100%; border:0; outline:0; background:transparent; font-size:.82rem; }
.job-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.service-card { display:flex; width:100%; min-width:0; align-items:center; gap:10px; padding:13px; border:1px solid #dbe3ef; border-radius:12px; text-align:left; background:#fff; color:#0f172a; cursor:pointer; transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease; }.service-card:hover { border-color:#93c5fd; box-shadow:0 6px 16px rgba(37,99,235,.1); transform:translateY(-1px); }.service-card.is-selected { border-color:#2563eb; background:#eff6ff; box-shadow:0 0 0 2px rgba(37,99,235,.12); }.service-card__icon { display:flex; width:36px; height:36px; flex:none; align-items:center; justify-content:center; border-radius:10px; color:#2563eb; background:#dbeafe; }.service-card__copy { min-width:0; flex:1; }.service-card__copy strong,.service-card__copy small { display:block; }.service-card__copy strong { font-size:.82rem; font-weight:800; }.service-card__copy small { overflow:hidden; margin-top:2px; color:#64748b; font-size:.69rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.service-card__check { width:16px; height:16px; flex:none; opacity:0; color:#2563eb; }.service-card.is-selected .service-card__check { opacity:1; }.job-scroll-cue { display:none; margin:10px 0 0; color:#64748b; font-size:.72rem; text-align:center; }
.job-service-chip,.job-private-note { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border-radius:999px; color:#1d4ed8; background:#eff6ff; font-size:.72rem; font-weight:800; white-space:nowrap; }.job-private-note { color:#047857; background:#ecfdf5; }
.job-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.job-field { display:block; min-width:0; }.job-field > span { display:block; margin-bottom:7px; color:#334155; font-size:.8rem; font-weight:800; }.job-field > span em { color:#94a3b8; font-style:normal; font-weight:500; }.job-field input,.job-field select,.job-field textarea { display:block; box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid #cbd5e1; border-radius:9px; outline:0; color:#0f172a; background:#fff; font:inherit; font-size:.87rem; }.job-field textarea { min-height:118px; resize:vertical; }.job-field input:focus,.job-field select:focus,.job-field textarea:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.14); }.job-field--full { margin-top:18px; }.job-field-error { display:block; min-height:15px; margin-top:4px; color:#dc2626; font-size:.72rem; }
.job-safety-check { margin-top:18px; padding:14px; border:1px solid #fcd34d; border-radius:12px; background:#fffbeb; }.job-safety-check label,.job-terms { display:flex; align-items:flex-start; gap:10px; color:#78350f; font-size:.82rem; line-height:1.5; }.job-safety-check input,.job-terms input { width:18px; height:18px; flex:none; margin-top:1px; accent-color:#dc2626; }
.job-photo-picker { margin-top:22px; padding:16px; border:1px dashed #94a3b8; border-radius:12px; background:#f8fafc; }.job-photo-picker__label { display:flex; align-items:center; gap:12px; cursor:pointer; }.job-photo-picker__icon { display:flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:10px; color:#2563eb; background:#dbeafe; }.job-photo-picker__label strong,.job-photo-picker__label small { display:block; }.job-photo-picker__label strong { font-size:.85rem; }.job-photo-picker__label small { margin-top:2px; color:#64748b; font-size:.72rem; }.job-photo-picker__button { margin-left:auto; padding:8px 10px; border-radius:8px; color:#1d4ed8; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.08); font-size:.75rem; font-weight:800; }.job-photo-previews { display:flex; gap:8px; overflow:auto; margin-top:14px; }.job-photo-preview { width:80px; flex:0 0 80px; overflow:hidden; border:1px solid #dbe3ef; border-radius:8px; background:#fff; }.job-photo-preview img { display:block; width:100%; height:54px; object-fit:cover; }.job-photo-preview span { display:block; overflow:hidden; padding:4px 5px; color:#475569; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }.job-photo-preview button { display:block; width:100%; min-height:28px; border:0; border-top:1px solid #e2e8f0; color:#b91c1c; background:#fff; font-size:.64rem; font-weight:800; cursor:pointer; }.job-photo-preview button:hover { background:#fef2f2; }.job-photo-summary,.job-photo-refresh-hint { margin:10px 0 0; color:#475569; font-size:.76rem; }.job-photo-refresh-hint { color:#b45309; }
.job-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:16px; border:1px solid #dbe3ef; border-radius:12px; background:#f8fafc; }.job-review-grid div { min-width:0; padding:4px; }.job-review-grid dt { color:#64748b; font-size:.7rem; }.job-review-grid dd { overflow:hidden; margin:4px 0 0; color:#0f172a; font-size:.83rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.job-account-section { margin-top:24px; padding-top:22px; border-top:1px solid #e2e8f0; }.job-account-section h3 { margin:0; font-size:1rem; font-weight:800; }.job-account-section > div > p { margin:5px 0 16px; color:#64748b; font-size:.83rem; }.job-terms { margin-top:18px; color:#475569; }.job-terms a { color:#1d4ed8; font-weight:700; text-decoration:underline; }.job-signed-in { margin-top:22px; padding:13px; border:1px solid #a7f3d0; border-radius:10px; color:#065f46; background:#ecfdf5; font-size:.83rem; }.job-privacy-copy { margin:18px 0 0; color:#64748b; font-size:.77rem; line-height:1.55; }
.job-form-error { margin:0 0 20px; padding:12px; border:1px solid #fecaca; border-radius:10px; color:#b91c1c; background:#fef2f2; font-size:.84rem; font-weight:700; }.job-wizard-actions { display:flex; justify-content:space-between; gap:10px; margin:28px -28px -28px; padding:16px 28px; border-top:1px solid #e2e8f0; background:#fff; }.job-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:6px; border:0; border-radius:9px; padding:10px 15px; font-size:.84rem; font-weight:800; cursor:pointer; }.job-button--primary { margin-left:auto; color:#fff; background:#2563eb; box-shadow:0 4px 10px rgba(37,99,235,.22); }.job-button--primary:hover { background:#1d4ed8; }.job-button--primary:disabled { cursor:wait; opacity:.65; }.job-button--secondary { color:#475569; background:transparent; }.job-button--secondary:hover { background:#f1f5f9; }
.job-posting-help { display:none; padding:16px; border:1px solid #bfdbfe; border-radius:14px; color:#1e3a8a; background:#eff6ff; font-size:.78rem; line-height:1.55; }.job-posting-help strong { display:block; font-size:.85rem; }.job-posting-help p { margin:7px 0; }.job-posting-help a { color:#1d4ed8; font-weight:800; text-decoration:underline; }
html.dark .job-posting-shell,html.dark body:has(.job-posting-shell) { color:#e2e8f0; background:#0f172a; }html.dark .job-posting-header,html.dark .job-wizard-card,html.dark .job-posting-rail,html.dark .job-wizard-actions { border-color:#334155; background:#1e293b; }html.dark .job-posting-header__exit,html.dark .job-posting-header__account,html.dark .job-posting-header__discard,html.dark .job-posting-logo { color:#e2e8f0; }html.dark .job-posting-header__exit:hover,html.dark .job-posting-header__account:hover,html.dark .job-posting-header__discard:hover { background:#334155; }html.dark .job-posting-mobile-progress { border-color:#334155; background:#1e293b; }html.dark .job-posting-rail__privacy,html.dark .service-card.is-selected { background:rgba(30,64,175,.24); color:#bfdbfe; }html.dark .service-card { border-color:#475569; color:#f1f5f9; background:#1e293b; }html.dark .service-card__copy small,html.dark .job-step-intro p,html.dark .job-wizard-card__heading p:not(.job-posting-eyebrow),html.dark .job-photo-picker__label small,html.dark .job-photo-summary,html.dark .job-privacy-copy { color:#94a3b8; }html.dark .job-field > span,html.dark .job-review-grid dd { color:#e2e8f0; }html.dark .job-field input,html.dark .job-field select,html.dark .job-field textarea { border-color:#475569; color:#f1f5f9; background:#0f172a; }html.dark .job-photo-picker,html.dark .job-review-grid { border-color:#475569; background:#0f172a; }html.dark .job-photo-preview,html.dark .job-photo-picker__button { border-color:#475569; background:#1e293b; }html.dark .job-wizard-actions { border-color:#334155; }html.dark .job-signed-in { border-color:#065f46; color:#bbf7d0; background:rgba(6,95,70,.25); }
@media (min-width:1280px) { .job-posting-layout { width:min(100% - 64px, 1360px); grid-template-columns:220px minmax(0,1fr) 210px; }.job-posting-help { display:block; position:sticky; top:20px; } }
@media (max-width:1023px) { .job-posting-layout { width:min(100% - 32px, 760px); display:block; margin-top:20px; }.job-posting-rail { display:none; }.job-posting-mobile-progress { display:block; }.job-posting-help { display:none; } }
@media (max-width:767px) { .job-posting-header { min-height:58px; }.job-posting-header__discard { display:none; }.job-posting-logo { font-size:1rem; }.job-posting-layout { width:100%; margin:0; }.job-wizard-card { border:0; border-radius:0; box-shadow:none; }.job-wizard-card__heading { padding:20px 16px 18px; }.job-wizard-card__heading h1 { font-size:1.38rem; }.job-wizard-card__heading p:not(.job-posting-eyebrow) { font-size:.82rem; }#adaptiveJobForm { padding:20px 16px 92px; }.job-step-intro { margin-bottom:17px; }.job-step-intro h2 { font-size:1.05rem; }.job-step-intro p { font-size:.79rem; }.job-field-grid { grid-template-columns:1fr; gap:14px; }.job-field--full { margin-top:14px; }.job-wizard-actions { position:sticky; bottom:0; z-index:10; margin:25px -16px -92px; padding:12px max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); box-shadow:0 -8px 20px rgba(15,23,42,.08); }.job-button { min-height:46px; }.job-service-search { width:100%; }.job-step-intro:has(.job-service-search) { display:block; }.job-step-intro:has(.job-service-search) .job-service-search { margin-top:14px; }.job-service-grid { max-height:min(48vh, 410px); grid-template-columns:1fr; overflow-y:auto; padding-right:3px; }.job-scroll-cue { display:block; }.service-card { min-height:64px; padding:11px; }.service-card__copy small { -webkit-line-clamp:1; }.job-photo-picker { padding:13px; }.job-photo-picker__button { display:none; }.job-photo-picker__label { align-items:flex-start; }.job-review-grid { grid-template-columns:1fr; gap:4px; }.job-review-grid dd { white-space:normal; }.job-account-section .job-field-grid { margin-top:16px; }.job-safety-check { margin-top:14px; }.job-form-error { margin-bottom:16px; } }
@media (min-width:480px) and (max-width:767px) { .job-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .service-card { align-items:flex-start; } .service-card__copy small { -webkit-line-clamp:2; } }
@media (max-width:359px) { .job-posting-header { padding-left:12px; padding-right:12px; }.job-posting-header__account { padding-left:7px; padding-right:7px; }.job-posting-mobile-progress { padding-left:16px; padding-right:16px; }.job-wizard-card__heading,#adaptiveJobForm { padding-left:16px; padding-right:16px; }.job-wizard-actions { margin-left:-16px; margin-right:-16px; }.job-service-chip { display:none; } }
