/* SphereSync Terminal — scoped port of the prototype stylesheet.
 *
 * Source of truth: design/sphere-terminal (patterns/sphere-terminal in the
 * "SphereSync Design System" Claude Design project) — index.html <style>.
 * Every selector is scoped under .ss-terminal so nothing leaks into the rest
 * of the app (the sidebar shell keeps Inter + shadcn tokens untouched until
 * full cutover). Loaded only by the lazy /terminal chunk.
 */

.ss-terminal {
  --teal: #01A4B0;
  --teal-deep: #00808A;
  --teal-soft: #DCF1F4;
  --dk: #005D6C;
  --dk2: #003D47;
  --lime: #99CA3C;
  --g700: #374151;
  --g600: #4B5563;
  --g500: #6B7280;
  --g400: #9CA3AF;
  --ln: #E5E7EB;
  --ln2: #EEF1F3;
  --band: #F4F7F8;
  --wash: #F0FAFB;

  position: fixed;
  inset: 0;
  z-index: 40; /* above the app, below toasts */
  display: flex;
  flex-direction: column;
  background: #F8F9FA;
  color: var(--g700);
  font-family: 'Montserrat', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
.ss-terminal *, .ss-terminal *::before, .ss-terminal *::after { box-sizing: border-box; }
.ss-terminal h1, .ss-terminal h2, .ss-terminal h3, .ss-terminal h4 {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: var(--dk);
  margin: 0;
}
.ss-terminal a { color: var(--teal-deep); }
.ss-terminal a:hover { color: var(--dk); }
.ss-terminal button { font-family: 'Montserrat', sans-serif; }

.ss-terminal .top { height: 44px; flex: none; background: var(--dk2); display: flex; align-items: center; gap: 16px; padding: 0 16px; }
.ss-terminal .word { color: #fff; font: 700 16px 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing: -0.02em; }
.ss-terminal .word em { font-style: normal; color: #8FD8DE; }
.ss-terminal .status { color: #B5E3E7; font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-terminal .dom { margin-left: auto; color: rgba(255, 255, 255, 0.55); font-size: 12px; }

.ss-terminal .cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 1; min-height: 0; }
.ss-terminal .col { background: #fff; border-right: 1px solid var(--ln); overflow-y: auto; min-height: 0; }
.ss-terminal * { scrollbar-width: thin; scrollbar-color: rgba(0, 93, 108, 0.18) transparent; }
.ss-terminal *::-webkit-scrollbar { width: 6px; height: 6px; }
.ss-terminal *::-webkit-scrollbar-track { background: transparent; }
.ss-terminal *::-webkit-scrollbar-thumb { background: rgba(0, 93, 108, 0.16); border-radius: 99px; }
.ss-terminal *:hover::-webkit-scrollbar-thumb { background: rgba(0, 93, 108, 0.32); }
.ss-terminal .col.coach { border-right: none; background: var(--band); display: flex; flex-direction: column; }

.ss-terminal .colhead { height: 64px; min-height: 64px; box-sizing: border-box; flex-shrink: 0; position: sticky; top: 0; z-index: 3; background: #fff; padding: 0.8rem 1.25rem; border-bottom: 1px solid var(--ln); display: flex; align-items: center; gap: 8px; }
.ss-terminal .coach .colhead { background: var(--band); }
.ss-terminal .colhead h2 { font-size: 15px; font-weight: 700; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-terminal .actions-header-tools { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.ss-terminal .actions-colhead > .dot { flex-shrink: 0; }
.ss-terminal .actions-reorder-hint { font-size: 14px; color: var(--g400); white-space: nowrap; }
.ss-terminal .colhead .glyph { color: var(--g400); font-size: 13px; }
.ss-terminal .col-accent { background: linear-gradient(180deg, #FDFEFE, #F7FCFC); box-shadow: inset 1px 0 0 rgba(1, 164, 176, 0.25), inset -1px 0 0 rgba(1, 164, 176, 0.25); }
.ss-terminal .colhead-accent { background: linear-gradient(180deg, #FFFFFF, #F2FAFB); border-bottom: 1px solid rgba(1, 164, 176, 0.35); box-shadow: inset 0 -2px 0 rgba(1, 164, 176, 0.35); }
.ss-terminal .colhead-accent h2 { background: linear-gradient(90deg, var(--dk2), var(--teal-deep)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.ss-terminal .lbl { font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--teal-deep); padding: 1.1rem 1.25rem 0.45rem; }
.ss-terminal .chip { border-radius: 99px; background: var(--band); border: 1px solid var(--ln); display: inline-flex; align-items: center; justify-content: center; flex: none; overflow: hidden; }
.ss-terminal .row { display: flex; align-items: center; gap: 10px; padding: 0.65rem 1.25rem; border-bottom: 1px solid var(--ln2); cursor: pointer; background: none; border-left: 0; border-right: 0; border-top: 0; width: 100%; text-align: left; font-size: 14px; color: var(--g700); }
.ss-terminal .row:hover { background: #F8FAFB; }
/* Keep action headings steady as counts and summaries update. Expanded panels size naturally. */
.ss-terminal .action-row { height: 4.5rem; box-sizing: border-box; gap: 8px; }
.ss-terminal .action-row-copy { flex: 1; min-width: 0; }
.ss-terminal .action-row-title { display: block; font-size: 13px; line-height: 1.125rem; font-weight: 700; letter-spacing: -.01em; color: var(--dk); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-terminal .action-row-summary { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 1.125rem; margin-top: .125rem; color: var(--g500); }
.ss-terminal .action-row .grip { opacity: .45; transition: opacity 150ms; }
.ss-terminal .action-row:hover .grip, .ss-terminal .action-row:focus-visible .grip { opacity: 1; }
.ss-terminal .action-row .badge { background: var(--teal-soft); color: var(--dk); font-weight: 700; border-radius: 5px; }
.ss-terminal .action-row-count { width: 2rem; flex: none; display: flex; justify-content: flex-end; }
.ss-terminal .chev { color: var(--g400); font-size: 17px; line-height: 1; transition: transform 150ms; flex: none; margin-left: auto; }
.ss-terminal .chev.open { transform: rotate(90deg); }
.ss-terminal .badge { background: var(--dk); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 0.05em; padding: 2px 7px; border-radius: 6px; flex: none; }
.ss-terminal .dncchip { display: inline-flex; align-items: center; font-size: 9px; font-weight: 800; letter-spacing: 0.06em; color: #B45309; background: #FDF3E4; border: 1px solid #F0DDBB; border-radius: 5px; padding: 0 5px; margin-left: 6px; vertical-align: 1px; }

.ss-terminal .trialbar { flex: none; display: flex; align-items: center; gap: 12px; background: var(--wash); border-bottom: 1px solid var(--ln); padding: 0 16px; height: 36px; font-size: 12.5px; color: var(--g600); white-space: nowrap; overflow: hidden; }
.ss-terminal .trialbar.amber { background: #FDF3E4; border-color: #F0DDBB; }
.ss-terminal .trialbar.dark { background: var(--dk2); color: rgba(255, 255, 255, 0.85); border-color: var(--dk2); }
.ss-terminal .trialbar.red { background: #FDECEC; border-color: #F3C8C8; }

.ss-terminal .topsearch { position: relative; flex: none; }
.ss-terminal .topsearch input { width: 210px; height: 28px; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 8px; background: rgba(255, 255, 255, 0.1); color: #fff; padding: 0 10px; font: 500 12.5px 'Montserrat', sans-serif; outline: none; }
.ss-terminal .topsearch input::placeholder { color: rgba(255, 255, 255, 0.55); }
.ss-terminal .topsearch input:focus { border-color: var(--teal); background: rgba(255, 255, 255, 0.15); }
.ss-terminal .searchdrop { position: absolute; top: 34px; left: 0; width: 300px; background: #fff; border: 1px solid var(--ln); border-radius: 12px; box-shadow: 0 12px 32px rgba(0, 61, 71, 0.18); overflow: hidden; z-index: 60; }
.ss-terminal .searchdrop button { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; border: none; background: none; padding: 9px 12px; cursor: pointer; font: 500 13px 'Montserrat', sans-serif; color: var(--g700); border-bottom: 1px solid var(--ln2); }
.ss-terminal .searchdrop button:hover { background: var(--wash); }

.ss-terminal .btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; padding: 0 14px; font-size: 13px; font-weight: 700; border-radius: 8px; border: 1px solid transparent; cursor: pointer; transition: background 200ms, border-color 200ms, color 200ms; text-decoration: none; }
.ss-terminal .btn.pri { background: var(--dk); color: #fff; }
.ss-terminal .btn.pri:hover { background: var(--dk2); }
.ss-terminal .btn.gho { background: transparent; border-color: var(--ln); color: var(--dk); }
.ss-terminal .btn.gho:hover { background: var(--teal-soft); border-color: var(--teal); }
.ss-terminal .btn.lnk { background: none; border: none; color: var(--g500); font-weight: 600; padding: 0 6px; }
.ss-terminal .btn.lnk:hover { color: var(--dk); text-decoration: underline; }
.ss-terminal .btn.sm { min-height: 28px; padding: 0 10px; font-size: 12px; }
.ss-terminal .btn.sm.lnk { min-height: 28px; padding: 0 6px; }
.ss-terminal .btn:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }

.ss-terminal .cell { text-align: center; padding: 12px 8px; flex: 1; }
.ss-terminal .cell b { display: block; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 24px; font-weight: 700; color: var(--dk); font-variant-numeric: tabular-nums; line-height: 1.2; }
.ss-terminal .cell span { font-size: 11px; color: var(--g500); }
.ss-terminal .mini { border: 1px solid var(--ln2); border-radius: 12px; padding: 0.7rem; flex: 1; }
.ss-terminal .mini span { font-size: 11px; color: var(--g500); }
.ss-terminal .mini b { display: block; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; color: var(--dk); font-variant-numeric: tabular-nums; }

.ss-terminal .bv { background: #fff; }
.ss-terminal .setgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
@media (max-width: 900px) {
  .ss-terminal .setgrid { grid-template-columns: 1fr; }
}
.ss-terminal .tabs { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 0.7rem 1.25rem 0; }
.ss-terminal .tab { font-size: 13px; font-weight: 700; padding: 5px 10px; border-radius: 8px; border: none; background: none; color: var(--g500); cursor: pointer; flex: none; }
.ss-terminal .tab.on { background: var(--teal-soft); color: var(--dk); }

.ss-terminal table.q { width: 100%; border-collapse: collapse; font-size: 13px; }
.ss-terminal table.q th { font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--teal-deep); text-align: left; padding: 6px 0; border-bottom: 1px solid var(--ln); }
.ss-terminal table.q td { padding: 7px 0; border-bottom: 1px solid var(--ln2); color: var(--g700); }
.ss-terminal table.q td.num { text-align: right; color: var(--g500); font-variant-numeric: tabular-nums; }
.ss-terminal .nmlink { cursor: pointer; }
.ss-terminal .nmlink:hover { text-decoration: underline; color: var(--dk); }
.ss-terminal .srch { width: 100%; border: 1px solid var(--ln); border-radius: 8px; padding: 7px 10px; font: 500 13px 'Montserrat', sans-serif; color: var(--g700); outline: none; box-sizing: border-box; }
.ss-terminal .srch:focus { border-color: var(--teal); }
.ss-terminal .sig { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--ln2); font-size: 13px; }
.ss-terminal .sig b { font-weight: 700; color: var(--g600); font-variant-numeric: tabular-nums; }
.ss-terminal .sig b.warn { color: var(--teal-deep); }
.ss-terminal .bar { height: 6px; border-radius: 99px; background: var(--ln2); overflow: hidden; flex: 1; }
.ss-terminal .bar i { display: block; height: 100%; background: var(--teal); border-radius: 99px; }

.ss-terminal .colmin { border: none; border-right: 1px solid var(--ln); background: var(--band); cursor: pointer; display: flex; flex-direction: column; align-items: center; padding: 14px 0; gap: 10px; min-height: 0; }
.ss-terminal .colmin:hover { background: var(--teal-soft); }
.ss-terminal .colmin .vlabel { writing-mode: vertical-rl; font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .colbtn { margin-left: auto; background: none; border: none; color: var(--g400); cursor: pointer; font-size: 14px; line-height: 1; padding: 2px 6px; }
.ss-terminal .colbtn:hover { color: var(--dk); }

.ss-terminal .dashed { border: 1px dashed var(--g400); border-radius: 12px; margin: 16px 1.25rem; padding: 28px 22px; text-align: center; color: var(--g600); font-size: 13.5px; }

.ss-terminal .thread { flex: 1; overflow-y: auto; padding: 1rem 1.25rem; }
.ss-terminal .msg { margin-bottom: 18px; }
.ss-terminal .msg .who { font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; margin-bottom: 4px; }
.ss-terminal .msg .who.coach { color: var(--dk); }
.ss-terminal .msg .who.you { color: var(--g500); }
.ss-terminal .msg .body { font-size: 14px; line-height: 1.65; color: var(--g600); white-space: pre-line; }
.ss-terminal .composer { border-top: 1px solid var(--ln); padding: 10px 1.25rem; display: flex; gap: 10px; align-items: flex-end; background: var(--band); }
.ss-terminal .composer textarea { flex: 1; border: none; border-bottom: 1px solid var(--ln); background: none; resize: none; font: 500 14px 'Montserrat', sans-serif; color: var(--g700); padding: 6px 2px; outline: none; line-height: 1.5; max-height: 110px; }
.ss-terminal .composer textarea:focus { border-bottom-color: var(--teal); }

.ss-terminal .person { display: flex; align-items: center; gap: 10px; padding: 0.55rem 1.25rem; border-bottom: 1px solid var(--ln2); font-size: 13px; }
.ss-terminal .person .nm { font-weight: 700; color: var(--g700); }
.ss-terminal .person .ctx { color: var(--g500); font-size: 12px; }
.ss-terminal .person.done .nm, .ss-terminal .person.done .ctx { text-decoration: line-through; color: var(--g400); }
.ss-terminal .person .acts { margin-left: auto; display: flex; gap: 6px; flex: none; }
.ss-terminal .pbtn { min-height: 28px; padding: 0 10px; font-size: 12px; font-weight: 700; border-radius: 8px; border: 1px solid var(--ln); background: #fff; color: var(--dk); cursor: pointer; }
.ss-terminal .pbtn:hover { background: var(--teal-soft); border-color: var(--teal); }
.ss-terminal a.pbtn { display: inline-flex; align-items: center; text-decoration: none; color: var(--dk); }

.ss-terminal .inner { padding: 4px 0 10px; background: #FBFCFD; border-bottom: 1px solid var(--ln2); }
.ss-terminal .inner .pad { padding: 8px 1.25rem; }

/* Narrow (<1100px): columns stack in one page scroll, Coach becomes a drawer. */
@media (max-width: 1100px) {
  .ss-terminal { position: fixed; overflow-y: auto; display: block; }
  .ss-terminal .cols { display: block; height: auto; }
  .ss-terminal .col { overflow: visible; border-right: none; border-bottom: 6px solid var(--ln2); }
  .ss-terminal .colhead { position: static; }
}
.ss-terminal .coachbtn { position: fixed; right: 14px; bottom: 14px; z-index: 60; min-height: 44px; }
.ss-terminal .scrim { position: fixed; inset: 0; background: rgba(0, 61, 71, 0.5); z-index: 70; display: flex; }
.ss-terminal .scrim.center { align-items: center; justify-content: center; padding: 16px; }
.ss-terminal .modal { width: min(640px, 92vw); max-height: 84vh; background: #fff; border: 1px solid var(--ln); border-radius: 12px; display: flex; flex-direction: column; overflow: hidden; }
.ss-terminal .modal.tall { width: min(680px, 94vw); max-height: 92vh; }
.ss-terminal .mhead { display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--ln); }
.ss-terminal .mhead h3 { font-size: 16px; font-weight: 700; }
.ss-terminal .mhead .msub { font-size: 12px; color: var(--g500); margin-top: 2px; }
.ss-terminal .mx { margin-left: auto; background: none; border: none; font-size: 18px; color: var(--g400); cursor: pointer; line-height: 1; padding: 2px 6px; }
.ss-terminal .mx:hover { color: var(--dk); }
.ss-terminal .mbody { padding: 16px 20px; overflow-y: auto; font-size: 14px; line-height: 1.7; color: var(--g600); }
.ss-terminal .mbody p { margin: 0 0 12px; }
.ss-terminal .mfoot { display: flex; align-items: center; gap: 10px; padding: 12px 20px; border-top: 1px solid var(--ln); }
.ss-terminal .mfoot .cap { font-size: 11px; color: var(--g500); margin-left: auto; }
.ss-terminal textarea.factbody {
  width: 100%;
  min-height: 180px;
  border: 1px solid var(--ln);
  border-radius: 10px;
  padding: 10px 13px;
  font: 500 14.5px 'Montserrat', sans-serif;
  color: var(--g600);
  line-height: 1.65;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
  background: #fff;
}
.ss-terminal textarea.factbody:focus { border-color: var(--teal); }

.ss-terminal .tagchip { border: 1px solid var(--ln); background: #fff; border-radius: 99px; padding: 3px 11px; font-size: 12px; font-weight: 600; color: var(--g600); cursor: pointer; }
.ss-terminal .tagchip.on { background: var(--teal-soft); border-color: var(--teal); color: var(--dk); }
.ss-terminal .draft { border: 1px solid var(--ln); border-radius: 12px; padding: 12px 14px; margin: 10px 1.25rem; }
.ss-terminal .draft.wait { border-color: rgba(1, 164, 176, 0.55); background: var(--wash); }
.ss-terminal .draft h4 { font-size: 14px; font-weight: 700; cursor: pointer; color: var(--dk); }
.ss-terminal .draft .st { font-size: 12px; color: var(--g500); margin: 2px 0 10px; }
.ss-terminal .grip { color: var(--g400); cursor: grab; font-size: 13px; flex: none; letter-spacing: -1px; user-select: none; }
.ss-terminal .row:hover .grip { color: var(--g500); }
.ss-terminal .trychip { margin-left: 6px; font-size: 9px; font-weight: 800; letter-spacing: 0.05em; border-radius: 5px; padding: 0 5px; vertical-align: 1px; }
.ss-terminal .trychip.warn { color: #B45309; background: #FDF3E4; border: 1px solid #F0DDBB; }
.ss-terminal .trychip.soft { color: var(--g500); background: var(--band); border: 1px solid var(--ln); }

/* First-run tour: blur the three left columns; the Coach stays sharp. */
.ss-terminal .cols[data-tour="0"] .col:nth-child(1),
.ss-terminal .cols[data-tour="0"] .col:nth-child(2),
.ss-terminal .cols[data-tour="0"] .col:nth-child(3),
.ss-terminal .cols[data-tour="1"] .col:nth-child(2),
.ss-terminal .cols[data-tour="1"] .col:nth-child(3),
.ss-terminal .cols[data-tour="2"] .col:nth-child(3) {
  filter: blur(7px);
  opacity: 0.5;
  pointer-events: none;
  user-select: none;
}

.ss-terminal .contactgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ss-terminal .contactgrid > div { min-width: 0; }
@media (max-width: 900px) {
  .ss-terminal .contactgrid { grid-template-columns: 1fr; }
}
.ss-terminal .kcard { border: 1px solid var(--ln); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; background: #fff; }
.ss-terminal .chipline { display: flex; flex-wrap: wrap; gap: 6px; }
.ss-terminal .col.bv.eb { display: flex; flex-direction: column; overflow: hidden; padding: 0; }

.ss-terminal .hour-mobile {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: var(--band);
  overflow-y: auto;
  padding: 16px;
}
.ss-terminal .hour-card {
  background: #fff;
  border: 1px solid var(--ln);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 12px;
}


/* First entry stays in the real terminal, with one clear reveal per step. */
.ss-terminal .cols > .col { transition:filter 550ms ease,opacity 550ms ease,box-shadow 550ms ease; min-width:0; }
.ss-terminal .cols[data-tour="1"] > .col:nth-child(1),
.ss-terminal .cols[data-tour="2"] > .col:nth-child(2),
.ss-terminal .cols[data-tour="3"] > .col:nth-child(3) { box-shadow:inset 0 3px var(--teal); }
.ss-terminal .coach-avatar { border-radius:50%; flex:none; background:#dceff0; }
.ss-terminal .coach .colhead { padding:16px 20px; flex:none; }
.ss-terminal .coach .colhead .btn { padding:0 6px; font-size:11px; }
.ss-terminal .coach .thread { min-height:0; }
.ss-terminal .composer textarea { min-width:0; }
.ss-terminal .terminal-tour { padding:8px 0 16px; animation:terminal-tour-enter 350ms ease-out; }
.ss-terminal .tour-progress { display:flex; gap:6px; margin:0 0 24px; }
.ss-terminal .tour-progress span { height:3px; flex:1; border-radius:8px; background:#dce5e7; }
.ss-terminal .tour-progress span.on { background:var(--teal); }
.ss-terminal .tour-eyebrow { font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--teal-deep); margin:0 0 12px; }
.ss-terminal .terminal-sloane.ss-onb { min-height:0; background:none; }
.ss-terminal .terminal-sloane .sloane-message { display:block; margin:0 0 24px; }
.ss-terminal .terminal-sloane .sloane-message img,.ss-terminal .terminal-sloane .lbl { display:none; }
.ss-terminal .terminal-sloane .sloane-message-copy { font-size:15px; line-height:1.8; white-space:pre-line; color:#34494f; }
.ss-terminal .tour-next { width:100%; min-height:44px; justify-content:space-between; border-radius:12px; }
.ss-terminal .tour-help { font-size:11px; color:var(--g500); text-align:center; margin:12px 0 0; }
.ss-terminal .terminal-trial { flex:none; min-height:38px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 20px; background:#edf7f7; border-bottom:1px solid #d2e8e9; color:#366069; font-size:12px; }
.ss-terminal .terminal-trial strong { font-weight:600; }
.ss-terminal .trial-dot { width:6px; height:6px; border-radius:50%; background:var(--teal); }
.ss-terminal .terminal-trial button { margin-left:auto; background:none; border:0; color:var(--dk); font-weight:600; cursor:pointer; padding:2px 0; }
.ss-terminal .terminal-trial.needs-attention { background:#fff6e7; border-color:#f0dfbf; }
.ss-terminal .terminal-trial.needs-attention .trial-dot { background:#b07c21; }
.ss-terminal .terminal-trial button:focus-visible,.ss-terminal .tour-next:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
@keyframes terminal-tour-enter { from {opacity:0;transform:translateY(6px)} to {opacity:1;transform:translateY(0)} }
@media (max-width:1100px) {
  .ss-terminal[data-first-run] .cols { display:flex; flex-direction:column; }
  .ss-terminal[data-first-run] .cols > .coach { order:-1; border-bottom:1px solid var(--ln); }
  .ss-terminal[data-first-run] .cols > .coach .thread { overflow:visible; }
  .ss-terminal[data-first-run] .cols[data-tour="0"] > .col:not(.coach),
  .ss-terminal[data-first-run] .cols[data-tour="1"] > .col:not(.coach):not(:nth-child(1)),
  .ss-terminal[data-first-run] .cols[data-tour="2"] > .col:not(.coach):not(:nth-child(2)),
  .ss-terminal[data-first-run] .cols[data-tour="3"] > .col:not(.coach):not(:nth-child(3)) { display:none; }
  .ss-terminal .terminal-tour { max-width:580px; margin:auto; }
  .ss-terminal .trial-detail { display:none; }
  .ss-terminal .top .status { display:none; }
  .ss-terminal .topsearch { min-width:0; flex:1; }
  .ss-terminal .topsearch input { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .ss-terminal .cols > .col { transition:none; }
  .ss-terminal .terminal-tour { animation:none; }
}

/* Keep delivery decisions readable instead of squeezing four footer columns. */
@media (max-width:600px) {
  }

/* Keep the newsletter editor's controls reachable on a phone. */
@media (max-width: 600px) {
  .ss-terminal .newsletter-builder-body { flex-direction: column; }
  .ss-terminal .newsletter-builder-sidebar { width: 100% !important; max-height: 240px; border-bottom: 1px solid var(--ln); }
}

/* One issue on the desk; the archive stays in Newsletters. */
.ss-terminal .nl-latest { margin:16px; padding:16px; background:#fff; border:1px solid var(--ln); border-radius:14px; overflow:hidden; }
.ss-terminal .nl-latest-label { color:var(--teal); font-size:10px; letter-spacing:1.3px; font-weight:800; display:flex; flex-wrap:wrap; gap:6px 12px; }
.ss-terminal .nl-latest-label span { color:var(--g500); font-size:11px; font-weight:500; letter-spacing:0; }
.ss-terminal .nl-latest h4 { margin:10px 0 14px; font-size:17px; line-height:1.4; color:var(--dk); overflow-wrap:anywhere; }
.ss-terminal .nl-latest-canvas { height:300px; overflow:hidden; position:relative; background:#eef3f3; border:1px solid var(--ln); border-radius:7px; }
.ss-terminal .nl-preview-fade { position:absolute; bottom:0; left:0; right:0; height:38px; background:linear-gradient(transparent,#fff); pointer-events:none; }
.ss-terminal .nl-preview-placeholder { padding:24px; color:var(--g500); font-size:13px; }
.ss-terminal .nl-latest > .btn { margin-top:16px; width:100%; justify-content:space-between; }
.ss-terminal .nl-composer fieldset { border:0; padding:0; margin:0; min-width:0; }
.ss-terminal .nl-composer label { display:block; font-size:13px; font-weight:700; color:var(--dk); margin:18px 0 7px; }
.ss-terminal .nl-composer label > span:not(:only-child) { font-weight:500; }
.ss-terminal .nl-composer label > span { font-size:12px; color:var(--g500); margin-left:5px; }
.ss-terminal .nl-composer .srch { width:100%; box-sizing:border-box; }
.ss-terminal .nl-composer textarea { resize:vertical; min-height:85px; }
.ss-terminal .nl-composer-intro { border-left:3px solid var(--teal); padding:4px 0 4px 16px; }
.ss-terminal .nl-composer-kicker { font-size:10px; font-weight:800; letter-spacing:1.4px; color:var(--teal); }
.ss-terminal .nl-composer-intro p { font-size:14px; line-height:1.6; margin:7px 0; color:var(--g600); }
.ss-terminal .nl-composer-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0; }
.ss-terminal .nl-composer label.nl-section-choice { display:flex; gap:10px; align-items:flex-start; margin:0; padding:14px; border:1px solid var(--ln); border-radius:10px; cursor:pointer; }
.ss-terminal .nl-composer label.nl-section-choice.selected { background:#f0f9f9; border-color:#9ed3d8; }
.ss-terminal .nl-section-choice input { margin-top:3px; accent-color:var(--teal); flex:none; }
.ss-terminal .nl-section-choice strong { display:block; font-size:13px; color:var(--dk); }
.ss-terminal .nl-section-choice small { display:block; font-size:12px; line-height:1.5; font-weight:400; margin-top:4px; }
.ss-terminal .nl-composer-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ss-terminal .nl-composer label.nl-image-choice { display:flex; align-items:center; gap:8px; }
.ss-terminal .nl-composer-note { font-size:12px; color:var(--g500); line-height:1.6; }
.ss-terminal .nl-composer-footer { display:flex; gap:16px; justify-content:space-between; align-items:center; width:100%; }
.ss-terminal .nl-composer-footer > span { max-width:250px; font-size:12px; color:var(--g500); line-height:1.5; }
.ss-terminal .nl-composer-error { font-size:13px; padding:12px; background:#fff1ee; border-radius:8px; color:#93402a; }
.ss-terminal .nl-composer-progress { font-size:13px; line-height:1.6; color:var(--dk); }
@media(max-width:600px) {
  .ss-terminal .nl-composer-choices,.ss-terminal .nl-composer-pair { grid-template-columns:1fr; }
  .ss-terminal .nl-composer-footer { flex-direction:column; align-items:stretch; }
  .ss-terminal .nl-composer-footer > span { max-width:none; }
}

/* Profile column: account identity, saved bio and a compact document index. */
.ss-terminal .profile-identity { padding: 1.25rem; border-bottom: 1px solid var(--ln); }
.ss-terminal .profile-identity-top { display: flex; align-items: center; gap: 12px; }
.ss-terminal .profile-headshot { width: 52px; height: 52px; flex: none; border-radius: 16px; overflow: hidden; background: var(--teal-soft); color: var(--dk); display: grid; place-items: center; font-size: 17px; font-weight: 700; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--ln2); }
.ss-terminal .profile-headshot img { width: 100%; height: 100%; object-fit: cover; }
.ss-terminal .profile-name-block { min-width: 0; }
.ss-terminal .profile-name-block h3 { margin: 0; font-size: 15px; line-height: 1.35; letter-spacing: -.025em; font-weight: 700; color: var(--dk); overflow-wrap: anywhere; }
.ss-terminal .profile-name-block p { margin: 4px 0 0; font-size: 12px; color: var(--g500); overflow-wrap: anywhere; }
.ss-terminal .profile-summary { margin-top: 22px; }
.ss-terminal .profile-eyebrow { font-size: 10px; letter-spacing: .07em; font-weight: 700; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .profile-summary p, .ss-terminal .profile-summary-excerpt { font-size: 12px; line-height: 1.7; color: var(--g600); margin: 7px 0 0; }
.ss-terminal .profile-summary-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; overflow-wrap: anywhere; }
.ss-terminal .profile-summary-excerpt p { margin: 0; }
.ss-terminal .profile-text-link { padding: 8px 0 0; background: none; border: 0; color: var(--dk); font-size: 12px; font-weight: 600; cursor: pointer; }
.ss-terminal .profile-text-link:hover { color: var(--teal-deep); }
.ss-terminal .profile-section-heading { padding: 20px 20px 0; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ss-terminal .profile-section-heading h3 { margin: 0; font-size: 13px; font-weight: 700; color: var(--dk); }
.ss-terminal .profile-section-heading > span { font-size: 10px; color: var(--g500); font-variant-numeric: tabular-nums; }
.ss-terminal .profile-section-intro { padding: 5px 20px 12px; margin: 0; font-size: 11px; line-height: 1.6; color: var(--g500); }
.ss-terminal .profile-facts { padding: 0 12px 14px; }
.ss-terminal .profile-fact-row { width: 100%; min-height: 48px; padding: 10px 8px; display: flex; align-items: center; gap: 10px; text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--ln2); cursor: pointer; color: var(--g700); }
.ss-terminal .profile-fact-row:last-child { border-bottom: 0; }
.ss-terminal .profile-fact-row:hover { background: var(--teal-soft); border-radius: 8px; }
.ss-terminal .profile-fact-icon { display: flex; color: var(--teal-deep); flex: none; }
.ss-terminal .profile-fact-label { flex: 1; font-size: 12px; font-weight: 600; }
.ss-terminal .profile-fact-empty { font-size: 10px; color: var(--g500); }
.ss-terminal .profile-fact-row:focus-visible, .ss-terminal .profile-text-link:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; border-radius: 6px; }

.ss-terminal .conversation-starters { margin: 0 0 20px; }
.ss-terminal .starter-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ss-terminal .starter-heading h3 { margin: 0; color: var(--dk); font-size: 16px; font-weight: 700; }
.ss-terminal .starter-heading > span { font-size: 11px; color: var(--teal-deep); }
.ss-terminal .starter-intro, .ss-terminal .starter-context-note { font-size: 12px; color: var(--g500); line-height: 1.6; margin: 8px 0 12px; }
.ss-terminal .starter-context-note { background: var(--wash); border-radius: 8px; padding: 10px 12px; }
.ss-terminal .starter-topics { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0; }
.ss-terminal .starter-topics button { border:1px solid var(--ln); border-radius:20px; background:#fff; padding:8px 12px; color:var(--dk); font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.ss-terminal .starter-topics button[aria-pressed="true"] { background:var(--dk); color:#fff; border-color:var(--dk); }
.ss-terminal .starter-topics button:hover { border-color:var(--teal); }
.ss-terminal .starter-topics button:focus-visible, .ss-terminal .starter-guide summary:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.ss-terminal .starter-guide { border:1px solid var(--ln); border-radius:14px; padding:18px 20px; background:linear-gradient(145deg, #f1fafa, #fff 65%); }
.ss-terminal .starter-reason { margin:0 0 16px; font-size:11px; color:var(--g500); line-height:1.5; }
.ss-terminal .starter-step + .starter-step { margin-top:18px; }
.ss-terminal .starter-step-label { display:block; color:var(--teal-deep); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ss-terminal .starter-step p, .ss-terminal .starter-step ul { margin:7px 0 0; font-size:13px; line-height:1.65; color:var(--g700); }
.ss-terminal .starter-step .starter-example { font-size:16px; line-height:1.65; font-weight:500; color:var(--dk); }
.ss-terminal .starter-step ul { padding-left:18px; }
.ss-terminal .starter-step li + li { margin-top:5px; }
.ss-terminal .starter-voicemail { margin-top:18px; padding-top:12px; border-top:1px solid var(--ln); font-size:12px; color:var(--dk); }
.ss-terminal .starter-voicemail summary, .ss-terminal .starter-memory summary { cursor:pointer; font-weight:600; }
.ss-terminal .starter-voicemail p { line-height:1.7; margin:10px 0; }
.ss-terminal .starter-hint { font-size:11px; line-height:1.6; color:var(--g500); margin:12px 0; }
.ss-terminal .starter-memory { margin:12px 0; padding:12px; border:1px solid var(--ln); border-radius:8px; font-size:11px; color:var(--g600); }
.ss-terminal .starter-memory blockquote { margin:10px 0; padding-left:10px; border-left:2px solid var(--teal); max-height:100px; overflow:auto; white-space:pre-wrap; line-height:1.6; }
.ss-terminal .starter-memory p { margin:8px 0 0; line-height:1.6; }
.ss-terminal .starter-replace { padding:12px; border:1px solid var(--teal); border-radius:8px; margin-top:10px; font-size:12px; }
.ss-terminal .starter-notes-label { display:block; font-size:12px; font-weight:600; color:var(--dk); margin-bottom:7px; }
@media(max-width:600px) { .ss-terminal .starter-guide { padding:16px; } .ss-terminal .starter-topics button { min-height:40px; } }

.ss-terminal .starter-sources { margin:14px 0; border:1px solid var(--ln); border-radius:10px; padding:12px 14px; background:#fff; font-size:12px; line-height:1.6; color:var(--g600); }
.ss-terminal .starter-sources > p { margin:8px 0; }
.ss-terminal .starter-sources details { margin-top:8px; }
.ss-terminal .starter-sources summary, .ss-terminal .starter-prepared summary { cursor:pointer; font-weight:600; color:var(--dk); }
.ss-terminal .starter-source-document { max-height:230px; overflow:auto; padding:0 8px; overflow-wrap:anywhere; }
.ss-terminal .starter-source-document h1,.ss-terminal .starter-source-document h2,.ss-terminal .starter-source-document h3 { font-size:13px; margin:12px 0 6px; }
.ss-terminal .starter-review-note { display:block; font-size:10px; color:var(--g500); margin-top:5px; }
.ss-terminal .starter-prepared { margin:14px 0; border:1px solid var(--teal); border-radius:12px; padding:16px; background:var(--teal-soft); font-size:13px; line-height:1.6; }
.ss-terminal .starter-prepared .btn { margin-top:12px; }

.ss-terminal .relationship-followup { margin: 14px 0; padding: 14px; border: 1px solid var(--ln); border-radius: 12px; background: var(--wash); color: var(--g700); }
.ss-terminal .relationship-followup label { display: block; margin: 8px 0; font-size: 12px; font-weight: 600; }
.ss-terminal .relationship-followup input:not([type=checkbox]), .ss-terminal .relationship-followup select { display: block; width: 100%; box-sizing: border-box; border: 1px solid var(--ln); border-radius: 8px; background: #fff; color: var(--g700); padding: 9px; margin-top: 5px; font: inherit; }
.ss-terminal .relationship-followup p { font-size: 12px; line-height: 1.5; }
.ss-terminal .relationship-followup-fields { display: grid; gap: 6px; }
.ss-terminal .relationship-held { margin: 8px 16px; padding: 10px 12px; border: 1px solid var(--ln); border-radius: 10px; font-size: 12px; color: var(--g600); }
.ss-terminal .relationship-held summary { cursor: pointer; font-weight: 600; }
.ss-terminal .relationship-held-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 10px 0; border-top: 1px solid var(--ln); }
.ss-terminal .relationship-held-row > span { flex-basis: 100%; }

.ss-terminal .relationship-history { margin-top:5px; font-size:11px; line-height:1.6; }
.ss-terminal .relationship-history summary { cursor:pointer; color:var(--teal-deep); font-weight:600; }
.ss-terminal .relationship-history span { display:block; padding:6px 0; }

/* Contact copy keeps the column width; controls get their own row. */
.ss-terminal .relationship-session { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.ss-terminal .relationship-session .btn { flex: none; white-space: nowrap; }
.ss-terminal .relationship-session > span { flex: 1 1 140px; line-height: 1.5; }
.ss-terminal .relationship-contacts { max-height: 480px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border-block: 1px solid var(--ln2); }
.ss-terminal .person.relationship-person { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 14px 20px; }
.ss-terminal .relationship-person-details { min-width: 0; overflow-wrap: anywhere; }
.ss-terminal .relationship-person .nm { display: block; line-height: 1.5; }
.ss-terminal .relationship-person .ctx { margin-top: 4px; line-height: 1.5; }
.ss-terminal .relationship-person .acts { margin-left: 0; flex-wrap: wrap; gap: 6px; }
.ss-terminal .relationship-person .pbtn { min-height: 32px; white-space: nowrap; }
.ss-terminal .relationship-person .relationship-history { margin-top: 8px; }
.ss-terminal .inner .relationship-list-footnote { padding-top: 12px; font-size: 11px; line-height: 1.6; color: var(--g500); }

.ss-terminal .outcome-referral-prompt { margin-top: 12px; padding: 12px; border: 1px solid var(--ln); border-radius: 10px; background: var(--wash); font-size: 13px; line-height: 1.6; }
.ss-terminal .outcome-referral-prompt p { margin: 4px 0 10px; }
.ss-terminal .outcome-followup-context { margin: 6px 0 12px; font-size: 12px; line-height: 1.5; color: var(--g600); }

.ss-terminal .terminal-dictation { display: flex; align-items: center; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.ss-terminal .terminal-dictation .btn { gap: 6px; }
.ss-terminal .sloane-composer { position: relative; flex-wrap: wrap; }
.ss-terminal .sloane-composer textarea { flex: 1 1 120px; min-width: 0; }
.ss-terminal .sloane-dictation { display: contents; }
.ss-terminal .sloane-dictation > .btn { flex: none; width: 32px; min-height: 32px; padding: 0; justify-content: center; }
.ss-terminal .sloane-dictation > .btn[aria-pressed=true] { color: var(--dk); border-color: var(--teal); background: var(--wash); }
.ss-terminal .dictation-status { font-size: 11px; color: var(--teal-deep); line-height: 1.5; }
.ss-terminal .sloane-dictation > .dictation-status { order: 5; flex-basis: 100%; }

.ss-terminal .after-call-assistant { margin-top:20px; padding:18px; background:linear-gradient(135deg,var(--wash),#fff); border:1px solid var(--ln); border-radius:16px; }
.ss-terminal .assistant-review-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.ss-terminal .assistant-review-heading img { border-radius:50%; flex-shrink:0; }
.ss-terminal .assistant-review-heading p { margin:4px 0 0; font-size:12px; line-height:1.6; }
.ss-terminal .assistant-change { display:grid; gap:8px; padding:12px 0; border-bottom:1px solid var(--ln); overflow-wrap:anywhere; }
.ss-terminal .assistant-change > b { text-transform:capitalize; }
.ss-terminal .assistant-before { color:var(--g500); font-size:12px; }
.ss-terminal .assistant-choice { display:flex; align-items:flex-start; gap:10px; padding:12px 0; line-height:1.5; font-size:13px; cursor:pointer; }
.ss-terminal .assistant-choice input { margin-top:4px; flex-shrink:0; accent-color:var(--teal); }
.ss-terminal .assistant-choice small { display:block; font-size:11px; color:var(--g500); margin-top:4px; }
.ss-terminal .assistant-question { border-left:3px solid var(--teal); padding:8px 12px; font-size:13px; }

/* Approved SphereSync worklist: flat rows, one action, details on demand. */
.ss-terminal .sync-worklist { padding: 0; background: #fff; font-size: 13px; line-height: 1.5; }
.ss-terminal .sync-start { padding: 14px 16px; border-bottom: 1px solid var(--ln2); }
.ss-terminal .sync-start .btn { display: flex; width: 100%; align-items: center; justify-content: space-between; min-height: 42px; font-size: 14px; border-radius: 7px; }
.ss-terminal .sync-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--ln2); }
.ss-terminal .sync-section-heading h4 { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.5; color: var(--dk); }
.ss-terminal .sync-section-copy { min-width: 0; }
.ss-terminal .sync-section-copy p { margin: 4px 0 0; font-size: 11px; line-height: 1.5; color: var(--g500); }
.ss-terminal .sync-section-heading > span, .ss-terminal .sync-count { flex-shrink: 0; font-size: 12px; font-weight: 400; color: var(--g500); }
.ss-terminal .sync-work-row { display: flex; align-items: center; gap: 10px; min-height: 68px; padding: 12px 16px; box-sizing: border-box; border-bottom: 1px solid var(--ln2); }
.ss-terminal .sync-work-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ss-terminal .sync-work-copy b { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--dk); }
.ss-terminal .sync-work-copy p { margin: 3px 0 0; font-size: 12px; font-weight: 400; color: var(--g500); line-height: 1.5; }
.ss-terminal .sync-work-copy small { display: block; margin-top: 3px; font-size: 11px; color: var(--g500); }
.ss-terminal .sync-initials { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--teal-soft); color: var(--dk); font-size: 11px; font-weight: 600; }
.ss-terminal .sync-open { display: inline-flex; justify-content: center; align-items: center; gap: 7px; flex: none; min-height: 34px; padding: 5px 9px; border: 1px solid #b6ced2; border-radius: 6px; background: #fff; color: var(--dk); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.ss-terminal .sync-row-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.ss-terminal a.sync-open { text-decoration: none; }
.ss-terminal .sync-open:hover { background: #f2f8f8; border-color: var(--teal-deep); }
.ss-terminal .sync-open:focus-visible, .ss-terminal .sync-view-all:focus-visible, .ss-terminal .sync-disclosure summary:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: -2px; }
.ss-terminal .sync-view-all { display: block; width: 100%; text-align: left; padding: 13px 16px; border: 0; border-bottom: 1px solid var(--ln2); background: #fff; color: var(--dk); font: inherit; font-size: 12px; cursor: pointer; }
.ss-terminal .sync-conversations.expanded { max-height: 480px; overflow-y: auto; overscroll-behavior: contain; }
.ss-terminal .sync-empty { margin: 0; padding: 12px 16px; font-size: 12px; color: var(--g500); border-bottom: 1px solid var(--ln2); }
.ss-terminal .event-prep-list { padding: 24px; background: var(--wash); container-type: inline-size; }
.ss-terminal .action-panel { padding: 24px; background: var(--wash); border-bottom: 1px solid var(--ln2); }
.ss-terminal .action-panel > .inner { background: #fff; border: 1px solid var(--ln); border-radius: 12px; }
.ss-terminal .action-panel > .inner > :first-child { border-top-left-radius: 12px; border-top-right-radius: 12px; }
.ss-terminal .action-panel > .inner > :last-child { border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
.ss-terminal .event-prep-tasks { overflow: hidden; border: 1px solid var(--ln); border-radius: 12px; background: #fff; }
.ss-terminal .event-prep-list .sync-work-row { min-height: 92px; padding: 20px 24px; gap: 24px; }
.ss-terminal .event-prep-list .sync-work-row:last-child { border-bottom: 0; }
.ss-terminal .event-prep-list .sync-work-copy b { font-size: 14px; line-height: 1.5; }
.ss-terminal .event-prep-list .sync-work-copy p { margin-top: 6px; }
.ss-terminal .event-prep-list .sync-open { min-height: 40px; padding: 8px 14px; border-radius: 8px; }
.ss-terminal .event-prep-list .sync-empty { padding: 24px; border: 0; line-height: 1.7; }
.ss-terminal .event-prep-hub { display: inline-flex; align-items: center; min-height: 40px; margin-top: 16px; padding: 8px 0; border: 0; background: transparent; color: var(--dk); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.ss-terminal .event-prep-hub:hover { color: var(--teal-deep); text-decoration: underline; }
.ss-terminal .event-prep-hub:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: 4px; border-radius: 4px; }
.ss-terminal .event-prep-link { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ss-terminal .event-prep-link:hover { color: var(--dk); text-decoration: underline; }
.ss-terminal .event-prep-link:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: 3px; }
.ss-terminal .event-prep-list .sync-open:disabled { opacity: .5; cursor: wait; }
@container (max-width: 420px) {
  .ss-terminal .event-prep-list .sync-work-row { flex-wrap: wrap; padding: 20px; gap: 14px; }
  .ss-terminal .event-prep-list .sync-work-copy { flex-basis: 100%; }
}
.ss-terminal .sync-disclosure > summary { display: flex; align-items: center; gap: 10px; padding: 12px 16px; list-style: none; cursor: pointer; font-size: 12px; color: var(--g600); border-bottom: 1px solid var(--ln2); }
.ss-terminal .sync-disclosure > summary::-webkit-details-marker { display: none; }
.ss-terminal .sync-disclosure > summary::before { content: '›'; font-size: 16px; line-height: 1; }
.ss-terminal .sync-disclosure[open] > summary::before { transform: rotate(90deg); }
.ss-terminal .sync-disclosure .sync-count { margin-left: auto; }
.ss-terminal .sync-conversation-detail { font-size: 13px; line-height: 1.6; }
.ss-terminal .sync-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; }
.ss-terminal .mfoot .sync-detail-actions { margin: 0; }
.ss-terminal .sync-draft-label { display: block; font-size: 13px; font-weight: 600; }
.ss-terminal .sync-draft-label textarea { display: block; width: 100%; margin-top: 6px; box-sizing: border-box; }
.ss-terminal .relationship-supporting { font-size: 12px; font-weight: 400; color: var(--g500); }

/* Pipeline ladder (Actions) + hub (big view): stage by number, color by urgency. */
.ss-terminal .pipeline-filters{display:flex;flex-wrap:wrap;gap:5px}
.ss-terminal .pipeline-filters .tagchip{font-size:11px;padding:5px 9px}
.ss-terminal .pipeline-eyebrow{font-size:9px;letter-spacing:.07em;font-weight:750;text-transform:uppercase;color:var(--teal-deep)}
.ss-terminal .pl-eyebrow{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep)}
.ss-terminal .pl-num{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--teal-soft);color:var(--dk);font-weight:800;font-size:12px;line-height:1}
.ss-terminal .pl-num.muted{background:var(--band);color:var(--g500)}
.ss-terminal .pl-pill{display:inline-flex;align-items:center;flex:none;border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--band);color:var(--g600)}
.ss-terminal .pl-pill-overdue{background:#FDECEC;color:#B42318}
.ss-terminal .pl-pill-today{background:#FDF3E4;color:#B45309}
.ss-terminal .pl-pill-none,.ss-terminal .pl-pill-no-date{background:var(--teal-soft);color:var(--dk)}
.ss-terminal .pl-pill-paused{border:1px dashed var(--g400);color:var(--g500)}
.ss-terminal .pl-pill-closed{background:#EEF7DF;color:#3F6B0B}
.ss-terminal .pl-pill-lost{color:var(--g500)}
.ss-terminal .pl-type{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep);border:1px solid #B6CED2;border-radius:5px;padding:0 5px;flex:none}
.ss-terminal .pl-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#B45309;margin-left:6px;vertical-align:1px}
.ss-terminal .pl-ladder{padding:0;background:#FBFCFD}
.ss-terminal .pl-ladder-head{display:flex;align-items:center;gap:10px;padding:10px 16px 8px}
.ss-terminal .pl-ladder-totals{font-size:12px;color:var(--g500);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-add{margin-left:auto;font-size:12px;color:var(--dk);white-space:nowrap}
.ss-terminal .pl-ladder-intro{margin:0;padding:0 16px 10px;font-size:12px;line-height:1.6;color:var(--g500)}
.ss-terminal .pl-stage{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 16px;border:0;border-top:1px solid var(--ln2);background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--g700)}
.ss-terminal .pl-stage.open{background:var(--wash)}
.ss-terminal .pl-stage:hover{background:#F8FAFB}
.ss-terminal .pl-stage:focus-visible,.ss-terminal .pl-person:focus-visible,.ss-terminal .pl-rail-row:focus-visible{outline:2px solid var(--teal-deep);outline-offset:-2px}
.ss-terminal .pl-stage-label{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--dk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-finished .pl-stage-label{color:var(--g500);font-weight:600}
.ss-terminal .pl-stage-count{font-size:12px;color:var(--g500);font-variant-numeric:tabular-nums;flex:none;display:inline-flex;align-items:center}
.ss-terminal .pl-stage .chev{margin-left:0}
.ss-terminal .pl-person{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 16px 8px 52px;border:0;border-top:1px solid var(--ln2);background:#FBFCFD;text-align:left;cursor:pointer;font:inherit;color:var(--g700)}
.ss-terminal .pl-person:hover{background:var(--wash)}
.ss-terminal .pl-person-copy{flex:1;min-width:0;display:grid;gap:2px}
.ss-terminal .pl-person-copy b{font-size:12.5px;font-weight:600;color:var(--dk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-person-copy span{font-size:11.5px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-fresh{margin-left:6px;font-size:9px;font-weight:800;letter-spacing:.05em;color:var(--teal-deep)}
.ss-terminal .pl-stage-empty{margin:0;padding:8px 16px 10px 52px;font-size:12px;color:var(--g500);border-top:1px solid var(--ln2);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ss-terminal .pl-stage-empty .btn{font-size:12px;color:var(--dk)}
.ss-terminal .pl-open-full{display:flex;justify-content:space-between;width:100%;padding:12px 16px;border:0;border-top:1px solid var(--ln2);background:#fff;color:var(--dk);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.ss-terminal .pl-open-full:hover{background:var(--wash)}
.ss-terminal .pl-hub{display:flex;flex-direction:column;min-height:0}
.ss-terminal .pl-hub-body{display:grid;grid-template-columns:230px minmax(0,1fr);flex:1;min-height:0}
.ss-terminal .pl-rail{border-right:1px solid var(--ln);overflow-y:auto}
.ss-terminal .pl-rail-row{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:9px 14px;border:0;border-bottom:1px solid var(--ln2);background:#fff;text-align:left;cursor:pointer;font:inherit}
.ss-terminal .pl-rail-row:hover{background:#F8FAFB}
.ss-terminal .pl-rail-row.sel{background:var(--wash);box-shadow:inset 3px 0 0 var(--dk)}
.ss-terminal .pl-rail-copy{flex:1;min-width:0}
.ss-terminal .pl-rail-copy b{display:block;font-size:12.5px;color:var(--dk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-rail-copy small{display:block;font-size:10.5px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-terminal .pl-rail-count{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:18px;font-weight:700;color:var(--dk);font-variant-numeric:tabular-nums;flex:none;display:inline-flex;align-items:center}
.ss-terminal .pl-rail-finished .pl-rail-copy b{color:var(--g500)}
.ss-terminal .pl-rail-finished .pl-rail-count{font-size:14px;color:var(--g500)}
.ss-terminal .pl-stage-pane{padding:16px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-width:0}
.ss-terminal .pl-stage-pane-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ss-terminal .pl-stage-pane-head h3{font-size:17px}
.ss-terminal .pl-stage-pane-head>span{font-size:12px;color:var(--g500)}
.ss-terminal .pl-stage-pane-sum{margin-left:auto;white-space:nowrap}
.ss-terminal .pl-error{margin:0;font-size:12.5px;color:#B42318}
.ss-terminal .pl-card{border:1px solid var(--ln);border-radius:12px;padding:14px 16px;background:#fff;display:grid;gap:8px;min-width:0}
.ss-terminal .pl-card-urgent{border-color:#F0DDBB}
.ss-terminal .pl-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ss-terminal .pl-initials{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--teal-soft);color:var(--dk);font-size:11px;font-weight:700}
.ss-terminal .pl-card-name{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:700;color:var(--dk);cursor:pointer;text-align:left;overflow-wrap:anywhere}
.ss-terminal .pl-card-name:hover{text-decoration:underline}
.ss-terminal .pl-card-days{margin-left:auto;font-size:12px;color:var(--g500);white-space:nowrap}
.ss-terminal .pl-card-title{font-size:12px;color:var(--g500);overflow-wrap:anywhere}
.ss-terminal .pl-card-next{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--g700);overflow-wrap:anywhere}
.ss-terminal .pl-card-muted{color:var(--g500)}
.ss-terminal .pl-card-notes{margin:0;font-size:12px;line-height:1.6;color:var(--g500);overflow-wrap:anywhere}
.ss-terminal .pl-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.ss-terminal .pl-reschedule{margin:0}
.ss-terminal .pl-stage-empty-pane{border:1px dashed var(--g400);border-radius:12px;padding:18px;text-align:center;font-size:12.5px;line-height:1.7;color:var(--g600)}
.ss-terminal .pl-stage-empty-pane b{color:var(--dk)}
.ss-terminal .pl-stage-empty-pane .btn{font-size:12px;color:var(--dk);margin-top:4px}
.ss-terminal .pl-stage-pane-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--ln2);display:flex;justify-content:space-between;gap:16px;font-size:12px}
.ss-terminal .pl-stage-pane-foot .btn{font-size:12px;color:var(--dk);white-space:normal;text-align:left}
@media (max-width:900px){
  .ss-terminal .pl-hub-body{grid-template-columns:1fr}
  .ss-terminal .pl-rail{border-right:0;border-bottom:1px solid var(--ln);display:flex;overflow-x:auto}
  .ss-terminal .pl-rail>.pl-eyebrow{display:none}
  .ss-terminal .pl-rail-row{flex:none;width:170px;border-bottom:0;border-right:1px solid var(--ln2)}
  .ss-terminal .pl-rail-row.sel{box-shadow:inset 0 -3px 0 var(--dk)}
}
.ss-terminal .pipeline-editor{border:0;padding:0;margin:0;min-width:0;display:grid;gap:14px}
.ss-terminal .pipeline-editor label{display:grid;gap:6px;font-size:12px;color:var(--g600);min-width:0}
.ss-terminal .pipeline-editor .srch{width:100%;min-width:0}
.ss-terminal .pipeline-next-step{display:grid;gap:12px;padding:16px;border:1px solid var(--ln);background:var(--wash);border-radius:12px}
.ss-terminal .pipeline-stage-help{font-size:11px;line-height:1.65;color:var(--g500);margin:0}
.ss-terminal .pipeline-notice{background:var(--wash);border:1px solid var(--ln);border-radius:10px;padding:12px;font-size:12px;line-height:1.7}
.ss-terminal .pipeline-saved{font-size:12px;color:var(--teal-deep);margin:0}

.ss-terminal .pipeline-followthrough{display:flex;gap:8px;flex-wrap:wrap}.ss-terminal .pipeline-suggestions{display:grid;gap:8px;font-size:12px;line-height:1.6}.ss-terminal .pipeline-suggestions .btn{white-space:normal;text-align:left;justify-content:flex-start;height:auto;min-height:36px}.ss-terminal .pipeline-editor input[type=date]{max-width:100%;min-width:0}

.ss-terminal .referrals-board{display:grid;gap:16px;padding:16px;font-size:12px;line-height:1.65}.ss-terminal .referral-intro b{font-size:15px;color:var(--dk)}.ss-terminal .referral-card{display:grid;gap:8px;min-width:0;border:1px solid var(--ln);border-radius:12px;padding:14px;background:var(--white,#fff)}.ss-terminal .referral-card p{margin:0}.ss-terminal .referral-name{font-size:15px;justify-self:start;padding:0!important}.ss-terminal .referral-progress{display:grid;gap:6px}.ss-terminal .referral-progress .btn{white-space:normal;height:auto;text-align:left;justify-content:flex-start}.ss-terminal .referral-reminder{padding:10px;background:var(--teal-soft);border-radius:8px;color:var(--dk)}.ss-terminal .referral-capture{border:0;min-width:0;padding:0;display:grid;gap:16px}.ss-terminal .referral-picker{display:grid;gap:8px}.ss-terminal .referral-picker label{display:grid;gap:6px}.ss-terminal .referral-picker .btn{text-align:left;justify-content:flex-start;white-space:normal}

.ss-terminal .coach-review-tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px;border-bottom:1px solid var(--ln);flex-shrink:0}.ss-terminal .coach-review-tools .btn{font-size:11px;min-height:32px;padding:6px 12px;white-space:nowrap}.ss-terminal .coach .colhead>div:first-of-type{flex-shrink:0}

/* Database: readable groups and explicit, combined filters. */
.ss-terminal .db-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px; }
.ss-terminal .db-toolbar .tagchip { display:inline-flex; align-items:center; min-height:32px; color:var(--dk); font-weight:600; }
.ss-terminal .database-accordion .nm,.ss-terminal .database-accordion .nmlink { color:var(--dk); font-weight:600; }
.ss-terminal .db-filter-panel { background:var(--wash); border-block:1px solid var(--ln); }
.ss-terminal .db-filter-panel p { font-size:12px; color:var(--g600); margin:8px 0; }
.ss-terminal .db-filter-panel fieldset,.ss-terminal .db-tag-editor { border:0; padding:8px 0; min-width:0; }
.ss-terminal .db-filter-panel legend,.ss-terminal .db-tag-editor legend { font-size:12px; font-weight:700; color:var(--dk); }
.ss-terminal .db-filter-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
.ss-terminal .db-filter-options label { display:flex; gap:7px; align-items:center; font-size:12px; }
.ss-terminal .db-tag-options,.ss-terminal .db-active-filters,.ss-terminal .db-contact-tags { display:flex; gap:6px; flex-wrap:wrap; }
.ss-terminal .db-tag-options { max-height:180px; overflow:auto; padding:8px 0; }
.ss-terminal .db-tag-options .tagchip,.ss-terminal .db-active-filters .tagchip,.ss-terminal .db-contact-tags .tagchip { white-space:normal; overflow-wrap:anywhere; max-width:100%; text-align:left; }
.ss-terminal .db-tag-mode { display:flex; gap:6px; align-items:center; margin:8px 0; font-size:12px; }
.ss-terminal .db-tag-mode select { max-width:100%; border:1px solid var(--ln); border-radius:6px; padding:4px; background:white; }
.ss-terminal .db-person { display:block; }
.ss-terminal .db-person .ctx { overflow-wrap:anywhere; }
.ss-terminal .db-person .acts { margin-top:8px; justify-content:flex-end; }
.ss-terminal .db-contact-tags { margin-top:6px; }
.ss-terminal .db-tag-entry { display:flex; gap:8px; margin:6px 0; }
.ss-terminal .db-tag-entry input { min-width:0; flex:1; }

.ss-terminal .db-saved-groups { border-bottom:1px solid var(--ln); }
.ss-terminal .db-saved-groups label { display:grid; gap:6px; font-size:12px; font-weight:700; color:var(--dk); }
.ss-terminal .db-saved-groups select,.ss-terminal .db-tag-editor select { width:100%; min-width:0; border:1px solid var(--ln); border-radius:8px; padding:8px; background:white; color:var(--g700); }
.ss-terminal .db-saved-groups p,.ss-terminal .db-saved-groups summary { font-size:12px; margin:6px 0; }
.ss-terminal .db-saved-groups .db-active-filters { margin-top:8px; }
.ss-terminal .db-group-summary { overflow-wrap:anywhere; padding:12px; background:var(--wash); border-radius:10px; }
.ss-terminal .db-selection-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; border-block:1px solid var(--ln); }
.ss-terminal .db-selection-toolbar span,.ss-terminal .db-select-person { font-size:12px; }
.ss-terminal .db-selection-toolbar small { flex-basis:100%; color:var(--g500); }
.ss-terminal .db-select-person { display:flex; gap:8px; align-items:center; margin-bottom:8px; color:var(--dk); }
.ss-terminal .db-bulk-preview { list-style:none; padding:0; max-height:40vh; overflow:auto; }
.ss-terminal .db-bulk-preview li { display:grid; gap:4px; padding:10px 0; border-top:1px solid var(--ln); overflow-wrap:anywhere; }
.ss-terminal .db-bulk-preview small { color:var(--g500); }

/* Keep today's Pipeline work in reach without pushing conversations down. */
.ss-terminal .sync-priority-scroll { max-height: 252px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.ss-terminal .sync-priority-scroll .sync-work-row { height: 84px; min-height: 84px; }
.ss-terminal .sync-priority-scroll .sync-work-copy b,
.ss-terminal .sync-priority-scroll .sync-work-copy p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-terminal .sync-priority-disclosure > summary { color: var(--dk); font-weight: 700; font-size: 13px; }
.ss-terminal .sync-work-copy .sync-due.overdue { color: #b42318; }
.ss-terminal .sync-work-copy .sync-due.today { color: #b45309; }
.ss-terminal .sync-work-copy .sync-due.upcoming { color: var(--teal-deep); }
.ss-terminal .sync-week-letters { white-space: nowrap; font-size: 12px; font-weight: 400; color: var(--teal-deep); }
.ss-terminal .sync-priority-scroll:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: -2px; }

/* Dashboard: one clear next step, stable typography and bounded summaries. */
.sphere-terminal .dashboard-overview, .dashboard-overview { padding: 18px 20px; color: var(--g500); font-size: 13px; line-height: 1.55; }
.dashboard-overview h3 { color: var(--dk); font-size: 14px; font-weight: 650; margin: 0 0 5px; }
.dashboard-overview p { margin: 0 0 12px; }
.dashboard-overview section { padding: 18px 0; border-bottom: 1px solid var(--ln2); }
.dashboard-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 18px 0 4px; }
.dashboard-metrics > div { border: 1px solid var(--ln2); border-radius: 10px; padding: 12px; }
.dashboard-metrics span { display:block; font-size:12px; }
.dashboard-metrics strong, .dashboard-result { display:block; color:var(--dk); font-size:26px; font-weight:650; font-variant-numeric:tabular-nums; }
.dashboard-overview .dashboard-next { background:var(--teal-soft); border:1px solid var(--ln2); border-radius:10px; margin-top:16px; padding:16px; }
.dashboard-next .btn { display:block; margin-top:14px; width:100%; }
.dashboard-eyebrow { display:block; color:var(--g500); font-size:11px; font-weight:600; margin-bottom:8px; }
.dashboard-overdue { color:#b42318; font-size:12px; }
.dashboard-today { color:#a44a0b; font-size:12px; }
.dashboard-progress-label { display:flex; align-items:baseline; gap:8px; margin-bottom:8px; }
.dashboard-progress-label strong { color:var(--dk); font-size:18px; }
.dashboard-overview progress { width:100%; height:6px; accent-color:var(--teal); display:block; margin:10px 0; }
.dashboard-overview .dashboard-caption { font-size:11px; margin:0; }

/* Settings follow the available pane width, rather than the browser width. */
.ss-terminal .settings-hub { min-width:0; container-type:inline-size; }
.ss-terminal .settings-nav {display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px;border-bottom:1px solid var(--ln);}
.ss-terminal .settings-nav .btn {min-height:34px;font-size:12px;white-space:nowrap;}
.ss-terminal .settings-content {padding:18px;min-width:0;}
.ss-terminal .settings-content [hidden] {display:none;}
.ss-terminal .settings-content p {font-size:13px;line-height:1.6;overflow-wrap:anywhere;}
.ss-terminal .settings-help {color:var(--g500);margin:0 0 12px;}
.ss-terminal .account-settings-form fieldset {border:0;padding:0;margin:0;min-width:0;display:grid;gap:14px;}
.ss-terminal .account-settings-form label {display:grid;gap:6px;min-width:0;color:var(--teal-deep);font-size:12px;font-weight:600;}
.ss-terminal .account-settings-form .srch {width:100%;min-width:0;box-sizing:border-box;font-size:13px;}
.ss-terminal .settings-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.ss-terminal .account-settings-form .settings-check {display:flex;align-items:center;gap:8px;}
.ss-terminal .settings-form-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.ss-terminal .settings-images {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ss-terminal .settings-images img,.ss-terminal .settings-image-empty {height:80px;max-width:100%;object-fit:contain;border:1px solid var(--ln);border-radius:10px;}
.ss-terminal .settings-images input {font-size:11px;width:100%;}
.ss-terminal .settings-image-empty {display:flex;align-items:center;justify-content:center;color:var(--g500);}
.ss-terminal .settings-disconnect {margin-top:12px;padding:12px;border:1px solid var(--ln);border-radius:8px;}
.ss-terminal .account-settings-form [role=alert] {color:#a33e2e;}
@container (max-width:400px) { .ss-terminal .settings-fields,.ss-terminal .settings-images {grid-template-columns:minmax(0,1fr);} }

.ss-terminal .settings-image-field {display:grid;align-content:start;gap:10px;min-width:0;color:var(--teal-deep);font-size:12px;font-weight:600;}
.ss-terminal .settings-image-actions,.ss-terminal .settings-button-row {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;}
.ss-terminal .settings-image-actions .btn {font-size:12px;min-height:34px;}
.ss-terminal .account-settings-form .settings-upload {position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;}
.ss-terminal .settings-upload input[type=file] {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.ss-terminal .settings-upload:focus-within {outline:2px solid var(--teal);outline-offset:2px;}
.ss-terminal .settings-color-control {display:flex;align-items:center;gap:8px;}
.ss-terminal .settings-color-control input[type=color] {width:40px;height:36px;flex:none;padding:3px;border:1px solid var(--ln);border-radius:8px;background:white;cursor:pointer;}
.ss-terminal .settings-signature {grid-column:1/-1;}
.ss-terminal .settings-signature-tools {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.ss-terminal .settings-signature-tools>span {font-size:12px;font-weight:400;color:var(--g500);}
.ss-terminal .settings-connection-actions {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--ln);}
.ss-terminal .settings-connection-actions p {flex-basis:100%;margin:0;}
.ss-terminal .settings-disconnect {display:flex;flex-wrap:wrap;gap:10px;}
.ss-terminal .settings-button-row {margin-top:16px;}

/* Audience controls share the Database's plain selection language. */
.ss-terminal .audience-picker { border:1px solid var(--ln); border-radius:12px; padding:14px; background:var(--wash); }
.ss-terminal .audience-methods { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.ss-terminal .audience-picker p { font-size:12px; color:var(--g600); line-height:1.6; margin:8px 0; }
.ss-terminal .audience-label { display:grid; gap:6px; font-size:13px; font-weight:600; }
.ss-terminal .audience-tag-list { display:flex; flex-wrap:wrap; gap:8px; max-height:180px; overflow:auto; }
.ss-terminal .audience-people { list-style:none; padding:0; margin:8px 0; max-height:260px; overflow:auto; }
.ss-terminal .audience-people li { display:flex; align-items:center; justify-content:space-between; padding:10px 2px; border-bottom:1px solid var(--ln); font-size:13px; }
.ss-terminal .audience-people label { display:flex; align-items:center; gap:10px; width:100%; cursor:pointer; }
.ss-terminal .audience-people span { min-width:0; overflow-wrap:anywhere; }
.ss-terminal .audience-people small { display:block; color:var(--g600); margin-top:3px; }
.ss-terminal .db-results-summary { font-size:13px; font-weight:700; color:var(--teal-deep); }


/* The shared resource library, kept readable inside the terminal pane. */
.ss-terminal .resource-library { padding: 20px; width: 100%; max-width: 900px; margin: 0 auto; }
.ss-terminal .resource-intro { color: var(--g500); font-size: 13px; line-height: 1.6; margin: 0 0 20px; }
.ss-terminal .resource-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.ss-terminal .resource-filters label { display: flex; flex-direction: column; gap: 6px; flex: 1 1 180px; min-width: 0; font-size: 11px; font-weight: 600; }
.ss-terminal .resource-filters input, .ss-terminal .resource-filters select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--ln); border-radius: 8px; background: white; color: var(--g700); font: inherit; font-size: 13px; }
.ss-terminal .resource-count, .ss-terminal .resource-file { color: var(--g500); font-size: 11px; overflow-wrap: anywhere; }
.ss-terminal .resource-count { margin-bottom: 8px; }
.ss-terminal .resource-list { padding: 0; margin: 0; list-style: none; }
.ss-terminal .resource-list li { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--ln); }
.ss-terminal .resource-preview { position: relative; display: flex; align-items: center; justify-content: center; align-self: start; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--ln); border-radius: 6px; background: var(--band); color: var(--teal-deep); }
.ss-terminal .resource-preview:hover { border-color: var(--teal-deep); }
.ss-terminal .resource-preview:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: 3px; }
@media (max-width: 600px) {
  .ss-terminal .resource-list li { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; }
}
.ss-terminal .resource-details { min-width: 0; }
.ss-terminal .resource-category { color: var(--teal-deep); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.ss-terminal .resource-details h3 { font-size: 15px; line-height: 1.5; margin: 4px 0 6px; overflow-wrap: anywhere; }
.ss-terminal .resource-details a { color: var(--teal-deep); }
.ss-terminal .resource-details a:hover { text-decoration: underline; }
.ss-terminal .resource-details a svg { display: inline; margin-left: 6px; vertical-align: middle; }
.ss-terminal .resource-details p, .ss-terminal .resource-empty p { font-size: 13px; line-height: 1.7; color: var(--g500); margin: 0 0 8px; overflow-wrap: anywhere; }
.ss-terminal .resource-empty { padding: 24px 0; }

/* ---- Newsletter area (home, archive, sent edition, replies) ---- */
.ss-terminal .nl-hero { margin: 16px 1.25rem 8px; padding: 20px 22px; }
.ss-terminal .nl-hero-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .nl-hero h3 { font-size: 20px; line-height: 1.25; margin: 8px 0 6px; overflow-wrap: anywhere; }
.ss-terminal .nl-hero-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.ss-terminal .nl-hero-actions .btn.pri { min-height: 40px; padding: 0 18px; }
.ss-terminal .nl-section { padding: 16px 1.25rem; gap: 14px; }
.ss-terminal .nl-section > span > b { display: block; font-size: 15px; font-weight: 700; color: var(--dk); }
.ss-terminal .nl-section > span > span { display: block; font-size: 13px; color: var(--g500); margin-top: 2px; }
.ss-terminal .nl-section-icon { width: 40px; height: 40px; background: var(--teal-soft); border: none; color: var(--dk); }
.ss-terminal .nl-archive-tools { display: flex; gap: 8px; align-items: center; padding: 12px 1.25rem 6px; flex-wrap: wrap; }
.ss-terminal .nl-archive-tools .srch { flex: 1 1 160px; width: auto; }
.ss-terminal .nl-issue { padding: 13px 1.25rem; align-items: flex-start; gap: 14px; }
.ss-terminal .nl-issue.waiting { background: var(--wash); }
.ss-terminal .nl-issue > span > b { display: block; font-size: 14px; font-weight: 700; color: var(--dk); overflow-wrap: anywhere; }
.ss-terminal .nl-issue > span > span { display: block; font-size: 12px; color: var(--g500); margin-top: 2px; }
.ss-terminal .nl-issue-stat { font-size: 12.5px; color: var(--g600); white-space: nowrap; }
.ss-terminal .nl-issue-stat b { color: var(--g700); }
.ss-terminal .nl-stats { display: flex; margin: 12px 1.25rem 4px; border: 1px solid var(--ln2); border-radius: 12px; }
.ss-terminal .nl-reply { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; padding: 14px 1.25rem; align-items: start; }
.ss-terminal .nl-reply .nm { min-width: 0; overflow-wrap: anywhere; }
.ss-terminal .nl-reply .ctx { flex-shrink: 0; }
.ss-terminal .nl-reply-avatar { width: 36px; height: 36px; font-size: 12px; font-weight: 800; color: var(--dk); }
.ss-terminal .nl-reply-text { display: block; font-size: 14px; line-height: 1.55; color: var(--g700); margin-top: 3px; overflow-wrap: anywhere; }
.ss-terminal .nl-reply-acts { flex-direction: column; align-items: stretch; }
.ss-terminal .nl-reply-acts a.btn { text-decoration: none; }
@media (max-width: 640px) {
  .ss-terminal .nl-reply { grid-template-columns: 36px minmax(0, 1fr); }
  .ss-terminal .nl-reply .nl-reply-acts { grid-column: 2; margin-left: 0; justify-self: start; }
}
.ss-terminal .nl-empty { margin: 16px 1.25rem; padding: 22px; border: 1px dashed var(--ln); border-radius: 12px; text-align: center; }
.ss-terminal .nl-empty b { display: block; font-size: 14px; color: var(--dk); }
.ss-terminal .nl-empty span { display: block; font-size: 13px; color: var(--g500); margin-top: 4px; }

/* ---- Editor: Edit / Send mode and the Send panel ---- */
.ss-terminal .nl-mode { display: inline-flex; border: 1px solid var(--ln); border-radius: 8px; overflow: hidden; }
.ss-terminal .nl-mode button { font: 700 13px 'Montserrat', sans-serif; min-height: 30px; padding: 0 14px; border: 0; background: #fff; color: var(--g500); cursor: pointer; }
.ss-terminal .nl-mode button + button { border-left: 1px solid var(--ln); }
.ss-terminal .nl-mode button[aria-pressed="true"] { background: var(--teal-soft); color: var(--dk); }
.ss-terminal .nl-mode button:disabled { color: var(--g400); cursor: not-allowed; }
.ss-terminal .nl-send-panel { width: 320px; flex: none; border-right: 1px solid var(--ln); background: var(--band); display: flex; flex-direction: column; min-height: 0; }
.ss-terminal .nl-send-body { flex: 1; overflow: auto; padding: 16px 18px; }
.ss-terminal .nl-send-body .lbl { padding-left: 0; padding-right: 0; }
.ss-terminal .nl-send-body .audience-picker { padding: 10px; }
.ss-terminal .nl-send-foot { flex: none; border-top: 1px solid var(--ln); padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; background: #fff; }
.ss-terminal .nl-send-foot .cap { font-size: 12px; color: var(--g600); line-height: 1.5; }
.ss-terminal .nl-send-foot .btn.lnk { align-self: center; }
.ss-terminal .nl-send-main { min-height: 44px; font-size: 14px; }
.ss-terminal .nl-send-confirm { border: 1px solid rgba(1, 164, 176, .6); background: var(--wash); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 2px; }
.ss-terminal .nl-send-confirm b { font-size: 14px; color: var(--dk); }
.ss-terminal .nl-send-done { border: 1px solid var(--ln); border-radius: 12px; padding: 12px 14px; background: var(--band); font-size: 14px; color: var(--dk); }
.ss-terminal .nl-send-canvas { flex: 1; min-width: 0; overflow: auto; padding: 16px; background: var(--ln2); }
@media (max-width: 600px) {
  .ss-terminal .nl-send-panel { width: 100% !important; order: 2; max-height: 48%; border-right: 0; border-top: 1px solid var(--ln); box-shadow: 0 -8px 24px rgba(0, 61, 71, .08); }
  .ss-terminal .nl-send-canvas { order: 1; }
}

/* ---- Campaigns: timeline, people, start bar ---- */
.ss-terminal .cmp-step { display: flex; gap: 14px; padding: 0 1.25rem; align-items: flex-start; }
.ss-terminal .cmp-num { width: 30px; height: 30px; flex: none; font-size: 12px; font-weight: 800; color: var(--dk); background: var(--teal-soft); border: none; margin-top: 14px; }
.ss-terminal .cmp-num.todo { background: var(--band); border: 1px solid var(--ln); color: var(--g600); }
.ss-terminal .cmp-num.add { background: #fff; border: 2px dashed var(--g400); color: var(--g500); margin-top: 2px; }
.ss-terminal .cmp-card { flex: 1; min-width: 0; border: 1px solid var(--ln); border-radius: 12px; background: #fff; margin-bottom: 6px; }
.ss-terminal .cmp-card.todo { border-color: rgba(1, 164, 176, .5); background: var(--wash); }
.ss-terminal .cmp-card-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.ss-terminal .cmp-card-head b { display: block; font-size: 14px; color: var(--dk); margin-top: 2px; overflow-wrap: anywhere; }
.ss-terminal .cmp-day { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .cmp-status { display: block; font-size: 12px; color: var(--g500); margin-top: 2px; }
.ss-terminal .cmp-card-body { display: grid; gap: 8px; padding: 0 14px 12px; }
.ss-terminal .cmp-card-tools { display: flex; gap: 2px; padding: 0 8px 6px; border-top: 1px solid var(--ln2); }
.ss-terminal .cmp-card-tools .btn.lnk { font-size: 11.5px; }
.ss-terminal .cmp-wait { display: flex; gap: 14px; padding: 0 1.25rem; align-items: center; height: 36px; }
.ss-terminal .cmp-wait label { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--g600); }
.ss-terminal .cmp-wait .srch { width: auto; padding: 3px 6px; font-weight: 700; color: var(--dk); }
.ss-terminal .cmp-line { width: 2px; height: 100%; background: var(--ln); margin: 0 14px; flex: none; }
.ss-terminal .cmp-startbar { flex: none; border-top: 1px solid var(--ln); padding: 12px 1.25rem; background: #fff; }
.ss-terminal .cmp-startrow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ss-terminal .cmp-startrow .srch { width: auto; }
.ss-terminal .cmp-gate { font-size: 12px; color: #8a5a12; background: #fff6e7; border: 1px solid #f0dfbf; border-radius: 8px; padding: 8px 10px; margin-bottom: 10px; }
.ss-terminal .cmp-lbl-note { color: var(--g500); font-weight: 500; letter-spacing: 0; text-transform: none; margin-left: 6px; }
.ss-terminal .cmp-person { width: 100%; background: none; border: 0; border-bottom: 1px solid var(--ln2); cursor: pointer; font: inherit; text-align: left; padding: 10px 1.25rem; }
.ss-terminal .cmp-person.open { background: var(--wash); }
.ss-terminal .cmp-initials { width: 30px; height: 30px; font-size: 11px; font-weight: 800; color: var(--dk); }
.ss-terminal .cmp-dots { display: inline-flex; gap: 4px; flex: none; }
.ss-terminal .cmp-dots span { width: 9px; height: 9px; border-radius: 99px; background: var(--teal-soft); }
.ss-terminal .cmp-dots span.on { background: var(--dk); }
.ss-terminal .cmp-next { width: 120px; text-align: right; flex: none; }
.ss-terminal .cmp-person-body { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 1.25rem 12px 4.1rem; background: var(--wash); border-bottom: 1px solid var(--ln2); }
.ss-terminal .cmp-reschedule { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; flex-basis: 100%; }
.ss-terminal .cmp-reschedule .srch { width: auto; }
.ss-terminal .cmp-menu { position: absolute; right: 20px; top: 60px; z-index: 6; width: 220px; background: #fff; border: 1px solid var(--ln); border-radius: 10px; box-shadow: 0 10px 28px rgba(0, 61, 71, .16); padding: 6px 0; }
.ss-terminal .cmp-menu button { display: block; width: 100%; text-align: left; font: 600 13px 'Montserrat', sans-serif; color: var(--dk); background: none; border: 0; padding: 9px 14px; cursor: pointer; }
.ss-terminal .cmp-menu button.danger { color: #a33e2e; }
.ss-terminal .cmp-history summary { cursor: pointer; font: 800 11px 'Montserrat', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .cmp-history-list { border: 1px solid var(--ln2); border-radius: 12px; overflow: hidden; font-size: 12.5px; color: var(--g600); }
.ss-terminal .cmp-history-list .sig:last-child { border-bottom: 0; }
@media (max-width: 600px) {
  .ss-terminal .cmp-next { width: auto; }
  .ss-terminal .cmp-person-body { padding-left: 1.25rem; }
}

/* The editor header must contain its controls when the main pane is narrow. */
.ss-terminal .colhead.newsletter-builder-toolbar { height: auto; flex: none; flex-wrap: wrap; gap: 10px; }
.ss-terminal .newsletter-builder-toolbar-actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: 100%; }

/* Carry the due badge tone through the row without changing its geometry. */
.ss-terminal .pl-ladder .pl-person,.ss-terminal .pl-hub .pl-card{
  --row-edge:#A8B6C3;--row-tint:#F1F4F7;--row-hover:#E7EDF2;
  background:linear-gradient(100deg,#fff 0%,var(--row-tint) 100%);
  box-shadow:inset 3px 0 var(--row-edge);
}
.ss-terminal .pl-ladder .pl-person-overdue,.ss-terminal .pl-hub .pl-card-overdue{--row-edge:#DB716D;--row-tint:#FDECEC;--row-hover:#FBE2E1}
.ss-terminal .pl-ladder .pl-person-today,.ss-terminal .pl-hub .pl-card-today{--row-edge:#D5A04F;--row-tint:#FDF3E4;--row-hover:#FAECD4}
.ss-terminal .pl-ladder .pl-person-none,.ss-terminal .pl-ladder .pl-person-no-date,.ss-terminal .pl-hub .pl-card-none,.ss-terminal .pl-hub .pl-card-no-date{--row-edge:#62ADB6;--row-tint:#DCF1F4;--row-hover:#CDE9ED}
.ss-terminal .pl-ladder .pl-person-closed,.ss-terminal .pl-hub .pl-card-closed{--row-edge:#95B857;--row-tint:#EEF7DF;--row-hover:#E3EFCF}
.ss-terminal .pl-ladder .pl-person-paused,.ss-terminal .pl-ladder .pl-person-lost,.ss-terminal .pl-hub .pl-card-paused,.ss-terminal .pl-hub .pl-card-lost{--row-edge:#B6BCC5;--row-tint:#F3F4F6;--row-hover:#E9ECF0}
.ss-terminal .pl-ladder .pl-person:hover,.ss-terminal .pl-hub .pl-card:hover{background:linear-gradient(100deg,var(--row-tint) 0%,var(--row-hover) 100%)}
.ss-terminal .pl-ladder .pl-person:focus-visible{outline:2px solid var(--teal-deep);outline-offset:-2px}

.ss-terminal .pl-hub .pl-card{border-color:var(--row-tint)}
.ss-terminal .pl-hub .pl-card:focus-within{border-color:var(--row-edge)}

/* Contextual membership guidance uses the same inset as the Sloane composer. */
.ss-terminal .coach-access-prompt { padding: 12px 1.25rem; background: var(--band); border-top: 1px solid var(--ln); }
.ss-terminal .coach-access-prompt p { margin: 0 0 10px; font-size: 12px; line-height: 1.6; color: var(--g600); }

/* Membership uses the onboarding offer's price, segmented choice and lime action. */
.ss-terminal .membership-offer { margin-top: 12px; color: var(--dk); }
.ss-terminal .membership-eyebrow { margin: 0 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-deep); }
.ss-terminal .membership-offer h3 { font-size: 34px; line-height: 1.08; letter-spacing: -.03em; }
.ss-terminal .membership-intro { margin: 12px 0 18px; max-width: 360px; font-size: 13px; color: var(--g600); }
.ss-terminal .membership-benefits { display: grid; gap: 9px; padding: 0; margin: 0 0 24px; list-style: none; font-size: 13px; }
.ss-terminal .membership-benefits li { display: flex; gap: 10px; align-items: baseline; }
.ss-terminal .membership-benefits li::before { content: '✓'; color: var(--teal-deep); font-weight: 700; }
.ss-terminal .membership-purchase { border-top: 1px solid var(--ln); padding-top: 20px; }
.ss-terminal .membership-price { display: flex; align-items: baseline; gap: 10px; }
.ss-terminal .membership-price b { font: 700 52px/1 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing: -.045em; }
.ss-terminal .membership-price span { color: var(--g500); font-size: 13px; }
.ss-terminal .membership-caption { margin: 8px 0; color: var(--g500); font-size: 11px; line-height: 1.6; }
.ss-terminal .membership-frequency { display: flex; padding: 3px; margin: 16px 0; border: 1px solid var(--ln); border-radius: 10px; width: fit-content; max-width: 100%; }
.ss-terminal .membership-frequency label { padding: 8px 14px; border-radius: 8px; font-size: 12px; font-weight: 700; cursor: pointer; color: var(--g500); }
.ss-terminal .membership-frequency label.selected { background: var(--dk); color: #fff; }
.ss-terminal .membership-frequency label:focus-within { outline: 2px solid var(--teal); outline-offset: 3px; }
.ss-terminal .membership-frequency:disabled { opacity: .6; }
.ss-terminal .btn.membership-cta { width: 100%; justify-content: center; min-height: 44px; white-space: normal; background: var(--lime); border-color: var(--lime); color: var(--dk2); font-weight: 700; text-align: center; }
.ss-terminal .btn.membership-cta:hover { background: #85B034; border-color: #85B034; }
.ss-terminal .btn.membership-secondary { display: flex; width: 100%; justify-content: center; min-height: 44px; white-space: normal; background: transparent; border-color: transparent; color: var(--teal-deep); font-size: 12px; }
.ss-terminal .membership-step > p:not([class]) { font-size: 13px; color: var(--g600); margin: 16px 0; }
.ss-terminal .membership-confirm-price { font: 700 28px/1.2 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 24px 0 8px; }
.ss-terminal .membership-step .membership-cta { margin-top: 20px; }
.ss-terminal .membership-error { color: #9a3412; font-size: 13px; margin-top: 12px; }
@media (max-width: 480px) { .ss-terminal .membership-offer h3 { font-size: 30px; } .ss-terminal .membership-frequency label { padding: 8px 10px; } }

.ss-terminal .settings-nav[hidden], .ss-terminal .sig[hidden] { display: none; }
.ss-terminal .membership-frequency input, .ss-terminal .membership-frequency legend { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.ss-terminal .membership-featured { color: #fff; }
.ss-terminal .membership-featured .membership-offer, .ss-terminal .membership-featured h3 { color: #fff; }
.ss-terminal .membership-featured .membership-eyebrow { color: var(--lime); }
.ss-terminal .membership-featured .membership-intro, .ss-terminal .membership-featured .membership-step > p:not([class]), .ss-terminal .membership-featured .membership-caption, .ss-terminal .membership-featured .membership-price span { color: rgba(255,255,255,.78); }
.ss-terminal .membership-featured .membership-benefits li::before { color: var(--lime); }
.ss-terminal .membership-featured .membership-purchase { border-color: rgba(255,255,255,.2); }
.ss-terminal .membership-featured .membership-frequency { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.ss-terminal .membership-featured .membership-frequency label, .ss-terminal .membership-featured .btn.membership-secondary { color: rgba(255,255,255,.85); }
.ss-terminal .membership-featured .membership-frequency label.selected { background: #fff; color: var(--dk); }
.ss-terminal .membership-featured .membership-frequency label:focus-within { outline-color: var(--lime); }
.ss-terminal .membership-featured .membership-error { color: #ffd5bc; }

.ss-terminal .membership-featured .sig { border-color: rgba(255,255,255,.2); }
.ss-terminal .membership-featured .sig b { color: #fff; }
.ss-terminal .membership-featured .btn.gho { color: #fff; border-color: rgba(255,255,255,.4); }
.ss-terminal .membership-featured .btn.gho:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.ss-terminal .membership-featured .settings-help { color: rgba(255,255,255,.78); }
/* Event email editor follows the same gutters as event tabs and actions. */
.ss-terminal .event-emails { padding: 20px 1.25rem 32px; min-width: 0; width: 100%; box-sizing: border-box; }
.ss-terminal .event-emails > *, .ss-terminal .event-email-editor > *, .ss-terminal .event-email-editor label { min-width: 0; }
.ss-terminal .event-email-editor .srch { width: 100%; box-sizing: border-box; }
.ss-terminal .event-email-editor textarea { min-height: 160px; }
.ss-terminal .event-email-editor p { line-height: 1.65; }
.ss-terminal .event-cover { display: grid; gap: 12px; }
.ss-terminal .event-cover img { width: 100%; max-height: 220px; object-fit: cover; border-radius: 10px; }
@media (max-width: 600px) {
  .ss-terminal .event-emails { padding: 16px 16px 28px; }
  .ss-terminal .event-email-editor { padding: 16px !important; }
}
.ss-terminal .dashboard-insights .di-body {
  padding: 0 16px 18px;
}
/* Keep legacy section defaults weaker than the Scoreboard spacing classes. */
.ss-terminal .dashboard-insights :where(section) {
  padding: 18px 0;
  border-bottom: 1px solid var(--ln2);
}
.ss-terminal .dashboard-insights h3 {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--teal-deep);
  margin: 0;
}
.ss-terminal .di-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.ss-terminal .di-period {
  display: flex;
  background: var(--g100, #f3f6f7);
  border-radius: 6px;
  padding: 2px;
}
.ss-terminal .di-period button {
  font-size: 11px;
  padding: 4px 7px;
  border: 0;
  background: transparent;
  color: var(--g500);
  border-radius: 4px;
}
.ss-terminal .di-period button[aria-pressed="true"] {
  background: white;
  color: var(--teal-deep);
  box-shadow: 0 1px 3px #003d4715;
}
.ss-terminal .di-caption {
  font-size: 11px;
  line-height: 1.6;
  color: var(--g500);
  margin: 6px 0 10px;
}
.ss-terminal .di-metric {
  display: flex;
  align-items: center;
  width: 100%;
  text-align: left;
  gap: 10px;
  padding: 12px 0;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--ln2);
  color: var(--teal-deep);
}
.ss-terminal .di-metric:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.ss-terminal .di-metric > span:first-child {
  flex: 1;
  min-width: 0;
}
.ss-terminal .di-metric strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
}
.ss-terminal .di-metric small {
  display: block;
  color: var(--g500);
  font-size: 10px;
  line-height: 1.5;
  margin-top: 3px;
}
.ss-terminal .di-metric b {
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.ss-terminal .di-metric:disabled {
  cursor: default;
}
.ss-terminal .di-insight {
  padding: 12px 0;
}
.ss-terminal .di-insight + .di-insight {
  border-top: 1px solid var(--ln2);
}
.ss-terminal .di-insight strong {
  color: var(--teal-deep);
  font-size: 12px;
  font-weight: 600;
}
.ss-terminal .di-insight p,
.ss-terminal .di-record p {
  color: var(--g500);
  font-size: 12px;
  line-height: 1.6;
  margin: 5px 0 10px;
}
.ss-terminal .di-insight .pbtn {
  font-size: 11px;
}
.ss-terminal .di-bar {
  background: var(--ln2);
  height: 6px;
  border-radius: 4px;
  overflow: hidden;
  margin: 12px 0;
}
.ss-terminal .di-bar i {
  display: block;
  height: 100%;
  background: var(--teal, #01a4b0);
  border-radius: 4px;
}
.ss-terminal .di-linkrow {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 0;
  background: none;
  color: var(--g500);
  padding: 6px 0;
  text-align: left;
  font-size: 12px;
}
.ss-terminal .di-linkrow strong {
  color: var(--teal-deep);
}
.ss-terminal .di-explore {
  color: var(--teal-deep);
  border: 0;
  background: none;
  font-size: 12px;
  text-align: left;
  padding: 18px 0 0;
}
.ss-terminal .di-results {
  padding: 20px;
  overflow: auto;
}
.ss-terminal .di-record {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--ln2);
}
.ss-terminal .di-record > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ss-terminal .di-record strong {
  color: var(--teal-deep);
  font-size: 14px;
}
.ss-terminal .di-record .pbtn {
  flex: none;
}
.ss-terminal .dashboard-insights button:focus-visible {
  outline: 2px solid var(--teal-deep);
  outline-offset: 3px;
}

.ss-terminal .di-record .di-overdue {
  color: #b42318;
}

.ss-terminal .di-goal-form {
  margin-top: 12px;
  font-size: 12px;
  color: var(--teal-deep);
}
.ss-terminal .di-goal-form input {
  display: block;
  width: 100%;
  margin: 8px 0;
  border: 1px solid var(--ln);
  border-radius: 6px;
  padding: 8px;
}
.ss-terminal .di-goal-form > div {
  display: flex;
  gap: 8px;
}
.ss-terminal .di-comparison {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  color: var(--g500);
  font-size: 10px;
  padding: 2px 0 8px;
}
.ss-terminal .di-insight .pbtn {
  display: block;
  margin-top: 8px;
}
.ss-terminal .di-report {
  padding: 20px;
  overflow: auto;
}
.ss-terminal .di-report section {
  padding: 16px 0;
}
.ss-terminal .di-report summary {
  cursor: pointer;
  color: var(--teal-deep);
  font-size: 15px;
  font-weight: 600;
}

/* ---- Scoreboard dashboard (variant A) ---- */
.ss-terminal .dashboard-insights { --dz-warn-bg: #FDF3E4; --dz-warn-fg: #8A5A12; --dz-good-bg: #EEF6DD; --dz-good-fg: #3F6B0B; }
.ss-terminal .dashboard-insights .dz-num { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.ss-terminal .dashboard-insights .dz-eyebrow { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ss-terminal .dz-band { background: linear-gradient(160deg, var(--dk2), var(--dk)); color: #fff; padding: 16px 18px 18px; }
.ss-terminal .dz-band-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.ss-terminal .dz-range { font-size: 12px; color: #B5E3E7; flex: 1; }
.ss-terminal .dz-band-note { display: block; font-size: 11px; color: #B5E3E7; margin-top: 10px; }
.ss-terminal .dz-stats { display: flex; gap: 14px; }
.ss-terminal .dz-stat { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.ss-terminal .dz-stat-main { display: block; width: 100%; text-align: left; background: none; border: 0; padding: 0; color: #fff; cursor: pointer; font: inherit; }
.ss-terminal .dz-stat-main:disabled { cursor: default; opacity: .75; }
.ss-terminal .dz-stat-main .dz-eyebrow { color: #8FD8DE; }
.ss-terminal .dashboard-insights.col > .dz-band .dz-eyebrow { font-size: 9.5px; letter-spacing: .05em; }
.ss-terminal .dz-stat-main .dz-num { display: block; font-size: 34px; margin-top: 6px; }
.ss-terminal .dz-stat-note { font-size: 11px; color: #FFD9A3; }
.ss-terminal .dz-chip-btn { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; }
.ss-terminal .dz-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 999px; line-height: 1; }
.ss-terminal .dz-chip.up { background: var(--dz-good-bg); color: var(--dz-good-fg); }
.ss-terminal .dz-chip.down { background: var(--dz-warn-bg); color: var(--dz-warn-fg); }
.ss-terminal .dz-chip.flat { background: var(--ln2); color: var(--g600); }
.ss-terminal .dz-chip.on-dark.up { background: rgba(153, 202, 60, .22); color: #D9F0A8; }
.ss-terminal .dz-chip.on-dark.down { background: rgba(255, 196, 110, .22); color: #FFD9A3; }
.ss-terminal .dz-chip.on-dark.flat { background: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .85); }
.ss-terminal .dz-period { display: inline-flex; background: var(--ln2); border-radius: 8px; padding: 2px; flex: none; }
.ss-terminal .dz-period button { font: 700 11px 'Montserrat', sans-serif; border: 0; background: transparent; color: var(--g500); padding: 4px 9px; border-radius: 6px; cursor: pointer; }
.ss-terminal .dz-period button[aria-pressed="true"] { background: #fff; color: var(--dk); box-shadow: 0 1px 3px rgba(0, 61, 71, .12); }
.ss-terminal .dz-period.dark { background: rgba(255, 255, 255, .12); }
.ss-terminal .dz-period.dark button { color: rgba(255, 255, 255, .75); }
.ss-terminal .dz-period.dark button[aria-pressed="true"] { background: #fff; color: var(--dk); box-shadow: none; }
.ss-terminal .dz-sec { padding: 16px 18px; border-bottom: 1px solid var(--ln2); }
.ss-terminal .dz-sec.last { border-bottom: 0; }
.ss-terminal .dashboard-insights .dz-sec h3 { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: var(--dk); margin: 0 0 8px; letter-spacing: .02em; }
.ss-terminal .dz-sec-sub { font-weight: 500; color: var(--g500); }
.ss-terminal .dz-sec-count { margin-left: auto; font-weight: 700; }
.ss-terminal .dz-sec-count.warn { color: var(--dz-warn-fg); }
.ss-terminal .dz-attn { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--ln2); }
.ss-terminal .dz-attn:last-of-type { border-bottom: 0; }
.ss-terminal .dz-attn strong { flex: 1; min-width: 0; font-size: 13px; font-weight: 700; color: var(--dk); overflow-wrap: anywhere; }
.ss-terminal .dashboard-insights .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ss-terminal .dz-attn .pbtn { flex: none; }
.ss-terminal .dz-warn-pill { background: var(--dz-warn-bg); color: var(--dz-warn-fg); font-size: 12px; font-weight: 800; min-width: 26px; height: 26px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; flex: none; }
.ss-terminal .dashboard-insights .di-caption.warn { color: var(--dz-warn-fg); }
.ss-terminal .dz-headline { display: flex; align-items: baseline; gap: 8px; color: var(--g600); font-size: 12.5px; }
.ss-terminal .dz-headline .dz-num { font-size: 30px; color: var(--dk); }
.ss-terminal .dz-headline .dz-num small { font-size: 16px; color: var(--g500); font-weight: 600; }
.ss-terminal .dz-headline-btn { width: 100%; background: none; border: 0; padding: 0; text-align: left; cursor: pointer; font: inherit; }
.ss-terminal .dz-meter { height: 8px; border-radius: 99px; background: var(--teal-soft); overflow: hidden; margin: 10px 0; }
.ss-terminal .dz-meter i { display: block; height: 100%; border-radius: 99px; background: var(--teal); }
.ss-terminal .dz-meter.dk { background: #D5E3E6; }
.ss-terminal .dz-meter.dk i { background: var(--dk); }
.ss-terminal .dz-legs { display: flex; flex-direction: column; }
.ss-terminal .dz-leg { display: flex; justify-content: space-between; gap: 12px; width: 100%; border: 0; background: none; color: var(--g600); padding: 6px 0; text-align: left; font-size: 12px; cursor: pointer; font-family: inherit; }
.ss-terminal .dz-leg strong { color: var(--dk); font-variant-numeric: tabular-nums; }
.ss-terminal .dz-foot { display: flex; flex-direction: column; gap: 8px; padding: 6px 18px 18px; }
.ss-terminal .dz-foot .btn { width: 100%; }
.ss-terminal .dz-cols { display: flex; align-items: flex-end; gap: 6px; }
.ss-terminal .dz-cols > span { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.ss-terminal .dz-cols i { display: block; width: 100%; max-width: 22px; border-radius: 4px 4px 0 0; background: #CFE9EC; }
.ss-terminal .dz-cols i.on { background: var(--teal); }
.ss-terminal .dz-cols small { font-size: 10px; color: var(--g500); }
.ss-terminal .dz-cols b { font-size: 11px; color: var(--dk); }
/* Expanded view */
.ss-terminal .dz-report { background: var(--band); container: dashboard-report / inline-size; }
.ss-terminal .dz-report .dz-band { padding: 20px 24px 22px; }
.ss-terminal .dz-report .dz-band-head { margin-bottom: 16px; }
.ss-terminal .dz-report .dz-stats { gap: 18px; align-items: flex-start; }
.ss-terminal .dz-report .dz-stat-main .dz-eyebrow { min-height: 3.2em; overflow-wrap: anywhere; }
.ss-terminal .dz-band-ratios { display: flex; gap: 18px; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .18); flex: none; }
.ss-terminal .dz-band-ratio { width: 150px; }
.ss-terminal .dz-band-ratio .dz-eyebrow { color: #8FD8DE; }
.ss-terminal .dz-band-ratio .dz-num { display: block; font-size: 26px; margin: 6px 0; }
.ss-terminal .dz-band-ratio .dz-num small { font-size: 14px; opacity: .7; }
.ss-terminal .dz-band-ratio .dz-meter { background: rgba(255, 255, 255, .18); margin: 0; }
.ss-terminal .dz-band-ratio .dz-meter i { background: #8FD8DE; }
.ss-terminal .dz-band-ratio .dz-meter.goal i { background: var(--lime); }
.ss-terminal .dz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px 24px 24px; }
.ss-terminal .dz-card { background: #fff; border: 1px solid var(--ln); border-radius: 14px; padding: 16px 18px; min-width: 0; }
.ss-terminal .dashboard-insights .dz-card h3 { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; color: var(--dk); margin: 0 0 10px; }
.ss-terminal .dz-card h3 .dz-warn-pill, .ss-terminal .dz-card h3 .dz-sec-sub { margin-left: auto; }
.ss-terminal .dz-card .di-linkrow { padding: 8px 0; border-bottom: 1px solid var(--ln2); color: var(--g700); font-size: 13px; }
.ss-terminal .dz-card .di-linkrow:last-of-type { border-bottom: 0; }
.ss-terminal .dz-card .di-linkrow strong { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; }
.ss-terminal .dz-card .di-linkrow small { color: var(--g500); }
.ss-terminal .dz-card .pbtn { margin-top: 8px; margin-right: 6px; }
.ss-terminal .dz-card .di-caption { margin: 8px 0 0; }
.ss-terminal .dz-card .dz-attn { padding: 8px 0; }
/* The report shares the window with Actions and Sloane: use its own width. */
@container dashboard-report (max-width: 760px) {
  .ss-terminal .dz-grid { grid-template-columns: minmax(0, 1fr); padding: 14px 16px 20px; }
  .ss-terminal .dz-band-ratios { border-left: 0; padding-left: 0; flex-basis: 100%; }
  .ss-terminal .dz-report .dz-stats { flex-wrap: wrap; }
  .ss-terminal .dz-band-ratio { width: auto; min-width: 0; flex: 1; }
}
@media (max-width: 600px) {
  .ss-terminal .dz-band { padding: 14px 16px 16px; }
  .ss-terminal .dz-stat-main .dz-num { font-size: 30px; }
  .ss-terminal .dz-sec { padding: 14px 16px; }
  .ss-terminal .dz-band-ratio { width: auto; flex: 1; }
}

@container dashboard-report (max-width: 480px) {
  .ss-terminal .dz-report .dz-band { padding: 16px; }
  .ss-terminal .dz-report .dz-stat-main .dz-eyebrow { font-size: 11px; letter-spacing: 0; text-transform: none; }
}

@font-face{font-family:Montserrat;src:url('/fonts/Montserrat-Variable.woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}body{margin:0}button{font:inherit} .ss-terminal{position:relative;inset:auto;width:1280px;height:900px} .ss-terminal .cols{grid-template-columns:240px 340px 350px 350px} .ss-terminal .col{overflow:hidden} .ss-terminal .top img{width:125px;max-height:24px} .sample-body{padding:22px}.sample-avatar{width:62px;height:62px;border-radius:50%;background:#dcf1f4;display:grid;place-items:center;font-weight:600;font-size:22px;color:#005d6c}.sample-body h3{font-size:18px;margin:16px 0 5px}.sample-body p{font-size:12px;color:#6b7280;line-height:1.8}.sample-body .label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-top:28px}.sample-row{padding:14px 0;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:10px;font-size:12px}.sample-row b{display:block}.sample-row small{display:block;font-size:10px;color:#6b7280}.sample-row>span{width:32px;height:32px;border-radius:50%;background:#eef4f5;display:grid;place-items:center;color:#005d6c}.sample-module{border-top:1px solid #e5e7eb;padding:18px 0;font-weight:600;font-size:13px}.sample-call{padding:10px 16px;background:#005d6c;color:white;border-radius:7px;font-size:12px;display:inline-block;margin:18px 0 28px}.sample-coach{padding:28px 24px;display:flex;flex-direction:column;height:calc(100% - 64px)}.sample-coach h3{font-size:22px}.sample-coach p{font-size:13px;line-height:1.9}.sample-message{background:#DCF1F4;border-radius:12px 12px 0 12px;padding:16px;margin:26px 0;font-size:12px;line-height:1.8}.sample-response{display:flex;gap:10px;align-items:start}.sample-response img{width:36px;height:36px;object-fit:contain}.sample-response p{margin:0}.sample-composer{margin-top:auto;border:1px solid #d5e2e5;background:white;border-radius:14px;padding:18px;color:#6b7280;font-size:12px}.sample-compose-icons{display:flex;justify-content:flex-end;gap:14px;color:#005d6c;font-size:18px;margin-top:22px}.sample-date{font-size:11px;color:#6b7280;margin-bottom:16px}.sample-sloane-head{width:38px;height:38px;object-fit:contain}.preview-note{font:12px Montserrat,sans-serif;margin:0;padding:14px;color:#005d6c;background:#eef4f3}
