/* apps-core 0.1.67 — module « feedback » : « Envoyer un message » (fenêtre), « Signaler un bug », « Mes signalements » et page « Bugs »
   des Super consoles (php/FeedbackUi.php). Jetons --fb-* (clair / sombre) ; l'application peut les redéfinir sur :root ou .fb-*.
   Aucun lien de navigation souligné (onglets, pages, retour, ouverture d'un bug) ; aucun texte grisé dans les champs. */
:root{--fb-bg:#ffffff;--fb-fg:#162033;--fb-muted:#4f5869;--fb-line:#d5dce6;--fb-soft:#f3f6fa;--fb-hover:#eaf0f9;--fb-accent:#1d4ed8;--fb-accent-fg:#ffffff;--fb-accent-soft:#e8efff;
  --fb-err-bg:#fff1f0;--fb-err-fg:#8a1c12;--fb-err-line:#f1b7b1;--fb-ok:#17703a;--fb-warn:#8a4b00;--fb-shadow:0 18px 44px rgba(15,23,42,.18);--fb-radius:12px;--fb-focus:#1d4ed8}
html[data-theme="dark"]{--fb-bg:#171c27;--fb-fg:#e6e9f0;--fb-muted:#b3bccb;--fb-line:rgba(255,255,255,.16);--fb-soft:#1f2533;--fb-hover:rgba(255,255,255,.08);--fb-accent:#7aa7ff;--fb-accent-fg:#0b1020;--fb-accent-soft:rgba(122,167,255,.16);
  --fb-err-bg:#3a1714;--fb-err-fg:#ffd3cd;--fb-err-line:#7a2a22;--fb-ok:#6fd49a;--fb-warn:#ffc27a;--fb-shadow:0 18px 44px rgba(0,0,0,.5);--fb-focus:#9cbcff}
@media (prefers-color-scheme:dark){html:not([data-theme]){--fb-bg:#171c27;--fb-fg:#e6e9f0;--fb-muted:#b3bccb;--fb-line:rgba(255,255,255,.16);--fb-soft:#1f2533;--fb-hover:rgba(255,255,255,.08);--fb-accent:#7aa7ff;--fb-accent-fg:#0b1020;--fb-accent-soft:rgba(122,167,255,.16);
  --fb-err-bg:#3a1714;--fb-err-fg:#ffd3cd;--fb-err-line:#7a2a22;--fb-ok:#6fd49a;--fb-warn:#ffc27a;--fb-shadow:0 18px 44px rgba(0,0,0,.5);--fb-focus:#9cbcff}}

.fb-ico{flex:0 0 auto;vertical-align:-3px}
.fb-stack{display:flex;flex-direction:column;gap:12px}
.fb-muted,.fb-hint{color:var(--fb-muted)}
.fb-hint{display:block;font-size:13px;line-height:1.4;margin:0}
.fb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.fb-error{padding:10px 12px;border:1px solid var(--fb-err-line);border-radius:10px;background:var(--fb-err-bg);color:var(--fb-err-fg);font-size:14px}
.fb-error[hidden]{display:none}
.fb-field-error{display:block;color:var(--fb-err-fg);font-size:13px;font-weight:600}
html[data-theme="dark"] .fb-field-error{color:#ffb4a9}

/* champs */
.fb-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--fb-fg)}
.fb-label{font-size:14px;font-weight:650}
.fb-field input:not([type=checkbox]):not([type=radio]),.fb-field select,.fb-field textarea{box-sizing:border-box;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-bg);color:var(--fb-fg);font:inherit;font-size:15px}
.fb-field textarea{min-height:120px;resize:vertical;line-height:1.45}
.fb-field input[type=file]{padding:8px}
.fb-field [aria-invalid="true"]{border-color:var(--fb-err-fg)}
.fb-field input:focus-visible,.fb-field select:focus-visible,.fb-field textarea:focus-visible,.fb-btn:focus-visible,.fb-tab:focus-visible,.fb-open:focus-visible,.fb-segmented input:focus-visible+span{outline:2px solid var(--fb-focus);outline-offset:2px}
.fb-field ::placeholder{color:transparent}

/* boutons : jamais de soulignement ni de couleur de lien visité */
.fb-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 16px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-bg);color:var(--fb-fg);font:inherit;font-size:14px;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap}
.fb-btn:link,.fb-btn:visited{color:var(--fb-fg);text-decoration:none}
.fb-btn:hover{background:var(--fb-hover)}
.fb-btn-primary,.fb-btn-primary:link,.fb-btn-primary:visited{background:var(--fb-accent);border-color:var(--fb-accent);color:var(--fb-accent-fg)}
.fb-btn-primary:hover{filter:brightness(1.08);background:var(--fb-accent)}
.fb-btn-ghost{background:transparent}
.fb-btn-sm{min-height:34px;padding:5px 10px;font-size:13px}
.fb-btn.is-current{background:var(--fb-accent);border-color:var(--fb-accent);color:var(--fb-accent-fg)}
.fb-btn[disabled]{opacity:.6;cursor:progress}
.fb-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fb-back{align-self:flex-start;padding-left:10px}
@media (max-width:640px){.fb-btn{min-height:44px}.fb-btn-sm{min-height:44px}}

