/* Shared workbench presentation. No business or sending behavior changes. */
:root {
  --control-radius: 6px;
  --surface-radius: 6px;
  --control-height: 40px;
}

body {
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  line-height: 1.5;
}

.workspace, .panel, .console-section, .section-grid > *,
.lead-layout > *, .publish-grid > *, .form-grid > * {
  min-width: 0;
}

button, .file-button {
  min-height: var(--control-height);
  border-radius: var(--control-radius);
  line-height: 1.4;
  padding: 8px 14px;
}

button, a, input, select, textarea, summary {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible, a:focus-visible, summary:focus-visible,
.file-button:focus-within {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select {
  height: var(--control-height);
  border-radius: var(--control-radius);
}

textarea { border-radius: var(--control-radius); }
input[readonly] { background: #f8fafc; color: var(--muted); }

.file-button { position: relative; color: var(--blue); background: var(--panel); }
.file-button input[type="file"] {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

button.danger-outline {
  background: var(--panel);
  border-color: #dfb4b4;
  color: #ad3030;
}

.panel-head { flex-wrap: wrap; align-items: flex-start; gap: 16px; }
.panel-head > div:first-child:not(.button-row) { flex: 1 1 280px; min-width: 0; }
.panel-head > .button-row { flex: 0 1 auto; margin-top: 0; }
.panel-head p { line-height: 1.6; overflow-wrap: anywhere; }
.button-row { gap: 8px; }
.button-row button { white-space: normal; }
.steps a.active, .steps a.active::before { color: var(--blue); }
.steps a:hover:not(.active) { background: #f8fafc; }
.account-admin > h3:not(:first-child) { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }

.console-overview-item span, .strategy-brief-item span {
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  line-height: 1.5;
}

.panel, .empty-state, .draft, .campaign-card, .review-card,
.console-overview-card, .strategy-brief-card, .lead-import, .lead-summary {
  border-radius: var(--surface-radius);
}

.empty-state { padding: 24px; text-align: center; border: 1px solid var(--line); }
.empty-state strong { display: block; color: var(--ink); font-size: 16px; }
.empty-state p { margin: 8px 0 12px; color: var(--muted); }
.empty-state a { color: var(--blue); text-underline-offset: 3px; }
.lead-table-wrap { max-width: 100%; }
.lead-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.lead-pagination small { flex-basis: 100%; color: var(--muted); }
.lead-pagination span { font-variant-numeric: tabular-nums; }
.mail-readiness-card { padding: 14px 16px; margin: 14px 0; border: 1px solid var(--line); border-radius: var(--surface-radius); background: #f8fafc; }
.mail-readiness-card .button-row { justify-content: space-between; margin-bottom: 10px; }
#mailReadinessResult { line-height: 1.6; overflow-wrap: anywhere; }
.lead-table-wrap:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }

@media (min-width: 981px) {
  .sidebar { display: flex; flex-direction: column; overflow-y: auto; }
  .account-box { position: static; margin: auto 14px 16px; padding-top: 24px; flex-shrink: 0; }
  .sidebar > .brand, .sidebar > .panel, .steps { flex-shrink: 0; }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .console-overview-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strategy-brief-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .sidebar .panel.compact { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 10px 12px; }
  .sidebar .stat-row { margin: 0; }
  .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 0 12px; }
  .steps a { padding: 8px 4px; justify-content: center; gap: 4px; }
  .steps a::before { display: none; }
  .steps a.active::after { left: 0; }
  .account-box { margin: 10px 12px; }
  .panel-head > div:first-child:not(.button-row) { flex-basis: auto; }
  .panel:not(.compact) { padding: 16px; }
  .panel-head > .button-row { width: 100%; }
  .panel-head .button-row button { width: auto; flex: 1 1 130px; }
  .steps a { display: flex; min-height: 44px; }
  .topbar h2 { font-size: 22px; }
  button, .file-button { min-height: 44px; }
  .strategy-brief-list { grid-template-columns: 1fr; }
  .auth-card { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
.mail-preflight-checks {
  display: grid;
  gap: 12px;
  margin: 16px 0;
  padding: 0;
  list-style: none;
}

.mail-preflight-checks li {
  padding-left: 12px;
  border-left: 3px solid #9db2c9;
}

.mail-preflight-checks li[data-status="warning"] { border-left-color: #d58b14; }
.mail-preflight-checks li[data-status="manual"] { border-left-color: #4a88c7; }
.mail-preflight-checks strong,
.mail-preflight-checks span { display: block; }
.mail-preflight-checks strong { margin-bottom: 4px; }
.mail-preflight-checks span { color: #526379; line-height: 1.65; overflow-wrap: anywhere; }

