/* Fase 5 — Dashboard pro extensions (galerie, projets, messages, stats, QR, phone, report) */

/* Galerie */
.apb-dashboard-gallery { padding:20px 0; }
.apb-dashboard-gallery__head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; }
.apb-dashboard-gallery__quota { color:#6B7280; font-size:0.9rem; margin:0; }
.apb-dashboard-gallery__upload input[type=file] { display:none; }
.apb-dashboard-gallery__upload .apb-btn { display:inline-block; cursor:pointer; }
.apb-dashboard-gallery__hint { color:#6B7280; font-size:0.85rem; margin:8px 0 16px 0; }
.apb-dashboard-gallery__full { padding:12px 16px; background:#FEF3C7; border-radius:10px; color:#92400E; }
.apb-dashboard-gallery__grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:12px; margin-top:16px; }
.apb-dashboard-gallery__item { position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:10px; background:#F7F8FA; }
.apb-dashboard-gallery__item img { width:100%; height:100%; object-fit:cover; }
.apb-dashboard-gallery__delete { position:absolute; top:6px; right:6px; background:rgba(0,0,0,0.6); color:#fff; border:none; border-radius:50%; width:28px; height:28px; cursor:pointer; font-size:1.2rem; line-height:1; }
.apb-dashboard-gallery__delete:hover { background:#DC2626; }

/* Projets avant/après */
.apb-dashboard-projets { padding:20px 0; }
.apb-dashboard-projets__head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; }
.apb-dashboard-projets__quota { color:#6B7280; font-size:0.9rem; margin:0; }
.apb-dashboard-projets__list { display:grid; gap:16px; margin-bottom:24px; }
.apb-projet-card { background:#FFFFFF; border:1px solid #E2E6EA; border-radius:16px; padding:16px; }
.apb-projet-card h4 { margin:0 0 12px 0; color:#185FA5; }
.apb-projet-card__imgs { display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:12px; }
.apb-projet-card__imgs img { width:100%; border-radius:10px; }
.apb-projet-card__label { display:block; font-size:0.85rem; color:#6B7280; margin-bottom:4px; }
.apb-projet-form { background:#F7F8FA; border-radius:16px; padding:16px; }
.apb-projet-form h4 { margin:0 0 12px 0; color:#185FA5; }
.apb-projet-form__files { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width:600px) { .apb-projet-form__files { grid-template-columns: 1fr; } }

/* Upgrade notice (tier locked) */
.apb-upgrade-notice { padding:24px; background:#EBF3FB; border:1px solid #93C5FD; border-radius:16px; text-align:center; }
.apb-upgrade-notice p { margin:0 0 12px 0; color:#0C447C; }

/* Messages inbox */
.apb-dashboard-messages { padding:20px 0; }
.apb-dashboard-messages__head { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.apb-dashboard-messages__head h3 { margin:0; }
.apb-messages-list { list-style:none; padding:0; margin:0; }
.apb-message { background:#FFFFFF; border:1px solid #E2E6EA; border-radius:12px; padding:16px; margin-bottom:12px; transition:background 0.2s; }
.apb-message--unread { background:#EBF3FB; border-color:#93C5FD; }
.apb-message__head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:8px; font-size:0.9rem; }
.apb-message__date { color:#6B7280; margin-left:auto; }
.apb-message__content { margin:0 0 12px 0; line-height:1.5; }

/* Stats */
.apb-dashboard-stats { padding:20px 0; }
.apb-stats-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:16px; margin-bottom:24px; }
.apb-stat-card { background:#FFFFFF; border:1px solid #E2E6EA; border-radius:16px; padding:20px; text-align:center; }
.apb-stat-card strong { display:block; font-size:2rem; color:#185FA5; line-height:1; margin-bottom:4px; }
.apb-stat-card span { color:#6B7280; font-size:0.9rem; }
.apb-stats-chart__title { color:#185FA5; margin:0 0 12px 0; }
.apb-stats-chart { display:flex; gap:3px; align-items:flex-end; padding:12px; background:#F7F8FA; border-radius:12px; overflow-x:auto; min-height:160px; }
.apb-stats-chart__bar { display:flex; flex-direction:column; align-items:center; min-width:22px; }
.apb-stats-chart__bar span { display:block; width:16px; background:#185FA5; border-radius:4px 4px 0 0; }
.apb-stats-chart__bar label { font-size:0.75rem; color:#6B7280; margin-top:4px; }

/* QR code */
.apb-qr-code { text-align:center; padding:20px; background:#F7F8FA; border-radius:16px; max-width:320px; }
.apb-qr-code h4 { margin:0 0 8px 0; color:#185FA5; }
.apb-qr-code__desc { color:#6B7280; font-size:0.9rem; margin-bottom:16px; }
.apb-qr-code img { max-width:220px; height:auto; border-radius:8px; background:#fff; padding:8px; }
.apb-qr-code__url { font-size:0.8rem; color:#6B7280; margin-top:8px; word-break:break-all; }
.apb-qr-code__fallback code { background:#fff; padding:6px 10px; border-radius:6px; font-size:0.85rem; display:inline-block; word-break:break-all; }

/* Phone masqué */
.apb-phone { display:inline-flex; align-items:center; gap:12px; }
.apb-phone__masked { font-family: 'Courier New', monospace; font-size:1rem; color:#1A1A2E; }

/* Report */
.apb-report summary { cursor:pointer; display:inline-block; }
.apb-report[open] summary { margin-bottom:12px; }
.apb-report-form { background:#F7F8FA; border-radius:12px; padding:16px; max-width:480px; }
