/* 批次 19 通用浮层与批量表格：深浅主题跟随导航 #themeToggle，页面主体样式各页独立 */
.b19-toast,.b19-modal{--b19-bg:#fff;--b19-ink:#1d2733;--b19-line:#dfe6ec;--b19-soft:#f4f7fa;--b19-accent:#1f6f8b}
:root[data-theme="dark"] .b19-toast,:root[data-theme="dark"] .b19-modal{--b19-bg:#18222c;--b19-ink:#e8f0f5;--b19-line:#31424f;--b19-soft:#111b24;--b19-accent:#7cc9e3}
.b19-toast{position:fixed;left:50%;bottom:32px;z-index:99999;transform:translate(-50%,14px);opacity:0;transition:.26s ease;
  background:var(--b19-bg);color:var(--b19-ink);border:1px solid var(--b19-line);border-left:4px solid var(--b19-accent);
  border-radius:10px;padding:12px 20px;font-size:14px;line-height:1.6;box-shadow:0 14px 38px rgba(0,0,0,.18);max-width:min(90vw,520px)}
.b19-toast.is-in{transform:translate(-50%,0);opacity:1}
.b19-toast.is-bad{border-left-color:#d1495b}
.b19-modal{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center;padding:20px}
.b19-modal[hidden]{display:none!important}
.b19-modal-mask{position:absolute;inset:0;background:rgba(12,20,28,.58);backdrop-filter:blur(3px)}
.b19-modal-box{position:relative;width:min(560px,100%);max-height:84vh;overflow:auto;background:var(--b19-bg);color:var(--b19-ink);
  border:1px solid var(--b19-line);border-radius:16px;box-shadow:0 26px 70px rgba(0,0,0,.3)}
.b19-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--b19-line);font-size:17px}
.b19-modal-x{border:0;background:var(--b19-soft);color:var(--b19-ink);width:32px;height:32px;border-radius:8px;font-size:20px;line-height:1;cursor:pointer}
.b19-modal-body{padding:18px 20px 22px;font-size:14px;line-height:1.85}
.b19-modal-body p{margin:0 0 10px}
.b19-modal-body code{background:var(--b19-soft);border:1px solid var(--b19-line);border-radius:5px;padding:1px 6px;word-break:break-all}
.b19-modal-body .b19-link-row{display:flex;gap:8px;align-items:center;margin-top:12px}
.b19-modal-body input{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--b19-line);border-radius:8px;background:var(--b19-soft);color:var(--b19-ink);font-size:13px}
.b19-modal-body button{padding:9px 14px;border:1px solid var(--b19-line);border-radius:8px;background:var(--b19-accent);color:#fff;cursor:pointer;font-size:13px}
.b19-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.7}
.b19-table th,.b19-table td{border:1px solid var(--b19-line);padding:8px 10px;text-align:left;vertical-align:top}
.b19-table th{background:var(--b19-soft);font-weight:700;white-space:nowrap}
.b19-table tr.is-bad{background:rgba(209,73,91,.09)}
.b19-table tr.is-bad td:first-child{font-weight:700;color:#c0392b}
:root[data-theme="dark"] .b19-table tr.is-bad td:first-child{color:#ff8b9a}
@media(max-width:560px){.b19-table{font-size:12.5px}.b19-table th,.b19-table td{padding:6px 7px}}

/* 批次 19 页面级修复：公共推荐卡在窄屏固定宽导致横向溢出（只作用于引入本文件的页面） */
@media(max-width:640px){
  .tool-rec{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box}
  .tool-rec-grid{grid-template-columns:minmax(0,1fr)!important}
  .tool-rec-item{min-width:0!important;width:100%!important;box-sizing:border-box}
  .tool-rec-body,.tool-rec-body b,.tool-rec-body small{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .tskb-card{overflow-x:auto}
  .tskb-legend{min-width:0;width:100%;table-layout:fixed}
  .tskb-legend th,.tskb-legend td{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
  .tskb-tabs{flex-wrap:wrap}
}
