.request-page-intro { padding:42px 0 44px; background:var(--swift-paper, #f6f7f1); border-bottom:1px solid #dfe6dc; }
.request-back { display:inline-flex; gap:10px; align-items:center; margin-bottom:30px; color:#58665f; font-size:13px; font-weight:700; }
.request-page-intro h1 { font-size:clamp(36px,4.2vw,54px); line-height:1.1; letter-spacing:-1.8px; font-weight:900; margin-bottom:20px; }
.request-page-intro > .auto-container > p { max-width:650px; margin:0; font-size:16px; }
.employer-request-section { padding:44px 0 75px; background:#fafbf8; }
.employer-request-section [hidden] { display:none !important; }
.employer-request-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:32px; align-items:start; }
.employer-request-form { min-width:0; }
.required-note { margin-bottom:18px; font-size:12px; }
.required-note > span,.employer-field label > span:not(.field-optional) { color:#556b40; }
.request-panel { min-width:0; margin:0 0 28px; padding:28px; background:white; border:1px solid #dfe6dc; border-radius:12px; scroll-margin-top:16px; }
.request-panel legend { float:left; display:flex; align-items:center; gap:12px; width:100%; padding:0; margin:0 0 12px; color:#172b25; font-size:22px; font-weight:900; line-height:1.3; }
.request-step { display:inline-grid; place-items:center; width:35px; height:35px; background:#edf3e4; color:#4e742f; border-radius:9px; font-size:12px; letter-spacing:.04em; flex-shrink:0; }
.panel-intro { clear:both; font-size:14px; margin-bottom:25px; }
.employer-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px 20px; }
.employer-field { min-width:0; }
.employer-field-wide { grid-column:1 / -1; }
.employer-field > label { display:flex; align-items:center; flex-wrap:wrap; gap:5px; font-size:13px; line-height:1.4; font-weight:800; color:#172b25; margin-bottom:9px; }
.field-optional { color:#74816a; font-size:11px; font-weight:500; margin-left:4px; }
.employer-field > input,.employer-field > select,.editor-link-panel input { display:block; width:100%; height:49px; padding:11px 14px; border:1px solid #cfd9c6; border-radius:7px; background:#fff; color:#172b25; font:inherit; font-size:14px; line-height:1.5; transition:border-color .2s,box-shadow .2s; }
.employer-field > select { padding-right:30px; }
.employer-field input::placeholder,.request-editor textarea::placeholder { color:#889080; font-size:13px; }
.employer-field > input:hover,.employer-field > select:hover { border-color:#8caa77; }
.employer-field > input:focus,.employer-field > select:focus,.editor-link-panel input:focus { border-color:#4e742f; box-shadow:0 0 0 3px #85b45f22; outline:none; }
.employer-field [aria-invalid="true"] { border-color:#b64236; }
.field-help { font-size:12px; color:#67765d; line-height:1.6; margin:8px 0 0; }
.field-error { color:#a12b22; font-size:12px; line-height:1.6; margin:8px 0 0; }
.description-field { margin-top:28px; padding-top:25px; border-top:1px solid #e8ede4; }
.description-field > .field-help { margin:-2px 0 12px; }
.request-editor { border:1px solid #cfd9c6; border-radius:9px; overflow:hidden; background:white; }
.request-editor:focus-within { border-color:#4e742f; box-shadow:0 0 0 3px #85b45f22; }
.request-editor-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:5px; padding:10px; background:#f4f6f0; border-bottom:1px solid #dfe6dc; }
.request-editor-toolbar button { min-width:35px; min-height:35px; padding:6px 10px; color:#3d5235; background:transparent; border:1px solid transparent; border-radius:5px; font:inherit; font-size:12px; line-height:1.4; cursor:pointer; }
.request-editor-toolbar button:hover { background:#e2ead8; }
.request-editor-toolbar button[aria-pressed="true"] { background:#d2e5bb; border-color:#a8c68a; color:#243b16; }
.toolbar-divider { width:1px; height:22px; margin:0 3px; background:#d4ddca; }
.request-editor-surface,.request-editor textarea { display:block; min-height:310px; max-height:650px; overflow:auto; padding:22px; width:100%; border:0; background:white; font:inherit; font-size:15px; line-height:1.8; color:#283d23; white-space:pre-wrap; overflow-wrap:anywhere; }
.request-editor textarea { resize:vertical; }
.request-editor-surface:focus,.request-editor textarea:focus { outline:none; }
.request-editor-surface[data-empty="true"]:before { content:attr(data-placeholder); color:#889080; pointer-events:none; float:left; height:0; }
.rich-description p { margin:0 0 12px; color:inherit; }
.rich-description h2,.rich-description h3 { font-size:19px; font-weight:800; line-height:1.5; margin:18px 0 10px; }
.rich-description h2:first-child,.rich-description h3:first-child { margin-top:0; }
.rich-description ul,.rich-description ol { margin:10px 0 16px; padding-left:25px; }
.rich-description ul { list-style:disc outside; }
.rich-description ol { list-style:decimal outside; }
.rich-description li { list-style:inherit; padding-left:3px; margin-bottom:5px; }
.rich-description a { color:#3f6b26; text-decoration:underline; text-underline-offset:3px; }
.rich-description blockquote { border-left:3px solid #90b467; padding-left:16px; margin:15px 0; }
.editor-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:10px 14px; background:#f8faf5; border-top:1px solid #e8ede4; color:#67765d; font-size:11px; }
.is-over-limit { color:#a12b22; font-weight:800; }
.editor-link-panel { padding:14px; background:#f4f8ed; border-bottom:1px solid #dfe6dc; }
.editor-link-panel label { display:block; font-size:12px; font-weight:800; margin-bottom:6px; }
.editor-link-panel > div { display:flex; gap:8px; }
.editor-link-panel input { height:39px; min-width:0; }
.editor-link-panel button { flex-shrink:0; padding:8px 12px; border:1px solid #cfd9c6; border-radius:6px; font-size:12px; background:white; color:#172b25; }
.description-outline { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:12px; }
.description-outline button { background:transparent; padding:0; color:#456c2c; font-size:12px; font-weight:800; cursor:pointer; text-align:left; }
.description-outline > span { font-size:11px; color:#74816a; }
.description-outline .field-help { margin:0; width:100%; }
.request-submit { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; padding:8px 0 0; }
.request-submit strong { font-size:16px; }
.request-submit p { font-size:12px; margin:7px 0 0; }
.request-submit .field-error { width:100%; }
.request-submit button:disabled { cursor:wait; opacity:.65; transform:none; }
.request-sidebar { position:sticky; top:calc(var(--site-header-height, 131px) + 20px); padding-top:38px; }
.request-sidebar-card,.request-support-card { padding:25px; border:1px solid #dfe6dc; border-radius:12px; background:#fff; margin-bottom:18px; }
.request-sidebar h2 { font-size:22px; font-weight:900; letter-spacing:-.6px; line-height:1.3; margin-bottom:14px; }
.request-sidebar p { font-size:13px; }
.request-progress { margin:22px 0 20px; }
.request-progress > div { display:flex; justify-content:space-between; align-items:center; font-size:10px; color:#526947; }
.request-progress strong { font-size:12px; }
.request-progress progress { width:100%; height:6px; margin-top:9px; border:0; border-radius:6px; overflow:hidden; background:#e5ebde; accent-color:#6d963e; }
.request-progress progress::-webkit-progress-bar { background:#e5ebde; }
.request-progress progress::-webkit-progress-value { background:#6d963e; }
.request-progress progress::-moz-progress-bar { background:#6d963e; }
.request-section-links { margin:18px 0 0; padding:0; list-style:none; }
.request-section-links a { display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid #e5ebde; color:#172b25; font-size:13px; font-weight:700; }
.request-section-links span { font-size:11px; color:#6d963e; }
.request-support-card { background:#edf3e4; }
.request-support-card > a { display:flex; justify-content:space-between; gap:12px; color:#3a6027; font-size:13px; font-weight:800; margin-top:15px; }
.request-feedback { padding:25px; margin-bottom:30px; border:1px solid #b4d79c; background:#eff8e9; border-radius:10px; scroll-margin-top:16px; }
.request-feedback h2 { font-size:21px; font-weight:800; margin-bottom:10px; }
.request-feedback p,.request-feedback a { font-size:14px; }
.request-feedback a { color:#41652e; text-decoration:underline; }
.request-feedback-error { background:#fff4f0; border-color:#e7b8ac; }
.request-feedback-error ul { list-style:disc; padding-left:20px; margin-top:10px; }
.request-feedback-error li { list-style:inherit; }
.request-feedback-error a { color:#a12b22; }
@media(max-width:991px) { .employer-request-layout { grid-template-columns:minmax(0,1fr) 240px; gap:20px; }.request-panel { padding:24px; }.request-sidebar-card,.request-support-card { padding:20px; }.request-submit { align-items:start; flex-direction:column; } }
@media(max-width:767px) { .request-page-intro { padding:30px 0; }.request-back { margin-bottom:22px; }.request-page-intro h1 { letter-spacing:-1px; }.employer-request-section { padding:28px 0 45px; }.employer-request-layout { grid-template-columns:1fr; }.request-sidebar { position:static; padding-top:12px; }.request-panel { padding:20px; margin-bottom:20px; }.request-panel legend { font-size:19px; }.employer-fields { grid-template-columns:1fr; gap:20px; }.employer-field > input,.employer-field > select,.editor-link-panel input,.request-editor-surface,.request-editor textarea { font-size:16px; }.request-editor-surface,.request-editor textarea { padding:16px; min-height:290px; }.request-editor-toolbar { gap:3px; padding:8px; }.request-editor-toolbar button { min-height:40px; }.editor-link-panel > div { flex-wrap:wrap; }.editor-link-panel input { width:100%; }.request-submit { gap:15px; }.request-submit .swift-btn { width:100%; }.request-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.request-sidebar-card,.request-support-card { margin:0; }.request-progress { display:none; } }
@media(max-width:480px) { .request-sidebar { grid-template-columns:1fr; }.request-panel { padding:18px; }.editor-footer { font-size:10px; } }
