/* ══════════════════════════════════════════════════════════════════════════
   ColConnect — Typography Boost
   Lisibilité optimisée pour élus et DGS : taille, contraste, hiérarchie
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── Base font improvements ─────────────────────────────────────────────── */
html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;}

/* ─── Better heading hierarchy ───────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;font-feature-settings:"ss01" 1;}

/* ─── Workspace typography improvements ──────────────────────────────────── */
.cc-workspace-main h2,.cc-workspace-title{font-size:16px;font-weight:850;letter-spacing:-.02em;line-height:1.25;}
.cc-workspace-main h3{font-size:13px;font-weight:800;line-height:1.35;}
.cc-workspace-main h4{font-size:12px;font-weight:750;line-height:1.4;}
.cc-workspace-main h5{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;}
.cc-workspace-main p{font-size:13px;line-height:1.7;color:var(--cc-texteSecondaire);}

/* ─── KPI values: bigger and clearer ─────────────────────────────────────── */
.cc-workspace-kpi-value,.cc-workspace-kpi strong{font-size:26px!important;font-weight:900!important;letter-spacing:-.05em!important;}
.cc-portal-stat-value{font-size:34px!important;font-weight:900!important;}

/* ─── Better readability for nav labels ──────────────────────────────────── */
.cc-workspace-nav-title{font-size:12.5px!important;font-weight:750!important;}
.cc-workspace-nav-sub{font-size:10.5px!important;}

/* ─── Card text: better line height ─────────────────────────────────────────*/
.cc-workspace-card p{font-size:12.5px!important;line-height:1.65!important;}
.cc-workspace-card h3{font-size:13.5px!important;}

/* ─── Table readability ──────────────────────────────────────────────────── */
table td,table th{font-size:12.5px;}

/* ─── Status / decision badge clarity ───────────────────────────────────── */
.cc-workspace-project-decision-badge{font-size:10.5px!important;padding:3px 10px!important;}
.cc-workspace-project-auto-status{font-size:10.5px!important;}

/* ─── Portal: bigger hero for élus ──────────────────────────────────────── */
.cc-portal-hero h1{font-size:46px!important;line-height:.98!important;}
.cc-portal-hero p{font-size:17px!important;line-height:1.8!important;}
.cc-portal-action h3{font-size:18px!important;font-weight:850!important;}
.cc-portal-action p{font-size:14.5px!important;line-height:1.72!important;}

/* ─── Accent: important numbers in gold ──────────────────────────────────── */
strong.cc-accent{color:var(--cc-orFort)!important;}
.cc-text-critical{color:var(--cc-alerteRouge)!important;font-weight:800!important;}
.cc-text-success{color:var(--cc-confianceHaute)!important;font-weight:800!important;}
.cc-text-warn{color:var(--cc-confiancePartielle)!important;font-weight:800!important;}

/* ─── Better breadcrumb ──────────────────────────────────────────────────── */
.cc-workspace-breadcrumb{font-size:11px!important;letter-spacing:.05em!important;}

/* ─── "Aide" tooltip system ──────────────────────────────────────────────── */
.cc-help-btn{width:18px;height:18px;border-radius:50%;background:rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.14 * var(--cc-ink-gain))));color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));font-size:10px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,color .18s;flex-shrink:0;margin-left:6px;vertical-align:middle;}
.cc-help-btn:hover{background:rgb(var(--cc-or-rgb) / .15);border-color:rgb(var(--cc-or-rgb) / .35);color:var(--cc-orFort);}
.cc-help-panel{margin-top:10px;padding:12px 14px;background:rgb(var(--cc-or-rgb) / .06);border:1px solid rgb(var(--cc-or-rgb) / .2);border-radius:10px;font-size:11.5px;color:var(--cc-texteSecondaire);line-height:1.65;}
.cc-help-panel strong{color:var(--cc-orFort);}

