/* Cloud 2.1: honest partial scores, accessible uploads and full dossier printing. */
.competency-result { padding:14px 0; border-bottom:1px solid #e6e7e2; }
.competency-result .row { gap:16px; align-items:baseline; font-size:13px; }
.competency-result .bar { margin:10px 0 0; }
.competency-result .fieldhint { margin-top:6px; line-height:1.55; }
.file-picker { position:relative; margin-top:10px; }
.file-choice-input { position:absolute; width:1px!important; height:1px!important; padding:0!important; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.file-choice-input:focus-visible + .file-choice-label { outline:3px solid #545454; outline-offset:3px; }
.file-choice-label { display:inline-flex; cursor:pointer; margin:0; }
.file-choice-input:disabled + .file-choice-label { opacity:.6; cursor:wait; }
#print-root { display:none; }
@media print {
 @page { size:A4; margin:14mm 13mm 16mm; @bottom-right { content:counter(page) " / " counter(pages); font:9pt Arial,sans-serif; color:#555; } }
 body.print-dossier { background:white!important; }
 body.print-dossier > * { display:none!important; }
 body.print-dossier > #print-root { display:block!important; }
 .dossier-export { color:#202325; font-family:Raleway,Arial,sans-serif; font-size:10pt; line-height:1.4; }
 .dossier-export * { box-sizing:border-box; }
 .dossier-export h1 { font-size:24pt; line-height:1.15; margin:5px 0 12px; }
 .dossier-export h2 { font-size:16pt; line-height:1.25; margin:22px 0 12px; padding-bottom:8px; border-bottom:3px solid #ffcd05; }
 .dossier-export h3 { font-size:12pt; line-height:1.35; margin:12px 0 8px; }
 .dossier-export h4 { font-size:10pt; line-height:1.4; margin:10px 0 4px; }
 .dossier-export h1,.dossier-export h2,.dossier-export h3,.dossier-export h4,.dossier-question header { break-after:avoid; page-break-after:avoid; }
 .dossier-export p { margin:6px 0 10px; }
 .dossier-export p,.dossier-export li,.dossier-answer { orphans:3; widows:3; overflow-wrap:anywhere; }
 .dossier-export ul,.dossier-export ol { padding-left:20px; margin:5px 0 12px; }
 .dossier-export li { padding:2px 0; }
 .dossier-header { display:flex; align-items:center; gap:25px; padding:5px 0 18px; border-bottom:1px solid #ddd; }
 .dossier-header img { width:130px; height:auto; }
 .dossier-header p { margin:3px 0; }
 .dossier-kicker { font-size:8pt; font-weight:700; letter-spacing:.9px; text-transform:uppercase; color:#545454; }
 .dossier-meta { font-size:8.5pt; color:#545454; }
 .dossier-verdict { background:#fff7d1!important; border:1px solid #e6c957; padding:12px 15px; margin:10px 0 15px; break-inside:avoid; }
 .dossier-notice { padding:10px 12px; border-left:3px solid #ffcd05; background:#faf9f3!important; margin:10px 0; font-size:9pt; }
 .dossier-table { border-collapse:collapse; width:100%; table-layout:fixed; font-size:9pt; margin:12px 0 18px; }
 .dossier-table th { text-align:left; background:#f1f2ed!important; font-weight:700; }
 .dossier-table td,.dossier-table th { padding:6px; border-bottom:1px solid #ddd; vertical-align:middle; word-wrap:break-word; }
 .dossier-table th:first-child { width:29%; }
 .dossier-table th:nth-child(2) { width:15%; }
 .dossier-table th:nth-child(3) { width:17%; }
 .dossier-table,.dossier-table tr { break-inside:avoid; }
 .dossier-table thead { display:table-header-group; }
 .dossier-newpage { break-before:page; page-break-before:always; }
 .dossier-module-lead { break-inside:avoid; break-after:avoid; }
 .dossier-module { break-before:auto; page-break-before:auto; }
 .dossier-question-lead,.dossier-question header { break-inside:avoid; page-break-inside:avoid; }
 .dossier-question .dossier-field { break-inside:avoid; }
 .dossier-question { border-top:1px solid #d9dad5; padding-top:10px; margin-top:14px; break-inside:auto; }
 .dossier-question:first-of-type { border-top:0; }
 .dossier-answer { white-space:pre-wrap; background:#f7f7f4!important; border:1px solid #e1e2da; padding:6px 10px; }
 .dossier-field { margin:7px 0; }
 .dossier-instruction { white-space:pre-wrap; line-height:1.6; }
 .dossier-end { margin-top:24px; border-top:1px solid #ddd; padding-top:12px; font-size:8.5pt; }
}
/* Cloud 2.2: saved-state review filters and inert file preview. */
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}
.review-toolbar h3,.review-toolbar p{margin:0 0 8px}.review-filter-label{min-width:280px;font-size:13px;font-weight:700}
.review-filter-label select{margin-top:6px}.review-file-controls{margin:16px 0}.review-file-controls .callout{font-size:13px}
.preview-content{max-height:40vh;overflow:auto;margin:20px 0;border:1px solid #ddd;border-radius:12px;padding:18px;background:#fff}
.preview-paragraph{padding:10px 0;border-bottom:1px solid #eee}.preview-paragraph small{color:#545454}.preview-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px}
.preview-table-scroll{max-width:100%;overflow:auto}.preview-table-scroll table{width:100%;border-collapse:collapse;font-size:12px}
.preview-table-scroll th,.preview-table-scroll td{padding:8px;border:1px solid #ddd;white-space:pre-wrap;overflow-wrap:anywhere;min-width:65px;max-width:260px}
.preview-table-scroll th{background:#fff3b0}.preview-table-scroll code{font-size:12px}.preview-content p{font-size:13px}
@media(max-width:700px){.review-toolbar{align-items:stretch;flex-direction:column}.review-filter-label{min-width:0;width:100%}.preview-content{padding:10px}.review-file-controls .btn{white-space:normal}}