/* fenêtre « Envoyer un message » */
.fb-dialog{box-sizing:border-box;width:min(32rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--fb-line);border-radius:16px;padding:18px 20px;background:var(--fb-bg);color:var(--fb-fg);box-shadow:var(--fb-shadow)}
.fb-dialog::backdrop{background:rgba(15,18,30,.45)}
.fb-dialog[open]:not(:modal){position:fixed;inset:1rem 0 auto;margin:0 auto;z-index:1000}
.fb-dialog-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1.1rem}
.fb-dialog form{margin:0}
.fb-segmented{display:inline-flex;align-self:flex-start;border:1px solid var(--fb-line);border-radius:10px;overflow:hidden}
.fb-segmented label{position:relative;display:inline-flex;margin:0;cursor:pointer}
.fb-segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.fb-segmented span{display:inline-flex;align-items:center;min-height:38px;padding:6px 16px;font-size:14px;font-weight:650;color:var(--fb-fg)}
.fb-segmented input:checked+span{background:var(--fb-accent);color:var(--fb-accent-fg)}
.fb-segmented label+label span{border-left:1px solid var(--fb-line)}

/* pages utilisateur */
.fb-page,.fb-console{display:flex;flex-direction:column;gap:16px;min-width:0;color:var(--fb-fg)}
.fb-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}
.fb-page-head h1{margin:0 0 4px;font-size:1.5rem;line-height:1.25}
.fb-lead{margin:0;color:var(--fb-muted);max-width:60ch}
.fb-card{box-sizing:border-box;padding:16px 18px;border:1px solid var(--fb-line);border-radius:var(--fb-radius);background:var(--fb-bg);min-width:0}
.fb-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fb-form>.fb-error,.fb-span2{grid-column:1/-1}
@media (max-width:640px){.fb-form{grid-template-columns:minmax(0,1fr)}.fb-page-head>.fb-btn{width:100%}}
.fb-empty p{margin:0;color:var(--fb-muted)}
.fb-bug-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.fb-bug-head h2{margin:0;font-size:1.2rem;overflow-wrap:anywhere}
.fb-bug-text{margin:8px 0 0;overflow-wrap:anywhere}
.fb-reply{margin-top:10px;border-left:3px solid var(--fb-accent);padding:8px 12px;background:var(--fb-accent-soft);border-radius:8px}
.fb-reply p{margin:4px 0 0}

