/* =====================================================================
   ReParole Pro v4 — styles additionnels : tableau de bord orthophoniste,
   analyse des erreurs, photos personnelles, rapport imprimable.
   ===================================================================== */

.prompt-photo{max-width:220px;max-height:220px;border-radius:16px;object-fit:cover;margin:0 auto 10px;display:block;box-shadow:var(--shadow)}

.pro-tag{font-size:.62rem;background:var(--warm);color:#fff;padding:2px 9px;border-radius:20px;margin-left:6px;vertical-align:middle;font-weight:700}

.cloud-warning{background:var(--warm-soft);color:var(--warm);border-radius:10px;padding:12px 14px;font-size:.82rem;margin-bottom:18px;text-align:left}
.cloud-warning code{background:#00000010;padding:1px 5px;border-radius:5px}

.patient-list{display:grid;gap:10px;margin-top:6px}
.patient-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface-soft);cursor:pointer;transition:.15s}
.patient-row:hover{border-color:var(--accent);background:var(--accent-soft)}
.patient-row .p-name{font-weight:600}
.patient-row .p-meta{font-size:.78rem;color:var(--ink-soft)}

.disclaimer{font-size:.78rem;color:var(--ink-soft);background:var(--accent-soft);border-radius:10px;padding:10px 12px;margin-bottom:14px}
.dominant-box{background:var(--surface-soft);border:1.5px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px;font-weight:600;color:var(--accent-dark)}
.error-bars{display:grid;gap:10px}
.error-bar-row{display:grid;grid-template-columns:150px 1fr 34px;align-items:center;gap:10px;font-size:.85rem}
.error-bar-track{background:var(--line);border-radius:8px;height:14px;overflow:hidden}
.error-bar-fill{height:100%;background:var(--accent);border-radius:8px}
.error-bar-fill.phonological{background:var(--warm)}
.error-bar-fill.syntax{background:#7c6fb0}
.error-bar-fill.omission{background:var(--error)}

.history-table{display:grid;gap:6px;font-size:.85rem}
.history-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}
.history-row.head{font-weight:700;color:var(--ink-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}

.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}
.media-item{text-align:center}
.media-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:1.5px solid var(--line)}
.media-item .m-label{font-size:.75rem;color:var(--ink-soft);margin-top:4px}
.media-empty{color:var(--ink-soft);font-size:.85rem}

.upload-photo-form{display:grid;gap:10px;margin-top:14px}
.upload-photo-form input[type=text]{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:.95rem}

/* -------- Rapport imprimable -------- */
.report-page{max-width:720px;margin:0 auto;padding:32px 24px;background:#fff}
.report-header{border-bottom:3px solid var(--accent);padding-bottom:14px;margin-bottom:20px}
.report-header h1{color:var(--accent-dark);font-size:1.7rem}
.report-header .r-sub{color:var(--ink-soft);font-size:.9rem;margin-top:4px}
.report-section{margin-bottom:22px}
.report-section h2{font-size:1.05rem;color:var(--accent-dark);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:10px}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}
.report-grid .num{font-family:'Source Sans 3',sans-serif;font-size:1.6rem;color:var(--accent-dark)}
.report-grid .lab{font-size:.75rem;color:var(--ink-soft)}
.report-note{font-size:.78rem;color:var(--ink-soft);background:var(--accent-soft);border-radius:10px;padding:10px 12px;margin-top:16px}
.report-print-btn{margin:20px 0}
@media print{
  .no-print{display:none !important}
  body{background:#fff}
  .report-page{padding:0}
}
