/* Floating "Report a problem" widget — bottom-right, on every screen of the tool.
   Matches the app's editorial paper/espresso language (app.css :root), with local
   fallbacks so it still renders if mounted on a page without those vars. */
#ntfp-fb{position:fixed;right:20px;bottom:20px;z-index:2147483000;
  font-family:var(--font-sans,'Inter',system-ui,-apple-system,sans-serif)}
#ntfp-fb *{box-sizing:border-box}

#ntfp-fb-btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;
  background:#393432;color:#fbfbf9;font:inherit;font-size:13px;font-weight:600;letter-spacing:.02em;
  padding:11px 15px;border-radius:22px;box-shadow:0 4px 14px rgba(40,30,20,.22);
  transition:transform .12s ease,box-shadow .12s ease}
#ntfp-fb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(40,30,20,.28)}
#ntfp-fb-btn:focus-visible{outline:2px solid #5f7fa6;outline-offset:2px}
#ntfp-fb-btn svg{width:16px;height:16px;flex:0 0 auto}

#ntfp-fb-panel{position:absolute;right:0;bottom:52px;width:344px;max-width:calc(100vw - 40px);
  background:#fbfbf9;border:1px solid #ddd9d3;border-radius:14px;
  box-shadow:0 14px 38px rgba(40,30,20,.22);padding:16px;
  opacity:0;transform:translateY(8px) scale(.98);pointer-events:none;
  transition:opacity .14s ease,transform .14s ease}
#ntfp-fb.open #ntfp-fb-panel{opacity:1;transform:none;pointer-events:auto}

#ntfp-fb h3{margin:0 0 3px;font-family:var(--font-serif,'Newsreader',Georgia,serif);
  font-size:17px;font-weight:600;color:#393432}
#ntfp-fb .fb-sub{margin:0 0 11px;font-size:12.5px;color:#6d655e;line-height:1.45}
#ntfp-fb textarea{width:100%;min-height:96px;border:1px solid #ddd9d3;border-radius:9px;
  padding:10px 11px;font:inherit;font-size:13.5px;color:#393432;background:#fff;resize:vertical}
#ntfp-fb textarea:focus{outline:none;border-color:#a69d94;box-shadow:0 0 0 3px rgba(95,127,166,.12)}
#ntfp-fb .fb-ctx{margin:9px 0 0;font-size:11px;color:#a69d94;line-height:1.45}
#ntfp-fb .fb-ctx b{color:#6d655e;font-weight:600}
#ntfp-fb .fb-err{color:#a85440}
#ntfp-fb .fb-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
#ntfp-fb .fb-btn{border:1px solid #ddd9d3;background:#fbfbf9;color:#393432;font:inherit;
  font-size:12.5px;font-weight:600;padding:8px 13px;border-radius:8px;cursor:pointer}
#ntfp-fb .fb-btn:hover{border-color:#a69d94}
#ntfp-fb .fb-btn.primary{background:#393432;border-color:#393432;color:#fbfbf9}
#ntfp-fb .fb-btn.primary:hover{background:#26221f}
#ntfp-fb .fb-btn:disabled{opacity:.5;cursor:default}
#ntfp-fb .fb-ok{display:flex;align-items:center;gap:8px;color:#3c7359;font-size:13.5px;
  font-weight:600;padding:6px 2px}

@media (prefers-reduced-motion:reduce){#ntfp-fb *{transition:none!important}}
@media print{#ntfp-fb{display:none}}
