/* ═══════════════════════════════════════════════════════════════════
   Suivi de dossier — METFP
   Design system (tokens Sprint 0). Style administration numérique.
   ═══════════════════════════════════════════════════════════════════ */

.sv-hero{background:linear-gradient(135deg,var(--color-navy) 0%,var(--color-primary) 100%);padding:var(--space-12) var(--space-4) var(--space-16);text-align:center;color:var(--color-white);}
.sv-hero__badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-4);}
.sv-hero__title{font-size:clamp(var(--font-size-2xl),5vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);color:var(--color-gold) ;}
.sv-hero__subtitle{font-size:var(--font-size-lg);opacity:.85;max-width:560px;margin:0 auto;line-height:var(--line-height-relaxed);}

.sv-wrap{max-width:var(--container-max);margin:calc(-1*var(--space-10)) auto 0;padding:0 var(--space-4) var(--space-20);position:relative;z-index:2;}

/* ── Carte de recherche ── */
.sv-search{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;margin-bottom:var(--space-8);}
.sv-tabs{display:flex;border-bottom:1px solid var(--color-neutral-200);}
.sv-tab{flex:1;padding:var(--space-4);background:var(--color-neutral-50);border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-600);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-fast);}
.sv-tab:hover{color:var(--color-primary-600);}
.sv-tab.is-active{background:var(--color-white);color:var(--color-primary-700,#0a5c30);box-shadow:inset 0 -2px 0 var(--color-primary-600);}
.sv-tab-content{display:none;padding:var(--space-6);}
.sv-tab-content.is-active{display:block;}

/* ── Synthèse ── */
.sv-card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:var(--space-6);animation:sv-fade .4s ease-out;}
@keyframes sv-fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.sv-status{display:flex;gap:var(--space-5);align-items:flex-start;padding:var(--space-6);}
.sv-status--success{background:linear-gradient(135deg,#e9f9ef,#f3fbf6);}
.sv-status--info{background:linear-gradient(135deg,#e8f1fd,#f4f8fe);}
.sv-status--danger{background:linear-gradient(135deg,#fdecec,#fdf5f5);}
.sv-status--neutral{background:var(--color-neutral-50);}
.sv-status__ico{width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;}
.sv-status--success .sv-status__ico{background:#1a7f43;}
.sv-status--info .sv-status__ico{background:#2563b8;}
.sv-status--danger .sv-status__ico{background:#b23b3b;}
.sv-status--neutral .sv-status__ico{background:var(--color-neutral-500);}
.sv-status__body{flex:1;min-width:0;}
.sv-status__label{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin-bottom:var(--space-1);}
.sv-status__msg{font-size:var(--font-size-sm);color:var(--color-neutral-700);line-height:var(--line-height-relaxed);}

/* Barre de progression */
.sv-progress{margin-top:var(--space-4);}
.sv-progress__track{height:8px;border-radius:var(--radius-full);background:var(--color-neutral-200);overflow:hidden;}
.sv-progress__bar{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));transition:width .6s ease;}
.sv-status--danger .sv-progress__bar{background:#b23b3b;}
.sv-progress__pct{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:var(--space-1);font-weight:var(--font-weight-medium);}

/* ── Synthèse infos ── */
.sv-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-neutral-200);}
.sv-meta__lbl{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-400);font-weight:var(--font-weight-medium);margin-bottom:2px;}
.sv-meta__val{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);}

/* ── Section titre ── */
.sv-section{padding:var(--space-6);}
.sv-section__title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--space-5);}
.sv-section__title i{color:var(--color-primary-600);}

/* ── Timeline ── */
.sv-timeline{position:relative;padding-left:var(--space-2);}
.sv-tl{position:relative;display:flex;gap:var(--space-4);padding-bottom:var(--space-6);}
.sv-tl:last-child{padding-bottom:0;}
.sv-tl__rail{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.sv-tl__dot{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1rem;background:var(--color-white);border:2px solid var(--color-neutral-300);color:var(--color-neutral-400);z-index:1;transition:all var(--transition-base);}
.sv-tl__line{flex:1;width:2px;background:var(--color-neutral-200);margin:4px 0;}
.sv-tl:last-child .sv-tl__line{display:none;}
.sv-tl__content{flex:1;padding-bottom:var(--space-2);}
.sv-tl__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:2px;}
.sv-tl__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);}
.sv-tl__desc{font-size:var(--font-size-sm);color:var(--color-neutral-600);line-height:var(--line-height-relaxed);}
.sv-tl__date{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;}
.sv-tl__date i{color:var(--color-neutral-400);}
.sv-tl__svc{color:var(--color-neutral-400);}

/* États timeline */
.sv-tl--done .sv-tl__dot{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff;}
.sv-tl--done .sv-tl__line{background:var(--color-primary-500);}
.sv-tl--current .sv-tl__dot{background:var(--color-white);border-color:var(--color-primary-600);color:var(--color-primary-600);box-shadow:0 0 0 4px rgba(0,122,61,.12);animation:sv-pulse 1.8s ease-in-out infinite;}
.sv-tl--current .sv-tl__title{color:var(--color-primary-700,#0a5c30);}
.sv-tl--rejected .sv-tl__dot{background:#b23b3b;border-color:#b23b3b;color:#fff;}
.sv-tl--rejected .sv-tl__title{color:#b23b3b;}
@keyframes sv-pulse{0%,100%{box-shadow:0 0 0 4px rgba(0,122,61,.12)}50%{box-shadow:0 0 0 8px rgba(0,122,61,.04)}}

/* Badges étape */
.sv-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:3px 9px;border-radius:var(--radius-full);}
.sv-badge--done{background:var(--color-primary-100);color:var(--color-primary-700,#0a5c30);}
.sv-badge--current{background:#e8f1fd;color:#2563b8;}
.sv-badge--pending{background:var(--color-neutral-100);color:var(--color-neutral-500);}
.sv-badge--rejected{background:var(--color-danger-light);color:#b23b3b;}

/* ── Encart refus / info ── */
.sv-note{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-5);border-radius:var(--radius-lg);margin:var(--space-2) var(--space-6) var(--space-6);}
.sv-note--danger{background:var(--color-danger-light);border:1px solid rgba(192,57,43,.25);}
.sv-note--info{background:var(--color-info-light);border:1px solid rgba(41,128,185,.25);}
.sv-note__ico{font-size:1.3rem;flex-shrink:0;}
.sv-note--danger .sv-note__ico{color:var(--color-danger);}
.sv-note--info .sv-note__ico{color:var(--color-info);}
.sv-note__title{font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:2px;}
.sv-note__desc{font-size:var(--font-size-sm);color:var(--color-neutral-700);line-height:var(--line-height-relaxed);}

/* ── Historique ── */
.sv-history{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);}
.sv-history thead th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-neutral-50);color:var(--color-neutral-600);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-neutral-200);}
.sv-history tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-neutral-200);color:var(--color-neutral-800);}
.sv-history tbody tr:last-child td{border-bottom:none;}
.sv-history__date{white-space:nowrap;color:var(--color-neutral-500);}

/* ── Aide / contact ── */
.sv-help{background:var(--color-info-light);border:1px solid rgba(41,128,185,.2);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);}
.sv-help h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#1c5a86;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);}
.sv-help ul{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2);}
.sv-help li{font-size:var(--font-size-sm);color:#1c5a86;line-height:var(--line-height-relaxed);}

.sv-empty{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-10) var(--space-6);text-align:center;}
.sv-empty__ico{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-neutral-100);color:var(--color-neutral-400);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto var(--space-4);}
.sv-empty h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--space-2);}
.sv-empty p{font-size:var(--font-size-sm);color:var(--color-neutral-600);max-width:420px;margin:0 auto var(--space-4);}
.sv-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;}

@media(max-width:640px){
  .sv-tab{font-size:0;gap:0;}
  .sv-tab i{font-size:var(--font-size-base);}
  .sv-tab::after{content:attr(data-short);font-size:var(--font-size-sm);margin-left:var(--space-1);}
  .sv-status{flex-direction:column;}
  .sv-meta{grid-template-columns:1fr 1fr;}
  .sv-history thead{display:none;}
  .sv-history tbody tr{display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--color-neutral-200);}
  .sv-history tbody td{display:flex;justify-content:space-between;gap:var(--space-3);padding:2px var(--space-2);border:none;}
  .sv-history tbody td::before{content:attr(data-lbl);font-size:var(--font-size-xs);color:var(--color-neutral-400);text-transform:uppercase;}
}
@media (prefers-reduced-motion: reduce){
  .sv-card,.sv-tl--current .sv-tl__dot{animation:none!important;}
}
