/* Screen-only workspace. The assessment document and print rules are unchanged. */
@media screen {
  :root {
    --primary: #194d87;
    --dark: #153d6b;
    --ink: #25364b;
    --muted: #617187;
    --line: #dce4ef;
    --bg: #f4f6fa;
    --soft: #edf3fc;
    --accent: #e8b94f;
    --accent-soft: #fff8e8;
    --accent-dark: #785a20;
    --font: 'Segoe UI', 'Aptos', Arial, sans-serif;
  }
  html { scroll-padding-top: 110px; }
  body { background: var(--bg); color: var(--ink); font-size: 15px; -webkit-font-smoothing: antialiased; }
  button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  button:focus-visible, a:focus-visible, .ssp-table-scroll:focus-visible {
    outline: 3px solid #3476b8; outline-offset: 3px;
  }
  .button {
    min-height: 44px; padding: 11px 18px; gap: 9px; border-radius: 10px;
    font-size: 13px; font-weight: 600; letter-spacing: 0;
    transition: background .15s, border-color .15s, box-shadow .15s;
  }
  .button-icon { width: 18px; height: 18px; flex: 0 0 18px; display: block; }
  .button.primary { background: var(--primary); border-color: var(--primary); box-shadow: 0 2px 3px #143c6612; }
  .button.primary:hover { background: #123d6e; border-color: #123d6e; box-shadow: 0 3px 8px #143c6620; }
  .button.secondary { background: #fff; color: #354d6a; border-color: #d1dce9; }
  .button.secondary:hover { background: #f1f5fb; border-color: #9eb6d1; }
  .button.quiet { color: #526780; }
  .button.quiet:hover { background: #e8eef6; color: var(--primary); }
  .button:disabled { opacity: .45; box-shadow: none; }
  .skip-link { border-radius: 10px; }

  .site-header { border-bottom: 1px solid #dce4ee; background: #fff; box-shadow: 0 2px 10px #233b5d03; }
  .header-inner { max-width: 1464px; min-height: 86px; padding: 17px 32px; gap: 28px; }
  .site-header .brand img { width: 172px; height: auto; display: block; }
  .header-title { padding-left: 27px; border-left: 1px solid #e0e6ee; }
  .header-title strong { font-size: 15px; font-weight: 650; color: #203d60; letter-spacing: -.15px; }
  .header-title span { margin-top: 3px; color: var(--muted); font-size: 12px; }
  .header-actions { gap: 10px; }
  .header-actions .button { font-size: 12px; padding: 11px 15px; }
  .header-actions #saveDraft.has-changes { border-color: #a8bdd7; background: #f1f6fd; }
  #headerReview.active { background: #123d6e; }

  #main { max-width: 1464px; padding: 0 32px; }
  .document-context { padding: 28px 0 30px; gap: 20px; align-items: center; }
  .document-context > div { min-width: 0; }
  .document-context .context-label { display: block; margin: 0 0 6px; font-size: 10px; font-weight: 650; color: #5d6f87; letter-spacing: 1.3px; }
  .document-context strong { font-size: 14px; font-weight: 600; letter-spacing: 0; color: #455a74; }
  .save-status {
    display: inline-flex; align-items: center; flex-shrink: 0; gap: 8px;
    padding: 9px 13px; border-radius: 25px; border: 1px solid #dce4ef;
    background: #fff; color: #5c6d83; font-size: 11px; line-height: 1.5;
  }
  .save-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #98a7ba; flex-shrink: 0; }
  .save-status.unsaved { background: #fff8e9; border-color: #eddcb0; color: #795b20; }
  .save-status.unsaved::before { background: #b88729; }
  .save-status.saved { background: #edf4fd; border-color: #d4e2f4; color: #285b92; }
  .save-status.saved::before { background: #3578bc; }

  .workspace { grid-template-columns: 248px minmax(0, 1fr); gap: 32px; align-items: start; }
  .form-sidebar { position: sticky; top: 110px; max-height: calc(100vh - 126px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c6d2e0 transparent; padding-right: 8px; }
  .section-toggle { display: none; }
  .sidebar-intro { padding: 6px 12px 18px; }
  .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 1.4px; color: #527299; }
  .sidebar-intro h2 { margin: 7px 0; font-size: 19px; font-weight: 650; letter-spacing: -.3px; color: #243c59; }
  .sidebar-intro p { font-size: 12px; line-height: 1.65; margin: 0; color: var(--muted); max-width: none; }
  .form-sidebar .steps { display: flex; flex-direction: column; gap: 5px; }
  .form-sidebar .steps a {
    position: relative; display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
    gap: 11px; min-height: 64px; padding: 11px 12px; text-align: left;
    border: 1px solid transparent; border-radius: 11px; background: transparent;
    transition: background .15s, border-color .15s;
  }
  .form-sidebar .steps a:hover { background: #fff; border-color: #dce4ef; }
  .form-sidebar .steps a.active { background: #e6eefb; border-color: #d4e1f4; }
  .form-sidebar .steps a.active::before { content: ''; position: absolute; width: 3px; height: 21px; left: -1px; top: 50%; transform: translateY(-50%); background: var(--primary); border-radius: 0 3px 3px 0; }
  .form-sidebar .steps a .step-letter { display: grid; place-items: center; width: 35px; height: 36px; border-radius: 9px; border: 1px solid #d8e1ee; background: #fff; color: #5d6f87; font-size: 11px; font-weight: 650; flex-shrink: 0; }
  .form-sidebar .steps a.active .step-letter { background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 2px 5px #194d871a; }
  .form-sidebar .steps a > span:nth-child(2) { min-width: 0; }
  .form-sidebar .steps a strong { font-size: 12px; font-weight: 600; line-height: 1.5; color: #3f536e; max-width: none; }
  .form-sidebar .steps a.active strong { color: #194d87; }
  .form-sidebar .steps a small { font-size: 10px; color: #5d6f87; line-height: 1.5; margin-top: 3px; }
  .form-sidebar .steps a.active small { color: #536984; }
  .form-sidebar .steps a b { display: none; }
  .sidebar-bottom { margin: 21px 7px 4px; padding-top: 18px; border-color: #dce4ef; }
  .sidebar-bottom > p { margin: 13px 4px 4px; color: #627187; font-size: 11px; line-height: 1.8; }
  .sidebar-bottom .new-form { min-height: 42px; margin-top: 5px; padding: 9px 4px; font-size: 12px; color: #596d85; }
  .new-form > span { font-size: 18px; font-weight: 400; }
  .entry-summary { padding: 15px; border: 1px solid #dce5f0; background: #fff; border-radius: 12px; }
  .entry-summary-heading { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: #556a84; }
  .entry-summary-heading strong { font-weight: 650; color: #1c4f85; font-variant-numeric: tabular-nums; }
  .entry-summary progress { display: block; width: 100%; height: 5px; margin: 11px 0 10px; appearance: none; border: 0; border-radius: 5px; overflow: hidden; background: #e8edf5; accent-color: #477db4; }
  .entry-summary progress::-webkit-progress-bar { background: #e8edf5; border-radius: 5px; }
  .entry-summary progress::-webkit-progress-value { background: #477db4; border-radius: 5px; }
  .entry-summary progress::-moz-progress-bar { background: #477db4; border-radius: 5px; }
  .entry-summary p { color: #5d6f87; font-size: 10px; line-height: 1.7; margin: 0; }

  .form-main { padding: 5px 0 0; background: transparent; border: 0; border-radius: 0; }
  .form-toolbar { font-size: 10px; font-weight: 650; letter-spacing: 1px; color: #4d6c94; align-items: center; }
  #sectionCount { background: #e9eef5; padding: 6px 10px; border-radius: 6px; color: #536983; font-size: 10px; white-space: nowrap; letter-spacing: .3px; }
  .form-heading { padding: 15px 0 19px; }
  .form-heading h1 { color: #203b5b; font-size: 28px; font-weight: 650; line-height: 1.35; letter-spacing: -.65px; margin-bottom: 8px; overflow-wrap: anywhere; }
  .form-heading p { font-size: 15px; color: #5d6f87; margin: 0; }
  .form-heading p:empty { display: none; }
  .section-progress { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 5px; margin-bottom: 0; }
  .section-progress span { height: 3px; background: #e1e7f0; border-radius: 4px; }
  .section-progress .filled { background: #7b9ec8; }
  .form-guidance { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 0 21px; }
  .form-guidance p { font-size: 12px; color: #5d6f87; margin: 0; }
  #pageEntryCount { font-size: 11px; color: #566e8a; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .draft-notice { padding: 16px 18px; margin-bottom: 22px; gap: 16px; background: #fff8e8; border: 1px solid #eddcb0; border-radius: 12px; }
  .draft-notice p { font-size: 12px; color: #775d2b; }
  .draft-notice .button { font-size: 11px; min-height: 40px; padding: 9px 13px; border-color: #dfc997; background: #fffcf5; }
  .d-pages, .d-pages.observation-pages { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
  .d-pages a { flex: 1 0 84px; min-width: 0; min-height: 44px; padding: 12px 10px; text-align: center; background: #fff; border: 1px solid #dce4ef; border-radius: 10px; color: #526a87; line-height: 1.4; }
  .d-pages a span { display: block; font-size: 12px; font-weight: 600; margin: 0; color: inherit; }
  .d-pages a:hover { background: #f9fbfe; border-color: #9ab5d5; }
  .d-pages a.active { background: #194d87; border-color: #194d87; color: #fff; box-shadow: 0 3px 7px #194d8715; }

  .form-main .form-card { padding: 27px; margin-bottom: 22px; border: 1px solid #dce4ef; border-radius: 15px; background: #fff; box-shadow: 0 2px 4px #233b5d03; }
  .form-main .field-grid, .form-main .development-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .form-main .field { min-width: 0; }
  .form-main .field > label { margin-bottom: 9px; }
  .form-main .field .label-en { font-size: 13px; font-weight: 600; line-height: 1.6; color: #334c6a; }
  .form-main .field .label-ms { font-size: 12px; font-weight: 400; line-height: 1.6; margin-top: 3px; color: #5d6f87; }
  .form-main .field input:not([type='radio']):not([type='checkbox']),
  .form-main .field select, .form-main .field textarea {
    min-height: 48px; padding: 11px 13px; border: 1px solid #cbd7e6; border-radius: 8px;
    background: #fcfdff; color: #273f5e; font-size: 15px; line-height: 1.65;
    transition: border-color .15s, box-shadow .15s, background .15s;
  }
  .form-main .field input:not([type='radio']):not([type='checkbox']):hover,
  .form-main .field select:hover, .form-main .field textarea:hover { border-color: #98b0cf; }
  .form-main .field input:focus, .form-main .field select:focus, .form-main .field textarea:focus { background: #fff; border-color: #3b73ad !important; box-shadow: 0 0 0 3px #3476b817; }
  .form-main .field textarea { min-height: 128px; resize: vertical; }
  .form-main .field.gender-field select { border-radius: 8px; font-size: 15px; color: #273f5e; padding-right: 30px; }
  .form-main .stacked-fields { gap: 25px; }
  .form-main .card-title { align-items: flex-start; gap: 12px; margin-bottom: 25px; }
  .form-main .card-title h2 { color: #294766; font-size: 15px; line-height: 1.5; font-weight: 650; margin: 3px 0 5px; }
  .form-main .card-title p { font-size: 12px; line-height: 1.7; color: #5d6f87; margin: 0; }
  .question-number { min-width: 31px; height: 32px; font-size: 12px; border-radius: 9px; background: #edf3fb; color: #416b99; }
  .question-header { margin-bottom: 21px; }
  .small-page-tag { font-size: 11px; color: #5d6f87; }
  .field-gap { margin-top: 27px; }
  .continuation-note { font-size: 12px; margin-bottom: 23px; color: #5d6f87; border-color: #e3e9f2; }
  .form-main .radio-options { gap: 10px; }
  .form-main .radio-card { min-width: 116px; min-height: 54px; padding: 12px 17px; border-color: #cbd7e6; background: #fcfdff; border-radius: 9px; }
  .form-main .radio-card strong { font-size: 13px; color: #334f70; }
  .form-main .radio-card small { font-size: 11px; color: #5d6f87; }
  .form-main .radio-card:has(input:checked) { background: #edf4fe; border-color: #5f88b8; box-shadow: 0 0 0 1px #5f88b814; }
  .form-main .radio-card:focus-within { outline: 2px solid #3476b8; outline-offset: 2px; }
  .form-main .radio-card input { accent-color: #194d87; width: 18px; height: 18px; }
  .clear-choice { font-size: 11px; color: #5d6f87; min-height: 36px; padding: 8px 3px; text-underline-offset: 3px; }
  .clear-choice:hover { color: #194d87; }

  .form-main .a-layout { grid-template-columns: minmax(0, 1.9fr) minmax(260px, 1fr); gap: 22px; align-items: start; }
  .form-main .a-layout .form-card { padding: 24px; }
  .form-main .a-layout .field textarea { min-height: 96px; }
  .form-main .assessment-card { background: #edf4fd; border-color: #d2e1f4; }
  .form-main .checklist-card { background: #fffaf0; border-color: #eadbb7; }
  .checklist-title { margin-bottom: 22px; }
  .checklist-title strong { color: #69542a; font-size: 17px; font-weight: 650; }
  .checklist-title > span { color: #79694c; font-size: 12px; margin-top: 4px; }
  .form-main .checklist-items { gap: 17px; }
  .form-main .checklist-item { padding: 2px 0; gap: 10px; }
  .form-main .checklist-item > input { width: 18px; height: 18px; flex-basis: 18px; margin-top: 3px; accent-color: #194d87; }
  .form-main .checklist-item .label-en { font-size: 12px; color: #5c533f; line-height: 1.65; font-weight: 500; }
  .form-main .checklist-item .label-ms { font-size: 11px; color: #786c53; margin-top: 3px; line-height: 1.6; }
  .form-main .reviewer-fields { display: flex; flex-direction: column; gap: 18px; padding: 21px 0 0; margin-top: 22px; border: 0; border-top: 1px solid #e8daba; }
  .form-main .reviewer-fields .field .label-en { font-size: 12px; }
  .form-main .parent-card { padding: 0; border: 0; background: transparent; box-shadow: none; }
  .parent-category-label { margin-bottom: 17px; padding-left: 2px; }
  .parent-category-label .label-en { font-size: 12px; color: #5d6f87; }
  .parent-category-label .label-ms { font-size: 11px; color: #5d6f87; }
  .parent-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
  .form-main .parent-person { padding: 22px 20px 25px; border: 1px solid #dce4ef; border-radius: 14px; background: #fff; box-shadow: 0 2px 4px #233b5d03; }
  .parent-person legend { padding: 0 9px; }
  .parent-person legend strong { font-size: 13px; color: #235284; letter-spacing: .5px; }
  .parent-person legend span { font-size: 11px; color: #5d6f87; }
  .form-main .parent-person .stacked-fields { gap: 22px; }
  .form-main .parent-person .field .label-en { font-size: 11px; }
  .form-main .parent-person .field .label-ms { font-size: 11px; }
  .form-main .family-card { padding: 30px; }
  .form-main .family-diagram { color: #365b85; }
  .form-main .family-entry { background: #fff; gap: 20px; }
  .form-main .family-entry .field { display: block; }
  .form-main .family-entry .field label { display: block; margin-bottom: 9px; }
  .form-main .family-field-row { padding: 6px 30px 32px; gap: 70px; }
  .family-members-notes { margin-top: 24px; padding-top: 24px; border-color: #e0e7f0; }

  .form-main .score-guide { border: 1px solid #eadbb7; background: #fff8e8; color: #725728; border-radius: 12px; padding: 18px 20px; gap: 14px; font-size: 11px; }
  .form-main .score-guide small { color: #7d6946; font-size: 10px; }
  .form-main .adl-section-title { margin-bottom: 20px; padding: 17px; border: 1px solid #d4e1f3; border-radius: 12px; background: #eaf2fd; }
  .form-main .adl-section-title .label-en { font-size: 16px; color: #2a507e; }
  .form-main .adl-section-title .label-ms { font-size: 12px; color: #526e90; }
  .form-main .adl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
  .form-main .adl-card { border-color: #d7e2ee; border-radius: 12px; }
  .form-main .adl-card > h3 { background: #f0f5fc; padding: 17px 12px; min-height: 78px; border-color: #dce5f1; }
  .form-main .adl-card > h3 .label-en { color: #2c527e; font-size: 14px; }
  .form-main .adl-card > h3 .label-ms { font-size: 11px; color: #526e90; }
  .form-main .adl-item { padding: 15px; }
  .form-main .adl-card-split .adl-item { padding: 12px 9px; }
  .form-main .adl-item > h4 .label-en { font-size: 12px; }
  .form-main .adl-item > h4 .label-ms { font-size: 11px; }
  .form-main .adl-score-options label { min-height: 43px; border-radius: 7px; font-size: 14px; }
  .form-main .adl-score-options > strong { font-size: 11px; color: #556d89; }
  .form-main .adl-score .clear-choice { font-size: 10px; min-height: 32px; }
  .form-main .adl-item .field textarea { font-size: 14px; padding: 10px; }
  .form-main .situation-card { grid-template-columns: 95px 140px minmax(0, 1fr); gap: 20px; }
  .form-main .situation-number strong { font-size: 12px; color: #507198; }
  .form-main .situation-activity > strong { font-size: 15px; color: #2b4b71; }
  .form-main .situation-number small, .form-main .situation-activity > small { font-size: 12px; color: #5d6f87; }
  .form-main .situation-fields { gap: 22px; }
  .form-main .situation-fields textarea { min-height: 112px; }
  .form-main .tantrum-question { font-size: 13px; line-height: 1.7; color: #455e7e; }
  .form-main .development-group-title { border-color: #e3eaf3; padding-bottom: 16px; margin-bottom: 23px; }
  .form-main .development-group-title .label-en { color: #2b507e; font-size: 16px; font-weight: 600; }
  .form-main .development-group-title .label-ms { color: #5d6f87; font-size: 12px; }
  .form-main .development-fields textarea { min-height: 118px; }
  .form-main .sensory-kicker { font-size: 11px; padding: 5px 10px; border-radius: 6px; background: #e6eef9; color: #526e90; }
  .form-main .denver-title { font-size: 19px; color: #2a4d78; }
  .form-main .denver-introduction, .form-main .denver-explanation { font-size: 13px; line-height: 1.9; color: #556d8b; }
  .form-main .denver-table th, .form-main .denver-table td { padding: 16px; border-color: #d7e2ef; }
  .form-main .denver-table thead th { background: #eaf2fc; color: #335a8a; }
  .form-main .denver-table tbody th { background: #f5f8fd; color: #41658e; font-size: 12px; }
  .form-main .denver-table .field textarea { min-height: 100px; }
  .form-main .behaviour-fields { gap: 24px; }
  .form-main .ssp-introduction { font-size: 13px; line-height: 1.8; color: #5d6f87; }
  .form-main .table-help { margin: 17px 0 12px; padding: 11px 14px; background: #f2f6fc; border-left: 3px solid #dcb457; border-radius: 0 7px 7px 0; color: #586f8c; font-size: 12px; line-height: 1.8; }
  .form-main .ssp-table-scroll { border: 1px solid #d5e1ef; border-radius: 10px; }
  .form-main .profile-table { min-width: 820px; border-collapse: separate; border-spacing: 0; }
  .form-main .profile-table th, .form-main .profile-table td { border: 0; border-right: 1px solid #d3dfef; border-bottom: 1px solid #d3dfef; padding: 10px 6px; }
  .form-main .profile-table tr > :last-child { border-right: 0; }
  .form-main .profile-table tbody:last-child tr:last-child > * { border-bottom: 0; }
  .form-main .profile-table .profile-comparison-band th { background: #e6effb; color: #315d8f; padding: 11px 6px; font-size: 11px; }
  .form-main .profile-table thead th { background: #f1f6fd; color: #365d8c; padding: 16px 6px; font-size: 11px; line-height: 1.6; }
  .form-main .profile-table .profile-group { background: #e6effb; color: #3c6796; padding: 9px 3px; }
  .form-main .profile-table .profile-row-heading { position: sticky; left: 0; z-index: 1; background: #f7faff; color: #35577e; box-shadow: 1px 0 #d3dfef; padding: 12px 34px 12px 13px; font-size: 12px; }
  .form-main .profile-table .profile-group-start > th, .form-main .profile-table .profile-group-start > td { border-top: 1px solid #bbcee6; }
  .form-main .profile-table .profile-rating-cell { padding: 4px; }
  .form-main .profile-rating { min-height: 50px; }
  .form-main .profile-rating input { width: 19px; height: 19px; }
  .form-main .profile-rating:focus-within { outline: 2px solid #3476b8; outline-offset: -2px; }
  .form-main .profile-clear { font-size: 18px; min-height: 38px; }
  .form-main .ssp-score input { width: 54px; min-height: 44px; padding: 7px 4px; border-color: #bdcfe4; background: #fff; border-radius: 7px; }
  .form-main .profile-table .ssp-score { font-size: 12px; gap: 4px; }
  .form-main .profile-table .ssp-score input { width: 43px; min-height: 41px; }
  .form-main .ssp-detail-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; font-size: 16px; color: #31567f; margin-bottom: 20px; }
  .form-main .ssp-detail-heading > span[aria-hidden] { display: none; }
  .form-main .ssp-detail-heading .ssp-score { padding: 6px 10px; background: #edf4fd; border-radius: 10px; }
  .form-main .ssp-detail-card textarea { min-height: 188px; }
  .form-main .ssp-interpretations-card textarea { min-height: 220px; }
  .form-main .overall-card textarea { min-height: 360px; }
  .form-main .plan-goals textarea { min-height: 220px; }
  .form-main .therapist-fields { border-top: 1px solid #e2e8f1; padding-top: 25px; margin-top: 28px; }

  .form-bottom { position: sticky; bottom: 14px; z-index: 4; flex-wrap: nowrap; margin: 26px 0 0; padding: 15px 18px; gap: 12px; background: #fff; border: 1px solid #dce4ef; border-radius: 13px; box-shadow: 0 5px 20px #233b5d0b; }
  .form-bottom .button { min-height: 44px; padding: 10px 18px; font-size: 12px; }
  .form-bottom #nextStep { margin-left: 0; }
  .form-assessment-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-left: auto; }
  .screen-position { order: 0; width: auto; text-align: center; margin: 0; font-size: 11px; color: #5d6f87; }
  .site-footer { max-width: 1400px; margin: 47px auto 0; padding: 25px 0; color: #5d6f87; border-color: #dce4ef; font-size: 11px; line-height: 1.7; }
  .site-footer { align-items: center; flex-wrap: wrap; gap: 14px; }
  .site-footer #downloadPdf { min-height: 40px; font-size: 12px; }

  .review-toolbar { max-width: 210mm; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 27px; margin: 0 auto 28px; border: 1px solid #dce4ef; border-radius: 15px; background: #fff; }
  .review-toolbar h1 { font-size: 29px; font-weight: 650; color: #203e62; margin: 9px 0 10px; letter-spacing: -.5px; }
  .review-toolbar p { margin: 0; max-width: 590px; font-size: 13px; color: #5d6f87; line-height: 1.8; }
  .review-actions { gap: 10px; }
  .review-actions .button { font-size: 12px; }
  .review-view { padding-bottom: 12px; }
  dialog { border: 1px solid #dce4ef; border-radius: 18px; padding: 30px; color: #2f4766; box-shadow: 0 20px 65px #1b365333; }
  dialog::backdrop { background: #152f5059; }
  dialog h2 { font-size: 23px; font-weight: 650; color: #264a75; line-height: 1.45; }
  dialog p { font-size: 14px; line-height: 1.8; color: #5e728d; }
  .dialog-actions { gap: 9px; margin-top: 25px; }
  .toast { bottom: 25px; border-radius: 12px; padding: 15px 22px; background: #203f65; box-shadow: 0 7px 24px #132f4d21; font-size: 13px; }
}

@media screen and (max-width: 1320px) {
  .workspace { grid-template-columns: 230px minmax(0, 1fr); gap: 26px; }
  .form-main .a-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .form-main .checklist-card { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px 28px; }
  .checklist-title { grid-column: 1 / -1; margin-bottom: 0; }
  .form-main .checklist-items { grid-column: 1; }
  .form-main .reviewer-fields { grid-column: 2; grid-row: 2; margin: 0; padding: 0 0 0 24px; border: 0; border-left: 1px solid #e8daba; }
  .parent-cards { grid-template-columns: minmax(0, 1fr); }
  .form-main .parent-person .stacked-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .form-main .parent-person .field .label-en { font-size: 13px; }
  .form-main .parent-person .field .label-ms { font-size: 12px; }
  .form-main .adl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-main .situation-card { grid-template-columns: 100px minmax(0, 1fr); gap: 18px; }
  .form-main .situation-fields { grid-column: 1 / -1; }
  .site-footer { margin-left: 32px; margin-right: 32px; }
}

@media screen and (max-width: 1020px) {
  .header-inner { min-height: 80px; padding: 16px 24px; gap: 20px; }
  .site-header .brand img { width: 152px; }
  .header-title { padding-left: 20px; display: block; }
  .header-title strong { font-size: 13px; }
  .header-title span { font-size: 11px; }
  .header-actions .button { padding: 10px 12px; font-size: 11px; }
  .header-actions .button-icon { display: none; }
  #main { padding: 0 24px; }
  .document-context { padding: 23px 0; }
  .document-context strong { font-size: 13px; }
  .workspace { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .form-sidebar { position: static; padding: 0; max-height: none; overflow: visible; }
  .sidebar-intro { display: none; }
  .section-toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; background: #fff; color: #31567f; border: 1px solid #d4e0ee; border-radius: 11px; text-align: left; }
  .section-toggle small { display: block; font-size: 9px; font-weight: 650; letter-spacing: 1.1px; color: #5d6f87; margin-bottom: 4px; }
  .section-toggle strong { font-size: 13px; font-weight: 600; }
  .section-toggle > svg { flex-shrink: 0; }
  .form-sidebar.is-open .section-toggle > svg { transform: rotate(180deg); }
  .form-sidebar:not(.is-open) .steps, .form-sidebar:not(.is-open) .sidebar-bottom { display: none; }
  .form-sidebar .steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px 0 0; }
  .form-sidebar .steps a { grid-column: auto; min-height: 67px; background: #fff; border-color: #e0e7f0; padding: 12px; }
  .form-sidebar .steps a strong { font-size: 12px; }
  .sidebar-bottom { padding-top: 14px; margin: 14px 2px 0; }
  .entry-summary { max-width: 430px; }
  .sidebar-bottom > p { margin-left: 0; }
  .form-main { padding-top: 2px; }
  .form-main .a-layout { grid-template-columns: minmax(0, 1fr); }
  .form-heading h1 { font-size: 27px; }
  .form-main .form-card { padding: 26px; }
  .form-main .parent-card { padding: 0; }
  .form-main .adl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .form-bottom { bottom: 12px; }
  .site-footer { margin-left: 24px; margin-right: 24px; }
}

@media screen and (max-width: 760px) {
  html { scroll-padding-top: 144px; }
  .header-inner { padding: 14px 18px; gap: 14px; flex-wrap: wrap; min-height: 0; }
  .site-header .brand img { width: 142px; }
  .header-title { border: 0; margin-left: auto; padding: 0; text-align: right; }
  .header-title strong { font-size: 11px; font-weight: 600; }
  .header-title span { font-size: 10px; margin-top: 2px; }
  .header-actions { display: flex; flex-basis: 100%; gap: 8px; margin: 0; width: 100%; }
  .header-actions .button { flex: 1; min-height: 42px; padding: 9px 8px; font-size: 11px; white-space: nowrap; }
  .header-actions .button-icon { display: block; width: 16px; height: 16px; flex-basis: 16px; }
  .header-actions #resumeDraft { flex: .8; }
  .header-actions #resumeDraft[hidden] + #saveDraft { grid-column: auto; }
  #main { padding: 0 18px; }
  .document-context { flex-direction: column; align-items: flex-start; padding: 22px 0; gap: 13px; }
  .document-context .context-label { font-size: 9px; margin-bottom: 5px; }
  .document-context strong { font-size: 12px; line-height: 1.6; }
  .save-status { flex-shrink: 1; font-size: 10px; padding: 7px 11px; max-width: 100%; text-align: left; }
  .workspace { gap: 23px; }
  .section-toggle { padding: 13px 16px; }
  .form-toolbar { font-size: 9px; letter-spacing: .7px; gap: 10px; }
  #sectionCount { font-size: 9px; padding: 5px 7px; }
  .form-heading { padding: 15px 0 17px; }
  .form-heading h1 { font-size: 23px; letter-spacing: -.5px; line-height: 1.4; margin-bottom: 6px; }
  .form-heading p { font-size: 14px; }
  .form-guidance { padding: 13px 0 20px; gap: 10px; }
  .form-guidance p { font-size: 11px; }
  #pageEntryCount { font-size: 10px; }
  .draft-notice { padding: 14px; gap: 12px; }
  .draft-notice p { font-size: 11px; }
  .d-pages, .d-pages.observation-pages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 20px; }
  .d-pages a { min-height: 44px; padding: 13px 8px; }
  .d-pages a span { font-size: 11px; margin: 0; }
  .form-main .form-card, .form-main .a-layout .form-card { padding: 21px 18px; margin-bottom: 18px; border-radius: 12px; }
  .form-main .field-grid, .form-main .development-fields { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .form-main .field .label-en { font-size: 13px; }
  .form-main .field .label-ms { font-size: 12px; }
  .form-main .field input:not([type='radio']):not([type='checkbox']),
  .form-main .field select, .form-main .field textarea, .form-main .parent-person input { font-size: 16px !important; min-height: 48px; }
  .form-main .field textarea { min-height: 124px; }
  .form-main .checklist-card { display: block; }
  .checklist-title { margin-bottom: 22px; }
  .form-main .checklist-items { display: flex; flex-direction: column; gap: 17px; }
  .form-main .checklist-item .label-en { font-size: 12px; }
  .form-main .checklist-item .label-ms { font-size: 11px; }
  .form-main .reviewer-fields { margin-top: 24px; padding: 22px 0 0; border: 0; border-top: 1px solid #e8daba; }
  .form-main .parent-card { padding: 0; border: 0; box-shadow: none; }
  .form-main .parent-person { padding: 20px 18px 24px; }
  .form-main .parent-person .stacked-fields { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .form-main .family-card { padding: 24px 15px; }
  .form-main .family-field-row { padding: 6px 0 27px; gap: 26px; }
  .form-main .family-entry .field .label-en { font-size: 12px; }
  .form-main .family-entry .field .label-ms { font-size: 11px; }
  .form-main .family-symbol-row svg { width: 60px; height: 72px; }
  .form-main .score-guide { grid-template-columns: minmax(0, 1fr); padding: 17px; gap: 13px; font-size: 11px; }
  .form-main .score-guide > strong { grid-column: auto; }
  .form-main .adl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .form-main .adl-item { padding: 12px; }
  .form-main .adl-card-split { grid-column: 1 / -1; }
  .form-main .adl-card-split .adl-item { padding: 14px; }
  .form-main .adl-item .field textarea { padding: 10px; font-size: 16px; min-height: 116px; }
  .form-main .situation-card { grid-template-columns: 82px minmax(0, 1fr); gap: 17px 12px; }
  .form-main .situation-fields { grid-column: 1 / -1; }
  .form-main .situation-activity > strong { font-size: 14px; }
  .form-main .development-group-title .label-en { font-size: 15px; }
  .form-main .denver-table th, .form-main .denver-table td { padding: 10px; }
  .form-main .denver-table tbody th { font-size: 11px; overflow-wrap: anywhere; }
  .form-main .denver-table th:first-child { width: 30%; }
  .form-main .denver-table .field textarea { font-size: 16px; min-height: 115px; padding: 10px; }
  .form-main .ssp-summary-card { padding: 20px 13px; }
  .form-main .ssp-detail-heading { font-size: 14px; gap: 10px; }
  .form-main .ssp-detail-heading .ssp-score { padding: 5px 7px; gap: 4px; font-size: 12px; }
  .form-main .ssp-score input { width: 45px; font-size: 16px; }
  .form-main .profile-table .ssp-score input { font-size: 16px; }
  .form-main .ssp-detail-card textarea { min-height: 170px; }
  .form-main .overall-card textarea { min-height: 300px; }
  .form-main .plan-goals textarea { min-height: 200px; }
  .form-bottom { bottom: 9px; margin-top: 21px; padding: 12px; gap: 9px; flex-wrap: wrap; border-radius: 11px; }
  .form-bottom .button { min-height: 44px; padding: 10px 14px; font-size: 12px; }
  .form-bottom #nextStep { margin-left: auto; }
  .form-assessment-actions { width: 100%; }
  .form-assessment-actions .button { flex: 1; padding-left: 9px; padding-right: 9px; }
  .screen-position { order: 3; width: 100%; font-size: 10px; padding-top: 2px; }
  .site-footer { margin: 32px 18px 0; padding: 22px 0; flex-direction: column; gap: 5px; font-size: 10px; }
  .site-footer #downloadPdf { margin-top: 12px; width: 100%; }
  .review-toolbar { padding: 23px 20px; border-radius: 12px; gap: 21px; }
  .review-toolbar h1 { font-size: 26px; }
  .review-toolbar p { font-size: 12px; }
  .review-actions { width: 100%; flex-direction: column; gap: 8px; }
  .review-actions .button { min-height: 46px; width: 100%; font-size: 12px; }
  dialog { padding: 25px; border-radius: 15px; }
  dialog h2 { font-size: 21px; }
  dialog p { font-size: 13px; }
  .toast { font-size: 12px; width: calc(100vw - 36px); max-width: 480px; text-align: center; bottom: 22px; padding: 14px 18px; }
}

@media screen and (max-width: 420px) {
  .header-title strong { font-size: 10px; }
  .header-title span { font-size: 9px; }
  .site-header .brand img { width: 132px; }
  .header-actions .button { font-size: 10px; gap: 6px; }
  .header-actions #resumeDraft { font-size: 10px; }
  .form-sidebar .steps { grid-template-columns: minmax(0, 1fr); }
  .form-toolbar { align-items: flex-start; }
  #sectionLocation { max-width: 63%; }
  .form-heading h1 { font-size: 21px; }
  .form-guidance { flex-wrap: wrap; gap: 6px 12px; }
  .form-guidance p { flex-basis: 100%; }
  .d-pages, .d-pages.observation-pages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .form-main .adl-grid { grid-template-columns: minmax(0, 1fr); }
  .form-main .adl-card-split { grid-column: auto; }
  .form-main .ssp-detail-heading { font-size: 13px; }
  .dialog-actions .button { padding: 10px 13px; font-size: 12px; }
}

@media screen and (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
