/* ==========================================================================
   skb-ui.thinkbox.css — THEME ThinkBox (local au Hub, NON synchronise).
   Charge APRES skb-ui.core.css. Couleurs d'agents + artefacts flow/devis/figures.
   Extrait du core en Phase B (2026-07-06) — le core ne porte que le chassis neutre.
   ========================================================================== */
:root{ --auto:oklch(0.78 0.12 220); --auto-weak:oklch(0.78 0.12 220 / 0.16); --auto-ink:oklch(0.83 0.11 220); --devis:oklch(0.72 0.16 292); --devis-weak:oklch(0.72 0.16 292 / 0.16); --devis-ink:oklch(0.81 0.13 292); --copilote:oklch(0.83 0.15 85); --copilote-weak:oklch(0.83 0.15 85 / 0.16); --copilote-ink:oklch(0.87 0.13 85); }

:root[data-theme=light]{ --auto-weak:oklch(0.92 0.05 220); --auto-ink:oklch(0.45 0.12 233); --devis-weak:oklch(0.94 0.045 292); --devis-ink:oklch(0.48 0.20 292); --copilote-weak:oklch(0.93 0.07 85); --copilote-ink:oklch(0.47 0.11 74); }

.scard.a-auto .ic{background:var(--auto-weak);color:var(--auto-ink)}

.scard.a-devis .ic{background:var(--devis-weak);color:var(--devis-ink)}

.scard.a-copilote .ic{background:var(--copilote-weak);color:var(--copilote-ink)}

.agentchips{display:flex;gap:8px;flex:1;flex-wrap:wrap}

.chip{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 13px;transition:.13s;white-space:nowrap}

.chip:hover{color:var(--ink);border-color:var(--line-strong)}

.chip.sel[data-agent=automatisation]{border-color:var(--auto);background:var(--auto-weak);color:var(--auto-ink)}

.chip.sel[data-agent=devis]{border-color:var(--devis);background:var(--devis-weak);color:var(--devis-ink)}

.chip.sel[data-agent=copilote]{border-color:var(--copilote);background:var(--copilote-weak);color:var(--copilote-ink)}

.agentpick{display:none}

/* Citations RAG (Copilote) — chips repliés « 📎 n sources » : l'argument « réponses ancrées » à l'écran. */
.sources{margin-top:10px;font-size:12.5px}
.sources summary{cursor:pointer;color:var(--muted);list-style:none;display:inline-flex;align-items:center;gap:6px;padding:3px 2px;user-select:none}
.sources summary::-webkit-details-marker{display:none}
.sources summary:hover{color:var(--ink)}
.sources[open] summary{color:var(--ink);font-weight:600}
.src-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.src-chip{font-size:11.5px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 9px}
/* Provenance U8 : origine + péremption dans la citation (tokens thème jour/nuit). */
.src-orig{margin-left:6px;color:var(--muted);font-style:italic}
.src-until{margin-left:6px;color:var(--muted);font-size:10.5px}
.src-stale{margin-left:6px;color:var(--warn-ink);font-weight:700;font-size:10.5px}
.src-chip.stale{border-color:var(--warn-ink)}

/* P3 — rendu des chiffres déterministes (kind:'data') : phrase + tableaux figures, thème jour/nuit */

.figures{margin-top:11px}

.figper{font-size:11.5px;color:var(--muted);margin-bottom:7px}

.figtbl-wrap{margin:9px 0;max-width:100%;overflow-x:auto}

.figtbl-t{font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-bottom:4px}

.figtbl{width:100%;border-collapse:collapse;font-size:13px}

.figtbl th,.figtbl td{padding:5px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}

.figtbl th{color:var(--muted);font-weight:600;font-size:11px;border-bottom:1px solid var(--line-strong)}

.figtbl td{color:var(--ink-soft)}

.figtbl td:not(:first-child),.figtbl th:not(:first-child){text-align:right}

