/* =========================================================
   A2Zen Suite — feuille de style unique du prototype
   Charte : bleu marine, blanc, rouge.
   1. Variables   2. Base   3. Bandeau et menu   4. Mise en page
   5. Cartes      6. Formulaires   7. Boutons   8. Tableaux
   9. Indicateurs, pastilles, listes   10. Dialogues   11. Écrans métier
   Règle : le contenu des pages utilise les composants ci-dessous ;
   les champs, boutons et tableaux sans classe reçoivent quand même le style.
   ========================================================= */

/* 1. Variables */
:root{
  --navy:#0b1b3a;
  --navy-2:#0f2a58;
  --red:#DC143C;
  --red-2:#B0102E;
  --red-rgb:220, 20, 60;
  --green:#127a43;
  --amber:#b7791f;
  --blue:#1d5fbf;

  --bg:#f6f7fb;
  --card:#ffffff;
  --text:var(--navy);
  --muted:rgba(11, 27, 58, .68);
  --line:rgba(11, 27, 58, .14);
  --line-soft:rgba(11, 27, 58, .08);
  --tint:rgba(11, 27, 58, .04);

  --shadow:0 10px 24px rgba(9, 20, 41, .08);
  --radius:14px;
  --radius-sm:10px;
  --topbar-h:84px;
}

