/* AnyNet 管理后台 - Tailwind 之外的少量组件类 */

/* ---------- 按钮 ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 0.5rem;
  padding: 0.5rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, filter .15s;
  white-space: nowrap;
  border: 1px solid transparent;
}
.btn:disabled { opacity: .5; cursor: not-allowed; }

.btn-primary {
  background: #0d9488;
  color: #fff;
}
.btn-primary:hover:not(:disabled) { background: #0f766e; }

.btn-secondary {
  background: #fff;
  color: #334155;
  border-color: #cbd5e1;
}
.btn-secondary:hover:not(:disabled) { background: #f1f5f9; }

.btn-danger {
  background: #fef2f2;
  color: #dc2626;
  border-color: #fecaca;
}
.btn-danger:hover:not(:disabled) { background: #fee2e2; }

.btn-sm { padding: 0.25rem 0.6rem; font-size: 0.72rem; border-radius: 0.375rem; }

/* ---------- 输入框 ---------- */
.input {
  width: 100%;
  background: #fff;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
  padding: 0.55rem 0.8rem;
  font-size: 0.85rem;
  outline: none;
}
.input:focus { border-color: #14b8a6; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }

/* ---------- Toast ---------- */
#toast-root {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- Markdown 文档渲染 ---------- */
.md { font-size: 0.875rem; line-height: 1.75; color: #334155; word-break: break-word; }
.md h1 { font-size: 1.4rem; font-weight: 700; color: #0f172a; margin: 0 0 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid #e2e8f0; }
.md h2 { font-size: 1.15rem; font-weight: 700; color: #0f172a; margin: 1.6rem 0 0.6rem; padding-bottom: 0.35rem; border-bottom: 1px solid #f1f5f9; }
.md h3 { font-size: 1rem; font-weight: 600; color: #1e293b; margin: 1.2rem 0 0.5rem; }
.md h4 { font-size: 0.9rem; font-weight: 600; color: #1e293b; margin: 1rem 0 0.4rem; }
.md p { margin: 0.5rem 0; }
.md ul, .md ol { margin: 0.5rem 0; padding-left: 1.4rem; }
.md ul { list-style: disc; }
.md ol { list-style: decimal; }
.md li { margin: 0.25rem 0; }
.md a { color: #0d9488; text-decoration: underline; }
.md strong { font-weight: 600; color: #0f172a; }
.md code {
  background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 0.3rem;
  padding: 0.1rem 0.35rem; font-size: 0.8em; color: #be123c;
}
.md pre {
  background: #0f172a; color: #e2e8f0; border-radius: 0.6rem;
  padding: 0.9rem 1rem; overflow-x: auto; margin: 0.75rem 0;
}
.md pre code { background: transparent; border: none; color: inherit; padding: 0; font-size: 0.78rem; }
.md blockquote {
  border-left: 3px solid #5eead4; background: #f0fdfa;
  border-radius: 0 0.4rem 0.4rem 0; padding: 0.5rem 0.9rem; margin: 0.75rem 0; color: #0f766e;
}
.md table { width: 100%; border-collapse: collapse; margin: 0.75rem 0; font-size: 0.82rem; }
.md th, .md td { border: 1px solid #e2e8f0; padding: 0.45rem 0.7rem; text-align: left; }
.md th { background: #f8fafc; font-weight: 600; color: #0f172a; }
.md tr:nth-child(even) td { background: #fafbfc; }
.md hr { border: none; border-top: 1px solid #e2e8f0; margin: 1.2rem 0; }
.md input[type="checkbox"] { margin-right: 0.4rem; }
