/* ══════════════════════════════════════════════════════════════════════════
   ColConnect — Workspace Institutionnel · Design System
   Tous les composants du workspace : sidebar, nav, cartes, KPIs, tableaux
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── Layout principal ───────────────────────────────────────────────────── */
.cc-workspace-shell{min-height:100vh;background:radial-gradient(circle at 18% 0%,rgb(var(--cc-or-rgb) / .09),transparent 22%),linear-gradient(140deg,var(--cc-noir) 0%,var(--cc-fond) 50%,var(--cc-fondSecondaire) 100%);color:var(--cc-texte);font-family:Inter,Outfit,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.cc-workspace-layout{display:grid;grid-template-columns:272px 1fr;min-height:100vh;gap:0;}
.cc-workspace-sidebar{background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .98),rgb(var(--cc-surface-rgb) / .97));border-right:1px solid var(--cc-bordureDouce);padding:14px 14px 10px;display:flex;flex-direction:column;gap:0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;}
.cc-workspace-sidebar::-webkit-scrollbar{width:4px;}.cc-workspace-sidebar::-webkit-scrollbar-thumb{background:rgb(var(--cc-or-rgb) / .2);border-radius:2px;}
.cc-workspace-main{padding:14px 18px 32px;overflow-y:auto;min-height:100vh;background:transparent;}

/* ─── Listes longues : hauteur bornée, défilement interne ───────────────────── */
.cc-workspace-arbitrable{max-height:min(46vh,420px);overflow-y:auto;scrollbar-width:thin;}
.cc-workspace-portfolio-content{max-height:min(72vh,820px);overflow-y:auto;padding-right:4px;scrollbar-width:thin;}
.cc-workspace-arbitrable::-webkit-scrollbar,.cc-workspace-portfolio-content::-webkit-scrollbar{width:6px;}
.cc-workspace-arbitrable::-webkit-scrollbar-thumb,.cc-workspace-portfolio-content::-webkit-scrollbar-thumb{background:rgb(var(--cc-or-rgb) / .25);border-radius:3px;}
/* ─── Menus déroulants natifs : jamais de texte clair sur le fond blanc du système ─ */
.cc-workspace-shell select{color:var(--cc-texte);background-color:var(--cc-panneau);color-scheme:dark;}
.cc-workspace-shell select option,.cc-workspace-shell select optgroup{background:var(--cc-panneau);color:var(--cc-texte);}

/* ─── Signaux terrain sur les projets ─────────────────────────────────────── */
.cc-terrain-signal{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 9px;border-radius:6px;background:rgb(var(--cc-menthe-rgb) / .12);border:1px solid rgb(var(--cc-menthe-rgb) / .28);color:var(--cc-menthe);font-size:10.5px;font-weight:800;}
.cc-terrain-signal-alert{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 14px;padding:12px 14px;border-radius:12px;background:rgb(var(--cc-menthe-rgb) / .06);border:1px solid rgb(var(--cc-menthe-rgb) / .22);}
.cc-terrain-signal-alert.is-fresh{background:rgb(var(--cc-menthe-rgb) / .11);border-color:rgb(var(--cc-menthe-rgb) / .45);box-shadow:0 0 0 3px rgb(var(--cc-menthe-rgb) / .08);}
.cc-terrain-signal-alert strong{display:block;color:var(--cc-menthe);font-size:12.5px;}
.cc-terrain-signal-alert span{display:block;color:var(--cc-texteSecondaire);font-size:11px;margin-top:2px;}
.cc-terrain-signal-alert p{margin:6px 0 0;color:var(--cc-texte);font-size:12.5px;line-height:1.5;}
.cc-terrain-signal-alert button{flex-shrink:0;padding:8px 12px;border-radius:8px;border:1px solid rgb(var(--cc-menthe-rgb) / .4);background:rgb(var(--cc-menthe-rgb) / .12);color:var(--cc-menthe);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;}
/* ─── Prochaine étape : une action utile par espace ─────────────────────── */
.cc-next-step{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:12px;border-radius:12px;border:1px solid rgb(var(--cc-or-rgb) / .28);background:linear-gradient(135deg,rgb(var(--cc-or-rgb) / .12),rgb(var(--cc-or-rgb) / .04));}
.cc-next-step--alerte{border-color:rgb(var(--cc-alerteRouge-rgb) / .4);background:linear-gradient(135deg,rgb(var(--cc-alerteRouge-rgb) / .12),rgb(var(--cc-alerteRouge-rgb) / .03));}
.cc-next-step--ok{border-color:rgb(var(--cc-confianceHaute-rgb) / .35);background:linear-gradient(135deg,rgb(var(--cc-confianceHaute-rgb) / .12),rgb(var(--cc-confianceHaute-rgb) / .03));}
.cc-next-step-body{display:grid;gap:2px;flex:1;min-width:0;}
.cc-next-step-kicker{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cc-orFort);}
.cc-next-step--alerte .cc-next-step-kicker{color:var(--cc-alerteRouge);}
.cc-next-step--ok .cc-next-step-kicker{color:var(--cc-confianceHaute);}
.cc-next-step-body strong{font-size:14px;color:var(--cc-texte);letter-spacing:-.01em;}
.cc-next-step-body span:last-child{font-size:11.5px;color:var(--cc-texteSecondaire);line-height:1.45;}
.cc-next-step-cta{flex-shrink:0;padding:9px 14px;border-radius:9px;border:0;background:var(--cc-orFort);color:var(--cc-encreSurAccent);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;}
.cc-next-step--alerte .cc-next-step-cta{background:var(--cc-alerteRouge);color:#fff;}
.cc-next-step--ok .cc-next-step-cta{background:var(--cc-confianceHaute);color:var(--cc-encreSurAccent);}
.cc-next-step-close{flex-shrink:0;background:transparent;border:0;color:var(--cc-texteFaible);font-size:14px;cursor:pointer;padding:4px 6px;}
@media (max-width:720px){.cc-next-step{flex-wrap:wrap;}.cc-next-step-cta{width:100%;}}
/* ─── Provenance des chiffres (fiche projet) ─────────────────────────────── */
.cc-notation{border:1px solid rgb(var(--cc-or-rgb) / .22);border-radius:10px;padding:12px 14px;background:rgb(var(--cc-or-rgb) / .04);}
.cc-notation h5{margin:0 0 6px;}
.cc-notation-intro{margin:0 0 8px;font-size:12px;line-height:1.55;color:var(--cc-texteSecondaire);}
.cc-notation-components{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px;}
.cc-notation-components li{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;padding:3px 0;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));}
.cc-notation-reasons-title{margin:10px 0 4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--cc-alerteAmbre);}
.cc-notation-reasons{margin:0;padding-left:18px;font-size:11.5px;line-height:1.5;color:var(--cc-texte);}
.cc-notation-ok{margin:8px 0 0;font-size:11.5px;color:var(--cc-confianceHaute);font-weight:700;}
.cc-decision-provenance{display:block;font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;opacity:.85;margin-top:2px;}
/* ─── Exécution budgétaire et calendrier ─────────────────────────────────── */
.cc-execution{border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:10px;padding:12px 14px;}
.cc-execution-loading,.cc-execution-empty{margin:0;font-size:12px;color:var(--cc-texteSecondaire);line-height:1.5;}
.cc-execution-ok{margin:8px 0 0;font-size:11.5px;color:var(--cc-confianceHaute);font-weight:700;}
.cc-execution-head{display:grid;gap:2px;padding:8px 10px;margin:0 0 10px;border-left:3px solid;border-radius:6px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));}
.cc-execution-head strong{font-size:13px;}
.cc-execution-head span{font-size:11px;color:var(--cc-texteSecondaire);line-height:1.45;}
.cc-execution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:10px;}
.cc-execution-grid article{display:grid;gap:1px;padding:8px 10px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:8px;}
.cc-execution-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cc-texteFaible);font-weight:800;}
.cc-execution-grid strong{font-size:16px;font-variant-numeric:tabular-nums;}
.cc-execution-grid small{font-size:10px;color:var(--cc-texteSecondaire);}
.cc-execution-alerts{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:5px;}
.cc-execution-alerts li{display:grid;gap:1px;padding:7px 10px;border-radius:7px;font-size:11.5px;background:rgb(var(--cc-alerteAmbre-rgb) / .1);}
.cc-execution-alerts li.is-derive{background:rgb(var(--cc-alerteRouge-rgb) / .1);}
.cc-execution-alerts span{font-size:10px;color:var(--cc-texteFaible);}
.cc-execution-steps{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px;}
.cc-execution-steps li{display:grid;gap:1px;padding:7px 9px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:7px;font-size:11.5px;}
.cc-execution-steps li.is-fait{border-color:rgb(var(--cc-confianceHaute-rgb) / .4);}
.cc-execution-steps li.is-en_retard{border-color:rgb(var(--cc-alerteRouge-rgb) / .45);}
.cc-execution-steps small{font-size:10px;color:var(--cc-texteFaible);}
.cc-execution-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding-top:10px;border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));}
.cc-execution-form label{display:grid;gap:3px;font-size:10px;color:var(--cc-texteSecondaire);}
.cc-execution-form select,.cc-execution-form input{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-execution-form button{padding:7px 12px;border-radius:7px;border:0;background:var(--cc-orFort);color:var(--cc-encreSurAccent);font-size:11px;font-weight:800;cursor:pointer;}
.cc-execution-form [data-milestone-status]{font-size:10px;color:var(--cc-texteSecondaire);}
.cc-execution-badge{display:inline-flex;align-items:center;margin-top:6px;padding:2px 8px;border:1px solid;border-radius:6px;font-size:10px;font-weight:800;}
/* ─── Grille d'impact ────────────────────────────────────────────────────── */
.cc-impact{border:1px solid rgb(var(--cc-or-rgb) / .2);border-radius:10px;padding:12px 14px;background:rgb(var(--cc-or-rgb) / .03);}
.cc-impact-loading,.cc-impact-empty{margin:0;font-size:12px;color:var(--cc-texteSecondaire);}
.cc-impact-head{display:grid;gap:2px;margin-bottom:10px;}
.cc-impact-head strong{font-size:15px;}
.cc-impact-head span{font-size:11px;color:var(--cc-texteSecondaire);line-height:1.45;}
.cc-impact-components{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px;}
.cc-impact-components li{display:grid;grid-template-columns:minmax(150px,1.2fr) 70px 110px minmax(0,2fr);gap:10px;align-items:baseline;font-size:11.5px;padding:4px 0;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));}
.cc-impact-components strong{font-variant-numeric:tabular-nums;}
.cc-impact-components em{font-style:normal;font-size:10.5px;color:var(--cc-texteFaible);font-variant-numeric:tabular-nums;}
.cc-impact-components small{font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-impact-formula{margin:0 0 10px;font-size:10.5px;color:var(--cc-texteFaible);}
.cc-impact-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:end;padding-top:10px;border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));}
.cc-impact-form label{display:grid;gap:3px;font-size:10px;color:var(--cc-texteSecondaire);}
.cc-impact-form .cc-impact-wide{grid-column:1 / -1;}
.cc-impact-form input,.cc-impact-form select{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-impact-form button{padding:8px 12px;border-radius:7px;border:0;background:var(--cc-orFort);color:var(--cc-encreSurAccent);font-size:11px;font-weight:800;cursor:pointer;}
.cc-impact-form [data-impact-status]{font-size:10px;color:var(--cc-texteSecondaire);}
@media (max-width:760px){.cc-impact-components li{grid-template-columns:1fr;gap:2px;}}
.cc-qualification-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:1.5;}
.cc-qualification-pill.is-dans{color:var(--cc-confianceHaute);background:rgb(var(--cc-confianceHaute-rgb) / .1);}
.cc-qualification-pill.is-verifier{color:var(--cc-alerteAmbre);background:rgb(var(--cc-alerteAmbre-rgb) / .1);}
.cc-qualification-pill.is-hors{color:var(--cc-texteSecondaire);background:rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));}
.cc-qualification,.cc-cofinancement{border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));border-radius:10px;padding:12px 14px;}
.cc-qualification-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;}
.cc-qualification-head strong{font-size:13px;}
.cc-qualification-motif{margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--cc-texte);}
.cc-qualification-indices{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 6px;font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-qualification-indices span{padding:1px 6px;border-radius:5px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));color:var(--cc-texte);}
.cc-qualification-note,.cc-cofinancement-note{margin:0 0 8px;font-size:11px;line-height:1.45;color:var(--cc-texteSecondaire);}
.cc-cofinancement-note.is-reserve{color:var(--cc-alerteAmbre);font-weight:700;}
.cc-qualification-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;}
.cc-qualification-actions button{padding:6px 10px;border-radius:7px;border:1px solid rgb(var(--cc-or-rgb) / .3);background:rgb(var(--cc-or-rgb) / .08);color:var(--cc-orFort);font-size:11px;font-weight:800;cursor:pointer;}
.cc-qualification-actions details{flex:1 1 260px;}
.cc-qualification-actions summary{cursor:pointer;font-size:11px;font-weight:700;color:var(--cc-orFort);padding:6px 0;}
.cc-qualification-actions form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:end;margin-top:6px;}
.cc-qualification-actions label{display:grid;gap:3px;font-size:10px;color:var(--cc-texteSecondaire);}
.cc-qualification-actions .cc-qualification-wide{grid-column:1 / -1;}
.cc-consigne-champ{margin:-4px 0 0;font-size:10.5px;line-height:1.45;color:var(--cc-texteSecondaire);}
.cc-qualification-actions input,.cc-qualification-actions select{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);}
.cc-qualification-actions [data-qualification-status]{flex-basis:100%;font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-cofinancement-pistes{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px;}
.cc-cofinancement-pistes li{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));}
.cc-cofinancement-pistes li div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;}
.cc-cofinancement-pistes strong{font-size:12px;}
.cc-cofinancement-pistes span{font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-cofinancement-pistes p{margin:0;font-size:11px;color:var(--cc-texte);}
.cc-cofinancement-pistes small{font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-cofinancement-saisis{display:grid;gap:4px;margin:0 0 10px;}
.cc-cofinancement-saisis strong{font-size:12px;}
.cc-cofinancement-saisis table{width:100%;border-collapse:collapse;font-size:11px;}
.cc-cofinancement-saisis th{text-align:left;font-weight:700;padding:4px 6px;color:var(--cc-texteSecondaire);}
.cc-cofinancement-saisis td{padding:5px 6px;border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));vertical-align:top;}
.cc-cofinancement-saisis tr.is-ecarte td{text-decoration:line-through;opacity:.75;}
.cc-cofinancement-alerte{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;font-weight:700;font-size:10.5px;}
.cc-cofinancement-alerte.is-alerte{color:var(--cc-alerteRouge);background:rgb(var(--cc-alerteAmbre-rgb) / .12);}
.cc-cofinancement-alerte.is-reserve{color:var(--cc-alerteAmbre);background:rgb(var(--cc-alerteAmbre-rgb) / .1);}
.cc-cofinancement-controle{display:grid;gap:3px;padding:10px 12px;border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));}
.cc-cofinancement-controle strong{font-size:12px;}
.cc-cofinancement-controle p{margin:0;font-size:11.5px;line-height:1.45;}
.cc-cofinancement-controle small{font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-cofinancement-controle.is-ok{background:rgb(var(--cc-confianceHaute-rgb) / .08);}
.cc-cofinancement-controle.is-ok p{color:var(--cc-confianceHaute);}
.cc-cofinancement-controle.is-alerte{background:rgb(var(--cc-alerteAmbre-rgb) / .1);}
.cc-cofinancement-controle.is-alerte p{color:var(--cc-alerteAmbre);font-weight:700;}
.cc-workspace-scenario-financing-list em,.cc-workspace-scenario-banner-financing em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--cc-texteSecondaire);}
/* ─── Obligations et veille ──────────────────────────────────────────────── */
.cc-workspace-obligations{display:grid;gap:14px;}
.cc-obligations-loading{margin:0;font-size:12px;color:var(--cc-texteSecondaire);}
.cc-obligations-ok{margin:0;font-size:12px;font-weight:700;color:var(--cc-confianceHaute);}
.cc-obligations-alerts{border:1px solid rgb(var(--cc-alerteRouge-rgb) / .3);border-radius:10px;padding:12px 14px;background:rgb(var(--cc-alerteRouge-rgb) / .06);}
.cc-obligations-alerts h3{margin:0 0 8px;font-size:13px;}
.cc-obligations-alerts ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.cc-obligations-alerts li{font-size:12px;border-radius:7px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));}
.cc-obligations-alerts li button{display:grid;gap:1px;width:100%;text-align:left;padding:6px 9px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:7px;}
.cc-obligations-alerts li button:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));}
.cc-obligations-alerts li.is-critique{border-left:3px solid var(--cc-alerteRouge);}
.cc-obligations-alerts li.is-vigilance{border-left:3px solid var(--cc-alerteAmbre);}
.cc-obligations-alerts span{font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-obligations-families{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.cc-obligations-families article{display:grid;gap:1px;padding:9px 11px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:8px;}
.cc-obligations-families span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--cc-texteFaible);font-weight:800;}
.cc-obligations-families strong{font-size:17px;font-variant-numeric:tabular-nums;}
.cc-obligations-families small{font-size:10px;color:var(--cc-texteSecondaire);}
.cc-obligations-list{display:grid;gap:10px;}
.cc-obligation{border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:10px;padding:12px 14px;display:grid;gap:8px;}
.cc-obligation>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;}
.cc-obligation>summary::-webkit-details-marker{display:none;}
.cc-obligation>summary:focus-visible{outline:2px solid var(--cc-or);outline-offset:3px;border-radius:6px;}
.cc-obligation>summary>div{display:grid;gap:1px;min-width:0;}
.cc-obligation>summary::after{content:"Ouvrir";font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-texteFaible);align-self:center;}
.cc-obligation[open]>summary::after{content:"Replier";}
.cc-obligation[open]{background:rgb(var(--cc-ink-rgb) / min(1, calc(.02 * var(--cc-ink-gain))));}
.cc-obligation.status-conforme{border-left:3px solid var(--cc-confianceHaute);}
.cc-obligation.status-non_conforme{border-left:3px solid var(--cc-alerteRouge);}
.cc-obligation.status-en_cours{border-left:3px solid var(--cc-alerteAmbre);}
.cc-obligation.is-hors-perimetre{opacity:.55;}
.cc-obligation-code{font-family:ui-monospace,monospace;font-size:10px;color:var(--cc-orFort);letter-spacing:.04em;}
.cc-obligation summary strong{font-size:14px;}
.cc-obligation-family{font-size:10.5px;color:var(--cc-texteFaible);}
.cc-obligation-deadline{font-size:11.5px;font-weight:800;white-space:nowrap;}
.cc-obligation-exigence{margin:0;font-size:12.5px;line-height:1.5;color:var(--cc-texte);}
.cc-obligation-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 14px;margin:0;}
.cc-obligation-meta div{display:grid;gap:1px;}
.cc-obligation-meta dt{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--cc-texteFaible);font-weight:800;}
.cc-obligation-meta dd{margin:0;font-size:11.5px;color:var(--cc-texteSecondaire);line-height:1.45;}
.cc-obligation-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end;padding-top:8px;border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));}
.cc-obligation-form label{display:grid;gap:3px;font-size:10px;color:var(--cc-texteSecondaire);}
.cc-obligation-form input,.cc-obligation-form select{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-obligation-form button{padding:7px 12px;border-radius:7px;border:0;background:var(--cc-orFort);color:var(--cc-encreSurAccent);font-size:11px;font-weight:800;cursor:pointer;}
.cc-obligation-form [data-obligation-status]{font-size:10px;color:var(--cc-texteSecondaire);}
.cc-obligation-source{font-size:11px;color:var(--cc-or);text-decoration:none;}
.cc-obligations-footer ul{margin:6px 0 12px;padding-left:18px;font-size:11.5px;line-height:1.55;color:var(--cc-texteSecondaire);}
/* Les sources de veille étaient des liens non stylés : bleu navigateur sur fond sombre, illisible. */
.cc-obligations-footer a{color:var(--cc-orFort);text-decoration:underline;text-underline-offset:2px;}
.cc-obligations-footer a:hover,.cc-obligations-footer a:focus-visible{color:var(--cc-texte);}
.cc-obligations-version{margin:0;font-size:10px;color:var(--cc-texteFaible);font-family:ui-monospace,monospace;}
.cc-obligations-profile{display:grid;grid-template-columns:1fr auto auto;gap:8px 12px;align-items:end;border:1px solid rgb(var(--cc-alerteAmbre-rgb) / .35);background:rgb(var(--cc-alerteAmbre-rgb) / .07);border-radius:10px;padding:12px 14px;}
.cc-obligations-profile p{grid-column:1 / -1;margin:0;font-size:12px;line-height:1.5;color:var(--cc-texte);}
.cc-obligations-profile label{display:grid;gap:3px;font-size:10px;color:var(--cc-texteSecondaire);}
.cc-obligations-profile input{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-obligations-profile button{padding:7px 12px;border-radius:7px;border:0;background:var(--cc-orFort);color:var(--cc-encreSurAccent);font-size:11px;font-weight:800;cursor:pointer;}
.cc-obligations-profile [data-profile-status]{grid-column:1 / -1;font-size:10.5px;color:var(--cc-texteSecondaire);}
.cc-obligations-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;padding:10px 12px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:10px;}
.cc-obligations-filters label{display:grid;gap:3px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--cc-texteFaible);}
.cc-obligations-filters select{padding:6px 8px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-obligations-filters-toggle{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-weight:600;color:var(--cc-texteSecondaire);font-size:11.5px;}
.cc-obligations-filters [data-obligation-count]{margin-left:auto;font-size:11px;color:var(--cc-texteSecondaire);font-variant-numeric:tabular-nums;}
.cc-obligation-sources{display:flex;flex-wrap:wrap;gap:6px 14px;}
.cc-obligations-avertissement{margin:0 0 6px;font-size:11.5px;line-height:1.55;color:var(--cc-texteSecondaire);font-style:italic;}
/* ─── Sidebar top ────────────────────────────────────────────────────────── */
.cc-workspace-top{margin-bottom:10px;}
.cc-workspace-active{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--cc-or);background:rgb(var(--cc-or-rgb) / .1);border:1px solid rgb(var(--cc-or-rgb) / .22);border-radius:8px;padding:5px 9px;margin-bottom:6px;}
.cc-workspace-back{padding:6px 10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;transition:background .18s,border-color .18s;}
.cc-workspace-back:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.09 * var(--cc-ink-gain))));border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-title{font-size:14px;font-weight:850;margin:8px 0 2px;color:var(--cc-texte);letter-spacing:-.01em;}
.cc-workspace-subtitle{font-size:11px;color:var(--cc-texteFaible);margin:0 0 8px;}

