/* ============================================================
   Page BRIEFING — briefing quotidien de l'Assistant IA (doc/PLAN_ASSISTANT_IA_V2_PHASE2.md)
   Charte : en-tête h1 16pt --main-bg-color, cartes blanches arrondies, boutons 5px 14px (pilotage / impayés)
   ============================================================ */
.page_briefing {
  --brf-line: #e0e0e0;
  --brf-muted: #888;
  --brf-alerte: #e53935;
  padding: 18px 22px 30px;
  text-align: left;
  min-height: calc(100vh - 60px);
  max-width: 1400px;
  margin: 0 auto;
}
[v-cloak] { display: none; }

/* === Header === */
.brf-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.brf-header h1 { margin: 0; font-size: 16pt; color: var(--main-bg-color); text-align: left; }
.brf-header h1 .fa { margin-right: 6px; }
.brf-sub { color: var(--brf-muted); font-size: 8.5pt; margin-top: 2px; }
.brf-header-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.brf-modes { display: inline-flex; border: 1px solid #ccc; border-radius: 6px; overflow: hidden; }
.brf-modes .brf-btn { border: 0; border-radius: 0; }
.page_briefing .brf-btn {
  padding: 5px 14px; border: 1px solid #ccc; border-radius: 6px; background: #f5f5f5; color: #333; cursor: pointer;
  font-size: 9pt; display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
}
.page_briefing .brf-btn-actif { background: var(--main-bg-color); color: #fff; }
.page_briefing .brf-btn-primary { background: var(--main-bg-color); border-color: var(--main-bg-color); color: #fff; }
.page_briefing .brf-btn:disabled { opacity: 0.6; cursor: wait; }
.page_briefing .brf-date { padding: 4px 8px; border: 1px solid #ccc; border-radius: 6px; font-size: 9pt; }

/* === Bandeaux === */
.brf-bandeau { padding: 8px 12px; border-radius: 6px; font-size: 9pt; margin-bottom: 10px; display: flex; gap: 8px; align-items: center; }
.brf-bandeau-err { background: #fdecea; color: #b71c1c; }
.brf-bandeau-warn { background: #fff3e0; color: #e65100; }
.brf-bandeau-info { background: #e3f2fd; color: #0d47a1; }

/* === Mise en page === */
.brf-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.brf-card { background: #fff; border-radius: 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.08); padding: 16px 20px; }
.brf-vide { color: var(--brf-muted); text-align: center; padding: 40px 20px; font-size: 10pt; }
.brf-vide .brf-btn { margin-top: 10px; }

/* === Texte du briefing (Markdown assaini) === */
.brf-texte { font-size: 10.5pt; line-height: 1.55; }
.brf-texte h1, .brf-texte h2 { font-size: 13pt; color: var(--main-bg-color); margin: 0 0 10px; }
.brf-texte h3 { font-size: 11pt; margin: 16px 0 6px; padding-bottom: 3px; border-bottom: 1px solid var(--brf-line); color: #333; }
.brf-texte h3:first-child { margin-top: 0; }
.brf-texte ul { margin: 4px 0 8px 18px; padding: 0; }
.brf-texte li { margin: 3px 0; }
.brf-texte p { margin: 6px 0; }
.brf-texte table { border-collapse: collapse; margin: 6px 0; text-align: left; }
.brf-texte td, .brf-texte th { border: 1px solid var(--brf-line); padding: 3px 8px; font-size: 9.5pt; }
.brf-texte a.brf-lien-ticket { color: var(--main-bg-color); font-weight: 600; text-decoration: none; border-bottom: 1px dotted currentColor; }
.brf-texte a.brf-lien-ticket:hover { text-decoration: underline; }

/* === Colonne des faits === */
.brf-aside { display: flex; flex-direction: column; gap: 12px; }
.brf-aside .brf-card { padding: 12px 14px; }
.brf-aside-titre { font-size: 9.5pt; font-weight: 600; color: #555; margin-bottom: 8px; display: flex; gap: 6px; align-items: center; }
.brf-fait { display: flex; align-items: baseline; gap: 8px; padding: 3px 0; font-size: 9.5pt; }
.brf-fait-val { min-width: 34px; font-size: 14pt; font-weight: 700; color: var(--main-bg-color); text-align: right; }
.brf-fait-val.brf-fait-alerte { color: var(--brf-alerte); }
.brf-fait-lib { color: #444; }
.brf-aside-note { font-size: 8.5pt; color: var(--brf-alerte); margin-top: 6px; }
.brf-ticket { display: flex; gap: 8px; align-items: center; padding: 5px 0; border-top: 1px solid #f0f0f0; font-size: 9pt; color: #333; text-decoration: none; }
.brf-ticket:first-of-type { border-top: 0; }
.brf-ticket:hover { background: #fafafa; }
.brf-ticket-id { font-weight: 700; color: var(--main-bg-color); min-width: 42px; }
.brf-ticket-txt { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brf-ticket-sujet { color: var(--brf-muted); }
.brf-ticket-badge { background: var(--brf-alerte); color: #fff; border-radius: 10px; padding: 0 7px; font-size: 8pt; font-weight: 700; }
.brf-rdv { display: flex; gap: 8px; padding: 4px 0; font-size: 9pt; border-top: 1px solid #f0f0f0; }
.brf-rdv:first-of-type { border-top: 0; }
.brf-rdv-heure { font-weight: 700; min-width: 42px; color: var(--main-bg-color); }
.brf-aside-pied { font-size: 8pt; color: var(--brf-muted); padding: 0 4px; }

/* === Responsive (jamais hors @media) === */
@media (max-width: 992px) {
  .page_briefing { padding: 12px 12px 24px; }
  .brf-layout { grid-template-columns: minmax(0, 1fr); }
  .brf-header-actions { width: 100%; }
}
@media (max-width: 768px) {
  .brf-header h1 { font-size: 13pt; }
  .brf-card { padding: 12px 14px; }
  .brf-texte { font-size: 10pt; }
  .brf-header-actions .brf-btn-primary { flex: 1; justify-content: center; }
}
