/* ═══ Workbench CRM — Excel-style outreach tracker ═══ */

#wb-open-btn {
  background: #16213e; color: #7cc7f5; border: 1px solid #0f3460; border-radius: 6px;
  padding: 4px 8px; font-size: 11.5px; font-weight: 700; cursor: pointer; white-space: nowrap;
}
#wb-open-btn:hover { color: #2AABEE; border-color: #2AABEE55; }

.wb-modal { position: fixed; inset: 0; z-index: 12200; display: flex; align-items: center; justify-content: center; }
.wb-modal .wb-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.68); }
.wb-modal .wb-panel { position: relative; width: min(1200px, calc(100vw - 24px)); height: min(88vh, 900px);
  background: #0e1428; border: 1px solid #1c2542; border-radius: 14px; display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.wb-modal .wb-modal-head { display: flex; justify-content: space-between; align-items: center;
  padding: 12px 16px; border-bottom: 1px solid #1c2542; color: #eee; font-weight: 700; font-size: 14px; }
.wb-modal .wb-modal-head > div { display: flex; gap: 8px; align-items: center; }
.wb-modal .wb-modal-body { flex: 1; overflow: auto; padding: 14px 16px 18px; }
.wb-x { cursor: pointer; color: #8b96a8; font-size: 24px; line-height: 1; }
.wb-x:hover { color: #e94560; }

.wb-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.wb-tabs { display: flex; gap: 6px; }
.wb-tab { background: #161e38; border: 1px solid #1c2542; color: #8b96a8; border-radius: 8px;
  padding: 7px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.wb-tab.on { background: #0f3460; color: #fff; border-color: #2AABEE66; }
.wb-top-right { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wb-btn { background: #2AABEE; color: #fff; border: none; border-radius: 8px; padding: 7px 14px;
  font-size: 12.5px; font-weight: 700; cursor: pointer; }
.wb-btn:hover { background: #3ab4f5; }
.wb-btn-ghost { background: transparent; color: #8b96a8; border: 1px solid #2a3352; }
.wb-btn-ghost:hover { color: #cfd8ea; border-color: #3a466e; background: transparent; }
.wb-saved { font-size: 11.5px; color: #5a6a8b; min-width: 64px; }
.wb-saved.busy { color: #f5c669; }

.wb-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); gap: 8px; margin-bottom: 12px; }
.wb-card { background: #161e38; border: 1px solid #1c2542; border-radius: 10px; padding: 9px 11px; }
.wb-card-l { color: #8b96a8; font-size: 10.5px; letter-spacing: .04em; text-transform: uppercase; }
.wb-card-v { color: #e8eaf0; font-size: 17px; font-weight: 700; margin-top: 3px; }
.wb-card-v.pos { color: #34d399; }
.wb-card-v.neg { color: #f08ca0; }
.wb-card-big { background: linear-gradient(135deg, #12305c, #0f3460); border-color: #2AABEE55; }
.wb-card-big .wb-card-v { font-size: 20px; }

.wb-byuser { margin-bottom: 12px; }
.wb-sec { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #5a6a8b; margin-bottom: 6px; }
.wb-mini { border-collapse: collapse; width: 100%; font-size: 12px; }
.wb-mini th { text-align: left; color: #5a6a8b; font-weight: 600; padding: 4px 8px; border-bottom: 1px solid #1c2542; }
.wb-mini td { color: #cfd8ea; padding: 4px 8px; border-bottom: 1px solid #141c36; }
.wb-mini .pos { color: #34d399; font-weight: 700; }
.wb-mini .neg { color: #f08ca0; font-weight: 700; }

.wb-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.wb-inp { background: #161e38; border: 1px solid #1c2542; color: #e8eaf0; border-radius: 7px;
  padding: 6px 10px; font-size: 12.5px; outline: none; }
.wb-inp:focus { border-color: #2AABEE88; }
.wb-sel { cursor: pointer; }
.wb-lbl { color: #8b96a8; font-size: 11.5px; display: flex; gap: 6px; align-items: center; }
.wb-tools span { color: #5a6a8b; }

.wb-gridwrap { overflow: auto; border: 1px solid #33427a; border-radius: 10px; max-height: 52vh; background: #1d2b56; }
.wb-grid { border-collapse: separate; border-spacing: 0; font-size: 12.5px; outline: none; min-width: 100%; }
.wb-grid thead th { position: sticky; top: 0; z-index: 5; background: #14417c; color: #eaf2fc;
  font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; text-align: left;
  padding: 8px 10px; border-right: 1px solid #2f5590; border-bottom: 2px solid #3d68a8; white-space: nowrap; }
.wb-grid .rownum { position: sticky; left: 0; z-index: 4; background: #16224a; color: #7f8fc0;
  text-align: center; min-width: 40px; padding: 6px 4px; border-right: 1px solid #33427a;
  font-size: 11px; user-select: none; }
.wb-grid thead .rownum { z-index: 6; background: #153764; }
.wb-grid td.cell { padding: 6px 10px; border-right: 1px solid #3b4d85; border-bottom: 1px solid #3b4d85;
  color: #e3e9f6; white-space: nowrap; max-width: 260px; overflow: hidden; text-overflow: ellipsis; cursor: cell; }
.wb-grid tbody tr:nth-child(even) td.cell { background: #223264; }
.wb-grid td.cell.sel { outline: 2px solid #2AABEE; outline-offset: -2px; background: #14264a !important; }
.wb-grid td.cell.editing { padding: 0; outline: 2px solid #2AABEE; outline-offset: -2px; }
.wb-edit-inp { width: 100%; height: 100%; border: none; outline: none; background: #14417c; color: #fff;
  padding: 6px 10px; font-size: 12.5px; font-family: inherit; }
.wb-grid td.t-money, .wb-grid td.t-count { text-align: right; font-variant-numeric: tabular-nums; }
.wb-grid td.t-money { color: #a7f3d0; }
.wb-grid thead th.th-num { text-align: right; }
.cell-zero { color: #5d6f9e; }
.cell-date { color: #a9bedd; }
.wb-pill { border-radius: 999px; padding: 2px 9px; font-size: 11px; font-weight: 700; }
.st-active { background: #052e1b; color: #34d399; }
.st-pending { background: #33260a; color: #f5c669; }
.st-closed { background: #1c2542; color: #8b96a8; }
.wb-check { color: #34d399; font-weight: 700; }
.wb-uncheck { color: #4a5a86; }
.wb-grid .rowact { position: sticky; right: 0; background: #16224a; text-align: center; min-width: 64px;
  border-left: 1px solid #33427a; }
.wb-del, .wb-mini-btn { background: transparent; border: none; cursor: pointer; font-size: 13px; padding: 3px 5px; border-radius: 5px; }
.wb-del { color: #8394bd; }
.wb-del:hover { color: #f08ca0; background: #3d1220; }
.wb-mini-btn { color: #7cc7f5; }
.wb-mini-btn:hover { background: #0f3460; }
.wb-ghost { cursor: pointer; }
.wb-ghost td { color: #6d7fb0; font-style: italic; padding: 9px 10px; }
.wb-ghost:hover td { color: #7cc7f5; background: #25386e !important; }
.wb-grid tfoot .wb-tot td { position: sticky; bottom: 0; background: #153764; color: #d7e6f7; font-weight: 700;
  padding: 7px 10px; border-top: 2px solid #3d68a8; border-right: 1px solid #2f5590; white-space: nowrap; }
.wb-grid tfoot .rownum { background: #153764; color: #d7e6f7; }
.wb-foot { color: #6d7fb0; font-size: 11px; margin-top: 8px; }
.wb-foot b { color: #8b96a8; }

.wb-toast { position: fixed; bottom: 22px; left: 50%; transform: translate(-50%, 14px); z-index: 13000;
  background: #12182f; color: #e8eaf0; border: 1px solid #2AABEE55; border-radius: 10px;
  padding: 10px 16px; font-size: 13px; opacity: 0; transition: all .25s; pointer-events: none; }
.wb-toast.show { opacity: 1; transform: translate(-50%, 0); }
.wb-toast-err { border-color: #e9456088; }

@media (max-width: 640px) {
  .wb-cards { grid-template-columns: repeat(3, 1fr); }
  .wb-card-v { font-size: 14px; }
  .wb-modal .wb-panel { width: 100vw; height: 100vh; border-radius: 0; }
}

/* ── Workbench: lead screenshots (paste zone, thumbs, lightbox) ── */
.wb-files-btn.on { background: #0f3460; color: #7cc7f5; }
.wb-files-row td { background: #16204a !important; padding: 0 10px 12px !important; border-bottom: 1px solid #3b4d85; }
.wb-files-panel { display: flex; flex-direction: column; gap: 8px; }
.wb-paste {
  display: flex; flex-direction: column; gap: 3px; align-items: center; justify-content: center;
  border: 2px dashed #2a3352; border-radius: 10px; padding: 14px 12px; cursor: pointer;
  color: #8b96a8; font-size: 12.5px; text-align: center; outline: none; background: #101731;
}
.wb-paste b { color: #cfd8ea; font-size: 13px; }
.wb-paste:hover, .wb-paste:focus, .wb-paste.over { border-color: #2AABEE; background: #101f3f; }
.wb-paste.over { border-style: solid; }
.wb-paste.busy { border-color: #f5c669; }
.wb-paste-sub { color: #5a6a8b; font-size: 11px; }
.wb-thumbs { display: flex; flex-wrap: wrap; gap: 8px; min-height: 24px; align-items: center; }
.wb-thumbs-loading, .wb-thumbs-empty { color: #44507a; font-size: 11.5px; font-style: italic; }
.wb-thumb { position: relative; width: 96px; height: 72px; border: 1px solid #1c2542; border-radius: 8px;
  overflow: hidden; background: #161e38; cursor: zoom-in; }
.wb-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wb-thumb:hover { border-color: #2AABEE88; }
.wb-thumb-x { position: absolute; top: 2px; right: 2px; background: rgba(10,14,26,.85); color: #f08ca0;
  border: none; border-radius: 5px; font-size: 13px; line-height: 1; padding: 2px 5px; cursor: pointer; display: none; }
.wb-thumb:hover .wb-thumb-x { display: block; }
.wb-thumb-x:hover { background: #57182c; }
#wb-lightbox { position: fixed; inset: 0; z-index: 13500; background: rgba(5,8,16,.9);
  display: flex; align-items: center; justify-content: center; cursor: zoom-out; padding: 24px; }
#wb-lightbox img { max-width: 96vw; max-height: 92vh; border-radius: 10px;
  border: 1px solid #2a3352; box-shadow: 0 20px 80px rgba(0,0,0,.7); }

/* ── Workbench: admin lead claiming (take / release / taken pill) ── */
.wb-grid td.t-taken { cursor: default; }
.wb-taken-pill { display: inline-block; background: #4a3208; color: #ffc95c; border: 1px solid #8a6417;
  border-radius: 999px; padding: 2px 9px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.wb-taken-at { display: block; color: #8a6417; font-size: 10px; margin-top: 2px; }
.wb-open-pill { display: inline-block; background: #122b1e; color: #6fd7a7; border: 1px solid #1f5038;
  border-radius: 999px; padding: 2px 9px; font-size: 11px; font-weight: 700; }
.wb-row-locked td.cell { cursor: not-allowed; }
.wb-take-btn { color: #ffc95c; font-weight: 700; }
.wb-take-btn:hover { background: #4a3208; }
.wb-release-btn { color: #f0a35e; font-weight: 700; }
.wb-release-btn:hover { background: #452208; }

/* ── Workbench: admin assigns a lead to a receptionist ── */
.wb-grid td.t-assign { cursor: default; }
.wb-assign-sel { background: #16224a; color: #bcd0f0; border: 1px solid #33427a; border-radius: 6px;
  padding: 3px 5px; font-size: 11.5px; font-family: inherit; cursor: pointer; max-width: 150px; outline: none; }
.wb-assign-sel:hover { border-color: #2AABEE; }
.wb-assign-sel:focus { border-color: #2AABEE; }

/* ── Workbench: "being worked on" indicator on the Status column ── */
.wb-worked-pill { display:inline-block; background:rgba(42,171,238,0.16); color:#7cc8f0;
  border:1px solid rgba(42,171,238,0.45); border-radius:10px; padding:1px 8px;
  font-size:10.5px; margin-top:3px; white-space:nowrap; }

/* ── Workbench: per-lead review chat ── */
.wb-chat-panel { background:#141d3f; border:1px solid #33427a; border-radius:8px; padding:10px; margin:4px 0; }
.wb-chat-head { font-size:12.5px; color:#bcd0f0; }
.wb-chat-head b { color:#fff; }
.wb-chat-sub { display:block; color:#8093c0; font-size:10.5px; font-weight:400; margin-top:2px; }
.wb-chat-msgs { max-height:240px; overflow-y:auto; display:flex; flex-direction:column; gap:8px;
  padding:6px; background:#0f1730; border-radius:6px; border:1px solid #2a3765; }
.wb-chat-msg { max-width:80%; }
.wb-chat-msg.own { align-self:flex-end; text-align:right; }
.wb-chat-meta { font-size:10px; color:#8093c0; margin-bottom:2px; }
.wb-chat-bubble { background:#1d2b56; border:1px solid #33427a; color:#dbe6ff; border-radius:10px;
  padding:6px 10px; font-size:12.5px; white-space:pre-wrap; word-break:break-word; text-align:left; }
.wb-chat-msg.own .wb-chat-bubble { background:#12405e; border-color:#2AABEE; }
.wb-chat-tag { font-size:9px; font-weight:700; letter-spacing:0.5px; border-radius:4px;
  padding:1px 5px; vertical-align:middle; }
.wb-chat-tag.t-admin { background:rgba(233,69,96,0.2); color:#e94560; }
.wb-chat-tag.t-rec { background:rgba(42,171,238,0.18); color:#7cc8f0; }
.wb-chat-tag.t-dev { background:rgba(155,119,255,0.18); color:#b9a3ff; }
.wb-chat-input { display:flex; gap:8px; margin-top:8px; align-items:flex-end; }
.wb-chat-input textarea { flex:1; background:#16224a; color:#e6ecff; border:1px solid #33427a;
  border-radius:6px; padding:8px 10px; font:inherit; font-size:12.5px; resize:vertical;
  min-height:38px; outline:none; }
.wb-chat-input textarea:focus { border-color:#2AABEE; }
.wb-chat-empty { color:#8093c0; font-size:12px; text-align:center; padding:18px 6px; }
.wb-chat-btn { position:relative; }
.wb-chat-btn.wb-has-unread { color:#ffd166; font-weight:700; }
.wb-chat-btn.wb-has-unread::after { content:''; position:absolute; top:-2px; right:-2px; width:8px;
  height:8px; border-radius:50%; background:#e94560; box-shadow:0 0 4px #e94560; }

/* ── Workbench: admin bulk hand-off (checkboxes + bar) ── */
th.bulksel, td.bulksel { min-width:30px; width:30px; text-align:center; }
.wb-bulk-chk, #wb-bulk-all { cursor:pointer; accent-color:#2AABEE; }
.wb-bulk-bar { display:flex; align-items:center; gap:8px; background:rgba(42,171,238,0.12);
  border:1px solid rgba(42,171,238,0.4); border-radius:8px; padding:8px 12px; margin:8px 0;
  font-size:12.5px; color:#cfe3ff; flex-wrap:wrap; }

/* ── Workbench: team roll-up + notifications panels ── */
.wb-team-panel, .wb-notif-panel { background:#141d3f; border:1px solid #33427a; border-radius:10px;
  padding:12px 14px; margin:10px 0; }
.wb-team-head { display:flex; align-items:baseline; gap:10px; margin-bottom:10px; color:#fff; font-size:13px; }
.wb-team-head .wb-chat-sub { margin-top:0; }
.wb-team-x { margin-left:auto; cursor:pointer; color:#8093c0; font-size:18px; line-height:1; }
.wb-team-x:hover { color:#fff; }
.wb-team-cards { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.wb-team-card { background:#0f1730; border:1px solid #2a3765; border-radius:8px; padding:8px 14px;
  text-align:center; min-width:86px; }
.wb-team-card-v { font-size:18px; font-weight:700; color:#7cc8f0; }
.wb-team-card-l { font-size:10px; color:#8093c0; margin-top:2px; }
.wb-team-table { width:100%; border-collapse:collapse; font-size:12px; }
.wb-team-table th { text-align:left; color:#8093c0; font-weight:600; padding:4px 8px;
  border-bottom:1px solid #2a3765; font-size:10.5px; text-transform:uppercase; letter-spacing:0.5px; }
.wb-team-table td { padding:6px 8px; border-bottom:1px solid #202c56; color:#dbe6ff; }
.wb-team-table td.tnum { color:#7cc8f0; font-weight:700; }
.wb-role-tag { font-size:9.5px; font-weight:700; border-radius:4px; padding:1px 6px; text-transform:uppercase; }
.wb-role-tag.r-receptionist { background:rgba(42,171,238,0.18); color:#7cc8f0; }
.wb-role-tag.r-developer { background:rgba(155,119,255,0.18); color:#b9a3ff; }
.wb-role-tag.r-user { background:rgba(255,255,255,0.08); color:#9aa8cc; }
.wb-notif-list { max-height:300px; overflow-y:auto; }
.wb-notif-item { display:flex; gap:10px; padding:8px 6px; border-bottom:1px solid #202c56;
  font-size:12.5px; color:#c6d4f5; }
.wb-notif-item.unread { background:rgba(42,171,238,0.07); }
.wb-notif-item.unread .wb-notif-body > div:first-child { color:#fff; font-weight:600; }
.wb-notif-ico { font-size:15px; }
.wb-notif-meta { color:#8093c0; font-size:10.5px; margin-top:2px; }
.wb-notif-open { color:#2AABEE; }
.wb-notif-empty { color:#8093c0; font-size:12px; padding:14px; text-align:center; }
.wb-notif-badge { display:inline-block; min-width:16px; border-radius:8px; background:#e94560;
  color:#fff; font-size:10px; font-weight:700; padding:1px 4px; margin-left:4px; text-align:center; }

/* ── Attendance: dashboard strip + workbench clock ── */
.att-strip { display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:7px 10px; background:#141d3f; border-bottom:1px solid #2a3765; font-size:12px; }
.att-pill { font-weight:700; padding:2px 10px; border-radius:10px; white-space:nowrap;
  background:rgba(255,255,255,0.07); color:#c6d4f5; }
.att-pill.st-in { background:rgba(74,222,128,0.15); color:#4ade80; }
.att-pill.st-food_break { background:rgba(250,204,21,0.14); color:#facc15; }
.att-pill.st-wash_break { background:rgba(96,165,250,0.15); color:#60a5fa; }
.att-pill.st-out { background:rgba(255,255,255,0.06); color:#8b99bd; }
.att-totals { color:#8093c0; font-size:11px; white-space:nowrap; }
.att-actions { margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
.att-btn { background:#16224a; color:#bcd0f0; border:1px solid #33427a; border-radius:6px;
  padding:4px 10px; font-size:11.5px; cursor:pointer; white-space:nowrap; font-family:inherit; }
.att-btn:hover { border-color:#2AABEE; color:#fff; }
.wb-clock-state { font-size:13px; color:#dbe6ff; margin-bottom:8px; }
.wb-clock-btns { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.wb-clock-totals { color:#8093c0; font-size:11.5px; }
.wb-att-board { margin-top:12px; border-top:1px solid #2a3765; padding-top:8px; }
.wb-att-row { display:flex; align-items:center; gap:10px; padding:4px 0;
  border-bottom:1px solid #202c56; font-size:12px; }
.wb-att-user { color:#dbe6ff; min-width:110px; }
.wb-att-pill { font-size:10.5px; font-weight:700; border-radius:10px; padding:1px 8px; }
.wb-att-pill.att-in { background:rgba(74,222,128,0.15); color:#4ade80; }
.wb-att-pill.att-food { background:rgba(250,204,21,0.14); color:#facc15; }
.wb-att-pill.att-wash { background:rgba(96,165,250,0.15); color:#60a5fa; }
.wb-att-pill.att-out { background:rgba(255,255,255,0.06); color:#8b99bd; }

/* ── Attendance: late flags + report ── */
.wb-late-pill { display:inline-block; background:rgba(233,69,96,0.16); color:#e94560;
  border:1px solid rgba(233,69,96,0.4); border-radius:10px; padding:1px 8px;
  font-size:10.5px; font-weight:700; white-space:nowrap; }

/* ── Attendance: admin tuning row ── */
.wb-att-settings { display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  border-top:1px dashed #2a3765; margin-top:8px; padding-top:8px; }
.wb-att-settings label { display:flex; align-items:center; gap:5px; color:#9fb0d8;
  font-size:11.5px; white-space:nowrap; }
.wb-att-settings input { background:#16224a; color:#e6ecff; border:1px solid #33427a;
  border-radius:5px; padding:3px 6px; font:inherit; font-size:11.5px; outline:none; width:74px; }
.wb-att-settings input:focus { border-color:#2AABEE; }
.wb-att-settings input[type="number"] { width:56px; }

/* ── Leads: country cell select (mirrors the assign select) ── */
.wb-country-sel { background:#16224a; color:#e6ecff; border:1px solid #33427a; border-radius:6px;
  padding:3px 6px; font:inherit; font-size:12px; max-width:126px; outline:none; cursor:pointer; }
.wb-country-sel:focus { border-color:#2AABEE; }
.wb-country-sel:disabled { opacity:0.55; cursor:not-allowed; }
.wb-country-chip { display:inline-block; background:rgba(42,171,238,0.13); color:#7ccdf7;
  border:1px solid rgba(42,171,238,0.35); border-radius:10px; padding:1px 8px;
  font-size:10.5px; font-weight:700; white-space:nowrap; }
.wb-country-chip.wb-chip-any { background:rgba(255,255,255,0.06); color:#9fb0d8; border-color:rgba(255,255,255,0.14); }

/* ── Scripts library ── */
.wb-scripts { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:12px; margin-top:10px; }
.wb-scripts-empty { color:#9fb0d8; font-size:13px; line-height:1.7; text-align:center;
  border:1px dashed #33427a; border-radius:10px; padding:34px 18px; margin-top:12px; }
.wb-script-card { background:#101a3d; border:1px solid #26336a; border-radius:12px; padding:12px 14px;
  display:flex; flex-direction:column; gap:6px; }
.wb-script-head { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.wb-script-title { font-weight:700; font-size:13.5px; color:#eaf1ff; line-height:1.3; }
.wb-script-meta { font-size:11px; color:#8b99bd; }
.wb-script-body { font-size:12.5px; color:#c6d3f5; white-space:pre-wrap; word-break:break-word;
  line-height:1.55; background:rgba(255,255,255,0.03); border-radius:8px; padding:8px 10px;
  max-height:170px; overflow:hidden; }
.wb-script-foot { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:4px; }

.wb-script-editor { background:#0e1737; border:1px solid #2AABEE; border-radius:12px;
  padding:14px 16px; margin-top:10px; display:flex; flex-direction:column; gap:10px; }
.wb-script-ed-head { font-weight:700; font-size:14px; color:#eaf1ff; display:flex;
  flex-direction:column; gap:2px; }
.wb-script-ed-row { display:flex; gap:8px; flex-wrap:wrap; }
.wb-script-ed-row .wb-inp { flex:1; min-width:220px; }
.wb-script-ed-row .wb-sel { width:auto; min-width:170px; flex:0 0 auto; }
.wb-script-editor textarea { background:#16224a; color:#e6ecff; border:1px solid #33427a;
  border-radius:8px; padding:8px 10px; font:inherit; font-size:12.5px; line-height:1.55;
  outline:none; resize:vertical; min-height:110px; width:100%; box-sizing:border-box; }
.wb-script-editor textarea:focus { border-color:#2AABEE; }
.wb-script-ed-note { font-size:12px; color:#9fb0d8; }
.wb-script-ed-foot { display:flex; align-items:center; gap:8px; }
.wb-script-ed-spacer { flex:1; }

/* Outreach-log screenshot viewer header (view-only panel) */
.wb-files-ro { font-size: 12px; color: #9fb0d8; margin-bottom: 8px; }
.wb-files-ro b { color: #e8eefc; }

/* Cash Out column — computed earnings (pct of net receipts, by position) */
.wb-cash-cell { color: #7ee2a8; font-weight: 600; }

/* ── ⛶ Full page: spread the workbench over the whole viewport ── */
.wb-modal.wb-full .wb-panel { width: 100vw; height: 100vh; border-radius: 0; }
.wb-modal.wb-full .wb-modal-body { padding: 16px 22px 22px; }
/* admin page: the embed is lifted out of its tab and fixed over everything */
.wb-inline-full { position: fixed; inset: 0; z-index: 12250; background: #0e1428;
  padding: 12px 18px 16px; overflow: auto; }
/* the ⛶ control in the modal head, next to the ✕ */
.wb-max { cursor: pointer; color: #8b96a8; font-size: 20px; line-height: 1; padding: 0 4px; user-select: none; }
.wb-max:hover { color: #7cc7f5; }

/* negative money cells (negative net / a cut that turned into a debt) */
.wb-grid td.t-money.neg { color: #f08ca0; }

/* ── professional editing: finishing bar, panel close buttons, paste polish ── */
.wb-edit-bar { position: sticky; top: 0; z-index: 6; display: flex; align-items: center; gap: 10px;
  background: #0f3460f2; border-bottom: 1px solid #1c4f8f; color: #cfe4ff; padding: 6px 12px;
  font-size: 12px; border-radius: 10px 10px 0 0; }
.wb-edit-bar b { color: #fff; }
.wb-edit-hint { color: #8fa8d8; }
.wb-edit-bar .wb-done-btn { color: #4ade80; font-weight: 700; }
.wb-edit-bar .wb-cancel-btn { color: #f08ca0; font-weight: 700; }
.wb-edit-inp { box-shadow: inset 0 0 0 2px #2AABEE66; border-radius: 3px; }
.wb-panel-x { float: right; cursor: pointer; color: #8b96a8; background: transparent; border: none;
  font-size: 14px; line-height: 1.2; padding: 2px 6px; margin: -2px 0 0 8px; border-radius: 5px; }
.wb-panel-x:hover { color: #e94560; background: #e9456022; }
.wb-files-head { display: flex; align-items: baseline; gap: 10px; font-size: 12.5px; color: #cfe0ff; }
.wb-files-head b { color: #fff; }
.wb-files-head .wb-panel-x { float: none; margin: 0 0 0 auto; align-self: center; }
/* the chat / view-only headers are plain text blocks — float the close button */
.wb-chat-head .wb-panel-x, .wb-files-ro .wb-panel-x { float: right; margin: -2px 0 0 8px; }

/* Excel-style range selection (workbench v13): the active cell keeps the
   strong .sel highlight, the rest of the dragged/shift-selected block gets
   a soft tint; cells select as cells, never as selectable text. */
.wb-grid td.cell { user-select: none; -webkit-user-select: none; }
.wb-grid td.cell.selrange { background: rgba(42, 171, 238, 0.16) !important; }
.wb-grid td.cell.wb-fill-yellow { background: #fff2b2 !important; color: #463600; }
.wb-grid td.cell.wb-fill-green { background: #c6efce !important; color: #164b25; }
.wb-grid td.cell.wb-fill-blue { background: #c9e3fa !important; color: #153c61; }
.wb-grid td.cell.wb-fill-pink { background: #f8c9da !important; color: #64233e; }
.wb-grid td.cell.wb-fill-orange { background: #fbd7b0 !important; color: #63370d; }
.wb-grid td.cell.wb-fill-purple { background: #dfcff4 !important; color: #442467; }
.wb-grid td.cell.selrange { box-shadow: inset 0 0 0 999px #2aabee25; }
.wb-grid td.cell.sel { outline: 2px solid #22c55e; }
.wb-grid td.cell.editing, .wb-grid td.cell.editing input,
.wb-grid td.cell.editing textarea { user-select: text; -webkit-user-select: text; }
.wb-edit-bar { flex-wrap: wrap; }

/* A sheet owns its scrolling area; the popup no longer clips it to 52vh. */
.wb-modal .wb-modal-body { min-height: 0; min-width: 0; display: flex; flex-direction: column; }
.wb-modal-body > * { flex-shrink: 0; }
.wb-modal-body > .wb-gridwrap { flex: 1 0 240px; max-height: none; min-height: 240px; }
.wb-inline-full { display: flex; flex-direction: column; }
.wb-inline-full > * { flex-shrink: 0; }
.wb-inline-full > .wb-gridwrap { flex: 1 0 240px; max-height: none; }
.wb-gridwrap { max-width: 100%; scrollbar-gutter: stable; scrollbar-color: #6c94c8 #142347; scrollbar-width: auto; }
.wb-gridwrap::-webkit-scrollbar { width: 14px; height: 14px; }
.wb-gridwrap::-webkit-scrollbar-thumb { background: #6c94c8; border: 3px solid #142347; border-radius: 8px; }
.wb-gridwrap::-webkit-scrollbar-track { background: #142347; }
.wb-grid td.cell { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 72px; line-height: 1.5; }
.wb-gridwrap.wb-nowrap td.cell { white-space: nowrap; }
.wb-grid td.cell:focus-visible, .wb-gridwrap:focus-visible { outline: 2px solid #7cc7f5; outline-offset: -2px; }
.wb-grid .rowact { z-index: 4; }
.wb-grid thead .rowact { z-index: 6; }
.wb-cell-preview { display: flex; gap: 12px; padding: 9px 12px; margin-bottom: 8px; border: 1px solid #33427a;
  border-radius: 8px; background: #101b38; color: #dbe6ff; font-size: 12px; min-width: 0; }
.wb-cell-preview b { flex-shrink: 0; color: #7cc7f5; }
.wb-cell-preview span { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 110px; overflow: auto; user-select: text; }
.wb-tools #wb-wrap[aria-pressed="true"] { color: #b3e3ff; border-color: #2AABEE; background: #12305c; }
.wb-tabs { flex-wrap: wrap; }
.wb-period-panel { margin: 12px 0; padding: 16px; border: 1px solid #45649b; border-radius: 10px; background: #142347; }
.wb-period-panel label { display: inline-flex; flex-direction: column; gap: 6px; margin: 8px 14px 8px 0; }
.wb-period-panel p { color: #c4d3ed; line-height: 1.6; }
.wb-period-panel [role="alert"] { color: #fda4af; }
.wb-archive-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.wb-grid td.wb-archive-cell { padding: 8px 10px; border-right: 1px solid #3b4d85; border-bottom: 1px solid #3b4d85; white-space: pre-wrap; min-width: 100px; user-select: text; }
.wb-grid td.wb-archive-cell.wb-fill-yellow { background: #fff2b2; color: #463600; }
.wb-grid td.wb-archive-cell.wb-fill-green { background: #c6efce; color: #164b25; }
.wb-grid td.wb-archive-cell.wb-fill-blue { background: #c9e3fa; color: #153c61; }
.wb-grid td.wb-archive-cell.wb-fill-pink { background: #f8c9da; color: #64233e; }
.wb-grid td.wb-archive-cell.wb-fill-orange { background: #fbd7b0; color: #63370d; }
.wb-grid td.wb-archive-cell.wb-fill-purple { background: #dfcff4; color: #442467; }
@media (max-width: 640px) {
  .wb-modal.wb-full .wb-modal-body { padding: 10px; }
  .wb-modal .wb-modal-head { gap: 8px; padding: 10px; }
  .wb-cell-preview { flex-direction: column; gap: 4px; }
  .wb-tools .wb-inp { max-width: 100%; box-sizing: border-box; }
}