/* badges */
.fb-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent;white-space:nowrap}
.fb-badge-new{background:#e8efff;color:#1d3d99}
.fb-badge-in_progress{background:#fff3df;color:#7a4300}
.fb-badge-resolved{background:#e4f5ea;color:#145c30}
.fb-badge-rejected,.fb-badge-neutral{background:#eef0f3;color:#3d4655}
.fb-badge-blocking{background:#fde8e6;color:#8a1c12}
.fb-badge-system{background:#efe8ff;color:#4b2a99}
html[data-theme="dark"] .fb-badge{background:transparent;border-color:currentColor}
html[data-theme="dark"] .fb-badge-new{color:#a9c4ff}html[data-theme="dark"] .fb-badge-in_progress{color:#ffc98a}html[data-theme="dark"] .fb-badge-resolved{color:#8ee0ad}
html[data-theme="dark"] .fb-badge-rejected,html[data-theme="dark"] .fb-badge-neutral{color:#c5ccd8}html[data-theme="dark"] .fb-badge-blocking{color:#ffb4a9}html[data-theme="dark"] .fb-badge-system{color:#d0bcff}
@media (prefers-color-scheme:dark){html:not([data-theme]) .fb-badge{background:transparent;border-color:currentColor}html:not([data-theme]) .fb-badge-new{color:#a9c4ff}html:not([data-theme]) .fb-badge-in_progress{color:#ffc98a}html:not([data-theme]) .fb-badge-resolved{color:#8ee0ad}html:not([data-theme]) .fb-badge-rejected,html:not([data-theme]) .fb-badge-neutral{color:#c5ccd8}html:not([data-theme]) .fb-badge-blocking{color:#ffb4a9}html:not([data-theme]) .fb-badge-system{color:#d0bcff}}

/* Super console */
.fb-tabs{display:flex;flex-wrap:wrap;gap:6px}
.fb-tab,.fb-tab:link,.fb-tab:visited{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 14px;border:1px solid var(--fb-line);border-radius:999px;background:var(--fb-bg);color:var(--fb-fg);font-size:14px;font-weight:650;text-decoration:none}
.fb-tab:hover{background:var(--fb-hover)}
.fb-tab.is-active{background:var(--fb-accent);border-color:var(--fb-accent);color:var(--fb-accent-fg)}
.fb-tabs-sm .fb-tab{min-height:34px;padding:4px 12px;font-size:13px}
.fb-count{display:inline-flex;min-width:1.4em;justify-content:center;padding:0 6px;border-radius:999px;background:var(--fb-soft);color:var(--fb-fg);font-size:12px;font-weight:700}
.fb-tab.is-active .fb-count{background:rgba(255,255,255,.22);color:inherit}
@media (max-width:640px){.fb-tab{min-height:44px}}
.fb-search,.fb-inline-form,.fb-bulk{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.fb-grow{flex:1 1 16rem}
.fb-bulk{position:sticky;bottom:0;z-index:2;padding:10px 0;background:var(--fb-bg);border-bottom:1px solid var(--fb-line)}
.fb-span-all{flex-basis:100%}
.fb-inline-form input[type=number]{width:7rem}
.fb-notice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--fb-line);border-radius:10px;background:var(--fb-accent-soft)}
.fb-table-wrap{position:relative;overflow-x:auto;max-width:100%}
.fb-table{width:100%;border-collapse:collapse;font-size:14px}
.fb-table th,.fb-table td{padding:8px 10px;border-bottom:1px solid var(--fb-line);text-align:left;vertical-align:top}
.fb-table th{font-size:13px;color:var(--fb-muted);font-weight:700;white-space:nowrap}
.fb-table tr.is-selected td{background:var(--fb-accent-soft)}
.fb-col-check{width:2.2rem}
.fb-col-check input{width:18px;height:18px}
.fb-num,.fb-nowrap{white-space:nowrap}
.fb-wrap{overflow-wrap:anywhere}
.fb-open,.fb-open:link,.fb-open:visited{color:var(--fb-fg);font-weight:650;text-decoration:none;border-radius:6px;padding:2px 4px;margin:-2px -4px}
.fb-open:hover{background:var(--fb-hover);color:var(--fb-accent)}
.fb-inline-link{color:var(--fb-accent);text-underline-offset:2px}
.fb-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.fb-pages{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fb-gap{padding:0 4px;color:var(--fb-muted)}
.fb-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0;font-size:14px}
.fb-kv dt{color:var(--fb-muted);font-weight:650}.fb-kv dd{margin:0;min-width:0}
@media (max-width:640px){.fb-kv{grid-template-columns:minmax(0,1fr)}.fb-kv dd{margin-bottom:6px}}
.fb-tech>summary{cursor:pointer;font-weight:700;min-height:32px}
.fb-pre{max-height:26rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.45 ui-monospace,Consolas,monospace;background:var(--fb-soft);border:1px solid var(--fb-line);border-radius:8px;padding:10px 12px;margin:6px 0 0}
.fb-shot-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none}
.fb-shot{max-width:100%;max-height:420px;border:1px solid var(--fb-line);border-radius:8px}
@media print{.fb-bulk,.fb-search,.fb-pager .fb-pages,.fb-col-check{display:none}}
