/* Carte diagnostic liaison — styles isolés, tokens thème hérités */
.linkdiag28-card {
  --ld28-paper: var(--paper, #fff);
  --ld28-ink: var(--ink, #111);
  --ld28-muted: var(--muted, #514a3d);
  --ld28-edge: var(--lime, var(--accent, #174e3c));
  --ld28-accent: var(--accent, #ffd000);
  --ld28-good: #174e3c;
  --ld28-good-bg: #e8f5e9;
  --ld28-bad: #823a20;
  --ld28-bad-bg: #fff0e5;
  color: var(--ld28-ink);
  background: var(--ld28-paper);
  border: 2px solid var(--ld28-edge);
  border-radius: 9px;
  padding: 13px;
  margin-top: 12px;
  box-shadow: 3px 4px 0 var(--shadow, rgba(0,0,0,.22));
  font: inherit;
}
html[data-appearance="dark"] .linkdiag28-card { --ld28-good: #b9eac0; --ld28-good-bg: #20382d; --ld28-bad: #ffd9d2; --ld28-bad-bg: #4c2523; }
html[data-appearance="glass"] .linkdiag28-card { --ld28-edge: var(--lime, #fff); --ld28-good: #c6fbdc; --ld28-good-bg: #124f56; --ld28-bad: #ffd9d2; --ld28-bad-bg: #4c2523; }
.linkdiag28-head { display:flex; align-items:center; gap:10px; }
.linkdiag28-icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border:2px solid currentColor; border-radius:7px; background:var(--ld28-accent); color:var(--on-accent, #111); font-size:20px; font-weight:900; }
.linkdiag28-titlebox h4 { margin:0 0 3px; font-size:14px; line-height:1.3; font-weight:900; }
.linkdiag28-titlebox p { margin:0; color:var(--ld28-muted); font-size:10px; line-height:1.45; }
.linkdiag28-desc { margin:11px 0 13px; color:var(--ld28-muted); font-size:11px; line-height:1.6; }
.linkdiag28-run, .linkdiag28-again { min-height:42px; border:2px solid var(--ld28-edge); border-radius:6px; padding:9px 12px; background:var(--ld28-accent); color:var(--on-accent, #111); box-shadow:3px 4px 0 var(--shadow, rgba(0,0,0,.22)); font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.linkdiag28-run { width:100%; }
.linkdiag28-again { background:var(--ld28-paper); color:var(--ld28-ink); min-height:38px; box-shadow:2px 3px 0 var(--shadow, rgba(0,0,0,.22)); }
.linkdiag28-run:focus-visible, .linkdiag28-again:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.linkdiag28-run:disabled { opacity:.72; cursor:wait; }
.linkdiag28-loading { display:flex; align-items:center; gap:9px; margin:13px 0 0; font-size:11px; line-height:1.5; }
.linkdiag28-loading:before { content:""; width:15px; height:15px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:linkdiag28-spin .7s linear infinite; flex:0 0 auto; }
@keyframes linkdiag28-spin { to { transform:rotate(360deg); } }
.linkdiag28-result { margin:14px 0 0; padding-top:13px; border-top:1px solid currentColor; }
.linkdiag28-result-head { display:flex; align-items:flex-start; gap:10px; }
.linkdiag28-symbol { width:28px; height:28px; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; font-weight:900; flex:0 0 28px; }
.linkdiag28-result-title { margin:0 0 3px; font-size:14px; line-height:1.35; font-weight:900; }
.linkdiag28-result-label { margin:0; color:var(--ld28-muted); font-size:9px; letter-spacing:.7px; text-transform:uppercase; }
.linkdiag28-message { margin:11px 0; font-size:11px; line-height:1.65; }
.linkdiag28-checks { list-style:none; display:grid; gap:7px; margin:12px 0; padding:0; }
.linkdiag28-check { display:flex; align-items:center; gap:8px; font-size:11px; line-height:1.4; }
.linkdiag28-check-ok { color:var(--ld28-good); }
.linkdiag28-check-error { color:var(--ld28-bad); }
.linkdiag28-check-waiting { color:var(--ld28-muted); }
.linkdiag28-check-symbol { width:18px; height:18px; display:grid; place-items:center; border:1px solid currentColor; border-radius:4px; font-size:10px; font-weight:900; flex:0 0 18px; }
.linkdiag28-action { margin:12px 0; padding:8px 10px; border-left:3px solid currentColor; background:var(--surface-hi, rgba(127,127,127,.10)); font-size:11px; line-height:1.65; }
.linkdiag28-action strong { display:block; margin-bottom:2px; font-size:10px; }
.linkdiag28-result[data-kind="success"] .linkdiag28-result-head { color:var(--ld28-good); }
.linkdiag28-result[data-kind="timeout"] .linkdiag28-result-head,
.linkdiag28-result[data-kind="closed"] .linkdiag28-result-head { color:var(--ld28-bad); }
.linkdiag28-result[data-kind="partial"] .linkdiag28-result-head { color:var(--gold, #8a5b00); }
.linkdiag28-result[data-kind="waiting"] .linkdiag28-result-head,
.linkdiag28-result[data-kind="cancelled"] .linkdiag28-result-head { color:var(--ld28-muted); }
@media (max-width:600px) {
  .linkdiag28-card { padding:12px; }
  .linkdiag28-titlebox h4 { font-size:15px; }
  .linkdiag28-desc, .linkdiag28-message, .linkdiag28-action, .linkdiag28-check { font-size:12px; }
  .linkdiag28-run { min-height:47px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .linkdiag28-loading:before { animation:none; } }
