/* The practitioner tool (programme Pro, F4): the client's page and the cabinet.
   Served under the child policy on /practitioners/respond/ (style-src 'self'),
   so nothing here relies on inline style. */
.respond-page, .practitioner-page { max-width: 760px; }
.respond-question { margin: 0 0 1rem; padding: 0; border: 0; }
.respond-question legend { font-size: 1.15rem; font-weight: 700; line-height: 1.4; margin-block-end: .75rem; padding: 0; }
.respond-question legend:focus { outline: none; }
.respond-choice { display: flex; align-items: center; gap: .75rem; min-height: 48px; margin-block: .4rem; padding: .55rem .9rem; border: 2px solid var(--line); border-radius: 14px; background: white; cursor: pointer; }
.respond-choice:has(input:checked) { border-color: var(--ink); background: #f3f7ee; }
.respond-choice input { inline-size: 1.25rem; block-size: 1.25rem; margin: 0; flex: none; accent-color: var(--ink); }
.respond-choice:focus-within { outline: 3px solid var(--ink); outline-offset: 2px; }
.respond-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.respond-progress { color: var(--muted); margin-block-end: .5rem; }
.respond-link { inline-size: 100%; box-sizing: border-box; font: inherit; font-size: .95rem; padding: .7rem; border: 2px solid var(--ink); border-radius: 12px; background: white; overflow-wrap: anywhere; resize: vertical; }
.respond-support { margin-block: 1rem; }
.respond-support h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.respond-support ul { margin: 0 0 .5rem; padding-inline-start: 1.2rem; }
.respond-support p { margin: 0; }
.crisis-footer { margin-block-start: 2rem; padding-block-start: 1rem; border-block-start: 1px solid var(--line); font-size: .95rem; }
.respond-message { font-size: 1.1rem; }
.practice-gate, .practice-paste, .practice-files { margin-block: 1.5rem; }
.practice-paste textarea, .practice-files input[type="password"], .practice-clients input[type="text"], .practice-cabinet input[type="text"] { font: inherit; padding: .55rem .7rem; border: 2px solid var(--line); border-radius: 10px; background: white; max-inline-size: 100%; box-sizing: border-box; }
.practice-paste textarea { inline-size: 100%; }
.practice-clients, .practice-records { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.practice-client { padding: 1rem; border: 2px solid var(--line); border-radius: 16px; background: white; }
.practice-client h3 { margin-block: 0 .5rem; overflow-wrap: anywhere; }
.practice-record { padding-block: .75rem; border-block-start: 1px solid var(--line); }
.practice-total { font-weight: 800; margin-block: .25rem; }
.practice-item9 { font-weight: 700; }
.practice-unverified { color: #8a2c16; font-weight: 800; }
.practice-items { margin: .25rem 0 .5rem; padding-inline-start: 1.4rem; font-size: .92rem; }
.practice-scales { border-collapse: collapse; inline-size: 100%; font-size: .92rem; }
.practice-scales th, .practice-scales td { text-align: start; vertical-align: top; padding: .5rem; border-block-end: 1px solid var(--line); }
.practice-cabinet select { font: inherit; min-height: 44px; max-inline-size: 100%; }
.check-line { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.respond-page h1 { font-size: clamp(1.4rem, 6vw, 2.1rem); line-height: 1.15; margin-block: .25rem .75rem; }
.practice-storage p { margin-block: 0 .6rem; }
.respond h2 { font-size: clamp(1.15rem, 5vw, 1.5rem); line-height: 1.2; margin-block: .25rem .5rem; }
