/* AICEO Tools Panel v1.0 (2026-07-28) — 独立样式，全部使用 atp- 前缀避免冲突 */
#atp-fab {
  position: fixed; right: 18px; bottom: 88px; z-index: 99990;
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid rgba(127,127,127,.25);
  background: linear-gradient(135deg, #4f7cff, #7c5cff);
  color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(80,100,255,.35);
  transition: transform .15s ease;
}
#atp-fab:hover { transform: scale(1.08); }

#atp-panel {
  position: fixed; right: 18px; bottom: 144px; z-index: 99991;
  width: 400px; max-width: calc(100vw - 24px);
  max-height: min(620px, calc(100vh - 170px));
  display: none; flex-direction: column; overflow: hidden;
  border-radius: 16px; border: 1px solid rgba(127,127,127,.22);
  background: var(--atp-bg, #fff); color: var(--atp-fg, #1c1e22);
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
  font-size: 14px; line-height: 1.55;
}
#atp-panel.atp-open { display: flex; }
html[data-theme="dark"] #atp-panel, .ds-theme-dark #atp-panel {
  --atp-bg: #1e2026; --atp-fg: #e6e8ee; --atp-card: #272a31; --atp-line: rgba(255,255,255,.09);
}
#atp-panel { --atp-card: #f5f6f8; --atp-line: rgba(0,0,0,.08); }
html[data-theme="dark"] #atp-panel { --atp-card: #272a31; --atp-line: rgba(255,255,255,.09); }

.atp-head {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border-bottom: 1px solid var(--atp-line);
}
.atp-title { font-weight: 700; font-size: 15px; white-space: nowrap; }
.atp-tabs { display: flex; gap: 6px; flex: 1; }
.atp-tab {
  padding: 5px 12px; border-radius: 999px; border: 1px solid var(--atp-line);
  background: transparent; color: inherit; cursor: pointer; font-size: 13px;
}
.atp-tab.atp-active { background: #4f7cff; border-color: #4f7cff; color: #fff; }
.atp-close {
  border: none; background: transparent; color: inherit; opacity: .6;
  font-size: 14px; cursor: pointer; padding: 4px 6px;
}
.atp-close:hover { opacity: 1; }

.atp-body { overflow-y: auto; padding: 12px 14px; flex: 1; }
.atp-pane { display: none; }
.atp-pane.atp-show { display: block; }

.atp-row { display: flex; gap: 8px; margin-bottom: 10px; }
.atp-row-right { justify-content: flex-end; }
.atp-row input {
  flex: 1; padding: 9px 12px; border-radius: 10px;
  border: 1px solid var(--atp-line); background: var(--atp-card); color: inherit;
  font-size: 14px; outline: none;
}
.atp-row input:focus { border-color: #4f7cff; }
.atp-btn {
  padding: 9px 16px; border-radius: 10px; border: none; cursor: pointer;
  background: #4f7cff; color: #fff; font-size: 14px; white-space: nowrap;
}
.atp-btn:hover { filter: brightness(1.1); }
.atp-btn-ghost { background: transparent; border: 1px solid var(--atp-line); color: inherit; font-size: 13px; padding: 6px 12px; }

.atp-hint { font-size: 12px; opacity: .75; margin-bottom: 10px; }
.atp-hint.atp-ok { color: #16a34a; opacity: 1; }
.atp-hint.atp-err { color: #ef4444; opacity: 1; }

.atp-out {}
.atp-list-head { font-size: 12px; opacity: .65; margin: 4px 0 8px; }
.atp-card {
  background: var(--atp-card); border: 1px solid var(--atp-line);
  border-radius: 12px; padding: 10px 12px; margin-bottom: 8px;
  word-break: break-word;
}
.atp-card-title { font-weight: 600; margin-bottom: 6px; }
.atp-card.atp-loading { color: #4f7cff; }
.atp-card.atp-err { color: #ef4444; border-color: rgba(239,68,68,.35); }
.atp-kv { font-size: 13px; margin: 3px 0; }
.atp-kv > span {
  display: inline-block; min-width: 40px; margin-right: 8px;
  font-size: 12px; opacity: .6;
}
.atp-kv a { color: #4f7cff; }
.atp-badge {
  font-style: normal; font-size: 11px; padding: 1px 8px; border-radius: 999px;
  background: rgba(127,127,127,.15); margin-left: 6px; vertical-align: 1px;
}
.atp-badge-verified, .atp-badge-completed { background: rgba(22,163,74,.15); color: #16a34a; }
.atp-badge-failed { background: rgba(239,68,68,.15); color: #ef4444; }

@media (max-width: 480px) {
  #atp-panel { right: 8px; left: 8px; width: auto; bottom: 140px; }
  #atp-fab { right: 12px; bottom: 84px; }
}