.figtbl tr:last-child td{border-bottom:none}

.artopen.a-auto .oic{background:var(--auto-weak);color:var(--auto-ink)}

.artopen.a-devis .oic{background:var(--devis-weak);color:var(--devis-ink)}

.artopen.a-copilote .oic{background:var(--copilote-weak);color:var(--copilote-ink)}

/* Artefact automatisation : flow */

.flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:4px 2px 14px}

.node{flex:0 0 auto;min-width:128px;max-width:158px;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:11px 12px;text-align:center;box-shadow:var(--sh-1)}

.node .ni{font-size:19px}

.node .nt{font-size:12.5px;font-weight:600;margin-top:5px;line-height:1.3}

.node .nk{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}

.node.ai{border-color:var(--primary);background:var(--primary-weak)}

.arrow{flex:0 0 30px;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:18px}

.branch{display:flex;flex-direction:column;gap:8px;justify-content:center}

/* Connexions riches : ligne = logo de marque + nom + note + tag typé (porté du schema-viewer) */

.conx{margin-top:8px;border-top:1px solid var(--line);padding-top:14px}

.conx .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px}

.conx .conx-n{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:0;color:var(--primary-ink);background:var(--primary);border-radius:var(--r-pill);padding:1px 8px}

.conx .items{display:flex;flex-direction:column;gap:0}

.cx{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:10px;border-bottom:1px solid var(--line);transition:background .15s}

.cx:last-child{border-bottom:0}

.cx:hover{background:var(--bg)}

.cx-ico{width:36px;height:36px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:18px;background:#fff;border:1px solid var(--line-strong);overflow:hidden;line-height:1}

.cx-ico img{width:22px;height:22px;object-fit:contain;display:block}

.cx-body{flex:1;min-width:0}

.cx-name{font-weight:600;font-size:13.5px;color:var(--ink)}

.cx-note{font-size:12px;color:var(--muted);margin-top:1px}

.cx-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-pill);flex:none;white-space:nowrap}

.cx-tag.oauth{background:var(--primary-weak);color:var(--primary-text)}

.cx-tag.cle_api{background:var(--copilote-weak);color:var(--copilote-ink)}

.cx-tag.autre{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}

.conx-foot{font-size:11px;color:var(--muted);margin-top:11px;line-height:1.45}

.cost{margin-top:15px;background:var(--success-weak);border:1px solid color-mix(in oklch,var(--success) 40%,transparent);border-radius:var(--r-md);padding:14px 16px}

.cost .top{display:flex;align-items:baseline;gap:10px}

.cost .amt{font-size:23px;font-weight:800;color:var(--success-ink);letter-spacing:-.01em}

.cost .per{color:var(--success-ink);opacity:.82;font-size:13px}

.cost .brk{margin-top:8px;font-size:12.5px;color:var(--success-ink);opacity:.9;line-height:1.65}

.cost .top{flex-wrap:wrap}

.cost .cost-lbl{font-size:12px;font-weight:600;color:var(--success-ink);opacity:.92}

/* bandeau gain condensé (repris du schema-viewer, tokenisé) */

.art-gain{margin:0 0 12px;padding:11px 14px;border-radius:var(--r-md);font-weight:600;font-size:13.5px;line-height:1.42;color:var(--ink);background:linear-gradient(90deg,var(--primary-weak),transparent);border:1px solid color-mix(in oklch,var(--primary) 22%,transparent)}

.art-gain::before{content:"✨ "}

/* bascule vue simple / détail du schéma */

.art-vtoggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;margin:0 0 12px}

.art-vtoggle button{border:0;background:var(--surface-2);color:var(--muted);padding:6px 12px;font-weight:600;font-size:12px;cursor:pointer;transition:.15s}

.art-vtoggle button.on{background:var(--primary);color:var(--primary-ink)}

.art-vtoggle button:not(.on):hover{color:var(--ink)}