/* ─── Navigation sidebar ─────────────────────────────────────────────────── */
.cc-workspace-nav{display:flex;flex-direction:column;gap:3px;margin-top:6px;}
.cc-workspace-nav-group{display:block;width:100%;flex:0 0 auto;border:1px solid transparent;border-radius:10px;}
.cc-workspace-nav-group.is-open{border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.02 * var(--cc-ink-gain))));}
.cc-workspace-nav-group-title{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--cc-texteSecondaire);}
.cc-workspace-nav-group-title::-webkit-details-marker{display:none;}
.cc-workspace-nav-group-title::before{content:"›";display:inline-block;margin-right:8px;color:var(--cc-texteFaible);transition:transform .18s;}
.cc-workspace-nav-group[open]>.cc-workspace-nav-group-title::before{transform:rotate(90deg);}
.cc-workspace-nav-group-title:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));color:var(--cc-texte);}
.cc-workspace-nav-group.is-open>.cc-workspace-nav-group-title{color:var(--cc-or);}
.cc-workspace-nav-group-title.has-alert>span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cc-alerteRouge);margin-left:6px;vertical-align:middle;}
.cc-workspace-nav-group-title small{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--cc-texteFaible);}
.cc-workspace-nav-group-items{display:flex;flex-direction:column;gap:2px;padding:2px 4px 6px;}
.cc-workspace-nav-group-items button{padding:6px 10px;}
.cc-workspace-nav-toggle{display:none;position:fixed;left:12px;bottom:14px;z-index:60;padding:10px 14px;border-radius:999px;border:1px solid rgb(var(--cc-or-rgb) / .4);background:rgb(var(--cc-surface-rgb) / .96);color:var(--cc-or);font-size:12px;font-weight:850;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4);}
.cc-workspace-nav-backdrop{display:none;position:fixed;inset:0;z-index:49;background:rgb(var(--cc-surface-rgb) / .6);}
@media (max-width:900px){
  .cc-workspace-layout{grid-template-columns:1fr;}
  .cc-workspace-nav-toggle{display:inline-flex;}
  .cc-workspace-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);z-index:50;transform:translateX(-104%);transition:transform .22s ease;box-shadow:0 0 40px rgba(0,0,0,.5);}
  .is-nav-open .cc-workspace-sidebar{transform:translateX(0);}
  .is-nav-open .cc-workspace-nav-backdrop{display:block;}
  .cc-workspace-main{padding:12px 12px 80px;min-height:auto;}
}
@media (prefers-reduced-motion:reduce){.cc-workspace-sidebar{transition:none;}}
.cc-workspace-nav button{width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--cc-texteSecondaire);cursor:pointer;transition:background .18s,border-color .18s,color .18s;display:flex;flex-direction:column;gap:2px;}
.cc-workspace-nav button:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-nav button.is-active{background:linear-gradient(135deg,rgb(var(--cc-or-rgb) / .14),rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain)))));border-color:var(--cc-bordureActive);color:var(--cc-texte);}
.cc-workspace-nav-title{font-size:12px;font-weight:750;color:inherit;display:block;}
.cc-workspace-nav-sub{font-size:10px;color:var(--cc-texteFaible);display:block;margin-top:1px;}
.cc-workspace-nav button.is-active .cc-workspace-nav-title{color:var(--cc-texte);}
.cc-workspace-nav button.is-active .cc-workspace-nav-sub{color:var(--cc-or);}
/* notification dot */
.cc-workspace-nav button.has-alert .cc-workspace-nav-title::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cc-alerteRouge);margin-left:6px;vertical-align:middle;box-shadow:0 0 6px var(--cc-alerteRouge);}