/* ─── "Prochaine étape" guide strip ──────────────────────────────────────── */
.cc-next-step-strip{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgb(var(--cc-bleu-rgb) / .07);border:1px solid rgb(var(--cc-bleu-rgb) / .2);border-radius:10px;font-size:12px;font-weight:700;color:var(--cc-bleu);margin-bottom:10px;}
.cc-next-step-strip span{flex:1;}
.cc-next-step-strip button{padding:5px 12px;background:rgb(var(--cc-bleu-rgb) / .14);border:1px solid rgb(var(--cc-bleu-rgb) / .28);border-radius:7px;color:var(--cc-bleu);font-size:11px;font-weight:800;cursor:pointer;}

/* ─── Recommendation card ─────────────────────────────────────────────────── */
.cc-recommendation{padding:14px 16px;background:linear-gradient(135deg,rgb(var(--cc-confianceHaute-rgb) / .1),rgb(var(--cc-confianceHaute-rgb) / .06));border:1px solid rgb(var(--cc-confianceHaute-rgb) / .28);border-radius:12px;display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.cc-recommendation-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--cc-vert);}
.cc-recommendation-title{font-size:14px;font-weight:850;color:var(--cc-texte);}
.cc-recommendation-text{font-size:12px;color:var(--cc-texteSecondaire);line-height:1.6;}

/* ─── Keyboard shortcuts panel ───────────────────────────────────────────── */
.cc-shortcuts-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9997;display:flex;align-items:center;justify-content:center;}
.cc-shortcuts-panel{background:linear-gradient(180deg,var(--cc-panneau),var(--cc-fond));border:1px solid rgb(var(--cc-or-rgb) / .4);border-radius:18px;padding:28px 32px;max-width:480px;width:92%;color:var(--cc-texte);}
.cc-shortcuts-panel h3{margin:0 0 18px;font-size:16px;color:var(--cc-orFort);font-weight:850;letter-spacing:-.02em;}
.cc-shortcut-row{display:flex;align-items:center;gap:14px;padding:7px 0;border-bottom:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.06 * var(--cc-ink-gain))));font-size:13px;}
.cc-shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:3px 8px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.08 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.16 * var(--cc-ink-gain))));border-radius:5px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;color:var(--cc-texte);}
.cc-shortcut-label{color:var(--cc-texteSecondaire);}
.cc-shortcuts-close{margin-top:18px;width:100%;padding:10px;background:rgb(var(--cc-ink-rgb) / min(1, calc(.07 * var(--cc-ink-gain))));border:1px solid rgb(var(--cc-ink-rgb) / min(1, calc(.12 * var(--cc-ink-gain))));border-radius:9px;color:var(--cc-texteSecondaire);font-size:13px;font-weight:700;cursor:pointer;}

/* ─── "Quick insight" strip above each panel ──────────────────────────────── */
.cc-quick-insight{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 14px;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:9px;margin-bottom:10px;font-size:12px;color:var(--cc-texteSecondaire);}
.cc-quick-insight strong{color:var(--cc-texte);font-weight:750;}
.cc-quick-insight .sep{color:rgb(var(--cc-ink-rgb) / min(1, calc(0.62 * var(--cc-ink-gain))));}

/* ─── KPI trust/source line: visible enough for collectivité reading ─────── */
.cc-workspace-kpi span{
  font-size:15px!important;
  line-height:1.45!important;
  color:rgb(var(--cc-ink-rgb) / min(1, calc(.78 * var(--cc-ink-gain))))!important;
}

/* ─── Print improvements ─────────────────────────────────────────────────── */
@media print{
  body{font-size:12pt!important;color:#0f172a!important;background:#fff!important;}
  h1,h2,h3{color:#0f172a!important;}
  .cc-workspace-kpi strong,.cc-workspace-kpi-value{color:#0f172a!important;}
  .cc-workspace-card p{color:#334155!important;}
  a{color:#1e40af!important;}
}