/* 2. Base */
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
  font-size:14px;
  line-height:1.45;
  color:var(--text);
  background:var(--bg);
}
a{color:inherit;}
h1,h2,h3,h4{margin:0;line-height:1.2;}
h1{font-size:24px;font-weight:900;}
h2{font-size:17px;font-weight:900;}
h3{font-size:14px;font-weight:900;}
p{margin:0;}
code,.a2z-code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size:12px;background:var(--tint);padding:1px 5px;border-radius:6px;}
.muted{color:var(--muted);}
.small,.a2z-mini,.card__hint,.dropzone__hint{font-size:12px;color:var(--muted);}
.accent{color:var(--red);}
.link{color:var(--navy-2);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.link:hover{color:var(--red);}
[hidden]{display:none !important;}

/* 3. Bandeau et menu */
.topbar{
  position:sticky;top:0;z-index:30;
  height:var(--topbar-h);
  background:linear-gradient(90deg, var(--navy), var(--navy-2));
  color:#fff;
  display:flex;align-items:center;gap:16px;
  padding:0 18px;
  border-bottom:3px solid var(--red);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.topbar__left{display:flex;align-items:center;gap:14px;min-width:0;flex:1;}
.topbar__right{display:flex;align-items:center;gap:12px;}
.icon-btn{height:38px;width:38px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;cursor:pointer;font-size:16px;}
.brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;}
.brand__logo{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;}
.brand__logo .a2z-mark{width:40px;height:40px;display:block;}
.brand__text{display:flex;flex-direction:column;min-width:0;line-height:1.15;}
.brand__name{font-weight:900;letter-spacing:.2px;font-size:16px;}
.brand__tagline{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.signature{font-weight:700;opacity:.95;white-space:nowrap;}
.breadcrumb{margin-left:10px;min-width:0;}
.breadcrumb ol{list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:0;}
.breadcrumb li{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.breadcrumb li+li::before{content:"›";opacity:.9;}
.breadcrumb a{color:rgba(255,255,255,.92);text-decoration:none;}
.breadcrumb a[aria-current="page"]{font-weight:900;color:#fff;}
.topbar__auth{display:flex;align-items:center;gap:10px;}
.topbar .btn{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);}
.topbar .btn:hover{border-color:#fff;}
.topbar .btn--primary,.topbar__login{background:var(--red);border-color:var(--red);color:#fff;}
.topbar .btn--primary:hover,.topbar__login:hover{background:var(--red-2);border-color:var(--red-2);}
.topbar__auth{min-width:140px;justify-content:flex-end;}
.usermenu{position:relative;}
.usermenu__btn{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;font:inherit;cursor:pointer;max-width:320px;}
.usermenu__btn:hover,.usermenu.is-open .usermenu__btn{border-color:#fff;background:rgba(255,255,255,.14);}
.avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--red);color:#fff;font-weight:900;font-size:13px;letter-spacing:.3px;}
.avatar--lg{width:44px;height:44px;flex-basis:44px;font-size:16px;border-radius:12px;}
.usermenu__who{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2;text-align:left;}
.usermenu__name{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;}
.usermenu__job{font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;}
.usermenu__caret{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;opacity:.8;}
.usermenu__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:280px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px rgba(9,20,41,.22);overflow:hidden;}
.usermenu__head{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--line-soft);background:var(--tint);}
.usermenu__head strong{display:block;font-size:14px;}
.usermenu__head div>span{display:block;font-size:12px;color:var(--muted);word-break:break-all;}
.usermenu__item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:0;background:#fff;color:var(--text);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:left;}
.usermenu__item:hover{background:var(--tint);}
.usermenu__item svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.usermenu__item--danger{color:var(--red-2);border-top:1px solid var(--line-soft);}
.usermenu__hint{display:block;font-size:11px;font-weight:600;color:var(--amber);}
@media (max-width:640px){.usermenu__who{display:none;}}

.app{min-height:100%;}
.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - var(--topbar-h));}
.sidebar{
  background:linear-gradient(180deg, var(--navy), var(--navy-2));
  color:#fff;padding:14px;
  border-right:1px solid rgba(255,255,255,.10);
}
.sidebar__header{padding:10px 10px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px;box-shadow:inset 0 -2px 0 rgba(var(--red-rgb), .85);}
.sidebar__brand{display:flex;align-items:flex-start;gap:12px;}
.sidebar__logo{width:34px;height:34px;flex:0 0 34px;opacity:.95;}
.sidebar__logo .a2z-mark{width:34px;height:34px;display:block;}
.sidebar__suite-name{font-weight:900;letter-spacing:.2px;}
.sidebar__suite-tagline{font-size:12px;opacity:.9;margin-top:2px;}
.sidebar__suite-sign{font-size:12px;opacity:.9;margin-top:6px;font-weight:700;}
.sidebar__footer{margin-top:18px;padding:10px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;}
.muted-on-navy{opacity:.85;font-size:12px;}
/* Barre latérale repliable : bouton en haut à droite ; repliée, seuls les pictogrammes restent */
.layout{transition:grid-template-columns .2s ease;}
.sidebar__header{position:relative;}
.sidebar__brand{padding-right:42px;}
.sidebar__toggle{position:absolute;top:4px;right:0;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .15s, border-color .15s;}
.sidebar__toggle:hover{background:rgba(255,255,255,.16);border-color:#fff;}
.sidebar__toggle:focus-visible,.topbar__menu:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.sidebar__toggle svg,.topbar__menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.topbar__menu{display:none;place-items:center;padding:0;}
@media (min-width:981px){
  .sidebar-collapsed .layout{grid-template-columns:76px minmax(0,1fr);}
  .sidebar-collapsed .sidebar{padding:14px 10px;}
  .sidebar-collapsed .sidebar__header{display:flex;flex-direction:column;align-items:center;gap:12px;padding:4px 0 14px;}
  .sidebar-collapsed .sidebar__brand{padding-right:0;}
  .sidebar-collapsed .sidebar__toggle{position:static;order:-1;}
  .sidebar-collapsed .sidebar__suite,.sidebar-collapsed .snav__label,.sidebar-collapsed .snav__chevron,.sidebar-collapsed .snav__subs,.sidebar-collapsed .sidebar__footer{display:none;}
  .sidebar-collapsed .snav__row{justify-content:center;gap:0;padding:11px 0 13px;}
  .sidebar-collapsed .snav__row::after{left:12px;right:12px;}
  .sidebar-collapsed .snav__icon{width:20px;height:20px;flex-basis:20px;}
  .sidebar-collapsed .snav__row.is-flying{background:rgba(255,255,255,.12);}
}
.snav-fly{position:fixed;z-index:60;display:grid;gap:2px;min-width:220px;max-width:300px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:linear-gradient(180deg, var(--navy), var(--navy-2));color:#fff;box-shadow:0 14px 30px rgba(9,20,41,.35);}
.snav-fly__title{display:block;margin-bottom:4px;padding:6px 10px 8px;border-bottom:1px solid rgba(var(--red-rgb), .75);color:#fff;font-size:13px;font-weight:900;text-decoration:none;}
.snav-fly__solo{margin:0;padding:6px 10px;border-bottom:0;border-radius:9px;}
.snav-fly__solo:hover,.snav-fly__solo:focus-visible{background:rgba(255,255,255,.1);outline:none;}
.snav-fly__link{display:block;padding:8px 10px;border-radius:9px;color:rgba(255,255,255,.9);font-size:13px;text-decoration:none;}
.snav-fly__link:hover,.snav-fly__link:focus-visible{background:rgba(255,255,255,.1);color:#fff;outline:none;}
.snav-fly__link.is-active{background:rgba(255,255,255,.12);color:#fff;font-weight:800;box-shadow:inset 3px 0 0 var(--red);}
.snav{display:flex;flex-direction:column;gap:4px;}
/* Une rubrique = une ligne, toujours soulignée d'un trait rouge, Accueil compris */
.snav__row{position:relative;display:flex;align-items:center;gap:10px;padding:10px 10px 12px;margin-bottom:6px;border-radius:12px;color:rgba(255,255,255,.92);text-decoration:none;font-weight:700;cursor:pointer;user-select:none;}
.snav__row::after{content:"";position:absolute;left:10px;right:10px;bottom:-3px;height:1px;background:rgba(var(--red-rgb), .75);}
.snav__row:hover{background:rgba(255,255,255,.08);}
.snav__row:focus-visible,.snav__sub:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.snav__icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.9;}
.snav__label{flex:1;min-width:0;}
.snav__chevron{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.75;transition:transform .15s ease;}
.snav__group[open]>.snav__summary .snav__chevron{transform:rotate(90deg);}
.snav__group>summary{list-style:none;}
.snav__group>summary::-webkit-details-marker{display:none;}
.snav__item.is-active,.snav__group.has-active>.snav__summary{background:rgba(var(--red-rgb), .22);color:#fff;}
.snav__subs{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px;}
.snav__sub{display:block;padding:8px 10px 8px 38px;border-radius:10px;color:rgba(255,255,255,.86);text-decoration:none;font-size:13px;}
.snav__sub:hover{background:rgba(255,255,255,.08);color:#fff;}
.snav__sub.is-active{background:rgba(255,255,255,.12);color:#fff;font-weight:800;box-shadow:inset 3px 0 0 var(--red);}

/* 4. Mise en page */
.main{padding:22px;min-width:0;display:flex;flex-direction:column;gap:16px;}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.page-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;width:100%;}
.page-head__left{flex:1 1 440px;min-width:0;}
.page-head__actions{flex:0 0 auto;margin-left:auto;justify-content:flex-end;}
@media (max-width:640px){ .page-head__actions{flex:1 1 100%;margin-left:0;justify-content:flex-start;} }
.page-head h1+p,.page-head__left p{margin-top:6px;}
.page-head__actions,.card__actions,.form-actions,.form__actions,.a2z-actions,.actions,.a2z-row-actions,.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.form-actions,.form__actions{margin-top:4px;}
.grid,.a2z-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:16px;}
.a2z-grid{grid-template-columns:minmax(0,1fr);}
.grid--1{grid-template-columns:minmax(0,1fr);}
.grid--2,.two-col,.a2z-grid--2{grid-template-columns:repeat(2, minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3, minmax(0,1fr));}
.kpi-grid{grid-template-columns:repeat(4, minmax(0,1fr));}
.split{display:grid;grid-template-columns:minmax(260px, 1fr) minmax(0, 2fr);gap:16px;align-items:start;}
.stack,.a2z-stack{display:flex;flex-direction:column;gap:12px;}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.divider,.a2z-divider{height:1px;background:var(--line);margin:14px 0;border:0;}
.page-footer{margin-top:auto;color:var(--muted);font-size:12px;padding-top:8px;}

/* 5. Cartes */
.card,.a2z-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;}
.card{padding:16px;}
.card--chapter,.a2z-card{padding:0;overflow:hidden;}
.card__head,.a2z-card__head{
  background:linear-gradient(90deg, var(--navy), var(--navy-2));
  color:#fff;padding:14px 16px;
  box-shadow:inset 0 -2px 0 rgba(var(--red-rgb), .85);
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.card:not(.card--chapter)>.card__head{margin:-16px -16px 14px;border-radius:var(--radius) var(--radius) 0 0;}
.card__title,.a2z-card__title{margin:0;font-weight:900;font-size:16px;}
.card__head .card__title,.a2z-card__head .a2z-card__title{color:#fff;}
.card__subtitle,.a2z-card__sub{margin:4px 0 0;font-size:12px;}
.card__head .card__subtitle,.card__head .muted,.a2z-card__head .a2z-card__sub{color:rgba(255,255,255,.86);}
.card__body,.a2z-card__body{padding:16px;display:flex;flex-direction:column;gap:12px;}
.card__head .btn,.a2z-card__head .btn,.card__head .a2z-btn{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.35);}
.card__head .btn:hover,.card__head .a2z-btn:hover{border-color:#fff;}
.card__head .btn--primary,.card__head .a2z-btn--primary{background:var(--red);border-color:var(--red);}
.card__head .pill,.card__head .badge{background:rgba(255,255,255,.16);color:#fff;}
.card__title+.card__hint{margin-top:4px;}

.a2z-volet{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-width:0;}
.a2z-volet__head{background:var(--tint);border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.a2z-volet__title{margin:0;font-weight:900;font-size:14px;}
.a2z-volet__meta{font-size:12px;color:var(--muted);}
.a2z-volet__body{padding:12px 14px;display:flex;flex-direction:column;gap:10px;}
.a2z-section-label{margin:6px 0 2px;font-weight:900;display:flex;align-items:center;gap:10px;}
.a2z-section-label::after{content:"";height:2px;flex:1;background:rgba(var(--red-rgb), .55);border-radius:999px;}
.callout,.empty-state__box,.empty{border:1px dashed var(--line);border-radius:12px;padding:14px;background:var(--tint);color:var(--muted);}
.empty{display:flex;align-items:center;gap:10px;justify-content:center;text-align:center;padding:28px 16px;font-weight:600;}
.empty::before{content:"";width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:2px solid var(--muted);opacity:.6;}
.callout{border-style:solid;border-left:4px solid var(--red);color:var(--text);}
.empty-state{padding:6px 0;}

/* 6. Formulaires */
.field,.a2z-field,.main label:not([class]){display:flex;flex-direction:column;gap:6px;min-width:0;}
.field>span,.field__label,.a2z-field>span,.main label:not([class])>span{font-size:12px;font-weight:800;color:var(--navy);}
.main input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),
.main select,.main textarea,.input,.a2z-input,.a2z-select,.a2z-textarea,.field__input{
  width:100%;min-height:38px;padding:8px 11px;
  border:1px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;color:var(--text);font:inherit;
}
.main textarea,.a2z-textarea{min-height:84px;resize:vertical;}
.main input:disabled,.main select:disabled,.main textarea:disabled{background:var(--tint);color:var(--muted);cursor:not-allowed;}
.main input:focus,.main select:focus,.main textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(var(--red-rgb), .16);}
.main input[type=checkbox],.main input[type=radio]{width:16px;height:16px;accent-color:var(--red);}
.main input[type=file]{font:inherit;}
.input--color,.main input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;}
.form-grid,.a2z-filters,.a2z-formRow{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:12px;align-items:end;}
.a2z-formgrid--2,.grid--2.form{grid-template-columns:repeat(2, minmax(0,1fr));}
.form-grid .form-actions,.form-grid>p{grid-column:1 / -1;}
.form{display:flex;flex-direction:column;gap:12px;}
.check{display:flex !important;flex-direction:row !important;align-items:center;gap:8px;font-weight:600;}
.dropzone{border:2px dashed var(--line);border-radius:12px;padding:18px;text-align:center;background:var(--tint);}

/* 7. Boutons */
.btn,.a2z-btn,.main button:not([class]){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:38px;padding:8px 14px;
  border-radius:12px;border:1px solid rgba(15,42,88,.20);
  background:#fff;color:var(--navy);
  font:inherit;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap;
}
.btn:hover,.a2z-btn:hover,.main button:not([class]):hover{border-color:var(--red);}
.btn--primary,.a2z-btn--primary{background:var(--red);color:#fff;border-color:var(--red);}
.btn--primary:hover,.a2z-btn--primary:hover{background:var(--red-2);border-color:var(--red-2);}
.btn--ghost{background:transparent;}
.btn--danger{color:var(--red-2);border-color:rgba(var(--red-rgb), .45);}
.btn--danger:hover{background:rgba(var(--red-rgb), .08);}
.btn--sm,.a2z-btn--sm,.table .btn,.table .a2z-btn,.table button:not([class]){min-height:30px;padding:4px 10px;font-size:12px;border-radius:9px;}
.btn[disabled],.a2z-btn[disabled],.main button[disabled]{opacity:.5;cursor:not-allowed;}
.btn.is-active{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red);}

/* 8. Tableaux */
.table-wrap,.a2z-tableWrap{overflow:auto;border:1px solid var(--line-soft);border-radius:12px;}
.main table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;}
.main th{text-align:left;font-weight:800;color:var(--navy);background:var(--tint);border-bottom:1px solid var(--line);padding:9px 10px;white-space:nowrap;position:sticky;top:0;}
.main td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.main tbody tr:hover td{background:rgba(11,27,58,.025);}
.main tbody tr:last-child td{border-bottom:0;}
.main td.muted,.main td .muted{font-size:12px;}
.matrix-grid{overflow:auto;}
.matrix-grid table{min-width:980px;}

/* 9. Indicateurs, pastilles, listes */
.kpi,.a2z-kpi{padding:14px 16px;}
.kpi__label,.a2z-kpi__label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;}
.kpi__value,.a2z-kpi__value{font-size:28px;font-weight:900;margin-top:4px;color:var(--navy);}
.kpi__hint{font-size:12px;color:var(--muted);margin-top:2px;}
.a2z-kpis,.a2z-kpi__row{display:flex;gap:10px;flex-wrap:wrap;}
.a2z-kpi{border:1px solid var(--line);border-radius:12px;background:#fff;min-width:110px;padding:8px 12px;}
.a2z-kpi .a2z-kpi__value{font-size:20px;}
.pill,.a2z-pill,.badge,.a2z-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;background:var(--tint);color:var(--navy);white-space:nowrap;}
.pill--ok,.pill--low,.badge--ok{background:rgba(18,122,67,.12);color:var(--green);}
.pill--warn,.pill--med,.badge--warn{background:rgba(183,121,31,.14);color:var(--amber);}
.pill--danger,.pill--high,.badge--ko{background:rgba(var(--red-rgb), .12);color:var(--red-2);}
.pill--info,.badge--info{background:rgba(29,95,191,.12);color:var(--blue);}
.badge--na{background:var(--tint);color:var(--muted);}
.a2z-pillbar{display:flex;gap:6px;flex-wrap:wrap;}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);margin-right:6px;vertical-align:middle;}
.dot--red{background:var(--red);}
.dot--amber{background:var(--amber);}
.dot--blue{background:var(--blue);}
.dot--green{background:var(--green);}
.list,.timeline{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;}
.timeline{list-style:none;padding-left:0;}
.timeline li{padding-left:14px;border-left:2px solid rgba(var(--red-rgb), .5);}
.progress{height:8px;border-radius:999px;background:var(--tint);overflow:hidden;min-width:80px;}
.progress>span{display:block;height:100%;background:var(--red);}

/* 10. Dialogues et notifications */
.a2z-dialog{border:0;padding:0;border-radius:var(--radius);box-shadow:0 24px 60px rgba(9,20,41,.35);width:min(560px, 92vw);}
.a2z-dialog::backdrop{background:rgba(11,27,58,.45);}
.a2z-dialog__card{display:flex;flex-direction:column;}
.a2z-dialog__head{background:linear-gradient(90deg, var(--navy), var(--navy-2));color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 -2px 0 rgba(var(--red-rgb), .85);}
.a2z-dialog__title{margin:0;font-size:16px;}
.a2z-dialog__close{background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer;}
.a2z-dialog__body{padding:16px;display:flex;flex-direction:column;gap:12px;}
.a2z-dialog__actions{padding:12px 16px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line-soft);}
.a2z-hint{color:var(--muted);font-size:12px;}
.a2z-alert{border-radius:10px;padding:10px 12px;font-size:13px;}
.a2z-alert--error{background:rgba(var(--red-rgb), .10);color:var(--red-2);border:1px solid rgba(var(--red-rgb), .35);}
.a2z-alert--ok{background:rgba(18,122,67,.10);color:var(--green);border:1px solid rgba(18,122,67,.35);}
.a2z-toast{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);border-left:4px solid var(--red);max-width:360px;font-weight:700;}
.auth-page{max-width:440px;width:100%;margin:40px auto;}
.auth-page .card__head{border-radius:var(--radius) var(--radius) 0 0;}