/* ─── Header panel ───────────────────────────────────────────────────────── */
.cc-workspace-breadcrumb{font-size:10px;color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));letter-spacing:.04em;margin-bottom:4px;}
.cc-workspace-breadcrumb span{color:rgb(var(--cc-ink-rgb) / min(1, calc(.65 * var(--cc-ink-gain))));}

/* ─── KPIs ───────────────────────────────────────────────────────────────── */
.cc-workspace-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;}
.cc-workspace-kpi{background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .72),rgb(var(--cc-surface-rgb) / .78));border:1px solid var(--cc-bordureDouce);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;transition:border-color .18s,box-shadow .18s;}
.cc-workspace-kpi:hover{border-color:var(--cc-bordure);box-shadow:0 0 20px rgb(var(--cc-or-rgb) / .07);}
.cc-workspace-kpi h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:0;font-weight:750;}
.cc-workspace-kpi-value,.cc-workspace-kpi strong{font-size:24px;font-weight:900;color:var(--cc-orFort);letter-spacing:-.04em;line-height:1;text-shadow:0 0 18px rgb(var(--cc-or-rgb) / .12);}
.cc-workspace-kpi span{font-size:10.5px;color:var(--cc-texteSecondaire);line-height:1.3;}
/* trend arrows */
.cc-kpi-trend{font-size:11px;font-weight:800;margin-left:6px;}
.cc-kpi-trend--up{color:var(--cc-confianceHaute);}
.cc-kpi-trend--down{color:var(--cc-alerteRouge);}
.cc-kpi-trend--neutral{color:var(--cc-confiancePartielle);}

/* ─── Cards ──────────────────────────────────────────────────────────────── */
.cc-workspace-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;}
.cc-workspace-card{background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .64),rgb(var(--cc-surface-rgb) / .72));border:1px solid var(--cc-bordureDouce);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:0;transition:border-color .18s;}
.cc-workspace-portfolio-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;}
.cc-workspace-portfolio-action-card{min-width:0;height:100%;box-sizing:border-box;}
.cc-workspace-portfolio-action-card [data-portfolio-card-detail]{overflow-wrap:anywhere;}
.cc-workspace-card:hover{border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-card h3{font-size:13px;font-weight:800;color:var(--cc-texte);margin:0 0 7px;line-height:1.3;}
.cc-workspace-card p{font-size:12px;color:var(--cc-texteSecondaire);margin:0;line-height:1.6;flex:1;}
.cc-workspace-card button{margin-top:12px;padding:8px 16px;background:linear-gradient(135deg,var(--cc-orDoux),var(--cc-orFort));color:var(--cc-encreSurAccent);border:none;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:filter .18s;}
.cc-workspace-card button:hover{filter:brightness(1.06);}
.cc-workspace-card--gold{border-color:var(--cc-bordure);}
.cc-workspace-card--actionable{cursor:pointer;}
.cc-workspace-card--actionable.is-active{border-color:var(--cc-bordureActive);background:linear-gradient(180deg,rgb(var(--cc-or-rgb) / .09),rgb(var(--cc-surface-rgb) / .8));}

/* ─── Espace commercial : catalogue, quotas ─────────────────────────────────
   Avant cette évolution, ces tableaux n'avaient aucune règle dédiée : cellules
   HTML nues, sans marge ni bordure, empilées dans une grille à deux colonnes
   fixes — texte replié sur 3 lignes dans une colonne trop étroite. Repris sur
   le même patron que .cc-native-arb-table (en-tête collant, lignes séparées
   par une bordure fine, surlignage au survol). */
.cc-commercial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;}
.cc-commercial-table-wrap{overflow-x:auto;border-radius:10px;}
.cc-commercial-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.cc-commercial-table col.cc-col-offre{width:26%;}
.cc-commercial-table col.cc-col-tarif{width:24%;}
.cc-commercial-table col.cc-col-desc{width:auto;}
.cc-commercial-table col.cc-col-action{width:118px;}
.cc-commercial-table th{position:sticky;top:0;z-index:1;padding:8px 10px;background:var(--cc-panneauFort);border-bottom:1px solid var(--cc-bordureDouce);color:var(--cc-texteFaible);font-weight:850;letter-spacing:.07em;text-align:left;text-transform:uppercase;}
.cc-commercial-table td{padding:10px;border-bottom:1px solid var(--cc-bordureDouce);color:var(--cc-texte);vertical-align:top;line-height:1.45;overflow-wrap:break-word;}
.cc-commercial-table tbody tr:last-child td{border-bottom:none;}
.cc-commercial-table tbody tr:hover td{background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));}
.cc-commercial-table td[data-commercial-empty]{color:var(--cc-texteFaible);font-style:italic;text-align:center;padding:18px 10px;}

/* Prix : montant en évidence, détail (mandat, fourchette) en second plan —
   jamais deux chiffres de même poids visuel sur une offre à souscrire. */
.cc-price{display:flex;flex-direction:column;gap:2px;}
.cc-price-main{font-weight:800;color:var(--cc-orFort);}
.cc-price-detail{color:var(--cc-texteFaible);}
.cc-price-empty{color:var(--cc-texteFaible);}

/* Palier : neutre pour repérer une ligne, jamais confondu avec un état
   d'alerte (rouge/ambre déjà réservés aux vrais signaux de risque). */
.cc-tier-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;}
.cc-tier-badge--actuel{background:rgb(var(--cc-or-rgb) / .16);color:var(--cc-orFort);border:1px solid rgb(var(--cc-or-rgb) / .4);}
.cc-tier-badge--superieur{background:transparent;color:var(--cc-texteFaible);border:1px solid var(--cc-bordureDouce);}

.cc-commercial-table .cc-catalog-cta{margin-top:0;padding:6px 10px;font-size:10px;letter-spacing:.02em;white-space:nowrap;}

/* Quotas : barre de consommation, jamais l'élément natif <progress> (gris,
   ignore le thème sombre). */
.cc-quota-bar{position:relative;display:inline-block;width:100%;max-width:160px;height:7px;border-radius:999px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));vertical-align:middle;margin-right:8px;overflow:hidden;}
.cc-quota-bar__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cc-orDoux),var(--cc-orFort));transition:width .25s ease;}
.cc-quota-bar__fill--alert{background:linear-gradient(90deg,var(--cc-alerteAmbre),var(--cc-alerteRouge));}
.cc-quota-bar__pct{font-size:.92em;color:var(--cc-texteFaible);font-variant-numeric:tabular-nums;}
.cc-quota-bar__pct--alert{color:var(--cc-alerteRouge);font-weight:800;}
.cc-quota-explain{display:block;margin-top:3px;color:var(--cc-texteSecondaire);font-size:12px;line-height:1.4;font-weight:400;}
.cc-quota-count{display:block;font-weight:700;color:var(--cc-texte);font-variant-numeric:tabular-nums;}
.cc-quota-help{margin:10px 0 0;color:var(--cc-texteSecondaire);font-size:12px;line-height:1.45;}

/* ─── Alert banner ───────────────────────────────────────────────────────── */
.cc-workspace-alert-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgb(var(--cc-alerteAmbre-rgb) / .14);border:1px solid rgb(var(--cc-alerteAmbre-rgb) / .35);border-radius:10px;margin-bottom:10px;font-size:12px;font-weight:700;color:var(--cc-alerteAmbre);}
.cc-workspace-alert-banner button{margin-left:auto;background:transparent;border:none;color:var(--cc-alerteAmbre);cursor:pointer;font-size:16px;line-height:1;padding:0 4px;opacity:.8;}
.cc-workspace-alert-banner button:hover{opacity:1;}
.cc-workspace-alert-critical{background:rgb(var(--cc-alerteRouge-rgb) / .12);border-color:rgb(var(--cc-alerteRouge-rgb) / .35);color:var(--cc-alerteRouge);}

[data-collaborators-panel] button{padding:8px 12px;border:1px solid rgb(var(--cc-or-rgb) / .35);border-radius:8px;background:rgb(var(--cc-or-rgb) / .12);color:var(--cc-orFort);font-size:11px;font-weight:800;cursor:pointer}
[data-collaborators-panel] button:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){[data-collaborator-invite]{grid-template-columns:1fr!important}[data-collaborators-panel]>div:last-child{grid-template-columns:1fr!important}}

/* ─── Toast ──────────────────────────────────────────────────────────────── */
.cc-workspace-toast{position:fixed;bottom:24px;right:24px;z-index:9998;padding:11px 18px;background:linear-gradient(135deg,var(--cc-panneau),var(--cc-panneauFort));border:1px solid rgb(var(--cc-or-rgb) / .4);border-radius:10px;color:var(--cc-texte);font-size:13px;font-weight:700;box-shadow:0 16px 48px rgba(0,0,0,.5);animation:cc-toast-in .2s ease-out both;}
@keyframes cc-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ─── Portfolio ──────────────────────────────────────────────────────────── */
.cc-workspace-portfolio-panel{display:flex;flex-direction:column;gap:0;}
.cc-workspace-portfolio-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.cc-workspace-portfolio-filters{display:flex;gap:6px;flex-wrap:wrap;}
.cc-workspace-portfolio-filters button{padding:5px 12px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,border-color .18s,color .18s;}
.cc-workspace-portfolio-filters button.is-active{background:rgb(var(--cc-or-rgb) / .14);border-color:rgb(var(--cc-or-rgb) / .35);color:var(--cc-orFort);}
.cc-workspace-portfolio-meta{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:11px;color:var(--cc-texteFaible);}
.cc-workspace-portfolio-meta input{padding:5px 10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texte);font-size:12px;outline:none;min-width:200px;}
.cc-workspace-portfolio-meta input::placeholder{color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-portfolio-decision-counters{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.cc-workspace-portfolio-decision-counters span{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid transparent;}
span.decision-retenu{background:rgb(var(--cc-confianceHaute-rgb) / .14);border-color:rgb(var(--cc-confianceHaute-rgb) / .3);color:var(--cc-confianceHaute);}
span.decision-a-fiabiliser{background:rgb(var(--cc-or-rgb) / .14);border-color:rgb(var(--cc-or-rgb) / .3);color:var(--cc-orFort);}
span.decision-reporte{background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;}
.cc-workspace-portfolio-pagination{display:flex;gap:8px;justify-content:center;margin-bottom:12px;}
.cc-workspace-portfolio-pagination button{padding:7px 16px;border:1px solid var(--cc-bordureDouce);border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;}
.cc-workspace-portfolio-pagination button:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));}
.cc-workspace-portfolio-pagination button:disabled{opacity:.3;cursor:not-allowed;}

