.byt-panel { max-width: 860px; }
.byt-submit-box { border: 1px solid #e6e0d8; background: #fff; border-radius: 12px; padding: 20px 22px; margin-bottom: 24px; }
.byt-submit-box h3 { margin: 0 0 6px; font-size: 1.05rem; font-weight: 700; }
.byt-hint { color: #777; font-size: 0.875rem; margin: 0 0 14px; }
.byt-form-row { display: flex; gap: 8px; flex-wrap: wrap; }
.byt-input { flex: 1; min-width: 320px; padding: 10px 12px; font-size: 0.875rem; border: 1px solid #d8d2c8; border-radius: 8px; background: #fff; }
.byt-input:focus { border-color: #2a8f6e; outline: none; box-shadow: 0 0 0 3px rgba(42,143,110,.15); }
.byt-btn { display: inline-block; padding: 10px 18px; font-size: 0.875rem; border: 0; border-radius: 8px; background: #2a8f6e; color: #fff; cursor: pointer; text-decoration: none; }
.byt-btn:hover { background: #23785c; color: #fff; }
.byt-btn:disabled { opacity: .55; cursor: wait; }
.byt-btn-sm { padding: 5px 10px; font-size: 0.875rem; }
.byt-btn-ghost { background: #fff; color: #2a8f6e; border: 1px solid #2a8f6e; }
.byt-btn-ghost:hover { background: #f0faf5; }
.byt-btn-danger { background: #fff; color: #c0392b; border: 1px solid #c0392b; }
.byt-btn-danger:hover { background: #fdf0ee; }
.byt-msg { margin-top: 12px; font-size: 0.875rem; display: none; }
.byt-msg.byt-ok { color: #1c6b3c; display: block; }
.byt-msg.byt-err { color: #b02e2e; display: block; }
.byt-history { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e6e0d8; border-radius: 12px; overflow: hidden; }
.byt-history th, .byt-history td { text-align: left; padding: 10px 14px; font-size: 0.875rem; border-bottom: 1px solid #f0ece5; vertical-align: top; }
.byt-history th { background: #faf7f2; font-weight: 600; }
.byt-history tr:last-child td { border-bottom: 0; }
.byt-cell-title a { color: #2a8f6e; word-break: break-all; }
.byt-cell-sub { display: block; color: #999; }
.byt-cell-date { color: #888; white-space: nowrap; }
.byt-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 0.8125rem; }
.byt-badge-done, .byt-badge-done_ticket { background: #e9f7ef; color: #1c6b3c; }
.byt-badge-fetching { background: #eef3f8; color: #2b5e8a; }
.byt-badge-failed { background: #fdecec; color: #b02e2e; }
.byt-badge-pending_payment { background: #fdf3e3; color: #8a5a1c; }
.byt-badge-paid, .byt-badge-transcribing { background: #e7eefc; color: #25417e; }
.byt-queue-note { color: #999; font-style: normal; font-size: 0.8125rem; }
.byt-empty { color: #999; }
.byt-result { border: 1px solid #e6e0d8; background: #fff; border-radius: 12px; padding: 20px 22px; }
.byt-result h3 { margin: 0 0 6px; }
.byt-result-meta { color: #888; font-size: 0.8125rem; margin: 0 0 14px; }
.byt-transcript { white-space: pre-wrap; word-break: break-word; background: #faf7f2; border: 1px solid #eee8de; border-radius: 8px; padding: 16px; max-height: 560px; overflow-y: auto; font-size: 0.875rem; line-height: 1.7; }
.byt-trilium-note { max-height: 560px; overflow-y: auto; font-size: 0.875rem; line-height: 1.7; }
.byt-error-tip { color: #b02e2e; cursor: help; }
/* 未登录提示条：非卡非栏，退居主门控（如 bdc-gate）之下，仅作轻量引导 */
.byt-login-required {
    /* 覆盖 .byt-panel 的 860px：与内容列同宽（content-size），
       constrained 的 margin:auto 将其居中到内容列 → 锁头与 header/footer 左缘对齐 */
    max-width: var(--wp--style--global--content-size, 1212px);
    padding: 2px 0 18px;
    border: 0;
    background: none;
    text-align: left;
    color: #8a8378;
    font-size: 0.875rem;
}
.byt-login-required p { margin: 0; line-height: 1.6; }
.byt-login-required-emoji { margin-right: 6px; opacity: .85; }
.byt-result-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }