/* Feedback notice bar */
.fb-notice{position:sticky;top:0;z-index:70;background:linear-gradient(180deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;color:#78350f;font-size:.82em;padding:8px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fb-notice-text{flex:1;min-width:200px}
.fb-notice-text strong{font-weight:600}
.fb-notice-actions{display:flex;gap:6px;flex-shrink:0}
.fb-notice-btn{background:#f59e0b;color:#fff;border:none;border-radius:5px;padding:4px 10px;font:inherit;font-size:.92em;font-weight:500;cursor:pointer}
.fb-notice-btn:hover{background:#d97706}
.fb-notice-btn.secondary{background:transparent;color:#78350f;border:1px solid #f59e0b}
.fb-notice-btn.secondary:hover{background:rgba(245,158,11,.15)}
.fb-notice-close{background:transparent;border:none;color:#78350f;cursor:pointer;padding:4px;opacity:.6;display:inline-flex;align-items:center}
.fb-notice-close:hover{opacity:1}

/* Feedback modal */
.fb-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:opacity 200ms;z-index:200}
.fb-backdrop.open{opacity:1;pointer-events:auto}
.fb-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-45%);width:min(680px,calc(100vw - 32px));max-height:min(700px,calc(100vh - 32px));background:#fafaf7;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.25);z-index:201;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:all 220ms cubic-bezier(.2,.8,.2,1)}
.fb-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}

.fb-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #e2e8f0;flex-shrink:0}
.fb-back,.fb-close{background:transparent;border:0;color:#64748b;cursor:pointer;width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.fb-back:hover,.fb-close:hover{background:#f1f5f9;color:#0f172a}
.fb-title{flex:1;margin:0;font-size:1em;font-weight:600;color:#0f172a}

.fb-body{flex:1;overflow-y:auto;padding:14px 18px}
.fb-empty{padding:40px 20px;text-align:center;color:#94a3b8;font-style:italic;font-size:.9em}
.fb-error{padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;font-size:.88em}

.fb-list-actions{margin-bottom:12px;display:flex;justify-content:flex-end}
.fb-list{display:flex;flex-direction:column;gap:6px}
.fb-item{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;cursor:pointer;font:inherit;transition:border-color 120ms}
.fb-item:hover{border-color:#0f766e;background:#f0fdfa}
.fb-item-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.fb-item-title{flex:1;min-width:0;font-weight:600;color:#0f172a;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-item-meta{font-size:.74em;color:#64748b;display:flex;gap:6px;align-items:center}
.fb-item-author{color:#0f766e;font-weight:500}
.fb-replies{color:#0f766e}

.fb-status{font-size:.68em;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.fb-status.open{background:#dbeafe;color:#1e40af}
.fb-status.resolved{background:#dcfce7;color:#15803d}

.fb-form{display:flex;flex-direction:column;gap:12px}
.fb-label{display:flex;flex-direction:column;gap:4px;font-size:.82em;color:#475569;font-weight:500}
.fb-req{color:#dc2626}
.fb-hint{color:#94a3b8;font-weight:400;font-style:italic;font-size:.9em}
.fb-input,.fb-textarea{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;color:#1e293b;background:#fff;outline:none;box-sizing:border-box;width:100%}
.fb-input:focus,.fb-textarea:focus{border-color:#0f766e;box-shadow:0 0 0 2px rgba(15,118,110,.15)}
.fb-textarea{resize:vertical;min-height:120px;line-height:1.5}
.fb-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
.fb-primary{background:#0f766e;color:#fff;border:0;border-radius:6px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer}
.fb-primary:hover{background:#115e59}
.fb-primary:disabled{opacity:.5;cursor:wait}
.fb-secondary{background:transparent;color:#475569;border:1px solid #cbd5e1;border-radius:6px;padding:8px 14px;font:inherit;font-weight:500;cursor:pointer}
.fb-secondary:hover{background:#f1f5f9;border-color:#0f766e;color:#0f766e}

.fb-detail{display:flex;flex-direction:column;gap:14px}
.fb-detail-head{padding-bottom:10px;border-bottom:1px solid #e2e8f0}
.fb-detail-title-wrap{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.fb-detail-title{margin:0;font-size:1.05em;color:#0f172a;flex:1}
.fb-detail-meta{font-size:.78em;color:#64748b;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fb-detail-meta strong{color:#0f172a}
.fb-status-toggle{margin-left:auto;font-size:.85em;padding:4px 10px}
.fb-msg,.fb-reply{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}
.fb-reply.is-admin{background:#f0fdfa;border-color:#14b8a6}
.fb-reply-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.8em;color:#475569}
.fb-reply-head strong{color:#0f172a}
.fb-badge-admin{background:#0f766e;color:#fff;font-size:.9em;padding:1px 6px;border-radius:4px;font-weight:500;letter-spacing:.02em}
.fb-reply-time{color:#94a3b8}
.fb-msg-body,.fb-reply-body{font-size:.88em;line-height:1.55;color:#1e293b;word-break:break-word}
.fb-msg-body code,.fb-reply-body code{background:rgba(15,23,42,.06);padding:1px 5px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:.9em}
.fb-msg-body pre,.fb-reply-body pre{background:#f1f5f9;padding:8px 10px;border-radius:4px;margin:6px 0;overflow-x:auto}
.fb-msg-body pre code,.fb-reply-body pre code{background:transparent;padding:0}
.fb-msg-body a,.fb-reply-body a{color:#0f766e;text-decoration:underline}
.fb-msg-body .md-h,.fb-reply-body .md-h{font-weight:600;color:#0f172a;margin:6px 0 4px;font-size:1em}
.fb-msg-body ul.md-ul,.fb-reply-body ul.md-ul{margin:4px 0;padding-left:20px}
.fb-reply-form{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.fb-reply-form .fb-textarea{min-height:60px}
.fb-reply-actions{display:flex;justify-content:flex-end}

@media (max-width:640px){
  .fb-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0;top:0;left:0;transform:none}
  .fb-modal.open{transform:none}
  .fb-notice{font-size:.78em;padding:7px 10px}
  .fb-notice-text{flex:1 1 100%}
}