/* 11. Écrans métier */
.heatmap{display:grid;gap:6px;align-items:center;justify-content:center;}
.heatmap__cell{aspect-ratio:1 / 1;border:1px solid rgba(255,255,255,.4);border-radius:10px;min-width:44px;display:flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer;}
.heatmap__cell.is-selected{outline:3px solid var(--navy);}
.heatmap__axis{font-size:11px;font-weight:800;color:var(--muted);display:flex;align-items:center;justify-content:center;text-align:center;}
.a2z-scale{border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.a2z-scale__head{background:var(--tint);padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);}
.a2z-scale__title{font-weight:900;}
.list-select{display:flex;flex-direction:column;gap:6px;}
.list-select .btn{justify-content:space-between;text-align:left;width:100%;white-space:normal;}

/* Pages héritées du premier prototype */
.page-head>h1,.page-head>p{flex-basis:100%;}
.card__head .card__hint,.card__head .small,.card__head .a2z-hint,.card__head>p,.card__head>div>p{color:rgba(255,255,255,.82);}
.a2z-card{padding:16px;overflow:auto;}
.a2z-card:has(> .a2z-card__head){padding:0;}
.a2z-formgrid{display:flex;flex-direction:column;gap:12px;}
.a2z-formgrid--2{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;align-items:start;}
.a2z-alert:not(.a2z-alert--error):not(.a2z-alert--ok){background:var(--tint);border:1px solid var(--line);color:var(--text);}
.a2z-kpi:has(.a2z-kpi__row){display:block;width:100%;min-width:0;}
.a2z-kpi__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid var(--line-soft);}
.a2z-kpi__row:last-child{border-bottom:0;}
.a2z-kpi__row .a2z-kpi__value{font-size:14px;margin:0;text-align:right;}
.a2z-scale table{font-size:13px;}
.a2z-scale td input{min-width:60px;}
.a2z-scale>*:not(.a2z-scale__head){padding:8px 12px;}

.a2z-field:has(> input[type=checkbox]),.a2z-field:has(> input[type=radio]){flex-direction:row;align-items:flex-start;gap:10px;font-weight:600;}
.a2z-field:has(> input[type=checkbox])>span{font-weight:600;font-size:13px;}

.main .btn:has(> div),.main .btn:has(> span > div){white-space:normal;text-align:left;width:100%;justify-content:space-between;font-weight:600;}
.main .btn:has(> div)>div:first-child{flex:1;min-width:0;}
.main .btn--ghost.is-active,.main .btn.is-active{background:rgba(var(--red-rgb), .06);}

/* Paramétrage des processus : explication, modèles, étapes, niveaux, aperçu */
.explain{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy-2);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);}
.explain p{margin-top:4px;color:var(--muted);line-height:1.7;}
.explain__icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900;}
.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:rgba(15,42,88,.08);color:var(--navy);font-size:12px;font-weight:800;white-space:nowrap;}
.chips{display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.chips__sep{color:var(--muted);font-weight:800;}
.templates{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:12px;}
.template,.model-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;cursor:pointer;}
.template:hover,.model-card:hover{border-color:var(--red);box-shadow:0 0 0 3px rgba(var(--red-rgb), .10);}
.template__top,.model-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.model-layout{display:grid;grid-template-columns:minmax(240px, 320px) minmax(0, 1fr);gap:16px;align-items:start;}
.model-list{display:flex;flex-direction:column;gap:10px;}
.model-card.is-active{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red);}
.model-card.is-draft{cursor:default;border-style:dashed;}
.step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line-soft);}
.step:last-of-type{border-bottom:0;}
.step__num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:900;}
.step__body{display:flex;flex-direction:column;gap:10px;min-width:0;}
.step__body h3{font-size:15px;margin-top:5px;}
.stepper{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;padding:3px;}
.stepper output{min-width:28px;text-align:center;font-weight:900;font-size:16px;}
.levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.level{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.level__num{align-self:center;font-weight:900;color:var(--red-2);font-size:13px;}
.level__moves{display:flex;gap:4px;}
.tree{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;background:var(--tint);border:1px solid var(--line-soft);}
.tree__row{display:flex;align-items:center;gap:10px;margin-left:calc(var(--depth) * 26px);position:relative;}
.tree__row:not(:first-child)::before{content:"└";position:absolute;left:-18px;color:var(--muted);}
.tree__level{min-width:118px;font-size:12px;font-weight:800;color:var(--red-2);}
.tree__value{padding:4px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);font-weight:700;}
.model-actions{display:grid;gap:12px;border-top:1px solid var(--line-soft);padding-top:14px;}
.model-actions__spacer{flex:1;}
@media (max-width:980px){
  .model-layout{grid-template-columns:minmax(0,1fr);}
  .level{grid-template-columns:minmax(0,1fr);}
}

