/* Sama Correction 3.0 — système de design « Copie claire ».
   Une seule source de vérité : les jetons ci-dessous. Les couches fixent la
   priorité sans `!important` : jetons < base < ancien (feuille 2.1.3 convertie)
   < composants < gabarit < pages < utilitaires. */
@layer jetons, base, ancien, composants, gabarit, pages, cahier, utilitaires;

/* ---------------------------------------------------------------- polices */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("polices/inter-latin-400-normal.da03732a27e1.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("polices/inter-latin-500-normal.51205681a1ba.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("polices/inter-latin-600-normal.2ede57db1a3a.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("polices/space-grotesk-latin-500-normal.ab4861869c91.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url("polices/space-grotesk-latin-600-normal.49f2dd2d2132.woff2") format("woff2")}

/* ----------------------------------------------------------------- jetons */
@layer jetons{
  :root{
    /* Couleurs — chaque couple texte/fond dépasse 4,5:1 */
    --sc-encre:#17212B;        /* texte principal */
    --sc-encre-2:#334155;      /* texte secondaire fort */
    --sc-gris:#5B6573;         /* texte discret (5,9:1 sur blanc) */
    --sc-gris-clair:#8A94A3;   /* icônes, bordures marquées (jamais du texte) */
    --sc-ligne:#E4E2DA;
    --sc-ligne-forte:#D6D3C8;
    --sc-papier:#F6F5F1;       /* fond de l'application */
    --sc-papier-fonce:#EEECE6;
    --sc-surface:#FFFFFF;
    --sc-surface-2:#FAF9F6;
    --sc-ardoise:#12202B;      /* navigation */
    --sc-ardoise-2:#1E3A3F;
    --sc-sarcelle:#0B6E63;     /* actions (blanc dessus : 6,1:1) */
    --sc-sarcelle-fonce:#08564D;
    --sc-sarcelle-ligne:#9FD3C8;
    --sc-sarcelle-clair:#E7F4F1;
    --sc-sarcelle-pale:#DCF3EE;
    --sc-corail:#C2410C;       /* à vérifier, annotations (blanc dessus : 5,2:1) */
    /* Couleurs du logo sur fond sombre (barre latérale, panneaux ardoise) */
    --sc-sarcelle-vive:#4FC3B1; /* 7,7:1 sur ardoise */
    --sc-corail-vif:#F08A5D;
    --sc-corail-fonce:#9A3412;
    --sc-corail-ligne:#F5C9B3;
    --sc-corail-clair:#FDE8DD;
    --sc-ambre:#92400E;
    --sc-ambre-ligne:#F1D58E;
    --sc-ambre-clair:#FEF3C7;
    --sc-danger:#B91C1C;
    --sc-danger-clair:#FEE2E2;
    --sc-info-clair:#E8EEF4;

    /* Typographie : échelle de 9 pas, 12 px minimum */
    --sc-police:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    --sc-police-titre:"Space Grotesk","Inter",ui-sans-serif,system-ui,sans-serif;
    --sc-t-12:12px;--sc-t-13:13px;--sc-t-15:15px;--sc-t-16:16px;--sc-t-18:18px;
    --sc-t-24:24px;--sc-t-32:32px;--sc-t-40:40px;--sc-t-56:56px;

    /* Espacements, rayons, ombres */
    --sc-e-1:4px;--sc-e-2:8px;--sc-e-3:12px;--sc-e-4:16px;--sc-e-5:20px;--sc-e-6:24px;--sc-e-8:32px;--sc-e-10:40px;
    --sc-r-s:8px;--sc-r:12px;--sc-r-l:16px;--sc-r-pill:999px;
    --sc-ombre:0 1px 2px rgba(18,32,43,.05);
    --sc-ombre-haute:0 12px 32px rgba(18,32,43,.14);
    --sc-cible:44px;
    --sc-barre-largeur:248px;
    --sc-barre-compacte:76px;

    /* Alias des variables de la 2.1.3, pour la feuille convertie */
    --brand:var(--sc-sarcelle);--brand2:var(--sc-sarcelle-fonce);--accent:var(--sc-sarcelle);
    --ink:var(--sc-encre);--muted:var(--sc-gris);--line:var(--sc-ligne);--panel:var(--sc-surface);--bg:var(--sc-papier);
    --success:var(--sc-sarcelle);--warning:var(--sc-ambre);--danger:var(--sc-danger);--shadow:var(--sc-ombre);
    --sc-blue:var(--sc-sarcelle);--sc-navy:var(--sc-encre);--sc-ink:var(--sc-encre);--sc-muted:var(--sc-gris);
    --sc-line:var(--sc-ligne);--sc-border:var(--sc-ligne);--sc-soft:var(--sc-surface-2);--sc-surface-soft:var(--sc-surface-2);
    --sc-teal:var(--sc-sarcelle);--sc-teal-bg:var(--sc-sarcelle-pale);--sc-gold-bg:var(--sc-ambre-clair);--sc-red-bg:var(--sc-danger-clair);
    --sc-shadow:var(--sc-ombre);--sc-shadow-lg:var(--sc-ombre-haute);--sc-radius:var(--sc-r);--sc-app-sidebar-width:var(--sc-barre-largeur);
    --bo-bg:var(--sc-papier);--bo-white:var(--sc-surface);--bo-ink:var(--sc-encre);--bo-muted:var(--sc-gris);--bo-line:var(--sc-ligne);
    --bo-green-50:var(--sc-sarcelle-clair);--bo-green-100:var(--sc-sarcelle-pale);--bo-green-700:var(--sc-sarcelle);--bo-green-800:var(--sc-sarcelle-fonce);
    --bo-green-900:var(--sc-ardoise-2);--bo-green-950:var(--sc-ardoise);--bo-gold:var(--sc-ambre);--bo-gold-100:var(--sc-ambre-clair);
    --bo-warning:var(--sc-ambre);--bo-warning-bg:var(--sc-ambre-clair);--bo-danger:var(--sc-danger);--bo-danger-bg:var(--sc-danger-clair);--bo-shadow:var(--sc-ombre);
  }
}

/* ------------------------------------------------------------------- base */
@layer base{
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{margin:0;background:var(--sc-papier);color:var(--sc-encre);font:400 var(--sc-t-15)/1.55 var(--sc-police);-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:var(--sc-police-titre);font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--sc-encre);margin:0}
  h1{font-size:var(--sc-t-32);letter-spacing:-.02em}
  h2{font-size:var(--sc-t-18)}
  h3{font-size:var(--sc-t-16)}
  p{margin:0}
  a{color:var(--sc-sarcelle);text-underline-offset:2px}
  a:hover{color:var(--sc-sarcelle-fonce)}
  img,svg{max-width:100%}
  button,input,select,textarea{font:inherit;color:inherit}
  :focus-visible{outline:3px solid color-mix(in srgb,var(--sc-sarcelle) 55%,transparent);outline-offset:2px;border-radius:4px}
  ::selection{background:var(--sc-sarcelle-pale)}
  [hidden]{display:none !important}
  table{border-collapse:collapse}
  @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
}

