  .form-wrapper { max-width: 900px; padding: 0 24px; position: relative; }
  .employment-form { padding: 36px; }
  .expectations-box p + p { margin-top: 10px; }
  fieldset { border: 0; min-width: 0; }
  .availability-section, .sleepover-section { margin-top: 30px; scroll-margin-top: 88px; }
  .start-date-section { margin-top: 28px; scroll-margin-top: 88px; }
  .start-immediately { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: .86rem; cursor: pointer; margin-bottom: 10px; }
  #start-date-field { max-width: 320px; }
  fieldset legend { font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; color: var(--navy); width: 100%; }
  .required-tag { display: inline-block; vertical-align: middle; margin-left: 8px; font: 500 .7rem var(--font-body); color: var(--teal); background: #eaf4f5; padding: 4px 8px; border-radius: 4px; }
  .section-help { font-size: .84rem; line-height: 1.6; color: #596577; margin: 10px 0 16px; }
  .availability-days { border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; }
  .availability-row { display: grid; grid-template-columns: 130px minmax(0,1fr) 125px; align-items: center; gap: 14px; padding: 13px 16px; background: #f8fafb; }
  .availability-row + .availability-row { border-top: 1px solid var(--gray-200); }
  .availability-row:has(.day-choice input:checked) { background: #eef7f8; }
  input[type=checkbox], input[type=radio] { accent-color: var(--teal); width: 18px; height: 18px; flex-shrink: 0; cursor: pointer; }
  .day-choice, .next-day, .radio-options label, .night-options label { display: flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; font-size: .86rem; }
  .day-choice { font-weight: 600; }
  .day-options .day-choice { min-height: 32px; }
  .all-day-choice { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: .72rem; cursor: pointer; }
  .all-day-choice:has(input:disabled) { color: #788392; }
  .all-day-message { grid-column: 2 / -1; font-size: .86rem; line-height: 1.65; color: var(--teal); }
  .all-day-message span { color: #596577; font-size: .76rem; }
  .hours { display: flex; align-items: center; gap: 10px; min-width: 0; }
  .hours label { display: block; flex: 1; min-width: 0; font-size: .7rem; font-weight: 600; color: #596577; }
  .hours input { width: 100%; min-width: 0; height: 42px; padding: 6px 8px; border: 1px solid #c9d4db; border-radius: 5px; font: .87rem var(--font-body); color: var(--navy); background: white; margin-top: 4px; }
  .hours input:disabled { background: #f0f2f4; color: #7c8795; border-color: #e1e5e9; }
  .time-divider { margin-top: 16px; color: #788392; }
  .next-day { font-size: .72rem; margin-top: 16px; color: #596577; }
  .radio-options { display: flex; gap: 12px; }
  .radio-options label { border: 1px solid #ccd6df; border-radius: 6px; padding: 10px 20px; min-width: 100px; }
  .radio-options label:has(input:checked), .night-options label:has(input:checked) { border-color: var(--teal); background: #eef7f8; }
  .night-label { font-weight: 600; font-size: .84rem; margin: 18px 0 10px; }
  .night-options { display: flex; flex-wrap: wrap; gap: 8px; }
  .night-options label { border: 1px solid #ccd6df; padding: 4px 12px; border-radius: 6px; }
  .availability-notes { margin-top: 26px; }
  .availability-notes textarea { min-height: 90px; }
  .availability-confirm { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid #d5e4e7; border-radius: 6px; background: #f2f7f8; margin: 22px 0 30px; font-size: .85rem; line-height: 1.6; cursor: pointer; }
  .availability-confirm input { margin-top: 3px; }
  .field-error { color: #a82424; font-size: .85rem; margin: 10px 0; }
  [hidden] { display: none !important; }
  @media(max-width: 768px) {
    .form-wrapper { padding: 0 16px; }
    .employment-form { padding: 24px 18px; }
    .availability-row { grid-template-columns: 1fr; gap: 5px; padding: 12px 14px; }
    .availability-row:not(:has(.day-choice input:checked)) .hours, .availability-row:not(:has(.day-choice input:checked)) .next-day, .availability-row:not(:has(.day-choice input:checked)) .all-day-choice { display: none; }
    .all-day-message { grid-column: 1; }
    .all-day-choice, .day-options .day-choice { min-height: 44px; }
    .next-day { margin-top: 0; }
    .hours input { height: 44px; }
    fieldset legend { font-size: 1.15rem; }
    .required-tag { margin-left: 4px; }
  }

@media(max-width:768px){.form-group input,.form-group select,.form-group textarea,.hours input{font-size:16px}}

.night-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}
.night-heading .night-label {margin:0}
.every-night {flex-shrink:0;border:1px solid var(--teal);border-radius:6px;background:white;color:var(--teal);padding:10px 14px;min-height:44px;font:600 .8rem var(--font-body);cursor:pointer}
.every-night:disabled {background:#eef7f8;opacity:1;cursor:default}
.night-options {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.night-options label {display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 2px;min-width:0;min-height:66px;font-size:.76rem}
.night-short {display:none}
@media(max-width:768px){.night-options{gap:4px}.night-full{display:none}.night-short{display:inline}.night-heading{gap:8px}.night-label{font-size:.78rem}.every-night{padding:8px 10px}}
@media(max-width:360px){.hours{flex-direction:column;align-items:stretch;gap:10px}.hours label{width:100%}.time-divider{display:none}}