/* Paramétrage des risques : échelles, grille des impacts, zones et heatmap */
.row__spacer{flex:1;}
.scale-rows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;}
.scale-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,2fr);gap:10px;align-items:end;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.scale-row__badge{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;}
.scale-row>.scale-row__badge{align-self:center;}
.impact-grid-wrap{overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px;}
.impact-grid{width:100%;border-collapse:collapse;}
.impact-grid th,.impact-grid td{padding:8px;border-bottom:1px solid var(--line-soft);vertical-align:top;text-align:left;}
.impact-grid thead th{background:var(--tint);font-size:12px;}
.impact-grid thead th .scale-row__badge{margin-bottom:6px;}
.impact-grid thead input{width:100%;font-weight:800;}
.impact-grid__corner{vertical-align:bottom !important;}
.impact-grid tbody th,.impact-grid__corner{min-width:220px;width:220px;}
.impact-grid td,.impact-grid thead th:not(.impact-grid__corner){min-width:150px;}
.impact-grid__crit{display:flex;gap:6px;align-items:center;}
.impact-grid__crit input{flex:1;min-width:0;font-weight:800;}
.impact-grid__del{flex:0 0 26px;width:26px;height:26px;min-height:0;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;}
.impact-grid__del:hover:not(:disabled){border-color:var(--red);color:var(--red-2);}
.impact-grid__del:disabled{opacity:.35;cursor:default;}
.impact-grid textarea{width:100%;min-height:64px;resize:vertical;font-size:12px;line-height:1.35;}
.impact-grid tbody tr:last-child th,.impact-grid tbody tr:last-child td{border-bottom:0;}
.rule-pick{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;display:grid;gap:6px;}
.rule-pick legend{padding:0 4px;}
.zone-rows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;}
.zone-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto minmax(0,1.6fr);gap:10px;align-items:end;padding:10px 12px;border:1px solid var(--line);border-left:6px solid var(--zc);border-radius:12px;background:#fff;}
.zone-row input[type=color]{width:40px;height:36px;padding:2px;border-radius:8px;cursor:pointer;align-self:center;}
.zone-row__fixed{display:flex;align-items:center;gap:6px;min-height:38px;font-size:13px;font-weight:700;white-space:nowrap;}
.zone-row__fixed input{width:72px;}
.hm-preview{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;margin-top:14px;padding:14px;border-radius:12px;background:var(--tint);}
.hm-preview>.hm-preview__grid{flex:0 0 auto;max-width:100%;}
.hm-preview>:not(.hm-preview__grid){flex:1 1 220px;}
.hm-preview__grid{display:grid;gap:6px;align-items:center;}
.hm-preview__cell{aspect-ratio:1 / 1;display:grid;place-items:center;overflow:hidden;overflow-wrap:anywhere;border-radius:10px;color:#fff;font-weight:900;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.25);transition:background .2s;}
.hm-preview__axis{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--navy);line-height:1.2;}
.hm-preview__axis--x{flex-direction:column;justify-content:flex-start;text-align:center;}
.hm-preview__corner{font-size:11px;font-weight:800;color:var(--muted);align-self:center;}
.hm-preview__legend{display:grid;gap:8px;}
.hm-legend{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--line);}
.hm-legend__swatch{flex:0 0 18px;width:18px;height:18px;border-radius:5px;margin-top:1px;}
.hm-legend strong{display:block;font-size:13px;}
.hm-zone-chip{flex:0 0 12px;width:12px;height:12px;border-radius:4px;}
.hm-preview__cell--btn{border:0;font:inherit;font-size:12px;font-weight:900;line-height:1.15;padding:4px;cursor:pointer;text-align:center;}
.hm-preview__cell--btn:hover{filter:brightness(1.08);box-shadow:0 0 0 3px rgba(11,27,58,.25) inset;}
.hm-preview__cell--btn:focus-visible{outline:3px solid var(--navy);outline-offset:2px;}
.scale-row--fam{grid-template-columns:34px minmax(0,1fr) minmax(0,2fr) 26px;}
.dmr-list{display:grid;gap:8px;margin-bottom:8px;}
.dmr-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;grid-template-areas:"fam del" "label label" "level level";gap:6px;padding:8px;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;background:#fff;}
.dmr-row [data-dk="familyId"]{grid-area:fam;font-weight:800;}
.dmr-row [data-dk="label"]{grid-area:label;}
.dmr-row [data-dk="level"]{grid-area:level;}
.dmr-row .impact-grid__del{grid-area:del;align-self:center;}
.dmr-empty{padding:8px 10px;border:1px dashed var(--line);border-radius:10px;}
/* Dispositifs de maîtrise rangés par famille */
.dmr-fams{display:grid;gap:8px;}
.dmr-fam{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s;}
.dmr-fam.has-items{border-left-color:var(--navy);}
.dmr-fam__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 12px;}
.dmr-fam__title{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:1px;}
.dmr-fam__title strong{font-size:14px;}
.dmr-fam__count{flex:0 0 auto;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--tint);color:var(--muted);font-size:12px;font-weight:900;}
.dmr-fam.has-items .dmr-fam__count{background:var(--navy);color:#fff;}
.dmr-fam__head .btn{white-space:nowrap;}
.dmr-fam__rows{display:grid;gap:6px;padding:0 12px 12px;}
.dmr-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,240px) 26px;gap:8px;align-items:center;}
.dmr-line .impact-grid__del{justify-self:center;}
@media (max-width:640px){
  .dmr-line{grid-template-columns:minmax(0,1fr) 26px;}
  .dmr-line select{grid-column:1;grid-row:2;}
}
/* Cotation brute et synthèse brut, maîtrise, net */
.gross-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:10px;}
.step__headrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px;}
.step__headrow h3{margin-top:0;}
.eval-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:stretch;margin:4px 0;}
.eval-flow__box{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:var(--tint);border-left:5px solid var(--z);}
.eval-flow__box.is-set{background:#fff;box-shadow:0 0 0 1px var(--line) inset;}
.eval-flow__k{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.eval-flow__v{font-size:15px;}
.eval-flow__arrow{align-self:center;font-size:22px;font-weight:900;color:var(--muted);}
.eval-flow__treat{grid-column:1 / -1;margin:2px 0 0;padding:8px 12px;border-radius:10px;background:var(--tint);font-size:13px;}
@media (max-width:640px){
  .eval-flow{grid-template-columns:1fr;}
  .eval-flow__arrow{display:none;}
}
.template__mini span{display:grid;grid-template-columns:repeat(var(--n), 12px);gap:2px;}
.template__mini i{display:block;width:12px;height:12px;border-radius:3px;}
@media (max-width:980px){
  .scale-row,.zone-row{grid-template-columns:minmax(0,1fr);}
  .hm-preview{grid-template-columns:minmax(0,1fr);}
}

/* Créer un risque : choix du mode et du risque du référentiel */
.mode-pick{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px;}
.mode-opt{position:relative;display:flex !important;flex-direction:row !important;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.mode-opt input{position:absolute;opacity:0;width:1px;height:1px;}
.mode-opt svg{width:28px;height:28px;flex:0 0 28px;color:var(--navy);}
.mode-opt strong{display:block;font-size:14px;margin-bottom:2px;}
.mode-opt small{display:block;font-size:12px;color:var(--muted);line-height:1.35;}
.mode-opt:hover{border-color:var(--navy);}
.mode-opt:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:rgba(var(--red-rgb), .04);}
.mode-opt:has(input:checked) svg{color:var(--red);}
.mode-opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px;}
.ref-pick{display:grid;gap:12px;max-height:420px;overflow:auto;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--tint);}
.ref-group__title{margin:0 0 6px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.ref-group__title strong{color:var(--navy);}
.ref-group__id{display:inline-grid;place-items:center;flex:0 0 auto;padding:1px 6px;border-radius:6px;background:var(--navy);color:#fff;font-size:11px;font-weight:900;white-space:nowrap;}
.ref-group__items{display:grid;grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));gap:8px;}
.ref-item{display:grid;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font:inherit;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.ref-item__top{display:flex;gap:6px;align-items:flex-start;}
.ref-item__top strong{font-size:13px;line-height:1.3;}
.ref-item:hover{border-color:var(--navy);}
.ref-item.is-picked{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:rgba(var(--red-rgb), .05);}
.ref-item.is-picked .ref-group__id{background:var(--red);}
/* Sélection de plusieurs éléments de l'arborescence des processus */
/* Champ à étiquettes : choix multiple avec recherche (chipSelect, a2z-ui.js) */
.tsel{position:relative;min-width:0;}
.tsel__field{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;cursor:text;}
.tsel__field:hover{border-color:rgba(11,27,58,.32);}
.tsel.is-open .tsel__field,.tsel__field:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(var(--red-rgb), .16);}
.tsel--readonly .tsel__field{cursor:default;background:var(--tint);}
.tsel__list{display:contents;}
.tsel__chip{display:inline-flex;align-items:center;gap:3px;max-width:100%;min-width:0;padding:3px 10px 3px 4px;border:1px solid rgba(11,27,58,.24);border-radius:6px;background:#eceef3;color:var(--navy);font-size:13px;font-weight:600;line-height:1.35;}
.tsel--readonly .tsel__chip{padding-left:10px;}
.tsel__chip.is-missing{background:rgba(183,121,31,.12);border-color:rgba(183,121,31,.45);color:var(--amber);}
.tsel__x{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;min-height:0;padding:0;border:0;border-radius:4px;background:transparent;color:rgba(11,27,58,.5);font-size:15px;font-weight:700;line-height:1;cursor:pointer;}
.tsel__x:hover{background:var(--red);color:#fff;}
.tsel__chiplabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px;}
.tsel__ph{color:var(--muted);font-size:13px;padding:4px 2px;}
.tsel .tsel__input{flex:1 1 160px;width:auto !important;min-width:140px;min-height:30px !important;padding:4px 2px !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;background:transparent !important;font:inherit;font-size:14px;outline:none !important;}
/* Une seule étiquette : elle rétrécit plutôt que de renvoyer la saisie à la ligne. */
.tsel--single .tsel__field{flex-wrap:nowrap;}
.tsel--single .tsel__chip{flex:0 1 auto;}
.tsel--single .tsel__input{flex:1 1 48px;min-width:48px;}
.tsel__menu{position:fixed;z-index:80;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 36px rgba(9,20,41,.22);}
.tsel__menu[hidden]{display:none !important;}
.tsel__opt{display:flex;align-items:flex-start;gap:9px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px;}
.tsel__opt.is-active{background:rgba(11,27,58,.07);}
.tsel__opt.is-disabled{cursor:default;color:var(--muted);}
.tsel__check{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;margin-top:1px;border:1.5px solid rgba(11,27,58,.3);border-radius:4px;color:#fff;font-size:10px;font-weight:900;line-height:1;}
.tsel__opt.is-on .tsel__check{background:var(--navy);border-color:var(--navy);}
.tsel__opt.is-disabled .tsel__check{background:rgba(11,27,58,.18);border-color:transparent;}
.tsel__text{display:grid;gap:1px;min-width:0;flex:1 1 auto;}
.tsel__label{font-weight:600;overflow-wrap:anywhere;}
.tsel__opt.is-on .tsel__label{font-weight:800;}
.tsel__tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.tsel__hint{font-size:11px;color:var(--muted);overflow-wrap:anywhere;}
.tsel__extra{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex:0 0 auto;}
.tsel__extra .pill{font-size:10px;padding:2px 7px;white-space:nowrap;}
.tsel__group{padding:8px 8px 3px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.tsel__create{font-weight:800;color:var(--blue);}
.tsel__more,.tsel__empty{padding:8px;font-size:12px;color:var(--muted);}
.tsel__restrict{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 2px 6px;padding:5px 6px 5px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;}
.tsel__restrict button{display:grid;place-items:center;width:22px;height:22px;min-height:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-weight:900;cursor:pointer;}
.tsel--filter .tsel__field{min-height:38px;padding:3px 6px;}
.tsel--filter.is-set .tsel__field{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy);}

.ptp{position:relative;}
.ptp__btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer;}
.ptp__btn:hover{border-color:var(--navy);}
.ptp__btn:focus-visible{outline:2px solid var(--navy);outline-offset:1px;}
.ptp__btn.is-set{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy);font-weight:700;}
.ptp__summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ptp__caret{flex:0 0 auto;color:var(--muted);font-size:12px;}
.ptp__panel{position:fixed;z-index:70;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;width:max-content;max-width:min(520px, calc(100vw - 16px));padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 36px rgba(9,20,41,.22);}
.ptp__panel[hidden]{display:none !important;}
.ptp__tree{overflow:auto;min-height:0;padding-right:4px;}
.ptp__tree ul{list-style:none;margin:0;padding-left:18px;display:grid;gap:2px;}
.ptp__tree .ptp__root{padding-left:0;gap:6px;}
.ptp__family{display:block;margin:2px 0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.ptp__tree .check{font-size:13px;font-weight:600;padding:2px 0;}
.ptp__tree .check.is-implied{color:var(--muted);}
.ptp__acts{display:flex;align-items:center;gap:6px;}

/* Cartographie des risques : heatmaps de comptage et tableau processus, risques, contrôles */
.heatmap--count .heatmap__cell{background:var(--hm, var(--tint));color:#fff;font-size:17px;text-shadow:0 1px 2px rgba(0,0,0,.28);transition:transform .1s, box-shadow .1s;}
.heatmap--count .heatmap__cell:hover{transform:scale(1.04);box-shadow:0 4px 10px rgba(9,20,41,.25);}
.heatmap--count .heatmap__cell.is-empty{opacity:.3;}
.heatmap__cell{position:relative;}
.hm-mark{position:absolute;top:4px;right:4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#fff;color:var(--navy);font-size:10px;font-weight:900;text-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.35);}
.heatmap--count .heatmap__cell.is-marked{opacity:1;box-shadow:0 0 0 3px rgba(11,27,58,.55) inset;}
.heatmap--count .heatmap__cell.is-selected{outline:3px solid var(--navy);outline-offset:2px;opacity:1;}
.heatmap__axis--y{justify-content:flex-end;text-align:right;padding-right:6px;}
.heatmap__corner{display:flex;align-items:center;justify-content:flex-end;padding-right:6px;font-size:10px;font-weight:800;color:var(--muted);text-align:right;}
.hm-legend-row{display:flex;flex-wrap:wrap;gap:8px;}
.hm-legend-row .hm-legend{flex:1 1 200px;}
.rcm-toolbar input[type="search"]{flex:1 1 260px;min-width:0;}
.rcm-filter{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;}
.rcm-filter button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-weight:900;cursor:pointer;padding:0;}
.col-picker{display:grid;grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--tint);}
.col-picker__group{display:grid;gap:4px;align-content:start;margin:0;padding:0;border:0;}
.col-picker__group legend{margin-bottom:4px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.col-picker__group .check{font-size:13px;}
.col-picker__acts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;}
.rcm-wrap{max-height:72vh;overflow:auto;}
.rcm{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px;}
.rcm thead{position:sticky;top:0;z-index:2;}
.rcm th{background:#fff;text-align:left;white-space:nowrap;}
.rcm th,.rcm td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top;}
.rcm-wrap .rcm{width:max-content;min-width:100%;}
.rcm-cell{max-width:300px;}
.rcm .rcm-groups th{padding:6px 10px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;}
.rcm .rcm-groups .rcm-g--p{background:var(--navy);}
.rcm .rcm-groups .rcm-g--r{background:var(--red);}
.rcm .rcm-groups .rcm-g--c{background:var(--blue);}
.rcm th.rcm-col{border-bottom:2px solid var(--line);}
.rcm th.rcm-col.rcm-g--p{border-bottom-color:var(--navy);}
.rcm th.rcm-col.rcm-g--r{border-bottom-color:var(--red);}
.rcm th.rcm-col.rcm-g--c{border-bottom-color:var(--blue);}
.rcm-sort{display:inline;border:0;background:none;padding:0;color:var(--navy);font:inherit;font-weight:800;cursor:pointer;text-align:left;white-space:nowrap;}
.rcm-sort:hover,.rcm-sort.is-sorted{color:var(--red);}
.rcm tbody tr:hover td{background:rgba(15,42,88,.035);}
.rcm tbody tr.rcm-first td{border-top:2px solid var(--line);}
.rcm tbody tr:first-child td{border-top:0;}
.rcm td.rcm-g--p{background:rgba(11,27,58,.025);}
.rcm td.is-repeat{border-top-color:transparent;}

/* Champs par client : marques dans les formulaires */
.is-required [data-label]::after{content:" *";color:var(--red);font-weight:900;}
.field-help{display:block;margin-top:-2px;color:var(--muted);font-size:12px;font-weight:600;line-height:1.35;}
.custom-fields{display:grid;gap:8px;}
.scope-custom{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:8px;margin:0;}
.scope-custom>div{padding:8px 10px;border-radius:10px;background:var(--tint);}
.scope-custom dt{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.scope-custom dd{margin:2px 0 0;font-size:13px;}
.custom-fields__grid{align-items:start;}
.custom-field--wide{grid-column:1 / -1;}
.cf-check{min-height:40px;}

/* Administration › Champs */
.fields-layout{display:grid;grid-template-columns:minmax(220px, 280px) minmax(0, 1fr);gap:16px;align-items:start;}
@media (max-width:1180px){ .fields-layout{grid-template-columns:minmax(0, 1fr);} }
.entity-list{display:grid;gap:8px;}
.entity-item{display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.entity-item:hover{border-color:var(--red);}
.entity-item.is-active{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red), 0 0 0 3px rgba(var(--red-rgb), .10);}
.entity-item .small{color:var(--muted);}
.fields-body{display:grid !important;grid-template-columns:minmax(0, 1fr) minmax(240px, 300px);gap:18px;align-items:start;}
@media (max-width:1300px){ .fields-body{grid-template-columns:minmax(0, 1fr);} }
.fset-table td{vertical-align:middle;}
.fset-table input:not([type]){min-width:140px;}
.fset-fixed{display:block;margin-top:2px;}
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:none;}
.field>.switch{align-self:flex-start;}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;}
.switch span{position:absolute;inset:0;border-radius:999px;background:rgba(11,27,58,.22);transition:background .15s;}
.switch span::before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s;}
.switch input:checked+span{background:var(--navy);}
.switch input:checked+span::before{transform:translateX(18px);}
.switch input:disabled{cursor:not-allowed;}
.switch input:disabled+span{opacity:.45;}
.switch input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px;}
.cf-list{display:grid;gap:8px;}
.cf-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;background:#fff;}
.cf-row.is-off{border-left-color:var(--line);opacity:.7;}
.cf-row__main{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;min-width:0;}
.cf-row__main .small{color:var(--muted);}
.cf-row__flags{display:flex;flex-wrap:wrap;gap:4px;}
.cf-row__acts{display:flex;gap:6px;}
.cf-flags{display:flex;flex-wrap:wrap;gap:8px 20px;}
.fields-preview{position:sticky;top:calc(var(--topbar-h) + 12px);display:grid;gap:10px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--tint);}
.fields-preview__title{margin:0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.fields-preview__body{display:grid;gap:10px;}
.fields-preview__body .form-grid{grid-template-columns:minmax(0, 1fr);}
.fp-box{padding:8px 10px;border:1px dashed var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;}

/* Référentiel de contrôles : périmètres à gauche, périmètre choisi et ses contrôles à droite */
.ctl-layout{display:grid;grid-template-columns:minmax(260px, 340px) minmax(0, 1fr);gap:16px;align-items:start;}
.scope-list{display:grid;gap:8px;max-height:calc(100vh - 300px);overflow:auto;padding:2px;}
@media (max-width:1180px){ .ctl-layout{grid-template-columns:minmax(0, 1fr);} .scope-list{max-height:260px;} }
.scope-item{display:grid;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.scope-item:hover{border-color:var(--red);}
.scope-item.is-active{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red), 0 0 0 3px rgba(var(--red-rgb), .10);}
.scope-item strong{font-size:14px;line-height:1.3;}
.scope-item .small{color:var(--muted);}
.scope-item__meta{display:flex;flex-wrap:wrap;gap:6px;}
.ctl-empty{display:grid;gap:10px;justify-items:start;padding:28px 24px;}
.ctl-empty h2{margin:0;font-size:18px;}
.ctl-subtitle{margin:0;font-size:15px;}
.ctl-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:520px;}
.ctl-table td:first-child{min-width:260px;}
.ctl-table td:nth-child(2){min-width:130px;}
.ctl-none{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;}
.ctl-actions{margin:0;padding-left:18px;display:grid;gap:4px;}
.point-list{display:grid;gap:8px;}
.point-row{display:grid;grid-template-columns:26px minmax(0, 1.4fr) minmax(150px, .7fr) minmax(0, 1fr) auto;gap:8px;align-items:center;}
.point-row__num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:900;}
.point-row__acts{display:flex;align-items:center;gap:4px;}
@media (max-width:760px){
  .point-row{grid-template-columns:26px minmax(0, 1fr);}
  .point-row select,.point-row [data-pk="evidence"],.point-row__acts{grid-column:2;}
}


