/* ==========================================================================
   COMPOSANTS PARTAGÉS — badges, KPI, champs, boutons, documents
   ========================================================================== */
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11.5px;font-weight:600;}
.badge.success{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success);}
.badge.danger{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);}
.badge.neutral{background:var(--surface2);color:var(--mist);border:1px solid var(--line);}

.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;}
.kpi{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:11px 12px;}
.kpi-label{font-size:10.5px;color:var(--mist);text-transform:uppercase;letter-spacing:.05em;}
.kpi-value{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:600;margin-top:3px;}

.field-block{margin:14px 0;}
.field-label{font-size:10.5px;color:var(--mist);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-weight:600;}
.field-value{font-size:14.5px;line-height:1.5;}
.field-value.mono{font-family:'IBM Plex Mono',monospace;}

.progress-track{height:7px;border-radius:100px;background:var(--surface3);overflow:hidden;margin-top:8px;}
.progress-fill{height:100%;background:var(--success);border-radius:100px;transition:width .4s ease;}

.section-title{
  font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;
  margin:22px 0 10px;display:flex;align-items:center;justify-content:space-between;
}
.doc-row{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;margin-bottom:7px;}
.doc-row.clickable{cursor:pointer;}
.doc-row.clickable:hover{border-color:var(--line-strong);}
.doc-icon{flex-shrink:0;color:var(--mist);}
.doc-meta{min-width:0;flex:1;}
.doc-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-sub{font-size:11px;color:var(--mist);margin-top:1px;}
.doc-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.tag{display:inline-block;background:var(--surface3);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:10.5px;color:var(--mist);}

.btn{
  display:flex;align-items:center;justify-content:center;gap:7px;width:100%;
  padding:12px 14px;border-radius:11px;border:1px solid var(--line);
  background:var(--surface2);color:var(--ink);font-size:13.5px;font-weight:600;margin-top:8px;
  transition:background .15s,border-color .15s,transform .1s;
}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.btn:active{transform:scale(.98);}
.btn:disabled{opacity:.55;pointer-events:none;}
.btn.primary{background:var(--ember);color:var(--ember-ink);border-color:transparent;}
.btn.ghost{background:none;}
.btn.danger-ghost{background:none;color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);}
.btn-row{display:flex;gap:8px;}
.btn-row .btn{margin-top:8px;}

.subtle-actions{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;}
.subtle-link{background:none;border:none;color:var(--mist);font-size:12px;text-align:left;padding:6px 2px;}
.subtle-link.danger{color:var(--danger);}