/* ─── Project cards ──────────────────────────────────────────────────────── */
.cc-workspace-project-card{background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .82),rgb(var(--cc-surface-rgb) / .86));border:1px solid var(--cc-bordureDouce);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px;transition:border-color .18s,box-shadow .18s;}
.cc-workspace-project-card:hover{border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));box-shadow:0 8px 24px rgba(0,0,0,.2);}
.cc-workspace-project-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.cc-workspace-project-state{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;}
.state-etudes{background:rgb(var(--cc-bleu-rgb) / .14);color:var(--cc-bleuClair);}
.state-travaux{background:rgb(var(--cc-ambre-rgb) / .14);color:var(--cc-ambre);}
.state-termines{background:rgb(var(--cc-confianceHaute-rgb) / .14);color:var(--cc-vert);}
.cc-workspace-project-commune{font-size:10px;color:var(--cc-texteFaible);}
.cc-workspace-project-card h4{margin:0;font-size:12px;font-weight:750;color:var(--cc-texte);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cc-workspace-project-id{font-size:10px;color:var(--cc-texteFaible);font-family:ui-monospace,monospace;letter-spacing:.06em;}
.cc-workspace-project-kpi{display:flex;justify-content:space-between;font-size:11px;color:var(--cc-texteSecondaire);}
.cc-workspace-project-kpi strong{color:var(--cc-texte);font-weight:750;}
.cc-workspace-progress{height:4px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:999px;overflow:hidden;margin-bottom:2px;}
.cc-workspace-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cc-orDoux),var(--cc-orFort));border-radius:999px;}
.cc-workspace-progress--travaux i{background:linear-gradient(90deg,#2563eb,var(--cc-bleu));}
.cc-workspace-project-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--cc-texteFaible);}
.cc-workspace-project-meta span{background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:4px;padding:2px 6px;}
.cc-workspace-project-decision-badge{padding:3px 8px;border-radius:5px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;margin-top:2px;display:inline-block;}
.decision-retenu{background:rgb(var(--cc-confianceHaute-rgb) / .15);color:var(--cc-vert);border:1px solid rgb(var(--cc-confianceHaute-rgb) / .25);}
.decision-a-fiabiliser{background:rgb(var(--cc-or-rgb) / .12);color:var(--cc-orFort);border:1px solid rgb(var(--cc-or-rgb) / .22);}
.decision-reporte{background:rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));}
.cc-workspace-project-auto-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;display:inline-block;}
.status-auto-valide{background:rgb(var(--cc-confianceHaute-rgb) / .1);color:var(--cc-vert);}
.status-a-fiabiliser{background:rgb(var(--cc-or-rgb) / .1);color:var(--cc-orFort);}
.status-bloquant{background:rgb(var(--cc-alerteRouge-rgb) / .12);color:var(--cc-alerteRouge);}
.cc-workspace-project-card button{margin-top:auto;padding:6px 12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;}
.cc-workspace-project-card button:hover{background:rgb(var(--cc-or-rgb) / .1);border-color:rgb(var(--cc-or-rgb) / .25);color:var(--cc-orFort);}

/* ─── Project detail ─────────────────────────────────────────────────────── */
.cc-workspace-project-detail-window{padding:14px 0;}
.cc-workspace-project-detail-window-top{margin-bottom:12px;}
.cc-workspace-project-detail-window-top button{padding:7px 14px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:8px;color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;}
.cc-workspace-project-detail-card{background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .9),rgb(var(--cc-surface-rgb) / .92));border:1px solid var(--cc-bordure);border-radius:16px;padding:20px;}
.cc-workspace-project-detail-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.cc-workspace-project-detail-id{font-family:ui-monospace,monospace;font-size:12px;color:var(--cc-texteFaible);font-weight:700;}
.cc-workspace-project-detail-badge{padding:3px 10px;border-radius:5px;font-size:11px;font-weight:750;}
.cc-workspace-project-detail-card h4{font-size:16px;font-weight:850;margin:0 0 6px;color:var(--cc-texte);}
.cc-workspace-project-detail-card p{font-size:12px;color:var(--cc-texteSecondaire);margin:0 0 14px;}
.cc-workspace-project-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:12px;padding:12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:10px;margin-bottom:14px;}
.cc-workspace-project-detail-grid span{color:var(--cc-texteFaible);}
.cc-workspace-project-detail-grid strong{color:var(--cc-texte);font-weight:750;}
.cc-workspace-project-detail-section{margin-bottom:14px;}
.cc-workspace-project-detail-section h5{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:0 0 8px;font-weight:800;}
.cc-workspace-project-detail-tags{display:flex;flex-wrap:wrap;gap:6px;}
.cc-workspace-project-detail-tags span{padding:4px 10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:6px;font-size:11px;color:var(--cc-texteSecondaire);}
.cc-workspace-project-brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.cc-workspace-project-brief-grid article{background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:10px;padding:10px;}
.cc-workspace-project-brief-grid h5{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--cc-or);margin:0 0 5px;font-weight:800;}
.cc-workspace-project-brief-grid p{font-size:12px;color:var(--cc-texteSecondaire);margin:0;line-height:1.55;}
.cc-workspace-project-timeline h5{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:0 0 8px;font-weight:800;}
.cc-workspace-project-timeline-steps{display:flex;gap:8px;}
.cc-workspace-project-timeline-steps span{flex:1;text-align:center;padding:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:8px;font-size:11px;font-weight:700;color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));}
.cc-workspace-project-timeline-steps span.is-done{background:rgb(var(--cc-confianceHaute-rgb) / .12);border-color:rgb(var(--cc-confianceHaute-rgb) / .28);color:var(--cc-vert);}
.cc-workspace-project-proof h5{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:0 0 8px;font-weight:800;}
.cc-workspace-project-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;font-size:12px;padding:10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:8px;margin-bottom:12px;}
.cc-workspace-project-proof-grid span{color:var(--cc-texteFaible);}
.cc-workspace-project-proof-grid strong{color:var(--cc-texte);font-weight:700;}
.cc-workspace-project-detail-explain h5{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:12px 0 6px;font-weight:800;}
.cc-workspace-project-detail-explain ul{margin:0;padding-left:16px;color:var(--cc-texteSecondaire);font-size:12px;line-height:1.7;}
.cc-workspace-project-detail-explain button{margin-top:10px;padding:7px 14px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;}
.cc-workspace-quick-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cc-workspace-quick-actions button{padding:7px 14px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,border-color .18s,color .18s;}
.cc-workspace-quick-actions button:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));}
.cc-workspace-quick-actions button[data-decision-action="retenu"].is-active{background:rgb(var(--cc-confianceHaute-rgb) / .18);border-color:rgb(var(--cc-confianceHaute-rgb) / .4);color:var(--cc-vert);}
.cc-workspace-quick-actions button[data-decision-action="a-fiabiliser"].is-active{background:rgb(var(--cc-or-rgb) / .18);border-color:rgb(var(--cc-or-rgb) / .4);color:var(--cc-orFort);}
.cc-workspace-quick-actions button[data-decision-action="reporte"].is-active{background:rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-workspace-decision-note{font-size:11px;color:var(--cc-texteSecondaire);margin:6px 0 0;}
.cc-workspace-decision-motif-label{display:grid;gap:4px;margin:10px 0 4px;font-size:11px;font-weight:700;color:var(--cc-texteSecondaire);}
.cc-workspace-decision-motif-label textarea{padding:7px 9px;border-radius:7px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;resize:vertical;min-height:52px;}

.cc-workspace-recheck-feedback{font-size:11px;color:var(--cc-confianceHaute);margin-top:6px;padding:6px 10px;background:rgb(var(--cc-confianceHaute-rgb) / .08);border:1px solid rgb(var(--cc-confianceHaute-rgb) / .18);border-radius:6px;}

/* ─── Anomalies ──────────────────────────────────────────────────────────── */
.cc-workspace-anomalies-panel{padding:12px;background:rgb(var(--cc-alerteAmbre-rgb) / .06);border:1px solid rgb(var(--cc-alerteAmbre-rgb) / .2);border-radius:10px;margin-top:10px;}
.cc-workspace-anomalies-panel h4{font-size:12px;font-weight:800;color:var(--cc-alerteAmbre);margin:0 0 4px;}
.cc-workspace-anomalies-panel p{font-size:11px;color:var(--cc-texteSecondaire);margin:0 0 8px;}
.cc-workspace-anomalies-panel ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:3px;}
.cc-workspace-anomalies-panel li{font-size:11px;color:var(--cc-texteSecondaire);}

/* ─── Scenario banner ────────────────────────────────────────────────────── */
.cc-workspace-scenario-banner{padding:12px 16px;background:rgb(var(--cc-or-rgb) / .08);border:1px solid rgb(var(--cc-or-rgb) / .28);border-radius:10px;margin-bottom:12px;display:flex;flex-direction:column;gap:5px;font-size:12px;}
.cc-workspace-scenario-banner strong{color:var(--cc-orFort);font-size:13px;font-weight:800;}
.cc-workspace-scenario-banner span{color:var(--cc-texteSecondaire);}
.cc-workspace-scenario-banner small{color:var(--cc-texteFaible);font-size:10px;line-height:1.5;}
.cc-workspace-scenario-banner-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.cc-workspace-scenario-banner-actions button,.cc-workspace-scenario-banner>button{padding:5px 12px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;border:1px solid rgb(var(--cc-or-rgb) / .35);background:rgb(var(--cc-or-rgb) / .1);color:var(--cc-orFort);}
.cc-workspace-scenario-banner>button[data-clear-scenario]{background:rgb(var(--cc-alerteRouge-rgb) / .1);border-color:rgb(var(--cc-alerteRouge-rgb) / .3);color:var(--cc-alerteRouge);}

/* ─── Catalogue & conformité ─────────────────────────────────────────────── */
.cc-catalogue-select{
  background:var(--cc-panneau);
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.16 * var(--cc-ink-gain))));
  border-radius:6px;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.88 * var(--cc-ink-gain))));
  font-size:11px;
  font-weight:700;
  padding:5px 28px 5px 8px;
  cursor:pointer;
  outline:none;
  color-scheme:dark;
}
.cc-catalogue-select:hover{border-color:rgb(var(--cc-or-rgb) / .35);background:var(--cc-panneauFort);}
.cc-catalogue-select:focus{border-color:rgb(var(--cc-or-rgb) / .55);box-shadow:0 0 0 2px rgb(var(--cc-or-rgb) / .12);}
.cc-catalogue-select option{background:var(--cc-panneau);color:var(--cc-texte);}
.cc-catalogue-status-select{
  background:var(--cc-panneauFort);
  border-color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:10px;
  padding:3px 24px 3px 6px;
}
.cc-catalogue-status-select option{background:var(--cc-panneau);color:var(--cc-texte);}
.cc-catalogue-command-center{isolation:isolate;}
.cc-catalogue-command-grid button:hover{background:rgb(var(--cc-or-rgb) / .08);border-color:rgb(var(--cc-or-rgb) / .24);}
.cc-catalogue-list-shell{
  margin-top:12px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.075 * var(--cc-ink-gain))));
  border-radius:12px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.018 * var(--cc-ink-gain))));
  overflow:hidden;
}
.cc-catalogue-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  padding:8px 12px;
  border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));
  background:rgb(var(--cc-surface-rgb) / .74);
}
.cc-catalogue-list-head strong{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-orFort);}
.cc-catalogue-list-head span{font-size:10px;color:var(--cc-texteFaible);font-weight:700;}
.cc-catalogue-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:12px;
  max-height:640px;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:12px;
  scrollbar-color:rgb(var(--cc-or-rgb) / .36) rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));
  scrollbar-width:thin;
}
.cc-catalogue-list::-webkit-scrollbar,.cc-catalogue-drill-host::-webkit-scrollbar{width:7px;}
.cc-catalogue-list::-webkit-scrollbar-track,.cc-catalogue-drill-host::-webkit-scrollbar-track{background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));border-radius:999px;}
.cc-catalogue-list::-webkit-scrollbar-thumb,.cc-catalogue-drill-host::-webkit-scrollbar-thumb{background:rgb(var(--cc-or-rgb) / .38);border-radius:999px;}
.cc-catalogue-drill-host{
  max-height:220px;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin-bottom:8px;
  padding:2px 8px 2px 0;
  border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.055 * var(--cc-ink-gain))));
  border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.055 * var(--cc-ink-gain))));
  scrollbar-color:rgb(var(--cc-or-rgb) / .36) rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));
  scrollbar-width:thin;
}
.cc-catalogue-matrix-shell{
  margin-top:12px;
  max-height:min(620px,58vh);
  min-height:280px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.075 * var(--cc-ink-gain))));
  border-radius:12px;
  background:rgb(var(--cc-surface-rgb) / .72);
  padding:10px;
  scrollbar-color:rgb(var(--cc-or-rgb) / .36) rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));
  scrollbar-width:thin;
}
.cc-catalogue-matrix-shell::-webkit-scrollbar{width:8px;height:8px;}
.cc-catalogue-matrix-shell::-webkit-scrollbar-track{background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));border-radius:999px;}
.cc-catalogue-matrix-shell::-webkit-scrollbar-thumb{background:rgb(var(--cc-or-rgb) / .38);border-radius:999px;}
.cc-catalogue-matrix-legend{
  position:sticky;
  top:0;
  z-index:4;
  padding:0 0 8px;
  background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .98),rgb(var(--cc-surface-rgb) / .84));
  font-size:10px;
}
.cc-catalogue-matrix-legend span{color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}
.cc-catalogue-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:10px;}
.cc-catalogue-matrix th{
  position:sticky;
  top:27px;
  z-index:3;
  padding:7px 7px;
  background:var(--cc-surfaceVerte);
  border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-family:ui-monospace,monospace;
  white-space:nowrap;
}
.cc-catalogue-matrix td{border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));}
.cc-catalogue-matrix .cc-catalogue-matrix-building{
  position:sticky;
  left:0;
  z-index:2;
  min-width:230px;
  max-width:260px;
  background:var(--cc-surfaceVerte);
  padding:6px 9px;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.78 * var(--cc-ink-gain))));
  font-size:10px;
  white-space:nowrap;
  box-shadow:8px 0 12px rgba(0,0,0,.18);
}
.cc-catalogue-matrix th.cc-catalogue-matrix-building{z-index:5;text-align:left;}
.cc-catalogue-matrix-na{text-align:center;color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));padding:5px 7px;}
.cc-catalogue-matrix-cell{text-align:center;cursor:pointer;padding:5px 7px;}
.cc-catalogue-matrix-cell:hover{background:rgb(var(--cc-or-rgb) / .08);}
.cc-catalogue-matrix-cell span{display:inline-block;width:14px;height:14px;border-radius:4px;}
.cc-catalogue-card-focus{outline:2px solid rgb(var(--cc-or-rgb) / .78)!important;box-shadow:0 0 0 4px rgb(var(--cc-or-rgb) / .16),0 14px 40px rgba(0,0,0,.35)!important;}

