/* LinkedIn Format Pro - Trames de posts et compteur de caractères (complète tools.css et stats.css) */
.tp-lead { margin: 0 0 var(--space-md); color: var(--text-secondary); line-height: var(--line-height-relaxed); }
.tp-lead a { color: var(--color-primary-text); font-weight: 600; }
.tp-list { list-style: none; margin: 0 0 var(--space-lg); padding: 0; display: grid; gap: var(--space-md); }
@media (min-width: 901px) { .tp-list { grid-template-columns: 1fr 1fr; align-items: start; } }
.tp-card { border: 1px solid var(--border-light); border-radius: var(--radius-lg); background: var(--color-white); padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); min-width: 0; }
.tp-head h3 { margin: var(--space-xxs) 0 0; font-size: var(--font-size-lg); line-height: var(--line-height-tight); color: var(--text-primary); }
.tp-cat { display: inline-block; font-size: var(--font-size-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--color-primary-text); background: var(--color-primary-bg); border-radius: var(--radius-full); padding: 2px var(--space-sm); }
.tp-text { margin: 0; padding: var(--space-sm); white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); color: var(--text-primary); background: var(--bg-secondary); border: 1px solid var(--border-light); border-radius: var(--radius-md); }
.tp-text:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.tp-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.tp-actions .btn { min-height: 44px; padding: 0 var(--space-md); }

.cc-wrap { display: grid; gap: var(--space-sm); }
.cc-select { width: 100%; box-sizing: border-box; min-height: 44px; padding: 0 var(--space-sm); font: inherit; border: 1px solid var(--border-medium); border-radius: var(--radius-md); background: var(--color-white); color: var(--text-primary); }
.cc-text { width: 100%; box-sizing: border-box; min-height: 200px; padding: var(--space-sm); font: inherit; line-height: var(--line-height-relaxed); border: 1px solid var(--border-medium); border-radius: var(--radius-md); background: var(--color-white); color: var(--text-primary); resize: vertical; }
.cc-text:focus-visible, .cc-select:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.cc-meter { height: 12px; border-radius: var(--radius-full); background: var(--bg-tertiary); overflow: hidden; }
.cc-bar { height: 100%; width: 0; background: var(--color-primary); transition: width var(--transition-fast); }
.cc-bar.is-near { background: var(--color-warning); }
.cc-bar.is-over { background: var(--color-danger); }
.cc-status { margin: 0; font-weight: 700; color: var(--text-primary); }
.cc-status.is-over { color: var(--color-danger); }
.cc-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); color: var(--text-secondary); font-size: var(--font-size-sm); }
.cc-table-wrap { overflow-x: auto; margin-bottom: var(--space-md); }
.cc-table { width: 100%; border-collapse: collapse; font-size: var(--font-size-sm); }
.cc-table th, .cc-table td { text-align: left; padding: var(--space-xs) var(--space-sm); border-bottom: 1px solid var(--border-light); }
.cc-table th { color: var(--text-secondary); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .cc-bar { transition: none; } }
