/* Outil d'annotation de la preview Abricot — overlay non imprimé, hors contenu de page. */
.fbw, .fbw * { box-sizing: border-box; }

.fbw-launcher {
  position: fixed; right: 20px; bottom: 20px; z-index: 2147483000;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; min-height: 48px;
  font: 600 16px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #fff; background: #111111; border: 2px solid #fff;
  border-radius: 999px; box-shadow: 0 6px 22px rgba(0,0,0,.28);
  cursor: pointer;
}
.fbw-launcher:hover { background: #333333; }
.fbw-launcher:focus-visible { outline: 3px solid #FF6600; outline-offset: 2px; }
.fbw-launcher__dot { width: 10px; height: 10px; border-radius: 50%; background: #FF6600; }

.fbw-launcher[data-active="1"] { background: #FF6600; color: #111111; }
.fbw-launcher[data-active="1"] .fbw-launcher__dot { background: #111111; }

/* Bandeau d'instruction en mode sélection */
.fbw-hint {
  position: fixed; left: 50%; top: 16px; transform: translateX(-50%);
  z-index: 2147483000; max-width: 92vw;
  padding: 10px 16px;
  font: 500 15px/1.3 system-ui, sans-serif; color: #fff;
  background: #111111; border-radius: 10px; box-shadow: 0 6px 22px rgba(0,0,0,.3);
}
.fbw-hint b { color: #FFC499; }

/* Surbrillance de l'élément survolé en mode sélection */
.fbw-outline {
  position: fixed; z-index: 2147482000; pointer-events: none;
  border: 2px solid #FF6600; background: rgba(242,153,74,.12);
  border-radius: 4px; transition: all .04s linear;
}
body.fbw-selecting * { cursor: crosshair !important; }

/* Popover de saisie */
.fbw-pop {
  position: fixed; z-index: 2147483000; width: 320px; max-width: 92vw;
  background: #fff; color: #111111; border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.32); border: 1px solid #e2e2e6;
  overflow: hidden;
}
.fbw-pop__head {
  padding: 10px 14px; background: #111111; color: #fff;
  font: 600 14px/1.3 system-ui, sans-serif;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.fbw-pop__target {
  display: block; font: 400 12px/1.3 system-ui, sans-serif; color: #d9d9de;
  margin-top: 2px; word-break: break-all;
}
.fbw-pop__body { padding: 12px 14px; }
.fbw-pop__body label { display: block; font: 600 13px/1.3 system-ui, sans-serif; margin-bottom: 6px; }
.fbw-pop textarea, .fbw-pop input[type="text"] {
  width: 100%; font: 400 15px/1.4 system-ui, sans-serif; color: #111111;
  border: 1px solid #c4c4cc; border-radius: 8px; padding: 9px 10px; background: #fff;
}
.fbw-pop textarea { min-height: 96px; resize: vertical; }
.fbw-pop input[type="text"] { margin-bottom: 10px; }
.fbw-pop textarea:focus, .fbw-pop input:focus { outline: 2px solid #FF6600; outline-offset: 1px; border-color: #FF6600; }
.fbw-pop__actions { display: flex; gap: 8px; margin-top: 12px; }
.fbw-btn {
  flex: 1; min-height: 44px; padding: 0 14px; border-radius: 8px; cursor: pointer;
  font: 600 15px/1 system-ui, sans-serif; border: 1px solid transparent;
}
.fbw-btn--send { background: #111111; color: #fff; }
.fbw-btn--send:hover { background: #333333; }
.fbw-btn--cancel { background: #f5f5f7; color: #111111; border-color: #e2e2e6; }
.fbw-btn:focus-visible { outline: 3px solid #FF6600; outline-offset: 2px; }
.fbw-pop__close {
  background: transparent; border: 0; color: #fff; font-size: 20px; line-height: 1;
  cursor: pointer; padding: 2px 6px; border-radius: 6px;
}
.fbw-pop__close:hover { background: rgba(255,255,255,.18); }

/* Toast de confirmation */
.fbw-toast {
  position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%);
  z-index: 2147483000; padding: 12px 18px; border-radius: 10px;
  font: 600 15px/1.3 system-ui, sans-serif; color: #fff; background: #1f7a3d;
  box-shadow: 0 6px 22px rgba(0,0,0,.3); opacity: 0; transition: opacity .2s; pointer-events: none;
}
.fbw-toast[data-show="1"] { opacity: 1; }
.fbw-toast--err { background: #b3261e; }

@media print { .fbw, .fbw-launcher, .fbw-pop, .fbw-hint, .fbw-outline, .fbw-toast { display: none !important; } }