/* ─── Scenarios panel ────────────────────────────────────────────────────── */
.cc-workspace-scenarios-panel{}
.cc-workspace-scenarios-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.cc-workspace-scenarios-actions button{padding:8px 18px;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:background .18s,border-color .18s,box-shadow .18s;}
.cc-workspace-scenarios-actions button[data-scenario-kind="vert"]{background:rgb(var(--cc-confianceHaute-rgb) / .1);border:1px solid rgb(var(--cc-confianceHaute-rgb) / .25);color:var(--cc-vert);}
.cc-workspace-scenarios-actions button[data-scenario-kind="vert"].is-active{background:rgb(var(--cc-confianceHaute-rgb) / .2);border-color:var(--cc-vert);box-shadow:0 0 16px rgb(var(--cc-confianceHaute-rgb) / .2);}
.cc-workspace-scenarios-actions button[data-scenario-kind="equilibre"]{background:rgb(var(--cc-or-rgb) / .1);border:1px solid rgb(var(--cc-or-rgb) / .25);color:var(--cc-orFort);}
.cc-workspace-scenarios-actions button[data-scenario-kind="equilibre"].is-active{background:rgb(var(--cc-or-rgb) / .2);border-color:var(--cc-orFort);box-shadow:0 0 16px rgb(var(--cc-or-rgb) / .2);}
.cc-workspace-scenarios-actions button[data-scenario-kind="prudent"]{background:rgb(var(--cc-bleu-rgb) / .1);border:1px solid rgb(var(--cc-bleu-rgb) / .25);color:var(--cc-bleu);}
.cc-workspace-scenarios-actions button[data-scenario-kind="prudent"].is-active{background:rgb(var(--cc-bleu-rgb) / .2);border-color:var(--cc-bleu);box-shadow:0 0 16px rgb(var(--cc-bleu-rgb) / .2);}
.cc-workspace-scenarios-targeting{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--cc-texteSecondaire);margin-bottom:12px;}
.cc-workspace-scenarios-targeting label{display:flex;align-items:center;gap:6px;}
.cc-workspace-scenarios-targeting select{background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texte);padding:5px 8px;font-size:12px;outline:none;}
.cc-workspace-scenarios-targeting button{padding:5px 12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));border-radius:7px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;}
.cc-workspace-scenarios-hypotheses{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:10px;}
.cc-workspace-scenarios-hypotheses label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--cc-texteSecondaire);}
.cc-workspace-scenarios-hypotheses input[type="range"]{flex:1;accent-color:var(--cc-or);}
.cc-workspace-scenarios-hypotheses span{min-width:40px;font-family:ui-monospace,monospace;font-size:12px;color:var(--cc-orFort);font-weight:700;}
.cc-workspace-scenarios-compare{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px;}
.cc-workspace-scenarios-compare article{background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));border-radius:10px;padding:12px;text-align:center;}
.cc-workspace-scenarios-compare h4{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-texteFaible);margin:0 0 6px;font-weight:800;}
.cc-workspace-scenarios-compare strong{display:block;font-size:22px;font-weight:900;color:var(--cc-orFort);letter-spacing:-.03em;margin-bottom:4px;}
.cc-workspace-scenarios-compare span{font-size:10px;color:var(--cc-texteFaible);line-height:1.4;}
.cc-workspace-scenarios-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.cc-workspace-scenarios-footer button{padding:10px 20px;background:linear-gradient(135deg,var(--cc-orDoux),var(--cc-orFort));color:var(--cc-encreSurAccent);border:none;border-radius:10px;font-size:13px;font-weight:850;cursor:pointer;}
.cc-workspace-scenarios-footer button:disabled{opacity:.3;cursor:not-allowed;background:rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));color:var(--cc-texteFaible);}
.cc-workspace-scenarios-footer span{font-size:12px;color:var(--cc-texteSecondaire);}
.cc-workspace-scenarios-selection-panel{margin-bottom:12px;padding:12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));border-radius:10px;}
.cc-workspace-scenarios-selection-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;}
.cc-workspace-scenarios-selection-head strong{font-size:12px;color:var(--cc-texte);}
.cc-workspace-scenarios-selection-head div{display:flex;gap:6px;}
.cc-workspace-scenarios-selection-head button{padding:4px 10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.1 * var(--cc-ink-gain))));border-radius:6px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;}
.cc-workspace-scenarios-selection-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;}
.cc-workspace-scenarios-selection-list label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cc-texteSecondaire);padding:4px 6px;border-radius:6px;cursor:pointer;}
.cc-workspace-scenarios-selection-list label:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));}
.cc-workspace-scenarios-selection-list input[type="checkbox"]{accent-color:var(--cc-or);}
.cc-workspace-scenario-mandate-preview{
  margin:0 0 12px;
  padding:12px;
  background:rgb(var(--cc-or-rgb) / .055);
  border:1px solid rgb(var(--cc-or-rgb) / .18);
  border-radius:12px;
}
.cc-workspace-scenario-mandate-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:10px;
}
.cc-workspace-scenario-mandate-head strong{
  font-size:12px;
  font-weight:850;
  color:var(--cc-orFort);
}
.cc-workspace-scenario-mandate-head span{
  font-size:11px;
  color:var(--cc-texteSecondaire);
  text-align:right;
}
.cc-workspace-scenario-plan-grid,
.cc-workspace-scenario-banner-plan{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.cc-workspace-scenario-plan-grid article,
.cc-workspace-scenario-banner-plan article{
  min-width:0;
  padding:9px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.035 * var(--cc-ink-gain))));
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));
  border-radius:9px;
}
.cc-workspace-scenario-plan-grid h4,
.cc-workspace-scenario-banner-plan h4{
  margin:0 0 5px;
  font-size:10px;
  font-weight:850;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
}
.cc-workspace-scenario-plan-grid strong,
.cc-workspace-scenario-banner-plan strong{
  display:block;
  font-size:13px;
  color:var(--cc-orFort);
  margin-bottom:4px;
}
.cc-workspace-scenario-plan-grid span,
.cc-workspace-scenario-plan-grid small,
.cc-workspace-scenario-banner-plan span{
  display:block;
  font-size:10px;
  line-height:1.35;
  color:var(--cc-texteFaible);
}
.cc-workspace-scenario-financing-list,
.cc-workspace-scenario-banner-financing{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.cc-workspace-scenario-financing-list span,
.cc-workspace-scenario-banner-financing span{
  padding:5px 7px;
  border-radius:999px;
  background:rgb(var(--cc-bleu-rgb) / .08);
  border:1px solid rgb(var(--cc-bleu-rgb) / .16);
  color:var(--cc-bleuClair);
  font-size:10px;
  font-weight:750;
}
.cc-workspace-scenario-banner-plan{
  width:100%;
  margin:8px 0 0;
}
.cc-workspace-scenario-banner-financing{
  width:100%;
}
@media (max-width:980px){
  .cc-workspace-scenario-plan-grid,
  .cc-workspace-scenario-banner-plan{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:640px){
  .cc-workspace-scenario-mandate-head{display:block;}
  .cc-workspace-scenario-mandate-head span{display:block;text-align:left;margin-top:4px;}
  .cc-workspace-scenario-plan-grid,
  .cc-workspace-scenario-banner-plan{grid-template-columns:1fr 1fr;}
}

/* ─── Territory panel ────────────────────────────────────────────────────── */
.cc-workspace-territory-panel{}
.cc-workspace-territory-head{margin-bottom:10px;}
.cc-workspace-territory-head h3{font-size:14px;font-weight:800;margin:0 0 4px;color:var(--cc-texte);}
.cc-workspace-territory-head p{font-size:12px;color:var(--cc-texteSecondaire);margin:0;}
.cc-workspace-territory-layout{display:grid;grid-template-columns:220px 1fr 240px;gap:12px;min-height:520px;}
.cc-workspace-territory-side{display:flex;flex-direction:column;gap:10px;min-width:0;}
.cc-workspace-territory-frame-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--cc-bordureDouce);}
.cc-workspace-territory-frame{width:100%;height:100%;min-height:520px;border:0;display:block;}
.cc-workspace-territory-insight{display:flex;flex-direction:column;gap:8px;}
.cc-workspace-territory-insight-headline{margin-bottom:8px;}
.cc-workspace-territory-insight-headline strong{display:block;font-size:12px;font-weight:800;color:var(--cc-texte);}
.cc-workspace-territory-insight-headline span{font-size:10px;color:var(--cc-texteFaible);}
/* Le panneau a été dessiné pour cinq secteurs ; il en reçoit autant que la
   collectivité a de quartiers. La liste défile dans son propre cadre, sans
   entraîner la page avec elle. */
.cc-workspace-territory-insight-grid,
.cc-workspace-territory-priority-list{max-height:clamp(220px,52vh,420px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;}
.cc-workspace-territory-insight-grid:focus-visible,
.cc-workspace-territory-priority-list:focus-visible{outline:2px solid var(--cc-or);outline-offset:3px;border-radius:8px;}
.cc-workspace-territory-insight-grid::-webkit-scrollbar,
.cc-workspace-territory-priority-list::-webkit-scrollbar{width:8px;}
.cc-workspace-territory-insight-grid::-webkit-scrollbar-thumb,
.cc-workspace-territory-priority-list::-webkit-scrollbar-thumb{background:rgb(var(--cc-ink-rgb) / min(1, calc(.16 * var(--cc-ink-gain))));border-radius:99px;}
.cc-workspace-territory-insight-grid{display:flex;flex-direction:column;gap:6px;}
.cc-workspace-territory-insight-source{font-size:9.5px;line-height:1.35;color:var(--cc-texteFaible);margin:0 0 6px;}
.cc-workspace-territory-insight-card{background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:8px;padding:8px 10px;}
.cc-workspace-territory-insight-card h4{font-size:11px;font-weight:800;color:var(--cc-texte);margin:0 0 5px;}
.cc-workspace-territory-insight-card dl{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.cc-workspace-territory-insight-card dl div{display:contents;}
.cc-workspace-territory-insight-card dt{font-size:10px;color:var(--cc-texteFaible);}
.cc-workspace-territory-insight-card dd{font-size:10px;font-weight:700;color:var(--cc-texte);text-align:right;margin:0;}
.cc-workspace-territory-priority-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;}
.cc-workspace-territory-priority-list li{display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:8px;}
.cc-workspace-territory-priority-list h4{font-size:11px;font-weight:800;color:var(--cc-texte);margin:0;display:flex;align-items:center;gap:6px;}
.cc-workspace-territory-rank{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:rgb(var(--cc-or-rgb) / .14);color:var(--cc-orFort);font-family:ui-monospace,monospace;font-size:9.5px;font-weight:800;}
.cc-workspace-territory-priority-list p{font-size:10px;color:var(--cc-texteFaible);margin:0;}
.cc-workspace-territory-priority-list span{font-size:10px;color:var(--cc-confiancePartielle);margin-top:3px;}

/* ─── Patrimoine panel ───────────────────────────────────────────────────── */
.cc-workspace-patrimoine-panel{display:flex;flex-direction:column;gap:12px;}
.cc-workspace-patrimoine-trace{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));border-radius:8px;font-size:10px;}
.cc-workspace-patrimoine-trace strong{color:var(--cc-texte);font-weight:700;}
.cc-workspace-patrimoine-trace span{color:var(--cc-texteFaible);}
.cc-workspace-patrimoine-layout{display:grid;grid-template-columns:1fr 1fr 220px;gap:12px;}
.cc-workspace-patrimoine-donut{width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--cc-or) 0% 25%,var(--cc-bleuFort) 25% 53%,var(--cc-violet) 53% 73%,var(--cc-vertFort) 73% 100%);display:grid;place-items:center;margin:10px auto;box-shadow:0 0 24px rgba(0,0,0,.3);}
.cc-workspace-patrimoine-donut span{font-size:18px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.cc-workspace-patrimoine-chart ul,.cc-workspace-patrimoine-chart ul li{list-style:none;padding:0;margin:0;}
.cc-workspace-patrimoine-chart li{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cc-texteSecondaire);padding:3px 0;}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot.a{background:var(--cc-or);box-shadow:0 0 6px var(--cc-or);}
.dot.b{background:var(--cc-bleuFort);box-shadow:0 0 6px var(--cc-bleuFort);}
.dot.c{background:var(--cc-violet);box-shadow:0 0 6px var(--cc-violet);}
.dot.d{background:var(--cc-vertFort);box-shadow:0 0 6px var(--cc-vertFort);}
.cc-workspace-patrimoine-expo h3{margin:0 0 8px;font-size:12px;font-weight:800;color:var(--cc-texte);}
.cc-workspace-patrimoine-actions{display:flex;flex-direction:column;gap:8px;}
.cc-workspace-patrimoine-health-main{text-align:center;padding:10px 0;margin-bottom:6px;}
.cc-workspace-patrimoine-health-main strong{font-size:28px;font-weight:900;color:var(--cc-orFort);}
.cc-workspace-patrimoine-health-main span{display:block;font-size:10px;color:var(--cc-texteFaible);margin-top:3px;}
.cc-workspace-patrimoine-health ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:11px;}
.cc-workspace-patrimoine-health li{display:flex;justify-content:space-between;color:var(--cc-texteSecondaire);}
.cc-workspace-patrimoine-health b{color:var(--cc-texte);}
.cc-workspace-patrimoine-health-capex{margin-top:8px;padding:6px 8px;background:rgb(var(--cc-or-rgb) / .08);border:1px solid rgb(var(--cc-or-rgb) / .18);border-radius:6px;font-size:11px;color:var(--cc-or);text-align:center;}
.cc-workspace-patrimoine-compliance-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:11px;margin-top:6px;}
.cc-workspace-patrimoine-compliance-grid span{color:var(--cc-texteFaible);}
.cc-workspace-patrimoine-compliance-grid strong{color:var(--cc-texte);font-weight:700;}
.cc-workspace-patrimoine-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;align-items:stretch;}
.cc-workspace-patrimoine-status-grid>.cc-workspace-card{min-width:0;height:100%;}
.cc-workspace-patrimoine-bottom{margin-top:0;}
/* risk badges in table */
.risk{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;}
.risk-faible{background:rgb(var(--cc-confianceHaute-rgb) / .12);color:var(--cc-vert);}
.risk-modere{background:rgb(var(--cc-or-rgb) / .12);color:var(--cc-orFort);}
.risk-eleve{background:rgba(251,146,60,.14);color:var(--cc-orange);}
.risk-tres{background:rgb(var(--cc-alerteRouge-rgb) / .14);color:var(--cc-alerteRouge);}