/* barre d'outils du schéma : bascule (à gauche) + télécharger PNG/SVG (à droite) */

.art-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}

.art-toolbar .art-vtoggle{margin:0}

.art-dl{display:inline-flex;gap:6px;margin-left:auto}

.art-dlb{border:1px solid var(--line-strong);background:var(--bg);color:var(--ink-soft);border-radius:9px;padding:6px 11px;font-weight:600;font-size:12px;transition:.15s;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

.art-dlb:hover{border-color:var(--primary);color:var(--primary-text)}

.art-dlb:disabled{opacity:.55;cursor:default}

/* gain de temps & argent (économie déterministe) */

.eco-card{margin:15px 0 0;background:linear-gradient(180deg,var(--success-weak),transparent);border:1px solid color-mix(in oklch,var(--success) 34%,transparent);border-radius:var(--r-md);padding:13px 15px}

.eco-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;margin-bottom:4px;color:var(--ink)}

.eco-sub{font-size:11px;color:var(--muted);margin:0 0 11px}

.eco-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}

.eco-cell{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-width:0}

.eco-cell .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}

.eco-cell .v{font-size:18px;font-weight:700;margin-top:2px;line-height:1.15;color:var(--ink)}

.eco-cell .v.eur{color:var(--success-ink)}

.eco-net{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}

.eco-net b{color:var(--success-ink)}

.eco-note{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.4}

/* CTA « le mettre en place » (capture le lead pour l'équipe) */

.cta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

.hub-cta{border:0;background:var(--primary);color:var(--primary-ink);border-radius:var(--r-md);padding:10px 16px;font-weight:600;font-size:13.5px;cursor:pointer;transition:.15s}

.hub-cta:hover{background:var(--primary-hover)}

.hub-cta:disabled{opacity:.65;cursor:default}

.hub-cta.done{opacity:1;background:var(--success-weak);color:var(--success-ink);cursor:default}

/* Artefact devis : document (papier — volontairement clair sur les 2 thèmes) */

.doc{background:#f6f7fb;color:#1a2233;border-radius:10px;padding:26px 28px;box-shadow:inset 0 0 0 1px #e2e6ef}

.doc .dh{border-bottom:2px solid #1a2233;padding-bottom:12px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-end}

.doc .dh h2{font-size:22px;font-family:var(--font-display);font-weight:400}

.doc .dh .ref{font-size:12px;color:#6b7280;text-align:right}

.doc h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#2f6fe0;margin:16px 0 6px}

.doc p,.doc li{font-size:13.5px;line-height:1.6;color:#374151}

.doc ul{margin-left:18px;margin-top:4px}

.doc table{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}

.doc td{padding:8px 4px;border-bottom:1px solid #e5e7eb;color:#374151}

.doc td.r{text-align:right;font-weight:700;color:#1a2233}

.doc .tot td{border-top:2px solid #1a2233;border-bottom:none;font-weight:800;padding-top:10px;color:#1a2233}

.docactions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}

.pbtn{font-size:13px;font-weight:600;border-radius:var(--r-md);padding:10px 15px;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink)}

.pbtn:hover{border-color:var(--muted)}

.pbtn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}

.pbtn.primary:hover{background:var(--primary-hover)}

/* Formulaire devis/facture/contrat dans l'artefact (porté de devis.ai-skillbox.fr, tokenisé) */

.devform{display:flex;flex-direction:column;gap:12px;font-size:13px}

.dv-seg{display:flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;width:fit-content}

.dv-seg button{border:0;background:var(--surface);color:var(--muted);padding:7px 15px;font-weight:600;font-size:12.5px}

.dv-seg button.on{background:var(--primary);color:var(--primary-ink)}

.dv-seg button:not(.on):hover{color:var(--ink)}

.dv-section{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--bg)}

.dv-head{padding:11px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none}

.dv-head:hover{background:var(--surface-2)}

.dv-head h3{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;flex:1}

.dv-head .dv-n{width:19px;height:19px;border-radius:6px;background:var(--primary-weak);color:var(--primary-text);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}

.dv-head .dv-chev{color:var(--muted);transition:.2s;font-size:11px}

.dv-section.closed .dv-chev{transform:rotate(-90deg)}

.dv-section.closed .dv-body{display:none}

.dv-body{padding:4px 13px 14px}

.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}

.dv-fld{display:flex;flex-direction:column;gap:5px}

.dv-fld.full{grid-column:1/-1}

.dv-fld label{font-size:12px;color:var(--ink-soft);font-weight:500;display:flex;align-items:center;gap:6px}

.dv-fld label .opt{color:var(--faint);font-size:10px;font-weight:600;text-transform:uppercase}

.dv-fld label .calc{color:var(--warn-ink);font-size:10px;font-weight:700}

.devform input,.devform select,.devform textarea{width:100%;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink);border-radius:9px;padding:8px 10px;font:inherit;font-size:12.5px;outline:none;transition:.15s}

.devform textarea{resize:vertical;min-height:52px;line-height:1.5}

.devform input:focus,.devform select:focus,.devform textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-weak)}

