/* Adopt shared tokens in the existing internal screens. Keep their data and layout rules. */
body:not(.client-user) {
  --bg-1: var(--bo-canvas); --bg-2: var(--bo-canvas);
  --text: var(--bo-ink); --muted: var(--bo-muted);
  --glass-bg: var(--bo-surface); --glass-bg-strong: var(--bo-surface);
  --glass-border: var(--bo-line); --field-bg: var(--bo-surface);
  --menu-bg: var(--bo-surface); --hair: var(--bo-line);
  --accent: var(--bo-accent); --accent-soft: var(--bo-accent-soft);
  --accent-hover: var(--bo-accent-fill); --accent-active: var(--bo-accent-fill);
  --good: var(--bo-success); --good-soft: var(--bo-success-soft);
  --warn: var(--bo-warning); --warn-soft: var(--bo-warning-soft);
  --bad: var(--bo-danger); --bad-soft: var(--bo-danger-soft);
  --radius: var(--bo-radius-lg); --glass-shadow: 0 1px 2px #00000005;
  --glass-shadow-hover: var(--bo-shadow);
  font-family: var(--bo-font); font-size: var(--bo-text-sm); line-height: 1.5;
  background: var(--bo-canvas); color: var(--bo-ink);
}
body:not(.client-user) .bg-decor { display: none; }
body:not(.client-user) :is(.glass, .client-card, .config-card, .pane, .card) { border-color: var(--bo-line); border-radius: var(--bo-radius-md); backdrop-filter: none; -webkit-backdrop-filter: none; }
body:not(.client-user) .sidebar { background: var(--bo-surface); border: 1px solid var(--bo-line); box-shadow: none; border-radius: var(--bo-radius-md); }
body:not(.client-user) .nav-item { border-radius: var(--bo-radius-sm); min-height: 38px; color: var(--bo-muted); font-size: 14px; }
body:not(.client-user) .nav-item.active { color: var(--bo-accent); background: var(--bo-accent-soft); font-weight: 600; }
body:not(.client-user) .nav-item:hover { color: var(--bo-ink); background: var(--bo-surface-soft); }
body:not(.client-user) .view-title { font-size: clamp(24px, 2vw, 30px); font-weight: 650; letter-spacing: -.03em; }
body:not(.client-user) .view-sub { line-height: 1.6; color: var(--bo-muted); }
body:not(.client-user) .btn-primary { min-height: 38px; background: var(--bo-accent-fill); color: #fff; border: 1px solid var(--bo-accent-fill); border-radius: var(--bo-radius-sm); box-shadow: none; font-weight: 600; }
body:not(.client-user) .btn-primary:hover:not(:disabled) { background: var(--bo-accent-fill); filter: brightness(.94); transform: none; box-shadow: none; }
/* Keep light text on a solid fill. Use a separate blue for links and focus. */
body:not(.client-user) :is(.btn-pw, .cr-step-number, .vp-render-choice i, #website-edit.on,
  .seqcv-node.trigger .seqcv-ico, .seqcv-circ, .mon-filterchip .mon-filter-clear:hover,
  .gm-connect-btn, .wa-jump-badge, .wa-composer input:not(:placeholder-shown) ~ .btn-primary,
  .fw-card-check-on, .btn-accent:hover, .seq-var-chip:hover,
  .seq-test-lead-btn, .cal-dayhead.today .cal-dh-num, .cal-today-badge,
  .cal-mcell.today .cal-mnum, .sa-cal-day.today .sa-cal-day-head b, .sa-cal-year-day.today,
  .cc-publish, .cc-toggle, .lanz-step.on .lanz-step-n, .lanz-drive-file i,
  .lanz-vid-note > span, .design-step.on b, .lzp-mark, .drv-mark, .nov-badge,
  .nov-publicar, .nav-count, .mk-time-date.is-today b, .mk-month-day-heading .is-today,
  .drive-tile.dimp-sel .dimp-check, .drive-tile.pres-sel .dimp-check) {
  background: var(--bo-accent-fill); color: #fff;
}
body:not(.client-user) :is(.seg button.on, .seq-parts-pill.active,
  .ia-hermes.active, .sales-lb-tab[aria-pressed="true"], .ag-chip[aria-pressed="true"],
  .mk-mini-grid button.is-selected) {
  background: var(--bo-accent-soft); color: var(--bo-accent); border-color: var(--bo-line); box-shadow: none;
}
body:not(.client-user) .btn-ghost { min-height: 36px; border-color: var(--bo-line); border-radius: var(--bo-radius-sm); color: var(--bo-ink); box-shadow: none; }
body:not(.client-user) .btn-ghost:hover:not(:disabled) { background: var(--bo-surface-soft); border-color: var(--bo-muted); }
body:not(.client-user) .btn-ghost.danger { color: var(--bo-danger); }
body:not(.client-user) .btn-ghost.mini { min-height: 30px; }
body:not(.client-user) :is(.btn-primary, .btn-ghost):active { transform: none; }
body:not(.client-user) :is(.btn-primary, .btn-ghost, .nav-item, .client-card, .kb-card):focus-visible { outline: 2px solid var(--bo-accent); outline-offset: 3px; box-shadow: none; }
body:not(.client-user) :is(.control select, .control input, .search-box, .fld, .cc-in, .kb-filtro, .clients-filter-search, .clients-filter-am select, .tool-form:not(.kb-detalle-card) input, .tool-form:not(.kb-detalle-card) select, .tool-form:not(.kb-detalle-card) textarea) { border-color: var(--bo-line); border-radius: var(--bo-radius-sm); background: var(--bo-surface); color: var(--bo-ink); }
body:not(.client-user) :is(.control select, .control input, .search-box, .fld, .cc-in, .kb-filtro):focus { border-color: var(--bo-accent); box-shadow: 0 0 0 3px var(--bo-accent-soft); }
body:not(.client-user) :is(.control select, .control input, .search-box, .fld, .cc-in):disabled { color: var(--bo-muted); background: var(--bo-surface-soft); }
body:not(.client-user) .client-grid { gap: var(--bo-space-4); }
body:not(.client-user) .client-card { box-shadow: none; background: var(--bo-surface); padding: var(--bo-space-5); }
body:not(.client-user) .client-card.clickable:hover { transform: none; border-color: var(--bo-accent); box-shadow: 0 0 0 1px var(--bo-accent-soft); }
body:not(.client-user) .client-card .c-name { font-size: 16px; font-weight: 600; line-height: 1.4; padding-right: 22px; }
body:not(.client-user) .client-card .c-edit { opacity: 1; }
body:not(.client-user) .cd-header { gap: var(--bo-space-6); }
body:not(.client-user) .config-card { padding: var(--bo-space-6); background: var(--bo-surface); }
body:not(.client-user) :is(.config-card h3, .cfg-section > h3, .pane-intro h3) { font-size: 18px; font-weight: 600; }
body:not(.client-user) .kb-col { background: var(--bo-surface-soft); border: 1px solid var(--bo-line); border-radius: var(--bo-radius-md); }
body:not(.client-user) .kb-col-head { border-bottom: 1px solid var(--bo-line); }
body:not(.client-user) .kb-col-tit { letter-spacing: .035em; color: var(--bo-muted); font-size: 12px; font-weight: 600; }
body:not(.client-user) .kb-card { background: var(--bo-surface); border-color: var(--bo-line); border-radius: var(--bo-radius-sm); box-shadow: none; }
body:not(.client-user) .kb-card:hover { border-color: var(--bo-accent); box-shadow: 0 0 0 1px var(--bo-accent-soft); transform: none; }
body:not(.client-user) .kb-card-tit { font-size: 14px; font-weight: 600; line-height: 1.45; }
body:not(.client-user) :is(.kb-chip, .ticket-chip, .auto-badge, .mk-badge) { border-radius: var(--bo-radius-sm); }
body:not(.client-user) :is(.ticket-row, .mk-dialog, .auto-modal-card, .mk-content) { border-color: var(--bo-line); border-radius: var(--bo-radius-md); background: var(--bo-surface); }
body:not(.client-user) :is(.mk-field input, .mk-field textarea, .mk-field select, .mk-filters input, .mk-filters select) { background: var(--bo-surface); border-color: var(--bo-line); border-radius: var(--bo-radius-sm); }
body:not(.client-user) .mk-dialog::backdrop { background: #0b162e66; }
body:not(.client-user) :is(.status, .conn-status, .mk-notice) { border-radius: var(--bo-radius-sm); }
@media (hover: none) { body:not(.client-user) :is(.btn-primary, .btn-ghost, .nav-item) { min-height: 40px; } }
@media (prefers-reduced-motion: reduce) { body:not(.client-user) :is(.btn-primary, .btn-ghost, .nav-item, .client-card, .kb-card) { transition: none; } }

/* Client campaign readiness. Keep source, active status, and readiness separate. */
body:not(.client-user) .readiness-intro,
body:not(.client-user) .readiness-board,
body:not(.client-user) .readiness-detail-card {
  border: 1px solid var(--bo-line);
  border-radius: var(--bo-radius-md);
  background: var(--bo-surface);
  padding: var(--bo-space-5);
}
body:not(.client-user) .readiness-intro {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--bo-space-4); margin: var(--bo-space-4) 0;
}
body:not(.client-user) .readiness-safety-note { margin: 0; max-width: 300px; color: var(--bo-muted); font-size: 12px; }
body:not(.client-user) .readiness-counts,
body:not(.client-user) .readiness-card-meta,
body:not(.client-user) .readiness-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body:not(.client-user) .readiness-counts { margin: 12px 0 16px; }
body:not(.client-user) .readiness-count { border: 1px solid var(--bo-line); border-radius: var(--bo-radius-sm); background: var(--bo-surface); padding: 8px 12px; color: var(--bo-ink); font-size: 13px; }
body:not(.client-user) .readiness-client-list { display: grid; gap: 12px; }
body:not(.client-user) .readiness-client-card { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(240px, 1.4fr) auto; align-items: start; gap: 14px; border: 1px solid var(--bo-line); border-radius: var(--bo-radius-md); background: var(--bo-surface); padding: 16px; }
body:not(.client-user) .readiness-client-name { font-weight: 650; color: var(--bo-ink); }
body:not(.client-user) .readiness-pill { display: inline-flex; align-items: center; border: 1px solid var(--bo-line); border-radius: 999px; padding: 2px 8px; color: var(--bo-muted); background: var(--bo-surface-soft); font-size: 11px; line-height: 1.6; }
body:not(.client-user) .readiness-pill.is-ready { color: var(--bo-success); background: var(--bo-success-soft); }
body:not(.client-user) .readiness-pill.is-not-ready { color: var(--bo-danger); background: var(--bo-danger-soft); }
body:not(.client-user) .readiness-data-list { margin: 8px 0 0; padding-left: 18px; color: var(--bo-muted); font-size: 12px; }
body:not(.client-user) .readiness-data-list li + li { margin-top: 3px; }
body:not(.client-user) .readiness-section-title { margin: 0; font-size: 18px; font-weight: 650; }
body:not(.client-user) .readiness-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; border-bottom: 1px solid var(--bo-line); padding-bottom: 16px; margin-bottom: 16px; }
body:not(.client-user) .readiness-milestones { display: grid; gap: 8px; margin: 14px 0 20px; }
body:not(.client-user) .readiness-milestone { display: grid; grid-template-columns: 26px minmax(120px, 0.7fr) minmax(160px, 1fr) minmax(180px, 1.4fr); gap: 10px; align-items: start; border: 1px solid var(--bo-line); border-radius: var(--bo-radius-sm); padding: 10px 12px; }
body:not(.client-user) .readiness-milestone.is-done { background: var(--bo-success-soft); }
body:not(.client-user) .readiness-mark { font-weight: 700; color: var(--bo-danger); }
body:not(.client-user) .readiness-milestone.is-done .readiness-mark { color: var(--bo-success); }
body:not(.client-user) .readiness-evidence { color: var(--bo-muted); font-size: 12px; overflow-wrap: anywhere; }
body:not(.client-user) .readiness-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body:not(.client-user) .readiness-field { display: grid; gap: 6px; border: 1px solid var(--bo-line); border-radius: var(--bo-radius-sm); padding: 12px; background: var(--bo-surface); }
body:not(.client-user) .readiness-field > span { font-size: 13px; font-weight: 600; }
body:not(.client-user) .readiness-field input:not([type="checkbox"]),
body:not(.client-user) .readiness-field textarea { width: 100%; min-height: 38px; border: 1px solid var(--bo-line); border-radius: var(--bo-radius-sm); padding: 8px 10px; color: var(--bo-ink); background: var(--bo-surface); font: inherit; }
body:not(.client-user) .readiness-field textarea { min-height: 78px; resize: vertical; }
body:not(.client-user) .readiness-field :is(input, textarea):focus { outline: 2px solid var(--bo-accent); outline-offset: 1px; }
body:not(.client-user) .readiness-confirm { display: flex; align-items: flex-start; gap: 8px; color: var(--bo-ink); font-size: 12px; }
body:not(.client-user) .readiness-confirm input { margin-top: 3px; accent-color: var(--bo-accent); }
body:not(.client-user) .readiness-next-action { margin-top: 14px; padding: 12px; border-left: 3px solid var(--bo-accent); background: var(--bo-surface-soft); }
body:not(.client-user) .readiness-error { border: 1px solid var(--bo-danger); border-radius: var(--bo-radius-sm); padding: 12px; color: var(--bo-danger); background: var(--bo-danger-soft); }
@media (max-width: 760px) {
  body:not(.client-user) .readiness-intro { display: grid; }
  body:not(.client-user) .readiness-client-card { grid-template-columns: 1fr; }
  body:not(.client-user) .readiness-milestone { grid-template-columns: 26px minmax(0, 1fr); }
  body:not(.client-user) .readiness-milestone > :nth-child(n+3) { grid-column: 2; }
  body:not(.client-user) .readiness-summary, body:not(.client-user) .readiness-form-grid { grid-template-columns: 1fr; }
}
