.induction-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, 1fr); gap: 20px; align-items: start; }
.induction-form { display: grid; gap: 28px; }
.induction-form fieldset { min-width: 0; border: 0; border-bottom: 1px solid #aaa995; padding: 0 0 26px; margin: 0; }
.induction-form legend { font: bold 17px/1.5 'Courier New', monospace; margin-bottom: 16px; padding: 0; }
.induction-form legend > span { display: inline-block; background: #283426; color: #e1eac7; padding: 3px 7px; margin-right: 8px; font-size: 13px; }
.induction-form label[for] { display: block; font-weight: bold; margin-bottom: 7px; }
.induction-form input[type="text"] { display: block; width: 100%; min-height: 46px; border: 1px solid #7e846f; border-radius: 0; padding: 10px 12px; background: #faf9ed; color: #252d23; font: 16px/1.5 'Courier New', monospace; }
.form-note { font: 12px/1.65 'Courier New', monospace; margin: 10px 0 0; }
.tie-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }
.induction-form .tie-option { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 16px 9px 13px; border: 1px solid #a5a78e; background: #e4e3d2; text-align: center; cursor: pointer; }
.tie-option:has(input:checked) { background: #d4dda9; border-color: #35462a; outline: 1px solid #35462a; }
.induction-form .tie-option input { min-height: 0; padding: 0; position: absolute; top: 9px; left: 9px; margin: 0; width: 18px; height: 18px; accent-color: #354c28; }
.tie-option b { font: bold 12px/1.4 'Courier New', monospace; }
.tie-option small { font: 9px/1.4 'Courier New', monospace; margin-top: auto; }
.tie-swatch, .pass-tie { clip-path: polygon(27% 0, 73% 0, 62% 20%, 85% 83%, 50% 100%, 15% 83%, 38% 20%); background: #667d3d; width: 36px; height: 72px; flex-shrink: 0; }
.tie-diagonal { background: repeating-linear-gradient(35deg, #314530 0, #314530 8px, #b6c289 8px, #b6c289 13px); }
.tie-plain { background: #444a43; }
.instruction-note { padding: 16px; border: 1px dashed #777f62; background: #e1e2ce; }
.instruction-note b { font: bold 11px 'Courier New', monospace; letter-spacing: .8px; }
.instruction-note p { margin: 9px 0 0; }
.induction-form .acknowledgement { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; cursor: pointer; font-size: 14px; }
.induction-form .acknowledgement input { min-height: 0; padding: 0; width: 20px; height: 20px; flex-shrink: 0; margin: 2px 0 0; accent-color: #354c28; }
.stamp-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.stamp-controls .form-note { max-width: 160px; margin: 0; }
.induction-aside h2 { font: bold 21px/1.25 Georgia, serif; }
.induction-aside ol { padding-left: 20px; }
.induction-aside li { margin-bottom: 15px; padding-left: 3px; }
.fern-memo { border: 1px solid #91977b; margin: 24px 0; padding: 18px; background: #dcdfc8; }
.fern-memo > span { display: block; color: #586b3c; font: 40px/1 Georgia, serif; }
.fern-memo small { font: 10px/1.5 'Courier New', monospace; }
.pass-result { padding-top: 34px; margin-top: 30px; border-top: 1px solid #59604d; }
.pass-result[hidden] { display: none; }
.pass-result h2 { font-size: 25px; }
.observer-pass { position: relative; max-width: 610px; padding: 25px; color: #293124; background: #f0efdc; border: 1px solid #b8bba1; box-shadow: 5px 5px #080e0780; font: 14px/1.5 'Courier New', monospace; }
.observer-pass > header { display: flex; justify-content: space-between; gap: 15px; align-items: center; border-bottom: 2px solid #35432b; padding-bottom: 15px; }
.observer-pass > header b { font: 900 34px/.9 Arial, sans-serif; letter-spacing: -1px; }
.observer-pass > header span { text-align: right; font-size: 10px; }
.pass-category { background: #34452c; color: #e8ecd6; padding: 8px 10px; font-weight: bold; font-size: 18px; letter-spacing: 1px; }
.pass-identity { display: flex; gap: 20px; align-items: center; }
.pass-identity > div:last-child { min-width: 0; }
.pass-identity small { font-size: 10px; }
.pass-identity strong { display: block; font: bold 27px/1.3 'Courier New', monospace; overflow-wrap: anywhere; }
.pass-identity p { margin: 6px 0 0; font-size: 11px; }
.observer-pass dl { display: grid; grid-template-columns: 100px minmax(0, 1fr); margin: 23px 0 20px; font-size: 12px; gap: 5px; }
.observer-pass dd { margin: 0; }
.pass-stamp { display: table; margin: 20px 0 23px auto; transform: rotate(-6deg); border: 3px double #8b493c; color: #8b493c; padding: 5px 15px; text-align: center; font: bold 17px/1.25 'Courier New', monospace; }
.observer-pass > footer { border-top: 1px solid #90967d; padding-top: 13px; }
.observer-pass > footer b { display: block; font-size: 12px; }
.observer-pass > footer span { display: block; font-size: 9px; margin-top: 8px; }
.pass-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
@media (max-width: 720px) {
  .induction-layout { grid-template-columns: minmax(0, 1fr); }
  .induction-form .tie-option { padding: 16px 6px 12px; }
  .tie-option b { font-size: 11px; }
  .tie-option small { font-size: 8px; }
  .tie-swatch { margin-top: 14px; }
  .observer-pass { padding: 18px; }
  .pass-category { font-size: 15px; letter-spacing: 0; }
  .pass-identity { gap: 13px; }
  .pass-identity strong { font-size: 23px; }
  .observer-pass > header b { font-size: 27px; }
  .observer-pass > header span { font-size: 9px; }
  .observer-pass dl { grid-template-columns: 85px minmax(0, 1fr); font-size: 11px; }
}
@media print {
  @page { size: A4; margin: 18mm; }
  html, body.bureau-page { background: white !important; color: black; }
  .bureau-shell { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: white !important; }
  .bureau-shell > header, .bureau-shell > footer, main > .desk-heading, main > noscript, .induction-layout, .pass-result > :not(.observer-pass) { display: none !important; }
  .bureau-shell main, .pass-result { padding: 0 !important; margin: 0 !important; border: 0 !important; }
  .observer-pass { width: 150mm; max-width: 100%; box-shadow: none; break-inside: avoid; background: white; border: 1px solid black; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

@media screen and (max-width: 420px) {
  .tie-options { grid-template-columns: minmax(0, 1fr); }
  .induction-form .tie-option { display: grid; grid-template-columns: 18px 30px minmax(0, 1fr); gap: 3px 14px; align-items: center; padding: 12px; text-align: left; }
  .induction-form .tie-option input { position: static; grid-column: 1; grid-row: 1 / 3; }
  .tie-option .tie-swatch { grid-column: 2; grid-row: 1 / 3; width: 26px; height: 48px; margin: 0; }
  .tie-option b { grid-column: 3; grid-row: 1; align-self: end; font-size: 12px; }
  .tie-option small { grid-column: 3; grid-row: 2; align-self: start; margin: 0; font-size: 9px; }
}