.dv-lines{margin-top:10px}

.dv-lines-title{font-size:12px;font-weight:600;color:var(--ink-soft);margin:4px 0 8px}

.dv-rowhead,.dv-row{display:grid;gap:7px;align-items:start}

.dv-rowhead{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700;padding:0 2px;margin-bottom:6px}

.dv-rows{display:flex;flex-direction:column;gap:7px}

.dv-row input,.dv-row textarea{padding:7px 9px;font-size:12px}

.dv-row textarea{min-height:34px}

.dv-del{width:28px;height:30px;border-radius:7px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:15px;line-height:1}

.dv-del:hover{border-color:var(--accent);color:var(--accent-ink)}

.dv-addrow{margin-top:9px;background:var(--surface-2);border:1px dashed var(--line-strong);color:var(--ink-soft);border-radius:8px;padding:7px 12px;font-weight:600;font-size:11.5px;cursor:pointer}

.dv-addrow:hover{border-color:var(--primary);border-style:solid;color:var(--primary-text)}

.dv-bar{position:sticky;bottom:0;background:var(--surface-2);border-top:1px solid var(--line);padding:12px 0 4px;display:flex;flex-direction:column;gap:8px;margin-top:4px}

.dv-gen{border:0;background:var(--primary);color:var(--primary-ink);border-radius:10px;padding:12px;font-weight:700;font-size:13.5px;cursor:pointer}

.dv-gen:hover{background:var(--primary-hover)}

.dv-ghost{border:1px solid var(--line-strong);background:var(--bg);color:var(--ink-soft);border-radius:9px;padding:9px;font-weight:600;font-size:12px;cursor:pointer}

.dv-ghost:hover{border-color:var(--primary);color:var(--primary-text)}

.dv-status{display:none;font-size:12.5px;padding:9px 11px;border-radius:9px}

.dv-status.on{display:block;background:var(--success-weak);color:var(--success-ink)}

.dv-status.err{display:block;background:var(--accent-weak);color:var(--accent-ink)}

.dv-status a{color:inherit;font-weight:700}

@media(max-width:820px){
.dv-grid{grid-template-columns:1fr}
}

