/* PHF Floating Foundation V1 (Batch 01) — Góp ý widget + shared cluster
   styling. Visual language mirrors .phf-ai-floating (assets/css/phf-ai-
   sandbox.css) so the two roots read as one family; kept in its own file so
   PHF AI's CSS is not touched in this batch. No animation that draws
   attention, no auto-popup, no red badge. */

.phf-feedback-floating{--phf-fb-green:#176b38;--phf-fb-green-soft:#edf6ef;--phf-fb-orange:#ef7900;--phf-fb-text:#202823;--phf-fb-muted:#69736d;position:fixed;right:24px;bottom:24px;z-index:98900;font-family:Arial,Helvetica,system-ui,sans-serif}
.phf-feedback-floating-btn{width:52px;height:52px;border-radius:50%;border:0;background:#fff;box-shadow:0 8px 22px rgba(23,107,56,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--phf-fb-green)}
.phf-feedback-floating-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.phf-feedback-floating-btn:hover{box-shadow:0 10px 26px rgba(23,107,56,.3)}
.phf-feedback-floating-panel{position:fixed;right:24px;bottom:104px;width:min(380px,calc(100vw - 40px));max-height:min(560px,calc(100vh - 148px));background:#fffefa;border:1px solid #dfe4e1;border-top:4px solid var(--phf-fb-green);border-radius:20px;box-shadow:0 24px 70px rgba(20,50,30,.24);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.phf-feedback-floating-panel.phf-feedback-panel-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.phf-feedback-floating-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:14px;background:#fff;color:var(--phf-fb-text);border-bottom:1px solid #edf0ee}
.phf-feedback-floating-head strong{font-size:15.5px;color:var(--phf-fb-green)}
.phf-feedback-floating-head small{display:block;font-size:11.5px;color:var(--phf-fb-muted);margin-top:2px}
.phf-feedback-floating-close{margin-left:auto;flex:0 0 auto;border:1px solid #dfe4e1;background:#fff;color:#626b66;width:34px;height:34px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.phf-feedback-floating-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.phf-feedback-floating-body{flex:1 1 auto;min-height:0;overflow:auto;padding:14px}
.phf-feedback-context{font-size:11px;color:var(--phf-fb-muted);background:var(--phf-fb-green-soft);border-radius:10px;padding:8px 10px;margin-bottom:10px;word-break:break-word}
.phf-feedback-title{width:100%;box-sizing:border-box;border:1px solid #d9dfdb;border-radius:12px;padding:9px 12px;font-size:13.5px;color:var(--phf-fb-text);margin-bottom:8px}
.phf-feedback-title:focus{outline:0;border-color:#7fa68c}
.phf-feedback-textarea{width:100%;box-sizing:border-box;min-height:110px;resize:vertical;border:1px solid #d9dfdb;border-radius:14px;padding:10px 12px;font-size:13.5px;line-height:1.4;color:var(--phf-fb-text)}
.phf-feedback-textarea:focus{outline:0;border-color:#7fa68c}
.phf-feedback-file-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;color:var(--phf-fb-muted)}
.phf-feedback-file-preview{max-width:120px;max-height:80px;border-radius:8px;margin-top:8px}
.phf-feedback-file-preview[hidden]{display:none}
.phf-feedback-file-preview:not([hidden]){display:block}
.phf-feedback-error{font-size:12px;color:#b3311c;margin-top:6px}
.phf-feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.phf-feedback-submit{border:0;border-radius:12px;background:var(--phf-fb-green);color:#fff;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer}
.phf-feedback-submit:disabled{opacity:.55;cursor:not-allowed}
.phf-feedback-confirm{text-align:center;padding:18px 6px}
.phf-feedback-confirm strong{display:block;font-size:15px;color:var(--phf-fb-green);margin-bottom:4px}
.phf-feedback-confirm small{color:var(--phf-fb-muted);font-size:12px}

@media (max-width:700px){
  .phf-feedback-floating{right:14px;bottom:80px;transition:left .18s ease,right .18s ease,top .18s ease}
  .phf-feedback-floating.phf-floating-dragging{transition:none}
  .phf-feedback-floating-btn{width:48px;height:48px;touch-action:none}
  .phf-feedback-floating-panel{right:8px;left:8px;bottom:8px;top:8px;width:auto;max-height:none;border-radius:16px}
}

/* ---- Admin: Quản trị Góp ý (list shell) ---- */
.phf-feedback-admin{padding:4px 0 24px}
.phf-feedback-admin-table{width:100%;border-collapse:collapse;font-size:13px}
.phf-feedback-admin-table th,.phf-feedback-admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #edf0ee;vertical-align:top}
.phf-feedback-admin-table th{color:#69736d;font-weight:600;font-size:12px}
.phf-feedback-admin-title{font-weight:700;color:#17382d;max-width:220px}
.phf-feedback-admin-thumb{max-width:64px;max-height:48px;border-radius:6px;display:block}
.phf-feedback-admin-status{border:1px solid #d9dfdb;border-radius:8px;padding:5px 8px;font-size:12.5px}
.phf-feedback-admin-note{width:100%;min-height:44px;border:1px solid #d9dfdb;border-radius:8px;padding:6px 8px;font-size:12.5px;box-sizing:border-box}
.phf-feedback-admin-link{color:#176b38;text-decoration:underline;font-size:12px}
.phf-feedback-admin-empty{padding:24px;text-align:center;color:#69736d;font-size:13px}
.phf-feedback-admin-meta{font-size:11.5px;color:#69736d;margin-top:4px}
