/* Recruitment styles are scoped to this section; existing tools keep their styling. */
#enlist { color: #d7cece; padding-bottom: 40px; }
#enlist *, #enlist *::before, #enlist *::after { box-sizing: border-box; }
#enlist [hidden] { display: none !important; }
#enlist h2, #enlist h3, #enlist h4, #enlist p { overflow-wrap: anywhere; }
#enlist .enlist-heading { border-bottom: 2px solid var(--cs-red); padding: 5px 0 20px; }
#enlist .enlist-heading h2 { color: #f04444; margin: 8px 0 12px; letter-spacing: 2px; }
#enlist .enlist-heading > p:last-child { margin: 0; font-size: .9rem; }
#enlist .enlist-eyebrow { color: #c8a081; font-size: .68rem; letter-spacing: 1px; margin: 0 0 8px; }
#enlist .enlist-panel { border: 1px solid #6d2828; background: linear-gradient(120deg, #1e0909, #0c0c0c 65%); padding: 28px; margin-top: 24px; }
#enlist .enlist-panel > h3, #enlist .enlist-question-heading h3 { color: #f04444; margin-top: 0; }
#enlist .enlist-intro, #enlist .enlist-question-heading p { font-size: .86rem; line-height: 1.6; }
#enlist .enlist-field { margin: 24px 0; }
#enlist .enlist-field label { display: block; font-size: .8rem; font-weight: bold; color: #eee; margin-bottom: 10px; }
#enlist .enlist-optional { color: #a58d8d; font-weight: normal; }
#enlist input[type="text"], #enlist select, #enlist textarea { width: 100%; min-width: 0; background: #080808; border: 1px solid #854242; color: #f1e6e6; padding: 12px; font: inherit; font-size: .9rem; border-radius: 0; }
#enlist textarea { resize: vertical; line-height: 1.5; }
#enlist ::placeholder { color: #a58d8d; opacity: 1; }
#enlist .enlist-name-row { display: flex; gap: 10px; }
#enlist .enlist-name-row input { flex: 1; }
#enlist .enlist-button { border: 1px solid var(--cs-red); background: #160707; color: #f47b7b; padding: 12px 16px; cursor: pointer; font: bold .8rem 'Courier New', monospace; line-height: 1.35; white-space: normal; }
#enlist .enlist-name-row .enlist-button { flex: 0 0 auto; }
#enlist .enlist-button:hover { background: #431313; color: #fff; }
#enlist .enlist-primary { background: #b72626; color: #fff; }
#enlist .enlist-primary:hover { background: #d32f2f; }
#enlist :focus-visible { outline: 2px solid #ffaa55; outline-offset: 4px; }
#enlist .enlist-help { font-size: .73rem; color: #b09a9a; line-height: 1.5; margin: 9px 0 0; }
#enlist .enlist-question-heading { padding-top: 16px; border-top: 1px dashed #643030; }
#enlist fieldset { min-width: 0; border: 1px solid #542b2b; padding: 18px; margin: 24px 0; }
#enlist legend { max-width: 100%; padding: 0 8px; color: #ffb17a; font-size: .9rem; font-weight: bold; line-height: 1.5; overflow-wrap: anywhere; }
#enlist .enlist-choice { display: flex; align-items: flex-start; gap: 12px; padding: 12px; margin: 7px 0; border: 1px solid #352020; cursor: pointer; font-size: .86rem; line-height: 1.5; }
#enlist .enlist-choice:hover { border-color: #a74a4a; }
#enlist .enlist-choice:has(input:checked) { border-color: #db5757; background: #301010; color: #fff; }
#enlist .enlist-choice input { accent-color: #e54848; flex-shrink: 0; margin: 4px 0 0; }
#enlist .enlist-error { color: #ffd2b0; border-left: 3px solid #ff9750; padding: 12px; background: #301608; line-height: 1.5; }
#enlist .enlist-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
#enlist .enlist-actions .enlist-help { flex-basis: 100%; }
#enlist .enlist-dossier { background: #100b0b; border: 2px solid #a43535; padding: 30px; overflow-wrap: anywhere; }
#enlist .enlist-document-header { display: flex; align-items: center; gap: 16px; padding-bottom: 18px; border-bottom: 2px solid #9c3030; }
#enlist .enlist-document-header > div:nth-child(2) { flex: 1; min-width: 0; }
#enlist .enlist-document-header h2 { color: #f35151; font-size: 1.4rem; margin: 0; }
#enlist .enlist-seal { width: 58px; height: 58px; border: 3px double #c65353; display: grid; place-items: center; flex-shrink: 0; font-weight: bold; font-size: 1.5rem; color: #e65252; }
#enlist .enlist-stamp { border: 1px solid #b6603f; color: #e7a16f; font-size: .65rem; padding: 7px; white-space: nowrap; }
#enlist .enlist-recruit-name { color: #fff; font-size: 1.8rem; margin: 24px 0; line-height: 1.25; }
#enlist .enlist-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; padding: 18px 0; border-top: 1px solid #4e2828; border-bottom: 1px solid #4e2828; margin: 0; }
#enlist dt { font-size: .65rem; letter-spacing: 1px; color: #bf9393; margin-bottom: 6px; }
#enlist dd { margin: 0; color: #eee; font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
#enlist .enlist-record-section { margin-top: 22px; }
#enlist .enlist-record-section h4, #enlist .enlist-assessment h4 { color: #ee7272; font-size: .78rem; letter-spacing: 1px; margin: 0 0 9px; }
#enlist .enlist-record-section p, #enlist .enlist-record-section li, #enlist .enlist-assessment p { font-size: .86rem; line-height: 1.6; margin: 0; }
#enlist .enlist-record-section ul { margin: 0; padding-left: 20px; }
#enlist .enlist-record-section li { margin: 4px 0; }
#enlist .enlist-verbatim { white-space: pre-wrap; }
#enlist .enlist-detail { margin-top: 10px !important; color: #bda9a9; }
#enlist .enlist-assessment { border: 1px solid #6d3830; background: #21110d; padding: 18px; margin-top: 24px; }
#enlist .enlist-assessment .enlist-signature { font-size: .65rem; color: #c6a18b; margin-top: 12px; }
#enlist .enlist-document-footer { border-top: 1px solid #5b2e2e; margin-top: 24px; padding-top: 12px; font-size: .62rem; color: #b29292; }
#enlist .enlist-id-page { margin-top: 30px; padding: 24px 0; border-top: 1px dashed #754040; }
#enlist .enlist-id-page > h3 { color: #ee7272; font-size: 1rem; margin: 0; }
#enlist .enlist-id-card { width: 360px; max-width: 100%; min-height: 215px; border: 2px solid #b54343; padding: 18px; background: linear-gradient(125deg, #290e0e, #101010); margin-top: 18px; overflow-wrap: anywhere; }
#enlist .enlist-id-card header { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid #973939; padding-bottom: 10px; }
#enlist .enlist-id-card header div { min-width: 0; }
#enlist .enlist-id-card header strong { color: #ef7777; display: block; font-size: .85rem; }
#enlist .enlist-id-card header span:not(.enlist-id-emblem) { display: block; font-size: .55rem; margin-top: 4px; letter-spacing: .5px; }
#enlist .enlist-id-emblem { border: 2px double #af4b4b; padding: 8px; font-size: 1rem; font-weight: bold; }
#enlist .enlist-id-card h4 { color: #fff; font-size: 1.1rem; margin: 16px 0; line-height: 1.3; }
#enlist .enlist-id-card dl { margin: 0; }
#enlist .enlist-id-card dl div { margin-top: 10px; }
#enlist .enlist-id-card dt { font-size: .55rem; margin-bottom: 4px; }
#enlist .enlist-id-card dd { font-size: .76rem; }
#enlist .enlist-id-card footer { border-top: 1px solid #653434; font-size: .5rem; line-height: 1.5; margin-top: 14px; padding-top: 8px; color: #c19999; }
#enlist .enlist-id-caption { font-size: .68rem; color: #b09a9a; }
@media (max-width: 768px) {
    #enlist .enlist-panel, #enlist .enlist-dossier { padding: 16px; }
    #enlist .enlist-name-row { flex-direction: column; }
    #enlist fieldset { padding: 10px; }
    #enlist .enlist-choice { padding: 10px; }
    #enlist .enlist-document-header { flex-wrap: wrap; gap: 12px; }
    #enlist .enlist-document-header h2 { font-size: 1.05rem; }
    #enlist .enlist-facts { grid-template-columns: 1fr; }
    #enlist .enlist-recruit-name { font-size: 1.4rem; }
    #enlist .enlist-actions .enlist-button { flex: 1 1 180px; }
}
@page enlistment { size: A4; margin: 14mm; }
@media print {
    body.enlist-print { display: block !important; height: auto !important; overflow: visible !important; background: #fff !important; color: #171717 !important; text-shadow: none !important; }
    body.enlist-print #sidebar, body.enlist-print .ticker-wrap,
    body.enlist-print #main-content > :not(#enlist),
    body.enlist-print #enlist > :not(#enlist-output),
    body.enlist-print #enlist .enlist-actions { display: none !important; }
    body.enlist-print #main-content { display: block !important; padding: 0 !important; overflow: visible !important; height: auto !important; }
    body.enlist-print #enlist { display: block !important; max-width: none !important; width: auto !important; padding: 0 !important; color: #171717; }
    body.enlist-print #enlist-output { page: enlistment; }
    body.enlist-print #enlist * { text-shadow: none !important; box-shadow: none !important; animation: none !important; color: #171717 !important; }
    body.enlist-print #enlist .enlist-dossier { border: 1.5pt solid #333; background: #fff; padding: 7mm; font-size: 9pt; }
    body.enlist-print #enlist .enlist-document-header { padding-bottom: 4mm; gap: 4mm; flex-wrap: nowrap; }
    body.enlist-print #enlist .enlist-document-header h2 { font-size: 16pt; }
    body.enlist-print #enlist .enlist-eyebrow { font-size: 7pt; }
    body.enlist-print #enlist .enlist-seal { width: 13mm; height: 13mm; font-size: 16pt; }
    body.enlist-print #enlist .enlist-stamp { font-size: 6pt; }
    body.enlist-print #enlist .enlist-recruit-name { font-size: 20pt; margin: 5mm 0; }
    body.enlist-print #enlist .enlist-facts { grid-template-columns: 1fr 1fr; gap: 3mm 6mm; padding: 4mm 0; }
    body.enlist-print #enlist dt { font-size: 6.5pt; }
    body.enlist-print #enlist dd { font-size: 8.5pt; line-height: 1.35; }
    body.enlist-print #enlist .enlist-record-section { margin-top: 4mm; }
    body.enlist-print #enlist .enlist-record-section h4, body.enlist-print #enlist .enlist-assessment h4 { font-size: 8pt; margin-bottom: 2mm; }
    body.enlist-print #enlist .enlist-record-section p, body.enlist-print #enlist .enlist-record-section li, body.enlist-print #enlist .enlist-assessment p { font-size: 8.5pt; line-height: 1.4; }
    body.enlist-print #enlist .enlist-assessment { background: #fff; margin-top: 4mm; padding: 3mm; break-inside: avoid; }
    body.enlist-print #enlist .enlist-assessment .enlist-signature { font-size: 6.5pt; margin-top: 2mm; }
    body.enlist-print #enlist .enlist-document-footer { margin-top: 4mm; padding-top: 2mm; font-size: 6pt; }
    body.enlist-print #enlist .enlist-record-section h4 { break-after: avoid; }
    body.enlist-print #enlist p { orphans: 3; widows: 3; }
    body.enlist-print #enlist .enlist-id-page { break-before: page; margin: 0; padding: 0; border: 0; }
    body.enlist-print #enlist .enlist-id-page > h3 { font-size: 11pt; }
    body.enlist-print #enlist .enlist-id-page > .enlist-help { display: none; }
    body.enlist-print #enlist .enlist-id-card { width: 86mm; min-height: 54mm; background: #fff; border-color: #333; padding: 4mm; break-inside: avoid; margin-top: 5mm; }
    body.enlist-print #enlist .enlist-id-card h4 { font-size: 12pt; margin: 3mm 0; }
    body.enlist-print #enlist .enlist-id-card dd { font-size: 8pt; }
    body.enlist-print #enlist .enlist-id-card dt { font-size: 6pt; }
    body.enlist-print #enlist .enlist-id-card footer { font-size: 5.5pt; }
    body.enlist-print.enlist-print-id #enlist-dossier { display: none !important; }
    body.enlist-print.enlist-print-id #enlist .enlist-id-page { break-before: auto; }
}