/* ------------------------------------------------------------- composants */
@layer composants{
  /* Textes utilitaires */
  .sc-kicker{display:inline-block;font:600 var(--sc-t-12)/1.3 var(--sc-police);letter-spacing:.06em;text-transform:uppercase;color:var(--sc-sarcelle)}
  .sc-help,.sc-muted,.helptext{font-size:var(--sc-t-13);color:var(--sc-gris);line-height:1.5}
  .sc-prose{line-height:1.7;max-width:72ch}
  .sc-prose p+p{margin-top:var(--sc-e-3)}

  /* Boutons — une action principale par zone */
  .sc-btn,.bo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sc-e-2);min-height:var(--sc-cible);padding:0 18px;border-radius:var(--sc-r-s);border:1px solid var(--sc-sarcelle);background:var(--sc-sarcelle);color:#fff;font:600 var(--sc-t-15)/1.2 var(--sc-police);text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:none;transform:none;transition:background-color .15s,border-color .15s,color .15s}
  .sc-btn:hover,.bo-btn:hover{background:var(--sc-sarcelle-fonce);border-color:var(--sc-sarcelle-fonce);color:#fff;transform:none;box-shadow:none}
  .sc-btn-secondary,.bo-btn-ghost,.bo-btn-soft{background:var(--sc-surface);color:var(--sc-encre);border-color:var(--sc-ligne-forte)}
  .sc-btn-secondary:hover,.bo-btn-ghost:hover,.bo-btn-soft:hover{background:var(--sc-surface-2);color:var(--sc-encre);border-color:var(--sc-gris-clair)}
  .sc-btn-gold,.sc-btn-ai,.bo-btn-primary{background:var(--sc-sarcelle);color:#fff;border-color:var(--sc-sarcelle)}
  .sc-btn-danger,.bo-btn-danger-soft{background:var(--sc-surface);color:var(--sc-danger);border-color:color-mix(in srgb,var(--sc-danger) 35%,transparent)}
  .sc-btn-danger:hover,.bo-btn-danger-soft:hover{background:var(--sc-danger-clair);color:var(--sc-danger);border-color:var(--sc-danger)}
  .bo-btn-dark{background:var(--sc-ardoise);border-color:var(--sc-ardoise)}
  .sc-btn-sm{min-height:36px;padding:0 12px;font-size:var(--sc-t-13)}
  .sc-btn-lg{min-height:48px;padding:0 22px;font-size:var(--sc-t-16)}
  .sc-btn-block{display:flex;width:100%}
  .sc-btn[disabled],.sc-btn[aria-disabled="true"],.bo-btn[disabled]{background:var(--sc-papier-fonce);border-color:var(--sc-ligne);color:var(--sc-gris);cursor:not-allowed}
  .sc-btn.is-loading{position:relative;color:transparent}
  .sc-btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-color:#fff #fff transparent transparent;animation:sc-tour .7s linear infinite}
  .sc-btn-secondary.is-loading::after{border-color:var(--sc-sarcelle) var(--sc-sarcelle) transparent transparent}
  @keyframes sc-tour{to{transform:rotate(360deg)}}
  .sc-link,.sc-link-button,.sc-back-btn,.bo-back{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 4px;border:0;background:none;color:var(--sc-sarcelle);font:600 var(--sc-t-15) var(--sc-police);text-decoration:none;cursor:pointer}
  .sc-link:hover,.sc-link-button:hover,.sc-back-btn:hover{color:var(--sc-sarcelle-fonce);text-decoration:underline}
  .sc-danger-link{color:var(--sc-danger)}
  .sc-actions{display:flex;flex-wrap:wrap;gap:var(--sc-e-2);align-items:center}
  .sc-actions form{margin:0}

  /* Cartes et panneaux */
  .sc-card,.bo-panel,.bo-table-card,.bo-form-card{background:var(--sc-surface);border:1px solid var(--sc-ligne);border-radius:var(--sc-r);padding:var(--sc-e-6);box-shadow:var(--sc-ombre)}
  .sc-card+.sc-card{margin-top:var(--sc-e-5)}
  .sc-card-head,.bo-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sc-e-4);flex-wrap:wrap;margin-bottom:var(--sc-e-4)}
  .sc-card-head h2,.bo-panel-head h2{font-size:var(--sc-t-18)}
  .sc-card-head p{color:var(--sc-gris);font-size:var(--sc-t-13);margin-top:4px}
  .sc-card-details,.sc-details,details.sc-long-panel{background:var(--sc-surface);border:1px solid var(--sc-ligne);border-radius:var(--sc-r);overflow:hidden}
  .sc-card-details>summary,.sc-details>summary,details.sc-long-panel>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--sc-e-3);min-height:56px;padding:var(--sc-e-4) var(--sc-e-5);cursor:pointer;background:var(--sc-surface)}
  .sc-card-details>summary::-webkit-details-marker,.sc-details>summary::-webkit-details-marker{display:none}
  .sc-card-details>summary::after,.sc-details>summary::after{content:"";width:9px;height:9px;flex:none;border-right:2px solid var(--sc-gris);border-bottom:2px solid var(--sc-gris);transform:rotate(45deg);transition:transform .15s}
  .sc-card-details[open]>summary::after,.sc-details[open]>summary::after{transform:rotate(-135deg)}
  .sc-card-details[open]>summary,.sc-details[open]>summary{border-bottom:1px solid var(--sc-ligne)}
  .sc-card-details-body,.sc-details-body{padding:var(--sc-e-5)}

  /* Formulaires */
  .sc-field,.sc-form p,.bo-form-field{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--sc-e-4)}
  .sc-field>label,.sc-form p>label,.sc-form label,.bo-form-field label{font:600 var(--sc-t-13)/1.4 var(--sc-police);color:var(--sc-encre)}
  .sc-input,.sc-form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),.sc-form select,.sc-form textarea,.bo-input,.sc-field input:not([type=checkbox]):not([type=radio]):not([type=file]),.sc-field select,.sc-field textarea{width:100%;min-height:var(--sc-cible);padding:10px 12px;border:1px solid var(--sc-ligne-forte);border-radius:var(--sc-r-s);background:var(--sc-surface);color:var(--sc-encre);font:400 var(--sc-t-15)/1.4 var(--sc-police);box-shadow:none;transition:border-color .15s,box-shadow .15s}
  .sc-form textarea,.sc-field textarea{min-height:96px;resize:vertical}
  .sc-input:focus,.sc-form input:focus,.sc-form select:focus,.sc-form textarea:focus,.sc-field input:focus,.sc-field select:focus,.sc-field textarea:focus,.bo-input:focus{outline:none;border-color:var(--sc-sarcelle);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-sarcelle) 22%,transparent)}
  input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--sc-sarcelle)}
  input[type=file]{font-size:var(--sc-t-13)}
  .sc-error,.errorlist{margin:4px 0 0;padding:0;list-style:none;color:var(--sc-danger);font-size:var(--sc-t-13);font-weight:500}
  .sc-form-grid,.bo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sc-e-4)}
  .sc-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sc-span-2{grid-column:span 2}
  .sc-form-actions,.sc-modal-form-actions,.bo-form-actions{display:flex;flex-wrap:wrap;gap:var(--sc-e-2);justify-content:flex-end;padding-top:var(--sc-e-4);border-top:1px solid var(--sc-ligne);margin-top:var(--sc-e-2)}
  .sc-required-mark{color:var(--sc-corail)}

  /* Tableaux : défilement horizontal dans leur cadre, jamais la page */
  .sc-table-wrap,.sc-table-scroll,.bo-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--sc-ligne);border-radius:var(--sc-r);background:var(--sc-surface);-webkit-overflow-scrolling:touch}
  .sc-table,.bo-table{width:100%;border-collapse:collapse;font-size:var(--sc-t-15)}
  .sc-table th,.bo-table th{background:var(--sc-surface-2);color:var(--sc-gris);font:600 var(--sc-t-12)/1.3 var(--sc-police);text-align:left;padding:12px 16px;border-bottom:1px solid var(--sc-ligne);white-space:nowrap;letter-spacing:.02em}
  .sc-table td,.bo-table td{padding:14px 16px;border-bottom:1px solid var(--sc-papier-fonce);vertical-align:middle}
  .sc-table tbody tr:last-child td,.bo-table tbody tr:last-child td{border-bottom:0}
  .sc-table tbody tr:hover,.bo-table tbody tr:hover{background:var(--sc-surface-2)}
  .sc-table small,.bo-table-sub{display:block;color:var(--sc-gris);font-size:var(--sc-t-13);margin-top:2px}

  /* Badges et puces : la couleur porte un sens */
  .sc-badge,.sc-chip,.sc-status,.bo-status,.sc-source-chip,.sc-ai-chip,.sc-pedagogy-chip,.sc-mini-status{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border-radius:var(--sc-r-pill);background:var(--sc-info-clair);color:var(--sc-encre-2);font:600 var(--sc-t-12)/1.3 var(--sc-police);white-space:nowrap;border:0}
  .sc-badge-success,.sc-chip-success,.sc-status-success,.sc-source-answer{background:var(--sc-sarcelle-pale);color:var(--sc-sarcelle-fonce)}
  .sc-badge-warning,.sc-status-warning,.sc-source-review{background:var(--sc-corail-clair);color:var(--sc-corail-fonce)}
  .sc-badge-danger,.sc-status-danger{background:var(--sc-danger-clair);color:var(--sc-danger)}
  .sc-source-ai,.sc-ai-chip{background:var(--sc-ambre-clair);color:var(--sc-ambre)}

  /* Messages */
  .sc-alert,.sc-inline-note,.sc-inline-notice,.sc-context-tip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sc-e-2) var(--sc-e-3);padding:12px 16px;border-radius:var(--sc-r-s);border:1px solid var(--sc-ligne);background:var(--sc-info-clair);color:var(--sc-encre);font-size:var(--sc-t-15);line-height:1.5}
  .sc-alert-success,.sc-inline-ok{background:var(--sc-sarcelle-clair);border-color:var(--sc-sarcelle-ligne);color:var(--sc-sarcelle-fonce)}
  .sc-alert-warning,.sc-inline-warning{background:var(--sc-corail-clair);border-color:var(--sc-corail-ligne);color:var(--sc-corail-fonce)}
  .sc-alert-error{background:var(--sc-danger-clair);border-color:color-mix(in srgb,var(--sc-danger) 30%,transparent);color:var(--sc-danger)}
  .sc-alert-info{background:var(--sc-info-clair);border-color:var(--sc-ligne);color:var(--sc-encre-2)}
  .sc-empty,.bo-empty,.bo-empty-cell,.bo-empty-mini{padding:var(--sc-e-8) var(--sc-e-4);text-align:center;color:var(--sc-gris);font-size:var(--sc-t-15)}

  /* Indicateurs */
  .sc-stat-grid,.bo-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sc-e-4)}
  .sc-stat,.bo-kpi{background:var(--sc-surface);border:1px solid var(--sc-ligne);border-radius:var(--sc-r);padding:var(--sc-e-5);display:flex;flex-direction:column;gap:4px;box-shadow:var(--sc-ombre)}
  .sc-stat small,.sc-stat span:first-child{color:var(--sc-gris);font-size:var(--sc-t-13);font-weight:500}
  .sc-stat strong,.bo-kpi strong{font:600 var(--sc-t-32)/1.1 var(--sc-police-titre);color:var(--sc-encre)}
  .sc-progress,.sc-progress-large{width:100%;height:8px;border-radius:var(--sc-r-pill);background:var(--sc-papier-fonce);overflow:hidden}
  .sc-progress>i,.sc-progress>span,.sc-progress-large>i{display:block;height:100%;border-radius:inherit;background:var(--sc-sarcelle)}
  progress{width:100%;height:8px;border:0;border-radius:var(--sc-r-pill);background:var(--sc-papier-fonce);accent-color:var(--sc-sarcelle)}
  progress::-webkit-progress-bar{background:var(--sc-papier-fonce);border-radius:var(--sc-r-pill)}
  progress::-webkit-progress-value{background:var(--sc-sarcelle);border-radius:var(--sc-r-pill)}
  progress::-moz-progress-bar{background:var(--sc-sarcelle);border-radius:var(--sc-r-pill)}

  /* Étapes de l'évaluation : toutes visibles, l'étape courante marquée */
  .sc-workflow{display:flex;align-items:stretch;gap:8px;padding:0;margin:0 0 var(--sc-e-6);background:none;border:0;box-shadow:none;overflow-x:auto}
  .sc-workflow-line{display:none}
  .sc-workflow-step{flex:1 1 0;min-width:120px;display:flex;flex-direction:column;gap:4px;padding:10px 0 0;border-top:4px solid var(--sc-papier-fonce);border-radius:0;background:none;color:var(--sc-gris);text-decoration:none;font-size:var(--sc-t-13)}
  .sc-workflow-step i{display:none}
  .sc-workflow-step b{font-weight:600;color:inherit}
  .sc-workflow-step small{font-size:var(--sc-t-12);color:var(--sc-gris)}
  .sc-workflow-step.is-done{border-top-color:var(--sc-sarcelle);color:var(--sc-sarcelle-fonce)}
  .sc-workflow-step.is-active,.sc-workflow-step.active,.sc-workflow-step.is-current{border-top-color:var(--sc-encre);color:var(--sc-encre);background:none}
  a.sc-workflow-step:hover{color:var(--sc-sarcelle)}
  .sc-workflow-step.is-future{opacity:.85}

  /* Dialogues */
  dialog{color:var(--sc-encre)}
  dialog::backdrop{background:rgba(18,32,43,.45)}
  .sc-confirm-dialog{width:min(440px,calc(100% - 32px));border:0;border-radius:var(--sc-r-l);padding:var(--sc-e-6);box-shadow:var(--sc-ombre-haute);display:none;gap:var(--sc-e-4)}
  .sc-confirm-dialog[open]{display:grid}
  .sc-confirm-icon{display:none}
  .sc-confirm-copy h2{font-size:var(--sc-t-18);margin-bottom:6px}
  .sc-confirm-copy p{color:var(--sc-encre-2)}
  .sc-confirm-actions{display:flex;justify-content:flex-end;gap:var(--sc-e-2);flex-wrap:wrap}
  .sc-modal-dialog{width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 32px);border:0;border-radius:var(--sc-r-l);padding:0;box-shadow:var(--sc-ombre-haute);overflow:hidden}
  .sc-modal-dialog.sc-modal-wide{width:min(960px,calc(100% - 24px))}
  .sc-modal-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);border:0;box-shadow:none;border-radius:0}
  .sc-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sc-e-4);padding:var(--sc-e-5) var(--sc-e-6);border-bottom:1px solid var(--sc-ligne);background:var(--sc-surface)}
  .sc-modal-header h2{font-size:var(--sc-t-18)}
  .sc-modal-header p{color:var(--sc-gris);font-size:var(--sc-t-13);margin-top:4px}
  .sc-modal-close{width:var(--sc-cible);height:var(--sc-cible);flex:none;border:1px solid var(--sc-ligne);border-radius:var(--sc-r-s);background:var(--sc-surface);font-size:22px;line-height:1;cursor:pointer;color:var(--sc-encre)}
  .sc-modal-body{padding:var(--sc-e-6);overflow:auto}
  .sc-modal-loading{display:flex;align-items:center;gap:var(--sc-e-3);color:var(--sc-gris);padding:var(--sc-e-4) 0}
  .sc-modal-loading span{width:18px;height:18px;border-radius:50%;border:2px solid var(--sc-sarcelle);border-right-color:transparent;animation:sc-tour .7s linear infinite}

  /* Traitement en cours : avancement réel, ou indicateur indéterminé */
  .sc-processing-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(18,32,43,.45)}
  .sc-processing-card{width:min(480px,100%);background:var(--sc-surface);border-radius:var(--sc-r-l);padding:var(--sc-e-6);box-shadow:var(--sc-ombre-haute);display:grid;gap:var(--sc-e-4);border:0}
  .sc-loader-orbit{width:40px;height:40px;border-radius:50%;border:3px solid var(--sc-sarcelle-pale);border-top-color:var(--sc-sarcelle);animation:sc-tour .9s linear infinite}
  .sc-loader-orbit *{display:none}
  .sc-processing-copy h2{font-size:var(--sc-t-18);margin:4px 0}
  .sc-processing-copy p,.sc-processing-card small{color:var(--sc-gris);font-size:var(--sc-t-13)}
  .sc-processing-meter-head{display:flex;justify-content:space-between;gap:var(--sc-e-3);font-size:var(--sc-t-13);margin-bottom:6px}
  .sc-processing-track{height:8px;border-radius:var(--sc-r-pill);background:var(--sc-papier-fonce);overflow:hidden;position:relative}
  .sc-processing-track>span{position:absolute;inset:0 auto 0 0;width:35%;border-radius:inherit;background:var(--sc-sarcelle);animation:sc-indetermine 1.4s ease-in-out infinite}
  .sc-processing-track.is-determinate>span{animation:none;transition:width .3s}
  @keyframes sc-indetermine{0%{left:-35%}100%{left:100%}}
  .sc-processing-steps{display:flex;flex-wrap:wrap;gap:6px}
  .sc-processing-step-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--sc-r-pill);background:var(--sc-papier);color:var(--sc-gris);font-size:var(--sc-t-12);font-weight:600}
  .sc-processing-step-chip i{font-style:normal}
  .sc-processing-step-chip.is-active{background:var(--sc-sarcelle-pale);color:var(--sc-sarcelle-fonce)}
  .sc-processing-step-chip.is-done{color:var(--sc-sarcelle-fonce)}
  .sc-processing-meta{display:flex;justify-content:space-between;gap:var(--sc-e-3);font-size:var(--sc-t-12);color:var(--sc-gris)}
  .sc-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sc-sarcelle);margin-right:6px;vertical-align:middle}
  body.sc-is-processing,body.sc-modal-open{overflow:hidden}

  /* Interrupteur */
  .sc-switch{display:inline-flex;align-items:center;gap:var(--sc-e-3);min-height:var(--sc-cible);cursor:pointer}

  /* Pagination (listes) */
  .sc-list-pagination,.bo-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sc-e-3);padding:var(--sc-e-4) 0;color:var(--sc-gris);font-size:var(--sc-t-13)}
  .bo-pagination-links{display:flex;gap:6px}
  .bo-pagination-links a,.sc-list-pagination a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--sc-ligne-forte);border-radius:var(--sc-r-s);background:var(--sc-surface);color:var(--sc-encre);font-weight:600;text-decoration:none}
}