/* Fiche contrôle : choix segmentés, info-bulle, validation, risques couverts, versions */
.seg{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;align-self:start;}
.seg button{white-space:nowrap;border:0;border-right:1px solid var(--line);background:transparent;padding:8px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer;min-height:38px;}
.seg button:last-child{border-right:0;}
.seg button:hover{background:var(--tint);}
.seg button.is-on{background:var(--navy);color:#fff;}
.seg button:focus-visible{outline:2px solid var(--red);outline-offset:-2px;}
.seg--sm button{padding:5px 12px;font-size:12px;min-height:30px;}
.info{position:relative;display:inline-flex;}
.info__btn{display:grid;place-items:center;width:20px;height:20px;min-height:0;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--blue);font:italic 900 12px/1 Georgia, serif;cursor:help;}
.info__btn:hover,.info__btn[aria-expanded="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.info__tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:20;width:max-content;max-width:300px;padding:8px 10px;border-radius:8px;background:var(--navy);color:#fff;font-size:12px;font-weight:600;line-height:1.4;box-shadow:var(--shadow);}
.info__tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--navy);}
.ctl-grid-ident{grid-template-columns:minmax(120px, 160px) minmax(0, 1fr) minmax(140px, 200px);}
@media (max-width:760px){ .ctl-grid-ident{grid-template-columns:minmax(0, 1fr);} }
.ctl-mod{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-start;}
.ctl-mod .field{min-width:200px;}
.ctl-effective{display:grid;grid-template-columns:minmax(200px, 240px) minmax(0, 1fr);gap:8px 16px;align-items:end;margin-top:4px;padding:12px 14px;border:1px dashed var(--line);border-radius:12px;background:var(--tint);}
.ctl-effective p{margin:0 0 8px;}
@media (max-width:760px){ .ctl-effective{grid-template-columns:minmax(0, 1fr);} }
.ctl-validation{gap:8px;}
.ctl-validation__row{display:flex;align-items:center;gap:10px;font-weight:700;font-size:13px;}
.ctl-share{max-width:260px;}
.warn-text{color:var(--amber);}
.ctl-risks{display:grid;grid-template-columns:minmax(240px, 1fr) auto;gap:16px 20px;align-items:start;}
@media (max-width:900px){ .ctl-risks{grid-template-columns:minmax(0, 1fr);} }
.ctl-risks__map{display:grid;gap:10px;justify-items:start;}
.ctl-risks__map .heatmap{justify-content:start;}
.ctl-risks__list{display:grid;gap:8px;min-width:0;}
.heatmap--sm{gap:4px;}
.heatmap--sm .heatmap__cell{min-width:34px;border-radius:8px;}
.heatmap--count.heatmap--sm .heatmap__cell{font-size:14px;}
.heatmap--sm .heatmap__axis{font-size:10px;}
.heatmap--sm .hm-mark{top:2px;right:2px;min-width:16px;height:16px;font-size:9px;}
.ctl-versions{display:grid;gap:8px;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(29,95,191,.25);border-radius:12px;background:rgba(29,95,191,.05);}
.ctl-version{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;}
.ctl-version .btn{margin-left:auto;}
.ctl-history summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--muted);}
.ctl-history ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px;font-size:12px;}

