.test-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }.test-hub-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-height: 190px; padding: 22px; background: var(--panel); border: 1px solid var(--border); border-radius: 15px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.test-hub-card h3 { margin: 0; font: 600 20px var(--display); }.test-hub-card p { margin: 0; color: var(--body); font-size: 14px; line-height: 1.5; }.test-hub-card .test-button { width: auto; margin: auto 0 0; }.test-hub-card.locked { background: #fafbfc; border-style: dashed; }.generic-likert { display: grid; grid-template-columns: repeat(var(--option-count), minmax(72px, 1fr)); gap: 7px; }.generic-likert label { position: relative; min-height: 44px; display: grid; place-items: center; padding: 7px; border: 1px solid #b9c6d8; border-radius: 9px; background: white; color: var(--body); text-align: center; cursor: pointer; font-size: 12px; line-height: 1.25; }.generic-likert input { position: absolute; opacity: 0; }.generic-likert label:has(input:checked) { color: white; background: var(--autism); border-color: var(--autism); box-shadow: 0 4px 10px -6px rgba(11,127,138,.9); }.generic-likert .choice-key { display: block; margin-bottom: 2px; font: 600 11px var(--mono); }.generic-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 20px 0; }.result-band { margin-top: 17px; padding: 12px; border-radius: 9px; background: #f4f8fd; color: var(--body); font-size: 13px; line-height: 1.45; }.score-track { height: 12px; overflow: hidden; margin-top: 14px; border-radius: 8px; background: var(--soft); }.score-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--autism-bright), var(--adhd)); }.result-list { margin: 0; padding: 0; list-style: none; }.result-list li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--soft); color: var(--body); font-size: 14px; }.result-list strong { color: var(--ink); font: 500 13px var(--mono); }.test-language-note { margin-top: 14px; padding: 12px 14px; border-left: 3px solid #d08a20; border-radius: 0 9px 9px 0; background: #fffaf0; color: var(--body); font-size: 13px; line-height: 1.5; } @media (max-width: 900px) { .generic-result-grid, .test-hub-grid { grid-template-columns: 1fr; }.generic-likert { grid-template-columns: 1fr 1fr; } }
.response-review { margin: 20px 0; padding: 24px; background: linear-gradient(145deg, #ffffff, #f7fbfe); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.response-review h3 { margin: 4px 0 0; font: 600 20px var(--display); }.response-review-intro { margin: 8px 0 0; max-width: 75ch; color: var(--body); font-size: 13px; line-height: 1.55; }.answer-overview { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(190px,.55fr); gap: 20px; margin-top: 19px; }.answer-ribbon { display: grid; grid-template-columns: repeat(var(--item-count), minmax(5px, 1fr)); gap: 3px; align-items: end; min-height: 56px; }.answer-ribbon button { height: 40px; min-width: 0; border: 0; border-radius: 3px; cursor: pointer; background: #d8e0eb; transition: transform .15s, box-shadow .15s; }.answer-ribbon button:hover { transform: translateY(-4px); box-shadow: 0 7px 11px -8px rgba(12,47,86,.9); }.answer-ribbon button.level-0 { background: #d8e0eb; }.answer-ribbon button.level-1 { background: #9ecbd2; }.answer-ribbon button.level-2 { background: #55aab6; }.answer-ribbon button.level-3 { background: #176c7c; }.answer-ribbon button.level-4 { background: #2f6bff; }.answer-ribbon button.level-5, .answer-ribbon button.level-6, .answer-ribbon button.level-7 { background: #7a53c8; }.answer-ribbon button.is-missing { height: 21px; background: repeating-linear-gradient(135deg, #f3f5f8 0 4px, #c5cfdb 4px 6px); }.answer-ribbon-caption { display: flex; justify-content: space-between; margin-top: 8px; color: var(--muted); font: 10px var(--mono); }.answer-histogram { display: grid; gap: 8px; align-content: center; }.answer-histogram div { display: grid; grid-template-columns: 26px 1fr 24px; gap: 8px; align-items: center; font-size: 11px; color: var(--body); }.answer-histogram i { height: 8px; background: var(--autism-bright); border-radius: 6px; }.answer-histogram b { font: 500 11px var(--mono); text-align: right; }.answer-review-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 19px 0 12px; }.answer-filter { padding: 7px 9px; border: 1px solid #c9d5e3; border-radius: 7px; background: white; color: var(--body); cursor: pointer; font-size: 12px; }.answer-filter.active { color: white; border-color: var(--autism); background: var(--autism); }.answer-list { overflow: auto; max-height: 560px; border-top: 1px solid var(--border); }.answer-row { display: grid; grid-template-columns: 38px minmax(290px,1fr) minmax(135px,.4fr) minmax(130px,.38fr); gap: 13px; align-items: center; padding: 12px 7px; border-bottom: 1px solid var(--soft); }.answer-row.flagged { background: linear-gradient(90deg, rgba(16,194,208,.08), transparent 68%); }.answer-row .answer-number { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--soft); color: var(--body); font: 600 11px var(--mono); }.answer-row p { margin: 0; color: var(--body); font-size: 13px; line-height: 1.4; }.answer-choice { color: #075e66; font-weight: 600; font-size: 12px; }.answer-meta { color: var(--muted); font-size: 11px; line-height: 1.35; }.answer-empty { margin-top: 17px; } @media (max-width: 900px) { .answer-overview { grid-template-columns: 1fr; }.answer-row { grid-template-columns: 34px minmax(220px,1fr); }.answer-row .answer-choice, .answer-row .answer-meta { grid-column: 2; }.answer-list { max-height: 480px; } }
.patient-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 24px; }.patient-card { display: flex; flex-direction: column; min-height: 455px; padding: 22px; border: 1px solid var(--border); border-top: 4px solid var(--autism); border-radius: 16px; background: var(--panel); box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.patient-card.adhd { border-top-color: var(--adhd); }.patient-card.mixed { border-top-color: #c07816; }.patient-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }.patient-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: white; background: linear-gradient(145deg,var(--autism),var(--adhd)); font: 600 12px var(--mono); }.patient-card h3 { margin: 17px 0 4px; font: 600 23px var(--display); }.patient-meta { margin: 0; color: var(--muted); font-size: 12px; }.patient-summary { min-height: 83px; margin: 17px 0; color: var(--body); font-size: 13px; line-height: 1.5; }.patient-scores { display: grid; gap: 8px; padding-top: 13px; border-top: 1px solid var(--soft); }.patient-score { display: grid; grid-template-columns: 56px 1fr 27px; gap: 8px; align-items: center; color: var(--body); font: 10px var(--mono); }.patient-score i { display: block; height: 6px; overflow: hidden; border-radius: 4px; background: var(--soft); }.patient-score i b { display: block; height: 100%; border-radius: 4px; background: var(--autism-bright); }.patient-card.adhd .patient-score i b { background: var(--adhd); }.patient-card.mixed .patient-score i b { background: #c07816; }.patient-score strong { text-align: right; font: 500 10px var(--mono); }.patient-card .primary-button { width: auto; margin-top: auto; } @media (max-width: 900px) { .patient-grid { grid-template-columns: 1fr; }.patient-card { min-height: auto; }.patient-summary { min-height: 0; } }
.instrument-pending { border-style: dashed !important; background: #fbfcfe !important; }.instrument-pending:hover { border-color: var(--autism-bright) !important; background: #f2fcfd !important; }.instrument-start { justify-self: end; padding: 6px 8px; border-radius: 6px; color: #075e66; background: #e9f9fb; font: 600 10px var(--mono); white-space: nowrap; } .patient-card.pending { border-top-color: #9aa7ba; background: #fbfcfe; }.patient-card.pending .patient-score i b { background: #c6d0dc; }
.mvp-fill-hint { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.35; }
.patient-access-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:20px; margin-top:22px; }.patient-access-card,.patient-access-preview,.patient-portal-shell,.patient-completion { padding:25px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.8); box-shadow:0 16px 40px -31px rgba(18,70,120,.52); }.patient-access-card h3,.patient-access-preview h3 { margin:5px 0 10px; font:600 20px var(--display); }.patient-access-card>p,.patient-access-preview>p { color:var(--body); font-size:14px; line-height:1.55; }.portal-link-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; margin:18px 0 10px; }.portal-link-field input { min-width:0; padding:11px 12px; color:var(--body); border:1px solid #b9cbe0; border-radius:9px; background:#f8fbff; font:12px var(--mono); }.portal-link-field .secondary-button { white-space:nowrap; }.patient-access-note { padding:12px 14px; border:1px solid #f2d69c; border-radius:10px; color:#745100; background:#fff9ed; font-size:12px; line-height:1.48; }.portal-progress { margin:20px 0; padding:15px; border-radius:11px; background:#f2fbfc; }.portal-progress>div,.patient-portal-progress>div { display:flex; justify-content:space-between; gap:12px; color:var(--body); font-size:13px; }.portal-progress strong,.patient-portal-progress strong { color:var(--ink); font-family:var(--mono); }.portal-progress i,.patient-portal-progress i { display:block; height:8px; overflow:hidden; margin-top:9px; border-radius:999px; background:#dfeaf1; }.portal-progress b,.patient-portal-progress b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--autism-bright),var(--adhd)); }.portal-access-actions { display:grid; gap:12px; margin-top:20px; }.portal-access-actions .primary-button { margin-top:0; }.portal-toggle { display:flex; gap:10px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--body); font-size:13px; line-height:1.45; }.portal-toggle input { margin-top:2px; accent-color:var(--autism); }.portal-message-label { display:grid; gap:7px; margin-top:18px; color:var(--body); font-size:13px; font-weight:600; }.portal-message-label textarea,.patient-message-compose textarea { width:100%; box-sizing:border-box; resize:vertical; padding:11px; border:1px solid #b9cbe0; border-radius:9px; color:var(--ink); background:rgba(255,255,255,.9); font:14px/1.5 var(--sans); }.patient-access-preview { align-self:start; background:linear-gradient(145deg,rgba(246,252,255,.88),rgba(242,248,255,.76)); }.patient-access-preview ul { display:grid; gap:10px; margin:16px 0 0; padding:0; list-style:none; }.patient-access-preview li { display:flex; justify-content:space-between; gap:12px; padding-bottom:10px; border-bottom:1px solid var(--border); color:var(--body); font-size:13px; }.patient-access-preview li strong { color:var(--ink); font:600 12px var(--mono); }.patient-portal-shell { max-width:790px; margin:0 auto; padding:0; overflow:hidden; background:rgba(255,255,255,.86); }.patient-portal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--border); background:linear-gradient(105deg,rgba(241,251,253,.96),rgba(244,248,255,.96)); }.patient-portal-brand { display:flex; align-items:center; gap:10px; }.patient-portal-brand img { width:37px; height:37px; object-fit:contain; }.patient-portal-brand strong { display:block; color:#0a1f44; font:600 17px var(--sans); }.patient-portal-brand span { display:block; margin-top:2px; color:var(--muted); font:500 10px var(--mono); letter-spacing:.07em; text-transform:uppercase; }.patient-portal-lock { padding:6px 9px; border:1px solid #a7e7ec; border-radius:999px; color:#075e66; background:#edfcfc; font:500 10px var(--mono); }.patient-portal-content { padding:30px; }.patient-portal-content h2 { margin-top:5px; }.patient-portal-progress { margin:22px 0; padding:15px; border:1px solid #c4e9ed; border-radius:12px; background:#f1fbfc; }.patient-portal-tests { display:grid; gap:10px; }.patient-portal-tests article { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.72); }.patient-portal-tests h3 { margin:7px 0 2px; color:var(--ink); font:600 16px var(--display); }.patient-portal-tests p { margin:0; color:var(--muted); font-size:12px; }.portal-test-status { display:inline-block; padding:4px 7px; border-radius:999px; font:600 10px var(--mono); }.portal-test-status.complete { color:#05756c; background:#ddf7f4; }.portal-test-status.pending { color:#745100; background:#fff4dc; }.portal-done { flex:none; color:#05756c; font-size:12px; font-weight:600; }.patient-portal-tests .secondary-button { flex:none; }.patient-clinician-message,.patient-shared-summary,.patient-message-compose { margin-top:18px; padding:18px; border-radius:12px; }.patient-clinician-message { border:1px solid #c9e4f0; background:#f2faff; }.patient-shared-summary { border:1px solid #a7e7ec; background:#eefcfc; }.patient-clinician-message p:last-child,.patient-shared-summary p:last-child { margin:8px 0 0; color:var(--body); font-size:14px; line-height:1.55; }.patient-shared-summary h3 { margin:6px 0 0; color:var(--ink); font:600 17px var(--display); }.patient-message-compose { border:1px solid var(--border); background:#fbfdff; }.patient-message-compose label { display:grid; gap:7px; margin-top:8px; color:var(--body); font-size:13px; font-weight:600; }.patient-message-compose>div { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:12px; }.patient-message-compose>div span { color:var(--muted); font-size:11px; line-height:1.4; }.patient-completion { max-width:630px; margin:35px auto; text-align:center; }.patient-completion-mark { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 15px; border-radius:50%; color:white; background:linear-gradient(135deg,var(--autism),var(--autism-bright)); font:700 24px var(--sans); }.patient-completion h2 { margin:5px 0 9px; }.patient-completion>p:not(.eyebrow) { max-width:56ch; margin:0 auto; color:var(--body); line-height:1.55; }.patient-completion .primary-button { width:auto; margin:22px 0 0; }.patient-mode .topbar nav,.patient-mode .top-actions { display:none; }.patient-mode .topbar { justify-content:center; }.patient-mode .brand { opacity:.88; }.patient-mode .content { width:100%; max-width:none; padding-top:42px; } @media (max-width:900px) { .patient-access-grid { grid-template-columns:1fr; }.patient-portal-content { padding:21px; }.patient-portal-header { padding:15px 18px; }.patient-portal-lock { display:none; }.patient-portal-tests article,.patient-message-compose>div { align-items:flex-start; flex-direction:column; }.patient-portal-tests .secondary-button,.portal-link-field .secondary-button { width:100%; }.portal-link-field { grid-template-columns:1fr; } }
.portal-progress>span { display:block; height:8px; border-radius:999px; background:linear-gradient(90deg,var(--autism-bright),var(--adhd)); }.portal-status-list { display:grid; gap:8px; margin:15px 0 0; padding:0; list-style:none; }.portal-status-list li { display:flex; justify-content:space-between; gap:12px; padding-bottom:8px; border-bottom:1px solid var(--soft); color:var(--body); font-size:13px; }.portal-status-list b { font:600 11px var(--mono); }.portal-status-list .complete { color:#05756c; }.portal-status-list .pending { color:#9b6508; }
.pdf-export-button { width:auto; margin:0; white-space:nowrap; }.instrument-header .pdf-export-button { margin-top:17px; }
.clinical-draft-notes { margin-top:24px; padding:20px; border:1px solid #bdecef; border-radius:12px; background:#f2fbfc; }.clinical-draft-notes h4 { margin:5px 0 14px; color:var(--ink); font:600 18px var(--display); }.clinical-draft-notes label { display:grid; gap:8px; color:var(--body); font-size:13px; font-weight:600; }.clinical-draft-notes textarea { width:100%; box-sizing:border-box; resize:vertical; padding:12px; border:1px solid #9bcfd5; border-radius:9px; color:var(--ink); background:rgba(255,255,255,.94); font:14px/1.55 var(--sans); }.clinical-note-status { margin:10px 0 0 !important; color:var(--muted); font-size:11px; line-height:1.4; }.export-note-content { white-space:pre-wrap; min-height:32mm; padding:12px; border:1px solid #9bcfd5; border-radius:9px; color:var(--ink); background:#fff; font:14px/1.55 var(--sans); }
.clinical-notes-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }.clinical-notes-head .secondary-button { width:auto; margin:0; white-space:nowrap; }.clinical-note-list { display:grid; gap:10px; margin-top:15px; }.clinical-note-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:14px; border:1px solid #c8e4e8; border-radius:10px; background:rgba(255,255,255,.76); }.clinical-note-card > div { display:flex; gap:10px; align-items:flex-start; }.clinical-note-card > div p { margin:0; }.clinical-note-card strong,.clinical-note-card small { display:block; }.clinical-note-card strong { color:var(--ink); font-size:13px; }.clinical-note-card small { margin-top:3px; color:var(--muted); font-size:10px; }.clinical-note-number { display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; color:white; background:linear-gradient(135deg,var(--autism),var(--adhd)); font:600 10px var(--mono); }.clinical-note-card .text-button { align-self:start; }.clinical-note-text { grid-column:1 / -1; margin:0; white-space:pre-wrap; color:var(--body); font-size:13px; line-height:1.55; }.clinical-note-empty { margin:15px 0 0; padding:12px; border-radius:9px; color:var(--muted); background:#f8fbff; font-size:12px; }.clinical-note-composer { margin-top:12px; padding:14px; border:1px solid #96d9df; border-radius:10px; background:#edfafa; }.clinical-note-composer label { display:grid; gap:8px; color:var(--body); font-size:13px; font-weight:600; }.clinical-note-composer textarea { width:100%; box-sizing:border-box; resize:vertical; padding:11px; border:1px solid #9bcfd5; border-radius:8px; color:var(--ink); background:white; font:14px/1.5 var(--sans); }.clinical-note-composer > div { display:flex; gap:10px; margin-top:11px; }.clinical-note-composer .secondary-button { width:auto; margin:0; }
@media (max-width:640px) { .clinical-notes-head { align-items:stretch; flex-direction:column; }.clinical-notes-head .secondary-button { width:100%; }.clinical-note-card { grid-template-columns:1fr; }.clinical-note-card .text-button { justify-self:start; }.clinical-note-composer > div { flex-direction:column; }.clinical-note-composer .secondary-button { width:100%; } }

@page { size:A4; margin:12mm 12mm 15mm; }
#pdfExportRoot { display:none; } .export-document { max-width:186mm; margin:0 auto; }.export-header { display:flex; justify-content:space-between; gap:14px; padding:0 0 8mm; margin-bottom:7mm; border-bottom:2px solid #12b8c4; }.export-brand { display:flex; align-items:center; gap:9px; font-size:18px; }.export-brand img { width:31px; height:31px; object-fit:contain; }.export-brand strong { color:#0a1f44; font:600 18px var(--sans); }.export-meta { color:#475569; text-align:right; font-size:10px; line-height:1.55; }.export-meta b { color:#0a1f44; }.export-title { margin:8px 0 0; color:#0a1f44; font:600 25px/1.15 var(--display); letter-spacing:-.03em; }.export-subtitle { margin:5px 0 0; color:#475569; font-size:12px; line-height:1.45; }.export-footer { margin-top:7mm; padding-top:4mm; border-top:1px solid #d9e4f2; color:#64748b; font-size:9px; line-height:1.45; }
@media print { @page { size:A4; margin:12mm 12mm 15mm; } body.pdf-export-active { background:#fff !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; } body.pdf-export-active .app-shell, body.pdf-export-active #toast, body.pdf-export-active dialog { display:none !important; } body.pdf-export-active #pdfExportRoot { display:block !important; } body.pdf-export-active .export-content > * { margin-top:0 !important; margin-bottom:7mm !important; } body.pdf-export-active .synthesis-map, body.pdf-export-active .evidence-panel { box-shadow:none !important; break-inside:auto; page-break-inside:auto; } body.pdf-export-active .constellation-panel, body.pdf-export-active .reference-plot-panel { box-shadow:none !important; break-before:page; page-break-before:always; break-inside:avoid; page-break-inside:avoid; } body.pdf-export-active .instrument-header, body.pdf-export-active .measure-card, body.pdf-export-active .response-review, body.pdf-export-active .chart-wrap, body.pdf-export-active .draft-paper, body.pdf-export-active .axis-card { box-shadow:none !important; break-inside:avoid; page-break-inside:avoid; } body.pdf-export-active .map-row, body.pdf-export-active .answer-row, body.pdf-export-active .evidence-grid > div { break-inside:avoid; page-break-inside:avoid; } body.pdf-export-active .detail-grid, body.pdf-export-active .catq-result-grid, body.pdf-export-active .generic-result-grid { grid-template-columns:1fr 1fr; gap:4mm; } body.pdf-export-active .measure-card, body.pdf-export-active .result-score-card, body.pdf-export-active .result-profile-card, body.pdf-export-active .response-review, body.pdf-export-active .chart-wrap, body.pdf-export-active .draft-paper, body.pdf-export-active .synthesis-map, body.pdf-export-active .constellation-panel, body.pdf-export-active .reference-plot-panel, body.pdf-export-active .evidence-panel { padding:5mm; } body.pdf-export-active .map-head, body.pdf-export-active .map-row { min-width:0 !important; grid-template-columns:25mm 1fr 1fr 1fr 37mm !important; column-gap:2mm; } body.pdf-export-active .map-head { font-size:7.5px; } body.pdf-export-active .map-row { min-height:0; padding:2mm !important; } body.pdf-export-active .map-cell, body.pdf-export-active .map-note, body.pdf-export-active .map-test { padding:1.6mm 2mm; font-size:9px; } body.pdf-export-active .map-test em { font-size:8px; } body.pdf-export-active .constellation-stage { min-height:90mm; } body.pdf-export-active .constellation { overflow:visible; } body.pdf-export-active .reference-chart { grid-template-columns:1.45fr .75fr; gap:4mm; } body.pdf-export-active .chart-svg, body.pdf-export-active .reference-svg { display:block; max-width:100%; height:auto; } body.pdf-export-active .answer-list { max-height:none; overflow:visible; } body.pdf-export-active .answer-row { font-size:10px; } body.pdf-export-active .draft-paper { max-width:none; } }
@media print { body.pdf-export-active .screen-section { animation:none !important; opacity:1 !important; transform:none !important; } }
.danger-button { color: #b42318 !important; }.danger-button:hover { color: #8f1d15 !important; text-decoration: underline; }

/* Esetkezelési állapot: a páciens-link, kitöltés, felülvizsgálat és lezárás
   egyetlen, áttekinthető munkafolyamatban marad. */
.case-workflow {
  margin: 22px 0;
  padding: 21px;
  border: 1px solid #bfe7ed;
  border-radius: 16px;
  background: linear-gradient(112deg, rgba(240,253,253,.86), rgba(245,248,255,.84));
  box-shadow: 0 16px 42px -32px rgba(30,72,130,.42);
}
.case-workflow-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.case-workflow h3 { margin: 4px 0 6px; color: var(--ink); font: 600 20px var(--display); }
.case-workflow-head > div > p:not(.eyebrow) { max-width: 72ch; margin: 0; color: var(--body); font-size: 13px; line-height: 1.5; }
.case-workflow-count { flex: none; padding: 6px 9px; border-radius: 999px; color: #007b72; background: #ddf7f4; font: 600 11px var(--mono); }
.case-workflow-steps { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.case-workflow-steps button { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 7px; align-items: center; width: 100%; min-height: 56px; padding: 8px; border: 1px solid #d5e0ed; border-radius: 10px; color: var(--body); background: rgba(255,255,255,.68); text-align: left; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.case-workflow-steps button:hover { border-color: #7fd8df; background: #fff; transform: translateY(-1px); }
.case-workflow-steps button span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: #60728a; background: #edf3fb; font: 600 11px var(--mono); }
.case-workflow-steps button strong { min-width: 0; color: inherit; font: 600 11px/1.25 var(--sans); }
.case-workflow-steps .complete button { color: #05756c; border-color: #bce9e5; background: #effbfa; }
.case-workflow-steps .complete button span { color: white; background: #00a99d; }
.case-workflow-steps .current button { color: #0a1f44; border-color: #45c7d1; background: #e7fbfc; box-shadow: 0 6px 14px -12px rgba(0,137,123,.82); }
.case-workflow-steps .current button span { color: white; background: linear-gradient(135deg, var(--autism), var(--adhd)); }
.case-workflow-actions { display: flex; align-items: center; gap: 13px; margin-top: 16px; }
.case-workflow-actions .secondary-button { flex: none; width: auto; }
.case-workflow-actions span { color: var(--muted); font-size: 11px; line-height: 1.4; }

@media (max-width: 1100px) { .case-workflow-steps { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 640px) { .case-workflow { padding: 16px; }.case-workflow-head, .case-workflow-actions { align-items: stretch; flex-direction: column; }.case-workflow-count { align-self: flex-start; }.case-workflow-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }.case-workflow-actions .secondary-button { width: 100%; } }

/* Tartós MVP-adatkezeléshez tartozó klinikai kontextus és esetlista. */
.patient-selector { margin: -4px -4px 17px; padding: 11px; border: 1px solid rgba(137,218,218,.78); border-radius: 12px; background: linear-gradient(135deg, rgba(233,251,252,.94), rgba(241,246,255,.86)); }.patient-selector label { display: grid; gap: 6px; color: #087a7f; font: 600 10px var(--mono); letter-spacing: .045em; text-transform: uppercase; }.patient-selector select { width: 100%; padding: 10px 30px 10px 10px; border: 1px solid #9cdfe4; border-radius: 8px; color: var(--ink); background: rgba(255,255,255,.9); font: 600 13px var(--sans); cursor: pointer; }.patient-selector select:focus { outline: 2px solid rgba(0,180,166,.3); outline-offset: 2px; }
/* Bal oldali főnavigációs változat: a globális és az esetkontextus egy sávban. */
.left-nav-version .app-shell { min-height: 100svh !important; }.left-nav-version .layout { min-height: 100svh !important; }.left-nav-version .sidebar { min-height: 100svh; padding: 20px 18px 28px !important; }.side-global-nav { display: grid; gap: 14px; margin: -2px -2px 19px; padding: 4px 2px 17px; border-bottom: 1px solid var(--border); }.side-global-nav .brand { width: fit-content; }.side-global-nav nav { display: grid; gap: 4px; }.side-global-nav .nav-link { width: 100%; padding: 10px; text-align: left; font-weight: 600; }.side-global-nav .top-actions { justify-content: space-between; margin: 0; padding-top: 5px; border-top: 1px solid var(--soft); }.left-nav-version .layout.context-free { grid-template-columns: 325px minmax(0,1fr) !important; }.left-nav-version .layout.context-free .sidebar { display: block !important; min-height: auto !important; height: auto !important; align-self: start; }.left-nav-version .layout.context-free .sidebar > :not(.side-global-nav):not(#patientSelectorArea) { display: none; }
@media (max-width: 900px) { .left-nav-version .layout, .left-nav-version .layout.context-free { display: block !important; }.left-nav-version .sidebar { min-height: 0; }.side-global-nav { margin-bottom: 15px; }.side-global-nav nav { grid-template-columns: repeat(2,minmax(0,1fr)); }.side-global-nav .nav-link { text-align: center; }.left-nav-version .layout.context-free .sidebar > :not(.side-global-nav):not(#patientSelectorArea) { display: none; } }
@media (min-width: 641px) and (max-width: 900px) { .left-nav-version .layout, .left-nav-version .layout.context-free { display: grid !important; grid-template-columns: 280px minmax(0,1fr) !important; }.left-nav-version .sidebar, .left-nav-version .layout.context-free .sidebar { min-height: 100svh !important; height: auto !important; }.side-global-nav nav { grid-template-columns: 1fr; }.side-global-nav .nav-link { text-align: left; } }
@media (min-width: 481px) and (max-width: 640px) { .left-nav-version .layout, .left-nav-version .layout.context-free { display: grid !important; grid-template-columns: 246px minmax(0,1fr) !important; }.left-nav-version .sidebar, .left-nav-version .layout.context-free .sidebar { min-height: 100svh !important; height: auto !important; padding: 16px 13px 24px !important; }.side-global-nav nav { grid-template-columns: 1fr; }.side-global-nav .nav-link { text-align: left; }.left-nav-version .content { padding: 20px 16px 44px !important; } }
.brand[role="button"] { cursor: pointer; }.brand[role="button"]:focus-visible { outline: 2px solid var(--autism-bright); outline-offset: 4px; border-radius: 6px; }
.case-dashboard { margin: 24px 0 20px; }.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }.dashboard-metrics button { display: grid; gap: 3px; min-height: 94px; padding: 16px; border: 1px solid rgba(193,220,239,.92); border-radius: 13px; color: var(--body); background: rgba(255,255,255,.72); text-align: left; cursor: pointer; box-shadow: 0 14px 34px -29px rgba(28,71,125,.52); transition: transform .15s, border-color .15s, background .15s; }.dashboard-metrics button:hover { border-color: #81d8df; background: #fff; transform: translateY(-2px); }.dashboard-metrics strong { color: var(--ink); font: 600 28px/1 var(--display); }.dashboard-metrics span { font-size: 12px; font-weight: 600; }.dashboard-queues { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 15px; }.dashboard-queues article { padding: 19px; border: 1px solid rgba(202,222,239,.9); border-radius: 14px; background: rgba(255,255,255,.68); }.dashboard-section-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }.dashboard-section-head h3 { margin: 4px 0 0; color: var(--ink); font: 600 18px var(--display); }.dashboard-section-head > span { padding: 5px 8px; border-radius: 999px; color: #007b72; background: #e0f7f5; font: 600 10px var(--mono); white-space: nowrap; }.dashboard-queues ul { display: grid; gap: 8px; margin: 15px 0 0; padding: 0; list-style: none; }.dashboard-queues li button { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 9px; align-items: center; width: 100%; padding: 9px; border: 1px solid transparent; border-radius: 9px; color: var(--body); background: #f8fbff; text-align: left; cursor: pointer; }.dashboard-queues li button:hover { border-color: #b1dfe5; background: #fff; }.dashboard-queues .patient-avatar { width: 30px; height: 30px; font-size: 10px; }.dashboard-queues strong, .dashboard-queues small { display: block; }.dashboard-queues strong { color: var(--ink); font-size: 12px; }.dashboard-queues small { overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }.dashboard-queues b { color: var(--autism); font-size: 11px; white-space: nowrap; }.dashboard-empty { margin: 15px 0 0; padding: 12px; border-radius: 9px; color: var(--muted); background: #f7faff; font-size: 12px; }
@media (max-width: 900px) { .dashboard-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }.dashboard-queues { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .dashboard-metrics { gap: 8px; }.dashboard-metrics button { min-height: 78px; padding: 12px; }.dashboard-metrics strong { font-size: 24px; }.dashboard-queues article { padding: 15px; } }
.context-editor { width: 100%; min-height: 94px; box-sizing: border-box; resize: vertical; margin: 12px 0; padding: 10px; border: 1px solid #b9cbe0; border-radius: 8px; color: var(--body); background: rgba(255,255,255,.9); font: 13px/1.48 var(--sans); }.context-status-select { width: 100%; margin: 0 0 10px; padding: 7px 8px; border: 1px solid #c7d6e6; border-radius: 7px; color: var(--body); background: white; font: 12px var(--sans); }.context-card .inline-button:not([disabled]) { color: #007b72; font-weight: 600; }
.case-list-filters { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px,.32fr); gap: 12px; margin: 20px 0; padding: 14px; border: 1px solid rgba(202,222,239,.9); border-radius: 12px; background: rgba(255,255,255,.62); }.case-list-filters label { display: grid; gap: 6px; color: var(--body); font-size: 12px; font-weight: 600; }.case-list-filters input, .case-list-filters select { width: 100%; box-sizing: border-box; padding: 9px 10px; border: 1px solid #b9cbe0; border-radius: 8px; color: var(--ink); background: white; font: 13px var(--sans); }.case-list-stage { display: inline-block; margin-top: 8px; padding: 4px 7px; border-radius: 999px; color: #3047aa; background: #edf1ff; font: 600 10px var(--sans); }.patient-card-top { flex-wrap: wrap; }.patient-card-top .case-list-stage { margin-left: auto; }
@media (max-width: 640px) { .case-list-filters { grid-template-columns: 1fr; }.patient-card-top .case-list-stage { margin-left: 0; } }

/* Új eset felvitele */
.new-case-trigger { width: auto; margin: 0 0 0 auto; white-space: nowrap; }
.intake-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin: 24px 0 18px; padding: 0; list-style: none; }
.intake-steps li { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.52); font-size: 12px; font-weight: 600; }
.intake-steps span { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; color: #62738b; background: #edf3fb; font: 600 11px var(--mono); }
.intake-steps .complete { color: #05756c; border-color: #bce9e5; background: #effbfa; }.intake-steps .complete span { color: white; background: #00a99d; }
.intake-steps .current { color: #0a1f44; border-color: #4ccbd4; background: #e8fbfc; }.intake-steps .current span { color: white; background: linear-gradient(135deg, var(--autism), var(--adhd)); }
.new-case-card { padding: 25px; border: 1px solid #c7e2eb; border-radius: 16px; background: rgba(255,255,255,.80); box-shadow: 0 16px 42px -32px rgba(30,72,130,.42); }
.new-case-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-bottom: 15px; border-bottom: 1px solid var(--border); }.new-case-card-head p { margin: 0; }.new-case-card-head span { color: var(--muted); font: 500 11px var(--mono); }
.intake-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; margin-top: 20px; }.intake-field-grid label, .intake-full-field { display: grid; gap: 7px; color: var(--body); font-size: 13px; font-weight: 600; }.intake-full-field { margin-top: 15px; }
.intake-field-grid input, .intake-field-grid select, .intake-full-field textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #b9cbe0; border-radius: 9px; color: var(--ink); background: rgba(255,255,255,.94); font: 14px var(--sans); }.intake-full-field textarea { resize: vertical; font: 14px/1.5 var(--sans); }
.intake-hint { margin: 16px 0 0; padding: 11px 13px; border-left: 3px solid #e6a028; border-radius: 0 9px 9px 0; color: #695024; background: #fffaf0; font-size: 12px; line-height: 1.5; }.intake-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 17px; padding: 13px; border: 1px solid #cfe7ec; border-radius: 10px; color: var(--body); background: #f2fbfc; font-size: 13px; line-height: 1.45; }.intake-consent input { margin-top: 3px; accent-color: var(--autism); }
.intake-selection-intro { margin: 20px 0 13px; color: var(--body); font-size: 13px; line-height: 1.5; }.intake-test-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }.intake-test-options label { display: flex; gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; background: #fbfdff; }.intake-test-options label:has(input:checked) { border-color: #7bd8df; background: #effbfc; }.intake-test-options input { accent-color: var(--autism); }.intake-test-options strong, .intake-test-options small { display: block; }.intake-test-options strong { color: var(--ink); font-size: 14px; }.intake-test-options small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.intake-review { display: grid; gap: 0; margin-top: 20px; border-top: 1px solid var(--border); }.intake-review > div { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--border); }.intake-review span { color: var(--muted); font: 500 11px var(--mono); }.intake-review strong, .intake-review p { margin: 0; color: var(--body); font-size: 13px; line-height: 1.45; }.intake-review strong { color: var(--ink); }
.new-case-actions { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: 23px; }.new-case-actions .primary-button { width: auto; margin: 0; }

@media (max-width: 900px) { .intake-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }.new-case-trigger { margin-left: 0; }.intake-field-grid, .intake-test-options { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .intake-steps { gap: 6px; }.intake-steps li { padding: 8px; font-size: 11px; }.new-case-card { padding: 16px; }.intake-review > div { grid-template-columns: 1fr; gap: 5px; }.new-case-actions { align-items: stretch; flex-direction: column; }.new-case-actions .primary-button { width: 100%; } }

/* Cascade-safe responsive shell. These rules deliberately use !important: the
   original prototype stylesheet is concatenated later in this file. */
html body .app-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: 100svh !important;
  margin: 0 !important;
}
html body .app-shell .layout {
  grid-template-columns: clamp(276px, 20vw, 360px) minmax(0, 1fr) !important;
  min-height: calc(100svh - 64px) !important;
}
html body .app-shell .layout.context-free { grid-template-columns: 1fr !important; }
html body .app-shell .content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  padding: clamp(28px, 3vw, 54px) clamp(24px, 3.2vw, 64px) 80px !important;
}
html body .app-shell .content > .screen-section {
  width: 100% !important;
  max-width: 1400px !important;
  margin-inline: auto;
}
html body .app-shell .layout.context-free .content { max-width: none !important; }

@media (max-width: 1180px) {
  html body .app-shell .layout { grid-template-columns: 286px minmax(0, 1fr) !important; }
  html body .app-shell .content { padding: 30px 28px 64px !important; }
}

@media (max-width: 900px) {
  html body .app-shell .topbar {
    height: auto !important;
    min-height: 62px;
    flex-wrap: wrap;
    gap: 8px 14px;
    padding: 10px 18px 0 !important;
  }
  html body .app-shell .topbar nav {
    display: flex !important;
    order: 3;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  html body .app-shell .topbar nav::-webkit-scrollbar { display: none; }
  html body .app-shell .top-actions { margin-left: auto; }
  html body .app-shell .layout { display: block !important; min-height: 0 !important; }
  html body .app-shell .sidebar {
    display: block !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--border);
    padding: 18px !important;
  }
  html body .app-shell .content { padding: 24px 18px 56px !important; }
  html body .app-shell .content > .screen-section { max-width: none !important; }
  html body .app-shell .sidebar .instrument-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  html body .app-shell .topbar { padding: 9px 13px 0 !important; }
  html body .app-shell .brand { font-size: 16px; }
  html body .app-shell .product-tag { display: none; }
  html body .app-shell .sidebar { padding: 16px 13px !important; }
  html body .app-shell .sidebar .instrument-list { grid-template-columns: 1fr; }
  html body .app-shell .content { padding: 20px 13px 46px !important; }
  html body .app-shell .summary-top-actions { justify-content: flex-start; }
  html body .app-shell .summary-top-actions .secondary-button,
  html body .app-shell .pdf-export-button { flex: 1 1 auto; }
}

/* Responsive application shell */
html { min-width: 320px; background: #edf7ff; } body { min-width: 320px; overflow-x: hidden; }.app-shell { width: 100%; max-width: none; min-height: 100svh; margin: 0; }.layout { grid-template-columns: clamp(276px, 20vw, 360px) minmax(0, 1fr); }.sidebar { min-width: 0; }.content { width: 100%; max-width: none; min-width: 0; padding: clamp(28px, 3vw, 54px) clamp(24px, 3.2vw, 64px) 80px; }.content > .screen-section { max-width: 1540px; }.layout.context-free .content { max-width: none; }.layout.context-free .content > .screen-section { max-width: 1540px; margin: 0 auto; }
@media (max-width: 1180px) { .layout { grid-template-columns: 286px minmax(0, 1fr); }.sidebar { padding: 24px 17px; }.content { padding: 30px 28px 64px; }.topbar { gap: 20px; padding: 0 22px; }.summary-top-actions { gap: 7px; }.summary-top-actions .secondary-button { font-size: 11px; padding: 8px; } }
@media (max-width: 900px) { .topbar { height: auto; min-height: 62px; flex-wrap: wrap; gap: 7px 14px; padding: 10px 16px; }.topbar nav { display: flex; order: 3; width: 100%; overflow-x: auto; padding-bottom: 1px; }.topbar nav .nav-link { flex: 0 0 auto; }.top-actions { margin-left: auto; }.layout { display: block; min-height: 0; }.sidebar { border-right: 0; border-bottom: 1px solid var(--border); padding: 18px; }.case-module-nav { grid-template-columns: repeat(4, minmax(128px, 1fr)); overflow-x: auto; }.case-module-link { text-align: center; white-space: nowrap; }.instrument-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }.instrument { min-width: 0; padding: 10px; }.instrument-title { font-size: 13px; }.instrument-subtitle { font-size: 11px; }.sidebar .primary-button { margin-top: 18px; }.sidebar-note { margin-top: 12px; }.content { padding: 24px 18px 56px; }.content > .screen-section { max-width: none; }.section-topline { flex-wrap: wrap; gap: 10px; }.summary-top-actions { justify-content: flex-start; width: 100%; }.summary-top-actions .assessed { display: block; margin-right: auto; }.patient-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.patient-access-grid { grid-template-columns: 1fr; }.detail-grid, .axis-grid, .evidence-grid, .catq-result-grid, .generic-result-grid, .reference-chart, .form-meta, .norm-example-grid { grid-template-columns: 1fr; }.draft-paper { max-width: none; }.test-shell { max-width: none; }.synthesis-map { overflow-x: auto; }.map-head, .map-row { min-width: 720px; }.constellation { overflow-x: auto; }.constellation-stage { min-width: 540px; }.patient-portal-shell { max-width: none; }.clinical-draft-notes { padding:16px; } }
@media (max-width: 640px) { .topbar { padding: 9px 13px; }.brand { gap: 7px; font-size: 16px; }.brand-mark { width: 29px; height: 29px; }.product-tag { font-size: 9px; }.top-actions #languageToggle { display: none; }.avatar { width: 29px; height: 29px; }.nav-link { padding: 8px 9px; font-size: 13px; }.sidebar { padding: 16px 13px; }.sidebar h1 { font-size: 21px; }.chips { margin-top: 11px; }.case-module-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 17px; }.case-module-link { padding: 9px 7px; font-size: 12px; }.instrument-list { grid-template-columns: 1fr; }.instrument { grid-template-columns: minmax(0, 1fr) auto auto; }.side-heading { margin-top: 20px; }.content { padding: 20px 13px 46px; }.content h2 { font-size: 26px; line-height: 1.12; }.lead { font-size: 14px; line-height: 1.55; }.review-banner { margin: 18px 0; padding: 13px; }.panel-heading { flex-wrap: wrap; gap: 7px; }.panel-heading .provenance { margin-left: 0; }.summary-top-actions { align-items: stretch; }.summary-top-actions .assessed { width: 100%; }.summary-top-actions .secondary-button, .pdf-export-button { flex: 1 1 auto; width: auto; }.synthesis-map, .constellation-panel, .reference-plot-panel, .evidence-panel, .chart-wrap, .response-review, .instrument-header, .measure-card, .draft-paper { padding: 16px; border-radius: 13px; }.map-head { display: none; }.map-row { min-width: 0; grid-template-columns: 82px minmax(0, 1fr); gap: 7px; padding: 9px 4px; }.map-cell:empty { display: none; }.map-cell { grid-column: 2; min-height: 32px; }.map-note { grid-column: 2; padding-left: 8px; }.map-test { align-items: flex-start; padding-top: 8px; }.constellation-stage { min-width: 500px; min-height: 360px; }.constellation-footer { padding-top: 10px; }.reference-readout { min-height: 0; }.axis-card { padding: 17px; }.evidence-grid { gap: 18px; }.chart-heading { display: block; }.chart-demo { display: inline-block; margin-top: 9px; }.chart-svg { min-width: 430px; }.chart-wrap { overflow-x: auto; }.question-card { padding: 13px; }.question-top { gap: 9px; }.question-text { font-size: 14px; }.likert { grid-template-columns: repeat(7, minmax(29px, 1fr)); gap: 4px; }.likert label { width: auto; height: 32px; }.test-actions { align-items: stretch; flex-direction: column; }.test-actions .primary-button { width: 100%; }.generic-likert { grid-template-columns: 1fr; }.response-key { display: none; }.patient-grid { grid-template-columns: 1fr; }.patient-card { min-height: auto; }.patient-portal-header, .patient-portal-content { padding: 16px; }.patient-portal-tests article, .patient-message-compose > div { align-items: stretch; flex-direction: column; }.patient-portal-tests .secondary-button, .patient-message-compose .secondary-button { width: 100%; }.draft-toolbar { flex-wrap: wrap; gap: 8px; }.draft-toolbar .secondary-button, .draft-toolbar .text-button { flex: 1 1 auto; }.answer-row { grid-template-columns: 30px minmax(0, 1fr); gap: 9px; }.answer-row .answer-choice, .answer-row .answer-meta { grid-column: 2; }.answer-overview { grid-template-columns: 1fr; }.answer-list { max-height: 440px; }.portal-link-field { grid-template-columns: 1fr; }.portal-link-field .secondary-button { width: 100%; } }
@media (max-width: 390px) { .content h2 { font-size: 23px; }.summary-top-actions .secondary-button { font-size: 10px; }.instrument { gap: 6px; }.instrument-score { font-size: 12px; }.status { min-width: 66px; font-size: 9px; }.constellation-stage { min-width: 470px; }.patient-portal-brand span { display: none; } }
.summary-top-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; align-items: center; }.summary-top-actions .secondary-button { width: auto; margin: 0; padding: 8px 10px; font-size: 12px; }.summary-top-actions .secondary-button:disabled { cursor: not-allowed; opacity: .55; }
/* A páciensprofilok és állapotcímkék az alkalmazás alap szöveg-betűtípusát használják. */
.patient-card h3, .status { font-family: var(--sans) !important; letter-spacing: normal; }

/* Finom üvegréteg: az olvashatóság érdekében magas opacitással és visszafogott elmosással. */
.sidebar, .axis-card, .evidence-panel, .instrument-header, .measure-card, .draft-paper,
.chart-wrap, .synthesis-map, .constellation-panel, .reference-plot-panel, .patient-card,
.test-hub-card, .response-review, .result-score-card, .result-profile-card, .form-meta {
  background: rgba(255,255,255,.76) !important;
  border-color: rgba(217,228,242,.88) !important;
  box-shadow: 0 16px 42px -32px rgba(30,72,130,.42) !important;
  backdrop-filter: blur(14px) saturate(118%);
  -webkit-backdrop-filter: blur(14px) saturate(118%);
}

.sidebar { background: rgba(250,253,255,.70) !important; }
.instrument:hover, .instrument.active, .map-row:hover { background: rgba(239,247,255,.82); }

/* A bal oldali sáv páciens-kontextus: könyvtár- és páciensválasztó nézetben nem jelenik meg. */
.layout.context-free { grid-template-columns: 1fr; }
.layout.context-free .sidebar { display: none; }
.layout.context-free .content { width: 100%; max-width: 1280px; margin: 0 auto; }
.case-module-nav { display: grid; gap: 5px; margin-top: 24px; padding: 5px; border: 1px solid rgba(217,228,242,.9); border-radius: 12px; background: rgba(255,255,255,.48); }.case-module-link { border: 0; border-radius: 8px; padding: 9px 10px; color: var(--body); background: transparent; text-align: left; cursor: pointer; font: 600 13px var(--sans); }.case-module-link:hover { background: rgba(237,243,251,.9); }.case-module-link.active { color: #007b72; background: #e0f7f5; }

.context-banner { display: flex; gap: 11px; margin: 22px 0; padding: 14px 16px; border: 1px solid #a7e7ec; border-left: 3px solid var(--autism); border-radius: 11px; background: rgba(240,252,252,.78); color: var(--body); }.context-banner span { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: white; background: var(--autism); font: 600 12px var(--sans); }.context-banner p { margin: 0; font-size: 13px; line-height: 1.5; }.context-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }.context-card, .context-footer-card { padding: 21px; border: 1px solid rgba(217,228,242,.88); border-radius: 15px; background: rgba(255,255,255,.76); box-shadow: 0 16px 42px -32px rgba(30,72,130,.42); backdrop-filter: blur(14px) saturate(118%); -webkit-backdrop-filter: blur(14px) saturate(118%); }.context-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }.context-card h3, .context-footer-card h3 { margin: 0; color: var(--ink); font: 600 18px var(--display); }.context-card p { min-height: 56px; margin: 12px 0 13px; color: var(--body); font-size: 13px; line-height: 1.5; }.context-card .inline-button[disabled] { padding-top: 0; color: var(--muted); cursor: default; }.context-status { flex: none; padding: 5px 8px; border-radius: 999px; font: 600 11px var(--sans); white-space: nowrap; }.context-status.recorded { color: #007b72; background: #e0f7f5; }.context-status.review { color: #a35e00; background: #fff4dc; }.context-status.missing { color: #64748b; background: #edf2f8; }.context-footer-card { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 18px; }.context-footer-card p:not(.eyebrow) { max-width: 75ch; margin: 9px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.context-footer-card .secondary-button { flex: none; }

.norms-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 24px 0; }
.norms-principles article, .interpretation-guide, .norms-activation, .norms-library { border: 1px solid rgba(217,228,242,.88); box-shadow: 0 16px 42px -32px rgba(30,72,130,.42); backdrop-filter: blur(14px) saturate(118%); -webkit-backdrop-filter: blur(14px) saturate(118%); }
.norms-principles article { display: flex; gap: 12px; padding: 16px; border-radius: 13px; background: rgba(255,255,255,.70); }
.norms-principles strong { display: block; color: var(--ink); font-size: 14px; }.norms-principles p { margin: 4px 0 0; color: var(--body); font-size: 12px; line-height: 1.45; }
.norm-icon { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: white; font: 600 12px var(--sans); }.norm-icon.teal { background: var(--autism); }.norm-icon.amber { background: #e69a10; }.norm-icon.blue { background: var(--adhd); }
.norms-principle-banner { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0; padding: 14px 16px; border: 1px solid #b9e8ea; border-left: 3px solid var(--autism); border-radius: 11px; background: rgba(241,253,253,.68); color: var(--body); }.norms-principle-banner > span { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border: 1.5px solid var(--autism); border-radius: 50%; color: var(--autism); font: 700 12px var(--sans); }.norms-principle-banner strong { display: block; color: var(--ink); font-size: 13px; }.norms-principle-banner p { max-width: 94ch; margin: 3px 0 0; font-size: 12px; line-height: 1.5; }
.norms-library { padding: 24px; border-radius: 16px; background: rgba(255,255,255,.76); }.norms-library h3, .interpretation-guide h3, .norms-activation h3 { margin: 4px 0 0; color: var(--ink); font: 600 20px var(--display); }
.norm-table-head, .norm-row { display: grid; grid-template-columns: 122px 1.38fr .86fr 1.15fr; gap: 16px; }.norm-table-head { margin-top: 19px; padding: 9px 10px; border-top: 1px solid var(--border); color: var(--muted); font: 500 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }.norm-row { padding: 15px 10px; border-top: 1px solid rgba(217,228,242,.78); cursor: pointer; transition: background .16s, box-shadow .16s; }.norm-row:hover, .norm-row.selected { background: rgba(233,248,249,.68); box-shadow: inset 3px 0 0 var(--autism); }.norm-row:focus-visible { outline: 2px solid var(--autism-bright); outline-offset: -2px; }.norm-row > div { min-width: 0; }.norm-row strong { color: var(--ink); font: 600 15px var(--display); }.norm-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.38; }.norm-row p { margin: 7px 0 0; color: var(--body); font-size: 12px; line-height: 1.43; }
.norm-tag, .source-state { display: inline-flex; align-items: center; gap: 7px; padding: 0; border-radius: 0; background: transparent; font: 600 12px var(--sans); line-height: 1.3; }
.norm-tag { color: var(--ink); }
.norm-tag.ready, .norm-tag.caution, .norm-tag.neutral, .norm-tag.locked { color: var(--ink); background: transparent; }
.source-state { color: var(--body); }
.source-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--autism); box-shadow: 0 0 0 3px rgba(0,137,123,.08); }
.source-state.available, .source-state.licensed { color: var(--body); background: transparent; }
.source-state.licensed::before { background: #94a3b8; box-shadow: 0 0 0 3px rgba(148,163,184,.10); }
.norms-bottom-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; margin-top: 18px; }.interpretation-guide, .norms-activation { padding: 22px; border-radius: 15px; background: rgba(255,255,255,.74); }.interpretation-guide ol, .norms-activation ul { display: grid; gap: 9px; margin: 16px 0 0; padding-left: 21px; color: var(--body); font-size: 13px; line-height: 1.45; }.norms-activation { border-left: 3px solid #e69a10; background: rgba(255,250,241,.78); }

.norm-detail-panel { margin-top: 15px; padding: 22px; border: 1px solid rgba(137,218,218,.8); border-left: 4px solid var(--autism); border-radius: 13px; background: rgba(244,253,253,.82); }.norm-detail-panel h3 { margin: 4px 0 0; color: var(--ink); font: 600 20px var(--display); }.norm-detail-panel > p { max-width: 85ch; margin: 9px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.norm-detail-meta { color: var(--autism) !important; font: 500 11px var(--mono) !important; letter-spacing: .035em; }.norm-detail-purpose { max-width: 76ch; font-size: 14px !important; }.norm-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 18px; }.norm-detail-grid > div { padding: 13px; border: 1px solid rgba(217,228,242,.76); border-radius: 10px; background: rgba(255,255,255,.66); }.norm-detail-grid span, .norm-sources > span, .norm-document-library > div > span { color: var(--muted); font: 600 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }.norm-detail-grid p { margin: 6px 0 0; color: var(--body); font-size: 12px; line-height: 1.48; }.norm-detail-grid .norm-limit { border-color: #f1d8aa; background: rgba(255,249,235,.76); }.norm-sources { margin-top: 14px; padding: 14px; border-radius: 10px; background: rgba(232,247,249,.6); }.norm-sources ul { display: grid; gap: 6px; margin: 9px 0 0; padding-left: 18px; color: var(--body); font-size: 12px; line-height: 1.45; }.norm-document-library { display: grid; gap: 7px; margin-top: 14px; padding: 14px; border: 1px solid rgba(169,191,226,.68); border-radius: 10px; background: rgba(247,250,255,.7); }.norm-document-library > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }.norm-document-library small { color: var(--muted); font-size: 11px; }.norm-document-link { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; min-width: 0; padding: 10px; border: 1px solid rgba(217,228,242,.85); border-radius: 8px; color: var(--body); background: rgba(255,255,255,.68); text-decoration: none; font-size: 12px; transition: border-color .15s, background .15s; }.norm-document-link:hover { border-color: #8adce3; background: #fff; }.norm-document-link b { padding: 3px 5px; border-radius: 4px; color: #007b72; background: #e0f7f5; font: 600 10px var(--mono); white-space: nowrap; }.norm-document-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.norm-document-link em { color: var(--autism); font: 600 11px var(--sans); font-style: normal; white-space: nowrap; }.norm-disclaimer { padding-top: 13px; border-top: 1px solid rgba(217,228,242,.78); }.norm-disclaimer strong { color: var(--ink); }
.norm-document-link { grid-template-columns: auto minmax(0,1fr) auto auto; }.norm-document-link button, .norm-document-link a { border: 0; padding: 5px 7px; border-radius: 6px; color: var(--autism); background: #e7f8f8; font: 600 11px var(--sans); text-decoration: none; white-space: nowrap; cursor: pointer; }.norm-document-link a { color: var(--body); background: #eef3fa; }.norm-document-link button:hover { background: #d8f2f2; }.norm-document-link a:hover { background: #e2eaf5; }
.source-reader-dialog { width: min(1120px, calc(100vw - 42px)); max-width: none; max-height: min(900px, calc(100vh - 42px)); padding: 0; border: 1px solid rgba(166,193,224,.8); border-radius: 18px; color: var(--ink); background: #f7fbff; box-shadow: 0 24px 70px rgba(15,35,65,.25); }.source-reader-dialog::backdrop { background: rgba(15,33,57,.42); backdrop-filter: blur(3px); }.source-reader-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 21px 24px 18px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.78); }.source-reader-head h2 { margin: 4px 0 0; font: 600 21px var(--display); }.source-reader-close { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; color: var(--body); background: var(--soft); font-size: 24px; line-height: 1; cursor: pointer; }.source-reader-close:hover { color: var(--ink); background: #e1eaf6; }.source-reader-body { display: grid; gap: 16px; max-height: calc(min(900px, 100vh - 42px) - 92px); overflow: auto; padding: 22px 24px 26px; }.source-reader-summary { padding: 17px; border: 1px solid #cdebed; border-radius: 12px; background: rgba(242,253,253,.82); }.source-reader-type { margin: 0; color: var(--autism); font: 600 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }.source-reader-summary h3 { margin: 7px 0 0; font: 600 18px var(--display); }.source-reader-summary > p:not(.source-reader-type) { margin: 7px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.source-reader-summary dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 15px 0 0; }.source-reader-summary dl > div { padding: 11px; border: 1px solid rgba(193,222,231,.9); border-radius: 9px; background: rgba(255,255,255,.66); }.source-reader-summary dt { color: var(--muted); font: 600 10px var(--mono); letter-spacing: .035em; text-transform: uppercase; }.source-reader-summary dd { margin: 6px 0 0; color: var(--body); font-size: 12px; line-height: 1.45; }.source-reader-summary .source-reader-caution { border-color: #f1d8aa; background: #fffaf0; }.source-embedded-file { min-height: 520px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: white; }.source-view-label { display: flex; justify-content: space-between; gap: 10px; padding: 10px 13px; border-bottom: 1px solid var(--border); color: var(--body); font-size: 12px; }.source-view-label strong { color: var(--ink); }.source-embedded-file iframe { display: block; width: 100%; height: 560px; border: 0; }.source-reader-file-note { padding: 16px; border-radius: 10px; color: var(--body); background: #eef3fa; font-size: 13px; line-height: 1.5; }.source-reader-file-note p { margin: 6px 0 0; }.source-reader-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }.source-reader-actions .secondary-button { width: auto; text-decoration: none; }.source-reader-actions .text-button { border: 1px solid var(--border); }

@media (max-width: 900px) { .norms-principles, .norms-bottom-grid, .norm-detail-grid, .context-card-grid { grid-template-columns: 1fr; }.norms-library { padding: 18px; overflow-x: auto; }.norm-table-head, .norm-row { min-width: 780px; }.norms-principles article { padding: 15px; }.context-footer-card { display: block; }.context-footer-card .secondary-button { margin-top: 16px; } }

:root {
  --page: #f5f8ff; --panel: rgba(255,255,255,.78); --ink: #0f172a; --body: #475569; --muted: #64748b;
  --border: #d9e4f2; --soft: #edf3fb; --autism: #00897b; --autism-bright: #00b4a6;
  --adhd: #3f51b5; --action: #c77700; --danger: #e53935; --danger-bg: #fff0f0;
  --mono: "IBM Plex Mono", monospace; --sans: "IBM Plex Sans", sans-serif; --display: "Space Grotesk", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 18% 4%, #e6f6ff 0, transparent 30%), radial-gradient(circle at 88% 15%, #eef1ff 0, transparent 28%), #edf4ff; font-family: var(--sans); }
button { font: inherit; }
.app-shell { max-width: 1440px; min-height: 100vh; margin: auto; background: linear-gradient(135deg, rgba(246,250,255,.76), rgba(238,246,255,.88)); }
.topbar { height: 64px; background: rgba(255,255,255,.78); border-bottom: 1px solid rgba(217,228,242,.82); display: flex; align-items: center; gap: 32px; padding: 0 28px; backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%); }
.brand { display: flex; align-items: center; gap: 9px; font-size: 18px; letter-spacing: -.035em; }.brand strong { color: #0a1f44; font-family: var(--sans); font-weight: 600; }
.brand-mark { width: 35px; height: 35px; display: block; object-fit: contain; filter: drop-shadow(0 4px 7px rgba(22,119,255,.18)); }
.product-tag, .eyebrow, .provenance, .assessed, .draft-status, .side-heading { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); }
.product-tag { padding: 4px 7px; background: var(--soft); border-radius: 5px; }
nav { display: flex; gap: 4px; }
.nav-link, .text-button { border: 0; background: none; padding: 8px 11px; color: var(--muted); cursor: pointer; border-radius: 8px; font-size: 14px; }
.nav-link.active, .nav-link:hover, .text-button:hover { background: var(--soft); color: var(--ink); }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #e0eaff; color: #1744b5; font: 600 12px var(--mono); }
.layout { display: grid; grid-template-columns: 325px 1fr; min-height: calc(100vh - 64px); }
.sidebar { background: var(--panel); border-right: 1px solid var(--border); padding: 30px 22px; }
.sidebar h1 { margin: 6px 0 0; font: 700 23px var(--display); letter-spacing: -.02em; }
.case-meta { margin: 5px 0 0; font-size: 14px; color: var(--body); }
.chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.chip { border-radius: 999px; padding: 5px 9px; font: 500 11px var(--mono); }
.axis-autism { color: #075e66; background: #e8fafb; border: 1px solid #a7e7ec; }
.neutral { color: var(--body); background: var(--soft); }
.side-heading { display: flex; justify-content: space-between; margin: 30px 2px 12px; text-transform: uppercase; }
.instrument-list { display: grid; gap: 5px; }
.instrument { border: 1px solid transparent; display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; text-align: left; background: transparent; padding: 11px; border-radius: 10px; cursor: pointer; }
.instrument:hover, .instrument.active { background: #f8fafc; border-color: var(--border); }
.instrument-title { font-weight: 600; font-size: 14px; }.instrument-subtitle { font-size: 12px; color: var(--muted); margin-top: 2px; }.instrument-score { font: 500 13px var(--mono); }
.status { min-width: 76px; text-align: center; padding: 4px 6px; border-radius: 6px; font: 600 10px var(--mono); }
.status.elevated { color: #007b72; background: #e0f7f5; }.status.caution { color: #a35e00; background: #fff4dc; }.status.info { color: #3047aa; background: #edf1ff; }.status.neutral { color: var(--body); }
.primary-button, .secondary-button { width: 100%; cursor: pointer; border-radius: 10px; padding: 12px 16px; font: 600 14px var(--display); }
.primary-button { border: 0; color: white; background: linear-gradient(135deg, var(--autism-bright), var(--adhd)); box-shadow: 0 12px 22px -12px rgba(47,107,255,.7); margin-top: 25px; }.primary-button:hover { filter: brightness(.96); }
.secondary-button { width: auto; color: var(--autism); border: 1px solid #8adce3; background: white; }.sidebar-note { margin: 17px 3px 0; font-size: 12px; line-height: 1.5; color: var(--muted); }
.test-button { width: 100%; margin-top: 25px; cursor: pointer; border: 1px solid #8adce3; border-radius: 10px; padding: 11px 16px; color: var(--autism); background: white; font: 600 14px var(--display); }.test-button:hover { background: #f0fcfd; }
.test-hub-card.complete { border-color: #bde8e5; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(239,252,251,.86)); }.test-hub-complete { display:flex; align-items:center; gap:9px; width:100%; margin-top:auto; padding:10px 11px; border:1px solid #c7efec; border-radius:10px; background:#f2fcfb; color:#075e66; }.test-hub-complete > span { display:grid; place-items:center; flex:none; width:21px; height:21px; border-radius:50%; color:#fff; background:#0aa89e; font-weight:700; }.test-hub-complete strong, .test-hub-complete small { display:block; }.test-hub-complete strong { font-size:13px; }.test-hub-complete small { margin-top:2px; color:#4d6b79; font-size:11px; line-height:1.35; }.test-hub-card .result-button { margin-top:10px; color:#075e66; border-color:#71d9d5; background:#fff; }.test-hub-card .result-button:hover { color:#fff; background:linear-gradient(135deg, var(--autism), var(--autism-bright)); border-color:transparent; }
.content { padding: 34px 40px 70px; max-width: 1200px; }.screen-section { animation: show .22s ease-out; }.hidden { display: none; }@keyframes show { from { opacity: .1; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.section-topline { display: flex; justify-content: space-between; align-items: center; }.content h2 { margin: 6px 0 10px; font: 700 31px var(--display); letter-spacing: -.035em; }.lead { max-width: 70ch; color: var(--body); line-height: 1.6; font-size: 16px; margin: 0; }
.review-banner { display: flex; gap: 13px; margin: 25px 0 20px; padding: 15px 17px; border: 1px solid #edcc91; border-left: 4px solid var(--action); border-radius: 12px; background: #fffaf0; }.review-icon { flex: none; width: 22px; height: 22px; display: grid; place-items: center; color: #744000; border: 1px solid #dca94b; border-radius: 50%; font-weight: 700; }.review-banner strong { font-size: 14px; }.review-banner p { margin: 3px 0 0; color: var(--body); font-size: 14px; line-height: 1.5; }
.synthesis-map { margin: 20px 0; padding: 24px; background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.synthesis-map h3 { margin: 4px 0 0; font: 600 21px var(--display); }.map-intro { max-width: 84ch; margin: 13px 0 19px; color: var(--body); font-size: 14px; line-height: 1.5; }.synthesis-map-rows { border-top: 1px solid var(--border); }.map-head, .map-row { display: grid; grid-template-columns: 132px 1.1fr 1.1fr 1.1fr 1.8fr; column-gap: 8px; align-items: stretch; }.map-head { padding: 10px 10px 8px; color: var(--muted); font: 500 10px var(--mono); letter-spacing: .04em; }.autism-head { color: var(--autism); }.context-head { color: var(--action); }.adhd-head { color: #1744b5; }.map-row { width: 100%; min-height: 52px; padding: 7px 10px; border: 0; border-bottom: 1px solid var(--soft); background: transparent; text-align: left; cursor: pointer; }.map-row:hover { background: #f8fafc; }.map-test { display: flex; align-items: center; gap: 8px; font-size: 13px; }.map-test strong { color: var(--ink); }.map-test em { color: var(--muted); font: 500 11px var(--mono); font-style: normal; }.map-cell { display: flex; align-items: center; gap: 6px; padding: 6px 8px; font-size: 12px; line-height: 1.25; }.map-cell i { width: 9px; height: 9px; border-radius: 50%; flex: none; }.map-cell b { font-weight: 600; }.map-cell.autism { color: #075e66; background: #edfcfc; }.map-cell.autism i { background: var(--autism-bright); }.map-cell.context { color: #744000; background: #fff8e7; }.map-cell.context i { background: #d08a20; }.map-cell.adhd { color: #1744b5; background: #eef3ff; }.map-cell.adhd i { background: var(--adhd); }.map-note { display: flex; align-items: center; padding-left: 10px; color: var(--body); font-size: 12px; line-height: 1.35; }.map-math { margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }.map-math strong { color: var(--body); }
.constellation-panel { margin: 20px 0; padding: 24px; background: linear-gradient(145deg, #ffffff 0%, #f7fbfe 100%); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 18px 44px -30px rgba(18,70,120,.5); }.constellation-panel h3 { margin: 4px 0 0; font: 600 21px var(--display); }.constellation { margin-top: 18px; }.constellation-stage { position: relative; isolation: isolate; min-height: 445px; overflow: hidden; border: 1px solid #dbe8ef; border-radius: 14px; background: radial-gradient(circle at 50% 48%, rgba(16,194,208,.15), transparent 25%), radial-gradient(circle at 20% 18%, rgba(47,107,255,.09), transparent 22%), radial-gradient(circle at 85% 83%, rgba(16,194,208,.08), transparent 22%), #fbfdff; }.constellation-stage::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#d6e4ec 1px, transparent 1px); background-size: 22px 22px; opacity: .42; z-index: -1; }.constellation-lines { position: absolute; inset: 7% 4%; width: 92%; height: 86%; overflow: visible; }.constellation-lines line { vector-effect: non-scaling-stroke; stroke-width: 1.5; opacity: .8; transition: opacity .2s, stroke-width .2s; }.constellation-lines .solid { stroke: var(--autism); }.constellation-lines .dashed { stroke: #c07816; stroke-dasharray: 5 4; }.constellation-lines .dotted { stroke: #65738b; stroke-dasharray: 1 4; stroke-linecap: round; }.constellation-lines .thin { stroke-width: 1; opacity: .45; }.constellation-lines .adhd { stroke: var(--adhd); }.constellation-lines .review { stroke: #c07816; }.constellation-lines .support { stroke: #65738b; }.constellation-lines .muted { opacity: .08; }.constellation-lines .highlighted { opacity: 1; stroke-width: 3; }.constellation-core { position: absolute; left: 51%; top: 51%; transform: translate(-50%,-50%); width: 132px; height: 132px; display: grid; place-content: center; text-align: center; border-radius: 50%; color: white; background: linear-gradient(145deg, #0b7f8a, #2f6bff); border: 6px solid #e8f9fb; box-shadow: 0 0 0 1px #96dfe4, 0 18px 32px -15px rgba(25,92,180,.7); z-index: 2; }.constellation-core span { font: 500 10px var(--mono); letter-spacing: .07em; opacity: .86; }.constellation-core strong { margin: 3px 0; font: 600 17px var(--display); }.constellation-core small { font-size: 10px; opacity: .9; }.domain-node { position: absolute; transform: translate(-50%,-50%); min-width: 118px; padding: 8px 10px; text-align: center; border-radius: 9px; background: white; border: 1px solid #d6e2eb; box-shadow: 0 8px 18px -15px rgba(30,60,90,.45); color: var(--body); font-size: 11px; line-height: 1.25; z-index: 1; }.domain-node.autism { border-color: #a7e7ec; }.domain-node.context { border-color: #efd294; }.domain-node.support { border-color: #c9d4e4; }.domain-node.adhd { border-color: #bcd0ff; }.constellation-node { position: absolute; transform: translate(-50%,-50%); width: 83px; height: 83px; display: grid; place-content: center; gap: 3px; cursor: pointer; color: var(--ink); border: 1px solid #b9cbe0; border-radius: 50%; background: white; box-shadow: 0 10px 20px -15px rgba(25,70,120,.55); transition: transform .18s, box-shadow .18s, border-color .18s; z-index: 3; }.constellation-node:hover, .constellation-node.selected { transform: translate(-50%,-50%) scale(1.09); border-color: var(--autism-bright); box-shadow: 0 13px 26px -13px rgba(16,194,208,.65); }.constellation-node strong { font: 600 13px var(--display); }.constellation-node span { color: var(--muted); font: 500 11px var(--mono); }.constellation-node.context { border-color: #edcf94; }.constellation-node.context.selected { border-color: #c07816; }.constellation-node.adhd { border-color: #bcd0ff; }.constellation-node.adhd.selected { border-color: var(--adhd); }.constellation-footer { display: flex; justify-content: space-between; gap: 18px; align-items: start; padding: 13px 2px 0; }.constellation-legend { display: flex; flex-wrap: wrap; gap: 13px; color: var(--muted); font-size: 11px; }.constellation-legend span { display: flex; gap: 5px; align-items: center; }.constellation-legend i { display: block; width: 18px; height: 2px; background: var(--autism); }.constellation-legend .dashed-mark { background: repeating-linear-gradient(90deg, #c07816 0 5px, transparent 5px 8px); }.constellation-legend .dotted-mark { height: 3px; background: radial-gradient(circle, #65738b 1.5px, transparent 1.7px) left / 6px 3px repeat-x; }.constellation-footer p { max-width: 51ch; margin: 0; color: var(--body); font-size: 12px; line-height: 1.45; }
.reference-plot-panel { margin: 20px 0; padding: 24px; background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.reference-plot-panel h3 { margin: 4px 0 0; font: 600 21px var(--display); }.reference-chart { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(220px,.75fr); gap: 16px; align-items: center; margin-top: 12px; }.reference-svg { width: 100%; height: auto; overflow: visible; }.ref-grid { stroke: #e3e9f1; stroke-width: 1; }.reference-zero { stroke: #9aa7bf; stroke-width: 1.3; stroke-dasharray: 4 4; }.ref-point { cursor: pointer; }.ref-point circle:first-child { fill: rgba(16,194,208,.22); stroke: var(--autism); stroke-width: 1.5; transition: r .18s, stroke-width .18s; }.ref-point .ref-inner { fill: var(--autism); }.ref-point.wurs circle:first-child { fill: rgba(47,107,255,.18); stroke: var(--adhd); }.ref-point.wurs .ref-inner { fill: var(--adhd); }.ref-point:hover circle:first-child, .ref-point.selected circle:first-child { r: 18; stroke-width: 3; }.ref-label { font: 600 11px var(--display) !important; fill: var(--ink) !important; }.reference-readout { min-height: 180px; padding: 18px; background: #f8fbfd; border-left: 3px solid var(--autism-bright); color: var(--body); }.reference-readout strong { display: block; color: var(--ink); font: 600 15px var(--display); }.reference-readout p { margin: 8px 0 16px; font-size: 13px; line-height: 1.5; }.reference-missing { padding-top: 12px; border-top: 1px solid var(--border); color: var(--muted); font-size: 11px; line-height: 1.45; }.reference-missing strong { display: inline; color: var(--body); font: 600 11px var(--sans); }.reference-plot .chart-note { margin: 12px 0 0; }
.axis-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.axis-card, .evidence-panel, .instrument-header, .measure-card, .draft-paper { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.axis-card { padding: 23px; border-top: 4px solid var(--autism); }.adhd-card { border-top-color: var(--adhd); }.card-label { font: 500 11px var(--mono); color: var(--muted); letter-spacing: .08em; text-transform: uppercase; }.axis-card h3 { margin: 12px 0 8px; font: 600 20px var(--display); letter-spacing: -.02em; }.axis-card p { color: var(--body); margin: 0; line-height: 1.55; font-size: 14px; }.inline-button { color: var(--autism); padding: 10px 0 0; background: none; border: 0; font-size: 13px; font-weight: 600; cursor: pointer; }.adhd-card .inline-button { color: #1744b5; }
.evidence-panel { padding: 25px; margin-top: 20px; }.panel-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }.panel-heading h3 { margin: 4px 0 0; font: 600 21px var(--display); }.evidence-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; margin-top: 23px; }.evidence-kicker { font: 600 11px var(--mono); letter-spacing: .06em; color: var(--muted); text-transform: uppercase; }.evidence-grid ul { margin: 10px 0 0; padding-left: 19px; color: var(--body); font-size: 14px; line-height: 1.55; }.evidence-grid li + li { margin-top: 7px; }
.instrument-header { padding: 26px; }.back-link { color: var(--autism); background: none; border: 0; padding: 0; cursor: pointer; font-size: 14px; font-weight: 600; }.instrument-header h2 { margin-top: 16px; }.instrument-header p { color: var(--body); line-height: 1.55; margin: 0; }.detail-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; margin-top: 20px; }.measure-card { padding: 24px; }.measure-card h3 { font: 600 19px var(--display); margin: 0 0 12px; }.score-row { display: flex; gap: 24px; align-items: center; border-bottom: 1px solid var(--border); padding-bottom: 19px; }.large-score { color: var(--autism); font: 600 44px/1 var(--mono); }.score-caption { color: var(--muted); font: 12px var(--mono); margin-top: 7px; }.detail-list { margin: 20px 0 0; display: grid; gap: 12px; }.detail-list div { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--soft); padding-bottom: 10px; font-size: 14px; }.detail-list span { color: var(--muted); }.callout { border-left: 3px solid var(--action); padding: 13px 15px; background: #fffaf0; border-radius: 0 9px 9px 0; color: var(--body); font-size: 14px; line-height: 1.5; }.sources { margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.draft-toolbar { display: flex; gap: 14px; align-items: center; margin: 20px 0; }.draft-paper { padding: 34px; max-width: 820px; line-height: 1.7; color: var(--body); }.draft-paper h3 { color: var(--ink); font: 600 20px var(--display); }.draft-paper p { margin: 0 0 18px; }.draft-paper .draft-warning { padding: 12px; background: var(--danger-bg); border-radius: 8px; color: #7a271a; font-size: 13px; }
.chart-wrap { margin-top: 20px; padding: 24px; background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 14px 38px -28px rgba(20,40,80,.45); }.chart-heading { display: flex; gap: 16px; align-items: start; justify-content: space-between; }.chart-heading h3 { margin: 0; font: 600 19px var(--display); }.chart-heading p, .chart-note { margin: 5px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.chart-demo { color: var(--muted); background: var(--soft); padding: 4px 7px; border-radius: 5px; white-space: nowrap; font: 500 10px var(--mono); }.chart-svg { display: block; width: 100%; max-width: 680px; height: auto; margin: 20px 0 4px; overflow: visible; }.chart-svg text { font-family: var(--sans); fill: var(--body); }.axis-line, .profile-line, .range-line { stroke: #aeb9cc; stroke-width: 1; }.profile-line { stroke: #dbe2ec; stroke-width: 5; stroke-linecap: round; }.profile-fill.autism { fill: rgba(16,194,208,.25); }.profile-fill.neutral { fill: #dbe2ec; }.tick { stroke: #aeb9cc; }.tick-label, .axis-title, .annotation, .value-label { font-size: 10px; }.axis-title { fill: var(--muted) !important; }.annotation, .row-label { fill: var(--muted) !important; }.row-label { font-size: 10.5px; }.value-label { fill: var(--ink) !important; font-family: var(--mono) !important; }.reference-autistic { fill: rgba(47,107,255,.16); stroke: var(--adhd); }.reference-nonautistic, .soft-band { fill: var(--soft); stroke: #b8c4d6; }.median-autistic { stroke: var(--adhd); stroke-width: 2; }.median-neutral { stroke: #71809a; stroke-width: 2; }.patient-guide { stroke: var(--autism); stroke-dasharray: 4 4; }.patient-dot { fill: var(--autism-bright); stroke: white; stroke-width: 2; }.patient-label { fill: #075e66 !important; font-weight: 600; font-size: 11px; }.uncertainty { fill: rgba(16,194,208,.18); stroke: var(--autism-bright); }.overlap { fill: url(#catq-hatch); opacity: .72; }.hatch { stroke: #c4cddd; stroke-width: 2; }.caution-band { fill: #fff0ce; }.cutoff-line { stroke: var(--danger); stroke-width: 1.6; stroke-dasharray: 4 3; }.cutoff-line.action { stroke: var(--action); }.plot-bg { fill: #fbfcfe; stroke: var(--border); }.grid-lines line { stroke: #e5eaf2; stroke-width: 1; }.identity-line { stroke: #aeb9cc; stroke-width: 1; stroke-dasharray: 4 4; }.locked-chart { margin: 20px 0 4px; padding: 22px; min-height: 160px; display: grid; align-content: center; gap: 10px; background: #fafbfc; border: 1px dashed #aeb9cc; color: var(--body); }.locked-chart strong { color: var(--ink); font: 600 16px var(--display); }.locked-chart span { font-size: 13px; line-height: 1.5; }.t-template { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; margin-top: 4px; color: var(--muted); font: 10px var(--mono); }.t-template span { border-left: 2px solid #b8c4d6; padding-left: 6px; }
.toast { position: fixed; bottom: 22px; right: 22px; pointer-events: none; opacity: 0; transform: translateY(8px); padding: 12px 15px; border-radius: 9px; color: white; background: #25304a; box-shadow: 0 14px 30px -12px rgba(0,0,0,.45); transition: .2s; font-size: 14px; }.toast.visible { opacity: 1; transform: none; }
.test-shell { max-width: 920px; }.test-privacy { display: flex; gap: 12px; margin: 20px 0; padding: 15px 17px; background: #f0fbfc; border: 1px solid #bdecef; border-radius: 12px; color: var(--body); font-size: 14px; line-height: 1.5; }.test-privacy strong { color: #075e66; }.catq-form { margin-top: 22px; }.form-meta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; padding: 18px; background: var(--panel); border: 1px solid var(--border); border-radius: 13px; }.field-label { display: block; color: var(--body); font-size: 13px; font-weight: 600; }.field-select { width: 100%; margin-top: 8px; padding: 10px; border: 1px solid #aeb9cc; border-radius: 8px; background: white; color: var(--ink); font: 14px var(--sans); }.progress-wrap { align-self: end; }.progress-text { display: flex; justify-content: space-between; color: var(--body); font-size: 13px; }.progress-bar { height: 8px; margin-top: 8px; overflow: hidden; background: var(--soft); border-radius: 8px; }.progress-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--autism-bright), var(--adhd)); transition: width .2s; }.response-key { display: grid; grid-template-columns: 1fr repeat(7, 34px); gap: 6px; margin: 24px 0 5px; color: var(--muted); font: 10px var(--mono); text-align: center; }.response-key span:first-child { text-align: left; }.question-card { padding: 18px; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; margin-top: 9px; }.question-card.unanswered { border-color: #d89d3b; }.question-top { display: flex; gap: 13px; }.question-number { flex: none; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--soft); color: var(--body); font: 600 11px var(--mono); }.question-text { margin: 2px 0 13px; color: var(--ink); font-size: 15px; line-height: 1.48; }.likert { display: grid; grid-template-columns: repeat(7, 34px); gap: 6px; justify-content: end; }.likert label { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #b9c6d8; border-radius: 50%; color: var(--body); background: white; cursor: pointer; font: 500 12px var(--mono); }.likert input { position: absolute; opacity: 0; }.likert label:has(input:checked) { color: white; background: var(--autism); border-color: var(--autism); box-shadow: 0 4px 10px -6px rgba(11,127,138,.9); }.consent-row { display: flex; gap: 9px; align-items: flex-start; margin: 21px 0; color: var(--body); font-size: 13px; line-height: 1.45; }.test-actions { display: flex; gap: 12px; align-items: center; }.test-actions .primary-button { width: auto; margin: 0; }.test-error { margin: 0; color: var(--danger); font-size: 13px; }.catq-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 20px 0; }.result-score-card, .result-profile-card { padding: 23px; background: var(--panel); border: 1px solid var(--border); border-radius: 15px; }.result-score-card h3, .result-profile-card h3 { margin: 0 0 13px; font: 600 18px var(--display); }.result-total { font: 600 49px/1 var(--mono); color: var(--autism); }.result-unit { margin-top: 6px; color: var(--muted); font: 12px var(--mono); }.percentile-grid { display: grid; gap: 11px; margin-top: 20px; }.percentile-row { padding-top: 11px; border-top: 1px solid var(--soft); }.percentile-row span { display: block; color: var(--muted); font-size: 12px; }.percentile-row strong { display: block; margin-top: 3px; color: var(--ink); font: 600 17px var(--mono); }.raw-reference { margin-top: 19px; }.raw-reference-label { color: var(--muted); font-size: 12px; }.raw-track { position: relative; height: 18px; margin: 12px 0 7px; border-radius: 10px; background: linear-gradient(90deg, #eef2f8 0 35%, #dceef4 35% 58%, #e8edff 58% 100%); }.raw-track::before { content: ""; position: absolute; top: -5px; left: var(--score-position); width: 3px; height: 28px; background: var(--autism); border-radius: 2px; }.raw-track::after { content: attr(data-score); position: absolute; top: -28px; left: calc(var(--score-position) - 12px); color: #075e66; font: 600 11px var(--mono); }.raw-track-labels { display: flex; justify-content: space-between; color: var(--muted); font: 10px var(--mono); }.subscale-row { margin-top: 14px; }.subscale-head { display: flex; justify-content: space-between; gap: 12px; color: var(--body); font-size: 13px; }.subscale-head strong { color: var(--ink); font: 500 12px var(--mono); }.subscale-track { height: 8px; margin-top: 7px; overflow: hidden; border-radius: 5px; background: var(--soft); }.subscale-track span { display: block; height: 100%; background: var(--autism-bright); }.result-caveat { padding: 17px; border-left: 3px solid var(--action); border-radius: 0 10px 10px 0; background: #fffaf0; color: var(--body); font-size: 14px; line-height: 1.55; }.result-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 21px; }
@media (max-width: 900px) { .topbar { padding: 0 16px; gap: 12px; }.topbar nav { display: none; }.layout { grid-template-columns: 1fr; }.sidebar { border-right: 0; border-bottom: 1px solid var(--border); }.content { padding: 25px 18px 50px; }.axis-grid, .evidence-grid, .detail-grid, .reference-chart, .catq-result-grid, .form-meta { grid-template-columns: 1fr; }.content h2 { font-size: 27px; }.assessed { display: none; }.chart-wrap { padding: 18px; }.chart-heading { display: block; }.chart-demo { display: inline-block; margin-top: 8px; }.synthesis-map { padding: 18px; overflow-x: auto; }.map-head, .map-row { min-width: 770px; }.constellation-panel, .reference-plot-panel { padding: 18px; }.constellation-stage { min-height: 390px; }.constellation-core { width: 104px; height: 104px; }.constellation-node { width: 69px; height: 69px; }.constellation-node strong { font-size: 11px; }.constellation-node span { font-size: 10px; }.domain-node { min-width: 94px; padding: 6px; font-size: 9px; }.constellation-footer { display: block; }.constellation-footer p { margin-top: 10px; }.response-key { display: none; }.likert { justify-content: start; grid-template-columns: repeat(7, minmax(30px,34px)); }.question-card { padding: 14px; } }
.norm-instrument-hero { margin-top: 16px; padding: 26px; border: 1px solid #cae9ec; border-radius: 16px; background: linear-gradient(135deg, rgba(243,253,253,.9), rgba(244,248,255,.82)); }.norm-instrument-hero h2 { margin: 6px 0 0; color: var(--ink); font: 600 28px var(--display); }.norm-instrument-hero .lead { max-width: 75ch; margin-bottom: 15px; }.norm-detail-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0; padding: 7px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.68); }.norm-detail-tabs button { border: 0; border-radius: 8px; padding: 10px 13px; color: var(--body); background: transparent; font: 600 13px var(--sans); cursor: pointer; }.norm-detail-tabs button:hover { background: #edf8f9; }.norm-detail-tabs button.active { color: white; background: linear-gradient(135deg, var(--autism), var(--autism-bright)); box-shadow: 0 7px 14px -10px rgba(0,137,123,.8); }.norm-overview-page, .norm-example-panel, .norm-question-panel, .norm-resource-page { padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.74); }.norm-overview-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 16px; padding: 17px; border-radius: 11px; background: #f0fafb; }.norm-overview-footer strong { color: var(--ink); font: 600 15px var(--display); }.norm-overview-footer p { max-width: 70ch; margin: 5px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.norm-overview-footer .secondary-button { flex: none; }.norm-example-panel h3, .norm-question-panel h3, .norm-resource-page h3 { margin: 5px 0 0; color: var(--ink); font: 600 21px var(--display); }.norm-example-status { display: inline-block; margin-top: 12px; padding: 6px 9px; border-radius: 999px; color: #007b72; background: #e0f7f5; font: 600 12px var(--sans); }.norm-example-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: 18px; }.norm-example-grid > div { padding: 14px; border: 1px solid rgba(217,228,242,.85); border-radius: 11px; background: rgba(255,255,255,.72); }.norm-example-grid span { color: var(--muted); font: 600 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }.norm-example-grid p { margin: 7px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.norm-example-grid .norm-limit { border-color: #f1d8aa; background: #fffaf0; }.interpretation-path { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 17px; padding: 13px; border-top: 1px solid var(--border); color: var(--body); font-size: 12px; }.interpretation-path > span { width: 100%; color: var(--muted); font: 600 10px var(--mono); letter-spacing: .04em; text-transform: uppercase; }.interpretation-path b { padding: 5px 7px; border-radius: 6px; background: #eef7fb; font-weight: 600; }.interpretation-path i { color: var(--autism); font-style: normal; }.question-source-warning { margin: 15px 0; padding: 13px; border-left: 3px solid var(--action); border-radius: 0 9px 9px 0; background: #fffaf0; color: var(--body); font-size: 13px; line-height: 1.48; }.question-source-warning p { margin: 5px 0 0; }.norm-question-list { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }.norm-question-list li { display: grid; grid-template-columns: 32px 1fr; gap: 11px; align-items: start; padding: 13px; border: 1px solid rgba(217,228,242,.78); border-radius: 10px; background: rgba(255,255,255,.68); }.norm-question-list li > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--autism); background: #e4f7f8; font: 600 11px var(--mono); }.norm-question-list p { margin: 2px 0 0; color: var(--body); font-size: 13px; line-height: 1.5; }.norm-resource-list { margin-top: 18px; }.norm-resource-page .norm-sources { margin-top: 16px; } @media (max-width: 900px) { .norm-example-grid { grid-template-columns: 1fr; }.norm-overview-footer { display: block; }.norm-overview-footer .secondary-button { margin-top: 14px; }.norm-instrument-hero, .norm-overview-page, .norm-example-panel, .norm-question-panel, .norm-resource-page { padding: 18px; } }

/* Végső alkalmazásváz: a bal oldali menü és az app tartalma két külön oszlop.
   Ez a szabály szándékosan a fájl legvégén van, hogy semmilyen régi mobil
   töréspont ne mozgathassa a navigációt a tartalom fölé egy széles kijelzőn. */
html body.left-nav-version.desktop-side-nav .app-shell { width: 100% !important; max-width: none !important; min-height: 100svh !important; }
html body.left-nav-version.desktop-side-nav .layout,
html body.left-nav-version.desktop-side-nav .layout.context-free {
  display: grid !important;
  grid-template-columns: clamp(252px, 19vw, 310px) minmax(0, 1fr) !important;
  min-height: 100svh !important;
}
html body.left-nav-version.desktop-side-nav .sidebar,
html body.left-nav-version.desktop-side-nav .layout.context-free .sidebar {
  display: block !important;
  min-height: 100svh !important;
  height: auto !important;
  align-self: stretch !important;
  padding: 20px 18px 28px !important;
  border-right: 1px solid var(--border) !important;
  border-bottom: 0 !important;
}
html body.left-nav-version.desktop-side-nav .content,
html body.left-nav-version.desktop-side-nav .layout.context-free .content {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(30px, 3vw, 54px) clamp(26px, 4vw, 72px) 80px !important;
}
html body.left-nav-version.desktop-side-nav .content > .screen-section,
html body.left-nav-version.desktop-side-nav .layout.context-free .content > .screen-section {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
html body.left-nav-version.desktop-side-nav .layout.context-free .sidebar > :not(.side-global-nav):not(#patientSelectorArea) { display: none !important; }
html body.left-nav-version.desktop-side-nav .side-global-nav { display: grid !important; gap: 14px; margin: -2px -2px 19px; padding: 4px 2px 17px; border-bottom: 1px solid var(--border); }
html body.left-nav-version.desktop-side-nav .side-global-nav nav { display: grid !important; grid-template-columns: 1fr; gap: 4px; width: 100%; overflow: visible; }
html body.left-nav-version.desktop-side-nav .side-global-nav .nav-link { width: 100%; padding: 10px; text-align: left; }
html body.left-nav-version.desktop-side-nav .side-global-nav .top-actions { display: flex !important; justify-content: space-between; margin: 0; padding-top: 7px; border-top: 1px solid var(--soft); }

/* Double left navigation: global app controls plus the selected case context. */
html body.double-left-nav.desktop-side-nav .app-shell {
  display: grid !important;
  grid-template-columns: clamp(220px, 16vw, 270px) minmax(0, 1fr) !important;
  min-height: 100svh !important;
}
html body.double-left-nav.desktop-side-nav .global-sidebar {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  height: 100svh;
  min-height: 100svh;
  padding: 26px 16px 20px;
  border-right: 1px solid var(--border);
  background: rgba(250,253,255,.84);
  box-shadow: inset -12px 0 36px -38px rgba(32,72,124,.7);
}
html body.double-left-nav.desktop-side-nav .layout,
html body.double-left-nav.desktop-side-nav .layout.context-free {
  grid-column: 2 !important;
  grid-row: 1;
  display: grid !important;
  grid-template-columns: clamp(300px, 25vw, 385px) minmax(0, 1fr) !important;
  min-height: 100svh !important;
}
html body.double-left-nav.desktop-side-nav .sidebar,
html body.double-left-nav.desktop-side-nav .layout.context-free .sidebar {
  grid-column: 1;
  display: block !important;
  min-height: 100svh !important;
  height: auto !important;
  padding: 26px 20px 36px !important;
  border-right: 1px solid var(--border) !important;
  border-bottom: 0 !important;
  background: rgba(248,252,255,.72) !important;
}
html body.double-left-nav.desktop-side-nav .content,
html body.double-left-nav.desktop-side-nav .layout.context-free .content {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(30px, 3vw, 54px) clamp(28px, 4vw, 76px) 80px !important;
}
html body.double-left-nav.desktop-side-nav .content > .screen-section,
html body.double-left-nav.desktop-side-nav .layout.context-free .content > .screen-section { max-width: 1400px !important; }
html body.double-left-nav.desktop-side-nav .sidebar .side-global-nav { display: none !important; }
html body.double-left-nav.desktop-side-nav .layout.context-free .sidebar > :not(#patientSelectorArea) { display: none !important; }
html body.double-left-nav.desktop-side-nav .global-sidebar .side-global-nav {
  display: grid !important;
  align-content: start;
  gap: 18px;
  margin: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--border);
}
html body.double-left-nav.desktop-side-nav .global-sidebar .brand { width: fit-content; margin: 0 4px 14px; }
html body.double-left-nav.desktop-side-nav .global-sidebar .brand-mark { width: 31px; height: 31px; }
html body.double-left-nav.desktop-side-nav .global-sidebar nav { display: grid !important; grid-template-columns: 1fr; gap: 7px; width: 100%; }
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link {
  width: 100%; min-height: 46px; padding: 12px;
  color: var(--body); border-radius: 11px; text-align: left; font: 600 15px var(--sans);
}
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link.active,
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link:hover { color: #1262c9; background: linear-gradient(100deg,#eaf4ff,#f5f8ff); }
html body.double-left-nav.desktop-side-nav .global-sidebar .top-actions { display: flex !important; justify-content: space-between; margin: 0; padding-top: 12px; border-top: 1px solid var(--border); }
html body.double-left-nav.desktop-side-nav .global-profile {
  position: relative; display: grid; gap: 9px; margin-top: auto; padding: 16px 4px 0; border-top: 1px solid var(--border);
}
.global-profile-trigger { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 0; border: 0; color: var(--body); background: transparent; text-align: left; cursor: pointer; }
.global-profile-trigger:hover .global-profile-copy strong { color: #1262c9; }.global-profile-caret { color: var(--muted); font-size: 17px; transition: transform .16s; }.global-profile-trigger[aria-expanded="true"] .global-profile-caret { transform: rotate(180deg); }
.global-profile-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #2757b4; background: #e6efff; font: 600 12px var(--mono); }
.global-profile strong,.global-profile small { display: block; }.global-profile strong { color: var(--ink); font-size: 12px; }.global-profile small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.clinician-menu { position: absolute; z-index: 20; right: 0; bottom: calc(100% + 8px); left: 0; padding: 8px; border: 1px solid #c8d9ec; border-radius: 12px; background: rgba(255,255,255,.98); box-shadow: 0 18px 38px -20px rgba(24,53,95,.4); }.clinician-menu p { margin: 4px 7px 7px; color: var(--muted); font: 600 10px var(--mono); letter-spacing: .05em; text-transform: uppercase; }.clinician-menu button { display: grid; gap: 2px; width: 100%; padding: 9px; border: 0; border-radius: 8px; color: var(--body); background: transparent; text-align: left; cursor: pointer; }.clinician-menu button:hover,.clinician-menu button.selected { color: #075e66; background: #eafafa; }.clinician-menu b { color: var(--ink); font-size: 12px; }.clinician-menu small { color: var(--muted); font-size: 10px; }.global-nav-collapse { display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px 4px 0; border: 0; color: var(--body); background: transparent; text-align: left; cursor: pointer; font-size: 12px; font-weight: 600; }.global-nav-collapse:hover { color: #1262c9; }.global-nav-collapse > span:first-child { color: #55708e; font-size: 22px; line-height: .7; }
html body.double-left-nav.desktop-side-nav .patient-selector { margin: -4px -4px 20px; }
html body.double-left-nav.desktop-side-nav .case-module-nav { margin-top: 20px; }
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .layout,
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .layout.context-free { grid-template-columns: 1fr !important; }
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .sidebar,
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .layout.context-free .sidebar { display: none !important; }
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .content,
html body.double-left-nav.desktop-side-nav:not(.patient-context-open) .layout.context-free .content { grid-column: 1 !important; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .app-shell { grid-template-columns: 76px minmax(0,1fr) !important; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar { align-items: center; padding: 22px 10px 16px; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .side-global-nav { width: 100%; justify-items: center; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .brand { margin: 0; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .brand strong,
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .product-tag,
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .top-actions #languageToggle,
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-profile-copy,
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-profile-caret,
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-nav-collapse > span:last-child { display: none; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar nav { justify-items: center; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .nav-link { width: 44px; min-height: 44px; padding: 0; font-size: 0; text-align: center; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .nav-link::before { display: block; color: currentColor; font: 600 20px/1 var(--sans); }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed #patientsNav::before { content: "◉"; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed #normsNav::before { content: "▦"; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-sidebar .top-actions { width: 44px; justify-content: center; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-profile { width: 44px; justify-items: center; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-profile-trigger { grid-template-columns: 36px; justify-content: center; width: 36px; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .global-nav-collapse { justify-content: center; width: 44px; padding-top: 8px; }
html body.double-left-nav.desktop-side-nav.global-nav-collapsed .clinician-menu { left: 46px; width: 236px; }
@media (max-width: 699px) {
  html body.double-left-nav:not(.desktop-side-nav) .app-shell { display: block !important; }
  html body.double-left-nav:not(.desktop-side-nav) .global-sidebar { display: block; min-height: auto; padding: 16px 13px; border-right: 0; border-bottom: 1px solid var(--border); }
  html body.double-left-nav:not(.desktop-side-nav) .global-sidebar .side-global-nav { display: grid; gap: 10px; margin: 0; }
  html body.double-left-nav:not(.desktop-side-nav) .global-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  html body.double-left-nav:not(.desktop-side-nav) .global-sidebar .nav-link { min-height: 40px; text-align: center; }
  html body.double-left-nav:not(.desktop-side-nav) .global-sidebar .top-actions { display: flex; margin: 0; padding-top: 8px; border-top: 1px solid var(--border); }
  html body.double-left-nav:not(.desktop-side-nav) .global-profile { display: none; }
}

/* Reference-style case navigation: compact, card-like and easy to scan. */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
html body.double-left-nav.desktop-side-nav .sidebar { position: sticky; top: 0; align-self: start; height: 100svh !important; overflow-y: auto; scrollbar-width: thin; }

/* MVP admin belépés. A tényleges hitelesítés később szerveroldali szolgáltatásra cserélhető. */
.admin-login-gate { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; overflow:auto; background:radial-gradient(circle at 22% 12%, rgba(162,235,241,.56), transparent 34%), radial-gradient(circle at 84% 87%, rgba(180,198,255,.42), transparent 38%), #f5f9ff; }
.admin-login-gate[hidden] { display:none; }
.admin-auth-locked .app-shell { filter:blur(4px); pointer-events:none; user-select:none; }
.admin-login-panel { width:min(100%, 430px); padding:34px; border:1px solid rgba(207,224,240,.94); border-radius:22px; background:rgba(255,255,255,.88); box-shadow:0 30px 74px -39px rgba(20,57,110,.5); }
.admin-login-brand { display:flex; align-items:center; gap:10px; margin-bottom:30px; }.admin-login-brand img { width:36px; height:36px; object-fit:contain; }.admin-login-brand strong,.admin-login-brand span { display:block; }.admin-login-brand strong { color:#0a1f44; font:600 19px var(--display); }.admin-login-brand span { width:max-content; margin-top:3px; padding:3px 7px; border-radius:5px; color:#3159b3; background:#eef3ff; font:500 10px var(--mono); letter-spacing:.06em; }
.admin-login-panel > .eyebrow { margin:0; }.admin-login-panel h1 { margin:7px 0 8px; color:#0a1f44; font:600 31px var(--display); letter-spacing:-.04em; }.admin-login-lead { margin:0; color:#52637d; font-size:14px; line-height:1.5; }
.admin-login-form { display:grid; gap:15px; margin-top:25px; }.admin-login-form label { display:grid; gap:7px; color:#344a68; font-size:12px; font-weight:600; }.admin-login-form input { width:100%; padding:12px 13px; border:1px solid #c9d8e8; border-radius:10px; color:#102347; background:#fff; font:14px var(--sans); }.admin-login-form input:focus { outline:2px solid rgba(16,185,192,.22); border-color:#64d4d9; }.admin-login-form .primary-button { width:100%; margin:5px 0 0; }.admin-login-error { margin:0; padding:9px 10px; border:1px solid #f1b8b2; border-radius:8px; color:#9f3129; background:#fff2f1; font-size:12px; line-height:1.4; }
.admin-login-demo { display:grid; gap:3px; margin-top:21px; padding:12px; border:1px solid #c7eaeb; border-radius:10px; background:#f1fbfc; color:#4b647b; font:11px var(--mono); }.admin-login-demo strong { margin-bottom:3px; color:#087981; font:600 10px var(--mono); letter-spacing:.05em; text-transform:uppercase; }.admin-login-note { margin:14px 0 0; color:#718198; font-size:11px; line-height:1.45; }
.clinician-sign-out { margin:7px 0 0; padding-top:10px !important; border-top:1px solid #e4ebf4 !important; color:#9f3129 !important; }.clinician-sign-out:hover { background:#fff3f2 !important; }
@media (max-width:520px) { .admin-login-gate { align-items:start; padding:18px; }.admin-login-panel { padding:25px 21px; border-radius:17px; }.admin-login-panel h1 { font-size:27px; } }
html body.double-left-nav.desktop-side-nav .patient-selector { margin: -4px -4px 24px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.current-case-label { margin: 0 0 10px; color: #64748b; font: 600 12px var(--sans); letter-spacing: .03em; text-transform: uppercase; }
html body.double-left-nav.desktop-side-nav.case-unselected .sidebar > :not(#patientSelectorArea) { display: none !important; }
.case-picker-trigger.empty { color: #536882; border-color: #cbd9e8; background: rgba(255,255,255,.78); }
.case-empty-state { display:grid; justify-items:center; gap:8px; padding:54px 12px 24px; color:#6c7f97; text-align:center; }
.case-empty-state svg { width:150px; height:112px; margin-bottom:3px; }
.case-empty-state strong { color:#435874; font-size:12px; }
.case-empty-state p { max-width:24ch; margin:0; color:#73859c; font-size:11px; line-height:1.5; }
.case-empty-state .text-button { margin-top:3px; padding:5px 8px; color:#07828a; font-size:11px; }
html body.double-left-nav.desktop-side-nav .patient-selector label { position: relative; display: block; }
html body.double-left-nav.desktop-side-nav .patient-selector select { height: 58px; padding: 0 42px 0 52px; border: 1px solid #d9e3ef; border-radius: 12px; color: var(--ink); background: rgba(255,255,255,.92); box-shadow: 0 8px 18px -18px rgba(15,40,81,.6); font: 600 15px var(--sans); }
.case-select-icon { position: absolute; z-index: 1; top: 50%; left: 17px; transform: translateY(-50%); color: #46617f; font-size: 22px; pointer-events: none; }
html body.double-left-nav.desktop-side-nav .sidebar #caseEyebrow { margin: 0 0 10px; color: #6b7e99; font-size: 11px; letter-spacing: .075em; }
html body.double-left-nav.desktop-side-nav .sidebar h1 { margin: 0; color: #0f1f40; font: 600 34px/1.1 var(--display); letter-spacing: -.045em; }
html body.double-left-nav.desktop-side-nav .sidebar .case-meta { margin: 11px 0 0; color: #586b86; font-size: 14px; line-height: 1.5; }
html body.double-left-nav.desktop-side-nav .sidebar .case-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; }.case-meta span { display: inline-flex; align-items: center; gap: 5px; }.case-meta span::before { display: inline-grid; place-items: center; width: 15px; height: 15px; color: #61738e; font-size: 14px; }.case-meta-age::before { content: "○"; }.case-meta-gender::before { content: "◇"; }.case-meta-referral::before { content: "□"; }
html body.double-left-nav.desktop-side-nav .sidebar .chips { display: grid; gap: 9px; margin-top: 18px; }
html body.double-left-nav.desktop-side-nav .sidebar .chip { width: fit-content; padding: 8px 11px; border-radius: 10px; font: 600 12px var(--sans); }
html body.double-left-nav.desktop-side-nav .sidebar .axis-autism { color: #008e98; border-color: #75dbe0; background: #f3feff; }
html body.double-left-nav.desktop-side-nav .sidebar #caseBattery { color: #06939c; background: transparent; }
html body.double-left-nav.desktop-side-nav .sidebar #caseBattery::before { content: "✓"; display: inline-grid; place-items: center; width: 16px; height: 16px; margin-right: 7px; border: 1px solid #04b4bd; border-radius: 50%; font-size: 11px; }
html body.double-left-nav.desktop-side-nav .case-module-nav { display: grid; gap: 5px; margin: 24px 0 0; padding: 17px 0; border: 0; border-top: 1px solid #dce5ef; border-bottom: 1px solid #dce5ef; border-radius: 0; background: transparent; }
html body.double-left-nav.desktop-side-nav .case-module-link { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; min-height: 48px; padding: 10px 11px; color: #566982; border-radius: 11px; font: 600 15px var(--sans); }
html body.double-left-nav.desktop-side-nav .case-module-link:hover { color: #1763cc; background: #f3f7ff; }
html body.double-left-nav.desktop-side-nav .case-module-link.active { color: #1567d0; background: linear-gradient(100deg,#eaf2ff,#f3f7ff); }
.case-module-icon { color: #607390; font-size: 22px; text-align: center; }.case-module-link.active .case-module-icon { color: #1876e5; }.case-module-chevron { color: #64748b; font-size: 27px; font-weight: 400; line-height: .6; }
html body.double-left-nav.desktop-side-nav #testSidebarArea .side-heading { margin: 24px 0 12px; padding: 0; color: #5a6c85; font: 600 13px var(--sans); letter-spacing: .025em; }
html body.double-left-nav.desktop-side-nav #batteryCount { display: grid; place-items: center; min-width: 28px; height: 28px; border-radius: 50%; color: #60718b; background: #f1f5fa; font: 600 13px var(--sans); }
html body.double-left-nav.desktop-side-nav .instrument-list { gap: 10px; }
html body.double-left-nav.desktop-side-nav .instrument { position: relative; grid-template-columns: minmax(0,1fr) auto auto 18px; gap: 9px; min-height: 74px; padding: 14px 12px 14px 17px; border: 1px solid #dbe4ef; border-radius: 11px; background: rgba(255,255,255,.83); box-shadow: 0 8px 16px -18px rgba(25,61,106,.6); }
html body.double-left-nav.desktop-side-nav .instrument::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 0; width: 3px; border-radius: 3px; background: #56a9ff; }
html body.double-left-nav.desktop-side-nav .instrument:has(.status.elevated)::before { background: #16c485; }
html body.double-left-nav.desktop-side-nav .instrument:has(.status.caution)::before { background: #ffb51b; }
html body.double-left-nav.desktop-side-nav .instrument:has(.status.info)::before { background: #8b78ff; }
html body.double-left-nav.desktop-side-nav .instrument:hover,html body.double-left-nav.desktop-side-nav .instrument.active { border-color: #b8d6ff; background: #fff; transform: translateY(-1px); }
html body.double-left-nav.desktop-side-nav .instrument-title { display: block; color: #101d34; font: 700 16px var(--sans); }
html body.double-left-nav.desktop-side-nav .instrument-subtitle { display: block; margin-top: 4px; color: #61738e; font-size: 12px; line-height: 1.3; }
html body.double-left-nav.desktop-side-nav .instrument-score { color: #101d34; font: 600 15px var(--mono); }
html body.double-left-nav.desktop-side-nav .instrument .status { min-width: 98px; padding: 7px 8px; border-radius: 8px; font: 600 11px var(--sans); }
.instrument-chevron { color: #60718b; font-size: 25px; line-height: .7; }
html body.double-left-nav.desktop-side-nav .instrument-pending { border-style: dashed !important; }.instrument-pending .instrument-start { background: #edf7ff; color: #1865bd; font: 600 11px var(--sans); }
html body.double-left-nav.desktop-side-nav .sidebar .primary-button { margin-top: 21px; min-height: 56px; border-radius: 10px; font-size: 15px; }
html body.double-left-nav.desktop-side-nav .sidebar-note { display: flex; gap: 7px; margin: 13px 2px 0; font-size: 11px; }.sidebar-note::before { content: "♙"; color: #627796; }
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 9px; }
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link::before { color: #61738e; font-size: 22px; text-align: center; }
html body.double-left-nav.desktop-side-nav #patientsNav::before { content: "♧"; }
html body.double-left-nav.desktop-side-nav #normsNav::before { content: "▥"; }
html body.double-left-nav.desktop-side-nav .global-sidebar .nav-link.active::before { color: #1775e4; }

/* Case picker with the expanded visual language of the reference. */
.case-picker { position: relative; }
.case-picker-trigger { display: grid; grid-template-columns: 31px minmax(0,1fr) 23px; gap: 10px; align-items: center; width: 100%; min-height: 72px; padding: 14px 17px; border: 2px solid #78d7d8; border-radius: 18px; color: #101d34; background: rgba(255,255,255,.92); box-shadow: 0 10px 22px -18px rgba(21,80,105,.52); text-align: left; cursor: pointer; font: 600 15px/1.35 var(--sans); }
.case-picker-trigger:hover,.case-picker-trigger[aria-expanded="true"] { border-color: #21bfc5; background: #fff; }.case-picker-trigger[aria-expanded="true"] { box-shadow: 0 0 0 3px rgba(39,196,199,.12); }.case-picker-trigger .case-select-icon { position: static; transform: none; color: #516987; font-size: 26px; }.case-picker-chevron { color: #344967; font-size: 29px; line-height: .6; transition: transform .16s; }.case-picker-trigger[aria-expanded="true"] .case-picker-chevron { transform: rotate(180deg); }
.case-picker-menu { position: absolute; z-index: 30; top: calc(100% + 10px); right: 0; left: 0; overflow: hidden; padding: 10px; border: 1px solid #dce5ef; border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 22px 46px -24px rgba(27,63,110,.37); }.case-picker-menu[hidden] { display: none; }
.case-picker-menu button { display: grid; grid-template-columns: 31px minmax(0,1fr) 22px; gap: 10px; align-items: center; width: 100%; min-height: 55px; padding: 10px; border: 0; border-radius: 12px; color: #14213a; background: transparent; text-align: left; cursor: pointer; font: 600 13px/1.35 var(--sans); }.case-picker-menu button:hover,.case-picker-menu button.selected { color: #1359da; background: linear-gradient(100deg,#e9f1ff,#f5f8ff); }.case-option-icon { color: #536b89; font-size: 22px; text-align: center; }.case-option-check { color: #1158db; font-size: 24px; text-align: center; }.case-picker-divider { height: 1px; margin: 8px 5px; background: #dce5ef; }.case-picker-menu .case-picker-action { grid-template-columns: 31px minmax(0,1fr); color: #233755; font-size: 13px; }.case-picker-menu .case-picker-action > span:first-child { color: #536b89; font-size: 22px; text-align: center; }.case-picker-menu .case-picker-new > span:first-child { color: #009f98; font-size: 28px; }.case-picker-menu .case-picker-new:hover { color: #008a85; background: #ebfbfa; }

/* Patient dashboard palette: mint surfaces, teal primary actions, restrained blue/amber cues. */
#patients .section-topline { align-items: center; gap: 24px; } #patients .section-topline h2 { margin: 0; } #patients .new-case-trigger { width: min(58%, 520px); min-height: 48px; margin: 0 0 0 auto; border-radius: 8px; background: linear-gradient(100deg,#078c91,#008785); box-shadow: 0 12px 24px -17px rgba(0,112,112,.74); } #patients .new-case-trigger::before { content: "＋"; margin-right: 8px; font-size: 20px; vertical-align: -1px; } #patients .new-case-trigger:hover { background: linear-gradient(100deg,#057d83,#007777); }
#patients .case-dashboard { margin: 22px 0 20px; } #patients .dashboard-metrics { gap: 18px; } #patients .dashboard-metrics button { display: grid; grid-template-columns: 66px minmax(0,1fr); grid-template-rows: 1fr 1fr; column-gap: 14px; min-height: 100px; padding: 16px 18px; border-color: #e0e8ef; border-radius: 10px; color: #5d6f86; background: rgba(255,255,255,.92); box-shadow: 0 10px 20px -17px rgba(26,62,104,.42); } #patients .dashboard-metrics button::before { grid-row: 1 / span 2; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; color: #008b90; background: #eaf8f7; font: 600 27px var(--sans); } #patients .dashboard-metrics button:nth-child(1)::before { content: "▧"; } #patients .dashboard-metrics button:nth-child(2)::before { content: "◷"; } #patients .dashboard-metrics button:nth-child(3)::before { content: "✓"; } #patients .dashboard-metrics button:nth-child(4)::before { content: "✓"; } #patients .dashboard-metrics button:hover { border-color: #9cdddd; background: #fff; transform: translateY(-2px); } #patients .dashboard-metrics strong { align-self: end; color: #101d34; font-size: 27px; } #patients .dashboard-metrics span { align-self: start; font-size: 12px; }
#patients .dashboard-queues { gap: 22px; margin-top: 20px; } #patients .dashboard-queues article { min-height: 255px; padding: 20px; border-color: #e1e9ef; border-radius: 10px; background: rgba(255,255,255,.9); box-shadow: 0 10px 20px -18px rgba(25,63,102,.35); } #patients .dashboard-section-head > span { color: #008a87; background: #e7f7f5; } #patients .dashboard-queues li button { border-color: #eef2f5; background: #fff; } #patients .dashboard-queues li button:hover { border-color: #a8dfdf; background: #fbffff; } #patients .dashboard-queues b { color: #008b90; } #patients .dashboard-empty { border: 1px solid #cdeceb; color: #63768b; background: #f3fbfb; }
#patients .case-list-filters { padding: 15px 18px; border-color: #e1e9ef; border-radius: 10px; background: rgba(255,255,255,.9); box-shadow: 0 8px 18px -20px rgba(25,63,102,.38); } #patients .case-list-filters input:focus,#patients .case-list-filters select:focus { outline: 2px solid rgba(0,171,174,.25); border-color: #77d5d5; }
#patients .patient-grid { gap: 24px; } #patients .patient-card { min-height: 365px; padding: 20px; border-top-width: 0; border-color: #e0e8ef; border-radius: 11px; background: rgba(255,255,255,.94); box-shadow: 0 12px 22px -20px rgba(25,63,102,.45); } #patients .patient-card:nth-of-type(1) { border-top: 4px solid #078f90; } #patients .patient-card:nth-of-type(2) { border-top: 4px solid #3568c8; } #patients .patient-card:nth-of-type(3) { border-top: 4px solid #d98200; } #patients .patient-card:nth-of-type(4) { border-top: 4px solid #9aa9bb; } #patients .patient-avatar { background: linear-gradient(145deg,#008f92,#007b87); } #patients .patient-card:nth-of-type(2) .patient-avatar { background: linear-gradient(145deg,#517ee0,#315cae); } #patients .patient-card:nth-of-type(3) .patient-avatar { background: linear-gradient(145deg,#e49922,#c66f00); } #patients .patient-card h3 { color: #12213a; font-size: 22px; } #patients .patient-summary { min-height: 66px; margin: 12px 0 14px; font-size: 12px; } #patients .patient-scores { padding-top: 12px; } #patients .patient-score i { height: 5px; background: #eef2f5; } #patients .patient-score i b { background: #008f90; } #patients .patient-card:nth-of-type(2) .patient-score i b { background: #3568c8; } #patients .patient-card:nth-of-type(3) .patient-score i b { background: #d98200; } #patients .patient-card .primary-button { min-height: 44px; margin-top: 18px; border-radius: 7px; background: linear-gradient(100deg,#078e91,#008685); box-shadow: none; font-size: 13px; } #patients .patient-card .primary-button:hover { filter: brightness(.95); } #patients .case-list-stage { color: #3568c8; background: #edf2ff; }
@media (max-width: 900px) { #patients .new-case-trigger { width: auto; margin-left: 0; } #patients .dashboard-metrics { gap: 10px; } #patients .patient-grid { gap: 16px; } }
