/* PTS 回饋功能樣式（沿用原型色票） */
.fb-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:120;display:flex;gap:6px;background:#1F2937;border-radius:999px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.18);font-family:inherit}
.fb-bar button,.fb-bar a{border:0;background:transparent;color:#fff;font:inherit;font-size:13px;padding:7px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.fb-bar button:hover,.fb-bar a:hover{background:rgba(255,255,255,.12)}
.fb-bar .pri{background:#5B8C1E}
.fb-bar .pri:hover{background:#4A7318}
.fb-bar .on{background:rgba(255,255,255,.18)}
.fb-bar .n{background:#D93A34;color:#fff;border-radius:999px;font-size:11px;padding:0 6px;line-height:17px}
.fb-hint{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:131;background:#5B8C1E;color:#fff;font-size:13px;padding:8px 16px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.fb-catch{position:fixed;inset:0;z-index:130;cursor:crosshair;background:rgba(91,140,30,.06);outline:3px solid rgba(91,140,30,.55);outline-offset:-3px}
.fb-pins{position:fixed;inset:0;z-index:110;pointer-events:none}
.fb-av{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font-size:12px;font-weight:600;flex:none;line-height:1}
.fb-av.sm{width:22px;height:22px;font-size:11px}
.fb-av.xs{width:18px;height:18px;font-size:10px}
/* Figma 式標記：左下角尖端就是留言的位置 */
.fb-pin{position:fixed;transform:translate(0,-100%);pointer-events:auto;cursor:pointer;background:#fff;padding:3px;border-radius:18px 18px 18px 2px;box-shadow:0 3px 12px rgba(0,0,0,.28);display:flex;align-items:center;gap:2px;transition:transform .12s}
.fb-pin:hover,.fb-pin.on{transform:translate(0,-100%) scale(1.12);z-index:2}
.fb-pin.on{box-shadow:0 0 0 2px #5B8C1E,0 3px 12px rgba(0,0,0,.28)}
.fb-pin.done{opacity:.55}
.fb-pno{position:absolute;top:-7px;right:-7px;background:#1F2937;color:#fff;border-radius:999px;font-size:10px;font-weight:600;padding:0 5px;line-height:15px;border:1.5px solid #fff}
.fb-prc{font-size:11px;color:#6B7280;padding:0 5px 0 2px}
.fb-peek{display:none;position:absolute;left:100%;bottom:0;margin-left:8px;width:240px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:8px 10px;font-size:12px;color:#1F2937;line-height:1.5;white-space:normal}
.fb-peek span{color:#9CA3AF}
.fb-pin:hover .fb-peek{display:block}
.fb-pin.on .fb-peek{display:none}
.fb-pin.flash{animation:fbflash 1.2s ease 2}
@keyframes fbflash{0%,100%{transform:translate(0,-100%) scale(1)}50%{transform:translate(0,-100%) scale(1.4)}}
.fb-hl{position:fixed;z-index:109;pointer-events:none;border:2px solid #5B8C1E;border-radius:6px;background:rgba(91,140,30,.08);display:none;transition:all .08s}
.fb-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:18px;color:#9CA3AF;cursor:pointer;line-height:1}
.fb-pop.thread{max-height:70vh;overflow:auto;padding-top:12px}
.fb-pop.thread .fb-ih{padding-right:20px}
.fb-item.on{border-color:#5B8C1E}
.fb-pop{position:fixed;z-index:140;width:340px;background:#fff;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:14px;font-size:13px;color:#1F2937}
.fb-pop h4{margin:0 0 4px;font-size:14px}
.fb-meta{color:#6B7280;font-size:12px;margin-bottom:10px;line-height:1.5}
.fb-pop textarea,.fb-pop input,.fb-side textarea,.fb-v textarea,.fb-v input{width:100%;box-sizing:border-box;border:1px solid #D1D5DB;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;resize:vertical}
.fb-pop textarea:focus,.fb-pop input:focus,.fb-side textarea:focus,.fb-v textarea:focus,.fb-v input:focus{outline:none;border-color:#5B8C1E;box-shadow:0 0 0 3px #F1F7E7}
.fb-pop label{display:block;font-size:12px;color:#6B7280;margin:8px 0 4px}
.fb-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.fb-btn{border:1px solid #D1D5DB;background:#fff;color:#1F2937;border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.fb-btn:hover{border-color:#9CA3AF}
.fb-btn.pri{background:#5B8C1E;border-color:#5B8C1E;color:#fff}
.fb-btn.pri:hover{background:#4A7318}
.fb-btn.sm{padding:3px 9px;font-size:12px}
.fb-btn[disabled]{opacity:.5;cursor:default}
.fb-side{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:125;background:#fff;border-left:1px solid #E5E7EB;box-shadow:-8px 0 24px rgba(0,0,0,.08);display:flex;flex-direction:column;font-size:13px;color:#1F2937}
.fb-side-h{padding:16px 18px 10px;border-bottom:1px solid #E5E7EB}
.fb-side-h b{font-size:15px}
.fb-side-h .x{float:right;border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:#6B7280}
.fb-tabs{display:flex;gap:4px;margin-top:10px;flex-wrap:wrap}
.fb-tabs button{border:1px solid #E5E7EB;background:#fff;border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer;color:#6B7280}
.fb-tabs button.on{background:#5B8C1E;border-color:#5B8C1E;color:#fff}
.fb-list{flex:1;overflow:auto;padding:12px 14px 80px}
.fb-item{border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;margin-bottom:10px;background:#fff}
.fb-item.done{background:#F9FAFB}
.fb-item.done .fb-text{color:#6B7280}
.fb-ih{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.fb-no{color:#9CA3AF;font-size:12px}
.fb-who{font-weight:600}
.fb-at{color:#9CA3AF;font-size:12px;margin-left:auto}
.fb-where{color:#6B7280;font-size:12px;margin-bottom:6px}
.fb-where .lk{color:#4A7318;cursor:pointer;text-decoration:underline}
.fb-text{white-space:pre-wrap;line-height:1.6}
.fb-tag{display:inline-block;font-size:11px;border-radius:4px;padding:0 6px;line-height:18px;background:#F3F4F6;color:#6B7280}
.fb-tag.ok{background:#E2EFCE;color:#4A7318}
.fb-reps{margin:8px 0 0;padding-left:10px;border-left:2px solid #E5E7EB}
.fb-rep{margin-bottom:6px}
.fb-rep .fb-who{font-size:12px}
.fb-ia{display:flex;gap:6px;margin-top:8px}
.fb-empty{color:#9CA3AF;text-align:center;padding:40px 0}
.fb-toast{position:fixed;top:72px;right:24px;z-index:200;background:#1F2937;color:#fff;font-size:13px;padding:10px 16px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:opacity .3s}
.fb-toast.warn{background:#D93A34}
.fb-toast.out{opacity:0}