/* Référentiels de risques */
.ref-lib{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:12px;}
.ref-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.ref-card.is-active{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red);}
.ref-card.is-open{box-shadow:0 0 0 3px rgba(var(--red-rgb), .10);}
.ref-card.is-active.is-open{box-shadow:inset 3px 0 0 var(--red), 0 0 0 3px rgba(var(--red-rgb), .10);}
.ref-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.ref-card__src{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.ref-card__name{font-size:15px;line-height:1.3;}
.ref-card p{margin:0;}
.ref-card__acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;}
.start-tile{min-height:150px;}
.start-tile.is-on{border-color:var(--red);box-shadow:0 0 0 3px rgba(var(--red-rgb), .12);}
.start-tile__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--navy);color:#fff;}
.start-tile__icon svg{width:20px;height:20px;}
.start-tile .small{color:var(--muted);}
.ref-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;background:var(--tint);}
.ref-panel .step{border-bottom-color:var(--line);}
.levels-editor{display:grid;gap:10px;}
.levels-row,.levels-names{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;}
.level-input{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1 1 140px;max-width:220px;}
.level-input span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);white-space:nowrap;}
.level-input.is-last span{color:var(--red);}
.level-input.is-last input{border-color:rgba(var(--red-rgb), .45);}
.levels-row .chips__sep,.levels-names .chips__sep{padding-bottom:10px;}
.link-btn{border:0;background:none;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer;}
.ref-head-chips{margin-top:6px;}
.card__head .chip{background:rgba(255,255,255,.16);color:#fff;}
.card__head .chips__sep{color:rgba(255,255,255,.65);}
.ref-settings{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 14px;}
.ref-settings[open]{display:grid;gap:10px;}
.ref-settings summary{cursor:pointer;font-weight:800;}
.ref-search{flex:1 1 280px;min-width:0;}
.rtree{display:grid;gap:6px;}
.rtree__empty{display:grid;gap:8px;justify-items:start;padding:14px;border:1px dashed var(--line);border-radius:12px;}
.rnode{display:grid;gap:6px;}
.rnode__row{display:grid;grid-template-columns:26px auto minmax(0,1fr) auto auto;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;}
.rnode--d0>.rnode__row{border-left:4px solid var(--navy);}
.rnode--d1>.rnode__row{border-left:4px solid var(--blue);}
.rnode--d2>.rnode__row,.rnode--d3>.rnode__row,.rnode--d4>.rnode__row{border-left:4px solid var(--line);}
.rnode.is-leaf>.rnode__row{background:#fff;}
.rnode__kids{display:grid;gap:6px;padding-left:22px;}
.rnode__tog{width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-weight:900;cursor:pointer;padding:0;line-height:1;}
span.rnode__tog{border:0;background:none;cursor:default;}
.rnode__code{display:inline-grid;place-items:center;min-width:44px;padding:3px 7px;border-radius:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;white-space:nowrap;}
.rnode.is-leaf .rnode__code{background:rgba(15,42,88,.10);color:var(--navy);}
.rnode__main{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rnode__main .small{color:var(--muted);}
.rnode__s2{display:block;margin-top:2px;}
.rnode__meta{white-space:nowrap;align-self:center;}
.rnode__acts{display:flex;gap:6px;align-self:center;opacity:.35;transition:opacity .15s;}
.rnode__row:hover .rnode__acts,.rnode__row:focus-within .rnode__acts{opacity:1;}
@media (hover:none){.rnode__acts{opacity:1;}}
@media (max-width:760px){
  .rnode__row{grid-template-columns:26px auto minmax(0,1fr);}
  .rnode__meta,.rnode__acts{grid-column:3;}
  .rnode__kids{padding-left:12px;}
}
.form-grid--12{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}
@media (max-width:760px){ .form-grid--12{grid-template-columns:minmax(0,1fr);} }
.import-preview{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:12px;background:#fff;display:grid;gap:10px;}
.import-preview__title{margin:0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.import-preview p{margin:0;}
.mode-pick--compact .mode-opt{padding:10px 12px;}
.mode-opt:has(input:disabled){opacity:.5;cursor:not-allowed;}
.ref-s2{display:block;margin-top:2px;}
.ref-block{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;background:#fff;}
.ref-block__title{margin:0 0 8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);}
.ref-block__grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:6px 12px;margin:0;font-size:13px;}
.ref-block__grid dt{font-weight:800;color:var(--muted);}
.ref-block__grid dd{margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.risk-meta{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:8px;margin:0 0 12px;}
.risk-meta>div{padding:10px 12px;border-radius:10px;background:var(--tint);}
.risk-meta dt{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);margin-bottom:2px;}
.risk-meta dd{margin:0;font-size:13px;}
.form-grid--21{grid-template-columns:minmax(0,2fr) minmax(0,1fr);}
@media (max-width:760px){ .form-grid--21{grid-template-columns:minmax(0,1fr);} }
.risk-num{display:inline-block;padding:2px 8px;border-radius:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;white-space:nowrap;}
@media (max-width:900px){ .risk-meta{grid-template-columns:minmax(0,1fr);} .ref-block__grid{grid-template-columns:minmax(0,1fr);} }
tr.is-editing td{background:rgba(var(--red-rgb), .05);}
@media (max-width:760px){ .mode-pick{grid-template-columns:minmax(0,1fr);} }

/* Référentiel de place */
.place-families{display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:8px;margin-bottom:10px;}
.place-family{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;}
.place-family__id{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;font-weight:900;font-size:12px;}
.place-family strong{display:block;font-size:13px;}

/* Carte des processus : trois flèches à la poupée russe */
.pmap-switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#fff;cursor:pointer;user-select:none;}
.pmap-switch input{position:absolute;opacity:0;width:1px;height:1px;}
.pmap-switch__track{position:relative;width:34px;height:20px;border-radius:999px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45);transition:background .2s;}
.pmap-switch__track::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s;}
.pmap-switch input:checked+.pmap-switch__track{background:var(--red);border-color:var(--red);}
.pmap-switch input:checked+.pmap-switch__track::after{transform:translateX(14px);}
.pmap-switch input:focus-visible+.pmap-switch__track{outline:2px solid #fff;outline-offset:2px;}
.pmap-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;border-radius:var(--radius-sm);background:rgba(var(--red-rgb), .07);border:1px dashed rgba(var(--red-rgb), .45);color:var(--navy);}
.pmap-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:14px;font-size:12px;font-weight:700;color:var(--muted);}
.pmap-legend__item{display:inline-flex;align-items:center;gap:6px;}
.pmap-legend__sep{width:1px;height:16px;background:var(--line);}
.pmap-legend__swatch{display:inline-block;width:18px;height:12px;}
.pmap-legend__swatch--arrow{background:var(--navy);clip-path:polygon(0 0,70% 0,100% 50%,70% 100%,0 100%,22% 50%);}
.pmap-legend__swatch--box{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:3px;}
.pmap-legend__swatch--chip{background:var(--tint);border:1px solid var(--line);border-radius:999px;}
.pmap{display:grid;gap:14px;}
.pmap__row{display:grid;grid-template-columns:96px minmax(0,1fr) 96px;align-items:center;gap:10px;}
.pmap__side{display:flex;justify-content:center;}
.pmap__bubble{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;font-weight:800;line-height:1.25;color:var(--navy);padding:10px 8px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);}
.pmap__bubble svg{width:26px;height:26px;color:var(--red);}
.pmap__bubble--out svg{color:var(--green);}
.pmap__arrow{position:relative;padding:14px 58px 16px 40px;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 50%,calc(100% - 40px) 100%,0 100%,24px 50%);color:#fff;transition:filter .2s, transform .2s;}
.pmap__arrow--pilotage{background:linear-gradient(90deg, var(--navy), var(--navy-2));}
.pmap__arrow--operationnel{background:linear-gradient(90deg, var(--red-2), var(--red));}
.pmap__arrow--support{background:linear-gradient(90deg, #dbe2ef, #eef1f7);color:var(--navy);}
.pmap.is-dragging .pmap__arrow{filter:saturate(.75);}
.pmap.is-dragging .pmap__arrow.is-drop{filter:none;transform:scale(1.012);}
.pmap__arrow.is-drop .pmap__macros{outline:2px dashed currentColor;outline-offset:6px;border-radius:12px;}
.pmap__head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.pmap__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:rgba(255,255,255,.16);}
.pmap__arrow--support .pmap__icon{background:rgba(11,27,58,.08);}
.pmap__icon svg{width:22px;height:22px;}
.pmap__titles{min-width:0;flex:1;}
.pmap__titles h3{font-size:16px;color:inherit;}
.pmap__titles p{font-size:12px;opacity:.85;margin-top:2px;}
.pmap__count{font-size:12px;font-weight:800;white-space:nowrap;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.18);}
.pmap__arrow--support .pmap__count{background:rgba(11,27,58,.08);}
.pmap__macros{display:grid;grid-template-columns:repeat(auto-fill, minmax(178px, 1fr));gap:10px;}
.pmap__macro{background:#fff;color:var(--navy);border-radius:12px;padding:10px 10px 12px;border-top:4px solid var(--navy);box-shadow:0 6px 16px rgba(9,20,41,.14);cursor:grab;transition:transform .18s, box-shadow .18s;}
.pmap__arrow--operationnel .pmap__macro{border-top-color:var(--red);}
.pmap__arrow--support .pmap__macro{border-top-color:#8fa0c2;}
.pmap__macro:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(9,20,41,.2);}
.pmap__macro.is-dragging{opacity:.45;transform:rotate(-2deg) scale(.97);}
.pmap__macro:active{cursor:grabbing;}
.pmap__macro-title{display:flex;align-items:flex-start;gap:6px;font-size:13px;font-weight:900;line-height:1.25;margin-bottom:8px;}
.pmap__grip{color:var(--muted);font-size:12px;line-height:1.3;opacity:.6;}
.pmap__chips{display:flex;flex-wrap:wrap;gap:6px;}
.pmap__chip{display:inline-flex;align-items:center;gap:6px;min-height:0;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--tint);color:var(--navy);font:inherit;font-size:12px;font-weight:700;line-height:1.3;text-align:left;cursor:pointer;transition:background .15s, color .15s, transform .15s, border-color .15s;}
.pmap__chip:hover,.pmap__chip:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-1px);}
.pmap__arrow--operationnel .pmap__chip:hover,.pmap__arrow--operationnel .pmap__chip:focus-visible{background:var(--red);border-color:var(--red);}
.pmap__chip:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.pmap__n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(11,27,58,.12);font-size:11px;font-weight:900;}
.pmap__chip:hover .pmap__n{background:rgba(255,255,255,.25);}
.pmap__dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:#c5cbd8;box-shadow:0 0 0 2px #fff;}
.pmap__dot--faible{background:#2f9e5f;}
.pmap__dot--modere{background:#e3b341;}
.pmap__dot--eleve{background:#e8803a;}
.pmap__dot--critique{background:#DC143C;}
.pmap__add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:10px;border-radius:12px;border:2px dashed rgba(255,255,255,.55);color:inherit;font-size:12px;font-weight:800;text-decoration:none;transition:background .15s, border-color .15s;}
.pmap__arrow--support .pmap__add{border-color:rgba(11,27,58,.3);}
.pmap__add:hover{background:rgba(255,255,255,.12);border-color:currentColor;}
.pmap__add-plus{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);font-size:16px;line-height:1;}
.pmap__arrow--support .pmap__add-plus{background:rgba(11,27,58,.1);}
.pmap-tip{margin-top:12px;}
.pmap-tag{display:inline-flex;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;}
.pmap-tag--pilotage{background:rgba(11,27,58,.1);color:var(--navy);}
.pmap-tag--operationnel{background:rgba(var(--red-rgb), .12);color:var(--red-2);}
.pmap-tag--support{background:#e6eaf3;color:#3b4f78;}
.pmap-dialog{width:min(620px, 94vw);}
.pmap-dialog__sub{font-size:12px;color:rgba(255,255,255,.8);margin-top:2px;}
.pmap-proc{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;}
.pmap-proc__flow{justify-self:start;}
.pmap-proc__acts{display:flex;flex-wrap:wrap;gap:8px;}
.pmap__macro-title>span:nth-child(2){flex:1;min-width:0;}
.pmap__del{flex:0 0 22px;width:22px;height:22px;min-height:0;margin:-2px -2px 0 0;padding:3px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;opacity:.55;}
.pmap__del svg{width:16px;height:16px;display:block;}
.pmap__macro:hover .pmap__del,.pmap__del:focus-visible{opacity:1;}
.pmap__del:hover{background:rgba(var(--red-rgb), .1);color:var(--red-2);}
.pmap-rowacts{white-space:nowrap;}
.pmap-rowacts .btn{vertical-align:middle;}
.pmap-rowdel{margin-left:6px;padding:4px 7px;}
.pmap-rowdel svg{width:15px;height:15px;display:block;}
.pmap-proc__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.pmap-stats{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:8px;}
.pmap-stat>a,.pmap-stat>span{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:10px;background:var(--tint);text-decoration:none;color:var(--navy);font-size:12px;font-weight:700;}
.pmap-stat strong{font-size:22px;font-weight:900;line-height:1.1;}
.pmap-stat>a:hover{background:var(--navy);color:#fff;}
.pmap-stat.is-zero strong{color:var(--muted);}
.pmap-move{display:grid;gap:8px;padding-top:4px;}
.pmap-move__opts{display:flex;flex-wrap:wrap;gap:8px;}
.pmap-move__opt{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.pmap-move__opt svg{width:16px;height:16px;}
.pmap-move__opt:hover{border-color:var(--navy);}
.pmap-move__opt.is-on{background:var(--navy);border-color:var(--navy);color:#fff;}
.pmap-move__opt--operationnel.is-on{background:var(--red);border-color:var(--red);}
.pmap-move__opt--support.is-on{background:#dbe2ef;border-color:#8fa0c2;color:var(--navy);}
@media (prefers-reduced-motion:no-preference){
  .pmap.is-animated .pmap__arrow{animation:pmapIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 110ms);}
  .pmap.is-animated .pmap__macro{animation:pmapPop .35s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 110ms + 180ms + var(--k) * 45ms);}
  .pmap__macro.is-moved{animation:pmapPop .45s cubic-bezier(.2,1.4,.4,1) both;}
  @keyframes pmapIn{from{opacity:0;transform:translateX(-28px);}to{opacity:1;transform:none;}}
  @keyframes pmapPop{from{opacity:0;transform:scale(.86);}to{opacity:1;transform:none;}}
}
@media (max-width:1100px){
  .pmap__row{grid-template-columns:minmax(0,1fr);}
  .pmap__side{display:none;}
}
@media (max-width:640px){
  .pmap__arrow{padding:12px 30px 14px 22px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,12px 50%);}
  .pmap__head{flex-wrap:wrap;}
  .pmap__count{order:3;}
  .pmap__macros{grid-template-columns:minmax(0,1fr);}
  .pmap-stats{grid-template-columns:repeat(3, minmax(0,1fr));}
}

/* Modéliser un processus : liste à gauche, logigramme BPMN à droite */
.bpmn-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start;}
.bpmn-side .card__body{display:grid;gap:10px;}
.ptree{display:grid;gap:14px;max-height:calc(100vh - 290px);overflow:auto;padding-right:2px;}
.ptree__empty{display:grid;gap:8px;justify-items:start;}
.ptree__famtitle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px;color:var(--navy);margin-bottom:6px;}
.ptree__swatch{width:18px;height:10px;flex:0 0 18px;background:var(--navy);clip-path:polygon(0 0,70% 0,100% 50%,70% 100%,0 100%,22% 50%);}
.ptree__fam--operationnel .ptree__swatch{background:var(--red);}
.ptree__fam--support .ptree__swatch{background:#8fa0c2;}
.ptree__macro{display:grid;gap:4px;margin:0 0 8px 8px;padding-left:10px;border-left:2px solid var(--line-soft);}
.ptree__macrotitle{font-size:12px;font-weight:800;color:var(--muted);margin:2px 0;}
.ptree__item{position:relative;display:grid;gap:1px;width:100%;padding:7px 26px 7px 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--navy);font:inherit;text-align:left;cursor:pointer;transition:background .15s, border-color .15s;}
.ptree__item:hover{background:var(--tint);}
.ptree__item.is-active{background:rgba(var(--red-rgb), .07);border-color:rgba(var(--red-rgb), .35);}
.ptree__item:focus-visible{outline:2px solid var(--red);outline-offset:1px;}
.ptree__name{font-size:13px;font-weight:800;line-height:1.25;}
.ptree__sub{font-size:11px;color:var(--muted);line-height:1.3;}
.ptree__state{position:absolute;right:9px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;border:2px solid #c5cbd8;}
.ptree__state.is-drawn{border-color:var(--green);background:var(--green);}
.ptree__org{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:linear-gradient(90deg, var(--navy), var(--navy-2));color:#fff;font-size:13px;font-weight:900;box-shadow:inset 0 -2px 0 rgba(var(--red-rgb), .85);}
.ptree__org svg{width:18px;height:18px;flex:0 0 18px;}
.ptree__orgname{flex:1;min-width:0;overflow-wrap:anywhere;}
.ptree__orginput{flex:1;min-width:0;min-height:0;padding:3px 6px;border:0;border-radius:6px;font:inherit;color:var(--navy);}
.ptree__orgedit{flex:0 0 26px;width:26px;height:26px;min-height:0;padding:0;border:0;border-radius:7px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;cursor:pointer;}
.ptree__orgedit:hover{background:rgba(255,255,255,.3);}
.ptree__fams{display:grid;gap:12px;margin:10px 0 0 10px;padding-left:10px;border-left:2px solid var(--line-soft);}
.ptree__famrow{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px;}
.ptree__famrow .ptree__famtitle{margin:0;}
.ptree__list{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.ptree__node>.ptree__list{margin:2px 0 2px 12px;padding-left:8px;border-left:1px dashed var(--line);}
.ptree__row{display:flex;align-items:center;gap:4px;border-radius:10px;border:1px solid transparent;}
.ptree__row.is-active{background:rgba(var(--red-rgb), .07);border-color:rgba(var(--red-rgb), .35);}
.ptree__row .ptree__item{flex:1;min-width:0;}
.ptree__row.is-active .ptree__item{background:transparent;border-color:transparent;}
.ptree__lvl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);line-height:1.2;}
.ptree__add{flex:0 0 24px;width:24px;height:24px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-size:15px;font-weight:900;line-height:1;cursor:pointer;opacity:.5;transition:opacity .15s, background .15s, color .15s;}
.ptree__row:hover .ptree__add,.ptree__famrow .ptree__add,.ptree__add:focus-visible{opacity:1;}
.ptree__add:hover{background:var(--red);border-color:var(--red);color:#fff;}
.ptree__del{flex:0 0 24px;width:24px;height:24px;min-height:0;padding:4px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;opacity:.5;transition:opacity .15s, background .15s, color .15s;}
.ptree__del svg{width:16px;height:16px;display:block;}
.ptree__row:hover .ptree__del,.ptree__row.is-active .ptree__del,.ptree__del:focus-visible{opacity:1;}
.ptree__del:hover{background:rgba(var(--red-rgb), .1);color:var(--red-2);}
@media (hover:none){.ptree__del,.ptree__add{opacity:1;}}
.pd-delete{margin-right:auto;}
.dd-dialog{width:min(520px, 92vw);}
.dd-list{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px;max-height:220px;overflow:auto;}
.dd-list .ptree__lvl{margin-right:4px;}
.dd-confirm{background:var(--red);border-color:var(--red);color:#fff;}
.dd-confirm:hover{background:var(--red-2);border-color:var(--red-2);}
.ptree__none{padding:3px 10px;font-size:12px;color:var(--muted);}
.pd-hint{margin-top:-4px;}
.pmap__org{display:flex;align-items:center;justify-content:center;gap:8px;justify-self:center;padding:8px 18px;border-radius:999px;background:linear-gradient(90deg, var(--navy), var(--navy-2));color:#fff;font-size:14px;font-weight:900;box-shadow:inset 0 -2px 0 rgba(var(--red-rgb), .85), var(--shadow);}
.pmap__org svg{width:18px;height:18px;}
.bpmn-main__titles{min-width:0;}
.bpmn-trail{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.75);margin-bottom:4px;}
.card__head .bpmn-trail .bpmn-trail__link{min-height:0;border:0;border-radius:0;background:none;box-shadow:none;padding:0;font:inherit;font-weight:800;color:#fff;text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.card__head .bpmn-trail .bpmn-trail__link:hover{color:#ffd1db;}
.bpmn-trail .is-current{font-weight:800;color:#fff;}
.bpmn-more{position:relative;}
.bpmn-more>summary{list-style:none;cursor:pointer;}
.bpmn-more>summary::-webkit-details-marker{display:none;}
.bpmn-more__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:grid;min-width:230px;padding:6px;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(9,20,41,.22);border:1px solid var(--line);}
.bpmn-more__menu button{padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--navy);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer;}
.bpmn-more__menu button:hover{background:var(--tint);}
.bpmn-more__menu .is-danger{color:var(--red-2);}
.card__body.bpmn-body{padding:0;}
.bpmn-empty{display:grid;justify-items:center;gap:10px;padding:56px 24px;text-align:center;}
.bpmn-empty p{max-width:460px;}
.bpmn-empty__art{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.bpmn-empty__art span{width:54px;height:34px;border-radius:8px;border:2px solid var(--navy);background:#fff;}
.bpmn-empty__art span:nth-child(2){border-color:var(--red);border-style:dashed;}
.bpmn-empty__art span:nth-child(3){width:30px;height:30px;border-radius:50%;}
.bpmn-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;height:calc(100vh - 250px);min-height:540px;}
/* Mode agrandi : seulement quand un logigramme est ouvert, sinon l'arborescence doit rester visible */
body.is-bpmn-focus.bpmn-has-process .layout{grid-template-columns:minmax(0,1fr);}
body.is-bpmn-focus.bpmn-has-process .layout>.sidebar,body.is-bpmn-focus.bpmn-has-process .bpmn-side,body.is-bpmn-focus.bpmn-has-process .page-head{display:none;}
body.is-bpmn-focus.bpmn-has-process .bpmn-layout{grid-template-columns:minmax(0,1fr);}
body.is-bpmn-focus.bpmn-has-process .bpmn-wrap{height:calc(100vh - 180px);}
.bpmn-canvas{position:relative;min-width:0;overflow:hidden;border-right:1px solid var(--line-soft);background-color:#fbfcfe;background-image:radial-gradient(rgba(11,27,58,.13) 1px, transparent 1px);background-size:18px 18px;}
.bpmn-props{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;padding:14px;overflow:auto;background:#fff;}
.bpmn-props .btn{white-space:normal;text-align:left;height:auto;line-height:1.3;}
.bpmn-props__title{font-size:13px;}
.bpmn-props__kind{display:inline-flex;justify-self:start;padding:3px 10px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;}
.bpmn-props__acts{display:grid;gap:6px;}
.bpmn-props__acts .btn,.bpmn-props>.btn{justify-content:flex-start;}
.bpmn-tips{margin:0;padding-left:18px;display:grid;gap:6px;font-size:12px;color:var(--navy);}
.bpmn-level{display:grid;gap:4px;padding:10px;border-radius:10px;background:rgba(var(--red-rgb), .06);border:1px dashed rgba(var(--red-rgb), .45);}
.bpmn-go{pointer-events:auto;white-space:nowrap;padding:2px 8px;border:0;border-radius:999px;background:var(--red);color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px rgba(9,20,41,.25);}
.bpmn-go:hover{background:var(--red-2);}
.bpmn-canvas .bio-theme-parent,.bpmn-canvas .djs-parent,.bpmn-canvas .bjs-container{
  --bio-primary:#DC143C;--bio-canvas-accent:#DC143C;--bio-canvas-accent-subtle:rgba(220,20,60,.45);--bio-focus:#DC143C;
  --bio-text:#0b1b3a;--bio-text-subtle:rgba(11,27,58,.7);--bio-surface-subtle:#ffffff;--bio-border:rgba(11,27,58,.18);
  --bio-primary-surface:rgba(220,20,60,.08);--bio-focus-surface:rgba(220,20,60,.08);
  --bio-radius-sm:8px;--bio-radius-md:8px;--bio-radius-lg:12px;
  --canvas-fill-color:transparent;--popup-font-family:inherit;--bjs-font-family:inherit;
}
.bpmn-canvas .djs-palette{border-radius:12px;box-shadow:0 8px 20px rgba(9,20,41,.12);}
.bpmn-canvas .djs-context-pad .entry{border-radius:8px;}
.bpmn-canvas .bjs-breadcrumbs{border-radius:999px;padding:4px 12px;font-weight:700;box-shadow:0 4px 12px rgba(9,20,41,.12);}
.pm-dialog{width:min(720px, 94vw);}
.pm-dialog .a2z-dialog__body{max-height:calc(100vh - 220px);overflow:auto;}
@media (max-width:1180px){
  .bpmn-layout{grid-template-columns:minmax(0,1fr);}
  .ptree{max-height:260px;}
  .bpmn-wrap{grid-template-columns:minmax(0,1fr);height:auto;}
  .bpmn-canvas{height:560px;border-right:0;border-bottom:1px solid var(--line-soft);}
}

/* Petits écrans */
@media (max-width:1180px){
  .kpi-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .grid--3{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:980px){
  .layout{grid-template-columns:minmax(0,1fr);}
  .sidebar{display:none;}
  .sidebar.is-open{display:block;}
  .topbar__menu{display:grid;}
  .grid,.grid--2,.grid--3,.two-col,.a2z-grid--2,.split,.a2z-formgrid--2{grid-template-columns:minmax(0,1fr);}
  .signature,.breadcrumb{display:none;}
}
@media (max-width:640px){
  .kpi-grid{grid-template-columns:minmax(0,1fr);}
  .brand__tagline{display:none;}
}

/* Droits d'accès (app.js) : page fermée, bandeau de lecture seule, éléments de modification masqués en lecture seule */
.a2z-denied h1{margin:0 0 8px;font-size:20px;}
.a2z-denied p{margin:0 0 8px;}
.a2z-ro-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(29,95,191,.3);border-radius:12px;background:rgba(29,95,191,.07);color:var(--navy);font-size:13px;}
.a2z-ro-banner strong{color:var(--blue);}
.a2z-readonly [data-write],.a2z-readonly [data-create],.a2z-readonly [data-update]{display:none !important;}
.a2z-no-create [data-create],.a2z-no-update [data-update],.a2z-no-update [data-write],.a2z-no-export [data-export]{display:none !important;}
.is-locked .tsel__field{background:var(--tint);cursor:default;}
.tsel--disabled .tsel__field{background:var(--tint);cursor:default;}
.tsel--disabled .tsel__x{display:none;}
.tsel--disabled .tsel__chip{padding-left:10px;}