/* ---------------------------------------------- gabarit de l'application */
@layer gabarit{
  .sc-skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:var(--sc-r-s);background:var(--sc-encre);color:#fff;font-weight:600;text-decoration:none}
  .sc-skip-link:focus{top:12px;color:#fff}

  .sc-app{min-height:100dvh;display:grid;grid-template-columns:var(--sc-barre-largeur) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"barre haut" "barre contenu"}
  .sc-app-barre{grid-area:barre;position:sticky;top:0;height:100dvh;overflow-y:auto;background:var(--sc-ardoise);color:#B8C2CC;display:flex;flex-direction:column;gap:4px;padding:20px 14px}
  .sc-app-marque{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:#fff;text-decoration:none}
  .sc-app-marque:hover{color:#fff}
  .sc-app-marque svg{width:34px;height:34px;flex:none}
  .sc-app-marque span{font:600 17px/1.2 var(--sc-police-titre);letter-spacing:-.01em}
  .sc-app-marque em{font-style:normal;color:var(--sc-sarcelle)}
  .sc-app-barre .sc-app-marque em{color:var(--sc-sarcelle-vive)}
  .sc-app-nav{display:flex;flex-direction:column;gap:2px}
  .sc-app-nav a{display:flex;align-items:center;gap:12px;min-height:var(--sc-cible);padding:0 12px;border-radius:var(--sc-r-s);color:#B8C2CC;text-decoration:none;font-weight:500;font-size:var(--sc-t-15)}
  .sc-app-nav a:hover{background:#1A2D3A;color:#fff}
  .sc-app-nav a[aria-current="page"]{background:var(--sc-ardoise-2);color:#fff;box-shadow:inset 3px 0 0 var(--sc-sarcelle-vive)}
  .sc-app-nav a[aria-current="page"] svg{stroke:var(--sc-sarcelle-vive)}
  .sc-app-nav svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .sc-app-nav .sc-pastille{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:var(--sc-r-pill);background:var(--sc-corail);color:#fff;font-size:var(--sc-t-12);font-weight:600;text-align:center}
  .sc-app-barre .sc-app-aide{margin-top:auto;padding:12px;border-top:1px solid #23394A;font-size:var(--sc-t-13);color:#A9B4C0}
  .sc-app-barre .sc-app-aide a{color:#fff;font-weight:600}

  .sc-app-haut{grid-area:haut;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--sc-e-3);min-height:64px;padding:10px 32px;background:color-mix(in srgb,var(--sc-papier) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--sc-ligne)}
  .sc-app-haut .sc-app-marque{display:none;padding:0;color:var(--sc-encre)}
  .sc-recherche{display:flex;align-items:center;gap:10px;flex:1 1 280px;max-width:480px;min-height:var(--sc-cible);padding:0 14px;background:var(--sc-surface);border:1px solid var(--sc-ligne);border-radius:10px;color:var(--sc-gris)}
  .sc-recherche:focus-within{border-color:var(--sc-sarcelle);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-sarcelle) 22%,transparent)}
  .sc-recherche svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
  .sc-recherche input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:var(--sc-t-15);color:var(--sc-encre)}
  .sc-app-outils{display:flex;align-items:center;gap:var(--sc-e-2);margin-left:auto}
  .sc-icone-btn{position:relative;display:inline-grid;place-items:center;width:var(--sc-cible);height:var(--sc-cible);border:1px solid var(--sc-ligne);border-radius:10px;background:var(--sc-surface);color:var(--sc-encre);text-decoration:none}
  .sc-icone-btn:hover{color:var(--sc-sarcelle);border-color:var(--sc-ligne-forte)}
  .sc-icone-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .sc-icone-btn .sc-point{position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--sc-corail);border:2px solid var(--sc-surface)}
  .sc-compte{position:relative}
  .sc-compte>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:var(--sc-cible);padding:0 10px 0 4px;border:1px solid var(--sc-ligne);border-radius:var(--sc-r-pill);background:var(--sc-surface);cursor:pointer}
  .sc-compte>summary::-webkit-details-marker{display:none}
  .sc-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sc-ardoise-2);color:#fff;font:600 13px var(--sc-police)}
  .sc-compte-nom{font-weight:600;font-size:var(--sc-t-13);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sc-compte-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:240px;padding:6px;background:var(--sc-surface);border:1px solid var(--sc-ligne);border-radius:var(--sc-r);box-shadow:var(--sc-ombre-haute);display:flex;flex-direction:column}
  .sc-compte-menu a,.sc-compte-menu button{display:flex;align-items:center;min-height:40px;padding:0 12px;border:0;border-radius:6px;background:none;color:var(--sc-encre);font:500 var(--sc-t-15) var(--sc-police);text-decoration:none;text-align:left;cursor:pointer;width:100%}
  .sc-compte-menu a:hover,.sc-compte-menu button:hover{background:var(--sc-papier)}
  .sc-compte-menu hr{border:0;border-top:1px solid var(--sc-ligne);margin:6px 0}
  .sc-compte-menu form{margin:0}
  .sc-compte-menu .sc-compte-role{padding:8px 12px;color:var(--sc-gris);font-size:var(--sc-t-12)}

  .sc-app-contenu{grid-area:contenu;min-width:0;padding:0;margin:0}
  .sc-app-haut{margin:0}
  .sc-main,.sc-page{width:100%;max-width:1320px;margin:0 auto;padding:var(--sc-e-8) var(--sc-e-10) 64px}
  .sc-shell{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;padding-left:var(--sc-e-10);padding-right:var(--sc-e-10)}
  .sc-main.sc-shell,.sc-page.sc-shell{padding-left:var(--sc-e-10);padding-right:var(--sc-e-10)}
  .sc-narrow,.sc-narrow-page{max-width:820px}
  .sc-messages{display:grid;gap:var(--sc-e-2);padding-top:var(--sc-e-5)}
  .sc-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sc-e-4);flex-wrap:wrap;margin-bottom:var(--sc-e-6)}
  .sc-page-head>div:first-child{display:flex;flex-direction:column;gap:6px;min-width:0}
  .sc-page-head h1{font-size:var(--sc-t-32);overflow-wrap:anywhere}
  .sc-page-head p{color:var(--sc-gris);font-size:var(--sc-t-15)}
  .sc-stage-back,.sc-step-back-nav{margin-bottom:var(--sc-e-3)}
  .sc-pied{padding:var(--sc-e-6) var(--sc-e-10) var(--sc-e-8);color:var(--sc-gris);font-size:var(--sc-t-13);display:flex;flex-wrap:wrap;gap:var(--sc-e-4);justify-content:space-between;border-top:1px solid var(--sc-ligne)}
  .sc-pied nav{display:flex;flex-wrap:wrap;gap:var(--sc-e-4)}
  .sc-pied a{color:var(--sc-gris)}

  /* Barre d'onglets mobile */
  .sc-onglets{display:none}

  /* Tablette : barre latérale réduite aux icônes */
  @media (max-width:1099px){
    .sc-app{grid-template-columns:var(--sc-barre-compacte) minmax(0,1fr)}
    .sc-app-barre{padding:16px 10px;align-items:center}
    .sc-app-barre .sc-app-marque span,.sc-app-nav a span,.sc-app-barre .sc-app-aide{display:none}
    .sc-app-barre .sc-app-marque{padding:4px 0 16px}
    .sc-app-nav a{justify-content:center;padding:0;width:52px;position:relative}
    .sc-app-nav .sc-pastille{position:absolute;top:2px;right:0;min-width:20px;padding:0 5px;font-size:12px}
    .sc-main,.sc-page,.sc-shell,.sc-main.sc-shell,.sc-page.sc-shell{padding-left:var(--sc-e-6);padding-right:var(--sc-e-6)}
    .sc-app-haut{padding:10px var(--sc-e-6)}
  }
  /* Mobile : barre du haut + onglets en bas */
  @media (max-width:767px){
    .sc-app{display:block;padding-bottom:76px}
    .sc-app-barre{display:none}
    .sc-app-haut{padding:10px 16px;gap:8px}
    .sc-app-haut .sc-app-marque{display:flex}
    .sc-app-haut .sc-app-marque span{display:none}
    .sc-recherche{display:none}
    .sc-compte-nom{display:none}
    .sc-compte>summary{padding:0 4px}
    .sc-main,.sc-page,.sc-shell,.sc-main.sc-shell,.sc-page.sc-shell{padding:var(--sc-e-5) 16px 40px}
    .sc-page-head{align-items:flex-start}
    .sc-page-head h1{font-size:var(--sc-t-24)}
    .sc-page-head .sc-actions{width:100%}
    .sc-page-head .sc-actions>.sc-btn{flex:1 1 auto}
    .sc-pied{padding:var(--sc-e-5) 16px}
    .sc-onglets{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:var(--sc-surface);border-top:1px solid var(--sc-ligne)}
    .sc-onglets a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;color:var(--sc-gris);text-decoration:none;font-size:var(--sc-t-12);font-weight:600}
    .sc-onglets a[aria-current="page"]{color:var(--sc-sarcelle)}
    .sc-onglets svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .sc-card,.bo-panel{padding:var(--sc-e-4)}
    .sc-form-grid,.sc-form-grid-3,.bo-form-grid{grid-template-columns:1fr}
    .sc-span-2{grid-column:auto}
    .sc-form-actions .sc-btn{flex:1 1 auto}
    h1{font-size:var(--sc-t-24)}
  }

  /* Pages publiques (accueil, connexion) : pas de barre latérale */
  .sc-public-haut{display:flex;align-items:center;justify-content:space-between;gap:var(--sc-e-4);max-width:1240px;margin:0 auto;padding:18px var(--sc-e-10)}
  .sc-public-haut .sc-app-marque{color:var(--sc-encre);padding:0}
  .sc-public-haut .sc-app-marque span{display:inline}
  .sc-public-haut nav{display:flex;gap:var(--sc-e-6)}
  .sc-public-haut nav a{color:var(--sc-encre-2);font-weight:500;text-decoration:none}
  .sc-public-haut nav a:hover{color:var(--sc-sarcelle)}
  @media (max-width:900px){.sc-public-haut nav{display:none}.sc-public-haut{padding:14px 16px}}
}

/* ------------------------------------------------------------- utilitaires */
@layer utilitaires{
  .sc-visuellement-cache{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .sc-texte-droite{text-align:right}
  .sc-nowrap{white-space:nowrap}
}