/* ─── Exports panel ──────────────────────────────────────────────────────── */
.cc-workspace-exports-panel{display:flex;flex-direction:column;gap:14px;}
.cc-workspace-exports-head h3{font-size:14px;font-weight:800;margin:0 0 4px;color:var(--cc-texte);}
.cc-workspace-exports-head p{font-size:12px;color:var(--cc-texteSecondaire);margin:0;}
.cc-workspace-exports-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cc-workspace-exports-actions button{padding:10px 18px;background:linear-gradient(135deg,rgb(var(--cc-or-rgb) / .1),rgb(var(--cc-or-rgb) / .06));border:1px solid rgb(var(--cc-or-rgb) / .28);border-radius:10px;color:var(--cc-orFort);font-size:13px;font-weight:800;cursor:pointer;transition:background .18s,box-shadow .18s;}
.cc-workspace-exports-actions button:hover{background:linear-gradient(135deg,rgb(var(--cc-or-rgb) / .2),rgb(var(--cc-or-rgb) / .12));box-shadow:0 0 20px rgb(var(--cc-or-rgb) / .12);}
.cc-workspace-exports-status{padding:12px 16px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));border-radius:10px;font-size:12px;color:var(--cc-texteSecondaire);}

/* ─── Gouvernance panel ──────────────────────────────────────────────────── */
.cc-workspace-gouvernance-panel{display:flex;flex-direction:column;gap:14px;}

/* ─── Responsive ─────────────────────────────────────────────────────────── */
@media(max-width:1180px){
  .cc-workspace-layout{grid-template-columns:240px 1fr;}
  .cc-workspace-kpis{grid-template-columns:repeat(2,1fr);}
  .cc-workspace-patrimoine-layout{grid-template-columns:1fr 1fr;}
  .cc-workspace-patrimoine-layout .cc-workspace-patrimoine-actions{grid-column:1/-1;}
  .cc-workspace-territory-layout{grid-template-columns:1fr;}
  .cc-workspace-territory-frame-wrap{min-height:360px;}
  .cc-workspace-scenarios-compare{grid-template-columns:repeat(2,1fr);}
  .cc-workspace-portfolio-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:820px){
  /* Le menu des espaces est un tiroir (position:fixed, voir le bloc max-width:900px) : le repasser en
     « static » ici le laissait occuper ~910 px de vide avant le contenu, hors écran mais dans le flux. */
  .cc-workspace-layout{grid-template-columns:1fr;grid-template-rows:auto;}
  .cc-workspace-kpis{grid-template-columns:repeat(2,1fr);}
  .cc-workspace-cards,.cc-workspace-portfolio-grid,.cc-workspace-project-brief-grid{grid-template-columns:1fr;}
  .cc-workspace-portfolio-actions{grid-template-columns:1fr;}
  .cc-workspace-territory-layout{grid-template-columns:1fr;}
  .cc-workspace-patrimoine-status-grid{grid-template-columns:1fr;}
}

/* ─── Print ──────────────────────────────────────────────────────────────── */
@media print{
  .cc-workspace-sidebar,.cc-workspace-back{display:none!important;}
  .cc-workspace-layout{display:block!important;}
  .cc-workspace-main{width:100%!important;padding:0!important;}
  .cc-workspace-shell{background:#fff!important;color:#0f172a!important;}
  .cc-workspace-card{background:#fff!important;border-color:var(--cc-texteSecondaire)!important;}
  .cc-workspace-kpi{background:var(--cc-texte)!important;border-color:var(--cc-texteSecondaire)!important;}
  .cc-workspace-card h3,.cc-workspace-kpi h4,.cc-workspace-kpi-value{color:#0f172a!important;}
  .cc-workspace-card p,.cc-workspace-kpi span{color:#475569!important;}
}

/* Arbitrage institutionnel natif dans le workspace */
.cc-native-arb-host{margin-top:14px;}
.cc-native-arb{
  border:1px solid rgb(var(--cc-or-rgb) / .22);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,rgb(var(--cc-surface-rgb) / .98),rgb(var(--cc-surface-rgb) / .99));
  box-shadow:0 18px 46px rgba(0,0,0,.28);
}
.cc-native-arb-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));
}
.cc-native-arb-hero p{margin:0 0 6px;color:var(--cc-or);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;}
.cc-native-arb-hero h3{margin:0;color:var(--cc-texte);font-size:24px;font-weight:850;letter-spacing:-.02em;}
.cc-native-arb-hero span{display:block;margin-top:7px;color:var(--cc-texteFaible);font-size:12px;}
.cc-native-arb-hero button,.cc-native-arb-card button,.cc-native-arb-tabs button{
  cursor:pointer;
}
.cc-native-arb-hero button{
  padding:7px 12px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));color:var(--cc-texteSecondaire);font-size:11px;font-weight:850;
}
.cc-native-arb-tabs{display:flex;gap:6px;padding:10px 20px 0;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));}
.cc-native-arb-tabs button{padding:9px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--cc-texteFaible);font-size:12px;font-weight:850;}
.cc-native-arb-tabs button.is-active{color:var(--cc-orFort);border-bottom-color:var(--cc-orFort);}
.cc-native-arb-card{padding:18px 20px 22px;}
.cc-native-arb-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.cc-native-arb-section-head strong{color:var(--cc-texte);font-size:14px;font-weight:900;}
.cc-native-arb-section-head span{padding:3px 10px;border:1px solid rgb(var(--cc-or-rgb) / .22);border-radius:999px;background:rgb(var(--cc-or-rgb) / .10);color:var(--cc-orFort);font-size:11px;font-weight:800;}
.cc-native-arb-table-wrap{border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.09 * var(--cc-ink-gain))));border-radius:13px;overflow:hidden;background:rgb(var(--cc-surface-rgb) / .34);}
.cc-native-arb-table-scroll{max-height:620px;overflow:auto;}
.cc-native-arb-table{width:100%;min-width:860px;border-collapse:collapse;}
.cc-native-arb-table th{position:sticky;top:0;z-index:1;padding:11px 12px;background:var(--cc-panneauFort);border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.09 * var(--cc-ink-gain))));color:var(--cc-texteFaible);font-size:10px;font-weight:850;letter-spacing:.08em;text-align:left;text-transform:uppercase;}
.cc-native-arb-table td{padding:10px 12px;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.055 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;vertical-align:middle;}
.cc-native-arb-table tr:hover{background:rgb(var(--cc-ink-rgb) / min(1, calc(.035 * var(--cc-ink-gain))));}
.cc-native-arb-rank{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:7px;background:rgb(var(--cc-or-rgb) / .14);color:var(--cc-orFort);font-size:11px;font-weight:900;}
.cc-native-arb-id{font-family:ui-monospace,monospace;color:var(--cc-texteFaible);font-size:11px;white-space:nowrap;}
.cc-native-arb-scorebar{display:inline-block;width:76px;height:6px;margin-right:8px;overflow:hidden;border-radius:99px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.10 * var(--cc-ink-gain))));vertical-align:middle;}
.cc-native-arb-scorebar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cc-or),var(--cc-vert));}
.cc-native-arb-score{font-family:ui-monospace,monospace;color:var(--cc-orFort);font-size:11px;}
.cc-native-arb-pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap;}
.cc-native-arb-pill.decision-retenu{background:rgb(var(--cc-confianceHaute-rgb) / .15);color:var(--cc-vert);border:1px solid rgb(var(--cc-confianceHaute-rgb) / .25);}
.cc-native-arb-pill.decision-a-fiabiliser{background:rgb(var(--cc-or-rgb) / .14);color:var(--cc-orFort);border:1px solid rgb(var(--cc-or-rgb) / .25);}
.cc-native-arb-pill.decision-reporte{background:rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));color:var(--cc-texteFaible);border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.10 * var(--cc-ink-gain))));}
.cc-native-arb-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:14px;}
.cc-native-arb-controls label{display:grid;gap:5px;color:var(--cc-texteFaible);font-size:11px;text-transform:capitalize;}
.cc-native-arb-controls input{padding:8px 10px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));border-radius:8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));color:var(--cc-texte);font-size:12px;}
.cc-native-arb-controls button,.cc-native-arb-card>button{padding:9px 14px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--cc-or),#d4b545);color:var(--cc-encreSurAccent);font-size:12px;font-weight:900;}
.cc-native-arb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.cc-native-arb-kpis article{padding:12px;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border-radius:11px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.035 * var(--cc-ink-gain))));}
.cc-native-arb-kpis strong{display:block;color:var(--cc-orFort);font-size:22px;font-weight:900;}
.cc-native-arb-kpis span{color:var(--cc-texteFaible);font-size:11px;}
.cc-native-arb-proof{display:grid;gap:8px;margin-top:12px;padding:14px;border:1px solid rgb(var(--cc-or-rgb) / .22);border-radius:12px;background:rgb(var(--cc-or-rgb) / .06);}
.cc-native-arb-proof span{color:var(--cc-texteFaible);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;}
.cc-native-arb-proof code{word-break:break-all;color:var(--cc-orFort);font-family:ui-monospace,monospace;font-size:12px;}
.cc-native-arb-proof p,.cc-native-arb-empty{margin:0;color:var(--cc-texteSecondaire);font-size:12px;}

/* ─── Patch lisibilité collectivité ────────────────────────────────────────
   Objectif : réduire la fatigue de lecture pour élus, DGS et agents sans
   casser la densité du cockpit. Échelle cible : petits libellés >= 12px,
   texte métier >= 14px, actions >= 13px, titres de cartes >= 16px.
   ───────────────────────────────────────────────────────────────────────── */
.cc-workspace-shell{
  --cc-font-caption:12px;
  --cc-font-small:13px;
  --cc-font-body:14px;
  --cc-font-body-lg:15px;
  --cc-font-title-sm:16px;
  --cc-font-title-md:18px;
  --cc-font-title-lg:22px;
  font-size:var(--cc-font-body);
}

