/* Report Builder (Phase 1 — MVP) */
.rb-overlay{position:fixed;inset:0;z-index:1000;background:rgba(34,31,23,.55);display:flex;align-items:stretch;justify-content:center;padding:24px}
.rb-modal{background:#F1EADC;border-radius:12px;width:min(1280px,100%);display:flex;flex-direction:column;box-shadow:0 12px 48px rgba(0,0,0,.3);overflow:hidden}

.rb-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #D9C18A;background:#FAF7F0}
.rb-title-input{flex:0 1 360px;font-family:'Cormorant Garamond',Georgia,serif;font-size:18px}
.rb-spacer{flex:1}
/* croix de fermeture bien visible (bouton rond, rouge au survol) */
.rb-bar .rb-close{
  width:36px;height:36px;flex:0 0 auto;margin-left:6px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:22px;line-height:1;border-radius:50%;cursor:pointer;
  border:1.5px solid #C9B176;background:#fff;color:#221F17;transition:background .15s,color .15s,border-color .15s;
}
.rb-bar .rb-close:hover{background:#a23b22;border-color:#a23b22;color:#fff}

.rb-cols{display:grid;grid-template-columns:240px 1fr 280px;flex:1;min-height:0}
.rb-pane{overflow-y:auto;padding:14px 16px}
.rb-sources{border-right:1px solid #E2D6B8}
.rb-inspector{border-left:1px solid #E2D6B8;background:#FBF7EF}
.rb-pane h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#8a8270;margin-bottom:12px}
.rb-muted{color:#a89f8a;font-size:13px;font-style:italic}

/* sources */
.rb-src{background:#FAF7F0;border:1px solid #E2D6B8;border-radius:8px;padding:10px;margin-bottom:10px}
.rb-src-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.rb-src-name{font-weight:600;font-size:13px}
.rb-del-src,.rb-del-widget{border:none;background:none;color:#b5907f;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.rb-del-src:hover,.rb-del-widget:hover{color:#a23b22}
.rb-src-sheet{font-size:11px;color:#8a8270}
.rb-src-sheet-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0}
.rb-src-sheet-row .btn{font-size:10px;padding:2px 7px}
.rb-sheet-sel{margin:6px 0;font-size:12px;padding:4px 6px}
.rb-cols-list{list-style:none;margin:6px 0 0;max-height:160px;overflow-y:auto}
.rb-col{display:flex;justify-content:space-between;gap:6px;font-size:12px;padding:3px 6px;border-radius:4px}
.rb-col em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.rb-col-number{background:rgba(187,152,77,.14)}
.rb-col-date{background:rgba(90,122,139,.14)}
.rb-col-text{background:rgba(122,139,111,.12)}

/* canvas / widgets */
.rb-widgets{display:flex;flex-direction:column;gap:10px}
.rb-widgets-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.rb-canvas-empty{text-align:center;padding:40px 0}
.rb-canvas-actions{display:flex;gap:8px;margin-top:12px}
/* sections */
.rb-section{border:1px dashed #D9C18A;border-radius:10px;padding:10px 12px 12px}
.rb-section-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.rb-section-title{flex:1;font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;font-weight:600}
.rb-del-section{border:none;background:none;color:#b5907f;cursor:pointer;font-size:18px;line-height:1;padding:0 4px;flex:0 0 auto}
.rb-del-section:hover{color:#a23b22}
.rb-section-empty{text-align:center;padding:18px 0;font-size:12px}
.rb-widget{grid-column:span 6;background:#FAF7F0;border:1px solid #D9C18A;border-radius:10px;padding:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.rb-widget.is-selected{border-color:#BB984D;box-shadow:0 0 0 2px rgba(187,152,77,.3)}
.rb-widget-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.rb-widget-title{font-size:12px;font-weight:600}
.rb-widget-body{height:200px;position:relative}
.rb-widget-h-compact .rb-widget-body{height:130px}
.rb-widget-h-tall .rb-widget-body{height:320px}
.rb-widget-h-xtall .rb-widget-body{height:440px}
.rb-mini-empty,.rb-mini-err{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;text-align:center;padding:8px}
.rb-mini-empty{color:#b5ad9a;font-style:italic}
.rb-mini-err{color:#a23b22}

.rb-kpi{display:flex;flex-direction:column;justify-content:center;height:100%}
.rb-kpi-value{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:600;color:#BB984D;line-height:1}
.rb-kpi-label{font-size:11px;color:#8a8270;margin-top:6px;text-transform:uppercase;letter-spacing:.08em}
.rb-table-wrap{max-height:100%;overflow:auto}
.rb-table{width:100%;border-collapse:collapse;font-size:11px}
.rb-table th{position:sticky;top:0;background:#221F17;color:#FAF7F0;text-align:left;padding:5px 8px;font-size:10px;text-transform:uppercase}
.rb-table td{padding:4px 8px;border-bottom:1px solid #E7DCC2}
.rb-table td.num{text-align:right;font-variant-numeric:tabular-nums}

/* sélecteur de feuille à l'import */
.rb-sheet-card{width:min(460px,100%);max-height:80vh;display:flex;flex-direction:column}
.rb-sheet-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;margin:12px 0}
.rb-sheet-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 14px;border:1px solid #D9C18A;border-radius:8px;background:#FAF7F0;cursor:pointer;font-size:14px;font-weight:500;color:#221F17}
.rb-sheet-btn:hover{border-color:#BB984D;background:#FBF7EF}
.rb-sheet-btn em{font-style:normal;font-size:11px;color:#8a8270;white-space:nowrap}

/* inspector */
.rb-ai{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed #D9C18A}
.rb-ai-input{resize:vertical;font-size:12px;line-height:1.35}
.rb-field{display:block;margin-bottom:12px}
.rb-field-label{display:block;font-size:11px;color:#6b6354;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.rb-field .input{width:100%}
.rb-metrics{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.rb-metric-row{display:flex;gap:6px;align-items:center}
.rb-metric-row .rb-mm{flex:1;min-width:0}
.rb-del-metric{border:none;background:none;color:#b5907f;cursor:pointer;font-size:15px;line-height:1;padding:0 2px;flex:0 0 auto}
.rb-del-metric:hover{color:#a23b22}
.rb-check{display:flex;align-items:center;gap:6px;font-size:12px;color:#3a352a;margin:2px 0 12px;cursor:pointer}
.rb-add-metric{margin-bottom:10px}
.rb-fmt-row{display:flex;gap:6px;margin-bottom:10px}
.rb-fmt-row .input{flex:1;min-width:0}
.rb-hint{font-size:11px;color:#8a8270;font-style:italic;margin:-4px 0 12px;line-height:1.35}

/* status */
.rb-error{padding:10px 16px;background:#fdeceA;color:#a23b22;font-size:13px;border-top:1px solid #f0c8bd}
.rb-error.rb-ok{background:#eef6ec;color:#3a6b34;border-top-color:#cfe6c9}

@media(max-width:900px){.rb-cols{grid-template-columns:1fr}.rb-sources,.rb-inspector{border:none;border-bottom:1px solid #E2D6B8}.rb-widget{grid-column:span 12 !important}}

/* bouton d'entrée dans la carte artefact (admin) */
.art-rb-entry{margin:8px 0 4px}
.art-rb-beta{margin-left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:#BB984D;color:#fff;padding:1px 6px;border-radius:8px;vertical-align:middle}

/* ---- Template Binding (spec05, Phase 3) — réutilise rb-overlay/rb-modal/rb-pane ---- */
.tb-h{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;color:#221F17}
.tb-gate{padding:28px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;max-width:560px}
.tb-gate p{color:#5b5443;line-height:1.5}
.tb-tpl-info{font-size:12px;color:#8a8270}
.tb-reimport-label,.tb-import-label{display:inline-block;cursor:pointer}
.tb-slots{display:flex;flex-direction:column;gap:12px}
.tb-slot{display:block;background:#FAF7F0;border:1px solid #E2D6B8;border-radius:10px;padding:12px}
.tb-slot-label{flex:1;font-weight:600}
.tb-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}
.tb-frame{width:100%;height:340px;border:1px solid #E2D6B8;border-radius:8px;background:#fff}
.tb-cand-list{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;margin:8px 0}
.tb-cand{display:flex;gap:8px;align-items:flex-start;padding:6px 4px;font-size:13px}
.tb-cand code{background:#EFE7D5;padding:1px 5px;border-radius:4px}
.tb-cand em{color:#8a8270;font-style:italic}
.rb-error.rb-ok{color:#2f6b3a}

/* Repère visualisation : distinguer câblage template vs dashboard générique */
.art-rb-hint{font-size:11px;color:#8a8270;margin:4px 0 0;font-style:italic}

/* Section "Brancher sur le template" dans l'inspecteur (intégration câblage) */
.rb-bind-head{margin-top:16px;padding-top:12px;border-top:1px dashed #D9C18A;color:#BB984D}

/* Aperçu du template rempli (avant publication) */
.rb-preview-overlay{z-index:1100}
.rb-preview-modal{width:min(1400px,100%);height:90vh}
.rb-preview-frame{flex:1;width:100%;border:0;background:#fff}

/* Éditeur de champs de série (calcul par champ : ratio, cumul, moyenne mobile) */
.rb-sfields{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.rb-sfield{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px;background:#FAF7F0;border:1px solid #E2D6B8;border-radius:6px}
.rb-sfield .input{font-size:11px;padding:4px 6px;flex:1;min-width:78px}
.rb-del-sfield{border:none;background:none;color:#b5907f;cursor:pointer;font-size:15px;line-height:1;flex:0 0 auto}
.rb-del-sfield:hover{color:#a23b22}

/* Écran de chargement (mapping auto à l'import) */
.rb-loading{display:flex;align-items:center;justify-content:center}
.rb-loading-box{text-align:center;color:#5b5443;padding:48px}
.rb-loading-box p{margin-top:16px;font-size:14px}
.rb-spinner{width:40px;height:40px;margin:0 auto;border:3px solid #E2D6B8;border-top-color:#BB984D;border-radius:50%;animation:rb-spin 0.8s linear infinite}
@keyframes rb-spin{to{transform:rotate(360deg)}}

/* Comparaison N-1 sous la valeur d'une tuile KPI (s'ajoute, n'écrase pas) */
.rb-kpi-comp{font-size:11px;margin-top:6px;color:#8a8270;line-height:1.3}
.rb-kpi-comp-val{font-weight:600;color:#5b5443}
.rb-kpi-comp-pct{margin-left:4px;font-weight:700}
.rb-kpi-comp.up .rb-kpi-comp-pct{color:#2f6b3a}
.rb-kpi-comp.down .rb-kpi-comp-pct{color:#a23b22}

/* Bouton dupliquer une carte */
.rb-dup-widget{border:none;background:none;color:#8a8270;cursor:pointer;font-size:13px;line-height:1;padding:0 4px}
.rb-dup-widget:hover{color:#BB984D}

/* Suggestions de cartes (IA) */
.rb-sugg-list{display:flex;flex-direction:column;gap:6px;margin:10px 0;max-height:380px;overflow:auto}
.rb-sugg{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid #E2D6B8;border-radius:8px;background:#FAF7F0;cursor:pointer;width:100%}
.rb-sugg:hover{border-color:#BB984D;background:#FBF7EF}
.rb-sugg.is-added{opacity:.5}
.rb-sugg-type{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8a8270;background:#EFE7D5;padding:2px 7px;border-radius:10px;white-space:nowrap}
.rb-sugg-title{flex:1;font-size:13px;color:#221F17}
.rb-sugg-add{color:#BB984D;font-weight:700;font-size:16px}
