/* ══════════════════════════════════════════════════════════════════════════
   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%,rgba(214,169,79,.09),transparent 22%),linear-gradient(140deg,#03070D 0%,#07111D 50%,#08131F 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,rgba(9,19,32,.98),rgba(7,15,25,.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:rgba(214,169,79,.2);border-radius:2px;}
.cc-workspace-main{padding:14px 18px 32px;overflow-y:auto;min-height:100vh;background:transparent;}

/* ─── 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:rgba(214,169,79,.1);border:1px solid rgba(214,169,79,.22);border-radius:8px;padding:5px 9px;margin-bottom:6px;}
.cc-workspace-back{padding:6px 10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);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:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);}
.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 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:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08);}
.cc-workspace-nav button.is-active{background:linear-gradient(135deg,rgba(214,169,79,.14),rgba(255,255,255,.03));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:rgba(255,255,255,.38);letter-spacing:.04em;margin-bottom:4px;}
.cc-workspace-breadcrumb span{color:rgba(255,255,255,.65);}

/* ─── KPIs ───────────────────────────────────────────────────────────────── */
.cc-workspace-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;}
.cc-workspace-kpi{background:linear-gradient(180deg,rgba(18,32,50,.72),rgba(9,18,30,.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 rgba(214,169,79,.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 rgba(214,169,79,.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,rgba(18,32,50,.64),rgba(9,18,30,.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-card:hover{border-color:rgba(223,232,245,.18);}
.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,#A9792C,var(--cc-orFort));color:#0E0B06;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,rgba(214,169,79,.09),rgba(9,18,30,.8));}

/* ─── Alert banner ───────────────────────────────────────────────────────── */
.cc-workspace-alert-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(232,169,63,.14);border:1px solid rgba(232,169,63,.35);border-radius:10px;margin-bottom:10px;font-size:12px;font-weight:700;color:#e8a93f;}
.cc-workspace-alert-banner button{margin-left:auto;background:transparent;border:none;color:#e8a93f;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:rgba(240,107,94,.12);border-color:rgba(240,107,94,.35);color:var(--cc-alerteRouge);}

/* ─── Toast ──────────────────────────────────────────────────────────────── */
.cc-workspace-toast{position:fixed;bottom:24px;right:24px;z-index:9998;padding:11px 18px;background:linear-gradient(135deg,#0f1b2a,#142235);border:1px solid rgba(214,169,79,.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 rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);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:rgba(214,169,79,.14);border-color:rgba(214,169,79,.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:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:7px;color:var(--cc-texte);font-size:12px;outline:none;min-width:200px;}
.cc-workspace-portfolio-meta input::placeholder{color:rgba(255,255,255,.28);}
.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:rgba(66,166,106,.14);border-color:rgba(66,166,106,.3);color:#4caf7d;}
span.decision-a-fiabiliser{background:rgba(214,169,79,.14);border-color:rgba(214,169,79,.3);color:var(--cc-orFort);}
span.decision-reporte{background:rgba(180,180,180,.08);border-color:rgba(180,180,180,.18);color:rgba(255,255,255,.5);}
.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:rgba(255,255,255,.04);color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;}
.cc-workspace-portfolio-pagination button:hover{background:rgba(255,255,255,.08);}
.cc-workspace-portfolio-pagination button:disabled{opacity:.3;cursor:not-allowed;}

/* ─── Project cards ──────────────────────────────────────────────────────── */
.cc-workspace-project-card{background:linear-gradient(180deg,rgba(15,27,44,.82),rgba(8,16,28,.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:rgba(223,232,245,.2);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:rgba(96,165,250,.14);color:#93c5fd;}
.state-travaux{background:rgba(251,191,36,.14);color:#fbbf24;}
.state-termines{background:rgba(66,166,106,.14);color:#4ade80;}
.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:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin-bottom:2px;}
.cc-workspace-progress i{display:block;height:100%;background:linear-gradient(90deg,#A9792C,var(--cc-orFort));border-radius:999px;}
.cc-workspace-progress--travaux i{background:linear-gradient(90deg,#2563eb,#60a5fa);}
.cc-workspace-project-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--cc-texteFaible);}
.cc-workspace-project-meta span{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);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:rgba(66,166,106,.15);color:#4ade80;border:1px solid rgba(66,166,106,.25);}
.decision-a-fiabiliser{background:rgba(214,169,79,.12);color:var(--cc-orFort);border:1px solid rgba(214,169,79,.22);}
.decision-reporte{background:rgba(200,200,200,.07);color:rgba(255,255,255,.45);border:1px solid rgba(200,200,200,.12);}
.cc-workspace-project-auto-status{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;display:inline-block;}
.status-auto-valide{background:rgba(66,166,106,.1);color:#4ade80;}
.status-a-fiabiliser{background:rgba(214,169,79,.1);color:var(--cc-orFort);}
.status-bloquant{background:rgba(240,107,94,.12);color:var(--cc-alerteRouge);}
.cc-workspace-project-card button{margin-top:auto;padding:6px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:7px;color:var(--cc-texteSecondaire);font-size:11px;font-weight:700;cursor:pointer;}
.cc-workspace-project-card button:hover{background:rgba(214,169,79,.1);border-color:rgba(214,169,79,.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:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--cc-texteSecondaire);font-size:12px;font-weight:700;cursor:pointer;}
.cc-workspace-project-detail-card{background:linear-gradient(180deg,rgba(14,26,42,.9),rgba(8,16,28,.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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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 rgba(255,255,255,.08);border-radius:8px;font-size:11px;font-weight:700;color:rgba(255,255,255,.35);background:rgba(255,255,255,.03);}
.cc-workspace-project-timeline-steps span.is-done{background:rgba(66,166,106,.12);border-color:rgba(66,166,106,.28);color:#4ade80;}
.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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);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 rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.05);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:rgba(255,255,255,.08);}
.cc-workspace-quick-actions button[data-decision-action="retenu"].is-active{background:rgba(66,166,106,.18);border-color:rgba(66,166,106,.4);color:#4ade80;}
.cc-workspace-quick-actions button[data-decision-action="a-fiabiliser"].is-active{background:rgba(214,169,79,.18);border-color:rgba(214,169,79,.4);color:var(--cc-orFort);}
.cc-workspace-quick-actions button[data-decision-action="reporte"].is-active{background:rgba(200,200,200,.1);border-color:rgba(200,200,200,.22);color:rgba(255,255,255,.6);}
.cc-workspace-decision-note{font-size:11px;color:var(--cc-texteSecondaire);margin:6px 0 0;}
.cc-workspace-recheck-feedback{font-size:11px;color:var(--cc-confianceHaute);margin-top:6px;padding:6px 10px;background:rgba(66,166,106,.08);border:1px solid rgba(66,166,106,.18);border-radius:6px;}

/* ─── Anomalies ──────────────────────────────────────────────────────────── */
.cc-workspace-anomalies-panel{padding:12px;background:rgba(232,169,63,.06);border:1px solid rgba(232,169,63,.2);border-radius:10px;margin-top:10px;}
.cc-workspace-anomalies-panel h4{font-size:12px;font-weight:800;color:#e8a93f;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:rgba(214,169,79,.08);border:1px solid rgba(214,169,79,.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 rgba(214,169,79,.35);background:rgba(214,169,79,.1);color:var(--cc-orFort);}
.cc-workspace-scenario-banner>button[data-clear-scenario]{background:rgba(240,107,94,.1);border-color:rgba(240,107,94,.3);color:var(--cc-alerteRouge);}

/* ─── Catalogue & conformité ─────────────────────────────────────────────── */
.cc-catalogue-select{
  background:#0f1a2a;
  border:1px solid rgba(255,255,255,.16);
  border-radius:6px;
  color:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:700;
  padding:5px 28px 5px 8px;
  cursor:pointer;
  outline:none;
  color-scheme:dark;
}
.cc-catalogue-select:hover{border-color:rgba(214,169,79,.35);background:#132033;}
.cc-catalogue-select:focus{border-color:rgba(214,169,79,.55);box-shadow:0 0 0 2px rgba(214,169,79,.12);}
.cc-catalogue-select option{background:#0f1a2a;color:#f8fafc;}
.cc-catalogue-status-select{
  background:#101b2b;
  border-color:rgba(255,255,255,.18);
  font-size:10px;
  padding:3px 24px 3px 6px;
}
.cc-catalogue-status-select option{background:#0f1a2a;color:#f8fafc;}
.cc-catalogue-command-center{isolation:isolate;}
.cc-catalogue-command-grid button:hover{background:rgba(214,169,79,.08);border-color:rgba(214,169,79,.24);}
.cc-catalogue-list-shell{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  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 rgba(255,255,255,.06);
  background:rgba(5,13,23,.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:rgba(214,169,79,.36) rgba(255,255,255,.045);
  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:rgba(255,255,255,.04);border-radius:999px;}
.cc-catalogue-list::-webkit-scrollbar-thumb,.cc-catalogue-drill-host::-webkit-scrollbar-thumb{background:rgba(214,169,79,.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 rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
  scrollbar-color:rgba(214,169,79,.36) rgba(255,255,255,.045);
  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 rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(5,13,23,.72);
  padding:10px;
  scrollbar-color:rgba(214,169,79,.36) rgba(255,255,255,.045);
  scrollbar-width:thin;
}
.cc-catalogue-matrix-shell::-webkit-scrollbar{width:8px;height:8px;}
.cc-catalogue-matrix-shell::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px;}
.cc-catalogue-matrix-shell::-webkit-scrollbar-thumb{background:rgba(214,169,79,.38);border-radius:999px;}
.cc-catalogue-matrix-legend{
  position:sticky;
  top:0;
  z-index:4;
  padding:0 0 8px;
  background:linear-gradient(180deg,rgba(5,13,23,.98),rgba(5,13,23,.84));
  font-size:10px;
}
.cc-catalogue-matrix-legend span{color:rgba(255,255,255,.35);}
.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:#0f1a16;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.48);
  font-family:ui-monospace,monospace;
  white-space:nowrap;
}
.cc-catalogue-matrix td{border-bottom:1px solid rgba(255,255,255,.04);}
.cc-catalogue-matrix .cc-catalogue-matrix-building{
  position:sticky;
  left:0;
  z-index:2;
  min-width:230px;
  max-width:260px;
  background:#0f1a16;
  padding:6px 9px;
  color:rgba(255,255,255,.78);
  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:rgba(255,255,255,.14);padding:5px 7px;}
.cc-catalogue-matrix-cell{text-align:center;cursor:pointer;padding:5px 7px;}
.cc-catalogue-matrix-cell:hover{background:rgba(214,169,79,.08);}
.cc-catalogue-matrix-cell span{display:inline-block;width:14px;height:14px;border-radius:4px;}
.cc-catalogue-card-focus{outline:2px solid rgba(214,169,79,.78)!important;box-shadow:0 0 0 4px rgba(214,169,79,.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:rgba(66,166,106,.1);border:1px solid rgba(66,166,106,.25);color:#4ade80;}
.cc-workspace-scenarios-actions button[data-scenario-kind="vert"].is-active{background:rgba(66,166,106,.2);border-color:#4ade80;box-shadow:0 0 16px rgba(66,166,106,.2);}
.cc-workspace-scenarios-actions button[data-scenario-kind="equilibre"]{background:rgba(214,169,79,.1);border:1px solid rgba(214,169,79,.25);color:var(--cc-orFort);}
.cc-workspace-scenarios-actions button[data-scenario-kind="equilibre"].is-active{background:rgba(214,169,79,.2);border-color:var(--cc-orFort);box-shadow:0 0 16px rgba(214,169,79,.2);}
.cc-workspace-scenarios-actions button[data-scenario-kind="prudent"]{background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.25);color:#60a5fa;}
.cc-workspace-scenarios-actions button[data-scenario-kind="prudent"].is-active{background:rgba(96,165,250,.2);border-color:#60a5fa;box-shadow:0 0 16px rgba(96,165,250,.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:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:7px;color:var(--cc-texte);padding:5px 8px;font-size:12px;outline:none;}
.cc-workspace-scenarios-targeting button{padding:5px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);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,#A9792C,var(--cc-orFort));color:#0E0B06;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:rgba(255,255,255,.1);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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);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:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);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:rgba(255,255,255,.04);}
.cc-workspace-scenarios-selection-list input[type="checkbox"]{accent-color:var(--cc-or);}

/* ─── 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;}
.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);}
.cc-workspace-territory-insight-grid{display:flex;flex-direction:column;gap:6px;}
.cc-workspace-territory-insight-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;}
.cc-workspace-territory-priority-list h4{font-size:11px;font-weight:800;color:var(--cc-texte);margin:0;}
.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:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);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(#c9a227 0% 25%,#3b82f6 25% 53%,#8b5cf6 53% 73%,#22c55e 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:#c9a227;box-shadow:0 0 6px #c9a227;}
.dot.b{background:#3b82f6;box-shadow:0 0 6px #3b82f6;}
.dot.c{background:#8b5cf6;box-shadow:0 0 6px #8b5cf6;}
.dot.d{background:#22c55e;box-shadow:0 0 6px #22c55e;}
.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:rgba(214,169,79,.08);border:1px solid rgba(214,169,79,.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-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:rgba(66,166,106,.12);color:#4ade80;}
.risk-modere{background:rgba(214,169,79,.12);color:var(--cc-orFort);}
.risk-eleve{background:rgba(251,146,60,.14);color:#fb923c;}
.risk-tres{background:rgba(240,107,94,.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,rgba(214,169,79,.1),rgba(214,169,79,.06));border:1px solid rgba(214,169,79,.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,rgba(214,169,79,.2),rgba(214,169,79,.12));box-shadow:0 0 20px rgba(214,169,79,.12);}
.cc-workspace-exports-status{padding:12px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);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){
  .cc-workspace-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;}
  .cc-workspace-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--cc-bordureDouce);}
  .cc-workspace-nav{flex-direction:row;flex-wrap:wrap;}
  .cc-workspace-nav button{flex-direction:row;align-items:center;gap:6px;padding:6px 10px;}
  .cc-workspace-nav-sub{display:none;}
  .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-territory-layout{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:#e2e8f0!important;}
  .cc-workspace-kpi{background:#f8fafc!important;border-color:#e2e8f0!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;}
}
