/* SignalCove visual refinement — additive layer; keep the original light workspace and dark navigation. */
:root {
  --navy: #17283a;
  --navy2: #203348;
  --paper: #f2f4f5;
  --white: #fff;
  --ink: #202d3b;
  --muted: #667482;
  --line: #dce2e6;
  --green: #16835e;
  --green2: #e7f4ed;
  --shadow: 0 16px 52px #10203314;
}

/* Give channel names and navigation controls a little more breathing room on desktop. */
.sidebar { width: 300px; background: #17283a; }
.main-area { margin-left: 300px; }
.workspace-label, .team-heading { color: #9aaaba; }
.nav-item, .team-toggle, .channel-link { color: #d1d9e0; }
.channel-link { color: #b6c1cb; }
.channel-link.active { background: #2a4056; }
.topbar { background: #f8f9fa; border-color: #dce2e6; }
.content { color: #253443; }
.review-banner { background: #eef1f2; border-color: #dce2e4; color: #586775; }
.section-head .eyebrow, .drawer-head .eyebrow, .modal-head .eyebrow { color: #64746d; }
.section-head h1 { color: #1e2d3b; }
.section-head p { color: #596977; }

/* Statuses retain distinct semantic colors; stronger text/borders improve scanability. */
.status { font-size: 11px; font-weight: 700; }
.status.in_progress, .status.proposed { color: #315f88; background: #e6eff8; }
.status.blocked { color: #914c2c; background: #fff0e7; }
.status.done, .status.accepted { color: #286747; background: #e5f2e9; }
.status.superseded { color: #66586f; background: #eeebf1; }
.team-pill { color: #3e674f; }
.team-pill.switchyard { color: #8d5837; }
.team-pill.shared { color: #536178; }

/* Decision log: readable copy and metadata without altering the card's overall geometry. */
.decision-list { gap: 12px; }
.decision-card {
  background: #fff;
  border-color: #dce2e6;
  box-shadow: 0 2px 8px #1c30400a;
}
.decision-mark { background: #eaf2ed; color: #287251; }
.decision-card h3, .decision-main h3 {
  color: #1f2e3d;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 680;
}
.decision-main h3 { margin: 10px 0 7px; }
.decision-card .decision-main > p {
  color: #465563;
  font-size: 16px;
  line-height: 1.65;
  min-height: 0;
  overflow-wrap: anywhere;
}
.decision-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 16px;
  color: #526171;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 13px;
}
.decision-owner {
  color: #465563;
  font-weight: 600;
}
.decision-updated { color: #566575; }
.decision-status-label {
  display: inline-flex;
  align-items: center;
  color: #355d7b;
  background: #e8eff5;
  border: 1px solid #d4e0e9;
  border-radius: 5px;
  padding: 3px 8px;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  white-space: normal;
}
.decision-card .demo-chip {
  color: #80501e;
  background: #fff0d7;
  border: 1px solid #ead4ad;
  font-size: 10px;
  letter-spacing: .45px;
  padding: 3px 7px;
}

/* Keyboard visibility for interactive controls, including controls in the dark sidebar. */
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
a:focus-visible {
  outline: 3px solid #23845f;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
.sidebar button:focus-visible { outline-color: #a7dbbf; box-shadow: 0 0 0 2px #17283a; }

/* Preserve established tablet and mobile menu breakpoints/sizing. */
@media (max-width: 900px) {
  .sidebar { width: 240px; }
  .main-area { margin-left: 240px; }
}
@media (max-width: 680px) {
  .sidebar { width: min(285px, 84vw); }
  .main-area { margin-left: 0; }
  .decision-card { align-items: flex-start; }
  .decision-card h3, .decision-main h3 { font-size: 16px; overflow-wrap: anywhere; }
  .decision-main { min-width: 0; }
  .decision-card .decision-main > p { font-size: 16px; }
  .decision-meta { gap: 6px 12px; }
  .decision-card > .icon-button { flex: none; }
}
@media (max-width: 380px) {
  .decision-card { gap: 7px; padding-left: 9px; padding-right: 8px; }
  .decision-mark { width: 28px; height: 28px; }
}

/* Keep Home's original geometry and large crests; only align the paper surface. */
.sc-home { background: transparent; }
.decision-card .card-top { flex-wrap: wrap; gap: 7px; }
.decision-card .status { font-size: 12px; padding: 4px 9px; }
.decision-card .team-pill { font-size: 12px; }
.decision-card .demo-chip { white-space: normal; line-height: 1.5; }
.decision-owner { background: #f1f4f6; border: 1px solid #dde3e7; padding: 4px 8px; border-radius: 5px; font-weight: 400; }
.decision-status-prefix { text-transform: none; }
.decision-card .icon-button { color: #536575; flex: none; }
/* Channel-navigation component hooks. Sidebar width and palette remain owned by the theme stylesheet. */
.channel-navigation { min-width: 0; }
.channel-search { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.channel-search input { width: 100%; min-width: 0; }
.channel-collection { min-width: 0; }
.channel-collection h3 { margin: .75rem .5rem .35rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.channel-nav-row { display: flex; align-items: center; min-width: 0; }
.channel-nav-row .channel-link { flex: 1; min-width: 0; }
.channel-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.channel-pin { flex: 0 0 auto; border: 0; background: transparent; cursor: pointer; }
.channel-pin:focus-visible, .channel-search input:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.channel-pin.pinned { font-weight: 700; }
.channel-empty { padding: .5rem; }
.channel-team { margin-left: auto; padding-left: .35rem; font-size: .68rem; opacity: .72; white-space: nowrap; }

/* Scroll channels independently; keep the account and primary navigation in reach. */
.sidebar > .brand, .sidebar > .workspace-label, .sidebar > .primary-nav, .sidebar > .team-heading, .sidebar-bottom { flex-shrink: 0; }
.channel-navigation { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #60758a transparent; padding: 1px 2px 12px; }
.channel-search { position: sticky; top: 0; z-index: 1; padding: 7px 9px; margin: 0 2px 12px; background: #22364a; border: 1px solid #4f6376; border-radius: 7px; color: #c9d7e1; }
.channel-search input { color: #f2f6f9; background: transparent; border: 0; padding: 3px 0; outline: none; font-size: 13px; }
.channel-search input::placeholder { color: #b4c2cf; opacity: 1; }
.channel-search:focus-within { border-color: #a7dbbf; }
.channel-collection { border-bottom: 1px solid #ffffff1c; padding-bottom: 7px; margin-bottom: 8px; }
.channel-collection h3 { color: #b4c4d2; font-size: 11px; }
.channel-list { padding-left: 10px; }
.channel-collection .channel-list { padding-left: 0; }
.channel-nav-row { gap: 3px; border-radius: 7px; }
.channel-nav-row:hover { background: #ffffff08; }
.channel-nav-row .channel-link { gap: 8px; padding-left: 8px; padding-right: 5px; font-size: 13px; min-height: 36px; }
.channel-nav-row .channel-link .channel-label { color: inherit; font-size: 13px; min-width: 0; }
.channel-nav-row .channel-link .channel-team { color: #a9bac9; font-size: 10px; opacity: 1; max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
.team-group .channel-team { display: none; }
.channel-pin { color: #b2c2d0; width: 30px; height: 32px; border-radius: 6px; font-size: 17px; }
.channel-pin:hover { color: #fff; background: #ffffff13; }
.channel-pin.pinned { color: #e3c37f; }
.channel-empty { color: #c0cdd8; font-size: 13px; }
@media(max-width:680px) { .channel-pin { min-height: 38px; width: 34px; } .channel-nav-row .channel-link { min-height: 40px; } }