.cc-workspace-active,
.cc-workspace-breadcrumb,
.cc-workspace-breadcrumb *,
.cc-workspace-nav-sub,
.cc-workspace-project-state,
.cc-workspace-project-commune,
.cc-workspace-project-id,
.cc-workspace-project-meta,
.cc-workspace-project-decision-badge,
.cc-workspace-project-auto-status,
.cc-workspace-project-brief-grid h5,
.cc-workspace-project-detail-section h5,
.cc-workspace-project-timeline h5,
.cc-workspace-project-proof h5,
.cc-workspace-project-detail-explain h5,
.cc-workspace-anomalies-panel p,
.cc-workspace-anomalies-panel li,
.cc-workspace-scenario-banner small,
.cc-catalogue-list-head span,
.cc-catalogue-matrix,
.cc-workspace-territory-insight-headline span,
.cc-workspace-territory-insight-card dt,
.cc-workspace-territory-insight-card dd,
.cc-workspace-territory-priority-list p,
.cc-workspace-territory-priority-list span,
.cc-workspace-patrimoine-trace,
.cc-workspace-patrimoine-health-main span,
.risk,
.cc-native-arb-table th,
.cc-native-arb-pill,
.cc-commercial-table th,
.cc-tier-badge,
.cc-quota-bar__pct{
  font-size:var(--cc-font-caption) !important;
}

.cc-workspace-back,
.cc-workspace-subtitle,
.cc-workspace-kpi h4,
.cc-workspace-kpi span,
.cc-kpi-trend,
.cc-workspace-portfolio-meta,
.cc-workspace-portfolio-decision-counters span,
.cc-workspace-project-kpi,
.cc-workspace-project-detail-badge,
.cc-workspace-project-detail-tags span,
.cc-workspace-project-timeline-steps span,
.cc-workspace-decision-note,
.cc-workspace-recheck-feedback,
.cc-workspace-scenarios-targeting button,
.cc-workspace-scenarios-selection-head button,
.cc-workspace-territory-insight-card h4,
.cc-workspace-territory-priority-list h4,
.cc-workspace-patrimoine-chart li,
.cc-workspace-patrimoine-health ul,
.cc-workspace-patrimoine-health-capex,
.cc-workspace-patrimoine-compliance-grid,
.cc-native-arb-id,
.cc-native-arb-rank,
.cc-native-arb-score,
.cc-native-arb-controls label,
.cc-native-arb-kpis span,
.cc-native-arb-proof span{
  font-size:var(--cc-font-small) !important;
}

.cc-workspace-nav-title,
.cc-workspace-card p,
.cc-workspace-card button,
.cc-workspace-alert-banner,
.cc-workspace-toast,
.cc-workspace-portfolio-filters button,
.cc-workspace-portfolio-meta input,
.cc-workspace-portfolio-pagination button,
.cc-workspace-project-card h4,
.cc-workspace-project-card button,
.cc-workspace-project-detail-window-top button,
.cc-workspace-project-detail-card p,
.cc-workspace-project-detail-grid,
.cc-workspace-project-proof-grid,
.cc-workspace-project-detail-explain ul,
.cc-workspace-project-detail-explain button,
.cc-workspace-quick-actions button,
.cc-workspace-anomalies-panel h4,
.cc-workspace-scenario-banner,
.cc-workspace-scenarios-actions button,
.cc-workspace-scenarios-targeting,
.cc-workspace-scenarios-targeting select,
.cc-workspace-scenarios-hypotheses label,
.cc-workspace-scenarios-hypotheses span,
.cc-workspace-scenarios-footer span,
.cc-workspace-scenarios-selection-head strong,
.cc-workspace-scenarios-selection-list label,
.cc-workspace-territory-head p,
.cc-workspace-territory-insight-headline strong,
.cc-workspace-patrimoine-expo h3,
.cc-workspace-exports-head p,
.cc-workspace-exports-status,
.cc-native-arb-hero p,
.cc-native-arb-hero span,
.cc-native-arb-tabs button,
.cc-native-arb-table td,
.cc-native-arb-controls input,
.cc-native-arb-proof code,
.cc-native-arb-proof p,
.cc-native-arb-empty,
.cc-commercial-table td,
.cc-price-main,
.cc-price-detail{
  font-size:var(--cc-font-body) !important;
}

.cc-workspace-title,
.cc-workspace-card h3,
.cc-workspace-project-detail-card h4,
.cc-workspace-scenario-banner strong,
.cc-workspace-scenarios-footer button,
.cc-workspace-exports-actions button,
.cc-native-arb-section-head span,
.cc-native-arb-controls button,
.cc-native-arb-card>button{
  font-size:var(--cc-font-title-sm) !important;
}

.cc-workspace-territory-head h3,
.cc-workspace-exports-head h3,
.cc-native-arb-section-head strong{
  font-size:var(--cc-font-title-md) !important;
}

.cc-workspace-kpi-value,
.cc-workspace-kpi strong{
  font-size:26px !important;
}

.cc-workspace-kpi span{
  font-size:15px !important;
  line-height:1.45 !important;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.76 * var(--cc-ink-gain)))) !important;
}

.cc-workspace-card p,
.cc-workspace-project-card h4,
.cc-workspace-project-detail-card p,
.cc-workspace-project-detail-explain ul,
.cc-workspace-scenario-banner,
.cc-native-arb-proof p,
.cc-native-arb-empty{
  line-height:1.6 !important;
}

.cc-workspace-nav button,
.cc-workspace-project-card button,
.cc-workspace-quick-actions button,
.cc-workspace-portfolio-filters button,
.cc-workspace-portfolio-pagination button,
.cc-workspace-project-detail-window-top button{
  min-height:34px;
}

.cc-workspace-main{
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

.cc-workspace-project-detail-grid--compact{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.cc-workspace-project-detail-grid--compact article{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.075 * var(--cc-ink-gain))));
  border-radius:9px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.035 * var(--cc-ink-gain))));
}
.cc-workspace-project-detail-grid--compact span{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:12px !important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.cc-workspace-project-detail-grid--compact strong{
  color:var(--cc-orFort);
  font-size:17px;
  font-weight:900;
  line-height:1.08;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:980px){
  .cc-workspace-project-detail-grid--compact{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ─── Agent terrain : supervision légère, l'application mobile reste la source ─ */
.cc-terrain-chain{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:12px;
  align-items:center;
  margin-bottom:14px;
  padding:12px 14px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.035 * var(--cc-ink-gain))));
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.075 * var(--cc-ink-gain))));
  border-radius:10px;
}
.cc-terrain-chain strong{
  display:block;
  color:var(--cc-texte);
  font-size:14px;
  font-weight:850;
}
.cc-terrain-chain span{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.66 * var(--cc-ink-gain))));
  font-size:13px;
  line-height:1.55;
}
.cc-terrain-chain-steps{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.cc-terrain-chain-steps span{
  padding:5px 8px;
  border:1px solid rgb(var(--cc-bleu-rgb) / .22);
  border-radius:999px;
  background:rgb(var(--cc-bleu-rgb) / .08);
  color:var(--cc-bleuPale);
  font-size:12px;
  font-weight:850;
}
.cc-terrain-state{
  margin:0;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:13px;
  line-height:1.55;
}
.cc-terrain-state.is-error{
  color:rgb(var(--cc-rouge-rgb) / .78);
}
.cc-terrain-backend-pill{
  padding:5px 8px;
  border:1px solid rgb(var(--cc-bleu-rgb) / .25);
  border-radius:6px;
  background:rgb(var(--cc-bleu-rgb) / .1);
  color:#8fbaff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.cc-terrain-empty{
  padding:13px 14px;
  border:1px dashed rgb(var(--cc-bleu-rgb) / .28);
  border-radius:10px;
  background:rgb(var(--cc-bleu-rgb) / .045);
}
.cc-terrain-empty strong{
  color:var(--cc-texte);
  font-size:14px;
  font-weight:850;
}
.cc-terrain-empty p,
.cc-terrain-empty li{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.64 * var(--cc-ink-gain))));
  font-size:13px;
  line-height:1.6;
}
.cc-terrain-empty p{
  margin:7px 0 8px;
}
.cc-terrain-empty ol{
  margin:0;
  padding-left:18px;
}
.cc-terrain-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:12px 0 8px;
  flex-wrap:wrap;
}
.cc-terrain-list-head strong{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.86 * var(--cc-ink-gain))));
  font-size:14px;
  font-weight:850;
}
.cc-terrain-list-head span{
  color:rgb(var(--cc-or-rgb) / .88);
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
/* Le registre charge jusqu'à 500 visites. Sans cadre, la page s'allonge et
   la recherche comme le filtre projet remontent hors de l'écran : on cherche
   une visite en ayant perdu de vue le champ de recherche. La liste défile
   donc dans son propre cadre, la barre d'outils reste visible au-dessus. */
.cc-terrain-visit-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:clamp(320px,62vh,620px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:6px;
  scrollbar-width:thin;
}
.cc-terrain-visit-list:focus-visible{
  outline:2px solid var(--cc-or);
  outline-offset:4px;
  border-radius:10px;
}
.cc-terrain-visit-list::-webkit-scrollbar{width:9px;}
.cc-terrain-visit-list::-webkit-scrollbar-thumb{
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.16 * var(--cc-ink-gain))));
  border-radius:99px;
}
/* La barre d'outils et le compte suivent le lecteur pendant qu'il défile. */
.cc-terrain-list-head{
  position:sticky;
  top:0;
  z-index:1;
  background:var(--cc-fond);
  padding-bottom:6px;
}
.cc-terrain-visit-card{
  padding:10px 11px;
  border:1px solid rgb(var(--cc-bleu-rgb) / .18);
  border-radius:10px;
  background:rgb(var(--cc-bleu-rgb) / .055);
}
.cc-terrain-visit-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.cc-terrain-visit-title{
  min-width:0;
}
.cc-terrain-visit-title strong{
  display:block;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.9 * var(--cc-ink-gain))));
  font-size:14px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cc-terrain-visit-title span{
  display:block;
  margin-top:2px;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:12px;
}
.cc-terrain-proof-pill{
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.cc-terrain-proof-pill.is-ok{
  color:var(--cc-menthe);
  background:rgb(var(--cc-vert-rgb) / .1);
  border:1px solid rgb(var(--cc-vert-rgb) / .25);
}
.cc-terrain-proof-pill.is-warn{
  color:#fde68a;
  background:rgb(var(--cc-alerteAmbre-rgb) / .1);
  border:1px solid rgb(var(--cc-alerteAmbre-rgb) / .25);
}
.cc-terrain-proof-pill.is-bad{
  color:#fecaca;
  background:rgb(var(--cc-rouge-rgb) / .1);
  border:1px solid rgb(var(--cc-rouge-rgb) / .25);
}
.cc-terrain-comment{
  margin:8px 0 0;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.66 * var(--cc-ink-gain))));
  font-size:13px;
  line-height:1.55;
}
.cc-terrain-comment.is-muted{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
}
.cc-terrain-media-strip{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
.cc-terrain-media-button{
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  border-radius:8px;
}
.cc-terrain-media-button:focus-visible{
  outline:3px solid var(--cc-bleuClair);
  outline-offset:3px;
}
.cc-terrain-media-preview{
  width:118px;
  height:74px;
  object-fit:cover;
  border-radius:7px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));
  background:var(--cc-panneauFort);
}
.cc-terrain-media-missing{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:118px;
  height:74px;
  padding:6px;
  border-radius:7px;
  border:1px dashed rgb(var(--cc-alerteAmbre-rgb) / .45);
  background:rgb(var(--cc-alerteAmbre-rgb) / .06);
  color:var(--cc-orangeVif);
  font-size:10.5px;
  line-height:1.3;
  text-align:center;
}
.cc-terrain-file-preview{
  width:160px;
  min-height:74px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:9px 10px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));
  border-radius:7px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.045 * var(--cc-ink-gain))));
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.68 * var(--cc-ink-gain))));
  text-decoration:none;
}
.cc-terrain-file-preview span{
  color:var(--cc-bleuPale);
  font-size:12px;
  font-weight:850;
}
.cc-terrain-file-preview strong{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.78 * var(--cc-ink-gain))));
  font-size:12px;
  word-break:break-word;
}
.cc-terrain-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 10px;
  margin-top:9px;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:12px;
}
.cc-terrain-facts strong{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.78 * var(--cc-ink-gain))));
}
.cc-terrain-route{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));
  color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));
  font-size:12px;
}
.cc-terrain-route strong{
  color:var(--cc-bleuPale);
}
.cc-terrain-project-link{
  margin-top:9px;
  padding:7px 10px;
  border:1px solid rgb(var(--cc-bleu-rgb) / .24);
  border-radius:8px;
  background:rgb(var(--cc-bleu-rgb) / .08);
  color:var(--cc-bleuPale);
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.cc-terrain-project-link:hover{
  border-color:rgb(var(--cc-bleu-rgb) / .42);
  background:rgb(var(--cc-bleu-rgb) / .12);
}
.cc-terrain-media-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(0,0,0,.78);
}
.cc-terrain-media-modal-card{
  width:min(920px,96vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid rgb(var(--cc-or-rgb) / .34);
  border-radius:16px;
  background:linear-gradient(180deg,var(--cc-panneau),var(--cc-fond));
  box-shadow:0 24px 80px rgba(0,0,0,.55);
}
.cc-terrain-media-modal-card button{
  align-self:flex-end;
  padding:7px 12px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));
  border-radius:8px;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.78 * var(--cc-ink-gain))));
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.cc-terrain-media-modal-card img{
  max-width:100%;
  max-height:72vh;
  object-fit:contain;
  border-radius:10px;
  background:var(--cc-panneauFort);
}
.cc-terrain-media-modal-card span{
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.68 * var(--cc-ink-gain))));
  font-size:13px;
}
.cc-terrain-checklist{
  margin:0;
  padding-left:18px;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.66 * var(--cc-ink-gain))));
  font-size:13px;
  line-height:1.65;
}
@media (max-width:980px){
  .cc-terrain-chain,
  [data-workspace-terrain-panel] > div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }
  .cc-terrain-chain-steps{
    justify-content:flex-start;
  }
  .cc-terrain-facts{
    grid-template-columns:1fr;
  }
}
.cc-terrain-workspace-head,.cc-terrain-actions,.cc-terrain-summary,.cc-terrain-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.cc-terrain-workspace-head{justify-content:space-between;margin-bottom:16px;}
.cc-terrain-workspace-head h2{margin:0 0 8px;}
.cc-terrain-workspace-head p,.cc-terrain-integrity-note{color:var(--cc-texteSecondaire);line-height:1.6;}
.cc-terrain-workspace .cc-workspace-card{margin:16px 0;}
.cc-terrain-help{padding:16px;border:1px solid #334155;border-radius:12px;line-height:1.6;}
.cc-terrain-help summary{cursor:pointer;}
.cc-terrain-summary{margin:16px 0;}
.cc-terrain-summary>span{flex:1;min-width:140px;padding:16px;border:1px solid #334155;border-radius:12px;}
.cc-terrain-summary strong{display:block;font-size:24px;font-weight:600;}
.cc-terrain-toolbar{margin:16px 0;align-items:stretch;}
.cc-terrain-toolbar label{flex:1;min-width:180px;display:grid;gap:8px;font-size:14px;}
.cc-terrain-toolbar input,.cc-terrain-toolbar select{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;background:var(--cc-panneauBleuNuit);color:#f4f0e8;border:1px solid #526079;border-radius:8px;}
.cc-terrain-workspace :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--cc-orFort);outline-offset:3px;}
.cc-patrimoine-map-buildings{margin-top:10px;padding:12px;border-top:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));font-size:12px;color:rgb(var(--cc-ink-rgb) / min(1, calc(.72 * var(--cc-ink-gain))));}
.cc-patrimoine-map-buildings>strong{display:block;margin-bottom:8px;color:var(--cc-orFort);}
.cc-patrimoine-map-buildings>div{display:flex;flex-wrap:wrap;gap:8px;}
.cc-patrimoine-map-buildings button{padding:7px 10px;border:1px solid rgb(var(--cc-or-rgb) / .3);border-radius:7px;background:rgb(var(--cc-or-rgb) / .08);color:var(--cc-texte);cursor:pointer;font-size:11px;}
.cc-patrimoine-map-buildings button:hover{background:rgb(var(--cc-or-rgb) / .18);}
.cc-terrain-workspace .cc-terrain-project-link{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box;}
.cc-terrain-workspace [data-terrain-visit][hidden]{display:none;}
.cc-terrain-workspace .cc-terrain-media-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.cc-terrain-workspace .cc-terrain-media-preview{width:100%;height:180px;object-fit:contain;}
.cc-terrain-integrity-note{font-size:12px;margin:12px 0;}
@media(max-width:600px){.cc-terrain-workspace-head{align-items:stretch;}.cc-terrain-actions{width:100%;}.cc-terrain-actions>*{flex:1;justify-content:center;}.cc-terrain-toolbar label{min-width:100%;}}

