/* 反馈入口和弹层沿用工作台主题，并为窄屏保留可滚动内容。 */
body[data-page="home"]:has([data-model-cooperation-runtime]) { overflow: hidden; }
body:not(.page-admin) .jn-feedback-trigger {
  position: fixed; top: 23px; right: 85px; z-index: 100080;
  min-height: 40px; padding: 0 16px; border: 1px solid rgba(148, 163, 184, .3);
  border-radius: 12px; background: #252830; color: #e9edf5; font: inherit;
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.jn-feedback-trigger:hover { border-color: #22d3ee; }
@media (min-width: 761px) {
  /* 聊天原操作保留可用空间，避免被新增反馈入口覆盖。 */
  body.page-chat:has(.jn-feedback-trigger):has(.jn-quick-drawer-trigger) .oc-chat-reference-header-actions { margin-right: 160px; }
}
body:not(.page-admin) .jn-feedback-layer {
  position: fixed; inset: 0; z-index: 100500; display: grid; place-items: center;
  padding: 24px; background: rgba(5, 10, 20, .66); box-sizing: border-box;
  --feedback-surface: #20232b; --feedback-field: #171a21; --feedback-text: #edf1f7;
  --feedback-muted: #adb6c6; --feedback-line: #414957;
}
body:not(.page-admin) .jn-feedback-modal {
  width: min(720px, 100%); max-height: calc(100vh - 48px); max-height: min(820px, calc(100dvh - 48px));
  display: flex; flex-direction: column; min-height: 0; overflow: hidden;
  border: 1px solid var(--feedback-line); border-radius: 20px;
  background: var(--feedback-surface); color: var(--feedback-text);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .35); font-size: 14px;
}
.jn-feedback-modal * { box-sizing: border-box; }
body:not(.page-admin) .front-creative-confirm-layer.front-creative-video-confirm-layer.jn-feedback-confirm { z-index: 100510; }
.jn-feedback-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 14px; }
.jn-feedback-head h2 { margin: 0; font-size: 22px; color: var(--feedback-text); }
.jn-feedback-head p { margin: 7px 0 0; color: var(--feedback-muted); font-size: 13px; line-height: 1.5; }
.jn-feedback-modal button { font: inherit; cursor: pointer; }
.jn-feedback-close { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 9px; background: var(--feedback-field); color: var(--feedback-text); font-size: 24px !important; }
.jn-feedback-tabs { display: flex; gap: 10px; padding: 0 24px 16px; border-bottom: 1px solid var(--feedback-line); }
.jn-feedback-tabs button, .jn-feedback-secondary, .jn-feedback-page button { padding: 9px 14px; border: 1px solid var(--feedback-line); border-radius: 10px; background: var(--feedback-field); color: var(--feedback-text); }
.jn-feedback-tabs button.is-active { background: #284357; border-color: #22d3ee; color: #cffafe; }
.jn-feedback-status { margin: 16px 24px 0; color: var(--feedback-muted); line-height: 1.5; white-space: pre-wrap; }
.jn-feedback-status.is-error { color: #fb7185; }
.jn-feedback-status.is-success { color: #34d399; }
.jn-feedback-content { min-height: 0; overflow-y: auto; padding: 20px 24px 24px; overscroll-behavior: contain; }
.jn-feedback-form { display: grid; gap: 16px; }
.jn-feedback-field { display: grid; gap: 8px; color: var(--feedback-text); font-weight: 600; }
.jn-feedback-field textarea, .jn-feedback-field input {
  width: 100%; border: 1px solid var(--feedback-line); border-radius: 10px;
  padding: 12px; color: var(--feedback-text); background: var(--feedback-field); font: inherit;
}
.jn-feedback-field textarea { min-height: 130px; resize: vertical; line-height: 1.6; }
.jn-feedback-form small, .jn-feedback-meta { color: var(--feedback-muted); font-weight: 400; line-height: 1.6; }
.jn-feedback-upload { padding: 16px; border: 1px dashed var(--feedback-line); border-radius: 12px; }
.jn-feedback-upload p { margin: 10px 0 0; color: var(--feedback-muted); font-size: 12px; line-height: 1.6; }
.jn-feedback-previews, .jn-feedback-attachments { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.jn-feedback-preview { position: relative; margin: 0; width: 100px; }
.jn-feedback-preview img, .jn-feedback-attachments img { display: block; width: 100px; height: 80px; border-radius: 8px; object-fit: cover; border: 1px solid var(--feedback-line); }
.jn-feedback-preview figcaption { color: var(--feedback-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 4px; }
.jn-feedback-preview button { position: absolute; top: 3px; right: 3px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; color: white; background: rgba(0, 0, 0, .75); font-size: 18px; }
.jn-feedback-primary { justify-self: end; padding: 11px 20px; border: 0; border-radius: 10px; color: #06151d; background: #22d3ee; font-weight: 700 !important; }
.jn-feedback-modal button:disabled { opacity: .5; cursor: wait; }
.jn-feedback-modal :focus-visible, .jn-feedback-trigger:focus-visible { outline: 2px solid #22d3ee; outline-offset: 3px; }
.jn-feedback-list { display: grid; gap: 10px; }
.jn-feedback-item { display: grid; gap: 8px; width: 100%; text-align: left; padding: 16px; border: 1px solid var(--feedback-line); border-radius: 12px; background: var(--feedback-field); color: var(--feedback-text); }
.jn-feedback-item strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; white-space: pre-wrap; font-weight: 600; }
.jn-feedback-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; }
.jn-feedback-state { padding: 3px 8px; border-radius: 7px; background: #284357; color: #cffafe; }
.jn-feedback-state.is-need-info { background: #564021; color: #fde68a; }
.jn-feedback-state.is-resolved { background: #174638; color: #a7f3d0; }
.jn-feedback-page { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; color: var(--feedback-muted); }
.jn-feedback-empty { padding: 32px 12px; text-align: center; color: var(--feedback-muted); }
.jn-feedback-detail { display: grid; gap: 18px; }
.jn-feedback-detail p { margin: 0; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.jn-feedback-reply { padding: 16px; border: 1px solid var(--feedback-line); border-radius: 12px; background: var(--feedback-field); }
.jn-feedback-reply .jn-feedback-meta { margin-bottom: 10px; }
.jn-feedback-detail h3 { font-size: 15px; margin: 4px 0 0; }
html.jn-light-mode body:not(.page-admin) .jn-feedback-layer,
html[data-theme="light"] body:not(.page-admin) .jn-feedback-layer,
body.jn-light-mode .jn-feedback-layer {
  --feedback-surface: #fff; --feedback-field: #f6f8fb; --feedback-text: #172033;
  --feedback-muted: #566276; --feedback-line: #d6deea;
}
html.jn-light-mode .jn-feedback-trigger, html[data-theme="light"] .jn-feedback-trigger { background: #f8fafc; color: #172033; border-color: #cbd5e1; }
@media (max-width: 760px) {
  body:not(.page-admin) .jn-feedback-trigger { top: max(13px, env(safe-area-inset-top, 0px)); right: calc(max(8px, env(safe-area-inset-right, 0px)) + 58px); min-height: 38px; padding: 0 12px; font-size: 12px; z-index: 100200; }
  body:not(.page-admin) .jn-feedback-layer { padding: 12px; padding-top: max(12px, env(safe-area-inset-top, 0px)); padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)); }
  body:not(.page-admin) .jn-feedback-modal { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); border-radius: 16px; }
  .jn-feedback-head { padding: 18px 16px 12px; }
  .jn-feedback-head h2 { font-size: 19px; }
  .jn-feedback-tabs { padding: 0 16px 14px; }
  .jn-feedback-status { margin: 14px 16px 0; }
  .jn-feedback-content { padding: 16px; }
}

/* 模型渠道合作复用反馈弹层的主题、按钮和窄屏滚动，只增加自身表单分组。 */
.jn-model-cooperation-modal { width:min(640px,100%); }
.jn-model-cooperation-notice { margin-bottom:22px; padding:16px 18px; border:1px solid #715936; border-radius:12px; background:#342b20; color:#f7e4bf; font-size:13px; line-height:1.75; }
.jn-model-cooperation-notice strong { display:block; font-size:14px; }
.jn-model-cooperation-notice p { margin:8px 0 12px; }
.jn-model-cooperation-notice>div { display:flex; gap:10px; flex-wrap:wrap; }
.jn-model-cooperation-notice a { display:inline-flex; padding:6px 11px; border:1px solid #876c43; border-radius:8px; color:#ffe1a8; text-decoration:none; font-weight:600; }
.jn-model-cooperation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.jn-model-cooperation-limit { margin:0; color:var(--feedback-muted); font-size:12px; line-height:1.75; }
.jn-model-cooperation-modal input:read-only,.jn-model-cooperation-modal textarea:read-only { opacity:.7; }
.login-universe__cooperation { display:inline-flex; align-items:center; gap:7px; min-height:38px; border:1px solid rgba(148,163,184,.3); border-radius:12px; padding:0 13px; background:rgba(30,38,53,.8); color:#e9edf5; font:600 13px/1.4 system-ui,sans-serif; cursor:pointer; }
.login-universe__cooperation svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.login-universe__cooperation:focus-visible { outline:2px solid #22d3ee; outline-offset:3px; }
:is(html.jn-light-mode,html[data-theme="light"]) .jn-model-cooperation-notice { background:#fff8e8; border-color:#ead5ae; color:#714b15; }
:is(html.jn-light-mode,html[data-theme="light"]) .jn-model-cooperation-notice a { border-color:#dfc08c; color:#714b15; }
@media (max-width:520px) {
  .jn-model-cooperation-grid { grid-template-columns:1fr; gap:16px; }
  .jn-model-cooperation-notice { padding:14px; }
  .login-universe__cooperation { font-size:12px; padding:0 10px; }
  .login-universe__cooperation svg { width:15px; height:15px; }
}
