/* Compléments pour l'espace partenaire (s'ajoute à ../app/css/app.css) */
.pro-tag { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.segmented { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 4px; }
.segmented button { height: 40px; border: none; border-radius: 10px; background: none; color: var(--muted); font-weight: 600; font-size: 13px; }
.segmented button[aria-pressed="true"] { background: var(--grad); color: var(--on-primary); }
.kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; font-size: 12px; }
.kpis div { display: flex; flex-direction: column; gap: 2px; }
.kpis span { color: #c7c2db; }
.kpis strong { font-size: 15px; }
.stepper { display: flex; align-items: center; justify-content: space-between; }
.stepper button { width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--field); background: var(--surface-2); font-size: 22px; font-weight: 600; color: var(--cyan); }
.stepper button.plus-btn { background: var(--grad); color: var(--on-primary); border: none; }
.stepper output { font-family: var(--display); font-size: 34px; font-weight: 700; color: var(--teal); }
.qr-card { background: #ffffff; color: #07070f; border-radius: 20px; padding: 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.qr-card svg { width: 220px; height: 220px; }
.qr-code-text { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; color: #4a4560; word-break: break-all; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.qr-code-text small { font-family: var(--font); font-size: 11px; }
.item.res { flex-wrap: wrap; }
.item.res .actions-inline { width: 100%; justify-content: flex-end; }
.check-row { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.check-row input { width: 22px; height: 22px; accent-color: var(--teal); }
.actions-inline { display: flex; gap: 8px; flex-wrap: wrap; }
.dot { width: 8px; height: 8px; border-radius: 4px; background: var(--ok); display: inline-block; }

#print-area { display: none; }
@media print {
  body > *:not(#print-area) { display: none !important; }
  #print-area { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 18px; min-height: 100vh; font-family: var(--font); color: #000; text-align: center; }
  #print-area h1 { font-size: 34pt; margin: 0; }
  #print-area p { font-size: 16pt; margin: 0; }
  #print-area svg { width: 12cm; height: 12cm; }
  #print-area .code { font-family: monospace; font-size: 14pt; letter-spacing: 2px; }
  #print-area .brand { justify-content: center; font-size: 22pt; }
  @page { margin: 1.5cm; }
}
/* Services : aperçu des points et actions */
.pts-preview { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--teal-soft); font-size: 14px; }
.pts-preview b { color: var(--teal); font-family: var(--display); font-size: 16px; }
.svc-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.link-btn { background: none; border: 0; padding: 4px 0; color: var(--teal); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: underline; }
.item .end { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: end; }
.item .end small { font-size: 11px; }