/* Mention de source et de date : exigée dès lors qu'on réutilise une donnée
   publique, et lue par le DGS au moment où il regarde le chiffre. */
.cc-benchmark-source{font-size:10.5px;line-height:1.4;color:var(--cc-texteFaible);margin:6px 0 0;word-break:break-word;}
.cc-benchmark-source a{color:var(--cc-bleu);text-decoration:underline;text-underline-offset:2px;}

/* Étape 7 — premier parcours portefeuille vide → projet */
.cc-first-project-empty{
  display:flex;flex-direction:column;gap:12px;align-items:stretch;
  padding:28px 22px;margin:8px 0 16px;text-align:left;
  border:1px solid rgb(var(--cc-or-rgb) / .22);
  border-radius:14px;background:linear-gradient(180deg,rgb(var(--cc-or-rgb) / .07),rgb(var(--cc-surface-rgb) / .55));
}
.cc-first-project-empty__title{margin:0;font-size:16px;font-weight:850;color:var(--cc-texte);letter-spacing:-.02em;}
.cc-first-project-empty__lead{margin:0;font-size:13px;line-height:1.65;color:var(--cc-texteSecondaire);max-width:62ch;}
.cc-first-project-empty__hint,.cc-first-project-empty__footnote{margin:0;font-size:11.5px;line-height:1.55;color:var(--cc-texteFaible);max-width:70ch;}
.cc-first-project-form{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.cc-first-project-form__legend{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-orFort);padding:0;margin:0 0 8px;}
.cc-first-project-form__fields{border:0;margin:0;padding:0;min-width:0;}
.cc-first-project-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;}
.cc-first-project-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--cc-texteSecondaire);min-width:0;}
.cc-first-project-field--wide{grid-column:1 / -1;}
.cc-first-project-field input,
.cc-first-project-field select{
  width:100%;box-sizing:border-box;padding:9px 11px;border-radius:8px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));
  color:var(--cc-texte);font-size:13px;font-weight:600;outline:none;
}
.cc-first-project-field input:focus,
.cc-first-project-field select:focus{
  border-color:rgb(var(--cc-or-rgb) / .55);
  box-shadow:0 0 0 3px rgb(var(--cc-or-rgb) / .18);
}
.cc-first-project-field input[aria-invalid="true"],
.cc-first-project-field select[aria-invalid="true"]{
  border-color:rgb(var(--cc-alerteRouge-rgb) / .55);
  box-shadow:0 0 0 3px rgb(var(--cc-alerteRouge-rgb) / .14);
}
.cc-first-project-field__error{color:var(--cc-alerteRouge);font-size:10.5px;font-weight:750;min-height:1.1em;}
.cc-first-project-form__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.cc-first-project-submit{
  padding:10px 16px;border:0;border-radius:10px;cursor:pointer;
  background:linear-gradient(135deg,var(--cc-orDoux),var(--cc-orFort));
  color:var(--cc-encreSurAccent);font-size:13px;font-weight:900;
  box-shadow:0 10px 24px rgb(var(--cc-or-rgb) / .18);
}
.cc-first-project-submit:disabled{opacity:.55;cursor:wait;}
.cc-first-project-secondary{
  padding:9px 12px;border-radius:9px;cursor:pointer;
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.05 * var(--cc-ink-gain))));
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));
  color:var(--cc-texte);font-size:12px;font-weight:800;
}
.cc-first-project-form__status{font-size:11px;color:var(--cc-texteSecondaire);min-height:1.2em;}
@media (max-width:720px){
  .cc-first-project-empty{padding:20px 14px;}
  .cc-first-project-form__grid{grid-template-columns:1fr;}
  .cc-first-project-field--wide{grid-column:auto;}
  .cc-first-project-submit,.cc-first-project-secondary{width:100%;text-align:center;}
}
@media (prefers-contrast: more){
  .cc-first-project-empty{border-width:2px;}
  .cc-first-project-field input,.cc-first-project-field select{border-width:2px;}
  .cc-first-project-field__error{font-weight:900;}
}

/* Étape 8 — édition fiche portefeuille */
.cc-project-edit{
  margin:14px 0 18px;padding:16px 16px 14px;border-radius:12px;
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));
  background:rgb(var(--cc-ink-rgb) / min(1, calc(.03 * var(--cc-ink-gain))));
  display:flex;flex-direction:column;gap:10px;
}
.cc-project-edit h5{margin:0;font-size:13px;font-weight:850;color:var(--cc-texte);}
.cc-project-edit__hint,.cc-project-edit__footnote{margin:0;font-size:11.5px;line-height:1.55;color:var(--cc-texteFaible);max-width:70ch;}
.cc-project-edit__readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;}
.cc-project-edit__readonly dt{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--cc-texteFaible);}
.cc-project-edit__readonly dd{margin:2px 0 0;font-size:13px;font-weight:750;color:var(--cc-texte);}
.cc-project-edit-form{display:flex;flex-direction:column;gap:12px;}
.cc-project-edit-form__legend{font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-orFort);padding:0;margin:0 0 8px;}
.cc-project-edit-form__fields{border:0;margin:0;padding:0;min-width:0;}
.cc-project-edit-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;}
.cc-project-edit-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--cc-texteSecondaire);min-width:0;}
.cc-project-edit-field--wide{grid-column:1 / -1;}
.cc-project-edit-field input,
.cc-project-edit-field select{
  font:inherit;font-weight:650;color:var(--cc-texte);background:var(--cc-fondCarte, #fff);
  border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.18 * var(--cc-ink-gain))));
  border-radius:8px;padding:8px 10px;min-height:38px;
}
.cc-project-edit-field input[readonly]{opacity:.72;cursor:default;background:rgb(var(--cc-ink-rgb) / min(1, calc(.04 * var(--cc-ink-gain))));}
.cc-project-edit-field input:focus,
.cc-project-edit-field select:focus{outline:2px solid rgb(var(--cc-or-rgb) / .45);outline-offset:1px;}
.cc-project-edit-field input[aria-invalid="true"],
.cc-project-edit-field select[aria-invalid="true"]{border-color:var(--cc-alerteRouge);box-shadow:0 0 0 1px var(--cc-alerteRouge);}
.cc-project-edit-field__error{color:var(--cc-alerteRouge);font-size:10.5px;font-weight:750;min-height:1.1em;}
.cc-project-edit-form__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.cc-project-edit-submit{
  appearance:none;border:0;border-radius:8px;padding:9px 14px;font-weight:850;font-size:12px;cursor:pointer;
  background:rgb(var(--cc-vert-rgb) / .92);color:#fff;
}
.cc-project-edit-submit:disabled{opacity:.55;cursor:wait;}
.cc-project-edit-cancel{
  appearance:none;border-radius:8px;padding:9px 14px;font-weight:800;font-size:12px;cursor:pointer;
  background:transparent;border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.18 * var(--cc-ink-gain))));color:var(--cc-texte);
}
.cc-project-edit-form__status{font-size:11px;color:var(--cc-texteSecondaire);min-height:1.2em;}
@media (max-width:720px){
  .cc-project-edit{padding:14px 12px;}
  .cc-project-edit-form__grid,.cc-project-edit__readonly{grid-template-columns:1fr;}
  .cc-project-edit-field--wide{grid-column:auto;}
  .cc-project-edit-submit,.cc-project-edit-cancel{width:100%;text-align:center;}
}
@media (prefers-contrast: more){
  .cc-project-edit{border-width:2px;}
  .cc-project-edit-field input,.cc-project-edit-field select{border-width:2px;}
  .cc-project-edit-field__error{font-weight:900;}
}

/* Étape 10 — découverte portefeuille multi-projets */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.cc-portfolio-search-label{display:inline-flex;align-items:center;margin:0;}
.cc-portfolio-page-indicator{font-size:11px;font-weight:700;color:var(--cc-texteFaible);align-self:center;padding:0 6px;}
.cc-workspace-empty-state[data-portfolio-state] button{padding:7px 14px;border:1px solid rgb(var(--cc-or-rgb) / .35);border-radius:8px;background:rgb(var(--cc-or-rgb) / .14);color:var(--cc-orFort);font-size:12px;font-weight:800;cursor:pointer;}
.cc-workspace-empty-state[data-portfolio-state] button:focus-visible,.cc-workspace-portfolio-filters button:focus-visible,.cc-workspace-portfolio-meta input:focus-visible,.cc-workspace-portfolio-pagination button:focus-visible{outline:2px solid var(--cc-orFort);outline-offset:2px;}
@media (max-width:720px){
  .cc-workspace-portfolio-meta{margin-left:0;width:100%;flex-wrap:wrap;}
  .cc-workspace-portfolio-meta input{min-width:0;flex:1 1 160px;width:100%;}
}