@media(max-width:820px){
.agentchips{display:none}
.agentpick{display:flex;flex:1;min-width:0;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.agentpick .ap-name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agentpick .ap-ch{color:var(--muted);font-size:12px}
}

/* ── Agent Guide (couleur) + Onboarding (bandeau « Bienvenue » + checklist) ── */
:root{ --guide:oklch(0.80 0.13 155); --guide-weak:oklch(0.80 0.13 155 / 0.16); --guide-ink:oklch(0.84 0.12 155); }
:root[data-theme=light]{ --guide-weak:oklch(0.93 0.06 155); --guide-ink:oklch(0.46 0.12 155); }
.scard.a-guide .ic{background:var(--guide-weak);color:var(--guide-ink)}
.chip.sel[data-agent=guide]{border-color:var(--guide);background:var(--guide-weak);color:var(--guide-ink)}
.artopen.a-guide .oic{background:var(--guide-weak);color:var(--guide-ink)}

/* lien « Aide & guides » (ancre stylée comme un navitem) */
a.navitem{text-decoration:none}
.navitem .ext{margin-left:auto;font-size:12px;color:var(--faint)}

/* Bandeau « Bienvenue » — 1ʳᵉ visite, dismissible */
.tb-welcome{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--primary-weak);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 15px;margin:26px 0 0;box-shadow:var(--sh-1)}
.tb-welcome .tw-ic{font-size:22px;flex:none}
.tb-welcome .tw-tx{flex:1;font-size:13px;line-height:1.45}
.tb-welcome .tw-tx b{display:block;color:var(--ink);font-size:14px;margin-bottom:1px}
.tb-welcome .tw-tx span{color:var(--muted)}
.tb-welcome .tw-cta{flex:none;text-decoration:none;font-size:13px;font-weight:600;color:var(--primary-text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:7px 14px;white-space:nowrap}
.tb-welcome .tw-cta:hover{border-color:var(--primary)}
.tb-welcome .tw-x{flex:none;background:none;border:0;color:var(--muted);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:14px}
.tb-welcome .tw-x:hover{background:var(--surface-2);color:var(--ink)}

/* Checklist « Pour bien démarrer » — état local */
.tb-onboard{width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;margin-top:16px;box-shadow:var(--sh-1)}
.tb-ck-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.tb-ck-top b{font-family:var(--font-display);font-weight:400;font-size:18px}
.tb-ck-prog{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.tb-ck-bar{width:120px;height:7px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}
.tb-ck-bar i{display:block;height:100%;background:var(--primary);border-radius:var(--r-pill);transition:width .25s}
.tb-ck-list{display:grid;gap:2px}
.tb-ck-item{display:flex;gap:11px;align-items:flex-start;padding:9px 8px;border-radius:var(--r-md);cursor:pointer;transition:background .12s}
.tb-ck-item:hover{background:var(--surface-2)}
.tb-ck-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.tb-ck-box{flex:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--line-strong);display:grid;place-items:center;margin-top:1px;font-size:11px;color:transparent;font-weight:700}
.tb-ck-item.done .tb-ck-box{background:var(--primary);border-color:var(--primary);color:#fff}
.tb-ck-tx{font-size:13px;line-height:1.45}
.tb-ck-tx b{display:block;font-weight:600;margin-bottom:1px}
.tb-ck-tx > span{color:var(--muted);font-size:12.5px}
.tb-ck-item.done .tb-ck-tx b{color:var(--muted);text-decoration:line-through}

/* « Nourrir votre base » — bloc mis en avant, persistant (l'action qui rend l'outil utile) */
.tb-feedkb{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--primary-weak);border:1px solid var(--primary);border-radius:var(--r-lg);padding:15px 17px;margin:24px 0 0;box-shadow:var(--sh-1)}
.tb-feedkb .fk-ic{font-size:26px;flex:none}
.tb-feedkb .fk-tx{flex:1;font-size:13px;line-height:1.45}
.tb-feedkb .fk-tx b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:1px}
.tb-feedkb .fk-tx span{color:var(--muted)}
.tb-feedkb .fk-cta{flex:none;text-decoration:none;font-size:13px;font-weight:700;color:#fff;background:var(--primary);border-radius:var(--r-pill);padding:8px 15px;white-space:nowrap}
.tb-feedkb .fk-cta:hover{filter:brightness(1.07)}
.tb-feedkb .fk-how{flex:none;text-decoration:none;font-size:12.5px;font-weight:600;color:var(--primary-text);white-space:nowrap}
.tb-feedkb .fk-how:hover{text-decoration:underline}
@media(max-width:600px){.tb-feedkb{flex-wrap:wrap}.tb-feedkb .fk-ic{display:none}.tb-feedkb .fk-tx{flex-basis:100%}}

/* Lien « Ma base de connaissance » — légèrement accentué dans la sidebar */

/* ── Ligne « Se déconnecter » (paramètres) ── */
.logout-row .lo-ic{font-size:15px;color:var(--muted)}
.logout-row:hover .lo-ic{color:var(--danger-ink)}

/* ── Overlay de connexion (auth partagée, look SeoBox) ── */
.tbx-login{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:var(--surface-2);padding:24px}
.tl-card{width:100%;max-width:390px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:34px 30px}
.tl-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.tl-mark{width:38px;height:38px;flex:none;border-radius:10px;background:var(--brandgrad);display:grid;place-items:center;font-weight:800;color:#fff;box-shadow:0 4px 14px color-mix(in oklch,var(--primary) 45%,transparent)}
.tl-name b{display:block;font-size:15px;color:var(--ink);line-height:1.1}
.tl-name span{font-size:12px;color:var(--muted)}
.tl-h{font-family:var(--font-display);font-weight:400;font-size:26px;color:var(--ink);margin:0 0 4px}
.tl-sub{font-size:13.5px;color:var(--muted);margin:0 0 20px;line-height:1.45}
.tl-form{display:flex;flex-direction:column;gap:12px}
.tl-input{width:100%;font-size:15px;padding:12px 14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);outline:none}
.tl-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-weak)}
.tl-err{min-height:16px;font-size:12.5px;color:var(--danger-ink);font-weight:600}
.tl-btn{font-size:14.5px;font-weight:700;color:#fff;background:var(--primary);border:0;border-radius:10px;padding:12px;cursor:pointer}
.tl-btn:hover{background:var(--primary-hover)}
.tl-btn:disabled{opacity:.6;cursor:default}
.tl-help{font-size:12.5px;color:var(--muted);margin:16px 0 0;line-height:1.4;text-align:center}

/* ── Modale « Ajouter à votre base de connaissance » ── */
.kbm-backdrop{position:fixed;inset:0;z-index:2500;display:none;align-items:center;justify-content:center;background:oklch(0 0 0 / 0.55);padding:20px}
.kbm-backdrop.open{display:flex}
.kbm{width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden}
.kbm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.kbm-head b{font-family:var(--font-display);font-weight:400;font-size:19px;color:var(--ink)}
.kbm-x{background:none;border:0;color:var(--muted);font-size:16px;width:32px;height:32px;border-radius:8px;cursor:pointer}
.kbm-x:hover{background:var(--surface-2);color:var(--ink)}
.kbm-body{padding:18px 20px;overflow-y:auto}
.kbm-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}
.kbm-space{display:flex;gap:8px}
.kbm-select{flex:1;min-width:0;font-size:14px;padding:9px 11px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}
.kbm-new{flex:none;font-size:13px;font-weight:600;color:var(--primary-text);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:0 12px;cursor:pointer;white-space:nowrap}
.kbm-new:hover{border-color:var(--primary)}
.kbm-newrow{display:flex;gap:8px;margin-top:8px}
.kbm-linkrow{display:flex;gap:8px;margin-top:12px}
.kbm-newrow.hidden{display:none}
.kbm-input{flex:1;min-width:0;font-size:14px;padding:9px 11px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);outline:none}
.kbm-input:focus{border-color:var(--primary)}
.kbm-createbtn{flex:none;font-size:13px;font-weight:600;color:#fff;background:var(--primary);border:0;border-radius:9px;padding:0 16px;cursor:pointer}
.kbm-createbtn:hover{background:var(--primary-hover)}
.kbm-drop{margin-top:16px;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:26px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .15s,background .15s}
.kbm-drop.over{border-color:var(--primary);background:var(--primary-weak)}
.kbm-drop-ic{font-size:26px;color:var(--primary-text)}
.kbm-drop b{font-size:14.5px;color:var(--ink)}
.kbm-drop-or{font-size:13px;color:var(--muted)}
.kbm-browse{background:none;border:0;color:var(--primary-text);font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}
.kbm-drop small{font-size:11.5px;color:var(--muted);margin-top:3px}
.kbm-files{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.kbf-row{display:flex;align-items:center;gap:9px;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.kbf-ic{flex:none;width:18px;text-align:center}
.kbf-row.ok .kbf-ic{color:var(--primary-text)}
.kbf-row.err .kbf-ic{color:var(--danger-ink)}
.kbf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.kbf-msg{flex:none;font-size:11.5px;color:var(--muted);max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kbf-row.err .kbf-msg{color:var(--danger-ink)}
.kbf-rm{flex:none;background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px;width:22px;height:22px;border-radius:6px}
.kbf-rm:hover{background:var(--danger-weak);color:var(--danger-ink)}
.kbm-pubwarn{margin-top:8px;font-size:12px;line-height:1.4;color:var(--danger-ink);background:var(--danger-weak);border:1px solid var(--danger-weak);border-radius:9px;padding:8px 11px}
.kbm-pubwarn.hidden{display:none}
.kbm-note{font-size:11.5px;color:var(--muted);margin-top:12px;line-height:1.4}
.kbm-foot{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}
.kbm-full{font-size:12.5px;color:var(--primary-text);text-decoration:none}
.kbm-full:hover{text-decoration:underline}
.kbm-foot .grow{flex:1}
.kbm-cancel{font-size:13.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;padding:9px 15px;cursor:pointer}
.kbm-send{font-size:13.5px;font-weight:700;color:#fff;background:var(--primary);border:0;border-radius:9px;padding:9px 18px;cursor:pointer}
.kbm-send:hover{background:var(--primary-hover)}
.kbm-send:disabled{opacity:.5;cursor:default}
@media(max-width:600px){.kbm{max-height:94vh}.kbm-space{flex-wrap:wrap}.kbm-new{width:100%;padding:9px 12px}}

/* ── A11y (suite audit UX 2026-07-13) ── */
/* Réglages Paramètres passés en <button> (déconnexion + back-office = clavier/SR) :
   neutraliser le chrome natif du bouton, garder le style .setrow hérité du core. */
button.setrow{width:100%;text-align:left;background:none;border:0;color:inherit;font-family:inherit;cursor:pointer}
/* Schéma d'automatisation : zone scrollable rendue focusable au clavier (tabindex posé en JS) → focus visible. */
.flow:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}
/* Bouton « Annuler » dans le toast (suppression réversible) — hérite du texte inversé du toast (contraste OK). */
.toast-undo{margin-left:10px;background:none;border:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px}
.toast-undo:focus-visible{outline:2px solid var(--bg);outline-offset:2px;border-radius:4px}

/* ── Landing ThinkBox — largeur (Lot 1, déployé 2026-07-16) ──
   VIT ICI ET PAS DANS LE CHÂSSIS. `skb-ui.core.css` est ÉCRASÉ à chaque `sync-design.mjs`
   (sens moyeu → produits) : le sync du châssis v3.1.0 avait silencieusement ramené la landing
   de 940 à 720px, prêt à partir au prochain rebuild. Ce thème n'est jamais synchronisé
   (sync-design.mjs n'écrit que tokens + châssis) → la personnalisation tient.
   Le châssis pose .home{max-width:720px} ; ThinkBox élargit pour les cartes, hero et
   composer restent étroits (lisibilité). Toute reprise de cette largeur se fait ICI. */
.home{max-width:940px}
.home .word,.home .sub,.home .composer{max-width:720px;width:100%;margin-left:auto;margin-right:auto}
