/* Baldspot UI 1.14.12. Generated from the native platform styles. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #0d0d0d;
  --surface: #141414;
  --surface2: #1c1c1c;
  --border: #2a2a2a;
  --accent: #ff5c00;
  --accent-dim: rgba(255,92,0,0.12);
  --text: #f0f0f0;
  --text-muted: #6b6b6b;
  --text-dim: #999;
  --green: #22c55e;
  --yellow: #eab308;
  --red: #ef4444;
  --radius: 10px;
  --font-display: 'Poppins', Arial, sans-serif;
  --font-body: 'Poppins', Arial, sans-serif;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  min-height: 100vh;
  line-height: 1.6;
}

/* Baldspot-owned routes for tools that still deploy as separate applications. */
.tool-frame-page { height: 100vh; display: flex; flex-direction: column; overflow: hidden; background: var(--bg); }
.tool-frame { display: block; width: 100%; flex: 1; min-height: 0; border: 0; background: var(--bg); }

.future-shell .btn-primary::after,.future-shell .btn-secondary::after,.future-shell .nav-btn::after {
  content: '';
  position: absolute;
  inset: -40% auto -40% -45%;
  width: 30%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.48), rgba(255,92,0,0.28), transparent);
  filter: blur(1px);
  transition: left 520ms cubic-bezier(.2,.65,.25,1);
  pointer-events: none;
}
.future-shell .btn-primary:hover::after,.future-shell .btn-secondary:hover::after,.future-shell .nav-btn:hover::after { left: 118%; }

.header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 40px;
  border-bottom: 1px solid var(--border);
}

.logo {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--accent);
  letter-spacing: -0.5px;
}

.header-label {
  font-size: 13px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.account {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-dim);
  font-size: 0.82rem;
}

.account button {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  border-radius: 999px;
  padding: 7px 11px;
  font: 600 0.78rem var(--font-body);
  cursor: pointer;
}

.account button:hover { border-color: var(--accent); color: var(--accent); }

.main {
  max-width: 940px;
  margin: 0 auto;
  padding: 60px 40px 80px;
  display: flex;
  flex-direction: column;
  gap: 48px;
  position: relative;
}

.hero, .upload-zone, .plan-wrap, .bulk-wrap { width: 100%; max-width: 860px; margin-left: auto; margin-right: auto; }

/* Construction-PM mascot in the SOW / Change Order hero: centered, gently floating. */
.hero-mascot { display: flex; justify-content: center; margin-bottom: 6px; }
.hero-mascot svg { animation: hero-mascot-bob 4.5s ease-in-out infinite; }
@keyframes hero-mascot-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (prefers-reduced-motion: reduce) { .hero-mascot svg { animation: none; } }
.hero-mascot--corner img,
.hero-mascot--corner svg { display: block; }

.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 16px;
}

.hero-sub {
  color: var(--text-dim);
  font-size: 1.05rem;
  max-width: 540px;
}

/* Toolkit directory (home) */
.dir-hero { text-align: center; margin-top: 28px; }
.dir-hero h1 {
  font-family: var(--font-display); font-weight: 700; line-height: 1.12; letter-spacing: -0.03em;
  font-size: clamp(2rem, 5.5vw, 3.4rem);
}
.dir-verb { color: var(--accent); }
.dir-mascot {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  pointer-events: none;
  animation: dir-mascot-in 280ms ease-out both;
}
.dir-mascot--top-left { top: 26px; left: -178px; }
.dir-mascot--top-right { top: 26px; right: -178px; flex-direction: row-reverse; }
.dir-mascot--middle-left { top: 360px; left: -178px; }
.dir-mascot--middle-right { top: 360px; right: -178px; flex-direction: row-reverse; }
.dir-mascot-bubble {
  width: 150px;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 12px 12px 4px 12px;
  background: var(--surface);
  box-shadow: 0 12px 28px rgba(0,0,0,0.24);
  line-height: 1.25;
}
.dir-mascot--top-right .dir-mascot-bubble,
.dir-mascot--middle-right .dir-mascot-bubble { border-radius: 12px 12px 12px 4px; }
.dir-mascot-bubble span { display: block; color: var(--accent); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.dir-mascot-bubble strong { display: block; margin-top: 5px; font: 700 0.92rem var(--font-display); }
.dir-mascot-bubble small { display: block; margin-top: 3px; color: var(--text-dim); font-size: 0.68rem; }
@keyframes dir-mascot-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 1280px) {
  .dir-mascot--top-left, .dir-mascot--middle-left { left: 8px; }
  .dir-mascot--top-right, .dir-mascot--middle-right { right: 8px; }
  .dir-mascot { opacity: 0.92; }
  .dir-mascot-bubble { width: 132px; }
}

@media (max-width: 760px) {
  .dir-mascot { position: relative; inset: auto; align-self: center; flex-direction: row-reverse; margin: -18px 0 -22px; }
  .dir-mascot-bubble { width: min(190px, 55vw); }
  .dir-mascot svg { width: 64px; height: auto; }
}
.dir-ext { color: var(--accent); font-weight: 700; }
.dir-x {
  position: absolute; top: 10px; right: 10px; width: 24px; height: 24px;
  border: 1px solid var(--border); border-radius: 50%; background: var(--surface2);
  color: var(--text-dim); font: 700 0.85rem var(--font-body); line-height: 1; cursor: pointer;
}
.dir-x:hover { border-color: var(--red); color: var(--red); }

.admin-btn {
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
  border-radius: 999px; padding: 7px 14px; font: 600 0.78rem var(--font-body); cursor: pointer;
}
.admin-btn:hover { border-color: var(--accent); color: var(--accent); }

.auth-panel {
  width: 100%;
  max-width: 430px;
  margin: 80px auto 0;
  padding: 34px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  text-align: center;
}

.auth-logo { font-size: 1.5rem; margin-bottom: 26px; }

.auth-panel h1 {
  font-family: var(--font-display);
  font-size: 2rem;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 12px;
}

.auth-panel p {
  color: var(--text-dim);
  font-size: 0.9rem;
  margin: 0 auto 24px;
  max-width: 310px;
}

.google-signin {
  display: flex;
  justify-content: center;
  min-height: 42px;
}

.auth-error,
.empty-access {
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(239,68,68,0.35);
  border-radius: 10px;
  background: rgba(239,68,68,0.08);
  color: #fca5a5;
  font-size: 0.82rem;
}

.empty-access {
  max-width: 460px;
  margin: 8px auto 0;
  text-align: center;
}

@media (max-width: 640px) {
  .header { padding: 18px 22px; }
  .account { align-items: flex-end; flex-direction: column; gap: 6px; font-size: 0.72rem; }
  .auth-panel { margin-top: 34px; padding: 28px 22px; }
}

/* Upload */
.upload-zone {
  border: 1.5px dashed var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  transition: border-color 0.2s, background 0.2s;
  cursor: pointer;
}

.upload-zone.dragover {
  border-color: var(--accent);
  background: var(--accent-dim);
}

.upload-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 56px 40px;
  gap: 10px;
  text-align: center;
}

.upload-icon { color: var(--text-muted); margin-bottom: 8px; }

.upload-label { font-size: 1rem; font-weight: 500; }

.upload-sub { font-size: 0.875rem; color: var(--text-muted); }
.upload-hint { font-size: 0.78rem; color: var(--text-muted); margin-top: 10px; opacity: 0.8; }

/* Plan / tier picker (proposal with multiple engagements or tiered retainer) */
.plan-wrap { margin-top: 8px; }
.plan-head { margin-bottom: 16px; }
.plan-title { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 4px; }
.plan-sub { font-size: 0.85rem; color: var(--text-muted); margin: 0; }
.plan-package { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-bottom: 12px; }
.plan-package > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.plan-package strong { font-size: 0.86rem; }
.plan-package small { color: var(--text-dim); font-size: 0.74rem; line-height: 1.4; max-width: 560px; }
.plan-package .plan-mode { flex-shrink: 0; margin-top: 0; }
.plan-list { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.plan-eng { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; }
.plan-eng-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.plan-eng-title { font-weight: 600; font-size: 0.95rem; }
.plan-eng-type { font-size: 0.72rem; color: var(--text-muted); text-transform: lowercase; flex-shrink: 0; }
.plan-eng-summary { margin: 8px 0 0; color: var(--text-dim); font-size: 0.78rem; line-height: 1.45; }
.plan-mode { display: flex; align-items: center; gap: 6px; margin-top: 12px; }
.plan-mode-btn { border: 1px solid var(--border); background: var(--surface2); color: var(--text); border-radius: 999px; padding: 6px 10px; font: inherit; font-size: 0.72rem; cursor: pointer; }
.plan-mode-btn--on { border-color: var(--accent); color: var(--accent); background: rgba(255,92,0,0.08); }
.plan-mode-count { margin-left: auto; color: var(--text-muted); font-size: 0.72rem; }
.plan-group-facts { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.plan-group-facts span { border: 1px solid var(--border); background: var(--surface2); color: var(--text-dim); border-radius: 999px; padding: 3px 8px; font-size: 0.68rem; }
.plan-group-facts em { margin-left: auto; color: var(--text-muted); font-size: 0.7rem; font-style: normal; }
.plan-tiers { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.plan-tier { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; }
.plan-tier--on { border-color: var(--accent); background: rgba(255,92,0,0.06); }
.plan-tier--warn { box-shadow: inset 3px 0 0 var(--red); }
.plan-tier input { accent-color: var(--accent); }
.plan-tier-select { align-self: flex-start; padding-top: 2px; cursor: pointer; }
.plan-tier-name { flex: 1; min-width: 0; font-size: 0.86rem; }
.plan-tier-name strong, .plan-tier-name small, .plan-tier-name em, .plan-phase-label { display: block; }
.plan-phase-label { color: var(--accent); font-size: 0.64rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 2px; }
.plan-tier-name small { margin-top: 2px; color: var(--text-dim); font-size: 0.72rem; line-height: 1.35; }
.plan-tier-name em { margin-top: 4px; color: var(--text-muted); font-size: 0.68rem; font-style: normal; line-height: 1.3; }
/* Timeline / Revisions / price sit on their own wrapped row beneath the name,
   aligned with the milestone buttons — never float off the right edge. */
.plan-tier-meta { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap;
  flex-basis: 100%; margin-left: 26px; margin-top: 6px; text-align: left; }
.plan-tier-meta small { color: var(--text-muted); font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.04em; }
.plan-tier-price { align-self: center; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }
.plan-fact { display: flex; flex-direction: column; min-width: 76px; color: var(--text); font-size: 0.72rem; line-height: 1.3; }
.plan-fact + .plan-fact { border-left: 1px solid var(--border); padding-left: 12px; }
.plan-fact b { color: var(--text-muted); font-size: 0.59rem; text-transform: uppercase; letter-spacing: 0.05em; }
.plan-milestones { flex-basis: 100%; display: flex; gap: 6px; margin-left: 26px; padding-top: 6px; }
.plan-ms-btn { border: 1px solid var(--border); background: var(--surface2); color: var(--text-dim); border-radius: 6px; padding: 5px 9px; font: 600 0.68rem var(--font-body); cursor: pointer; }
.plan-ms-btn--on { border-color: #60a5fa; color: #93c5fd; background: rgba(96,165,250,0.1); }
.plan-ms-btn--pay { border-color: var(--accent); color: var(--accent); background: rgba(255,92,0,0.1); }
.plan-notes { margin: 0 0 16px; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
.plan-notes label { display: block; font-family: var(--font-display); font-size: 1rem; font-weight: 700; }
.plan-notes p { color: var(--text-muted); font-size: 0.74rem; margin: 2px 0 10px; }
.plan-notes textarea { display: block; width: 100%; min-height: 120px; resize: vertical; background: var(--bg); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: 11px 12px; font: 0.82rem/1.5 var(--font-body); outline: none; }
.plan-notes textarea:focus { border-color: var(--accent); }
.plan-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }

/* Bulk processing feed */
.bulk-wrap { margin-top: 8px; }
.bulk-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.bulk-title { font-family: var(--font-display); font-size: 1.25rem; margin: 0 0 4px; }
.bulk-sub { font-size: 0.82rem; color: var(--text-muted); margin: 0; }
.bulk-actions { display: flex; gap: 8px; flex-shrink: 0; }
.bulk-bar { height: 5px; background: var(--surface2); border-radius: 999px; overflow: hidden; margin-bottom: 16px; }
.bulk-bar span { display: block; height: 100%; background: var(--accent); transition: width 0.4s ease; }
.bulk-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bulk-row {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
}
.bulk-row--running { border-color: var(--accent); }
.bulk-row--done { border-color: rgba(52,211,153,0.4); }
.bulk-row--error { border-color: rgba(248,113,113,0.5); }
.bulk-idx { width: 22px; height: 22px; flex-shrink: 0; display: grid; place-items: center; font-size: 0.7rem; color: var(--text-muted); background: var(--surface2); border-radius: 50%; }
.bulk-name { flex: 0 0 220px; font-size: 0.84rem; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bulk-stage { flex: 1; min-width: 0; font-size: 0.78rem; color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bulk-row--done .bulk-stage { color: var(--green); }
.bulk-err { color: var(--red); }
.bulk-action { flex-shrink: 0; }
.bulk-open { color: var(--accent); text-decoration: none; font-size: 0.82rem; font-weight: 600; }
.bulk-open:hover { text-decoration: underline; }
.bulk-retry { background: var(--surface2); border: 1px solid var(--border); color: var(--text); padding: 4px 10px; border-radius: 6px; font-size: 0.76rem; cursor: pointer; font-family: var(--font-body); }
.bulk-retry:hover { border-color: var(--accent); color: var(--accent); }
.bulk-spin { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: bulkspin 0.7s linear infinite; }
@keyframes bulkspin { to { transform: rotate(360deg); } }

.file-link {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--accent);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Pipeline */
.pipeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.pipeline-step {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--border);
  transition: background 0.2s;
}

.pipeline-step:last-child { border-bottom: none; }

.pipeline-step.active { background: var(--accent-dim); }
.pipeline-step.done { opacity: 0.7; }

.step-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--border);
  flex-shrink: 0;
  transition: background 0.3s;
}

.pipeline-step.active .step-dot { background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.pipeline-step.done .step-dot { background: var(--green); }
.pipeline-step.error .step-dot { background: var(--red); }

.step-info { flex: 1; }
.step-name { display: block; font-size: 0.9rem; font-weight: 600; }
.step-desc { display: block; font-size: 0.8rem; color: var(--text-muted); margin-top: 2px; }

.step-badge {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-family: var(--font-display);
  font-weight: 500;
}

.pipeline-step.done .step-badge { color: var(--green); }
.pipeline-step.error .step-badge { color: var(--red); }
.pipeline-step.active .step-badge { color: var(--accent); }

/* Shared Baldspot analysis language used by proposal and Capacity workflows. */
.run-stage { display: grid; justify-items: center; gap: 22px; width: 100%; max-width: 880px; margin: 48px auto 0; }
.sow-analysis-card { display: grid; justify-items: center; gap: 9px; width: min(680px, 100%); padding: 54px 28px; text-align: center; }
.sow-analysis-orbit { width: 104px; height: 104px; border: 1px solid rgba(255,92,0,.24); border-radius: 50%; position: relative; animation: sowOrbitSpin 2.4s linear infinite; }
.sow-analysis-orbit::before,
.sow-analysis-orbit::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.sow-analysis-orbit::after { inset: 32px; border: 0; background: var(--accent); box-shadow: 0 0 32px rgba(255,92,0,.7); }
.sow-analysis-orbit span { position: absolute; left: 8px; top: 18px; width: 9px; height: 9px; border-radius: 50%; background: #fff; }
.sow-analysis-card.is-done .sow-analysis-orbit { animation: none; border-color: rgba(34,197,94,.35); }
.sow-analysis-card.is-done .sow-analysis-orbit::after { background: var(--green); box-shadow: 0 0 32px rgba(34,197,94,.55); }
.sow-analysis-card h2 { margin: 15px 0 0; font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.04em; }
.sow-analysis-card p { max-width: 520px; margin: 0; color: var(--text-dim); line-height: 1.55; }
.sow-analysis-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.sow-analysis-chips span { border: 1px solid var(--border); border-radius: 999px; color: var(--text-muted); font-size: .72rem; padding: 6px 10px; }
.sow-analysis-chips span.active { border-color: rgba(255,92,0,.45); color: var(--accent); }
.sow-analysis-chips span.done { border-color: rgba(34,197,94,.4); color: var(--green); }
@keyframes sowOrbitSpin { to { transform: rotate(360deg); } }

/* offset-path is set inline per run (randomized). */
.glider { position: absolute; left: 0; top: 0; width: 104px; z-index: 3; offset-distance: 0%; offset-rotate: 0deg; offset-anchor: 50% 50%; }
.glider--glide { animation: glide 2.8s cubic-bezier(0.45, 0, 0.25, 1) forwards; }
@keyframes glide { from { offset-distance: 0%; } to { offset-distance: 100%; } }
.bobber--bob { animation: bob 1.5s ease-in-out infinite; }
.bobber { position: relative; }
@keyframes bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(2deg); } }

.run-cta { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; color: var(--accent); font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
.mascot-paper--live rect { animation: paperPulse 1.4s ease-in-out infinite; transform-origin: center; }
@keyframes paperPulse { 0%, 100% { filter: drop-shadow(0 0 0 rgba(255,92,0,0)); } 50% { filter: drop-shadow(0 0 6px rgba(255,92,0,0.9)); } }

@media (prefers-reduced-motion: reduce) { .sow-analysis-orbit { animation: none; } }
@media (max-width: 700px) {
  .plan-package { align-items: flex-start; flex-direction: column; }
  .plan-tier-meta { flex-basis: calc(100% - 28px); margin-left: 26px; flex-wrap: wrap; }
  .plan-milestones { flex-wrap: wrap; }
}

/* Shared Baldspot full-screen loading system. Tools provide only copy + mascot. */
.baldspot-loading-screen { position:relative; isolation:isolate; display:grid; align-items:center; width:100%; min-height:calc(100dvh - 96px); overflow:hidden; background:radial-gradient(circle at 76% 46%,rgba(255,92,0,.1),transparent 35%),#0d0d0e; }
.baldspot-loading-copy { position:relative; z-index:2; width:min(520px,52vw); margin-left:clamp(28px,18vw,370px); text-shadow:0 3px 18px rgba(0,0,0,.45); animation:postmortemGenerationEnter .42s ease-out both; }
.baldspot-loading-orbit { position:relative; width:84px; height:84px; margin:0 0 20px; border:1px solid rgba(255,92,0,.34); border-radius:50%; animation:postmortemOrbitSpin 2.4s linear infinite; }.baldspot-loading-orbit::before,.baldspot-loading-orbit::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.16); border-radius:inherit; }.baldspot-loading-orbit::before { inset:12px; }.baldspot-loading-orbit::after { inset:28px; border:0; background:var(--accent); box-shadow:0 0 32px rgba(255,92,0,.75); }.baldspot-loading-orbit span { position:absolute; top:14px; left:5px; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 12px #fff; }
.baldspot-loading-copy > p { margin:0 0 14px; color:var(--accent); font:800 11px var(--font-body); letter-spacing:.13em; }.baldspot-loading-copy h1 { margin:0; font:700 clamp(44px,5.8vw,76px)/.94 var(--font-display); letter-spacing:-.06em; }.baldspot-loading-copy h1 span { display:block; }.baldspot-loading-description { max-width:440px; margin-top:22px; color:var(--text-dim); font-size:15px; line-height:1.6; }
.baldspot-loading-steps { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:7px; margin-top:28px; }.baldspot-loading-steps span { padding:6px 9px; border:1px solid var(--border); border-radius:999px; color:var(--text-muted); font-size:10px; }.baldspot-loading-steps span.done { border-color:rgba(79,218,159,.3); color:#6fdcaf; }.baldspot-loading-steps span.active { border-color:rgba(255,92,0,.48); background:rgba(255,92,0,.08); color:var(--accent); box-shadow:0 0 18px rgba(255,92,0,.09); }
.baldspot-loading-mascot { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; animation:postmortemGenerationEnter .42s ease-out both; }.baldspot-loading-mascot > img { position:absolute; top:50%; right:clamp(-250px,-12vw,-90px); width:min(58vw,820px)!important; height:min(76vh,820px)!important; max-width:none; object-fit:contain; transform:translateY(-50%); filter:drop-shadow(0 42px 54px rgba(0,0,0,.7)); animation:baldspotLoadingMascot 1.1s cubic-bezier(.18,.78,.25,1) both; }@keyframes baldspotLoadingMascot { from { opacity:.25; transform:translateY(-50%) scale(.78); } to { opacity:1; transform:translateY(-50%) scale(1); } }
.postmortem-generation-screen.baldspot-loading-screen { height:calc(100dvh - 96px); min-height:0; margin:16px 0 0; }.postmortem-generation-screen .baldspot-loading-mascot > img { top:65%; right:clamp(-600px,-45vw,-440px); width:clamp(1240px,150vw,1880px)!important; height:auto!important; }
.findash-loading-shell { min-height:100dvh; background:#0d0d0e; color:var(--text); overflow:hidden; }.findash-loading-screen { min-height:100dvh; }.findash-loading-screen .baldspot-loading-mascot > img { object-fit:contain; }
@media(max-width:720px) { .baldspot-loading-copy { width:min(380px,88vw); margin-left:5vw; }.baldspot-loading-copy h1 { font-size:clamp(42px,13vw,62px); }.baldspot-loading-orbit { width:66px; height:66px; margin-bottom:14px; }.baldspot-loading-orbit::before { inset:10px; }.baldspot-loading-orbit::after { inset:22px; }.baldspot-loading-mascot { opacity:.45; }.baldspot-loading-mascot > img { right:-42vw; width:110vw!important; height:72vh!important; }.postmortem-generation-screen .baldspot-loading-mascot > img { right:-510px; width:1180px!important; } }
@media(prefers-reduced-motion:reduce) { .baldspot-loading-orbit,.baldspot-loading-mascot > img { animation:none!important; } }

/* Finance / Budget: compact, single-source financial control surface. */
.budget-v2 { min-height: 100vh; background: radial-gradient(circle at 76% 8%, rgba(255,92,0,.10), transparent 25%), #0d0d0e; color: #f7f2eb; }
.budget-v2-nav { height: 76px; max-width: 1240px; margin: 0 auto; padding: 0 30px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #292827; }
.budget-v2-brand { display: flex; align-items: center; gap: 9px; color: #eee8e0; text-decoration: none; font: 700 14px var(--font-display); }.budget-v2-brand b { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#ff5c00; color:#17120e; font-family:var(--font-body); }.budget-v2-brand i { color:#77716b; font:700 9px var(--font-body); font-style:normal; letter-spacing:.13em; }
.budget-v2-nav > div { display:flex; gap:14px; align-items:center; color:#8a847d; font-size:11px; }.budget-v2-nav .is-error { color:#ff5f5f; }.budget-v2-save { border:1px solid #fe6414; border-radius:7px; padding:10px 14px; background:#ff5c00; color:#1a130e; font:800 10px var(--font-body); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }.budget-v2-save:disabled { opacity:.38; cursor:not-allowed; }
.budget-v2-main { max-width:1160px; margin:0 auto; padding:0 30px 100px; }.budget-v2-hero { min-height:370px; display:grid; grid-template-columns:1.3fr .7fr; align-items:center; border-bottom:1px solid #292827; }.budget-v2-hero p,.budget-import p,.budget-report header p,.budget-v2-footnote p { margin:0; color:#ff6818; font:800 9px var(--font-body); letter-spacing:.16em; }.budget-v2-hero p i { display:inline-block; width:28px; height:1px; margin:0 9px 3px 0; background:#ff5c00; }.budget-v2-hero h1 { margin:18px 0 20px; font:500 clamp(68px,9vw,116px)/.78 var(--font-display); letter-spacing:-.075em; }.budget-v2-hero > div:first-child > span { display:block; max-width:515px; color:#a19a92; font-size:15px; line-height:1.6; }
.budget-mascot-stage { position:relative; width:240px; height:240px; justify-self:end; display:grid; place-items:center; }.budget-mascot-stage svg,.budget-mascot-stage img { position:relative; z-index:2; filter:drop-shadow(0 24px 24px rgba(0,0,0,.48)); animation:budget-float 4.5s ease-in-out infinite; }.budget-mascot-stage b { position:absolute; z-index:3; bottom:3px; padding:5px 9px; border:1px solid rgba(85,230,161,.42); border-radius:99px; background:#121915; color:#70e1a2; font:800 9px var(--font-body); text-transform:uppercase; letter-spacing:.09em; }.budget-mascot-stage.is-risk b { border-color:rgba(255,85,85,.42); color:#ff6969; }.budget-orbit { position:absolute; border:1px solid rgba(255,92,0,.28); border-radius:50%; }.budget-orbit--one { inset:4px; animation:budget-spin 12s linear infinite; }.budget-orbit--two { inset:25px; border-color:rgba(255,255,255,.08); }.budget-orbit--one::after { content:''; position:absolute; top:18px; left:18px; width:6px; height:6px; border-radius:50%; background:#ff5c00; box-shadow:0 0 16px #ff5c00; }@keyframes budget-spin { to { transform:rotate(360deg); }}@keyframes budget-float { 50% { transform:translateY(-8px); }}
.budget-v2-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid #292827; }.budget-periods,.budget-v2-actions { display:flex; gap:5px; flex-wrap:wrap; }.budget-periods button,.budget-v2-actions button,.budget-v2-tabs button { border:1px solid #343230; border-radius:6px; padding:8px 10px; background:#151515; color:#938d85; font:700 10px var(--font-body); cursor:pointer; }.budget-periods button.is-active,.budget-v2-actions button.is-active { border-color:#ff5c00; background:rgba(255,92,0,.12); color:#ff7b3a; }.budget-v2-actions button:hover,.budget-v2-tabs button:hover { color:#fff; border-color:#615a52; }
.budget-import { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:18px 0; padding:20px 23px; border:1px dashed rgba(255,92,0,.6); background:linear-gradient(100deg,rgba(255,92,0,.10),rgba(255,92,0,.025)); }.budget-import strong,.budget-import span { display:block; }.budget-import strong { margin:7px 0; font:500 24px var(--font-display); }.budget-import span { color:#9d968d; font-size:11px; }.budget-import button { border:0; padding:12px 16px; background:#ff5c00; color:#1c130d; font:800 10px var(--font-body); cursor:pointer; }.budget-import input { display:none; }
.budget-kpis { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid #292827; }.budget-kpi { position:relative; padding:26px 22px; border-right:1px solid #292827; overflow:hidden; }.budget-kpi:last-child { border:0; }.budget-kpi::before { content:''; position:absolute; inset:0 auto 0 0; width:2px; background:#70e1a2; }.budget-kpi--red::before { background:#ff5f5f; }.budget-kpi span,.budget-kpi small { display:block; color:#837d75; font:800 9px var(--font-body); letter-spacing:.11em; text-transform:uppercase; }.budget-kpi strong { display:block; margin:11px 0 4px; font:500 clamp(22px,2.5vw,33px) var(--font-display); letter-spacing:-.04em; }.budget-kpi--green strong,.is-green { color:#c9f5dc; }.budget-kpi--red strong,.is-red { color:#ff6969 !important; }.budget-kpi small { color:#70e1a2; letter-spacing:.04em; }
.budget-v2-tabs { display:flex; gap:25px; padding-top:36px; border-bottom:1px solid #302e2b; }.budget-v2-tabs button { padding:0 0 13px; border:0; border-radius:0; background:transparent; }.budget-v2-tabs button.is-active { color:#ff6a1a; border-bottom:2px solid #ff5c00; }.budget-grid { border:1px solid #302e2b; border-top:0; }.budget-grid-head,.budget-grid-row { display:grid; grid-template-columns:minmax(290px,1.8fr) repeat(3,minmax(105px,.72fr)) minmax(180px,1fr); align-items:center; gap:16px; }.budget-grid-head { min-height:43px; padding:0 16px; border-bottom:1px solid #302e2b; color:#77716a; font:800 9px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }.budget-grid-row { min-height:57px; padding:0 16px; border-bottom:1px solid #292725; font-size:12px; }.budget-group:last-child .budget-grid-row:last-child { border:0; }.budget-grid-row--summary { background:#171716; }.budget-grid-row--summary > button { border:0; padding:0; background:transparent; color:#f6f0e7; text-align:left; font:inherit; cursor:pointer; }.budget-grid-row--summary > button.is-empty { cursor:default; color:#6f6a64; }.budget-grid-row strong { text-align:right; font-size:12px; }.budget-grid-row--leaf { color:#a39b92; background:#111110; }.budget-grid-row--leaf > span { padding-left:23px; }.budget-grid-row--leaf input { width:100%; box-sizing:border-box; border:1px solid #41403d; border-radius:5px; padding:8px; background:#0c0c0c; color:#fff5ea; text-align:right; font:700 12px var(--font-body); }.budget-grid-row--leaf input:focus { outline:0; border-color:#ff5c00; box-shadow:0 0 0 2px rgba(255,92,0,.15); }.budget-usage-bar { position:relative; height:20px; display:grid; grid-template-columns:1fr 35px; align-items:center; gap:10px; }.budget-usage-bar::before { content:''; height:4px; grid-column:1; background:#343230; }.budget-usage-bar i { position:absolute; left:0; height:4px; max-width:100%; background:linear-gradient(90deg,#6ce2bd,#95ed8c); box-shadow:0 0 12px rgba(108,226,189,.35); }.budget-usage-bar.is-near i { background:linear-gradient(90deg,#f1b556,#ff7b3a); }.budget-usage-bar.is-over i { background:linear-gradient(90deg,#ff893e,#ff4f5f); }.budget-usage-bar b { text-align:right; font-size:10px; color:#c6bfb6; }
.budget-report { padding:42px 0; }.budget-report header { display:grid; grid-template-columns:1fr auto; gap:25px; align-items:end; margin-bottom:22px; }.budget-report h2 { margin:10px 0 0; font:500 42px/1 var(--font-display); letter-spacing:-.05em; }.budget-report header span { max-width:260px; color:#938c84; font-size:11px; line-height:1.5; }.budget-report-table { border:1px solid #302e2b; }.budget-report-table > div { display:grid; grid-template-columns:1.6fr repeat(3,.7fr); gap:16px; align-items:center; min-height:53px; padding:0 16px; border-bottom:1px solid #292725; color:#9f978e; font-size:12px; }.budget-report-table > div:first-child { min-height:40px; color:#77716a; background:#161514; font:800 9px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }.budget-report-table > div:last-child { border:0; }.budget-report-table strong { color:#f2ece3; }.budget-report-table b { text-align:right; }
.budget-v2-footnote { display:grid; grid-template-columns:150px 1fr; gap:22px; margin-top:32px; padding:22px; border-top:2px solid #ff5c00; background:#171615; }.budget-v2-footnote strong,.budget-v2-footnote span { display:block; }.budget-v2-footnote strong { margin-bottom:5px; font:500 18px var(--font-display); }.budget-v2-footnote span { color:#918a82; font-size:11px; line-height:1.5; }.budget-v2-loading { padding:60px; text-align:center; color:#938c84; }
@media(max-width:760px) { .budget-v2-nav,.budget-v2-main { padding-left:18px; padding-right:18px; }.budget-v2-nav > div > span { display:none; }.budget-v2-hero { min-height:390px; grid-template-columns:1fr; padding-top:48px; }.budget-v2-hero h1 { font-size:72px; }.budget-mascot-stage { position:absolute; right:12px; top:105px; transform:scale(.62); transform-origin:top right; }.budget-v2-toolbar { align-items:flex-start; flex-direction:column; }.budget-kpis { grid-template-columns:1fr 1fr; }.budget-kpi:nth-child(2) { border-right:0; }.budget-kpi { border-bottom:1px solid #292827; }.budget-grid { overflow-x:auto; }.budget-grid-head,.budget-grid-row { width:850px; }.budget-report header { grid-template-columns:1fr; }.budget-report-table { overflow-x:auto; }.budget-report-table > div { width:650px; }.budget-import { align-items:flex-start; flex-direction:column; }.budget-v2-footnote { grid-template-columns:1fr; gap:9px; } }
@media(prefers-reduced-motion:reduce) { .budget-mascot-stage svg,.budget-mascot-stage img,.budget-orbit--one { animation:none; } }

/* Results */
.results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.result-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.result-card--wide { grid-column: 1 / -1; }

.card-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}

.badge-team {
  background: var(--accent-dim);
  color: var(--accent);
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 0.7rem;
}

.card-body {
  font-size: 0.85rem;
  color: var(--text-dim);
  line-height: 1.7;
  white-space: pre-wrap;
  max-height: 280px;
  overflow-y: auto;
  flex: 1;
}

.btn-copy {
  align-self: flex-start;
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  font-family: var(--font-body);
  transition: border-color 0.15s;
}

.btn-copy:hover { border-color: var(--accent); color: var(--accent); }

/* Extraction review */
.review-section {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
}

.review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--surface2);
  flex-wrap: wrap;
}

.review-header-left {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.review-title {
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
}

.review-meta {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.review-hint {
  font-size: 0.8rem;
  color: var(--text-dim);
  padding-top: 2px;
}

.review-textarea {
  width: 100%;
  min-height: 420px;
  background: var(--bg);
  color: var(--text);
  border: none;
  border-bottom: 1px solid var(--border);
  padding: 20px;
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.82rem;
  line-height: 1.65;
  resize: vertical;
  outline: none;
}

.review-textarea:focus {
  background: #101010;
}

.review-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
}

.btn-primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #ff6a12, var(--accent));
  color: #fff;
  border: 1px solid #ff6a12;
  padding: 10px 22px;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, filter .15s ease, transform .15s ease;
}

.btn-primary:hover:not(:disabled) { filter: brightness(1.1); transform: translateY(-1px); }
.btn-primary:active:not(:disabled) { filter: brightness(.92); transform: translateY(1px); }
.btn-primary:disabled {
  border-color: #303033;
  background: #202023;
  color: #727277;
  opacity: 1;
  cursor: not-allowed;
}
.btn-primary:disabled::after { display: none; }

.btn-secondary {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text-muted);
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 0.875rem;
  font-family: var(--font-body);
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.btn-secondary:hover:not(:disabled) { border-color: var(--text-muted); background: #242427; color: var(--text); }
.btn-secondary:active:not(:disabled) { background: #171719; transform: translateY(1px); }
.btn-secondary:disabled { border-color: #2c2c2f; background: #1b1b1d; color: #626267; cursor: not-allowed; }

/* SOW workspace */
.ws-main { max-width: 920px; margin: 0 auto; padding: 28px 40px 80px; }
.ws-main--editor { max-width: 1400px; }

/* Linked Google Docs stay native. Baldspot frames the live document and keeps
   analysis beside it instead of rebuilding the Doc as lossy Markdown pages. */
.ws-main--native { max-width: none; padding: 18px 22px 30px; }
.native-doc-shell { width: 100%; }
.native-doc-topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  flex-wrap: wrap;
  min-height: 70px; padding: 13px 16px; margin-bottom: 12px;
  background: rgba(18,18,18,.94); border: 1px solid var(--border); border-radius: 12px;
}
.native-doc-identity { min-width: 0; display: grid; gap: 3px; }
.native-doc-identity strong { color: var(--text); font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.native-doc-identity small { color: var(--text-muted); font-size: .72rem; }
.native-doc-live { color: #62df92; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.native-doc-live i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #32d779; box-shadow: 0 0 12px rgba(50,215,121,.7); }
.native-doc-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.native-doc-actions .btn-primary, .native-doc-actions .btn-secondary { text-decoration: none; white-space: nowrap; }
.native-doc-actions details { position: relative; }
.native-doc-actions summary { list-style: none; padding: 10px 18px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface2); color: var(--text-muted); font-size: .875rem; cursor: pointer; }
.native-doc-actions summary::-webkit-details-marker { display: none; }
.native-doc-actions details[open] summary { border-color: var(--accent); color: var(--text); }
.native-doc-actions details > div { position: absolute; top: calc(100% + 7px); right: 0; z-index: 20; width: 190px; display: grid; padding: 7px; border: 1px solid var(--border); border-radius: 8px; background: #111; box-shadow: 0 16px 38px rgba(0,0,0,.45); }
.native-doc-actions details a { padding: 9px 10px; color: var(--text); text-decoration: none; border-radius: 5px; font-size: .78rem; }
.native-doc-actions details a:hover { background: var(--surface2); color: var(--accent); }
.native-doc-grid { display: grid; grid-template-columns: 244px minmax(0, 1fr) 330px; gap: 12px; min-height: calc(100vh - 190px); }
.native-doc-reports, .native-doc-frame-wrap, .native-control-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; }
.native-doc-reports { align-self: start; max-height: calc(100vh - 190px); overflow-y: auto; }
.native-doc-controls { align-self: start; display: grid; gap: 12px; max-height: calc(100vh - 190px); overflow-y: auto; }
.native-control-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; border-bottom: 1px solid var(--border); }
.native-control-card__head > div { display: grid; gap: 2px; }
.native-control-card__head span { color: var(--text-muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.native-control-card__head strong { color: var(--text); font-size: .82rem; }
.native-control-card__head > b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; font-size: .72rem; }
.native-control-card__head > b.is-open { background: #dc2626; color: #fff; }
.native-control-card__head > b.is-clear { background: rgba(34,197,94,.14); color: var(--green); }
.native-control-card__body { padding: 12px; }
.native-control-card__body > p { margin: 0 0 10px; color: var(--text-muted); font-size: .7rem; line-height: 1.45; }
.native-audit-button { width: 100%; margin-top: 9px; padding: 9px; border: 1px solid rgba(255,92,0,.55); border-radius: 6px; background: rgba(255,92,0,.08); color: #ff8240; font: 700 .7rem var(--font-body); cursor: pointer; }
.native-audit-button:hover { background: rgba(255,92,0,.15); }
.native-audit-button:disabled { opacity: .45; cursor: not-allowed; }
.native-doc-reports__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; border-bottom: 1px solid var(--border); }
.native-doc-reports__head div { display: grid; gap: 2px; }
.native-doc-reports__head span { color: var(--text-muted); font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; }
.native-doc-reports__head strong { color: var(--text); font-size: .78rem; }
.native-doc-reports__head button { border: 1px solid rgba(255,92,0,.5); border-radius: 6px; padding: 7px 9px; background: rgba(255,92,0,.08); color: #ff8240; font: 600 .7rem var(--font-body); cursor: pointer; }
.native-report-title { width: 100%; display: flex; justify-content: space-between; gap: 12px; padding: 13px 14px; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: var(--text); font: 600 .8rem var(--font-body); cursor: pointer; text-align: left; }
.native-report-title:hover { background: rgba(255,255,255,.025); }
.native-report-title b { color: var(--accent); font-variant-numeric: tabular-nums; }
.native-report-body { padding: 9px 12px 12px; border-bottom: 1px solid var(--border); }
.native-report-body--actions { padding-top: 11px; }
.native-report-body > p { margin: 2px 0; color: var(--text-muted); font-size: .72rem; line-height: 1.45; }
.native-report-line { display: flex; justify-content: space-between; gap: 10px; padding: 7px 2px; color: var(--text-dim); font-size: .72rem; }
.native-report-line b { color: var(--text); white-space: nowrap; }
.native-match { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 5px; padding: 9px; border: 1px solid var(--border); border-radius: 7px; color: var(--text); text-decoration: none; }
.native-match:hover { border-color: var(--accent); }
.native-match span { min-width: 0; display: grid; gap: 2px; }
.native-match strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--accent); font-size: .75rem; }
.native-match small { color: var(--text-muted); font-size: .66rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.native-match b { color: var(--accent); font-size: .78rem; }
.native-benchmark { margin-bottom: 7px; padding: 9px; border: 1px solid var(--border); border-radius: 7px; }
.native-benchmark > strong { display: block; margin-bottom: 7px; color: var(--accent); font-size: .75rem; }
.native-benchmark > div { display: grid; grid-template-columns: 48px 1fr; gap: 2px 7px; padding: 5px 0; border-top: 1px solid rgba(255,255,255,.05); }
.native-benchmark span { color: var(--text-muted); font-size: .64rem; text-transform: uppercase; }
.native-benchmark b { color: var(--text-dim); font-size: .68rem; font-weight: 500; }
.native-benchmark em { grid-column: 2; color: var(--text); font-size: .66rem; font-style: normal; }
.native-benchmark em.is-positive, .native-report-title b.is-positive { color: var(--green); }
.native-benchmark em.is-negative { color: var(--red); }
.native-report-title b.is-warning { color: #ff6b62; }
.native-action-item { display: grid; gap: 5px; margin-bottom: 7px; padding: 9px; border-left: 2px solid #ff6b62; background: rgba(239,68,68,.07); color: var(--text-dim); font-size: .68rem; line-height: 1.4; }
.native-action-item b { color: #ff8a83; }
.native-action-item q { color: var(--text-muted); }
.native-document-tools { padding: 12px; }
.native-document-tools > p { margin: 0 0 10px; color: var(--text-muted); font-size: .68rem; line-height: 1.45; }
.native-tools-group-label { display: block; margin-bottom: 7px; color: var(--text-dim); font-size: .61rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.native-tools-group-label--spaced { margin-top: 14px; }
.native-document-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.native-document-fields label { display: grid; gap: 4px; color: var(--text-muted); font-size: .61rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.native-document-fields label:nth-child(2) { grid-column: span 2; }
.native-document-fields input { min-width: 0; width: 100%; padding: 7px 8px; border: 1px solid var(--border); border-radius: 5px; background: #090909; color: var(--text); font: 500 .68rem var(--font-body); text-transform: none; letter-spacing: 0; }
.native-document-fields input:focus { outline: 0; border-color: var(--accent); }
.native-tool-primary, .native-insert-actions button { border: 1px solid rgba(255,92,0,.55); border-radius: 6px; background: rgba(255,92,0,.08); color: #ff8240; font: 600 .67rem var(--font-body); cursor: pointer; }
.native-tool-primary { width: 100%; margin-top: 9px; padding: 9px; background: var(--accent); color: #fff; }
.native-tool-primary:disabled, .native-insert-actions button:disabled { opacity: .4; cursor: not-allowed; }
.native-insert-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 7px; }
.native-insert-actions button { padding: 8px 6px; }
.native-document-tools > p.is-success { margin-top: 8px; color: var(--green); }
.native-document-tools > p.is-error { margin-top: 8px; color: var(--red); }
.native-copy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 12px; }
.native-copy-actions button, .native-payment-actions button, .native-payment-row button { border: 1px solid rgba(255,92,0,.55); border-radius: 6px; padding: 8px; background: rgba(255,92,0,.08); color: #ff8240; font: 600 .66rem var(--font-body); cursor: pointer; }
.native-copy-actions button:hover, .native-payment-actions button:hover, .native-payment-row button:hover { background: rgba(255,92,0,.16); }
.native-copy-error { margin: -3px 12px 12px; color: var(--red); font-size: .68rem; }
.native-payment-editor { padding-bottom: 12px; }
.native-payment-editor > p { margin: 11px 12px 8px; color: var(--text-muted); font-size: .68rem; line-height: 1.4; }
.native-payment-sync { display: grid; gap: 7px; margin: 0 12px 9px; padding: 9px 10px; border: 1px solid rgba(255,92,0,.4); border-radius: 7px; background: rgba(255,92,0,.07); }
.native-payment-sync span { color: var(--text-dim); font-size: .66rem; line-height: 1.4; }
.native-payment-sync button { border: 1px solid rgba(255,92,0,.55); border-radius: 6px; padding: 7px; background: rgba(255,92,0,.12); color: #ff8240; font: 600 .66rem var(--font-body); cursor: pointer; }
.native-payment-sync button:hover { background: rgba(255,92,0,.2); }
.native-payment-total { display: flex; align-items: end; justify-content: space-between; gap: 8px; padding: 0 12px 9px; }
.native-payment-total label { display: grid; gap: 4px; flex: 1; color: var(--text-muted); font-size: .6rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.native-payment-total input, .native-payment-row input { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 5px; background: #090909; color: var(--text); font: 500 .67rem var(--font-body); }
.native-payment-total input { padding: 7px 8px; }
.native-payment-total > b { padding-bottom: 8px; font-size: .8rem; }
.native-payment-total > b.is-clear { color: var(--green); }.native-payment-total > b.is-open { color: var(--accent); }
.native-payment-rows { display: grid; gap: 7px; padding: 0 12px; }
.native-payment-row { display: grid; grid-template-columns: 1fr 1.4fr .6fr .8fr; gap: 5px; padding: 7px; border: 1px solid var(--border); border-radius: 7px; }
.native-payment-row input { padding: 6px; }
.native-payment-row input:disabled { color: var(--text-muted); opacity: .6; }
.native-payment-row button { padding: 6px; }
.native-payment-row button.is-locked { border-color: var(--green); color: var(--green); }
.native-payment-row button:nth-last-child(-n+2) { grid-column: span 2; }
.native-payment-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 9px 12px 0; }
.native-payment-actions .native-tool-primary { grid-column: 1 / -1; margin: 0; }
.native-payment-editor > p.is-success, .native-payment-editor > p.is-error { margin-top: 8px; margin-bottom: 0; }
.native-payment-editor > p.is-success { color: var(--green); }.native-payment-editor > p.is-error { color: var(--red); }
.native-audit__score { display: flex; align-items: baseline; gap: 7px; margin-bottom: 6px; color: #ffb06f; }
.native-audit__score.is-ready { color: #62df92; }
.native-audit__score b { font-size: 1.3rem; }.native-audit__score span { font-size: .68rem; text-transform: uppercase; }
.native-audit__finding { display: grid; gap: 4px; margin-top: 7px; padding: 9px; border-left: 2px solid #eab308; background: rgba(234,179,8,.06); color: var(--text-dim); font-size: .68rem; line-height: 1.4; }
.native-audit__finding.is-critical { border-color: var(--red); background: rgba(239,68,68,.07); }
.native-audit__finding q { color: var(--text-muted); }.native-audit__error { color: var(--red) !important; }
.native-doc-frame-wrap { min-width: 0; height: calc(100vh - 190px); background: #eef0f3; }
.native-doc-frame-note { height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 13px; color: var(--text); background: #111; border-bottom: 1px solid var(--border); }
.native-doc-frame-note span { font-size: .74rem; font-weight: 600; }.native-doc-frame-note small { color: var(--text-muted); font-size: .68rem; }
.native-doc-frame { display: block; width: 100%; height: calc(100% - 42px); border: 0; background: #fff; }

@media (max-width: 900px) {
  .ws-main--native { padding: 10px; }
  .native-doc-topbar { align-items: flex-start; flex-direction: column; }
  .native-doc-actions { width: 100%; flex-wrap: wrap; }
  .native-doc-grid { grid-template-columns: 1fr; }
  .native-doc-reports { max-height: none; }
  .native-doc-controls { max-height: none; }
  .native-doc-frame-wrap { height: 76vh; }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .native-doc-grid { grid-template-columns: 220px minmax(0, 1fr); }
  .native-doc-controls { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; max-height: none; }
}

@media (max-width: 1180px) {
  .native-doc-actions { width: 100%; justify-content: flex-start; }
}

/* In-place block editor */
.ed-wrap { display: flex; gap: 20px; align-items: flex-start; }
.ed-palette {
  width: 264px; flex-shrink: 0; position: sticky; top: 16px;
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 16px 18px;
}
.ed-palette-head { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.09em; font-weight: 700; color: var(--text-muted); margin-bottom: 8px; }

/* Similarity / delta reports */
.ed-reports { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.ed-reports-head { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.09em; font-weight: 700; color: var(--text-muted); margin-bottom: 10px; }
.ed-report {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  background: var(--surface2); border: 1px solid var(--border); color: var(--text);
  padding: 9px 11px; border-radius: 8px; margin-bottom: 5px; cursor: pointer; font-size: 0.82rem; font-weight: 600; font-family: var(--font-body);
  transition: border-color 0.12s ease;
}
.ed-report:hover { border-color: var(--accent); }
.ed-report-score { color: var(--accent); font-weight: 700; font-variant-numeric: tabular-nums; }
.ed-report-row { display: flex; align-items: center; gap: 8px; padding: 5px 11px; font-size: 0.76rem; }
.ed-report-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-dim); }
.ed-report-val { font-variant-numeric: tabular-nums; color: var(--text); }
.ed-report-val.pos { color: var(--green); }
.ed-report-val.neg { color: var(--red); }
.ed-report-link { color: var(--accent); text-decoration: none; font-size: 0.72rem; }
.ed-report-link:hover { text-decoration: underline; }
.ed-report-empty { font-size: 0.74rem; color: var(--text-muted); padding: 2px 10px 6px; line-height: 1.45; }
.ed-report-pct { opacity: 0.8; font-size: 0.92em; }
.ed-report-score.pos { color: var(--green); }
.ed-report-score.neg { color: var(--red); }

/* this-vs-peer comparison rows (price / timeline delta) */
.ed-cmp { padding: 6px 11px 7px; border-bottom: 1px solid var(--border); }
.ed-cmp:last-of-type { border-bottom: 0; }
.ed-cmp-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.ed-cmp-name { flex: 1; min-width: 0; font-size: 0.78rem; color: var(--text); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed-cmp-delta { font-size: 0.8rem; font-weight: 700; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.ed-cmp-delta.pos { color: var(--green); }
.ed-cmp-delta.neg { color: var(--red); }
.ed-cmp-sub { font-size: 0.7rem; color: var(--text-muted); margin-top: 2px; font-variant-numeric: tabular-nums; }
.ed-tally { padding: 8px 10px 10px; border-bottom: 1px solid var(--border); }
.ed-tally:last-of-type { border-bottom: 0; }
.ed-tally-name { font-size: 0.8rem; color: var(--text); font-weight: 600; margin-bottom: 7px; }
.ed-tally-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ed-stat { background: var(--surface2); border: 1px solid var(--border); border-radius: 8px; padding: 7px 10px; display: flex; flex-direction: column; gap: 1px; }
.ed-stat b { font-size: 0.92rem; color: var(--text); font-variant-numeric: tabular-nums; }
.ed-stat span { font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); }
.ed-palette-hint { font-size: 0.72rem; color: var(--text-muted); margin-bottom: 12px; }
.ed-pgroup { margin-bottom: 12px; }
.ed-pgroup-title {
  display: block; width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
  font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent);
  margin-bottom: 6px; font-family: var(--font-body);
}
.ed-pitem {
  display: block; width: 100%; text-align: left; background: var(--surface2); border: 1px solid var(--border);
  color: var(--text); padding: 7px 10px; border-radius: 6px; font-size: 0.8rem; margin-bottom: 6px; cursor: pointer;
  font-family: var(--font-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ed-pitem:hover { border-color: var(--accent); color: var(--accent); }
.ed-page-insert { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }

.ed-main { flex: 1; min-width: 0; }
.ed-toggle { background: var(--surface2); border: 1px solid var(--border); color: var(--accent) !important; padding: 6px 11px; border-radius: 7px; font-size: 0.78rem; cursor: pointer; font-family: var(--font-body); font-weight: 600; }
.ed-toggle:hover { border-color: var(--accent); }
.ed-toolbar {
  position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
  background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
  padding: 7px 10px; margin-bottom: 14px;
}
.ed-toolbar button {
  background: transparent; border: 1px solid transparent; color: var(--text-dim);
  padding: 6px 9px; border-radius: 6px; font-size: 0.78rem; cursor: pointer; font-family: var(--font-body);
  transition: background 0.12s ease, color 0.12s ease;
}
.ed-toolbar button:hover:not(:disabled) { background: var(--surface2); color: var(--accent); }
.ed-toolbar button:disabled { opacity: 0.35; cursor: default; }
.ed-toolbar .ed-format-orange { color: #ff5c00; }
.ed-toolbar .btn-primary { background: var(--accent); color: #fff; border-color: var(--accent); font-weight: 600; padding: 6px 16px; }
.ed-toolbar .btn-primary:hover:not(:disabled) { background: var(--accent); color: #fff; filter: brightness(1.08); }
.ed-toolbar .ed-audit-button { border-color: rgba(255,92,0,.55); color: #ff7a32; font-weight: 700; }
.ed-toolbar .ed-audit-button:hover:not(:disabled) { border-color: var(--accent); background: rgba(255,92,0,.1); }
.ed-easysign-link {
  display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px;
  border: 1px solid var(--border); border-radius: 6px; color: var(--text-dim);
  font-size: .78rem; text-decoration: none;
}
.ed-easysign-link:hover { border-color: #38bdf8; color: #7dd3fc; }
.ws-drive-warning {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  width: min(1080px, calc(100% - 28px)); margin: 0 auto 12px; padding: 10px 12px;
  border: 1px solid rgba(234,179,8,.42); border-radius: 8px; background: rgba(234,179,8,.08);
  color: #e7c85c; font-size: .75rem;
}
.ed-tb-label { font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); margin-left: 6px; }
.ed-tb-sep { width: 1px; height: 18px; background: var(--border); margin: 0 5px; opacity: 0.7; }
.ed-tb-spacer { flex: 1; }
.ed-icon { min-width: 30px; font-size: 1.05rem !important; line-height: 1; padding: 5px 8px !important; }

.ed-audit-panel {
  width: min(820px, calc(100% - 20px)); margin: 0 auto 18px; overflow: hidden;
  border: 1px solid rgba(255,92,0,.4); border-radius: 14px;
  background: #111; box-shadow: 0 18px 55px rgba(0,0,0,.35); color: #eee;
}
.ed-audit-panel-head { display: flex; align-items: center; gap: 16px; padding: 18px; }
.ed-audit-ring {
  width: 78px; height: 78px; flex: 0 0 78px; display: grid; place-items: center;
  border-radius: 50%; background: conic-gradient(#ff5c00 var(--audit-score), #292929 0);
  position: relative;
}
.ed-audit-ring::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: #111; }
.ed-audit-ring.is-ready { background: conic-gradient(#22c55e var(--audit-score), #292929 0); }
.ed-audit-ring span { position: relative; z-index: 1; font: 700 1rem var(--font-display); }
.ed-audit-copy { flex: 1; min-width: 0; }
.ed-audit-copy > span { color: #ff7a32; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ed-audit-copy h3 { margin: 3px 0 4px; font: 700 1.1rem var(--font-display); }
.ed-audit-copy p { margin: 0; color: #999; font-size: .78rem; line-height: 1.45; }
.ed-audit-copy small { display: block; margin-top: 5px; color: #eab308; font-size: .68rem; }
.ed-audit-close { align-self: flex-start; border: 0; background: transparent; color: #777; cursor: pointer; }
.ed-audit-findings { display: grid; gap: 8px; padding: 0 18px 18px; max-height: 420px; overflow: auto; }
.ed-audit-finding {
  display: grid; grid-template-columns: 74px 1fr; gap: 3px 10px; width: 100%; padding: 11px 12px;
  border: 1px solid #303030; border-left: 3px solid #eab308; border-radius: 8px;
  background: #171717; color: #eee; text-align: left; cursor: pointer;
}
.ed-audit-finding:hover { border-color: #ff5c00; }
.ed-audit-finding.is-critical { border-left-color: #ef4444; }
.ed-audit-finding.is-info { border-left-color: #38bdf8; }
.ed-audit-finding > span { grid-row: 1 / span 3; color: #888; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ed-audit-finding b { font-size: .78rem; }
.ed-audit-finding p { margin: 0; color: #999; font-size: .72rem; line-height: 1.4; }
.ed-audit-finding q { color: #bbb; font-size: .68rem; font-style: italic; }
.ed-audit-ready-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; border-top: 1px solid #292929; color: #86efac; font-size: .76rem; }
.ed-audit-ready-actions a { color: #7dd3fc; font-weight: 700; text-decoration: none; }

/* In-document jump navigation — quick scroll to the key sections. */
.ed-jump {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: -6px auto 16px; max-width: 820px; padding: 0 4px;
}
.ed-jump-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.ed-jump-btn {
  background: var(--surface2); border: 1px solid var(--border); color: var(--text-dim);
  padding: 4px 11px; border-radius: 999px; font-size: 0.76rem; cursor: pointer; font-family: var(--font-body);
}
.ed-jump-btn:hover { border-color: var(--accent); color: var(--accent); }

.ed-actions {
  width: 300px; flex-shrink: 0; position: sticky; top: 16px;
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: #fff; color: #15171a; border: 1px solid #ffd1d1; border-radius: 10px;
  padding: 14px; box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}
.ed-actions-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 10px; color: #b91c1c; font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.08em; font-weight: 800;
}
.ed-actions-head b {
  min-width: 24px; height: 24px; display: inline-grid; place-items: center;
  background: #dc2626; color: #fff; border-radius: 999px; font-size: 0.76rem;
}
.ed-actions-list { display: flex; flex-direction: column; gap: 8px; }
.ed-action-card {
  display: flex; flex-direction: column; gap: 5px; width: 100%; text-align: left;
  background: #fff5f5; border: 1px solid #fecaca; border-radius: 8px;
  color: #15171a; padding: 10px 11px; cursor: pointer; font-family: var(--font-body);
}
.ed-action-card:hover, .ed-action-card.active { border-color: #dc2626; background: #fee2e2; }
.ed-action-card-label { color: #b91c1c; font-size: 0.82rem; font-weight: 800; }
.ed-action-card-comment { color: #15171a; font-size: 0.78rem; line-height: 1.4; }
.ed-action-card-anchor {
  color: #7f1d1d; font-size: 0.72rem; line-height: 1.35; opacity: 0.82;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.ed-action-mark {
  background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca;
  border-radius: 4px; padding: 0 3px; font-weight: 800;
}
/* Unresolved Change Order placeholder ([[ACTION REQUIRED id: label]]) rendered readably. */
.ed-action-token {
  background: #fef3c7; color: #92400e; border: 1px solid #fde68a;
  border-radius: 4px; padding: 0 4px; font-weight: 700; font-size: 0.9em;
}
.ed-action-badge {
  display: inline-block; margin-top: 5px; padding: 2px 7px;
  border: 1px solid #fecaca; border-radius: 999px;
  color: #b91c1c; background: #fee2e2;
  font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
}

/* Live comment threads — anchored to a segment, signed in with Google, @mentions
   resolved against the Baldspot access directory. Light "paper" styling to match the
   document page these sit on, not the dark app chrome. */
.ed-comment-badge {
  display: inline-flex; align-items: center; gap: 3px; margin: 5px 4px 0 0; padding: 2px 8px;
  border: 1px solid #ffd8b8; border-radius: 999px; color: #b3540a; background: #fff1e4;
  font-size: 0.68rem; font-weight: 700; cursor: pointer;
}
.ed-comment-badge:hover { border-color: var(--accent); }
.ed-comment-thread {
  margin-top: 8px; padding: 10px; border: 1px solid #e3e6ea; border-radius: 10px;
  background: #fff; box-shadow: 0 6px 20px rgba(15,15,15,0.06); cursor: default; max-width: 460px;
}
.ed-comment { padding: 7px 0; border-bottom: 1px solid #eef0f2; }
.ed-comment:last-of-type { border-bottom: none; }
.ed-comment-head { display: flex; align-items: center; gap: 7px; }
.ed-comment-avatar {
  width: 20px; height: 20px; border-radius: 50%; flex: 0 0 20px; display: grid; place-items: center;
  color: #fff; font-size: 0.6rem; font-weight: 800;
}
.ed-comment-author { font-size: 0.76rem; font-weight: 700; color: #15171a; }
.ed-comment-time { font-size: 0.68rem; color: var(--text-muted); }
.ed-comment-delete {
  margin-left: auto; border: none; background: none; color: var(--text-muted);
  cursor: pointer; font-size: 0.7rem; padding: 2px 4px;
}
.ed-comment-delete:hover { color: var(--red); }
.ed-comment-body { margin: 4px 0 0; font-size: 0.82rem; line-height: 1.5; color: #15171a; white-space: pre-wrap; }
.ed-mention { color: var(--accent); font-weight: 700; background: #fff1e4; border-radius: 3px; padding: 0 2px; }
.ed-comment-compose { margin-top: 8px; position: relative; }
.ed-comment-compose textarea {
  width: 100%; border: 1px solid #d9dde1; border-radius: 8px; padding: 7px 9px;
  font: inherit; font-size: 0.8rem; color: #15171a; resize: vertical; outline: none;
}
.ed-comment-compose textarea:focus { border-color: var(--accent); }
.ed-comment-compose-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
.ed-comment-compose-actions button { font-size: 0.76rem; padding: 4px 12px; }
.ed-mention-menu {
  position: absolute; z-index: 5; left: 0; right: 0; top: 100%; margin-top: 3px;
  border: 1px solid #d9dde1; border-radius: 8px; background: #fff; box-shadow: 0 10px 30px rgba(15,15,15,0.12);
  max-height: 180px; overflow-y: auto;
}
.ed-mention-menu button {
  display: flex; width: 100%; align-items: baseline; gap: 6px; padding: 6px 10px; border: none;
  background: none; text-align: left; cursor: pointer; font-size: 0.78rem;
}
.ed-mention-menu button:hover { background: #fff1e4; }
.ed-mention-menu button b { color: #15171a; }
.ed-mention-menu button span { color: var(--text-muted); font-size: 0.7rem; }
.ed-mention-empty { padding: 8px 10px; font-size: 0.74rem; color: var(--text-muted); }

/* Interactive pricing / payment-schedule grids. */
.ed-block--grid { padding: 6px 6px 6px 6px; cursor: default; }
.ed-block--grid:hover { background: transparent; }
.ed-block--accept { padding: 10px 10px 12px; }
.pt-wrap { margin: 8px 0; }
.pt-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; table-layout: fixed; }
.pt-table th { text-align: left; background: var(--accent); color: #fff; font-weight: 700; padding: 8px 10px; font-size: 0.82rem; }
.pt-table th.pt-num { text-align: right; }
.pt-table td { border: 1px solid #e3e6ea; padding: 4px 6px; vertical-align: middle; }
.pt-table td.pt-num { text-align: right; white-space: nowrap; }
.pt-table .pt-total td { font-weight: 700; background: #f6f8fa; border-top: 2px solid #d4d9df; }
.pt-in { width: 100%; min-width: 0; border: 1px solid transparent; background: transparent; font: inherit; color: #111; padding: 7px 6px; border-radius: 4px; }
.pt-in:hover { border-color: #e3e6ea; }
.pt-in:focus { outline: none; border-color: var(--accent); background: #fff; }
.pt-money { text-align: right; }
.pt-pct { width: 56px; text-align: right; }
.pt-narrow { width: 90px; }
.pt-bad, input.pt-bad { color: var(--red) !important; font-weight: 700; }
.pt-act { width: 58px; white-space: nowrap; text-align: center; }
.pt-rowbtn { width: 22px; height: 22px; border: 1px solid var(--border); background: var(--surface2); color: var(--accent); border-radius: 4px; cursor: pointer; font-size: 0.8rem; line-height: 1; margin: 0 1px; }
.pt-rowbtn:hover { border-color: var(--accent); }
.pt-rowbtn.pt-del { color: var(--red); }
.pt-hint { font-size: 0.74rem; color: var(--text-muted); margin: 6px 2px 0; font-style: italic; }
.pt-th { color: #fff; font-weight: 700; }
.pt-th::placeholder { color: rgba(255,255,255,0.6); }
.pt-empty { text-align: center; color: var(--text-muted); font-style: italic; padding: 8px; }

/* Acceptance-page fields are a form, not an arbitrary editable grid. */
.accept-editor { margin: 6px 0 12px; border: 1px solid #dfe4e8; border-radius: 8px; overflow: hidden; background: #fff; }
.accept-editor-head { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #f7f9fa; border-bottom: 1px solid #dfe4e8; }
.accept-editor-head b, .accept-editor-head span, .accept-signature-card b, .accept-signature-card span { display: block; }
.accept-editor-head b, .accept-signature-card b { font-size: 0.86rem; color: #15171a; }
.accept-editor-head span, .accept-signature-card span, .accept-client-note { margin-top: 3px; color: var(--text-muted); font-size: 0.76rem; line-height: 1.35; }
.accept-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; }
.accept-fields--billing { grid-template-columns: 1fr; }
.accept-field { display: grid; gap: 5px; font-size: 0.72rem; color: #555e68; font-weight: 700; }
.accept-field input { width: 100%; box-sizing: border-box; border: 1px solid #cfd6dc; border-radius: 5px; padding: 8px 9px; color: #15171a; font: inherit; font-size: 0.86rem; font-weight: 400; background: #fff; }
.accept-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,92,0,.12); }
.accept-budget-extra { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 10px; border: 1px solid #ffd6c2; border-radius: 7px; background: #fff9f5; }
.accept-budget-extra label { display: grid; gap: 5px; font-size: .72rem; color: #555e68; font-weight: 700; }.accept-budget-extra input { width: 100%; box-sizing: border-box; border: 1px solid #cfd6dc; border-radius: 5px; padding: 8px 9px; color: #15171a; background: #fff; font: inherit; font-size: .86rem; font-weight: 400; }.accept-budget-extra input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,92,0,.12); }.accept-budget-extra button { width: 30px; height: 34px; border: 0; color: var(--red); background: transparent; border-radius: 5px; cursor: pointer; font-size: 1rem; }.accept-budget-extra button:hover { background: #fee2e2; }
.accept-budget-add { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 0 14px 14px; }.accept-budget-add button { border: 1px solid var(--accent); border-radius: 5px; color: var(--accent); background: #fff; padding: 6px 8px; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }.accept-budget-add span { color: var(--text-muted); font-size: .73rem; }
.accept-signature-card { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 13px 14px; border-top: 1px solid #dfe4e8; background: #fff9f5; }
.accept-signature-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.accept-signature-actions img { width: 100px; max-height: 38px; object-fit: contain; background: #fff; border: 1px solid #e2e6e9; border-radius: 4px; }
.accept-signature-actions button { border: 1px solid var(--accent); border-radius: 5px; color: var(--accent); background: #fff; padding: 6px 8px; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }
.accept-signature-actions .accept-link-danger { color: var(--red); border-color: transparent; background: transparent; }
.accept-client-note { padding: 0 14px 13px; margin-bottom: 0; }

/* Signature library: saved vendor signatures can be applied to a SOW in one click. */
.sig-modal-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.55); }
.sig-modal { width: min(760px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; color: #15171a; background: #fff; border-radius: 12px; box-shadow: 0 22px 60px rgba(0,0,0,.3); padding: 18px; }
.sig-modal-head { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #e3e6ea; }
.sig-modal-head b, .sig-modal-head span { display: block; }
.sig-modal-head b { font-size: 1rem; }
.sig-modal-head span, .sig-status, .sig-esign-note { margin-top: 4px; color: #66707a; font-size: .78rem; line-height: 1.4; }
.sig-modal-head button { align-self: flex-start; border: 0; background: transparent; cursor: pointer; font-size: 1.1rem; color: #5b6470; }
.sig-library { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 9px; padding: 14px 0; }
.sig-choice { display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: center; min-height: 92px; text-align: left; border: 1px solid #d9dee3; border-radius: 7px; padding: 9px; background: #fff; cursor: pointer; color: #15171a; font: inherit; }
.sig-choice:hover { border-color: var(--accent); background: #fff9f5; }
.sig-choice img { grid-column: 1 / -1; width: 100%; height: 42px; object-fit: contain; }
.sig-choice span { font-size: .75rem; text-transform: capitalize; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sig-choice em { color: var(--accent); font-size: .7rem; font-style: normal; font-weight: 700; }
.sig-empty { color: #66707a; font-size: .82rem; }
.sig-add-grid { display: grid; grid-template-columns: minmax(170px, .7fr) minmax(0, 2fr); gap: 14px; padding-top: 14px; border-top: 1px solid #e3e6ea; }
.sig-upload { min-height: 150px; display: grid; align-content: center; gap: 6px; padding: 14px; border: 1px dashed #aeb8c1; border-radius: 7px; cursor: pointer; }
.sig-upload b, .sig-draw b { font-size: .82rem; }.sig-upload span { color: #66707a; font-size: .74rem; }
.sig-upload input { margin-top: 6px; font-size: .72rem; max-width: 100%; }
.sig-draw canvas { display: block; width: 100%; height: 120px; margin: 7px 0; border: 1px solid #cfd6dc; border-radius: 6px; touch-action: none; cursor: crosshair; }
.sig-draw div { display: flex; justify-content: flex-end; gap: 8px; }.sig-draw button { border: 1px solid #cfd6dc; background: #fff; color: #15171a; padding: 6px 9px; border-radius: 5px; cursor: pointer; font: inherit; font-size: .76rem; }.sig-draw .btn-primary { color: #fff; border-color: var(--accent); background: var(--accent); }
.sig-esign-note { border-top: 1px solid #e3e6ea; padding-top: 12px; }

.ed-block--auto { position: relative; background: #fafbfc; border-left: 3px solid var(--accent); padding: 6px 28px 6px 12px; }
.ed-auto-badge { display: inline-block; margin-top: 4px; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent); }

.ed-page { max-width: 820px; margin: 0 auto; min-height: 60vh; position: relative; }
.ed-pagenum { position: absolute; right: 12px; font-size: 11px; color: #b0b0b0; font-variant-numeric: tabular-nums; pointer-events: none; user-select: none; z-index: 1; }
.ed-pageline { position: absolute; left: -24px; right: -24px; border-top: 1px dashed #e4e4e4; pointer-events: none; }
.ed-pages { max-width: 820px; margin: 0 auto; display: grid; gap: 22px; }
.ed-sheet-wrap { min-width: 0; }
.ed-page-controls { display: flex; justify-content: flex-end; align-items: center; gap: 5px; padding: 0 5px 7px; color: var(--text-muted); font-size: 0.72rem; }
.ed-page-controls span { margin-right: auto; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
.ed-page-controls button { border: 1px solid var(--border); background: var(--surface2); color: var(--text); border-radius: 5px; min-width: 26px; height: 25px; cursor: pointer; font-family: var(--font-body); }
.ed-page-controls button:hover:not(:disabled) { border-color: var(--accent); color: var(--accent); }
.ed-page-controls button:disabled { opacity: 0.35; cursor: default; }
.ed-page-controls .ed-page-delete { padding: 0 8px; color: var(--red); }
.ed-sheet { width: 100%; min-height: 1056px; box-sizing: border-box; }
.ed-sheet .ed-pagenum { bottom: 28px; right: 38px; }
.ed-block { position: relative; border-radius: 4px; padding: 2px 28px 2px 6px; margin: 1px 0; cursor: text; }
.ed-block:hover { background: #f4f6f8; }
.ed-block.ed-active { background: #eef3f6; box-shadow: inset 2px 0 0 var(--accent); }
.ed-block.ed-editing { background: #fff; box-shadow: inset 0 0 0 1px #d9dde1; }
.ed-block.ed-action-required.ed-editing { box-shadow: inset 4px 0 0 #dc2626, inset 0 0 0 1px #fecaca; }
.ed-rendered > :first-child { margin-top: 0; }
.ed-rendered .md-orange { color: #ff5c00; }
.ed-empty { color: #aaa; font-style: italic; }

/* Cover-area roles so the top reads like the real cover, not a uniform blob */
.ed-block.cv-scope .ed-rendered p { font-size: 0.85rem; color: var(--text-muted); }
.ed-block.cv-client .ed-rendered p { font-size: 2.1rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.ed-block.cv-subtitle .ed-rendered p { font-size: 1.25rem; font-weight: 700; }
.ed-block.cv-subtitle { border-bottom: 1px solid #d9dde1; padding-bottom: 12px; margin-bottom: 8px; }
.ed-block.cv-creds .ed-rendered p { line-height: 1.9; }
.ed-block.cv-center .ed-rendered { text-align: center; }
.ed-block.cv-center { margin: 6px 0; }
.ed-textarea {
  width: 100%; min-height: 44px; border: 0; border-radius: 4px; padding: 3px 4px;
  font-family: 'Inter', Arial, sans-serif; font-size: inherit; line-height: 1.65;
  color: #15171a; background: #fff; resize: vertical; outline: none;
}
.ed-del {
  position: absolute; top: 4px; right: 4px; opacity: 0; border: none; background: none; color: var(--red);
  cursor: pointer; font-size: 0.8rem; padding: 2px 6px; border-radius: 4px;
}
.ed-block:hover .ed-del, .ed-pagebreak:hover .ed-del, .ed-active .ed-del { opacity: 1; }
.ed-del:hover { background: rgba(239,68,68,0.12); }

.ed-pagebreak {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 10px;
  color: var(--accent); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em;
  border-top: 1px dashed var(--accent); margin: 22px 0; padding-top: 6px; cursor: pointer;
}
.ed-pagebreak.ed-active { background: #eef3f6; }
.page-break-marker { text-align: center; color: #aaa; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; border-top: 1px dashed #ccc; margin: 18px 0; padding-top: 4px; }

@media (max-width: 820px) {
  .ed-wrap { flex-direction: column; }
  .ed-palette { width: 100%; position: static; max-height: none; }
  .ed-actions { width: 100%; position: static; max-height: none; order: -1; }
  .ed-sheet { min-height: 0; padding: 50px 28px 64px; }
  .ed-sheet .ed-pagenum { bottom: 18px; right: 22px; }
  .accept-fields { grid-template-columns: 1fr; }
  .accept-budget-extra { grid-template-columns: 1fr; }
  .accept-budget-extra button { justify-self: end; }
  .accept-signature-card { align-items: flex-start; flex-direction: column; }
  .accept-signature-actions { justify-content: flex-start; }
  .sig-add-grid { grid-template-columns: 1fr; }
}

.ws-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 18px;
}
.ws-title { display: block; font-weight: 600; font-size: 1rem; }
.ws-title-row { display: flex; align-items: center; gap: 8px; }
.ws-title-input { width: min(390px, 62vw); background: var(--surface2); color: var(--text); border: 1px solid var(--accent); border-radius: 6px; padding: 6px 8px; font: inherit; }
.ws-title-edit { padding: 4px 8px; font-size: 0.74rem; }
.ws-sub { display: block; font-size: 0.78rem; color: var(--text-muted); margin-top: 2px; }
.ws-sibling { margin-top: 6px; background: var(--surface2); color: var(--text); border: 1px solid var(--border); border-radius: 6px; padding: 4px 8px; font-size: 0.76rem; font-family: var(--font-body); cursor: pointer; }
.ws-sibling:hover { border-color: var(--accent); }
.ws-toolbar-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.ws-segment { display: inline-flex; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ws-segment button {
  background: var(--surface2); color: var(--text-muted); border: 0;
  padding: 8px 14px; font-size: 0.82rem; cursor: pointer; font-family: var(--font-body);
}
.ws-segment button.active { background: var(--accent); color: #fff; }

.ws-regen {
  display: flex; flex-direction: column; gap: 10px;
  padding: 16px 18px; margin-bottom: 16px;
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface);
}
.ws-hint { font-size: 0.78rem; color: var(--text-muted); }
.ws-edit { display: flex; flex-direction: column; }

/* The document "paper" — white page, dark text, branded, print-friendly */
.sow-doc {
  --sow-orange: #ff5c00;   /* brand accent — logo, phase tags */
  --sow-fill: #f3854e;     /* coral fill — table headers, callout borders */
  position: relative;
  background: #fff; color: #15171a;
  border-radius: var(--radius);
  padding: 64px 72px;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 0.92rem; line-height: 1.65;
  box-shadow: 0 1px 0 var(--border);
}
.sow-logo {
  position: absolute; top: 40px; right: 64px;
  width: 92px; height: auto;
}
.sow-doc h1 { font-size: 2.1rem; margin: 8px 0 6px; letter-spacing: -0.02em; font-weight: 700; padding-right: 120px; }
.sow-doc h2 { font-size: 1.3rem; margin: 26px 0 10px; font-weight: 600; }
.sow-doc h2.section-banner {
  font-size: 1.15rem; font-weight: 700; letter-spacing: 0.03em;
  margin: 34px 0 14px; padding-top: 6px; border-top: 2px solid var(--sow-fill);
}
.sow-doc h2.phase { margin-top: 34px; font-weight: 400; color: var(--sow-orange); }
.sow-doc h2.retainer-divider { margin-top: 30px; padding-top: 12px; border-top: 2px solid var(--sow-orange); color: var(--sow-orange); font-size: 14pt; font-weight: 700; letter-spacing: 0; }
.sow-doc .phase-tag { color: var(--sow-orange); font-weight: 700; }
.sow-doc h3 { font-size: 1rem; margin: 20px 0 8px; font-weight: 700; }
.sow-doc p { margin: 0 0 10px; }
.sow-doc ul, .sow-doc ol { margin: 0 0 12px 22px; }
.sow-doc li { margin: 3px 0; }
.sow-doc hr { border: none; border-top: 1px solid #d9dde1; margin: 22px 0; }
.sow-doc table { border-collapse: collapse; width: 100%; margin: 14px 0; }
.sow-doc th, .sow-doc td { border: 1px solid #cfd4d9; padding: 8px 11px; text-align: left; font-size: 0.85rem; vertical-align: top; }
.sow-doc th { background: var(--sow-fill); color: #1a1a1a; font-weight: 700; }

/* Orange Timeline / Milestone callout box */
.sow-doc .callout {
  border: 2px solid var(--sow-orange); border-radius: 6px;
  background: #fff; padding: 14px 18px; margin: 16px 0 24px;
}
.sow-doc .callout-row { font-size: 0.88rem; line-height: 1.45; min-height: 1.45em; }
.sow-doc .callout-row:first-child { font-weight: 600; }

@media print {
  @page { margin: 0.7in 0.6in; }
  body { background: #fff; }
  .ws-screen-only, .header { display: none !important; }
  .ws-main { max-width: none; padding: 0; margin: 0; }
  /* Logo stays anchored to the document top (page 1) — avoids the per-page overlap a
     fixed logo caused. */
  .sow-doc { box-shadow: none; border-radius: 0; padding: 0; font-size: 11pt; position: relative; }
  .sow-logo { position: absolute; top: 0; right: 0; }
  .sow-doc thead { display: table-header-group; }  /* repeat table headers across pages */
  .sow-doc tr, .sow-doc .callout, .sow-doc li { break-inside: avoid; }
  .sow-doc h2, .sow-doc h3 { break-after: avoid; }
}

/* Build-from-extraction picker (SOW pages) */
.build-bar { margin-bottom: 8px; }

.build-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 20px;
  margin-bottom: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}
.build-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.build-controls {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.build-select {
  flex: 1;
  min-width: 220px;
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 12px;
  font-family: var(--font-body);
  font-size: 0.875rem;
}
.build-select:focus { outline: none; border-color: var(--accent); }

/* Milestone placement step */
.ms-step { display: flex; flex-direction: column; gap: 12px; }
.ms-list { display: flex; flex-direction: column; gap: 14px; max-height: 360px; overflow-y: auto; padding-right: 6px; }
.ms-phase-title { font-family: var(--font-display); font-weight: 600; color: var(--accent); font-size: 0.85rem; margin-bottom: 6px; }
.ms-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 6px 8px; border-radius: 6px; }
.ms-row--on { background: var(--accent-dim); }
.ms-check { display: flex; align-items: center; gap: 8px; font-size: 0.88rem; flex: 1; min-width: 220px; cursor: pointer; }
.ms-fields { display: flex; align-items: center; gap: 10px; }
.ms-name { background: var(--bg); border: 1px solid var(--border); border-radius: 5px; color: var(--text); padding: 5px 8px; font-size: 0.8rem; font-family: var(--font-body); width: 200px; }
.ms-pay { display: flex; align-items: center; gap: 5px; font-size: 0.78rem; color: var(--text-dim); white-space: nowrap; }

.build-status { font-size: 0.85rem; }
.build-status--info { color: var(--text-dim); }
.build-status--success { color: var(--green); }
.build-status--error { color: var(--red); }

@media (max-width: 640px) {
  .build-controls { flex-direction: column; }
  .build-select { min-width: 0; }
}

.detect-banner {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 18px;
  margin-bottom: 16px;
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  background: var(--accent-dim);
}
.detect-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}
.detect-value {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--accent);
}

.badge-mock {
  background: var(--surface2);
  color: var(--text-muted);
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 0.7rem;
  margin-left: 8px;
}

@media (max-width: 640px) {
  .main { padding: 32px 20px; }
  .header { padding: 16px 20px; }
  .results-grid { grid-template-columns: 1fr; }
  .result-card--wide { grid-column: 1; }
  .review-header { flex-direction: column; }
  .review-footer { flex-direction: column-reverse; align-items: stretch; }
  .btn-primary, .btn-secondary { text-align: center; }
}

.nav-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.82rem;
  text-decoration: none;
  font-family: var(--font-body);
  transition: border-color 0.15s, color 0.15s;
  white-space: nowrap;
}
.nav-btn:hover { border-color: var(--accent); color: var(--accent); }

button.nav-btn { cursor: pointer; font-family: var(--font-body); }
.nav-btn--danger { color: var(--text-dim); }
.nav-btn--danger:hover { border-color: var(--red); color: var(--red); }
.nav-btn:disabled { opacity: 0.5; cursor: default; }

.empty { color: var(--text-muted); font-size: 0.95rem; }

.ext-list {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}
.selection-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  font-size: 0.82rem;
}
.selection-check,
.ext-select {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.selection-check input,
.ext-select input {
  accent-color: var(--accent);
}
.selection-bar .nav-btn {
  margin-left: auto;
}
.ext-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}
.ext-row:last-child { border-bottom: none; }
.ext-row--active { background: var(--accent-dim); }
.ext-row--selected { background: rgba(255, 85, 0, 0.08); }
.ext-select { flex-shrink: 0; }
.ext-main { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ext-name { font-size: 0.92rem; font-weight: 600; }
.ext-meta { font-size: 0.78rem; color: var(--text-muted); }
.ext-notes { font-size: 0.8rem; color: var(--text-dim); margin-top: 4px; }
.ext-actions { display: flex; gap: 8px; flex-shrink: 0; }

.version-current {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  border: 1px solid var(--accent);
  border-radius: var(--radius);
  background: var(--accent-dim);
  margin-bottom: 24px;
}
.version-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.version-num { font-family: var(--font-display); font-size: 1.8rem; font-weight: 700; color: var(--accent); }

@media (max-width: 640px) {
  .ext-row { flex-direction: column; align-items: flex-start; }
}

/* ── Client board (live Close SOW pipeline) ──────────────────────────── */
.cb { margin-top: 44px; }
.cb-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.cb-title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; margin: 0; }
.cb-sub { margin: 4px 0 0; font-size: 0.82rem; color: var(--text-dim); }
.cb-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.cb-sorts { display: flex; gap: 6px; }
.cb-sort-btn {
  font: 600 0.72rem var(--font-body); padding: 5px 12px; border-radius: 20px; cursor: pointer;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
}
.cb-sort-btn--on { border-color: var(--accent); color: var(--accent); background: rgba(255,92,0,0.08); }
.cb-action-btn {
  font: 700 0.72rem var(--font-body); padding: 7px 12px; border: 1px solid rgba(255,255,255,0.13);
  border-radius: 9px; background: rgba(255,255,255,0.045); color: var(--text-dim); cursor: pointer;
}
.cb-action-btn:hover:not(:disabled) { border-color: var(--accent); color: var(--text); }
.cb-action-btn--on { border-color: #4cc9b0; background: rgba(76,201,176,0.12); color: #86ead7; }
.cb-action-btn:disabled { opacity: 0.36; cursor: not-allowed; }
.cb-edit-btn {
  font: 600 0.72rem var(--font-body); padding: 5px 12px; border-radius: 20px; cursor: pointer;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
}
.cb-edit-btn--on { border-color: var(--accent); background: var(--accent); color: #fff; }
.cb-updated { font-size: 0.7rem; color: var(--text-muted); white-space: nowrap; }
.cb-error { padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text-dim); font-size: 0.85rem; margin-bottom: 12px; }
.cb-loading { color: var(--text-muted); font-size: 0.88rem; padding: 24px 0; }
.cb-filter-note {
  display: flex; align-items: center; gap: 7px; margin: -4px 0 12px; color: #a6b3b0;
  font-size: 0.72rem;
}
.cb-filter-note strong { color: #86ead7; }
.cb-filter-note button { border: 0; background: transparent; color: var(--accent); font: inherit; cursor: pointer; }

.cb-flow-console {
  display: grid; grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 10px; align-items: stretch;
  margin: 0 0 12px; padding: 10px; border: 1px solid rgba(116,185,255,0.18); border-radius: 14px;
  background: linear-gradient(180deg, rgba(20,25,31,0.96), rgba(10,12,15,0.96));
  box-shadow: inset 0 1px rgba(255,255,255,0.035), 0 12px 30px rgba(0,0,0,0.18);
}
.cb-flow-arrow {
  border: 1px solid rgba(116,185,255,0.34); border-radius: 10px; background: rgba(116,185,255,0.08);
  color: #9cd0ff; font: 700 1.25rem var(--font-display); cursor: pointer;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}
.cb-flow-arrow:hover:not(:disabled) {
  transform: translateX(-2px); border-color: #74b9ff; background: rgba(116,185,255,0.16);
}
.cb-flow-arrow--right { color: #ff8a4c; border-color: rgba(255,92,0,0.34); background: rgba(255,92,0,0.08); }
.cb-flow-arrow--right:hover:not(:disabled) { transform: translateX(2px); border-color: #ff5c00; background: rgba(255,92,0,0.16); }
.cb-flow-arrow:disabled { opacity: 0.28; cursor: default; }
.cb-flow-chart { min-width: 0; }
.cb-flow-instruction {
  display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 8px;
  color: #e7f4ff; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
}
.cb-flow-pulse {
  width: 7px; height: 7px; border-radius: 50%; background: #4cc9b0;
  box-shadow: 0 0 0 0 rgba(76,201,176,0.65); animation: cb-flow-pulse 1.7s ease-out infinite;
}
.cb-flow-gesture { color: #ff8a4c; font-size: 0.92rem; animation: cb-flow-gesture 1.5s ease-in-out infinite; }
.cb-flow-rail {
  position: relative; display: grid; grid-template-columns: repeat(7, minmax(92px, 1fr));
  min-width: 740px; height: 36px; overflow: hidden;
}
.cb-flow-rail::before,
.cb-flow-progress { content: ''; position: absolute; left: 5%; right: 5%; top: 8px; height: 2px; border-radius: 2px; }
.cb-flow-rail::before { background: rgba(255,255,255,0.09); }
.cb-flow-progress {
  right: auto; width: 90%; transform-origin: left;
  background: linear-gradient(90deg, #ff5c00, #74b9ff, #c084fc);
  box-shadow: 0 0 12px rgba(116,185,255,0.7); transition: transform 120ms linear;
}
.cb-flow-stop {
  position: relative; z-index: 1; display: grid; justify-items: center; gap: 3px; min-width: 0;
  border: 0; background: transparent; color: var(--text-muted); cursor: pointer;
}
.cb-flow-stop > span {
  display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid rgba(116,185,255,0.45);
  border-radius: 50%; background: #11151a; color: #b7dcff; font: 700 0.46rem var(--font-body);
  box-shadow: 0 0 0 3px #101318;
}
.cb-flow-stop small {
  max-width: 106px; overflow: hidden; color: var(--text-muted); font-size: 0.49rem; font-weight: 700;
  letter-spacing: 0.04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap;
}
.cb-flow-stop:hover > span { border-color: #ff8a4c; color: #fff; box-shadow: 0 0 12px rgba(255,92,0,0.45); }
.cb-flow-stop:hover small { color: var(--text); }
@keyframes cb-flow-pulse { 70%, 100% { box-shadow: 0 0 0 8px rgba(76,201,176,0); } }
@keyframes cb-flow-gesture { 50% { transform: scaleX(1.18); letter-spacing: 0.12em; } }

.cb-cols {
  display: grid; grid-template-columns: repeat(7, minmax(260px, 1fr)); gap: 14px; align-items: start;
  overflow-x: auto; padding: 4px 2px 14px; scrollbar-color: #ff5c00 rgba(255,255,255,0.04);
  scroll-behavior: smooth; scroll-snap-type: x proximity; overscroll-behavior-inline: contain;
}
.cb-cols::-webkit-scrollbar { height: 10px; }
.cb-cols::-webkit-scrollbar-track { border-radius: 10px; background: rgba(255,255,255,0.04); }
.cb-cols::-webkit-scrollbar-thumb {
  border: 2px solid #111; border-radius: 10px; background: linear-gradient(90deg, #ff5c00, #74b9ff);
}
.cb-col { border-radius: 10px; scroll-snap-align: start; }
.cb-col--over { outline: 2px dashed var(--accent); outline-offset: 4px; }

.cb-col-head {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  font: 700 0.7rem var(--font-body); letter-spacing: 0.07em; text-transform: uppercase;
  padding: 7px 12px; border-radius: 8px; margin-bottom: 10px;
  border: 0; cursor: pointer; text-align: left;
}
.cb-col-head--needed { color: #ff8a4c; background: rgba(255,92,0,0.10); }
.cb-col-head--team-picked { color: #fb7185; background: rgba(251,113,133,0.10); }
.cb-col-head--sent { color: #4cc9b0; background: rgba(76,201,176,0.10); }
.cb-col-head--signed { color: #74b9ff; background: rgba(116,185,255,0.10); }
.cb-col-head--team-finalized { color: #818cf8; background: rgba(129,140,248,0.10); }
.cb-col-head--deposit { color: #eab308; background: rgba(234,179,8,0.10); }
.cb-col-head--am-intro { color: #c084fc; background: rgba(192,132,252,0.10); }
.cb-col-title { display: flex; align-items: center; gap: 7px; }
.cb-chevron { display: inline-block; transition: transform 0.14s ease; font-size: 0.62rem; }
.cb-chevron--closed { transform: rotate(-90deg); }
.cb-count { font-variant-numeric: tabular-nums; opacity: 0.85; }
.cb-col-cards { display: flex; flex-direction: column; gap: 8px; }
.cb-empty { color: var(--text-muted); font-size: 0.82rem; padding: 14px; border: 1px dashed var(--border); border-radius: 10px; }

.cb-card {
  perspective: 1100px; background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; padding: 12px 14px; overflow: hidden;
}
.cb-card--hidden { opacity: 0.45; border-style: dashed; }
.cb-card--grab { cursor: grab; }
.cb-card--grab:active { cursor: grabbing; }
.cb-card-inner {
  display: grid; transform-style: preserve-3d;
  transition: transform 420ms cubic-bezier(.2,.72,.2,1);
}
.cb-card-inner--flipped { transform: rotateY(180deg); }
.cb-card-face {
  grid-area: 1 / 1; min-width: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.cb-card-back {
  display: flex; flex-direction: column; min-height: 100%; transform: rotateY(180deg);
}
.cb-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.cb-quarter { font-size: 0.66rem; color: var(--text-muted); white-space: nowrap; }
.cb-name { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; min-width: 0; }
.cb-name a { color: var(--text); text-decoration: none; }
.cb-name a:hover { color: var(--accent); }
.cb-model {
  margin: 3px 0 0; font-size: 0.78rem; color: var(--text-dim); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cb-facts { margin-top: 6px; font-size: 0.72rem; color: var(--text-muted); }
.cb-row2 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 4px; }
.cb-value { font-size: 0.8rem; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }
.cb-site { font-size: 0.72rem; color: var(--text-muted); text-decoration: none; overflow-wrap: anywhere; }
.cb-site:hover { color: var(--accent); }

.cb-services { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.cb-pill { font-size: 0.64rem; color: var(--text-dim); background: var(--surface2); border: 1px solid var(--border); border-radius: 20px; padding: 2px 8px; }
.cb-pill--more { color: var(--text-muted); }

.cb-links { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--border); }
.cb-card-context { display: grid; gap: 8px; flex: 1 1 170px; min-width: 0; }
.cb-owner {
  font-size: 0.7rem; font-weight: 700; color: var(--text-dim); margin-right: auto;
  padding: 4px 7px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface2);
}
.cb-owner--empty { color: var(--text-muted); font-weight: 600; }
.cb-link { font-size: 0.72rem; font-weight: 600; color: var(--text-muted); text-decoration: none; }
.cb-link:hover { color: var(--accent); }
.cb-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-left: auto; }
.cb-team-btn {
  padding: 5px 8px; border: 1px solid rgba(76,201,176,0.38); border-radius: 7px;
  background: rgba(76,201,176,0.08); color: #86ead7; font: 700 0.65rem var(--font-body); cursor: pointer;
}
.cb-team-btn:hover { border-color: #4cc9b0; background: rgba(76,201,176,0.14); }

.cb-owner-control { display: grid; gap: 3px; min-width: 102px; }
.cb-owner-label {
  font-size: 0.55rem; font-weight: 800; color: #7d8a88;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.cb-owner-select {
  min-width: 102px; font: 700 0.7rem var(--font-body); color: var(--text); background: var(--surface2);
  border: 1px solid rgba(76,201,176,0.45); border-radius: 8px; padding: 5px 24px 5px 8px; cursor: pointer;
}
.cb-owner-select:hover, .cb-owner-select:focus { border-color: #4cc9b0; outline: none; }
.cb-note-control { display: grid; gap: 3px; min-width: 0; }
.cb-note-control textarea {
  width: 100%; min-height: 46px; resize: vertical; box-sizing: border-box;
  border: 1px solid var(--border); border-radius: 9px; background: rgba(255,255,255,.035);
  color: var(--text); padding: 7px 9px; font: inherit; font-size: 12px; line-height: 1.35;
}
.cb-note-control textarea::placeholder { color: var(--text-muted); }
.cb-note-control textarea:hover, .cb-note-control textarea:focus { border-color: #4cc9b0; outline: none; }
.cb-hide-btn {
  font: 600 0.66rem var(--font-body); padding: 5px 8px; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-dim);
}
.cb-hide-btn:hover { border-color: var(--accent); color: var(--accent); }
.cb-team-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.cb-team-head span {
  color: #4cc9b0; font-size: 0.52rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.cb-team-head h3 { margin: 3px 0 0; font: 700 0.95rem/1.15 var(--font-display); }
.cb-team-head > button {
  width: 26px; height: 26px; border: 1px solid var(--border); border-radius: 50%;
  background: var(--surface2); color: var(--text-dim); cursor: pointer;
}
.cb-team-projects { display: grid; gap: 10px; max-height: 230px; margin-top: 11px; overflow: auto; padding-right: 3px; }
.cb-team-project { padding-top: 9px; border-top: 1px solid var(--border); }
.cb-team-project:first-child { padding-top: 0; border-top: 0; }
.cb-team-project-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cb-team-project-title strong { color: #eee; font-size: 0.7rem; line-height: 1.3; }
.cb-team-project-title a { color: var(--accent); font-size: 0.58rem; text-decoration: none; white-space: nowrap; }
.cb-team-role { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 7px; margin-top: 6px; }
.cb-team-role span { color: #798280; font-size: 0.56rem; font-weight: 800; text-transform: uppercase; }
.cb-team-role p { margin: 0; color: #c6cdcb; font-size: 0.64rem; line-height: 1.35; }
.cb-team-return {
  align-self: flex-start; margin-top: auto; padding: 9px 0 0; border: 0; background: transparent;
  color: #86ead7; font: 700 0.64rem var(--font-body); cursor: pointer;
}
@media (prefers-reduced-motion: reduce) { .cb-card-inner { transition: none; } }

.cb-notification-backdrop {
  position: fixed !important; z-index: 90 !important; inset: 0; display: grid; place-items: center; padding: 20px;
  background: rgba(0,0,0,0.72); backdrop-filter: blur(9px);
}
.cb-notification-panel {
  width: min(520px, 100%); padding: 23px; border: 1px solid rgba(255,255,255,0.14); border-radius: 18px;
  background: radial-gradient(circle at 100% 0%, rgba(255,92,0,0.13), transparent 43%), #111;
  box-shadow: 0 30px 100px rgba(0,0,0,0.66);
}
.cb-notification-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.cb-notification-head span { color: #ff7b34; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.cb-notification-head h3 { margin: 5px 0 0; font: 700 1.45rem/1.1 var(--font-display); letter-spacing: -0.03em; }
.cb-notification-head > button { border: 0; background: transparent; color: #777; font-size: 1.2rem; cursor: pointer; }
.cb-notification-panel > p { margin: 13px 0 18px; color: #929292; font-size: 0.78rem; line-height: 1.5; }
.cb-notification-notice {
  margin: -4px 0 14px; padding: 10px 11px; border: 1px solid rgba(234,179,8,0.34);
  border-radius: 9px; background: rgba(234,179,8,0.08); color: #d8c787; font-size: 0.69rem; line-height: 1.45;
}
.cb-notification-recipient {
  margin: -2px 0 13px; color: #8b9694; font-size: 0.67rem;
}
.cb-notification-recipient strong { color: #86ead7; }
.cb-notification-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb-notification-options button {
  display: grid; gap: 4px; padding: 12px; border: 1px solid #303030; border-radius: 10px;
  background: #171717; color: #eee; text-align: left; cursor: pointer;
}
.cb-notification-options button:hover { border-color: #777; }
.cb-notification-options button.is-selected { border-color: #4cc9b0; background: rgba(76,201,176,0.09); }
.cb-notification-options button:disabled { opacity: 0.42; cursor: not-allowed; }
.cb-notification-options strong { font: 700 0.78rem var(--font-body); }
.cb-notification-options span { color: #888; font-size: 0.65rem; }
.cb-notification-schedule {
  display: grid; grid-template-columns: minmax(125px, 0.55fr) minmax(0, 1.45fr); gap: 9px; margin-top: 12px;
}
.cb-notification-schedule label { display: grid; gap: 5px; min-width: 0; }
.cb-notification-schedule label > span {
  color: #777; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase;
}
.cb-notification-schedule select {
  min-width: 0; width: 100%; padding: 9px 28px 9px 10px; border: 1px solid #343434; border-radius: 9px;
  background: #171717; color: #eee; font: 600 0.72rem var(--font-body); cursor: pointer;
}
.cb-notification-schedule select:focus { border-color: #4cc9b0; outline: none; }
.cb-notification-schedule select:disabled { opacity: 0.42; cursor: not-allowed; }
.cb-notification-status { margin-top: 12px; color: #86ead7; font-size: 0.7rem; }

@media (max-width: 760px) {
  .cb-flow-console { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 7px; padding: 8px; }
  .cb-flow-chart { overflow-x: auto; }
  .cb-flow-instruction { position: sticky; left: 0; width: min(100%, 420px); }
  .cb-links { align-items: flex-end; }
  .cb-card-actions { flex-wrap: wrap; }
  .cb-notification-options { grid-template-columns: 1fr; }
  .cb-notification-schedule { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cb-flow-pulse, .cb-flow-gesture { animation: none !important; }
  .cb-flow-progress { transition: none; }
}

/* Baldspot future interface. Scoped to the homepage and SOW entry flow. */
.header--future {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 72px;
  border-color: rgba(255,255,255,0.08);
  background: rgba(8,8,8,0.78);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  box-shadow: 0 1px 0 rgba(255,255,255,0.02), 0 18px 60px rgba(0,0,0,0.2);
}

.header--future::after {
  content: '';
  position: absolute;
  left: 40px;
  right: 40px;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,92,0,0.7), rgba(255,255,255,0.16), transparent);
  opacity: 0.5;
}

.header--single-action { justify-content: flex-start; }

.future-shell .btn-primary,
.future-shell .btn-secondary,
.future-shell .nav-btn {
  position: relative;
  overflow: hidden;
}

.future-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  background: rgba(255,255,255,0.025);
  color: #8b8b8b;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.future-status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 10px rgba(255,92,0,0.9);
  animation: future-status-pulse 2.6s ease-in-out infinite;
}

.future-shell {
  isolation: isolate;
  min-height: calc(100vh - 72px);
}

.future-shell > :not(.future-ambient) {
  position: relative;
  z-index: 2;
}

.future-shell > .dir-mascot { position: absolute; }

/* Corner variant: a larger ambient mascot pinned to the top-right of the page, sitting
   behind the real content (lower z-index + pointer-events: none) so cards/nav can
   overlap it freely — decorative background, not a layout participant. */
.future-shell > .hero-mascot--corner {
  position: absolute;
  top: 8px;
  right: 24px;
  z-index: 1;
  display: block;
  margin-bottom: 0;
  pointer-events: none;
  opacity: 0.92;
}
@media (max-width: 760px) {
  .future-shell > .hero-mascot--corner { top: 4px; right: 12px; transform: scale(0.72); transform-origin: top right; }
}

.future-ambient {
  position: fixed;
  z-index: 0;
  inset: 72px 0 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(ellipse 78% 52% at 76% -8%, rgba(255,92,0,.14), transparent 64%),
    linear-gradient(180deg, #0b0b0b 0%, #0d0d0d 38%, #090909 100%);
}

.future-grid {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent 78%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent 78%);
}

/* Avoid a faint vertical grid stroke reading as a divider beside the mascot. */
.builder-main .future-grid {
  background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
}

.future-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(1px);
  opacity: 0.42;
  will-change: transform;
}

.future-orb--one {
  width: 1100px;
  height: 520px;
  top: -390px;
  left: calc(50% - 550px);
  background: radial-gradient(ellipse, rgba(255,122,36,.16), rgba(255,92,0,.045) 46%, transparent 72%);
  animation: future-orb-drift 15s ease-in-out infinite alternate;
}

.future-orb--two {
  width: 420px;
  height: 420px;
  top: 34%;
  right: -280px;
  background: radial-gradient(circle, rgba(130,170,255,0.12), transparent 68%);
  animation: future-orb-drift 18s ease-in-out 1.5s infinite alternate-reverse;
}

.future-beam {
  position: absolute;
  top: -22%;
  left: -42%;
  width: 34%;
  height: 150%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), rgba(255,122,36,0.16), transparent);
  filter: blur(18px);
  animation: future-intro-sweep 2.2s cubic-bezier(.3,.6,.2,1) 0.12s both;
}

.future-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  color: #a5a5a5;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.future-eyebrow span {
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), rgba(255,92,0,0));
  box-shadow: 0 0 12px rgba(255,92,0,0.65);
}

.home-main {
  width: min(1120px, 100%);
  max-width: 1120px;
  padding-top: 74px;
}

.home-main .dir-hero {
  width: min(780px, 100%);
  margin: 20px auto 18px;
}

.home-main .dir-hero h1 {
  font-size: clamp(2.7rem, 7vw, 5.45rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
  text-wrap: balance;
  text-shadow: 0 10px 44px rgba(0,0,0,0.5);
}

.home-main .dir-verb {
  background: linear-gradient(105deg, #ff5c00 10%, #ff9d62 50%, #ff5c00 90%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: future-text-light 4.8s ease-in-out infinite;
  position: relative;
  cursor: help;
  outline: none;
}

.home-main .dir-verb-def {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 18px;
  width: max-content;
  max-width: min(360px, 80vw);
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px 15px;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  background: #141414;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  text-align: left;
  white-space: normal;
  /* Reset every headline style the tooltip inherits from the giant animated h1. */
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: normal;
  text-transform: none;
  text-shadow: none;
  color: #d8d8d8;
  -webkit-text-fill-color: #d8d8d8;
  animation: none;
}
.home-main .dir-verb-def strong,
.home-main .dir-verb-def span {
  font-family: var(--font-body);
  letter-spacing: normal;
  text-transform: none;
  text-shadow: none;
  animation: none;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
}
.home-main .dir-verb-def strong {
  color: #ff9d62;
  -webkit-text-fill-color: #ff9d62;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
}
.home-main .dir-verb-def span {
  color: #d8d8d8;
  -webkit-text-fill-color: #d8d8d8;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.45;
}
.home-main .dir-verb-def::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-bottom-color: #141414;
}

.home-main .dir-hero p {
  margin: 24px auto 0;
  max-width: 480px;
  color: #8c8c8c;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
}

.home-main .dir-mascot {
  filter: drop-shadow(0 24px 42px rgba(0,0,0,0.55));
}

.bald-mascot-reference {
  display: block;
  width: 154px;
  height: 98px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  object-fit: cover;
  box-shadow: inset 0 0 24px rgba(255,92,0,0.08), 0 18px 38px rgba(0,0,0,0.28);
  animation: bald-mascot-float 5.8s ease-in-out infinite;
}

.home-main .dir-mascot-bubble {
  border-color: rgba(255,255,255,0.11);
  background: rgba(18,18,18,0.84);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 18px 44px rgba(0,0,0,0.36);
}

.home-main .dir-mascot--top-left { top: 10px; left: -205px; }
.home-main .dir-mascot--top-right { top: 10px; right: -205px; }
.home-main .dir-mascot--middle-left { top: 470px; left: -205px; }
.home-main .dir-mascot--middle-right { top: 470px; right: -205px; }

.auth-panel {
  position: relative;
  overflow: visible;
}

.future-shell .auth-panel {
  max-width: 480px;
  margin-top: 110px;
  padding: 48px 46px 44px;
  border-color: rgba(255,255,255,0.1);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,92,0,0.13), transparent 42%),
    rgba(17,17,17,0.84);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 32px 90px rgba(0,0,0,0.38);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.auth-mascot {
  position: absolute;
  top: -86px;
  right: -80px;
  width: 180px;
  pointer-events: none;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.52));
  animation: bald-mascot-float 5.8s ease-in-out infinite;
}

.auth-mascot img { display: block; width: 100%; height: auto; }
.future-shell .auth-logo { margin-bottom: 18px; }
.future-shell .auth-panel .future-eyebrow { justify-content: center; margin-bottom: 18px; }

.builder-main {
  width: min(1120px, 100%);
  max-width: 1120px;
  padding-top: 64px;
}

.builder-main .hero,
.builder-main .upload-zone,
.builder-main .plan-wrap,
.builder-main .bulk-wrap { max-width: 940px; }

.builder-main .hero { margin-inline: auto; text-align: center; }
.builder-main .future-eyebrow { justify-content: center; }

.builder-main .hero h1 {
  max-width: 900px;
  font-size: clamp(3rem, 7vw, 5.7rem);
  line-height: 0.97;
  letter-spacing: -0.06em;
  text-wrap: balance;
  margin-bottom: 24px;
  margin-inline: auto;
}

.builder-main .hero h1 > span {
  color: #bdbdbd;
  background: linear-gradient(105deg, #8e8e8e 0%, #fff 42%, #909090 74%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: future-silver-light 4.6s ease-in-out infinite;
}

.builder-main .hero-sub {
  max-width: 660px;
  color: #929292;
  font-size: 1.02rem;
  line-height: 1.65;
  margin-inline: auto;
}

.builder-system-rail {
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(720px, 100%);
  margin: 28px auto 0;
  color: #707070;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.builder-system-rail span { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.builder-system-rail b { color: var(--accent); font: 700 0.62rem var(--font-display); }
.builder-system-rail i { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255,92,0,0.5), rgba(255,255,255,0.08)); }

.builder-main--idle { gap: 36px; }

.builder-entry-grid {
  width: 100%; max-width: 940px; margin-inline: auto; display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 16px;
}
.sow-launcher {
  width: min(620px, 100%); margin: 0 auto; padding: 42px; text-align: center;
  border: 1px solid rgba(255,255,255,.12); border-radius: 24px;
  background: radial-gradient(circle at 50% 0%, rgba(255,92,0,.14), transparent 48%), rgba(16,16,16,.94);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 30px 80px rgba(0,0,0,.3);
}
.sow-launcher h2 { margin: 9px 0 8px; font: 700 clamp(2rem, 5vw, 3.1rem)/1 var(--font-display); letter-spacing: -.045em; }
.sow-launcher > p { margin: 0 auto; max-width: 430px; color: #929292; font-size: .86rem; line-height: 1.55; }
.sow-launcher-button { min-width: 190px; margin-top: 24px; }
.sow-entry-modal {
  width: min(1040px, 100%); max-height: calc(100vh - 44px); overflow: auto; padding: 25px;
  border: 1px solid #363636; border-radius: 18px; background: #101010;
  box-shadow: 0 30px 100px rgba(0,0,0,.7);
}
.sow-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.sow-entry-option {
  min-height: 285px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px;
  border: 1px solid #303030; border-radius: 14px; background: #151515; color: #eee;
  text-align: left; font-family: var(--font-body); cursor: pointer;
  transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.sow-entry-option:hover, .sow-entry-option.dragover { border-color: #ff5c00; background: #191614; transform: translateY(-2px); }
.sow-entry-option > span { color: #ff7a32; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.sow-entry-option h3 { margin: 12px 0 9px; font: 700 1.3rem/1.12 var(--font-display); letter-spacing: -.025em; }
.sow-entry-option > p { margin: 0; color: #8d8d8d; font-size: .77rem; line-height: 1.52; }
.sow-entry-option > b { margin-top: auto; padding-top: 22px; color: #ff7a32; font-size: .75rem; }
.sow-entry-option--existing { cursor: default; }
.sow-entry-option--existing:hover { transform: none; }
.sow-entry-option--existing .google-doc-import-form { width: 100%; margin-top: auto; padding-top: 18px; }
.builder-entry-grid .upload-zone { max-width: none; margin: 0; }
.builder-entry-error { grid-column: 1 / -1; margin: 0; text-align: center; }
.scratch-zone {
  min-height: 390px; display: flex; flex-direction: column; align-items: stretch; justify-content: center;
  padding: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 24px;
  background: linear-gradient(145deg, rgba(27,27,27,.96), rgba(12,12,12,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 28px 70px rgba(0,0,0,.24);
}
.scratch-zone-number { color: #ff7a32; font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.scratch-zone h2 { margin: 8px 0 10px; font: 700 1.55rem/1.05 var(--font-display); letter-spacing: -.03em; }
.scratch-zone p { margin: 0; color: #929292; font-size: .78rem; line-height: 1.5; }
.scratch-zone ul { margin: 18px 0 22px; padding-left: 18px; color: #aaa; font-size: .72rem; line-height: 1.75; }
.google-doc-import-form { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
.google-doc-import-form label { display: grid; gap: 6px; font-size: .76rem; }
.google-doc-import-form input, .google-doc-import-form select {
  min-width: 0; padding: 10px 11px; border: 1px solid #343434; border-radius: 8px;
  background: #090909; color: #eee; font: .76rem var(--font-body);
}
.google-doc-import-form input:focus { outline: none; border-color: #38bdf8; box-shadow: 0 0 0 2px rgba(56,189,248,.1); }
.google-doc-import-form .btn-primary { width: 100%; white-space: nowrap; }
.scratch-zone-divider { display: flex; align-items: center; gap: 10px; margin: 21px 0 17px; color: #666; font-size: .65rem; text-transform: uppercase; }
.scratch-zone-divider::before, .scratch-zone-divider::after { content: ''; flex: 1; height: 1px; background: #2b2b2b; }
.scratch-zone > .btn-primary { align-self: flex-start; margin-top: 16px; }
.scratch-modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 22px; background: rgba(0,0,0,.74); backdrop-filter: blur(8px); }
.scratch-modal { width: min(600px, 100%); padding: 24px; border: 1px solid #363636; border-radius: 16px; background: #111; box-shadow: 0 28px 90px rgba(0,0,0,.62); }
.scratch-modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.scratch-modal-head span { color: #ff7a32; font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.scratch-modal-head h2 { margin: 3px 0 0; font: 700 1.6rem var(--font-display); }
.scratch-modal-head button { border: 0; background: transparent; color: #777; cursor: pointer; }
.scratch-modal > p { color: #888; font-size: .8rem; line-height: 1.5; }
.scratch-modal label { display: grid; gap: 7px; margin-top: 15px; color: #aaa; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.scratch-modal input, .scratch-modal select { width: 100%; padding: 11px 12px; border: 1px solid #343434; border-radius: 8px; background: #090909; color: #eee; font: .86rem var(--font-body); }
.scratch-modal input:focus, .scratch-modal select:focus { outline: none; border-color: #ff5c00; }
.scratch-modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scratch-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }

.builder-main--idle .upload-zone {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,92,0,0.12), transparent 34%),
    linear-gradient(135deg, rgba(26,26,26,0.9), rgba(13,13,13,0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 32px 80px rgba(0,0,0,0.28);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.builder-main--idle .upload-zone::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,92,0,0.9), rgba(255,255,255,0.08) 34%, transparent 54%, rgba(255,92,0,0.42));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.56;
  pointer-events: none;
}

.builder-main--idle .upload-zone:hover,
.builder-main--idle .upload-zone.dragover {
  transform: translateY(-3px);
  border-color: rgba(255,92,0,0.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 38px 90px rgba(0,0,0,0.36), 0 0 50px rgba(255,92,0,0.08);
}

.builder-main--idle .upload-inner {
  position: relative;
  min-height: 300px;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 36px 64px;
  text-align: center;
}

.upload-copy { position: relative; z-index: 3; display: grid; justify-items: center; }
.builder-main--idle .upload-icon { color: var(--accent); margin-bottom: 14px; filter: drop-shadow(0 0 12px rgba(255,92,0,0.38)); }
.builder-main--idle .upload-label { font: 700 clamp(1.35rem, 3vw, 2rem) var(--font-display); letter-spacing: -0.03em; }
.builder-main--idle .upload-sub { margin-top: 8px; color: #8f8f8f; }
.builder-main--idle .upload-hint { max-width: 360px; margin: 18px auto 0; line-height: 1.5; }

.run-open-sow { display: block; width: max-content; margin: 24px auto 0; text-decoration: none; }

.upload-scan {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: -18%;
  width: 16%;
  transform: skewX(-14deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.075), rgba(255,92,0,0.1), transparent);
  filter: blur(8px);
  animation: upload-scan 5.8s ease-in-out 1.2s infinite;
  pointer-events: none;
}

@keyframes future-intro-sweep {
  0% { opacity: 0; transform: translateX(0) rotate(18deg); }
  18% { opacity: 1; }
  78% { opacity: 0.75; }
  100% { opacity: 0; transform: translateX(470%) rotate(18deg); }
}

@keyframes future-orb-drift {
  from { transform: translate3d(-3%, -2%, 0) scale(0.96); }
  to { transform: translate3d(6%, 5%, 0) scale(1.06); }
}

@keyframes future-text-light {
  0%, 100% { background-position: 100% 0; }
  50% { background-position: 0 0; }
}

@keyframes future-silver-light {
  0%, 100% { background-position: 110% 0; }
  50% { background-position: 0 0; }
}

@keyframes future-status-pulse {
  0%, 100% { opacity: 0.55; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); }
}

@keyframes bald-mascot-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-8px) rotate(1deg); }
}

@keyframes upload-scan {
  0%, 64% { opacity: 0; transform: translateX(0) skewX(-14deg); }
  68% { opacity: 1; }
  86% { opacity: 0.7; }
  100% { opacity: 0; transform: translateX(760%) skewX(-14deg); }
}

@media (max-width: 1400px) {
  .home-main .dir-mascot--top-left,
  .home-main .dir-mascot--middle-left { left: 4px; }
  .home-main .dir-mascot--top-right,
  .home-main .dir-mascot--middle-right { right: 4px; }
  .home-main .dir-mascot { transform: scale(0.9); transform-origin: bottom center; }
}

@media (max-width: 900px) {
  .future-status { display: none; }
  .header--future { flex-wrap: wrap; padding: 14px 20px; gap: 10px 12px; }
  .header--future .account { min-width: 0; }
  .header--future .account span { max-width: 44vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .home-main, .builder-main { padding-top: 44px; }
  .builder-main .hero h1 { font-size: clamp(2.8rem, 10vw, 4.7rem); }
  .builder-system-rail { flex-wrap: wrap; row-gap: 8px; }
  .builder-system-rail i { min-width: 30px; }
  .builder-main--idle .upload-inner { padding: 32px 38px; gap: 18px; }
  .builder-entry-grid { grid-template-columns: 1fr; }
  .sow-entry-options { grid-template-columns: 1fr; }
  .sow-entry-option { min-height: 220px; }
  .scratch-zone { min-height: 240px; }
  .upload-mascot { flex-basis: 180px; width: 180px; }
  .auth-mascot { right: -24px; }
}

@media (max-width: 680px) {
  .header--future::after { left: 18px; right: 18px; }
  .future-grid { background-size: 48px 48px; }
  .home-main, .builder-main { padding: 34px 20px 64px; }
  .home-main .dir-hero { margin-top: 4px; }
  .home-main .dir-hero h1 { font-size: clamp(2.65rem, 14vw, 4.1rem); }
  .home-main .dir-hero p { margin-top: 18px; }
  .home-main .dir-mascot { transform: none; }
  .bald-mascot-reference { width: 126px; height: 80px; }
  .builder-main .hero h1 { font-size: clamp(2.55rem, 11.5vw, 3.3rem); line-height: 1.01; }
  .builder-main .hero-sub { font-size: 0.94rem; }
  .builder-system-rail { display: grid; grid-template-columns: 1fr; gap: 7px; }
  .builder-system-rail i { display: none; }
  .builder-main--idle .upload-inner { min-height: 360px; flex-direction: column; justify-content: center; padding: 30px 26px; text-align: center; }
  .scratch-modal-grid { grid-template-columns: 1fr; }
  .google-doc-import-form { grid-template-columns: 1fr; }
  .ed-audit-panel-head { align-items: flex-start; }
  .ed-audit-ring { width: 62px; height: 62px; flex-basis: 62px; }
  .upload-mascot { flex-basis: auto; width: 145px; margin: -20px auto -8px; }
  .builder-main--idle .upload-icon { margin: 0 auto 12px; }
  .builder-main--idle .upload-hint { margin-left: auto; margin-right: auto; }
  .future-shell .auth-panel { margin-top: 74px; padding: 40px 24px 34px; }
  .auth-mascot { top: -68px; right: -8px; width: 140px; }
}

@media (prefers-reduced-motion: reduce) {
  .future-status i,
  .future-orb,
  .future-beam,
  .home-main .dir-verb,
  .builder-main .hero h1 > span,
  .bald-mascot-reference,
  .auth-mascot,
  .upload-mascot img,
  .upload-scan { animation: none !important; }
  .builder-main--idle .upload-zone { transition-duration: 0.01ms; }
}

/* Keynote-style Baldspot homepage motion. */
.home-brand {
  color: #f4f4f4;
  font: 700 1.22rem var(--font-display);
  letter-spacing: -0.045em;
  text-decoration: none;
}

.home-brand span { color: var(--accent); }

.home-main {
  --home-scroll: 0;
  --hero-collapse: 0px;
  width: min(1240px, 100%);
  max-width: 1240px;
  gap: 0;
  padding: 0 42px 110px;
}

.home-main .dir-hero {
  display: grid;
  width: min(1120px, 100%);
  min-height: calc(100svh - 72px - var(--hero-collapse));
  margin: 0 auto;
  padding: 54px 0 72px;
  place-items: center;
  transition: min-height 120ms linear;
}

.home-main .dir-hero h1 {
  width: 100%;
  max-width: 1120px;
  font-size: clamp(4.15rem, 8vw, 7.35rem);
  line-height: 0.91;
  letter-spacing: -0.068em;
  transform: translateY(calc(var(--home-scroll) * -34px)) scale(calc(1 - (var(--home-scroll) * 0.19)));
  transform-origin: center;
  transition: transform 120ms linear;
}
.home-main .dir-ext { display: none; }

.home-main .future-orb--one {
  width: 700px;
  height: 700px;
  top: 49%;
  left: calc(50% - 590px);
  background: radial-gradient(circle, rgba(255,112,27,0.17), rgba(255,92,0,0.055) 46%, transparent 70%);
}

.home-main .future-orb--two {
  width: 560px;
  height: 560px;
  top: 72%;
  right: -250px;
  background: radial-gradient(circle, rgba(132,164,255,0.1), transparent 68%);
}

.home-main > .home-mascot {
  --flight-x: 100vw;
  --flight-y: -72vh;
  --flight-rotate: 18deg;
  --mascot-react-scale: 1;
  position: fixed;
  z-index: 1;
  top: 52vh;
  left: max(10px, calc(50% - 720px));
  width: clamp(172px, 15vw, 235px);
  opacity: calc(0.78 - (var(--home-scroll) * 0.3));
  pointer-events: none;
  filter: drop-shadow(0 30px 48px rgba(0,0,0,0.5));
  animation: mascot-arrival 3.35s cubic-bezier(.18,.75,.15,1) 180ms both;
}

.home-mascot--nw-se { --flight-x: -34vw; --flight-y: -74vh; --flight-rotate: -18deg; }
.home-mascot--ne-sw { --flight-x: 106vw; --flight-y: -74vh; --flight-rotate: 18deg; }
.home-mascot--sw-ne { --flight-x: -35vw; --flight-y: 70vh; --flight-rotate: 14deg; }
.home-mascot--se-nw { --flight-x: 108vw; --flight-y: 72vh; --flight-rotate: -18deg; }

.home-mascot-inner {
  transform: translateY(calc(var(--home-scroll) * 42px)) scale(var(--mascot-react-scale));
  transform-origin: 48% 58%;
  transition: transform 280ms cubic-bezier(.2,.8,.2,1), filter 280ms ease;
}

.home-mascot img {
  display: block;
  width: 100%;
  height: auto;
  animation: mascot-idle 5.6s ease-in-out 3.7s infinite;
}

.home-mascot--reactive {
  --mascot-react-scale: 1.13;
  opacity: 0.9;
}

.home-mascot--reactive .home-mascot-inner {
  filter: brightness(1.09) drop-shadow(0 0 24px rgba(255,92,0,0.35));
}

.home-mascot--reactive img { animation-duration: 1.5s; }

.home-main .cb {
  position: relative;
  z-index: 3;
  overflow: hidden;
  margin-top: 86px;
  padding: 30px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(29,29,29,0.88), rgba(12,12,12,0.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.07),
    inset 0 -1px 0 rgba(255,255,255,0.025),
    0 38px 100px rgba(0,0,0,0.42);
}

.home-main .cb::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: -280px;
  right: -190px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,101,16,0.2), rgba(255,92,0,0.055) 45%, transparent 69%);
  pointer-events: none;
}

.home-main .cb::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(255,255,255,0.045), transparent 26%, transparent 72%, rgba(255,92,0,0.04));
  pointer-events: none;
}

.home-main .cb > * { position: relative; z-index: 1; }

.home-main .cb-card {
  border-color: rgba(255,255,255,0.085);
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,0.055), transparent 40%),
    rgba(17,17,17,0.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), 0 16px 36px rgba(0,0,0,0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.auth-mascot img,
.upload-mascot img {
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  box-shadow: none;
}

@keyframes card-border-orbit {
  to { transform: rotate(1turn); }
}

@keyframes mascot-arrival {
  0% { opacity: 0; transform: translate3d(var(--flight-x), var(--flight-y), 0) rotate(var(--flight-rotate)) scale(0.72); }
  18% { opacity: 1; }
  68% { transform: translate3d(16px, -22px, 0) rotate(-4deg) scale(1.04); }
  84% { transform: translate3d(-5px, 7px, 0) rotate(2deg) scale(0.98); }
  100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
}

@keyframes mascot-idle {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-1.4deg); }
  50% { transform: translate3d(8px, -12px, 0) rotate(1.6deg); }
}

@media (max-width: 900px) {
  .home-main { padding-inline: 28px; }
  .home-main .dir-hero h1 { font-size: clamp(3.7rem, 11.5vw, 6rem); }
  .home-mascot { left: -20px; width: 180px; }
}

@media (max-width: 680px) {
  .header--future { min-height: 68px; }
  .home-brand { font-size: 1.08rem; }
  .home-main { padding: 0 20px 72px; }
  .home-main .dir-hero {
    min-height: calc(100svh - 68px - var(--hero-collapse));
    padding: 36px 0 62px;
  }
  .home-main .dir-hero h1 {
    font-size: clamp(3rem, 15vw, 4.5rem);
    line-height: 0.93;
    transform: translateY(calc(var(--home-scroll) * -24px)) scale(calc(1 - (var(--home-scroll) * 0.16)));
  }
  .home-main > .home-mascot {
    top: auto;
    right: auto;
    bottom: 22px;
    left: -24px;
    width: 142px;
    opacity: calc(0.72 - (var(--home-scroll) * 0.28));
  }
  .home-main .cb { margin-top: 60px; padding: 22px 18px; border-radius: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-mascot,.home-mascot img { animation: none !important; }
  .home-main .dir-hero,
  .home-main .dir-hero h1,
  .home-mascot-inner { transition-duration: 0.01ms; }
}

/* Baldspot intro and scroll mascot. */
.home-brand {
  display: inline-flex;
  align-items: baseline;
  font-family: 'Poppins', var(--font-display);
  font-weight: 700;
  letter-spacing: -0.055em;
}

.home-brand .home-brand-bald { color: var(--accent); }
.home-brand .home-brand-spot {
  color: #f4f4f4;
  transform: translateY(2.5px);
}

.home-loader {
  position: fixed;
  z-index: 1000;
  inset: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #050505;
  pointer-events: none;
  animation: home-loader-veil 2.05s cubic-bezier(.72,0,.18,1) both;
}

.home-loader::before,
.home-loader::after {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff3e9;
  box-shadow: 0 0 8px #fff, 0 0 22px rgba(255,92,0,0.95);
  animation: home-loader-twinkle 1.1s ease-in-out both;
}

.home-loader::before { top: 43%; left: 44%; }
.home-loader::after { top: 55%; left: 57%; animation-delay: 0.18s; }

.home-loader-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border-radius: 50%;
  background: radial-gradient(circle at 38% 34%, #ffd2b7, #ff6a15 36%, #ff4f00 68%);
  box-shadow: 0 0 20px rgba(255,92,0,0.75), 0 0 80px rgba(255,92,0,0.42);
  animation: home-loader-pulse 2.05s cubic-bezier(.7,0,.15,1) both;
}

.home-loader-brand {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: baseline;
  color: #fff;
  font: 700 clamp(2rem, 5vw, 4.2rem) 'Poppins', var(--font-display);
  letter-spacing: -0.065em;
  animation: home-loader-brand 2.05s ease both;
}

.home-loader-brand span { color: #ff5c00; }
.home-loader-brand small {
  color: #fff;
  font: inherit;
  transform: translateY(5px);
}

.home-spark-field,
.home-spark-field i {
  position: absolute;
  pointer-events: none;
}

.home-spark-field { inset: 0; }
.home-spark-field i {
  top: var(--spark-y);
  left: var(--spark-x);
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #fff0e5;
  box-shadow: 0 0 7px rgba(255,255,255,0.9), 0 0 22px rgba(255,92,0,0.78);
  opacity: 0;
  animation: home-background-twinkle var(--spark-duration) ease-in-out var(--spark-delay) infinite;
}

.home-spark-field i::before,
.home-spark-field i::after {
  content: '';
  position: absolute;
  top: 1px;
  left: -4px;
  width: 11px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,124,54,0.8), transparent);
}

.home-spark-field i::after { transform: rotate(90deg); }

.home-main { --page-scroll: 0; }

.home-main > .home-mascot {
  --mascot-pop: 0;
  top: 38vh;
  left: max(-8px, calc(50% - 745px));
  width: clamp(270px, 22vw, 350px);
  opacity: calc(0.94 - (var(--page-scroll) * 0.38));
  animation: mascot-parachute-top-left 3.1s cubic-bezier(.16,.78,.18,1) 0.28s both;
}

.home-mascot-inner {
  position: relative;
  transform: translateY(calc(var(--page-scroll) * 128px)) scale(calc(1.04 - (var(--page-scroll) * 0.58) + var(--mascot-pop)));
  transform-origin: 34% 64%;
  transition: transform 220ms linear, filter 280ms ease;
}

.home-mascot--reactive { --mascot-pop: 0.07; }

.home-mascot-wink {
  position: absolute;
  top: 61%;
  left: 55%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 8px #fff, 0 0 20px #ff7a2c, 0 0 42px rgba(255,92,0,0.8);
  opacity: 0;
  animation: mascot-wink-flash 3.65s ease 0.3s both;
}

.home-mascot-wink::before,
.home-mascot-wink::after {
  content: '';
  position: absolute;
  top: 3px;
  left: -9px;
  width: 26px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #fff, transparent);
}

.home-mascot-wink::after { transform: rotate(90deg); }

.home-card-editor-backdrop {
  position: fixed;
  z-index: 1100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0,0,0,0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.home-card-editor {
  width: min(520px, 100%);
  padding: 26px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 0%, rgba(255,92,0,0.14), transparent 38%),
    #111;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 36px 100px rgba(0,0,0,0.62);
  color: #f4f4f4;
  font-family: 'Poppins', var(--font-body);
}

.home-card-editor-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.home-card-editor-heading span {
  color: #ff7a2c;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.home-card-editor-heading h2 {
  margin: 4px 0 0;
  font-size: 1.55rem;
  letter-spacing: -0.045em;
}

.home-card-editor-close {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 50%;
  background: rgba(255,255,255,0.035);
  color: #aaa;
  font-size: 1.2rem;
  cursor: pointer;
}

.home-card-editor label {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  color: #b8b8b8;
  font-size: 0.78rem;
  font-weight: 600;
}

.home-card-editor input {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  outline: 0;
  background: rgba(0,0,0,0.4);
  padding: 13px 14px;
  color: #fff;
  font: 500 0.92rem 'Poppins', var(--font-body);
}

.home-card-editor input:focus {
  border-color: rgba(255,92,0,0.72);
  box-shadow: 0 0 0 3px rgba(255,92,0,0.1);
}

.home-card-editor label small { color: #707070; font-size: 0.68rem; font-weight: 500; }
.home-card-editor-error { margin: 14px 0 0; color: #ff7b72; font-size: 0.76rem; }

.home-card-editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 26px;
}

.home-card-editor-actions button {
  padding: 10px 14px;
  border-radius: 10px;
  font: 600 0.78rem 'Poppins', var(--font-body);
  cursor: pointer;
}
.home-card-editor-save { border: 1px solid var(--accent); background: var(--accent); color: #fff; }

@keyframes home-loader-veil {
  0%, 77% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

@keyframes home-loader-pulse {
  0% { opacity: 0; transform: scale(0.2); }
  18% { opacity: 1; transform: scale(1); }
  44% { transform: scale(0.72); }
  61% { transform: scale(2.3); }
  100% { opacity: 1; transform: scale(145); }
}

@keyframes home-loader-twinkle {
  0%, 100% { opacity: 0; transform: scale(0.2) rotate(0); }
  42%, 62% { opacity: 1; transform: scale(1.5) rotate(45deg); }
}

@keyframes home-loader-brand {
  0%, 15% { opacity: 0; transform: scale(0.82); filter: blur(10px); }
  32%, 64% { opacity: 1; transform: scale(1); filter: blur(0); }
  78%, 100% { opacity: 0; transform: scale(1.08); filter: blur(4px); }
}

@keyframes home-background-twinkle {
  0%, 70%, 100% { opacity: 0; transform: scale(0.35) rotate(0); }
  80% { opacity: 0.9; transform: scale(1.35) rotate(45deg); }
  88% { opacity: 0.24; transform: scale(0.72) rotate(90deg); }
}

@keyframes mascot-parachute-top-left {
  0% { opacity: 0; transform: translate3d(-48vw,-72vh,0) rotate(-22deg) scale(1.85); }
  14% { opacity: 1; }
  62% { transform: translate3d(26px,-35px,0) rotate(5deg) scale(1.12); }
  82% { transform: translate3d(-8px,10px,0) rotate(-2deg) scale(0.98); }
  100% { opacity: 0.94; transform: translate3d(0,0,0) rotate(0) scale(1); }
}

@keyframes mascot-wink-flash {
  0%, 67%, 100% { opacity: 0; transform: scale(0.2) rotate(0); }
  73% { opacity: 1; transform: scale(1.4) rotate(45deg); }
  80% { opacity: 0; transform: scale(2.2) rotate(90deg); }
}

@media (max-width: 680px) {
  .home-main > .home-mascot {
    top: auto;
    bottom: 20px;
    left: -32px;
    width: 190px;
  }
  .home-mascot-inner {
    transform: translateY(calc(var(--page-scroll) * 92px)) scale(calc(0.94 - (var(--page-scroll) * 0.48) + var(--mascot-pop)));
  }
  .home-card-editor { padding: 22px; border-radius: 20px; }
  .home-card-editor-actions { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .home-loader { display: none; }
  .home-spark-field i,
  .home-mascot-wink { animation: none !important; }
  .home-main > .home-mascot { opacity: 0.8; }
}

/* Curious mascot state for tool-card hover and keyboard focus. */
.home-mascot-default {
  opacity: 1;
  transition: opacity 190ms ease, filter 260ms ease;
}

.home-mascot .home-mascot-curious {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translate3d(28px, 6px, 0) scale(0.9);
  filter: brightness(1.04) drop-shadow(0 18px 34px rgba(0,0,0,0.36));
  animation: none !important;
  transition: opacity 190ms ease, transform 330ms cubic-bezier(.18,.82,.2,1), filter 260ms ease;
}

.home-mascot--reactive .home-mascot-default {
  opacity: 0;
  filter: blur(2px);
}

.home-mascot--reactive .home-mascot-curious {
  opacity: 1;
  transform: translate3d(-18px, 0, 0) scale(1.02);
  filter: brightness(1.1) drop-shadow(0 20px 40px rgba(255,92,0,0.2));
}

.home-mascot--reactive .home-mascot-wink { opacity: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .home-mascot-default,
  .home-mascot .home-mascot-curious { transition-duration: 0.01ms; }
}

/* Native operations tools: wide, dense and intentionally independent from the
   legacy framed Capacity app. */
.ops-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% -10%, rgba(255,92,0,0.1), transparent 30%),
    linear-gradient(180deg, #090909, #0d0d0d 320px);
  color: #f2f2f2;
  font-family: 'Inter', var(--font-body);
}
.ops-snapshot { max-width: 330px; color: #777; font-size: 0.7rem; }
.ops-button {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--accent);
  border-radius: 9px;
  background: var(--accent);
  color: #fff;
  font: 700 0.74rem 'Poppins', var(--font-body);
  cursor: pointer;
}
.ops-button--quiet { border-color: rgba(255,255,255,0.14); background: rgba(255,255,255,0.04); color: #c8c8c8; }
.ops-button:disabled { border-color: #303033; background: #202023; color: #727277; opacity: 1; cursor: not-allowed; }
.ops-main { width: 100%; padding: 36px 28px 80px; }
.ops-heading { display: flex; justify-content: space-between; gap: 32px; align-items: flex-end; margin-bottom: 30px; }
.ops-heading > div:first-child { max-width: 760px; }
.ops-heading > div:first-child > span,
.admin-access-panel > header > div:first-child > span { color: #ff7a2c; font: 700 0.68rem 'Poppins', var(--font-body); letter-spacing: 0.13em; text-transform: uppercase; }
.ops-heading h1,
.admin-access-panel h1 { margin: 5px 0 8px; color: #fff; font: 600 clamp(2rem, 4vw, 3.6rem)/1 'Poppins', var(--font-display); letter-spacing: -0.065em; }
.ops-heading p,
.admin-access-panel header p { color: #8b8b8b; font-size: 0.86rem; line-height: 1.55; }
.ops-error { margin: 16px 0; padding: 12px 14px; border: 1px solid rgba(239,68,68,0.32); border-radius: 10px; background: rgba(239,68,68,0.08); color: #ff8d86; font-size: 0.8rem; }
.ops-empty { margin: 20px 0; padding: 42px; border: 1px dashed rgba(255,255,255,0.12); border-radius: 14px; color: #777; text-align: center; }

.capacity-mode-switch { display: flex; padding: 4px; border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; background: #111; }
.capacity-mode-switch button { padding: 9px 14px; border: 0; border-radius: 8px; background: transparent; color: #777; font: 700 0.72rem 'Poppins', var(--font-body); cursor: pointer; }
.capacity-mode-switch button.is-active { background: var(--accent); color: #fff; }
.capacity-mode-stack { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.capacity-plan-switch { display:flex; padding:4px; border:1px solid rgba(255,92,0,.35); border-radius:13px; background:#080808; box-shadow:0 12px 35px rgba(0,0,0,.26); }
.capacity-plan-switch button { min-width:92px; padding:10px 18px; border:0; border-radius:9px; background:transparent; color:#8c8f8d; font:700 .75rem 'Poppins',var(--font-body); cursor:pointer; }
.capacity-plan-switch button.is-active { background:#fff; color:#111; }
.capacity-forecast { margin-bottom:18px; padding:20px; border:1px solid rgba(255,92,0,.24); border-radius:16px; background:radial-gradient(circle at 10% 0,rgba(255,92,0,.09),transparent 34%),#0d0e0e; }
.capacity-forecast>header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:16px; }
.capacity-forecast>header span { color:#ff6a22; font-size:.62rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.capacity-forecast>header h2 { margin:4px 0 0; color:#fff; font:700 1.3rem 'Poppins',var(--font-body); }
.capacity-forecast>header small { max-width:440px; color:#797d7b; font-size:.68rem; line-height:1.45; }
.capacity-forecast-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.capacity-forecast-metrics article { padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(0,0,0,.32); }
.capacity-forecast-metrics span,.capacity-forecast-metrics strong,.capacity-forecast-metrics small { display:block; }
.capacity-forecast-metrics span { color:#777; font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; }.capacity-forecast-metrics strong { margin:7px 0 3px; color:#fff; font-size:1.4rem; }.capacity-forecast-metrics small { color:#686d6a; font-size:.62rem; }
.capacity-forecast-grid { display:grid; grid-template-columns:1fr 240px; gap:14px; margin-top:14px; }.capacity-forecast-grid>div { display:grid; grid-template-columns:repeat(6,1fr); gap:6px; }.capacity-forecast-grid>div>span { position:relative; min-height:62px; padding:10px; overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:8px; }.capacity-forecast-grid>div b,.capacity-forecast-grid>div small { position:relative; z-index:1; display:block; }.capacity-forecast-grid>div b { color:#ddd; font-size:.68rem; }.capacity-forecast-grid>div small { margin-top:5px; color:#737773; font-size:.58rem; }.capacity-forecast-grid>div i { position:absolute; inset:auto 0 0 0; width:var(--forecast); height:3px; background:#ff6a22; }.capacity-forecast-grid aside { display:grid; align-content:start; gap:5px; padding:11px; border:1px solid rgba(255,255,255,.07); border-radius:8px; }.capacity-forecast-grid aside>b { margin-bottom:4px; color:#888; font-size:.62rem; text-transform:uppercase; }.capacity-forecast-grid aside>span { display:flex; justify-content:space-between; color:#bfc4c1; font-size:.66rem; }.capacity-forecast-grid aside>span strong { color:#ff8a4c; }.capacity-forecast-grid aside>small { color:#696d6b; font-size:.62rem; line-height:1.4; }
.capacity-forecast--planned>header label { display:grid; gap:5px; color:#787c79; font-size:.62rem; font-weight:700; text-transform:uppercase; }
.capacity-forecast--planned>header select { min-width:170px; padding:9px 30px 9px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:#111; color:#eee; }
.capacity-cadence-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:9px; margin-top:14px; }
.capacity-cadence-grid article { padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(0,0,0,.28); }
.capacity-cadence-grid article header { display:flex; justify-content:space-between; color:#fff; }.capacity-cadence-grid article header strong { color:#ff6a22; font-size:1.15rem; }
.capacity-cadence-grid article>span,.capacity-cadence-grid article>small { color:#747875; font-size:.62rem; }.capacity-cadence-grid article p { margin:8px 0 5px; color:#d9dcda; font-size:.72rem; }
.capacity-cadence-averages { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:11px 0; }.capacity-cadence-averages p { display:grid; gap:3px; margin:0!important; padding:9px; border:1px solid rgba(255,255,255,.065); border-radius:8px; background:rgba(255,255,255,.025); }.capacity-cadence-averages b { color:#f0f2f0; font-size:.72rem; }.capacity-cadence-averages small { color:#666b68; font-size:.55rem; line-height:1.35; }.capacity-cadence-grid .capacity-week-footprint { color:#9ea39f; font-size:.61rem; line-height:1.5; }
.capacity-cadence-card--expedited-fixed-project { border-color:rgba(238,107,146,.32)!important; background:linear-gradient(145deg,rgba(238,107,146,.08),rgba(0,0,0,.28))!important; }.capacity-cadence-card--bank-of-hours { border-color:rgba(101,199,255,.24)!important; }
.capacity-cadence-grid details { margin-top:10px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }.capacity-cadence-grid summary { color:#a8adaa; font-size:.61rem; cursor:pointer; }.capacity-cadence-grid details>a,.capacity-cadence-grid details>span { display:grid; gap:2px; margin-top:7px; color:#8b8f8d; font-size:.58rem; text-decoration:none; }.capacity-cadence-grid details>a b,.capacity-cadence-grid details>span b { color:#d9dcda; }
.capacity-planned-board,.capacity-close-signals { margin-bottom:18px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:#0a0a0a; }
.capacity-planned-board>header,.capacity-close-signals>header { display:flex; justify-content:space-between; gap:24px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.08); background:#111; }
.capacity-planned-board>header span,.capacity-close-signals>header span { color:#ff6a22; font-size:.6rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.capacity-planned-board>header h2,.capacity-close-signals>header h2 { margin:3px 0 0; color:#fff; font-size:1.05rem; }.capacity-planned-board>header small,.capacity-close-signals>header small { max-width:430px; color:#707572; font-size:.64rem; line-height:1.45; }
.capacity-planned-header,.capacity-planned-row { display:grid; grid-template-columns:minmax(300px,1.25fr) 290px minmax(540px,2fr); }
.capacity-planned-header { min-height:40px; align-items:center; background:#151515; color:#737774; font-size:.6rem; font-weight:800; text-transform:uppercase; }.capacity-planned-header>span { padding:0 14px; }.capacity-planned-header>div,.capacity-planned-months { display:grid; grid-template-columns:repeat(6,1fr); }.capacity-planned-header b { padding:0 7px; text-align:center; font-size:.58rem; }
.capacity-planned-row { min-height:96px; border-top:1px solid rgba(255,255,255,.06); }.capacity-planned-row>div { display:flex; justify-content:center; flex-direction:column; gap:4px; padding:12px 14px; border-right:1px solid rgba(255,255,255,.06); }.capacity-planned-row strong { color:#f4f5f4; font-size:.76rem; }.capacity-planned-row span,.capacity-planned-row small { color:#777c79; font-size:.61rem; }.capacity-planned-row em { color:#ba9c8b; font-size:.61rem; font-style:normal; }
.capacity-planned-row .capacity-planned-months { padding:0; flex-direction:row; }.capacity-planned-months>span { position:relative; display:block; border-right:1px solid rgba(255,255,255,.04); background:repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(255,255,255,.015) 9px,rgba(255,255,255,.015) 10px); }.capacity-planned-months>span.is-likely { background:rgba(255,92,0,.09); }.capacity-planned-months>span.is-likely i { position:absolute; top:50%; left:12%; right:12%; height:8px; border-radius:20px; background:#ff6a22; box-shadow:0 0 18px rgba(255,92,0,.28); }
.capacity-type-grid { display:grid; grid-template-columns:repeat(5,minmax(160px,1fr)); gap:9px; margin-top:14px; }
.capacity-type-card { display:grid; gap:5px; min-height:150px; padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:11px; background:rgba(0,0,0,.28); color:inherit; text-align:left; cursor:pointer; }
.capacity-type-card:hover,.capacity-type-card.is-active { border-color:rgba(255,106,34,.65); background:rgba(255,92,0,.08); }
.capacity-type-card>span { color:#f4f5f4; font:.76rem 'Poppins',var(--font-body); }.capacity-type-card>strong { color:#ff6a22; font-size:1.35rem; }.capacity-type-card>small,.capacity-type-card>em,.capacity-type-card>i { color:#747875; font-size:.59rem; font-style:normal; line-height:1.4; }.capacity-type-card>b { color:#cfd2d0; font-size:.66rem; }
.capacity-plan-actions { display:flex; align-items:flex-end; gap:10px; }.capacity-plan-actions label { display:grid; gap:5px; color:#777; font-size:.6rem; text-transform:uppercase; }.capacity-plan-actions select,.capacity-plan-editors select { min-height:34px; padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:#0c0c0c; color:#eee; color-scheme:dark; }
.capacity-planned-person>header { display:flex; justify-content:space-between; align-items:center; min-height:45px; padding:8px 14px; border-top:1px solid rgba(255,92,0,.2); border-bottom:1px solid rgba(255,255,255,.07); background:linear-gradient(90deg,#181818,#111); }.capacity-planned-person>header>div { display:flex; align-items:baseline; gap:10px; }.capacity-planned-person>header strong { color:#fff; font-size:.82rem; }.capacity-planned-person>header span,.capacity-planned-person>header em { color:#737773; font-size:.61rem; font-style:normal; }
.capacity-plan-editors { display:grid!important; grid-template-columns:1fr 1fr; gap:7px!important; }.capacity-plan-editors label { display:grid; gap:4px; color:#737773; font-size:.56rem; text-transform:uppercase; }
.capacity-planned-months--oversight>span.is-likely i { background:#61d58c; box-shadow:0 0 18px rgba(97,213,140,.28); }.capacity-planned-months--partial>span.is-likely i { background:#62b9ff; box-shadow:0 0 18px rgba(98,185,255,.28); }.capacity-planned-months--full>span.is-likely i { background:#ff6a22; }
.capacity-close-signals>div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:12px; }.capacity-close-signals article { display:grid; gap:5px; padding:13px; border:1px solid rgba(255,255,255,.07); border-radius:10px; background:#0e0e0e; }.capacity-close-signals article>span { color:#ff7d39; font-size:.58rem; font-weight:800; text-transform:uppercase; }.capacity-close-signals article strong { color:#fff; }.capacity-close-signals article b { color:#c8ccca; font-size:.75rem; }.capacity-close-signals article small,.capacity-close-signals article em { color:#737774; font-size:.61rem; font-style:normal; line-height:1.4; }
.capacity-controls { display: flex; align-items: flex-end; gap: 20px; margin-bottom: 18px; padding: 16px; border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; background: rgba(255,255,255,0.025); }
.capacity-controls label { display: grid; gap: 7px; min-width: min(360px, 100%); color: #777; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.capacity-controls select,
.capacity-controls input,
.invoice-controls input,
.invoice-controls select,
.capacity-date-cell input,
.invoice-table input,
.invoice-table select,
.admin-access-panel input,
.admin-access-panel select {
  min-height: 38px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  outline: none;
  background: #0c0c0c;
  padding: 8px 10px;
  color: #e8e8e8;
  font: 500 0.76rem 'Inter', var(--font-body);
  color-scheme: dark;
}
.capacity-controls select:focus,
.capacity-controls input:focus,
.invoice-controls input:focus,
.invoice-table input:focus,
.admin-access-panel input:focus,
.admin-access-panel select:focus { border-color: rgba(255,92,0,0.72); box-shadow: 0 0 0 3px rgba(255,92,0,0.08); }
.capacity-search { flex: 1; }
.capacity-summary { margin-left: auto; display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 8px; }
.capacity-summary strong { color: #eee; font: 700 0.92rem 'Poppins', var(--font-display); text-align: right; }
.capacity-summary span { color: #707070; font-size: 0.69rem; }
.capacity-summary .capacity-unsaved { color: #ff7a2c; }

.capacity-board { overflow: auto; max-width: 100%; max-height: calc(100vh - 112px); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; background: #0a0a0a; box-shadow: 0 24px 70px rgba(0,0,0,0.28); }
.capacity-board-header,
.capacity-row { display: grid; grid-template-columns: 230px 330px 130px 130px minmax(540px, 1fr); min-width: 1360px; }
.capacity-board-header { position: sticky; z-index: 7; top: 0; min-height: 46px; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,0.12); background: #151515; color: #888; font: 700 0.64rem 'Poppins', var(--font-body); letter-spacing: 0.05em; text-transform: uppercase; }
.capacity-board-header > span { display: flex; align-items: center; padding: 0 12px; border-right: 1px solid rgba(255,255,255,0.06); }
.capacity-person { min-width: 1360px; }
.capacity-person > header { position: sticky; z-index: 5; left: 0; display: flex; justify-content: space-between; align-items: center; width: min(100vw - 58px, 1900px); min-height: 48px; padding: 8px 14px; border-bottom: 1px solid rgba(255,255,255,0.08); border-top: 1px solid rgba(255,92,0,0.2); background: linear-gradient(90deg, #181818, #111); }
.capacity-person > header > div { display: flex; align-items: baseline; gap: 10px; }
.capacity-person > header strong { color: #fff; font: 700 0.88rem 'Poppins', var(--font-body); }
.capacity-person > header span,
.capacity-person > header em { color: #737373; font-size: 0.68rem; font-style: normal; }
.capacity-row { min-height: 72px; border-bottom: 1px solid rgba(255,255,255,0.065); }
.capacity-row:hover { background: rgba(255,255,255,0.018); }
.capacity-row--changed { box-shadow: inset 3px 0 0 var(--accent); background: rgba(255,92,0,0.035); }
.capacity-project-cell,
.capacity-phase-cell,
.capacity-date-cell { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 10px 12px; border-right: 1px solid rgba(255,255,255,0.055); }
.capacity-project-cell strong,
.capacity-phase-cell strong { overflow: hidden; color: #e8e8e8; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.capacity-project-cell span,
.capacity-phase-cell span { overflow: hidden; color: #6f6f6f; font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; }
.capacity-phase-cell em { margin-top: 3px; color: #df9b33; font-size: 0.62rem; font-style: normal; }
.capacity-date-cell input { width: 100%; min-height: 34px; padding: 6px 7px; }
.capacity-date-cell input:disabled { border-color: transparent; background: transparent; color: #777; opacity: 1; }
.capacity-months { display: grid; grid-template-columns: repeat(6, minmax(90px, 1fr)); min-width: 540px; }
.capacity-month { position: relative; display: grid; place-items: center; min-height: 72px; border-right: 1px solid rgba(255,255,255,0.04); }
.capacity-month i { width: 100%; height: 3px; border-radius: 999px; background: rgba(255,255,255,0.04); }
.capacity-month--on { background: rgba(255,92,0,0.055); }
.capacity-month--on i { background: #ff6a17; box-shadow: 0 0 12px rgba(255,92,0,0.32); }
.capacity-month--oversight { background:rgba(97,213,140,.055); }.capacity-month--oversight i { background:#61d58c; box-shadow:0 0 12px rgba(97,213,140,.28); }.capacity-month--partial { background:rgba(98,185,255,.055); }.capacity-month--partial i { background:#62b9ff; box-shadow:0 0 12px rgba(98,185,255,.28); }.capacity-month--full i { background:#ff6a17; }
.capacity-allocation { display:flex; align-items:center; gap:7px; margin-top:6px; }.capacity-allocation>span { min-width:0; font-size:.56rem; }.capacity-allocation select { min-width:0; max-width:170px; min-height:27px; padding:3px 6px; border:1px solid rgba(255,255,255,.1); border-radius:6px; background:#0b0b0b; color:#daddda; font-size:.58rem; color-scheme:dark; }.capacity-allocation--oversight>span { color:#61d58c; }.capacity-allocation--partial>span { color:#62b9ff; }.capacity-allocation--full>span { color:#ff7b39; }
.capacity-months--header span { display: grid; place-items: center; border-right: 1px solid rgba(255,255,255,0.05); color: #777; font-size: 0.6rem; text-align: center; }
.ops-modal-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,0.78); backdrop-filter: blur(14px); }
.ops-modal { width: min(580px, 100%); padding: 28px; border: 1px solid rgba(255,92,0,0.38); border-radius: 20px; background: #121212; box-shadow: 0 36px 100px rgba(0,0,0,0.65); }
.ops-modal > span { color: #ff7a2c; font: 700 0.65rem 'Poppins', var(--font-body); letter-spacing: 0.12em; text-transform: uppercase; }
.ops-modal h2 { margin: 7px 0 8px; font: 600 1.65rem 'Poppins', var(--font-display); letter-spacing: -0.045em; }
.ops-modal p { color: #888; font-size: 0.8rem; }
.ops-modal label { display: grid; gap: 8px; margin-top: 20px; color: #aaa; font-size: 0.74rem; }
.ops-modal code { color: #ff8a4c; font-size: 0.68rem; }
.ops-modal input { min-height: 42px; border: 1px solid rgba(255,255,255,0.14); border-radius: 9px; background: #090909; padding: 9px 11px; color: #fff; }
.ops-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }

.invoice-view-tabs { display: flex; gap: 4px; margin: 0 0 14px; }
.invoice-view-tabs button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #777; font: 650 .68rem 'Inter', var(--font-body); cursor: pointer; }
.invoice-view-tabs button:hover { color: #ff8a4c; background: rgba(255,92,0,.06); }
.invoice-view-tabs button.is-active { border-color: rgba(255,92,0,.34); background: rgba(255,92,0,.1); color: #fff; }
.invoice-view-tabs button span { display: grid; min-width: 18px; height: 18px; padding: 0 5px; place-items: center; border-radius: 999px; background: rgba(255,255,255,.08); color: #aaa; font-size: .55rem; }
.invoice-kpis { display: flex; gap: 10px; }
.invoice-kpis > div { min-width: 128px; padding: 13px 15px; border: 1px solid rgba(255,255,255,0.09); border-radius: 12px; background: rgba(255,255,255,0.025); }
.invoice-kpis span,
.invoice-kpis strong { display: block; }
.invoice-kpis span { color: #707070; font-size: 0.64rem; }
.invoice-kpis strong { margin-top: 2px; color: #fff; font: 700 1rem 'Poppins', var(--font-display); }
.invoice-controls { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 16px; }
.invoice-controls input { flex: 1; max-width: 480px; }
.invoice-status-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -4px 0 18px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: #171816; box-shadow: 0 12px 34px rgba(0,0,0,.16); }
.invoice-status-toolbar p { margin: 0; color: #aaa49d; font-size: .72rem; }
.invoice-status-guidance { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.invoice-live-state { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 5px 8px; border: 1px solid rgba(72,201,132,.28); border-radius: 999px; background: rgba(72,201,132,.08); color: #8ce0b5; font: 750 .62rem var(--font-body); letter-spacing: .025em; }
.invoice-live-state i { width: 6px; height: 6px; border-radius: 50%; background: #55c98d; box-shadow: 0 0 0 3px rgba(85,201,141,.12); }
.invoice-live-state[data-state='connecting'],.invoice-live-state[data-state='retrying'] { border-color: rgba(217,166,77,.3); background: rgba(217,166,77,.08); color: #e4ba70; }
.invoice-live-state[data-state='connecting'] i,.invoice-live-state[data-state='retrying'] i { background: #d9a64d; box-shadow: 0 0 0 3px rgba(217,166,77,.12); }
.invoice-status-filters { display: flex; align-items: center; gap: 9px; }
.invoice-status-filters label { display: flex; align-items: center; gap: 8px; color: #aaa49d; font: 750 .65rem var(--font-body); letter-spacing: .055em; text-transform: uppercase; }
.invoice-status-filters select { min-height: 38px; padding: 7px 34px 7px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: #0e0f0e; color: #f4f0eb; font: 700 .72rem var(--font-body); color-scheme: dark; }
.invoice-status-filters option { background: #151615; color: #f4f0eb; }
.invoice-status-filters select:focus-visible { border-color: #ff6a17; outline: 3px solid rgba(255,92,0,.1); }
.invoice-bulk-status { position: fixed; z-index: 120; right: 28px; bottom: 24px; left: 28px; display: flex; align-items: center; justify-content: center; gap: 9px; flex-wrap: wrap; width: fit-content; max-width: calc(100vw - 56px); margin: 0 auto; padding: 12px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(20,21,20,.97); box-shadow: 0 20px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,92,0,.08); backdrop-filter: blur(18px); }
.invoice-bulk-status > div { display: flex; align-items: baseline; gap: 6px; padding-right: 5px; }
.invoice-bulk-status strong { color: #fff; font: 800 1rem var(--font-display); }
.invoice-bulk-status > div span,.invoice-bulk-status > span { color: #b3ada6; font: 650 .7rem var(--font-body); }
.invoice-bulk-status button { min-height: 36px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: #202220; color: #f1ede8; font: 750 .66rem var(--font-body); cursor: pointer; transition: border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease; }
.invoice-bulk-status button:hover:not(:disabled),.invoice-bulk-status button:focus-visible { transform: translateY(-1px); outline: 0; }
.invoice-bulk-status button[data-status='not-invoiced'] { border-color: rgba(222,165,75,.5); color: #f2c477; background: rgba(222,165,75,.09); }
.invoice-bulk-status button[data-status='invoiced'] { border-color: rgba(100,165,245,.5); color: #9cc7ff; background: rgba(100,165,245,.1); }
.invoice-bulk-status button[data-status='payment-received'] { border-color: rgba(67,197,132,.5); color: #88e0b4; background: rgba(67,197,132,.1); }
.invoice-bulk-status .invoice-bulk-favourite { border-color: rgba(255,202,61,.55); background: rgba(255,202,61,.12); color: #ffd55f; }
.invoice-bulk-status .invoice-bulk-favourite:hover:not(:disabled),.invoice-bulk-status .invoice-bulk-favourite:focus-visible { border-color: #ffd55f; background: rgba(255,202,61,.2); }
.invoice-bulk-status .invoice-selection-clear { border-color: transparent; color: #85807a; }
.invoice-bulk-status button:disabled { cursor: wait; opacity: .5; }
.invoice-cashflow-chart { margin-bottom: 16px; padding: 9px 14px 5px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.018); }
.invoice-cashflow-chart header { display: flex; justify-content: space-between; align-items: center; }
.invoice-cashflow-chart header strong { color: #aaa; font: 600 .68rem 'Poppins', var(--font-body); }
.invoice-cashflow-chart header button { border: 0; background: transparent; color: #ff7a2c; font-size: .64rem; cursor: pointer; }
.invoice-cashflow-chart svg { display: block; width: 100%; height: 132px; overflow: visible; }
.invoice-chart-axis { stroke: rgba(255,255,255,.08); stroke-width: 1; }
.invoice-chart-line { fill: none; stroke: #ff6a17; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.invoice-chart-point { outline: 0; cursor: pointer; }
.invoice-chart-hit { fill: transparent; transition: fill .16s ease; }
.invoice-chart-dot { fill: #34d399; stroke: #34d399; stroke-width: 3; }
.invoice-chart-point:hover .invoice-chart-hit,
.invoice-chart-point:focus .invoice-chart-hit,
.invoice-chart-point.is-active .invoice-chart-hit { fill: rgba(255,106,23,.2); }
.invoice-chart-point.is-active .invoice-chart-dot { stroke-width: 4; }
.invoice-chart-point.has-delay .invoice-chart-dot { fill: #ef4444; stroke: #ef4444; }
.invoice-chart-month,
.invoice-chart-value { fill: #777; font-family: 'Inter', var(--font-body); text-anchor: middle; pointer-events: none; }
.invoice-chart-month { font-size: 9px; font-weight: 650; }
.invoice-chart-value { fill: #bbb; font-size: 8px; }
.invoice-scorecard-overview { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; margin-bottom: 16px; }
.invoice-scorecard-range { display: grid; align-content: center; gap: 5px; min-width: 184px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: rgba(255,255,255,.025); }
.invoice-scorecard-range > span { color: #777; font-size: .58rem; }
.invoice-scorecard-range select { min-height: 30px; border: 0; outline: 0; background: transparent; color: #e8e8e8; font: 600 .7rem 'Inter', var(--font-body); color-scheme: dark; cursor: pointer; }
.invoice-scorecard-range:focus-within { border-color: rgba(255,92,0,.65); box-shadow: 0 0 0 3px rgba(255,92,0,.08); }
.invoice-delay-log { display: grid; gap: 9px; }
.invoice-delay-log > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.018); }
.invoice-delay-log > header div,
.invoice-delay-log > header strong,
.invoice-delay-log > header span { display: block; }
.invoice-delay-log > header strong { color: #eee; font: 650 .82rem 'Poppins', var(--font-display); }
.invoice-delay-log > header span { margin-top: 3px; color: #777; font-size: .63rem; }
.invoice-delay-log > header label { display: flex; align-items: center; gap: 8px; color: #777; font-size: .6rem; white-space: nowrap; }
.invoice-delay-log select { min-height: 32px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.11); border-radius: 7px; background: #0b0b0b; color: #ddd; color-scheme: dark; }
.invoice-delay-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.invoice-delay-summary span { padding: 10px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(255,255,255,.018); color: #777; font-size: .61rem; }
.invoice-delay-summary strong { display: block; margin-bottom: 2px; color: #ef7676; font: 700 .88rem 'Poppins', var(--font-display); }
.invoice-delay-project { border: 1px solid rgba(255,255,255,.085); border-radius: 10px; overflow: hidden; background: #0b0b0b; }
.invoice-delay-project[open] { border-color: rgba(239,68,68,.3); }
.invoice-delay-project > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 12px 15px; align-items: center; cursor: pointer; list-style: none; }
.invoice-delay-project > summary::-webkit-details-marker { display: none; }
.invoice-delay-project > summary > span:last-child { text-align: right; }
.invoice-delay-project summary strong,
.invoice-delay-project summary small { display: block; }
.invoice-delay-project summary strong { color: #eee; font-size: .75rem; }
.invoice-delay-project summary small { margin-top: 2px; color: #777; font-size: .59rem; }
.invoice-delay-project > summary:hover { background: rgba(255,92,0,.065); }
.invoice-delay-events { border-top: 1px solid rgba(255,255,255,.07); }
.invoice-delay-events article { display: grid; grid-template-columns: minmax(250px, 1.3fr) minmax(280px, 1fr) minmax(110px, auto); gap: 18px; align-items: center; padding: 10px 15px; border-bottom: 1px solid rgba(255,255,255,.055); color: #aaa; font-size: .66rem; }
.invoice-delay-events article:last-child { border-bottom: 0; }
.invoice-delay-events article > span:last-child { text-align: right; }
.invoice-delay-events b,
.invoice-delay-events small,
.invoice-delay-events a { display: block; }
.invoice-delay-events b { margin-bottom: 2px; color: #ef7676; font-size: .64rem; }
.invoice-delay-events small { color: #777; font-size: .57rem; }
.invoice-delay-events a { margin-top: 3px; color: #ff7a2c; font-size: .58rem; }
.invoice-table-wrap { overflow: auto; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; }
.invoice-table { width: 100%; min-width: 1450px; border-collapse: collapse; background: #0b0b0b; }
.invoice-table th { position: sticky; z-index: 2; top: 0; padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,0.11); background: #161616; color: #777; font: 700 0.62rem 'Poppins', var(--font-body); letter-spacing: 0.04em; text-align: left; text-transform: uppercase; }
.invoice-table td { padding: 11px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); color: #aaa; font-size: 0.72rem; vertical-align: middle; }
/* Thin vertical column separators so each value tracks under its header. */
.invoice-table th + th, .invoice-table td + td { border-left: 1px solid rgba(255,255,255,0.08); }
.invoice-table .invoice-month-row td { border-left: none; }
.invoice-progress { text-align: center; color: #cfcfcf; font: 600 0.74rem 'Poppins', var(--font-body); white-space: nowrap; }
.invoice-total { white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-total--acquired { color: #46b981; }
.invoice-total--needed { color: #d8a24a; }
/* A superseded (delayed) milestone: red-lined, its money moved to a later month. */
.invoice-table .invoice-row--delayed td { background: rgba(239,68,68,0.06); color: #d98a8a; }
.invoice-table .invoice-row--delayed .invoice-client-cell strong { color: #ef7676; }
.invoice-table .invoice-row--blocked td { background: rgba(245,158,11,0.075); }
.invoice-table .invoice-row--blocked .invoice-client-cell strong { color: #f6b84a; }
.invoice-table .invoice-row--delayed .invoice-date-field span,
.invoice-table .invoice-row--delayed .invoice-money input,
.invoice-table .invoice-row--delayed .invoice-total { color: #ef7676; text-decoration: line-through; text-decoration-color: rgba(239,68,68,0.5); }
.invoice-delay-tag { display: block; margin-top: 3px; color: #ef4444 !important; font-size: .58rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.invoice-reconcile-tag { display: block; margin-top: 3px; color: #34d399 !important; font-size: .58rem; font-weight: 600; }
.invoice-exclusion-tag { color: #e7a34a !important; font-weight: 600; }
.invoice-date-shift-tag { color: #929292 !important; font-weight: 650; }
.invoice-date-shift-tag--cash-flow-delay { color: #ef7676 !important; font-weight: 700; }
.invoice-date-shift-tag--brought-forward { color: #34d399 !important; }
.invoice-table .invoice-row--date-shifted td { box-shadow: inset 0 1px 0 rgba(239,68,68,.13), inset 0 -1px 0 rgba(239,68,68,.13); background: rgba(239,68,68,.045); }
.invoice-table .invoice-row--date-shifted .invoice-client-cell strong { color: #ef7676; }
.invoice-card-delay { margin-top: 3px; color: #ef7676; font-size: .56rem; font-style: normal; }
.invoice-month-cards button.has-delay { border-color: rgba(239,68,68,.4); }
/* The row a delayed payment was rescheduled INTO: green, so its destination is easy to spot. */
.invoice-table .invoice-row--rescheduled td { background: rgba(34,197,94,0.055); }
.invoice-table .invoice-row--rescheduled .invoice-client-cell strong { color: #46b981; }
.invoice-reschedule-tag { display: block; margin-top: 3px; color: #46b981 !important; font-size: .58rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
/* Give the readable date and picker control their own space. */
.invoice-date-field { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 7px; background: #090909; color: #e6e6e6; font-size: .76rem; line-height: 1; cursor: pointer; white-space: nowrap; }
.invoice-date-field:hover { border-color: rgba(255,92,0,.4); }
.invoice-date-field > span { line-height: 1; }
.invoice-date-field svg { width: 15px; height: 15px; color: #ff8240; flex-shrink: 0; }
.invoice-date-field input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; -webkit-appearance: none; appearance: none; }
.invoice-date-read,
.invoice-money-read { display: inline-block; color: #d7d4cf; font-size: .73rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.invoice-money-read { color: #ece9e4; font-weight: 650; }
.invoice-converted { display: inline-block; min-width: 96px; padding: 8px 6px; color: #7fd8ff; font-variant-numeric: tabular-nums; }
.invoice-table tr td { transition: background .14s ease; }
.invoice-table tr:hover td { background: rgba(255,92,0,.075); }
.invoice-table .invoice-row--priority td { background: rgba(255,92,0,0.045); }
.invoice-client-cell { min-width: 280px; }
.invoice-client-cell strong,
.invoice-client-cell span,
.invoice-client-cell em { display: block; }
.invoice-client-cell strong { color: #eee; font-size: 0.78rem; }
.invoice-client-cell span { color: #999; }
.invoice-client-cell em { margin-top: 2px; color: #6c907f; font-size: 0.62rem; font-style: normal; }
.invoice-table input { width: 132px; min-height: 34px; }
.invoice-table .invoice-small-input { width: 64px; }
.invoice-money-inner { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; white-space: nowrap; }
.invoice-money input { width: 96px; flex: 0 0 auto; }
.invoice-money select { width: 62px; flex: 0 0 auto; padding: 5px; }
.invoice-priority { border: 0; background: transparent; color: #3d3d3d; font-size: 1.2rem; cursor: pointer; }
.invoice-priority.is-active { color: #ffc642; text-shadow: 0 0 7px rgba(255,198,66,.78), 0 0 18px rgba(255,122,0,.35); }
.invoice-priority--read { display: inline-block; cursor: default; }
.invoice-priority-heading,
.invoice-priority-cell { width: 84px; text-align: center !important; }
.invoice-priority-cell .invoice-priority { display: grid; width: 100%; min-height: 42px; place-items: center; }
.invoice-priority:disabled { cursor: wait; opacity: .55; }
.invoice-select-heading,.invoice-select-cell { width: 48px; min-width: 48px; text-align: center !important; }
.invoice-select-heading input,.invoice-select-cell input { width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; border-radius: 4px; accent-color: #ff6a17; cursor: pointer; }
.invoice-status-cell { position: relative; width: 168px; min-width: 168px; overflow: visible !important; }
.invoice-status-picker { position: relative; width: 156px; }
.invoice-status-trigger { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid #454843; border-radius: 8px; background: #1c1e1c; color: #f3efe9; font: 750 .68rem var(--font-body); text-align: left; cursor: pointer; }
.invoice-status-trigger i,.invoice-status-menu i { width: 7px; height: 7px; border-radius: 50%; background: #d9a64d; box-shadow: 0 0 0 3px rgba(217,166,77,.1); }
.invoice-status-picker[data-status='invoiced'] .invoice-status-trigger i,.invoice-status-menu button[data-status='invoiced'] i { background: #72aef8; box-shadow: 0 0 0 3px rgba(114,174,248,.1); }
.invoice-status-picker[data-status='payment-received'] .invoice-status-trigger i,.invoice-status-menu button[data-status='payment-received'] i { background: #55c98d; box-shadow: 0 0 0 3px rgba(85,201,141,.1); }
.invoice-status-trigger b { color: #918b84; font-size: .8rem; transition: transform .15s ease; }
.invoice-status-picker.is-open .invoice-status-trigger { border-color: #747970; background: #252725; }
.invoice-status-picker.is-open .invoice-status-trigger b { transform: rotate(180deg); }
.invoice-status-trigger:focus-visible { outline: 3px solid rgba(255,255,255,.1); outline-offset: 2px; }
.invoice-status-trigger:disabled { cursor: wait; opacity: .6; }
.invoice-status-menu { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; width: 190px; padding: 5px; border: 1px solid #4c504a; border-radius: 10px; background: #151715; box-shadow: 0 16px 42px rgba(0,0,0,.55); }
.invoice-status-menu button { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 9px; width: 100%; min-height: 36px; padding: 8px 9px; border: 0; border-radius: 7px; background: transparent; color: #eeeae5; font: 700 .7rem var(--font-body); text-align: left; cursor: pointer; }
.invoice-status-menu button:hover,.invoice-status-menu button:focus-visible { outline: 0; background: #292c28; }
.invoice-status-menu button span { color: #d9d5cf; }
.invoice-data-row { cursor: pointer; outline: 0; }
.invoice-data-row.is-selected td { background: rgba(95,150,220,.09); box-shadow: inset 0 1px 0 rgba(126,180,246,.24),inset 0 -1px 0 rgba(126,180,246,.24); }
.invoice-data-row.is-selected td:first-child { box-shadow: inset 3px 0 0 #78aef0,inset 0 1px 0 rgba(126,180,246,.24),inset 0 -1px 0 rgba(126,180,246,.24); }
.invoice-data-row:focus td,
.invoice-data-row.is-commenting td { box-shadow: inset 0 1px 0 rgba(255,122,53,.28), inset 0 -1px 0 rgba(255,122,53,.28); }
.invoice-blocked-tag { display: block; margin-top: 3px; color: #e7a34a !important; font-size: .58rem; font-weight: 650; }
.invoice-source { display: block; color: #777; font-size: 0.62rem; }
.invoice-source--linked { color: #42b88a; }
.invoice-table td:last-child a { display: block; margin-top: 3px; color: #ff7a2c; font-size: 0.64rem; text-decoration: none; }
.invoice-fix-link { display: block; padding: 0; border: 0; background: transparent; color: #ff8a3d; font: 700 .64rem var(--font-body); cursor: pointer; text-align: left; }

/* Data-first postmortems and the four-month invoice forecast. */
.postmortem-evidence-fields select {
  width: 100%;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 7px;
  outline: 0;
  background: var(--surface);
  color: var(--text);
  color-scheme: dark;
  font: 12px var(--font-body);
}
.postmortem-evidence-fields select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.postmortem-source-document { display: grid; gap: 18px; margin-top: 18px; padding: 22px; border: 1px solid var(--border); border-radius: 12px; background: #101010; }
.postmortem-source-document > section { padding: 18px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.postmortem-source-document > section > p { margin: 0 0 13px; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.postmortem-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.postmortem-source-grid.depth-2 { grid-template-columns: 1fr; }
.postmortem-source-field { min-width: 0; padding: 11px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(255,255,255,.018); color: var(--text-dim); font-size: 12px; line-height: 1.5; }
.postmortem-source-field > small { display: block; margin-bottom: 5px; color: var(--text-muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.postmortem-source-list { display: grid; gap: 7px; }
.postmortem-source-empty { color: var(--text-muted); font-style: italic; }

.invoice-month-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.invoice-month-cards button { display: grid; gap: 2px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: rgba(255,255,255,.025); color: #777; text-align: left; cursor: pointer; }
.invoice-month-cards button.is-active { border-color: rgba(255,92,0,.65); background: rgba(255,92,0,.06); }
.invoice-month-cards span, .invoice-month-cards small { font-size: .58rem; }
.invoice-month-cards strong { color: #fff; font: 700 .78rem 'Poppins', var(--font-display); }
.invoice-table { min-width: 1320px; }
.invoice-client-cell small { display: block; margin-top: 3px; max-width: 520px; color: #777; font-size: .58rem; line-height: 1.45; white-space: normal; }
.invoice-month-row td { padding: 10px 12px; background: #181818 !important; }
.invoice-month-row td strong, .invoice-month-row td span { display: inline; }
.invoice-month-row td strong { color: #fff; }
.invoice-month-row td span { margin-left: 10px; color: #777; }
.invoice-dates { width: 168px; min-width: 168px; }
.invoice-links { min-width: 116px; }
.invoice-links a { display: block; width: fit-content; margin: 0 0 7px; color: #d9d4ce; font-weight: 700; text-decoration: none; }
.invoice-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.invoice-blocked-action { width: fit-content; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.invoice-blocked-action b { color: #f0b060; font-weight: 800; white-space: nowrap; }
.invoice-create-link { color: var(--accent); font-weight: 700; }
.invoice-create-link:hover { text-decoration: underline; }

@media(max-width: 760px) {
  .postmortem-source-grid { grid-template-columns: 1fr; }
  .invoice-scorecard-overview { grid-template-columns: 1fr; }
  .invoice-scorecard-range { min-width: 0; }
  .invoice-month-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invoice-cashflow-chart { overflow-x: auto; }
  .invoice-cashflow-chart svg { min-width: 760px; }
}

/* Admin access replaces the homepage hero while the Admin button is active. */
.admin-access-panel { position: relative; z-index: 4; width: 100%; padding: 44px 0 90px; }
.admin-access-panel > header { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 28px; }
.admin-access-panel > header > div:first-child { max-width: 680px; }
.admin-domain-card { display: grid; gap: 3px; min-width: 230px; padding: 16px; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; background: rgba(255,255,255,0.025); }
.admin-domain-card > span { color: #777; font-size: 0.66rem; }
.admin-domain-card > strong { color: #fff; font: 700 1rem 'Poppins', var(--font-display); }
.admin-domain-card select { margin-top: 8px; }
.admin-add-user { display: grid; grid-template-columns: minmax(260px, 1fr) 160px 180px auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 16px; border: 1px solid rgba(255,92,0,0.22); border-radius: 14px; background: rgba(255,92,0,0.035); }
.admin-add-user label { display: grid; gap: 6px; color: #777; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; }
.admin-add-user button { min-height: 38px; padding: 8px 14px; border: 1px solid var(--accent); border-radius: 8px; background: var(--accent); color: #fff; font: 700 0.72rem 'Poppins', var(--font-body); cursor: pointer; }
.admin-team-access { margin: 0 0 18px; padding: 20px; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; background: linear-gradient(135deg, rgba(255,92,0,0.045), rgba(255,255,255,0.018)); }
.admin-team-access > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.admin-team-access > header span { color: #ff7a2c; font: 700 0.62rem 'Poppins', var(--font-body); letter-spacing: 0.11em; text-transform: uppercase; }
.admin-team-access > header h2 { margin: 4px 0 0; color: #fff; font: 600 1.55rem 'Poppins', var(--font-display); letter-spacing: -0.045em; }
.admin-team-access > header p { max-width: 470px; margin: 0; text-align: right; }
.admin-team-access-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.admin-team-access-grid > article { overflow: hidden; border: 1px solid rgba(255,255,255,0.09); border-radius: 11px; background: #0b0b0b; }
.admin-team-access-grid > article > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,0.07); background: #151515; }
.admin-team-access-grid strong { color: #eee; font: 700 0.78rem 'Poppins', var(--font-body); }
.admin-team-access-grid small { color: #666; font-size: 0.62rem; }
.admin-team-section-list { display: grid; padding: 7px; }
.admin-team-page-list { border-top: 1px solid rgba(255,255,255,0.06); }
.admin-team-page-list > small { padding: 6px 8px 2px; color: #737373; font-size: 0.62rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-team-section-list label { display: flex; align-items: center; gap: 9px; min-height: 36px; padding: 7px 8px; border-radius: 7px; color: #737373; font-size: 0.7rem; cursor: pointer; transition: background .18s ease, color .18s ease; }
.admin-team-section-list label:hover { background: rgba(255,255,255,0.035); color: #aaa; }
.admin-team-section-list label.is-enabled { color: #efefef; }
.admin-team-section-list input { width: 15px; min-height: 15px; height: 15px; margin: 0; padding: 0; accent-color: var(--accent); box-shadow: none; }
.admin-team-access-note { margin: 13px 0 0; color: #666; font-size: 0.66rem; }
.admin-user-list { overflow: hidden; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; background: #0d0d0d; }
.admin-user-row { display: grid; grid-template-columns: minmax(220px, 1.45fr) minmax(165px, 1fr) minmax(165px, 1fr) 150px minmax(190px, auto); align-items: center; gap: 14px; min-height: 66px; padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,0.065); color: #888; font-size: 0.72rem; }
.admin-user-row:last-child { border-bottom: 0; }
.admin-user-row--head { min-height: 42px; background: #171717; color: #696969; font: 700 0.62rem 'Poppins', var(--font-body); letter-spacing: 0.05em; text-transform: uppercase; }
.admin-user-row > span:first-child strong,
.admin-user-row > span:first-child small { display: block; }
.admin-user-row > span:first-child strong { color: #eee; font-size: 0.8rem; }
.admin-user-row > span:first-child small { color: #666; }
.admin-user-row select { width: 100%; min-height: 34px; }
.admin-user-row > span:nth-child(4) { display: grid; gap: 6px; }
.admin-user-row > span:last-child { display: flex; justify-content: flex-end; }
.admin-user-actions { align-items: center; gap: 7px; }
.admin-user-permissions { min-height: 32px; padding: 0 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: rgba(255,255,255,.035); color: #ddd; font: 600 .68rem 'Inter', var(--font-body); cursor: pointer; }
.admin-user-permissions:hover:not(:disabled) { border-color: rgba(255,92,0,.65); background: rgba(255,92,0,.08); color: #ff9a63; }
.admin-user-permissions:disabled { opacity: .35; cursor: not-allowed; }
.admin-user-remove { min-height: 32px; padding: 0 11px; border: 1px solid rgba(255, 91, 60, .35); border-radius: 7px; background: transparent; color: #ff795e; font: 600 .68rem 'Inter', var(--font-body); cursor: pointer; }
.admin-user-remove:hover:not(:disabled) { border-color: #ff5b3c; background: rgba(255, 91, 60, .1); color: #ff9a86; }
.admin-user-remove:disabled { opacity: .35; cursor: not-allowed; }
.admin-user-remove--confirm { min-height: 38px; background: #d83d24; border-color: #d83d24; color: #fff; }
.admin-delete-person { max-width: 560px; }
.admin-person-permissions-backdrop { z-index: 1200; }
.admin-person-permissions { width: min(980px, calc(100vw - 32px)); max-width: 980px; max-height: calc(100dvh - 42px); overflow: auto; }
.admin-person-permissions-intro { margin: 4px 0 16px; color: #8b8b8b; font-size: .78rem; line-height: 1.55; }
.admin-person-permissions-intro strong { color: #f2f2f2; }
.admin-person-permissions-warning { margin: 0 0 14px; padding: 10px 12px; border: 1px solid rgba(255,172,73,.25); border-radius: 8px; background: rgba(255,172,73,.07); color: #e5aa67; font-size: .72rem; }
.admin-person-permissions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-person-permissions-grid > section { overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: #0b0b0b; }
.admin-person-permissions-grid h3 { margin: 0; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.08); background: #161616; color: #aaa; font: 700 .64rem 'Poppins', var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.admin-service-permission { display: grid; grid-template-columns: minmax(0, 1fr) 132px; align-items: center; gap: 12px; min-height: 56px; padding: 8px 10px; border-top: 1px solid rgba(255,255,255,.055); }
.admin-service-permission:first-of-type { border-top: 0; }
.admin-service-permission > span strong,.admin-service-permission > span small { display: block; }
.admin-service-permission > span strong { color: #e5e5e5; font-size: .72rem; }
.admin-service-permission > span small { margin-top: 3px; color: #666; font-size: .6rem; }
.admin-service-permission.is-allow { background: rgba(71,196,132,.055); }
.admin-service-permission.is-allow > span small { color: #72c99c; }
.admin-service-permission.is-deny { background: rgba(255,92,76,.055); }
.admin-service-permission.is-deny > span small { color: #e47c70; }
.admin-service-permission select { width: 100%; min-height: 32px; padding: 6px 8px; font-size: .68rem; }
.admin-person-permissions .home-card-editor-actions { align-items: center; justify-content: space-between; }
.admin-person-permissions .home-card-editor-actions > span { color: #6d6d6d; font-size: .66rem; }
.admin-verification > p { color: #8b8b8b; font-size: 0.82rem; }
.admin-ledger { margin-top: 34px; }
.admin-ledger > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.admin-ledger > header span { color: #ff7a2c; font: 700 0.64rem 'Poppins', var(--font-body); letter-spacing: 0.11em; text-transform: uppercase; }
.admin-ledger > header h2 { margin: 4px 0 3px; color: #fff; font: 600 1.55rem 'Poppins', var(--font-display); letter-spacing: -0.045em; }
.admin-ledger > header p { color: #777; font-size: 0.75rem; }
.admin-ledger > header button { min-height: 36px; padding: 7px 13px; border: 1px solid rgba(255,255,255,0.14); border-radius: 8px; background: rgba(255,255,255,0.04); color: #bbb; cursor: pointer; }
.admin-ledger-filters { display: grid; grid-template-columns: minmax(230px, 1fr) 220px auto; align-items: center; gap: 10px; margin-bottom: 12px; }
.admin-ledger-filters > span { color: #666; font-size: 0.68rem; text-align: right; }
.admin-ledger-list { overflow: hidden; border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; background: #0d0d0d; }
.admin-ledger-row { display: grid; grid-template-columns: 170px minmax(200px, 1.2fr) minmax(150px, 0.8fr) minmax(170px, 0.9fr) minmax(180px, 1fr); align-items: center; gap: 14px; min-height: 58px; padding: 9px 14px; border-bottom: 1px solid rgba(255,255,255,0.06); color: #858585; font-size: 0.69rem; }
.admin-ledger-row:last-child { border-bottom: 0; }
.admin-ledger-row--head { min-height: 40px; background: #171717; color: #666; font: 700 0.6rem 'Poppins', var(--font-body); letter-spacing: 0.05em; text-transform: uppercase; }
.admin-ledger-row strong,
.admin-ledger-row small { display: block; }
.admin-ledger-row strong { color: #ddd; font-size: 0.73rem; }
.admin-ledger-row small { color: #5f5f5f; }
.admin-ledger-row code { color: #ff8a4c; font-size: 0.65rem; }

@media (max-width: 800px) {
  .capacity-forecast>header { align-items:flex-start; flex-direction:column; }.capacity-forecast-metrics { grid-template-columns:1fr; }.capacity-forecast-grid { grid-template-columns:1fr; }.capacity-forecast-grid>div { overflow-x:auto; grid-template-columns:repeat(6,minmax(105px,1fr)); }
  .capacity-mode-stack { align-items:stretch; }.capacity-plan-switch,.capacity-mode-switch { overflow-x:auto; }.capacity-cadence-grid,.capacity-close-signals>div { grid-template-columns:1fr; }.capacity-planned-board { overflow-x:auto; }.capacity-planned-board>header,.capacity-close-signals>header { align-items:flex-start; flex-direction:column; }.capacity-planned-header,.capacity-planned-row { min-width:920px; }
  .ops-snapshot { display: none; }
  .ops-main { padding: 28px 16px 60px; }
  .ops-heading,
  .admin-access-panel > header { align-items: stretch; flex-direction: column; }
  .capacity-controls { align-items: stretch; flex-direction: column; }
  .capacity-summary { margin-left: 0; }
  .invoice-kpis { overflow-x: auto; width: 100%; }
  .admin-add-user { grid-template-columns: 1fr; }
  .admin-team-access > header { align-items: stretch; flex-direction: column; }
  .admin-team-access > header p { text-align: left; }
  .admin-team-access-grid { grid-template-columns: 1fr; }
  .admin-user-list { overflow-x: auto; }
  .admin-user-row { min-width: 820px; }
  .admin-person-permissions-grid { grid-template-columns: 1fr; }
  .admin-ledger > header { align-items: stretch; flex-direction: column; }
  .admin-ledger-filters { grid-template-columns: 1fr; }
  .admin-ledger-filters > span { text-align: left; }
  .admin-ledger-list { overflow-x: auto; }
  .admin-ledger-row { min-width: 960px; }
}

/* Fixed-project Change Order Generator */
.co-main { max-width: 1160px; gap: 30px; padding-top: 54px; }
.co-hero { max-width: 900px; }
.co-hero h1 span { color: #ff6a16; }
.co-reset { margin-left: auto; }
.co-intake-card,
.co-panel,
.co-review-head,
.co-done { position: relative; z-index: 2; width: 100%; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: linear-gradient(145deg, rgba(22,22,22,.96), rgba(12,12,12,.96)); box-shadow: 0 22px 70px rgba(0,0,0,.24); }
.co-intake-card { max-width: 900px; margin: 0 auto; padding: 24px; }
.co-intake-card > label { display: block; color: #f2f2f2; font: 700 1.05rem var(--font-display); }
.co-intake-card > p { margin: 3px 0 14px; color: #747474; font-size: .76rem; }
.co-intake-card textarea,
.co-feedback { width: 100%; min-height: 310px; resize: vertical; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; outline: none; background: #090909; color: #e8e8e8; padding: 16px; font: .82rem/1.65 var(--font-body); }
.co-intake-card textarea:focus,
.co-feedback:focus { border-color: rgba(255,92,0,.7); box-shadow: 0 0 0 3px rgba(255,92,0,.08); }
.co-intake-actions,
.co-feedback-actions,
.co-generate-row,
.co-done-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; }
.co-intake-actions > span,
.co-generate-row > span { color: #666; font-size: .69rem; }

.co-review { position: relative; z-index: 2; display: grid; gap: 18px; }
.co-review-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 28px; border-color: rgba(255,92,0,.22); }
.co-review-head > div:first-child { max-width: 780px; }
.co-kicker { color: #ff7430; font: 700 .65rem var(--font-display); letter-spacing: .11em; text-transform: uppercase; }
.co-review-head h1,
.co-done h1 { margin: 5px 0 8px; color: #fff; font: 700 clamp(1.8rem,4vw,3rem)/1.08 var(--font-display); letter-spacing: -.045em; }
.co-review-head p { color: #8a8a8a; font-size: .82rem; line-height: 1.6; }
.co-review-count { flex: 0 0 140px; padding: 15px; border-left: 1px solid rgba(255,255,255,.1); }
.co-review-count b,
.co-review-count span { display: block; }
.co-review-count b { color: #ff6a16; font: 700 2.2rem/1 var(--font-display); }
.co-review-count span { margin-top: 6px; color: #666; font-size: .66rem; line-height: 1.3; }

.co-panel { padding: 24px; }
.co-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.co-panel-head > div { display: flex; align-items: center; gap: 10px; }
.co-panel-head > div > span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(255,92,0,.34); border-radius: 50%; color: #ff6a16; font: 700 .62rem var(--font-display); }
.co-panel-head h2 { color: #eee; font: 700 1.12rem var(--font-display); letter-spacing: -.02em; }
.co-panel-head > p { color: #666; font-size: .68rem; }
.co-panel-head i { display: inline-block; margin-right: 6px; vertical-align: -1px; }
.co-blue-dot { width: 8px; height: 8px; border-radius: 50%; background: #38a6ff; box-shadow: 0 0 12px rgba(56,166,255,.7); }

.co-source-options { display: grid; gap: 8px; }
.co-source-option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: start; gap: 12px; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(255,255,255,.018); cursor: pointer; }
.co-source-option--on { border-color: rgba(56,166,255,.5); background: rgba(56,166,255,.055); box-shadow: inset 3px 0 0 #38a6ff; }
.co-source-option input { margin-top: 4px; accent-color: #38a6ff; }
.co-source-option strong,
.co-source-option small,
.co-source-option em { display: block; }
.co-source-option strong { color: #e7e7e7; font-size: .8rem; }
.co-source-option small { margin-top: 2px; color: #777; font-size: .65rem; }
.co-source-option em { overflow: hidden; margin-top: 5px; color: #595959; font-size: .64rem; font-style: normal; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.co-source-option > a { color: #5db6ff; font-size: .66rem; text-decoration: none; }
.co-match-reason,
.co-empty-note { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.025); color: #777; font-size: .67rem; }

.co-field-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.co-field { display: grid; gap: 6px; min-width: 0; }
.co-field--wide { grid-column: span 2; }
.co-field > span { color: #686868; font: 700 .6rem var(--font-body); letter-spacing: .055em; text-transform: uppercase; }
.co-field input { width: 100%; min-height: 39px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; outline: none; background: #0b0b0b; color: #ddd; padding: 8px 10px; font: .75rem var(--font-body); }
.co-field input:focus { border-color: rgba(255,92,0,.6); }

.co-question-list,
.co-change-list { display: grid; gap: 12px; }
.co-question { padding: 16px; border: 1px solid rgba(255,92,0,.24); border-radius: 12px; background: rgba(255,92,0,.025); }
.co-question--answered { border-color: rgba(34,197,94,.3); }
.co-question-copy strong { color: #eee; font: 600 .86rem var(--font-display); }
.co-question-copy p { margin: 3px 0 12px; color: #767676; font-size: .68rem; }
.co-option-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.co-option { min-height: 95px; padding: 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: #101010; color: #bbb; text-align: left; cursor: pointer; }
.co-option:hover { border-color: rgba(255,92,0,.5); }
.co-option--on { border-color: rgba(34,197,94,.55); background: rgba(34,197,94,.055); box-shadow: inset 0 0 0 1px rgba(34,197,94,.12); }
.co-option span,
.co-option em { display: block; }
.co-option span { color: #e5e5e5; font: 700 .72rem var(--font-display); }
.co-option span small { margin-left: 7px; color: #ff7a35; font: 700 .54rem var(--font-body); letter-spacing: .04em; text-transform: uppercase; }
.co-option em { margin-top: 5px; color: #686868; font: normal .63rem/1.45 var(--font-body); }

.co-change { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; padding: 17px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.015); transition: border-color .15s, opacity .15s; opacity: .58; scroll-margin-top: 100px; }
.co-change--on { border-color: rgba(56,166,255,.35); opacity: 1; }
.co-change:target { box-shadow: 0 0 0 3px rgba(56,166,255,.14); }
.co-change-toggle { padding-top: 3px; cursor: pointer; }
.co-change-toggle input { position: absolute; opacity: 0; }
.co-change-toggle span { display: block; width: 27px; height: 16px; border-radius: 999px; background: #333; position: relative; }
.co-change-toggle span::after { content: ''; position: absolute; left: 3px; top: 3px; width: 10px; height: 10px; border-radius: 50%; background: #777; transition: transform .15s,background .15s; }
.co-change-toggle input:checked + span { background: rgba(56,166,255,.28); }
.co-change-toggle input:checked + span::after { transform: translateX(11px); background: #38a6ff; }
.co-change-title { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.co-change-title > span { color: #ff7a35; font: 700 .56rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-change-title h3 { color: #eee; font: 700 .94rem var(--font-display); }
.co-change-title small { margin-left: auto; color: #5d5d5d; font-size: .59rem; }
.co-change-body > p { margin: 7px 0 10px; color: #838383; font-size: .71rem; }
.co-replaces,
.co-timeline { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.co-replaces b,
.co-timeline b { color: #626262; font-size: .57rem; letter-spacing: .05em; text-transform: uppercase; }
.co-replaces span,
.co-timeline span { padding: 3px 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; color: #777; font-size: .58rem; }
.co-deliverables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 12px; }
.co-deliverables > div { padding: 11px; border-left: 2px solid rgba(56,166,255,.42); background: rgba(56,166,255,.03); }
.co-deliverables strong { color: #d7d7d7; font-size: .7rem; }
.co-deliverables ul { margin: 5px 0 0 16px; color: #797979; font-size: .64rem; line-height: 1.5; }

.co-source-details { border: 1px solid rgba(255,255,255,.09); border-radius: 11px; overflow: hidden; background: #090909; }
.co-source-details summary { padding: 11px 14px; color: #aaa; font-size: .7rem; cursor: pointer; }
.co-source-copy { max-height: 560px; overflow: auto; padding: 18px; border-top: 1px solid rgba(255,255,255,.07); color: #777; font: .7rem/1.7 var(--font-body); white-space: pre-wrap; word-wrap: break-word; }
.co-source-mark { display: inline; border: 0; border-radius: 3px; padding: 1px 0; font: inherit; text-align: left; cursor: pointer; white-space: pre-wrap; }
.co-source-mark--used { background: rgba(31,148,255,.24); color: #bfe3ff; box-shadow: inset 0 -1px 0 rgba(56,166,255,.6); }
.co-source-mark--used:hover { background: rgba(31,148,255,.4); color: #fff; }
.co-source-mark--unused { background: rgba(255,255,255,.045); color: #606060; text-decoration: line-through; text-decoration-color: rgba(255,255,255,.18); }
.co-unused { margin-top: 12px; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; }
.co-unused > strong { color: #777; font-size: .65rem; }
.co-unused p { display: grid; grid-template-columns: minmax(180px,.7fr) 1fr; gap: 12px; padding-top: 8px; color: #626262; font-size: .62rem; }
.co-unused p span { color: #909090; }

.co-feedback { min-height: 150px; }
.co-feedback-actions { justify-content: flex-end; }
.co-mic { min-height: 39px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: #111; color: #aaa; font: 700 .68rem var(--font-body); cursor: pointer; }
.co-mic span { margin-right: 7px; color: #f04444; }
.co-mic--on { border-color: rgba(239,68,68,.6); color: #fff; animation: coMicPulse 1.2s ease-in-out infinite; }
@keyframes coMicPulse { 50% { box-shadow: 0 0 0 6px rgba(239,68,68,.08); } }
.co-final-panel { border-color: rgba(255,92,0,.32); }
.co-generate-row { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.07); }

.co-error { position: fixed; z-index: 20; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; align-items: center; gap: 18px; max-width: min(720px,calc(100vw - 32px)); padding: 12px 14px; border: 1px solid rgba(239,68,68,.45); border-radius: 10px; background: #201010; color: #f5b1b1; box-shadow: 0 18px 60px rgba(0,0,0,.5); font-size: .73rem; }
.co-error button { border: 0; background: transparent; color: #fff; font-size: 1rem; cursor: pointer; }
.co-error--suggestions { width: min(720px,calc(100vw - 32px)); align-items: flex-start; }
.co-error--suggestions > div { display: grid; gap: 10px; min-width: 0; }
.co-error-suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.co-error-suggestions strong { color: #fff; font-size: .72rem; }
.co-error-suggestions button { padding: 7px 10px; border: 1px solid rgba(255,122,46,.45); border-radius: 999px; background: rgba(255,91,21,.12); color: #ffd4c1; font: 600 .69rem/1.2 Inter,sans-serif; text-align: left; }
.co-error-suggestions button:hover { border-color: #ff6b22; background: rgba(255,91,21,.22); }
.co-error .co-error-close { margin-left: auto; flex: 0 0 auto; }
.co-done { max-width: 780px; margin: 40px auto; padding: 44px; text-align: center; }
.co-done-check { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 18px; border: 1px solid rgba(34,197,94,.45); border-radius: 50%; background: rgba(34,197,94,.08); color: #3bd177; font-size: 1.5rem; }
.co-done > p:not(.co-kicker) { max-width: 580px; margin: 0 auto; color: #777; font-size: .78rem; }
.co-done-actions { justify-content: center; margin: 24px 0 18px; }
.co-drive-warning { margin: 12px auto 18px !important; color: #eab308 !important; }

@media (max-width: 850px) {
  .co-main { padding: 34px 18px 70px; }
  .co-review-head { align-items: flex-start; flex-direction: column; }
  .co-review-count { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); width: 100%; }
  .co-field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .co-option-list { grid-template-columns: 1fr; }
  .co-deliverables { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .co-panel { padding: 17px; }
  .co-panel-head { align-items: flex-start; flex-direction: column; }
  .co-field-grid { grid-template-columns: 1fr; }
  .co-field--wide { grid-column: auto; }
  .co-source-option { grid-template-columns: auto minmax(0,1fr); }
  .co-source-option > a { grid-column: 2; }
  .co-change { grid-template-columns: 1fr; }
  .co-intake-actions,
  .co-feedback-actions,
  .co-generate-row,
  .co-done-actions { align-items: stretch; flex-direction: column; }
  .co-unused p { grid-template-columns: 1fr; }
}

/* Change Order document-first workspace */
.co-header { min-height: 64px; }
.co-main--workspace {
  width: 100%;
  max-width: none;
  padding: 18px 22px 44px;
  gap: 16px;
}
.co-intake-shell { display: grid; gap: 28px; width: 100%; }
.co-intake-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.co-intake-heading strong { color: #f2f2f2; font: 700 1.05rem var(--font-display); }
.co-intake-heading p { margin: 3px 0 0; color: #707070; font-size: .72rem; }
.co-intake-heading > span { padding: 5px 9px; border: 1px solid rgba(255,92,0,.3); border-radius: 999px; color: #ff7a35; font: 700 .64rem var(--font-body); }
.co-batch-intake { max-width: 1060px; }
.co-batch-list { display: grid; gap: 12px; }
.co-batch-list--bulk { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 640px; overflow-y: auto; padding-right: 5px; }
.co-batch-list--bulk .co-batch-request textarea { min-height: 138px; }
.co-batch-request { position: relative; }
.co-batch-request > label { display: block; margin-bottom: 6px; color: #707070; font: 700 .62rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.co-batch-request textarea { min-height: 210px; }
.co-batch-request > button { position: absolute; top: 0; right: 0; border: 0; background: transparent; color: #777; font-size: .64rem; cursor: pointer; }
.co-batch-request > button:hover { color: #ff7a35; }
.co-bulk-upload { position: relative; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.co-bulk-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.co-bulk-upload.is-loading { opacity: .55; cursor: wait; }

.co-queue-bar {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(12,12,12,.92);
  box-shadow: 0 12px 36px rgba(0,0,0,.22);
}
.co-queue-label { display: flex; align-items: center; gap: 7px; padding: 0 8px; color: #707070; font: 700 .61rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.co-queue-label b { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: rgba(255,92,0,.13); color: #ff7430; font-size: .59rem; }
.co-queue-items { display: flex; flex: 1; gap: 7px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.co-queue-items::-webkit-scrollbar { display: none; }
.co-queue-slot { position: relative; flex: 0 0 auto; }
.co-queue-item { flex: 0 0 auto; min-width: 145px; max-width: 220px; padding: 8px 24px 8px 30px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: #111; color: #a0a0a0; text-align: left; cursor: pointer; }
.co-queue-item strong,
.co-queue-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.co-queue-item strong { color: #cfcfcf; font: 700 .69rem var(--font-display); }
.co-queue-item small { margin-top: 2px; color: #606060; font-size: .58rem; }
.co-queue-item--on { border-color: rgba(56,166,255,.48); background: rgba(56,166,255,.06); box-shadow: inset 3px 0 0 #38a6ff; }
.co-queue-slot.is-selected .co-queue-item { border-color: rgba(255,112,48,.42); background: rgba(255,92,0,.055); }
.co-queue-slot.is-selected .co-queue-item--on { border-color: rgba(56,166,255,.58); background: linear-gradient(90deg,rgba(56,166,255,.07),rgba(255,92,0,.045)); }
.co-queue-select { position: absolute; z-index: 2; top: 17px; left: 9px; display: grid; width: 14px; height: 14px; cursor: pointer; }
.co-queue-select input { position: absolute; opacity: 0; pointer-events: none; }
.co-queue-select span { border: 1px solid #4b4b4b; border-radius: 3px; background: #0b0b0b; }
.co-queue-select input:checked + span { border-color: #ff7430; background: #ff5c00; box-shadow: inset 0 0 0 3px #111; }
.co-queue-select input:disabled + span { opacity: .28; cursor: not-allowed; }
.co-queue-remove { position: absolute; top: 3px; right: 3px; display: grid; place-items: center; width: 17px; height: 17px; border: 0; border-radius: 50%; background: transparent; color: #555; font-size: .68rem; cursor: pointer; }
.co-queue-remove:hover { background: #30150c; color: #ff8a4c; }
.co-queue-sow-actions { display: flex; align-items: center; gap: 8px; padding: 4px 5px 1px 7px; }
.co-queue-sow-actions a,
.co-queue-sow-actions button { padding: 0; border: 0; background: transparent; font: 700 .49rem var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.co-queue-sow-actions a { color: #71add7; }
.co-queue-sow-actions button { color: #a88877; }
.co-queue-bulk-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.co-queue-bulk-actions button { min-height: 31px; padding: 6px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: #151515; color: #999; font: 700 .55rem var(--font-body); cursor: pointer; white-space: nowrap; }
.co-queue-bulk-actions button:disabled { opacity: .38; cursor: not-allowed; }
.co-queue-bulk-actions .co-queue-generate { border-color: rgba(255,92,0,.4); background: rgba(255,92,0,.1); color: #ff8042; }
.co-queue-new { flex: 0 0 auto; min-height: 34px; padding: 7px 11px; border: 1px solid rgba(255,92,0,.3); border-radius: 8px; background: rgba(255,92,0,.05); color: #ff7a35; font: 700 .64rem var(--font-body); cursor: pointer; }
.co-bulk-notice { position: fixed; z-index: 1300; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 14px; max-width: 520px; padding: 12px 14px; border: 1px solid rgba(59,212,119,.32); border-radius: 9px; background: rgba(12,22,16,.97); color: #b9ddc4; box-shadow: 0 18px 50px rgba(0,0,0,.42); font: 600 .64rem/1.4 var(--font-body); }
.co-bulk-notice button { border: 0; background: transparent; color: #75a682; cursor: pointer; }

.co-workspace {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(640px, 1.65fr) minmax(390px, .75fr);
  align-items: start;
  gap: 18px;
  width: 100%;
}
.co-main--workspace { padding-top: 82px; }
.co-document-shell { min-width: 0; }
.co-document-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: min(920px,100%); margin: 0 auto 9px; padding: 0 3px; }
.co-document-toolbar span,
.co-document-toolbar small { display: block; }
.co-document-toolbar span { color: #cfcfcf; font: 700 .68rem var(--font-display); }
.co-document-toolbar small { margin-top: 2px; color: #5f5f5f; font-size: .59rem; }
.co-document-toolbar b { color: #777; font-size: .61rem; }
.co-document {
  width: min(920px,100%);
  min-height: 1120px;
  margin: 0 auto;
  padding: 52px clamp(34px,5vw,66px) 68px;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 5px;
  background: #f5f2ea;
  color: #191919;
  box-shadow: 0 28px 90px rgba(0,0,0,.48), inset 0 0 0 1px rgba(0,0,0,.04);
}
.co-doc-brand { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 2px solid #1c1c1c; color: #111; font: 800 1.05rem var(--font-display); letter-spacing: -.04em; }
.co-doc-brand span { color: #e65200; font: 700 .59rem var(--font-body); letter-spacing: .15em; }
.co-doc-title { padding: 38px 0 30px; }
.co-doc-title > span { color: #e65200; font: 700 .62rem var(--font-body); letter-spacing: .09em; text-transform: uppercase; }
.co-doc-title h1 { max-width: 700px; margin: 8px 0 12px; color: #111; font: 700 clamp(2.2rem,4.2vw,4rem)/.98 var(--font-display); letter-spacing: -.065em; }
.co-doc-title p { max-width: 680px; color: #555; font: .82rem/1.65 var(--font-body); }
.co-doc-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 40px; border-top: 1px solid #b9b4aa; border-left: 1px solid #b9b4aa; }
.co-doc-meta > div { min-height: 68px; padding: 11px 12px; border-right: 1px solid #b9b4aa; border-bottom: 1px solid #b9b4aa; }
.co-doc-meta dt { color: #8a8378; font: 700 .52rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-doc-meta dd { margin: 5px 0 0; color: #1b1b1b; font: 700 .7rem/1.35 var(--font-body); overflow-wrap: anywhere; }
.co-doc-divider { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: #e65200; font: 700 .6rem var(--font-body); letter-spacing: .11em; text-transform: uppercase; }
.co-doc-divider::after { content: ''; flex: 1; height: 1px; background: #d5cfc4; }
.co-doc-sections { display: grid; gap: 13px; }
.co-doc-section { position: relative; padding: 20px 20px 17px; border: 1px solid #d1cbc0; border-radius: 4px; background: rgba(255,255,255,.48); transition: border-color .15s,box-shadow .15s,transform .15s; scroll-margin-top: 88px; }
.co-doc-section--drop { border-color: #2188d9; box-shadow: 0 0 0 4px rgba(33,136,217,.13); transform: translateY(-2px); }
.co-doc-section-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; }
.co-doc-section-head > span { color: #e65200; font: 700 .51rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-doc-section-head input { width: 100%; border: 0; outline: 0; background: transparent; color: #171717; font: 700 1rem var(--font-display); }
.co-doc-section-head > button { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid transparent; border-radius: 50%; background: transparent; color: #a6a098; cursor: pointer; }
.co-doc-section-head > button:hover { border-color: #cabfb2; color: #d54800; }
.co-doc-summary { width: 100%; min-height: 48px; margin: 7px 0 9px; padding: 0; resize: vertical; border: 0; outline: 0; background: transparent; color: #5a5650; font: .7rem/1.55 var(--font-body); }
.co-doc-replaces { margin: 0 0 12px; padding: 7px 9px; background: #eee8dd; color: #716b62; font: .6rem/1.45 var(--font-body); }
.co-doc-deliverable { margin-top: 10px; padding-left: 11px; border-left: 2px solid #df5c13; }
.co-doc-deliverable--added { border-left-color: #2188d9; background: rgba(33,136,217,.045); padding-top: 8px; padding-bottom: 7px; }
.co-doc-deliverable > strong { color: #242424; font: 700 .7rem var(--font-body); }
.co-doc-deliverable ul { display: grid; gap: 3px; margin: 7px 0 0; padding: 0; list-style: none; }
.co-doc-deliverable li { display: grid; grid-template-columns: 9px minmax(0,1fr) 20px; align-items: start; gap: 4px; }
.co-doc-deliverable li::before { content: '•'; color: #e65200; font-size: .72rem; }
.co-doc-deliverable li textarea { width: 100%; min-height: 28px; padding: 2px 3px; resize: vertical; border: 1px solid transparent; border-radius: 3px; outline: 0; background: transparent; color: #4f4b45; font: .64rem/1.45 var(--font-body); }
.co-doc-deliverable li textarea:focus { border-color: rgba(33,136,217,.3); background: #fff; }
.co-doc-deliverable li button { border: 0; background: transparent; color: #b0aaa1; cursor: pointer; }
.co-doc-drop-hint { margin-top: 12px; padding: 8px; border: 1px dashed #c7c0b4; border-radius: 3px; color: #948d83; font: .57rem var(--font-body); text-align: center; }
.co-doc-section--drop .co-doc-drop-hint { border-color: #2188d9; background: rgba(33,136,217,.06); color: #176cae; }
.co-doc-timing { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.co-doc-timing b { color: #837c72; font: 700 .52rem var(--font-body); text-transform: uppercase; }
.co-doc-timing span { padding: 3px 6px; border: 1px solid #d6cfc4; border-radius: 999px; color: #777066; font-size: .54rem; }
.co-doc-excluded { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 16px; padding: 11px; border: 1px dashed #c9c2b7; color: #8e877d; }
.co-doc-excluded > span { margin-right: 3px; font: 700 .56rem var(--font-body); text-transform: uppercase; }
.co-doc-excluded button { padding: 4px 7px; border: 1px solid #d0c8bc; border-radius: 999px; background: transparent; color: #716a60; font-size: .56rem; cursor: pointer; }
.co-doc-decisions,
.co-doc-commercials { margin-top: 34px; padding-top: 18px; border-top: 1px solid #beb7ac; }
.co-doc-decisions h2,
.co-doc-commercials h2 { margin: 0 0 10px; color: #181818; font: 700 1.05rem var(--font-display); }
.co-doc-decisions p { display: grid; grid-template-columns: minmax(140px,.45fr) 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid #ddd7ce; }
.co-doc-decisions p b { color: #272727; font-size: .62rem; }
.co-doc-decisions p span { color: #6d675f; font-size: .6rem; line-height: 1.45; }
.co-doc-commercials > p { color: #5e5952; font-size: .66rem; line-height: 1.55; }
.co-doc-commercials > div { display: flex; justify-content: space-between; gap: 15px; padding: 8px 0; border-bottom: 1px solid #ddd7ce; color: #686159; font-size: .62rem; }
.co-doc-commercials > div b { color: #222; }

.co-assistant { position: sticky; top: 82px; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; height: calc(100vh - 100px); min-height: 620px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(14,14,14,.97); box-shadow: 0 24px 70px rgba(0,0,0,.34); }
.co-assistant-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px 13px; border-bottom: 1px solid rgba(255,255,255,.07); }
.co-assistant-head span,
.co-assistant-head strong { display: block; }
.co-assistant-head span { color: #626262; font: 700 .55rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-assistant-head strong { margin-top: 3px; color: #e7e7e7; font: 700 .82rem var(--font-display); }
.co-assistant-head p { color: #ff7430; font: 700 .6rem var(--font-body); }
.co-assistant-tabs { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(255,255,255,.07); }
.co-assistant-tabs button { position: relative; min-height: 42px; border: 0; border-right: 1px solid rgba(255,255,255,.06); background: #101010; color: #6d6d6d; font: 700 .6rem var(--font-body); cursor: pointer; }
.co-assistant-tabs button:last-child { border-right: 0; }
.co-assistant-tabs button.active { background: rgba(255,92,0,.055); color: #f0f0f0; }
.co-assistant-tabs button.active::after { content: ''; position: absolute; left: 16%; right: 16%; bottom: 0; height: 2px; background: #ff681b; }
.co-assistant-tabs button b { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 3px; border-radius: 50%; background: #8b2e08; color: #ffb28c; font-size: .52rem; }
.co-assistant-body { min-height: 0; overflow-y: auto; padding: 14px; }
.co-tab-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.co-tab-intro strong { color: #dedede; font: 700 .76rem var(--font-display); }
.co-tab-intro p { margin: 3px 0 0; color: #626262; font-size: .61rem; line-height: 1.4; }
.co-tab-intro button { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(255,92,0,.28); border-radius: 7px; background: rgba(255,92,0,.04); color: #ff7a35; font: 700 .56rem var(--font-body); cursor: pointer; }
.co-compact-decisions { display: grid; gap: 10px; }
.co-compact-question { padding: 12px; border: 1px solid rgba(255,92,0,.24); border-radius: 10px; background: rgba(255,92,0,.022); }
.co-compact-question--done { border-color: rgba(34,197,94,.25); background: rgba(34,197,94,.018); }
.co-compact-question-title { display: grid; grid-template-columns: 23px minmax(0,1fr); gap: 7px; align-items: start; }
.co-compact-question-title > span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(255,92,0,.35); border-radius: 50%; color: #ff7430; font: 700 .52rem var(--font-body); }
.co-compact-question-title > strong { color: #e8e8e8; font: 700 .72rem/1.35 var(--font-display); }
.co-compact-question > p { margin: 5px 0 9px 30px; color: #666; font-size: .58rem; line-height: 1.4; }
.co-compact-options { display: grid; gap: 5px; }
.co-compact-options button { display: grid; grid-template-columns: minmax(110px,.45fr) 1fr; align-items: center; gap: 9px; min-height: 48px; padding: 8px 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: #101010; text-align: left; cursor: pointer; }
.co-compact-options button.active { border-color: rgba(34,197,94,.5); background: rgba(34,197,94,.05); }
.co-compact-options span { color: #d9d9d9; font: 700 .61rem var(--font-display); }
.co-compact-options span small { display: block; margin-top: 2px; color: #ff7430; font: 700 .48rem var(--font-body); text-transform: uppercase; }
.co-compact-options em { color: #646464; font: normal .55rem/1.35 var(--font-body); }
.co-assistant-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-top: 1px solid rgba(255,255,255,.08); background: #0d0d0d; }
.co-assistant-footer span,
.co-assistant-footer small { display: block; }
.co-assistant-footer span { color: #bdbdbd; font: 700 .62rem var(--font-body); }
.co-assistant-footer small { margin-top: 2px; color: #5d5d5d; font-size: .54rem; }
.co-assistant-footer .btn-primary { min-width: 105px; }

.co-source-sow { margin-bottom: 13px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: #0b0b0b; }
.co-source-sow > summary { padding: 10px 11px; color: #a6a6a6; font: 700 .64rem var(--font-body); cursor: pointer; }
.co-source-sow[open] > summary { border-bottom: 1px solid rgba(255,255,255,.07); }
.co-source-sow > :not(summary) { margin-left: 10px; margin-right: 10px; }
.co-source-sow .co-field-grid { margin-bottom: 10px; }
.co-field-grid--compact { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.co-field-grid--compact .co-field--wide { grid-column: span 2; }
.co-field-grid--compact .co-field input { min-height: 36px; font-size: .67rem; }
.co-source-guide { display: flex; align-items: flex-start; gap: 7px; margin-bottom: 9px; padding: 9px; border-radius: 8px; background: rgba(56,166,255,.05); color: #747474; font-size: .57rem; line-height: 1.4; }
.co-source-guide i { flex: 0 0 8px; margin-top: 2px; }
.co-source-blocks { display: grid; gap: 5px; }
.co-source-block { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: #101010; color: #858585; text-align: left; cursor: grab; }
.co-source-block:active { cursor: grabbing; }
.co-source-block--used { border-color: rgba(56,166,255,.28); background: rgba(56,166,255,.08); color: #b9dcf7; }
.co-source-block span { font: .58rem/1.4 var(--font-body); }
.co-source-block em { align-self: center; color: #527d9e; font: normal .5rem var(--font-body); white-space: nowrap; }
.co-raw-request { margin-top: 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; }
.co-raw-request summary { padding: 9px; color: #737373; font-size: .58rem; cursor: pointer; }
.co-raw-request pre { max-height: 320px; overflow: auto; margin: 0; padding: 11px; border-top: 1px solid rgba(255,255,255,.06); color: #6b6b6b; font: .56rem/1.55 var(--font-body); white-space: pre-wrap; }
.co-rewrite-tab .co-feedback { min-height: 260px; }
.co-rewrite-tab .co-feedback-actions { align-items: stretch; flex-direction: column; }
.co-details-tab .co-field-grid { margin-top: 0; }
.co-file-path { margin-top: 12px; padding: 9px; border: 1px solid rgba(255,92,0,.2); border-radius: 7px; color: #7a6a61; font-size: .58rem; text-align: center; }

@media (max-width: 1120px) {
  .co-main--workspace { padding-inline: 14px; }
  .co-workspace { grid-template-columns: minmax(520px,1.25fr) minmax(360px,.85fr); gap: 12px; }
  .co-document { padding-inline: 34px; }
}
@media (max-width: 900px) {
  .co-main--workspace { padding: 12px 12px 36px; }
  .co-workspace { grid-template-columns: 1fr; }
  .co-assistant { position: relative; top: auto; height: auto; min-height: 640px; order: -1; }
  .co-assistant-body { max-height: 68vh; }
  .co-document { min-height: 900px; }
}
@media (max-width: 620px) {
  .co-queue-bar { align-items: stretch; flex-wrap: wrap; }
  .co-queue-label { width: 100%; }
  .co-queue-items { order: 3; width: 100%; }
  .co-queue-bulk-actions { flex: 1; flex-wrap: wrap; }
  .co-queue-new { margin-left: auto; }
  .co-document { padding: 32px 20px 45px; }
  .co-doc-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .co-doc-decisions p { grid-template-columns: 1fr; gap: 4px; }
  .co-assistant-tabs { overflow-x: auto; grid-template-columns: repeat(4,minmax(80px,1fr)); }
  .co-compact-options button { grid-template-columns: 1fr; gap: 4px; }
  .co-batch-intake { padding: 17px; }
  .co-batch-list--bulk { grid-template-columns: 1fr; }
  .co-batch-request textarea { min-height: 180px; }
}

/* Change Order: template-true preview + one simple scope rail */
.co-workspace {
  grid-template-columns: minmax(700px, 1fr) 410px;
  gap: 24px;
}
.co-document-shell {
  display: grid;
  gap: 24px;
  width: 100%;
  min-width: 0;
}
.co-preview-page {
  position: relative;
  width: min(850px, 100%);
  aspect-ratio: 8.5 / 11;
  min-height: 0;
  margin: 0 auto;
  padding: 70px 64px 58px;
  overflow: hidden;
  border: 1px solid #dedede;
  border-radius: 2px;
  background: #fff;
  color: #171717;
  box-shadow: 0 24px 75px rgba(0,0,0,.42);
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 12px;
  line-height: 1.45;
}
.co-preview-page h1,
.co-preview-page h2,
.co-preview-page h3,
.co-preview-page p { margin-top: 0; }
.co-preview-page h2 { color: #151515; font-size: 18px; line-height: 1.25; }
.co-preview-logo { position: absolute; top: 38px; right: 64px; width: 92px; height: auto; filter: brightness(0); }
.co-preview-page-number { position: absolute; right: 64px; bottom: 34px; color: #111; font-size: 13px; }
.co-preview-missing {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px dashed #ff2020;
  background: transparent;
  color: #f11;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
}
.co-preview-missing:hover { background: #fff0f0; }

.co-preview-cover { display: flex; flex-direction: column; }
.co-preview-co-line { margin: 20px 0 46px; font-size: 16px; }
.co-preview-cover h1 { margin: 0 0 26px; font-size: 34px; line-height: 1.05; letter-spacing: -.035em; text-transform: uppercase; }
.co-preview-cover h2 { margin: 0 0 20px; font-size: 24px; font-weight: 400; }
.co-preview-rule { height: 2px; margin: 0 0 66px; background: #aaa; }
.co-preview-cover-meta { display: grid; gap: 4px; margin: 0; }
.co-preview-cover-meta > div { display: grid; grid-template-columns: 155px minmax(0,1fr); }
.co-preview-cover-meta dt { font-weight: 500; text-transform: uppercase; }
.co-preview-cover-meta dd { margin: 0; }
.co-preview-cover-meta + .co-preview-rule { margin: 14px 0 68px; }
.co-preview-effective { font-size: 10px; line-height: 1.55; }
.co-preview-thanks { display: grid; gap: 28px; margin-top: auto; padding-bottom: 36px; text-align: center; }
.co-preview-thanks strong { font-size: 15px; font-weight: 500; }
.co-preview-thanks span { font-size: 14px; }

.co-preview-deliverables { padding-top: 120px; transition: box-shadow .15s, border-color .15s; }
.co-preview-deliverables > h2 { margin-bottom: 24px; font-size: 19px; }
.co-preview-deliverables > h3 { margin: 0 0 22px; font-size: 15px; }
.co-preview-sow-list { display: grid; gap: 12px; margin: 0 0 22px; padding-left: 32px; }
.co-preview-sow-list > li { padding-left: 8px; }
.co-preview-sow-list > li > strong { display: inline-block; margin-bottom: 2px; font-size: 12px; }
.co-preview-sow-list > li > div { margin: 3px 0 0 8px; }
.co-preview-sow-list > li > div > b { display: block; margin-bottom: 2px; font-size: 11px; }
.co-preview-sow-list ul { display: grid; gap: 2px; margin: 2px 0 0; padding-left: 27px; list-style-type: circle; }
.co-preview-drop-zone { margin: 12px 0; padding: 8px; border: 1px dashed #d7d7d7; color: #aaa; font-size: 9px; text-align: center; }
.co-preview-page--drop { border-color: #ff895f; box-shadow: 0 0 0 5px rgba(255,101,46,.2), 0 24px 75px rgba(0,0,0,.42); }
.co-preview-page--drop .co-preview-drop-zone { border-color: #ff6c35; background: #fff4ef; color: #d54a18; }
.co-preview-inline-timing { display: grid; gap: 3px; margin: 14px 0 0 18px; color: #202020; }
.co-preview-inline-timing strong,
.co-preview-inline-timing span { display: block; }
.co-preview-inline-timing strong { font-size: 1.05em; }
.co-preview-inline-timing span { line-height: 1.45; }
.co-preview-scope-phase { border-radius: 4px; transition: background .18s ease, box-shadow .18s ease; }
.co-preview-scope-phase.is-source-focused { background: rgba(76,174,255,.13); box-shadow: 0 0 0 5px rgba(76,174,255,.13); }
.co-preview-orange-rule { height: 1px; margin-top: 32px; background: #ff9a7b; }

.co-preview-fees { padding-top: 92px; }
.co-preview-fees > h2 { margin: 0 0 24px; font-weight: 500; }
.co-preview-fees > p { margin-bottom: 22px; font-size: 11px; }
.co-preview-amendment { font-style: italic; line-height: 1.55; }
.co-preview-payment { width: 100%; margin: 18px 0; border-collapse: collapse; table-layout: fixed; font-size: 10px; }
.co-preview-payment th,
.co-preview-payment td { padding: 9px 8px; border: 1px solid #181818; text-align: left; }
.co-preview-payment th { background: #ff8b67; color: #fff; font-weight: 700; }
.co-preview-payment th:nth-child(1) { width: 18%; }
.co-preview-payment th:nth-child(2) { width: 50%; }
.co-preview-payment th:nth-child(3) { width: 14%; text-align: center; }
.co-preview-payment th:nth-child(4) { width: 18%; text-align: right; }
.co-preview-payment td:nth-child(3) { text-align: center; }
.co-preview-payment td:nth-child(4) { text-align: right; }
.co-preview-payment .co-preview-total td { background: #ff8b67; font-weight: 700; }
.co-preview-exclusions { font-size: 8.5px !important; line-height: 1.45; }

.co-preview-acceptance { padding-top: 84px; }
.co-preview-acceptance > h2 { margin-bottom: 20px; }
.co-preview-acceptance > p { margin-bottom: 28px; font-size: 12px; line-height: 1.75; }
.co-preview-acceptance-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; margin-top: 28px; border: 1px solid #111; }
.co-preview-acceptance-grid > dl { margin: 0; border-right: 1px solid #111; }
.co-preview-acceptance-grid > dl > div { display: grid; grid-template-columns: 84px minmax(0,1fr); min-height: 43px; border-bottom: 1px solid #111; }
.co-preview-acceptance-grid > dl > div:last-child { min-height: 85px; border-bottom: 0; }
.co-preview-acceptance-grid dt,
.co-preview-acceptance-grid dd { padding: 8px; }
.co-preview-acceptance-grid dt { background: #e5f0f3; text-transform: uppercase; }
.co-preview-acceptance-grid dd { margin: 0; overflow-wrap: anywhere; }
.co-preview-acceptance-grid dd small { display: block; margin-top: 8px; }
.co-preview-signature { display: flex; flex-direction: column; gap: 28px; min-width: 0; padding: 10px 8px; border-right: 1px solid #111; }
.co-preview-signature:last-child { border-right: 0; }
.co-preview-signature strong { margin-bottom: 18px; font-size: 11px; font-weight: 500; }
.co-preview-signature span { font-size: 9px; line-height: 1.45; }

.co-simple-rail {
  position: sticky;
  top: 82px;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  height: calc(100vh - 100px);
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: #0e0e0e;
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
}
.co-simple-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; border-bottom: 1px solid rgba(255,255,255,.08); }
.co-simple-rail-head span,
.co-simple-rail-head strong { display: block; }
.co-simple-rail-head span { color: #666; font: 700 .55rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-simple-rail-head strong { margin-top: 3px; color: #eee; font: 700 .82rem var(--font-display); }
.co-action-button { padding: 7px 9px; border: 1px solid rgba(34,197,94,.3); border-radius: 7px; background: rgba(34,197,94,.05); color: #6fd78a; font: 700 .58rem var(--font-body); cursor: pointer; }
.co-action-button--needed { border-color: rgba(255,54,54,.48); background: rgba(255,54,54,.08); color: #ff6464; }
.co-simple-rail-body { min-height: 0; overflow-y: auto; padding: 15px; }
.co-simple-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.co-simple-intro strong { color: #ededed; font: 700 .82rem var(--font-display); }
.co-simple-intro p { margin: 4px 0 0; color: #747474; font-size: .62rem; line-height: 1.45; }
.co-simple-intro > button { padding: 6px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: #171717; color: #bbb; font: 700 .58rem var(--font-body); cursor: pointer; }
.co-simple-scope-list { display: grid; gap: 7px; }
.co-simple-scope { display: grid; grid-template-columns: 16px minmax(0,1fr) auto; align-items: start; gap: 8px; padding: 11px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: #121212; cursor: grab; }
.co-simple-scope:active { cursor: grabbing; }
.co-simple-scope--in { border-color: rgba(255,102,42,.3); background: rgba(255,102,42,.045); }
.co-simple-scope-grip { padding-top: 1px; color: #4f4f4f; font-size: .65rem; letter-spacing: -2px; }
.co-simple-scope strong { display: block; color: #d9d9d9; font: 700 .67rem/1.35 var(--font-display); }
.co-simple-scope p { display: -webkit-box; overflow: hidden; margin: 4px 0 0; color: #686868; font-size: .57rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.co-simple-scope > button { align-self: center; padding: 5px 7px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; background: #0d0d0d; color: #777; font: 700 .52rem var(--font-body); cursor: pointer; }
.co-simple-scope--in > button { border-color: rgba(34,197,94,.23); color: #69bd7c; }
.co-simple-details { margin-top: 12px; border-top: 1px solid rgba(255,255,255,.08); }
.co-simple-details > summary { padding: 13px 2px 9px; color: #aaa; font: 700 .64rem var(--font-body); cursor: pointer; }
.co-simple-details .co-feedback { min-height: 110px; }
.co-simple-details .co-feedback-actions { margin-top: 8px; }
.co-simple-request pre { max-height: 300px; overflow: auto; margin: 0; padding: 11px; border-radius: 7px; background: #090909; color: #777; font: .56rem/1.55 var(--font-body); white-space: pre-wrap; }
.co-simple-note { margin: 0 0 12px; padding: 9px; border-radius: 7px; background: rgba(255,255,255,.035); color: #777; font-size: .59rem; line-height: 1.45; }
.co-simple-sow-matches { display: grid; gap: 6px; margin-bottom: 12px; }
.co-simple-sow-matches > span { color: #777; font: 700 .56rem var(--font-body); text-transform: uppercase; }
.co-simple-sow-matches > button { display: grid; gap: 2px; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: #111; text-align: left; cursor: pointer; }
.co-simple-sow-matches > button.active { border-color: rgba(56,166,255,.5); background: rgba(56,166,255,.06); }
.co-simple-sow-matches strong { color: #ddd; font-size: .62rem; }
.co-simple-sow-matches small { color: #666; font-size: .54rem; }
.co-simple-rail-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-top: 1px solid rgba(255,255,255,.08); background: #0b0b0b; }
.co-simple-rail-footer span,
.co-simple-rail-footer small { display: block; }
.co-simple-rail-footer span { color: #bbb; font: 700 .62rem var(--font-body); }
.co-simple-rail-footer small { margin-top: 2px; color: #5e5e5e; font-size: .54rem; }
.co-simple-rail-footer .btn-primary { min-width: 160px; }

.co-trace-legend { display: flex; flex-wrap: wrap; gap: 7px 12px; padding: 10px 15px; border-bottom: 1px solid rgba(255,255,255,.07); background: #0b0b0b; }
.co-trace-legend span { display: inline-flex; align-items: center; gap: 5px; color: #777; font: 600 .53rem var(--font-body); }
.co-trace-legend i { width: 7px; height: 7px; border-radius: 999px; background: currentColor; box-shadow: 0 0 9px currentColor; }
.co-trace-legend--red { color: #ff6265 !important; }
.co-trace-legend--green { color: #3bd477 !important; }
.co-trace-legend--blue { color: #4caeff !important; }
.co-trace-body { padding: 0; }
.co-trace-copy { padding: 17px 16px 40px; color: #aaa; font: 500 .65rem/1.78 var(--font-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.co-trace-mark { display: inline; margin: 0; padding: 0 0 1px; border: 0; border-bottom: 2px solid; background: transparent; color: #e1e1e1; font: inherit; line-height: inherit; text-align: left; cursor: pointer; transition: background .15s ease, color .15s ease; }
.co-trace-mark:hover,
.co-trace-mark.active { color: #fff; }
.co-trace-mark--red { border-color: #ff6265; }
.co-trace-mark--red:hover,
.co-trace-mark--red.active { background: rgba(255,98,101,.13); }
.co-trace-mark--green { border-color: #3bd477; }
.co-trace-mark--green:hover,
.co-trace-mark--green.active { background: rgba(59,212,119,.12); }
.co-trace-mark--blue { border-color: #4caeff; }
.co-trace-mark--blue:hover,
.co-trace-mark--blue.active { background: rgba(76,174,255,.12); }
.co-trace-action-wrap { display: block; white-space: normal; }
.co-trace-suggestion { display: grid; gap: 10px; margin: 10px 0 15px; padding: 12px; border-left: 2px solid; border-radius: 0 9px 9px 0; background: #141414; box-shadow: 0 12px 32px rgba(0,0,0,.28); }
.co-trace-suggestion--red { border-color: #ff6265; background: rgba(255,98,101,.055); }
.co-trace-suggestion--green { border-color: #3bd477; background: rgba(59,212,119,.05); }
.co-trace-suggestion--blue { border-color: #4caeff; background: rgba(76,174,255,.055); }
.co-trace-suggestion > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.co-trace-suggestion > header span { color: #8a8a8a; font: 700 .52rem var(--font-body); letter-spacing: .07em; text-transform: uppercase; }
.co-trace-suggestion > header button { width: 22px; height: 22px; border: 0; border-radius: 999px; background: rgba(255,255,255,.06); color: #999; cursor: pointer; }
.co-trace-suggestion > strong { color: #f0f0f0; font: 700 .66rem/1.42 var(--font-display); }
.co-trace-source { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: rgba(0,0,0,.24); }
.co-trace-source b,
.co-trace-source small { display: block; }
.co-trace-source b { color: #ddd; font-size: .59rem; line-height: 1.35; }
.co-trace-source small { margin-top: 2px; color: #777; font-size: .51rem; }
.co-trace-source a { flex: 0 0 auto; color: #6ebcff; font: 700 .54rem var(--font-body); }
.co-trace-refresh { justify-self: start; padding: 6px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; background: #181818; color: #bbb; font: 700 .54rem var(--font-body); cursor: pointer; }
.co-trace-source-options,
.co-trace-options { display: grid; gap: 6px; }
.co-trace-source-options button,
.co-trace-options button { padding: 8px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: #101010; color: #b9b9b9; font: 600 .55rem/1.35 var(--font-body); text-align: left; cursor: pointer; }
.co-trace-source-options button.active,
.co-trace-options button.active { border-color: rgba(59,212,119,.58); background: rgba(59,212,119,.09); color: #e5ffed; }
.co-trace-options b,
.co-trace-options small { display: block; }
.co-trace-options small { margin-top: 3px; color: #777; font-size: .51rem; font-weight: 500; }
.co-trace-change { display: grid; gap: 8px; padding: 9px; border-radius: 7px; background: rgba(0,0,0,.22); }
.co-trace-change > span { color: #75bdff; font: 700 .5rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.co-trace-change p { margin: 0; color: #969696; font-size: .57rem; line-height: 1.45; }
.co-trace-change button { justify-self: start; padding: 6px 8px; border: 1px solid rgba(76,174,255,.42); border-radius: 6px; background: rgba(76,174,255,.08); color: #8bcaff; font: 700 .54rem var(--font-body); cursor: pointer; }
.co-trace-generated { padding: 8px 9px; border-left: 2px solid rgba(76,174,255,.52); background: rgba(76,174,255,.06); }
.co-trace-generated b { display: block; margin-bottom: 4px; color: #dceeff; font-size: .57rem; }
.co-trace-generated ul { margin: 0; padding-left: 15px; color: #8f9da8; font-size: .53rem; line-height: 1.45; }
.co-trace-rewrite { display: grid; gap: 7px; padding-top: 3px; }
.co-trace-rewrite textarea { min-height: 72px; resize: vertical; padding: 9px; border: 1px solid rgba(255,255,255,.11); border-radius: 7px; background: #0b0b0b; color: #eee; font: 500 .58rem/1.45 var(--font-body); }
.co-trace-rewrite > div { display: flex; justify-content: flex-end; gap: 7px; }
.co-trace-rewrite .btn-primary { min-width: 0; padding: 7px 9px; font-size: .55rem; }
.co-trace-suggestion .co-field-grid { margin-top: 0; }

@media (max-width: 1180px) {
  .co-workspace { grid-template-columns: minmax(560px,1fr) 370px; gap: 14px; }
  .co-workspace--sow-compare { grid-template-columns: minmax(560px,1fr) minmax(410px,.85fr); }
  .co-preview-page { padding-inline: 48px; }
  .co-preview-logo { right: 48px; }
}
@media (max-width: 930px) {
  .co-workspace { grid-template-columns: 1fr; }
  .co-simple-rail { position: relative; top: auto; order: -1; height: auto; min-height: 0; }
  .co-sow-compare-panel { position: relative; top: auto; order: -1; height: 72vh; min-height: 560px; }
  .co-simple-rail-body { max-height: 520px; }
  .co-preview-page { width: min(760px,100%); }
}
@media (max-width: 620px) {
  .co-preview-page { padding: 36px 24px 42px; font-size: 8px; }
  .co-preview-logo { top: 20px; right: 24px; width: 60px; }
  .co-preview-page-number { right: 24px; bottom: 20px; }
  .co-preview-co-line { margin: 10px 0 30px; font-size: 10px; }
  .co-preview-cover h1 { margin-bottom: 18px; font-size: 23px; }
  .co-preview-cover h2 { font-size: 15px; }
  .co-preview-rule { margin-bottom: 34px; }
  .co-preview-cover-meta > div { grid-template-columns: 100px minmax(0,1fr); }
  .co-preview-cover-meta + .co-preview-rule { margin: 10px 0 34px; }
  .co-preview-deliverables { padding-top: 64px; }
  .co-preview-page h2 { font-size: 12px; }
  .co-preview-deliverables > h3 { font-size: 10px; }
  .co-preview-sow-list > li > strong { font-size: 8px; }
  .co-preview-acceptance-grid { grid-template-columns: 1fr; }
  .co-preview-acceptance-grid > dl,
  .co-preview-signature { border-right: 0; border-bottom: 1px solid #111; }
  .co-preview-signature:last-child { border-bottom: 0; }
  .co-simple-rail-footer { align-items: stretch; flex-direction: column; }
}

/* Shared Change Order workspaces, source tray, and library */
.co-header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.co-header-actions .nav-btn { text-decoration: none; }
.co-rail-head-actions { display: flex; align-items: center; gap: 6px; }
.co-share-button { padding: 7px 8px; border: 1px solid rgba(56,166,255,.28); border-radius: 7px; background: rgba(56,166,255,.05); color: #7db9e8; font: 700 .56rem var(--font-body); cursor: pointer; }
.co-report-button { padding: 7px 8px; border: 1px solid rgba(255,112,48,.3); border-radius: 7px; background: rgba(255,96,24,.06); color: #f58a58; font: 700 .56rem var(--font-body); cursor: pointer; }
.co-sow-link,
.co-sow-compare-button { padding: 7px 8px; border: 1px solid rgba(93,166,216,.25); border-radius: 7px; background: rgba(64,136,184,.055); color: #7db9e8; font: 700 .54rem var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.co-sow-compare-button { border-color: rgba(255,255,255,.11); background: #151515; color: #aaa; }
.co-rail-head-actions { flex-wrap: wrap; justify-content: flex-end; }

.co-workspace--sow-compare { grid-template-columns: minmax(620px,1.1fr) minmax(470px,.9fr); }
.co-sow-compare-panel { position: sticky; top: 88px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; height: calc(100vh - 108px); min-height: 650px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: #0d0d0d; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.co-sow-compare-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,.09); }
.co-sow-compare-panel > header span,
.co-sow-compare-panel > header strong { display: block; }
.co-sow-compare-panel > header span { color: #687f90; font: 700 .48rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-sow-compare-panel > header strong { max-width: 280px; overflow: hidden; margin-top: 3px; color: #e2e2e2; font: 700 .65rem var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.co-sow-compare-panel > header nav { display: flex; align-items: center; gap: 7px; }
.co-sow-compare-panel > header a,
.co-sow-compare-panel > header button { padding: 6px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #151515; color: #8ebbd9; font: 700 .52rem var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.co-sow-compare-panel > header button { color: #aaa; }
.co-sow-compare-panel iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.co-sow-compare-panel > p { margin: 0; padding: 8px 12px; border-top: 1px solid rgba(255,255,255,.08); color: #666; font-size: .5rem; text-align: center; }

.co-preview-stage,
.co-polish-shell { min-width: 0; }
.co-preview-stage > header,
.co-polish-shell > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: min(850px,100%); margin: 0 auto 10px; }
.co-preview-stage > header span,
.co-preview-stage > header small,
.co-polish-shell > header span,
.co-polish-shell > header small { display: block; }
.co-preview-stage > header span,
.co-polish-shell > header span { color: #d8d8d8; font: 700 .65rem var(--font-display); }
.co-preview-stage > header small,
.co-polish-shell > header small { margin-top: 2px; color: #6d6d6d; font: .54rem/1.35 var(--font-body); }
.co-preview-stage > header button,
.co-polish-shell > header button { padding: 7px 10px; border: 1px solid rgba(255,92,0,.4); border-radius: 7px; background: rgba(255,92,0,.08); color: #ff8750; font: 700 .57rem var(--font-body); cursor: pointer; }
.co-polish-shell > .ed-wrap { display: block; }
.co-polish-shell .ed-main { width: 100%; }
.co-polish-shell .ed-toolbar { top: 82px; width: min(980px,100%); margin-inline: auto; background: rgba(17,17,17,.98); box-shadow: 0 10px 28px rgba(0,0,0,.32); }
.co-polish-shell .ed-pages { max-width: 850px; }
.co-polish-shell .ed-sheet { min-height: 1100px; box-shadow: 0 24px 75px rgba(0,0,0,.42); }
.co-polish-shell .ed-format-bold { font-weight: 800; }
.co-polish-shell .ed-format-italic { font-style: italic; }

.co-workspace--ticket-triple { grid-template-columns: minmax(540px,1.05fr) minmax(430px,.85fr) minmax(330px,.62fr); gap: 12px; }
.co-workspace--ticket-triple .co-preview-page,
.co-workspace--ticket-triple .ed-pages { max-width: 760px; }
.co-ticket-third-panel { top: 88px; height: calc(100vh - 108px); }
.co-ticket-selection { display: grid; gap: 8px; margin: 12px 12px 0; padding: 10px; border: 1px solid rgba(76,174,255,.3); border-radius: 8px; background: rgba(76,174,255,.07); }
.co-ticket-selection > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.co-ticket-selection span,
.co-ticket-selection strong { display: block; }
.co-ticket-selection span { color: #6d9bbb; font: 700 .48rem var(--font-body); letter-spacing: .07em; text-transform: uppercase; }
.co-ticket-selection strong { display: -webkit-box; overflow: hidden; margin-top: 4px; color: #d8eaf7; font: 600 .57rem/1.4 var(--font-body); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.co-ticket-selection > header button { border: 0; background: transparent; color: #7b9aaf; cursor: pointer; }
.co-ticket-selection textarea { min-height: 88px; resize: vertical; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #080d10; color: #d8eaf7; font: .55rem/1.45 var(--font-body); }
.co-ticket-selection > div { display: flex; justify-content: flex-end; gap: 7px; }
.co-ticket-selection > div button { padding: 6px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #151a1d; color: #9bb9cc; font: 700 .52rem var(--font-body); cursor: pointer; }
.co-ticket-selection > div .btn-primary { border-color: #ff5c00; background: #ff5c00; color: #fff; }
.co-trace-copy,
.co-trace-mark { user-select: text; }

@media (max-width: 1450px) {
  .co-workspace--ticket-triple { grid-template-columns: minmax(520px,1fr) minmax(390px,.8fr); }
  .co-workspace--ticket-triple .co-ticket-third-panel { grid-column: 1 / -1; position: relative; top: auto; height: 68vh; min-height: 520px; }
}

.co-scope-tray { display: grid; gap: 16px; }
.co-scope-tray > section > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.co-scope-tray > section > header strong { color: #cfcfcf; font: 700 .64rem var(--font-display); }
.co-scope-tray > section > header small { display: block; margin-top: 2px; color: #5f5f5f; font: .53rem/1.35 var(--font-body); }
.co-scope-tray > section > header > span { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #1d1d1d; color: #828282; font: 700 .54rem var(--font-body); }
.co-scope-tray--out { padding-top: 13px; border-top: 1px solid rgba(255,255,255,.08); }
.co-simple-source-item { border-style: dashed; }
.co-simple-source-item > span { align-self: center; color: #5984a3; font: 700 .5rem var(--font-body); text-transform: uppercase; }
.co-scope-empty { margin: 0; padding: 10px; border: 1px dashed rgba(255,255,255,.08); border-radius: 8px; color: #5f5f5f; font-size: .57rem; text-align: center; }
.co-simple-rewrite { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.co-simple-rewrite > strong { color: #d7d7d7; font: 700 .69rem var(--font-display); }
.co-simple-rewrite > p { margin: 3px 0 8px; color: #626262; font-size: .56rem; }
.co-simple-rewrite .co-feedback { min-height: 112px; }
.co-simple-rewrite .co-feedback-actions { margin-top: 8px; }

.co-preview-scope-phase { border-radius: 4px; transition: background .15s, outline-color .15s; }
.co-preview-scope-phase:has(:focus),
.co-preview-scope-phase:hover { background: #fffaf7; }
.co-preview-page--drop .co-preview-scope-phase { outline: 1px dashed rgba(255,108,53,.28); outline-offset: 4px; }
.co-preview-deliverables > .co-preview-logo { top: 38px; }

.co-sow-match-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px; align-items: center; }
.co-sow-match-row > button { display: grid; gap: 2px; min-width: 0; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; background: #111; text-align: left; cursor: pointer; }
.co-sow-match-row > button.active { border-color: rgba(56,166,255,.5); background: rgba(56,166,255,.06); }
.co-sow-match-row strong { overflow: hidden; color: #ddd; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.co-sow-match-row small { overflow: hidden; color: #666; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.co-sow-match-row nav { display: grid; gap: 3px; }
.co-sow-match-row a { color: #6da9d5; font: 700 .5rem var(--font-body); text-decoration: none; white-space: nowrap; }

.co-library-main { width: min(1480px,100%); max-width: none; padding-bottom: 80px; }
.co-library-hero { min-height: 0; padding: 48px 0 12px; }
.co-library-hero h1 { margin-bottom: 10px; }
.co-library-primary-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.co-library-primary-actions a { min-height: 38px; padding: 9px 13px; text-decoration: none; }
.co-library-toolbar { position: sticky; z-index: 8; top: 82px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(12,12,12,.96); box-shadow: 0 15px 40px rgba(0,0,0,.28); }
.co-library-toolbar > span { color: #878787; font-size: .66rem; }
.co-library-toolbar nav { display: flex; align-items: center; gap: 7px; }
.co-library-toolbar button { min-height: 30px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #171717; color: #bdbdbd; font: 700 .58rem var(--font-body); cursor: pointer; }
.co-library-toolbar button:disabled { opacity: .4; cursor: not-allowed; }
.co-library-check { position: relative; display: grid; width: 18px; height: 18px; flex: 0 0 auto; cursor: pointer; }
.co-library-check input { position: absolute; opacity: 0; pointer-events: none; }
.co-library-check > span { display: block; border: 1px solid #444; border-radius: 4px; background: #0b0b0b; }
.co-library-check input:checked + span { border-color: #ff6a26; background: #ff5c00; box-shadow: inset 0 0 0 3px #121212; }
.co-delete-button { color: #e06767 !important; border-color: rgba(224,74,74,.24) !important; background: rgba(140,32,32,.08) !important; }
.co-delete-button:hover { border-color: rgba(255,82,82,.6) !important; color: #ff8d8d !important; }
.co-library-section { position: relative; z-index: 2; margin-top: 28px; }
.co-library-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.1); }
.co-library-heading strong { color: #eee; font: 700 1rem var(--font-display); }
.co-library-heading p { margin: 3px 0 0; color: #696969; font-size: .68rem; }
.co-library-heading > span { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 999px; background: rgba(255,92,0,.1); color: #ff7a35; font: 700 .64rem var(--font-body); }
.co-history-heading-actions { display: flex; align-items: center; gap: 8px; }
.co-history-heading-actions span { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 999px; background: rgba(255,92,0,.1); color: #ff7a35; font: 700 .64rem var(--font-body); }
.co-history-heading-actions button { min-height: 32px; padding: 6px 10px; border: 1px solid rgba(255,112,48,.28); border-radius: 7px; background: rgba(255,92,0,.07); color: #f58a58; font: 700 .58rem var(--font-body); cursor: pointer; }
.co-history-heading-actions button:disabled { opacity: .5; cursor: wait; }
.co-history-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.co-history-card { display: flex; flex-direction: column; min-height: 238px; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: linear-gradient(150deg,rgba(18,18,18,.98),rgba(12,12,12,.98)); }
.co-history-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.co-history-card > header span,
.co-history-card > header strong { display: block; }
.co-history-card > header span { color: #ff7538; font: 700 .48rem var(--font-body); letter-spacing: .07em; text-transform: uppercase; }
.co-history-card > header strong { margin-top: 3px; color: #e7e7e7; font: 700 .72rem var(--font-display); }
.co-history-card > header small { color: #5f5f5f; font-size: .5rem; text-align: right; }
.co-history-card h3 { margin: 15px 0 10px; color: #939393; font: 600 .61rem/1.4 var(--font-body); }
.co-history-card dl { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7px; margin: 0; }
.co-history-card dl > div { padding: 8px; border: 1px solid rgba(255,255,255,.065); border-radius: 7px; background: rgba(0,0,0,.22); }
.co-history-card dt { color: #656565; font: 700 .47rem var(--font-body); text-transform: uppercase; }
.co-history-card dd { margin: 3px 0 0; color: #cfcfcf; font: 600 .57rem/1.35 var(--font-body); }
.co-history-card ul { margin: 10px 0 0; padding-left: 16px; color: #777; font-size: .54rem; line-height: 1.45; }
.co-history-card > nav { display: flex; gap: 12px; margin-top: auto; padding-top: 12px; }
.co-history-card > nav a { color: #65a8d8; font: 700 .54rem var(--font-body); text-decoration: none; }
.co-library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.co-library-card { display: flex; flex-direction: column; min-height: 260px; padding: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: rgba(15,15,15,.94); box-shadow: 0 18px 48px rgba(0,0,0,.2); }
.co-library-card.is-selected,
.co-library-archive article.is-selected { border-color: rgba(255,92,0,.62); background: rgba(34,19,12,.92); }
.co-library-card-top { display: flex; justify-content: space-between; gap: 10px; }
.co-library-card-top b { margin-right: auto; color: #ff7430; font: 700 .56rem var(--font-body); text-transform: uppercase; }
.co-library-card-top small { color: #5e5e5e; font-size: .54rem; }
.co-library-card h2 { margin: 22px 0 3px; color: #eee; font: 700 1rem/1.25 var(--font-display); }
.co-library-card > p { margin: 0; color: #707070; font-size: .66rem; }
.co-library-source { display: grid; gap: 2px; margin-top: 16px; padding: 9px; border-left: 2px solid #358fcc; background: rgba(56,166,255,.04); }
.co-library-source span { color: #64859d; font: 700 .5rem var(--font-body); text-transform: uppercase; }
.co-library-source strong { overflow: hidden; color: #b8cddd; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.co-library-source small { overflow: hidden; color: #59636a; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.co-library-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 18px; }
.co-library-actions .btn-primary,
.co-library-actions .btn-secondary { min-height: 34px; padding: 7px 9px; font-size: .58rem; text-decoration: none; }
.co-library-archive { display: grid; gap: 7px; }
.co-library-archive article { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: #111; }
.co-library-archive article > div { min-width: 0; margin-right: auto; }
.co-library-archive strong,
.co-library-archive small { display: block; }
.co-library-archive strong { color: #d9d9d9; font-size: .7rem; }
.co-library-archive small { margin-top: 2px; color: #626262; font-size: .55rem; }
.co-library-archive nav { display: flex; gap: 12px; }
.co-library-archive a,
.co-library-archive nav button { padding: 0; border: 0; background: transparent; color: #ff7a35; font: 700 .58rem var(--font-body); text-decoration: none; cursor: pointer; }
.co-library-archive nav button:disabled { opacity: .5; cursor: wait; }
.co-library-archive .co-delete-link { color: #db6767; }

/* Shared tracker language: one bordered, collapsible table per time period. */
.invoice-month-groups { display: grid; gap: 14px; }
.invoice-month-panel { scroll-margin-top: calc(var(--bald-bar-h, 66px) + 16px); border: 1px solid #30302e; border-radius: 11px; overflow: clip; background: #101110; }
.invoice-month-panel.is-current { border-color: #259b6d; }
.invoice-month-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 54px; padding: 0 16px; list-style: none; cursor: pointer; }
.invoice-month-panel > summary::-webkit-details-marker { display: none; }
.invoice-month-panel > summary > span { display: flex; align-items: center; gap: 10px; color: #a8a29b; font-size: .69rem; }
.invoice-month-edit { display: inline-grid; place-items: center; width: 21px; height: 21px; margin-left: 2px; padding: 0; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: transparent; color: #98938d; font: 700 .65rem var(--font-body); cursor: pointer; }
.invoice-month-edit:hover,
.invoice-month-edit:focus-visible { border-color: rgba(255,92,0,.65); color: #ff7a35; outline: 0; }
.invoice-month-edit.is-active { border-color: #ff6a17; background: rgba(255,92,0,.14); color: #ff8a4a; box-shadow: 0 0 0 3px rgba(255,92,0,.07); }
.invoice-month-panel > summary strong { color: #f2eee9; font: 700 .82rem var(--font-display); letter-spacing: .11em; text-transform: uppercase; }
.invoice-month-panel > summary i { color: #ded8d1; font-style: normal; transition: transform .18s ease; }
.invoice-month-panel[open] > summary i { transform: rotate(90deg); }
.invoice-month-panel > summary em { padding: 2px 6px; border-radius: 999px; background: #1fb97b; color: #07150f; font: 800 .48rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.invoice-month-panel .invoice-table-wrap { border: 0; border-top: 1px solid #30302e; border-radius: 0; }
.invoice-month-panel .invoice-table { background: #111211; }
.invoice-month-panel .invoice-table th { background: #151615; }
.invoice-page--milestones .invoice-table { min-width: 820px; }
.tracker-comment-row td { padding: 0 12px 12px !important; border-left: 0 !important; background: #0d0e0d !important; }
.tracker-comment-row:hover td { background: #0d0e0d !important; }
.tracker-comments { padding: 8px 0 2px 42px; }
.tracker-comment-list { display: grid; gap: 7px; }
.tracker-comment-list article { max-width: 760px; padding: 8px 11px; border-left: 2px solid rgba(255,92,0,.45); border-radius: 0 7px 7px 0; background: rgba(255,255,255,.025); cursor: pointer; outline: 0; }
.tracker-comment-list article:hover,
.tracker-comment-list article:focus { background: rgba(255,92,0,.07); }
.tracker-comment-list article.is-reply { margin-left: 28px; border-left-color: rgba(67,211,160,.45); }
.tracker-comment-list p { margin: 0; color: #c5beb7; font-size: .68rem; line-height: 1.5; white-space: pre-wrap; }
.tracker-comment-list small { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 4px; color: #6f6a64; font-size: .54rem; }
.tracker-comment-list small b { margin-left: 8px; color: #a49c94; opacity: 0; }
.tracker-comment-list article:hover small b,
.tracker-comment-list article:focus small b { opacity: 1; }
.tracker-comment-actions { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.tracker-comment-actions button { padding: 0; border: 0; background: transparent; color: #8b645f; font: 700 .54rem var(--font-body); cursor: pointer; opacity: .72; }
.tracker-comment-list article:hover .tracker-comment-actions button,
.tracker-comment-list article:focus-within .tracker-comment-actions button { opacity: 1; }
.tracker-comment-actions button:hover,
.tracker-comment-actions button:focus-visible { color: #ef7676; outline: 0; }
.tracker-comment-actions button:disabled { cursor: default; opacity: .45 !important; }
.tracker-comment-count { display: inline-flex; margin-top: 5px; padding: 2px 6px; border: 1px solid rgba(255,122,53,.25); border-radius: 999px; background: rgba(255,92,0,.06); color: #b9aaa0; font: 650 .54rem var(--font-body); cursor: pointer; }
.tracker-replying { color: #8d857d; font-size: .58rem; }
.tracker-comment-add { margin-top: 7px; padding: 0; border: 0; background: transparent; color: #9b948d; font: 700 .6rem var(--font-body); cursor: pointer; }
.tracker-comment-add:hover { color: #ff7a35; }
.tracker-comments form { display: grid; gap: 7px; max-width: 760px; margin-top: 7px; }
.tracker-comments textarea { min-height: 70px; resize: vertical; padding: 9px 11px; border: 1px solid #343230; border-radius: 8px; background: #151515; color: #e8e2dc; font: .68rem/1.5 var(--font-body); }
.tracker-comments form > div { display: flex; justify-content: flex-end; gap: 7px; }
.tracker-comments form button { padding: 6px 9px; border: 1px solid #393633; border-radius: 6px; background: #171717; color: #aaa39b; font: 700 .58rem var(--font-body); cursor: pointer; }
.tracker-comments form button[type='submit'] { border-color: #ff6a17; color: #ff8a4a; }
.tracker-comments form button:disabled { cursor: default; opacity: .45; }
.tracker-comment-error { color: #ef7676; }
.invoice-resolution-row td { padding: 0 !important; background: #0c0d0c !important; }
.invoice-resolution { padding: 16px 20px 18px; border-top: 1px solid rgba(255,138,61,.28); border-bottom: 1px solid rgba(255,138,61,.18); }
.invoice-resolution > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 13px; }
.invoice-resolution > header strong,
.invoice-resolution > header span { display: block; }
.invoice-resolution > header strong { color: #f2eae3; font: 700 .78rem var(--font-display); }
.invoice-resolution > header span { margin-top: 3px; color: #827a73; font-size: .6rem; }
.invoice-resolution > header button { border: 0; background: transparent; color: #817a74; font-size: 1.1rem; cursor: pointer; }
.invoice-resolution-grid { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) repeat(2, 90px) minmax(130px, .65fr) 90px; gap: 9px; }
.invoice-resolution-grid label { display: grid; gap: 5px; color: #7e7770; font: 650 .55rem var(--font-body); }
.invoice-resolution-grid .invoice-resolution-url { grid-column: span 2; }
.invoice-resolution-grid .invoice-resolution-milestone { grid-column: span 2; }
.invoice-resolution-grid input,
.invoice-resolution-grid select { min-width: 0; padding: 8px 9px; border: 1px solid #34312f; border-radius: 7px; background: #141414; color: #e8e0d9; font: .64rem var(--font-body); }
.invoice-resolution > footer { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 12px; }
.invoice-resolution > footer small { margin-right: auto; color: #ef7676; }
.invoice-resolution > footer button { padding: 7px 10px; border: 1px solid #383431; border-radius: 7px; background: #171717; color: #aaa29b; font: 700 .58rem var(--font-body); cursor: pointer; }
.invoice-resolution > footer button[type='submit'] { border-color: #ff6a17; color: #ff9a60; }
@media (max-width: 680px) {
  .invoice-status-toolbar { align-items: stretch; flex-direction: column; }
  .invoice-status-guidance { align-items: flex-start; justify-content: flex-start; flex-direction: column; gap: 8px; }
  .invoice-status-filters { align-items: stretch; flex-direction: column; }
  .invoice-status-filters label { justify-content: space-between; }
  .invoice-status-filters select { width: min(260px,70vw); }
  .invoice-bulk-status { right: 10px; bottom: 10px; left: 10px; justify-content: flex-start; max-width: calc(100vw - 20px); padding: 10px; }
  .invoice-bulk-status > span { flex-basis: 100%; }
  .invoice-month-panel > summary { align-items: flex-start; flex-direction: column; gap: 3px; padding: 12px 14px; }
  .invoice-resolution-grid { grid-template-columns: 1fr 1fr; }
  .invoice-resolution-grid .invoice-resolution-url,
  .invoice-resolution-grid .invoice-resolution-milestone { grid-column: 1 / -1; }
}

/* Baldspot design-language control room, linked from Roadmap mission control. */
.dsl-shell{width:min(1180px,calc(100% - 40px));margin:auto;padding:0 0 90px}.dsl-hero{min-height:330px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid #292927}.dsl-hero p,.dsl-heading p{margin:0 0 9px;color:#ff5c00;font:800 9px var(--font-body);letter-spacing:.15em;text-transform:uppercase}.dsl-hero h1{margin:0;font:700 clamp(58px,8vw,108px)/.88 var(--font-display);letter-spacing:-.055em}.dsl-hero>span{max-width:620px;margin-top:25px;color:#99938b}.dsl-section{padding-top:52px}.dsl-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #30302e}.dsl-heading h2{margin:0;font:700 26px var(--font-display)}.dsl-heading>span{color:#8b8883;font-size:11px}.dsl-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding-top:16px}.dsl-colors article{display:grid;gap:5px;padding:10px;border:1px solid #30302e;border-radius:9px;background:#111211}.dsl-colors i{height:78px;border:1px solid rgba(255,255,255,.12);border-radius:6px}.dsl-colors strong{font-size:11px}.dsl-colors code{color:#8b8883;font-size:10px}.dsl-demo{padding-top:16px}.dsl-demo details{border:1px solid #30302e;border-radius:11px;background:#101110;overflow:hidden}.dsl-demo summary{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:0 16px;list-style:none;cursor:pointer}.dsl-demo summary span{display:flex;align-items:center;gap:10px}.dsl-demo summary b{text-transform:uppercase;letter-spacing:.1em}.dsl-demo summary em{padding:2px 6px;border-radius:99px;background:#4fd598;color:#07150f;font:800 8px var(--font-body);text-transform:uppercase}.dsl-demo summary small{color:#999}.dsl-demo>details>div{padding:14px;border-top:1px solid #30302e}.dsl-demo details details{margin-left:22px;background:#141514}.dsl-demo details p{margin:0;padding:16px;border-top:1px solid #30302e;color:#999;font-size:12px}.dsl-mascots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:16px}.dsl-mascots article{overflow:hidden;border:1px solid #30302e;border-radius:11px;background:radial-gradient(circle at 50% 45%,rgba(255,92,0,.13),transparent 48%),#101110}.dsl-mascots img{display:block;width:100%;height:210px;object-fit:contain;padding:20px}.dsl-mascots div{display:flex;align-items:center;justify-content:space-between;padding:13px;border-top:1px solid #30302e}.dsl-mascots strong{font-size:11px}.dsl-mascots a{color:#ff7a35;font-size:10px;text-decoration:none}@media(max-width:800px){.dsl-colors{grid-template-columns:repeat(2,1fr)}.dsl-mascots{grid-template-columns:repeat(2,1fr)}}

.co-report-backdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 32px; background: rgba(0,0,0,.76); backdrop-filter: blur(8px); }
.co-report-modal { display: flex; flex-direction: column; width: min(1040px,96vw); max-height: min(820px,92vh); overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: #101010; box-shadow: 0 36px 100px rgba(0,0,0,.65); }
.co-report-modal > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 21px 23px; border-bottom: 1px solid rgba(255,255,255,.08); }
.co-report-modal > header span { color: #ff7538; font: 700 .52rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.co-report-modal > header h2 { margin: 4px 0 0; color: #f2f2f2; font: 700 1.22rem var(--font-display); }
.co-report-modal > header button { width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: #171717; color: #aaa; font-size: 1rem; cursor: pointer; }
.co-report-loading { margin: 0; padding: 38px 24px; color: #818181; font-size: .75rem; text-align: center; }
.co-report-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 18px 23px 0; }
.co-report-summary article { min-width: 0; padding: 13px; border: 1px solid rgba(255,255,255,.075); border-radius: 10px; background: #151515; }
.co-report-summary span,
.co-report-summary strong,
.co-report-summary small { display: block; }
.co-report-summary span { color: #666; font: 700 .5rem var(--font-body); text-transform: uppercase; }
.co-report-summary strong { margin-top: 5px; color: #efefef; font: 700 .9rem var(--font-display); }
.co-report-summary small { overflow: hidden; margin-top: 4px; color: #777; font-size: .55rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.co-report-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 20px 23px 10px; }
.co-report-list-head strong { color: #ddd; font: 700 .75rem var(--font-display); }
.co-report-list-head p { margin: 2px 0 0; color: #666; font-size: .55rem; }
.co-report-list-head a { color: #ff7b40; font: 700 .56rem var(--font-body); text-decoration: none; }
.co-report-list { display: grid; gap: 7px; overflow-y: auto; padding: 0 23px 23px; }
.co-report-list > article { display: grid; grid-template-columns: 55px minmax(180px,1fr) minmax(260px,1.2fr) auto; align-items: center; gap: 13px; padding: 11px; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; background: #141414; }
.co-report-score strong,
.co-report-score span { display: block; text-align: center; }
.co-report-score strong { color: #ff7d42; font: 700 .78rem var(--font-display); }
.co-report-score span { color: #5e5e5e; font-size: .47rem; }
.co-report-match-copy { min-width: 0; }
.co-report-match-copy strong,
.co-report-match-copy small { display: block; }
.co-report-match-copy strong { overflow: hidden; color: #d7d7d7; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.co-report-match-copy small { overflow: hidden; margin-top: 3px; color: #666; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.co-report-list dl { display: grid; grid-template-columns: 1fr 1.4fr; gap: 6px; margin: 0; }
.co-report-list dl > div { min-width: 0; }
.co-report-list dt { color: #5f5f5f; font: 700 .46rem var(--font-body); text-transform: uppercase; }
.co-report-list dd { overflow: hidden; margin: 2px 0 0; color: #bdbdbd; font-size: .54rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.co-report-list dd small { display: block; color: #6c8c70; font-size: .46rem; }
.co-report-list > article > a { color: #6ba9d4; font: 700 .51rem var(--font-body); text-decoration: none; white-space: nowrap; }

.co-requirements-button { padding: 7px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; background: #171717; color: #aaa; font: 700 .52rem var(--font-body); cursor: pointer; white-space: nowrap; }
.co-requirements-button.has-open { border-color: rgba(255,78,78,.7); background: rgba(110,20,20,.22); color: #ff7272; }
.co-preview-scope-placeholder { padding: 2px 5px; border: 0; border-bottom: 1px dashed #f04444; background: rgba(240,68,68,.08); color: #d72525; font: 700 inherit; text-align: left; cursor: pointer; }
.co-specificity-panel { min-height: 100%; color: #ddd; }
.co-specificity-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
.co-specificity-panel > header span,.co-specificity-panel > header strong,.co-specificity-panel > header small { display: block; }
.co-specificity-panel > header span { color: #ff6565; font: 700 .5rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.co-specificity-panel > header strong { margin-top: 4px; color: #eee; font: 700 .8rem var(--font-display); }
.co-specificity-panel > header small { margin-top: 5px; color: #777; font-size: .54rem; line-height: 1.45; }
.co-specificity-panel > header button { flex: 0 0 auto; width: 27px; height: 27px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: #171717; color: #888; cursor: pointer; }
.co-specificity-list { display: grid; gap: 10px; padding: 14px; }
.co-specificity-list article { padding: 13px; border: 1px solid rgba(255,77,77,.3); border-radius: 10px; background: rgba(66,20,20,.16); }
.co-specificity-list article.is-complete { border-color: rgba(49,185,103,.35); background: rgba(16,69,37,.13); }
.co-specificity-question span { color: #ff6e6e; font: 700 .46rem var(--font-body); text-transform: uppercase; }
.co-specificity-list article.is-complete .co-specificity-question span { color: #59ce83; }
.co-specificity-question strong { display: block; margin-top: 5px; color: #eee; font-size: .64rem; line-height: 1.35; }
.co-specificity-question p { margin: 4px 0 0; color: #777; font-size: .53rem; line-height: 1.4; }
.co-specificity-options { display: grid; gap: 6px; margin-top: 10px; }
.co-specificity-options button { position: relative; padding: 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: #121212; color: #bbb; text-align: left; cursor: pointer; }
.co-specificity-options button.active { border-color: #45a4dd; background: rgba(34,104,145,.18); }
.co-specificity-options b,.co-specificity-options small,.co-specificity-options em { display: block; }
.co-specificity-options b { color: #ddd; font-size: .56rem; }
.co-specificity-options small { margin-top: 3px; color: #6f6f6f; font-size: .49rem; line-height: 1.35; }
.co-specificity-options em { margin-top: 4px; color: #ff8045; font: 700 .43rem var(--font-body); text-transform: uppercase; }
.co-specificity-list article > label { display: block; margin-top: 10px; }
.co-specificity-list article > label span { display: block; margin-bottom: 5px; color: #858585; font: 700 .48rem var(--font-body); }
.co-specificity-list article > label input { width: 100%; padding: 9px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; outline: none; background: #0b0b0b; color: #eee; font: 500 .55rem var(--font-body); }
.co-specificity-list article > label input:focus { border-color: #5fa9dc; }
.co-specificity-empty { margin: 0; padding: 22px; color: #777; font-size: .6rem; text-align: center; }

@media (max-width: 1040px) {
  .co-library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .co-history-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .co-header-actions { gap: 4px; }
  .co-header-actions .nav-btn { padding-inline: 8px; }
  .co-rail-head-actions { align-items: flex-end; flex-direction: column; }
  .co-library-grid { grid-template-columns: 1fr; }
  .co-history-grid { grid-template-columns: 1fr; }
  .co-library-toolbar { position: relative; top: auto; align-items: flex-start; flex-direction: column; }
  .co-library-toolbar nav { flex-wrap: wrap; }
  .co-library-archive article { align-items: flex-start; flex-direction: column; }
  .co-library-archive nav { flex-wrap: wrap; }
  .co-report-backdrop { padding: 10px; }
  .co-report-summary { grid-template-columns: 1fr; }
  .co-report-list > article { grid-template-columns: 46px minmax(0,1fr); }
  .co-report-list > article dl { grid-column: 1 / -1; }
}

.ops-heading-mascot { display: flex; align-items: center; flex-shrink: 0; }
.ops-heading-mascot svg { animation: hero-mascot-bob 4.5s ease-in-out infinite; }
.terms-document-main { height: calc(100vh - 86px); padding: 18px; }
.terms-document-frame { width: 100%; height: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: #fff; }

/* Compact document controls added during the July document-layout reset. */
.pt-act { min-width: 94px; white-space: nowrap; }
.pt-lock.active { border-color: #ff5c00; color: #ff8e66; background: rgba(255,92,0,.1); }
.accept-details-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.accept-details-columns .accept-fields { align-content: start; }
.accept-details-columns h4 { grid-column: 1 / -1; margin: 0 0 3px; color: #454b52; font: 700 .68rem var(--font-display); text-transform: uppercase; letter-spacing: .04em; }
.ed-block--timeline .ed-timeline-actions { display: flex; gap: 8px; margin-top: 9px; }
.ed-timeline-actions button { padding: 6px 9px; border: 1px solid #ff8e66; border-radius: 6px; background: #fff8f4; color: #a33b16; font: 700 .62rem var(--font-body); cursor: pointer; }
.ed-textarea { min-height: 92px; max-height: 440px; overflow: auto; resize: vertical; line-height: 1.55; }

@media (max-width: 900px) {
  .accept-details-columns { grid-template-columns: 1fr; }
}

/* SOW Intelligence command deck. */

.builder-main.builder-main--idle {
  width: min(1240px, 100%); max-width: 1240px; min-height: calc(100vh - 80px);
  padding: 34px 30px 70px; gap: 0;
}
.builder-main--idle .future-ambient { inset: 0; background:
  radial-gradient(ellipse 78% 52% at 76% -8%, rgba(255,92,0,.16), transparent 64%),
  linear-gradient(180deg, #090909 0%, #0d0d0d 42%, #090909 100%); }
.builder-main--idle .future-orb--one { display: none; }
.builder-main--idle .future-grid {
  opacity: .21;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at 50% 20%, #000 0, transparent 72%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 20%, #000 0, transparent 72%);
}
.sow-ai-workspace {
  position: relative; overflow: hidden; width: 100%;
  border: 1px solid rgba(255,255,255,.11); border-radius: 28px;
  background: linear-gradient(150deg, rgba(25,25,27,.88), rgba(11,11,13,.96) 55%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 45px 120px rgba(0,0,0,.44), 0 0 100px rgba(255,92,0,.035);
}
.sow-ai-workspace::before {
  content: ''; position: absolute; inset: -1px; pointer-events: none;
  background: linear-gradient(110deg, rgba(255,111,31,.36), transparent 24%, transparent 70%, rgba(100,160,255,.12));
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  padding: 1px; border-radius: inherit;
}
.sow-ai-hero { position: relative; min-height: 230px; display: flex; align-items: center; padding: 40px 54px 32px; border-bottom: 1px solid rgba(255,255,255,.075); }
.sow-ai-hero::after {
  content: ''; position: absolute; right: 70px; top: 12px; width: 410px; height: 260px; pointer-events: none;
  background: radial-gradient(circle, rgba(255,101,17,.19), transparent 66%); filter: blur(6px);
}
.sow-ai-copy { position: relative; z-index: 2; width: min(690px, 66%); }
.sow-ai-copy .future-eyebrow { justify-content: flex-start; margin-bottom: 18px; color: #8e8e92; }
.sow-ai-copy h1 { margin: 0; color: #f4f4f4; font: 700 clamp(3.5rem, 6.2vw, 5.45rem)/.88 var(--font-display); letter-spacing: -.075em; white-space: nowrap; }
.sow-ai-copy h1 span { color: var(--accent); text-shadow: 0 0 38px rgba(255,92,0,.42); }
.sow-ai-copy > p { max-width: 650px; margin: 24px 0 0; color: #929295; font-size: .98rem; line-height: 1.65; }
.sow-ai-mascot { position: absolute; z-index: 4; right: 76px; top: 34px; width: 210px; height: 210px; display: grid; place-items: center; }
.sow-ai-mascot > span:last-child { position: relative; z-index: 2; }
.sow-ai-mascot img, .sow-ai-mascot svg { position: relative; z-index: 2; filter: drop-shadow(0 28px 36px rgba(0,0,0,.55)); animation: hero-mascot-bob 4.5s ease-in-out infinite; }
.sow-ai-orbit { position: absolute; inset: 12px; border: 1px solid rgba(255,112,39,.19); border-radius: 50%; animation: sow-orbit-spin 18s linear infinite; }
.sow-ai-orbit::after { content: ''; position: absolute; left: 14%; top: 3%; width: 6px; height: 6px; border-radius: 50%; background: #ff7a32; box-shadow: 0 0 14px #ff5c00; }
.sow-ai-orbit--two { inset: 31px; border-color: rgba(124,178,255,.15); animation-direction: reverse; animation-duration: 13s; }
.sow-ai-orbit--two::after { left: auto; right: 5%; top: 67%; width: 4px; height: 4px; background: #86b8ff; box-shadow: 0 0 12px #4e99ff; }
@keyframes sow-orbit-spin { to { transform: rotate(360deg); } }

.sow-ai-command-head { padding: 27px 34px 19px; }
.sow-ai-command-head span { color: #ff7a32; font: 800 .57rem var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.sow-ai-command-head h2 { margin: 0; color: #eee; font: 700 1.48rem var(--font-display); letter-spacing: -.035em; }
.sow-ai-route { display: flex; align-items: center; gap: 9px; color: #616164; font: 700 .52rem var(--font-body); letter-spacing: .1em; }
.sow-ai-route b { color: #ff7a32; }
.sow-ai-route i { width: 28px; height: 1px; background: linear-gradient(90deg, #ff5c00, #37373a); }
.sow-ai-workspace .sow-entry-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0 34px 34px; }
.sow-ai-workspace .sow-entry-option {
  position: relative; min-height: 230px; overflow: hidden; padding: 24px;
  border-color: rgba(255,255,255,.09); border-radius: 18px;
  background: linear-gradient(145deg, rgba(31,31,33,.8), rgba(16,16,18,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sow-ai-workspace .sow-entry-option::before {
  content: ''; position: absolute; inset: 0; opacity: 0; pointer-events: none;
  background: radial-gradient(circle at 50% 0%, rgba(255,92,0,.16), transparent 56%); transition: opacity .25s ease;
}
.sow-ai-workspace .sow-entry-option:hover, .sow-ai-workspace .sow-entry-option.dragover {
  transform: translateY(-5px); border-color: rgba(255,105,28,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 22px 55px rgba(0,0,0,.3), 0 0 32px rgba(255,92,0,.06);
}
.sow-ai-workspace .sow-entry-option:hover::before, .sow-ai-workspace .sow-entry-option.dragover::before { opacity: 1; }
.sow-ai-workspace .sow-entry-index { position: absolute; top: 23px; right: 23px; color: #4c4c50; font: 700 .62rem var(--font-display); letter-spacing: .12em; }
.sow-entry-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 25px; border: 1px solid rgba(255,116,44,.23); border-radius: 13px; background: rgba(255,92,0,.07); color: #ff7a32; }
.sow-entry-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sow-ai-workspace .sow-entry-option h3 { position: relative; z-index: 1; margin: 0 0 11px; font-size: 1.35rem; }
.sow-ai-workspace .sow-entry-option > p { position: relative; z-index: 1; max-width: 280px; color: #858589; font-size: .76rem; }
.sow-ai-workspace .sow-entry-option > b { position: relative; z-index: 1; display: flex; align-items: center; width: 100%; gap: 5px; color: #d8d8da; font-size: .71rem; }
.sow-ai-workspace .sow-entry-option > b em { color: #ff7a32; font-style: normal; }
.sow-ai-workspace .sow-entry-option > b span { margin-left: auto; color: #ff7a32; font-size: 1rem; transition: transform .2s ease; }
.sow-ai-workspace .sow-entry-option:hover > b span { transform: translateX(4px); }
.sow-ai-workspace .sow-entry-option--existing:hover { transform: translateY(-5px); }
.sow-ai-workspace .google-doc-import-form { position: relative; z-index: 1; gap: 7px; padding-top: 15px; }
.sow-ai-workspace .google-doc-import-form input { min-height: 42px; border-radius: 10px; background: rgba(5,5,6,.8); }
.sow-ai-workspace .google-doc-import-form .btn-primary { min-height: 42px; border-radius: 10px; }
.sow-ai-workspace .google-doc-import-form .btn-primary:disabled { border-color: #303033; background: #202023; color: #727277; }
.team-sow-drive-inline { display: flex; align-items: center; justify-content: space-between; padding-top: 5px; color: #a6a6aa; font-size: .68rem; font-weight: 700; text-decoration: none; }
.team-sow-drive-inline:hover { color: #f0f0f1; }
.team-sow-drive-inline span { color: #ff7a32; font-size: .9rem; }
.team-sow-word-drop { display: flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 0 1px; cursor: pointer; color: #a6a6aa; font-size: .68rem; font-weight: 700; }
.team-sow-word-drop:hover, .team-sow-word-drop.dragover { color: #f0f0f1; }
.team-sow-word-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.team-sow-word-drop b { color: #ff7a32; font-size: .9rem; }
.sow-entry-alert { display: flex; align-items: flex-start; gap: 9px; margin: -16px 34px 28px; padding: 11px 13px; border: 1px solid rgba(255,100,100,.2); border-radius: 10px; background: rgba(116,31,31,.12); color: #dc7777; font-size: .67rem; line-height: 1.5; }
.sow-entry-alert > span { display: grid; place-items: center; flex: 0 0 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; font-weight: 800; }
.sow-ai-statusbar { display: flex; align-items: center; gap: 20px; min-height: 43px; padding: 0 34px; border-top: 1px solid rgba(255,255,255,.065); background: rgba(0,0,0,.2); color: #68686c; font-size: .56rem; }
.sow-ai-statusbar span { display: inline-flex; align-items: center; gap: 6px; }
.sow-ai-statusbar span i { width: 5px; height: 5px; border-radius: 50%; background: #4dcc7a; box-shadow: 0 0 8px rgba(77,204,122,.6); }
.sow-ai-statusbar b { margin-left: auto; color: #77777a; font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 980px) {
  .sow-ai-mascot { right: 32px; transform: scale(.84); transform-origin: center right; }
  .sow-ai-copy { width: 72%; }
  .sow-ai-workspace .sow-entry-options { grid-template-columns: 1fr; }
  .sow-ai-workspace .sow-entry-option { min-height: 190px; }
}
@media (max-width: 680px) {
  .builder-main.builder-main--idle { padding: 18px 10px 42px; }
  .sow-ai-workspace { border-radius: 22px; }
  .sow-ai-hero { min-height: 330px; align-items: flex-start; padding: 34px 25px; }
  .sow-ai-copy { width: 100%; }
  .sow-ai-copy h1 { font-size: clamp(3.15rem, 17vw, 4.5rem); }
  .sow-ai-mascot { right: 8px; top: 126px; transform: scale(.68); transform-origin: center; }
  .sow-ai-command-head { align-items: flex-start; padding: 24px 20px 17px; }
  .sow-ai-route { display: none; }
  .sow-ai-workspace .sow-entry-options { padding: 0 20px 24px; }
  .sow-ai-statusbar { flex-wrap: wrap; gap: 8px 14px; padding: 12px 20px; }
  .sow-ai-statusbar b { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sow-ai-mascot img, .sow-ai-mascot svg, .sow-ai-orbit { animation: none !important; }
}

/* ── Postmortem Generator ─────────────────────────────────────────────── */
.postmortem-shell { min-height: 100vh; padding: 20px clamp(18px, 4vw, 64px) 72px; background: var(--bg); color: var(--text); font-family: var(--font-body); }
.postmortem-top { display: flex; justify-content: space-between; color: var(--text-muted); font-size: 12px; letter-spacing: .04em; }
.postmortem-top a { color: var(--text); text-decoration: none; font-weight: 700; }
.postmortem-hero { display: flex; justify-content: space-between; align-items: end; gap: 24px; max-width: 1120px; padding: 72px 0 42px; margin: 0 auto; border-bottom: 1px solid var(--border); }
.postmortem-hero p, .postmortem-preview-heading span { color: var(--accent); margin: 0 0 12px; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.postmortem-hero h1 { max-width: 850px; margin: 0; font: 700 clamp(42px, 5.4vw, 72px)/.96 var(--font-display); letter-spacing: -.06em; }
.postmortem-hero h1 em { color: var(--accent); font-style: normal; }
.postmortem-hero > div > span { display: block; max-width: 620px; margin-top: 22px; color: var(--text-dim); }
.postmortem-hero-figure { position: relative; display: flex; align-items: flex-end; justify-content: flex-end; min-width: 285px; min-height: 224px; }
.postmortem-hero-figure img { position: absolute; right: 20px; bottom: -42px; width: min(290px, 27vw); max-height: 310px; object-fit: contain; object-position: bottom; filter: drop-shadow(0 22px 28px rgba(0,0,0,.42)); pointer-events: none; }
.postmortem-hero-figure b { position: relative; z-index: 1; align-self: flex-start; min-width: 148px; padding: 15px; border: 1px solid rgba(255,92,0,.42); border-radius: 12px; background: var(--surface); color: var(--text); font-size: 14px; line-height: 1.45; }
.postmortem-hero-figure b small { color: var(--text-dim); font-weight: 500; }
.postmortem-workspace { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(255px, .65fr); gap: 20px; max-width: 1260px; margin: 30px auto; }
.postmortem-intake, .postmortem-library, .postmortem-preview { border: 1px solid var(--border); border-radius: 18px; background: var(--surface); box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.postmortem-intake { padding: 30px; }
.postmortem-intake-heading, .postmortem-library > div, .postmortem-preview-heading { display: flex; gap: 15px; align-items: flex-start; }
.postmortem-intake-heading > span, .postmortem-library > div > span, .postmortem-preview-heading > div > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; background: #fa7042; color: #17131a; font-size: 12px; font-weight: 900; }
.postmortem-intake h2, .postmortem-library h2, .postmortem-preview h2 { margin: 0; color: var(--text); font: 700 26px var(--font-display); letter-spacing: -.035em; }
.postmortem-intake-heading p { max-width: 600px; margin: 7px 0 25px; color: var(--text-dim); font-size: 13px; line-height: 1.55; }
.postmortem-intake label { display: grid; gap: 7px; margin: 14px 0; color: var(--text); font-size: 12px; font-weight: 700; }
.postmortem-intake select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; outline: none; background: var(--surface2); color: var(--text); font: inherit; }
.postmortem-intake select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.postmortem-project-meta { display: grid; gap: 5px; margin: 17px 0 19px; padding: 14px; border-left: 2px solid var(--accent); background: rgba(255,92,0,.06); color: var(--text-dim); font-size: 12px; }.postmortem-project-meta b { color: var(--text); font: 700 15px var(--font-display); }.postmortem-loading { margin: 14px 0; color: var(--accent); font-size: 12px; }
.postmortem-generate { width: 100%; min-height: 52px; border: 0; border-radius: 10px; background: linear-gradient(100deg,#ff7042,#ff9c42); color: #16111a; cursor: pointer; font-weight: 900; font-size: 14px; transition: transform .2s, filter .2s; }.postmortem-generate:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.08); }.postmortem-generate:disabled { cursor: wait; opacity: .6; }
.postmortem-intake > small { display: block; margin-top: 12px; color: var(--text-muted); font-size: 11px; line-height: 1.45; }.postmortem-error { padding: 10px; border-radius: 8px; background: rgba(239,68,68,.14); color: #ffb4b4; font-size: 12px; }
.postmortem-library { padding: 24px; }.postmortem-library > div { margin-bottom: 14px; }.postmortem-library > div h2 { font-size: 24px; }.postmortem-library > p { color: var(--text-dim); font-size: 13px; line-height: 1.5; }.postmortem-library-note { margin-bottom: 16px !important; color: var(--text-muted) !important; font-size: 11px !important; }.postmortem-library button { width: 100%; display: grid; gap: 4px; padding: 14px 0; border: 0; border-top: 1px solid var(--border); background: transparent; color: var(--text); cursor: pointer; text-align: left; }.postmortem-library button:first-of-type { border-top: 0; }.postmortem-library button:hover b { color: var(--accent); }.postmortem-library button span,.postmortem-library button small { overflow: hidden; color: var(--text-dim); text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.postmortem-library button small { color: var(--text-muted); }
.postmortem-preview { max-width: 1120px; margin: 30px auto 0; padding: 25px; }.postmortem-preview-heading { justify-content: space-between; align-items: center; margin-bottom: 17px; }.postmortem-preview-heading > div { display: flex; align-items: center; gap: 13px; }.postmortem-preview-heading > small { color: var(--text-dim); font-size: 11px; }.postmortem-frame { width: 100%; height: min(78vh, 900px); border: 1px solid var(--border); border-radius: 10px; background: #f4f6fa; }.postmortem-placeholder { display: grid; min-height: 410px; place-content: center; border: 1px dashed rgba(255,92,0,.5); border-radius: 11px; background: radial-gradient(circle at 50% 0,rgba(255,92,0,.12) 0,transparent 55%); text-align: center; }.postmortem-placeholder b { font: 700 30px var(--font-display); }.postmortem-placeholder p { max-width: 550px; color: var(--text-dim); line-height: 1.6; }
@media(max-width:800px){.postmortem-hero,.postmortem-workspace{grid-template-columns:1fr;display:grid}.postmortem-hero{padding-top:54px}.postmortem-hero-figure{min-height:170px;justify-content:flex-start}.postmortem-hero-figure img{left:0;right:auto;width:220px;bottom:-35px}.postmortem-hero-figure b{margin-left:170px}.postmortem-top span{display:none}.postmortem-preview{padding:14px}.postmortem-frame{height:70vh}}

/* ── Plain postmortem flow ────────────────────────────────────────────── */
.postmortem-simple-shell { min-height: 100vh; max-width: 1120px; margin: 0 auto; padding: 22px clamp(18px, 4vw, 58px) 72px; color: var(--text); }
.postmortem-app-header nav a, .postmortem-presentation-actions button, .postmortem-presentation-actions a { border: 1px solid var(--border); border-radius: 7px; background: var(--surface2); color: var(--text); padding: 8px 11px; font: 600 12px var(--font-body); text-decoration: none; cursor: pointer; }
.postmortem-app-header nav a:hover, .postmortem-presentation-actions button:hover:not(:disabled), .postmortem-presentation-actions a:hover { border-color: var(--accent); color: var(--accent); }
.postmortem-simple-intro { position: relative; display: grid; grid-template-columns: 1fr; justify-items: center; max-width: 1120px; min-height: 342px; margin-inline: auto; padding: 72px 0 30px; }.postmortem-hero-copy { max-width: 820px; text-align: center; }
.postmortem-simple-intro p, .postmortem-presentation-top p, .postmortem-report-card > div > p { margin: 0 0 10px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.postmortem-simple-intro h1 { margin: 0; font: 700 clamp(42px, 5.6vw, 70px)/.96 var(--font-display); letter-spacing: -.055em; }.postmortem-simple-intro > img { position: absolute; right: 3%; bottom: 28px; width: 205px; object-fit: contain; }
.postmortem-simple-intro span { display: block; max-width: 650px; margin: 18px auto 0; color: var(--text-dim); font-size: 15px; line-height: 1.6; }
.postmortem-simple-intro > img { filter: drop-shadow(0 18px 22px rgba(0,0,0,.35)); }.postmortem-simple-form { display: grid; gap: 16px; max-width: 760px; margin-inline: auto; padding: 26px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.postmortem-simple-form label { display: grid; gap: 8px; color: var(--text); font-size: 12px; font-weight: 700; }
.postmortem-simple-form select { width: 100%; min-height: 50px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 8px; outline: none; background: var(--surface2); color: var(--text); font: 600 14px var(--font-body); }
.postmortem-simple-form select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.postmortem-simple-form > button { min-height: 50px; border: 0; border-radius: 8px; background: var(--accent); color: #17120e; cursor: pointer; font: 800 14px var(--font-body); }
.postmortem-simple-form > button:hover:not(:disabled) { filter: brightness(1.1); }.postmortem-simple-form > button:disabled { cursor: wait; opacity: .56; }
.postmortem-simple-form > small { color: var(--text-muted); font-size: 11px; }
.postmortem-simple-project { display: grid; gap: 8px; padding: 15px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface2); }
.postmortem-simple-project b { font: 700 17px var(--font-display); }.postmortem-simple-project div { display: flex; flex-wrap: wrap; gap: 7px; }.postmortem-simple-project span { padding: 4px 7px; border-radius: 5px; background: var(--surface); color: var(--text-dim); font-size: 11px; }.postmortem-simple-project small { color: var(--text-muted); font-size: 11px; }
.postmortem-evidence-loading { display:flex; align-items:center; gap:9px; color:var(--text-dim); font-size:12px; }.postmortem-evidence-loading span { width:16px; height:16px; border:2px solid var(--border); border-top-color:var(--accent); border-radius:50%; animation:bulkspin .7s linear infinite; }
.postmortem-evidence { display:grid; gap:14px; padding:20px; border:1px solid rgba(255,92,0,.38); border-radius:11px; background:linear-gradient(145deg,rgba(255,92,0,.07),transparent 35%),var(--surface2); }.postmortem-evidence-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.postmortem-evidence-heading p { margin:0 0 6px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.12em; }.postmortem-evidence-heading h2 { margin:0; color:var(--text); font:700 24px/1 var(--font-display); letter-spacing:-.035em; }.postmortem-evidence-heading span { display:block; max-width:560px; margin-top:8px; color:var(--text-dim); font-size:12px; line-height:1.5; }.postmortem-evidence-save { flex:none; padding:9px 11px; border:1px solid var(--accent); border-radius:7px; background:transparent; color:var(--accent); cursor:pointer; font:700 12px var(--font-body); }.postmortem-evidence-save:disabled { opacity:.55; cursor:wait; }
.postmortem-evidence-source { display:grid; grid-template-columns:180px minmax(0,1fr); gap:15px; padding-top:15px; border-top:1px solid var(--border); }.postmortem-evidence-source > div:first-child > b { display:block; color:var(--text); font:700 15px var(--font-display); }.postmortem-evidence-source > div:first-child > small { display:block; margin-top:5px; color:var(--text-muted); font-size:11px; line-height:1.45; }.postmortem-evidence-options { display:grid; gap:7px; }.postmortem-evidence-option { display:flex !important; align-items:flex-start; gap:9px; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--surface); cursor:pointer; }.postmortem-evidence-option:has(input:checked) { border-color:rgba(255,92,0,.75); box-shadow:inset 0 0 0 1px rgba(255,92,0,.12); }.postmortem-evidence-option input { width:auto; min-height:0; margin:3px 0 0; accent-color:var(--accent); }.postmortem-evidence-option span { min-width:0; display:grid; gap:3px; }.postmortem-evidence-option span b { overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.postmortem-evidence-option span small { color:var(--text-muted); font-size:10px; }.postmortem-evidence-option span em { color:var(--text-dim); font-size:11px; font-style:normal; line-height:1.45; }.postmortem-evidence-add button, .postmortem-evidence-select-all { flex:none; padding:0 13px; border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--text); cursor:pointer; font:700 12px var(--font-body); }.postmortem-evidence-select-all { justify-self:end; min-height:34px; margin-bottom:-2px; color:var(--accent); }.postmortem-evidence-empty { margin:0; color:var(--text-muted); font-size:12px; line-height:1.5; }
.postmortem-evidence-toolbar { display:grid; grid-template-columns:1.35fr 1.15fr 1fr .72fr; gap:10px; padding-top:15px; border-top:1px solid var(--border); }.postmortem-evidence-control { display:flex; min-width:0; flex-direction:column; gap:7px; }.postmortem-evidence-control > b { color:var(--text); font:700 13px var(--font-display); }.postmortem-evidence-control select,.postmortem-evidence-control input { min-width:0; width:100%; min-height:40px; padding:8px 9px; border:1px solid var(--border); border-radius:7px; outline:0; background:var(--surface); color:var(--text); font:11px var(--font-body); }.postmortem-evidence-control select:focus,.postmortem-evidence-control input:focus { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-dim); }.postmortem-evidence-inline { display:flex; min-width:0; gap:5px; }.postmortem-evidence-inline button,.postmortem-fathom-count { flex:none; min-height:40px; padding:0 10px; border:1px solid var(--border); border-radius:7px; background:var(--surface); color:var(--text); cursor:pointer; font:700 11px var(--font-body); }.postmortem-evidence-inline button:disabled { opacity:.4; cursor:not-allowed; }.postmortem-fathom-count { width:100%; color:var(--accent); }.postmortem-evidence-chips { display:flex; flex-wrap:wrap; gap:5px; }.postmortem-evidence-chips button { max-width:100%; overflow:hidden; padding:4px 7px; border:1px solid rgba(255,92,0,.38); border-radius:999px; background:rgba(255,92,0,.08); color:var(--accent); cursor:pointer; font:700 9px var(--font-body); text-overflow:ellipsis; white-space:nowrap; }.postmortem-fathom-panel { grid-template-columns:180px auto; }.postmortem-fathom-panel .postmortem-evidence-options { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); }
.postmortem-simple-status, .postmortem-simple-error { max-width: 760px; padding: 12px 14px; border-radius: 8px; font-size: 12px; }.postmortem-simple-error { background: rgba(239,68,68,.13); color: #ffb4b4; }
.postmortem-project-spinner { display: grid; min-height: 42px; place-items: center; }.postmortem-project-spinner span { width: 23px; height: 23px; border: 2px solid rgba(255,255,255,.12); border-top-color: var(--accent); border-radius: 50%; animation: bulkspin .72s linear infinite; }
.postmortem-presentation { margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--border); }.postmortem-presentation-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }.postmortem-presentation-top h2 { margin: 0; font: 700 30px var(--font-display); letter-spacing: -.04em; }.postmortem-presentation-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.postmortem-presentation-actions .is-active { border-color: var(--accent); background: rgba(255,92,0,.08); color: var(--accent); }.postmortem-presentation-actions button:disabled { opacity: .6; cursor: wait; }
.postmortem-edit-note { margin: 13px 0; color: var(--text-muted); font-size: 12px; }.postmortem-simple-frame { width: 100%; height: min(82vh, 980px); border: 1px solid var(--border); border-radius: 10px; background: #f4f6fa; }.postmortem-simple-frame.is-editing { border: 2px solid var(--accent); }
.postmortem-simple-shell.is-generating { max-width: none; height: 100dvh; padding: 0; overflow: hidden; }.postmortem-generation-screen { position: relative; isolation: isolate; display: grid; align-items: center; width: 100%; height: calc(100dvh - 96px); margin: 16px 0 0; overflow: hidden; }@keyframes postmortemOrbitSpin { to { transform: rotate(360deg); } }@keyframes postmortemMascotZoom { from { opacity: .74; transform: translateY(-50%) scale(.52); } to { opacity: 1; transform: translateY(-50%) scale(1); } }@keyframes postmortemGenerationEnter { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:720px) {.postmortem-simple-intro { min-height: 360px; padding-top: 46px; }.postmortem-simple-intro > img { width: 145px; right: 2%; bottom: 4px; }.postmortem-hero-copy { padding-right: 60px; }.postmortem-evidence-heading,.postmortem-evidence-source { grid-template-columns:1fr; display:grid; }.postmortem-evidence-toolbar { grid-template-columns:1fr; }.postmortem-fathom-panel .postmortem-evidence-options { grid-column:auto; grid-template-columns:1fr; }.postmortem-evidence-heading { gap:12px; }.postmortem-evidence-save { justify-self:start; }.postmortem-generation-screen { height: calc(100dvh - 90px); margin-top: 0; }.postmortem-presentation-top { align-items: flex-start; flex-direction: column; }.postmortem-presentation-actions { justify-content: flex-start; }.postmortem-simple-frame { height: 72vh; } }
/* ---- Forms (client onboarding + invoice, pre-filled) ---- */
.forms-shell { max-width: 940px; margin: 0 auto; padding: 40px 24px 80px; color: var(--text); }
.forms-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.forms-eyebrow { margin: 0; color: var(--accent); font: 800 10px var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.forms-head h1 { margin: 6px 0 8px; font: 700 clamp(30px,5vw,48px)/1 var(--font-display); letter-spacing: -.03em; }
.forms-sub { margin: 0; max-width: 620px; color: var(--text-muted); font-size: 13px; }
.forms-back { border: 1px solid var(--border); border-radius: 10px; background: transparent; color: var(--text-dim); padding: 8px 14px; font: 600 13px var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.forms-back:hover { border-color: var(--accent); color: var(--accent); }
.forms-head-links { display: flex; gap: 10px; align-items: center; }
.forms-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 16px; }
.forms-card { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); overflow: hidden; transition: border-color .15s, transform .15s; }
.forms-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.forms-card-open { display: flex; flex-direction: column; gap: 6px; text-align: left; padding: 24px 24px 16px; border: 0; background: transparent; color: var(--text); cursor: pointer; }
.forms-card-open strong { font: 700 20px var(--font-display); }
.forms-card-open span { color: var(--text-muted); font-size: 12px; }
.forms-card-airtable { padding: 12px 24px; border-top: 1px solid var(--border); color: var(--text-dim); font: 600 12px var(--font-body); text-decoration: none; }
.forms-card-airtable:hover { color: var(--accent); }
.forms-prefill { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; padding: 16px 18px; margin-bottom: 22px; border: 1px solid var(--accent); border-radius: 12px; background: var(--accent-dim); }
.forms-prefill label { display: flex; flex-direction: column; gap: 6px; font: 700 12px var(--font-body); color: var(--text-dim); }
.forms-prefill-note { color: var(--text-muted); font-size: 12px; }
.forms-section { border: 1px solid var(--border); border-radius: 12px; padding: 18px; margin: 0 0 16px; background: var(--surface); }
.forms-section legend { padding: 0 8px; color: var(--accent); font: 800 11px var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.forms-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 14px; }
.forms-field { display: flex; flex-direction: column; gap: 6px; font: 700 12px var(--font-body); color: var(--text-dim); }
.forms-field--wide { grid-column: 1 / -1; }
.forms-field em { color: var(--accent); font-style: normal; }
.forms-field small { color: var(--text-muted); font-weight: 400; }
.forms-field input, .forms-field select, .forms-field textarea, .forms-prefill select { width: 100%; padding: 9px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); font: 14px var(--font-body); }
.forms-field input:focus, .forms-field select:focus, .forms-field textarea:focus, .forms-prefill select:focus { outline: none; border-color: var(--accent); }
.forms-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 8px; }
.forms-submit { padding: 12px 20px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: #0d0d0d; font: 700 14px var(--font-body); cursor: pointer; }
.forms-submit:hover { filter: brightness(1.08); }
.forms-submit:disabled { opacity: .6; cursor: wait; }
.forms-ok { color: var(--green); font-size: 13px; }
.forms-ok a { color: var(--accent); }
.forms-err { color: var(--red); font-size: 13px; }
/* ---- Financial Dashboard (separate from Invoice Tracker) ---- */
.findash-shell { max-width: 1080px; margin: 0 auto; padding: 40px 24px 90px; color: var(--text); }
.findash-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 26px; }
.findash-eyebrow { margin: 0; color: var(--accent); font: 800 10px var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.findash-head h1 { margin: 6px 0 8px; font: 700 clamp(32px,5vw,52px)/1 var(--font-display); letter-spacing: -.03em; }
.findash-sub { margin: 0; max-width: 640px; color: var(--text-muted); font-size: 13px; }
.findash-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 12px; margin-bottom: 26px; }
.findash-loading { color: var(--text-muted); font-size: 13px; }
.findash-charts { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 16px; }
.findash-chart { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 20px; }
.findash-chart-head { display: flex; flex-direction: column; gap: 3px; margin-bottom: 18px; }
.findash-chart-head strong { font: 700 16px var(--font-display); }
.findash-chart-head span { color: var(--text-muted); font-size: 11px; }
.findash-bars { display: flex; align-items: flex-end; gap: 10px; height: 200px; }
.findash-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.findash-bar-val { font: 700 11px var(--font-body); color: var(--text-dim); min-height: 14px; }
.findash-bar { width: 100%; max-width: 48px; min-height: 3px; border-radius: 6px 6px 0 0; transition: height .5s cubic-bezier(.2,.8,.2,1); }
.findash-bar--rev { background: linear-gradient(180deg, var(--accent), rgba(255,92,0,.35)); }
.findash-bar--pipe { background: linear-gradient(180deg, var(--green), rgba(34,197,94,.35)); }
.findash-bar--sow { background: linear-gradient(180deg, #eab308, rgba(234,179,8,.35)); }
.findash-bar-lbl { display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--text-muted); font-size: 11px; text-align: center; white-space: pre-line; }
.findash-bar-lbl em { color: var(--text); font-style: normal; font-weight: 700; }

/* Money Pulse v2 — dense, source-labelled financial command surface */
.findash-shell { max-width: 1240px; padding: 30px 30px 110px; }
.findash-head { align-items: center; margin-bottom: 24px; padding-bottom: 22px; border-bottom: 1px solid #292725; }
.findash-eyebrow { display:flex; align-items:center; gap:9px; }.findash-eyebrow i { width:22px; height:1px; background:var(--accent); }
.findash-head h1 { margin: 9px 0 0; font-size: clamp(44px,6vw,76px); font-weight:600; letter-spacing:-.065em; }.findash-head h1 span { color:var(--accent); }
.findash-head-actions { display:flex; align-items:center; gap:14px; color:#73d5aa; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }.findash-head-actions > span::before { content:''; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:currentColor; box-shadow:0 0 12px currentColor; }.findash-head-actions > span.is-loading { color:#d39a57; }
.findash-stats { grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 18px; }
.is-negative { color:#ff6b67!important; }
.findash-panel { margin-top:18px; padding:24px; border:1px solid #2d2b29; border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.018),transparent 45%),#121212; overflow:hidden; }
.findash-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }.findash-section-head p { margin:0 0 8px; color:#ff6a18; font:800 9px var(--font-body); letter-spacing:.14em; }.findash-section-head h2 { margin:0; font:600 clamp(24px,3vw,38px)/1 var(--font-display); letter-spacing:-.045em; }.findash-section-head > a { color:#a9a199; font:700 10px var(--font-body); text-decoration:none; text-transform:uppercase; letter-spacing:.06em; }.findash-section-head > a:hover { color:var(--accent); }.findash-big-number { color:#f5efe7; font:600 26px var(--font-display); }
.findash-legend { display:flex; gap:16px; color:#8e8881; font-size:10px; }.findash-legend i { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:2px; }.findash-legend .invoice { background:#ff6415; box-shadow:0 0 12px rgba(255,100,21,.5); }.findash-legend .due { border:1px solid #71dcc1; }
.findash-revenue-grid { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:26px; min-height:275px; }.findash-revenue .findash-bars { height:270px; gap:12px; border-bottom:1px solid #393531; background:repeating-linear-gradient(to top,transparent 0,transparent 66px,rgba(255,255,255,.04) 67px); }.findash-revenue .findash-bar-col { gap:8px; }.findash-bar-values { display:flex; flex-direction:column; align-items:center; min-height:28px; font-size:9px; }.findash-bar-values b { color:#d9d1c8; }.findash-bar-values em { color:#70d9bf; font-style:normal; }.findash-bar-track { position:relative; display:flex; align-items:flex-end; justify-content:center; gap:3px; width:100%; height:210px; }.findash-bar-track i { width:min(38%,28px); min-height:2px; border-radius:5px 5px 0 0; transition:height .55s ease; }.findash-bar-invoice { background:linear-gradient(#ff792f,#c53d00); box-shadow:0 0 18px rgba(255,87,0,.16); }.findash-bar-due { border:1px solid #65c9b1; border-bottom:0; background:rgba(101,201,177,.09); }.findash-bar-col > span { color:#7e7770; font-size:10px; white-space:nowrap; }
.findash-revenue-grid aside { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:22px; border-left:1px solid #302d2a; background:radial-gradient(circle at 60% 20%,rgba(255,92,0,.11),transparent 40%); }.findash-revenue-grid aside > span,.findash-due-callout span { color:#8a837c; font:800 9px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }.findash-revenue-grid aside > strong { margin:8px 0 4px; color:#ff7935; font:600 34px var(--font-display); }.findash-revenue-grid aside small { color:#77716b; font-size:10px; }.findash-due-callout { width:100%; margin-top:28px; padding-top:22px; border-top:1px solid #393531; }.findash-due-callout b { display:block; margin:6px 0 3px; color:#78dcc2; font:600 24px var(--font-display); }
.findash-terms { display:flex; align-items:center; gap:20px; margin:24px -24px -24px; padding:14px 24px; border-top:1px solid #2d2b29; background:#0e0e0e; }.findash-terms > span { color:#6f6962; font:800 8px var(--font-body); letter-spacing:.12em; }.findash-terms > div { display:flex; gap:7px; flex-wrap:wrap; }.findash-terms b { padding:6px 8px; border:1px solid #33302d; border-radius:6px; color:#bbb3aa; font-size:9px; }.findash-terms b em { margin-left:7px; color:#ff752d; font-style:normal; }
.findash-table { overflow-x:auto; }.findash-table-row { display:grid; grid-template-columns:125px minmax(230px,1.5fr) 100px 125px 110px; gap:16px; align-items:center; min-width:760px; padding:12px 8px; border-top:1px solid #292725; color:#aaa29a; font-size:11px; }.findash-table-row > :last-child { text-align:right; color:#f2ece4; }.findash-table-row > span:nth-child(2) { display:flex; flex-direction:column; gap:3px; }.findash-table-row span b { color:#e5ded6; }.findash-table-row small { color:#746e68; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.findash-table-head { padding-top:0; border:0; color:#6f6963; font:800 8px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.findash-two-up { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.findash-stage-list > div { position:relative; display:grid; grid-template-columns:1fr auto 30px; gap:15px; align-items:center; min-height:68px; padding:0 10px; border-top:1px solid #2d2a27; overflow:hidden; }.findash-stage-list > div > i { position:absolute; inset:10px auto 10px 0; width:var(--fill); border-radius:4px; background:linear-gradient(90deg,rgba(255,94,11,.16),transparent); }.findash-stage-list span,.findash-stage-list strong,.findash-stage-list em { position:relative; }.findash-stage-list span { color:#eee7df; font-weight:700; }.findash-stage-list small { display:block; margin-top:4px; color:#77716b; font-size:9px; font-weight:400; }.findash-stage-list strong { color:#d7d0c7; font-size:12px; }.findash-stage-list em { color:#4b4743; font:600 18px var(--font-display); font-style:normal; }
.findash-budget-list > div { display:flex; justify-content:space-between; align-items:center; min-height:68px; padding:0 10px; border-top:1px solid #2d2a27; }.findash-budget-list span { color:#eee7df; font-weight:700; }.findash-budget-list small { display:block; margin-top:4px; color:#77716b; font-size:9px; font-weight:400; }.findash-budget-list strong { color:#75d7ad; font-size:13px; }.findash-budget-list .is-empty { opacity:.42; }.findash-source-note { margin:18px 0 0; color:#6f6963; font-size:9px; }
.findash-cluster-row { display:flex; justify-content:space-around; align-items:flex-start; gap:20px; padding:15px 0 5px; overflow-x:auto; }.findash-cluster-row article { min-width:var(--size); text-align:center; animation:cluster-in .55s both; animation-delay:var(--delay); }.findash-cluster-row article > div { width:var(--size); height:var(--size); display:grid; place-content:center; border:1px solid #5e4030; border-radius:50%; background:radial-gradient(circle at 42% 35%,rgba(255,119,43,.24),rgba(255,68,0,.045) 52%,transparent 70%); box-shadow:inset 0 0 35px rgba(255,90,0,.06),0 0 40px rgba(255,90,0,.04); }.findash-cluster-row article > div span { color:#fff5ec; font:600 40px/.8 var(--font-display); }.findash-cluster-row article > div small { margin-top:8px; color:#a8826c; font:800 8px var(--font-body); letter-spacing:.13em; text-transform:uppercase; }.findash-cluster-row h3 { margin:14px 0 5px; font:600 14px var(--font-display); }.findash-cluster-row p { margin:0; color:#c4bbb2; font-size:10px; }.findash-cluster-row p small { display:block; margin-top:3px; color:#6f6963; } @keyframes cluster-in { from { opacity:0; transform:translateY(12px) scale(.96); } }
@media(max-width:850px) { .findash-stats { grid-template-columns:1fr 1fr; }.findash-revenue-grid,.findash-two-up { grid-template-columns:1fr; }.findash-revenue-grid aside { border-left:0; border-top:1px solid #302d2a; }.findash-cluster-row { justify-content:flex-start; }.findash-head-actions > span { display:none; } }
@media(max-width:560px) { .findash-shell { padding:20px 14px 70px; }.findash-head h1 { font-size:44px; }.findash-stats { grid-template-columns:1fr; }.findash-section-head { flex-direction:column; }.findash-legend { flex-wrap:wrap; }.findash-revenue .findash-bars { overflow-x:auto; }.findash-revenue .findash-bar-col { min-width:54px; }.findash-terms { align-items:flex-start; flex-direction:column; }.findash-panel { padding:18px; }.findash-terms { margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; } }

/* ============ Forms — futuristic redesign (.ff-*) ============ */
.ff-shell { max-width: 1000px; margin: 0 auto; padding: 34px 24px 100px; color: var(--text); }
.ff-eyebrow { margin: 0 0 8px; color: var(--accent); font: 800 10px var(--font-body); letter-spacing: .16em; text-transform: uppercase; }

.ff-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 24px; align-items: center; margin-bottom: 30px; padding: 26px 28px; border: 1px solid var(--border); border-radius: 20px; overflow: hidden; background: radial-gradient(120% 160% at 100% 0%, rgba(255,92,0,.14), transparent 55%), var(--surface); }
.ff-hero h1 { margin: 0 0 10px; font: 800 clamp(34px,6vw,60px)/.98 var(--font-display); letter-spacing: -.04em; }
.ff-hero h1 span { background: linear-gradient(90deg, var(--accent), #ffb07a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ff-sub { margin: 0 0 16px; max-width: 560px; color: var(--text-dim); font-size: 14px; line-height: 1.5; }
.ff-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ff-ghost { border: 1px solid var(--border); border-radius: 10px; background: rgba(255,255,255,.02); color: var(--text-dim); padding: 8px 13px; font: 600 12px var(--font-body); text-decoration: none; }
.ff-ghost:hover { border-color: var(--accent); color: var(--accent); }

/* The pipe + the two mascots sliding down it like a fire pole (rough draft) */
.ff-pipe { position: relative; height: 150px; width: 100%; }
.ff-pipe::before { content: ''; position: absolute; left: 50%; top: -30px; bottom: -30px; width: 12px; transform: translateX(-50%); border-radius: 8px; background: linear-gradient(90deg, #3a3a3a, #6a6a6a 40%, #2a2a2a); box-shadow: inset 0 0 6px rgba(0,0,0,.6); }
.ff-pipe-glow { position: absolute; left: 50%; top: 0; width: 30px; height: 30px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,92,0,.5), transparent 70%); animation: ff-pulse 2.4s ease-in-out infinite; }
.ff-slider { position: absolute; left: 50%; transform: translateX(-50%); animation: ff-slide 3.6s cubic-bezier(.5,0,.5,1) infinite; }
.ff-slider--bag { animation-delay: 0s; }
.ff-slider--pm { animation-delay: 1.8s; }
@keyframes ff-slide { 0% { top: -70px; opacity: 0; } 12% { opacity: 1; } 60% { top: 82px; opacity: 1; } 78% { top: 82px; transform: translateX(-50%) rotate(-6deg); } 100% { top: 82px; opacity: 0; transform: translateX(-50%) translateY(20px); } }
@keyframes ff-pulse { 0%,100% { opacity: .4; transform: translateX(-50%) scale(.8); } 50% { opacity: 1; transform: translateX(-50%) scale(1.25); } }
@media (prefers-reduced-motion: reduce) { .ff-slider, .ff-pipe-glow { animation: none; } .ff-slider--bag { top: 20px; } .ff-slider--pm { top: 84px; } }

.co-existing-intake {
  display: grid;
  grid-template-columns: minmax(260px,0.85fr) minmax(420px,1.15fr);
  align-items: end;
  gap: clamp(24px,4vw,64px);
  margin-top: 18px;
  border-color: rgba(76,201,176,0.2);
  background: linear-gradient(120deg,rgba(76,201,176,0.055),rgba(13,13,13,0.96) 48%);
}
.co-existing-intake-copy > span { color: #4cc9b0; font: 700 0.62rem 'Space Grotesk',var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; }
.co-existing-intake-copy h2 { margin: 8px 0 10px; font: 600 clamp(1.45rem,2.5vw,2.2rem) 'Poppins',var(--font-display); letter-spacing: -0.045em; }
.co-existing-intake-copy p { max-width: 560px; margin: 0; color: #8a8a8f; font-size: 0.78rem; line-height: 1.65; }
.co-existing-intake .google-doc-import-form { margin: 0; }
.co-polish-shell > header nav { display: flex; align-items: center; gap: 10px; }
.co-polish-shell > header nav a { color: #9d9da3; font: 600 0.68rem 'Poppins',var(--font-body); text-decoration: none; }
.co-polish-shell > header nav a:hover { color: #fff; }
@media (max-width: 820px) {
  .co-existing-intake { grid-template-columns: 1fr; align-items: stretch; }
}

/* Editorial workspace index: deliberately light on compositing work so the
   homepage remains smooth even with several large character assets. */
.home-main .future-orb,
.home-main .future-beam,
.home-main .home-spark-field i { animation: none !important; }
.home-main .home-spark-field { display: none; }
.home-main .future-orb { filter: none; opacity: 0.34; }
.home-main { overflow-x: clip; }

.home-main .dir-hero { min-height: calc(100svh - 72px); transition: none; }
.home-main .dir-hero h1 { transform: none; transition: none; }

/* Keep the landing mascot visible beside the index and move it left as the
   reader enters the workspace list instead of shrinking it into place. */
.home-main > .home-mascot {
  left: max(12px, calc(50% - 910px));
  width: clamp(270px,22vw,350px);
  opacity: calc(0.96 - (var(--page-scroll) * 0.14));
}
.home-mascot-inner {
  transform: translate3d(calc(var(--page-scroll) * -82px), calc(var(--page-scroll) * 42px), 0) scale(calc(1.04 - (var(--page-scroll) * 0.18) + var(--mascot-pop)));
  transition: filter 180ms ease;
  will-change: transform;
}
.home-mascot img { animation: none; }
.home-mascot-default,
.home-mascot .home-mascot-curious { transition-duration: 150ms,220ms,180ms; }
@media (max-width: 640px) {
  .home-main > .home-mascot { left: -52px; }
}

/* Baldspot world — a cinematic, scroll-driven layer below the untouched hero. */
.baldspot-world {
  --world-progress: 0;
  position: relative;
  z-index: 3;
  height: 620vh;
  margin: 0 calc(50% - 50vw);
  isolation: isolate;
  background: #09060e;
}
.bw-sticky { position: sticky; top: 72px; height: calc(100svh - 72px); overflow: hidden; background: #09060e; }
.bw-sky { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(180deg,#09080e 0%,#121126 16%,#2a1c4d 45%,#8c3e67 69%,#ff8a49 100%); }
.bw-sky::before { content:""; position:absolute; inset:-15%; opacity:calc(.16 + var(--world-progress) * .35); background:radial-gradient(circle at 20% 40%,rgba(69,105,255,.55),transparent 28%),radial-gradient(circle at 70% 36%,rgba(212,59,255,.35),transparent 33%),radial-gradient(circle at 52% 100%,rgba(255,105,44,.65),transparent 32%); filter:blur(42px); }
.bw-aurora { position:absolute; inset:-15% -10% 30%; opacity:.68; transform:translateY(calc(var(--world-progress) * -80px)); background:repeating-linear-gradient(102deg,transparent 0 8%,rgba(117,73,255,.17) 12%,rgba(255,72,206,.22) 16%,transparent 22% 31%); filter:blur(28px); animation:bwAurora 10s ease-in-out infinite alternate; }
@keyframes bwAurora { to { transform:translate3d(4%,-4%,0) skewX(-3deg); } }
.bw-star { position:absolute; left:var(--left); width:3px; height:3px; border-radius:50%; background:#fff6d3; box-shadow:0 0 9px #fff; animation:bwTwinkle 2.8s ease-in-out infinite; animation-delay:var(--delay); }
@keyframes bwTwinkle { 50% { opacity:.2; transform:scale(.4); } }
.bw-shooting { position:absolute; top:18%; left:-18%; width:150px; height:2px; opacity:0; transform:rotate(-17deg); background:linear-gradient(90deg,transparent,#fff7df); filter:drop-shadow(0 0 4px #d7a4ff); animation:bwShoot 8s linear infinite; }
.bw-shooting--two { top:32%; animation-delay:-3.4s; animation-duration:10s; }
.bw-shooting--three { top:10%; animation-delay:-6.2s; animation-duration:12s; }
@keyframes bwShoot { 8% { opacity:0; transform:translateX(0) rotate(-17deg); } 12% { opacity:1; } 28% { opacity:0; transform:translateX(150vw) rotate(-17deg); } }
.bw-cloud { position:absolute; display:block; width:150px; height:43px; border-radius:50px; opacity:.62; background:linear-gradient(180deg,#fff1e5,#cfb9dc); filter:drop-shadow(0 14px 18px rgba(41,17,60,.25)); transform:translateY(calc(var(--world-px) * var(--cloud-speed))); }
.bw-cloud span { position:absolute; bottom:8px; width:62px; height:62px; border-radius:50%; background:inherit; }
.bw-cloud span:nth-child(1){ left:19px }.bw-cloud span:nth-child(2){ left:60px;width:78px;height:78px }.bw-cloud span:nth-child(3){ right:3px;width:52px;height:52px }
.bw-cloud--one { --cloud-speed:-.14; top:28%; left:10%; }.bw-cloud--two { --cloud-speed:.12; top:15%; right:11%; transform:scale(.72) translateY(calc(var(--world-px) * var(--cloud-speed))); }.bw-cloud--three { --cloud-speed:-.08; top:42%; right:43%; transform:scale(.48) translateY(calc(var(--world-px) * var(--cloud-speed))); }
.bw-panorama { position:absolute; inset:0; background:url('/world/sunset-valley.png') center/cover no-repeat; opacity:calc(.12 + min(var(--world-progress) * 9, .88)); transform:scale(calc(1.06 + var(--world-progress) * .08)) translate3d(calc(var(--world-progress) * -3%),calc(var(--world-progress) * -2%),0); transform-origin:50% 70%; filter:saturate(1.05) contrast(1.02); }
.bw-panorama::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,5,12,.96),transparent 22%,transparent 78%,rgba(4,3,8,.38)); opacity:calc(1 - min(var(--world-progress) * 11, 1)); }
.bw-boss-sun { position:absolute; z-index:2; top:7%; right:4%; width:clamp(150px,18vw,320px); height:auto; object-fit:contain; opacity:calc((var(--world-progress) - .05) * 5); transform:translateY(calc(var(--world-progress) * 38px)) rotate(calc(var(--world-progress) * 12deg)); animation:bwSun 5s ease-in-out infinite; filter:drop-shadow(0 0 38px rgba(255,150,35,.65)); }
@keyframes bwSun { 50% { margin-top:-10px; filter:drop-shadow(0 0 58px rgba(255,150,35,.85)); } }
.bw-message { position:absolute; z-index:9; top:-70px; left:50%; width:min(420px,72vw); min-height:44px; padding:7px 12px 7px 48px; border:1px solid rgba(255,255,255,.12); border-radius:7px; color:#ece8e5; background:rgba(20,19,23,.94); box-shadow:0 12px 40px rgba(0,0,0,.38); font:500 11px/1.3 var(--font-body); transform:translate3d(-50%,calc(var(--world-progress) * (100svh + 150px)),0); }
.bw-message i { position:absolute; left:9px; top:8px; width:29px; height:29px; border-radius:5px; background:linear-gradient(145deg,#d6c2ad,#5e4334); }.bw-message b { margin-right:7px;font-weight:700 }.bw-message time{ color:#87828a }.bw-message span{ display:block;color:#d5d0d4 }
.bw-paraglider { position:absolute; z-index:7; top:13%; left:-18%; width:clamp(96px,11vw,180px); transform:translate3d(calc(var(--world-progress) * 116vw),calc(sin(var(--world-progress) * 18rad) * 20px),0) rotate(calc(-16deg + var(--world-progress) * 32deg)); filter:drop-shadow(0 18px 22px rgba(30,8,27,.35)); }
.bw-paraglider img { width:100%; height:auto; animation:bwGlide 2.2s ease-in-out infinite; }.bw-paraglider i { position:absolute; left:-15%; top:-38%; width:130%; height:60%; border:9px solid #ff9d34; border-bottom:0; border-radius:50% 50% 0 0; box-shadow:inset 0 7px #ffe170; }
@keyframes bwGlide { 50% { transform:translateY(13px) rotate(4deg); } }
.bw-scene { position:absolute; z-index:5; inset:0; pointer-events:none; }
.bw-character { position:absolute; pointer-events:auto; opacity:0; transform:translateY(70px) scale(.78); transition:filter .25s ease; }
.bw-character-button { display:block; width:100%; padding:0; border:0; background:none; cursor:pointer; filter:drop-shadow(0 24px 28px rgba(31,9,19,.35)); transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s; }
.bw-character-button:hover,.bw-character-button:focus-visible { outline:none; transform:translateY(-9px) scale(1.1); filter:drop-shadow(0 32px 28px rgba(31,9,19,.5)); }
.bw-character-button img { display:block; width:100%; height:auto; }
.bw-bizdev { left:8%; bottom:22%; width:clamp(155px,20vw,330px); opacity:clamp(0,(var(--world-progress) - .12) * 8,1); transform:translateY(calc((.2 - var(--world-progress)) * 170px)) scale(.9); animation:bwObserve 3.2s ease-in-out infinite; }
.bw-finance { left:39%; bottom:14%; width:clamp(135px,17vw,270px); opacity:clamp(0,(var(--world-progress) - .19) * 8,1); transform:translateY(calc((.27 - var(--world-progress)) * 180px)); animation:bwType 1.1s ease-in-out infinite; }
.bw-reops { right:7%; bottom:16%; width:clamp(170px,22vw,350px); opacity:clamp(0,(var(--world-progress) - .25) * 8,1); transform:translateY(calc((.33 - var(--world-progress)) * 160px)); animation:bwHammer .8s ease-in-out infinite; }
@keyframes bwObserve { 50% { margin-top:-7px; transform:rotate(-2deg) } } @keyframes bwType { 50% { margin-bottom:5px; transform:rotate(1deg) } } @keyframes bwHammer { 50% { transform:rotate(2.5deg); transform-origin:60% 80% } }
.bw-scene--lookout { opacity:clamp(0,1 - (var(--world-progress) - .47) * 8,1); }
.bw-scene--worksite { opacity:clamp(0,(var(--world-progress) - .4) * 9,1); transform:translateX(calc((.48 - var(--world-progress)) * 100px)); }
.bw-house { position:absolute; left:8%; bottom:5%; width:min(70vw,930px); max-height:68vh; object-fit:contain; filter:drop-shadow(0 36px 35px rgba(37,14,22,.4)); }
.bw-salon { right:8%; bottom:15%; width:clamp(140px,19vw,300px); opacity:1; animation:bwManage 2.7s ease-in-out infinite; }
@keyframes bwManage { 50% { transform:translateY(-9px) rotate(-3deg); } }
.bw-scene--worksite { opacity:clamp(0,min((var(--world-progress) - .42) * 10,(.74 - var(--world-progress)) * 10),1); }
.bw-scene--showdown { opacity:clamp(0,(var(--world-progress) - .68) * 10,1); }
.bw-postmortem { left:18%; bottom:8%; width:clamp(180px,25vw,420px); opacity:1; animation:bwFightLeft 1.5s ease-in-out infinite; }.bw-tools { right:18%; bottom:12%; width:clamp(160px,21vw,340px); opacity:1; animation:bwFightRight 1.5s ease-in-out infinite; }.bw-impact { position:absolute; left:50%; top:48%; width:20px;height:20px;background:#fff9a0;clip-path:polygon(50% 0,61% 35%,100% 20%,72% 51%,100% 80%,63% 66%,50% 100%,38% 65%,0 80%,28% 50%,0 20%,39% 35%);animation:bwImpact .75s steps(2) infinite; }
@keyframes bwFightLeft { 50% { transform:translate(18px,-3px) rotate(2deg) } } @keyframes bwFightRight { 50% { transform:translate(-18px,-5px) rotate(-3deg) } } @keyframes bwImpact { 50% { transform:scale(2.5) rotate(23deg);background:#ff7c35 } }
.bw-orbit { position:absolute; z-index:12; left:50%; top:42%; width:1px; height:1px; pointer-events:none; }
.bw-orbit a { --angle:calc((360deg / var(--orbit-count)) * var(--orbit-index) - 90deg); position:absolute; width:46px; height:46px; padding:7px; border:1px solid rgba(255,255,255,.36); border-radius:50%; background:rgba(14,8,20,.87); opacity:0; pointer-events:auto; transform:rotate(var(--angle)) translateX(0) rotate(calc(var(--angle) * -1)); transition:opacity .18s,transform .32s cubic-bezier(.2,.9,.2,1),background .2s; }
.bw-orbit img { width:100%;height:100%;object-fit:contain }.bw-character.is-open .bw-orbit a { opacity:1;transform:rotate(var(--angle)) translateX(clamp(72px,8vw,118px)) rotate(calc(var(--angle) * -1)); }.bw-orbit a:hover,.bw-orbit a:focus-visible { background:#ff5a00;outline:2px solid white; }
.bw-flower-field { position:absolute; z-index:4; inset:0; pointer-events:none; opacity:clamp(0,var(--world-progress) * 5,1); }
.bw-flower { position:absolute; width:9px;height:28px;background:#286a39;transform:scale(var(--flower-scale));transform-origin:bottom;animation:bwFlower 2.8s ease-in-out infinite alternate; }.bw-flower::before { content:"";position:absolute;left:-8px;top:-8px;width:24px;height:24px;border-radius:50%;background:#ff5a97;box-shadow:0 -8px #ffb5d0,8px 0 #df3f83,-8px 0 #ff7da9; }.bw-flower--1::before{background:#f5bd35;box-shadow:0 -8px #ffe37d,8px 0 #f09327,-8px 0 #ffcc46}.bw-flower--2::before{background:#9d61ff;box-shadow:0 -8px #d2a8ff,8px 0 #7742dd,-8px 0 #b87aff}.bw-flower--3::before{background:#ff6538;box-shadow:0 -8px #ffb062,8px 0 #e84429,-8px 0 #ff7d4e}.bw-flower--4::before{background:#6bd1ff;box-shadow:0 -8px #b8edff,8px 0 #3ba7df,-8px 0 #72dcff}
@keyframes bwFlower { to { transform:scale(var(--flower-scale)) rotate(5deg); } }
.bw-edge { position:absolute; z-index:15; inset:0; opacity:clamp(0,(var(--world-progress) - .86) * 12,1); pointer-events:none; background:linear-gradient(180deg,transparent 48%,rgba(2,1,5,.88) 72%,#020105 100%); }
.bw-edge span { position:absolute; top:56%; width:42%; height:55%; background:#050309; clip-path:polygon(0 0,100% 15%,86% 100%,8% 100%); filter:drop-shadow(0 -15px 18px rgba(255,90,49,.15)); }.bw-edge span:nth-child(1){left:-8%;transform:rotate(5deg)}.bw-edge span:nth-child(2){left:31%;top:59%;width:46%;transform:rotate(-6deg)}.bw-edge span:nth-child(3){right:-14%;transform:rotate(3deg)}
.bw-loop-curtain { position:absolute; z-index:50; inset:0; pointer-events:none; background:#08060d; opacity:clamp(0,(var(--world-progress) - .95) * 28,1); }
.bw-loop-gate { position:absolute; bottom:0; width:100%; height:90vh; pointer-events:none; }
html::after { content:"";position:fixed;z-index:99999;inset:0;pointer-events:none;background:#08060d;opacity:0;transition:opacity .38s ease; } html.bw-is-looping::after{opacity:1}
@media (max-width:760px) { .baldspot-world{height:560vh}.bw-sticky{top:72px}.bw-boss-sun{right:-6%;width:190px}.bw-bizdev{left:-10%;width:200px}.bw-finance{left:34%;width:170px}.bw-reops{right:-12%;width:215px}.bw-house{left:-24%;width:115vw}.bw-salon{right:-7%}.bw-postmortem{left:-11%;width:270px}.bw-tools{right:-8%;width:220px}.bw-flower:nth-child(2n){display:none}.bw-message{font-size:9px} }
@media (prefers-reduced-motion:reduce) { .bw-aurora,.bw-star,.bw-shooting,.bw-boss-sun,.bw-paraglider img,.bw-character,.bw-flower,.bw-impact{animation:none!important}.bw-panorama,.bw-message,.bw-paraglider,.bw-cloud{transform:none!important}.baldspot-world{height:400vh} }

.ff-modes { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.ff-mode { display: flex; flex-direction: column; gap: 8px; text-align: left; padding: 26px 24px; border: 1.5px solid var(--border); border-radius: 20px; background: var(--surface); color: var(--text-dim); cursor: pointer; transition: all .18s; }
.ff-mode strong { font: 800 clamp(20px,2.6vw,30px)/1.02 var(--font-display); letter-spacing: -.02em; color: var(--text); }
.ff-mode span { font-size: 14px; }
.ff-mode:hover { border-color: var(--text-muted); transform: translateY(-2px); }
.ff-mode.is-active { border-color: var(--accent); background: linear-gradient(180deg, rgba(255,92,0,.14), transparent), var(--surface); box-shadow: 0 0 0 1.5px var(--accent), 0 12px 40px rgba(255,92,0,.16); }
.ff-mode.is-active strong { color: var(--accent); }

.ff-search-wrap { position: relative; z-index: 5; margin-bottom: 16px; }
.ff-search { position: relative; display: flex; align-items: center; gap: 12px; padding: 6px 6px 6px 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); transition: box-shadow .2s, border-color .2s; }
.ff-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-dim); }
.ff-search.is-listening { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-dim), 0 0 24px rgba(255,92,0,.25); }
.ff-search-icon { font-size: 22px; color: var(--text-muted); }
.ff-search-input { flex: 1; background: transparent; border: 0; outline: none; color: var(--text); font: 500 18px var(--font-body); padding: 14px 0; }
.ff-voice, .ff-search-clear { border: 1px solid var(--border); border-radius: 12px; background: var(--bg); color: var(--text-dim); padding: 12px 16px; font: 700 13px var(--font-body); cursor: pointer; white-space: nowrap; }
.ff-voice:hover { border-color: var(--accent); color: var(--accent); }
.ff-voice.is-live { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); animation: ff-pulse 1.2s infinite; }
.ff-typeahead { position: absolute; left: 0; right: 0; top: calc(100% + 8px); margin: 0; padding: 6px; list-style: none; background: var(--surface2); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 24px 60px rgba(0,0,0,.5); max-height: 320px; overflow: auto; }
.ff-typeahead li button { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 11px 14px; border: 0; border-radius: 10px; background: transparent; color: var(--text); font: 500 14px var(--font-body); cursor: pointer; }
.ff-typeahead li button:hover { background: var(--accent-dim); }
.ff-typeahead li button strong { font: 700 14px var(--font-body); color: var(--text); }
.ff-typeahead li button em { font-style: normal; font-size: 12px; color: var(--text-muted); text-align: right; }
.ff-typeahead-hint { padding: 8px 14px 4px; font: 800 10px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.ff-pick-hint { margin: 4px 2px 0; color: var(--text-muted); font: 500 14px var(--font-body); }
.ff-prefill-note { margin: 12px 2px 0; color: var(--green); font-size: 13px; }
.ff-prefill-note.ff-muted { color: var(--text-muted); }

/* Invoice schedule picker — milestones grouped by the month they land in */
.ff-schedule { margin-bottom: 20px; }
.ff-schedule-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ff-schedule-head > span { font: 800 13px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--text-dim); }
.ff-schedule-head small { color: var(--text-muted); font-size: 11px; }
.ff-sched-group { margin-bottom: 16px; }
.ff-sched-label { display: flex; align-items: center; gap: 8px; margin: 0 2px 10px; font: 800 11px var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); }
.ff-sched-label em { font-style: normal; padding: 2px 8px; border-radius: 999px; background: var(--surface2); color: var(--text-muted); font-size: 10px; }
.ff-sched-group--this .ff-sched-label { color: var(--accent); }
.ff-sched-group--this .ff-sched-label em { background: var(--accent-dim); color: var(--accent); }
.ff-sched-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.ff-sched-list--scroll { max-height: 300px; overflow-y: auto; padding: 2px 4px 2px 0; }
.ff-sched-item { display: grid; gap: 4px; text-align: left; padding: 13px 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); color: var(--text); cursor: pointer; transition: all .14s; }
.ff-sched-item:hover { border-color: var(--text-muted); transform: translateY(-1px); }
.ff-sched-item.is-active { border-color: var(--accent); background: linear-gradient(180deg, rgba(255,92,0,.10), transparent), var(--surface); box-shadow: 0 0 0 1px var(--accent); }
.ff-sched-client { font: 700 15px var(--font-display); }
.ff-sched-detail { font-size: 12px; color: var(--text-dim); line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ff-sched-meta { display: flex; gap: 10px; align-items: center; margin-top: 2px; font-size: 12px; color: var(--text-muted); }
.ff-sched-meta b { color: var(--green); font-weight: 800; }
.ff-manual-link { border: 0; background: none; color: var(--text-muted); font: 600 12px var(--font-body); cursor: pointer; padding: 4px 2px; text-decoration: underline; text-underline-offset: 3px; }
.ff-manual-link:hover { color: var(--accent); }

.ff-milestones { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.ff-milestones > span { color: var(--text-muted); font: 700 11px var(--font-body); text-transform: uppercase; letter-spacing: .06em; }
.ff-chiprow { display: flex; gap: 8px; flex-wrap: wrap; }
.ff-chip { padding: 8px 13px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); color: var(--text-dim); font: 600 12px var(--font-body); cursor: pointer; }
.ff-chip:hover { border-color: var(--text-muted); }
.ff-chip.is-active { border-color: var(--accent); color: var(--accent); background: var(--accent-dim); }

.ff-form { display: flex; flex-direction: column; gap: 14px; }

/* Cross-reference row: one-click jumps to Close / SOW / the destination platform. */
.ff-crossref { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ff-xref-btn { display: inline-flex; align-items: center; gap: 5px; padding: 8px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface2); color: var(--text-dim); font: 700 12px var(--font-body); text-decoration: none; cursor: pointer; transition: all .15s; }
.ff-xref-btn:hover { border-color: var(--accent); color: var(--text); }
.ff-xref-btn--close { color: #8ebbd9; border-color: rgba(142,187,217,.35); }
.ff-xref-split { margin-left: auto; }
.ff-xref-split.is-active { border-color: var(--accent); color: #0d0d0d; background: var(--accent); }
.ff-xref-btn:disabled { opacity: .4; cursor: not-allowed; }

/* Split layout: form on the left, embedded SOW preview on the right. */
.ff-split-wrap { display: block; }
.ff-form-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ff-form--split .ff-split-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.ff-sow-panel { position: sticky; top: 88px; display: grid; grid-template-rows: auto minmax(0,1fr) auto; height: calc(100vh - 120px); min-height: 560px; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #0d0d0d; }
.ff-sow-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 14px; border-bottom: 1px solid var(--border); }
.ff-sow-panel > header span { display: block; color: var(--text-muted); font: 700 10px var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.ff-sow-panel > header strong { display: block; max-width: 280px; overflow: hidden; margin-top: 3px; color: var(--text); font: 700 13px var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.ff-sow-panel > header nav { display: flex; align-items: center; gap: 7px; }
.ff-sow-panel > header a, .ff-sow-panel > header button { padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: #8ebbd9; font: 700 11px var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.ff-sow-panel iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.ff-sow-panel > p { margin: 0; padding: 8px 14px; font-size: 11px; }

/* Provenance chip — where a prefilled value came from. */
.ff-prov { display: inline-block; margin-left: 7px; padding: 1px 7px; border-radius: 999px; font: 700 9px var(--font-body); letter-spacing: .04em; text-transform: uppercase; vertical-align: middle; }
.ff-prov--close { background: rgba(142,187,217,.16); color: #8ebbd9; }
.ff-prov--sow { background: rgba(34,197,94,.14); color: var(--green); }
.ff-prov--assumed { background: rgba(234,179,8,.16); color: var(--yellow); }

/* Generate Team SOW button, sits under the empty Team SOW field. */
.ff-gen-team { align-self: flex-start; padding: 8px 13px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent-dim); color: var(--accent); font: 700 12px var(--font-body); cursor: pointer; transition: all .15s; }
.ff-gen-team:hover { background: var(--accent); color: #0d0d0d; }
.ff-gen-team:disabled { opacity: .6; cursor: wait; }

@media (max-width: 900px) {
  .ff-form--split .ff-split-wrap { grid-template-columns: 1fr; }
  .ff-sow-panel { position: relative; top: auto; height: 70vh; }
}

/* Duplicate / unknown-client guard shown instead of the success confirm. */
.ff-blocker { border: 1px solid rgba(234,179,8,.4); border-radius: 14px; background: rgba(234,179,8,.06); padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.ff-blocker-head { display: flex; align-items: center; gap: 8px; font: 800 14px var(--font-display); color: var(--yellow); }
.ff-blocker p { margin: 0; color: var(--text-dim); font-size: 13px; line-height: 1.5; }
.ff-blocker-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.ff-blocker-list a { color: var(--accent); font: 600 13px var(--font-body); text-decoration: none; }
.ff-blocker-list a:hover { text-decoration: underline; }
.ff-blocker-actions { display: flex; align-items: center; gap: 14px; margin-top: 4px; }
.ff-blocker-force { padding: 10px 16px; border: 1px solid var(--yellow); border-radius: 10px; background: transparent; color: var(--yellow); font: 700 13px var(--font-body); cursor: pointer; transition: all .15s; }
.ff-blocker-force:hover { background: var(--yellow); color: #0d0d0d; }
.ff-blocker-force:disabled { opacity: .6; cursor: wait; }

.ff-section { border: 1px solid var(--border); border-radius: 16px; background: var(--surface); overflow: hidden; }
.ff-section-bar { display: flex; align-items: center; gap: 9px; padding: 14px 20px; font: 800 11px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--text-dim); border-bottom: 1px solid var(--border); background: linear-gradient(90deg, rgba(255,92,0,.06), transparent); }
.ff-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.ff-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; padding: 20px; }
.ff-field { display: flex; flex-direction: column; gap: 8px; }
.ff-field--wide { grid-column: 1 / -1; }
.ff-field-label { font: 700 12px var(--font-body); color: var(--text-dim); }
.ff-field-label em { color: var(--accent); font-style: normal; }
.ff-field small { color: var(--text-muted); font-size: 11px; }
.ff-input { width: 100%; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--text); font: 14px var(--font-body); transition: border-color .15s, box-shadow .15s; }
.ff-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-dim); }
.ff-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.ff-pill { padding: 9px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--text-dim); font: 600 13px var(--font-body); cursor: pointer; transition: all .15s; }
.ff-pill:hover { border-color: var(--text-muted); color: var(--text); }
.ff-pill.is-active { border-color: var(--accent); color: #0d0d0d; background: var(--accent); font-weight: 700; }

.ff-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.ff-submit { position: relative; padding: 15px 26px; border: 0; border-radius: 14px; background: linear-gradient(90deg, var(--accent), #ff8a3d); color: #0d0d0d; font: 800 15px var(--font-body); cursor: pointer; box-shadow: 0 10px 34px rgba(255,92,0,.28); transition: transform .12s, box-shadow .2s; }
.ff-submit:hover { transform: translateY(-1px); box-shadow: 0 14px 40px rgba(255,92,0,.4); }
.ff-submit:disabled { opacity: .7; cursor: wait; }
.ff-confirm { margin-top: 16px; padding: 22px 24px; border: 1px solid var(--green); border-radius: 16px; background: linear-gradient(180deg, rgba(34,197,94,.10), transparent), var(--surface); }
.ff-confirm-head { display: flex; align-items: center; gap: 10px; font: 800 16px var(--font-display); color: var(--text); }
.ff-confirm-check { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #0d0d0d; font-size: 14px; font-weight: 900; }
.ff-confirm-note { margin: 10px 0 16px; color: var(--text-dim); font-size: 14px; line-height: 1.55; max-width: 640px; }
.ff-confirm-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ff-confirm-cta { display: inline-block; padding: 14px 24px; border-radius: 12px; background: var(--green); color: #0d0d0d; font: 800 14px var(--font-body); text-decoration: none; box-shadow: 0 10px 30px rgba(34,197,94,.25); transition: transform .12s, box-shadow .2s; }
.ff-confirm-cta:hover { transform: translateY(-1px); box-shadow: 0 14px 38px rgba(34,197,94,.38); }
.ff-ok { color: var(--green); font-size: 13px; }
.ff-ok a { color: var(--accent); }
.ff-err { color: var(--red); font-size: 13px; }
@media (max-width: 720px) { .ff-hero { grid-template-columns: 1fr; } .ff-pipe { display: none; } .ff-modes { grid-template-columns: 1fr; } }

/* ---- Invoice Tracker: money-bag + construction-worker on a fire pole ---- */
.it-pipe { position: relative; width: 96px; height: 96px; flex-shrink: 0; }
.it-pipe::before { content: ''; position: absolute; left: 50%; top: -14px; bottom: -14px; width: 10px; transform: translateX(-50%); border-radius: 7px; background: linear-gradient(90deg, #3a3a3a, #6a6a6a 40%, #2a2a2a); box-shadow: inset 0 0 6px rgba(0,0,0,.6); }
.it-pipe-glow { position: absolute; left: 50%; top: -6px; width: 26px; height: 26px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,92,0,.5), transparent 70%); animation: ff-pulse 2.4s ease-in-out infinite; }
.it-slider { position: absolute; left: 50%; transform: translateX(-50%); animation: it-slide 3.6s cubic-bezier(.5,0,.5,1) infinite; }
.it-slider--bag { animation-delay: 0s; }
.it-slider--pm { animation-delay: 1.8s; }
@keyframes it-slide { 0% { top: -56px; opacity: 0; } 12% { opacity: 1; } 60% { top: 34px; opacity: 1; } 80% { top: 34px; transform: translateX(-50%) rotate(-6deg); } 100% { top: 34px; opacity: 0; transform: translateX(-50%) translateY(16px); } }
@media (prefers-reduced-motion: reduce) { .it-slider, .it-pipe-glow { animation: none; } .it-slider--bag { top: 6px; } .it-slider--pm { top: 40px; } }

/* Budget tracker */
.budget-page { min-height: 100vh; background: #10100f; color: #f3eee7; }
.budget-topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px clamp(20px,4vw,62px); border-bottom:1px solid #2e2d29; }
.budget-topbar > div { display:flex; align-items:center; gap:14px; }.budget-status { color:#8f8b84; font-size:11px; }.budget-main { max-width:1180px; margin:auto; padding:0 24px 80px; }
.budget-hero { display:flex; justify-content:space-between; align-items:end; gap:30px; padding:70px 4vw 46px; border-bottom:1px solid #2e2d29; }.budget-hero-copy > span,.budget-notes > div > span { color:#ff7a33; font:800 10px var(--font-body); text-transform:uppercase; letter-spacing:.16em; }.budget-hero h1 { margin:11px 0 15px; font:500 clamp(54px,9vw,112px)/.78 var(--font-display); letter-spacing:-.07em; }.budget-hero p { max-width:480px; margin:0; color:#9e9991; font-size:14px; line-height:1.6; }.budget-hero img { filter:drop-shadow(0 24px 38px rgba(0,0,0,.45)); }
.budget-controls { display:flex; justify-content:space-between; gap:26px; align-items:end; padding:28px 0; }.budget-controls label { display:flex; flex-direction:column; gap:7px; color:#8f8b84; font:800 9px var(--font-body); text-transform:uppercase; letter-spacing:.1em; }.budget-controls select { min-width:140px; border:1px solid #3a3935; padding:10px; border-radius:7px; background:#1b1a18; color:#f3eee7; }.budget-usage { display:flex; gap:25px; }.budget-usage span { display:flex; flex-direction:column; gap:5px; color:#8f8b84; font:800 9px var(--font-body); text-transform:uppercase; letter-spacing:.09em; }.budget-usage strong { color:#f3eee7; font:500 21px var(--font-display); letter-spacing:-.03em; text-transform:none; }.is-over { color:#f16f68 !important; }
.budget-table-wrap { overflow:auto; border:1px solid #302f2b; border-radius:13px; background:#171614; }.budget-table { width:100%; min-width:760px; border-collapse:collapse; font-size:12px; }.budget-table th { padding:13px 16px; color:#817c74; font:800 9px var(--font-body); text-align:right; text-transform:uppercase; letter-spacing:.1em; }.budget-table th:first-child { text-align:left; }.budget-table td { padding:11px 16px; border-top:1px solid #292824; text-align:right; color:#d7d1c8; }.budget-table td:first-child { text-align:left; }.budget-category { background:#1d1c19; }.budget-category strong { color:#f3eee7; }.budget-category button { border:0; padding:0; background:transparent; color:#f3eee7; cursor:pointer; font:inherit; }.budget-leaf td:first-child { color:#8f8b84; }.budget-leaf:not(.budget-leaf--solo) td:first-child { padding-left:38px; }.budget-table input { width:112px; border:1px solid #383630; border-radius:5px; padding:7px 8px; background:#11110f; color:#f5eee5; text-align:right; font:inherit; }.budget-table input:focus { outline:none; border-color:#ff6a21; }.budget-meter { display:inline-block; width:58px; height:4px; margin-right:8px; overflow:hidden; background:#37342e; vertical-align:middle; }.budget-meter i { display:block; height:100%; background:#4bc6ae; }.budget-message { padding:48px 0; color:#9e9991; }
.budget-notes { display:grid; grid-template-columns:.75fr 1.25fr; gap:40px; margin-top:38px; padding:34px; border:1px solid #302f2b; border-radius:13px; background:#171614; }.budget-notes h2 { margin:8px 0; font:500 32px var(--font-display); letter-spacing:-.04em; }.budget-notes p { max-width:300px; color:#918c84; font-size:12px; line-height:1.6; }.budget-note-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.budget-note-grid label { display:flex; flex-direction:column; gap:8px; color:#bdb7ad; font-size:12px; }.budget-note-grid textarea { min-height:145px; resize:vertical; border:1px solid #35332e; border-radius:7px; padding:10px; background:#11110f; color:#f3eee7; font:12px/1.5 var(--font-body); }.budget-note-grid textarea:focus { outline:none; border-color:#ff6a21; }
@media (max-width:700px) { .budget-hero { padding:50px 0 35px; }.budget-hero img { width:120px; height:120px; }.budget-controls,.budget-notes { grid-template-columns:1fr; display:grid; }.budget-usage { gap:14px; flex-wrap:wrap; }.budget-note-grid { grid-template-columns:1fr; } }

/* ---- Code Roadmap (.rm-*) ---- */
.rm-shell { max-width: 1120px; margin: 0 auto; padding: 40px 24px 90px; color: var(--text); }
.rm-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.rm-eyebrow { margin: 0; color: #60a5fa; font: 800 10px var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.rm-head h1 { margin: 6px 0 8px; font: 700 clamp(30px,5vw,50px)/1 var(--font-display); letter-spacing: -.03em; }
.rm-sub { margin: 0; max-width: 620px; color: var(--text-muted); font-size: 13px; }
.rm-columns { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,1fr); gap: 16px; align-items: start; }
.rm-main, .rm-aside { display: flex; flex-direction: column; gap: 16px; }
.rm-card { border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 20px 22px; }
.rm-card-title { margin: 0 0 14px; font: 800 11px var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--text-dim); }
.rm-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.rm-entry { display: grid; grid-template-columns: 92px 1fr; gap: 12px; align-items: start; }
.rm-entry strong { font: 700 15px var(--font-display); }
.rm-entry p { margin: 4px 0 4px; color: var(--text-dim); font-size: 13px; line-height: 1.5; }
.rm-entry small { color: var(--text-muted); font-size: 11px; }
.rm-status { align-self: start; padding: 4px 9px; border-radius: 999px; font: 700 10px var(--font-body); text-transform: uppercase; letter-spacing: .04em; text-align: center; }
.rm-status--shipped { color: var(--green); background: var(--green-dim, rgba(34,197,94,.12)); }
.rm-status--in-progress { color: var(--accent); background: var(--accent-dim); }
.rm-status--planned { color: #60a5fa; background: rgba(96,165,250,.12); }
.rm-tools { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 12px; }
.rm-tool { border: 1px solid var(--border); border-radius: 10px; padding: 14px; background: var(--bg); }
.rm-tool strong { font: 700 14px var(--font-display); }
.rm-tool p { margin: 6px 0; color: var(--text-dim); font-size: 12px; line-height: 1.5; }
.rm-tool em { color: var(--text-muted); font-size: 11px; font-style: normal; }
.rm-hint { margin: 0 0 12px; color: var(--text-muted); font-size: 12px; }
.rm-input { width: 100%; margin-bottom: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--bg); color: var(--text); font: 14px var(--font-body); }
.rm-input:focus { outline: none; border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96,165,250,.15); }
.rm-submit { padding: 11px 18px; border: 0; border-radius: 10px; background: #60a5fa; color: #0d0d0d; font: 700 13px var(--font-body); cursor: pointer; }
.rm-submit:hover { filter: brightness(1.08); }
.rm-submit--quiet { background: transparent; border: 1px solid var(--border); color: var(--text-dim); }
.rm-ok { margin-left: 12px; color: var(--green); font-size: 13px; }
.rm-requests { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.rm-requests li { border-top: 1px solid var(--border); padding-top: 14px; }
.rm-requests li:first-child { border-top: 0; padding-top: 0; }
.rm-req-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rm-req-head strong { font-size: 14px; }
.rm-requests p { margin: 6px 0; color: var(--text-dim); font-size: 13px; }
.rm-requests small { color: var(--text-muted); font-size: 11px; }
.rm-reqstatus { padding: 3px 8px; border-radius: 999px; font: 700 10px var(--font-body); text-transform: uppercase; white-space: nowrap; color: var(--text-dim); background: var(--surface2); }
.rm-reqstatus--in-progress { color: var(--accent); background: var(--accent-dim); }
.rm-reqstatus--done { color: var(--green); }
.rm-triage { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.rm-triage-btn { padding: 5px 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); color: var(--text-muted); font: 600 11px var(--font-body); cursor: pointer; }
.rm-triage-btn.is-active { border-color: #60a5fa; color: #60a5fa; background: rgba(96,165,250,.12); }
.rm-triage-btn--danger { margin-left: auto; border-color: rgba(239,68,68,.4); color: var(--red); }
.rm-triage-btn--danger:hover { border-color: var(--red); background: rgba(239,68,68,.12); }
.rm-req-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.rm-req-by { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px 3px 7px; border-radius: 999px; background: var(--surface2); border: 1px solid var(--border); color: var(--text); font: 700 11px var(--font-body); }
.rm-req-by::before { content: '@'; color: var(--accent); font-weight: 800; }
.rm-request-product { margin-top: 0 !important; }
.rm-notes-read { white-space: pre-wrap; color: var(--text-dim); font-size: 13px; line-height: 1.6; margin: 0; }
.rm-notes-meta { display: block; margin-top: 10px; color: var(--text-muted); font-size: 11px; }
@media (max-width: 860px) { .rm-columns { grid-template-columns: 1fr; } }

/* Roadmap 2.0 — executive product direction */
.rm-shell { max-width: 1320px; min-height: 100vh; margin: 0 auto; padding: 0 34px 100px; color: #f4f0e9; }
.rm-hero { min-height: 530px; display: grid; grid-template-columns: 1.45fr .55fr; gap: clamp(40px,8vw,120px); align-items: center; padding: 80px 5vw 64px; border-bottom: 1px solid #292929; }
.rm-eyebrow { color: #a29d94; font: 800 10px var(--font-body); letter-spacing: .17em; }
.rm-eyebrow span { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #70e18a; box-shadow: 0 0 0 5px rgba(112,225,138,.1); }
.rm-hero h1 { max-width: 850px; margin: 18px 0 28px; font: 500 clamp(56px,8.4vw,124px)/.83 var(--font-display); letter-spacing: -.075em; }
.rm-hero-copy > p:last-child { max-width: 690px; margin: 0; color: #97928a; font-size: clamp(15px,1.5vw,20px); line-height: 1.55; }
.rm-north-star { align-self: end; margin-bottom: 16px; padding: 26px; border-top: 2px solid #ff5c00; background: #181818; }
.rm-north-star small, .rm-north-star span { color: #716d67; font: 800 9px var(--font-body); letter-spacing: .13em; text-transform: uppercase; }
.rm-north-star strong { display: block; margin: 22px 0 10px; font: 500 27px/1.05 var(--font-display); }
.rm-north-star p { color: #99938b; font-size: 12px; line-height: 1.6; }
.rm-north-star span { display: block; margin-top: 30px; color: #ff5c00; }
.rm-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #292929; }
.rm-metrics div { padding: 28px 4vw; border-right: 1px solid #292929; }
.rm-metrics div:last-child { border: 0; }
.rm-metrics strong { display: block; font: 500 34px var(--font-display); }
.rm-metrics span { color: #77726a; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.rm-section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding: 84px 0 28px; }
.rm-section-head p { margin: 0 0 8px; color: #ff5c00; font: 800 9px var(--font-body); letter-spacing: .16em; text-transform: uppercase; }
.rm-section-head h2 { margin: 0; font: 500 clamp(32px,4vw,54px)/1 var(--font-display); letter-spacing: -.045em; }
.rm-section-head > span { max-width: 370px; color: #77726a; font-size: 12px; line-height: 1.5; }
.rm-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.rm-product { min-height: 590px; display: flex; flex-direction: column; padding: 28px; border: 1px solid #292929; background: #151515; overflow: hidden; position: relative; }
.rm-product::after { content: ''; position: absolute; width: 220px; height: 220px; right: -110px; top: -110px; border-radius: 50%; background: var(--product-color); opacity: .08; filter: blur(4px); }
.rm-product--baldspot { --product-color: #ff5c00; }
.rm-product--salon { --product-color: #f1c5d9; }
.rm-product--portal { --product-color: #70a7ff; }
.rm-product-top { display: flex; justify-content: space-between; align-items: center; }
.rm-product-top > span { color: #5e5a54; font: 500 28px var(--font-display); }
.rm-product-top em { padding: 6px 9px; border: 1px solid #363636; border-radius: 999px; color: var(--product-color); font: 700 9px var(--font-body); text-transform: uppercase; font-style: normal; letter-spacing: .08em; }
.rm-product-label { margin: 62px 0 6px; color: var(--product-color); font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .16em; }
.rm-product h3 { margin: 0 0 18px; font: 500 clamp(35px,4vw,52px)/1 var(--font-display); letter-spacing: -.04em; }
.rm-product-copy { min-height: 86px; margin: 0; color: #908b83; font-size: 13px; line-height: 1.6; }
.rm-progress { height: 3px; margin-top: 24px; background: #282828; }
.rm-progress i { display: block; height: 100%; background: var(--product-color); }
.rm-progress-label { display: flex; justify-content: space-between; margin-top: 8px; color: #65615b; font: 700 9px var(--font-body); text-transform: uppercase; letter-spacing: .08em; }
.rm-product ul { list-style: none; padding: 0; margin: 28px 0; }
.rm-product li { padding: 10px 0 10px 18px; border-top: 1px solid #292929; color: #b5afa6; font-size: 11px; position: relative; }
.rm-product li::before { content: '↳'; position: absolute; left: 0; color: var(--product-color); }
.rm-product blockquote { margin: auto 0 0; padding: 16px 0 0; border-top: 1px solid #292929; color: #eee8df; font: 500 15px/1.4 var(--font-display); }
.rm-section-head--work { padding-top: 100px; }
.rm-workstreams { border-top: 1px solid #343434; }
.rm-workstreams article { display: grid; grid-template-columns: minmax(280px,1.6fr) .55fr .55fr .75fr; gap: 28px; align-items: center; padding: 22px 0; border-bottom: 1px solid #292929; }
.rm-work-main > span { color: #ff5c00; font: 800 9px var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.rm-work-main h3 { margin: 5px 0; font: 500 20px var(--font-display); }
.rm-work-main p, .rm-work-owner small, .rm-work-phase small { margin: 0; color: #716d67; font-size: 10px; }
.rm-work-owner strong, .rm-work-phase strong { display: block; margin-top: 5px; color: #bbb5ad; font-size: 11px; }
.rm-work-meter { display: flex; align-items: center; gap: 12px; }
.rm-work-meter > span { flex: 1; height: 3px; background: #2a2a2a; }
.rm-work-meter i { display: block; height: 100%; background: #ff5c00; }
.rm-work-meter strong { width: 32px; font-size: 10px; }
.rm-restore { margin-top: 100px; padding: 52px; display: grid; grid-template-columns: 1.4fr .6fr; gap: 60px; align-items: end; background: #f0e9df; color: #171717; }
.rm-restore p { margin: 0; color: #ff5c00; font: 800 9px var(--font-body); letter-spacing: .15em; text-transform: uppercase; }
.rm-restore h2 { margin: 10px 0 18px; font: 500 clamp(34px,4vw,55px)/.95 var(--font-display); letter-spacing: -.045em; }
.rm-restore div > span { display: block; max-width: 720px; color: #625e58; font-size: 12px; line-height: 1.6; }
.rm-restore-state { padding: 24px; border: 1px solid #d0c8bd; background: #e7dfd4; }
.rm-restore-state small { display: block; color: #777067; font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.rm-restore-state code { display: block; margin: 18px 0 8px; color: #171717; font-size: 24px; }
.rm-restore-state em { color: #3b8b55; font: 700 10px var(--font-body); font-style: normal; text-transform: uppercase; }
.rm-tab-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(300px,.65fr); gap: 16px; align-items: start; padding-top: 50px; }
.rm-card { border-color: #292929; border-radius: 0; background: #151515; padding: 28px; }
.rm-card-kicker { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid #303030; }
.rm-card-kicker span { color: #ff5c00; font: 800 9px var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.rm-card-kicker strong { font: 500 18px var(--font-display); }
.rm-entry { grid-template-columns: 105px 1fr; padding: 8px 0; }
.rm-entry strong { color: #eee8df; }
.rm-entry p { color: #8d8880; }
.rm-request-box h2 { margin: 12px 0; font: 500 33px var(--font-display); }
.rm-input { border-radius: 0; border-color: #303030; background: #101010; }
.rm-input:focus { border-color: #ff5c00; box-shadow: none; }
.rm-submit { border-radius: 0; background: #ff5c00; }
.rm-submit--quiet { background: transparent; }
.rm-empty { color: #777; }
@media (max-width: 900px) {
  .rm-shell { padding: 0 20px 70px; }
  .rm-hero { grid-template-columns: 1fr; padding: 65px 0 45px; }
  .rm-north-star { max-width: 480px; }
  .rm-product-grid { grid-template-columns: 1fr; }
  .rm-product { min-height: 0; }
  .rm-workstreams article { grid-template-columns: 1fr 1fr; }
  .rm-work-main { grid-column: 1 / -1; }
  .rm-restore, .rm-tab-layout { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
  .rm-hero h1 { font-size: 54px; }
  .rm-metrics { grid-template-columns: 1fr 1fr; }
  .rm-metrics div:nth-child(2) { border-right: 0; }
  .rm-metrics div { border-bottom: 1px solid #292929; }
  .rm-section-head { display: block; }
  .rm-section-head > span { display: block; margin-top: 16px; }
  .rm-restore { padding: 30px 24px; }
}

/* Roadmap collaboration and full-screen mission control. */
.rm-product-open { width: 100%; display: flex; justify-content: space-between; align-items: center; margin: -8px 0 0; padding: 10px 0 15px; border: 0; border-bottom: 1px solid #292929; background: transparent; color: #817b73; font: 700 9px var(--font-body); text-transform: uppercase; letter-spacing: .1em; cursor: pointer; }
.rm-product-open span { color: var(--product-color); font-size: 15px; transition: transform .2s; }
.rm-product-open:hover { color: #fff; }
.rm-product-open:hover span { transform: translate(3px,-3px); }
.rm-product-label { margin-top: 40px; }
.rm-suggest-link { margin: 18px -28px -28px; padding: 15px 28px; border: 0; border-top: 1px solid #292929; background: #111; color: #77716a; text-align: left; font: 700 10px var(--font-body); cursor: pointer; }
.rm-suggest-link:hover { color: var(--product-color); background: #191919; }
.rm-request-product { display: inline-block; margin-top: 7px; padding: 3px 7px; background: rgba(255,92,0,.12); color: #ff7d37; font: 700 9px var(--font-body); font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.rm-edit-log { margin-top: 16px; }
.rm-edit-log div { padding: 11px 0; border-top: 1px solid #292929; }
.rm-edit-log strong, .rm-edit-log small { display: block; }
.rm-edit-log strong { color: #bbb5ad; font-size: 11px; }
.rm-edit-log small { margin-top: 4px; color: #68635d; font-size: 9px; }
.rm-modal-open { overflow: hidden; }
.rm-mission { --mission: #ff5c00; position: fixed; z-index: 1000; inset: 0; overflow-y: auto; padding: 0 clamp(24px,5vw,80px) 70px; background: radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--mission) 18%, transparent), transparent 34%), #0e0e0e; color: #f3ede4; animation: rm-mission-in .45s cubic-bezier(.2,.8,.2,1); }
.rm-mission--salon { --mission: #f1c5d9; }
.rm-mission--portal { --mission: #70a7ff; }
@keyframes rm-mission-in { from { opacity: 0; clip-path: circle(3% at 50% 50%); } to { opacity: 1; clip-path: circle(150% at 50% 50%); } }
.rm-mission-bar { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #313131; }
.rm-mission-bar > div { display: flex; align-items: center; gap: 12px; }
.rm-mission-bar span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--mission); border-radius: 50%; color: var(--mission); font: 700 10px var(--font-body); }
.rm-mission-bar strong { font: 600 13px var(--font-display); }
.rm-mission-bar button { border: 1px solid #3a3a3a; padding: 9px 12px; background: #171717; color: #aaa39b; font: 700 10px var(--font-body); cursor: pointer; }
.rm-mission-bar button:hover { color: #fff; border-color: var(--mission); }
.rm-mission-bar .rm-mission-close { background: transparent; border-color: transparent; }
.rm-mission-hero { min-height: 390px; display: flex; justify-content: space-between; align-items: end; gap: 40px; padding: 70px 4vw 45px; }
.rm-mission-hero p { margin: 0 0 15px; color: var(--mission); font: 800 10px var(--font-body); text-transform: uppercase; letter-spacing: .15em; }
.rm-mission-hero h2 { margin: 0; font: 500 clamp(72px,11vw,170px)/.77 var(--font-display); letter-spacing: -.075em; }
.rm-mission-hero div > span { display: block; max-width: 720px; margin-top: 35px; color: #989189; font-size: 15px; line-height: 1.6; }
.rm-mission-hero > strong { flex: 0 0 auto; color: var(--mission); font: 500 clamp(70px,9vw,130px)/.8 var(--font-display); letter-spacing: -.06em; }
.rm-mission-hero > strong small { display: block; margin-top: 16px; color: #68635d; font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .14em; }
/* Vertical service cards: front → flip (flow steps) → expand (log history). */
.rm-service-rail { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-items: start; }
.rm-svc { display: flex; flex-direction: column; }
.rm-svc-flip { position: relative; min-height: 350px; perspective: 1500px; }
.rm-svc-face { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 22px; border: 1px solid #303030; background: rgba(23,23,23,.94); backface-visibility: hidden; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.rm-svc-front { transform: rotateY(0deg); }
.rm-svc-back { transform: rotateY(180deg); }
.rm-svc-flip.is-flipped .rm-svc-front { transform: rotateY(-180deg); }
.rm-svc-flip.is-flipped .rm-svc-back { transform: rotateY(0deg); }
.rm-svc-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rm-svc-head em { color: var(--mission); font: 800 9px var(--font-body); font-style: normal; text-transform: uppercase; letter-spacing: .08em; }
.rm-svc-head > span { color: #68635d; font-size: 10px; }
.rm-svc-front h3 { margin: 30px 0 10px; font: 500 22px/1.05 var(--font-display); }
.rm-svc-front > p { margin: 0; color: #827c74; font-size: 11px; line-height: 1.55; }
.rm-svc-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 14px; }
.rm-svc-actions a { color: #9f9890; font: 700 9px var(--font-body); text-decoration: none; text-transform: uppercase; }
.rm-svc-flipbtn { border: 1px solid #3a3a3a; background: transparent; color: var(--mission); font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .06em; padding: 7px 10px; border-radius: 7px; cursor: pointer; }
.rm-flow { margin: 14px 0 12px; padding-left: 18px; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; }
.rm-flow li { color: #cdc7bf; font-size: 12px; line-height: 1.45; }
.rm-svc-empty { margin: 16px 0; color: #68635d; font-size: 11px; }
.rm-svc-regen { margin-top: auto; border: 1px solid #3a3a3a; background: rgba(0,0,0,.25); color: #cbc5bd; font: 700 10px var(--font-body); padding: 9px; border-radius: 7px; cursor: pointer; }
.rm-svc-regen:disabled { opacity: .6; cursor: progress; }
.rm-svc-stamp { margin-top: 8px; color: #68635d; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.rm-service-meter { height: 2px; margin-top: auto; background: #303030; }
.rm-service-meter i { display: block; height: 100%; background: var(--mission); }
.rm-svc-expand { margin-top: 8px; border: 1px solid #303030; border-top: 0; background: rgba(15,15,15,.7); color: #9f9890; font: 700 9px var(--font-body); text-transform: uppercase; letter-spacing: .08em; padding: 9px; cursor: pointer; }
.rm-svc.is-expanded .rm-svc-expand { color: var(--mission); border-color: var(--mission); }
.rm-svc-drawer { border: 1px solid var(--mission); border-top: 0; background: rgba(10,10,10,.9); padding: 12px; }
.rm-svc-note { display: block; margin-bottom: 8px; color: #827c74; font-size: 10px; }
.rm-deploys { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: 260px; overflow-y: auto; }
.rm-deploys li { display: flex; align-items: flex-start; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid #262626; }
.rm-deploys li:last-child { border-bottom: 0; padding-bottom: 0; }
.rm-dep-dot { flex: 0 0 auto; width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #68635d; }
.rm-dep-dot--ok { background: var(--green); }
.rm-dep-dot--err { background: var(--red); }
.rm-dep-dot--warn { background: var(--yellow); }
.rm-dep-dot--muted { background: #68635d; }
.rm-dep-main { flex: 1 1 auto; min-width: 0; }
.rm-dep-main strong { display: block; font: 600 12px var(--font-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rm-dep-main small { color: #827c74; font-size: 10px; }
.rm-dep-side { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.rm-dep-side a { color: #9f9890; font: 700 9px var(--font-body); text-decoration: none; text-transform: uppercase; }
.rm-dep-recall { border: 1px solid rgba(239,68,68,.45); background: transparent; color: var(--red); font: 800 9px var(--font-body); text-transform: uppercase; padding: 5px 8px; border-radius: 6px; cursor: pointer; }
.rm-dep-recall:hover { background: rgba(239,68,68,.14); }
.rm-recall { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.72); padding: 20px; }
.rm-recall-card { width: min(440px,100%); background: var(--surface); border: 1px solid var(--red); border-radius: var(--radius); padding: 26px; }
.rm-recall-card h3 { margin: 8px 0 6px; font: 500 24px var(--font-display); }
.rm-recall-target { margin: 0 0 12px; color: var(--text-dim); font-size: 13px; }
.rm-recall-warn { margin: 0 0 6px; color: #827c74; font-size: 12px; line-height: 1.5; }
.rm-recall-warn b { color: var(--red); letter-spacing: .1em; }
.rm-recall .rm-input { margin-top: 8px; }
.rm-recall-actions { display: flex; gap: 10px; margin-top: 14px; }
.rm-recall-cancel { flex: 1; border: 1px solid var(--border); background: var(--surface2); color: var(--text-muted); font: 700 12px var(--font-body); padding: 11px; border-radius: 7px; cursor: pointer; }
.rm-recall-go { flex: 1; border: 0; background: var(--red); color: #fff; font: 800 12px var(--font-body); padding: 11px; border-radius: 7px; cursor: pointer; }
.rm-recall-go:disabled { opacity: .4; cursor: not-allowed; }
.rm-recall-err { display: block; margin-top: 10px; color: var(--red); font-size: 12px; }
@media (prefers-reduced-motion: reduce) {
  .rm-svc-face { transition: opacity .25s; }
  .rm-svc-front, .rm-svc-back, .rm-svc-flip.is-flipped .rm-svc-front, .rm-svc-flip.is-flipped .rm-svc-back { transform: none; }
  .rm-svc-back { opacity: 0; pointer-events: none; }
  .rm-svc-flip.is-flipped .rm-svc-back { opacity: 1; pointer-events: auto; }
  .rm-svc-flip.is-flipped .rm-svc-front { opacity: 0; pointer-events: none; }
}
.rm-mission-bottom { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; margin-top: 10px; padding: 34px; background: var(--mission); color: #111; }
.rm-mission-bottom p { margin: 0 0 8px; font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .12em; }
.rm-mission-bottom strong { font: 500 24px var(--font-display); }
.rm-mission-bottom button { border: 1px solid #111; padding: 13px 16px; background: transparent; color: #111; font: 800 10px var(--font-body); cursor: pointer; }
.rm-editor { position: fixed; z-index: 1100; inset: 16px; display: flex; flex-direction: column; overflow: auto; border: 1px solid #45413c; background: #eee7dc; color: #191919; box-shadow: 0 30px 100px #000; animation: rm-editor-in .25s ease-out; }
@keyframes rm-editor-in { from { opacity: 0; transform: translateY(25px) scale(.98); } }
.rm-editor-head { position: sticky; z-index: 2; top: 0; min-height: 86px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 30px; border-bottom: 1px solid #cbc2b6; background: rgba(238,231,220,.96); backdrop-filter: blur(15px); }
.rm-editor-head p { margin: 0 0 4px; color: #d94e00; font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .13em; }
.rm-editor-head h2 { margin: 0; font: 500 28px var(--font-display); }
.rm-editor-head button { border: 0; background: transparent; color: #625d56; cursor: pointer; }
.rm-edit-section { flex: 1; padding: 30px; }
.rm-edit-section > label, .rm-edit-grid label { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; color: #5b5650; font: 800 9px var(--font-body); text-transform: uppercase; letter-spacing: .1em; }
.rm-edit-section input, .rm-edit-section textarea, .rm-edit-section select, .rm-editor-save input { width: 100%; border: 1px solid #c7beb2; border-radius: 0; padding: 12px; background: #f8f4ee; color: #1c1c1c; font: 14px var(--font-body); text-transform: none; letter-spacing: 0; }
.rm-edit-section textarea { resize: vertical; }
.rm-edit-grid { display: grid; grid-template-columns: 1fr 220px 1fr; gap: 16px; }
.rm-editor-product-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.rm-editor-product-list button { min-height: 170px; display: flex; flex-direction: column; align-items: start; gap: 12px; padding: 22px; border: 1px solid #c7beb2; background: #f8f4ee; cursor: pointer; }
.rm-editor-product-list span { color: #d94e00; }
.rm-editor-product-list strong { font: 500 28px var(--font-display); }
.rm-editor-product-list em { margin-top: auto; color: #6c665f; font: 700 10px var(--font-body); font-style: normal; text-transform: uppercase; }
.rm-editor-subhead { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 35px 0 12px; padding-bottom: 10px; border-bottom: 1px solid #c7beb2; }
.rm-editor-subhead p { margin: 0; font: 600 22px var(--font-display); }
.rm-editor-subhead span { color: #777068; font-size: 10px; }
.rm-editor-subhead button { border: 1px solid #b8aea2; padding: 9px 12px; background: transparent; color: #3f3a35; font: 700 10px var(--font-body); cursor: pointer; }
.rm-edit-tasks { display: flex; flex-direction: column; gap: 7px; }
.rm-edit-tasks div { display: grid; grid-template-columns: 1fr 38px; }
.rm-edit-tasks button { border: 1px solid #c7beb2; border-left: 0; background: transparent; cursor: pointer; }
.rm-edit-services { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.rm-edit-services article { padding: 16px; border: 1px solid #c7beb2; background: #e8dfd4; }
.rm-edit-services article > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 8px 0; }
.rm-edit-services article label { color: #6c665f; font-size: 9px; }
.rm-edit-services .rm-edit-service-name { font: 600 18px var(--font-display); }
.rm-editor-save { position: sticky; z-index: 2; bottom: 0; display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; padding: 16px 30px; border-top: 1px solid #c7beb2; background: rgba(238,231,220,.97); backdrop-filter: blur(15px); }
.rm-editor-save span { color: #b83b20; font-size: 10px; }
.rm-editor-save button { border: 0; padding: 13px 20px; background: #ff5c00; color: #151515; font: 800 11px var(--font-body); cursor: pointer; }
.rm-editor-save button:disabled { opacity: .55; }
@media (max-width: 1000px) {
  .rm-service-rail { grid-template-columns: repeat(2,1fr); }
  .rm-edit-services { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .rm-mission { padding: 0 18px 40px; }
  .rm-mission-bar > div:first-child strong { display: none; }
  .rm-mission-hero { display: block; min-height: 0; padding: 60px 0 35px; }
  .rm-mission-hero h2 { font-size: 68px; }
  .rm-mission-hero > strong { display: block; margin-top: 35px; font-size: 70px; }
  .rm-service-rail { grid-template-columns: 1fr; }
  .rm-mission-bottom, .rm-edit-grid, .rm-editor-save { grid-template-columns: 1fr; }
  .rm-editor { inset: 0; }
  .rm-editor-product-list { grid-template-columns: 1fr; }
}

/* ---- Top bar tool navigation: hover a group, its tools drop down. ---- */
.top-nav { display: flex; align-items: center; gap: 2px; margin: 0 auto; }
.top-nav-item { position: relative; display: flex; }
.top-nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: none;
  color: #c9c9c9;
  font: 600 0.78rem var(--font-body);
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.top-nav-trigger i {
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.55;
  transition: transform 0.16s ease;
}
.top-nav-item--open .top-nav-trigger,
.top-nav-trigger:hover,
.top-nav-trigger:focus-visible { color: #fff; background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.09); }
.top-nav-item--open .top-nav-trigger i { transform: rotate(225deg) translateY(2px); }
.top-nav-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  width: 300px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 16px;
  background: rgba(16,16,16,0.97);
  box-shadow: 0 24px 70px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.05);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
/* Invisible bridge across the gap so the pointer never "leaves" on the way down. */
.top-nav-panel::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.top-nav-item--open .top-nav-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.top-nav-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 4px 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  color: #8b8b8b;
  font: 700 0.6rem var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.top-nav-panel-head img { width: 26px; height: 26px; object-fit: contain; }
.top-nav-panel-list { display: grid; gap: 4px; }
.top-nav-card {
  display: grid;
  gap: 2px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: none;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.top-nav-card:hover,
.top-nav-card:focus-visible { border-color: rgba(255,92,0,0.45); background: rgba(255,92,0,0.07); }
.top-nav-card-title { display: flex; align-items: center; gap: 8px; color: #eee; font: 700 0.78rem var(--font-display); }
.top-nav-card-sub { color: #8a8a8a; font: 0.66rem/1.45 var(--font-body); }
.top-nav-card--soon { opacity: 0.55; cursor: default; }
.top-nav-card--soon:hover { border-color: transparent; background: none; }
.top-nav-card-status {
  padding: 2px 6px;
  border: 1px solid rgba(255,92,0,0.5);
  border-radius: 999px;
  color: var(--accent);
  font: 700 0.5rem var(--font-body);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .header--future { flex-wrap: wrap; row-gap: 8px; }
  .top-nav { order: 4; flex-basis: 100%; flex-wrap: wrap; justify-content: center; margin: 0; }
  .top-nav-item { position: static; }
  .top-nav-panel { left: 12px; right: 12px; width: auto; transform: translateY(-6px); }
  .top-nav-item--open .top-nav-panel { transform: none; }
}

/* Admin sits at the far right of the homepage header; its dropdown hangs
   from the right edge. Without a signed-in account block { margin-left: auto; }
.header--future .account { margin-left: auto; }

/* Sign out stays tucked away until the email is hovered or focused. */
/* Sign out sits beside the email as a normal button. It was previously hidden until
   hover, which made signing out (the only way to pick up a permissions change)
   effectively undiscoverable. */
/* Click the account to reveal Sign out. */
.account--menu { position: relative; display: inline-flex; align-items: center; }
.account-trigger { display: inline-flex; align-items: center; gap: 7px; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 6px 2px; max-width: 320px; white-space: nowrap; }
.account-trigger i { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; opacity: .6; transition: transform .15s ease; }
.account--menu.is-open .account-trigger i { transform: rotate(180deg); }
.account-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 200px; background: #151515; border: 1px solid #2b2b2b; border-radius: 10px; padding: 6px; box-shadow: 0 16px 40px rgba(0,0,0,.45); z-index: 60; }
.account-menu[hidden] { display: none; }
.account-menu-email { display: block; padding: 8px 10px 6px; font-size: 11px; color: #8b8883; border-bottom: 1px solid #232323; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.account-menu-item { display: block; padding: 9px 10px; border-radius: 7px; color: #efe9e3; text-decoration: none; font-size: 13px; }
.account-menu-item:hover { background: #232323; }

/* The account menu opens from your photo or initials. */
.account-avatar-button { appearance: none; display: grid; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.account-avatar { display: grid; place-items: center; width: 32px; height: 32px; overflow: hidden; border-radius: 50%; background: #2a1a10; color: #ffb384; font: 700 11px/1 var(--bs-font, 'Poppins', Arial, sans-serif); box-shadow: 0 0 0 1px #3a2618; }
.account-avatar--large { width: 40px; height: 40px; font-size: 13px; }
.account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.account-avatar-button:hover .account-avatar, .account-avatar-button[aria-expanded="true"] .account-avatar { box-shadow: 0 0 0 2px var(--accent); }
.account-avatar-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.account--menu .account-menu { min-width: 260px; }
.account-menu-who { display: flex; align-items: center; gap: 11px; padding: 10px 10px 12px; margin-bottom: 4px; border-bottom: 1px solid #232323; }
.account-menu-who > span { display: grid; gap: 2px; min-width: 0; }
.account-menu-who b { color: #efe9e3; font-size: 14px; font-weight: 700; }
.account-menu-who small { overflow: hidden; color: #8b8883; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.account-menu .account-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box; border: 0; background: none; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.account-menu .account-menu-item:hover { background: #232323; }
.account-menu-icon { width: 15px; height: 15px; flex: none; fill: none; stroke: #9c978f; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-menu-label { display: block; padding: 10px 10px 4px; color: #7d7973; font-size: 11px; font-weight: 600; }

/* Bell and settings gear: round icon buttons in the bar's pill language. */
.account-icon { position: relative; display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid #303030; border-radius: 999px; background: #121212; color: #eee; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.account-icon:hover, .account-icon[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }
.account-icon:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.notice { position: relative; display: inline-flex; }
.notice-dot { position: absolute; top: 6px; right: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2px #121212; }
.notice-panel { width: 340px; max-width: calc(100vw - 32px); padding: 0; }
.notice-head { padding: 12px 14px; font-size: 13px; font-weight: 700; color: #efe9e3; border-bottom: 1px solid #232323; }
.notice-list { list-style: none; margin: 0; padding: 6px; max-height: 360px; overflow-y: auto; }
.notice-item { position: relative; }
.notice-item > a, .notice-item > div { display: grid; gap: 3px; padding: 9px 30px 9px 10px; border-radius: 7px; color: #b9b3ad; text-decoration: none; font-size: 12px; line-height: 1.4; }
.notice-item > a:hover { background: #232323; }
.notice-item strong { color: #efe9e3; font-size: 13px; font-weight: 600; }
.notice-item.is-unread strong::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--accent); vertical-align: middle; }
.notice-item small { color: #8b8883; font-size: 11px; }
.notice-remove { position: absolute; top: 7px; right: 6px; width: 22px; height: 22px; border: 0; border-radius: 50%; background: none; color: #8b8883; font-size: 15px; line-height: 1; cursor: pointer; }
.notice-remove:hover { background: #232323; color: #efe9e3; }
.notice-empty { margin: 0; padding: 18px 14px; color: #8b8883; font-size: 12px; }
.notice-new { display: block; width: calc(100% - 12px); margin: 0 6px 6px; padding: 9px 10px; border: 1px dashed #303030; border-radius: 7px; background: none; color: #b9b3ad; font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.notice-new:hover { border-color: var(--accent); color: var(--accent); }
.notice-form { display: grid; gap: 8px; padding: 10px; }
.notice-form input, .notice-form select { width: 100%; padding: 8px 10px; border: 1px solid #2b2b2b; border-radius: 7px; background: #0f0f0f; color: #efe9e3; font: inherit; font-size: 12px; }
.notice-form input:focus, .notice-form select:focus { outline: none; border-color: var(--accent); }
.notice-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
.notice-post { padding: 7px 14px; border: 0; border-radius: 999px; background: var(--accent); color: #0a0a0a; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.notice-post:disabled { opacity: .5; cursor: default; }
.notice-text-button { padding: 7px 10px; border: 0; background: none; color: #b9b3ad; font: inherit; font-size: 12px; cursor: pointer; }
.notice-error { margin: 0; color: #ff8a80; font-size: 12px; }

.account--reveal { position: relative; }
.account--reveal > span { cursor: default; }
.account--reveal button {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  background: #151515;
  white-space: nowrap;
  box-shadow: 0 16px 40px rgba(0,0,0,0.45);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
}
/* Invisible bridge so the pointer can travel from the email to the button. */
.account--reveal::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
.account--reveal:hover button,
.account--reveal:focus-within button { opacity: 1; visibility: visible; transform: none; }

/* ---- Global Baldspot bar: sticky brand + tool nav on every microservice.
   Sized identically to the homepage header (72px) so the nav does not jump
   when moving between the homepage and a tool. ---- */
:root { --bald-bar-h: 72px; }
.bald-bar {
  position: sticky;
  top: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: var(--bald-bar-h);
  padding: 10px 40px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(8,8,8,0.92);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}
.bald-bar .top-nav { margin: 0 auto; }

/* Match the homepage header to the bar's exact 72px so the nav keeps the
   same size and position when moving between the homepage and a tool. */
.header--future { padding-top: 12px; padding-bottom: 12px; }

/* Pages keep their own sticky chrome; slide it below the bar. */
body.bald-bar-active .header--future { top: var(--bald-bar-h); }
body.bald-bar-active .tool-frame-page { height: calc(100vh - var(--bald-bar-h)); }
/* /change-order lost its own header, so its workspace panels' original
   72px-header offsets already line up under the bar — no extra shift. */
body.bald-bar-active .co-library-toolbar { top: calc(82px + var(--bald-bar-h)); }
body.bald-bar-active .postmortem-sow-panel { top: calc(92px + var(--bald-bar-h)); max-height: calc(100vh - 120px - var(--bald-bar-h)); }
body.bald-bar-active .ff-sow-panel { top: calc(88px + var(--bald-bar-h)); height: calc(100vh - 120px - var(--bald-bar-h)); }

@media (max-width: 900px) {
  .bald-bar { flex-wrap: wrap; row-gap: 4px; padding: 8px 14px; }
}
@media print {
  .bald-bar { display: none !important; }
}

/* ---- SOW Generator sidebar: knowledge-base links pinned to the left margin.
   Replaces the page's old floating top bar; the global Baldspot bar handles
   brand + tool navigation. Collapses to a wrapped row above the content when
   the viewport has no spare left margin. ---- */
.builder-sidenav {
  position: fixed;
  z-index: 40;
  left: 18px;
  top: calc(var(--bald-bar-h) + 30px);
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 172px;
}
.builder-sidenav-label {
  padding: 0 4px 7px;
  color: #777;
  font: 700 0.6rem var(--font-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.builder-sidenav .nav-btn {
  min-height: 39px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  text-align: left;
}
@media (max-width: 1500px) {
  .builder-sidenav {
    /* Relative (not static) so the links stack above the fixed ambient layer. */
    position: relative;
    top: auto;
    left: auto;
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 20px 24px 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .builder-sidenav-label { flex-basis: 100%; padding: 0 0 2px; }
  .builder-sidenav + .builder-main { padding-top: 28px; }
}

/* Sidebar nav on the Code Roadmap: the active view reads as selected, and the
   Ideas count keeps its badge. */
.builder-sidenav .nav-btn { cursor: pointer; font-family: var(--font-body); }
.builder-sidenav .nav-btn.is-active { border-color: var(--accent); color: var(--accent); background: rgba(255,92,0,0.08); }

/* Center the shared navigation against the viewport, rather than the unequal
   widths of the brand and account blocks on either side. */
@media (min-width: 1251px) {
  .bald-bar,
  .header--future:not(.header--single-action) {
    display: grid;
    grid-template-columns: minmax(180px,1fr) auto minmax(180px,1fr);
  }
  .bald-bar .home-brand,
  .header--future:not(.header--single-action) .home-brand { justify-self: start; }
  .bald-bar .top-nav,
  .header--future:not(.header--single-action) .top-nav { justify-self: center; margin: 0; }
  .bald-bar .account,
  .header--future:not(.header--single-action) .account { margin-left: 0; }
  .bald-bar .baldspot-account,
  .header--future:not(.header--single-action) .baldspot-account { justify-self: end; margin-left: 0; }
}
@media (min-width: 901px) and (max-width: 1250px) {
  .bald-bar,
  .header--future:not(.header--single-action) { flex-wrap: wrap; justify-content: space-between; }
  .bald-bar .top-nav,
  .header--future:not(.header--single-action) .top-nav {
    order: 4;
    flex: 1 0 100%;
    justify-content: center;
    margin: 2px 0 0;
  }
}
.baldspot-account { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; min-width: 0; }
.baldspot-account .account { margin-left: 0; }
@media (max-width: 680px) {
  .baldspot-account { gap: 7px; }
  .baldspot-account .account span { max-width: 34vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Personalized homepage: app launchers are lightweight widgets while the live
   pipeline remains a real, resizable working surface. */
.home-workspace {
  width: min(1180px,100%);
  margin: 0 auto;
  padding: 58px 0 10px;
}
.home-workspace-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
}
.home-workspace-head > div:first-child > span {
  color: var(--accent);
  font: 700 .64rem var(--font-body);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.home-workspace-head h2 {
  margin: 7px 0 7px;
  font: 600 clamp(2rem,4vw,3.6rem)/.96 var(--font-display);
  letter-spacing: -.06em;
}
.home-workspace-head p { max-width: 610px; margin: 0; color: #85858a; font-size: .82rem; line-height: 1.55; }
.home-workspace-actions { display: flex; gap: 8px; }
.home-workspace-actions button,
.home-widget-tools button,
.home-widget-library button {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: #aaa;
  font: 700 .66rem var(--font-body);
  cursor: pointer;
}
.home-workspace-actions button { padding: 9px 14px; }
.home-workspace-actions button:hover,
.home-workspace-actions button.is-active { border-color: var(--accent); color: #fff; background: rgba(255,92,0,.12); }
.home-widget-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 14px; align-items: start; }
.home-widget {
  position: relative;
  grid-column: span 4;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.home-widget--medium { grid-column: span 6; }
.home-widget--wide { grid-column: 1 / -1; }
.home-workspace--editing .home-widget { border-style: dashed; border-color: rgba(255,92,0,.45); cursor: grab; }
.home-workspace--editing .home-widget:active { cursor: grabbing; }
.home-widget-tools {
  position: absolute;
  z-index: 8;
  top: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.home-widget-tools > span { color: #777; font: 700 .56rem var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
.home-widget-tools button { padding: 5px 9px; background: #111; }
.home-app-widget {
  display: flex;
  min-height: 180px;
  padding: 26px;
  flex-direction: column;
  justify-content: flex-end;
  color: #f4f4f4;
  text-decoration: none;
  background: radial-gradient(circle at 100% 0,rgba(255,92,0,.13),transparent 46%);
  transition: background 180ms ease, transform 180ms ease;
}
.home-app-widget:hover { background-color: rgba(255,92,0,.055); }
.home-app-widget > span { color: #828287; font-size: .68rem; }
.home-app-widget h3 { margin: 7px 0 20px; font: 600 clamp(1.35rem,2.4vw,2rem)/1 var(--font-display); letter-spacing: -.045em; }
.home-app-widget i { color: var(--accent); font: 700 .66rem var(--font-body); font-style: normal; text-transform: uppercase; letter-spacing: .1em; }
.home-widget--pipeline { padding: 22px; background: rgba(9,9,9,.82); }
.home-widget--pipeline > .cb { margin-top: 0; }
.home-workspace--editing .home-widget--pipeline { padding-top: 52px; }
.home-widget-library { margin-top: 16px; padding: 16px; border: 1px dashed rgba(255,255,255,.14); border-radius: 16px; }
.home-widget-library > span { display: block; margin-bottom: 10px; color: #777; font: 700 .62rem var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.home-widget-library > div { display: flex; flex-wrap: wrap; gap: 7px; }
.home-widget-library button { padding: 7px 11px; }

.cb-cols { cursor: grab; touch-action: pan-y; user-select: none; }
.cb-cols.is-panning { cursor: grabbing; scroll-snap-type: none; }
.cb--compact .cb-cols { grid-template-columns: repeat(7,minmax(188px,1fr)); }
.cb--balanced .cb-cols { grid-template-columns: repeat(7,minmax(238px,1fr)); }
.cb--roomy .cb-cols { grid-template-columns: repeat(7,minmax(300px,1fr)); }
.cb-density-control {
  display: grid;
  grid-template-columns: auto auto minmax(150px,360px) auto auto;
  align-items: center;
  justify-content: end;
  gap: 9px;
  margin-top: 10px;
  color: #777;
  font: 600 .62rem var(--font-body);
}
.cb-density-control > span { color: #aaa; }
.cb-density-control > strong { min-width: 62px; color: var(--accent); text-transform: capitalize; }
.cb-density-control input { width: 100%; accent-color: var(--accent); cursor: ew-resize; }
.cb-density-control small { color: #666; font: inherit; }

/* AEO/GEO is framed from its service repository, so Baldspot supplies the same
   editorial page header used by the native workspaces before the frame begins. */
.tool-frame-page--with-hero { height: auto; min-height: calc(100vh - var(--bald-bar-h)); overflow: visible; }
.tool-frame-page--with-hero .tool-frame { min-height: 720px; }
.tool-frame-hero {
  display: grid;
  grid-template-columns: minmax(0,760px) 190px;
  align-items: center;
  justify-content: center;
  gap: clamp(24px,5vw,80px);
  width: min(1180px,calc(100% - 48px));
  margin: 0 auto;
  padding: 48px 0 38px;
}
.tool-frame-hero-copy > span { color: var(--accent); font: 700 .64rem var(--font-body); letter-spacing: .15em; text-transform: uppercase; }
.tool-frame-hero h1 { margin: 9px 0 11px; font: 600 clamp(3rem,5vw,5.3rem)/.9 var(--font-display); letter-spacing: -.068em; }
.tool-frame-hero p { max-width: 650px; margin: 0; color: #8a8a90; font-size: .9rem; line-height: 1.55; }
.tool-frame-hero img { width: 190px; height: 190px; object-fit: contain; filter: drop-shadow(0 20px 28px rgba(0,0,0,.45)); }

@media (max-width: 820px) {
  .home-workspace { padding-top: 34px; }
  .home-workspace-head { align-items: flex-start; flex-direction: column; }
  .home-widget,
  .home-widget--medium { grid-column: span 6; }
  .home-widget--wide { grid-column: 1 / -1; }
  .tool-frame-hero { grid-template-columns: minmax(0,1fr) 110px; gap: 14px; width: min(100% - 32px,680px); padding: 32px 0 26px; }
  .tool-frame-hero img { width: 110px; height: 110px; }
  .cb-density-control { grid-template-columns: auto minmax(100px,1fr) auto; justify-content: stretch; }
  .cb-density-control small { display: none; }
}
@media (max-width: 560px) {
  .home-widget,
  .home-widget--medium,
  .home-widget--wide { grid-column: 1 / -1; }
  .home-widget--pipeline { padding: 15px; }
  .tool-frame-hero { grid-template-columns: 1fr; }
  .tool-frame-hero img { display: none; }
}
.builder-sidenav .nav-btn i {
  display: inline-grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  margin-left: 5px;
  border-radius: 50%;
  background: #ff5c00;
  color: #111;
  font: 700 9px var(--font-body);
  font-style: normal;
  vertical-align: middle;
}
/* The roadmap shell is wider than the builder's, so keep it clear of the
   fixed sidebar instead of letting the two overlap. */
@media (min-width: 1501px) {
  .rm-shell { max-width: min(1320px, calc(100vw - 420px)); }
}

/* Nested variant: the postmortem pages render the sidebar inside their own
   padded shell, so in the collapsed row it must not add a second indent. */
@media (max-width: 1500px) {
  .builder-sidenav--nested { width: 100%; margin: 0; padding: 0 0 18px; }
}

/* Invoice Tracker: the snapshot status and its Refresh/Save actions moved out
   of the page's own top bar into the controls row beside the search. */
.invoice-controls { flex-wrap: wrap; align-items: center; }
.invoice-controls > input[type="search"] { flex: 1 1 260px; min-width: 0; }
.invoice-controls .ops-snapshot { margin-left: auto; text-align: right; }

/* Budget: save action and its status message moved out of the page's own top
   bar into the toolbar row below. */
.budget3-actions .budget3-status { margin-left: 6px; color: #81e8ac; font-size: 12px; }
.budget3-actions .budget3-status.is-error { color: #ff675f; }

/* Long Term Planning: snapshot status and ClickUp actions moved out of the
   page's own brand bar into the controls panel. */
.capacity-controls--with-actions { flex-wrap: wrap; }

/* Capacity planning: compact, nested people → projects → phases */
.capacity-heading-clean { grid-template-columns:minmax(0,1fr) auto; }
.capacity-ask-button { display:grid; grid-template-columns:48px auto; grid-template-rows:1fr 1fr; align-items:center; min-width:178px; padding:7px 14px 7px 8px; border:1px solid rgba(255,92,0,.32); border-radius:14px; background:linear-gradient(135deg,#18120f,#0d0d0d); color:#fff; text-align:left; }
.capacity-ask-button span { grid-row:1/3; }.capacity-ask-button strong { align-self:end; font-size:.76rem; }.capacity-ask-button small { align-self:start; color:#8b8d8b; font-size:.6rem; }
.capacity-controls--clean { align-items:center; }.capacity-controls--clean>label { min-width:240px; }.capacity-controls--clean .capacity-summary { margin-left:auto; }
.capacity-opportunity-tray { margin-bottom:14px; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:#0b0b0b; overflow:hidden; }
.capacity-opportunity-tray>header { display:flex; justify-content:space-between; gap:24px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.07); background:#121212; }
.capacity-opportunity-tray>header span { color:#ff6a22; font-size:.59rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.capacity-opportunity-tray>header h2 { margin:3px 0 0; color:#fff; font-size:.93rem; }.capacity-opportunity-tray>header small { max-width:480px; color:#777b78; font-size:.63rem; line-height:1.45; }
.capacity-opportunity-tray>div { display:flex; gap:9px; overflow-x:auto; padding:11px 14px; scrollbar-width:thin; scrollbar-color:#ff6a22 #151515; }.capacity-opportunity-tray>div::-webkit-scrollbar { height:7px; }.capacity-opportunity-tray>div::-webkit-scrollbar-track { background:#151515; }.capacity-opportunity-tray>div::-webkit-scrollbar-thumb { border-radius:8px; background:#ff6a22; }
.capacity-opportunity-tray article { display:grid; flex:0 0 220px; gap:3px; padding:10px 12px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:#111; cursor:grab; }.capacity-opportunity-tray article.is-assigned { border-color:rgba(97,213,140,.35); }.capacity-opportunity-tray article span { color:#ff6a22; font-size:.54rem; font-weight:800; text-transform:uppercase; }.capacity-opportunity-tray article strong { overflow:hidden; color:#f4f5f4; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }.capacity-opportunity-tray article small,.capacity-opportunity-tray article em { overflow:hidden; color:#737773; font-size:.57rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.capacity-board--compact { overflow-x:hidden; overflow-y:auto; max-height:calc(100vh - 150px); scrollbar-width:thin; scrollbar-color:#ff6a22 #151515; }.capacity-board--compact::-webkit-scrollbar { width:9px; }.capacity-board--compact::-webkit-scrollbar-track { background:#151515; }.capacity-board--compact::-webkit-scrollbar-thumb { border:2px solid #151515; border-radius:10px; background:linear-gradient(#ff7b35,#d94f08); }
.capacity-compact-header { position:sticky; z-index:8; top:0; display:grid; grid-template-columns:minmax(260px,42%) minmax(0,1fr); min-height:42px; align-items:center; border-bottom:1px solid rgba(255,255,255,.1); background:#151515; }.capacity-compact-header>span { padding:0 14px; color:#858885; font-size:.61rem; font-weight:800; text-transform:uppercase; }.capacity-compact-header>div,.capacity-compact-months { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }.capacity-compact-header b { padding:0 3px; color:#858885; font-size:.57rem; text-align:center; text-transform:uppercase; }
.capacity-person-compact { border-bottom:1px solid rgba(255,255,255,.07); }.capacity-person-summary { display:grid; grid-template-columns:28px auto auto 1fr; width:100%; min-height:50px; align-items:center; gap:7px; padding:7px 14px; border:0; background:linear-gradient(90deg,#171717,#101010); color:#fff; text-align:left; }.capacity-person-summary:hover { background:#1b1b1b; }.capacity-person-summary strong { font-size:.8rem; }.capacity-person-summary small { color:#717572; font-size:.61rem; }.capacity-person-summary em { justify-self:end; color:#666; font-size:.57rem; font-style:normal; }.capacity-disclosure { display:grid; width:22px; height:22px; place-items:center; border:1px solid rgba(255,92,0,.4); border-radius:6px; color:#ff6a22; }
.capacity-person-body { border-top:1px solid rgba(255,255,255,.05); background:#090909; }.capacity-person-tabs { display:flex; gap:4px; padding:8px 12px; border-bottom:1px solid rgba(255,255,255,.05); }.capacity-person-tabs button { padding:7px 11px; border:1px solid transparent; border-radius:8px; background:transparent; color:#777; font-size:.62rem; font-weight:700; }.capacity-person-tabs button.is-active { border-color:rgba(255,92,0,.3); background:rgba(255,92,0,.08); color:#fff; }
.capacity-project-rollup { border-bottom:1px solid rgba(255,255,255,.055); }.capacity-project-summary { display:grid; grid-template-columns:30px minmax(200px,42%) minmax(0,1fr); width:100%; min-height:62px; align-items:center; padding:7px 14px; border:0; background:#0d0d0d; color:#fff; text-align:left; }.capacity-project-summary:hover { background:#111; }.capacity-project-summary>span:nth-child(2) { display:grid; gap:3px; }.capacity-project-summary strong { font-size:.72rem; }.capacity-project-summary small { color:#6f7470; font-size:.58rem; }
.capacity-compact-months { align-self:stretch; min-height:38px; }.capacity-compact-months>span { position:relative; border-left:1px solid rgba(255,255,255,.04); background:repeating-linear-gradient(135deg,transparent,transparent 9px,rgba(255,255,255,.012) 9px,rgba(255,255,255,.012) 10px); }.capacity-compact-months>span.is-on { background:rgba(255,92,0,.07); }.capacity-compact-months>span.is-on i { position:absolute; top:50%; right:7%; left:7%; height:5px; transform:translateY(-50%); border-radius:10px; background:#ff6a22; }.capacity-compact-months>span.is-oversight i { background:#61d58c; }.capacity-compact-months>span.is-partial i { background:#62b9ff; }
.capacity-phase-list { padding:0 14px 10px 44px; }.capacity-phase-compact { display:grid; grid-template-columns:minmax(170px,1.1fr) 125px 125px 150px minmax(250px,1.5fr); align-items:center; gap:9px; min-height:67px; padding:8px 10px; border-top:1px solid rgba(255,255,255,.05); }.capacity-phase-compact>div:first-child { display:grid; gap:3px; }.capacity-phase-compact strong { color:#e9eae9; font-size:.66rem; }.capacity-phase-compact small { color:#656965; font-size:.55rem; }.capacity-phase-compact label,.capacity-projected-editors label { display:grid; gap:3px; color:#656965; font-size:.5rem; font-weight:700; text-transform:uppercase; }.capacity-phase-compact input,.capacity-phase-compact select,.capacity-projected-editors select { min-width:0; width:100%; padding:7px; border:1px solid rgba(255,255,255,.12); border-radius:7px; background:#111; color:#ddd; font-size:.59rem; }
.capacity-drop-empty { margin:10px 14px 14px; padding:24px; border:1px dashed rgba(255,92,0,.34); border-radius:10px; color:#777; font-size:.64rem; text-align:center; }
.capacity-projected-list { padding:0 12px 12px; }.capacity-projected-card { display:grid; grid-template-columns:minmax(210px,1fr) minmax(360px,1.5fr); gap:10px; padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:10px; background:#0e0e0e; }.capacity-projected-card+.capacity-projected-card { margin-top:8px; }.capacity-projected-title { display:grid; align-content:center; gap:3px; }.capacity-projected-title span { color:#ff6a22; font-size:.52rem; font-weight:800; text-transform:uppercase; }.capacity-projected-title strong { color:#fff; font-size:.72rem; }.capacity-projected-title small { color:#6e726f; font-size:.57rem; line-height:1.4; }.capacity-projected-editors { display:grid; grid-template-columns:1fr 1fr 1.2fr auto; align-items:end; gap:7px; }.capacity-projected-editors button { height:31px; padding:0 10px; border:1px solid rgba(255,255,255,.12); border-radius:7px; background:#151515; color:#aaa; font-size:.57rem; }.capacity-compact-months--projected { grid-column:1/3; min-height:38px; }.capacity-assignee-chips { grid-column:1/3; display:flex; flex-wrap:wrap; gap:5px; }.capacity-assignee-chips span { padding:4px 7px; border:1px solid rgba(98,185,255,.2); border-radius:10px; background:rgba(98,185,255,.06); color:#9ecff4; font-size:.53rem; }
@media (max-width:900px) { .capacity-heading-clean { grid-template-columns:1fr; }.capacity-compact-header { grid-template-columns:220px 1fr; }.capacity-phase-compact { grid-template-columns:1fr 1fr; }.capacity-phase-compact .capacity-compact-months { grid-column:1/3; }.capacity-projected-card { grid-template-columns:1fr; }.capacity-projected-editors { grid-template-columns:1fr 1fr; }.capacity-compact-months--projected,.capacity-assignee-chips { grid-column:1; } }
.ops-inline-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.ops-inline-actions .ops-snapshot { max-width: 320px; text-align: right; }

/* Active page in a sidebar nav. */
.builder-sidenav .nav-btn.is-active { border-color: var(--accent); color: var(--accent); background: rgba(255,92,0,0.08); }

/*
 * BALDSPOT GLOBAL UI CONTRACT
 * Canonical visual reference: Baselines Overview (styles/README.md).
 * Required before UI changes: styles/README.md, then docs/BALDSPOT-DESIGN-SYSTEM.md
 *
 * New and migrated surfaces use the bs-* namespace. Existing page styles remain
 * isolated until deliberately migrated; importing this file is therefore safe.
 */
:root {
  --bs-canvas: #090a0a;
  --bs-surface: #111211;
  --bs-surface-raised: #171817;
  --bs-border: #30302e;
  --bs-border-quiet: #292927;
  --bs-orange: #ff5c00;
  --bs-orange-soft: #ff9a65;
  --bs-semantic-good: #4fd598;
  --bs-semantic-warn: #f1b52f;
  --bs-semantic-risk: #ff6b64;
  --bs-semantic-info: #67b7e8;
  --bs-category-1: #a78bfa;
  --bs-category-2: #f472b6;
  --bs-category-3: #22d3ee;
  --bs-category-4: #fb923c;
  --bs-category-5: #bef264;
  --bs-category-6: #c4b5a5;
  --bs-category-other: var(--bs-muted);
  --bs-current: var(--bs-semantic-good);
  --bs-forecast: var(--bs-semantic-info);
  --bs-risk: var(--bs-semantic-risk);
  --bs-text: #f4f0eb;
  --bs-muted: #8b8883;
  --bs-radius: 10px;
  --bs-content: 1180px;
  --bs-bar-height: 72px;
  --bs-control-height: 38px;
  --bs-motion-fast: 160ms;
  --bs-motion-slow: 240ms;
  --bs-ease: cubic-bezier(.2,.8,.2,1);
  --bs-font: 'Poppins', Arial, sans-serif;
  --bs-font-display: var(--bs-font);
  --bs-font-body: var(--bs-font);
  --bs-type-page: clamp(58px,8vw,108px);
  --bs-type-section: clamp(30px,3.3vw,50px);
  --bs-type-subsection: 24px;
  --bs-type-body: 12px;
  --bs-type-label: 9px;
}

/* Standalone workspaces receive the same document canvas that the main app's
   root stylesheet provides. Keep this in the shared bundle so services never
   recreate the page reset or native scrollbar themselves. */
html:has(.bs-page) {
  min-height: 100%;
  background: var(--bs-canvas);
  scrollbar-width: thin;
  scrollbar-color: var(--bs-orange) var(--bs-canvas);
}
body:has(.bs-page) {
  min-height: 100vh;
  margin: 0;
  overflow-x: clip;
  background: var(--bs-canvas);
  color: var(--bs-text);
  font-family: var(--bs-font-body);
}
body:has(.bs-page) *,body:has(.bs-page) *::before,body:has(.bs-page) *::after { box-sizing: border-box; }
html:has(.bs-page)::-webkit-scrollbar { width: 11px; height: 11px; background: var(--bs-canvas); }
html:has(.bs-page)::-webkit-scrollbar-track { background: var(--bs-canvas); }
html:has(.bs-page)::-webkit-scrollbar-thumb { border: 3px solid var(--bs-canvas); border-radius: 999px; background: var(--bs-orange); }

.bs-page { min-height: calc(100dvh - var(--bs-bar-height)); overflow-anchor:none; background: radial-gradient(ellipse 420px 260px at 80% 6%,rgba(255,92,0,.07),transparent 72%),var(--bs-canvas); color: var(--bs-text); font: 400 var(--bs-type-body)/1.55 var(--bs-font); }
.bs-page.salon-quests-page { background:var(--bs-canvas); }
.bs-page button,.bs-page input,.bs-page select,.bs-page textarea { font-family: var(--bs-font); }
.bs-page :where(a[href],button,input,select,textarea,summary,[tabindex]):focus-visible,
.top-nav :where(a[href],button):focus-visible {
  outline: 2px solid var(--bs-orange);
  outline-offset: 3px;
}
.bs-page :where(button,input,select,textarea):disabled,
.bs-page [aria-disabled='true'] {
  opacity: .42;
  cursor: not-allowed;
  pointer-events: none;
}

/* Interaction language: orange means selectable; neutral means readable only. */
.bs-selectable {
  transition: color var(--bs-motion-fast) var(--bs-ease), background-color var(--bs-motion-fast) var(--bs-ease), border-color var(--bs-motion-fast) var(--bs-ease), transform var(--bs-motion-fast) var(--bs-ease);
}
.bs-selectable:hover,.bs-selectable:focus-visible,.bs-selectable.is-active,.bs-selectable[aria-current='page'],.bs-selectable[aria-selected='true'],.bs-selectable[aria-pressed='true'] {
  border-color: rgba(255,92,0,.45);
  background: rgba(255,92,0,.07);
  color: var(--bs-text);
}
.bs-readable { transition: background-color var(--bs-motion-fast) var(--bs-ease); }
.bs-readable:is(:hover,:focus-within) { background: color-mix(in srgb,var(--bs-orange) 9%,transparent); box-shadow:inset 3px 0 var(--bs-orange); }
.bs-selectable:active { transform: translateY(1px); }
/* Anything selectable shows the hand cursor; disabled controls keep their own cursor. */
.bs-selectable:not(:disabled) { cursor: pointer; }
.top-nav-trigger { transition: color var(--bs-motion-fast) var(--bs-ease),background-color var(--bs-motion-fast) var(--bs-ease),border-color var(--bs-motion-fast) var(--bs-ease); }
.top-nav-panel { transition: opacity var(--bs-motion-slow) var(--bs-ease),transform var(--bs-motion-slow) var(--bs-ease),visibility var(--bs-motion-slow) var(--bs-ease); }
.bald-bar-account { justify-self: end; display: flex; align-items: center; gap: 8px; }
.salon-brand { gap: .24em; }
.salon-brand .salon-brand-the { color: var(--bs-text); }
.salon-brand .salon-brand-name { color: #ff4857; }
.salon-nav { gap: 3px; white-space: nowrap; }
.salon-nav .top-nav-trigger { text-decoration: none; }
.salon-nav .top-nav-trigger.is-active { border-color: rgba(255,92,0,.38); background: rgba(255,92,0,.09); color: var(--bs-text); }
.salon-nav .salon-nav-tools { margin-left: 6px; border-left-color: var(--bs-orange); color: var(--bs-orange-soft); }
.salon-nav-empty { display:block; padding:10px; color:var(--bs-muted); font:600 10px/1.45 var(--bs-font-body); }
.bs-shell { width: min(var(--bs-content), calc(100% - 40px)); margin-inline: auto; padding-bottom: 90px; }
.bs-shell--hero { padding-bottom: 0; }
.bs-empty-state { padding: 34px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface); color: var(--bs-muted); font-size: 13px; }

/* KPI contract: label, dominant value, source/grain, then an optional state in both form and colour. */
.bs-stat { position:relative; display:flex; min-width:0; min-height:132px; flex-direction:column; align-items:flex-start; padding:17px; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface); font-family:var(--bs-font-body); }
.bs-stat-label { color:var(--bs-muted); font-size:11px; font-weight:800; line-height:1.25; letter-spacing:.04em; text-transform:uppercase; }
.bs-stat-value { display:block; margin-top:10px; color:var(--bs-text); font:700 30px/1 var(--bs-font-display); letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.bs-stat-meta { display:block; margin-top:7px; color:var(--bs-muted); font-size:11px; line-height:1.35; }
.bs-stat-state { display:inline-flex; align-items:center; gap:5px; margin-top:auto; padding-top:9px; color:var(--bs-muted); font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.bs-stat-state i { display:grid; width:16px; height:16px; place-items:center; border:1px solid currentColor; border-radius:50%; font-style:normal; font-size:10px; line-height:1; }
.bs-stat.is-good .bs-stat-state { color:var(--bs-semantic-good); }.bs-stat.is-warn .bs-stat-state { color:var(--bs-semantic-warn); }.bs-stat.is-risk .bs-stat-state { color:var(--bs-semantic-risk); }.bs-stat.is-info .bs-stat-state { color:var(--bs-semantic-info); }
.bs-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bs-eyebrow { color: var(--bs-orange); font: 800 9px/1 var(--bs-font-body); letter-spacing: .15em; text-transform: uppercase; }

/* Page entrance: one service title, one relevant mascot, one optional Ask action. */
.bs-hero { min-height: 390px; display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: center; gap: clamp(30px,7vw,100px); border-bottom: 1px solid var(--bs-border-quiet); }
.bs-hero h1,.bs-page-title { margin: 0; font: 700 var(--bs-type-page)/.86 var(--bs-font); letter-spacing: -.065em; }
.bs-section-title { margin: 0; font: 700 var(--bs-type-section)/1 var(--bs-font); letter-spacing: -.045em; }
.bs-subsection-title { margin: 0; font: 700 var(--bs-type-subsection)/1.1 var(--bs-font); letter-spacing: -.03em; }
.bs-body { font: 400 var(--bs-type-body)/1.55 var(--bs-font); }
.bs-label { font: 800 var(--bs-type-label)/1 var(--bs-font); letter-spacing: .12em; text-transform: uppercase; }
.bs-hero-copy > p { max-width: 640px; margin: 20px 0 0; color: var(--bs-muted); line-height: 1.55; }
.bs-mascot-stage { position: relative; width:270px; height:270px; min-height:270px; justify-self:end; display:grid; place-items:center; isolation:isolate; }
.bs-mascot-stage::before,.bs-mascot-stage::after { content:none; }
.bs-mascot-glow { position:absolute; inset:40px; border-radius:50%; background:radial-gradient(circle,rgba(255,91,0,.28),transparent 70%); filter:blur(10px); }
.bs-mascot-ring { position:absolute; z-index:1; border:1px solid rgba(255,88,0,.24); border-radius:50%; animation:bs-orbit 12s linear infinite; pointer-events:none; }
.bs-mascot-ring.one { inset:26px; }.bs-mascot-ring.two { inset:50px; animation-direction:reverse; animation-duration:8s; }
.bs-mascot-ring::after { content:''; position:absolute; top:20%; right:4%; width:6px; height:6px; border-radius:50%; background:var(--bs-orange); box-shadow:0 0 14px var(--bs-orange); }
.bs-mascot-stage img { position:relative; z-index:4; width:190px; height:190px; object-fit:contain; filter:drop-shadow(0 22px 28px rgba(0,0,0,.46)); transform:translateY(-4px); }
@keyframes bs-orbit { to { transform: rotate(360deg); } }
.bs-ask-trigger { position: absolute; z-index: 3; bottom: 8px; padding: 7px 12px; border: 1px solid var(--bs-orange); border-radius: 999px; background: #1b0d07; color: var(--bs-orange-soft); font: 800 9px/1 var(--bs-font-body); letter-spacing: .13em; text-transform: uppercase; cursor: pointer; transition: color var(--bs-motion-fast) var(--bs-ease),background-color var(--bs-motion-fast) var(--bs-ease),transform var(--bs-motion-fast) var(--bs-ease); }
.bs-ask-trigger:hover,.bs-ask-trigger:focus-visible { background: rgba(255,92,0,.18); color: var(--bs-text); }
.bs-ask-trigger:active { transform: translateY(1px); }
.bs-mascot-search { position: absolute; z-index: 3; bottom: 0; width: min(320px,100%); display: grid; gap: 6px; }
.bs-mascot-search span { color: var(--bs-orange-soft); font: 800 8px/1 var(--bs-font-body); letter-spacing: .12em; text-transform: uppercase; }
.bs-mascot-search input { width: 100%; height: var(--bs-control-height); padding: 0 13px; border: 1px solid var(--bs-orange); border-radius: 999px; background: rgba(9,10,10,.94); color: var(--bs-text); outline: none; }
.bs-mascot-search.is-placeholder { bottom: 8px; width: min(220px,100%); }
.bs-mascot-search.is-placeholder span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bs-mascot-search input::placeholder { color: #8c8f8b; }
.bs-mascot-search input:focus { border-color: var(--bs-orange); box-shadow: none; }
.bs-mascot-search.has-submit input { padding-right:40px; }
.bs-mascot-search.has-submit button { position:absolute; right:4px; top:4px; bottom:4px; width:32px; border:0; border-radius:50%; background:transparent; color:var(--bs-orange); cursor:pointer; }
.bs-mascot-search.has-submit button:hover { background:var(--bs-surface-raised); }
.bs-hero.has-stage-footer { min-height: 390px; }
.bs-hero.is-compact { min-height: 220px; grid-template-columns: minmax(0,1fr) 190px; gap: clamp(24px,5vw,72px); }
.bs-hero.is-compact h1 { font-size: clamp(48px,5.5vw,76px); line-height: .9; }
.bs-hero.is-compact .bs-mascot-stage { width: 176px; height: 176px; min-height: 176px; }
.bs-hero.is-compact .bs-mascot-ring.one { inset: 12px; }
.bs-hero.is-compact .bs-mascot-ring.two { inset: 31px; }
.bs-hero.is-compact .bs-mascot-glow { inset: 28px; }
.bs-hero.is-compact .bs-mascot-stage img { width: 122px; height: 122px; }
.bs-hero.is-compact .bs-ask-trigger { bottom: -1px; }
.bs-mascot-footer { position: absolute; z-index: 3; top: calc(100% + 4px); left: 50%; width: max-content; transform: translateX(-50%); }
.bs-mascot-key { display: grid; grid-template-columns: repeat(2,max-content); gap: 8px 18px; padding: 10px 12px; border: 1px solid rgba(255,90,0,.26); border-radius: var(--bs-radius); background: rgba(11,12,11,.9); box-shadow: 0 14px 34px rgba(0,0,0,.28); }
.bs-mascot-key span { display: flex; align-items: center; justify-content: flex-start; gap: 5px; color: var(--bs-muted); font-size: 8px; font-weight: 800; white-space: nowrap; }
.bs-mascot-key i { width: 16px; height: 4px; border-radius: 999px; background: var(--bs-key-color,var(--bs-orange)); }
.bs-mascot-key i.is-100 { --bs-key-color: var(--bs-category-1); }
.bs-mascot-key i.is-75 { --bs-key-color: var(--bs-category-2); }
.bs-mascot-key i.is-50 { --bs-key-color: var(--bs-category-3); }
.bs-mascot-key i.is-25 { --bs-key-color: var(--bs-category-4); }
.bs-mascot-key small { color: #626561; font-size: 7px; }
.capacity-page .bs-mascot-key { grid-template-columns: repeat(3,max-content); }
.capacity-page .bs-mascot-key i.is-100 { --bs-key-color: #ff5a00; }
.capacity-page .bs-mascot-key i.is-75 { --bs-key-color: #9b6cff; }
.capacity-page .bs-mascot-key i.is-25 { --bs-key-color: #3b9df5; }

/* Compact controls: actions live together above their data, never in a second header. */
.bs-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--bs-border-quiet); flex-wrap: wrap; }
.bs-control-group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bs-button { min-height: var(--bs-control-height); padding: 10px 13px; border: 1px solid #353532; border-radius: 7px; background: #141514; color: #aaa; font: 700 10px/1 var(--bs-font-body); cursor: pointer; transition: color var(--bs-motion-fast) var(--bs-ease),background-color var(--bs-motion-fast) var(--bs-ease),border-color var(--bs-motion-fast) var(--bs-ease),transform var(--bs-motion-fast) var(--bs-ease); }
.bs-button:hover,.bs-button:focus-visible,.bs-button.is-active,.bs-button[aria-pressed='true'] { border-color: var(--bs-orange); background: rgba(255,92,0,.07); color: #fff; }
.bs-button:active { transform: translateY(1px); }
.bs-button.is-primary { border-color: var(--bs-orange); background: var(--bs-orange); color: #fff; }
.bs-segmented { display: inline-flex; padding: 3px; border: 1px solid var(--bs-border); border-radius: 999px; background: #0e0f0e; }
.bs-segmented .bs-button { min-width: 105px; border: 0; border-radius: 999px; background: transparent; text-transform: uppercase; letter-spacing: .1em; }
.bs-segmented .bs-button.is-active { background: #123d2a; color: #83ebb5; }
.bs-segmented .bs-button.is-active.is-unplanned { background: #47200d; color: #ffad76; }

/* Read table first. Edit mode replaces values in place; it does not create a form page. */
.bs-table { overflow-x: auto; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: #0d0e0d; }
.bs-table-row { min-width: 900px; display: grid; grid-template-columns: var(--bs-table-columns, minmax(120px,.8fr) minmax(220px,1.6fr) repeat(4,minmax(125px,1fr))); align-items: center; gap: 10px; min-height: 52px; padding: 8px 14px; border-top: 1px solid var(--bs-border-quiet); background: var(--bs-surface); font-size: 12px; }
.bs-table-row:nth-child(even) { background: #0f100f; }
.bs-table-row:not(.is-head) { transition: background-color var(--bs-motion-fast) var(--bs-ease); }
.bs-table-row:not(.is-head):is(:hover,:focus-within),.bs-table-row.bs-selectable.is-active { background:color-mix(in srgb,var(--bs-orange) 9%,var(--bs-surface)); box-shadow:inset 3px 0 var(--bs-orange); transform:none; }
/* Finance Budget is the shared reading-hover reference. Native tables opt in
   automatically within a page; details containers and disabled rows stay quiet.
   Direct children keep a nested table's hover on its own row. */
.bs-page table > tbody > tr:not([data-detail-row]):not([aria-disabled='true']) > :is(th,td) { transition:background-color var(--bs-motion-fast) var(--bs-ease); }
.bs-page table > tbody > tr:not([data-detail-row]):not([aria-disabled='true']):is(:hover,:focus-within) > :is(th,td) { background:color-mix(in srgb,var(--bs-orange) 9%,var(--bs-surface)); }
.bs-page table > tbody > tr:not([data-detail-row]):not([aria-disabled='true']):is(:hover,:focus-within) > :first-child { box-shadow:inset 3px 0 var(--bs-orange); }
.bs-table-row:is(a) { color: var(--bs-text); text-decoration: none; }
.bs-table-row.is-head { min-height: 44px; border-top: 0; color: #767672; font: 800 9px/1 var(--bs-font-body); letter-spacing: .12em; text-transform: uppercase; }
.bs-table-row a,.bs-table-link { color: #ffad67; text-decoration: none; font-weight: 700; }
.bs-table-row input,.bs-table-row select { width: 100%; height: 36px; border: 1px solid #33332f; border-radius: 6px; background: #0b0c0b; color: var(--bs-text); padding: 0 8px; }
.bs-table-row input:focus-visible,.bs-table-row select:focus-visible { border-color: var(--bs-orange); outline: 1px solid var(--bs-orange); outline-offset: 1px; box-shadow: none; }
.bs-pill { display: inline-flex; width: fit-content; padding: 4px 9px; border: 1px solid var(--bs-semantic-good); border-radius: 999px; color: var(--bs-semantic-good); font-size: 10px; }
.bs-pill.is-good { border-color: var(--bs-semantic-good); color: var(--bs-semantic-good); }.bs-pill.is-warn { border-color: var(--bs-semantic-warn); color: var(--bs-semantic-warn); }.bs-pill.is-info,.bs-pill.is-forecast { border-color: var(--bs-semantic-info); color: var(--bs-semantic-info); }.bs-pill.is-risk { border-color: var(--bs-semantic-risk); color: var(--bs-semantic-risk); }

/* Accordions and nesting: same disclosure at every level, quieter with depth. */
.bs-accordion { overflow: hidden; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: #101110; }
.bs-accordion + .bs-accordion { margin-top: 12px; }
.bs-accordion summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 16px; list-style: none; cursor: pointer; }
.bs-accordion summary::-webkit-details-marker { display: none; }
.bs-disclosure { --bs-disclosure-x: 7px; position: relative; display: inline-flex; align-items: center; gap: 9px; padding-left: 22px; }
.bs-expand-glyph { --bs-disclosure-x: 50%; position: relative; display: inline-block; width: 22px; height: 22px; flex: 0 0 22px; }
.bs-disclosure::before,.bs-disclosure::after,.bs-expand-glyph::before,.bs-expand-glyph::after { content: ''; position: absolute; left: var(--bs-disclosure-x); top: 50%; width: 12px; height: 2px; border-radius: 999px; background: var(--bs-orange); transform: translate(-50%,-50%); transform-origin: center; }
.bs-disclosure::after,.bs-expand-glyph::after { width: 2px; height: 12px; opacity: 1; transition: transform var(--bs-motion-fast) var(--bs-ease),opacity var(--bs-motion-fast) var(--bs-ease); }
.bs-accordion[open] > summary .bs-disclosure::after,.bs-rail-group[open] > summary .bs-disclosure::after,.bs-expand-glyph[data-open='true']::after { opacity: 0; transform: translate(-50%,-50%) scaleY(0); }
.bs-accordion-body { border-top: 1px solid var(--bs-border); }
.bs-accordion .bs-accordion { margin: 12px 14px; background: #141514; border-color: #292a28; }
.bs-accordion .bs-accordion .bs-accordion { margin-left: 28px; background: #171817; }
.bs-table-section { overflow-x: auto; }

/* Project-table composition: inline status tables with one page scroll. */
.bs-page .capacity-data-filter-portal { position: relative; }
.bs-page .capacity-data-filter-portal:has(.capacity-data-filter-sidebar) { padding: 0; border: 0; background: transparent; }
.bs-page .capacity-data-filter-sidebar > button { width: 100%; min-height: 36px; text-align: left; }
.bs-page .capacity-data-filter-sidebar > .capacity-data-filter { top: calc(100% + 9px); left: 0; width: min(760px,calc(100vw - 240px)); }
.bs-page .capacity-planning-filter__fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 15px 16px; border-bottom: 1px solid var(--bs-border); }
.bs-page .capacity-planning-filter__fields label { display: grid; gap: 6px; color: var(--bs-muted); font: 700 8px var(--bs-font-body); letter-spacing: .08em; text-transform: uppercase; }
.bs-page .capacity-planning-filter__fields select { height: 38px; padding: 0 10px; border: 1px solid var(--bs-border); border-radius: 7px; background: #0d0f0d; color: var(--bs-text); font: 600 10px var(--bs-font-body); }
.bs-page .capacity-data-filter > header > b { font-size: 12px; }
.bs-page .capacity-data-filter__mode { padding-top: 13px; }

/* Record-list data toolbar: sortable headers and the shared condition-builder popover. */
.data-column-head { position:relative; display:flex; min-width:0; align-items:center; }
.data-column-head > button { display:flex; width:auto; max-width:100%; min-width:0; align-items:center; justify-content:flex-start; gap:3px; padding:10px 3px; border:0; background:none; color:var(--bs-muted); font:800 9px/1 var(--bs-font-body); letter-spacing:.1em; text-transform:uppercase; text-align:left; cursor:pointer; }
.data-column-head > button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.data-column-head > button i { color:var(--bs-orange); font-style:normal; font-size:11px; }
.data-column-head:hover > button,.data-column-head > button.is-sorted { color:var(--bs-text); }
.data-column-head--amount { justify-content:flex-end; }.data-column-head--amount > button { justify-content:flex-start; text-align:right; }
.data-column-menu { position:absolute; z-index:90; top:36px; left:0; width:220px; padding:8px; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface); box-shadow:0 24px 64px rgba(0,0,0,.62); }
.data-column-head--amount .data-column-menu,.data-column-head--invoice .data-column-menu,.data-column-head--comments .data-column-menu { right:0; left:auto; }
.data-column-menu b { display:block; padding:8px 9px 10px; color:var(--bs-text); font-size:11px; }
.data-column-menu button { display:block; width:100%; min-height:34px; padding:8px 9px; border:0; border-radius:6px; background:transparent; color:var(--bs-muted); font:500 11px/1.2 var(--bs-font-body); text-align:left; cursor:pointer; }
.data-column-menu button:hover { background:var(--bs-surface-raised); color:var(--bs-text); }.data-column-menu button:disabled { opacity:.32; cursor:default; }.data-column-menu hr { margin:6px 4px; border:0; border-top:1px solid var(--bs-border); }
.data-filter-popover { position:absolute; z-index:120; top:46px; right:0; width:min(760px,calc(100vw - 48px)); padding:14px; border:1px solid var(--bs-border); border-top:2px solid var(--bs-orange); border-radius:var(--bs-radius); background:rgba(15,16,15,.98); box-shadow:0 28px 90px rgba(0,0,0,.68); backdrop-filter:blur(18px); }
.data-filter-popover > header { display:flex; align-items:center; justify-content:space-between; padding:0 2px 12px; border-bottom:1px solid var(--bs-border); }.data-filter-popover > header > div { display:flex; align-items:baseline; gap:10px; }.data-filter-popover > header b { color:var(--bs-text); font-size:13px; }.data-filter-popover > header span { color:var(--bs-muted); font-size:10px; }.data-filter-popover > header button { border:0; background:none; color:var(--bs-muted); font-size:18px; cursor:pointer; }
.data-filter-ai { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; margin:12px 0; padding:7px 8px 7px 11px; border:1px solid var(--bs-border); border-radius:8px; background:var(--bs-canvas); }.data-filter-ai > span { color:var(--bs-orange); font-size:15px; }.data-filter-ai input { width:100%; height:30px; border:0; outline:0; background:transparent; color:var(--bs-text); font:12px/1 var(--bs-font-body); }.data-filter-ai button { height:30px; padding:0 11px; border:1px solid color-mix(in srgb,var(--bs-orange) 34%,var(--bs-border)); border-radius:6px; background:color-mix(in srgb,var(--bs-orange) 10%,var(--bs-surface)); color:#ffb27f; font:700 10px/1 var(--bs-font-body); cursor:pointer; }.data-filter-ai button:disabled { opacity:.42; cursor:default; }
.data-filter-logic { display:flex; align-items:center; gap:7px; margin:4px 2px 10px; color:var(--bs-muted); font-size:10px; }.data-filter-logic select,.data-filter-group > label select { border:0; background:transparent; color:#ff9a65; font:700 10px/1 var(--bs-font-body); }.data-filter-empty { margin:14px 2px; color:var(--bs-muted); font-size:11px; }.data-filter-rules { display:grid; max-height:340px; gap:7px; overflow-y:auto; padding-right:2px; }
.data-filter-condition { display:grid; grid-template-columns:48px minmax(110px,1fr) minmax(110px,.9fr) minmax(130px,1.2fr) 32px; align-items:center; gap:6px; }.data-filter-condition > span:first-child { padding-right:4px; color:var(--bs-muted); font-size:10px; text-align:right; }.data-filter-condition select,.data-filter-condition input,.data-filter-no-value { width:100%; min-width:0; height:34px; padding:0 8px; border:1px solid var(--bs-border); border-radius:6px; background:var(--bs-canvas); color:var(--bs-text); font:11px/1 var(--bs-font-body); }.data-filter-no-value { display:flex; align-items:center; color:var(--bs-muted); }.data-filter-condition > button { height:32px; padding:0; border:0; background:transparent; color:var(--bs-muted); cursor:pointer; }.data-filter-condition > button:hover { color:var(--bs-semantic-risk); }
.data-filter-group { display:grid; gap:7px; padding:10px 8px 10px 2px; border-left:2px solid color-mix(in srgb,var(--bs-orange) 34%,var(--bs-border)); background:var(--bs-surface); }.data-filter-group > label { margin-left:10px; color:var(--bs-muted); font-size:10px; }.data-filter-add-inline { justify-self:start; margin-left:58px; border:0; background:none; color:#ff9a65; font-size:10px; cursor:pointer; }
.data-filter-popover > footer { display:flex; align-items:center; gap:6px; margin-top:12px; padding-top:11px; border-top:1px solid var(--bs-border); }.data-filter-popover > footer button { padding:6px 4px; border:0; background:transparent; color:#ff9a65; font:600 10px/1 var(--bs-font-body); cursor:pointer; }.data-filter-popover > footer .is-clear { margin-left:auto; color:var(--bs-muted); }.data-filter-period { display:inline-flex; align-items:center; gap:7px; margin-left:4px; color:#ff9a65; font:700 10px/1 var(--bs-font-body); }.data-filter-period select { height:30px; max-width:190px; padding:0 28px 0 8px; border:1px solid var(--bs-border); border-radius:6px; outline:0; background:#10110f; color:var(--bs-text); font:600 10px/1 var(--bs-font-body); cursor:pointer; }.data-filter-period select:hover,.data-filter-period select:focus { border-color:var(--bs-orange); }.data-filter-popover select { color-scheme:dark; }.data-filter-popover option { background:#10110f; color:#f4f0eb; }
.bs-page .capacity-data-board { width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; overflow-x: auto; overflow-y: visible; scrollbar-width: thin; scrollbar-color: var(--bs-orange) transparent; }
.bs-page .capacity-data-board__header,.bs-page .capacity-data-board.is-violet .capacity-data-board__header { position: sticky; left: 0; min-height: 58px; padding: 0 2px 14px; border: 0; border-radius: 0; background: transparent; }
.bs-page .capacity-data-board__header h2 { font-size: 28px; }
.bs-page .capacity-data-scroll { max-height: none; overflow: visible; }
.bs-page .capacity-data-group { min-width: 0; overflow: hidden; margin-bottom: 18px; border-color: var(--bs-border); border-radius: 11px; background: #101110; }
.bs-page .capacity-data-group > header { position: static; min-width: 0; height: 42px; padding: 0 14px; border-radius: 10px 10px 0 0; background: #171817; }
.bs-page .capacity-data-group > header span { font-size: 10px; }
.bs-page .capacity-data-group-toggle { width: 100%; height: 100%; display: flex; align-items: center; gap: 9px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.bs-page .capacity-data-group-toggle > i { width: 12px; color: var(--bs-muted); font: 800 15px/1 var(--bs-font-body); transition: color var(--bs-motion-fast) var(--bs-ease),transform var(--bs-motion-fast) var(--bs-ease); }
.bs-page .capacity-data-group-toggle:hover > i,.bs-page .capacity-data-group-toggle:focus-visible > i { color: var(--bs-orange); transform: translateX(2px); }
.bs-page .capacity-data-group-toggle:focus-visible { outline: 1px solid var(--bs-orange); outline-offset: 4px; border-radius: 5px; }
.bs-page .capacity-data-head { min-width: 0; min-height: 42px; background: #1b1c1b; }
.bs-page .capacity-data-column-static { color:var(--bs-muted); font:800 9px/1 var(--bs-font-body); letter-spacing:.1em; text-transform:uppercase; }
.bs-page .capacity-data-row { min-width: 0; min-height: 76px; background: #101110; content-visibility: auto; contain-intrinsic-size: 0 76px; }
.bs-page .capacity-data-row:last-child { border-bottom: 0; border-radius: 0 0 10px 10px; }
.bs-page .capacity-data-row > div { align-self: stretch; display: flex; align-items: center; padding: 10px 12px; }
.bs-page .capacity-task-identity { min-width: 0; display: grid; gap: 2px; color: var(--bs-text); text-decoration: none; }
.bs-page .capacity-task-identity strong,.bs-page .capacity-task-identity b,.bs-page .capacity-task-identity span { overflow: visible; white-space: normal; }
.bs-page .capacity-task-identity strong { color: var(--bs-text); font: 750 11px/1.25 var(--bs-font-body); }
.bs-page .capacity-task-identity span { color: var(--bs-muted); font: 500 8px/1.3 var(--bs-font-body); }
.bs-page .capacity-task-identity b { color: #b4b0aa; font: 650 9px/1.3 var(--bs-font-body); }
.bs-page .capacity-task-identity:hover strong,.bs-page .capacity-task-identity:hover b { color: var(--bs-orange); }
.bs-page .capacity-manager-stack { display: grid; gap: 4px; }
.bs-page .capacity-manager + .capacity-manager::before { display: none; }
.bs-page .capacity-data-load-more { position: sticky; left: 0; justify-content: flex-end; min-height: 50px; padding: 9px 0; border: 0; background: transparent; }
.bs-page .capacity-data-load-more button { height: 34px; padding: 0 13px; }
.bs-page .closure-timeline { width: 100%; height: auto; display: grid; gap: 7px; background: none; }
.bs-page .closure-timeline::before { display: none; }
.bs-page .closure-timeline__track { position: relative; height: 20px; display: block; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),rgba(255,255,255,.06) calc(12.5% - 1px),rgba(255,255,255,.06) 12.5%); }
.bs-page .closure-timeline__track::after { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(255,255,255,.16); }
.bs-page .closure-timeline__bar { top: 8px; height: 5px; }
.bs-page .closure-timeline__due { top: 4px; }
.bs-page .closure-timeline__dates { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--bs-muted); font: 600 8px var(--bs-font-body); }
.bs-page .closure-timeline__dates time:last-child { color: #b4b0aa; }
.bs-page .capacity-due-date { font-size: 9px; white-space: nowrap; }
.bs-page .capacity-closure-date { display:inline-flex; align-items:center; min-height:30px; padding:0 9px; border:1px solid var(--bs-border); border-radius:7px; color:#b6b2ad; font:700 9px var(--bs-font-body); white-space:nowrap; }
.bs-page .capacity-closure-date.is-new { border-color:color-mix(in srgb,var(--bs-orange) 45%,var(--bs-border)); color:var(--bs-orange-soft); }
.bs-page .capacity-closure-shift { display:grid; grid-template-columns:8px minmax(0,1fr); align-items:center; gap:3px 7px; min-width:0; }
.bs-page .capacity-closure-shift > i { grid-row:1 / span 2; width:7px; height:7px; border-radius:50%; background:var(--bs-muted); }
.bs-page .capacity-closure-shift > b { color:#c5c1bb; font-size:10px; }
.bs-page .capacity-closure-shift > small { overflow:hidden; color:var(--bs-muted); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.bs-page .capacity-closure-shift.is-late > i { background:var(--bs-semantic-risk); }.bs-page .capacity-closure-shift.is-late > b { color:var(--bs-semantic-risk); }
.bs-page .capacity-closure-shift.is-early > i { background:var(--bs-semantic-good); }.bs-page .capacity-closure-shift.is-early > b { color:var(--bs-semantic-good); }
.bs-page .capacity-closure-shift.is-steady > i { background:var(--bs-semantic-info); }

@media(max-width:900px) {
  .bs-page .capacity-data-filter-sidebar > .capacity-data-filter { width: min(640px,calc(100vw - 52px)); }
  .bs-page .capacity-planning-filter__fields { grid-template-columns: 1fr; }
  .bs-page .capacity-data-board { overflow-x: visible; }
  .bs-page .capacity-data-group { min-width: 0; }
  .bs-page .capacity-data-head { display: none; }
  .bs-page .capacity-data-row { display: grid!important; grid-template-columns: 1fr!important; }
  .bs-page .capacity-data-row > div { display: grid; }
}

/* Two navigations: global API header on top; workspace navigation becomes a rail. */
.bs-workspace { position: relative; }
.bs-workspace-rail { position: fixed; z-index: 40; top: calc(var(--bs-bar-height) + 30px); left: 18px; width: 172px; display: flex; flex-direction: column; gap: 7px; }
.bs-workspace-rail > span { padding: 0 4px 7px; color: #777; font: 700 9px/1 var(--bs-font-body); letter-spacing: .12em; text-transform: uppercase; }
.bs-workspace-rail .bs-button { display: block; width: 100%; text-align: left; }
.bs-rail-item { display: grid; gap: 5px; }
.bs-rail-item > .bs-button { display: flex; align-items: center; gap: 9px; text-decoration: none; }
.bs-workspace-rail.is-table-layout .bs-rail-group { width: 100%; }
.bs-rail-group { padding:12px; border:1px solid var(--bs-border); border-radius:12px; background:#101110; }
.bs-rail-group > summary { display:flex; align-items:center; justify-content:space-between; list-style:none; color:#777; font:800 8px/1.2 var(--bs-font-body); letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
.bs-rail-group > summary::-webkit-details-marker { display:none; }
.bs-rail-group > div { display:grid; gap:5px; margin-top:10px; }
.bs-rail-group .bs-button { border-color: transparent; background: transparent; }
.bs-rail-group .bs-button:hover,.bs-rail-group .bs-button:focus-visible,.bs-rail-group .bs-button.is-active { border-color: rgba(255,92,0,.45); background: rgba(255,92,0,.07); color: var(--bs-text); }
.bs-rail-nested { display: grid; gap: 3px; padding: 1px 0 5px 15px; border-left: 1px solid var(--bs-border); }
.bs-rail-nested span { display: contents; }
.bs-rail-nested a,.bs-rail-nested button { width: 100%; padding: 7px 9px; border: 0; border-radius: 5px; background: transparent; color: var(--bs-muted); font: 700 9px/1.3 var(--bs-font-body); text-align: left; text-decoration: none; cursor: pointer; }
.bs-rail-nested a:hover,.bs-rail-nested a:focus-visible,.bs-rail-nested a.is-active,.bs-rail-nested button:hover,.bs-rail-nested button:focus-visible,.bs-rail-nested button.is-active { background: #1c1713; color: var(--bs-orange-soft); outline: none; }
.workspace-nav-flyout { position: relative; }
.workspace-nav-flyout > .nav-btn { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.workspace-nav-flyout-arrow { font-size: 17px; font-weight: 500; line-height: 1; transition: transform var(--bs-motion-fast) var(--bs-ease); }
.workspace-nav-flyout.is-open .workspace-nav-flyout-arrow { transform: rotate(90deg); }
.workspace-nav-flyout-panel { position: absolute; z-index: 60; top: 0; left: calc(100% + 12px); width: 230px; display: grid; gap: 4px; padding: 7px; border: 1px solid var(--bs-border); border-radius: 12px; background: var(--bs-surface); box-shadow: 0 22px 60px rgba(0,0,0,.48); }
.workspace-nav-option { width: 100%; min-height: 36px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: #b9bbb7; font: 800 10px/1.2 var(--bs-font-body); text-align: left; cursor: pointer; }
.workspace-nav-option:hover,.workspace-nav-option:focus-visible,.workspace-nav-option.is-active { border-color: rgba(255,92,0,.45); background: rgba(255,92,0,.07); color: var(--bs-orange-soft); }
.bs-rail-search { display: grid; gap: 6px; margin-top: 4px; }
.bs-rail-search > span { padding-inline: 4px; color: #777; font: 700 8px/1 var(--bs-font-body); letter-spacing: .12em; text-transform: uppercase; }
.bs-rail-search input { width: 100%; height: var(--bs-control-height); padding: 0 11px; border: 1px solid var(--bs-border); border-radius: 7px; background: #141514; color: var(--bs-text); font: 600 9px var(--bs-font-body); outline: none; }
.bs-rail-search input:focus { border-color: var(--bs-orange); }
.bs-workspace-content { width: min(var(--bs-content), calc(100% - 420px)); margin-inline: auto; padding-top:28px; padding-bottom:90px; }
.pricing-calculator-embed { width:100%; min-width:0; padding:0; background:transparent; }
.pricing-calculator-embed iframe { display:block; width:100%; min-height:900px; border:0; background:var(--bs-canvas); }

/* Ask Baldspot is one continuous canvas: black dissolves into an orange glow. */
.bs-ask-workspace { position: fixed; isolation: isolate; inset: 0; z-index: 1100; min-height: 100dvh; display: grid; grid-template-columns: minmax(430px,720px) minmax(420px,1fr); overflow: auto; background: #080908; }
.bs-ask-workspace[hidden] { display: none; }
.bs-ask-workspace::before { content: ""; position: absolute; z-index: -1; inset: 0; min-height: 100%; pointer-events: none; background: radial-gradient(ellipse 72% 92% at 76% 48%,rgba(109,39,5,.7) 0%,rgba(63,22,4,.58) 37%,rgba(29,12,4,.34) 59%,rgba(8,9,8,0) 79%),linear-gradient(90deg,#080908 0%,#080908 25%,rgba(8,9,8,.96) 38%,rgba(15,9,5,.78) 58%,rgba(29,12,4,.62) 100%); }
.bs-ask-copy { align-self: center; position: relative; z-index: 1; padding: 72px clamp(32px,6vw,110px); background: transparent; }
.bs-ask-copy h2 { margin: 10px 0; font: 700 clamp(42px,5vw,78px)/.95 var(--bs-font-display); letter-spacing: -.055em; }
.bs-ask-close { position: absolute; top: 26px; left: clamp(24px,4vw,64px); width: 38px; height: 38px; border: 1px solid var(--bs-border); border-radius: 50%; background: rgba(8,9,8,.7); color: var(--bs-text); font-size: 22px; line-height: 1; cursor: pointer; }
.bs-ask-sources { display: grid; gap: 5px; margin: 0 0 24px; color: var(--bs-muted); font-size: 10px; }
.bs-ask-sources b { color: var(--bs-orange-soft); font: 800 8px/1 var(--bs-font-body); letter-spacing: .12em; text-transform: uppercase; }
.bs-ask-prompt { display: grid; gap: 10px; margin-top: 24px; }
.bs-ask-prompt textarea { min-height: 132px; resize: vertical; padding: 14px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: rgba(11,12,11,.86); color: var(--bs-text); outline: none; }
.bs-ask-prompt textarea:focus-visible { border-color: var(--bs-orange); box-shadow: 0 0 0 3px rgba(255,92,0,.14); }
.bs-ask-prompt-actions { display: flex; justify-content: flex-end; }
.bs-ask-examples { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 22px; }
.bs-ask-examples > button { padding: 11px 12px; border: 1px solid var(--bs-border); border-radius: 8px; background: rgba(17,18,17,.72); color: var(--bs-muted); text-align: left; cursor: pointer; }
.bs-ask-figure { min-height: 100dvh; display: grid; place-items: center; position: relative; z-index: 1; overflow: hidden; background: transparent; }
.bs-ask-figure img { display: block; width: min(760px,100%); max-height: 96dvh; object-fit: contain; filter: drop-shadow(0 40px 80px rgba(0,0,0,.65)); }

@media (max-width: 1500px) {
  .bs-workspace-rail { position: relative; inset: auto; width: min(var(--bs-content), calc(100% - 40px)); margin: 0 auto; padding-top: 20px; flex-direction: row; flex-wrap: wrap; }
  .bs-workspace-rail > span { flex-basis: 100%; }
  .bs-workspace-rail .bs-button { width: auto; }
  .bs-workspace-content { width: min(var(--bs-content), calc(100% - 40px)); }
  .workspace-nav-flyout-panel { top: calc(100% + 8px); left: 0; }
}
@media (max-width: 800px) { .bs-hero { grid-template-columns: minmax(0,1fr) 150px; }.bs-mascot-stage img { width: 140px; height: 140px; }.bs-ask-workspace { grid-template-columns: 1fr; }.bs-ask-figure { display: none; }.bs-ask-examples { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .bs-stat-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 980px) { .data-filter-condition { grid-template-columns: 40px minmax(90px,1fr) minmax(90px,.9fr) minmax(100px,1fr) 28px; } }
@media (max-width: 720px) { .data-filter-condition { grid-template-columns: 1fr 1fr; }.data-filter-condition > span:first-child { display: none; }.data-filter-condition > button { position: absolute; right: 18px; }.data-filter-popover > footer { flex-wrap: wrap; }.data-filter-period { flex: 1 1 100%; margin-left: 0; } }
@media (max-width: 560px) { .bs-shell { width: min(100% - 24px,var(--bs-content)); }.bs-hero { grid-template-columns: 1fr; min-height: 270px; }.bs-mascot-stage { display: none; }.bs-segmented { width: 100%; }.bs-segmented .bs-button { flex: 1; min-width: 0; } }
@media (max-width:560px) { .bs-hero--search { min-height:390px; padding-block:28px; gap:20px; }.bs-hero--search .bs-mascot-stage { display:grid; justify-self:center; width:220px; height:220px; min-height:220px; } }
@media (max-width: 560px) { .bs-stat-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .bs-page *,.top-nav * { scroll-behavior: auto!important; transition-duration: 0.01ms!important; animation-duration: 0.01ms!important; animation-iteration-count: 1!important; }.bs-mascot-ring { animation: none; } }

/* Living design-language page: examples use the same primitives they document. */
.dsl-shell { padding-bottom: 90px; }
.dsl-section { padding-top: 52px; }
.dsl-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--bs-border); }
.dsl-heading p { margin: 0 0 9px; color: var(--bs-orange); font: 800 9px var(--bs-font-body); letter-spacing: .15em; text-transform: uppercase; }
.dsl-heading h2 { margin: 0; font: 700 26px var(--bs-font-display); }.dsl-heading > span { color: var(--bs-muted); font-size: 11px; }
.dsl-colors { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; padding-top: 16px; }.dsl-colors article { display: grid; gap: 5px; padding: 10px; border: 1px solid var(--bs-border); border-radius: 9px; background: var(--bs-surface); }.dsl-colors i { height: 78px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; }.dsl-colors strong { font-size: 11px; }.dsl-colors code { color: var(--bs-muted); font-size: 10px; }
.dsl-colors--categorical { grid-template-columns: repeat(6,1fr); }
.dsl-demo { margin-top: 16px; }.dsl-demo.bs-toolbar { padding-inline: 14px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface); }
.dsl-interactions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }:where(.dsl-interactions > *) { min-height:48px; display:flex; align-items:center; padding:0 14px; border:1px solid var(--bs-border); border-radius:8px; background:var(--bs-surface); color:var(--bs-muted); font:700 10px var(--bs-font-body); text-align:left; }
.dsl-nav-rule { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; padding-top: 16px; }.dsl-nav-rule aside { min-height: 120px; display: grid; align-content: center; gap: 6px; padding: 18px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface); }.dsl-nav-rule aside span { color: var(--bs-orange); font-size: 9px; font-weight: 800; letter-spacing: .12em; }.dsl-nav-rule aside strong { font-size: 18px; }.dsl-nav-rule aside small { color: var(--bs-muted); }.dsl-nav-rule > b { color: var(--bs-orange); font-size: 22px; }
.dsl-ask-demo { min-height: 310px; display: grid; grid-template-columns: 1fr 1fr; margin-top: 16px; overflow: hidden; border: 1px solid var(--bs-border); border-radius: 12px; background: linear-gradient(90deg,#080908,#1d0c04); }.dsl-ask-demo > div { align-self: center; padding: 38px; }.dsl-ask-demo h3 { margin: 9px 0 12px; font: 700 38px/.95 var(--bs-font-display); letter-spacing: -.045em; }.dsl-ask-demo p { max-width: 450px; margin: 0 0 20px; color: var(--bs-muted); }.dsl-ask-demo img { align-self: end; justify-self: center; width: 300px; height: 300px; object-fit: contain; filter: drop-shadow(0 24px 38px rgba(0,0,0,.5)); }
.dsl-mascots { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; padding-top: 16px; }.dsl-mascots article { overflow: hidden; border: 1px solid var(--bs-border); border-radius: 11px; background: radial-gradient(circle at 50% 45%,rgba(255,92,0,.13),transparent 48%),var(--bs-surface); }.dsl-mascots img { display: block; width: 100%; height: 210px; object-fit: contain; padding: 20px; }.dsl-mascots div { display: flex; align-items: center; justify-content: space-between; padding: 13px; border-top: 1px solid var(--bs-border); }.dsl-mascots strong { font-size: 11px; }.dsl-mascots a { color: #ff7a35; font-size: 10px; text-decoration: none; }
@media(max-width:800px){.dsl-colors{grid-template-columns:repeat(2,1fr)}.dsl-mascots{grid-template-columns:repeat(2,1fr)}.dsl-nav-rule{grid-template-columns:1fr}.dsl-nav-rule>b{transform:rotate(90deg);justify-self:center}.dsl-ask-demo{grid-template-columns:1fr}.dsl-ask-demo img{display:none}}

/* Proof route: only content rhythm is page-specific; every visual primitive above is shared. */
.bs-proof-intro { display: grid; gap: 12px; padding: 48px 0 30px; border-bottom: 1px solid var(--bs-border-quiet); }
.bs-proof-intro p { max-width: 720px; color: var(--bs-muted); }
.bs-proof-stack { display: grid; gap: 18px; padding: 28px 0 80px; }
.bs-proof-entity-list { display: grid; }
.bs-proof-entity-list p { display: flex; justify-content: space-between; gap: 20px; padding: 14px 16px; border-top: 1px solid var(--bs-border-quiet); }
.bs-proof-entity-list p:first-child { border-top: 0; }
.bs-proof-entity-list span,.bs-proof-empty { color: var(--bs-muted); }
.bs-proof-empty { padding: 24px 16px; }

/* One persistent platform shell shared by every tool. */
.bald-shell { position: sticky; top: 0; z-index: 70; }
.bald-shell .bald-bar { position: relative; top: auto; min-height: 72px; }

@media print { .bald-shell { display: none !important; } }

.capacity2-freelancer-picker{display:flex;align-items:flex-end;gap:16px;padding:16px 24px;flex-wrap:wrap}.capacity2-freelancer-picker label{display:grid;gap:8px;font-size:13px}.capacity2-freelancer-picker input,.capacity2-freelancer-picker select{background:#111;color:#eee;border:1px solid #333;border-radius:8px;padding:10px;max-width:280px}


/* Migrated page primitives: canonical global CSS owns these surfaces. */

/* LeadershipDashboard */
.bs-leadership-dashboard-dashboard{min-width:0;padding-bottom:90px;color:var(--bs-text)}
.bs-leadership-dashboard-reportSection{scroll-margin-top:92px}.bs-leadership-dashboard-reportSection+.bs-leadership-dashboard-reportSection{margin-top:44px;padding-top:32px;border-top:1px solid var(--bs-border)}
.bs-leadership-dashboard-reportLoading{display:flex;align-items:center;gap:12px;min-height:84px;padding:0 22px;border:1px solid var(--bs-border);border-radius:16px;background:var(--bs-surface);color:var(--bs-muted);font-size:12px}.bs-leadership-dashboard-reportLoading span{width:10px;height:10px;border:2px solid #ff641a;border-right-color:transparent;border-radius:50%;animation:bs-leadership-dashboard-reportSpin .8s linear infinite}
.bs-leadership-dashboard-tabs{display:flex;gap:24px;margin:0 0 20px;border-bottom:1px solid #272b30}.bs-leadership-dashboard-tabs button{border:0;border-bottom:2px solid transparent;padding:12px 0;background:none;color:#8d929b;font:inherit;font-size:13px;cursor:pointer}.bs-leadership-dashboard-tabs button[aria-pressed=true]{color:#f5f1ea;border-color:#ff641a}
.bs-leadership-dashboard-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.bs-leadership-dashboard-card{position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:15px;min-height:175px;padding:23px 42px 23px 23px;border:1px solid var(--bs-border);border-radius:16px;background:var(--bs-surface);color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,transform .18s}.bs-leadership-dashboard-card strong{font-size:56px;line-height:1;letter-spacing:-.06em}.bs-leadership-dashboard-card>span{font-size:14px;line-height:1.4;max-width:210px}.bs-leadership-dashboard-card>span em{color:var(--bs-orange);font-style:normal}.bs-leadership-dashboard-card>i{position:absolute;right:18px;bottom:21px;color:#ff641a;font-size:20px;font-style:normal}.bs-leadership-dashboard-card:hover{transform:translateY(-2px);border-color:#ff641a80}.bs-leadership-dashboard-card.bs-leadership-dashboard-danger{background:var(--bs-surface);border-color:#ff641a80}.bs-leadership-dashboard-selected{border-color:#ff641a!important}
.bs-leadership-dashboard-twoColumn{display:grid;grid-template-columns:1fr;gap:14px}.bs-leadership-dashboard-module{padding:24px;margin-top:14px;border:1px solid var(--bs-border);border-radius:16px;background:var(--bs-surface);min-width:0}.bs-leadership-dashboard-module>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.bs-leadership-dashboard-module h2{margin:0;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.025em}.bs-leadership-dashboard-module h2 em{color:#ff7734;font-style:normal}.bs-leadership-dashboard-module header>button,.bs-leadership-dashboard-detailActions button{border:0;background:none;color:#ff7734;font-size:11px;cursor:pointer}.bs-leadership-dashboard-source{color:#9298a1;font-size:10px;text-decoration:none;white-space:nowrap}.bs-leadership-dashboard-source:hover{color:#ff7734}.bs-leadership-dashboard-note{color:#8a909a;font-size:11px;line-height:1.6;margin:16px 0 0}.bs-leadership-dashboard-empty{padding:18px 0;color:#969ca5;font-size:13px;line-height:1.6}.bs-leadership-dashboard-warning{padding:12px 15px;border:1px solid #7d4538;background:#321c17;color:#f0ba9f;border-radius:10px;font-size:12px}
.bs-leadership-dashboard-bubbles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 9px}.bs-leadership-dashboard-bubbles button{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:8px;min-height:154px;border:0;background:transparent;color:inherit;cursor:pointer}.bs-leadership-dashboard-bubbles button>i{position:relative;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--bs-orange) var(--load),#3a2419 var(--load));font-style:normal;transition:transform .2s,filter .2s}.bs-leadership-dashboard-bubbles button>i:after{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#2b1b13,#12110f)}.bs-leadership-dashboard-bubbles button:hover>i,.bs-leadership-dashboard-bubbles button[aria-expanded=true]>i{transform:scale(1.06);filter:brightness(1.18)}.bs-leadership-dashboard-bubbles strong{position:relative;z-index:1;font-size:22px;letter-spacing:-.04em}.bs-leadership-dashboard-bubbles button>span{color:#b0b5bc;font-size:12px;text-align:center;line-height:1.3}.bs-leadership-dashboard-bubbles button>small{color:var(--bs-muted);font-size:10px}.bs-leadership-dashboard-bubbles i.bs-leadership-dashboard-zeroBubble{border:1px dashed #444a53;background:transparent;color:#8c949e}.bs-leadership-dashboard-bubbles i.bs-leadership-dashboard-zeroBubble:after{background:var(--bs-surface)}
.bs-leadership-dashboard-bubbles button>i.bs-team-metrics{display:grid;grid-template-columns:1fr 1fr;width:112px;height:112px;padding:20px 12px;border:1px solid rgba(255,100,26,.46);background:radial-gradient(circle at 35% 25%,#281a14,#12110f 70%);box-shadow:inset 0 0 0 5px rgba(255,100,26,.045)}.bs-leadership-dashboard-bubbles button>i.bs-team-metrics:after{display:none}.bs-team-metrics>span{position:relative;display:grid;place-items:center;gap:2px;z-index:1}.bs-team-metrics>span+span{border-left:1px solid rgba(255,255,255,.13)}.bs-leadership-dashboard-bubbles .bs-team-metrics strong{font-size:20px}.bs-team-metrics small{color:#92979e;font-size:7px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.bs-leadership-dashboard-bubbles button>b{color:#bfc3c8;font-size:12px;font-weight:500;text-align:center}
.bs-leadership-dashboard-quarterToggle{display:flex;gap:5px;margin:-3px 0 25px}.bs-leadership-dashboard-quarterToggle button{padding:7px 13px;border:1px solid #353942;border-radius:8px;background:none;color:#a2a7b0;cursor:pointer;font-size:11px}.bs-leadership-dashboard-quarterToggle button[aria-pressed=true]{background:#ff641a;color:#111;border-color:#ff641a}.bs-leadership-dashboard-pieWrap{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;min-height:190px}.bs-leadership-dashboard-pie{display:grid;place-items:center;width:170px;height:170px;border-radius:50%}.bs-leadership-dashboard-pie>div{width:118px;height:118px;border-radius:50%;background:#121418;display:flex;align-items:center;justify-content:center;flex-direction:column}.bs-leadership-dashboard-pie strong{font-size:31px;line-height:1.2}.bs-leadership-dashboard-pie small{color:#979ca5;font-size:10px}.bs-leadership-dashboard-legend{display:grid;gap:7px}.bs-leadership-dashboard-legend button{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;padding:7px 0;border:0;background:none;color:#b9bdc4;text-align:left;font-size:11px;cursor:pointer}.bs-leadership-dashboard-legend button:hover{color:#fff}.bs-leadership-dashboard-legend i{width:7px;height:7px;border-radius:50%}.bs-leadership-dashboard-legend b{color:#f5f1ea}
.bs-leadership-dashboard-weekGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.bs-leadership-dashboard-weekGrid>button{min-width:0;padding:17px;border:1px solid #30343b;border-radius:13px;background:#0e1013;color:inherit;text-align:left;cursor:pointer}.bs-leadership-dashboard-weekGrid>button:hover{border-color:#ff641a80}.bs-leadership-dashboard-weekGrid>button>span{display:flex;justify-content:space-between;font-size:11px;color:#aeb3bb}.bs-leadership-dashboard-weekGrid small{font-size:10px;color:#7f8691}.bs-leadership-dashboard-weekVisual{position:relative;height:110px;display:flex;align-items:flex-end;justify-content:center;margin:17px 0 10px;border-bottom:1px solid #424751}.bs-leadership-dashboard-weekVisual i{position:absolute;inset:auto 0 0;background:linear-gradient(#ff7937,#ff641a35);border-radius:6px 6px 0 0;animation:bs-leadership-dashboard-rise .7s ease-out;transform-origin:bottom}.bs-leadership-dashboard-weekVisual strong{position:relative;font-size:34px;padding-bottom:10px}.bs-leadership-dashboard-callLabel b{color:#ff641a;font-size:17px}
.bs-leadership-dashboard-inlineDetail{margin-top:14px;padding:22px;border:1px solid #ff641a50;border-radius:14px;background:#0f1114;animation:bs-leadership-dashboard-expand .2s ease-out}.bs-leadership-dashboard-inlineDetail>header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:14px}.bs-leadership-dashboard-inlineDetail h3{margin:0;font-size:17px}.bs-leadership-dashboard-inlineDetail>header button,.bs-leadership-dashboard-answer header button{border:0;background:none;color:#9ba1aa;font-size:24px;cursor:pointer}.bs-leadership-dashboard-rows{display:grid}.bs-leadership-dashboard-rows>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #292e35;font-size:12px;overflow-wrap:anywhere}.bs-leadership-dashboard-rows small{display:block;color:#969da7;font-size:10px;line-height:1.5;margin-top:4px}.bs-leadership-dashboard-rows>div>span:last-child,.bs-leadership-dashboard-rows>div>b:last-child{max-width:52%;text-align:right}.bs-leadership-dashboard-rows>div>span:first-child{max-width:70%;text-align:left}.bs-leadership-dashboard-projectList>details{border-bottom:1px solid #30343b}.bs-leadership-dashboard-projectList summary,.bs-leadership-dashboard-module summary{cursor:pointer;font-size:12px;line-height:1.5;padding:14px 0;color:#c5c9d0}.bs-leadership-dashboard-dashboard details>summary::marker{color:#ff7734}.bs-leadership-dashboard-projectList summary small{display:block;margin:4px 0 0 16px;color:#969da7;font-size:10px}.bs-leadership-dashboard-detailActions{padding:15px 0}.bs-leadership-dashboard-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:28px}.bs-leadership-dashboard-breakdown h3{font-size:16px;margin:0 0 6px}.bs-leadership-dashboard-breakdown p{color:#929aa5;font-size:12px}.bs-leadership-dashboard-askPrompt{margin-top:18px;padding:10px 0;border:0;background:none;color:#ff7734;text-align:left;cursor:pointer}
.bs-leadership-dashboard-answer{border:1px solid #ff641a60;border-radius:14px;padding:24px;background:#151416;margin:18px 0}.bs-leadership-dashboard-answer header{display:flex;justify-content:space-between;align-items:center}.bs-leadership-dashboard-answer h2{margin:0;font-size:19px}.bs-leadership-dashboard-answer>p{white-space:pre-wrap;line-height:1.8;color:#d5d7dc;font-size:14px}.bs-leadership-dashboard-answer>div:last-child{display:flex;gap:15px;flex-wrap:wrap}
.bs-leadership-dashboard-bottomActions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.bs-leadership-dashboard-bottomActions button{display:flex;justify-content:space-between;align-items:center;border:1px solid #30343c;border-radius:14px;background:#121418;color:#d6c7ff;padding:23px;font-size:14px;cursor:pointer}.bs-leadership-dashboard-bottomActions i{color:#ff7734;font-style:normal}.bs-leadership-dashboard-dashboard button:focus-visible,.bs-leadership-dashboard-dashboard summary:focus-visible,.bs-leadership-dashboard-dashboard a:focus-visible{outline:2px solid #ff7937;outline-offset:4px}
@keyframes bs-leadership-dashboard-float{50%{transform:translateY(-6px)}}@keyframes bs-leadership-dashboard-orbit{from{transform:rotate(0deg) translateX(104px)}to{transform:rotate(360deg) translateX(104px)}}@keyframes bs-leadership-dashboard-rise{from{transform:scaleY(0)}}@keyframes bs-leadership-dashboard-expand{from{opacity:0;transform:translateY(-4px)}}
@keyframes bs-leadership-dashboard-reportSpin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.bs-leadership-dashboard-scorecards{grid-template-columns:1fr 1fr}.bs-leadership-dashboard-twoColumn{grid-template-columns:1fr}.bs-leadership-dashboard-hero{padding:0}.bs-leadership-dashboard-pieWrap{grid-template-columns:180px 1fr}}
@media(max-width:660px){.bs-leadership-dashboard-hero{min-height:175px}.bs-leadership-dashboard-hero h1{font-size:62px}.bs-leadership-dashboard-mascot{width:115px;height:150px}.bs-leadership-dashboard-mascot>i{width:106px;height:106px}.bs-leadership-dashboard-mascot img{width:90px}.bs-leadership-dashboard-mascot>span{display:none}.bs-leadership-dashboard-askBar{gap:6px;padding-left:12px}.bs-leadership-dashboard-askBar button{width:35px;height:38px}.bs-leadership-dashboard-scorecards{gap:8px}.bs-leadership-dashboard-card{padding:17px 22px 18px 16px;min-height:155px}.bs-leadership-dashboard-card strong{font-size:43px}.bs-leadership-dashboard-card>span{font-size:12px}.bs-leadership-dashboard-card>i{right:10px;bottom:10px;font-size:16px}.bs-leadership-dashboard-module{padding:18px}.bs-leadership-dashboard-module h2{font-size:19px}.bs-leadership-dashboard-module>header{gap:10px}.bs-leadership-dashboard-weekGrid{grid-template-columns:repeat(2,1fr)}.bs-leadership-dashboard-weekGrid>button:last-child{grid-column:1/-1}.bs-leadership-dashboard-pieWrap{grid-template-columns:1fr;justify-items:center}.bs-leadership-dashboard-legend{width:100%}.bs-leadership-dashboard-bubbles{grid-template-columns:repeat(3,1fr);gap:8px 4px}.bs-leadership-dashboard-bubbles button>i{max-width:84px;max-height:84px}.bs-leadership-dashboard-bubbles button{min-height:115px}.bs-leadership-dashboard-bubbles button>span{font-size:10px}.bs-leadership-dashboard-breakdown{grid-template-columns:1fr}.bs-leadership-dashboard-inlineDetail{padding:16px}.bs-leadership-dashboard-bottomActions{grid-template-columns:1fr}.bs-leadership-dashboard-rows>div{gap:12px}.bs-leadership-dashboard-promptRow button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bs-leadership-dashboard-mascot img,.bs-leadership-dashboard-mascot>span,.bs-leadership-dashboard-weekVisual i,.bs-leadership-dashboard-inlineDetail{animation:none}.bs-leadership-dashboard-card,.bs-leadership-dashboard-bubbles button>i{transition:none}}


.bs-leadership-dashboard-tabs .bs-leadership-dashboard-globalFilter{margin-left:auto;position:relative;align-self:center}
.bs-leadership-dashboard-tabs .bs-leadership-dashboard-globalFilter>summary{list-style:none;display:flex;gap:9px;align-items:center;cursor:pointer;color:#f3f0eb;padding:10px 13px;border:1px solid #363b42;border-radius:9px;font-size:13px}
.bs-leadership-dashboard-globalFilter>summary::-webkit-details-marker{display:none}
.bs-leadership-dashboard-globalFilter summary small{color:#ff965d;font-size:12px}
.bs-leadership-dashboard-globalFilter form{position:absolute;right:0;top:calc(100% + 10px);z-index:25;width:280px;max-width:calc(100vw - 55px);padding:22px;background:#171b20;border:1px solid #434952;border-radius:13px;box-shadow:0 18px 60px #0009}
.bs-leadership-dashboard-globalFilter h3{margin:0 0 18px;font-size:16px}
.bs-leadership-dashboard-globalFilter label{display:grid;gap:7px;margin:13px 0;color:#b8bec7;font-size:12px}
.bs-leadership-dashboard-globalFilter input,.bs-leadership-dashboard-globalFilter select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #3a414a;border-radius:7px;background:#0e1116;color:#f3f0eb;font:inherit;color-scheme:dark}
.bs-leadership-dashboard-globalFilter p{color:#929ca9;font-size:11px;line-height:1.6}
.bs-leadership-dashboard-tabs .bs-leadership-dashboard-globalFilter button{width:100%;border-radius:7px;background:#ff681d;color:#16110e;padding:11px;margin-top:6px;border:0}
.bs-leadership-dashboard-globalFilter summary:focus-visible,.bs-leadership-dashboard-globalFilter input:focus-visible,.bs-leadership-dashboard-globalFilter select:focus-visible{outline:2px solid #ff965d;outline-offset:3px}
.bs-leadership-dashboard-responsiblePeople{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.bs-leadership-dashboard-responsiblePeople>span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#c6ccd4;background:#1a2028;border:1px solid #323c47;border-radius:20px;padding:4px 9px 4px 4px}
.bs-leadership-dashboard-responsiblePeople i{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#6a482d;color:#ffca98;font-size:9px;font-style:normal}
.bs-leadership-dashboard-responsiblePeople>small{color:#8d98a4;font-size:11px}
.bs-leadership-dashboard-projectList summary a{color:inherit;text-decoration:none}
.bs-leadership-dashboard-projectList summary a:hover{color:#ff985d;text-decoration:underline}
.bs-leadership-dashboard-assignmentLabel{margin:13px 0 7px;color:#777e87;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bs-leadership-dashboard-rolePeople{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.bs-leadership-dashboard-rolePeople>span{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #343b42;border-radius:8px;background:#171b20}.bs-leadership-dashboard-rolePeople b{font-size:10px}.bs-leadership-dashboard-rolePeople small{padding-left:7px;border-left:1px solid #3a4148;color:#ff985d;font-size:8px}.bs-leadership-dashboard-rolePeople>small{color:#8d98a4;font-size:11px}.bs-leadership-dashboard-phaseList{display:grid;margin:0 0 12px 15px;border-left:1px solid #323840}.bs-leadership-dashboard-phaseList>details{padding-left:14px;border-bottom:1px solid #292e35}.bs-leadership-dashboard-phaseList>details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}.bs-leadership-dashboard-phaseList>details>summary small{margin:0;color:#8e959e;text-align:right}.bs-leadership-dashboard-taskList{display:grid;padding-bottom:10px}.bs-leadership-dashboard-taskList>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,auto);align-items:center;gap:16px;padding:10px 0;border-top:1px solid #252a30}.bs-leadership-dashboard-taskList b{font-size:10px}.bs-leadership-dashboard-taskList>div>span small{display:block;margin-top:4px;color:#858c95;font-size:8px}.bs-leadership-dashboard-taskList .bs-leadership-dashboard-responsiblePeople{justify-content:flex-end;margin:0}.bs-leadership-dashboard-taskList .bs-leadership-dashboard-responsiblePeople>span{font-size:9px}.bs-leadership-dashboard-taskList .bs-leadership-dashboard-responsiblePeople i{width:19px;height:19px;font-size:7px}
.bs-leadership-dashboard-capacityReadout{display:grid;gap:11px}.bs-leadership-dashboard-capacitySentence{padding:17px 18px;border:1px solid rgba(255,100,26,.42);border-radius:11px;background:linear-gradient(135deg,rgba(255,100,26,.11),rgba(255,100,26,.025))}.bs-leadership-dashboard-capacitySentence>span{color:#ff874c;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.bs-leadership-dashboard-capacitySentence>p{max-width:1020px;margin:8px 0 0;color:#ece8e1;font-size:14px;font-weight:600;line-height:1.55}.bs-leadership-dashboard-capacitySentence>small{display:block;margin-top:11px;color:#898f97;font-size:9px;line-height:1.5}.bs-leadership-dashboard-capacityPersonLines{display:grid;margin-top:8px}.bs-leadership-dashboard-capacityPersonLines p{margin:0;padding:10px 0;border-top:1px solid #34302f;color:#ece8e1;font-size:11px;font-weight:500;line-height:1.6}.bs-leadership-dashboard-capacityPersonLines p:first-child{border-top:0}.bs-leadership-dashboard-podGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.bs-leadership-dashboard-podGrid article{padding:12px 13px;border:1px solid #2d3238;border-radius:9px;background:#121518}.bs-leadership-dashboard-podGrid header{display:flex;align-items:center;justify-content:space-between;gap:12px}.bs-leadership-dashboard-podGrid b{font-size:10px}.bs-leadership-dashboard-podGrid header span{color:#ff874c;font-size:8px}.bs-leadership-dashboard-podGrid p{margin:8px 0 0;color:#858c95;font-size:8px;line-height:1.6}.bs-leadership-dashboard-capacityProjects{margin-top:14px;border-top:1px solid #30353b}.bs-leadership-dashboard-capacityProjects>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;color:#c8cbd0;font-size:11px;font-weight:700}.bs-leadership-dashboard-capacityProjects>summary small{color:#8d949d;font-size:8px;font-weight:500}
.bs-leadership-dashboard-phaseListHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:18px;padding:0 0 10px;border-bottom:1px solid #30353b}.bs-leadership-dashboard-phaseListHeader h4{margin:0;font-size:14px}.bs-leadership-dashboard-phaseListHeader span{color:#8d949d;font-size:10px}.bs-leadership-dashboard-livePhaseList{display:grid}.bs-leadership-dashboard-livePhaseList article{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,.8fr) minmax(220px,1fr);gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #292e35}.bs-leadership-dashboard-livePhaseList article>div{display:grid;gap:5px;min-width:0}.bs-leadership-dashboard-livePhaseList a{color:#f1eee9;text-decoration:none}.bs-leadership-dashboard-livePhaseList a:hover{color:#ff985d;text-decoration:underline}.bs-leadership-dashboard-livePhaseList strong{font-size:11px;line-height:1.4}.bs-leadership-dashboard-livePhaseList small{color:#747b84;font-size:8px;font-weight:800;letter-spacing:.08em}.bs-leadership-dashboard-livePhaseList span{color:#aeb4bc;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.bs-leadership-dashboard-livePhaseList article>div:first-child>span{color:#f1eee9;font-size:12px}.bs-leadership-dashboard-phaseSchedule span{font-variant-numeric:tabular-nums}
.bs-leadership-dashboard-capacitySentence h4{margin:0;font-size:18px;letter-spacing:-.03em}
.bs-leadership-dashboard-capacityReadout,.bs-leadership-dashboard-capacitySentence,.bs-leadership-dashboard-capacityPersonLines,.bs-leadership-dashboard-capacityProjects{min-width:0}.bs-leadership-dashboard-capacitySentence{overflow:hidden}.bs-leadership-dashboard-capacityPersonLines p{min-width:0;overflow-wrap:anywhere;word-break:normal}
@media(max-width:640px){.bs-leadership-dashboard-tabs{flex-wrap:wrap;gap:12px}.bs-leadership-dashboard-tabs .bs-leadership-dashboard-globalFilter{margin-left:auto}.bs-leadership-dashboard-globalFilter summary small{max-width:110px}.bs-leadership-dashboard-rows .bs-leadership-dashboard-responsiblePeople{max-width:240px}.bs-leadership-dashboard-taskList>div{grid-template-columns:1fr}.bs-leadership-dashboard-taskList .bs-leadership-dashboard-responsiblePeople{justify-content:flex-start}.bs-leadership-dashboard-capacityProjects>summary{align-items:flex-start;flex-direction:column}.bs-leadership-dashboard-phaseListHeader{align-items:flex-start;flex-direction:column}.bs-leadership-dashboard-livePhaseList article{grid-template-columns:1fr;gap:10px}}
.bs-leadership-dashboard-accountOwners{display:flex;align-items:center;gap:12px;color:#94a0ad;font-size:11px}
.bs-leadership-dashboard-accountOwners .bs-leadership-dashboard-responsiblePeople{margin:5px 0}

/* Retain the Reports canvas while the shared rail remains outside it. */


/* TimeTrackingPilot */
.bs-time-tracking-pilot-pilot{display:grid;gap:22px;min-width:0}.bs-time-tracking-pilot-warning{padding:13px;border:1px solid var(--bs-semantic-warn);border-radius:var(--bs-radius);color:var(--bs-semantic-warn);font-size:11px}
.bs-time-tracking-pilot-hero,.bs-time-tracking-pilot-plan,.bs-time-tracking-pilot-projects,.bs-time-tracking-pilot-departmentNav{border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);padding:28px;min-width:0}.bs-time-tracking-pilot-hero>header,.bs-time-tracking-pilot-plan>header,.bs-time-tracking-pilot-projects>header,.bs-time-tracking-pilot-department>header{display:flex;justify-content:space-between;gap:28px;align-items:center}.bs-time-tracking-pilot-hero h2{font-size:clamp(40px,6vw,74px);letter-spacing:-.06em;margin:0}.bs-time-tracking-pilot-hero>header>span{text-align:right;font-size:15px}.bs-time-tracking-pilot-hero small{display:block;margin-top:7px;color:var(--bs-muted);font-size:9px}
.bs-time-tracking-pilot-departmentNav{display:flex;gap:8px;flex-wrap:wrap;padding:14px}.bs-time-tracking-pilot-departmentNav button{display:flex;gap:12px;align-items:center;border:1px solid var(--bs-border);border-radius:99px;background:transparent;color:var(--bs-text);padding:9px 13px;font:inherit;font-size:10px;cursor:pointer}.bs-time-tracking-pilot-departmentNav button[data-active=true]{border-color:var(--bs-orange);color:var(--bs-orange);background:color-mix(in srgb,var(--bs-orange) 8%,transparent)}.bs-time-tracking-pilot-departmentNav span{color:var(--bs-muted);font-size:8px}
.bs-time-tracking-pilot-plan>header,.bs-time-tracking-pilot-projects>header{margin-bottom:24px}.bs-time-tracking-pilot-plan h2,.bs-time-tracking-pilot-projects h2{font-size:clamp(22px,3vw,32px);letter-spacing:-.045em;margin:0}.bs-time-tracking-pilot-plan>header>span,.bs-time-tracking-pilot-projects>header>span{color:var(--bs-muted);font-size:10px}.bs-time-tracking-pilot-department{border-top:1px solid var(--bs-border);padding:24px 0 4px}.bs-time-tracking-pilot-department>header{margin-bottom:12px}.bs-time-tracking-pilot-department h3{font-size:18px;margin:0}.bs-time-tracking-pilot-department>header span{display:block;color:var(--bs-muted);font-size:9px;margin-top:5px}.bs-time-tracking-pilot-department>header>b{font-size:13px}
.bs-time-tracking-pilot-person{border:1px solid var(--bs-border-quiet);border-radius:var(--bs-radius);margin:9px 0;overflow:hidden}.bs-time-tracking-pilot-person>summary{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:18px;align-items:center;padding:15px 16px;cursor:pointer;list-style:none}.bs-time-tracking-pilot-person>summary::-webkit-details-marker{display:none}.bs-time-tracking-pilot-person>summary strong,.bs-time-tracking-pilot-person>summary small{display:block}.bs-time-tracking-pilot-person>summary small{color:var(--bs-muted);font-size:8px;margin-top:4px}.bs-time-tracking-pilot-person>summary>b{font-size:11px}.bs-time-tracking-pilot-person>summary>a{border:1px solid var(--bs-border);border-radius:99px;padding:7px 10px;color:var(--bs-orange);text-decoration:none;font-size:9px}.bs-time-tracking-pilot-person[open]>summary{background:color-mix(in srgb,var(--bs-orange) 5%,transparent)}
.bs-time-person-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid var(--bs-border-quiet);background:var(--bs-border-quiet)}.bs-time-person-summary>span{display:grid;gap:5px;padding:13px 16px;background:var(--bs-surface)}.bs-time-person-summary small,.bs-time-tracking-pilot-weekGrid article>header small{color:var(--bs-muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.bs-time-person-summary strong{font-size:14px}
.bs-time-tracking-pilot-weekGrid{display:grid;gap:1px;background:var(--bs-border-quiet);border-top:1px solid var(--bs-border-quiet)}.bs-time-tracking-pilot-weekGrid article{display:grid;grid-template-columns:minmax(145px,.28fr) minmax(0,1fr);background:var(--bs-canvas);padding:0}.bs-time-tracking-pilot-weekGrid article[data-empty=true]{opacity:.58}.bs-time-tracking-pilot-weekGrid article>header{display:grid;align-content:start;gap:15px;padding:16px;border-right:1px solid var(--bs-border-quiet);font-size:10px}.bs-time-tracking-pilot-weekGrid article>header>span{display:grid;gap:5px}.bs-time-tracking-pilot-weekGrid article>header b{font-size:16px}.bs-time-week-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--bs-border-quiet)}.bs-time-tracking-pilot-weekGrid section{min-width:0;padding:16px;background:var(--bs-canvas)}.bs-time-tracking-pilot-weekGrid h5{margin:0 0 8px;color:var(--bs-muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.bs-time-tracking-pilot-weekGrid p{margin:0;padding:8px 0;border-top:1px solid var(--bs-border-quiet);overflow-wrap:anywhere}.bs-time-tracking-pilot-weekGrid p strong,.bs-time-tracking-pilot-weekGrid p span{display:block;font-size:9px}.bs-time-tracking-pilot-weekGrid p span,.bs-time-tracking-pilot-weekGrid em{color:var(--bs-muted);font-size:8px;font-style:normal;margin-top:3px}
.bs-time-tracking-pilot-projects>div>div{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr auto;gap:20px;align-items:center;padding:15px 0;border-top:1px solid var(--bs-border-quiet)}.bs-time-tracking-pilot-projects strong{font-size:12px}.bs-time-tracking-pilot-projects i{height:4px;background:var(--bs-border);border-radius:4px;overflow:hidden}.bs-time-tracking-pilot-projects i b{display:block;height:100%;background:var(--bs-category-2)}.bs-time-tracking-pilot-projects em{font-style:normal;font-size:12px}
@media(max-width:700px){.bs-time-tracking-pilot-hero,.bs-time-tracking-pilot-plan,.bs-time-tracking-pilot-projects{padding:20px}.bs-time-tracking-pilot-hero>header,.bs-time-tracking-pilot-plan>header,.bs-time-tracking-pilot-projects>header,.bs-time-tracking-pilot-department>header{display:grid}.bs-time-tracking-pilot-hero>header>span{text-align:left}.bs-time-tracking-pilot-person>summary{grid-template-columns:1fr auto}.bs-time-tracking-pilot-person>summary>a{grid-column:1/-1;justify-self:start}.bs-time-person-summary{grid-template-columns:1fr}.bs-time-tracking-pilot-weekGrid article{grid-template-columns:1fr}.bs-time-tracking-pilot-weekGrid article>header{grid-template-columns:1fr auto;border-right:0;border-bottom:1px solid var(--bs-border-quiet)}.bs-time-week-columns{grid-template-columns:1fr}.bs-time-tracking-pilot-projects>div>div{grid-template-columns:1fr auto}.bs-time-tracking-pilot-projects i{grid-column:1/-1;grid-row:2}}


/* ReportSignalPanels */
.bs-report-signal-panels-panel{min-width:0;display:flex;flex-direction:column;gap:14px;margin-top:14px;padding:22px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);color:var(--bs-text)}
.bs-report-signal-panels-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.bs-report-signal-panels-header h2{margin:0;font-size:22px;line-height:1.3;letter-spacing:-.03em;font-weight:600}
.bs-report-signal-panels-header h2 em{color:var(--bs-orange);font-style:normal}
.bs-report-signal-panels-infoTip{position:relative;display:inline-grid;place-items:center;width:17px;height:17px;margin-left:8px;border:1px solid var(--bs-border);border-radius:50%;color:var(--bs-muted);font:600 10px/1 sans-serif;letter-spacing:0;vertical-align:2px;cursor:help;outline:none}
.bs-report-signal-panels-infoTip::after{content:attr(data-tip);position:absolute;z-index:12;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:min(320px,70vw);padding:10px 12px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-surface-raised);box-shadow:0 12px 32px rgba(0,0,0,.35);color:var(--bs-text);font:400 11px/1.55 sans-serif;letter-spacing:0;text-align:left;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}
.bs-report-signal-panels-infoTip:hover,.bs-report-signal-panels-infoTip:focus{border-color:var(--bs-orange);color:var(--bs-orange)}.bs-report-signal-panels-infoTip:hover::after,.bs-report-signal-panels-infoTip:focus::after{opacity:1;transform:translate(-50%,0)}
.bs-report-signal-panels-header a{flex-shrink:0;color:var(--bs-orange);text-decoration:none;font-size:11px;padding:5px 0}
.bs-report-signal-panels-header a:hover{text-decoration:underline}
.bs-report-signal-panels-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bs-report-signal-panels-rating{--rating-colour:var(--bs-orange);min-width:0;padding:18px 16px;border:1px solid var(--bs-border);border-top:3px solid var(--rating-colour);border-radius:10px;background:var(--bs-canvas)}
.bs-report-signal-panels-rating>span{font-size:12px;color:var(--bs-muted)}
.bs-report-signal-panels-rating>strong{display:flex;align-items:baseline;gap:6px;font-size:48px;line-height:1;letter-spacing:-.05em;font-weight:600;margin:18px 0}
.bs-report-signal-panels-rating small{font-size:13px;font-weight:400;letter-spacing:normal;color:var(--bs-muted)}
.bs-report-signal-panels-segments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.bs-report-signal-panels-segments>span{height:8px;background:var(--bs-surface-raised);border-radius:2px;overflow:hidden}
.bs-report-signal-panels-segments i{display:block;height:100%;background:var(--rating-colour)}
.bs-report-signal-panels-pairing{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--bs-border);border-bottom:1px solid var(--bs-border)}
.bs-report-signal-panels-pairingIcon{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border:1px dashed var(--bs-border);border-radius:50%;color:var(--bs-muted);font-size:24px}
.bs-report-signal-panels-pairing b{display:block;font-size:14px;font-weight:500}
.bs-report-signal-panels-pairing p{font-size:11px;color:var(--bs-muted);line-height:1.6;margin:6px 0}
.bs-report-signal-panels-pairing div>span{font-size:10px;color:var(--bs-muted)}
.bs-report-signal-panels-alignment{flex-shrink:0;width:74px;height:74px;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle closest-side,var(--bs-surface) 77%,transparent 79%),conic-gradient(var(--bs-orange) var(--score),var(--bs-border) 0)}
.bs-report-signal-panels-alignment strong{font-size:20px;letter-spacing:-.04em}.bs-report-signal-panels-alignment span{font-size:10px;color:var(--bs-muted)}
.bs-report-signal-panels-evidence{padding:14px}.bs-report-signal-panels-evidence>p,.bs-report-signal-panels-empty{color:var(--bs-muted);font-size:12px;line-height:1.7;margin:0}
.bs-report-signal-panels-review{display:grid;gap:8px;padding:16px 0;border-bottom:1px solid var(--bs-border);font-size:12px}
.bs-report-signal-panels-review>b{font-weight:500}.bs-report-signal-panels-review>span{color:var(--bs-muted);font-size:10px}.bs-report-signal-panels-review>div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.bs-report-signal-panels-review>div>span{color:var(--bs-muted)}.bs-report-signal-panels-review strong{white-space:nowrap;font-weight:500}
.bs-report-signal-panels-lifecycle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bs-report-signal-panels-hotPanel{grid-column:1/-1}
.bs-report-signal-panels-addHotPotato{align-self:flex-start;border:1px solid var(--bs-orange);border-radius:999px;background:transparent;color:var(--bs-orange);padding:7px 12px;font:inherit;font-size:10px;cursor:pointer}.bs-report-signal-panels-addHotPotato:hover{background:color-mix(in srgb,var(--bs-orange) 10%,transparent)}
.bs-report-signal-panels-hotTable{display:grid;border-top:1px solid var(--bs-border)}
.bs-report-signal-panels-hotHead,.bs-report-signal-panels-hotRow{display:grid;grid-template-columns:minmax(150px,1.35fr) 100px 90px 88px 110px minmax(150px,1.5fr);gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--bs-border)}
.bs-report-signal-panels-hotHead{padding-top:9px;color:var(--bs-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.bs-report-signal-panels-hotRow{font-size:12px}.bs-report-signal-panels-hotRow strong,.bs-report-signal-panels-hotRow b{font-weight:600}.bs-report-signal-panels-hotRow span{color:var(--bs-muted);overflow-wrap:anywhere}
.bs-report-signal-panels-prospect{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.bs-report-signal-panels-prospect button,.bs-report-signal-panels-editAction button{border:1px solid var(--bs-border);border-radius:999px;background:transparent;color:var(--bs-muted);padding:4px 8px;font:inherit;cursor:pointer}.bs-report-signal-panels-prospect button:hover,.bs-report-signal-panels-prospect button:focus-visible,.bs-report-signal-panels-editAction button:hover{border-color:var(--bs-orange);color:var(--bs-orange)}
.bs-report-signal-panels-prospect .bs-report-signal-panels-editIcon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;padding:0;border-color:transparent;font-size:14px;line-height:1;opacity:.28;transition:opacity .15s ease,background .15s ease,color .15s ease}.bs-report-signal-panels-hotRow:hover .bs-report-signal-panels-editIcon,.bs-report-signal-panels-editIcon:focus-visible{opacity:1;background:color-mix(in srgb,var(--bs-orange) 9%,transparent)}
.bs-report-signal-panels-struck strong,.bs-report-signal-panels-struck b,.bs-report-signal-panels-struck>span{text-decoration:line-through;opacity:.55}.bs-report-signal-panels-struck .bs-report-signal-panels-prospect button{text-decoration:none;opacity:1}
.bs-report-signal-panels-editRow{align-items:start;background:color-mix(in srgb,var(--bs-orange) 4%,transparent)}.bs-report-signal-panels-editRow input:not([type="checkbox"]){box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--bs-border);border-radius:7px;background:var(--bs-canvas);color:var(--bs-text);padding:8px;font:inherit}.bs-report-signal-panels-editRow input:focus{outline:2px solid color-mix(in srgb,var(--bs-orange) 55%,transparent);outline-offset:1px}.bs-report-signal-panels-editIdentity,.bs-report-signal-panels-editAction{display:grid;gap:7px}.bs-report-signal-panels-editIdentity label{display:flex;align-items:center;gap:6px;color:var(--bs-muted);font-size:10px}.bs-report-signal-panels-editAction>span{display:flex;gap:5px}.bs-report-signal-panels-editAction .bs-report-signal-panels-save{border-color:var(--bs-orange);color:var(--bs-orange)}.bs-report-signal-panels-editAction small{color:#ff9a75;font-size:10px;line-height:1.4}.bs-report-signal-panels-editNote{margin:0;color:var(--bs-muted);font-size:10px}
.bs-report-signal-panels-compactList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.bs-report-signal-panels-compactProject{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--bs-border);border-radius:9px;color:var(--bs-text);font-size:11px;text-decoration:none}
.bs-report-signal-panels-compactProject strong{font-weight:600;line-height:1.4}.bs-report-signal-panels-compactProject span{color:var(--bs-orange);white-space:nowrap}
@media(max-width:1100px){.bs-report-signal-panels-lifecycle{grid-template-columns:1fr}.bs-report-signal-panels-hotPanel{grid-column:auto}.bs-report-signal-panels-hotTable{overflow-x:auto}.bs-report-signal-panels-hotHead,.bs-report-signal-panels-hotRow{min-width:790px}}
@media(max-width:660px){.bs-report-signal-panels-panel{padding:18px}.bs-report-signal-panels-header{flex-wrap:wrap}.bs-report-signal-panels-header h2{font-size:20px}.bs-report-signal-panels-rating{padding:16px 12px}.bs-report-signal-panels-rating>strong{font-size:42px}.bs-report-signal-panels-pairing{gap:14px}.bs-report-signal-panels-pairingIcon{width:44px;height:44px;font-size:22px}.bs-report-signal-panels-compactList{grid-template-columns:1fr}}
@media(hover:none){.bs-report-signal-panels-prospect .bs-report-signal-panels-editIcon{opacity:.75}}


/* ReportsFinance */
.bs-reports-finance-finance{display:grid;gap:16px;margin-top:16px}
.bs-reports-finance-panel{background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:22px;min-width:0}
.bs-reports-finance-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.bs-reports-finance-panel header p{margin:5px 0 0;color:var(--bs-muted);font-size:11px}.bs-reports-finance-panel header>a{flex:0 0 auto;color:var(--bs-orange);font-size:11px;text-decoration:none}.bs-reports-finance-panel header>a:hover{text-decoration:underline}.bs-reports-finance-panel h2{font-size:23px;line-height:1.3;margin:0}.bs-reports-finance-panel h2 em{color:var(--bs-orange);font-style:normal}
.bs-reports-finance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bs-reports-finance-metrics article{display:grid;gap:10px;padding:18px;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-canvas)}
.bs-reports-finance-metrics span,.bs-reports-finance-decision span{color:var(--bs-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.bs-reports-finance-metricLabel{display:flex;align-items:center;gap:7px}
.bs-reports-finance-infoTip{position:relative;display:inline-grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1px solid var(--bs-border);border-radius:50%;color:var(--bs-muted);font:600 9px/1 sans-serif;letter-spacing:0;text-transform:none;cursor:help;outline:none}
.bs-reports-finance-infoTip::after{content:attr(data-tip);position:absolute;z-index:12;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:min(320px,70vw);padding:10px 12px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-surface-raised);box-shadow:0 12px 32px rgba(0,0,0,.35);color:var(--bs-text);font:400 11px/1.55 sans-serif;letter-spacing:0;text-align:left;text-transform:none;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}
.bs-reports-finance-infoTip:hover,.bs-reports-finance-infoTip:focus{border-color:var(--bs-orange);color:var(--bs-orange)}.bs-reports-finance-infoTip:hover::after,.bs-reports-finance-infoTip:focus::after{opacity:1;transform:translate(-50%,0)}
.bs-reports-finance-metrics strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.bs-reports-finance-progressCard{display:grid;gap:12px;margin-top:12px;padding:17px;border:1px solid var(--bs-border);border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--bs-orange) 7%,var(--bs-canvas)),var(--bs-canvas))}.bs-reports-finance-progressCard>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.bs-reports-finance-progressCard span{color:var(--bs-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bs-reports-finance-progressCard>div:first-child strong{font-size:14px;font-weight:600}.bs-reports-finance-progressTrack{height:14px;overflow:hidden;border:1px solid var(--bs-border);border-radius:999px;background:var(--bs-surface)}.bs-reports-finance-progressTrack i{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#ff5a0a,#ff9a5c);box-shadow:0 0 20px color-mix(in srgb,var(--bs-orange) 45%,transparent);transition:width .35s ease}
.bs-reports-finance-decision{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding-top:12px;border-top:1px solid var(--bs-border)}
.bs-reports-finance-decision strong{font-size:20px;font-variant-numeric:tabular-nums}.bs-reports-finance-warning{color:var(--bs-orange);font-size:12px;margin:12px 0 0}
.bs-reports-finance-quarterProgress{overflow:hidden;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-canvas)}
.bs-reports-finance-quarterHead,.bs-reports-finance-monthRow{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(105px,.7fr) minmax(105px,.7fr) minmax(105px,.7fr) minmax(250px,1.6fr);gap:16px;align-items:center;padding:14px 16px}
.bs-reports-finance-quarterHead{border-bottom:1px solid var(--bs-border);background:var(--bs-surface-raised);color:var(--bs-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.bs-reports-finance-monthRow+.bs-reports-finance-monthRow{border-top:1px solid var(--bs-border)}
.bs-reports-finance-monthRow>div:first-child{display:grid;gap:4px;min-width:0}.bs-reports-finance-monthRow>div:first-child>strong{font-size:16px}.bs-reports-finance-monthRow>div:first-child>a,.bs-reports-finance-monthRow>div:first-child>small{overflow:hidden;color:var(--bs-muted);font-size:10px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.bs-reports-finance-monthRow>div:first-child>a:hover{color:var(--bs-orange)}
.bs-reports-finance-monthRow>strong{font-size:17px;font-variant-numeric:tabular-nums}
.bs-reports-finance-monthProgress{display:grid;gap:8px}.bs-reports-finance-monthProgress>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bs-reports-finance-monthProgress span{font-size:13px;font-weight:700}.bs-reports-finance-monthProgress small{color:var(--bs-muted);font-size:10px}
@media(max-width:800px){.bs-reports-finance-metrics{grid-template-columns:1fr}}
@media(max-width:800px){.bs-reports-finance-quarterHead{display:none}.bs-reports-finance-monthRow{grid-template-columns:repeat(3,1fr);gap:12px}.bs-reports-finance-monthRow>div:first-child,.bs-reports-finance-monthProgress{grid-column:1/-1}.bs-reports-finance-monthRow>strong:nth-of-type(1)::before{content:'Target';display:block;color:var(--bs-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.bs-reports-finance-monthRow>strong:nth-of-type(2)::before{content:'Won';display:block;color:var(--bs-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.bs-reports-finance-monthRow>strong:nth-of-type(3)::before{content:'Invoicing';display:block;color:var(--bs-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}}
@media(max-width:650px){.bs-reports-finance-panel{padding:18px}.bs-reports-finance-panel header{flex-wrap:wrap}}


/* EscalationsReport */
.bs-escalations-report-page,.bs-escalations-report-embedded{min-width:0;color:var(--bs-text)}.bs-escalations-report-page{max-width:1480px;margin:auto;padding:32px 48px 80px}.bs-escalations-report-summary{border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);padding:30px}.bs-escalations-report-summary>header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--bs-border)}.bs-escalations-report-summary h2{margin:0;font-size:clamp(40px,6vw,74px);letter-spacing:-.06em}.bs-escalations-report-summary>header>span{color:var(--bs-muted);font-size:11px;white-space:nowrap}
.bs-escalations-report-types,.bs-escalations-report-clients{padding-top:26px}.bs-escalations-report-types>header{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.bs-escalations-report-types h3,.bs-escalations-report-clients h3{margin:0 0 16px;font-size:22px;letter-spacing:-.035em}.bs-escalations-report-types>header small,.bs-escalations-report-clients h3 small{color:var(--bs-muted);font-size:9px;font-weight:500;letter-spacing:0}.bs-escalations-report-types>div{display:flex;gap:8px;flex-wrap:wrap}.bs-escalations-report-types button{display:flex;gap:14px;align-items:center;padding:9px 12px;border:1px solid var(--bs-border);border-radius:999px;background:transparent;color:var(--bs-orange);font:inherit;font-size:11px;cursor:pointer}.bs-escalations-report-types button:hover,.bs-escalations-report-types button[data-active=true]{border-color:var(--bs-orange);background:var(--bs-selectable-active-bg)}.bs-escalations-report-types b{color:var(--bs-text);font-weight:600}
.bs-escalations-report-clientGroup{border-top:1px solid var(--bs-border)}.bs-escalations-report-clientGroup>summary{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(260px,1.4fr) minmax(150px,.45fr);gap:24px;align-items:center;padding:20px 4px;cursor:pointer;list-style:none}.bs-escalations-report-clientGroup>summary::-webkit-details-marker{display:none}.bs-escalations-report-clientGroup>summary>span:first-child strong,.bs-escalations-report-clientGroup>summary>span:first-child small{display:block}.bs-escalations-report-clientGroup>summary strong{font-size:15px}.bs-escalations-report-clientGroup>summary small{margin-top:5px;color:var(--bs-muted);font-size:9px;line-height:1.5}.bs-escalations-report-clientGroup>summary>p{margin:0;font-size:12px;line-height:1.6}.bs-escalations-report-clientMeta{display:grid;grid-template-columns:8px 1fr;gap:6px;align-items:center;color:var(--bs-muted);font-size:10px;text-transform:capitalize}.bs-escalations-report-clientMeta i,.bs-escalations-report-sentiment:before{width:8px;height:8px;border-radius:50%;background:var(--bs-muted)}.bs-escalations-report-clientMeta i[data-tone=negative],.bs-escalations-report-sentiment[data-tone=negative]:before{background:var(--bs-semantic-risk)}.bs-escalations-report-clientMeta i[data-tone=mixed],.bs-escalations-report-sentiment[data-tone=mixed]:before{background:var(--bs-semantic-warn)}.bs-escalations-report-clientMeta i[data-tone=positive],.bs-escalations-report-sentiment[data-tone=positive]:before{background:var(--bs-semantic-good)}.bs-escalations-report-clientMeta small{grid-column:2;margin:0;text-transform:none}.bs-escalations-report-clientThreads{display:grid;gap:12px;padding:0 0 20px}
.bs-escalations-report-escalationItem{padding:20px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-canvas)}.bs-escalations-report-escalationItem>header{display:flex;justify-content:space-between;gap:18px}.bs-escalations-report-escalationItem>header>div{display:flex;gap:12px;align-items:center}.bs-escalations-report-escalationItem time{color:var(--bs-muted);font-size:9px}.bs-escalations-report-sentiment{display:flex;align-items:center;gap:6px;color:var(--bs-muted);font-size:9px;text-transform:capitalize}.bs-escalations-report-sentiment:before{content:""}.bs-escalations-report-digest{margin:15px 0;font-size:14px;line-height:1.6;font-weight:600}.bs-escalations-report-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--bs-muted);font-size:10px}.bs-escalations-report-meta b{color:var(--bs-text);font-weight:500}.bs-escalations-report-contextGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.bs-escalations-report-contextField{padding:14px;border:1px solid var(--bs-border-quiet);border-radius:9px}.bs-escalations-report-contextField strong{font-size:9px}.bs-escalations-report-contextField p{margin:8px 0 0;white-space:pre-wrap;color:var(--bs-muted);font-size:10px;line-height:1.6}.bs-escalations-report-slackEvidence{margin-top:14px}.bs-escalations-report-slackEvidence summary{color:var(--bs-muted);font-size:10px;cursor:pointer}.bs-escalations-report-slackEvidence blockquote{margin:10px 0 0;padding:12px;border-left:2px solid var(--bs-orange);white-space:pre-wrap;color:var(--bs-muted);font-size:10px;line-height:1.6}.bs-escalations-report-slackEvidence blockquote b{display:block;margin-bottom:6px;color:var(--bs-text)}.bs-escalations-report-slackLink{display:inline-block;margin-top:14px;color:var(--bs-orange);font-size:10px;text-decoration:none}.bs-escalations-report-error{padding:13px;border:1px solid var(--bs-semantic-risk);border-radius:var(--bs-radius);font-size:11px}
@media(max-width:800px){.bs-escalations-report-page{padding:24px 18px 60px}.bs-escalations-report-summary{padding:20px}.bs-escalations-report-summary>header{align-items:flex-start;display:grid}.bs-escalations-report-clientGroup>summary{grid-template-columns:1fr}.bs-escalations-report-contextGrid{grid-template-columns:1fr}}


/* ProjectMonitor */
.bs-project-monitor-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;color:var(--bs-text);background:transparent;font-family:var(--bs-font);isolation:isolate}
.bs-project-monitor-boardSchedule>summary{cursor:pointer;padding:18px 22px;font-size:12px;font-weight:700;background:var(--bs-surface);border-bottom:1px solid var(--bs-border)}
.bs-project-monitor-withoutClients{grid-template-columns:minmax(0,1fr)}
.bs-project-monitor-clients{min-width:0;align-self:start;position:sticky;top:calc(var(--bs-bar-height,72px) + 16px);border:1px solid var(--bs-border);background:var(--bs-surface);border-radius:var(--bs-radius);overflow:hidden}
.bs-project-monitor-clientNav{position:sticky;top:calc(var(--bs-bar-height,72px) + 16px)}
.bs-project-monitor-clientNav>header{padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bs-border);font-size:12px;font-weight:700}
.bs-project-monitor-clientList{max-height:calc(100vh - 190px);overflow:auto;scrollbar-width:thin}
.bs-project-monitor-clientList>button{display:grid;gap:5px;width:100%;text-align:left;background:none;color:inherit;border:0;border-bottom:1px solid var(--bs-border);padding:16px 18px;cursor:pointer;font:inherit;border-left:3px solid transparent}
.bs-project-monitor-clientList>button[aria-pressed=true]{border-left-color:var(--bs-orange);background:var(--bs-selectable-active-bg)}
.bs-project-monitor-clientList strong{font-size:12px;line-height:1.5}.bs-project-monitor-clientList small,.bs-project-monitor-clientNav small{font-size:10px;color:var(--bs-muted);font-weight:400}
.bs-project-monitor-projectContainer,.bs-project-monitor-project{min-width:0}.bs-project-monitor-projectHeader{display:flex;align-items:center;justify-content:space-between;padding:22px;gap:16px;border-bottom:1px solid var(--bs-border);min-height:92px}
.bs-project-monitor-projectHeader:has(+.bs-project-command){border-bottom:0}.bs-project-monitor-projectHeader h2{font-size:22px;margin:0;line-height:1.3}.bs-project-monitor-projectHeader p{font-size:11px;color:var(--bs-muted);margin:5px 0 0}.bs-project-monitor-updated{font-size:10px;color:var(--bs-muted);white-space:nowrap}
.bs-project-monitor-scroll{overflow:auto;max-height:65vh;scrollbar-width:thin;overscroll-behavior-x:contain}.bs-project-monitor-grid{width:max(100%,calc(var(--calendar-width) + 220px))}.bs-project-monitor-axis,.bs-project-monitor-track{display:grid;grid-template-columns:220px minmax(0,1fr)}
.bs-project-monitor-headerTools{display:flex;align-items:center;gap:18px}
.bs-project-monitor-projectStatus{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;padding:14px 20px;border-bottom:1px solid var(--bs-border);font-size:11px;color:var(--bs-muted)}
.bs-project-monitor-escalationPeek{flex:1;min-width:140px;color:var(--bs-text)}.bs-project-monitor-escalationPeek summary{cursor:pointer}.bs-project-monitor-escalationPeek[open]{flex-basis:100%}.bs-project-monitor-escalationPeek>div{padding:14px 0;border-top:1px solid var(--bs-border);line-height:1.6}.bs-project-monitor-escalationPeek small{display:block;color:var(--bs-muted)}.bs-project-monitor-escalationPeek p{max-width:75ch;line-height:1.7}
.bs-project-monitor-headerTools .bs-project-monitor-textButton,.bs-project-monitor-projectStatus summary{font-size:11px}
.bs-project-monitor-contractPanel,.bs-project-monitor-communications{padding:20px;border-bottom:1px solid var(--bs-border);scroll-margin-top:100px;font-size:12px}.bs-project-monitor-contractPanel>header,.bs-project-monitor-communications>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.bs-project-monitor-contractPanel h3,.bs-project-monitor-communications h3{margin:0;font-size:16px}.bs-project-monitor-contractEntry{padding:12px 0;border-bottom:1px solid var(--bs-border);margin-bottom:14px}.bs-project-monitor-contractEntry p{line-height:1.6}
.bs-project-monitor-phaseFacts>section{padding:18px;min-width:0}.bs-project-monitor-phaseFacts>section+section{border-left:1px solid var(--bs-border)}
.bs-project-monitor-scopeList{padding-left:18px;margin:18px 0;line-height:1.75;font-size:11px;color:var(--bs-muted);overflow-wrap:anywhere}.bs-project-monitor-scopeList li{margin:8px 0}
.bs-project-monitor-sourceText{margin:14px 0}.bs-project-monitor-sourceText summary{cursor:pointer;font-size:11px}.bs-project-monitor-sourceText blockquote{white-space:pre-wrap;overflow:visible;max-height:none;overflow-wrap:anywhere}
.bs-project-monitor-amendment{margin-top:20px;padding-top:16px;border-top:1px solid var(--bs-border)}
.bs-project-monitor-taskTable{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;margin-bottom:14px}.bs-project-monitor-taskTable th{text-align:left;font-size:10px;color:var(--bs-muted);font-weight:500}.bs-project-monitor-taskTable th:nth-child(1){width:46%}.bs-project-monitor-taskTable th:nth-child(2){width:25%}.bs-project-monitor-taskTable th:nth-child(3){width:29%}.bs-project-monitor-taskTable td,.bs-project-monitor-taskTable th{padding:12px 5px;vertical-align:top;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-taskTable a{font-size:11px!important;line-height:1.6;overflow-wrap:anywhere;text-decoration:none}.bs-project-monitor-taskTable time{display:block;white-space:nowrap;font-size:10px;line-height:1.8}.bs-project-monitor-taskTable td>details{font-size:10px}.bs-project-monitor-taskTable summary{cursor:pointer;line-height:1.6;color:var(--bs-orange)}.bs-project-monitor-taskTable small{font-size:10px;line-height:1.5}.bs-project-monitor-taskTable details p{font-size:10px;overflow-wrap:anywhere}
.bs-project-monitor-phaseChanges{margin-top:22px;border-top:1px solid var(--bs-border);padding-top:16px}.bs-project-monitor-phaseChanges time{color:var(--bs-muted)}
.bs-project-monitor-historyNote{font-size:10px;color:var(--bs-muted);line-height:1.7;padding:14px 20px;margin:0;border-top:1px solid var(--bs-border)}
.bs-project-monitor-bar[data-basis='sow-duration-estimate']{border:1px dashed rgba(255,255,255,.85)}
.bs-project-monitor-workspace a{color:var(--bs-text);text-decoration-color:var(--bs-orange);text-underline-offset:3px}.bs-project-monitor-workspace a:hover{color:var(--bs-orange)}
@media(max-width:1000px){.bs-project-monitor-phaseFacts{grid-template-columns:minmax(0,1fr)}.bs-project-monitor-phaseFacts>section+section{border-left:0;border-top:1px solid var(--bs-border)}}
.bs-project-monitor-axis{position:sticky;top:0;z-index:4;background:var(--bs-surface)}.bs-project-monitor-rowLabel{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:18px;background:var(--bs-surface);border-right:1px solid var(--bs-border);font-size:12px}
.bs-project-monitor-calendar,.bs-project-monitor-lane,.bs-project-monitor-lines{display:grid;grid-template-columns:var(--day-columns)}.bs-project-monitor-calendar>b{grid-row:1;text-align:center;padding:16px 0;border-right:1px solid var(--bs-border);font-size:11px;color:var(--bs-muted);white-space:nowrap}.bs-project-monitor-calendar>span{grid-row:2;text-align:center;padding:7px 0;border-top:1px solid var(--bs-border);border-right:1px solid var(--bs-border-quiet);font-size:10px;color:var(--bs-muted);white-space:nowrap;overflow:hidden}
.bs-project-monitor-track{border-top:1px solid var(--bs-border)}.bs-project-monitor-lane{position:relative}.bs-project-monitor-lines{position:absolute;inset:0}.bs-project-monitor-lines i{border-right:1px solid var(--bs-border-quiet)}
.bs-project-monitor-bar{position:relative;align-self:start;height:30px;min-width:3px;z-index:1;border:1px solid var(--phase-ink);border-radius:3px;color:#fff;background:var(--phase-fill);padding:0 5px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 11px var(--bs-font);cursor:pointer;box-sizing:border-box}
.bs-project-monitor-resize-handle{position:absolute;top:0;bottom:0;width:8px;z-index:2;opacity:.16;cursor:ew-resize;touch-action:none;background:currentColor}.bs-project-monitor-resize-handle.is-start{left:0}.bs-project-monitor-resize-handle.is-end{right:0}.bs-project-monitor-bar:hover .bs-project-monitor-resize-handle,.bs-project-monitor-bar:focus-visible .bs-project-monitor-resize-handle{opacity:.8}.bs-project-monitor-inline-rename{z-index:5;min-width:0;width:auto;box-sizing:border-box;padding:0 8px;border:2px solid var(--bs-orange);border-radius:4px;background:var(--bs-surface,#111);color:var(--bs-text,#f4f0eb);font:600 12px var(--bs-font);text-align:center}.bs-project-monitor-inline-rename-error{position:absolute;z-index:6;top:4px;left:8px;padding:5px 8px;border:1px solid #a93337;border-radius:4px;background:#271416;color:#ff9c9f;font-size:10px}
.bs-project-monitor-bar[data-category='2']{background:#8b54d9}.bs-project-monitor-bar[data-category='3']{background:#078e83}.bs-project-monitor-bar[data-category='4']{background:#7b35cd}.bs-project-monitor-bar[data-category='5']{background:#109c4c}.bs-project-monitor-bar[aria-pressed=true]{outline:2px solid var(--bs-orange);outline-offset:2px}.bs-project-monitor-bar[data-basis='reconstructed-window'],.bs-project-monitor-bar[data-basis='proposed-plan']{border:1px dashed rgba(255,255,255,.85)}
.bs-project-monitor-bar[data-basis='teamwork-recovered']{border:2px dashed #6cb5ff;box-shadow:inset 0 0 0 1px rgba(7,22,38,.55)}
.bs-project-monitor-emptyTrack{position:absolute;left:18px;top:34px;font-size:12px;color:var(--bs-muted)}.bs-project-monitor-legend{padding:12px 18px;color:var(--bs-muted);font-size:10px;border-block:1px solid var(--bs-border)}
.bs-project-monitor-phaseHead,.bs-project-monitor-phaseRow{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(2,minmax(140px,1fr));align-items:center;gap:18px;padding:17px 20px}.bs-project-monitor-phaseHead{background:var(--bs-surface);color:var(--bs-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.bs-project-monitor-phaseRow{width:100%;border:0;border-top:1px solid var(--bs-border);background:var(--bs-canvas);color:var(--bs-text);text-align:left;font:11px var(--bs-font);cursor:pointer}.bs-project-monitor-phaseRow strong{display:flex;gap:12px;align-items:center;font-size:12px}.bs-project-monitor-phaseRow i{font-style:normal;color:var(--bs-orange);font-size:20px;min-width:12px}.bs-project-monitor-phaseRow>span{color:var(--bs-muted)}.bs-project-monitor-phaseRow[aria-expanded=true]{background:var(--bs-surface)}.bs-project-monitor-phaseDetail{padding:0 16px 16px;background:var(--bs-surface)}
.bs-project-monitor-disclosure{border-top:1px solid var(--bs-border);scroll-margin-top:100px}.bs-project-monitor-disclosure>summary{padding:19px 20px;cursor:pointer;font-size:12px;font-weight:600;list-style-position:inside}.bs-project-monitor-disclosure>summary>span{font-size:10px;color:var(--bs-muted);margin-left:8px}.bs-project-monitor-disclosureBody{padding:0 20px 20px}.bs-project-monitor-disclosureBody p,.bs-project-monitor-editor p,.bs-project-monitor-panel p{font-size:12px;line-height:1.6;color:var(--bs-muted)}
.bs-project-monitor-concern{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--bs-border-quiet);font-size:12px}.bs-project-monitor-concern>div:last-child{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.bs-project-monitor-concern small{display:block;font-size:10px;color:var(--bs-muted);margin-top:4px}
.bs-project-monitor-context{padding:14px 0;border-top:1px solid var(--bs-border-quiet);font-size:12px}.bs-project-monitor-context>summary{cursor:pointer;display:flex;gap:14px;align-items:baseline;list-style:none;line-height:1.6}.bs-project-monitor-context>summary:before{content:'+';color:var(--bs-orange)}.bs-project-monitor-context[open]>summary:before{content:'−'}.bs-project-monitor-context time{min-width:74px;color:var(--bs-muted);font-size:10px}.bs-project-monitor-context summary span{flex:1}.bs-project-monitor-context small{font-size:10px;color:var(--bs-muted)}.bs-project-monitor-context blockquote{margin:14px 0;padding:12px 16px;border-left:2px solid var(--bs-orange);background:var(--bs-surface);white-space:pre-wrap;line-height:1.6}.bs-project-monitor-rawEvidence{margin-top:18px}.bs-project-monitor-rawEvidence>summary{cursor:pointer;font-size:12px}.bs-project-monitor-message{white-space:pre-wrap;overflow-wrap:anywhere}
.bs-project-monitor-panel,.bs-project-monitor-editor{padding:20px}.bs-project-monitor-panel h3,.bs-project-monitor-editor h3{font-size:16px;margin:0}.bs-project-monitor-editor header{display:flex;justify-content:space-between;align-items:center;gap:12px}.bs-project-monitor-fields,.bs-project-monitor-contract{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0}.bs-project-monitor-contract{border-bottom:1px solid var(--bs-border);margin-bottom:12px}.bs-project-monitor-editor label{display:grid;gap:6px;font-size:11px;color:var(--bs-muted);flex:1;min-width:130px}.bs-project-monitor-editor input,.bs-project-monitor-editor select{min-height:36px;min-width:0;width:100%;background:var(--bs-surface);border:1px solid var(--bs-border);color:var(--bs-text);font:12px var(--bs-font);padding:7px;border-radius:var(--bs-radius)}.bs-project-monitor-editor input[type=checkbox]{width:16px;min-height:16px}.bs-project-monitor-editor select[multiple]{min-height:88px}.bs-project-monitor-editor details{padding:12px 0;font-size:12px}.bs-project-monitor-editor summary{cursor:pointer}
.bs-project-monitor-tableScroll{overflow:auto}.bs-project-monitor-table{border-collapse:collapse;width:100%;font-size:12px}.bs-project-monitor-table td,.bs-project-monitor-table th{padding:12px;text-align:left;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-workspace a{color:var(--bs-text);font-size:12px}.bs-project-monitor-notice{font-size:11px;color:var(--bs-muted);padding:12px 18px}.bs-project-monitor-workspace button:focus-visible,.bs-project-monitor-workspace a:focus-visible,.bs-project-monitor-workspace summary:focus-visible,.bs-project-monitor-scroll:focus-visible{outline:2px solid var(--bs-orange);outline-offset:-2px}
@media(max-width:950px){.bs-project-monitor-workspace{grid-template-columns:190px minmax(0,1fr)}.bs-project-monitor-withoutClients{grid-template-columns:minmax(0,1fr)}.bs-project-monitor-phaseHead,.bs-project-monitor-phaseRow{gap:10px;padding:14px 12px;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(105px,1fr))}.bs-project-monitor-updated{display:none}}
@media(max-width:700px){.bs-project-monitor-workspace{grid-template-columns:minmax(0,1fr)}.bs-project-monitor-clients{border-right:0;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-clientNav{position:static}.bs-project-monitor-clientList{display:flex;max-height:140px}.bs-project-monitor-clientList>button{min-width:190px;max-width:220px}.bs-project-monitor-projectHeader{padding:18px}.bs-project-monitor-phaseHead,.bs-project-monitor-phaseRow{font-size:10px;grid-template-columns:minmax(100px,1fr) repeat(2,minmax(85px,1fr))}.bs-project-monitor-phaseRow strong{font-size:11px}.bs-project-monitor-concern{align-items:flex-start;flex-direction:column}}
.bs-project-monitor-context:not([open]) summary>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bs-project-monitor-setup{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--bs-border);font-size:12px;background:var(--bs-surface)}
.bs-project-monitor-contractSummary{padding:14px 20px;border-bottom:1px solid var(--bs-border);display:grid;gap:8px}.bs-project-monitor-contractSummary p{font-size:11px;color:var(--bs-muted);margin:0}.bs-project-monitor-contractSummary small{display:block;margin-top:5px;color:var(--bs-muted);font-size:11px}.bs-project-monitor-textButton{border:0;background:none;color:var(--bs-orange);padding:0;font:inherit;cursor:pointer}.bs-project-monitor-phaseRow small{display:block;margin-top:6px;font-size:10px}.bs-project-monitor-phaseFacts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--bs-border);font-size:12px}.bs-project-monitor-phaseFacts>div{padding:16px;min-width:0}.bs-project-monitor-phaseFacts>div+div{border-left:1px solid var(--bs-border)}.bs-project-monitor-phaseFacts h4{margin:0 0 12px}.bs-project-monitor-phaseFacts p{font-size:11px;line-height:1.6}.bs-project-monitor-phaseFacts blockquote{margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;color:var(--bs-muted)}.bs-project-monitor-phaseFacts small{display:block;margin-top:5px;color:var(--bs-muted)}.bs-project-monitor-phaseFacts .bs-project-monitor-table{font-size:10px;min-width:390px}.bs-project-monitor-phaseFacts .bs-project-monitor-table td,.bs-project-monitor-phaseFacts .bs-project-monitor-table th{padding:9px 6px}.bs-project-monitor-phaseFacts .bs-project-monitor-table a{font-size:11px}.bs-project-monitor-visibleSection{padding:18px 20px;border-top:1px solid var(--bs-border)}.bs-project-monitor-visibleSection h3{font-size:12px;margin:0 0 12px}.bs-project-monitor-scopeRow{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--bs-border-quiet);font-size:11px}.bs-project-monitor-scopeRow span{color:var(--bs-muted)}.bs-project-monitor-bar[data-basis='clickup-schedule']{background:var(--bs-surface);border:1px solid #347cf0;color:#8ab4fa}.bs-project-monitor-bar[data-basis='clickup-schedule'][data-category='2']{border-color:#8b54d9;color:#bd99ed}.bs-project-monitor-bar[data-basis='clickup-schedule'][data-category='3']{border-color:#078e83;color:#67d3c9}.bs-project-monitor-bar[data-basis='clickup-schedule'][data-category='4']{border-color:#7b35cd;color:#c596ff}.bs-project-monitor-bar[data-basis='clickup-schedule'][data-category='5']{border-color:#109c4c;color:#64d995}
.bs-project-monitor-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-bottom:1px solid var(--bs-border)}.bs-project-monitor-metrics>div{padding:20px;border-right:1px solid var(--bs-border)}.bs-project-monitor-metrics small{display:block;font-size:11px;color:var(--bs-muted)}.bs-project-monitor-metrics strong{display:block;margin-top:8px;font-size:22px}
.bs-project-monitor-recurring>header{padding:20px;display:flex;justify-content:space-between;gap:16px;font-size:13px}.bs-project-monitor-recurring header span{color:var(--bs-muted);font-size:11px}.bs-project-monitor-recurring>p{padding:0 20px;font-size:11px;color:var(--bs-muted);line-height:1.6}
.bs-project-monitor-scopeRow small{display:block;margin-top:6px;color:var(--bs-muted)}.bs-project-monitor-scopeRow span{line-height:1.65}.bs-project-monitor-caption{font-size:11px;color:var(--bs-muted);line-height:1.6;margin:10px 0 0}.bs-project-monitor-commitment{margin-top:8px}.bs-project-monitor-commitment summary{cursor:pointer;color:var(--bs-muted)}.bs-project-monitor-commitment blockquote{white-space:pre-wrap;margin:12px 0;line-height:1.7;max-height:260px;overflow:auto}
.bs-project-monitor-bar[data-basis='clickup-schedule']{background:var(--bs-surface);border-color:var(--phase-ink);color:var(--phase-ink)}
.bs-project-monitor-bar[data-basis='sow-sequence-estimate']{border-style:dashed}
.bs-project-monitor-rowLabel{justify-content:center;text-align:center}
.bs-project-monitor-trackTitle{display:flex;justify-content:center;align-items:center;gap:20px;padding:14px;background:var(--bs-surface);font-size:12px;border-top:1px solid var(--bs-border)}.bs-project-monitor-trackTitle span{font-size:10px;color:var(--bs-muted)}
.bs-project-monitor-planStep{min-height:56px}.bs-project-monitor-planStep .bs-project-monitor-lane{min-height:56px}.bs-project-monitor-stepLabel{border:0;border-right:1px solid var(--bs-border);font:600 11px var(--bs-font);color:var(--bs-text);gap:10px;padding:10px 12px;cursor:pointer;min-width:0}.bs-project-monitor-stepLabel>small{font-size:10px;color:var(--bs-muted);font-weight:400}.bs-project-monitor-stepLabel span{flex:1;line-height:1.45}.bs-project-monitor-stepLabel span small{display:block;font-size:10px;font-weight:400;color:var(--bs-muted);margin-top:4px}.bs-project-monitor-stepLabel[aria-pressed=true]{background:var(--bs-selectable-active-bg);box-shadow:inset 3px 0 var(--bs-orange)}
.bs-project-monitor-undatedStep{grid-column:1/-1;grid-row:1;align-self:center;text-align:center;color:var(--bs-muted);font-size:11px;position:relative;padding:10px}
.bs-project-monitor-colorLegend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.bs-project-monitor-colorLegend>span{display:flex;gap:6px;align-items:center}.bs-project-monitor-colorLegend i{width:16px;height:4px;border-radius:2px}.bs-project-monitor-legend{text-align:center;line-height:1.6}.bs-project-monitor-legend p{margin:10px auto 0;max-width:90ch}
.bs-project-monitor-sowStepFacts{padding:22px;border-bottom:1px solid var(--bs-border);font-size:12px;background:var(--bs-surface);text-align:center}.bs-project-monitor-sowStepFacts header{display:flex;gap:16px;align-items:center;justify-content:space-between}.bs-project-monitor-sowStepFacts h3{font-size:15px;margin:0}.bs-project-monitor-sowStepFacts blockquote{margin:20px auto;max-width:85ch;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:var(--bs-muted);font-size:11px}
.bs-project-monitor-phaseHead,.bs-project-monitor-phaseRow,.bs-project-monitor-phaseFacts,.bs-project-monitor-taskTable th,.bs-project-monitor-taskTable td{text-align:center}.bs-project-monitor-phaseRow strong{justify-content:center}.bs-project-monitor-scopeList{list-style-position:inside;padding:0}
.bs-project-monitor-timelineTooltip{position:fixed;z-index:10000;box-sizing:border-box;width:max-content;max-width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:14px 18px;border:1px solid var(--bs-orange,#ff6b00);border-radius:8px;background:var(--bs-surface,#111310);color:var(--bs-text,#f4f0eb);box-shadow:0 8px 28px #0008;font:12px/1.6 var(--bs-font,Arial,sans-serif);text-align:center;white-space:normal;overflow-wrap:anywhere}
.bs-project-monitor-timelineTooltip>strong{display:block;font-size:13px;line-height:1.6;margin:4px 0 10px}.bs-project-monitor-timelineTooltip>small{font-size:10px;color:var(--bs-muted,#aaa)}.bs-project-monitor-tooltipDates{display:flex;justify-content:center;gap:24px}.bs-project-monitor-tooltipDates span{color:var(--bs-muted,#aaa);font-size:10px}.bs-project-monitor-tooltipDates time{display:block;color:var(--bs-text,#f4f0eb);font-size:12px;white-space:nowrap}.bs-project-monitor-timelineTooltip p{margin:6px 0 0;color:var(--bs-muted,#aaa)}
.bs-project-monitor-compactTimeline{max-height:none}.bs-project-monitor-compactTimeline .bs-project-monitor-grid{width:max(100%,calc(var(--calendar-width) + 100px))}.bs-project-monitor-compactTimeline .bs-project-monitor-axis,.bs-project-monitor-compactTimeline .bs-project-monitor-track{grid-template-columns:100px minmax(0,1fr)}.bs-project-monitor-compactTimeline .bs-project-monitor-calendar>b{overflow:hidden;text-overflow:ellipsis}.bs-project-monitor-compactTimeline .bs-project-monitor-bar{height:34px}
.bs-project-monitor-sourceLinks{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.bs-project-monitor-sourceLinks a{font-size:10px;text-decoration:none;color:#a0ddbc}
.bs-project-monitor-deliveryToolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;font-size:10px;color:var(--bs-muted)}.bs-project-monitor-deliveryToolbar>div{display:flex;gap:18px}.bs-project-monitor-deliveryToolbar button{font-size:10px}.bs-project-monitor-deliveryToolbar button:disabled{opacity:.5;cursor:wait}
.bs-project-monitor-deliveryWarning{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 22px 16px;padding:9px 12px;border-left:2px solid var(--bs-orange);background:var(--bs-surface);font-size:11px;line-height:1.6}.bs-project-monitor-deliveryWarning button{flex-shrink:0}
.bs-project-monitor-deliveryStory{margin:0;padding:0 22px 16px;font-size:12px;line-height:1.8;color:var(--bs-text)}.bs-project-monitor-deliveryStory>span{display:inline-flex;gap:10px;margin-left:8px}.bs-project-monitor-deliveryStory a{font-size:9px;color:var(--bs-muted)}
.bs-project-monitor-rowLabel a{display:inline-block;font-size:9px;margin-top:8px;color:#74c99a;text-decoration:none}
.bs-project-monitor-assigneeTags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.bs-project-monitor-assigneeTags>span{font-size:9px;line-height:1.5;padding:2px 7px;border:1px solid #35493c;border-radius:12px;color:#b6cebf;background:#16221a}
.bs-project-monitor-deliveryTasks>ol{max-height:440px;overflow:auto;scrollbar-width:thin}.bs-project-monitor-deliveryTasks>header{position:relative}.bs-project-monitor-deliveryTaskLink{min-height:82px}
.bs-project-monitor-paymentMarker{position:relative;align-self:stretch;justify-self:center;width:16px;min-width:16px;z-index:2;padding:8px 0;border:0;background:transparent;color:#67d395;cursor:pointer}.bs-project-monitor-paymentMarker>i{display:block;position:absolute;top:8px;bottom:8px;left:7px;width:2px;background:currentColor}.bs-project-monitor-markerCap{position:absolute;left:4px;top:7px;width:8px;height:8px;background:currentColor;border:1px solid #0b2113;border-radius:50%}.bs-project-monitor-paymentMarker:hover,.bs-project-monitor-paymentMarker:focus-visible{color:#b3ffcd;filter:drop-shadow(0 0 4px #67d395)}
.bs-project-monitor-unplacedScope{grid-column:1/-1;grid-row:1;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:16px 22px;font-size:11px;min-height:90px}.bs-project-monitor-unplacedScope>span{padding:8px 12px;border:1px dashed #3a6963;background:#0c1917;border-radius:4px;max-width:340px}.bs-project-monitor-unplacedScope strong{font-size:10px}.bs-project-monitor-unplacedScope small{display:block;color:var(--bs-muted);font-size:9px;margin-top:5px}.bs-project-monitor-unplacedScope .bs-project-monitor-textButton{font-size:10px}
.bs-project-monitor-unplacedScope .bs-project-monitor-unscheduledLabel{flex-basis:100%;font-size:9px;margin:0;color:var(--bs-muted)}.bs-project-monitor-unplacedMilestones{grid-column:1/-1;position:relative;font-size:10px;color:#74c99a;padding:4px 22px 12px;z-index:2}.bs-project-monitor-unplacedMilestones summary{cursor:pointer}.bs-project-monitor-unplacedMilestones span{display:block;padding-top:6px;color:var(--bs-muted)}
.bs-project-monitor-groupFacts{padding:18px 20px;background:var(--bs-surface);border-top:1px solid var(--bs-border);font-size:11px;text-align:center}.bs-project-monitor-groupSummary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bs-project-monitor-groupSummary strong{font-size:12px}.bs-project-monitor-groupSummary p{color:var(--bs-muted);line-height:1.6}.bs-project-monitor-groupFacts .bs-project-monitor-caption{max-width:85ch;margin:8px auto 18px}
.bs-project-monitor-deliverableTable{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;line-height:1.6}.bs-project-monitor-deliverableTable th,.bs-project-monitor-deliverableTable td{padding:13px 9px;border-bottom:1px solid var(--bs-border);text-align:center;vertical-align:top;overflow-wrap:anywhere}.bs-project-monitor-deliverableTable th{color:var(--bs-muted);font-weight:500}.bs-project-monitor-deliverableTable th:first-child{width:34%}.bs-project-monitor-deliverableTable summary{cursor:pointer;font-weight:600}.bs-project-monitor-deliverableTable blockquote{margin:12px 0;white-space:pre-wrap;font-size:11px;color:var(--bs-muted)}
.bs-project-monitor-groupTaskDetails{margin-top:16px;padding-top:16px;border-top:1px solid var(--bs-border)}.bs-project-monitor-groupTaskDetails>summary{cursor:pointer;font-weight:600;padding:4px 0 12px}.bs-project-monitor-groupTaskDetails ul{list-style:none;margin:0;padding:0}.bs-project-monitor-groupTaskDetails li{padding:10px;border-top:1px solid var(--bs-border-quiet)}.bs-project-monitor-groupTaskDetails small{display:block;color:var(--bs-muted);margin-top:5px}
@media(max-width:700px){.bs-project-monitor-deliverableTable th,.bs-project-monitor-deliverableTable td{padding:10px 4px;font-size:10px}.bs-project-monitor-groupFacts{padding:14px 10px}}
.bs-project-monitor-projectIdentity{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bs-project-monitor-projectType{color:var(--bs-orange);border:1px solid color-mix(in srgb,var(--bs-orange) 45%,transparent);border-radius:20px;padding:3px 8px;font-size:9px;white-space:nowrap}
.bs-project-monitor-deliveryHeading{padding:20px 22px}.bs-project-monitor-deliveryHeading h3{font-size:14px;margin:0 0 8px}.bs-project-monitor-deliveryHeading p{font-size:11px;line-height:1.7;color:var(--bs-muted);margin:4px 0}.bs-project-monitor-deliveryHeading>small{font-size:10px;color:var(--bs-muted);line-height:1.7}.bs-project-monitor-deliveryHeading .bs-project-monitor-coverageNotice{margin-top:12px;padding-left:10px;border-left:2px solid var(--bs-orange);color:var(--bs-text)}
.bs-project-monitor-rowLabel small{display:block;font-size:9px;font-weight:400;color:var(--bs-muted);margin-top:5px;line-height:1.4}.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-basis='sow-sequence-estimate']{border-style:solid}
.bs-project-monitor-deliveryPhases>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:var(--bs-surface);border-block:1px solid var(--bs-border);font-size:12px}.bs-project-monitor-deliveryPhases>header span{font-size:10px;color:var(--bs-muted)}
.bs-project-monitor-deliveryPhaseRow{display:grid;grid-template-columns:16px minmax(160px,1fr) 150px 125px;align-items:center;gap:16px;width:100%;min-height:92px;padding:16px 22px;border:0;border-bottom:1px solid var(--bs-border-quiet);background:var(--bs-canvas);color:var(--bs-text);font:11px var(--bs-font);text-align:left;cursor:pointer}.bs-project-monitor-deliveryPhaseRow:hover,.bs-project-monitor-deliveryPhaseRow[aria-expanded=true]{background:var(--bs-surface)}.bs-project-monitor-deliveryPhaseRow>i{font-size:21px;color:var(--bs-orange);font-style:normal}.bs-project-monitor-deliveryPhaseRow strong{display:block;font-size:13px;line-height:1.5}.bs-project-monitor-deliveryPhaseRow small{display:block;font-size:10px;color:var(--bs-muted);font-weight:400;line-height:1.6;margin-top:4px}.bs-project-monitor-deliveryPhaseRow em{display:block;font-style:normal;font-size:10px;color:#74c99a;margin-top:6px}.bs-project-monitor-phaseAllowance{text-align:center}.bs-project-monitor-phaseAllowance b{font-size:12px}.bs-project-monitor-departmentBadge{text-align:center;border:1px solid currentColor;border-radius:20px;padding:4px 7px;font-size:9px;justify-self:end}
.bs-project-monitor-deliveryDetail{border-bottom:1px solid var(--bs-border)}.bs-project-monitor-sowAllowance{background:var(--bs-surface)}.bs-project-monitor-sowAllowance>header,.bs-project-monitor-deliveryTasks>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 14px 54px}.bs-project-monitor-sowAllowance header small,.bs-project-monitor-deliveryTasks header small{display:block;color:var(--bs-orange);font-size:8px;letter-spacing:.08em;font-weight:700;margin-bottom:5px}.bs-project-monitor-sowAllowance header strong,.bs-project-monitor-deliveryTasks header strong{font-size:12px}.bs-project-monitor-sowAllowance header a{font-size:10px;text-decoration:none}.bs-project-monitor-sowAllowance>ul,.bs-project-monitor-deliveryTasks>ol{margin:0;padding:0;list-style:none}.bs-project-monitor-sowAllowance>ul>li{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(100px,.65fr) minmax(170px,1fr);gap:20px;align-items:center;border-top:1px solid var(--bs-border-quiet);padding:14px 22px 14px 54px;font-size:11px;line-height:1.6}.bs-project-monitor-sowAllowance li>span{text-align:center}.bs-project-monitor-sowAllowance li small{display:block;color:var(--bs-muted);font-size:9px}.bs-project-monitor-sowAllowance>p,.bs-project-monitor-deliveryTasks>p{padding:4px 22px 20px 54px;font-size:11px;color:var(--bs-muted);line-height:1.6}
.bs-project-monitor-deliveryTasks{background:#0c110e;border-top:1px solid #28352c}.bs-project-monitor-deliveryTasks header small{color:#74c99a}.bs-project-monitor-taskFilters{display:flex;gap:6px}.bs-project-monitor-taskFilters button{font:10px var(--bs-font);color:var(--bs-muted);background:transparent;border:1px solid #28352c;padding:5px 9px;border-radius:20px;cursor:pointer}.bs-project-monitor-taskFilters button[aria-pressed=true]{color:#a0ddbc;background:#18271e;border-color:#487b5d}.bs-project-monitor-deliveryTasks>ol>li{border-top:1px solid #1d251f}.bs-project-monitor-deliveryTaskLink{display:grid;grid-template-columns:minmax(160px,1.45fr) minmax(135px,1fr) minmax(120px,.9fr) 46px;align-items:center;gap:16px;min-height:72px;padding:14px 22px 14px 54px;color:#dfe5e1!important;text-decoration:none!important}.bs-project-monitor-deliveryTaskLink:hover{background:#121a15}.bs-project-monitor-deliveryTaskLink>span{display:grid;gap:5px;min-width:0}.bs-project-monitor-deliveryTaskLink strong{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.bs-project-monitor-deliveryTaskLink b{font-size:10px;font-weight:500;line-height:1.5}.bs-project-monitor-deliveryTaskLink small{font-size:9px;color:#84938a;line-height:1.6;overflow-wrap:anywhere}.bs-project-monitor-deliveryTaskLink em{color:#74c99a;font-size:10px;font-style:normal}.bs-project-monitor-taskHistory{padding:0 22px 12px 54px;font-size:10px}.bs-project-monitor-taskHistory>summary{width:max-content;max-width:100%;color:#bdcfc2;cursor:pointer}.bs-project-monitor-taskHistory ul{list-style:none;padding:8px 0 0;margin:0}.bs-project-monitor-taskHistory li{display:grid;grid-template-columns:100px 1fr 110px;gap:12px;padding:8px 0;border-top:1px solid #253329;color:#bdcfc2}.bs-project-monitor-taskHistory b{font-weight:500;text-align:right}
.bs-project-monitor-tooltipFacts{margin:12px 0;padding-top:10px;border-top:1px solid var(--bs-border,#333);font-size:10px}.bs-project-monitor-tooltipFacts>div{display:flex;justify-content:space-between;gap:18px;padding:3px 0}.bs-project-monitor-tooltipFacts dt{color:var(--bs-muted,#aaa)}.bs-project-monitor-tooltipFacts dd{margin:0;text-align:right}.bs-project-monitor-tooltipAllowances{border-top:1px solid var(--bs-border,#333);padding-top:10px;text-align:left;font-size:10px}.bs-project-monitor-tooltipAllowances>b{font-size:11px}.bs-project-monitor-tooltipAllowances>p{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 0}.bs-project-monitor-tooltipAllowances strong{font-weight:500;color:var(--bs-text,#eee);text-align:right}
.bs-project-monitor-escalationPeek .bs-project-monitor-clientNotes{padding:0;margin-top:14px;max-height:360px;overflow:auto}.bs-project-monitor-clientNotes article{display:grid;grid-template-columns:90px 1fr 50px;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--bs-border-quiet);font-size:11px}.bs-project-monitor-clientNotes time{color:var(--bs-muted);font-size:10px}.bs-project-monitor-clientNotes article p{margin:5px 0 0;max-width:none}.bs-project-monitor-clientNotes a{font-size:10px;text-decoration:none}
@media(max-width:1100px){.bs-project-monitor-deliveryPhaseRow{grid-template-columns:16px minmax(150px,1fr) 120px}.bs-project-monitor-departmentBadge{display:none}.bs-project-monitor-deliveryTaskLink{grid-template-columns:minmax(160px,1fr) 150px 45px}.bs-project-monitor-deliveryTaskLink>span:nth-child(3){display:none}.bs-project-monitor-sowAllowance>ul>li{grid-template-columns:minmax(140px,1fr) 90px minmax(130px,1fr);gap:12px}}
@media(max-width:700px){.bs-project-monitor-projectHeader{padding:18px}.bs-project-monitor-deliveryPhaseRow{padding:14px;gap:10px;grid-template-columns:14px minmax(120px,1fr) 90px}.bs-project-monitor-deliveryPhaseRow strong{font-size:12px}.bs-project-monitor-deliveryPhaseRow small{font-size:9px}.bs-project-monitor-sowAllowance>header,.bs-project-monitor-deliveryTasks>header,.bs-project-monitor-deliveryTaskLink,.bs-project-monitor-sowAllowance>ul>li{padding-left:20px;padding-right:14px}.bs-project-monitor-deliveryTaskLink{grid-template-columns:minmax(130px,1fr) minmax(125px,1fr);gap:12px}.bs-project-monitor-deliveryTaskLink>em{display:none}.bs-project-monitor-sowAllowance>ul>li{grid-template-columns:1fr 1fr}.bs-project-monitor-sowAllowance>ul>li>strong{grid-column:1/-1}.bs-project-monitor-taskHistory{padding-left:20px}.bs-project-monitor-taskHistory li{grid-template-columns:1fr;gap:5px}.bs-project-monitor-taskHistory b{text-align:left}.bs-project-monitor-clientNotes article{grid-template-columns:70px 1fr}.bs-project-monitor-clientNotes article a{grid-column:2}.bs-project-monitor-deliveryHeading{padding:18px}.bs-project-monitor-deliveryPhases>header span{display:none}}

/* Delivery overview: one calendar, one document entry point. */
.bs-project-monitor-projectLoading{display:grid;place-items:center;min-height:440px}
.bs-project-monitor-projectHeader{min-height:86px;padding:20px 22px}.bs-project-monitor-projectIdentity{display:flex;align-items:center;gap:14px}.bs-project-monitor-projectType{font-size:9px;color:var(--bs-orange);border:1px solid #804319;border-radius:14px;padding:4px 8px;white-space:nowrap}.bs-project-monitor-headerTools{gap:16px;flex-wrap:wrap;justify-content:flex-end}.bs-project-monitor-iconButton{border:0;background:none;color:var(--bs-muted);font:20px var(--bs-font);cursor:pointer;padding:4px}.bs-project-monitor-iconButton:disabled{opacity:.4}.bs-project-monitor-projectStatus{padding:12px 22px;align-items:center}.bs-project-monitor-projectStatus>.bs-project-monitor-textButton{margin-left:auto;color:var(--bs-muted)}
.bs-project-monitor-compactTimeline .bs-project-monitor-axis,.bs-project-monitor-compactTimeline .bs-project-monitor-track{grid-template-columns:92px minmax(0,1fr)}.bs-project-monitor-compactTimeline .bs-project-monitor-grid{width:max(100%,calc(var(--calendar-width) + 92px))}.bs-project-monitor-compactTimeline .bs-project-monitor-bar{height:34px;font-size:10px;padding-bottom:7px}.bs-project-monitor-compactTimeline a.bs-project-monitor-bar{font-size:10px;text-decoration:none;line-height:32px;color:var(--phase-ink)}.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-phase-group=kickoff]{min-width:12px;background:var(--phase-fill)}.bs-project-monitor-rowLabel{font-size:11px;padding:12px}.bs-project-monitor-calendar>b{font-size:10px!important}
.bs-project-monitor-paymentMarker{align-self:start;justify-self:center;position:relative;width:16px;height:14px;min-width:16px;padding:0;background:transparent;border:0;border-radius:50%;z-index:2;color:#72e5a3}.bs-project-monitor-paymentMarker>span{display:block;width:7px;height:7px;margin:auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px #16291d}.bs-project-monitor-paymentMarker:hover>span{box-shadow:0 0 0 3px #72e5a333}.bs-project-monitor-changeSummary{grid-column:1/-1;align-self:center;justify-self:stretch;padding:18px 22px;text-align:left;border:0;background:transparent;color:var(--bs-text);font:11px var(--bs-font);cursor:pointer}.bs-project-monitor-changeSummary small{display:block;margin-top:6px;color:var(--bs-muted);font-size:10px}.bs-project-monitor-changeSummary:hover{background:var(--bs-surface)}
.bs-project-monitor-deliveryWarning{margin:10px 22px;padding:6px 10px;font-size:10px}.bs-project-monitor-deliveryPhaseRow{min-height:64px;padding-block:14px}.bs-project-monitor-deliveryPhaseRow strong{font-size:12px}.bs-project-monitor-deliveryPhases>header{padding:14px 22px}.bs-project-monitor-departmentBadge{font-size:9px}.bs-project-monitor-phaseAllowance b{font-size:11px}.bs-project-monitor-deliveryDetail{font-size:11px}
.bs-project-monitor-deliveryDialog{position:fixed;inset:0;margin:auto;z-index:10001;width:min(920px,calc(100vw - 40px));max-height:85vh;padding:0;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface);color:var(--bs-text);font:12px var(--bs-font);overflow:auto;overscroll-behavior:contain}.bs-project-monitor-deliveryDialog::backdrop{background:#000b}.bs-project-monitor-deliveryDialog>div>header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:5;background:var(--bs-surface);padding:16px 22px;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-deliveryDialog h3{margin:0;font-size:16px}.bs-project-monitor-deliveryDialog a{color:var(--bs-text);text-decoration-color:var(--bs-orange);text-underline-offset:3px}.bs-project-monitor-documentList{padding:8px 22px}.bs-project-monitor-documentList>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-documentList span{color:var(--bs-muted);font-size:11px}.bs-project-monitor-manageButton{margin:16px 22px;border:0;background:transparent;padding:0;color:var(--bs-orange);font:11px var(--bs-font);cursor:pointer}.bs-project-monitor-deliveryDialog .bs-project-monitor-clientNotes{padding:0 22px}.bs-project-monitor-deliveryDialog .bs-project-monitor-clientNotes article p{font-size:11px;line-height:1.7;margin:6px 0 0}.bs-project-monitor-deliveryDialog .bs-project-monitor-clientNotes article{grid-template-columns:90px 1fr 45px}
.bs-project-monitor-deliveryReview { padding: 22px; }
.bs-project-monitor-deliveryReview h4 { margin: 0 0 18px; }
.bs-project-monitor-deliveryReview label { display: grid; gap: 8px; margin: 16px 0; }
.bs-project-monitor-deliveryReview select, .bs-project-monitor-deliveryReview input[type="date"], .bs-project-monitor-reviewSearch input[type="search"] { width: 100%; padding: 10px 12px; background: #090b09; border: 1px solid #353a35; border-radius: 7px; color: inherit; font: inherit; }
.bs-project-monitor-deliveryReview .bs-project-monitor-excludeControl, .bs-project-monitor-reviewSearch label { display: flex; align-items: center; gap: 9px; }
.bs-project-monitor-deliveryReview input[type="checkbox"] { accent-color: #ff6b00; }
.bs-project-monitor-reviewHint { color: #959b95; font-size: 12px; }
.bs-project-monitor-reviewDateFields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bs-project-monitor-reviewFooter { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.bs-project-monitor-reviewFooter button, .bs-project-monitor-reviewTaskList > div > button:last-child { border: 1px solid #454c45; background: transparent; color: inherit; padding: 8px 14px; border-radius: 7px; cursor: pointer; }
.bs-project-monitor-reviewFooter button:first-child { background: #ff6b00; color: #080908; border-color: #ff6b00; }
.bs-project-monitor-reviewFooter button:disabled, .bs-project-monitor-reviewTaskList button:disabled { opacity: .5; cursor: wait; }
.bs-project-monitor-reviewSearch { display: flex; align-items: center; gap: 20px; }
.bs-project-monitor-reviewSearch input[type="search"] { flex: 1; }
.bs-project-monitor-reviewSearch label { white-space: nowrap; font-size: 12px; }
.bs-project-monitor-reviewTaskList { max-height: 50vh; overflow-y: auto; margin-top: 16px; }
.bs-project-monitor-reviewTaskList > div { display: grid; grid-template-columns: minmax(0,1fr) auto 82px; gap: 18px; align-items: center; padding: 14px 0; border-bottom: 1px solid #2b302b; }
.bs-project-monitor-reviewTaskList > div > span { color: #959b95; font-size: 11px; }
.bs-project-monitor-reviewTaskName { color: inherit; background: transparent; border: 0; text-align: left; cursor: pointer; }
.bs-project-monitor-reviewTaskName small { display: block; color: #959b95; margin-top: 5px; }
.bs-project-monitor-taskEditButton { color: #ff8c38; border: 0; background: transparent; cursor: pointer; font: inherit; font-size: 11px; padding: 6px 12px; margin-left: 6px; }
.bs-project-monitor-deliveryTasks li > .bs-project-monitor-taskEditButton { margin: 0 0 8px 42px; }
.bs-project-monitor-milestoneReview { padding: 8px 22px 24px; }
.bs-project-monitor-milestoneReview h4 { display: flex; gap: 12px; }
.bs-project-monitor-milestoneReview h4 span { color: #76ce9b; }
.bs-project-monitor-milestoneReview section > div { display: flex; gap: 24px; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #2b302b; }
.bs-project-monitor-milestoneReview time { white-space: nowrap; color: #959b95; }
.bs-project-monitor-milestoneSowOnly { display: inline-block; margin-left: 10px; padding: 2px 7px; border: 1px solid #427653; border-radius: 12px; color: #76ce9b; font-size: 10px; white-space: nowrap; }
.bs-project-monitor-deliveryDetailScroll{min-width:0;overflow:visible}
.bs-project-monitor-deliveryUnifiedTable{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:11px;line-height:1.6;text-align:left}
.bs-project-monitor-workColumn{width:40%}.bs-project-monitor-scheduleColumn{width:24%}.bs-project-monitor-progressColumn{width:22%}.bs-project-monitor-editColumn{width:14%}
.bs-project-monitor-deliveryUnifiedTable thead{position:static;z-index:3;background:#131513;color:#a2a69f;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.bs-project-monitor-deliveryUnifiedTable th,.bs-project-monitor-deliveryUnifiedTable td{padding:14px 18px;border-bottom:1px solid #2c302a;vertical-align:middle;text-align:left;overflow-wrap:anywhere}
.bs-project-monitor-deliveryUnifiedTable th:first-child,.bs-project-monitor-deliveryUnifiedTable td:first-child{padding-left:30px}
.bs-project-monitor-deliveryUnifiedTable th[scope=row]{font-weight:600}.bs-project-monitor-deliveryUnifiedTable small{display:block;color:#a0a69f;font-size:9px;font-weight:400;line-height:1.6;margin-top:4px}
.bs-project-monitor-sowRows{background:#1c120b}.bs-project-monitor-sowRows .bs-project-monitor-sourceBand{background:#2a190b}.bs-project-monitor-sowRows .bs-project-monitor-sourceBadge{color:#ff9b47}.bs-project-monitor-sowRows>tr:not(.bs-project-monitor-sourceBand)>th:first-child{border-left:3px solid #b95e19}
.bs-project-monitor-clickupRows{background:#0c1510}.bs-project-monitor-clickupRows .bs-project-monitor-sourceBand{background:#13251a}.bs-project-monitor-clickupRows .bs-project-monitor-sourceBadge{color:#91e2b2}.bs-project-monitor-clickupRows>tr:not(.bs-project-monitor-sourceBand)>th:first-child{border-left:3px solid #3b8a5a}
.bs-project-monitor-sourceBand>th{padding-block:12px}.bs-project-monitor-sourceBand .bs-project-monitor-sourceBadge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;margin-right:16px}.bs-project-monitor-sourceBand .bs-project-monitor-outlineButton{font-weight:400}.bs-project-monitor-sourceBand .bs-project-monitor-taskFilters{float:right}
.bs-project-monitor-outlineButton{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid #55594e;border-radius:6px;background:transparent;color:inherit;font:10px var(--bs-font);cursor:pointer;white-space:nowrap}.bs-project-monitor-outlineButton:hover{border-color:#ff8c38;color:#ffb076}
.bs-project-monitor-taskCellLink{display:block;text-decoration:none!important;color:#e7eee9!important}.bs-project-monitor-taskCellLink strong{font-size:11px}.bs-project-monitor-taskCellLink:hover strong{color:#94e0b2;text-decoration:underline;text-underline-offset:3px}.bs-project-monitor-taskCellLink small{color:#82958a}
.bs-project-monitor-taskDates{display:flex;flex-wrap:wrap;align-items:center;gap:4px 7px;font-size:10px}.bs-project-monitor-taskDates>span{color:#72907b}
.bs-project-monitor-statusBadge,.bs-project-monitor-allowanceBadge,.bs-project-monitor-revisionBadge{display:inline-block;padding:3px 8px;border:1px solid #465548;border-radius:5px;font-size:9px;max-width:100%}.bs-project-monitor-statusBadge[data-complete=true]{background:#183824;color:#a3e2b9;border-color:#356e49}.bs-project-monitor-allowanceBadge{background:#332010;border-color:#6d4322;color:#ffc18d}.bs-project-monitor-revisionBadge{margin-left:6px;color:#a7dbba;border-style:dashed}
.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-reviewIssue{color:#efb36f}.bs-project-monitor-inlineHistory{margin-top:7px;font-size:9px;color:#a5c1ae}.bs-project-monitor-inlineHistory summary{cursor:pointer}.bs-project-monitor-inlineHistory p{font-size:9px;margin:6px 0}
.bs-project-monitor-deliveryFilterForm{padding:22px}.bs-project-monitor-deliveryFilterFields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bs-project-monitor-deliveryFilterFields label{display:grid;gap:8px;font-size:11px}.bs-project-monitor-deliveryFilterFields select{width:100%;min-height:38px;background:#090b09;color:inherit;border:1px solid #3b403a;border-radius:6px;padding:8px;font:inherit}.bs-project-monitor-deliveryFilterForm footer{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.bs-project-monitor-actionNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;font-size:11px;color:#9eddb5;border-bottom:1px solid var(--bs-border)}.bs-project-monitor-actionNotice button{border:0;background:none;color:inherit;cursor:pointer}
.bs-project-monitor-documentList a{justify-content:flex-start;text-align:left;white-space:normal;line-height:1.5;text-decoration:none}.bs-project-monitor-manageButton.bs-button{padding:9px 14px;border:1px solid #784b23;border-radius:6px}.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-assigneeTags{margin-top:7px}
@media(max-width:700px){.bs-project-monitor-deliveryFilterFields{grid-template-columns:1fr}.bs-project-monitor-deliveryUnifiedTable th,.bs-project-monitor-deliveryUnifiedTable td{padding:12px}.bs-project-monitor-sourceBand .bs-project-monitor-taskFilters{float:none;display:inline-flex;margin-top:5px}.bs-project-monitor-documentList>div{grid-template-columns:1fr;gap:8px}}
@media (max-width: 650px) { .bs-project-monitor-reviewTaskList > div { grid-template-columns: minmax(0,1fr) 82px; } .bs-project-monitor-reviewTaskList > div > span { display:none; } .bs-project-monitor-reviewSearch { flex-wrap: wrap; gap: 0; } }
.bs-project-monitor-boardSection{margin:24px 0;border:1px solid var(--bs-border,#343631);border-radius:10px;background:var(--bs-surface,#10120f);overflow:hidden}
.bs-project-monitor-boardSection>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:20px 18px;list-style:none;color:var(--bs-orange,#ff6a00);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.bs-project-monitor-boardSection>summary:before{content:'+';font-size:20px}.bs-project-monitor-boardSection[open]>summary:before{content:'−'}.bs-project-monitor-boardSection>summary>span{flex:1}.bs-project-monitor-boardSection>summary>small{color:#b6b5ae;font-weight:400;text-transform:none;letter-spacing:0}.bs-project-monitor-boardSection[open]>summary{border-bottom:1px solid var(--bs-orange,#ff6a00)}
.bs-project-monitor-boardTable{border-collapse:collapse;width:100%;font-size:12px}.bs-project-monitor-boardTable th,.bs-project-monitor-boardTable td{padding:16px;text-align:left;border-bottom:1px solid #343631;vertical-align:top}.bs-project-monitor-boardTable thead th{text-transform:uppercase;font-size:10px;color:#aaa99f;letter-spacing:.05em}.bs-project-monitor-boardTable small{display:block;margin-top:6px;color:#aaa99f}.bs-project-monitor-boardTable details summary{cursor:pointer;font-weight:700}.bs-project-monitor-boardTable p{max-width:640px;white-space:pre-wrap}
.bs-project-monitor-teamPerson{display:inline-block;padding:7px 12px;border:1px solid #7ebca0;border-radius:20px;background:#152a21;color:#a9e8c5;font-size:14px}
.bs-project-monitor-boardTools,.bs-project-monitor-boardComments,.bs-project-monitor-boardForm{padding:18px;display:flex;flex-direction:column;gap:14px}.bs-project-monitor-boardTools{flex-direction:row}.bs-project-monitor-boardComments article{border-left:2px solid #ff6a00;padding:4px 12px}.bs-project-monitor-boardComments p,.bs-project-monitor-boardForm p{white-space:pre-wrap;margin:8px 0}.bs-project-monitor-boardComments small{color:#aaa99f}.bs-project-monitor-boardForm label{display:flex;flex-direction:column;gap:10px}.bs-project-monitor-boardForm textarea,.bs-project-monitor-boardForm input{padding:12px;border:1px solid #54574c;border-radius:6px;background:#090b08;color:#f4f1eb}.bs-project-monitor-boardForm .bs-project-monitor-boardTable{max-height:350px}.bs-project-monitor-boardForm{max-height:75vh;overflow:auto}
.bs-project-monitor-boardLegend{display:flex;flex-wrap:wrap;gap:14px;padding:12px 18px;font-size:10px;color:#b8b8b0}.bs-project-monitor-boardLegend span{display:inline-flex;align-items:center;gap:6px}.bs-project-monitor-boardLegend i{width:7px;height:7px;border-radius:50%;background:#66dea3}.bs-project-monitor-boardLegend i[data-kind='escalation']{background:#ff4545}.bs-project-monitor-boardLegend i[data-kind='checkpoint']{background:#f5dc55}
.bs-project-monitor-eventMarker{position:absolute;grid-row:1;z-index:4;border:0;background:transparent;padding:3px;cursor:pointer;justify-self:center}.bs-project-monitor-eventMarker span{display:block;width:8px;height:8px;border-radius:50%;background:#ff4545;box-shadow:0 0 0 2px #10120f}.bs-project-monitor-eventMarker[data-kind='checkpoint'] span{background:#f5dc55}.bs-project-monitor-eventMarker:focus-visible{outline:2px solid #fff}
.bs-project-monitor-todayArrow{position:absolute;grid-row:1;bottom:0;z-index:5;color:#fff;font-size:9px;font-weight:800;white-space:nowrap;justify-self:center;background:#ac4700;padding:1px 4px;border-radius:3px}.bs-project-monitor-todayLine{position:absolute;grid-row:1;top:0;bottom:0;width:1px;border-left:1px dashed #d4d1c8;z-index:2;pointer-events:none;justify-self:center}.bs-project-monitor-calendar{position:relative}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-track='Actual']{background:var(--phase-fill);color:#fff;border:1px solid var(--phase-ink)}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-complete='true']{background:color-mix(in srgb,var(--phase-fill) 18%,#262826);color:#c9cec7;border-color:var(--phase-fill)}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar:hover,.bs-project-monitor-compactTimeline .bs-project-monitor-bar:focus-visible{background:var(--phase-fill);color:#fff;filter:brightness(1.16)}.bs-project-monitor-compactTimeline .bs-project-monitor-bar:focus-visible{outline:2px solid #ff6a00;outline-offset:2px}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[draggable='true']{cursor:grab}.bs-project-monitor-compactTimeline .bs-project-monitor-bar[draggable='true']:active{cursor:grabbing}
.bs-project-monitor-compactTimeline .bs-project-monitor-changeSummary{border:1px dashed #ff9b45;background:repeating-linear-gradient(135deg,#22180e,#22180e 9px,#16120d 9px,#16120d 18px);color:#ffc386;padding:16px;margin:8px;align-self:stretch}.bs-project-monitor-compactTimeline .bs-project-monitor-changeSummary small{color:#ffc386}.bs-project-monitor-changeDetail{padding:16px;border-top:1px solid #6a4224}.bs-project-monitor-changeDetail>summary{color:#ffc386;cursor:pointer;font-weight:700}
.bs-project-monitor-tooltipComments{max-height:180px;overflow:auto;text-align:left;border-top:1px solid #45463e;padding-top:10px}.bs-project-monitor-tooltipComments p{white-space:pre-wrap}.bs-project-monitor-tooltipComments small{display:block;color:#aaa99f}
.bs-project-monitor-calendar>.bs-project-monitor-todayArrow{grid-row:1;width:max-content;overflow:visible;padding:2px 5px;border:0;color:#fff;font-size:9px}
.bs-project-monitor-assigneeTags>span{font-size:12px;padding:5px 9px;font-weight:700}

.bs-project-monitor-heroLegend.bs-mascot-key{flex-wrap:wrap;white-space:normal;max-width:340px;gap:8px 12px}
.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-rowActions{padding:12px 10px}
.bs-project-monitor-rowActions button{display:block;max-width:100%;white-space:normal;margin:6px 0}
.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-taskDates{display:flex;flex-wrap:wrap;gap:4px}
.bs-project-monitor-deliveryUnifiedTable th,.bs-project-monitor-deliveryUnifiedTable td{padding:14px 12px}
.bs-project-monitor-deliveryUnifiedTable th:first-child,.bs-project-monitor-deliveryUnifiedTable td:first-child{padding-left:18px}
.bs-project-monitor-boardSection{margin:28px 0}.bs-project-monitor-boardSection:last-child{margin-bottom:0}
@media(max-width:700px){.bs-project-monitor-clients{position:static}.bs-project-monitor-workspace{gap:16px}.bs-project-monitor-workColumn{width:36%}.bs-project-monitor-scheduleColumn{width:23%}.bs-project-monitor-progressColumn{width:23%}.bs-project-monitor-editColumn{width:18%}.bs-project-monitor-deliveryUnifiedTable th,.bs-project-monitor-deliveryUnifiedTable td{padding:10px 6px}.bs-project-monitor-deliveryUnifiedTable th:first-child,.bs-project-monitor-deliveryUnifiedTable td:first-child{padding-left:10px}.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-rowActions{padding:10px 4px}.bs-project-monitor-rowActions button{font-size:10px;padding:6px 4px}}

.bs-project-monitor-ganttCard{min-width:0;border:1px solid var(--bs-border);border-radius:var(--bs-radius);overflow:hidden}

.bs-project-monitor-heroLegend.bs-mascot-key{display:flex;flex-wrap:nowrap;width:max-content;max-width:calc(100vw - 48px);gap:12px;padding:10px 12px;margin-bottom:20px;box-sizing:border-box}
.bs-project-monitor-heroLegend.bs-mascot-key span{font-size:8px;white-space:nowrap}.bs-project-monitor-heroLegend.bs-mascot-key i{width:7px;height:7px;flex-shrink:0}
.bs-project-monitor-teamPerson{font-size:11px;padding:4px 8px;font-weight:600}
.bs-project-monitor-teamTable{table-layout:fixed}.bs-project-monitor-teamTable th,.bs-project-monitor-teamTable td{overflow-wrap:anywhere;padding:14px 12px}.bs-project-monitor-boardTable small{display:block;color:var(--bs-muted);font-size:10px;margin-top:5px}.bs-project-monitor-teamTable details p{font-size:11px;line-height:1.5;margin:14px 0}
.bs-project-monitor-timeTools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px 18px}.bs-project-monitor-timeTools label{font-size:10px;color:var(--bs-muted)}.bs-project-monitor-timeTools input{margin-left:8px;color:var(--bs-text);background:var(--bs-surface);border:1px solid var(--bs-border);padding:5px;border-radius:5px}.bs-project-monitor-timeToggle{display:flex;padding:3px;border:1px solid var(--bs-border);border-radius:20px}.bs-project-monitor-timeToggle button{border:0;border-radius:16px;background:transparent;color:var(--bs-muted);padding:7px 12px;font:inherit;font-size:11px;transition:background .2s,color .2s}.bs-project-monitor-timeToggle button[aria-pressed=true]{background:var(--bs-orange);color:#fff}.bs-project-monitor-phaseTime{display:flex;gap:20px;padding:14px 18px;font-size:11px}.bs-project-monitor-phaseTime small{display:block;color:var(--bs-muted)}
.bs-project-monitor-axis[data-dragging=true] .bs-project-monitor-calendar{padding-top:70px}.bs-project-monitor-dragRuler{position:absolute;top:4px;width:270px;max-width:270px;justify-self:center;z-index:10;background:#161713;border:1px solid var(--bs-orange);border-radius:8px;padding:5px 10px;color:var(--bs-text);pointer-events:none}.bs-project-monitor-dragRuler>strong{display:block;font-size:11px;text-align:center}.bs-project-monitor-dragRuler>div{display:flex;align-items:flex-end;height:36px;gap:4px}.bs-project-monitor-dragRuler i{flex:1;background:#55574f;position:relative;min-width:2px;transition:height .1s}.bs-project-monitor-dragRuler i[data-active=true]{height:32px!important;background:var(--bs-orange)}.bs-project-monitor-dragRuler small{position:absolute;font-size:7px;bottom:0;color:white}.bs-project-monitor-lane{transition:min-height .15s}.bs-project-monitor-bar[draggable=true]{cursor:grab}.bs-project-monitor-bar[draggable=true]:active{cursor:grabbing}
@media(max-width:700px){.bs-project-monitor-heroLegend.bs-mascot-key{flex-wrap:wrap;justify-content:center;width:280px}.bs-project-monitor-teamTable{font-size:10px}.bs-project-monitor-teamTable th,.bs-project-monitor-teamTable td{padding:10px 6px}.bs-project-monitor-teamPerson{font-size:10px;padding:3px 5px}}

.bs-project-monitor-phaseWithTime{grid-template-columns:16px minmax(110px,1fr) 95px 110px 110px;gap:12px}.bs-project-monitor-phaseWithTime>span:last-child{font-size:11px}
@media(max-width:800px){.bs-project-monitor-phaseWithTime{grid-template-columns:14px minmax(100px,1fr) 85px}.bs-project-monitor-phaseWithTime>small{grid-column:2}.bs-project-monitor-phaseWithTime>span:last-child{grid-column:3}.bs-project-monitor-teamTable th,.bs-project-monitor-teamTable td{font-size:10px}}

.bs-project-monitor-bar[data-movable=true]{touch-action:none;user-select:none;cursor:grab}.bs-project-monitor-bar[data-movable=true]:active{cursor:grabbing}
.bs-project-monitor-calendar>.bs-project-monitor-todayArrow{top:2px;bottom:auto;background:transparent;color:#ff7900;padding:0 3px;font-size:9px;pointer-events:none}
.bs-project-monitor-timeToggle{padding:2px}.bs-project-monitor-timeToggle button{padding:5px 10px;font-size:10px}.bs-project-monitor-timeToggle button[aria-pressed=true]{background:#342519;color:#ff9d58}
.bs-project-monitor-teamGroup{border-left:3px solid var(--team-color)}.bs-project-monitor-teamGroupHeader th{color:var(--team-color);font-size:12px;padding:14px 16px 8px}.bs-project-monitor-teamTag{display:inline-block;border:1px solid var(--bs-border);border-radius:20px;padding:3px 8px;font-size:10px;margin:2px 5px 2px 0;font-weight:400}.bs-project-monitor-teamTable summary{cursor:pointer;color:#eee;text-decoration:underline;text-underline-offset:3px}.bs-project-monitor-teamTable a:hover{text-decoration:underline}

.bs-project-monitor-timeTotal{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--bs-muted)}.bs-project-monitor-timeTotal>span{color:var(--bs-text)}.bs-project-monitor-timeTotal>span>small{display:none}

.bs-project-monitor-scheduleTools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;font-size:11px}.bs-project-monitor-scheduleTools select,.bs-project-monitor-boardForm select{background:#141511;border:1px solid #373932;border-radius:6px;color:#ddd;padding:7px;margin-left:6px}.bs-project-monitor-dragHandle{position:absolute;left:3px;opacity:.7;font-size:16px}.bs-project-monitor-bar[data-movable=true]{padding-left:18px}.bs-project-monitor-teamTag{background:transparent;color:inherit;cursor:pointer}.bs-project-monitor-teamTag:disabled{cursor:default;opacity:.8}

.bs-project-monitor-checkpointPair{padding:18px;border-bottom:1px solid var(--bs-border);font-size:12px}.bs-project-monitor-checkpointPair>small{display:block;margin-top:10px;color:var(--bs-muted)}.bs-project-monitor-checkpointColumns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.bs-project-monitor-checkpointColumns section{padding:12px;border:1px solid var(--bs-border);border-radius:8px}.bs-project-monitor-checkpointColumns small,.bs-project-monitor-checkpointColumns strong{display:block;margin-bottom:8px}.bs-project-monitor-dateEvidence{margin:14px 18px;font-size:12px}.bs-project-monitor-dateEvidence summary{cursor:pointer}.bs-project-monitor-timeTotal details[open]{max-width:520px;max-height:320px;overflow:auto;padding:10px;border:1px solid var(--bs-border)}@media(max-width:650px){.bs-project-monitor-checkpointColumns{grid-template-columns:1fr}.bs-project-monitor-scheduleTools{align-items:stretch}.bs-project-monitor-timeTotal details[open]{max-width:100%}}
.bs-project-monitor-checkpointPair{min-width:0;overflow-wrap:anywhere}.bs-project-monitor-checkpointColumns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.bs-project-monitor-checkpointColumns section{min-width:0;display:grid;gap:8px}.bs-project-monitor-checkpointColumns section>*{min-width:0;margin:0;overflow-wrap:anywhere}.bs-project-monitor-checkpointColumns .bs-button{justify-self:start}

.bs-project-monitor-reviewActions{margin:14px 0;padding:12px;border:1px solid #514131;border-radius:8px;font-size:12px}.bs-project-monitor-reviewActions summary{cursor:pointer;color:#ffab70}.bs-project-monitor-reviewActions>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bs-project-monitor-phaseTime select{background:#141511;color:#ddd;border:1px solid #444;padding:6px;margin:8px}.bs-project-monitor-phaseTime label{display:block}

.bs-project-monitor-managerTag{display:inline-flex;border:1px solid #497960;background:#16251d;color:#b9ddc8;border-radius:20px;padding:5px 10px;font-size:11px}
.bs-project-monitor-taskTags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bs-project-monitor-taskTags>span{font-size:10px;font-weight:500;border:1px solid #57554b;color:#c8c5b8;border-radius:12px;padding:2px 7px}
.bs-project-monitor-deliveryUnifiedTable .bs-project-monitor-assigneeTags>span{font-size:10px;font-weight:500;padding:3px 8px}
.bs-project-monitor-axis .bs-project-monitor-calendar,.bs-project-monitor-axis[data-dragging=true] .bs-project-monitor-calendar{padding-top:84px}.bs-project-monitor-dragRuler{left:50%;transform:translateX(-50%);top:5px;width:260px;border:0;background:transparent;padding:0;grid-column:1/-1}.bs-project-monitor-dragRuler>strong{font-size:14px}.bs-project-monitor-dragRuler>div{height:46px;align-items:center;justify-content:center;gap:5px}.bs-project-monitor-dragRuler i{flex:0 0 3px;border-radius:2px}.bs-project-monitor-dragRuler i[data-active=true]{height:44px!important}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-past=true]{background:#41423f;color:#d0d1cc;border-color:var(--phase-ink)}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-past=true]:hover{background:var(--phase-fill);color:white}

.bs-project-monitor-eventMarker[data-resolved=true]{opacity:.45;filter:grayscale(1)}

.bs-project-monitor-eventMarker[data-cluster=true] span{width:20px;height:20px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#080a08}
/* Compact calendar instrument: every tick is a date on the chart's shared scale. */
.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar,.bs-project-monitor-compactTimeline .bs-project-monitor-axis[data-dragging=true] .bs-project-monitor-calendar{padding-top:48px}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler{left:0;right:0;top:3px;width:auto;max-width:none;transform:none;padding:0 10px;box-sizing:border-box;justify-self:stretch}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler>strong{font-size:10px;font-weight:600;letter-spacing:.04em;line-height:15px;text-align:center;color:#d7d7ce}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler>div{display:grid;height:30px;gap:0;align-items:center}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler i{min-width:0;width:2px;max-width:70%;justify-self:center;background:#51594f;border-radius:2px;transition:height .12s ease,background .12s ease}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler i[data-active=true]{height:28px!important;background:#ff873c;box-shadow:0 0 8px #ff873c55}
.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar>b{font-size:9px;color:#979d93;letter-spacing:.02em}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar{border-radius:5px;font-size:10px;box-shadow:inset 0 1px 0 #ffffff16}
.bs-project-monitor-compactTimeline .bs-project-monitor-rowLabel{font-size:10px;color:#b7beb2;letter-spacing:.04em}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker{padding:3px;min-width:16px;min-height:16px;border-radius:8px;background:#10150ed9;box-shadow:0 0 0 1px #3a4235}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker span{width:7px;height:7px;box-shadow:none}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-cluster=true] span{width:14px;height:14px;font-size:9px}
.bs-project-monitor-compactTimeline .bs-project-monitor-changeSummary{position:relative;justify-self:start;align-self:center;min-width:210px;max-width:300px;grid-column:auto;background:#20190f;border:1px solid #71532d;border-left:3px solid #efb970;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:10px;z-index:3}
.bs-project-monitor-compactTimeline .bs-project-monitor-changeSummary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-project-monitor-compactTimeline .bs-project-monitor-changeSummary small{font-size:9px;color:#d1b180;margin-top:5px}
@media(prefers-reduced-motion:reduce){.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler i{transition:none}}
.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler>strong{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler>div{margin-top:15px}
/* The scale must stop at the sticky lane labels when panning horizontally. */
.bs-project-monitor-compactTimeline .bs-project-monitor-axis>.bs-project-monitor-rowLabel{z-index:20}.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar{isolation:isolate}.bs-project-monitor-compactTimeline .bs-project-monitor-dragRuler{z-index:1}.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker{background:transparent;box-shadow:none;padding:4px}.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker span{width:9px;height:9px;background:#ff666b;box-shadow:0 0 0 1px #ffb1ad,0 0 7px #ff565638}.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-kind=checkpoint] span{background:#f5dc55;box-shadow:0 0 0 1px #fff3a0}.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-resolved=true]{filter:none;opacity:.7}.bs-project-monitor-openPhases>header{display:flex;justify-content:space-between;align-items:center;padding:24px 20px;border-bottom:1px solid #7d3b08;color:var(--bs-orange);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.bs-project-monitor-openPhases>header small{color:var(--bs-muted);font-size:10px;text-transform:none;letter-spacing:0;font-weight:400}.bs-project-monitor-excludedItems{padding:18px;border-top:1px solid var(--bs-border)}.bs-project-monitor-excludedItems>summary{cursor:pointer;font-size:11px;color:var(--bs-muted)}.bs-project-monitor-excludedItems p{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.bs-project-monitor-scheduleTools{padding:24px;display:grid;gap:20px}.bs-project-monitor-scheduleTools label{display:flex;justify-content:space-between;align-items:center;gap:16px}.bs-project-monitor-scheduleTools select{min-width:180px}.bs-project-monitor-rowActions{gap:6px}.bs-project-monitor-outlineButton{font-size:10px}

.bs-project-monitor-bar[data-risk="true"]{box-shadow:0 4px 0 -2px #ff625c}

/* Baselines: status, marker and section treatments share one visual scale. */
.bs-project-monitor-boardSection>summary{text-transform:none;letter-spacing:0;font-weight:650;font-size:14px}
.bs-project-monitor-boardSection>summary::-webkit-details-marker{display:none}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar{height:44px;font-size:12px;padding-bottom:8px}
.bs-project-monitor-compactTimeline a.bs-project-monitor-bar{font-size:12px;line-height:42px}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-state=upcoming],.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-state=upcoming]:hover{background:transparent;color:var(--phase-ink);border:1.5px solid var(--phase-ink);box-shadow:none}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-state=complete]{background:color-mix(in srgb,var(--phase-fill) 18%,#262826);border-color:var(--phase-fill);color:#c9cec7;box-shadow:none}.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-state=complete]:hover{background:color-mix(in srgb,var(--phase-fill) 30%,#262826);border-color:var(--phase-fill);color:#e4e7e1;box-shadow:none}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-related]{outline:2px solid var(--phase-ink);outline-offset:2px;z-index:2}
/* The SOW and Planned lanes are reference plans: always the faded department
   colour with its outline. Only Actual and change orders change with state. */
.bs-project-monitor-compactTimeline .bs-project-monitor-bar:is([data-track='Planned'],[data-track='ResourceOps']):not([data-change-order]){background:color-mix(in srgb,var(--phase-fill) 18%,#262826);border-color:var(--phase-fill);color:#d9ddd6;box-shadow:none}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar:is([data-track='Planned'],[data-track='ResourceOps']):not([data-change-order]):hover{background:color-mix(in srgb,var(--phase-fill) 32%,#262826);color:#fff}
/* Today: an orange arrow on the day ruler and a line through every lane. */
.bs-today-line{position:relative;z-index:11;align-self:stretch;justify-self:center;width:0;margin:-1px 0;border-left:2px solid #ff5a00;opacity:.75;pointer-events:none}
.bs-today-pin{position:absolute;top:2px;z-index:11;width:0;height:0;translate:-50% 0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #ff5a00;filter:drop-shadow(0 0 6px #ff5a0099);cursor:help}
.bs-daily-ruler i[data-today]{height:18px!important;width:2px;background:#ff5a00;box-shadow:0 0 8px #ff5a0088}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar[data-state=in-progress]{background:var(--phase-fill);color:#fff}
/* Gantt blocks lift and catch the Change Order buttons' light sweep on hover; leaving runs it back. */
.bs-project-monitor-compactTimeline .bs-project-monitor-bar{transition:transform .18s ease,filter .18s ease}.bs-project-monitor-compactTimeline .bs-project-monitor-bar:hover{transform:translateY(-2px)}
.bs-project-monitor-compactTimeline .bs-project-monitor-bar::after{content:'';position:absolute;inset:-40% auto -40% -45%;width:30%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),rgba(255,92,0,.28),transparent);filter:blur(1px);transition:left 520ms cubic-bezier(.2,.65,.25,1);pointer-events:none}.bs-project-monitor-compactTimeline .bs-project-monitor-bar:hover::after{left:118%}
@media(prefers-reduced-motion:reduce){.bs-project-monitor-compactTimeline .bs-project-monitor-bar,.bs-project-monitor-compactTimeline .bs-project-monitor-bar::after{transition:none}.bs-project-monitor-compactTimeline .bs-project-monitor-bar:hover{transform:none}.bs-project-monitor-compactTimeline .bs-project-monitor-bar::after{display:none}}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker{align-self:start;justify-self:center;position:relative;width:16px;height:14px;min-width:16px;min-height:14px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#ff666b}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-kind=checkpoint]{color:#f5dc55}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker span,.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-kind=checkpoint] span{display:block;width:7px;height:7px;margin:auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px #16291d}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker:hover,.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker:focus-visible{filter:drop-shadow(0 0 4px currentColor)}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker:hover span,.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker:focus-visible span{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 20%,transparent)}
.bs-project-monitor-compactTimeline .bs-project-monitor-eventMarker[data-cluster=true] span{display:grid;width:14px;height:14px;font-size:9px}
.bs-project-monitor-ganttCommentTools{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:13px;color:var(--bs-muted)}
.bs-project-monitor-ganttCommentTools button[aria-pressed=true]{border-color:var(--bs-orange);color:var(--bs-orange)}
.bs-project-monitor-commentBadge{font-size:10px;font-weight:500}

.bs-project-monitor-ganttWorkspace{border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-canvas);min-width:0;overflow:hidden}
.bs-project-monitor-ganttToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--bs-border);background:var(--bs-surface)}
.bs-project-monitor-ganttSaveAlert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid color-mix(in srgb,var(--bs-semantic-risk) 45%,var(--bs-border));background:color-mix(in srgb,var(--bs-semantic-risk) 10%,var(--bs-surface));font-size:12px}.bs-project-monitor-ganttSaveAlert strong{color:var(--bs-semantic-risk)}.bs-project-monitor-ganttSaveAlert span{flex:1 1 240px;color:var(--bs-text)}.bs-project-monitor-ganttSaveAlert[data-tone=info]{border-bottom-color:color-mix(in srgb,var(--bs-semantic-info) 45%,var(--bs-border));background:color-mix(in srgb,var(--bs-semantic-info) 10%,var(--bs-surface))}.bs-project-monitor-ganttSaveAlert[data-tone=info] strong{color:var(--bs-semantic-info)}
.bs-project-monitor-ganttToolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bs-project-monitor-ganttToolbar strong{font-size:14px}.bs-project-monitor-ganttToolbar span{font-size:11px;color:var(--bs-muted);margin-left:8px}
.bs-project-monitor-ganttBody{display:grid;grid-template-columns:minmax(0,1fr)}.bs-project-monitor-ganttWithInspector{grid-template-columns:minmax(0,1fr) 340px}.bs-project-monitor-ganttCanvas{min-width:0;overflow:auto}.bs-project-monitor-ganttCanvas .bs-project-monitor-scroll{border:0;border-radius:0}.bs-project-monitor-ganttHint{margin:0;padding:14px 18px;color:var(--bs-muted);font-size:11px}
.bs-project-monitor-ganttFullscreen{position:fixed;inset:0;z-index:9000;border:0;border-radius:0;display:flex;flex-direction:column;font:400 12px/1.55 var(--bs-font);color:var(--bs-text);background:var(--bs-canvas)}.bs-project-monitor-ganttFullscreen *{box-sizing:border-box}.bs-project-monitor-ganttFullscreen .bs-project-monitor-ganttBody{min-height:0;flex:1}.bs-project-monitor-ganttFullscreen .bs-project-monitor-ganttCanvas{padding:24px}.bs-project-monitor-ganttFullscreen .bs-project-monitor-scroll{min-height:70vh}.bs-project-monitor-ganttFullscreen .bs-project-monitor-ganttInspector{max-height:none}
.bs-project-monitor-ganttInspector{border-left:1px solid var(--bs-border);background:var(--bs-surface);max-height:780px;overflow:auto;padding:18px}.bs-project-monitor-ganttInspector>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.bs-project-monitor-ganttInspector h3{font-size:18px;line-height:1.35;margin:5px 0}.bs-project-monitor-ganttInspector h4{font-size:12px;margin:0 0 12px}.bs-project-monitor-ganttInspector small{color:var(--bs-muted);font-size:10px}.bs-project-monitor-ganttInspector form{display:grid;gap:12px}.bs-project-monitor-ganttInspector label{display:grid;gap:5px;font-size:11px;color:var(--bs-muted)}.bs-project-monitor-ganttInspector input,.bs-project-monitor-ganttInspector select,.bs-project-monitor-ganttInspector textarea{width:100%;min-width:0;min-height:38px;border:1px solid var(--bs-border);border-radius:6px;background:var(--bs-canvas);color:var(--bs-text);font:inherit;padding:8px}.bs-project-monitor-ganttInspector input:focus,.bs-project-monitor-ganttInspector textarea:focus,.bs-project-monitor-ganttInspector select:focus{outline:1px solid var(--bs-orange)}.bs-project-monitor-ganttInspector section{margin-top:20px;padding-top:18px;border-top:1px solid var(--bs-border)}.bs-project-monitor-ganttDateFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bs-project-monitor-ganttTotal{display:flex;justify-content:space-between;font-size:12px}.bs-project-monitor-ganttInspectorActions{display:flex;gap:6px;flex-wrap:wrap}.bs-project-monitor-ganttInspectorActions button:first-child{border-color:var(--bs-orange);color:var(--bs-orange-soft)}.bs-project-monitor-ganttSourceSummary{padding:12px 0}.bs-project-monitor-ganttSourceSummary>strong{color:var(--bs-orange-soft);font-size:11px}.bs-project-monitor-ganttSourceSummary dl{margin:8px 0;display:grid;gap:5px}.bs-project-monitor-ganttSourceSummary dl>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.bs-project-monitor-ganttSourceSummary dt{color:var(--bs-muted)}.bs-project-monitor-ganttSourceSummary dd{margin:0;text-align:right}.bs-project-monitor-ganttPeople{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.bs-project-monitor-ganttPeople span,.bs-project-monitor-ganttPeople strong{padding:5px 8px;border:1px solid var(--bs-border);border-radius:999px;font-size:10px}.bs-project-monitor-ganttPeople strong{border-color:#395047;color:#a7d1bd}.bs-project-monitor-ganttTaskLink{display:block;padding:7px 0;border-bottom:1px solid var(--bs-border-quiet);color:var(--bs-text);font-size:11px;text-decoration:none}.bs-project-monitor-ganttNotes article{padding:10px 0}.bs-project-monitor-ganttNotes p{white-space:pre-wrap;margin:5px 0;font-size:12px}.bs-project-monitor-ganttDeletePrompt{padding:12px;border:1px solid #975338;border-radius:6px}.bs-project-monitor-ganttRemoved{padding:12px 18px;font-size:11px}
.bs-project-monitor-ganttVisualState{margin:2px 0;padding:12px;border:1px solid var(--bs-border);border-radius:8px}.bs-project-monitor-ganttVisualState legend{padding:0 5px;color:var(--bs-text);font-size:11px;font-weight:800}.bs-project-monitor-ganttVisualState>p{margin:0 0 10px;color:var(--bs-muted);font-size:10px}.bs-project-monitor-ganttVisualState>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bs-project-monitor-ganttInspector .bs-project-monitor-ganttVisualState label{position:relative;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;padding:8px;border:1px solid var(--bs-border);border-radius:7px;cursor:pointer}.bs-project-monitor-ganttInspector .bs-project-monitor-ganttVisualState input{position:absolute;width:1px;min-height:1px;opacity:0}.bs-project-monitor-ganttVisualState label>span{width:22px;height:13px;border:1px solid var(--phase-ink,#7f8d86);border-radius:3px;background:var(--phase-fill,#15978f)}.bs-project-monitor-ganttVisualState label[data-state=complete]>span{background:color-mix(in srgb,var(--phase-fill,#15978f) 18%,#262826);border-color:var(--phase-fill,#15978f)}.bs-project-monitor-ganttVisualState label[data-state=upcoming]>span{background:transparent}.bs-project-monitor-ganttVisualState label:has(input:checked){border-color:var(--bs-orange);box-shadow:0 0 0 1px rgba(255,106,0,.18)}.bs-project-monitor-ganttVisualState strong{display:grid;color:var(--bs-text);font-size:10px}.bs-project-monitor-ganttVisualState strong small{font-size:8px}.bs-project-monitor-ganttVisualState>button{margin-top:8px}
@media(max-width:1000px){.bs-project-monitor-ganttWithInspector{grid-template-columns:minmax(0,1fr)}.bs-project-monitor-ganttInspector{border-left:0;border-top:1px solid var(--bs-border);max-height:70vh}.bs-project-monitor-ganttFullscreen .bs-project-monitor-ganttBody{display:block;overflow:auto}.bs-project-monitor-ganttFullscreen .bs-project-monitor-ganttCanvas{padding:12px}.bs-project-monitor-ganttToolbar{align-items:flex-start;flex-direction:column}.bs-project-monitor-ganttFullscreen .bs-project-monitor-scroll{min-height:50vh}}


/* ProjectOverview */
.bs-project-overview-summary{margin-bottom:32px;color:var(--bs-text)}
.bs-project-overview-summaryHeading{display:flex;align-items:center;gap:20px;margin-bottom:18px;font-size:13px}.bs-project-overview-summaryHeading span{color:var(--bs-muted);font-size:12px}
.bs-project-overview-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bs-project-overview-chart{border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);padding:22px;min-width:0}
.bs-project-overview-chart h2{font:600 14px var(--bs-font);margin:0 0 18px}.bs-project-overview-chart p,.bs-project-overview-summary>p,.bs-project-overview-method{font-size:10px;line-height:1.7;color:var(--bs-muted)}.bs-project-overview-chart p{margin:18px 0 0}
.bs-project-overview-chartBody{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.bs-project-overview-ring{width:132px;height:132px;flex-shrink:0;overflow:visible}.bs-project-overview-total{font:600 24px var(--bs-font);fill:var(--bs-text)}.bs-project-overview-unit{font:400 8px var(--bs-font);fill:var(--bs-muted)}
.bs-project-overview-legend{list-style:none;margin:0;padding:0;flex:1;min-width:140px;}.bs-project-overview-legend li{display:flex;align-items:center;gap:8px;font-size:10px;padding:5px 0}.bs-project-overview-legend i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.bs-project-overview-legend span{flex:1}.bs-project-overview-legend strong{font-weight:500;font-variant-numeric:tabular-nums}
.bs-project-overview-method{margin-top:14px}.bs-project-overview-method summary{cursor:pointer}.bs-project-overview-method p{max-width:800px}.bs-project-overview-loading{min-height:360px;display:grid;place-items:center}
@media(max-width:900px){.bs-project-overview-charts{grid-template-columns:1fr}.bs-project-overview-chartBody{flex-wrap:nowrap}.bs-project-overview-chart{padding:18px}}
@media(prefers-reduced-motion:no-preference){.bs-project-overview-ring circle{transition:stroke-dasharray .2s ease}}

.bs-project-overview-scorecards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:36px}.bs-project-overview-scorecards article{border-left:2px solid var(--bs-orange);padding:18px;background:var(--bs-surface)}.bs-project-overview-scorecards strong{display:block;font-size:32px;margin-top:8px}.bs-project-overview-scorecards small{color:var(--bs-muted)}.bs-project-overview-summary>h2{margin:36px 0 12px;font-size:22px}.bs-project-overview-ranking{list-style:none;padding:0}.bs-project-overview-ranking li{position:relative;display:flex;justify-content:space-between;gap:16px;padding:12px 0 16px;font-size:12px}.bs-project-overview-ranking i{position:absolute;bottom:5px;height:2px;background:var(--bs-orange);left:0;opacity:.7}.bs-project-overview-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.bs-project-overview-toolbar select{background:var(--bs-surface);color:var(--bs-text);padding:8px;border:1px solid var(--bs-border);border-radius:8px}.bs-project-overview-queue{border:1px solid var(--bs-border);border-radius:10px;overflow:hidden;margin:16px 0}.bs-project-overview-queue>button,.bs-project-overview-queue>a{width:100%;box-sizing:border-box;text-decoration:none;text-align:left;background:var(--bs-surface);color:var(--bs-text);border:0;border-bottom:1px solid var(--bs-border);padding:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;cursor:pointer;font:inherit;font-size:12px}.bs-project-overview-queue>button:hover,.bs-project-overview-queue>a:hover{background:#20180f}.bs-project-overview-queue span:first-child{flex:1;min-width:180px}.bs-project-overview-queue small,.bs-project-overview-tableWrap small{display:block;color:var(--bs-muted);font-size:11px;margin-top:6px}.bs-project-overview-tableWrap{max-width:100%;overflow:auto;border:1px solid var(--bs-border);border-radius:10px}.bs-project-overview-tableWrap table{width:100%;border-collapse:collapse;font-size:12px}.bs-project-overview-tableWrap th,.bs-project-overview-tableWrap td{text-align:left;padding:16px;border-bottom:1px solid var(--bs-border);vertical-align:top}.bs-project-overview-tableWrap a{color:var(--bs-text)}.bs-project-overview-tableWrap th{color:var(--bs-muted);font-size:10px;text-transform:uppercase}@media(max-width:900px){.bs-project-overview-scorecards{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-project-overview-tableWrap th,.bs-project-overview-tableWrap td{padding:12px}}
.bs-project-overview-dashboardTitle{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0 30px}.bs-project-overview-dashboardTitle h2{font-size:32px;letter-spacing:-1px;margin:8px 0}.bs-project-overview-dashboardTitle small,.bs-project-overview-sectionTitle small{color:#ff8533;font-size:10px;letter-spacing:2px}.bs-project-overview-dashboardTitle p{color:var(--bs-muted);font-size:12px}.bs-project-overview-dashboardTitle label{font-size:11px;color:var(--bs-muted)}.bs-project-overview-dashboardTitle select{display:block;margin-top:8px;background:var(--bs-surface);color:var(--bs-text);padding:12px 20px;border:1px solid var(--bs-border);border-radius:10px}.bs-project-overview-quarterSection{margin:36px 0 48px}.bs-project-overview-sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.bs-project-overview-sectionTitle h2{font-size:24px;margin:8px 0}.bs-project-overview-sectionTitle>span{color:var(--bs-muted);font-size:12px}.bs-project-overview-pulse{padding:22px;margin:16px 0;border:1px solid var(--bs-border);border-radius:12px;display:flex;gap:30px;background:linear-gradient(120deg,#171b18,#11120f)}.bs-project-overview-pulse h3{font-size:14px}.bs-project-overview-pulse p{color:var(--bs-muted);font-size:10px}.bs-project-overview-weekBars{flex:1;display:flex;align-items:flex-end;gap:10px;min-width:0}.bs-project-overview-weekBars>div{flex:1;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0}.bs-project-overview-weekBars i{display:block;width:100%;max-width:32px;background:linear-gradient(#ffb06c,#cf5719);border-radius:4px 4px 0 0}.bs-project-overview-weekBars b{font-size:10px}.bs-project-overview-weekBars small{font-size:8px;color:var(--bs-muted);white-space:nowrap}.bs-project-overview-explore{border:1px solid var(--bs-border);border-radius:12px;margin-top:16px;padding:18px;font-size:12px}.bs-project-overview-explore>summary{cursor:pointer;font-weight:600}.bs-project-overview-explore>summary span{float:right;color:var(--bs-muted);font-size:11px}.bs-project-overview-explore[open]>.bs-project-overview-charts{margin-top:22px}.bs-project-overview-explore button{border:1px solid var(--bs-border);background:var(--bs-surface);color:var(--bs-text);border-radius:7px;padding:9px;cursor:pointer}.bs-project-overview-explore button:disabled{opacity:.4;cursor:default}.bs-project-overview-scorecards article{border:1px solid var(--bs-border);border-top:2px solid #ff8533;border-radius:12px;padding:22px}.bs-project-overview-scorecards strong{font-size:38px;font-weight:600}.bs-project-overview-chart{border-radius:12px}.bs-project-overview-ranking{margin-bottom:0}.bs-project-overview-ranking li{font-size:11px}.bs-project-overview-chartBody{gap:12px}.bs-project-overview-ring{width:112px;height:112px}.bs-project-overview-legend{min-width:100px}.bs-project-overview-legend li{text-transform:capitalize}
@media(max-width:1100px){.bs-project-overview-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-project-overview-charts>.bs-project-overview-chart:last-child{grid-column:1/-1}.bs-project-overview-pulse{flex-direction:column;gap:10px}}
@media(max-width:600px){.bs-project-overview-dashboardTitle{align-items:flex-start;flex-direction:column}.bs-project-overview-dashboardTitle h2{font-size:25px}.bs-project-overview-charts{grid-template-columns:1fr}.bs-project-overview-sectionTitle{align-items:flex-start;flex-direction:column}.bs-project-overview-scorecards{gap:8px}.bs-project-overview-scorecards article{padding:14px}.bs-project-overview-scorecards strong{font-size:30px}.bs-project-overview-weekBars{gap:4px}.bs-project-overview-weekBars small{font-size:7px;writing-mode:vertical-rl}.bs-project-overview-explore>summary span{float:none;display:block;margin-top:8px}}
.bs-project-overview-scheduleBars article{display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--bs-border)}.bs-project-overview-scheduleBars small{display:block;color:var(--bs-muted);font-size:10px;margin-top:4px}.bs-project-overview-scheduleBars article>div{min-width:0}.bs-project-overview-scheduleBars span{display:block;min-width:125px;box-sizing:border-box;font-size:10px;line-height:24px;color:#10110f;padding:0 8px;border-radius:4px;margin:4px 0}.bs-project-overview-scheduleBars>p{font-size:11px;color:var(--bs-muted)}
@media(max-width:600px){.bs-project-overview-scheduleBars article{grid-template-columns:1fr}}



/* Migrated page primitives: canonical global CSS owns these surfaces. */

/* SalonRequests */
.salon2-root.salon2-viewport:has(.bs-salon-requests-isTicketOpen) { height: auto; min-height: calc(100dvh - 77px); overflow: visible; }
.bs-salon-requests-page { height: 100%; min-height: 0; overflow: hidden; }
.bs-salon-requests-page.bs-salon-requests-isTicketOpen { height: auto; min-height: calc(100dvh - 77px); overflow: visible; }
.bs-salon-requests-booth { --mascot-x: 0px; --mascot-y: 0px; position: relative; isolation: isolate; width: min(1240px,calc(100% - 48px)); height: 100%; min-height: 0; margin: 0 auto; display: grid; grid-template-columns: minmax(500px,1fr) minmax(520px,1fr); align-items: start; }
.bs-salon-requests-booth::before { content: ''; position: absolute; z-index: -1; right: -11vw; bottom: -32%; width: 67%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(255,91,0,.12),rgba(255,91,0,.025) 42%,transparent 70%); opacity: .42; transform: translate3d(var(--mascot-x),var(--mascot-y),0); transition: opacity .35s ease,transform .3s ease-out; pointer-events: none; }
.bs-salon-requests-isTicketOpen .bs-salon-requests-booth { height: auto; min-height: calc(100dvh - 77px); }
.bs-salon-requests-boothCopy { position: relative; z-index: 4; display: flex; min-height: calc(100dvh - 77px); flex-direction: column; justify-content: center; padding: 42px 0 64px; }
.bs-salon-requests-boothCopy h1 { margin: 0 0 14px; color: var(--bs-text); font: 700 clamp(64px,6.1vw,104px)/.84 var(--bs-font-display); letter-spacing: -.075em; white-space: nowrap; }
.bs-salon-requests-boothIntro { max-width: 540px; margin: 0 0 clamp(20px,2.6vh,32px); color: var(--bs-muted); font-size: 12px; line-height: 1.65; }
.bs-salon-requests-mascotStage { position: sticky; z-index: 2; top: 77px; height: calc(100dvh - 77px); min-height: 640px; margin: 0 0 0 -3vw; }
.bs-salon-requests-mascotArt { position: absolute; inset: 0; transform: translate3d(var(--mascot-x),var(--mascot-y),0); transition: transform .3s cubic-bezier(.2,.8,.2,1),filter .35s ease; will-change: transform; }
.bs-salon-requests-mascotArt img { object-fit: contain; object-position: center right; filter: drop-shadow(0 32px 54px rgba(0,0,0,.5)); animation: bs-salon-requests-conductorIdle 5.8s ease-in-out infinite; }
.bs-salon-requests-booth:has(.bs-salon-requests-ticketFace:hover)::before,.bs-salon-requests-booth:has(.bs-salon-requests-ticketFace:focus-visible)::before,.bs-salon-requests-isTicketOpen .bs-salon-requests-booth::before { opacity: 1; }
.bs-salon-requests-booth:has(.bs-salon-requests-ticketFace:hover) .bs-salon-requests-mascotArt,.bs-salon-requests-booth:has(.bs-salon-requests-ticketFace:focus-visible) .bs-salon-requests-mascotArt { filter: drop-shadow(-18px 12px 35px rgba(255,91,0,.18)); }
.bs-salon-requests-viewTabs { display: flex; gap: 6px; margin-bottom: clamp(14px,2vh,24px); }
.bs-salon-requests-viewTabs button { padding: 7px 11px; border: 1px solid var(--bs-border); border-radius: 999px; background: transparent; color: var(--bs-muted); font: 600 10px var(--bs-font); cursor: pointer; }
.bs-salon-requests-viewTabs button.bs-salon-requests-active { border-color: var(--bs-orange); color: var(--bs-text); }
.bs-salon-requests-reviewPage { min-height: 100%; padding-top: 42px; padding-bottom: 80px; overflow: auto; }
.bs-salon-requests-intake { width: min(610px,100%); min-height: 0; }
.bs-salon-requests-review { display: grid; gap: 20px; }
.bs-salon-requests-ticketStack { display: grid; gap: 12px; }
.bs-salon-requests-ticketSlot { position: relative; min-width: 0; }
.bs-salon-requests-ticketFace { position: relative; display: grid; width: 100%; min-height: 94px; grid-template-columns: minmax(0,1fr) 92px; align-items: stretch; padding: 0; overflow: hidden; border: 1px solid #d8cdb8; border-radius: 12px; background: #eee5d3; color: #fff; text-align: left; box-shadow: 0 12px 30px rgba(0,0,0,.18); cursor: pointer; transition: transform .28s cubic-bezier(.2,.85,.2,1),border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.bs-salon-requests-ticketFace>span { position: relative; z-index: 2; }
.bs-salon-requests-ticketFace::selection { background: transparent; }
.bs-salon-requests-ticketFace::before,.bs-salon-requests-ticketFace::after { content: ''; position: absolute; z-index: 3; right: 82px; width: 16px; height: 16px; border-radius: 50%; background: var(--bs-canvas); }
.bs-salon-requests-ticketFace::before { top: -9px; }.bs-salon-requests-ticketFace::after { bottom: -9px; }
.bs-salon-requests-ticketFace:hover,.bs-salon-requests-ticketFace:focus-visible { transform: translateX(8px) rotate(-.35deg); border-color: var(--bs-orange); box-shadow: 0 19px 44px rgba(0,0,0,.34),0 0 34px rgba(255,91,0,.12),0 0 0 1px rgba(255,91,0,.22); outline: none; }
.bs-salon-requests-isOpen .bs-salon-requests-ticketFace { z-index: 2; border-color: var(--bs-orange); border-radius: 12px 12px 6px 6px; background: #f6edda; box-shadow: 0 18px 42px rgba(0,0,0,.35),0 0 0 1px rgba(255,91,0,.18); }
.bs-salon-requests-isOpen .bs-salon-requests-ticketFace:hover { transform: none; }
.bs-salon-requests-ticketCopy { display: grid; align-content: center; gap: 7px; padding: 18px 24px; }
.bs-salon-requests-ticketCopy strong { font: 700 20px/1.1 var(--bs-font-display); letter-spacing: -.025em; }
.bs-salon-requests-ticketStub { display: grid; place-items: center; align-content: center; gap: 8px; border-left: 1px dashed #9f9483; color: #ddd; }
.bs-salon-requests-ticketStub i { width: 15px; height: 15px; border: 1px solid #908574; border-radius: 50%; box-shadow: inset 0 0 0 4px #eee5d3; background: #171714; }
.bs-salon-requests-isOpen .bs-salon-requests-ticketStub { color: #c8490b; }
.bs-salon-requests-isOpen .bs-salon-requests-ticketStub i,.bs-salon-requests-ticketFace:hover .bs-salon-requests-ticketStub i,.bs-salon-requests-ticketFace:focus-visible .bs-salon-requests-ticketStub i { border-color: var(--bs-orange); background: var(--bs-orange); box-shadow: inset 0 0 0 4px #fff4dc,0 0 15px rgba(255,91,0,.45); transform: rotate(180deg); transition: transform .45s ease,background .2s ease,box-shadow .2s ease; }
.bs-salon-requests-ticketBackWrap { position: relative; margin: -5px 8px 4px; overflow: hidden; animation: bs-salon-requests-openTicket .34s cubic-bezier(.2,.76,.24,1) both; transform-origin: top; }
.bs-salon-requests-ticketBack { position: relative; display: grid; gap: 14px; padding: 22px; overflow: visible; border: 1px solid #444; border-top: 0; border-radius: 0 0 14px 14px; background: #0b0b0b; color: #fff; box-shadow: 0 24px 54px rgba(0,0,0,.38); }
.bs-salon-requests-ticketBack > * { position: relative; z-index: 1; }
@keyframes bs-salon-requests-openTicket { from { opacity: 0; transform: translateY(-20px) scaleY(.9); } to { opacity: 1; transform: none; } }
.bs-salon-requests-routePicker,.bs-salon-requests-privacy { min-width: 0; margin: 0; padding: 0; border: 0; }
.bs-salon-requests-routePicker legend,.bs-salon-requests-privacy legend,.bs-salon-requests-messageField>span { margin-bottom: 8px; color: #fff; font-size: 11px; font-weight: 750; }
.bs-salon-requests-routePicker>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.bs-salon-requests-routePicker button { min-height: 38px; padding: 8px 10px; border: 1px solid #555; border-radius: 8px; background: #151515; color: #ddd; font: 650 10px var(--bs-font); cursor: pointer; transition: .16s ease; }
.bs-salon-requests-routePicker button:hover,.bs-salon-requests-routePicker button:focus-visible,.bs-salon-requests-routePicker button[aria-pressed='true'] { border-color: var(--bs-orange); background: #1c140f; color: #fff; box-shadow: inset 0 0 0 1px var(--bs-orange); outline: none; }
.bs-salon-requests-messageField { position: relative; display: grid; }
.bs-salon-requests-messageField textarea,.bs-salon-requests-editor input,.bs-salon-requests-editor select,.bs-salon-requests-editor textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid var(--bs-border); border-radius: 8px; background: #080908; color: var(--bs-text); font: 12px/1.55 var(--bs-font); color-scheme: dark; }
.bs-salon-requests-messageField textarea { min-height: 92px; resize: vertical; padding-bottom: 25px; }
.bs-salon-requests-messageField small { position: absolute; right: 10px; bottom: 8px; color: #66655f; font-size: 8px; }
.bs-salon-requests-editor label { color: var(--bs-text); font-size: 12px; font-weight: 600; }
.bs-salon-requests-editor textarea { resize: vertical; min-height: 120px; }
.bs-salon-requests-privacy { display: grid; gap: 9px; }
.bs-salon-requests-privacyChoices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.bs-salon-requests-privacyChoices button { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 10px; border: 1px solid #555; border-radius: 8px; background: #151515; color: #ddd; font: 650 10px var(--bs-font); cursor: pointer; }
.bs-salon-requests-privacyChoices button i { width: 13px; height: 13px; flex: 0 0 auto; border: 1px solid #65645e; border-radius: 50%; }
.bs-salon-requests-privacyChoices button[aria-pressed='true'] { border-color: var(--bs-orange); color: #fff; background: #1c140f; }
.bs-salon-requests-privacyChoices button[aria-pressed='true'] i { border: 4px solid var(--bs-orange); }
.bs-salon-requests-privacyPromise { display: grid; grid-template-columns: 25px 1fr; align-items: start; gap: 9px; padding: 11px 12px; border: 1px solid #555; border-radius: 9px; background: #151515; }
.bs-salon-requests-privacyPromise>span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #333; color: #ddd; font: 800 10px var(--bs-font); }
.bs-salon-requests-privacyPromise p { margin: 0; color: #ccc; font-size: 9.5px; line-height: 1.55; }
.bs-salon-requests-privacyPromise strong { color: #fff; }
.bs-salon-requests-privacyPromise.bs-salon-requests-isAnonymous { border-color: rgba(80,190,120,.25); background: rgba(45,120,72,.09); }
.bs-salon-requests-privacyPromise.bs-salon-requests-isAnonymous>span { background: rgba(80,190,120,.16); color: #7ee0a1; }
.bs-salon-requests-formFooter,.bs-salon-requests-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.bs-salon-requests-formFooter { justify-content: space-between; }
.bs-salon-requests-formFooter button { flex-shrink: 0; }
.bs-salon-requests-success { color: var(--bs-semantic-good); font-size: 12px; }
.bs-salon-requests-error { color: var(--bs-semantic-risk); font-size: 12px; }
.bs-salon-requests-holding { margin: 12px 0 0; padding: 18px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); min-width: 0; }
.bs-salon-requests-holding legend { padding: 0 8px; color: var(--bs-text); font-size: 12px; font-weight: 600; }
.bs-salon-requests-holding p { color: var(--bs-muted); font-size: 12px; line-height: 1.7; margin: 8px 0; }
.bs-salon-requests-history { margin-top: 14px; color: var(--bs-muted); font-size: 11px; }
.bs-salon-requests-history summary { cursor: pointer; padding: 8px 0; }
.bs-salon-requests-guideBackdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.72); backdrop-filter: blur(8px); animation: bs-salon-requests-guideIn .2s ease-out; }
.bs-salon-requests-guide { position: relative; width: min(620px,100%); padding: 38px; overflow: hidden; border: 1px solid var(--bs-orange); border-radius: 18px; background: linear-gradient(145deg,#21120c,#101110 60%); box-shadow: 0 30px 100px rgba(0,0,0,.6),0 0 80px rgba(255,91,0,.12); }
.bs-salon-requests-guide::before,.bs-salon-requests-guide::after { content: ''; position: absolute; left: 72%; width: 30px; height: 30px; border-radius: 50%; background: #050605; border: 1px solid var(--bs-orange); }
.bs-salon-requests-guide::before { top: -16px; }.bs-salon-requests-guide::after { bottom: -16px; }
.bs-salon-requests-guide>span { color: var(--bs-orange); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.bs-salon-requests-guide h2 { max-width: 500px; margin: 12px 0; color: var(--bs-text); font: 650 clamp(32px,5vw,52px)/.95 var(--bs-font-display); letter-spacing: -.045em; }
.bs-salon-requests-guide>p { max-width: 520px; color: var(--bs-muted); font-size: 13px; line-height: 1.7; }
.bs-salon-requests-guide ul { display: grid; gap: 9px; margin: 24px 0; padding: 0; list-style: none; }
.bs-salon-requests-guide li { display: flex; align-items: center; gap: 10px; color: var(--bs-text); font-size: 12px; }
.bs-salon-requests-guide li i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255,91,0,.13); color: var(--bs-orange); font-style: normal; }
.bs-salon-requests-guide footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px dashed rgba(244,239,227,.22); }
.bs-salon-requests-guide footer a { color: var(--bs-text); font-size: 11px; text-decoration-color: var(--bs-orange); text-underline-offset: 4px; }
.bs-salon-requests-guide footer button { padding: 11px 16px; border: 0; border-radius: 999px; background: var(--bs-orange); color: #090a09; font-weight: 800; cursor: pointer; }
.bs-salon-requests-guideClose { position: absolute; top: 18px; right: 20px; border: 0; background: transparent; color: var(--bs-muted); font-size: 26px; cursor: pointer; }
@keyframes bs-salon-requests-guideIn { from { opacity: 0; transform: translateY(8px); } }
@keyframes bs-salon-requests-conductorIdle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.bs-salon-requests-record { padding: 20px; }
.bs-salon-requests-recordMeta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--bs-muted); font-size: 11px; overflow-wrap: anywhere; }
.bs-salon-requests-message { margin: 20px 0; padding-bottom: 20px; border-bottom: 1px solid var(--bs-border); color: var(--bs-text); font-size: 14px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.bs-salon-requests-editor { display: grid; gap: 18px; }
.bs-salon-requests-editor label { display: grid; gap: 8px; }
.bs-salon-requests-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.bs-salon-requests-wide { grid-column: 1/-1; }
.bs-salon-requests-actions span { margin-right: auto; color: var(--bs-muted); font-size: 12px; }
.bs-salon-requests-history > div { border-top: 1px solid var(--bs-border); padding: 12px 0; }
.bs-salon-requests-history strong,.bs-salon-requests-history small { display: block; margin: 4px 0; }
.bs-salon-requests-history p { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .bs-salon-requests-page,.bs-salon-requests-page.bs-salon-requests-isTicketOpen { height: auto; min-height: calc(100dvh - 62px); overflow: visible; }
  .bs-salon-requests-booth { width: calc(100% - 24px); height: auto; grid-template-columns: 1fr; align-content: start; }
  .bs-salon-requests-boothCopy { padding: 42px 0 8px; }
  .bs-salon-requests-boothCopy h1 { margin-bottom: 26px; font-size: 58px; }
  .bs-salon-requests-boothIntro { margin-top: -12px; margin-bottom: 24px; font-size: 11px; }
  .bs-salon-requests-mascotStage { position: relative; top: auto; height: 520px; min-height: 440px; margin: -20px -12% -34px; order: 2; }

  .bs-salon-requests-ticketFace { grid-template-columns: minmax(0,1fr) 74px; }
  .bs-salon-requests-ticketFace::before,.bs-salon-requests-ticketFace::after { right: 65px; }
  .bs-salon-requests-ticketCopy { padding: 17px; }
  .bs-salon-requests-ticketBack { max-height: none; padding: 17px; overflow: visible; }
  .bs-salon-requests-routePicker>div,.bs-salon-requests-privacyChoices,.bs-salon-requests-fields { grid-template-columns: 1fr; }
  .bs-salon-requests-record { padding: 18px; }
  .bs-salon-requests-formFooter { align-items: stretch; flex-direction: column; }
  .bs-salon-requests-formFooter button { width: 100%; }
  .bs-salon-requests-holding { padding: 12px; }
  .bs-salon-requests-guide { padding: 30px 22px 24px; }
  .bs-salon-requests-guide footer { align-items: stretch; flex-direction: column; }
  .bs-salon-requests-guide footer button { width: 100%; }
}
@media (min-width:901px) and (max-width:1200px) {
  .bs-salon-requests-booth { grid-template-columns: minmax(430px,.95fr) 1.05fr; }
  .bs-salon-requests-boothCopy h1 { font-size: 64px; }
  .bs-salon-requests-mascotStage { margin-right: -4vw; }
}
@media (max-height: 820px) and (min-width: 901px) {
  .bs-salon-requests-boothCopy h1 { margin-bottom: 10px; font-size: 62px; }
  .bs-salon-requests-boothIntro { margin-bottom: 16px; }
  .bs-salon-requests-viewTabs { margin-bottom: 12px; }
  .bs-salon-requests-ticketFace { min-height: 82px; }
  .bs-salon-requests-ticketBack { padding: 16px 18px; }
}
@media (prefers-reduced-motion:reduce) { .bs-salon-requests-ticketFace,.bs-salon-requests-mascotArt { transition: none; } .bs-salon-requests-ticketBackWrap,.bs-salon-requests-mascotArt img { animation: none; } }


/* Director workspace: canonical presentation for Sota and Baselines. */
.bs-sota-fundamentals,.bs-baseline-overview{display:grid;gap:24px}
.bs-project-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bs-project-stat{position:relative;display:grid;gap:12px;padding:24px;text-align:left;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);color:var(--bs-text)}
.bs-project-stat>strong{font:700 52px/1 var(--bs-font-display);letter-spacing:-.04em}
.bs-project-stat>.bs-expand-glyph{position:absolute;right:24px;bottom:24px}
.bs-project-stat[aria-expanded=true],.bs-health-strip button[aria-expanded=true]{border-color:var(--bs-orange);background:color-mix(in srgb,var(--bs-orange) 8%,var(--bs-surface))}
.bs-health-strip{padding:22px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface)}
.bs-health-strip h2{margin:0 0 18px;font-size:20px}
.bs-health-strip>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.bs-health-strip button{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-canvas);color:var(--bs-text);text-align:left}
.bs-health-strip button strong{margin-left:auto;font-size:24px}
.bs-detail-panel{scroll-margin-top:100px;border:1px solid var(--bs-orange)!important;border-radius:var(--bs-radius);background:color-mix(in srgb,var(--bs-orange) 5%,var(--bs-surface));padding:22px}
.bs-detail-panel>header,.bs-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.bs-detail-panel h2,.bs-detail-panel h3{margin:0;font-size:20px}.bs-detail-panel h3 small{font-size:12px;color:var(--bs-muted);margin-left:10px}
.bs-icon-button{display:inline-grid;place-items:center;padding:0;line-height:1;flex:none;width:36px;height:36px;border:1px solid var(--bs-orange);background:color-mix(in srgb,var(--bs-orange) 10%,var(--bs-surface));color:var(--bs-orange);border-radius:50%;font-size:22px;cursor:pointer}
.bs-inline-actions{display:flex;flex-wrap:wrap;gap:10px}.bs-project-row-context p{margin:10px 0}.bs-project-row-context a{margin:8px 8px 0 0}
.bs-time-department{margin:16px 0}.bs-time-department-meta{display:flex;justify-content:space-between;gap:16px;padding:12px 0;color:var(--bs-muted)}.bs-time-department-meta small{font-size:9px}
.bs-project-command{overflow:hidden;border-color:var(--bs-border)}
.bs-project-brief{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px;border-bottom:1px solid var(--bs-border)}
.bs-project-readout header{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.bs-project-readout h2{font-size:20px;margin:0}.bs-project-readout time{font-size:11px;color:var(--bs-muted)}
.bs-project-readout>p{font-size:14px;line-height:1.8;margin:16px 0;max-width:90ch}
.bs-project-facts{display:flex;gap:12px 24px;flex-wrap:wrap;margin:18px 0;color:var(--bs-muted);font-size:12px}.bs-project-facts b{color:var(--bs-text)}.bs-project-facts [data-tone=warn] b{color:var(--bs-semantic-warn)}
.bs-project-question{display:flex;gap:8px}.bs-project-question input{min-width:0;flex:1;padding:12px 14px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-canvas);color:var(--bs-text);font:inherit}
.bs-project-context{display:grid;align-content:start;gap:10px}.bs-project-context form{display:grid;gap:10px}.bs-project-context label{display:grid;gap:6px}.bs-project-context textarea,.bs-project-context select{width:100%;background:var(--bs-canvas);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:10px;color:var(--bs-text);font:inherit}
.bs-project-context form button{justify-self:start}.bs-project-discussion{max-height:300px;overflow:auto;overscroll-behavior:contain}.bs-project-discussion article{padding:12px 0;border-bottom:1px solid var(--bs-border)}.bs-project-discussion header{display:flex;justify-content:space-between;gap:12px}.bs-project-discussion small,.bs-project-discussion time{color:var(--bs-muted);font-size:11px}.bs-project-discussion p{white-space:pre-wrap;line-height:1.7}
.bs-project-people{display:flex;flex-wrap:wrap;gap:8px}.bs-project-people span{padding:6px 10px;border:1px solid var(--bs-border);border-radius:20px}
.bs-project-answer{margin-top:16px;padding:16px;background:var(--bs-surface-raised);border-left:2px solid var(--bs-orange);line-height:1.75}.bs-project-answer>div{display:flex;gap:12px;flex-wrap:wrap}.bs-project-answer a{font-size:12px;color:var(--bs-orange)}.bs-project-answer small{display:block;margin-top:12px;color:var(--bs-muted)}
.bs-project-command-fullscreen{overflow:auto!important;display:block!important}.bs-project-command-fullscreen .bs-project-timeline-canvas [class*=scroll]{min-height:0!important}.bs-project-command-fullscreen .bs-project-brief{padding:24px 32px}
.bs-overview-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bs-overview-bubbles button{display:grid;justify-items:center;gap:16px;position:relative;border:1px solid var(--bs-border);background:var(--bs-surface);border-radius:var(--bs-radius);padding:24px;color:var(--bs-text)}.bs-overview-bubbles strong{display:grid;place-items:center;width:80px;height:80px;border:1px solid var(--bs-border);border-radius:50%;font-size:30px;background:var(--bs-canvas)}.bs-overview-bubbles button[aria-expanded=true]{border-color:var(--bs-orange)}.bs-overview-bubbles button[aria-expanded=true] strong{border-color:var(--bs-orange);color:var(--bs-orange)}.bs-overview-bubbles .bs-expand-glyph{position:absolute;bottom:16px;right:16px}.bs-section-heading h2{font-size:24px}.bs-section-heading>span{color:var(--bs-muted);font-size:12px}
@media(max-width:900px){.bs-project-brief{grid-template-columns:1fr}.bs-project-command-fullscreen .bs-project-brief{padding:18px}.bs-project-readout header{align-items:start;flex-direction:column;gap:6px}}
@media(max-width:600px){.bs-project-stats,.bs-overview-bubbles{grid-template-columns:1fr}.bs-project-stat{padding:20px}.bs-project-brief{padding:18px}.bs-project-question{flex-wrap:wrap}.bs-project-question input{flex-basis:100%}}

.bs-baselines .bs-workspace-content{width:calc(100% - 250px);max-width:1800px;margin-left:220px;margin-right:30px}.bs-key-payment{--bs-key-color:var(--bs-semantic-good)}.bs-key-escalation{--bs-key-color:var(--bs-semantic-risk)}.bs-key-checkpoint{--bs-key-color:var(--bs-semantic-warn)}
.bs-baselines .bs-mascot-search.is-placeholder{width:min(320px,100%)}.bs-client-toggle span{display:block;transform:translateY(-1px);font:400 25px/1 var(--bs-font-body)}.bs-client-directory{display:grid;gap:16px}.bs-section-heading>div>h2{margin:0}.bs-section-heading>div>p{margin:6px 0 0;color:var(--bs-muted);font-size:11px}.bs-client-scorecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.bs-client-scorecard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:14px;min-height:92px;padding:17px 18px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);color:var(--bs-text);text-decoration:none}.bs-client-scorecard:hover,.bs-client-scorecard:focus-visible{border-color:var(--bs-orange);background:var(--bs-selectable-active-bg)}.bs-client-scorecard[data-health=attention]{border-left:3px solid var(--bs-semantic-warn)}.bs-client-scorecard[data-health=on-track]{border-left:3px solid var(--bs-semantic-good)}.bs-client-scorecard>span{display:grid;gap:6px;min-width:0}.bs-client-scorecard>span:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.bs-client-scorecard small{color:var(--bs-muted);font-size:9px;line-height:1.4}.bs-client-scorecard b{font-size:20px;text-align:center}.bs-client-scorecard>i{color:var(--bs-orange);font-style:normal;font-size:18px}.bs-escalation-client>.bs-accordion-body{padding:0 18px 18px}.bs-escalation-history{display:grid;gap:10px}.bs-escalation-history>article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px;border:1px solid var(--bs-border-quiet);border-radius:9px;background:var(--bs-canvas)}.bs-escalation-history time{display:block;color:var(--bs-muted);font-size:9px}.bs-escalation-history strong{display:block;margin-top:5px;font-size:11px}.bs-escalation-history p{margin:6px 0 0;color:var(--bs-muted);font-size:11px;line-height:1.5}@media(max-width:700px){.bs-client-scorecards{grid-template-columns:1fr}.bs-escalation-history>article{grid-template-columns:1fr}.bs-escalation-history .bs-inline-actions{justify-content:flex-start}}
@media(max-width:1100px){.bs-baselines .bs-workspace-content{width:calc(100% - 40px);margin-inline:auto}}
/* Baselines key: block appearances (completed, in progress, to begin) form a second row under the markers. */
.bs-mascot-key i.bs-key-block{width:16px;height:8px;border:1px solid transparent;border-radius:2px;box-sizing:border-box}.bs-mascot-key i.bs-key-block.is-complete{background:color-mix(in srgb,#078b84 18%,#262826);border-color:#078b84}.bs-mascot-key i.bs-key-block.is-in-progress{background:#078b84;border-color:#70d8ce}.bs-mascot-key i.bs-key-block.is-upcoming{background:transparent;border:1.5px solid #c5c8ce}
.bs-baselines-key.bs-mascot-key{grid-template-columns:repeat(3,max-content);gap:9px 14px;max-width:calc(100vw - 32px)}
.bs-baselines-key .bs-key-payment{width:8px;height:8px;border-radius:50%;background:var(--bs-semantic-good)}
.bs-baselines-key .bs-key-escalation,.bs-baselines-key .bs-key-checkpoint{position:relative;width:11px;height:12px;border-radius:0;background:transparent;border-left:2px solid var(--bs-key-color)}
.bs-baselines-key .bs-key-escalation::after,.bs-baselines-key .bs-key-checkpoint::after{content:'';position:absolute;left:0;top:0;border-left:8px solid var(--bs-key-color);border-top:4px solid transparent;border-bottom:4px solid transparent}
.bs-baselines-key .bs-key-block.is-complete{background:color-mix(in srgb,var(--bs-semantic-good) 18%,var(--bs-surface));border-color:var(--bs-semantic-good)}
.bs-baselines-key .bs-key-block.is-in-progress{background:var(--bs-semantic-info);border-color:var(--bs-semantic-info)}
.bs-baselines-key .bs-key-block.is-upcoming{background:transparent;border-color:var(--bs-text)}
@media(max-width:560px){.bs-baselines-key.bs-mascot-key{grid-template-columns:repeat(2,max-content)}}
@media(min-width:561px){.bs-baselines .bs-hero.has-stage-footer{min-height:414px;padding-bottom:24px}}

/* Ticket Booth: quiet, practical intake. */
.bs-salon-requests-booth{grid-template-columns:minmax(460px,1.2fr) minmax(320px,.8fr);gap:36px;align-items:start}.bs-salon-requests-boothCopy{justify-content:flex-start;padding-top:64px}.bs-salon-requests-boothCopy h1{font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.055em}.bs-salon-requests-boothIntro{font-size:14px;max-width:58ch;margin-bottom:28px}.bs-salon-requests-mascotStage{height:650px;min-height:0;margin:40px 0 0;top:90px}.bs-salon-requests-mascotArt{inset:25px;transform:none}.bs-salon-requests-mascotArt img{animation:none;object-position:center}.bs-salon-requests-booth::before{display:none}.bs-salon-requests-ticketFace{box-shadow:none;min-height:72px}.bs-salon-requests-ticketBody{box-shadow:none}.bs-salon-requests-typeGrid button{text-align:left;padding:12px 14px;font-size:12px}
@media(max-width:900px){.bs-salon-requests-booth{grid-template-columns:1fr;max-width:680px}.bs-salon-requests-mascotStage{display:none}.bs-salon-requests-boothCopy{padding-top:36px;min-height:0}.bs-salon-requests-page{overflow:visible;height:auto}}

/* Organization chart: canonical global presentation */
/* The diagram owns geometry and depth. Baldspot owns typography, controls,
   action states, canvas color, and motion timing. */
.bs-org-chart-workspace { color:var(--bs-text); min-width:0; font-family:var(--bs-font); }
.bs-org-chart-workspace * { box-sizing:border-box; }
.bs-org-chart-toolbar { display:flex; align-items:center; gap:20px; padding:18px 28px; border-bottom:1px solid var(--bs-border-quiet); }
.bs-org-chart-toolbar h1 { margin:0 12px 0 0; font:600 18px/1.2 var(--bs-font); letter-spacing:-.5px; white-space:nowrap; }
.bs-org-chart-tabs { display:flex; gap:6px; }
.bs-org-chart-search { position:relative; margin-left:auto; width:220px; }
.bs-org-chart-results { position:absolute; top:44px; left:0; right:0; z-index:30; max-height:350px; overflow:auto; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface-raised); box-shadow:0 20px 50px #0009; }
.bs-org-chart-results button { display:grid; gap:5px; width:100%; padding:14px; text-align:left; border:0; border-bottom:1px solid var(--bs-border-quiet); background:transparent; color:var(--bs-text); font:inherit; cursor:pointer; }
.bs-org-chart-results small { font-size:10px; color:var(--bs-muted); }
.bs-org-chart-results p { padding:12px; }
.bs-org-chart-body { display:flex; min-width:0; position:relative; }
.bs-org-chart-viewport { flex:1; min-width:0; position:relative; height:calc(100dvh - var(--bs-bar-height) - 118px); min-height:560px; }
.bs-org-chart-overview { overflow:auto; padding:30px 38px 38px; overscroll-behavior:contain; }
.bs-org-chart-leadership { display:flex; justify-content:center; gap:16px; padding:0 0 38px; position:relative; }
.bs-org-chart-leadership:empty { display:none; }
.bs-org-chart-leadership::after { content:''; position:absolute; width:1px; height:24px; left:50%; bottom:5px; background:var(--bs-border); }
.bs-org-chart-leadership>button { display:flex; align-items:center; gap:14px; width:310px; min-height:96px; padding:18px; text-align:left; background:var(--bs-surface); border:1px solid var(--bs-border); border-radius:7px; color:var(--bs-text); cursor:pointer; font:inherit; }
.bs-org-chart-departmentGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 26px; max-width:1560px; margin:0 auto; }
.bs-org-chart-department { position:relative; min-width:0; padding:18px 18px 12px; border:1px solid var(--bs-border-quiet); border-radius:var(--bs-radius); background:color-mix(in srgb,var(--bs-surface) 65%,transparent); transition:border-color var(--bs-motion-fast) var(--bs-ease); }
.bs-org-chart-department:hover,.bs-org-chart-department:focus-within { z-index:2; border-color:var(--bs-border); }
.bs-org-chart-department header { display:flex; align-items:baseline; justify-content:space-between; gap:14px; min-height:49px; }
.bs-org-chart-department h2 { margin:0; font:600 13px/1.5 var(--bs-font); letter-spacing:-.15px; }
.bs-org-chart-department header>span { color:var(--bs-muted); font-size:10px; }
.bs-org-chart-departmentPeople { height:142px; position:relative; perspective:900px; margin-top:2px; }
.bs-org-chart-departmentPeople>button { position:absolute; display:flex; align-items:center; gap:11px; inset:0 0 auto; height:106px; padding:16px 13px; text-align:left; background:var(--bs-surface-raised); color:var(--bs-text); border:1px solid var(--bs-border); border-radius:7px; font:inherit; cursor:pointer; transform-origin:50% 100%; transform:translate3d(calc(var(--sheet)*3px),calc(var(--sheet)*13px),calc(var(--sheet)*-12px)) rotateX(calc(var(--sheet)*-2deg)); z-index:calc(5 - var(--sheet)); box-shadow:0 9px 15px #0003; transition:transform var(--bs-motion-slow) var(--bs-ease),border-color var(--bs-motion-fast) var(--bs-ease),box-shadow var(--bs-motion-slow) var(--bs-ease); }
.bs-org-chart-department:hover .bs-org-chart-departmentPeople>button,.bs-org-chart-department:focus-within .bs-org-chart-departmentPeople>button { transform:translate3d(calc(var(--sheet)*4px),calc(var(--sheet)*19px - 5px),calc(var(--sheet)*-6px)) rotateX(0); box-shadow:0 14px 24px #0004; }
.bs-org-chart-departmentPeople>button:focus-visible { z-index:8; transform:translateY(0); }
.bs-org-chart-department footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:6px; }
.bs-org-chart-department footer>span { color:var(--bs-muted); font-size:9px; }
.bs-org-chart-avatar { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:50%; border:1px solid var(--bs-border); background:var(--bs-surface-raised); color:var(--bs-muted); font:600 11px var(--bs-font); overflow:hidden; }
.bs-org-chart-avatar img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:filter var(--bs-motion-slow) var(--bs-ease); }
button:hover>.bs-org-chart-avatar img,button:focus-visible>.bs-org-chart-avatar img { filter:grayscale(0); }
.bs-org-chart-personCopy { display:flex; flex-direction:column; gap:5px; min-width:0; width:100%; text-align:left; }
.bs-org-chart-personCopy strong { font:600 11px/1.4 var(--bs-font); overflow-wrap:anywhere; color:var(--bs-text); }
.bs-org-chart-personCopy>span { font:400 9px/1.5 var(--bs-font); color:var(--bs-muted); }
.bs-org-chart-personCopy small { display:flex; justify-content:space-between; gap:9px; align-items:center; font:400 8px/1.4 var(--bs-font); color:var(--bs-muted); }
.bs-org-chart-personCopy small>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bs-org-chart-personCopy time { font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--bs-text); }
.bs-org-chart-canvas { overflow:hidden; touch-action:none; cursor:grab; background-image:radial-gradient(var(--bs-border-quiet) .65px,transparent .65px); background-size:24px 24px; }
.bs-org-chart-canvas:active { cursor:grabbing; }
.bs-org-chart-scene { position:absolute; left:0; top:0; transform-origin:0 0; will-change:transform; animation:bs-org-chart-arrive var(--bs-motion-slow) var(--bs-ease) both; }
.bs-org-chart-frame { position:absolute; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface); }
.bs-org-chart-band { background:transparent; border:0; }
.bs-org-chart-team { box-shadow:0 0 0 4px var(--bs-canvas),0 0 0 5px var(--bs-border-quiet),0 12px 28px #0004; }
.bs-org-chart-box { background:var(--bs-surface-raised); }
.bs-org-chart-tint { background:color-mix(in srgb,var(--bs-surface-raised) 60%,var(--bs-canvas)); border-color:var(--bs-border-quiet); }
.bs-org-chart-frameTitle { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:34px; padding:7px; text-align:center; border:0; border-radius:7px; background:transparent; color:var(--bs-text); font:600 12px var(--bs-font); position:relative; z-index:3; cursor:pointer; }
.bs-org-chart-band .bs-org-chart-frameTitle { min-height:50px; background:var(--bs-surface-raised); border:1px solid var(--bs-border); font-size:14px; }
.bs-org-chart-band .bs-org-chart-avatar { width:30px; height:30px; }
.bs-org-chart-team .bs-org-chart-frameTitle { justify-content:space-between; padding:22px 24px; font-size:17px; }
.bs-org-chart-team .bs-org-chart-frameTitle small { color:var(--bs-muted); font:400 10px var(--bs-font); }
.bs-org-chart-teamSummary { position:absolute; top:79px; left:24px; right:24px; margin:0; color:var(--bs-muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bs-org-chart-person { position:absolute; display:flex; align-items:center; gap:12px; padding:15px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-surface); color:var(--bs-text); font:inherit; text-align:left; z-index:4; cursor:pointer; box-shadow:0 3px 0 var(--bs-canvas),0 4px 0 var(--bs-border-quiet),0 9px 18px #0002; }
.bs-org-chart-person .bs-org-chart-personCopy strong { font-size:12px; }
.bs-org-chart-person .bs-org-chart-personCopy>span { font-size:10px; }
.bs-org-chart-person .bs-org-chart-personCopy small { font-size:9px; }
.bs-org-chart-person .bs-org-chart-personCopy>span,.bs-org-chart-person .bs-org-chart-personCopy small,.bs-org-chart-teamSummary { transition:opacity var(--bs-motion-slow) var(--bs-ease),translate var(--bs-motion-slow) var(--bs-ease); }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy>span,.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy small,.bs-org-chart-scene[data-detail=wide] .bs-org-chart-teamSummary { opacity:.2; translate:0 3px; }
.bs-org-chart-scene[data-detail=close] .bs-org-chart-person .bs-org-chart-personCopy>span,.bs-org-chart-scene[data-detail=close] .bs-org-chart-person .bs-org-chart-personCopy small,.bs-org-chart-scene[data-detail=close] .bs-org-chart-teamSummary { opacity:1; translate:0 0; }
.bs-org-chart-openRole { border-style:dashed; }
.bs-org-chart-openRole .bs-org-chart-avatar { border-style:dashed; }
.bs-org-chart-openRole .bs-org-chart-personCopy strong { color:var(--bs-muted); }
.bs-org-chart-selected { outline:1px solid var(--bs-orange); outline-offset:3px; }
.bs-org-chart-dimmed { opacity:.25; }
.bs-org-chart-lines { position:absolute; left:0; top:0; pointer-events:none; z-index:2; overflow:visible; }
.bs-org-chart-lines path { fill:none; stroke:var(--bs-muted); stroke-width:1.3; }
.bs-org-chart-lines .bs-org-chart-dashed { stroke-dasharray:6 5; }
.bs-org-chart-lines .bs-org-chart-activeLine { stroke:var(--bs-orange); stroke-width:2; stroke-dasharray:8 3; animation:bs-org-chart-trace var(--bs-motion-slow) var(--bs-ease) both; }
.bs-org-chart-canvasTop { position:absolute; left:18px; top:16px; display:flex; gap:8px; z-index:7; }
.bs-org-chart-canvasTop select { max-width:235px; }
.bs-org-chart-workspace select,.bs-org-chart-inspector input,.bs-org-chart-inspector textarea { min-height:var(--bs-control-height); padding:9px 11px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-surface); color:var(--bs-text); font:500 10px var(--bs-font); }
.bs-org-chart-canvasBottom { position:absolute; left:18px; right:18px; bottom:16px; display:flex; align-items:center; justify-content:space-between; z-index:7; pointer-events:none; }
.bs-org-chart-canvasBottom>span { font-size:10px; color:var(--bs-muted); }
.bs-org-chart-canvasBottom>div { display:flex; align-items:center; gap:5px; pointer-events:auto; }
.bs-org-chart-canvasBottom>div>span { min-width:48px; text-align:center; font-size:10px; font-variant-numeric:tabular-nums; }
.bs-org-chart-minimap { position:absolute; right:18px; top:16px; width:140px; height:64px; background:var(--bs-surface); border:1px solid var(--bs-border); border-radius:7px; cursor:crosshair; }
.bs-org-chart-inspector { width:330px; flex-shrink:0; padding:24px; border-left:1px solid var(--bs-border); background:var(--bs-surface); max-height:calc(100dvh - var(--bs-bar-height) - 118px); min-height:560px; overflow:auto; animation:bs-org-chart-reveal var(--bs-motion-slow) var(--bs-ease); }
.bs-org-chart-inspector header { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; margin-bottom:22px; }
.bs-org-chart-inspector header small { color:var(--bs-muted); font-size:9px; }
.bs-org-chart-inspector h2 { font:600 18px/1.4 var(--bs-font); margin:7px 0; }
.bs-org-chart-inspector h3 { font-size:12px; margin:0 0 12px; }
.bs-org-chart-inspector label { display:grid; gap:7px; margin-bottom:17px; font-size:10px; color:var(--bs-muted); }
.bs-org-chart-inspector input,.bs-org-chart-inspector select,.bs-org-chart-inspector textarea { width:100%; min-width:0; resize:vertical; }
.bs-org-chart-inspector section { border-top:1px solid var(--bs-border-quiet); margin-top:25px; padding-top:22px; }
.bs-org-chart-inspector section>select { margin-bottom:9px; }
.bs-org-chart-inspector p { font-size:11px; color:var(--bs-muted); line-height:1.7; white-space:pre-wrap; }
.bs-org-chart-inspector .bs-org-chart-check { display:flex; align-items:center; gap:9px; }
.bs-org-chart-check input { width:auto; }
.bs-org-chart-inspector .bs-org-chart-danger { color:var(--bs-semantic-risk); margin-top:25px; }
.bs-org-chart-profileHero { display:flex; gap:15px; align-items:center; padding-bottom:15px; }
.bs-org-chart-profileHero .bs-org-chart-avatar { width:56px; height:56px; }
.bs-org-chart-profileHero .bs-org-chart-personCopy strong { font-size:15px; }
.bs-org-chart-profileHero .bs-org-chart-personCopy>span { font-size:11px; }
.bs-org-chart-connection { display:flex; align-items:center; gap:8px; font-size:10px; color:var(--bs-muted); border-top:1px solid var(--bs-border-quiet); margin-top:12px; padding-top:12px; }
.bs-org-chart-connection button { margin-left:auto; }
.bs-org-chart-editbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 28px; border-bottom:1px solid var(--bs-border-quiet); }
.bs-org-chart-editbar>span { color:var(--bs-muted); font-size:10px; margin-right:auto; }
.bs-org-chart-notice { padding:10px 28px; display:flex; align-items:center; gap:12px; font-size:11px; border-bottom:1px solid var(--bs-border-quiet); }
.bs-org-chart-status { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:35px; padding:10px 28px; color:var(--bs-muted); font:400 9px var(--bs-font); border-top:1px solid var(--bs-border-quiet); }
.bs-org-chart-status>span:last-child { display:flex; gap:8px; align-items:center; white-space:nowrap; }
.bs-org-chart-status i { display:inline-block; width:18px; border-top:1px solid var(--bs-muted); margin-left:9px; }
.bs-org-chart-status .bs-org-chart-dashLegend { border-top-style:dashed; }
.bs-org-chart-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; min-height:350px; padding:30px; text-align:center; color:var(--bs-muted); }
.bs-org-chart-empty h2 { color:var(--bs-text); font:600 20px var(--bs-font); }
.bs-org-chart-scrim { position:fixed; z-index:1000; inset:0; background:#000b; display:grid; place-items:center; padding:20px; }
.bs-org-chart-dialog { padding:30px; width:min(480px,100%); background:var(--bs-surface-raised); border:1px solid var(--bs-border); border-radius:var(--bs-radius); box-shadow:0 30px 100px #000a; }
.bs-org-chart-dialog h2 { font:600 21px var(--bs-font); margin:0 0 15px; }
.bs-org-chart-dialog p { font-size:12px; color:var(--bs-muted); line-height:1.7; }
.bs-org-chart-dialog footer { display:flex; justify-content:flex-end; gap:10px; margin-top:25px; }
.bs-org-chart-zoomDetail { position:absolute; right:18px; top:100px; width:260px; max-height:calc(100% - 180px); overflow:auto; overscroll-behavior:contain; z-index:8; padding:20px; background:var(--bs-surface-raised); border:1px solid var(--bs-border); border-radius:var(--bs-radius); cursor:auto; box-shadow:0 4px 0 var(--bs-canvas),0 5px 0 var(--bs-border),0 15px 45px #0005; animation:bs-org-chart-reveal var(--bs-motion-slow) var(--bs-ease) both; }
.bs-org-chart-zoomDetail h3 { font:600 14px var(--bs-font); margin:0 0 12px; }
.bs-org-chart-zoomDetail h4 { font:600 11px var(--bs-font); margin:20px 0 8px; }
.bs-org-chart-zoomDetail p { white-space:pre-wrap; font-size:11px; line-height:1.7; color:var(--bs-muted); margin:0; }
@keyframes bs-org-chart-arrive { from { opacity:.15; } to { opacity:1; } }
@keyframes bs-org-chart-reveal { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@keyframes bs-org-chart-trace { from { stroke-dashoffset:22; } to { stroke-dashoffset:0; } }
@media(min-width:1900px) { .bs-org-chart-overview { padding-top:50px; }.bs-org-chart-departmentGrid { gap:34px; }.bs-org-chart-leadership { padding-bottom:50px; } }
@media(max-width:1200px) { .bs-org-chart-departmentGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.bs-org-chart-overview { padding:24px; }.bs-org-chart-inspector { width:305px; }.bs-org-chart-minimap { display:none; } }
@media(max-width:900px) { .bs-org-chart-departmentGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }.bs-org-chart-toolbar { gap:12px; padding:14px 18px; }.bs-org-chart-toolbar h1 { margin:0; font-size:16px; }.bs-org-chart-search { width:180px; } }
@media(max-width:640px) { .bs-org-chart-toolbar { flex-wrap:wrap; gap:10px; }.bs-org-chart-toolbar h1 { flex:1; }.bs-org-chart-tabs { order:3; }.bs-org-chart-search { order:4; width:auto; flex:1; margin:0; }.bs-org-chart-overview { padding:22px 16px; }.bs-org-chart-leadership { gap:10px; flex-wrap:wrap; padding-bottom:35px; }.bs-org-chart-leadership>button { width:100%; }.bs-org-chart-departmentGrid { grid-template-columns:1fr; gap:22px; }.bs-org-chart-departmentPeople { height:148px; }.bs-org-chart-viewport { min-height:540px; height:calc(100dvh - var(--bs-bar-height) - 160px); }.bs-org-chart-inspector { position:absolute; right:0; top:0; bottom:0; z-index:20; width:min(340px,95%); min-height:0; max-height:none; box-shadow:-20px 0 60px #0008; }.bs-org-chart-status { padding:10px 16px; flex-direction:column; align-items:flex-start; font-size:8px; }.bs-org-chart-canvasBottom>span { display:none; }.bs-org-chart-canvasBottom { justify-content:flex-end; }.bs-org-chart-canvasTop { left:12px; right:12px; }.bs-org-chart-canvasTop select { width:50%; }.bs-org-chart-editbar,.bs-org-chart-notice { flex-wrap:wrap; padding:10px 16px; }.bs-org-chart-zoomDetail { display:none; } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-workspace *,.bs-org-chart-workspace *::before,.bs-org-chart-workspace *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }.bs-org-chart-department:hover .bs-org-chart-departmentPeople>button,.bs-org-chart-department:focus-within .bs-org-chart-departmentPeople>button { transform:translate3d(calc(var(--sheet)*3px),calc(var(--sheet)*13px),0); } }
/* A quiet, coloured universe is the first level of the chart. */
.bs-org-chart-universe { overflow:hidden; background:radial-gradient(ellipse at 50% 45%,#24223488,transparent 60%),radial-gradient(ellipse at 20% 65%,#11393255,transparent 48%); }
.bs-org-chart-orbitStage { position:relative; width:100%; height:100%; max-width:1600px; margin:auto; min-height:560px; }
.bs-org-chart-orbitLines { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.bs-org-chart-orbitLines ellipse { fill:none; stroke:#a7abc0; stroke-opacity:.13; stroke-width:.8; }
.bs-org-chart-orbitLines path { fill:none; stroke-width:.7; stroke-opacity:.22; stroke-dasharray:2 7; }
.bs-org-chart-orbitCore { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; align-items:center; flex-direction:column; gap:10px; width:270px; text-align:center; }
.bs-org-chart-orbitCore>strong { font-size:15px; font-weight:600; }
.bs-org-chart-orbitCore>small { font-size:10px; color:var(--bs-muted); }
.bs-org-chart-coreHalo { position:absolute; z-index:-1; width:250px; height:250px; top:50%; transform:translateY(-50%); border:1px solid #b6a8d62b; border-radius:50%; box-shadow:0 0 65px #ae77bd17,inset 0 0 60px #bc967516; }
.bs-org-chart-corePeople { display:flex; justify-content:center; gap:14px; }
.bs-org-chart-corePeople button { background:none; border:0; color:var(--bs-text); font:500 9px var(--bs-font); display:flex; flex-direction:column; gap:9px; align-items:center; width:110px; cursor:pointer; }
.bs-org-chart-corePeople .bs-org-chart-avatar { width:48px; height:48px; border-color:#c9b4cd88; }
.bs-org-chart-planet { position:absolute; left:var(--planet-x); top:var(--planet-y); transform:translate(-50%,-50%); width:200px; display:flex; align-items:center; flex-direction:column; gap:7px; background:none; border:0; color:var(--bs-text); font-family:var(--bs-font); cursor:pointer; padding:6px; border-radius:24px; }
.bs-org-chart-planet:focus-visible { outline:2px solid var(--team-color); outline-offset:5px; }
.bs-org-chart-planetArt { width:120px; height:120px; display:block; transition:transform 400ms var(--bs-ease); animation:bs-org-chart-planetFloat 8s ease-in-out var(--delay) infinite alternate; }
.bs-org-chart-planetArt img { width:100%; height:100%; object-fit:contain; filter:hue-rotate(var(--hue)) saturate(.75) drop-shadow(0 10px 22px #0006); }
.bs-org-chart-planet:hover .bs-org-chart-planetArt { transform:scale(1.12) rotate(-7deg); }
.bs-org-chart-planet strong { font-size:12px; font-weight:600; color:var(--team-color); text-align:center; }
.bs-org-chart-planet small { font-size:10px; color:var(--bs-muted); }
.bs-org-chart-planet small span { color:var(--team-color); margin-left:5px; }
.bs-org-chart-universeHint { position:absolute; bottom:20px; width:100%; text-align:center; font-size:10px; color:#c0b6ca; }
.bs-org-chart-universeHint span { margin-left:10px; color:var(--bs-muted); }
.bs-org-chart-emptyUniverse { position:absolute; top:75%; left:50%; transform:translateX(-50%); }
.bs-org-chart-avatar img { filter:none; }
.bs-org-chart-department { border-top:2px solid var(--team-color); background:linear-gradient(155deg,color-mix(in srgb,var(--team-color) 7%,var(--bs-surface)),var(--bs-surface) 65%); }
.bs-org-chart-department h2 { color:var(--team-color); }
.bs-org-chart-departmentPeople>button { background:var(--bs-surface-raised)!important; }
.bs-org-chart-departmentPeople>button:not(:first-child) .bs-org-chart-personCopy,.bs-org-chart-departmentPeople>button:not(:first-child) .bs-org-chart-avatar { visibility:hidden; }
.bs-org-chart-team { border-color:color-mix(in srgb,var(--team-color) 45%,var(--bs-border)); background:linear-gradient(150deg,color-mix(in srgb,var(--team-color) 8%,var(--bs-surface)),var(--bs-surface) 60%); }
.bs-org-chart-team .bs-org-chart-frameTitle { color:var(--team-color); }
.bs-org-chart-person { border-left:3px solid color-mix(in srgb,var(--team-color) 70%,var(--bs-border)); }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy>span,.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy small { opacity:.65; }
@keyframes bs-org-chart-planetFloat { from { translate:0 -4px; } to { translate:0 5px; } }
@media(max-width:900px) { .bs-org-chart-planet { width:165px; }.bs-org-chart-planetArt { width:95px; height:95px; }.bs-org-chart-orbitCore { width:200px; }.bs-org-chart-coreHalo { width:210px; height:210px; }.bs-org-chart-corePeople { gap:0; }.bs-org-chart-corePeople button { width:95px; }.bs-org-chart-orbitCore>strong { font-size:12px; } }
@media(max-width:640px) { .bs-org-chart-universe { overflow:auto; }.bs-org-chart-orbitStage { height:auto; min-height:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 8px; padding:24px 12px 70px; }.bs-org-chart-orbitLines { display:none; }.bs-org-chart-orbitCore { position:relative; grid-column:1/-1; top:auto; left:auto; transform:none; width:100%; margin:10px 0 24px; padding:25px 0; }.bs-org-chart-coreHalo { width:220px; height:190px; }.bs-org-chart-planet { position:relative; left:auto; top:auto; transform:none; width:100%; }.bs-org-chart-planetArt { width:115px; height:115px; }.bs-org-chart-planet strong { font-size:11px; }.bs-org-chart-universeHint { bottom:20px; font-size:9px; }.bs-org-chart-universeHint span { display:none; }.bs-org-chart-toolbar .bs-org-chart-tabs { width:100%; }.bs-org-chart-toolbar .bs-org-chart-search { flex-basis:100%; }.bs-org-chart-viewport { height:calc(100dvh - var(--bs-bar-height) - 200px); } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-planetArt { animation:none; }.bs-org-chart-planet:hover .bs-org-chart-planetArt { transform:none; } }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy { display:none; }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person { justify-content:center; padding:0; background:color-mix(in srgb,var(--team-color) 8%,var(--bs-surface)); }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-person .bs-org-chart-avatar { width:clamp(38px,calc(24px / var(--map-scale)),86px); height:clamp(38px,calc(24px / var(--map-scale)),86px); font-size:24px; }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-team .bs-org-chart-frameTitle { font-size:clamp(17px,calc(13px / var(--map-scale)),56px); padding:16px 20px; }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-team .bs-org-chart-frameTitle small { font-size:clamp(10px,calc(9px / var(--map-scale)),36px); }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-band .bs-org-chart-frameTitle { font-size:clamp(14px,calc(10px / var(--map-scale)),36px); }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-box .bs-org-chart-frameTitle,.bs-org-chart-scene[data-detail=wide] .bs-org-chart-tint .bs-org-chart-frameTitle { visibility:hidden; }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-team .bs-org-chart-frameTitle small { display:none; }
.bs-org-chart-scene[data-detail=wide] .bs-org-chart-team .bs-org-chart-frameTitle { justify-content:flex-start; text-align:left; line-height:1.15; }
/* The plan is a printed architectural spread; the app controls retain Baldspot styling. */
.bs-org-chart-canvas,.bs-org-chart-salonOverview,.bs-org-chart-overview { user-select:none; -webkit-user-select:none; }
.bs-org-chart-canvas img,.bs-org-chart-salonOverview img,.bs-org-chart-overview img { -webkit-user-drag:none; }
.bs-org-chart-salonOverview { overflow:auto; background:#e9dfcc; color:#302b25; padding:26px 36px; }
.bs-org-chart-salonPlan { max-width:1420px; margin:auto; font-family:var(--bs-font); }
.bs-org-chart-planMasthead { display:flex; align-items:center; gap:22px; padding:0 0 20px; border-bottom:3px double #6e6251; }
.bs-org-chart-planMasthead>strong { font:italic 600 37px Georgia,serif; letter-spacing:-1px; }
.bs-org-chart-planMasthead>span:not(.bs-org-chart-barberStripe) { font-size:11px; color:#766650; }
.bs-org-chart-planMasthead>small { margin-left:auto; font-size:10px; }
.bs-org-chart-barberStripe { width:15px; height:43px; border:1px solid #766650; background:repeating-linear-gradient(140deg,#965249 0 8px,#f7efd9 8px 16px,#577876 16px 24px,#f7efd9 24px 32px); }
.bs-org-chart-floorGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin:22px 0; padding:13px; border:4px double #746a59; background:#d7cab3; }
.bs-org-chart-salonRoom { position:relative; min-width:0; min-height:240px; display:flex; flex-direction:column; align-items:stretch; padding:19px 20px 17px; border:3px double #817764; color:#312c25; background:linear-gradient(110deg,color-mix(in srgb,var(--team-color) 12%,#f5edda),#eee4d0); border-radius:1px; text-align:left; cursor:pointer; font-family:var(--bs-font); transition:box-shadow 200ms ease,background-color 200ms ease; }
.bs-org-chart-salonRoom:hover,.bs-org-chart-salonRoom:focus-visible { outline:2px solid var(--team-color); outline-offset:3px; box-shadow:inset 0 0 0 4px #f9f1df,0 6px 16px #52432b22; }
.bs-org-chart-roomNumber { color:#786c59; text-transform:uppercase; font-size:8px; letter-spacing:1px; }
.bs-org-chart-salonRoom>strong { margin-top:9px; font:600 15px/1.35 var(--bs-font); color:var(--team-color); min-height:40px; }
.bs-org-chart-furniture { position:absolute; width:150px; height:90px; right:10px; top:90px; stroke:var(--team-color); stroke-width:1.5; fill:none; opacity:.3; pointer-events:none; }
.bs-org-chart-roomPeople { display:flex; flex-wrap:wrap; max-width:160px; gap:5px; margin-top:25px; margin-bottom:24px; position:relative; min-height:40px; }
.bs-org-chart-roomPeople>span { display:grid; place-items:center; width:34px; height:40px; border:3px solid #fff8e9; background:#d8c9af; box-shadow:0 2px 3px #47331b33; color:#584a37; font-size:9px; }
.bs-org-chart-roomPeople img { width:100%; height:100%; object-fit:cover; }
.bs-org-chart-roomFoot { display:flex; justify-content:space-between; gap:10px; margin-top:auto; font-size:9px; color:#796952; }
.bs-org-chart-roomFoot>span { color:var(--team-color); font-weight:600; }
.bs-org-chart-door { position:absolute; bottom:-5px; left:30px; width:29px; height:31px; border:1px solid #827762; border-bottom:0; border-radius:30px 0 0 0; background:#e4d7c0; transform-origin:right bottom; transition:transform 240ms ease; }
.bs-org-chart-salonRoom:hover .bs-org-chart-door { transform:rotate(-25deg); }
.bs-org-chart-atrium { grid-column:2/4; grid-row:1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:245px; border:2px solid #968a74; background:radial-gradient(ellipse,#f5ecd9,#e5d7bc); position:relative; }
.bs-org-chart-atrium>small { letter-spacing:2px; font-size:9px; margin-bottom:21px; color:#73614b; }
.bs-org-chart-atriumPeople { display:flex; justify-content:center; gap:28px; }
.bs-org-chart-atriumPeople button { display:flex; flex-direction:column; align-items:center; gap:10px; border:0; background:none; color:#40382e; font:600 10px var(--bs-font); cursor:pointer; }
.bs-org-chart-atriumPeople .bs-org-chart-avatar { width:48px; height:56px; border:4px solid #fff8e9; border-radius:1px; box-shadow:0 2px 6px #47331b33; background:#d1c0a1; color:#40382e; }
.bs-org-chart-atrium>span { font:italic 15px Georgia,serif; margin-top:20px; color:#73614b; }
.bs-org-chart-entrance { position:absolute; bottom:-14px; padding:6px 20px; background:#d7cab3; font-size:8px; letter-spacing:2px; }
.bs-org-chart-planCaption { display:flex; justify-content:space-between; gap:20px; font-size:10px; color:#746550; padding:0 0 12px; }
.bs-org-chart-overview { background:#e9dfcc; --bs-text:#302b25; --bs-muted:#746652; --bs-surface:#f5eddc; --bs-surface-raised:#eee3ce; --bs-border:#c1b49c; --bs-border-quiet:#d0c4af; }
.bs-org-chart-canvas { background-color:#e9dfcc; --bs-text:#302b25; --bs-muted:#756650; --bs-surface:#f5eddc; --bs-surface-raised:#eee3ce; --bs-border:#b9aa90; --bs-border-quiet:#d0c4af; --bs-canvas:#e9dfcc; }
.bs-org-chart-canvas .bs-org-chart-person { box-shadow:0 3px 0 #c8baa1,0 7px 12px #53432d12; border-radius:2px; }
.bs-org-chart-canvas .bs-org-chart-frame { border-radius:2px; }
.bs-org-chart-canvas .bs-org-chart-team { border:3px double var(--team-color); box-shadow:0 0 0 5px #d7cab3; }
.bs-org-chart-canvas .bs-org-chart-avatar { border-radius:2px; }
.bs-org-chart-canvas .bs-org-chart-canvasBottom>div>span,.bs-org-chart-canvas .bs-org-chart-canvasBottom>span { color:#514735; }
@media(min-width:1200px) { .bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child { grid-column:3/5; }.bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child .bs-org-chart-furniture { width:250px; }.bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child .bs-org-chart-roomPeople { max-width:240px; } }
@media(max-width:900px) { .bs-org-chart-salonOverview { padding:20px; }.bs-org-chart-floorGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }.bs-org-chart-atrium { grid-column:1/-1; }.bs-org-chart-planMasthead>span:not(.bs-org-chart-barberStripe) { display:none; }.bs-org-chart-salonRoom { min-height:240px; } }
@media(max-width:640px) { .bs-org-chart-salonOverview { padding:14px; }.bs-org-chart-floorGrid { grid-template-columns:1fr; padding:9px; }.bs-org-chart-atrium { grid-column:1; }.bs-org-chart-planMasthead { gap:12px; }.bs-org-chart-planMasthead>strong { font-size:30px; }.bs-org-chart-planMasthead>small { font-size:8px; }.bs-org-chart-planCaption { flex-direction:column; gap:6px; }.bs-org-chart-salonRoom { min-height:230px; } }
@media(min-width:901px) { .bs-org-chart-atrium { grid-column:2; grid-row:1; }.bs-org-chart-atriumPeople { gap:12px; }.bs-org-chart-atriumPeople button { max-width:120px; }.bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child { grid-column:auto; }.bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child .bs-org-chart-furniture { width:150px; }.bs-org-chart-floorGrid .bs-org-chart-salonRoom:last-child .bs-org-chart-roomPeople { max-width:160px; } }
.bs-org-chart-roomPeople>span { font-size:10px!important; line-height:1; }

.bs-org-chart-canvas { overflow:clip; }

.bs-org-chart-toolbar { position:sticky; top:var(--bs-bar-height); z-index:30; background:var(--bs-canvas); }
/* Department overview: peer leaders are visible, with one interaction surface. */
.bs-org-chart-departmentGrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.bs-org-chart-department { cursor:pointer; transition:transform 220ms var(--bs-ease),box-shadow 220ms var(--bs-ease),border-color 220ms var(--bs-ease); }
.bs-org-chart-department:hover,.bs-org-chart-department:focus-visible { transform:translateY(-6px) scale(1.012); box-shadow:0 15px 32px #2723191c; outline:2px solid var(--team-color); outline-offset:2px; }
.bs-org-chart-departmentPeople { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:12px; height:auto; min-height:130px; margin:6px 0 18px; perspective:none; }
.bs-org-chart-peerLead { display:flex; gap:10px; align-items:flex-start; padding:15px 12px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-surface-raised); }
.bs-org-chart-peerLead .bs-org-chart-avatar { width:40px; height:48px; }
.bs-org-chart-peerLead .bs-org-chart-personCopy strong { font-size:12px; }
.bs-org-chart-peerLead .bs-org-chart-personCopy>span { font-size:10px; }
.bs-org-chart-openHint { opacity:0; transition:opacity 160ms ease; }
.bs-org-chart-department:hover .bs-org-chart-openHint,.bs-org-chart-department:focus-visible .bs-org-chart-openHint { opacity:1; }
.bs-org-chart-overview,.bs-org-chart-canvas { --bs-canvas:#f4f3ef; --bs-surface:#fffefa; --bs-surface-raised:#f2f0ea; --bs-border:#d0cdc4; --bs-border-quiet:#e0ddd4; background-color:#f4f3ef; }
/* Match the reference's atrium and surrounding rooms, without a magazine banner. */
.bs-org-chart-salonOverview { background:#f5f4ef; padding:24px; }
.bs-org-chart-planMasthead { border:0; padding-bottom:14px; }.bs-org-chart-planMasthead>strong { font:600 18px var(--bs-font); letter-spacing:-.4px; }.bs-org-chart-barberStripe { display:none; }
.bs-org-chart-floorGrid { grid-template-columns:1fr 1.35fr 1fr; grid-template-rows:auto auto auto; background:#f0eee6; gap:8px; padding:8px; border:3px double #aaa69b; }
.bs-org-chart-atrium { grid-column:2!important; grid-row:2!important; background:#fbfaf5; border:2px solid #b5b0a3; min-height:220px; }
.bs-org-chart-salonRoom { background:#fbfaf5; border:2px solid #b5b0a3; min-height:215px; padding:14px; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(1) { grid-column:1; grid-row:1; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(2) { grid-column:2; grid-row:1; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(3) { grid-column:3; grid-row:1; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(4) { grid-column:1; grid-row:2; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(5) { grid-column:3; grid-row:2; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(6) { grid-column:1/3; grid-row:3; }
.bs-org-chart-floorGrid .bs-org-chart-salonRoom:nth-of-type(7) { grid-column:3; grid-row:3; }
.bs-org-chart-roomNumber { display:none; }.bs-org-chart-salonRoom>strong { min-height:0; margin:0 0 14px; font-size:13px; text-transform:uppercase; letter-spacing:.5px; }.bs-org-chart-furniture { top:12px; right:8px; width:70px!important; height:50px; opacity:.13; }
.bs-org-chart-roomDirectors { display:flex; justify-content:center; gap:14px; margin:0 0 15px; }
.bs-org-chart-roomDirectors>span { display:flex; flex-direction:column; align-items:center; text-align:center; max-width:150px; flex:1; gap:5px; }
.bs-org-chart-roomDirectors>span>span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; overflow:hidden; background:#e3dfd4; font-size:10px; }
.bs-org-chart-roomDirectors img { width:100%; height:100%; object-fit:cover; }.bs-org-chart-roomDirectors strong { font:600 10px/1.3 var(--bs-font); }.bs-org-chart-roomDirectors small { font:400 8px/1.3 var(--bs-font); color:#797469; }
.bs-org-chart-roomPeople { max-width:none!important; justify-content:center; padding:10px; margin:0 0 15px; gap:6px; border:1px solid #e4e0d6; min-height:40px; }
.bs-org-chart-roomPeople>span { width:25px; height:25px; border-radius:50%; border:1px solid #d6d1c5; box-shadow:none; font-size:7px!important; }.bs-org-chart-roomPeople:empty { display:none; }
.bs-org-chart-roomFoot { font-size:8px; }.bs-org-chart-door { background:#f0eee6; bottom:-3px; height:22px; width:22px; }.bs-org-chart-entrance { background:#f0eee6; }.bs-org-chart-atriumPeople .bs-org-chart-avatar { width:64px; height:64px; border-radius:50%; box-shadow:none; }.bs-org-chart-atriumPeople { gap:25px; }
@media(max-width:1000px) { .bs-org-chart-departmentGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .bs-org-chart-departmentGrid { grid-template-columns:1fr; }.bs-org-chart-floorGrid { display:flex; flex-direction:column; }.bs-org-chart-atrium { order:-1; }.bs-org-chart-salonRoom { width:100%; }.bs-org-chart-peerLead { padding:12px 8px; }.bs-org-chart-departmentPeople { grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }.bs-org-chart-openHint { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-department:hover,.bs-org-chart-department:focus-visible { transform:none; } }

/* One continuous chart, using the application's dark surfaces and left rail. */
.bs-org-chart-workspace { display:grid; grid-template-columns:190px minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr) auto; height:calc(100dvh - var(--bs-bar-height)); overflow:hidden; background:var(--bs-canvas); }
.bs-org-chart-toolbar { grid-column:1; grid-row:1/5; position:relative; top:auto; display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:25px 16px; border:0; border-right:1px solid var(--bs-border-quiet); z-index:20; overflow:auto; }
.bs-org-chart-toolbar h1 { margin:0 0 6px; font-size:17px; }.bs-org-chart-search { width:100%; margin:0; }.bs-org-chart-results { position:fixed; left:190px; top:130px; right:auto; width:270px; }
.bs-org-chart-railTeams { display:flex; flex-direction:column; gap:6px; margin-top:8px; }.bs-org-chart-railTeams button { display:flex; align-items:center; gap:9px; text-align:left; white-space:normal; padding:10px 8px; justify-content:flex-start; border-color:transparent; background:transparent; font-size:10px; }.bs-org-chart-railTeams i { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.bs-org-chart-railZoom { margin-top:auto; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:5px; }.bs-org-chart-railZoom>span { font-size:10px; text-align:center; }.bs-org-chart-railZoom>button:last-child { grid-column:1/-1; }.bs-org-chart-railHint { color:var(--bs-muted); font-size:9px; line-height:1.8; }
.bs-org-chart-notice { grid-column:2; grid-row:1; }.bs-org-chart-editbar { grid-column:2; grid-row:2; }.bs-org-chart-body { grid-column:2; grid-row:3; min-height:0; }.bs-org-chart-status { grid-column:2; grid-row:4; padding:8px 18px; font-size:9px; }.bs-org-chart-viewport { height:100%; min-height:0; }.bs-org-chart-inspector { height:100%; min-height:0; max-height:100%; }
.bs-org-chart-canvas { --bs-canvas:inherit; --bs-text:inherit; --bs-muted:inherit; --bs-surface:inherit; --bs-surface-raised:inherit; --bs-border:inherit; --bs-border-quiet:inherit; background:var(--bs-canvas); overflow:clip; }
.bs-org-chart-canvas .bs-org-chart-team { border:1px solid color-mix(in srgb,var(--team-color) 40%,var(--bs-border)); border-top:2px solid var(--team-color); border-radius:10px; box-shadow:none; background:linear-gradient(140deg,color-mix(in srgb,var(--team-color) 5%,var(--bs-surface)),var(--bs-surface) 60%); transition:border-color 200ms,box-shadow 200ms; }
.bs-org-chart-canvas .bs-org-chart-team:hover { border-color:var(--team-color); box-shadow:0 6px 25px #0004; }
.bs-org-chart-canvas .bs-org-chart-person { border-radius:8px; box-shadow:none; border:1px solid var(--bs-border); background:var(--bs-surface-raised); }.bs-org-chart-canvas .bs-org-chart-avatar { border-radius:50%; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person { display:flex; flex-direction:column; justify-content:flex-start; align-items:center; padding:10px; gap:6px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-avatar { width:86px; height:86px; font-size:20px; border-width:1px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-personCopy { display:flex; text-align:center; gap:3px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-personCopy strong { font-size:13px; line-height:1.3; color:var(--bs-text); }
.bs-org-chart-scene[data-browse=true][data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy>span,.bs-org-chart-scene[data-browse=true][data-detail=wide] .bs-org-chart-person .bs-org-chart-personCopy small { display:none; }
.bs-org-chart-scene[data-browse=true][data-detail=close] .bs-org-chart-person .bs-org-chart-avatar { width:42px; height:42px; font-size:13px; }
.bs-org-chart-scene[data-browse=true][data-detail=close] .bs-org-chart-person .bs-org-chart-personCopy>span { display:block; font-size:10px; line-height:1.3; }
.bs-org-chart-scene[data-browse=true][data-detail=close] .bs-org-chart-person .bs-org-chart-personCopy small { display:flex; font-size:8px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person[data-lead=true] { border-color:color-mix(in srgb,var(--team-color) 65%,var(--bs-border)); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team .bs-org-chart-frameTitle { font-size:19px; padding:18px 24px; line-height:1.25; justify-content:space-between; text-align:left; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team .bs-org-chart-frameTitle small { display:block; font-size:12px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-teamSummary { display:none; }.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines { z-index:5; pointer-events:none; }.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines path { stroke-width:2px; stroke:var(--team-color,var(--bs-orange)); opacity:.8; }
@media(max-width:640px) { .bs-org-chart-workspace { grid-template-columns:116px minmax(0,1fr); }.bs-org-chart-toolbar { padding:18px 8px; gap:12px; }.bs-org-chart-toolbar .bs-org-chart-search { width:100%; flex:none; order:0; }.bs-org-chart-toolbar h1 { flex:none; font-size:15px; }.bs-org-chart-railTeams button { font-size:9px; padding:8px 4px; }.bs-org-chart-railZoom { gap:2px; }.bs-org-chart-railZoom button { padding:5px; min-width:0; }.bs-org-chart-status { flex-direction:column; font-size:8px; align-items:flex-start; padding:8px; }.bs-org-chart-results { left:116px; width:calc(100vw - 126px); }.bs-org-chart-inspector { width:min(340px,100%); } }

.salon2-root:has(.bs-org-chart-workspace) { min-height:0; }

/* Render text at its actual zoom size; never stretch a composited scene bitmap. */
.bs-org-chart-scene { will-change:auto; transform:none; animation:none; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person { padding:8px; gap:4px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-avatar { width:72px; height:72px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-personCopy strong { font-size:12px; line-height:1.25; }
.bs-org-chart-scene[data-browse=true][data-detail=close] .bs-org-chart-person .bs-org-chart-avatar { width:32px; height:32px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person .bs-org-chart-avatar { transition:width var(--bs-motion-slow) var(--bs-ease),height var(--bs-motion-slow) var(--bs-ease); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person:hover { border-color:var(--team-color); box-shadow:0 6px 18px #0005; translate:0 -3px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person { transition:border-color var(--bs-motion-fast),box-shadow var(--bs-motion-fast),translate var(--bs-motion-fast); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-box { background:color-mix(in srgb,var(--team-color) 4%,var(--bs-surface)); border-color:var(--bs-border-quiet); border-radius:8px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-box .bs-org-chart-frameTitle { visibility:visible; font-size:14px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines { z-index:2; }.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines path { stroke:var(--bs-muted); stroke-width:1.2px; opacity:.45; }.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines .bs-org-chart-activeLine { stroke:var(--bs-orange); stroke-width:2px; opacity:1; }

.bs-org-chart-scene[data-browse=true] .bs-org-chart-frame[data-branch=true] { display:flex; align-items:center; background:transparent; border:0; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-frame[data-branch=true] .bs-org-chart-frameTitle { border:1px solid var(--team-color); color:var(--team-color); border-radius:30px; padding:10px; background:var(--bs-surface); }
.bs-org-chart-scene[data-browse=true][data-tracing=true] .bs-org-chart-person[data-related=true] { border-color:var(--team-color); box-shadow:0 0 0 1px color-mix(in srgb,var(--team-color) 35%,transparent); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-person { transition:opacity var(--bs-motion-fast),border-color var(--bs-motion-fast),box-shadow var(--bs-motion-fast),translate var(--bs-motion-fast); }

/* Small branded accents, with all diagram content kept crisp and unobstructed. */
.bs-org-chart-canvas { background-image:radial-gradient(ellipse at 48% 30%,#25312d24,transparent 65%),radial-gradient(ellipse at 80% 70%,#492b341a,transparent 55%); }
.bs-org-chart-canvas::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(#aaa9a51c .65px,transparent .65px); background-size:32px 32px; background-position:var(--grid-x,0) var(--grid-y,0); mask-image:radial-gradient(ellipse at center,#0009,transparent 80%); }
.bs-org-chart-railMascot { width:76px; height:76px; object-fit:contain; align-self:center; margin:-8px 0 -10px; opacity:.85; transition:transform var(--bs-motion-slow) var(--bs-ease); }
.bs-org-chart-railMascot:hover { transform:rotate(-6deg) translateY(-2px); }
.bs-org-chart-teamMascot { position:absolute; width:72px; height:72px; right:82px; top:-12px; pointer-events:none; opacity:.75; }
.bs-org-chart-webBadge { position:absolute; left:50%; top:-11px; translate:-50% 0; padding:2px 12px; border:1px solid var(--team-color,var(--bs-border)); border-radius:20px; background:var(--bs-surface); color:var(--team-color,var(--bs-text)); font:600 10px/1.5 var(--bs-font); letter-spacing:.3px; }
.bs-org-chart-profileHero { position:relative; }.bs-org-chart-profileHero .bs-org-chart-webBadge { display:none; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team { box-shadow:inset 0 1px 0 #ffffff08,0 8px 30px #0002; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team[data-focused=true] { border-color:var(--team-color); box-shadow:inset 0 1px 0 #ffffff0c,0 0 0 2px color-mix(in srgb,var(--team-color) 12%,transparent),0 12px 30px #0003; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-lines path { transition:stroke var(--bs-motion-fast),opacity var(--bs-motion-fast); }
@media(max-height:750px) { .bs-org-chart-railMascot { display:none; } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-railMascot:hover { transform:none; } }

/* Editing adds tools over the same camera, rather than mounting a second chart. */
.bs-org-chart-workspace { position:relative; }
.bs-org-chart-editbar { grid-column:auto; grid-row:auto; position:absolute; z-index:35; left:202px; right:12px; top:8px; border:1px solid var(--bs-border); border-radius:8px; box-shadow:0 8px 24px #0003; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-frame[data-branch=true] .bs-org-chart-frameTitle { height:40px; box-sizing:border-box; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team .bs-org-chart-frameTitle { padding-right:104px; }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team .bs-org-chart-frameTitle small { font-variant-numeric:tabular-nums; }
.bs-org-chart-teamMascot { width:68px; height:68px; right:18px; top:-8px; object-fit:contain; opacity:.9; transform-origin:50% 90%; transition:transform 400ms var(--bs-ease),filter 400ms var(--bs-ease); }
.bs-org-chart-team:hover .bs-org-chart-teamMascot,.bs-org-chart-team[data-focused=true] .bs-org-chart-teamMascot { transform:translateY(-5px) rotate(-7deg) scale(1.08); filter:drop-shadow(0 5px 8px #ff690025); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team { transition:box-shadow 300ms var(--bs-ease),border-color 300ms var(--bs-ease); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team:hover { box-shadow:inset 0 1px 0 #ffffff10,0 0 28px color-mix(in srgb,var(--team-color) 8%,transparent); }
.bs-org-chart-personCopy time { font-variant-numeric:tabular-nums; color:var(--bs-text); }
.bs-org-chart-status button { padding:2px 8px; min-height:24px; font-size:10px; }
@media(max-width:640px) { .bs-org-chart-editbar { left:124px; max-height:110px; overflow:auto; }.bs-org-chart-editbar>span { display:none; } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-team:hover .bs-org-chart-teamMascot,.bs-org-chart-team[data-focused=true] .bs-org-chart-teamMascot { transform:none; } }

/* Mirror glass behind the people; light responds independently of the camera. */
.bs-org-chart-canvas { isolation:isolate; background:#0c100f; }
.bs-org-chart-canvas::before { display:none; }
.bs-org-chart-salonBackdrop { position:absolute; inset:-10% -5%; display:flex; gap:5%; padding:7% 8%; pointer-events:none; z-index:-2; transform:translateX(var(--mirror-shift,0px)); transition:transform 650ms cubic-bezier(.2,.8,.2,1); }
.bs-org-chart-salonBackdrop>div { flex:1; border:1px solid #9b927328; border-radius:48% 48% 8px 8px; background:linear-gradient(120deg,#36454012 5%,#8295890c 24%,transparent 25%,transparent 69%,#67796d0d 70%,#111b181a); box-shadow:inset 0 0 0 7px #a7997810,inset 0 0 70px #0006; }
.bs-org-chart-salonBackdrop>div:nth-child(2) { translate:0 -7%; }
.bs-org-chart-salonReflection { position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(ellipse 480px 400px at var(--light-x,50%) var(--light-y,35%),#bdcbb915,transparent 80%),linear-gradient(180deg,#05080755,transparent 35%,#05080799); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team { background:color-mix(in srgb,var(--team-color) 4%,#101513ec); }
.bs-org-chart-scene[data-browse=true] .bs-org-chart-team .bs-org-chart-frameTitle { padding-right:24px; }
.bs-org-chart-navigationPad { margin-top:auto; flex-shrink:0; border:1px solid var(--bs-border); border-radius:10px; padding:10px; background:linear-gradient(135deg,#25332c66,#111613); }
.bs-org-chart-navigationPad svg { display:block; width:100%; height:82px; cursor:grab; touch-action:none; overflow:hidden; border-radius:5px; }
.bs-org-chart-navigationPad svg:active { cursor:grabbing; }
.bs-org-chart-navigationRoom { fill:#6b837a38; stroke:#8a9b8855; stroke-width:8px; }
.bs-org-chart-navigationWindow { fill:#ddcda018; stroke:#e2c997; stroke-width:12px; pointer-events:none; }
.bs-org-chart-navigationPad>span { display:block; text-align:center; color:var(--bs-muted); font-size:9px; margin-top:8px; }
.bs-org-chart-railZoom { margin-top:8px; }
.bs-org-chart-meetCard { position:absolute; z-index:20; left:22px; bottom:22px; width:260px; padding:18px; display:grid; grid-template-columns:56px 1fr; gap:12px; background:#151c19f5; border:1px solid #c8b68a66; border-radius:14px; box-shadow:0 15px 50px #0008; pointer-events:none; animation:bs-org-chart-meetReveal 180ms ease-out; }
.bs-org-chart-meetCard>small { grid-column:1/-1; font-size:10px; color:#c8b68a; }
.bs-org-chart-meetCard .bs-org-chart-avatar { width:56px; height:56px; }
.bs-org-chart-meetCard .bs-org-chart-personCopy strong { font-size:13px; }.bs-org-chart-meetCard .bs-org-chart-personCopy>span { font-size:11px; }.bs-org-chart-meetCard .bs-org-chart-personCopy small { font-size:10px; }
.bs-org-chart-canvas .bs-org-chart-team { cursor:pointer; transition:border-color 180ms,box-shadow 180ms,background 180ms; }
.bs-org-chart-canvas .bs-org-chart-team[data-hovered=true],.bs-org-chart-canvas .bs-org-chart-team.bs-org-chart-selected { border-color:var(--team-color); outline:none; background:color-mix(in srgb,var(--team-color) 12%,#111815); box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 45%,transparent),0 0 35px color-mix(in srgb,var(--team-color) 20%,transparent); }
.bs-org-chart-canvas .bs-org-chart-team .bs-org-chart-frameTitle:hover,.bs-org-chart-canvas .bs-org-chart-team .bs-org-chart-frameTitle:focus { background:transparent; color:var(--team-color); box-shadow:none; }
.bs-org-chart-inlinePlus,.bs-org-chart-departmentPlus { position:absolute; z-index:9; width:24px; height:24px; min-height:24px!important; padding:0!important; border-radius:50%!important; background:#171f1b!important; font-size:16px!important; }
.bs-org-chart-departmentPlus { border-color:#a8b8ad!important; }
.bs-org-chart-inlineActions { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.bs-org-chart-inlineActions small,.bs-org-chart-inlineActions details { grid-column:1/-1; color:var(--bs-muted); font-size:10px; }
.bs-org-chart-inlineActions button { padding:7px 5px; min-height:30px; }
.bs-org-chart-inlineActions details button { margin-top:5px; width:100%; }
.bs-org-chart-toolbar { overflow-y:auto; }
.bs-org-chart-hiringDot { display:grid; place-items:center; width:42px; height:42px; border:1px solid #888; border-radius:50%; color:#060606; background:#252925; font-size:30px; }
.bs-org-chart-canvas .bs-org-chart-openRole { border-style:dashed; }
@keyframes bs-org-chart-meetReveal { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@media(max-height:800px) { .bs-org-chart-navigationPad svg { height:45px; }.bs-org-chart-navigationPad { padding:6px; } }
@media(max-width:640px) { .bs-org-chart-navigationPad svg { height:50px; }.bs-org-chart-navigationPad>span { font-size:8px; }.bs-org-chart-meetCard { display:none; } }
@media(prefers-reduced-motion:reduce) { .bs-org-chart-salonBackdrop { transform:none; }.bs-org-chart-salonReflection { background:linear-gradient(180deg,#05080755,transparent 35%,#05080799); }.bs-org-chart-meetCard { animation:none; } }

/* Team Management and contextual ticket forms */
.team-management-page { padding:40px 24px 90px; }
.team-management { max-width:1180px; margin:0 auto; }
.team-management__header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0 36px; }
.team-management__eyebrow { color:var(--bs-orange); font-size:10px; font-weight:700; letter-spacing:.12em; }
.team-management__header h1 { margin:14px 0; font:700 clamp(32px,4vw,58px)/1.08 var(--bs-font-display); letter-spacing:-.04em; }
.team-management p { line-height:1.7; }
.team-management__header p,.team-management small { color:var(--bs-muted); }
.team-management :where(small) { display:block; margin-top:5px; font-size:11px; }
.team-management :where(button),.team-management__vault a { min-height:38px; padding:9px 15px; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface); color:var(--bs-text); font:600 11px/1.4 var(--bs-font); cursor:pointer; text-decoration:none; transition:background var(--bs-motion-fast),border-color var(--bs-motion-fast); }
.team-management :where(button:hover),.team-management__vault a:hover { border-color:var(--bs-orange); background:color-mix(in srgb,var(--bs-orange) 8%,var(--bs-surface)); }
.team-management__tabs { display:flex; gap:8px; padding-bottom:22px; border-bottom:1px solid var(--bs-border); }
.team-management__tabs button { display:flex; align-items:center; gap:18px; padding:14px 20px; }
.team-management__tabs small { margin:0; }
.team-management__tabs .is-active { border-color:var(--bs-orange); color:var(--bs-orange-soft); background:color-mix(in srgb,var(--bs-orange) 8%,var(--bs-surface)); }
.team-management__filters { display:flex; align-items:flex-end; gap:12px; padding:22px 0; }
.team-management__filters>label:first-child { flex:1; }
.team-management__filters label,.team-management__field,.conditionalField { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:600; }
.team-management input,.team-management select,.team-management textarea,.conditionalField input,.conditionalField select,.conditionalField textarea { width:100%; min-width:0; min-height:40px; padding:10px 12px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-canvas); color:var(--bs-text); font:400 12px/1.5 var(--bs-font); color-scheme:dark; }
.team-management textarea,.conditionalField textarea { resize:vertical; }
.team-management__fields,.conditionalFields__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.team-management__field--wide,.conditionalField--wide { grid-column:1/-1; }
.team-management__section { display:grid; gap:10px; }
.team-management__row,.team-management__record { border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-surface); overflow:hidden; }
.team-management__row>summary { display:flex; align-items:center; gap:20px; padding:20px 22px; cursor:pointer; list-style:none; }
.team-management__row>summary::-webkit-details-marker { display:none; }
.team-management__row>summary:after { content:'+'; margin-left:12px; color:var(--bs-orange); font-size:20px; font-weight:400; }
.team-management__row[open]>summary:after { content:'−'; }
.team-management__row[open] { border-color:color-mix(in srgb,var(--bs-orange) 50%,var(--bs-border)); }
.team-management__row[open]>summary { background:color-mix(in srgb,var(--bs-orange) 6%,var(--bs-surface)); border-bottom:1px solid var(--bs-border); }
.team-management__row-meta { margin-left:auto; text-align:right; }
.team-management__row-meta b { font-size:11px; font-weight:500; }
.team-management__detail { padding:24px; }
.team-management__message { margin:0 0 24px; white-space:pre-wrap; font-size:14px; }
.team-management__structured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0 0 24px; margin:0 0 24px; border-bottom:1px solid var(--bs-border); }
.team-management__structured dt { color:var(--bs-muted); font-size:10px; }
.team-management__structured dd { margin:5px 0 0; overflow-wrap:anywhere; }
.team-management__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.team-management__actions button[type=submit],.team-management__add { border-color:var(--bs-orange); color:var(--bs-orange-soft); }
.team-management__add { margin-bottom:18px; }
.team-management__history { margin-top:24px; padding-top:18px; border-top:1px solid var(--bs-border); }
.team-management__history-list { display:grid; gap:10px; margin-top:12px; }
.team-management__record { padding:20px; }
.team-management__record h3 { margin:0 0 20px; font-size:20px; }
.team-management__new { margin-bottom:20px; }
.team-management__vault { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:16px; margin-bottom:24px; border:1px solid var(--bs-border); border-radius:var(--bs-radius); }
.team-management__vault small { margin:0; }
.team-management__vault a { margin-left:auto; }
.team-management__notice { color:var(--bs-semantic-good); }
.team-management__error { color:var(--bs-semantic-risk); }
.team-management__empty { padding:48px 24px; border:1px dashed var(--bs-border); border-radius:var(--bs-radius); text-align:center; color:var(--bs-muted); }
.team-management__pagination { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:24px; }
.conditionalFields { margin:0 0 24px; padding:20px 0; border:0; border-top:1px solid var(--bs-border); border-bottom:1px solid var(--bs-border); }
.conditionalFields legend { padding:0 8px 0 0; font-size:15px; font-weight:700; }
.conditionalHint { display:block; margin:0 0 18px; font-size:11px; opacity:.7; }
.conditionalFields small.conditionalHint { margin:12px 0 0; }
.org-move-editor { padding-top:20px; margin-top:20px; border-top:1px solid var(--bs-border); }
.org-move-editor h3 { margin:0 0 14px; font-size:15px; }
@media(max-width:680px) {
.team-management-page { padding:20px 16px 60px; }
.team-management__header { align-items:flex-start; }
.team-management__header>button { padding:8px; }
.team-management__tabs { gap:5px; }
.team-management__tabs button { flex:1; padding:12px 10px; gap:8px; }
.team-management__filters { flex-wrap:wrap; }
.team-management__filters>label:first-child { flex-basis:100%; }
.team-management__filters>label { flex:1; }
.team-management__fields,.conditionalFields__grid { grid-template-columns:1fr; }
.team-management__structured { grid-template-columns:repeat(2,minmax(0,1fr)); }
.team-management__row>summary { padding:16px; gap:10px; }
.team-management__detail { padding:18px; }
}
/* Assigned people remain visible beside the selected upcoming work. */
.capacity2-inspector-assigned { display:grid; gap:10px; margin:18px 0; padding-top:16px; border-top:1px solid var(--bs-border); }
.capacity2-inspector-assigned>strong { font-size:11px; }
.capacity2-inspector-assigned>div { display:grid; grid-template-columns:1fr auto; gap:8px; padding:12px; border:1px solid var(--bs-border); border-radius:var(--bs-radius); background:var(--bs-canvas); }
.capacity2-inspector-assigned>div>span { grid-column:1/-1; color:var(--bs-text); font-size:11px; font-weight:600; }
.capacity2-inspector-assigned>div select { min-width:0; font:400 10px var(--bs-font); }
.capacity2-inspector-assigned>div button { font:500 10px var(--bs-font); }
.capacity2-inspector-empty { padding:12px; border:1px dashed var(--bs-border); border-radius:var(--bs-radius); color:var(--bs-muted); }
@media(min-width:561px) { .bs-salon-requests-page .sensitiveTopic { grid-column:2; } }

/* Escalation discussion — shared project workspace */
.bs-escalation-triage-card{padding:24px;color:var(--bs-text);font-size:13px;line-height:1.65;min-width:0}.bs-escalation-triage-card header{border-bottom:1px solid var(--bs-border);padding-bottom:18px}.bs-escalation-triage-card h2{font-size:22px;margin:12px 0}.bs-escalation-triage-card h2 small{font-size:14px;font-weight:400}.bs-escalation-triage-card h3{font-size:12px;color:var(--bs-muted);margin:0 0 10px}.bs-escalation-triage-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.bs-escalation-triage-tags,.bs-escalation-triage-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.bs-escalation-triage-tags span{border:1px solid var(--bs-border);border-radius:20px;padding:3px 10px;text-transform:capitalize;font-size:11px}.bs-escalation-triage-tags span:first-child{border-color:var(--bs-orange);color:var(--bs-orange)}.bs-escalation-triage-actions{padding:18px 0}.bs-escalation-triage-actions select{background:var(--bs-surface);color:inherit;border:1px solid var(--bs-border);padding:8px;border-radius:8px}.bs-escalation-triage-context{display:grid;gap:16px;margin:12px 0 24px}.bs-escalation-triage-context section{border-left:3px solid var(--bs-orange);padding:12px 18px;background:var(--bs-surface)}.bs-escalation-triage-card details{border-top:1px solid var(--bs-border);padding:16px 0}.bs-escalation-triage-card summary{cursor:pointer;font-weight:600}.bs-escalation-triage-reply{padding:16px 0;border-bottom:1px solid var(--bs-border)}.bs-escalation-triage-reply time{display:block;color:var(--bs-muted);font-size:11px}.bs-escalation-triage-comments{margin:20px 0}.bs-escalation-triage-comments textarea{display:block;box-sizing:border-box;width:100%;background:var(--bs-surface);color:inherit;border:1px solid var(--bs-border);border-radius:8px;padding:12px;margin:8px 0}.bs-escalation-triage-card[data-resolved=true] header{opacity:.7}@media(max-width:700px){.bs-escalation-triage-card{padding:16px}.bs-escalation-triage-card h2{font-size:18px}}
.bs-escalation-triage-card{max-width:900px;margin:auto}.bs-escalation-triage-context section{border-radius:var(--bs-radius)}.bs-escalation-triage-card li{overflow-wrap:anywhere}.bs-escalation-triage-card li::marker{color:var(--bs-orange)}

/* Source context within the full-screen project workspace */
.bs-project-recorded-context{border-left:2px solid var(--bs-orange);padding:12px 16px;margin:16px 0;background:var(--bs-surface)}
.bs-project-recorded-context strong{font-size:12px;color:var(--bs-muted)}
.bs-project-recorded-context p{margin:8px 0;font-size:13px;line-height:1.7}
.bs-project-evidence{padding:12px 0;border-bottom:1px solid var(--bs-border)}
.bs-project-evidence summary{cursor:pointer;font-weight:600;font-size:12px;overflow-wrap:anywhere}
.bs-project-evidence p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto}
.bs-project-evidence small{color:var(--bs-muted)}
.bs-project-evidence a,.bs-project-recorded-context a{color:var(--bs-orange)}
.bs-project-context .bs-accordion-body{padding:16px}.bs-project-context .bs-accordion-body>p:first-child{margin-top:0;color:var(--bs-muted);font-size:12px;line-height:1.7}

/* Saved project answers — current response and dated history */
.bs-project-questions{min-width:0}
.bs-answer-heading{display:grid;gap:6px;margin-bottom:14px}
.bs-project-readout .bs-answer-heading{display:grid}
.bs-answer-heading strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.bs-answer-heading span{font-size:11px;color:var(--bs-muted)}
.bs-answer-sources,.bs-answer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.bs-answer-actions{margin-top:16px}
.bs-answer-history{margin-top:14px}
.bs-question-sources{margin-top:14px;padding:14px 16px;border:1px solid var(--bs-border);border-radius:8px;display:grid;gap:8px;font-size:12px}
.bs-question-sources form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bs-question-sources label{font-weight:600}
.bs-question-sources input{min-width:150px;padding:7px 9px;border:1px solid var(--bs-border);border-radius:6px;background:var(--bs-surface);color:var(--bs-text);font:inherit;text-transform:uppercase}
.bs-question-sources p{margin:0;color:var(--bs-muted);line-height:1.6}
.bs-question-sources p.is-good{color:var(--bs-semantic-good)}
.bs-question-sources p.is-warn{color:var(--bs-semantic-warn)}
.bs-project-answer[data-unanswered]{border-left-color:var(--bs-semantic-warn)}
.bs-answer-missing{color:var(--bs-muted);font-size:12px}
.bs-answer-history .bs-accordion-body{padding:16px}
.bs-answer-history .bs-accordion-body>p{font-size:12px;color:var(--bs-muted);line-height:1.6}
.bs-saved-answer{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--bs-border);padding:14px 0;color:var(--bs-text);font:inherit;cursor:pointer}
.bs-saved-answer:hover strong{color:var(--bs-orange)}
.bs-saved-answer strong{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.bs-saved-answer time{flex-shrink:0;color:var(--bs-muted);font-size:11px}
.bs-saved-answer:focus-visible{outline:2px solid var(--bs-orange);outline-offset:3px}
@media(max-width:600px){.bs-saved-answer{align-items:flex-start;flex-direction:column;gap:5px}.bs-answer-actions .bs-button{flex:1 1 100%}}

/* Baselines: timeline first, with comments anchored to calendar dates. */
.bs-project-command .bs-project-monitor-grid{border:1px solid var(--bs-border);border-radius:8px;overflow:visible}
.bs-project-command .bs-project-monitor-rowLabel{border-right:1px solid var(--bs-border)}
.bs-project-command .bs-project-monitor-lines i{border-right-color:var(--bs-border)}
.bs-project-command .bs-project-monitor-ganttCanvas{padding:20px}
.bs-project-command-fullscreen .bs-project-monitor-ganttCanvas{min-height:52vh}
.bs-project-comments{padding:24px;border-top:1px solid var(--bs-border)}
.bs-project-comments>header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bs-project-comments h2{margin:0;font-size:22px}
.bs-project-comments form{display:grid;gap:10px;margin:20px 0;max-width:800px}
.bs-project-comments form>.bs-button{justify-self:start}
.bs-project-comments textarea{width:100%;min-height:90px;padding:12px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-bg);color:var(--bs-text);font:inherit}
.bs-project-monitor-lane[data-pin-mode]{cursor:crosshair;outline:1px dashed var(--bs-orange);outline-offset:-2px}
.bs-timeline-comment-pin{position:relative;grid-row:1;align-self:start;justify-self:center;width:26px;height:26px;z-index:15;transform:translateY(-50%)}
.bs-timeline-comment-pin>button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:2px solid var(--bs-orange);border-radius:50%;background:var(--bs-bg);color:var(--bs-orange);cursor:pointer}
.bs-timeline-comment-pin>div{display:none;position:absolute;left:50%;bottom:30px;transform:translateX(-50%);width:260px;max-width:70vw;padding:14px;background:var(--bs-surface);color:var(--bs-text);border:1px solid var(--bs-orange);border-radius:10px;box-shadow:0 8px 28px #0008;overflow-wrap:anywhere;white-space:normal}
.bs-timeline-comment-pin:hover,.bs-timeline-comment-pin:focus-within{z-index:30}
.bs-timeline-comment-pin:hover>div,.bs-timeline-comment-pin:focus-within>div{display:block}
.bs-timeline-comment-pin small{display:block;color:var(--bs-muted)}
.bs-timeline-comment-pin p{margin:8px 0 0;font-size:12px;line-height:1.6}


.bs-local-sections{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;border-bottom:1px solid var(--bs-border)}
.bs-local-sections [aria-pressed=true]{border-color:var(--bs-orange);color:var(--bs-orange)}
.bs-local-schedule-note{font-size:12px;line-height:1.6;color:var(--bs-muted)}

.bs-lane-add{display:block;margin:12px auto 0;border:1px solid var(--bs-border);border-radius:50%;width:28px;height:28px;padding:0;background:var(--bs-surface);color:var(--bs-orange);font-size:20px;cursor:pointer}
.bs-project-command [data-drag-handle]{cursor:grab;padding:8px;touch-action:none}
.bs-project-command .bs-project-monitor-bar{cursor:pointer}
.bs-project-command .bs-project-monitor-ganttInspector input{color-scheme:dark}
/* Standalone knowledge base consumes this canonical platform stylesheet. */
.kb-shell .category-rail{height:auto;max-height:calc(100dvh - 110px);overflow:auto;top:100px;margin:28px 14px;padding:16px 12px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface)}
.kb-shell .category-rail>button,.kb-shell .kb-department-nav>button{font:600 12px/1.45 var(--bs-font);min-height:42px}
.kb-shell .kb-department-nav{display:grid;gap:3px;padding:8px 0 8px 12px;border-left:1px solid var(--bs-border)}
.kb-shell .kb-department-nav>button{padding:8px 12px;text-align:left;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--bs-muted);cursor:pointer}
.kb-shell .kb-department-nav>button.is-active{border-color:var(--bs-orange);color:var(--bs-text);background:var(--bs-selectable-active-bg)}
.kb-shell .search-stage{width:min(1260px,100%);padding:0 36px 70px}
.kb-shell .search-hero,.kb-shell.has-results .search-hero{min-height:290px;padding:36px 0 24px;grid-template-columns:minmax(0,1fr) 220px;gap:20px}
.kb-shell .search-hero-copy h1,.kb-shell.has-results .search-hero-copy h1{font:800 clamp(38px,4.5vw,72px)/1.04 var(--bs-font);letter-spacing:-.05em;white-space:normal}
.kb-shell .kb-mascot,.kb-shell.has-results .kb-mascot{display:grid;width:200px;height:200px;opacity:1;transform:none}
.kb-shell .results-section{margin-top:24px;padding-top:0}
.kb-shell .result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0}
.kb-shell .result-card{display:grid;grid-template-columns:44px minmax(0,1fr) 16px;align-items:start;gap:16px;padding:22px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface);min-height:150px}
.kb-shell .result-card:hover{border-color:var(--bs-orange);background:var(--bs-surface-raised)}
.kb-shell .result-copy strong{font:700 17px/1.4 var(--bs-font)}
.kb-shell .result-copy p{font:400 12px/1.65 var(--bs-font);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kb-shell .result-icon{width:44px;height:50px;color:var(--bs-orange);border:1px solid currentColor;border-radius:9px;box-shadow:0 0 18px #ff5c0010;background:transparent}
.kb-shell .result-icon svg{width:24px;height:28px;stroke:currentColor;fill:none}
.kb-shell .result-icon:before,.kb-shell .result-icon:after{display:none}
.document-content .kb-media{margin:28px 0}.document-content .kb-media img,.document-content .kb-media video{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--bs-border)}
.document-content .kb-media figcaption{font-size:12px;color:var(--bs-muted);margin-top:8px}
.document-content .kb-tagline{font:500 clamp(24px,3vw,36px)/1.4 var(--bs-font);border-left:3px solid currentColor;padding:12px 24px;margin:30px 0}
.document-content .kb-tagline[data-font=serif]{font-family:Georgia,serif;font-style:italic}
.document-content .kb-tagline[data-tone=orange]{color:var(--bs-orange)}.document-content .kb-tagline[data-tone=mint]{color:#72e5a3}
.kb-content-tools{display:flex;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid var(--bs-border);border-radius:10px}
.kb-content-tools label{display:grid;gap:6px;flex:1;min-width:130px}.kb-content-tools button{align-self:end}
@media(max-width:1000px){.kb-shell .result-list{grid-template-columns:1fr}.kb-shell .search-stage{padding-inline:24px}}
@media(max-width:650px){.kb-shell .search-hero,.kb-shell.has-results .search-hero{grid-template-columns:1fr;min-height:200px}.kb-shell .kb-mascot,.kb-shell.has-results .kb-mascot{display:none}.kb-shell .category-rail{position:static;max-height:none;margin:14px}.kb-shell .search-stage{padding-inline:18px}}

.bs-team-management{width:100%;max-width:none;margin:0;padding:0 0 60px}
.team-management-page .bs-hero-copy{min-width:0}.team-management-page .bs-hero h1{font-size:clamp(48px,7vw,96px);overflow-wrap:anywhere}
.bs-team-management h2{font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;margin:4px 0 10px}
.bs-team-filters{display:grid;gap:14px}.bs-team-filters label{display:grid;gap:6px;font-size:11px;color:var(--bs-muted)}
.bs-team-filters select,.bs-team-filters input{width:100%;min-width:0;padding:9px 6px;background:var(--bs-bg);color:var(--bs-text);border:1px solid var(--bs-border);border-radius:6px;font:inherit}
.bs-team-leave-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.bs-team-leave-heading p{max-width:650px;margin:0;color:var(--bs-muted);font-size:13px}.bs-team-leave-heading>.bs-button{flex:0 0 auto}
.bs-team-filter-tags{display:grid;gap:14px;padding:18px;margin-bottom:20px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface)}
.bs-team-tag-filter{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:14px}.bs-team-tag-filter>span{padding-top:7px;color:var(--bs-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.bs-team-tag-filter>div{display:flex;gap:7px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
.bs-team-tag-filter button,.bs-team-leave-views button{appearance:none;border:1px solid var(--bs-border);border-radius:999px;background:var(--bs-bg);color:var(--bs-muted);font:600 11px/1.2 var(--bs-font);white-space:nowrap;cursor:pointer;transition:border-color var(--bs-motion-fast),color var(--bs-motion-fast),background var(--bs-motion-fast)}
.bs-team-tag-filter button{padding:7px 11px;text-transform:capitalize}.bs-team-tag-filter button:hover,.bs-team-tag-filter button.is-active{border-color:var(--bs-orange);color:var(--bs-text);background:color-mix(in srgb,var(--bs-orange) 10%,var(--bs-bg))}
.bs-team-leave-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.bs-team-leave-stats article{min-width:0;border:1px solid var(--bs-border);border-radius:12px;padding:20px;background:var(--bs-surface);box-shadow:inset 0 2px 0 var(--bs-orange)}
.bs-team-leave-stats span{color:var(--bs-muted);font-size:11px}.bs-team-leave-stats strong{display:block;font-size:clamp(28px,3vw,38px);letter-spacing:-.04em;margin:10px 0 2px}.bs-team-leave-stats small{color:var(--bs-muted);font-size:9px}
.bs-team-leave-views{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.bs-team-leave-views button{display:flex;align-items:center;gap:10px;padding:9px 12px}.bs-team-leave-views button b{display:grid;place-items:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:var(--bs-surface-raised);color:var(--bs-text);font-size:9px}.bs-team-leave-views [aria-pressed=true]{border-color:var(--bs-orange);color:var(--bs-text);background:color-mix(in srgb,var(--bs-orange) 10%,var(--bs-bg))}
.bs-team-table-scroll{max-width:100%;overflow:auto;margin-bottom:24px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-bg)}
.bs-team-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.bs-team-table th{background:var(--bs-surface);color:var(--bs-muted);font-size:11px;font-weight:600}
.bs-team-table td,.bs-team-table th{padding:15px 16px;border-bottom:1px solid var(--bs-border);vertical-align:middle}.bs-team-table tbody tr:last-child td{border-bottom:0}.bs-team-table tbody tr:hover{background:color-mix(in srgb,var(--bs-orange) 3%,transparent)}
.bs-team-table small{display:block;color:var(--bs-muted);margin-top:4px;font-size:10px}.bs-team-leave-table{min-width:850px}.bs-team-leave-table td:first-child{min-width:170px}.bs-team-leave-table td:nth-child(2){width:34%;min-width:230px}.bs-team-date{display:block;max-width:250px;line-height:1.45}
.bs-team-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.bs-team-tag{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;border:1px solid var(--bs-border);border-radius:999px;background:var(--bs-surface);color:var(--bs-muted);font-size:9px;line-height:1.2;text-transform:capitalize;overflow-wrap:anywhere}.bs-team-tag.is-team{border-color:color-mix(in srgb,var(--bs-orange) 42%,var(--bs-border));color:var(--bs-text);background:color-mix(in srgb,var(--bs-orange) 8%,var(--bs-surface))}.bs-team-tag.is-approved{border-color:#3f7658;color:#8bd4aa;background:#193225}.bs-team-tag.is-pending{border-color:#9a6a2b;color:#f1bb6e;background:#342615}.bs-team-tag.is-declined,.bs-team-tag.is-cancelled{border-color:#754447;color:#e4a1a5;background:#321c1e}
.bs-team-sort{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:28px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.bs-team-sort span{color:var(--bs-orange);font-size:12px}.bs-team-person-table{min-width:720px}.bs-team-person-table th:first-child,.bs-team-person-table td:first-child{width:36%;min-width:240px}
.bs-team-management .bs-accordion{max-width:100%;overflow:hidden}.bs-team-management .bs-accordion-body{min-width:0;padding:20px}.bs-team-management .bs-accordion-body>.bs-team-table-scroll{margin-bottom:0}.bs-team-management .bs-empty-state{margin:12px 0 24px}.bs-team-management .bs-empty-state strong{display:block;margin-bottom:7px;color:var(--bs-text)}.bs-team-management .bs-empty-state p{margin:0;color:var(--bs-muted)}.bs-team-loading{min-height:220px;display:grid;place-items:center;color:var(--bs-muted)}
.bs-team-overlap-intro{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);align-items:flex-end;gap:34px;margin-bottom:22px}.bs-team-overlap-intro h3{margin:6px 0 0;font-size:22px}.bs-team-overlap-intro p{margin:0;color:var(--bs-muted);font-size:11px;line-height:1.65}
.bs-team-overlap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}.bs-team-overlap-grid>section{min-width:0;overflow:hidden;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-bg)}.bs-team-overlap-grid>section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--bs-border);background:var(--bs-surface)}.bs-team-overlap-grid h3{margin:0;font-size:14px}.bs-team-overlap-grid header span{display:grid;place-items:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:var(--bs-bg);color:var(--bs-muted);font-size:9px}
.bs-team-overlap-list{max-height:460px;overflow:auto}.bs-team-overlap-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(70px,.35fr) 36px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bs-border)}.bs-team-overlap-list article:last-child{border-bottom:0}.bs-team-overlap-list article>div:first-child{min-width:0}.bs-team-overlap-list strong{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.bs-team-overlap-list span{display:block;margin-top:3px;color:var(--bs-muted);font-size:9px}.bs-team-overlap-list b{text-align:right;color:var(--bs-muted);font-size:10px}.bs-team-overlap-bar{height:4px;overflow:hidden;border-radius:99px;background:var(--bs-surface-raised)}.bs-team-overlap-bar i{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--bs-orange)}
@media(max-width:1000px){.bs-team-leave-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-team-overlap-grid{grid-template-columns:1fr}.bs-team-overlap-intro{grid-template-columns:1fr;gap:10px}}
@media(max-width:650px){.team-management-page .bs-hero h1{font-size:clamp(44px,12.5vw,56px);line-height:.9}.bs-team-leave-heading{display:grid;align-items:flex-start}.bs-team-tag-filter{grid-template-columns:1fr;gap:5px}.bs-team-leave-stats{grid-template-columns:1fr 1fr}.bs-team-leave-stats article{padding:16px}.bs-team-leave-stats strong{font-size:26px}.bs-team-overlap-list article{grid-template-columns:minmax(0,1fr) 34px}.bs-team-overlap-bar{display:none}}

.bs-sota-quarter-section,.bs-sota-okr{padding:24px;margin:20px 0;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface)}
.bs-sota .bs-sota-fundamentals{margin-bottom:24px}.bs-capacity-heading p{max-width:620px;margin:6px 0 0;color:var(--bs-muted);font-size:10px;line-height:1.5}
.bs-sota-filter-form{padding:22px}.bs-sota-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bs-sota-filter-fields label{display:grid;gap:8px;color:var(--bs-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bs-sota-filter-fields .bs-sota-filter-wide{grid-column:1/-1}.bs-sota-filter-fields select{width:100%;min-height:42px;padding:9px 12px;border:1px solid #3b403a;border-radius:7px;background:#090b09;color:var(--bs-text);font:12px var(--bs-font);color-scheme:dark}.bs-sota-filter-form>p{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--bs-border);color:var(--bs-muted);font-size:11px;line-height:1.6}.bs-sota-filter-form footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.bs-sota-quarter-section>header,.bs-sota-okr>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.bs-sota-quarter-section h2,.bs-sota-okr h2{margin:0;font-size:24px}.bs-sota-quarter-section>header a,.bs-sota-okr a{font-size:11px;color:var(--bs-orange)}
.bs-sota-quarter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.bs-sota-quarter-card{padding:20px 16px;border:1px solid var(--bs-border);border-top:2px solid var(--bs-orange);border-radius:10px;background:var(--bs-bg)}
.bs-sota-quarter-card h3{font-size:12px;margin:0 0 12px;color:var(--bs-muted)}
.bs-sota-quarter-card select,.bs-sota-okr select{padding:8px;border:1px solid var(--bs-border);border-radius:6px;background:var(--bs-bg);color:var(--bs-text);color-scheme:dark;font:inherit;font-size:11px}
.bs-sota-quarter-card select option,.bs-sota-okr select option{background:#101110;color:#f3f0ea}
.bs-sota-metric{margin-top:20px}.bs-sota-metric>strong{display:block;font-size:36px;line-height:1.2}.bs-sota-metric small,.bs-sota-data-note{display:block;font-size:10px;line-height:1.6;color:var(--bs-muted);margin-top:8px}
.bs-sota-conversions{display:grid;gap:12px;margin-top:16px}.bs-sota-conversions>div{display:grid;grid-template-columns:1fr auto;gap:4px}.bs-sota-conversions span{font-size:10px}.bs-sota-conversions strong{font-size:17px}.bs-sota-conversions small{grid-column:1/-1;font-size:9px;color:var(--bs-muted)}
.bs-sota-okr>header>div>p{margin:7px 0 0;color:var(--bs-muted);font-size:12px;line-height:1.5}.bs-sota-okr-snapshot{margin:-8px 0 18px;color:var(--bs-muted);font-size:11px}
.bs-sota-okr-departments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bs-sota-okr-departments>button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:92px;padding:20px;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-bg);color:var(--bs-text);text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.bs-sota-okr-departments>button:hover{transform:translateY(-2px);border-color:#ff641a80}.bs-sota-okr-departments>button[aria-expanded=true]{border-color:var(--bs-orange);background:color-mix(in srgb,var(--bs-orange) 8%,var(--bs-bg))}
.bs-sota-okr-departments>button span{display:grid;gap:7px}.bs-sota-okr-departments>button strong{font-size:16px;line-height:1.25}.bs-sota-okr-departments>button small{color:var(--bs-muted);font-size:11px}.bs-sota-okr-departments>button i{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid #ff641a80;border-radius:50%;color:var(--bs-orange);font-size:18px;font-style:normal}
.bs-sota-okr-objectives{margin-top:18px;padding:20px;border:1px solid var(--bs-orange);border-radius:12px;background:color-mix(in srgb,var(--bs-orange) 4%,var(--bs-surface))}.bs-sota-okr-objectives>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.bs-sota-okr-objectives>header span{display:block;color:var(--bs-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.bs-sota-okr-objectives>header h3{margin:5px 0 0;font-size:22px}.bs-sota-okr-objectives>header>strong{font-size:12px;color:var(--bs-muted)}
.bs-sota-okr-objectives .bs-accordion summary{min-height:68px;padding:10px 18px}.bs-sota-okr-objectives .bs-accordion-body{padding:0 18px 18px}
.bs-sota-key-results article{padding:16px 0;border-bottom:1px solid var(--bs-border)}.bs-sota-key-results h4{margin:0 0 10px;font-size:15px}.bs-sota-key-results p{font-size:12px;line-height:1.7}
@media(max-width:1100px){.bs-sota-quarter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bs-sota-okr-departments{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bs-sota-filter-fields{grid-template-columns:1fr}.bs-sota-filter-fields .bs-sota-filter-wide{grid-column:auto}}
@media(max-width:600px){.bs-sota-quarter-grid,.bs-sota-okr-departments{grid-template-columns:1fr}.bs-sota-quarter-section>header,.bs-sota-okr>header{display:grid}.bs-sota-okr-objectives{padding:14px}}

/* SOTA project details use labelled groups instead of an undifferentiated text block. */
.bs-sota-fundamentals>.bs-detail-panel{overflow:hidden}
.bs-sota-fundamentals>.bs-detail-panel>.bs-accordion{margin-top:12px}
.bs-sota-fundamentals>.bs-detail-panel .bs-accordion-body{padding:20px}
.bs-project-row-context{display:grid;gap:20px}.bs-project-row-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bs-project-row-meta>div{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-surface)}
.bs-project-row-meta span,.bs-project-phase-list article span{color:var(--bs-muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.bs-project-row-meta strong{font-size:13px;line-height:1.45}
.bs-project-row-actions{display:flex;flex-wrap:wrap;gap:10px}.bs-project-row-actions .bs-button{margin:0;min-height:38px;padding:0 14px}
.bs-project-phase-list{display:grid;gap:8px}.bs-project-phase-list h4{margin:0 0 2px;font-size:13px}.bs-project-phase-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--bs-border);border-radius:8px}.bs-project-phase-list article>div{display:grid;gap:4px}.bs-project-phase-list article strong{font-size:12px;line-height:1.4}.bs-project-phase-list article em{flex:none;padding:5px 9px;border:1px solid #ff641a60;border-radius:999px;color:var(--bs-orange);font-size:10px;font-style:normal;text-transform:capitalize}
@media(max-width:600px){.bs-project-row-meta{grid-template-columns:1fr}.bs-project-phase-list article{align-items:flex-start;flex-direction:column}}

/* SOTA reporting controls, editable OKRs, and grouped escalation summaries. */
.bs-report-signal-panels-compactProject:hover,.bs-report-signal-panels-compactProject:focus-visible{border-color:var(--bs-orange);background:var(--bs-selectable-active-bg);outline:none}
.bs-sota-quarter-section>header>div:first-child{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.bs-escalation-period,.bs-sota-period-control{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.bs-escalation-period button,.bs-sota-period-control button{min-width:36px;height:34px;border:1px solid var(--bs-border);border-radius:7px;background:var(--bs-bg);color:var(--bs-text);font:600 11px var(--bs-font);cursor:pointer}.bs-escalation-period button[data-active=true],.bs-sota-period-control button[data-active=true]{border-color:var(--bs-orange);background:var(--bs-selectable-active-bg);color:var(--bs-orange)}.bs-escalation-period strong,.bs-sota-period-control strong{padding:0 6px;font-size:11px}
.bs-sota-data-quality{margin:0 0 14px;border:1px solid color-mix(in srgb,var(--bs-semantic-warn) 45%,var(--bs-border));border-radius:8px;color:var(--bs-muted);font-size:11px;overflow:hidden}.bs-sota-data-quality summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;color:var(--bs-text);cursor:pointer}.bs-sota-data-quality summary b{flex:none;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--bs-semantic-warn) 12%,transparent);color:var(--bs-semantic-warn);font-size:9px}.bs-sota-data-quality p{margin:0;padding:0 15px 14px;line-height:1.65}.bs-sota-data-quality-list{display:grid;margin:0 15px 14px;border-top:1px solid var(--bs-border)}.bs-sota-data-quality-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--bs-border);color:var(--bs-text);text-decoration:none}.bs-sota-data-quality-list a span{display:grid;gap:3px;min-width:0}.bs-sota-data-quality-list small{color:var(--bs-muted);font-size:9px}.bs-sota-data-quality-list em{flex:none;color:var(--bs-semantic-warn);font-size:9px;font-style:normal}
.bs-sota-key-results h4 a{color:var(--bs-text);font-size:15px;text-decoration:none}.bs-sota-key-results h4 a:hover{color:var(--bs-orange)}
.bs-sota-okr-tags,.bs-sota-result-tags{display:flex;gap:7px;flex-wrap:wrap}.bs-sota-okr-tags{margin:0 0 14px}.bs-sota-okr-tags button,.bs-sota-result-tags span{padding:6px 9px;border:1px solid var(--bs-border);border-radius:999px;background:var(--bs-bg);color:var(--bs-muted);font:600 9px var(--bs-font)}.bs-sota-okr-tags button{cursor:pointer}.bs-sota-okr-tags button[data-active=true]{border-color:var(--bs-orange);color:var(--bs-orange)}
.bs-sota-progress{display:grid;gap:8px;margin-top:16px}.bs-sota-progress>span{display:flex;justify-content:space-between;color:var(--bs-muted);font-size:10px}.bs-sota-progress b{color:var(--bs-text)}.bs-sota-progress input{width:100%;accent-color:var(--bs-orange);cursor:pointer}
.bs-sota-add-text{margin-top:14px;border:0;background:none;color:var(--bs-orange);font:600 10px var(--bs-font);cursor:pointer}.bs-sota-text-block{padding:12px;border-left:2px solid var(--bs-orange);background:var(--bs-bg)}.bs-sota-text-editor{display:grid;gap:9px;margin-top:12px}.bs-sota-text-editor textarea{min-height:90px;padding:12px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-bg);color:var(--bs-text);font:12px/1.6 var(--bs-font);resize:vertical}.bs-sota-text-editor>div{display:flex;gap:8px}.bs-sota-text-editor button{padding:7px 10px;border:1px solid var(--bs-border);border-radius:6px;background:var(--bs-bg);color:var(--bs-text);font:600 10px var(--bs-font);cursor:pointer}
.bs-sota-rail-okrs{display:grid;gap:5px;margin-top:14px}.bs-sota-rail-okrs>span{margin-bottom:3px;color:var(--bs-muted);font-size:9px;text-transform:uppercase}.bs-sota-rail-okrs button{padding:7px 8px;border:1px solid transparent;border-radius:6px;background:none;color:var(--bs-muted);font:600 10px var(--bs-font);text-align:left;cursor:pointer}.bs-sota-rail-okrs button[data-active=true]{border-color:var(--bs-orange);color:var(--bs-text);background:var(--bs-selectable-active-bg)}
.bs-escalations-report-summary>header>div:first-child>span{display:block;margin-top:8px;color:var(--bs-muted);font-size:11px;white-space:nowrap}.bs-escalations-report-clientMeta{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;min-width:0;text-align:right;text-transform:none!important}.bs-escalations-report-clientMeta>span{justify-self:end;padding:5px 9px;border:1px solid var(--bs-border);border-radius:999px;color:var(--bs-text);white-space:nowrap}.bs-escalations-report-clientMeta small{grid-column:1!important;margin:0!important;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:800px){.bs-escalations-report-summary>header{display:grid}.bs-escalation-period{justify-content:flex-start}}

/* Baselines quarterly change-order ledger and shared project directory */
.bs-quarter-tabs{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;margin:18px 0 24px}.bs-quarter-tabs button{min-height:48px;border:1px solid var(--bs-border);border-radius:10px;background:#11120f;color:#aaa;font-weight:800;cursor:pointer}.bs-quarter-tabs button[aria-pressed=true]{border-color:var(--bs-orange);color:#fff;box-shadow:inset 0 -3px 0 var(--bs-orange)}
.bs-quarter-clients{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:12px;align-items:start}.bs-quarter-client{min-width:0}.bs-quarter-client[data-open=true]{grid-column:1/-1}.bs-quarter-client-card{width:100%;min-height:94px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--bs-border);border-radius:11px;background:#11120f;color:#f4f1ec;text-align:left;cursor:pointer}.bs-quarter-client-card:hover,.bs-quarter-client-card[aria-expanded=true]{border-color:var(--bs-orange)}.bs-quarter-client-card strong{font-size:15px}.bs-quarter-client-card span{display:flex;align-items:baseline;gap:6px;color:#aaa}.bs-quarter-client-card b{font-size:24px;color:#fff}.bs-quarter-client-card i{color:var(--bs-orange);font-size:20px;font-style:normal}.bs-quarter-client-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;margin-top:8px;padding:24px;border:1px solid var(--bs-border);border-radius:11px;background:#0d0e0c}.bs-quarter-client-detail h3,.bs-project-directory h3{margin:0 0 14px}.bs-client-context{border-left:1px solid var(--bs-border);padding-left:24px}.bs-client-notes{display:grid;gap:10px;margin-bottom:16px}.bs-client-notes article{display:flex;gap:10px}.bs-client-notes article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ff5f00;color:#080808;font-weight:900}.bs-client-notes article div{flex:1}.bs-client-notes small{float:right;color:#888}.bs-client-notes p{margin:5px 0;white-space:pre-wrap}.bs-client-context form{display:grid;gap:10px}.bs-client-context label{display:grid;gap:6px}.bs-client-context textarea,.bs-client-context input,.bs-project-add input{border:1px solid var(--bs-border);border-radius:8px;background:#090a08;color:#fff;padding:11px}.bs-context-tag{grid-template-columns:auto 1fr!important;align-items:center}.bs-context-tag span{color:var(--bs-orange);font-weight:900;font-size:18px}
.bs-project-directory{width:min(1480px,100%);margin:0 auto;padding:4px 0 60px}.bs-project-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:12px;margin:0 0 34px}.bs-project-directory-card{position:relative;min-height:112px;border:1px solid var(--bs-border);border-radius:11px;background:#11120f;overflow:hidden}.bs-project-open{width:100%;height:100%;min-height:112px;padding:22px 76px 22px 20px;border:0;background:transparent;color:#f4f1ec;text-align:left;cursor:pointer}.bs-project-open strong{display:block;font-size:15px}.bs-project-open small{display:block;margin-top:8px;color:#888}.bs-project-star,.bs-project-remove{position:absolute;top:14px;border:0;background:transparent;cursor:pointer}.bs-project-star{right:42px;color:#676767;font-size:21px}.bs-project-star[aria-pressed=true]{color:#ffc21c}.bs-project-remove{right:14px;color:#888;font-size:20px}.bs-project-links{position:absolute;left:20px;bottom:12px;display:flex;gap:12px}.bs-project-links a{color:#ff8b45;font-size:11px}.bs-project-add{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;padding:20px;margin:0 0 28px;border:1px solid var(--bs-border);border-radius:11px;background:#11120f}.bs-project-add label{display:grid;gap:6px;font-size:12px}.bs-project-add p,.bs-project-add button{grid-column:1/-1}
.bs-project-monitor-ganttCard{border-top:0;border-radius:0 0 var(--bs-radius) var(--bs-radius)}
@media(max-width:1000px){.bs-quarter-clients,.bs-project-directory-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.bs-quarter-client-detail{grid-template-columns:1fr}.bs-client-context{border-left:0;border-top:1px solid var(--bs-border);padding:20px 0 0}}@media(max-width:640px){.bs-quarter-clients,.bs-project-directory-grid,.bs-project-add{grid-template-columns:1fr}.bs-quarter-tabs{grid-template-columns:repeat(4,1fr)}.bs-quarter-client-card{grid-template-columns:1fr auto}.bs-quarter-client-card span{grid-column:1}.bs-quarter-client-card i{grid-row:1/3;grid-column:2}}
/* Baselines change-order command center */
.bs-change-order-heading{align-items:flex-end;padding:6px 0 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.bs-change-order-heading h2{margin:6px 0 4px;font-size:clamp(28px,3vw,42px);letter-spacing:-.035em}.bs-change-order-heading p{max-width:620px;color:#8f918c}
.bs-eyebrow{color:#ff6a00!important;font-size:11px!important;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.bs-quarter-total{display:grid!important;grid-template-columns:auto auto;align-items:end;gap:9px;padding:10px 15px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#11120f}.bs-quarter-total b{font-size:22px;line-height:1}.bs-quarter-total small{color:#969891;font-size:11px}
.bs-quarter-tabs{display:flex;align-items:center;width:max-content;max-width:100%;gap:4px;margin:20px 0 28px;padding:5px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#0d0e0c;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.bs-quarter-tabs button{min-height:42px;min-width:112px;padding:0 20px;border:0!important;border-radius:999px;background:transparent!important;color:#777!important;box-shadow:none!important;font-size:14px;font-weight:900;cursor:pointer;transition:background .18s,color .18s,transform .18s}.bs-quarter-tabs button span{margin-right:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.55}.bs-quarter-tabs button:hover{color:#ddd!important}.bs-quarter-tabs button[aria-pressed=true]{background:#f1eee8!important;color:#111!important;transform:translateY(-1px)}
.bs-quarter-clients{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:14px;align-items:start}.bs-quarter-client{min-width:0}.bs-quarter-client[data-open=true]{grid-column:1/-1}
.bs-quarter-client-card{position:relative;min-height:128px;display:block;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,#151613,#10110f);color:#f4f1ec;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.14);transition:transform .18s,border-color .18s,box-shadow .18s}.bs-quarter-client-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#ff7b21,#ff4f00);opacity:.9}.bs-quarter-client[data-empty=true] .bs-quarter-client-card:before{background:#3b3d38;opacity:.55}.bs-quarter-client-card:hover{transform:translateY(-2px);border-color:rgba(255,106,0,.48);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.bs-client-card-main{width:100%;min-height:95px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:25px 55px 12px 21px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.bs-client-card-main>span:first-child{display:grid;gap:5px;min-width:0}.bs-client-card-main>span:first-child small{color:#777a74;font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.bs-client-card-main strong{overflow:hidden;text-overflow:ellipsis;font-size:16px;white-space:nowrap}
.bs-change-order-count{display:grid!important;grid-template-columns:auto;justify-items:end;gap:1px!important}.bs-change-order-count b{font-size:28px;line-height:1;color:#fff}.bs-change-order-count small{font-size:10px;color:#8d8f89;white-space:nowrap}.bs-client-card-main>i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(255,106,0,.1);color:#ff6a00;font-size:18px;font-style:normal}
.bs-client-favorite{position:absolute;z-index:2;right:13px;top:12px;border:0;background:transparent;color:#686a65;font-size:21px;line-height:1;cursor:pointer}.bs-client-favorite:hover,.bs-client-favorite[aria-pressed=true]{color:#ffb21a}
.bs-client-baseline-link{display:flex;align-items:center;justify-content:space-between;margin:0 16px;padding:9px 6px 11px;border-top:1px solid rgba(255,255,255,.07);color:#91938e;font-size:10px;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.bs-client-baseline-link:hover{color:#fff}.bs-client-baseline-link span{color:#ff6a00;font-size:15px}
.bs-quarter-client-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;margin-top:10px;padding:28px;border:1px solid rgba(255,106,0,.24);border-radius:16px;background:linear-gradient(145deg,#11120f,#0b0c0a);box-shadow:0 22px 60px rgba(0,0,0,.24)}
.bs-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.bs-detail-heading small{color:#ff6a00;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.bs-detail-heading h3{margin:4px 0 0;font-size:21px}.bs-empty-quarter{padding:24px;border:1px dashed rgba(255,255,255,.13);border-radius:10px;color:#898b85}.bs-client-context{border-left:1px solid rgba(255,255,255,.09);padding-left:28px}
@media(max-width:1050px){.bs-quarter-clients{grid-template-columns:repeat(2,minmax(230px,1fr))}.bs-quarter-client-detail{grid-template-columns:1fr}.bs-client-context{border-left:0;border-top:1px solid rgba(255,255,255,.09);padding:24px 0 0}}
@media(max-width:640px){.bs-change-order-heading{align-items:flex-start}.bs-quarter-tabs{width:100%}.bs-quarter-tabs button{min-width:0;flex:1;padding:0 9px}.bs-quarter-tabs button span{display:none}.bs-quarter-clients{grid-template-columns:1fr}.bs-client-card-main{grid-template-columns:minmax(0,1fr) auto}.bs-client-card-main>i{display:none}.bs-quarter-client-detail{padding:20px}.bs-detail-heading{align-items:stretch;flex-direction:column}}
.bs-project-favorite{position:relative;display:grid;place-items:center;width:27px;height:27px;margin-left:-6px;border:0;border-radius:50%;background:transparent;color:#77766f;cursor:pointer;opacity:.16;transition:opacity .18s,color .18s,transform .18s,filter .18s,background .18s}.bs-project-favorite span{font-size:17px;line-height:1}.bs-project-favorite:hover,.bs-project-favorite:focus-visible{opacity:.72;color:#c9a862;background:rgba(255,190,54,.07);transform:scale(1.08)}.bs-project-favorite[aria-pressed=true]{opacity:1;color:#ffc642;background:radial-gradient(circle,rgba(255,198,66,.2),rgba(255,198,66,0) 70%);filter:drop-shadow(0 0 4px rgba(255,194,52,.85)) drop-shadow(0 0 11px rgba(255,142,0,.4));animation:bs-favorite-shine .42s ease-out}.bs-project-favorite[aria-pressed=true]:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,198,66,.18);border-radius:50%}@keyframes bs-favorite-shine{0%{transform:scale(.72) rotate(-16deg);filter:brightness(2) drop-shadow(0 0 14px #ffbd32)}65%{transform:scale(1.18) rotate(5deg)}100%{transform:scale(1)}}
.bs-baseline-overview .bs-change-order-heading{min-height:0;margin:0 0 24px;padding:0 0 18px;align-items:center}.bs-baseline-overview .bs-change-order-heading h2{margin:0;font-size:30px}.bs-quarter-clients--animated{animation:bs-quarter-enter .38s cubic-bezier(.22,1,.36,1)}@keyframes bs-quarter-enter{0%{opacity:0;transform:translateX(18px)}100%{opacity:1;transform:translateX(0)}}.bs-baselines .bs-rail-group:last-of-type .bs-button{position:relative;overflow:hidden;transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease}.bs-baselines .bs-rail-group:last-of-type .bs-button.is-active{transform:translateX(3px);box-shadow:inset 3px 0 0 var(--bs-orange),0 0 18px rgba(255,92,0,.07)}
@media(prefers-reduced-motion:reduce){.bs-quarter-clients--animated,.bs-project-favorite[aria-pressed=true]{animation:none}.bs-baselines .bs-rail-group:last-of-type .bs-button{transition:none}}
.bs-client-toggle{display:inline-grid!important;place-items:center;padding:0!important}.bs-client-toggle span{display:block;transform:none;font:400 25px/1 var(--bs-font-body);line-height:1}
/* Baselines: provenance stays compact; tiny markers have usable hit targets. */
.bs-baseline-evidence{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 20px;color:var(--bs-muted);font-size:11px;border-bottom:1px solid var(--bs-border)}
.bs-baseline-source-details{margin:8px 20px 12px;font-size:11px;line-height:1.6;color:var(--bs-muted)}
.bs-baseline-source-details summary{cursor:pointer}.bs-baseline-source-details p{margin:8px 0}.bs-baseline-audit-table{overflow:auto;margin-top:12px}.bs-baseline-source-details table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.bs-baseline-source-details th,.bs-baseline-source-details td{padding:10px;border-top:1px solid var(--bs-border);vertical-align:top}.bs-baseline-source-details small{display:block}.bs-baseline-source-details button{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;text-decoration:underline;cursor:pointer}
.bs-baseline-bar-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-baseline-lane-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:4px 0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.bs-baseline-lane-toggle>span{font-size:12px;color:var(--bs-muted)}.bs-baseline-lane-toggle:hover,.bs-baseline-lane-toggle:focus-visible{color:var(--bs-orange)}.bs-baseline-lane-toggle:focus-visible{outline:1px solid var(--bs-orange);outline-offset:3px;border-radius:3px}
.bs-project-monitor-track[data-collapsed=true]>.bs-project-monitor-rowLabel{padding-top:2px;padding-bottom:2px}.bs-baseline-collapsed-lane{min-height:36px;background:var(--bs-surface)}
details.bs-baseline-evidence{display:block}
.bs-baseline-evidence summary{cursor:pointer}
.bs-project-monitor-delayMarker{position:relative;z-index:5;align-self:start;justify-self:center;top:1px;min-width:18px;width:18px;height:14px;padding:0;border:0;background:transparent;cursor:pointer}
.bs-project-monitor-delayMarker span{display:block;width:4px;height:4px;margin:auto;border-radius:50%;background:var(--bs-semantic-risk)}
.bs-project-monitor-delayMarker:focus-visible{outline:2px solid var(--bs-semantic-risk);border-radius:3px}
/* Baselines annotation: comment pins, timeline markers and the discussion beneath the timeline. */
.bs-project-brief{padding:18px 24px 6px;border-bottom:0}
.bs-question-history-toggle{display:inline-flex;align-items:center;gap:8px;padding:0 6px;border:0;background:transparent;color:var(--bs-muted);font:700 11px var(--bs-font-body);cursor:pointer;white-space:nowrap}
.bs-question-history-toggle:hover,.bs-question-history-toggle[aria-expanded=true]{color:var(--bs-text)}
.bs-question-history-toggle span{color:var(--bs-orange);font-size:15px;line-height:1}
.bs-project-brief .bs-answer-history{margin-top:8px;padding:2px 16px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface)}
.bs-project-brief .bs-answer-history>p{font-size:12px;color:var(--bs-muted)}
.bs-annotate-toggle[aria-pressed=true]{background:var(--bs-orange);border-color:var(--bs-orange);color:#fff}
.bs-project-command .bs-button[aria-pressed=true]{box-shadow:0 0 0 1px var(--bs-orange)}
/* The project workspace isolates its stacking; release it while annotating so the scrim also covers the global bar. */
.bs-project-monitor-workspace:has(.bs-project-command[data-annotating]){isolation:auto}
.bs-annotation-scrim{position:fixed;inset:0;z-index:9500;background:rgba(20,9,3,.74);cursor:not-allowed;animation:bs-annotation-in .18s ease}
.bs-project-command[data-annotating] .bs-project-timeline-canvas{position:relative;z-index:9501;background:var(--bs-canvas);border-radius:12px;box-shadow:0 0 0 2px var(--bs-orange),0 30px 90px rgba(0,0,0,.6)}
.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-lane{background:rgba(255,90,0,.05)}
.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-lane:hover{background:rgba(255,90,0,.11)}
.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-lane[data-pin-mode]{outline:none}
.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-bar,.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-paymentMarker,.bs-project-timeline-canvas[data-annotation] .bs-timeline-comment-pin,.bs-project-timeline-canvas[data-annotation] .bs-timeline-marker-hit,.bs-project-timeline-canvas[data-annotation] .bs-timeline-marker-label{pointer-events:none}
.bs-project-timeline-canvas[data-annotation] .bs-project-monitor-bar{opacity:.55}
.bs-project-timeline-canvas[data-annotation=comment] .bs-project-monitor-lane{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='34' viewBox='0 0 28 34'%3E%3Cpath d='M14 33s11-11.6 11-19.5C25 7.1 20.1 2 14 2S3 7.1 3 13.5C3 21.4 14 33 14 33z' fill='%23ff5a00' stroke='white' stroke-width='2'/%3E%3Ccircle cx='14' cy='13.5' r='4.5' fill='white'/%3E%3C/svg%3E") 14 33,crosshair}
.bs-project-timeline-canvas[data-annotation=marker] .bs-project-monitor-lane{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32'%3E%3Cpath d='M5 2v28' stroke='%23ff5a00' stroke-width='2.5' stroke-dasharray='4 3'/%3E%3Cpath d='M6 3h14l-4 5 4 5H6z' fill='%23ff5a00' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 5 30,col-resize}
.bs-annotation-hint{position:sticky;left:0;top:0;z-index:20;display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 0 12px;padding:8px 8px 8px 16px;border:1px solid var(--bs-orange);border-radius:999px;background:#1f0e05;color:var(--bs-text);font:700 12px var(--bs-font-body)}
.bs-annotation-hint kbd{padding:2px 6px;border:1px solid var(--bs-border);border-radius:4px;color:var(--bs-muted);font:700 10px var(--bs-font-body)}
.bs-project-command[data-chaining] .bs-project-timeline-canvas button[data-track]{cursor:crosshair}
.bs-annotation-popover{position:fixed;z-index:9600;display:grid;gap:12px;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:16px;border:1px solid var(--bs-orange);border-radius:12px;background:var(--bs-surface);color:var(--bs-text);box-shadow:0 18px 60px rgba(0,0,0,.6);font:400 12px/1.5 var(--bs-font-body);animation:bs-annotation-in .16s ease}
.bs-annotation-popover header{display:grid;gap:2px}.bs-annotation-popover header small{color:var(--bs-muted)}
.bs-annotation-popover>label{display:grid;gap:6px;font-size:11px;font-weight:700}
.bs-annotation-popover>label small{color:var(--bs-muted);font-weight:400}
.bs-annotation-popover input,.bs-annotation-popover textarea{width:100%;padding:9px 11px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-canvas);color:var(--bs-text);font:inherit;color-scheme:dark}
.bs-annotation-popover>footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bs-annotation-popover [role=alert]{margin:0;color:var(--bs-semantic-risk)}
.bs-annotation-popover .bs-comment-composer{padding:0;border:0;background:transparent}
.bs-marker-tags{margin:0;padding:0;border:0;min-width:0}.bs-marker-tags legend{margin-bottom:7px;font-size:11px;font-weight:700}.bs-marker-tags legend small{margin-left:5px;color:var(--bs-muted);font-weight:400}.bs-marker-tags>div{display:flex;flex-wrap:wrap;gap:7px}.bs-marker-tags .bs-tag{cursor:pointer}.bs-marker-tags .bs-tag>button[aria-pressed=true]{background:color-mix(in srgb,var(--tag-ink) 18%,transparent);box-shadow:0 0 0 1px var(--tag-ink)}.bs-marker-tags .bs-tag>button:focus-visible{outline:2px solid var(--tag-ink);outline-offset:3px}.bs-marker-tags .bs-tag[data-marker-tag=project-start]{--tag-ink:var(--bs-semantic-good);--tag-edge:var(--bs-semantic-good)}.bs-marker-tags .bs-tag[data-marker-tag=project-terminated]{--tag-ink:var(--bs-semantic-risk);--tag-edge:var(--bs-semantic-risk)}.bs-marker-tags .bs-tag[data-marker-tag=trouble-brewing]{--tag-ink:var(--bs-semantic-warn);--tag-edge:var(--bs-semantic-warn)}.bs-marker-tag-hint{color:var(--bs-muted);font-size:10px}
.bs-timeline-marker[data-color=orange],.bs-timeline-marker-label[data-color=orange],.bs-marker-colors [data-color=orange],.bs-timeline-marker-list [data-color=orange]{--marker-color:#ff5a00}
.bs-timeline-marker[data-color=red],.bs-timeline-marker-label[data-color=red],.bs-marker-colors [data-color=red],.bs-timeline-marker-list [data-color=red]{--marker-color:#ff5c5c}
.bs-timeline-marker[data-color=green],.bs-timeline-marker-label[data-color=green],.bs-marker-colors [data-color=green],.bs-timeline-marker-list [data-color=green]{--marker-color:#4fd598}
.bs-timeline-marker[data-color=yellow],.bs-timeline-marker-label[data-color=yellow],.bs-marker-colors [data-color=yellow],.bs-timeline-marker-list [data-color=yellow]{--marker-color:#f5d04b}
.bs-timeline-marker[data-color=white],.bs-timeline-marker-label[data-color=white],.bs-marker-colors [data-color=white],.bs-timeline-marker-list [data-color=white]{--marker-color:#e9ebe6}
.bs-marker-colors{display:flex;gap:10px;margin:0;padding:0;border:0}
.bs-marker-colors legend{margin-bottom:6px;font-size:11px;font-weight:700}
.bs-marker-colors label{position:relative;cursor:pointer}
.bs-marker-colors input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bs-marker-colors span[aria-hidden]{display:block;width:22px;height:22px;border:2px solid transparent;border-radius:50%;background:var(--marker-color)}
.bs-marker-colors input:checked+span{border-color:#fff;box-shadow:0 0 0 2px var(--marker-color)}
.bs-marker-colors input:focus-visible+span{outline:2px solid var(--bs-orange);outline-offset:3px}
.bs-timeline-marker{position:relative;z-index:12;align-self:stretch;justify-self:start;width:0;margin:-1px 0;border-left:2px dashed var(--marker-color);pointer-events:none}
.bs-timeline-marker[data-guide]{border-left-style:dotted;opacity:.85}
.bs-timeline-marker[data-draft]{border-left-style:solid}
.bs-timeline-marker-hit{position:absolute;top:0;bottom:0;left:-8px;width:14px;padding:0;border:0;background:transparent;cursor:grab;pointer-events:auto}
.bs-timeline-marker-hit:hover,.bs-timeline-marker-hit:focus-visible{background:linear-gradient(90deg,transparent 5px,color-mix(in srgb,var(--marker-color) 40%,transparent) 5px 9px,transparent 9px);outline:none}
.bs-timeline-marker[data-dragging] .bs-timeline-marker-hit{cursor:grabbing}
.bs-timeline-marker[data-label-side=left] .bs-timeline-marker-label{left:auto;right:6px}
/* Labels can be dragged anywhere on the timeline; a placed label is its own grid item on its lane. */
button.bs-timeline-marker-label{margin:0;border:0;pointer-events:auto;cursor:default}
button.bs-timeline-marker-label[data-editable]{cursor:grab;touch-action:none}
button.bs-timeline-marker-label[data-dragging]{cursor:grabbing;box-shadow:0 0 0 2px #fff,0 6px 18px rgba(0,0,0,.55)}
button.bs-timeline-marker-label:focus-visible{outline:2px solid #fff;outline-offset:2px}
.bs-timeline-marker-label.is-placed{position:relative;top:auto;left:auto;z-index:14;align-self:start;justify-self:start;width:max-content}
.bs-marker-reset{justify-self:start;padding:0;border:0;background:transparent;color:var(--bs-orange);font:700 11px var(--bs-font-body);cursor:pointer}
.bs-timeline-marker-label{position:absolute;top:6px;left:6px;padding:2px 9px;border-radius:999px;background:var(--marker-color);color:#140a04;font:800 10px/1.5 var(--bs-font-body);white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.45);pointer-events:none}
.bs-timeline-comment-pin{width:28px;height:28px}
.bs-timeline-comment-pin>.bs-timeline-pin-head{display:grid;place-items:center;width:28px;height:28px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--bs-orange);color:#fff;font:800 11px var(--bs-font-body);box-shadow:0 4px 14px rgba(0,0,0,.5);cursor:grab;transition:transform .15s ease,box-shadow .15s ease;touch-action:none}
.bs-timeline-comment-pin>.bs-timeline-pin-head:hover,.bs-timeline-comment-pin>.bs-timeline-pin-head:focus-visible{transform:scale(1.12);box-shadow:0 0 0 4px rgba(255,90,0,.35),0 4px 14px rgba(0,0,0,.5);outline:none}
.bs-timeline-comment-pin[data-active]>.bs-timeline-pin-head{box-shadow:0 0 0 5px rgba(255,90,0,.45),0 4px 14px rgba(0,0,0,.5)}
.bs-timeline-comment-pin[data-dragging]>.bs-timeline-pin-head{transform:scale(1.18);cursor:grabbing}
.bs-timeline-comment-pin[data-draft]>.bs-timeline-pin-head{border-style:dashed;background:#1f0e05;color:var(--bs-orange);font-size:16px;animation:bs-pin-pulse 1.2s ease-in-out infinite}
.bs-tooltip-body{max-height:9.5em;margin:6px 0 0;overflow:hidden;font-size:12px;line-height:1.55;white-space:pre-wrap}
.bs-tooltip-image{display:block;width:100%;max-width:280px;max-height:180px;margin-top:8px;border:1px solid var(--bs-border);border-radius:6px;object-fit:cover}
.bs-project-discussion-panel{display:grid;gap:16px;padding:10px 24px 28px}
.bs-project-discussion-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bs-project-discussion-panel h2{margin:0;font-size:18px}
.bs-project-discussion-panel h2 small{margin-left:6px;color:var(--bs-muted);font-size:12px;font-weight:700}
.bs-timeline-marker-list{display:flex;flex-wrap:wrap;gap:8px}
.bs-timeline-marker-list button{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border:1px solid var(--bs-border);border-radius:999px;background:var(--bs-surface);color:var(--bs-text);font:700 11px var(--bs-font-body);cursor:pointer}
.bs-timeline-marker-list button:hover:not(:disabled){border-color:var(--marker-color)}
.bs-timeline-marker-list button:disabled{cursor:default;opacity:1}
.bs-timeline-marker-list i{width:0;height:14px;border-left:2px dashed var(--marker-color)}
.bs-comment-composer{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface)}
.bs-comment-composer:focus-within{border-color:var(--bs-orange)}
.bs-comment-composer textarea{width:100%;min-height:64px;padding:0;border:0;background:transparent;color:var(--bs-text);font:400 13px/1.6 var(--bs-font-body);resize:vertical;outline:none}
.bs-comment-composer.is-compact textarea{min-height:44px}
.bs-comment-composer footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.bs-comment-composer footer small{flex:1;color:var(--bs-muted);font-size:11px}
.bs-comment-composer [role=alert]{margin:0;color:var(--bs-semantic-risk);font-size:12px}
.bs-comment-attach{padding:6px 10px;border:1px dashed var(--bs-border);border-radius:8px;background:transparent;color:var(--bs-text);font:700 11px var(--bs-font-body);cursor:pointer}
.bs-comment-attach:hover{border-color:var(--bs-orange);color:var(--bs-orange)}
.bs-comment-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.bs-comment-attachments figure{position:relative;width:72px;height:56px;margin:0;overflow:hidden;border:1px solid var(--bs-border);border-radius:6px}
.bs-comment-attachments figure img{width:100%;height:100%;object-fit:cover}
.bs-comment-attachments figure[data-status=uploading]{opacity:.45}
.bs-comment-attachments figure button{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.8);color:#fff;line-height:18px;cursor:pointer}
.bs-comment-thumb{position:relative;width:120px;height:80px;padding:0;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-canvas);cursor:zoom-in}
.bs-comment-thumb>img{display:block;width:100%;height:100%;border-radius:7px;object-fit:cover}
.bs-comment-thumb:hover,.bs-comment-thumb:focus-visible{border-color:var(--bs-orange);outline:none}
.bs-comment-thumb-preview{display:none;position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:min(420px,70vw);padding:6px;border:1px solid var(--bs-orange);border-radius:10px;background:var(--bs-surface);box-shadow:0 18px 50px rgba(0,0,0,.6);pointer-events:none}
.bs-comment-thumb-preview img{display:block;width:100%;max-height:320px;border-radius:6px;object-fit:contain}
.bs-comment-thumb:hover .bs-comment-thumb-preview,.bs-comment-thumb:focus-visible .bs-comment-thumb-preview{display:block}
.bs-comment-threads,.bs-comment-replies{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.bs-comment-threads>li{padding:14px 16px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-canvas);transition:border-color .2s ease,box-shadow .2s ease}
.bs-comment-threads>li[data-active]{border-color:var(--bs-orange);box-shadow:0 0 0 1px var(--bs-orange)}
.bs-comment-replies{margin:12px 0 0 42px;padding-left:14px;border-left:2px solid var(--bs-border)}
.bs-comment{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px}
.bs-comment-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2a1a10;color:var(--bs-orange-soft);font:800 11px var(--bs-font-body)}
.bs-comment header{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.bs-comment header strong{font-size:13px}
.bs-comment header time{color:var(--bs-muted);font-size:11px}
.bs-comment p{margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;line-height:1.65}
.bs-comment-location{display:inline-flex;align-items:center;gap:6px;padding:2px 9px 2px 2px;border:1px solid var(--bs-border);border-radius:999px;background:transparent;color:var(--bs-muted);font:700 10px var(--bs-font-body);cursor:pointer}
.bs-comment-location b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--bs-orange);color:#fff;font-size:10px}
.bs-comment-location:hover{border-color:var(--bs-orange);color:var(--bs-text)}
.bs-comment-reply,.bs-comment-remove{margin-top:10px;padding:0;border:0;background:transparent;color:var(--bs-muted);font:700 11px var(--bs-font-body);cursor:pointer}
.bs-comment-reply{margin-left:42px}
.bs-comment-reply:hover{color:var(--bs-orange)}
.bs-comment-remove:hover{color:var(--bs-semantic-risk)}
.bs-comment-threads>li>.bs-comment-composer{margin:12px 0 0 42px}
.bs-comment-empty{margin:0;color:var(--bs-muted);font-size:12px}
.bs-comment-removed summary{color:var(--bs-muted);font-size:12px;cursor:pointer}
.bs-comment-lightbox{max-width:94vw;max-height:94vh;padding:12px;border:1px solid var(--bs-border);border-radius:14px;background:var(--bs-surface);color:var(--bs-text)}
.bs-comment-lightbox::backdrop{background:rgba(0,0,0,.82)}
.bs-comment-lightbox img{display:block;max-width:calc(94vw - 24px);max-height:calc(94vh - 90px);margin:0 auto;border-radius:8px;object-fit:contain}
.bs-comment-lightbox footer{display:flex;align-items:center;gap:10px;margin-top:10px}
.bs-comment-lightbox footer span{flex:1;overflow:hidden;color:var(--bs-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
@keyframes bs-annotation-in{from{opacity:0}to{opacity:1}}
@keyframes bs-pin-pulse{50%{box-shadow:0 0 0 7px rgba(255,90,0,.25)}}
@media(max-width:700px){.bs-project-discussion-panel{padding:8px 16px 24px}.bs-comment-replies,.bs-comment-threads>li>.bs-comment-composer{margin-left:0}.bs-comment-reply{margin-left:0}}
@media(prefers-reduced-motion:reduce){.bs-annotation-scrim,.bs-annotation-popover,.bs-timeline-comment-pin[data-draft]>.bs-timeline-pin-head{animation:none}.bs-timeline-comment-pin>.bs-timeline-pin-head{transition:none}}
.bs-project-monitor-compactTimeline .bs-daily-ruler{pointer-events:auto;touch-action:none;cursor:ew-resize;padding:0;top:8px}
.bs-project-monitor-compactTimeline .bs-daily-ruler>strong{display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #626c64;border-radius:8px;background:#202622;color:#e4eee5;font-size:11px;line-height:16px;box-shadow:0 2px 10px #0005;pointer-events:none}
.bs-project-monitor-compactTimeline .bs-daily-ruler>div{height:20px;margin-top:0;transition:margin-top 240ms ease,height 240ms ease}
.bs-project-monitor-compactTimeline .bs-daily-ruler>strong{opacity:0;visibility:hidden;translate:0 -4px;transition:opacity 180ms ease,translate 240ms ease,visibility 180ms}
.bs-project-monitor-compactTimeline .bs-daily-ruler[data-active=true]>strong{opacity:1;visibility:visible;translate:0 0}
.bs-project-monitor-compactTimeline .bs-daily-ruler[data-active=true]>div{height:28px;margin-top:32px}
.bs-project-monitor-compactTimeline .bs-daily-ruler i{width:1px;max-width:70%;background:#79857a;border-radius:2px}
.bs-project-monitor-compactTimeline .bs-daily-ruler i[data-active=true]{height:14px!important;background:#e4eee5;box-shadow:0 0 10px #d5f2db55}
.bs-project-monitor-compactTimeline .bs-daily-ruler[data-active=true] i[data-active=true]{height:28px!important}
.bs-project-monitor-compactTimeline .bs-daily-ruler i[data-wave=true]{background:#cedfcf;box-shadow:0 0 9px #bddcc54d}
.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar{padding-top:30px;transition:padding-top 240ms cubic-bezier(.2,.7,.2,1)}
.bs-project-monitor-compactTimeline .bs-project-monitor-axis[data-dragging=true] .bs-project-monitor-calendar{padding-top:70px}
.bs-project-monitor-compactTimeline .bs-project-monitor-track{border-top:2px solid #454744}
.bs-project-monitor-ganttCanvas .bs-project-monitor-compactTimeline{border:1px solid #454744;border-radius:8px;isolation:isolate;background:var(--bs-canvas);background-clip:padding-box}
.bs-project-monitor-compactTimeline .bs-project-monitor-grid{border-radius:7px}
@media(prefers-reduced-motion:reduce){.bs-project-monitor-compactTimeline .bs-daily-ruler>div,.bs-project-monitor-compactTimeline .bs-daily-ruler>strong,.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar{transition:none}}
.bs-project-monitor-compactTimeline .bs-project-monitor-axis .bs-project-monitor-calendar>b{padding:4px 0 8px}
.bs-project-command .bs-project-monitor-ganttWithInspector{gap:16px;padding:20px;align-items:start}
.bs-project-command .bs-project-monitor-ganttWithInspector .bs-project-monitor-ganttCanvas{padding:0}
.bs-project-command .bs-project-monitor-ganttInspector{box-sizing:border-box;min-width:0;border:1px solid var(--bs-border);border-radius:12px;max-height:min(850px,calc(100dvh - 120px));scrollbar-gutter:stable;overscroll-behavior:contain;position:sticky;top:100px;padding:18px;box-shadow:0 8px 24px #0002}
.bs-project-command-fullscreen .bs-project-monitor-ganttInspector{top:0;max-height:calc(100dvh - 140px)}
@media(max-width:1000px){.bs-project-command .bs-project-monitor-ganttInspector{position:relative;top:auto;max-height:65dvh}.bs-project-command .bs-project-monitor-ganttWithInspector{padding:12px}}
.bs-task-date-comparison{padding:12px 0;border-bottom:1px solid var(--bs-border);font-size:11px}.bs-task-date-comparison dl>div{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.bs-task-date-comparison dd{margin:0}
.bs-project-monitor-compactTimeline .bs-daily-ruler:focus-visible{outline:2px solid #a7c4ad;outline-offset:2px;border-radius:8px}
.bs-project-command .bs-project-monitor-ganttInspector{max-height:min(760px,65dvh)}
.bs-project-monitor-bar[data-slip]::before{content:'';position:absolute;top:0;bottom:0;right:var(--slip-end,0%);left:var(--slip-start,100%);z-index:0;pointer-events:none;border-left:1px dashed #ffb3ae;background:repeating-linear-gradient(135deg,#ff6b6480 0 3px,transparent 3px 7px)}
.bs-project-monitor-bar[data-slip]>.bs-baseline-bar-label{position:relative;z-index:1}
.bs-project-monitor-bar[data-after-end]{opacity:.45}
.bs-slip-badge{position:relative;align-self:start;justify-self:end;z-index:3;margin-right:3px;padding:0 5px;border-radius:4px;background:var(--bs-semantic-risk);color:#1a0706;font-size:9px;font-weight:700;line-height:15px;white-space:nowrap;pointer-events:none}
.bs-slip-badge:has(i){display:flex;padding:0;overflow:hidden;background:#3d3f3c}.bs-slip-badge b,.bs-slip-badge i{padding:0 5px;font-style:normal;font-weight:700}.bs-slip-badge b{background:var(--bs-semantic-risk);color:#1a0706}.bs-slip-badge i{color:#d6d9d3}
.bs-scope-badge{position:relative;align-self:start;justify-self:start;z-index:3;margin-left:3px;padding:0 5px;border-radius:4px;background:var(--bs-semantic-warn);color:#1d1503;font-size:9px;font-weight:700;line-height:15px;white-space:nowrap;pointer-events:none}
.bs-project-monitor-paymentMarker:is([data-kind=escalation],[data-kind=checkpoint])>span{position:relative;width:9px;height:13px;margin:0 0 0 4px;border-radius:0;background:transparent;box-shadow:none}
.bs-project-monitor-paymentMarker:is([data-kind=escalation],[data-kind=checkpoint])>span::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1.5px;background:currentColor}
.bs-project-monitor-paymentMarker:is([data-kind=escalation],[data-kind=checkpoint])>span::after{content:'';position:absolute;left:1.5px;top:0;border-left:7px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}
.bs-project-monitor-paymentMarker:is([data-kind=escalation],[data-kind=checkpoint]):hover>span{box-shadow:none;filter:brightness(1.25)}
.bs-plan-history{display:grid;gap:10px;margin:0 20px 14px;padding:14px 16px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);font-size:12px}
.bs-plan-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bs-plan-history p{margin:0;color:var(--bs-muted);line-height:1.5}
.bs-plan-history ol{display:grid;gap:12px;margin:0;padding-left:18px}
.bs-plan-history li{display:grid;gap:8px;justify-items:start}
.bs-plan-history textarea{box-sizing:border-box;width:100%;min-height:120px;padding:10px;border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-canvas);color:var(--bs-text);font:11px/1.45 ui-monospace,monospace;resize:vertical}
.bs-plan-history .bs-plan-history-error{color:var(--bs-semantic-risk)}
.bs-plan-history-result{display:grid;gap:6px}.bs-plan-history-result p{color:var(--bs-text)}

.bs-knowledge .kb-answer { margin-top: 34px; max-width: 920px; }
.bs-knowledge .kb-answer > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; color: var(--bs-muted); font-size: 12px; }
.bs-knowledge .kb-answer > header button { border: 0; color: var(--bs-muted); background: none; font-size: 22px; cursor: pointer; }
.bs-knowledge .kb-answer p { margin: 0 0 14px; font-size: 14px; line-height: 1.85; white-space: pre-wrap; }
.bs-knowledge .kb-answer h3 { margin: 24px 0 12px; font-size: 17px; }
.bs-knowledge .kb-note { color: var(--bs-muted); font-size: 11px !important; }
.bs-knowledge .answer-sources { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.bs-knowledge .answer-sources a { display: flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid var(--bs-border); border-radius: 8px; background: var(--bs-surface); color: var(--bs-text); text-decoration: none; font-size: 11px; }
.bs-knowledge .answer-sources a:hover { border-color: var(--bs-orange); }
.bs-knowledge .answer-sources svg { width: 14px; color: var(--bs-muted); }
.bs-knowledge .kb-answer-loading { display: flex; align-items: center; gap: 12px; min-height: 120px; color: var(--bs-muted); }
.bs-knowledge .kb-pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--bs-orange); animation: kb-pulse 1.6s ease-in-out infinite; }
@keyframes kb-pulse { 50% { opacity: .3; } }
.bs-knowledge .kb-empty { padding: 60px 20px; text-align: center; color: var(--bs-muted); }
.bs-knowledge .kb-empty strong { color: var(--bs-text); font-size: 18px; font-weight: 500; }
.bs-knowledge .kb-folder-form { display: flex; align-items: flex-end; gap: 10px; margin: 20px 0; }
.bs-knowledge .kb-folder-form label { display: grid; gap: 6px; flex: 1; }
.bs-knowledge .workspace-error,.bs-knowledge .workspace-message { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 18px; margin: 12px 0; border: 1px solid var(--bs-border); border-radius: 8px; font-size: 12px; }
.bs-knowledge .workspace-error { color: var(--bs-semantic-risk); }
.bs-knowledge .workspace-message { color: var(--bs-muted); }
.bs-knowledge .rich-text-box { width: 100%; padding: 16px; }
.bs-knowledge .rich-text-box .tiptap { outline: none; color: var(--bs-text); font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.bs-knowledge .rich-text-box .tiptap p { margin: 0 0 14px; }
.bs-knowledge .rich-text-box .tiptap > :last-child { margin-bottom: 0; }
.bs-knowledge .rich-text-box .tiptap h1 { font-size: 40px; line-height: 1.2; margin: 26px 0 16px; letter-spacing: -.045em; }
.bs-knowledge .rich-text-box .tiptap h2 { font-size: 28px; line-height: 1.3; margin: 28px 0 14px; letter-spacing: -.03em; }
.bs-knowledge .rich-text-box .tiptap h3 { font-size: 21px; margin: 24px 0 12px; }
.bs-knowledge .rich-text-box .tiptap > :first-child { margin-top: 0; }
.bs-knowledge .rich-text-box .tiptap ul,.bs-knowledge .rich-text-box .tiptap ol { padding-left: 25px; }
.bs-knowledge .rich-text-box .tiptap a { color: var(--bs-orange-soft); text-decoration: underline; }
.bs-knowledge .rich-text-box .tiptap blockquote { border-left: 2px solid var(--bs-border); padding-left: 18px; }
.bs-knowledge .rich-text-box .tiptap pre { padding: 15px; border-radius: 6px; background: var(--bs-canvas); overflow-x: auto; }
.bs-knowledge .rich-text-box .tiptap table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.bs-knowledge .rich-text-box .tiptap th,.bs-knowledge .rich-text-box .tiptap td { position: relative; border: 1px solid var(--bs-border); padding: 10px; vertical-align: top; }
.bs-knowledge .rich-text-box .tiptap th { background: var(--bs-surface-raised); }
.bs-knowledge .rich-text-box .tiptap .selectedCell { background: #ff5c001a; }
.bs-knowledge .document-inspector { display: grid; gap: 17px; padding: 20px; border: 1px solid var(--bs-border); border-radius: 10px; background: var(--bs-surface); }
.bs-knowledge .document-inspector h2 { margin: 0; font-size: 14px; font-weight: 600; }
.bs-knowledge .document-inspector label { display: grid; gap: 7px; color: var(--bs-muted); font-size: 10px; }
.bs-knowledge .document-inspector input,.bs-knowledge .document-inspector textarea,.bs-knowledge .document-inspector select { width: 100%; padding: 9px; border: 1px solid var(--bs-border); border-radius: 5px; background: var(--bs-canvas); color: var(--bs-text); font-size: 11px; }
.bs-knowledge .document-inspector textarea { resize: vertical; }
.bs-knowledge .document-inspector h3 { margin: 0 0 8px; font-size: 12px; }
.bs-knowledge .document-rules { display: grid; gap: 12px; }
.bs-knowledge .document-rules p { margin: 0; color: var(--bs-muted); font-size: 11px; line-height: 1.6; }
.bs-knowledge .document-people { border-top: 1px solid var(--bs-border); padding-top: 17px; }
.bs-knowledge .document-people p,.bs-knowledge .document-people > small { color: var(--bs-muted); font-size: 10px; line-height: 1.65; }
.bs-knowledge .document-people > small { display: block; margin-top: 10px; }
.bs-knowledge .person-chip { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border-radius: 5px; background: var(--bs-surface-raised); margin-bottom: 7px; font-size: 11px; overflow-wrap: anywhere; }
.bs-knowledge .person-chip button { border: 0; background: transparent; color: var(--bs-muted); cursor: pointer; }
.bs-knowledge .person-mention { color: var(--bs-orange-soft); border-radius: 4px; padding: 1px 4px; background: #ff5c0015; }
.bs-knowledge .people-picker { position: relative; }
.bs-knowledge .people-results { display: grid; border: 1px solid var(--bs-border); background: var(--bs-surface-raised); border-radius: 6px; margin-top: 6px; max-height: 280px; overflow: auto; }
.bs-knowledge .people-results button { display: grid; gap: 3px; padding: 10px; border: 0; color: var(--bs-text); background: none; text-align: left; cursor: pointer; }
.bs-knowledge .people-results button:hover { background: #ff5c0015; }
.bs-knowledge .people-results small { color: var(--bs-muted); font-size: 9px; overflow-wrap: anywhere; }
.bs-knowledge .people-results p { padding: 10px; }
.bs-knowledge-mention-menu { position: fixed; z-index: 1000; display: grid; width: min(350px,calc(100vw - 16px)); max-height: 250px; overflow: auto; padding: 5px; border: 1px solid var(--bs-border); border-radius: 8px; background: var(--bs-surface-raised); box-shadow: 0 8px 30px #0008; }
.bs-knowledge-mention-menu button,.bs-knowledge-mention-menu > span { padding: 10px; border: 0; background: transparent; color: var(--bs-text); text-align: left; font: 11px var(--bs-font); cursor: pointer; }
.bs-knowledge-mention-menu button[aria-selected=true] { background: #ff5c0015; color: var(--bs-orange-soft); }
.bs-knowledge .inspector-actions,.bs-knowledge .draft-notes { display: grid; gap: 8px; }
.bs-knowledge .document-versions { display: grid; gap: 10px; border-top: 1px solid var(--bs-border); padding-top: 17px; }
.bs-knowledge .document-versions > div { display: grid; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--bs-border); }
.bs-knowledge .document-versions strong { font-size: 11px; }
.bs-knowledge .document-versions small { color: var(--bs-muted); font-size: 9px; overflow-wrap: anywhere; }
.bs-knowledge .canvas-starting { display: grid; place-items: center; min-height: 420px; color: var(--bs-muted); }

/* Knowledge workspace contract. All visual rules are delivered in the shared UI
   bundle; the standalone editor supplies only document geometry and content. */
.bs-knowledge svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.bs-search-home{min-height:calc(100dvh - var(--bs-bar-height) - 90px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 0 70px;text-align:center}
.bs-search-home h1{margin:0 0 28px;font-size:clamp(36px,4.2vw,62px);line-height:1.1;letter-spacing:-.055em;font-weight:600}
.bs-search-home > .bs-mascot-stage{display:grid;flex-shrink:0;margin-bottom:14px}
.bs-knowledge-home .bs-workspace-content{width:auto;max-width:none;margin-left:235px;margin-right:35px;padding-top:0;padding-bottom:35px}
.bs-knowledge-home .bs-workspace-rail{position:fixed;top:calc(var(--bs-bar-height) + 24px);left:18px;width:190px;margin:0;padding:0;flex-direction:column;flex-wrap:nowrap;max-height:calc(100dvh - var(--bs-bar-height) - 50px);overflow-y:auto;scrollbar-width:thin}
.bs-knowledge-home .bs-workspace-rail .bs-button{width:100%}
.bs-knowledge .kb-question{display:flex;align-items:center;gap:14px;width:min(860px,100%);padding:9px 10px 9px 20px;min-height:64px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);transition:border-color var(--bs-motion-fast)}
.bs-knowledge .kb-question:focus-within{border-color:var(--bs-orange)}.bs-knowledge .kb-question>svg{color:var(--bs-muted)}
.bs-knowledge .kb-question input{flex:1;min-width:0;height:42px;padding:0;border:0;outline:0;background:transparent;color:var(--bs-text);font:400 15px var(--bs-font)}
.bs-knowledge .kb-question input:focus-visible{outline:0}.bs-knowledge .kb-question input::placeholder{color:var(--bs-muted)}
.bs-knowledge .kb-mic{display:grid;place-items:center;width:34px;height:38px;padding:0;border:0;background:transparent;color:var(--bs-muted);cursor:pointer}.bs-knowledge .kb-mic[aria-pressed=true]{color:var(--bs-orange)}
.bs-knowledge .kb-search-caption{margin:15px 0 0;color:var(--bs-muted);font-size:11px}
.bs-knowledge .kb-answer{margin:0 auto 50px;max-width:860px}.bs-knowledge .kb-answer-loading{min-height:60px;justify-content:center}
.bs-knowledge-home:has(.kb-answer) .bs-search-home,.bs-knowledge-home:has(.kb-answer-loading) .bs-search-home{min-height:420px;padding-bottom:25px}
.bs-knowledge .kb-library{padding:45px 0}.bs-knowledge .kb-library-header{display:flex;justify-content:space-between;align-items:center;min-height:140px}.bs-knowledge .kb-library-header h1{font-size:clamp(30px,4vw,50px);letter-spacing:-.045em;line-height:1.15;margin:0}.bs-knowledge .kb-library-header p{color:var(--bs-muted);margin:12px 0}.bs-knowledge .kb-library-header img{height:125px;width:125px;object-fit:contain}
.bs-knowledge .kb-library-tools{justify-content:flex-start;gap:12px}.bs-knowledge .kb-library-tools input{flex:1;min-width:150px}
.bs-knowledge .kb-library-tools input,.bs-knowledge .kb-library-tools select,.bs-knowledge .kb-folder-form input{height:var(--bs-control-height);padding:8px 12px;border:1px solid var(--bs-border);border-radius:var(--bs-radius);background:var(--bs-surface);color:var(--bs-text);font:11px var(--bs-font)}
.bs-knowledge .kb-file{display:grid;grid-template-columns:52px minmax(0,1fr) 100px 20px;align-items:center;gap:18px;padding:14px 12px;border:1px solid transparent;border-bottom-color:var(--bs-border-quiet);border-radius:var(--bs-radius);color:var(--bs-text);text-decoration:none}
.bs-knowledge .kb-file-icon{width:48px;height:48px;object-fit:contain}.bs-knowledge .kb-file-name{display:grid;gap:5px;min-width:0}.bs-knowledge .kb-file-name strong{font-size:13px;font-weight:600}.bs-knowledge .kb-file-name small,.bs-knowledge .kb-file time{font-size:10px;color:var(--bs-muted)}
.bs-knowledge-document{position:fixed;inset:var(--bs-bar-height) 0 0;min-height:0;overflow:hidden}
.bs-knowledge .document-workspace{height:100%;display:flex;flex-direction:column;min-height:0}
.bs-knowledge .document-workspace-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:10px 20px;border-bottom:1px solid var(--bs-border-quiet);background:var(--bs-canvas);z-index:70;min-height:86px}
.bs-knowledge .document-icon{width:58px;height:58px;flex-shrink:0;padding:0;border:1px solid transparent;border-radius:var(--bs-radius);background:transparent;cursor:pointer}.bs-knowledge .document-icon:disabled{opacity:1}.bs-knowledge .document-icon:hover{border-color:var(--bs-border)}.bs-knowledge .document-icon img{height:100%;width:100%;object-fit:contain}
.bs-knowledge .document-identity{flex:1;min-width:0;display:grid;gap:3px}.bs-knowledge .document-identity>a{color:var(--bs-muted);text-decoration:none;width:fit-content;font-size:10px}.bs-knowledge .document-identity>a:hover{color:var(--bs-orange)}
.bs-knowledge .document-identity h1,.bs-knowledge .document-identity>input{font:600 clamp(16px,1.8vw,24px)/1.3 var(--bs-font);letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0;width:100%;padding:2px 0;border:0;background:transparent;color:var(--bs-text)}
.bs-knowledge .document-identity>span{color:var(--bs-muted);font-size:9px}.bs-knowledge .document-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bs-knowledge .document-actions>span{color:var(--bs-muted);font-size:9px;flex-basis:100%;text-align:right}
.bs-knowledge .document-layout{position:relative;display:flex;flex:1;min-height:0}.bs-knowledge .document-inspector{position:absolute;z-index:90;right:16px;top:65px;width:300px;max-height:calc(100% - 80px);overflow:auto;box-shadow:0 12px 45px #0008}
.bs-knowledge .document-workspace>.workspace-error,.bs-knowledge .document-workspace>.workspace-message{position:absolute;top:87px;left:50%;transform:translateX(-50%);z-index:100;background:var(--bs-surface-raised);max-width:80%;margin:0}
.bs-knowledge .canvas-workspace{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--bs-canvas)}
.bs-knowledge .canvas-toolbar{position:absolute;z-index:60;top:9px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;max-width:calc(100% - 24px);width:max-content;padding:5px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);box-shadow:0 5px 22px #0004;overflow-x:auto}
.bs-knowledge .canvas-button{white-space:nowrap;min-height:32px;height:32px;padding:0 10px;font-size:10px;border-color:transparent}.bs-knowledge .canvas-tool-divider{height:22px;border-left:1px solid var(--bs-border);margin:0 4px}
.bs-knowledge .zoom-control{display:flex;align-items:center;gap:5px}.bs-knowledge .zoom-control select{height:32px;padding:0 5px;border:0;background:var(--bs-surface);color:var(--bs-text);font:10px var(--bs-font)}
.bs-knowledge .canvas-viewport{position:absolute;inset:62px 0 0;overflow:hidden;overscroll-behavior:none;touch-action:none;outline:0}
.bs-knowledge .canvas-surface{position:absolute;inset:0 auto auto 0;width:0;height:0;transform-origin:0 0;isolation:isolate}
.bs-knowledge .canvas-viewport.is-placing,.bs-knowledge .canvas-viewport.is-placing *{cursor:crosshair!important}.bs-knowledge .canvas-viewport.is-panning,.bs-knowledge .canvas-viewport.is-panning *{cursor:grab!important;user-select:none}
.bs-knowledge .canvas-object{border:1px solid transparent}.bs-knowledge .is-editing .canvas-object:hover{border-color:var(--bs-border)}.bs-knowledge .canvas-object.is-selected{border-color:var(--bs-orange)}
.bs-knowledge .canvas-object-content{height:100%;width:100%;position:relative;overflow:clip}.bs-knowledge .canvas-object[data-object-type=text] .canvas-object-content{overflow:visible}
.bs-knowledge .object-handle{position:absolute;top:-25px;left:-1px;z-index:2;height:25px;display:flex;align-items:center;gap:7px;padding:0 8px;border:1px solid var(--bs-border);border-radius:5px 5px 0 0;background:var(--bs-surface-raised);color:var(--bs-text);font-size:17px;opacity:0;cursor:grab;touch-action:none}.bs-knowledge .object-handle span{font-size:10px;text-transform:capitalize}
.bs-knowledge .canvas-object:hover>.object-handle,.bs-knowledge .canvas-object.is-selected>.object-handle,.bs-knowledge .object-handle:focus-visible{opacity:1}
.bs-knowledge .canvas-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.bs-knowledge .canvas-shape{height:100%;width:100%}.bs-knowledge .canvas-shape.is-triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.bs-knowledge .canvas-shape.is-line{height:6px;position:absolute;top:50%;transform:translateY(-50%)}
.bs-knowledge .canvas-video{height:100%;display:grid;place-content:center;gap:12px;color:var(--bs-orange-soft);border:1px solid var(--bs-border);overflow-wrap:anywhere}
.bs-knowledge .canvas-empty{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);width:min(500px,80%);text-align:center;pointer-events:none}.bs-knowledge .canvas-empty strong{font-size:26px;letter-spacing:-.04em;font-weight:500}.bs-knowledge .canvas-empty p{color:var(--bs-muted);font-size:12px}.bs-knowledge .canvas-empty button{pointer-events:auto;margin-top:14px}
.bs-knowledge .canvas-status{position:absolute;bottom:12px;left:18px;z-index:15;padding:6px 9px;border-radius:6px;background:color-mix(in srgb,var(--bs-canvas) 85%,transparent);color:var(--bs-muted);font-size:9px;pointer-events:none}
.bs-knowledge .object-properties{position:absolute;z-index:55;right:16px;top:66px;max-width:290px;max-height:calc(100% - 130px);overflow:auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);box-shadow:0 8px 28px #0004}.bs-knowledge .object-properties>strong{flex-basis:100%;font-size:11px;text-transform:capitalize;margin-bottom:3px}
.bs-knowledge .object-properties label{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:116px;flex:1;color:var(--bs-muted);font-size:10px}.bs-knowledge .object-properties input[type=number]{width:60px}.bs-knowledge .object-properties input{height:28px;min-width:0;border:1px solid var(--bs-border);background:var(--bs-canvas);border-radius:5px;color:var(--bs-text);padding:4px;font:10px var(--bs-font)}.bs-knowledge .object-properties input[type=color]{width:40px;padding:2px}.bs-knowledge .object-properties input[type=range]{width:70px;accent-color:var(--bs-orange)}
.bs-knowledge .format-toolbar{position:absolute;left:50%;bottom:42px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;max-width:calc(100% - 30px);width:max-content;padding:7px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);box-shadow:0 8px 30px #0006}
.bs-knowledge .format-toolbar select{max-width:120px;min-width:45px;height:30px;padding:0 6px;border:1px solid var(--bs-border);border-radius:5px;background:var(--bs-canvas);color:var(--bs-text);font:10px var(--bs-font)}.bs-knowledge .color-control{display:flex;align-items:center;gap:3px;color:var(--bs-muted);font-size:9px}.bs-knowledge .color-control input{width:25px;height:28px;padding:2px;border:0;background:transparent}
.bs-knowledge .shape-picker{position:absolute;z-index:80;top:65px;left:20px;display:flex;gap:6px;padding:10px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius)}
.bs-knowledge .canvas-layers{position:absolute;top:65px;left:16px;z-index:50;width:240px;max-height:calc(100% - 125px);overflow:auto;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);padding:12px}.bs-knowledge .canvas-layers header{display:flex;align-items:center;justify-content:space-between}.bs-knowledge .canvas-layers p{font-size:10px;color:var(--bs-muted)}.bs-knowledge .canvas-layers>button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;width:100%;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--bs-text);text-align:left;font:11px var(--bs-font);cursor:pointer}.bs-knowledge .canvas-layers span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-knowledge .canvas-layers small{font-size:8px;color:var(--bs-muted)}
.bs-knowledge-mascot-picker{position:absolute;z-index:100;top:70px;left:20px;width:min(400px,calc(100% - 40px));max-height:calc(100% - 100px);overflow:auto;padding:16px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius);box-shadow:0 15px 50px #0008}.bs-knowledge-mascot-picker header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bs-knowledge-mascot-picker h2{font-size:14px;margin:0}.bs-knowledge-mascot-picker>input{width:100%;padding:10px;background:var(--bs-canvas);border:1px solid var(--bs-border);border-radius:6px;color:var(--bs-text);font:11px var(--bs-font)}.bs-knowledge-mascot-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.bs-knowledge-mascot-picker>div button{display:grid;gap:6px;text-align:center;padding:8px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--bs-text);font:9px var(--bs-font);cursor:pointer}.bs-knowledge-mascot-picker img{width:100%;height:82px;object-fit:contain}.bs-knowledge-mascot-picker p{font-size:11px;color:var(--bs-muted)}
.bs-knowledge .link-editor{position:absolute;z-index:90;bottom:145px;left:50%;transform:translateX(-50%);width:min(520px,90%);display:flex;gap:8px;padding:12px;background:var(--bs-surface);border:1px solid var(--bs-border);border-radius:var(--bs-radius)}.bs-knowledge .link-editor label{display:grid;flex:1;gap:6px}.bs-knowledge .link-editor input{width:100%;background:var(--bs-canvas);color:var(--bs-text);padding:7px;border:1px solid var(--bs-border)}
.bs-knowledge .canvas-error{position:absolute;z-index:100;left:20px;bottom:90px;padding:10px;background:var(--bs-surface);color:var(--bs-semantic-risk);border:1px solid var(--bs-border);border-radius:8px}
.bs-knowledge .canvas-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.bs-knowledge-home .bs-workspace-content{width:calc(100% - 32px);margin-inline:auto}.bs-knowledge-home .bs-workspace-rail{position:relative;inset:auto;width:calc(100% - 32px);margin-inline:auto;max-height:none;overflow:visible;padding-top:16px;flex-direction:row;flex-wrap:wrap;align-items:flex-start}.bs-knowledge-home .bs-workspace-rail.is-table-layout .bs-rail-group{width:auto;flex:1;min-width:160px}.bs-search-home{min-height:420px;padding-top:20px}}
@media(max-width:650px){.bs-knowledge .document-workspace-header{padding:8px 10px;gap:6px;min-height:92px}.bs-knowledge .document-icon{width:38px;height:38px}.bs-knowledge .document-actions{gap:4px;max-width:165px}.bs-knowledge .document-actions .bs-button{font-size:9px;padding:0 7px;min-height:30px}.bs-knowledge .document-actions>span{font-size:8px}.bs-knowledge .document-identity>span{font-size:8px}.bs-knowledge .object-properties{max-width:230px;max-height:220px;top:auto;bottom:108px}.bs-knowledge .object-properties label{min-width:90px}.bs-knowledge .format-toolbar{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;bottom:40px;width:calc(100% - 20px)}.bs-knowledge .format-toolbar>*{flex-shrink:0}.bs-knowledge .document-inspector{width:calc(100% - 24px);right:12px;top:62px}.bs-knowledge .canvas-status{font-size:8px;max-width:calc(100% - 24px);left:8px}.bs-knowledge .kb-question{gap:7px;padding-left:12px}.bs-knowledge .kb-question input{font-size:12px}.bs-knowledge .kb-file{grid-template-columns:42px minmax(0,1fr) 16px;gap:10px}.bs-knowledge .kb-file time{display:none}.bs-knowledge .kb-file-icon{width:40px;height:40px}.bs-knowledge .kb-library-header img{width:80px;height:80px}.bs-knowledge .kb-library-tools select{max-width:48%}.bs-search-home{min-height:420px}.bs-knowledge-home .bs-workspace-rail.is-table-layout .bs-rail-group{min-width:0;width:100%}.bs-knowledge-home .bs-workspace-rail{gap:6px}.bs-knowledge-home .bs-rail-group>div{display:flex;flex-wrap:wrap}.bs-knowledge-home .bs-rail-item{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.bs-knowledge .kb-pulse{animation:none}}

/* Search-only knowledge home: centre in the space beside its rail. */
.bs-knowledge-home{background:var(--bs-canvas)}
.bs-knowledge-home .bs-mascot-ring::after{content:none}
.bs-knowledge .canvas-viewport.is-grabbing,.bs-knowledge .canvas-viewport.is-grabbing *{cursor:grabbing!important;user-select:none}
.bs-knowledge .canvas-object.is-dragging{border-color:var(--bs-orange);box-shadow:0 0 0 2px var(--bs-orange),0 12px 30px #0005}
.bs-knowledge .rich-text-box [contenteditable=true]{cursor:text}
/* Baselines alerts: late phases and new boards, newest first. */
.bs-baselines-alerts{margin:0 0 18px;border:1px solid var(--bs-border);border-radius:14px;background:var(--bs-surface,#101110);overflow:hidden}
.bs-baselines-alerts>header{display:flex;align-items:baseline;gap:12px;padding:14px 18px;border-bottom:1px solid var(--bs-border)}
.bs-baselines-alerts>header strong{font-size:12px}.bs-baselines-alerts>header small{color:var(--bs-muted);font-size:10px}
.bs-baselines-alerts ol{margin:0;padding:0;list-style:none}
.bs-baselines-alerts li+li{border-top:1px solid var(--bs-border)}
.bs-baselines-alerts a{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 18px;color:inherit;text-decoration:none;font-size:11px}
.bs-baselines-alerts a:hover{background:var(--bs-selectable-active-bg)}
.bs-baselines-alerts b{justify-self:start;padding:3px 8px;border-radius:999px;background:#ff5a5f22;color:#ff7c80;font-size:9px}
.bs-baselines-alerts li[data-kind=new-board] b{background:#66db9e22;color:#66db9e}
.bs-baselines-alerts li[data-kind=sow-gap] b{background:#ffb02022;color:#ffc457}
.bs-baselines-alerts span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-baselines-alerts time{color:var(--bs-muted);font-size:10px}
/* Baselines Overview: arrangement only. Shell, stats, tables and accordions
   are the shared primitives; colour is semantic only. */
.bs-overview { display: grid; gap: 18px; }
.bs-overview-rail-meta { display: grid; gap: 6px; padding: 4px 2px; color: var(--bs-muted); font-size: 10px; }
.bs-overview-table .bs-table-row { min-width: 520px; }
.bs-overview-project { min-width: 0; }
.bs-overview-project strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.bs-overview-cell { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bs-overview-cell.is-risk { color: var(--bs-semantic-risk); }
.bs-overview-cell.is-warn, .bs-overview-cell.is-forecast { color: var(--bs-semantic-warn); }
.bs-overview-cell.is-good { color: var(--bs-semantic-good); }
.bs-overview-cell.is-forecast { font-weight: 500; opacity: .8; }
.bs-overview-cell.is-thin { color: var(--bs-muted); font-weight: 500; }
.bs-overview-table .bs-table-row.is-foot { border-top: 1px solid var(--bs-border); color: var(--bs-muted); font-size: 11px; }
.bs-overview-table .bs-table-row.is-foot .bs-overview-cell { font-size: 11px; }
.bs-overview-standouts { display: grid; gap: 10px; margin: 0; padding: 2px 0; list-style: none; font-size: 12px; }
.bs-overview-standouts li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.bs-overview-standouts small { margin-left: 6px; color: var(--bs-muted); font-size: 10px; }
.bs-overview-detail { display: grid; gap: 16px; padding: 16px 20px 20px; border-top: 1px solid var(--bs-border); background: var(--bs-surface-raised); }
.bs-overview-detail > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bs-overview-detail h3 { margin: 0; font-size: 16px; }
.bs-overview-detail-actions { display: flex; align-items: center; gap: 8px; }
.bs-overview-detail a.bs-button { text-decoration: none; }
.bs-overview-health { display: grid; gap: 8px; max-width: 560px; }
.bs-overview-health-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(180px,220px) 72px; align-items: center; gap: 8px; font-size: 12px; }
.bs-overview-health-row select { height: 36px; padding: 0 8px; border: 1px solid var(--bs-border); border-radius: 6px; background: var(--bs-surface); color: var(--bs-text); font: inherit; font-size: 12px; }
.bs-overview-report { display: grid; gap: 10px; }
.bs-overview-report > header { display: flex; align-items: center; gap: 8px; }
.bs-overview-report h4 { margin: 0 auto 0 0; font-size: 13px; }
.bs-overview-report h4 small { margin-left: 8px; color: var(--bs-muted); font-size: 11px; font-weight: 400; }
.bs-overview-report > .bs-button { justify-self: start; }
.bs-overview-report > p { max-width: 780px; margin: 0; font-size: 13px; line-height: 1.6; }
.bs-overview-sources { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.bs-overview-sources a, .bs-overview-sources span { color: var(--bs-muted); font-size: 11px; text-decoration: none; }
.bs-overview-sources a:hover, .bs-overview-sources a:focus-visible { color: var(--bs-text); }
.bs-overview-note { margin: 0; color: var(--bs-muted); font-size: 11px; }
.bs-overview-findings { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; min-width: 0; }
.bs-overview-finding { display: inline-flex; align-items: baseline; gap: 6px; font-size: 12px; white-space: nowrap; }
.bs-overview-finding b { font-weight: 600; }
.bs-overview-finding small { color: var(--bs-muted); font-size: 11px; }
.bs-report-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 12px; font-size: 11px; }
.bs-report-controls label { display: inline-flex; align-items: center; gap: 8px; color: var(--bs-muted); font-weight: 600; }
.bs-report-controls select { padding: 6px 8px; border: 1px solid var(--bs-border); border-radius: 6px; background: var(--bs-surface); color: var(--bs-text); font: inherit; }
.bs-reports .bs-accordion { margin-bottom: 18px; }
/* Overview: three lanes; an opened card sits beside them. */
.bs-lanes-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; align-items: start; }
.bs-lanes-layout.has-detail { grid-template-columns: minmax(0,1.25fr) minmax(360px,1fr); }
.bs-lanes-layout.is-split { grid-template-columns: minmax(0,.8fr) minmax(0,1.6fr); }
.bs-lanes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: start; }
.bs-lanes-layout.has-detail .bs-lanes { grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); }
.bs-lane { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--bs-border); border-radius: 12px; background: var(--bs-surface); min-width: 0; }
.bs-lane > header { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 4px 6px; font-size: 12px; font-weight: 700; }
.bs-lane > header small { color: var(--bs-muted); font-weight: 500; }
.bs-lane-divider { margin: 8px 4px 0; color: var(--bs-muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.bs-lane-card { display: grid; gap: 6px; width: 100%; padding: 11px 12px; border: 1px solid var(--bs-border); border-radius: 9px; background: var(--bs-surface-raised); color: var(--bs-text); font: inherit; text-align: left; cursor: pointer; }
.bs-lane-card.is-active { border-color: var(--bs-orange); }
.bs-lane-card-head { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; font-size: 12px; }
.bs-lane-card-head em, .bs-lane-type { flex-shrink: 0; padding: 1px 7px; border: 1px solid var(--bs-border); border-radius: 999px; color: var(--bs-muted); font-size: 9px; font-style: normal; }
.bs-lane-card-project { color: var(--bs-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-lane-card .bs-overview-findings { gap: 3px 12px; }
.bs-lane-card .bs-overview-finding { font-size: 11px; white-space: normal; }
.bs-lane-detail { position: sticky; top: calc(var(--bs-bar-height, 56px) + 12px); max-height: calc(100vh - var(--bs-bar-height, 56px) - 24px); overflow: auto; border-radius: 12px; }
.bs-lane-detail > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.bs-lane-detail > header > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bs-lane-detail h3 { margin: 0; width: 100%; font-size: 16px; }
.bs-lane-facts { display: grid; gap: 10px; margin: 14px 0; font-size: 12px; }
.bs-lane-facts > div { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 10px; align-items: baseline; }
.bs-lane-facts dt { color: var(--bs-muted); }
.bs-lane-facts dd { margin: 0; }
.bs-lane-services { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-lane-services span { padding: 2px 9px; border: 1px solid var(--bs-border); border-radius: 999px; cursor: help; }
.bs-lane-view { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-lane-discussion { margin-top: 16px; }
.bs-lane-split { position: sticky; top: calc(var(--bs-bar-height, 56px) + 12px); display: grid; grid-template-rows: auto 1fr; height: calc(100vh - var(--bs-bar-height, 56px) - 24px); border: 1px solid var(--bs-border); border-radius: 12px; overflow: hidden; background: var(--bs-surface); }
.bs-lane-split > header, .bs-board-popup header { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--bs-border); font-size: 13px; }
.bs-lane-split iframe, .bs-board-popup iframe { width: 100%; height: 100%; border: 0; background: var(--bs-canvas, #090a0a); }
.bs-board-popup { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 32px; background: #050504c4; backdrop-filter: blur(6px); }
.bs-board-popup > div { display: grid; grid-template-rows: auto 1fr; width: min(1400px,100%); height: min(900px,100%); border: 1px solid var(--bs-border); border-radius: 14px; overflow: hidden; background: var(--bs-surface); }
.bs-board-popup header span { display: flex; gap: 8px; }
.bs-baselines-embed { padding: 12px; }
@media (max-width: 1100px) { .bs-lanes-layout.has-detail, .bs-lanes-layout.is-split { grid-template-columns: minmax(0,1fr); } .bs-lane-detail, .bs-lane-split { position: static; max-height: none; } }
@media (max-width: 760px) { .bs-lanes { grid-template-columns: minmax(0,1fr); } }
.bs-report-table .bs-table-row { min-width: 760px; }
.bs-report-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.bs-report-risk { color: var(--bs-semantic-risk); }
.bs-report-warn { color: var(--bs-semantic-warn); }
.bs-report-detail { padding: 10px 16px 14px; border-bottom: 1px solid var(--bs-border); background: var(--bs-surface-raised); }
.bs-report-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 12px; }
.bs-plan-coverage{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;color:var(--bs-muted);font-size:11px}.bs-plan-coverage b{color:var(--bs-text);font-weight:500}
.bs-journey{list-style:none;padding:0;margin:0;display:grid;gap:0}.bs-journey li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--bs-border-quiet)}.bs-journey time{font-size:11px;color:var(--bs-muted)}.bs-journey li>div{display:grid;gap:5px;border-left:2px solid var(--bs-semantic-info);padding-left:12px;min-width:0}.bs-journey li[data-tone=warn]>div{border-left-color:var(--bs-semantic-warn)}.bs-journey li[data-tone=risk]>div{border-left-color:var(--bs-semantic-risk)}.bs-journey b{font-size:12px;font-weight:500}.bs-journey small,.bs-journey a{font-size:11px;color:var(--bs-muted);overflow-wrap:anywhere}.bs-journey a{width:fit-content;color:var(--bs-text)}
@media(max-width:560px){.bs-journey li{grid-template-columns:72px minmax(0,1fr);gap:8px}}
.bs-report-list li { display: grid; grid-template-columns: 90px minmax(0,1fr) 120px; gap: 12px; color: var(--bs-muted); }
.bs-report-peer { display: block; margin-top: 2px; color: var(--bs-muted); font-size: 10px; font-weight: 400; }
.bs-crosstab { max-width: 100%; overflow: auto; border: 1px solid var(--bs-border); border-radius: 8px; }
.bs-crosstab table { min-width: 100%; border-collapse: collapse; font-size: 11px; }
.bs-crosstab th, .bs-crosstab td { padding: 7px 10px; border-bottom: 1px solid var(--bs-border); text-align: center; white-space: nowrap; }
.bs-crosstab thead th { position: sticky; top: 0; z-index: 1; background: var(--bs-surface); color: var(--bs-muted); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bs-crosstab thead th[colspan] { border-left: 1px solid var(--bs-border); }
.bs-crosstab tbody th { position: sticky; left: 0; z-index: 1; background: var(--bs-surface); font-weight: 600; text-align: left; }
.bs-crosstab td { font-variant-numeric: tabular-nums; background: color-mix(in srgb, var(--bs-semantic-risk) calc(var(--heat, 0) * 45%), transparent); }
.bs-crosstab[data-metric=projects] td { background: color-mix(in srgb, var(--bs-semantic-info) calc(var(--heat, 0) * 40%), transparent); }
.bs-crosstab td.is-total { font-weight: 700; border-right: 1px solid var(--bs-border); }
.bs-crosstab td[data-thin] { color: var(--bs-muted); }
@media (max-width: 700px) { .bs-overview-health-row { grid-template-columns: minmax(0,1fr); } .bs-overview-detail > header { flex-wrap: wrap; } }
/* Info tour and hover descriptions (components/BaldspotGuide.js): shared.
   Both render in a portal, so they carry the page font and sit above the bar. */
.bs-hint { position: fixed; z-index: 10020; box-sizing: border-box; display: grid; gap: 6px; width: max-content; max-width: min(340px, calc(100vw - 24px)); padding: 12px 14px; border: 1px solid var(--bs-border); border-radius: 8px; background: var(--bs-surface-raised); box-shadow: 0 12px 32px rgba(0,0,0,.45); color: var(--bs-text); font: 400 11px/1.55 var(--bs-font-body); text-align: left; pointer-events: none; opacity: 0; transform: translateY(-4px); }
.bs-hint[data-positioned="true"] { animation: bs-hint-drop var(--bs-motion-fast) var(--bs-ease) both; }
@keyframes bs-hint-drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.bs-hint strong { font-size: 12px; font-weight: 700; }
.bs-hint p, .bs-tour-card p { margin: 0; }
.bs-hint p { white-space: pre-line; }
.bs-hint small, .bs-tour-card small { color: var(--bs-muted); font-size: 10px; }
.bs-guide-formula { display: grid; gap: 4px; margin: 0; padding: 8px 10px; border-left: 2px solid var(--bs-border); border-radius: 0 6px 6px 0; background: rgba(255,255,255,.035); list-style: none; font-size: 11px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.bs-tour { position: fixed; inset: 0; z-index: 10030; }
.bs-tour-backdrop, .bs-tour-dim { position: fixed; background: rgba(0,0,0,.56); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.bs-tour-dim { inset: 0; }
.bs-tour-spotlight { position: fixed; border-radius: 10px; box-shadow: 0 0 0 2px var(--bs-orange), 0 0 24px rgba(255,111,0,.3); pointer-events: none; }
.bs-tour-card { position: fixed; box-sizing: border-box; display: grid; gap: 12px; width: min(420px, calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow: auto; padding: 18px 22px 22px; border: 1px solid var(--bs-orange); border-top: 4px solid var(--bs-orange); border-radius: 12px; background: var(--bs-surface-raised); box-shadow: 0 20px 64px rgba(0,0,0,.6); color: var(--bs-text); font: 400 13px/1.6 var(--bs-font-body); outline: none; }
.bs-tour-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bs-tour-card > header .bs-icon-button { width: 28px; height: 28px; font-size: 18px; }
.bs-tour-card h2 { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.25; }
.bs-tour-progress { display: flex; gap: 4px; }
.bs-tour-progress span { flex: 1; height: 3px; border-radius: 2px; background: var(--bs-border); }
.bs-tour-progress span[data-complete="true"] { background: var(--bs-orange); }
.bs-tour-card footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 2px; }
.bs-guide-example { display: grid; gap: 2px; padding-top: 8px; border-top: 1px solid var(--bs-border); color: var(--bs-muted); }
.bs-guide-example b { color: var(--bs-text); font-size: 11px; }
@media (prefers-reduced-motion: reduce) { .bs-hint[data-positioned="true"] { animation: none; opacity: 1; transform: none; }.bs-tour-spotlight { transition: none; } }

/* Shared finance/resource-operations record views. Shell and hero geometry stay
   with BaldspotHero; all colours, typography and controls use global tokens. */
.bs-tracker .invoice-month-groups { gap: 12px; min-width: 0; }
.bs-tracker .invoice-month-panel { min-width: 0; border-radius: var(--bs-radius); border-color: var(--bs-border); background: var(--bs-surface); }
.bs-tracker .invoice-month-panel.is-current { border-color: var(--bs-border); }
.bs-tracker .invoice-month-panel > summary { min-height: 48px; }
.bs-tracker .invoice-month-panel > summary strong { font-size: 12px; letter-spacing: .04em; }
.bs-tracker .invoice-month-edit { width: auto; padding: 3px 9px; border-radius: 6px; }
.bs-tracker .invoice-table-wrap { max-width: 100%; }
.bs-tracker .invoice-table { min-width: 1120px; table-layout: fixed; background: var(--bs-surface); }
.bs-tracker .invoice-table th { padding: 10px 8px; color: var(--bs-muted); background: var(--bs-surface-raised); font: 500 11px/1.4 var(--bs-font-body); text-transform: none; letter-spacing: 0; }
.bs-tracker .invoice-table td { padding: 8px; height: 38px; box-sizing: border-box; font: 400 12px/1.5 var(--bs-font-body); color: var(--bs-text); border-color: var(--bs-border-quiet); }
.bs-tracker .invoice-table th + th, .bs-tracker .invoice-table td + td { border-left: 0; }
.bs-tracker .invoice-table .invoice-data-row td { background: transparent; box-shadow: none; }
.bs-tracker .invoice-table .invoice-data-row:hover td { background: var(--bs-surface-raised); }
.bs-tracker .invoice-table .invoice-data-row.is-commenting td, .bs-tracker .invoice-table .invoice-data-row.is-selected td { background: color-mix(in srgb,var(--bs-orange) 7%,var(--bs-surface)); }
.bs-tracker .invoice-table th.invoice-priority-heading { width: 32px; }
.bs-tracker .invoice-table th.invoice-select-heading { width: 28px; }
.bs-tracker .invoice-table th.invoice-client-heading { width: 200px; }
.bs-tracker .invoice-table th.invoice-task-heading { width: auto; }
.bs-tracker .invoice-table th.invoice-milestone-heading { width: 66px; }
.bs-tracker .invoice-table th.invoice-status-heading { width: 132px; }
.bs-tracker .invoice-table th.invoice-dates-heading { width: 150px; }
.bs-tracker .invoice-table th.invoice-amount-heading { width: 90px; }
.bs-tracker .invoice-table th.invoice-number-heading { width: 62px; }
.bs-tracker .invoice-table th.invoice-pdf-heading { width: 42px; }
.bs-tracker .invoice-table th:last-child { width: 86px; }
.bs-tracker.invoice-page--milestones .invoice-table { min-width: 760px; }
.bs-tracker.invoice-page--milestones .invoice-table th.invoice-client-heading { width: 23%; }
.bs-tracker.invoice-page--milestones .invoice-table th.invoice-task-heading { width: auto; }
.bs-tracker.invoice-page--milestones .invoice-table th.invoice-milestone-heading { width: 100px; }
.bs-tracker.invoice-page--milestones .invoice-table th.invoice-dates-heading { width: 185px; }
.bs-tracker .invoice-client-cell { min-width: 0; }
.bs-tracker-client { display: flex; align-items: center; gap: 9px; min-width: 0; }
.bs-tracker-client-button, .bs-tracker-task { padding: 0; border: 0; background: none; color: var(--bs-text); font: 500 13px/1.5 var(--bs-font-body); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.bs-tracker-task { display: block; max-width: 100%; font-size: 12px; font-weight: 400; color: var(--bs-muted); }
.bs-tracker-client-button:hover, .bs-tracker-task:hover { color: var(--bs-orange-soft); }
.bs-tracker-flag { flex: none; padding: 2px 6px; border: 1px solid color-mix(in srgb,var(--bs-semantic-warn) 35%,var(--bs-border)); border-radius: 4px; background: transparent; color: var(--bs-semantic-warn); font: 500 10px var(--bs-font-body); cursor: pointer; }
.bs-tracker-count { border: 0; background: none; color: var(--bs-muted); font: 11px var(--bs-font-body); white-space: nowrap; cursor: pointer; }
.bs-tracker-milestone { min-width: 44px; padding: 4px 8px; border: 1px solid var(--bs-border); border-radius: 6px; background: var(--bs-surface-raised); color: var(--bs-text); font: 500 12px var(--bs-font-body); cursor: pointer; }
.bs-tracker-milestone:hover { border-color: var(--bs-orange); }
.bs-tracker .invoice-status-cell { width: auto; min-width: 0; }
.bs-tracker .invoice-status-picker { width: 100%; }
.bs-tracker .invoice-status-trigger { min-height: 28px; padding: 5px 8px; gap: 6px; border-color: var(--bs-border); border-radius: 6px; font-size: 10px; font-weight: 500; }
.bs-tracker .invoice-money-read { font-weight: 500; font-variant-numeric: tabular-nums; }
.bs-tracker .invoice-links { white-space: normal; }
.bs-tracker .invoice-table .invoice-links a { display: inline-block; margin: 0 6px 0 0; color: var(--bs-orange-soft); font-size: 11px; font-weight: 500; }
.bs-tracker-sheet { min-width: 0; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); overflow: hidden; background: var(--bs-surface); }
.bs-tracker-month-bar { display: flex; align-items: center; gap: 16px; padding: 0 16px; border-bottom: 1px solid var(--bs-border); }
.bs-tracker-month-tabs { display: flex; flex: 1; min-width: 0; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.bs-tracker-month-tabs button { position: relative; flex: none; padding: 15px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--bs-muted); font: 500 12px var(--bs-font-body); white-space: nowrap; cursor: pointer; }
.bs-tracker-month-tabs button:hover { color: var(--bs-text); background: var(--bs-surface-raised); }
.bs-tracker-month-tabs button[aria-selected="true"] { color: var(--bs-orange); border-bottom-color: var(--bs-orange); }
.bs-tracker-month-tabs button.is-current::before { content: ''; position: absolute; top: 8px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--bs-orange); }
.bs-tracker-year { width: 82px; flex: none; padding: 6px 8px; border: 1px solid var(--bs-border); border-radius: 6px; background: var(--bs-surface); color: var(--bs-text); font: 12px var(--bs-font-body); }
.bs-tracker-month-caption { display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding: 7px 16px; color: var(--bs-text); font: 500 11px var(--bs-font-body); }
.bs-tracker-month-caption small { color: var(--bs-muted); font-weight: 400; }
.bs-tracker-view-context { display: grid; gap: 5px; margin-bottom: 18px; font: 400 12px/1.5 var(--bs-font-body); color: var(--bs-muted); }
.bs-tracker-view-context strong { color: var(--bs-text); font-size: 15px; }
.bs-tracker .invoice-table th.invoice-balance-heading { width: 78px; }
.bs-tracker-invoice-reference { display: block; max-width: 100%; margin-top: 4px; padding: 0; border: 0; background: transparent; color: var(--bs-orange-soft); text-align: left; font: 400 10px/1.4 var(--bs-font-body); cursor: pointer; }
.bs-tracker-delay-audit { padding: 18px; border-top: 1px solid var(--bs-border); font: 400 12px/1.5 var(--bs-font-body); }
.bs-tracker-delay-audit > summary { color: var(--bs-text); cursor: pointer; }
.bs-tracker-delay-project { margin-top: 12px; padding: 12px; border: 1px solid var(--bs-border-quiet); border-radius: var(--bs-radius); }
.bs-tracker-delay-project summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; cursor: pointer; }
.bs-tracker-delay-project span { display: block; color: var(--bs-muted); }
.bs-tracker-delay-project article { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-block: 12px; border-top: 1px solid var(--bs-border-quiet); }
.bs-tracker-delay-project a { color: var(--bs-orange-soft); }
.bs-tracker-month-empty { padding: 32px 16px; color: var(--bs-muted); text-align: center; }
.bs-tracker-controls .bs-tracker-view-filter { display: flex; align-items: center; gap: 10px; margin-right: auto; color: var(--bs-muted); font-size: 11px; }
.bs-tracker-view-filter select { max-width: 240px; border: 1px solid var(--bs-border); border-radius: 6px; padding: 8px 10px; background: var(--bs-surface); color: var(--bs-text); font: 12px var(--bs-font-body); }
.bs-tracker .invoice-status-toolbar { padding: 8px 12px; border: 0; background: transparent; margin-bottom: 10px; }
.bs-tracker-source-status { display: inline-flex; padding: 2px 9px; border-radius: 20px; color: var(--bs-text); background: var(--bs-surface-raised); font: 500 11px var(--bs-font-body); text-decoration: none; }
.bs-tracker-source-status[data-status="paid"] { color: var(--bs-semantic-good); background: color-mix(in srgb,var(--bs-semantic-good) 13%,transparent); }
.bs-tracker-source-status[data-status="sent"] { color: var(--bs-orange-soft); background: color-mix(in srgb,var(--bs-orange) 13%,transparent); }
.bs-tracker-invoice-date { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 0; border: 0; background: none; color: var(--bs-text); font: 12px var(--bs-font-body); cursor: pointer; white-space: nowrap; }
.bs-tracker-invoice-date small { color: var(--bs-semantic-warn); font-size: 10px; }
.bs-tracker-pdf { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 30px; border: 1px solid var(--bs-border); border-radius: 6px; color: var(--bs-muted); text-decoration: none; }
.bs-tracker-pdf:hover { color: var(--bs-orange); }
.bs-tracker .invoice-number { color: var(--bs-muted); font-variant-numeric: tabular-nums; }
.bs-record-invoice { padding: 16px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); }
.bs-record-invoice h3 { margin: 0 0 12px; font-size: 14px; }
.bs-record-invoice a { color: var(--bs-orange-soft); }
.bs-record-invoice dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.bs-record-invoice dt { color: var(--bs-muted); }
.bs-record-invoice dd { margin: 0; text-align: right; }
@media (max-width: 650px) { .bs-tracker-month-bar { padding: 0 8px; gap: 8px; } .bs-tracker-month-tabs { gap: 2px; } .bs-tracker-month-tabs button { padding: 14px 10px; } .bs-tracker-controls { flex-wrap: wrap; } }
.bs-tracker-date { display: flex; align-items: center; gap: 7px; padding: 4px 0; border: 0; background: none; color: var(--bs-text); font: 400 12px var(--bs-font-body); white-space: nowrap; cursor: pointer; }
.bs-tracker-date small { padding: 2px 5px; border-radius: 4px; background: var(--bs-surface-raised); color: var(--bs-muted); font-size: 10px; }
.bs-tracker-date > span { color: var(--bs-muted); }
.bs-tracker-date:hover { color: var(--bs-orange-soft); }
.bs-tracker-tooltip { position: fixed; z-index: 100; width: 320px; max-width: calc(100vw - 16px); padding: 14px 16px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface-raised); color: var(--bs-text); box-shadow: 0 12px 36px #0005; font: 12px/1.6 var(--bs-font-body); pointer-events: none; }
.bs-tracker-tooltip strong, .bs-tracker-tooltip span { display: block; }
.bs-tracker-tooltip span { margin-top: 5px; color: var(--bs-muted); }
.bs-record-panel { position: fixed; inset: 0; width: min(1080px,calc(100vw - 48px)); height: fit-content; overflow-y: auto; max-height: calc(100dvh - 64px); max-width: 100vw; margin: auto; padding: 0; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface); color: var(--bs-text); box-shadow: -12px 0 60px #0004; font: 400 13px/1.6 var(--bs-font-body); }
.bs-record-panel::backdrop { background: #0009; backdrop-filter: blur(3px); }
.bs-record-panel-inner { display: flex; flex-direction: column; }
.bs-record-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--bs-border-quiet); color: var(--bs-muted); font-size: 11px; }
.bs-record-header button, .bs-record-popover > header button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid var(--bs-border); border-radius: 6px; background: transparent; color: var(--bs-muted); font-size: 19px; cursor: pointer; }
.bs-record-title { padding: 25px 24px 20px; }
.bs-record-title h2 { margin: 0; color: var(--bs-text); font: 600 24px/1.3 var(--bs-font-display); letter-spacing: -.025em; }
.bs-record-title p { margin: 9px 0 16px; color: var(--bs-muted); font-size: 13px; line-height: 1.7; }
.bs-record-sources { display: flex; gap: 8px; }
.bs-record-sources a { padding: 5px 10px; border: 1px solid var(--bs-border); border-radius: 6px; color: var(--bs-orange-soft); text-decoration: none; font-size: 11px; }
.bs-record-tabs { display: flex; gap: 24px; padding: 0 24px; border-bottom: 1px solid var(--bs-border); }
.bs-record-tabs button { padding: 11px 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--bs-muted); font: 500 12px var(--bs-font-body); cursor: pointer; }
.bs-record-tabs button[aria-pressed='true'] { color: var(--bs-text); border-bottom-color: var(--bs-orange); }
.bs-record-body { padding: 24px; }
.bs-record-overview { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; align-items: start; }
.bs-record-milestone > span, .bs-record-amount > span { display: block; margin-bottom: 8px; color: var(--bs-muted); font-size: 11px; }
.bs-record-milestone > strong { font-weight: 500; font-size: 13px; }
.bs-record-amount { padding: 18px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface-raised); }
.bs-record-amount > strong { font: 600 28px/1.3 var(--bs-font-display); }
.bs-record-amount dl, .bs-record-dates { display: grid; grid-template-columns: 1fr auto; gap: 12px 16px; margin: 18px 0 0; font-size: 12px; }
.bs-record-dates { margin: 0; }
.bs-record-panel dt { color: var(--bs-muted); }
.bs-record-panel dd { margin: 0; text-align: right; }
.bs-record-note { margin: 12px 0 0; color: var(--bs-muted); font-size: 11px; line-height: 1.7; }
.bs-record-history-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 0; border: 0; border-top: 1px solid var(--bs-border-quiet); border-bottom: 1px solid var(--bs-border-quiet); background: none; color: var(--bs-orange-soft); font: 500 12px var(--bs-font-body); text-align: left; cursor: pointer; }
.bs-record-warning { padding: 14px; border: 1px solid color-mix(in srgb,var(--bs-semantic-warn) 40%,var(--bs-border)); border-radius: var(--bs-radius); color: var(--bs-semantic-warn); font-size: 12px; }
.bs-record-warning p { margin: 5px 0; }
.bs-record-warning button { padding: 7px 0 0; border: 0; background: none; color: var(--bs-orange-soft); font: inherit; cursor: pointer; }
.bs-record-evidence, .bs-record-history-about { color: var(--bs-muted); font-size: 11px; }
.bs-record-evidence summary, .bs-record-history-about summary { cursor: pointer; }
.bs-record-popover { position: fixed; z-index: 100; width: 352px; max-width: calc(100vw - 16px); overflow-y: auto; padding: 18px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius); background: var(--bs-surface-raised); color: var(--bs-text); box-shadow: 0 14px 48px #0006; font: 400 12px/1.5 var(--bs-font-body); outline: none; }
.bs-record-popover > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.bs-record-popover > header strong { font-size: 14px; font-weight: 600; }
.bs-record-popover > header span { display: block; color: var(--bs-muted); font-size: 11px; margin-top: 3px; }
.bs-record-history-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 11px; color: var(--bs-muted); }
.bs-record-history-summary strong { color: var(--bs-text); font-size: 15px; }
.bs-record-history .is-later { color: var(--bs-semantic-warn); }
.bs-record-history .is-earlier { color: var(--bs-semantic-good); }
.bs-record-history ol { list-style: none; margin: 20px 0; padding: 0 0 0 7px; }
.bs-record-history li { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 0 0 20px 20px; border-left: 1px solid var(--bs-border); }
.bs-record-history li::before { content: ''; position: absolute; top: 6px; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--bs-muted); border: 2px solid var(--bs-surface-raised); box-sizing: border-box; }
.bs-record-history li:first-child::before { background: var(--bs-orange); width: 9px; height: 9px; left: -5px; }
.bs-record-history li:last-child { padding-bottom: 0; border-color: transparent; }
.bs-record-history li span, .bs-record-history li strong, .bs-record-history li small { display: block; }
.bs-record-history li span { color: var(--bs-muted); font-size: 11px; }
.bs-record-history li i { font-style: normal; margin-left: 5px; }
.bs-record-history li strong { color: var(--bs-text); font-size: 12px; font-weight: 500; }
.bs-record-history li small { margin-top: 3px; color: var(--bs-muted); font-size: 10px; }
.bs-record-history li b { flex: none; padding: 2px 6px; border: 1px solid var(--bs-border); border-radius: 4px; font-size: 10px; font-weight: 500; }
.bs-record-source-link { display: block; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--bs-border); color: var(--bs-orange-soft); text-decoration: none; font-size: 11px; }
.bs-record-discussion .tracker-comments { padding: 0; }
.bs-record-discussion .tracker-comments textarea { min-height: 110px; font-size: 12px; }
.bs-record-discussion .tracker-comment-list article { font-size: 12px; }
.bs-record-panel .invoice-resolution { margin: 0; padding: 0; border: 0; background: none; }
.bs-record-panel .invoice-resolution-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.bs-record-panel .invoice-resolution-grid .invoice-resolution-url, .bs-record-panel .invoice-resolution-grid .invoice-resolution-milestone { grid-column: 1/-1; }
.bs-record-panel button:focus-visible, .bs-record-panel a:focus-visible, .bs-record-popover button:focus-visible, .bs-record-popover a:focus-visible, .bs-tracker-tooltip:focus-visible { outline: 2px solid var(--bs-orange); outline-offset: 3px; }
@media (max-width: 700px) { .bs-record-overview { grid-template-columns: 1fr; }.bs-record-panel { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }.bs-record-title,.bs-record-body { padding: 20px; }.bs-record-tabs { padding-inline: 20px; gap: 18px; } }

/* Tracker: source identity and distinct payment / schedule signals. */
.bs-tracker-sheet { border-color: color-mix(in srgb,var(--bs-orange) 18%,var(--bs-border)); box-shadow: 0 12px 44px #0002; }
.bs-tracker-month-bar { background: linear-gradient(110deg,color-mix(in srgb,var(--bs-orange) 7%,var(--bs-surface)),var(--bs-surface) 60%); }
.bs-tracker .invoice-client-cell .bs-tracker-avatar { display: grid; place-items: center; flex: none; width: 27px; height: 29px; border-radius: 9px; background: color-mix(in srgb,var(--bs-orange) 13%,var(--bs-surface)); border: 1px solid color-mix(in srgb,var(--bs-orange) 24%,var(--bs-border)); color: var(--bs-orange-soft); font: 500 10px var(--bs-font-body); }
.bs-tracker .invoice-data-row:nth-child(3n+2) .bs-tracker-avatar { color: var(--bs-semantic-good); background: color-mix(in srgb,var(--bs-semantic-good) 10%,var(--bs-surface)); border-color: color-mix(in srgb,var(--bs-semantic-good) 25%,var(--bs-border)); }
.bs-tracker .invoice-data-row:nth-child(3n) .bs-tracker-avatar { color: var(--bs-text); background: var(--bs-surface-raised); border-color: var(--bs-border); }
.bs-tracker-origin { display: block; margin-top: 4px; color: var(--bs-muted); font-size: 9px; letter-spacing: .025em; }
.bs-tracker-origin[data-connected="true"] { color: var(--bs-semantic-good); }
.bs-tracker-origin b { font-weight: 400; color: var(--bs-semantic-risk); }
.bs-tracker .invoice-table .invoice-data-row[data-movement="delayed"] td { background: color-mix(in srgb,var(--bs-semantic-risk) 4%,transparent); }
.bs-tracker .invoice-table .invoice-data-row[data-movement="delayed"] td:first-child { box-shadow: inset 3px 0 var(--bs-semantic-risk); }
.bs-tracker .invoice-table .invoice-data-row:hover td { background: color-mix(in srgb,var(--bs-orange) 6%,var(--bs-surface)); }
.bs-tracker-milestone { color: var(--bs-orange-soft); border-color: color-mix(in srgb,var(--bs-orange) 20%,var(--bs-border)); background: color-mix(in srgb,var(--bs-orange) 5%,var(--bs-surface)); border-radius: 8px; }
.bs-tracker-date { align-items: flex-start; flex-direction: column; gap: 3px; }
.bs-tracker-date .bs-tracker-date-value { color: var(--bs-text); }
.bs-tracker-date small { padding: 2px 5px; font-size: 9px; border: 1px solid var(--bs-border-quiet); }
.bs-tracker-date[data-movement="delayed"] small { color: var(--bs-semantic-risk); background: color-mix(in srgb,var(--bs-semantic-risk) 10%,transparent); }
.bs-tracker-date[data-movement="earlier"] small { color: var(--bs-semantic-good); background: color-mix(in srgb,var(--bs-semantic-good) 10%,transparent); }
.bs-tracker-date.is-compact { padding-top: 4px; padding-bottom: 0; }
.bs-tracker-invoice-date small { color: var(--bs-muted); font-size: 9px; }
.bs-tracker .invoice-data-row[data-payment-late="true"] .bs-tracker-invoice-date small { color: var(--bs-semantic-warn); }
.bs-tracker-pdf { color: var(--bs-orange-soft); background: color-mix(in srgb,var(--bs-orange) 5%,var(--bs-surface)); }
.bs-tracker-documents { border: 0; padding: 0; background: none; color: var(--bs-orange-soft); font: 11px var(--bs-font-body); cursor: pointer; }
.bs-tracker-unlinked { font-size: 10px; color: var(--bs-muted); }
.bs-record-panel.is-compact { width: min(760px,calc(100vw - 32px)); }
.bs-record-panel.is-compact .bs-record-overview { grid-template-columns: minmax(0,1fr); }
.bs-record-panel.is-compact .bs-record-overview-context:empty { display: none; }
.bs-record-header { background: linear-gradient(110deg,color-mix(in srgb,var(--bs-orange) 9%,var(--bs-surface)),var(--bs-surface)); }
.bs-record-invoice { background: linear-gradient(130deg,color-mix(in srgb,var(--bs-orange) 5%,var(--bs-surface)),var(--bs-surface) 65%); }
.bs-record-invoice-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bs-record-invoice-heading h3 { margin: 0; }
.bs-record-invoice-total { display: block; margin: 16px 0 4px; font: 600 34px/1.2 var(--bs-font-display); letter-spacing: -.025em; }
.bs-record-invoice > p { color: var(--bs-muted); font-size: 12px; }
.bs-record-payment-late { margin: 16px 0; padding: 12px; border-radius: 8px; background: color-mix(in srgb,var(--bs-semantic-warn) 7%,transparent); border-left: 2px solid var(--bs-semantic-warn); }
.bs-record-payment-late strong { color: var(--bs-semantic-warn); font-size: 12px; }
.bs-record-payment-late p { margin: 5px 0 0; font-size: 11px; color: var(--bs-muted); }
.bs-record-document-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.bs-record-document-actions a { padding: 6px 10px; border: 1px solid var(--bs-border); border-radius: 7px; text-decoration: none; font-size: 11px; }
.bs-record-invoice .bs-record-evidence { margin-top: 16px; }
.bs-record-document-list { display: grid; gap: 8px; margin-top: 14px; }
.bs-record-document-list a { display: block; padding: 12px; border: 1px solid var(--bs-border); border-radius: 8px; text-decoration: none; }
.bs-record-document-list span { display: block; color: var(--bs-muted); font-size: 10px; }
.bs-record-document-list strong { color: var(--bs-orange-soft); font-size: 12px; font-weight: 500; }

/* Baselines delivery intelligence: compact operational hierarchy. */
.bi-workspace { gap: 18px; min-width: 0; color: var(--bs-text); font-size: 14px; }
.bi-workspace * { box-sizing: border-box; }
.bs-baselines-overview .bs-workspace { padding-top: 28px; }
.bi-home-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 10px 0 26px; }
.bi-home-head h1 { margin: 7px 0 0; font: 700 clamp(42px,5vw,64px)/.98 var(--bs-font); letter-spacing: -.055em; }
.bi-home-head p { margin: 10px 0 0; color: var(--bs-muted); font-size: 14px; }
.bi-home-search { display: block; flex: 0 1 280px; }
.bi-home-search input { width: 100%; height: 42px; border: 1px solid var(--bs-border); border-radius: 8px; padding: 0 14px; background: var(--bs-surface); color: var(--bs-text); font: 13px var(--bs-font); }
.bi-home-layout { display: grid; grid-template-columns: minmax(260px,330px) minmax(0,1fr); gap: 16px; align-items: start; }
.bi-health-overview { padding: 24px; }
.bi-home-section-top p { margin: 8px 0 0; color: var(--bs-muted); font-size: 12px; }
.bi-health-donut { display: grid; place-items: center; width: min(225px,80%); aspect-ratio: 1; border: 0; border-radius: 50%; padding: 0; margin: 26px auto 22px; color: var(--bs-text); cursor: pointer; }
.bi-health-donut > span { display: grid; place-content: center; width: 71%; aspect-ratio: 1; border-radius: 50%; background: var(--bs-surface); box-shadow: 0 0 0 5px var(--bs-surface); }
.bi-health-donut strong { font-size: 44px; line-height: 1; letter-spacing: -.05em; }
.bi-health-donut small { margin-top: 7px; color: var(--bs-muted); font-size: 11px; }
.bi-health-legend { display: grid; gap: 3px; }
.bi-health-legend button { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 11px; width: 100%; border: 1px solid transparent; border-radius: 7px; padding: 10px; background: none; color: var(--bs-text); font: 12px var(--bs-font); text-align: left; cursor: pointer; }
.bi-health-legend button:hover,.bi-health-legend button[aria-pressed=true] { border-color: var(--bs-border); background: var(--bs-surface-raised); }
.bi-health-legend i { width: 9px; height: 9px; border-radius: 50%; }
.bi-health-legend b { font-variant-numeric: tabular-nums; font-size: 13px; }
.bi-home-updated { margin: 19px 0 0; padding-top: 17px; border-top: 1px solid var(--bs-border-quiet); color: var(--bs-muted); font-size: 10px; }
.bi-home-list-head { display: flex; justify-content: space-between; align-items: end; gap: 14px; padding: 24px 24px 18px; }
.bi-home-list-head h2 { margin: 6px 0 0; font-size: 21px; letter-spacing: -.03em; }
.bi-home-list-head h2 span { margin-left: 6px; color: var(--bs-muted); font-size: 13px; font-weight: 400; }
.bi-home-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 0 24px 20px; }
.bi-home-filters .bi-select { flex: 1 1 140px; min-width: 0; }
.bi-home-list { max-height: min(880px,calc(100vh - 230px)); overflow-y: auto; scrollbar-width: thin; }
.bi-home-project { border-top: 1px solid var(--bs-border-quiet); }
.bi-home-project[data-selected=true] { background: var(--bs-surface-raised); }
.bi-home-project-main { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 74px; padding: 18px 24px 8px; border: 0; background: none; color: var(--bs-text); text-align: left; cursor: pointer; font: inherit; }
.bi-home-project-main:hover strong { color: var(--bs-orange); }
.bi-home-project-title { display: grid; gap: 5px; min-width: 0; flex: 1; }
.bi-home-project-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 600; }
.bi-home-project-title small { color: var(--bs-muted); font-size: 11px; }
.bi-home-project-meta { display: flex; align-items: center; gap: 15px; font-size: 11px; white-space: nowrap; }
.bi-home-chevron { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--bs-border); border-radius: 50%; color: var(--bs-muted); font-size: 16px; }
.bi-home-departments { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 24px 18px; }
.bi-home-departments span { padding: 3px 7px; border: 1px solid var(--bs-border); border-radius: 4px; color: var(--bs-muted); font-size: 10px; }
.bi-home-departments span[data-tone=risk] { color: var(--bs-semantic-risk); border-color: color-mix(in srgb,var(--bs-semantic-risk) 30%,transparent); }
.bi-home-departments span[data-tone=warn] { color: var(--bs-semantic-warn); border-color: color-mix(in srgb,var(--bs-semantic-warn) 30%,transparent); }
.bi-home-departments em { margin-left: auto; color: var(--bs-semantic-warn); font-size: 10px; font-style: normal; }
.bi-home-detail-summary { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; padding: 6px 0 18px; color: var(--bs-muted); font-size: 11px; }
.bi-home-project .bs-overview-detail { padding: 20px 24px 28px; border-top: 1px solid var(--bs-border-quiet); }
.bi-department-cards,.bi-pattern-stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 4px 24px 24px; }
.bi-department-card { display: grid; gap: 15px; min-width: 0; padding: 19px; border: 1px solid var(--bs-border); border-radius: 8px; background: var(--bs-canvas); color: var(--bs-text); font: inherit; text-align: left; cursor: pointer; }
.bi-department-card:hover,.bi-pattern-row:hover { border-color: var(--bs-orange); }
.bi-department-card-title,.bi-department-card-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.bi-department-card-title strong { font-size: 16px; }
.bi-department-card-title span,.bi-department-card-meta { color: var(--bs-muted); font-size: 10px; }
.bi-department-card-count { color: var(--bs-muted); font-size: 12px; }
.bi-department-card-count b { color: var(--bs-text); font-size: 29px; line-height: 1; }
.bi-department-progress { height: 5px; overflow: hidden; border-radius: 4px; background: var(--bs-border); }
.bi-department-progress i { display: block; height: 100%; background: var(--bs-semantic-risk); }
.bi-deep-dive { border-top: 1px solid var(--bs-border-quiet); }
.bi-deep-dive > summary { display: grid; gap: 5px; padding: 18px 24px; cursor: pointer; color: var(--bs-text); font-size: 13px; font-weight: 600; }
.bi-deep-dive > summary span { color: var(--bs-muted); font-size: 11px; font-weight: 400; }
.bi-deep-actions { display: flex; justify-content: flex-end; padding: 18px 24px; }
.bi-pattern-stories { grid-template-columns: repeat(2,minmax(0,1fr)); padding-top: 22px; }
.bi-pattern-card { min-width: 0; padding: 20px; border: 1px solid var(--bs-border); border-radius: 8px; background: var(--bs-canvas); }
.bi-pattern-card h3 { margin: 0 0 14px; font-size: 15px; }
.bi-pattern-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(45px,90px) 55px; gap: 12px; align-items: center; width: 100%; min-height: 55px; padding: 7px 4px; border: 1px solid transparent; border-top-color: var(--bs-border-quiet); background: none; color: var(--bs-text); text-align: left; cursor: pointer; font: inherit; }
.bi-pattern-row[data-selected=true] { color: var(--bs-orange); }
.bi-pattern-row > span:first-child { min-width: 0; }
.bi-pattern-row b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.bi-pattern-row small { display: block; margin-top: 4px; color: var(--bs-muted); font-size: 9px; }
.bi-pattern-row strong { font-size: 13px; text-align: right; white-space: nowrap; }
.bi-pattern-row strong small { display: inline; font-weight: 400; }
.bi-pattern-bar { height: 5px; border-radius: 4px; background: var(--bs-border); }
.bi-pattern-bar i { display: block; height: 100%; border-radius: inherit; background: var(--bs-semantic-risk); }
.bi-story-evidence { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 10px 24px 24px; }
.bi-story-evidence h3 { margin: 0; font-size: 15px; }
.bi-story-evidence p { margin: 5px 0 0; color: var(--bs-muted); font-size: 11px; }
.bi-story-evidence .bi-table-scroll { width: 100%; border: 1px solid var(--bs-border); border-radius: 8px; }
@media(max-width:1200px){.bi-department-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.bi-department-cards,.bi-pattern-stories{grid-template-columns:1fr;padding-inline:18px}.bi-pattern-card{padding:16px}}
@media(max-width:1050px){.bi-home-layout{grid-template-columns:minmax(0,1fr)}.bi-health-overview{display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr);gap:12px 24px}.bi-home-section-top,.bi-home-updated{grid-column:1/-1}.bi-health-donut{margin:0 auto}.bi-home-list{max-height:none}}
@media(max-width:650px){.bi-home-head{align-items:stretch;flex-direction:column}.bi-home-search{flex:auto}.bi-health-overview{display:block}.bi-health-donut{width:180px;margin:22px auto}.bi-home-project-main{flex-wrap:wrap;padding-inline:18px}.bi-home-project-meta{order:3;width:100%;flex-wrap:wrap}.bi-home-departments{padding-inline:18px}.bi-home-list-head,.bi-home-filters,.bi-home-project .bs-overview-detail{padding-inline:18px}}
.bi-overview-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.bi-eyebrow { display: block; color: var(--bs-muted); font-size: 11px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.bi-overview-heading h2 { margin: 0; font-size: 20px; letter-spacing: -.03em; font-weight: 600; }
.bi-snapshot-label { display: flex; align-items: center; gap: 10px; color: var(--bs-muted); font-size: 12px; white-space: nowrap; }
.bi-snapshot-label i { height: 3px; width: 3px; border-radius: 50%; background: var(--bs-muted); }
.bi-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--bs-border); border-radius: 10px; overflow: hidden; background: var(--bs-surface); }
.bi-kpis > button { padding: 16px 22px; background: none; color: var(--bs-text); border: 0; border-top: 2px solid transparent; text-align: left; font: inherit; cursor: pointer; }
.bi-kpis > button + button { border-left: 1px solid var(--bs-border); }
.bi-kpis > button:hover { background: var(--bs-surface-raised); border-top-color: var(--bs-orange); }
.bi-kpis > button > span { font-size: 12px; color: var(--bs-muted); }
.bi-kpis strong { display: block; font-size: 36px; letter-spacing: -.045em; font-weight: 600; font-variant-numeric: tabular-nums; margin-top: 5px; }
.bi-kpis strong small { font-size: 18px; color: var(--bs-muted); font-weight: 400; }
.bi-kpis p { margin: 6px 0 0; color: var(--bs-muted); font-size: 11px; line-height: 1.6; }
.bi-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--bs-border); }
.bi-tabs > button { display: flex; gap: 9px; align-items: center; padding: 10px 0 16px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--bs-muted); font: 500 14px var(--bs-font); cursor: pointer; }
.bi-tabs > button[aria-current] { color: var(--bs-text); border-bottom-color: var(--bs-orange); }
.bi-tabs > button > span { padding: 1px 6px; background: var(--bs-surface-raised); color: var(--bs-muted); border-radius: 4px; font-size: 11px; }
.bi-panel { min-width: 0; border: 1px solid var(--bs-border); border-radius: 10px; background: var(--bs-surface); overflow: hidden; }
.bi-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; }
.bi-section-heading h2 { margin: 6px 0 0; font-size: 19px; font-weight: 600; letter-spacing: -.03em; }
.bi-section-heading p { margin: 8px 0 0; color: var(--bs-muted); font-size: 12px; line-height: 1.6; }
.bi-section-heading > .bs-button { flex-shrink: 0; }
.bi-select { display: grid; gap: 7px; min-width: 155px; max-width: 290px; }
.bi-select > span { color: var(--bs-muted); font-size: 11px; }
.bi-select select { width: 100%; height: 36px; border: 1px solid var(--bs-border); border-radius: 6px; padding: 0 28px 0 10px; background: var(--bs-canvas); color: var(--bs-text); font: 12px var(--bs-font); text-overflow: ellipsis; }
.bi-risk-toolbar { display: flex; align-items: end; gap: 18px; justify-content: space-between; padding: 0 24px 22px; }
.bi-segments { display: flex; flex-wrap: wrap; gap: 6px; }
.bi-segments button { display: flex; align-items: center; gap: 7px; min-height: 34px; padding: 5px 10px; background: transparent; border: 1px solid transparent; border-radius: 6px; color: var(--bs-muted); font: 500 11px var(--bs-font); cursor: pointer; }
.bi-segments button[aria-pressed=true] { border-color: var(--bs-border); color: var(--bs-text); background: var(--bs-surface-raised); }
.bi-segments button span { font-size: 10px; opacity: .75; }
.bi-table-scroll { position: relative; width: 100%; overflow-x: auto; scrollbar-width: thin; }
.bi-table { border-collapse: collapse; width: 100%; text-align: left; font-size: 12px; font-variant-numeric: tabular-nums; }
.bi-table thead { background: var(--bs-canvas); border-block: 1px solid var(--bs-border); }
.bi-table th, .bi-table td { padding: 17px 18px; border-bottom: 1px solid var(--bs-border-quiet); vertical-align: middle; }
.bi-table th:first-child, .bi-table td:first-child { padding-left: 24px; }
.bi-table th:last-child, .bi-table td:last-child { padding-right: 24px; }
.bi-table thead th { color: var(--bs-muted); font-size: 10px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; padding-block: 13px; }
.bi-table tbody th { font-weight: 500; }
.bi-table tbody tr:last-child > * { border-bottom: 0; }
.bi-table small { display: block; margin-top: 6px; font-size: 10px; line-height: 1.5; color: var(--bs-muted); font-weight: 400; }
.bi-table strong, .bi-table b { font-weight: 600; }
.bi-projects { min-width: 920px; }
.bi-projects > thead th:first-child { width: 24%; }
.bi-projects > thead th:nth-child(2) { width: 30%; }
.bi-projects tbody tr[data-selected=true] { background: var(--bs-selectable-active-bg); }
.bi-project-link, .bi-text-button { padding: 0; border: 0; background: none; color: var(--bs-text); cursor: pointer; font: inherit; text-align: left; text-decoration: none; }
.bi-project-link { font-size: 14px; font-weight: 600; }
.bi-project-link:hover, .bi-text-button:hover { color: var(--bs-orange); }
.bi-department-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.bi-department-tags > span { display: inline-flex; align-items: center; gap: 7px; padding: 4px 7px; border: 1px solid var(--bs-border); border-radius: 5px; font-size: 10px; color: var(--bs-muted); white-space: nowrap; }
.bi-department-tags > span[data-tone=risk] { color: var(--bs-semantic-risk); border-color: color-mix(in srgb,var(--bs-semantic-risk) 28%,transparent); background: color-mix(in srgb,var(--bs-semantic-risk) 6%,transparent); }
.bi-department-tags > span[data-tone=warn] { color: var(--bs-semantic-warn); border-color: color-mix(in srgb,var(--bs-semantic-warn) 24%,transparent); }
.bi-health { font-size: 11px; display: inline-block; padding-left: 9px; border-left: 2px solid var(--bs-muted); }
.bi-health[data-tone=risk] { border-color: var(--bs-semantic-risk); }
.bi-health[data-tone=warn] { border-color: var(--bs-semantic-warn); }
.bi-health[data-tone=good] { border-color: var(--bs-semantic-good); }
.bi-health[data-tone=info] { border-color: var(--bs-semantic-info); }
.bi-priority { display: flex; align-items: center; gap: 8px; }
.bi-priority b { display: grid; place-items: center; min-width: 32px; height: 32px; border: 1px solid var(--bs-border); border-radius: 7px; font-size: 13px; }
.bi-priority > span { font-size: 10px; color: var(--bs-muted); }
.bi-priority[data-tone=risk] b { color: var(--bs-semantic-risk); border-color: color-mix(in srgb,var(--bs-semantic-risk) 40%,transparent); }
.bi-priority[data-tone=warn] b { color: var(--bs-semantic-warn); }
.bi-expand { height: 30px; width: 30px; border: 1px solid var(--bs-border); border-radius: 50%; background: none; color: var(--bs-muted); font-size: 18px; cursor: pointer; }
.bi-detail-row > td { padding: 0!important; }
.bi-detail-row .bs-overview-detail { padding: 24px; }
.bi-risk-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.bi-risk-detail p { font-size: 11px; line-height: 1.7; color: var(--bs-muted); }
.bi-score-parts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.bi-score-parts > span { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; padding-block: 8px; border-bottom: 1px solid var(--bs-border); }
.bi-score-parts small { display: inline; }
.bi-evidence-list p { display: grid; grid-template-columns: 90px 1fr; gap: 12px; margin: 0; padding-block: 9px; border-bottom: 1px solid var(--bs-border-quiet); }
.bi-evidence-list b { color: var(--bs-text); font-weight: 500; }
.bi-risk-text { color: var(--bs-semantic-risk)!important; }
.bi-warning { color: var(--bs-semantic-warn)!important; }
.bi-muted, .bi-gap { color: var(--bs-muted); }
.bi-footnote { padding: 16px 24px; margin: 0; font-size: 11px; line-height: 1.7; color: var(--bs-muted); border-top: 1px solid var(--bs-border-quiet); }
.bi-empty { padding: 36px 24px; margin: 0; color: var(--bs-muted); font-size: 13px; }
.bi-departments { min-width: 1060px; }
.bi-departments tbody th { min-width: 150px; }
.bi-departments td { white-space: nowrap; }
.bi-spark { display: flex; align-items: end; gap: 4px; height: 44px; min-width: 146px; }
.bi-spark span { display: block; width: 8px; border-radius: 2px 2px 0 0; background: color-mix(in srgb,var(--bs-orange) 70%,var(--bs-border)); }
.bi-spark span[data-missing=true] { background: var(--bs-border); }
.bi-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 0 24px 20px; }
.bi-filter-toggle { height: 36px; }
.bi-condition-filters { padding: 20px 24px; border-top: 1px solid var(--bs-border-quiet); background: var(--bs-canvas); }
.bi-condition-filters .bi-select { flex: 1 1 190px; }
.bi-cohort-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 30px; padding: 18px 24px; border-block: 1px solid var(--bs-border); font-size: 12px; }
.bi-cohort-summary > strong { font-weight: 600; }
.bi-cohort-summary > strong span { display: block; color: var(--bs-muted); font-weight: 400; font-size: 10px; margin-top: 4px; }
.bi-cohort-summary > span { color: var(--bs-muted); font-size: 11px; }
.bi-cohort-summary b { color: var(--bs-text); font-size: 16px; font-weight: 500; }
.bi-matrix-controls { display: flex; gap: 16px; align-items: end; padding: 20px 24px; }
.bi-cross { color: var(--bs-muted); padding-bottom: 10px; }
.bi-matrix-key { margin-left: auto; padding-bottom: 10px; color: var(--bs-muted); font-size: 10px; }
.bi-matrix { min-width: 740px; }
.bi-matrix thead th { min-width: 128px; max-width: 240px; line-height: 1.6; }
.bi-matrix thead th:first-child { min-width: 200px; }
.bi-matrix td { padding: 8px; text-align: center; }
.bi-matrix thead th:not(:first-child) { text-align: center; }
.bi-matrix tbody th { max-width: 260px; overflow-wrap: anywhere; }
.bi-heat-cell { display: grid; place-content: center; min-height: 64px; width: 100%; border: 1px solid transparent; border-radius: 6px; color: var(--bs-text); background: rgba(255,105,80,var(--heat)); font: inherit; cursor: pointer; }
.bi-heat-cell b { font-size: 17px; }
.bi-heat-cell small { margin-top: 3px; }
.bi-heat-cell[data-thin=true] { color: var(--bs-muted); background: var(--bs-canvas); border: 1px dashed var(--bs-border); }
.bi-heat-cell:hover, .bi-heat-cell[data-selected=true] { border-color: var(--bs-orange); }
.bi-no-data { color: var(--bs-muted); opacity: .5; }
.bi-ai { border-left: 2px solid var(--bs-orange); }
.bi-ai .bi-eyebrow { color: var(--bs-orange); }
.bi-ai-result { padding: 0 24px 24px; max-width: 1000px; }
.bi-ai-result p { white-space: pre-wrap; line-height: 1.8; font-size: 13px; }
.bi-ai-result small { color: var(--bs-muted); font-size: 11px; }
.bi-coverage { background: transparent; }
.bi-coverage summary { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 18px 24px; cursor: pointer; font-size: 12px; }
.bi-coverage summary span { color: var(--bs-muted); font-size: 11px; }
.bi-coverage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 32px; padding: 0 24px 24px; }
.bi-coverage-grid h3 { font-size: 12px; }
.bi-coverage-grid p, .bi-report-coverage { color: var(--bs-muted); font-size: 11px!important; line-height: 1.75; }
.bi-sr-only { position: absolute; left: 0; top: 0; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.bi-workspace :is(button,a,select,summary,[tabindex]):focus-visible { outline: 2px solid var(--bs-orange); outline-offset: 3px; }
@media(max-width:1200px) { .bi-kpis > button { padding: 18px 14px; } .bi-kpis strong { font-size: 30px; } .bi-risk-toolbar { align-items: start; } .bi-overview-heading { align-items: start; flex-direction: column; gap: 12px; } }
@media(max-width:800px) { .bi-kpis { grid-template-columns: 1fr 1fr; } .bi-kpis > button:nth-child(3) { border-left: 0; } .bi-kpis > button:nth-child(n+3) { border-top: 1px solid var(--bs-border); } .bi-section-heading,.bi-risk-toolbar { flex-wrap: wrap; padding: 18px; } .bi-filters,.bi-matrix-controls { padding-inline: 18px; } .bi-matrix-controls { flex-wrap: wrap; } .bi-matrix-key { width: 100%; margin: 0; } .bi-risk-detail,.bi-coverage-grid { grid-template-columns: 1fr; } .bi-tabs { gap: 20px; } }
@media(max-width:560px) { .bs-baselines-overview .bs-hero.has-stage-footer { min-height: 230px; grid-template-columns: 1fr; padding-block: 24px; gap: 20px; } .bs-baselines-overview .bs-mascot-stage { width: 100%; height: auto; min-height: 70px; padding: 0; } .bs-baselines-overview .bs-mascot-stage :is(img,.bs-mascot-ring,.bs-mascot-glow,.bs-mascot-orbit) { display: none; } .bi-tabs > button { font-size: 12px; } .bi-tabs { gap: 16px; } .bi-tabs > button > span { display: none; } .bi-select { min-width: 0; max-width: 100%; flex: 1 1 150px; } .bi-kpis p { font-size: 10px; } .bi-kpis strong { font-size: 28px; } .bi-section-heading h2 { font-size: 18px; } .bi-cohort-summary { gap: 14px; padding: 18px; } .bi-snapshot-label { white-space: normal; } }
@media(max-width:700px){.bi-detail-row .bs-overview-detail{width:calc(100vw - 44px);max-width:100%;padding:18px}.bs-baselines-overview .bs-workspace-rail.is-table-layout .bs-rail-group>div{display:flex;flex-wrap:wrap}.bs-baselines-overview .bs-workspace-rail.is-table-layout .bs-rail-item{flex:1 1 auto}.bi-table-scroll::after{content:none}}

.bs-tracker .invoice-status-trigger span { white-space: nowrap; }
.bs-tracker .invoice-priority { width: 24px; height: 24px; padding: 0; font-size: 17px; }

/* Tracker workspace follows the shared content width and sidebar controls. */
.bs-tracker-main { min-width: 0; }
.bs-tracker .bs-workspace-rail { max-height: calc(100dvh - var(--bs-bar-height) - 48px); overflow-y: auto; scrollbar-width: thin; }
.bs-tracker .bs-rail-group .bs-button { padding: 8px; font-size: 11px; }
.bs-tracker-year-label { flex: none; color: var(--bs-muted); font-size: 12px; }
.bs-tracker-save { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.bs-tracker-month-tabs { gap: 0; }
.bs-tracker-month-tabs button { padding-inline: 10px; }
.bs-tracker .invoice-status-trigger { box-sizing: border-box; width: 100%; }
.bs-tracker .invoice-status-trigger span { min-width: 0; }
.bs-tracker .invoice-client-cell { overflow: hidden; }
.bs-tracker .invoice-table td.invoice-dates { overflow: visible; }
.bs-tracker .invoice-table .invoice-priority-cell { padding: 4px; }
.bs-tracker-date { gap: 4px; font-size: 11px; }
.bs-tracker-date small { padding: 2px 3px; }
.bs-record-overview-main, .bs-record-overview-context { display: grid; gap: 24px; min-width: 0; }
.bs-record-overview-context { border-left: 0; padding-left: 0; }
.bs-record-overview-context > .bs-record-section { padding: 18px; border: 1px solid var(--bs-border-quiet); border-radius: var(--bs-radius); background: color-mix(in srgb,var(--bs-orange) 2%,var(--bs-surface)); }
.bs-record-section h3 { margin: 0 0 12px; font-size: 14px; }
.bs-record-section h4 { margin: 24px 0 8px; font-size: 12px; }
.bs-record-section p { margin-top: 8px; }
.bs-record-section a { color: var(--bs-orange-soft); text-decoration: none; overflow-wrap: anywhere; }
.bs-record-task-context { white-space: pre-wrap; }
.bs-record-schedule, .bs-record-related { padding: 0; margin: 16px 0 0; list-style: none; }
.bs-record-schedule li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--bs-border-quiet); font-size: 11px; }
.bs-record-schedule li.is-current { color: var(--bs-orange-soft); }
.bs-record-schedule li strong { white-space: nowrap; font-weight: 500; }
.bs-record-related li { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--bs-border-quiet); }
.bs-record-related li span, .bs-record-related li small { color: var(--bs-muted); font-size: 11px; }
@media (max-width: 1100px) { .bs-tracker .bs-workspace-rail { max-height: none; overflow: visible; flex-direction: row; flex-wrap: wrap; align-items: flex-start; }.bs-tracker .bs-workspace-rail.is-table-layout .bs-rail-group { width: auto; flex: 1; min-width: 130px; } }
@media (max-width: 700px) { .bs-record-overview-context { border-left: 0; border-top: 1px solid var(--bs-border); padding: 24px 0 0; } }

/* Shared app frame: a permanent top bar, icon rail and compact side flyouts. */
.bs-app-main.has-sidebar { padding: var(--bs-bar-height, 56px) 0 0 var(--bs-sidebar-width, 76px); min-height: 100vh; box-sizing: border-box; }
/* Salon pages lay out and fetch behind the loading screen, then appear with no box of their own. */
.bs-app-content { display: contents; }
.bs-app-content.is-preloading { display: block; position: fixed; inset: var(--bs-bar-height, 56px) 0 0 var(--bs-sidebar-width, 0px); overflow: hidden; visibility: hidden; pointer-events: none; }
body.bs-standalone-shell.bs-shell-active { padding-left: var(--bs-sidebar-width, 76px); padding-top: var(--bs-bar-height, 56px); box-sizing: border-box; }
body.bs-standalone-shell [data-baldspot-shell] .bs-app-main { display: none; }
.bs-shell-menu-button { display: none !important; }
.bs-shell-create { position: relative; display: inline-flex; }
.bs-shell-create .account-menu { min-width: 220px; }
.bs-shell-icon { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bs-shell-sidebar { position: fixed; z-index: 65; top: var(--bs-bar-height, 56px); bottom: 0; left: 0; width: 76px; font-family: var(--bs-font); }
.bs-shell-rail { width: 76px; height: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 16px 5px 12px; box-sizing: border-box; overflow-y: auto; border-right: 1px solid var(--bs-border-quiet); background: #10100f; scrollbar-width: none; }
.bs-shell-rail::-webkit-scrollbar { display: none; }
.bs-shell-section { text-decoration: none; text-align: center; appearance: none; flex: none; position: relative; width: 64px; min-height: 65px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 5px 1px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #a8a39b; cursor: pointer; font: 500 10px/1.3 var(--bs-font); transition: background 140ms ease, color 140ms ease; }
.bs-shell-section-icon { width: 32px; height: 32px; display: grid; place-items: center; }
.bs-shell-section-icon > svg { width: 20px; height: 20px; }
.bs-shell-section:hover, .bs-shell-section.is-shown { background: rgba(255,157,94,.13); color: #ffd0af; }
.bs-shell-section.is-current { color: #ffb37d; background: rgba(255,92,0,.1); }
.bs-shell-section.is-current::before { content: ''; position: absolute; left: -6px; top: 18px; bottom: 18px; width: 3px; border-radius: 0 3px 3px 0; background: var(--bs-orange); }
.bs-shell-section:focus-visible, .bs-shell-tool:focus-visible, .bs-shell-flyout-close:focus-visible { outline: 2px solid var(--bs-orange-soft); outline-offset: 2px; }
.bs-shell-nav-loading { color: var(--bs-muted); letter-spacing: 3px; }
.bs-shell-push { margin-top: auto; padding-top: 8px; }
.bs-shell-push-panel { top: auto; bottom: 12px; }
.bs-shell-push-panel .notice-form { padding: 2px; }
.bs-shell-push-sent { margin: 0; padding: 10px 9px; color: var(--bs-muted); font-size: 12px; }
.bs-shell-panel-head .bs-shell-push-what { margin: 4px 0 0; color: #a49a90; font: 400 11px/1.45 var(--bs-font); text-transform: none; letter-spacing: 0; }
.bs-shell-push-what strong { color: #e5ded6; font-weight: 600; }
.bs-shell-flyout { position: fixed; left: 75px; width: 308px; display: flex; flex-direction: column; box-sizing: border-box; max-height: calc(100dvh - var(--bs-bar-height, 56px) - 20px); overflow: visible; padding: 8px; border: 1px solid #393029; border-radius: 12px; background: #151412; box-shadow: 14px 18px 50px #0008; animation: bs-flyout-enter 150ms ease-out; }
.bs-shell-panel-head { display: flex; flex: none; align-items: center; gap: 10px; padding: 8px 9px 14px; margin-bottom: 6px; border-bottom: 1px solid #ffffff0d; }
.bs-shell-panel-head > img { width: 38px; height: 38px; object-fit: contain; }
.bs-shell-panel-head > div { flex: 1; min-width: 0; }
.bs-shell-panel-head small { display: block; margin-bottom: 4px; color: #9e948a; font: 500 9px/1 var(--bs-font); text-transform: uppercase; letter-spacing: .13em; }
.bs-shell-panel-head h2 { margin: 0; color: #f4f0eb; font: 600 13px/1.4 var(--bs-font); }
.bs-shell-flyout-close { display: grid; place-items: center; align-self: flex-start; padding: 4px; border: 0; border-radius: 5px; background: none; color: #958c84; cursor: pointer; }
.bs-shell-flyout-close .bs-shell-icon { width: 14px; height: 14px; }
.bs-shell-flyout-close:hover { color: #ffc395; background: #ff9d5e21; }
.bs-shell-panel-list { display: grid; gap: 3px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.bs-shell-tool { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 54px; padding: 10px 12px; box-sizing: border-box; border-radius: 9px; color: #e5ded6; text-decoration: none; transition: background 120ms ease; }
.bs-shell-tool > span { min-width: 0; }
.bs-shell-tool strong { display: block; font: 600 12px/1.45 var(--bs-font); }
.bs-shell-tool small { display: block; margin-top: 4px; color: #a49a90; font: 400 10.5px/1.5 var(--bs-font); }
.bs-shell-tool:hover, .bs-shell-tool.is-current { background: rgba(255,157,94,.13); color: #ffca9f; }
.bs-shell-tool:hover small { color: #c9b09c; }
.bs-shell-external { width: 13px; height: 13px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; opacity: .5; }
.bs-shell-scrim { position: fixed; z-index: 64; inset: var(--bs-bar-height, 56px) 0 0; border: 0; background: #0009; cursor: default; }
body.bs-shell-active .builder-sidenav { left: calc(var(--bs-sidebar-width, 0px) + 18px); }
body.bs-shell-active .bs-org-chart-results { left: calc(var(--bs-sidebar-width, 0px) + 190px); }
body.bs-shell-active .home-mascot--top-left { left: calc(var(--bs-sidebar-width, 0px) + 12px); }
body.bs-shell-active .recent-workspace { width: calc(100vw - var(--bs-sidebar-width, 0px)); margin-left: calc(50% - 50vw + var(--bs-sidebar-width, 0px) / 2); }
body.bs-shell-active .invoice-bulk-status { left: calc(var(--bs-sidebar-width, 0px) + 28px); }
body.bs-shell-active .edit-team { left: calc(var(--bs-sidebar-width, 0px) + 22px); }
body.bs-shell-active .salon-legacy-summary { left: calc(var(--bs-sidebar-width, 0px) + 20px); }
body.bs-shell-active .bs-knowledge-document { left: var(--bs-sidebar-width, 0px); }
body.bs-shell-active .rm-recall { z-index: 66; }
@media (min-width: 768px) { body.bs-shell-active .bs-mascot-footer { left: auto; right: 0; transform: none; } }
.bs-shell-search { position: fixed; z-index: 120; inset: 0; display: grid; justify-items: center; align-items: start; padding-top: min(16vh, 130px); }
.bs-shell-search-scrim { position: absolute; inset: 0; border: 0; background: #0009; backdrop-filter: blur(5px); cursor: default; }
.bs-shell-search-card { position: relative; width: min(640px, calc(100vw - 32px)); max-height: 80dvh; overflow: auto; border: 1px solid #493426; border-radius: 16px; background: #151412; box-shadow: 0 30px 80px #0009; font-family: var(--bs-font); }
.bs-shell-search-field { display: flex; align-items: center; gap: 12px; height: 64px; padding: 0 20px; border-bottom: 1px solid #ffffff0d; color: #ffb07e; }
.bs-shell-search-field input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; color: var(--bs-text); font: 400 14px var(--bs-font); }
.bs-shell-search-close { padding: 0; border: 0; background: none; cursor: pointer; }
.bs-shell-search-field kbd { padding: 4px 6px; border: 1px solid #ffffff1a; border-radius: 5px; color: #a49a90; font: 500 10px var(--bs-font); }
.bs-shell-search-caption { padding: 16px 20px 8px; color: #a49a90; font: 500 10px var(--bs-font); text-transform: uppercase; letter-spacing: .08em; }
.bs-shell-search ul { margin: 0; padding: 0 8px 8px; max-height: 47vh; overflow-y: auto; list-style: none; }
.bs-shell-search li button { appearance: none; width: 100%; min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 0; border-radius: 9px; background: none; color: #e9e4de; font: 500 12px var(--bs-font); text-align: left; cursor: pointer; }
.bs-shell-search li button.is-active { background: #ff9d5e21; color: #ffca9f; }
.bs-shell-search li strong { display: block; font-weight: 600; }
.bs-shell-search li small { display: block; margin-top: 3px; color: #a89b90; font: 400 10px/1.5 var(--bs-font); }
.bs-shell-search li button > small { text-align: right; flex: none; max-width: 120px; }
.bs-shell-search-empty { padding: 14px 20px; color: var(--bs-muted); font-size: 12px; }
.bs-shell-search-footer { display: flex; gap: 20px; padding: 12px 20px; border-top: 1px solid #ffffff0d; color: #978b80; font-size: 10px; }
@keyframes bs-flyout-enter { from { opacity: 0; } to { opacity: 1; } }
@media (max-height: 780px) and (min-width: 768px) {
  .bs-shell-rail { padding-top: 10px; gap: 3px; }
  .bs-shell-section { min-height: 56px; }
  .bs-shell-section-icon { height: 28px; }
}
@media (max-width: 767px) {
  .bs-app-main.has-sidebar { padding-left: 0; }
  .bs-shell-menu-button { display: inline-grid !important; }
  .bs-shell-sidebar { visibility: hidden; transform: translateX(-100%); transition: transform 180ms ease, visibility 180ms; }
  .bs-shell-sidebar.is-drawer-open { visibility: visible; transform: none; }
  .bs-shell-flyout { width: min(308px, calc(100vw - 84px)); }
  .bs-shell-search-field { gap: 8px; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .bs-shell-flyout { animation: none; }
  .bs-shell-sidebar, .bs-shell-section, .bs-shell-section img, .bs-shell-tool { transition: none; }
}
@media print {
  .bs-shell-sidebar, .bs-shell-scrim, .bs-shell-search { display: none !important; }
  .bs-app-main.has-sidebar { padding: 0; }
}

/* Persistent workspace header. Scoped to the app shell so standalone brands
   and navigation keep their existing contract. */
body:has(.bald-shell.bs-topbar) { --bs-bar-height: 56px; --bald-bar-h: 56px; }
.bald-shell.bs-topbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 90;
  height: 56px;
  background: #4a2414;
  color: var(--bs-text);
  font-family: var(--bs-font);
}
.bald-shell.bs-topbar .bald-bar {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(260px, 620px) minmax(150px, 1fr);
  align-items: center;
  gap: 24px;
  width: 100%;
  height: 56px;
  min-height: 56px;
  padding: 0 20px;
  box-sizing: border-box;
  border-bottom: 1px solid #805033;
  background: #4a2414;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bs-topbar-leading { display: flex; align-items: center; gap: 20px; min-width: 0; }
.bs-topbar-home { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: var(--bs-orange); color: #190c04; font: 800 22px/1 var(--bs-font); text-decoration: none; }
.bs-brand-mark { display: block; width: 70%; height: 70%; background: currentColor; --bs-brand-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAAOVBMVEVHcEwCAgAREQ8XFxQYGBYZGRcaGhgaGhgbGxkbGxgbGxkbGxkcHBkbGxkbGxkbGxocHBocHBocHBoLrjghAAAAEnRSTlMAAw4fMkVVaHmMmaa0w9Tj8/xqO6+TAAAFlUlEQVR42u2c3XazuA6GkSz8B7Yk3//F7uTr7OFguqaIRKTM4lntqfv0jQLGlpluPkvdTZmn38LQoft+JP8e6b1cUlrvpO+k76TvpO+k76TvpO+k76TvpO+k76TvpO+k76TvpO+k76TvpO+k76TvpO+kjyaNgSimXGpdaq0lp5kI4ZcmDYhhjmXpXXT8QZ+/OoZybzVHCgjwm5IGDHNaGqs+VfXb/6638kf8dyQNgVJprOMHdAiveSaEzydNsTT+kvoRHfr0DgAflda2so796Bjal0zoIm0TMWrzWggdpG2YtaWXGR2kPVF9ahM4SLvy1M7BQdobWSM6SHvDheBy0kNbxOtJK5cADtK+qCwzgIO0My3h9aQHlwCXk1auBA7SzshCcDVp1ZetxwdQbQQO0t7WKzlIe6NruKC0LuFy0kOlBgdpbzTjBaU54eWkh/YZLic9ZKXrSauU4CDtX9ZwOemhja4nPaSE60kPjnA96bHSBaUlw/WkR6cLSkuB60kPputJq1ZwkPaGCa4nPeoVpTudKq2q8heqDtdqB2kRbutS8oO6tM5y0FtbOEua+9eu7BcYKNaV5dhQ8RRp5VbmAH8zwfQUT0vXYUcqniAtrRB+2W7AgzDXI9qN3KWV64yb8MYz7pBWGVY4gbO09hSeyt8DSIXVtT6OOLct5u8ACJld62PYabQpfy8NmKyF3aNR2u48/TtPa7beX9BPWnfectFaITW4SWuPAPusq7oV9XD6FAFCM1nzDE7SsoTdQ8PMJumETtLdsEoBWMRSeMVJWoqp+yt02zcRDNLGoA1RZ/H5JtoqGsFkTWxJhFySti7MQqjqsqpnW5cFo3UUl0hs1WF0BuqG4RM6SHMGmGyEZewnu0jHyQhgNhR1cZDWTjAZwSQWaXh/0i2Yk4bIYzfL7vF9GwdgtkijhzQekO6fTVpWhMmKLWn4Lyctvs0wLjUNfMWrh7huQ0ESh5sLdMtTnNkZs4f0ZJHOMDnOPTQj7MyiGUataE2amst2wGqQXgkm1/n03qSr45PLFIrPk0s2DGtupaM+9tPnaS+z2sa1AFl8eiiITeseCJNt3cPj3gLYhylqsAStTitM0IYBtVQ18TAgln7Iok5Dh3V4rZpOUX1aLbGodYPBaelq6N5OOkysw/w9dPoUVRba4xy7WlfrDeWBWYcJ/fnsBGDs4tmfB5HN/fw//YGQuzEJ63kMalZp/eEAFpXN2WkGiXUY0X89yoTx2N64qTww8rCi0lOA72OurHpkR9U8F7Oj2lP4Z8pUeRxAKm5J23ah7EUSA8L/QaStacJeHcef8+0H8FvN8UnKSxMderSHCSYbQIuOY+iDofJAxwN1aDc1rCLbEn+VTmC2Bmo6PknFyQxg4fFBeJ4OAPNHo15gOgJm+WhT7yFroK4X6endAPhc1J0OS4c2PkSG6SAA6TNRv3SwGXDV4Y591mGf7PkjNcAL1gCZx+m0GaaXCIt+4Jjta9IA1PT84pheAzD1c523Vp0XCOeWdY8GZ8NulCeccXoDALTqx+ccduvY9RxtXRHgTdJP63Oc3/j+P8DMes6FY3ofgIn1Ks4bmNjbeZ3xzdKAqau38/R2fG+NhheMmcDYZPhgeAuTFZxX9XFmQ7e7FaAqTvduB2fPC7ZKm8HReQLA2ETfXM4BJlcAgBbWd8acttLwDDu9LWzlZTsR6KxNpctblNcU/JW3yl74ZW3phXBT9reGEFd+VXnelM8Km9Ir2r3OW2WcCIS48MGU85+UYTodAMS5djErt0xoSNmjuNPK1tPlhoz9qjuvLKr6g+4Q6Us0VLJz3Eipts4i+r2vCnNfcwzwO5S3NwdQKkvrnVkeqKiKygPm3tYlR0IwKvsDTzDQHFPOuXyRH6RIFJ62BuFT4/7LfeMp+m7h/wFmAVk6zB+rSgAAAABJRU5ErkJggg=="); -webkit-mask: var(--bs-brand-mask) center / contain no-repeat; mask: var(--bs-brand-mask) center / contain no-repeat; }
.bs-topbar-home:hover { background: #ff9a65; color: #190c04; }
.bs-topbar-home:focus-visible { outline: 2px solid #ffd5bb; outline-offset: 3px; }
.bs-topbar-context { min-width: 0; overflow: hidden; padding-left: 18px; border-left: 1px solid #8b593d; color: #ead1bf; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.bs-topbar-search { width: 100%; min-width: 0; }
.bs-topbar-search-trigger {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #9a6a4e;
  border-radius: 8px;
  background: #71452e;
  color: #fff0e4;
  font: 400 11px/1.3 var(--bs-font);
  text-align: left;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.bs-topbar-search-trigger:hover { border-color: #d19770; background: #825337; }
.bs-topbar-search-trigger > svg { width: 16px; height: 16px; flex: none; }
.bs-topbar-search-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-topbar-search-trigger > kbd { flex: none; margin-left: auto; padding: 3px 5px; border: 1px solid #b48565; border-radius: 4px; color: #f2d5be; font: 500 9px/1 var(--bs-font); white-space: nowrap; }
.bs-topbar .bald-bar-account { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; }
.bs-topbar .baldspot-account { gap: 9px; margin-left: 0; }
.bs-topbar .account-icon { width: 32px; height: 32px; border-color: transparent; border-radius: 8px; background: transparent; color: #f0d5c1; }
.bs-topbar .account-icon:hover,.bs-topbar .account-icon[aria-expanded='true'] { border-color: #815034; background: #ff9a651c; color: #ffc49e; }
.bs-topbar .account-avatar { width: 30px; height: 30px; }
.bs-topbar .account-avatar--large { width: 40px; height: 40px; }
.bs-topbar .account-menu { top: calc(100% + 11px); }
.bs-topbar .account-menu-item:hover { background: #ff9a651c; color: #ffd3b7; }
.bs-topbar :where(a[href],button,input):focus-visible { outline: 2px solid var(--bs-orange-soft); outline-offset: 3px; }
@media (max-width: 1100px) {
  .bald-shell.bs-topbar .bald-bar { grid-template-columns: minmax(56px, 1fr) minmax(200px, 560px) auto; gap: 20px; }
  .bs-topbar-context { display: none; }
}
@media (max-width: 767px) {
  .bald-shell.bs-topbar .bald-bar { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding-inline: 10px; }
  .bs-topbar-leading { gap: 5px; }
  .bs-topbar-home { width: 32px; height: 32px; border-radius: 10px; font-size: 21px; }
  .bs-topbar .bald-bar-account,.bs-topbar .baldspot-account { gap: 4px; }
  .bs-topbar-search-trigger { gap: 8px; padding-inline: 10px; font-size: 10px; }
  .bs-topbar-search-trigger > kbd { display: none; }
  .bs-topbar .account-icon { width: 30px; height: 32px; }
  .bs-topbar .account-menu { position: fixed; top: 50px; right: 10px; max-width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .bs-topbar-search-trigger { transition: none; }
}

/* Personal appearance is a token layer shared by the app and hosted tools.
   Status colors and data-category ramps deliberately retain their meaning. */
html[data-bs-theme] {
  --bg: var(--bs-canvas); --surface: var(--bs-surface); --surface2: var(--bs-surface-raised);
  --border: var(--bs-border); --accent: var(--bs-orange); --accent-dim: color-mix(in srgb,var(--bs-orange) 14%,transparent);
  --text: var(--bs-text); --text-muted: var(--bs-muted); --text-dim: var(--bs-muted);
  --radius: var(--bs-radius); --font-body: var(--bs-font); --font-display: var(--bs-font); --bs-font-body: var(--bs-font); --bs-font-display: var(--bs-font);
  background: var(--bs-canvas);
}
html[data-bs-theme] body, html[data-bs-theme] .home-main--recent { background: var(--bs-canvas); color: var(--bs-text); }
html[data-bs-theme] .bs-page { background: radial-gradient(ellipse 420px 260px at 80% 6%,color-mix(in srgb,var(--bs-orange) 7%,transparent),transparent 72%),var(--bs-canvas); }
html[data-bs-theme] .home-main .dir-hero h1 { color: var(--bs-text); }
html[data-bs-theme] .home-main .dir-verb { color: var(--bs-accent-on-canvas); -webkit-text-fill-color: currentColor; background: none; }
html[data-bs-theme] .bald-shell.bs-topbar,
html[data-bs-theme] .bald-shell.bs-topbar .bald-bar { background: var(--bs-header-background); color: var(--bs-header-text); border-color: var(--bs-header-border); }
html[data-bs-theme] .bs-topbar-context { color: var(--bs-header-text); border-color: var(--bs-header-border); background: var(--bs-header-control-backing); }
html[data-bs-theme] .bs-topbar-home { background: var(--bs-orange); color: var(--bs-accent-ink); border-radius: var(--bs-radius); }
html[data-bs-theme] .bs-topbar-home:hover { background: var(--bs-orange-soft); color: var(--bs-accent-ink); }
html[data-bs-theme] .bs-topbar-search-trigger { background: var(--bs-header-field); color: var(--bs-header-field-text); border-color: var(--bs-header-border); border-radius: var(--bs-radius); }
html[data-bs-theme] .bs-topbar-search-trigger:hover { background: var(--bs-header-field); filter: brightness(1.08); }
html[data-bs-theme] .bs-topbar-search-trigger > kbd { color: inherit; border-color: currentColor; opacity: .75; }
html[data-bs-theme] .bs-topbar .account-icon { color: var(--bs-header-text); background: var(--bs-header-control-backing); }
html[data-bs-theme] .bs-topbar .account-icon:hover { border-color: var(--bs-header-text); }
html[data-bs-theme] .bs-shell-rail { background: var(--bs-nav-background); border-color: color-mix(in srgb,var(--bs-nav-text) 18%,var(--bs-nav-background)); }
html[data-bs-theme] .bs-shell-section { color: var(--bs-nav-muted); border-radius: var(--bs-radius); }
html[data-bs-theme] .bs-shell-section:hover,html[data-bs-theme] .bs-shell-section.is-shown { background: var(--bs-nav-hover); color: var(--bs-nav-text); }
html[data-bs-theme] .bs-shell-section.is-current { background: var(--bs-nav-selected); color: var(--bs-nav-text); }
html[data-bs-theme] :is(.bs-shell-flyout,.bs-shell-search-card,.bs-topbar .account-menu) { background: var(--bs-surface); color: var(--bs-surface-text); border-color: var(--bs-border); border-radius: var(--bs-radius); }
html[data-bs-theme] :is(.bs-shell-panel-head h2,.bs-shell-tool,.bs-shell-search li button,.bs-topbar .account-menu-item,.bs-topbar .account-menu-who b) { color: var(--bs-surface-text); }
html[data-bs-theme] :is(.bs-shell-tool small,.bs-shell-panel-head small,.bs-shell-flyout-close,.bs-shell-search-caption,.bs-shell-search li small,.bs-shell-search-footer,.bs-shell-search-field kbd,.bs-topbar .account-menu-label,.bs-topbar .account-menu-who small) { color: var(--bs-surface-muted); }
html[data-bs-theme] :is(.bs-shell-tool,.bs-shell-search li button,.bs-topbar .account-menu-item) { border-radius: var(--bs-radius); }
html[data-bs-theme] :is(.bs-shell-tool:hover,.bs-shell-tool.is-current,.bs-shell-search li button.is-active,.bs-topbar .account-menu-item:hover) { background: color-mix(in srgb,var(--bs-orange) 12%,var(--bs-surface)); color: var(--bs-accent-on-surface); }
html[data-bs-theme] .bs-shell-search-field { color: var(--bs-accent-on-surface); }
html[data-bs-theme] .bs-shell-search-field input { color: var(--bs-surface-text); }
html[data-bs-theme] :is(.bs-shell-panel-head,.bs-shell-search-field,.bs-shell-search-footer,.bs-topbar .account-menu-who) { border-color: var(--bs-border-quiet); }
html[data-bs-theme] .bs-shell-tool:hover small { color: var(--bs-surface-text); }
html[data-bs-theme] :is(.bs-rail-group,.bs-table-section,.bs-accordion--section,.bs-record-header,.bs-empty-state,.recent-workspace-card) { --bs-text: var(--bs-surface-text); --bs-muted: var(--bs-surface-muted); color: var(--bs-surface-text); background-color: var(--bs-surface); border-color: var(--bs-border); border-radius: var(--bs-radius); }
html[data-bs-theme] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-group { border-radius: var(--bs-radius); }
html[data-bs-theme] body.bs-shell-active .bs-page .bs-workspace-rail .bs-button { border-radius: var(--bs-radius); }
html[data-bs-theme] body.bs-shell-active .bs-page .bs-workspace-rail .bs-button:is(:hover,:focus-visible,.is-active) { background: color-mix(in srgb,var(--bs-orange) 12%,var(--bs-surface)); border-color: color-mix(in srgb,var(--bs-orange) 40%,var(--bs-surface)); color: var(--bs-accent-on-surface); }
html[data-bs-theme] .bs-button.is-primary { color: var(--bs-accent-ink); }
html[data-bs-motion='reduced'] *,html[data-bs-motion='reduced'] *::before,html[data-bs-motion='reduced'] *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
/* The compact appearance preference changes spacing, not page navigation.
   Existing details/summary groups remain independently collapsible. */
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace > .bs-workspace-rail {
  gap: 6px;
}
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-group {
  padding: 6px;
  border-radius: 9px;
}
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-group > summary {
  min-height: 24px;
}
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-group > div {
  gap: 2px;
  margin-top: 5px;
}
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-item { gap: 2px; }
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-button {
  min-height: 30px;
  padding: 5px 8px;
}
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-nested { gap: 1px; padding-bottom: 3px; }
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-nested a,
html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-nested button {
  min-height: 28px;
  padding-block: 5px;
}
@media (max-width: 767px), (pointer: coarse) {
  html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-button,
  html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-group > summary,
  html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-nested a,
  html[data-bs-density='compact'] body.bs-shell-active .bs-page .bs-workspace-rail .bs-rail-nested button { min-height: 36px; }
}

body.bs-shell-active .future-ambient { top: var(--bs-bar-height, 56px); left: var(--bs-sidebar-width, 76px); }
body.bs-shell-active .home-main .dir-hero { min-height: calc(100svh - var(--bs-bar-height, 56px)); }

/* Quiet floating menus: one compact surface, with room around each choice. */
.bs-shell-flyout, html[data-bs-theme] .bs-shell-flyout {
  left: 86px;
  width: 320px;
  padding: 10px;
  border: 1px solid var(--bs-border-quiet);
  border-radius: max(12px, var(--bs-radius));
  background: var(--bs-surface);
  color: var(--bs-surface-text, var(--bs-text));
  box-shadow: 0 16px 48px #0005, 0 3px 12px #0002;
}
.bs-shell-flyout::before { content: ''; position: absolute; inset: 0 100% 0 auto; width: 12px; }
.bs-shell-panel-head { gap: 12px; padding: 8px 8px 16px; margin-bottom: 5px; }
.bs-shell-panel-head > img { width: 40px; height: 40px; object-fit: contain; }
.bs-shell-panel-head h2 { font-size: 13px; line-height: 1.5; letter-spacing: -.015em; }
.bs-shell-flyout-close { align-self: center; width: 26px; height: 26px; padding: 6px; opacity: .65; }
.bs-shell-flyout-close:hover { opacity: 1; }
.bs-shell-panel-list { gap: 4px; }
.bs-shell-tool { min-height: 62px; padding: 11px 12px; border: 1px solid transparent; }
.bs-shell-tool strong { font-size: 12px; line-height: 1.55; }
.bs-shell-tool small { margin-top: 3px; font-size: 10.5px; line-height: 1.55; }
html[data-bs-theme] .bs-shell-tool:hover,
html[data-bs-theme] .bs-shell-tool:focus-visible { border-color: color-mix(in srgb,var(--bs-orange) 22%,transparent); background: color-mix(in srgb,var(--bs-orange) 9%,var(--bs-surface)); }
.bs-shell-section.is-shown, html[data-bs-theme] .bs-shell-section.is-shown { border-color: transparent; color: var(--bs-accent-on-canvas,var(--bs-orange-soft)); background: var(--bs-nav-hover, #ff9d5e21); }

/* The account button is the photograph itself; generic button styles must not frame it. */
.bs-topbar .account-avatar-button { width: 40px; height: 40px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.bs-topbar .account-avatar-button .account-avatar { width: 40px; height: 40px; box-shadow: none; }
.bs-topbar .account-avatar-button:hover .account-avatar,
.bs-topbar .account-avatar-button[aria-expanded='true'] .account-avatar { box-shadow: none; }
.bs-topbar .account-avatar-button:hover { border: 0; background: transparent; }
body.bs-shell-active .home-main .future-ambient { background: var(--bs-canvas, #090a0a); }
body.bs-shell-active .home-main :is(.future-orb,.future-beam,.home-spark-field,.home-mascot-wink) { display: none; }

/* Search is an input in the header, with results anchored to that input. */
.bs-global-search { position: relative; width: 100%; min-width: 0; font-family: var(--bs-font); }
.bs-global-search-bar { display: flex; align-items: center; gap: 10px; height: 36px; margin: 0; padding: 3px 4px 3px 12px; border: 1px solid var(--bs-header-border, #9b7155); border-radius: 9px; background: var(--bs-header-field, #73492f); color: var(--bs-header-field-text, #fff5eb); transition: box-shadow 140ms ease, border-color 140ms ease; }
.bs-global-search-bar:focus-within { border-color: color-mix(in srgb,var(--bs-header-field-text, #fff) 65%,transparent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--bs-header-field-text, #fff) 8%,transparent); }
.bs-global-search svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.bs-global-search-bar > svg { opacity: .75; }
.bs-global-search-bar input { flex: 1; min-width: 0; width: 0; height: 28px; margin: 0; padding: 0; border: 0; outline: none !important; border-radius: 0; background: transparent; box-shadow: none; color: inherit; font: 400 12px/1.4 var(--bs-font); }
.bs-global-search-bar input::placeholder { color: inherit; opacity: .75; }
.bs-global-search-bar input::-webkit-search-cancel-button { -webkit-appearance: none; }
.bs-global-search-bar button { appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: none; gap: 6px; min-height: 28px; padding: 4px 9px; border: 0; border-radius: 6px; color: inherit; background: transparent; font: 500 10px/1 var(--bs-font); white-space: nowrap; cursor: pointer; }
.bs-global-search-bar .bs-global-search-ask { border-left: 1px solid color-mix(in srgb,currentColor 20%,transparent); border-radius: 0 5px 5px 0; padding-inline: 10px; }
.bs-global-search-bar button:hover { background: color-mix(in srgb,currentColor 10%,transparent); }
.bs-global-search-bar button:disabled { opacity: .5; cursor: default; }
.bs-global-search-bar .bs-global-search-clear { padding: 4px; width: 24px; }
.bs-global-search-popover { position: absolute; top: calc(100% + 10px); left: 0; right: 0; z-index: 110; max-height: min(660px,calc(100dvh - 80px)); overflow-y: auto; overscroll-behavior: contain; padding: 8px; border: 1px solid var(--bs-border); border-radius: 12px; background: var(--bs-surface); color: var(--bs-surface-text,var(--bs-text)); box-shadow: 0 18px 60px #0005,0 3px 12px #0002; scrollbar-width: thin; text-align: left; }
.bs-global-search-popover :is(h2,h3,p,ul) { margin: 0; }
.bs-global-search-popover ul { list-style: none; padding: 0; }
.bs-global-search-results { display: grid; gap: 3px; }
.bs-global-search-popover :is(h2,h3),.bs-global-search-group-title { padding: 12px 11px 7px; color: var(--bs-surface-muted,var(--bs-muted)); font: 600 9px/1.4 var(--bs-font); letter-spacing: .08em; text-transform: uppercase; }
.bs-global-search-result { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid transparent; border-radius: 8px; color: inherit; background: transparent; text-decoration: none; cursor: pointer; text-align: left; }
.bs-global-search-result:hover,.bs-global-search-result.is-active,.bs-global-search-result[aria-selected='true'] { background: color-mix(in srgb,var(--bs-orange) 10%,var(--bs-surface)); border-color: color-mix(in srgb,var(--bs-orange) 18%,transparent); }
.bs-global-search-result > span { min-width: 0; flex: 1; }
.bs-global-search-result strong { display: block; color: var(--bs-surface-text,var(--bs-text)); font: 600 12px/1.5 var(--bs-font); }
.bs-global-search-result small { display: block; margin-top: 3px; color: var(--bs-surface-muted,var(--bs-muted)); font: 400 10.5px/1.5 var(--bs-font); overflow-wrap: anywhere; }
.bs-global-search-result > small { flex: none; align-self: flex-start; margin-top: 2px; font-size: 9px; }
.bs-global-search-result .bs-global-search-result-type { display: none; }
.bs-global-search-help { padding: 14px 12px; }
.bs-global-search-help strong { display: block; margin-bottom: 6px; font-size: 12px; }
.bs-global-search-help p { color: var(--bs-surface-muted,var(--bs-muted)); font: 400 11px/1.7 var(--bs-font); }
.bs-global-search-answer { margin: 4px 4px 8px; padding: 15px; border: 1px solid color-mix(in srgb,var(--bs-orange) 20%,var(--bs-border-quiet)); border-radius: 9px; background: color-mix(in srgb,var(--bs-orange) 4%,var(--bs-surface)); }
.bs-global-search-answer > div { display: flex; align-items: center; gap: 7px; color: var(--bs-accent-on-surface,var(--bs-orange)); font-size: 10px; }
.bs-global-search-answer p { margin-top: 7px; white-space: pre-wrap; font: 400 12px/1.7 var(--bs-font); }
.bs-global-search-popover :is(.bs-global-search-status,.bs-global-search-empty,.bs-global-search-error,.bs-global-search-hint,.bs-global-search-partial) { padding: 14px 12px; color: var(--bs-surface-muted,var(--bs-muted)); font: 400 11px/1.6 var(--bs-font); }
.bs-global-search-status { display: flex; align-items: center; gap: 8px; }
.bs-global-search-status i { width: 10px; height: 10px; border: 1px solid var(--bs-border); border-top-color: var(--bs-orange); border-radius: 50%; animation: bs-search-spin .8s linear infinite; }
.bs-global-search-error button { margin-top: 8px; padding: 4px 0; border: 0; background: transparent; color: var(--bs-accent-on-surface,var(--bs-orange)); font-size: 11px; cursor: pointer; text-decoration: underline; }
.bs-global-search-footer { display: flex; justify-content: space-between; gap: 12px; margin: 8px -8px -8px; padding: 11px 18px; border-top: 1px solid var(--bs-border-quiet); color: var(--bs-surface-muted,var(--bs-muted)); font-size: 9px; }
.bs-global-search-popover button { font-family: var(--bs-font); }
.bs-global-search-popover button:focus-visible,.bs-global-search-result:focus-visible { outline: 2px solid var(--bs-orange); outline-offset: -2px; }
@media (max-width: 767px) {
  .bs-shell-flyout, html[data-bs-theme] .bs-shell-flyout { left: 82px; width: min(320px,calc(100vw - 90px)); padding: 8px; }
  .bs-topbar .account-avatar-button,.bs-topbar .account-avatar-button .account-avatar { width: 34px; height: 34px; }
  .bs-global-search-bar { gap: 6px; padding-left: 8px; }
  .bs-global-search-bar input { font-size: 11px; }
  .bs-global-search-bar .bs-global-search-ask { gap: 4px; padding-inline: 6px; font-size: 9px; }
  .bs-global-search-ask svg { display: none; }
  .bs-global-search-popover { position: fixed; left: 10px; right: 10px; top: 62px; max-height: calc(100dvh - 74px); }
}

@keyframes bs-search-spin { to { transform: rotate(360deg); } }


/* One sidebar frame, two navigation levels. Page controls keep their React
   owner while sharing geometry with the global rail, including standalone apps. */
body.bs-shell-active { --bs-page-rail-width: 0px; --bs-sidebar-frame-width: calc(var(--bs-sidebar-width,76px) + var(--bs-page-rail-width)); }
.bs-sidebar-frame { position: fixed; z-index: 30; inset: var(--bs-bar-height,56px) auto 0 0; width: var(--bs-sidebar-frame-width); pointer-events: none; background: var(--bs-nav-background,#10100f); border-right: 1px solid var(--bs-border-quiet); }
.bs-page-rail { box-sizing: border-box; font-family: var(--bs-font); }
.bs-page-rail-header { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 14px 16px; border-bottom: 1px solid var(--bs-border-quiet); flex: none; }
.bs-page-rail-title { flex: 1; min-width: 0; margin: 0; color: var(--bs-nav-text,var(--bs-text)); font: 600 12px/1.5 var(--bs-font); letter-spacing: -.015em; }
.bs-page-rail-toggle, .bs-page-rail-more { display: grid; place-items: center; flex: none; width: 28px; height: 28px; padding: 5px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--bs-nav-muted,var(--bs-muted)); cursor: pointer; }
.bs-page-rail-toggle:hover, .bs-page-rail-more:hover { background: var(--bs-nav-selected,#ff9d5e21); color: var(--bs-nav-text,var(--bs-text)); border-color: var(--bs-border-quiet); }
.bs-page-rail-toggle:focus-visible, .bs-page-rail-more:focus-visible { outline: 2px solid var(--bs-orange); outline-offset: 2px; }
.bs-page-rail-toggle svg, .bs-page-rail-more svg, .bs-page-rail-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.bs-page-rail-body { min-height: 0; display: flex; flex-direction: column; gap: 5px; padding: 12px 10px 24px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--bs-border) transparent; }
.bs-page-rail-icon { width: 20px; height: 20px; flex: none; display: inline-grid; place-items: center; color: var(--bs-nav-muted,var(--bs-muted)); }
.bs-page-rail-label { min-width: 0; line-height: 1.45; }
.bs-page-rail-more { display: none; }
@media (min-width: 768px) {
  body.bs-shell-active:has([data-bs-page-rail]) { --bs-page-rail-width: 228px; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active:has([data-bs-page-rail]) { --bs-page-rail-width: 64px; }
  body.bs-shell-active:has([data-bs-page-rail]) .bs-app-main.has-sidebar { padding-left: var(--bs-sidebar-frame-width); }
  body.bs-standalone-shell.bs-shell-active:has([data-bs-page-rail]) { padding-left: var(--bs-sidebar-frame-width); }
  body.bs-shell-active:has([data-bs-page-rail]) .bs-shell-rail { background: transparent; border-right-color: color-mix(in srgb,var(--bs-border-quiet) 50%,transparent); }
  body.bs-shell-active [data-bs-page-rail] {
    position: fixed; z-index: 40; top: var(--bs-bar-height,56px); bottom: 0; left: var(--bs-sidebar-width,76px);
    width: var(--bs-page-rail-width); max-height: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; overflow: visible; background: transparent; border: 0;
  }
  body.bs-shell-active .bs-page:has([data-bs-page-rail]) { padding-left: 0; }
  body.bs-shell-active .bs-page:has([data-bs-page-rail]) :is(.bs-workspace-content,.bs-shell--hero) { width: min(var(--bs-content),calc(100% - 64px)); max-width: none; min-width: 0; margin-inline: auto; }
  body.bs-shell-active:has([data-bs-page-rail]) .builder-main { width: min(1260px,100%); max-width: 1260px; box-sizing: border-box; padding: 36px 36px 80px; }
  body.bs-shell-active:has([data-bs-page-rail]) .rm-shell { max-width: min(1320px,calc(100% - 64px)); }
  body.bs-shell-active:has([data-bs-page-rail]) .future-ambient { left: var(--bs-sidebar-frame-width); }
  body.bs-shell-active [data-bs-page-rail] .bs-page-rail-body { flex: 1; }
  body.bs-shell-active [data-bs-page-rail] :is(.nav-btn,.bs-button,.bs-rail-nested a,.bs-rail-nested button) {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; margin: 0; padding: 9px 10px;
    border: 1px solid transparent; border-radius: min(9px,var(--bs-radius,9px)); background: transparent;
    color: var(--bs-nav-text,var(--bs-text)); font: 500 11px/1.45 var(--bs-font); text-align: left; text-decoration: none;
    box-shadow: none; white-space: normal; cursor: pointer;
  }
  body.bs-shell-active [data-bs-page-rail] :is(.nav-btn,.bs-button,.bs-rail-nested a,.bs-rail-nested button):hover { background: var(--bs-nav-selected,#ff9d5e21); }
  body.bs-shell-active [data-bs-page-rail] :is(.nav-btn,.bs-button,.bs-rail-nested a,.bs-rail-nested button).is-active { background: var(--bs-nav-selected,#ff9d5e21); color: var(--bs-accent-on-surface,var(--bs-orange-soft)); font-weight: 600; }
  body.bs-shell-active [data-bs-page-rail] .is-active .bs-page-rail-icon { color: inherit; }
  body.bs-shell-active [data-bs-page-rail] :is(.nav-btn,.bs-button,.bs-rail-nested a,.bs-rail-nested button):focus-visible { outline: 2px solid var(--bs-orange); outline-offset: -2px; }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-group { width: 100%; min-width: 0; padding: 8px 0; border: 0; border-top: 1px solid var(--bs-border-quiet); border-radius: 0; background: transparent; }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-group:first-child { padding-top: 0; border-top: 0; }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-group > summary { min-height: 26px; padding: 0 10px; color: var(--bs-nav-muted,var(--bs-muted)); font: 600 9px/1.5 var(--bs-font); letter-spacing: .08em; }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-group > div { margin-top: 5px; display: grid; gap: 3px; }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-nested { padding-left: 12px; margin-left: 19px; border-color: var(--bs-border-quiet); }
  body.bs-shell-active [data-bs-page-rail] .bs-rail-nested :is(a,button) { font-size: 10px; min-height: 34px; padding-block: 6px; }
  body.bs-shell-active [data-bs-page-rail] .bs-page-rail-extra { min-width: 0; }
  body.bs-shell-active [data-bs-page-rail] :is(.capacity-data-filter-sidebar:not(.capacity-planning-filter) > .capacity-data-filter,.data-filter-popover,.ft3-column-menu,.workspace-nav-flyout-panel) {
    position: fixed; z-index: 120; top: calc(var(--bs-bar-height,56px) + 16px); left: calc(var(--bs-sidebar-frame-width) + 12px); right: auto;
    width: min(760px,calc(100vw - var(--bs-sidebar-frame-width) - 28px)); max-height: calc(100dvh - var(--bs-bar-height,56px) - 32px); margin: 0; overflow: auto; transform: none;
  }
  body.bs-shell-active [data-bs-page-rail] :is(.ft3-column-menu,.workspace-nav-flyout-panel) { max-width: 280px; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-header { justify-content: center; padding-inline: 0; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-title,
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-label,
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-extra,
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-rich-group { display: none; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-body { padding: 12px 8px 20px; gap: 5px; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] :is(.nav-btn,.bs-button,.bs-rail-nested a,.bs-rail-nested button) { justify-content: center; min-height: 42px; padding: 10px 0; gap: 0; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-rail-nested { padding: 0; margin: 0; border: 0; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-rail-group > summary { display: none; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-rail-group > div { margin-top: 0; }
  html[data-bs-page-rail-collapsed='true'] body.bs-shell-active [data-bs-page-rail] .bs-page-rail-more { display: grid; width: 42px; min-height: 40px; margin: 0 auto 16px; }
}
@media (max-width: 767px) {
  .bs-sidebar-frame { display: none; }
  body.bs-shell-active [data-bs-page-rail] { position: relative; top: auto; bottom: auto; left: auto; width: 100%; max-height: 240px; margin: 0; padding: 0; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; background: var(--bs-surface); border-bottom: 1px solid var(--bs-border-quiet); }
  .bs-page-rail-header { min-height: 42px; padding: 10px 16px; }
  .bs-page-rail-toggle { display: none; }
  .bs-page-rail-body { flex-direction: row; align-items: flex-start; flex-wrap: wrap; padding: 10px 16px; gap: 7px; }
  .bs-page-rail-body > .bs-rail-group { flex: 1 0 170px; }
  .bs-page-rail-body > :is(.nav-btn,.bs-rail-item) { flex: 0 0 auto; }
  body.bs-shell-active [data-bs-page-rail] .bs-button { background:transparent; color:var(--bs-text); border-color:var(--bs-border); }
  body.bs-shell-active [data-bs-page-rail] .bs-button:is(:hover,:focus-visible,.is-active) { background:var(--bs-nav-selected); color:var(--bs-accent-on-surface,var(--bs-orange)); border-color:var(--bs-orange); }
  .bs-page-rail-body .nav-btn { display: flex; gap: 7px; }
  .bs-page-rail-label { display: inline; }
  .bs-page-rail-more { display: none; }
  body.bs-shell-active .bs-page:has([data-bs-page-rail]) .bs-workspace-content { width: calc(100% - 32px); }
}
@media print {
  .bs-sidebar-frame, [data-bs-page-rail] { display: none !important; }
  body.bs-shell-active:has([data-bs-page-rail]) .bs-app-main.has-sidebar, body.bs-standalone-shell.bs-shell-active:has([data-bs-page-rail]) { padding-left: 0; }
}

@media (min-width: 768px) {
  body.bs-shell-active:has([data-bs-page-rail]) :is(.invoice-bulk-status,.edit-team,.salon-legacy-summary) { left: calc(var(--bs-sidebar-frame-width) + 16px); }
  body.bs-shell-active .bs-org-chart-workspace:has([data-bs-page-rail]) { grid-template-columns: minmax(0,1fr); }
  body.bs-shell-active .bs-org-chart-workspace:has([data-bs-page-rail]) > :is(.bs-org-chart-notice,.bs-org-chart-editbar,.bs-org-chart-body,.bs-org-chart-status) { grid-column: 1; }
  body.bs-shell-active:has([data-bs-page-rail]) .bs-org-chart-results { left: calc(var(--bs-sidebar-frame-width) + 8px); width: min(270px,calc(100vw - var(--bs-sidebar-frame-width) - 24px)); }
}
@media (max-width: 767px) {
  .bs-org-chart-workspace:has([data-bs-page-rail]) { display: flex; flex-direction: column; }
  .bs-org-chart-workspace:has([data-bs-page-rail]) .bs-org-chart-body { flex: 1; }
  .bs-org-chart-workspace:has([data-bs-page-rail]) [data-bs-page-rail] { max-height: 190px; flex: none; }
  .bs-org-chart-workspace:has([data-bs-page-rail]) .bs-org-chart-results { left: 16px; top: 145px; width: calc(100vw - 32px); }
}

@media (min-width: 768px) {
  html[data-bs-theme] body.bs-shell-active .bs-page .bs-workspace-rail[data-bs-page-rail] .bs-rail-group { border-radius: 0; background: transparent; }
  body.bs-shell-active .bs-page-rail-body > .bs-org-chart-railZoom { margin-top: 16px; }
}

/* Baselines keeps the work beside its navigation at every sidebar width. */
@media (min-width:768px) {
 .bs-baselines .bs-workspace { padding-top:20px; }
}
.bs-lane-view a.bs-button,.bs-board-popup a.bs-button { display:inline-flex; align-items:center; justify-content:center; text-align:center; }
.bs-report-filters,.bs-report-pagination { display:flex; align-items:end; gap:12px; flex-wrap:wrap; padding:12px 0; }
.bs-report-filters label,.bs-report-context { display:grid; gap:6px; font-size:12px; }
.bs-report-filters label:first-child { flex:1 1 280px; }
.bs-report-filters input,.bs-report-filters select,.bs-report-context textarea { background:var(--bs-surface); color:var(--bs-text); border:1px solid var(--bs-border); border-radius:8px; padding:10px; }
.bs-report-context { margin-bottom:16px; }
.bs-report-context small { color:var(--bs-muted); }
.bs-report-pagination { justify-content:flex-end; font-size:12px; }
.bs-report-tags { display:flex; gap:4px; flex-wrap:wrap; }
.bs-report-tags .bs-button { min-height:26px; padding:3px 8px; border-radius:20px; }
.bs-report-detail span { white-space:normal; }
.bs-report-detail a,.bs-report-detail small { display:block; margin-top:6px; }
.bs-report-list li { grid-template-columns:90px minmax(120px,.5fr) minmax(0,2fr); }
@media(max-width:700px) { .bs-report-list li { grid-template-columns:1fr; padding-block:10px; } }

.bs-timeline-controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:12px 18px; border-bottom:1px solid var(--bs-border); font-size:12px; }
.bs-timeline-controls label { display:flex; align-items:center; gap:6px; }
.bs-timeline-controls input { max-width:145px; padding:6px; background:var(--bs-surface); color:var(--bs-text); border:1px solid var(--bs-border); border-radius:6px; }
.bs-task-date-catalog { display:grid; gap:5px; margin-bottom:8px; font-size:11px; }

/* Guided filtering and evidence stay in the work area, independent of the rail. */
.bs-baselines .bs-filter-workbench { position:relative; z-index:3; min-width:0; padding:20px; border:1px solid var(--bs-border); border-radius:12px; background:var(--bs-surface); margin-bottom:18px; }
.bs-baselines .bs-lanes-layout > :is(.bs-filter-workbench,.bs-insight-answer) { grid-column:1/-1; margin-bottom:0; }
.bs-filter-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.bs-filter-heading strong,.bs-insight-answer > strong { font-size:17px; line-height:1.5; }
.bs-filter-heading p,.bs-filter-saved p { margin:5px 0 14px; color:var(--bs-muted); font-size:12px; line-height:1.6; }
.bs-filter-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }
.bs-filter-toolbar label,.bs-filter-picker-panel label { display:grid; gap:6px; font-size:12px; }
.bs-filter-toolbar :is(input,select),.bs-filter-picker-panel :is(input,select) { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--bs-border); border-radius:8px; background:var(--bs-bg,var(--bs-surface)); color:var(--bs-text); font:inherit; color-scheme:dark; }
html[data-bs-theme='light'] .bs-filter-workbench :is(input,select) { color-scheme:light; }
.bs-filter-workbench .bs-button { min-height:42px; }
.bs-filter-workbench :is(input,select,button):focus-visible,.bs-table-open:focus-visible { outline:2px solid var(--bs-orange); outline-offset:3px; }
.bs-filter-workbench .bs-button--primary { border-color:var(--bs-orange); color:var(--bs-accent-on-surface,var(--bs-orange)); }
.bs-filter-picker { position:relative; }
.bs-filter-picker-panel { position:absolute; right:0; top:calc(100% + 8px); width:min(370px,calc(100vw - 48px)); z-index:20; padding:16px; display:grid; gap:12px; border:1px solid var(--bs-border); border-radius:12px; background:var(--bs-surface); box-shadow:0 12px 40px #0007; }
.bs-filter-picker-panel header { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; }
.bs-filter-choices { display:grid; gap:6px; max-height:240px; overflow:auto; overscroll-behavior:contain; }
.bs-filter-choices .bs-button { display:flex; justify-content:space-between; gap:12px; text-align:left; white-space:normal; }
.bs-filter-choices .bs-button span { flex-shrink:0; color:var(--bs-muted); font-size:10px; }
.bs-filter-picker-panel :is(p,small) { margin:0; color:var(--bs-muted); font-size:12px; line-height:1.5; }
.bs-filter-chips { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:15px; font-size:12px; color:var(--bs-muted); }
.bs-filter-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; min-height:38px; border:1px solid var(--bs-border); border-radius:22px; padding:7px 12px; background:var(--bs-bg,var(--bs-surface)); color:var(--bs-text); font:inherit; cursor:pointer; text-align:left; }
.bs-filter-chip b { overflow-wrap:anywhere; }
.bs-filter-chip > span { font-size:18px; padding-left:4px; }
.bs-filter-scope,.bs-filter-feedback { font-size:12px; color:var(--bs-muted); line-height:1.65; }
.bs-filter-scope { margin:12px 0; }
.bs-project-chooser { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 18px; }
.bs-project-chooser label { display:grid; gap:6px; min-width:0; flex:1 1 300px; font-size:12px; }
.bs-project-chooser select { min-width:0; width:100%; min-height:44px; padding:10px; background:var(--bs-surface); color:var(--bs-text); border:1px solid var(--bs-border); border-radius:8px; font:inherit; }
.bs-project-chooser p { flex:1 1 230px; margin:0; color:var(--bs-muted); font-size:12px; line-height:1.6; }
.bs-filter-feedback { display:block; margin-top:8px; }
.bs-filter-feedback:empty { display:none; }
.bs-filter-saved { padding-top:12px; border-top:1px solid var(--bs-border); font-size:12px; }
.bs-filter-saved summary,.bs-insight-answer summary,.bs-context-guide summary { cursor:pointer; padding-block:6px; }
.bs-filter-saved-row { display:flex; gap:8px; margin-top:8px; }
.bs-insight-questions { display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 18px; }
.bs-insight-questions .bs-button[aria-pressed='true'] { border-color:var(--bs-orange); color:var(--bs-accent-on-surface,var(--bs-orange)); background:var(--bs-nav-selected,#ff9d5e21); }
.bs-insight-answer { padding:20px; border:1px solid var(--bs-border); border-left:3px solid var(--bs-orange); border-radius:12px; background:var(--bs-surface); margin-bottom:22px; font-size:13px; line-height:1.75; }
.bs-insight-answer p { margin:8px 0; }
.bs-insight-answer :is(small,details) { color:var(--bs-muted); font-size:12px; }
.bs-table-open { width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; text-align:left; white-space:normal; overflow-wrap:anywhere; min-height:44px; }
.bs-table-open small { display:block; margin-top:5px; font-size:10px; color:var(--bs-accent-on-surface,var(--bs-orange)); }
.bs-report-table .bs-report-text:has(.bs-table-open) { white-space:normal; overflow:visible; }
.bs-evidence-card { display:grid; gap:10px; max-width:100%; font-size:12px; line-height:1.7; }
.bs-evidence-card :is(p,ul) { margin:0; }
.bs-delay-breakdown { display:flex; flex-wrap:wrap; gap:8px; }
.bs-delay-breakdown span { padding:6px 9px; background:var(--bs-bg,var(--bs-surface)); border:1px solid var(--bs-border); border-radius:7px; }
.bs-context-guide { padding:15px; border:1px solid var(--bs-border); border-radius:10px; margin:16px 0; font-size:12px; line-height:1.7; }
.bs-context-guide > small { display:block; margin-top:8px; color:var(--bs-muted); }
.bs-context-guide .bs-report-context textarea { width:100%; box-sizing:border-box; font:inherit; }
.bs-lane-findings { display:grid; gap:10px; margin:14px 0; }
.bs-lane-findings > div { padding:12px; border:1px solid var(--bs-border); border-radius:8px; font-size:12px; line-height:1.7; }
.bs-lane-findings p { margin:6px 0; }
.bs-lane-card.is-forecast .bs-lane-days { color:var(--bs-semantic-info,var(--bs-muted)); }
@media (min-width:768px) {
}
@media (max-width:700px) {
 .bs-baselines .bs-filter-workbench,.bs-insight-answer { padding:14px; }
 .bs-filter-heading { flex-direction:column; }
 .bs-filter-toolbar > label { flex:1 1 140px; min-width:0; }
 .bs-filter-picker { position:static; }
 .bs-filter-picker-panel { left:14px; right:14px; top:auto; margin-top:8px; width:auto; }
 .bs-insight-questions { display:grid; grid-template-columns:1fr; }
 .bs-insight-questions .bs-button { text-align:left; white-space:normal; }
 .bs-report-pagination { justify-content:space-between; }
}

/* Shared tags follow the Freelance Tracker's outlined pills. */
.bs-tag-mentions{position:fixed;z-index:14000;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface);color:var(--bs-text);box-shadow:0 16px 48px #0008;font:12px/1.5 var(--bs-font-body)}
.bs-tag-mentions>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--bs-border-quiet)}
.bs-tag-mentions small,.bs-tag-mentions>footer{font-size:10px;color:var(--bs-muted)}
.bs-tag-mention-list{overflow:auto;overscroll-behavior:contain;padding:6px;min-height:0}
.bs-tag-mention-list>[role=option]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px;border:1px solid transparent;border-radius:7px;cursor:pointer}
.bs-tag-mention-list>[role=option][aria-selected=true]{border-color:color-mix(in srgb,var(--bs-orange) 45%,transparent);background:var(--bs-selectable-active-bg)}
.bs-tag-mention-list>[role=option]>small{flex-shrink:0}.bs-tag-mention-list .bs-tag{pointer-events:none;font-size:12px}
.bs-tag-mention-list>p{padding:8px;color:var(--bs-muted)}
.bs-tag-mentions>footer{display:flex;flex-wrap:wrap;gap:4px 16px;padding:9px 14px;border-top:1px solid var(--bs-border-quiet)}
.notice-panel .notice-list{max-height:min(540px,70dvh);overflow:auto;overscroll-behavior:contain}
.notice-panel .notice-list{padding:4px 8px}
.notice-panel .notice-item{border-bottom:1px solid var(--bs-border)}
.notice-panel .notice-item:last-child{border-bottom:0}
.notice-panel .notice-item>.notice-content{display:grid;gap:6px;padding:14px 28px 14px 20px;color:var(--bs-text);font-size:12px;line-height:1.7;min-width:0}
.notice-panel .notice-summary{display:block;overflow-wrap:anywhere}
.notice-panel .notice-summary strong{color:inherit;font-size:inherit;font-weight:600}
.notice-panel .notice-item.is-unread strong::before{content:none}
.notice-panel .notice-item.is-unread::before{content:'';position:absolute;left:5px;top:24px;width:5px;height:5px;border-radius:50%;background:var(--bs-orange)}
.notice-panel .notice-age{color:var(--bs-muted);font-size:10px;line-height:1.4;text-align:left;font-variant-numeric:tabular-nums}
.notice-panel .notice-content:hover{background:var(--bs-surface-2,var(--bs-surface))}
.notice-panel .notice-content:focus-visible{outline:2px solid var(--bs-orange);outline-offset:-2px}
.bs-tag{--tag-ink:var(--bs-muted);--tag-edge:var(--bs-border);display:inline-flex;align-items:center;max-width:100%;gap:3px;border:1px solid var(--tag-edge);border-radius:999px;background:color-mix(in srgb,var(--tag-ink) 7%,var(--bs-surface));color:var(--tag-ink);font:500 11px/1.4 var(--bs-font-body);vertical-align:middle;cursor:grab}
.bs-tag>button,.bs-tag>span{color:inherit;font:inherit;padding:3px 8px;background:none;border:0;border-radius:inherit;min-width:0;min-height:0;text-align:left;overflow-wrap:anywhere}
.bs-tag>button{cursor:pointer}.bs-tag>button:hover{background:color-mix(in srgb,var(--tag-ink) 15%,transparent)}
.bs-tag[data-kind=person],.bs-tag[data-kind=manager]{--tag-ink:#a4cbb7;--tag-edge:#456951}
.bs-tag[data-kind=project],.bs-tag[data-kind=client]{--tag-ink:var(--bs-text);--tag-edge:var(--bs-border)}
.bs-tag[data-kind=department]{--tag-ink:#ab96f5;--tag-edge:#76649b}
.bs-tag[data-value=strategy]{--tag-ink:#9ebaf4;--tag-edge:#506daf}.bs-tag[data-value=studio]{--tag-ink:#c79bf9;--tag-edge:#9263ba}
.bs-tag[data-value=web-development]{--tag-ink:#79d7cb;--tag-edge:#358c83}
.bs-tag[data-kind=health][data-value=severe]{--tag-ink:var(--bs-semantic-risk);--tag-edge:var(--bs-semantic-risk)}
.bs-tag[data-kind=health][data-value=delayed]{--tag-ink:var(--bs-orange);--tag-edge:var(--bs-orange)}
.bs-tag[data-kind=health][data-value=likely],.bs-tag[data-kind=action]{--tag-ink:var(--bs-semantic-warn);--tag-edge:var(--bs-semantic-warn)}
.bs-tag[data-kind=quarter],.bs-tag[data-kind=closure]{--tag-ink:#b5c4d6;--tag-edge:#596777}
.bs-tag-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bs-anchored-popover{position:fixed;z-index:13000;width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:16px;border:1px solid var(--bs-border);border-radius:12px;background:var(--bs-surface);color:var(--bs-text);box-shadow:0 16px 60px #0008;display:grid;gap:14px;font:12px/1.5 var(--bs-font-body)}
.bs-anchored-popover>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bs-border-quiet);padding-bottom:12px}.bs-anchored-popover>header .bs-button{min-width:28px;padding:4px}
.bs-anchored-popover label,.bs-sidebar-filters label,.bs-report-question{display:grid;gap:6px;font-size:11px;color:var(--bs-muted)}
.bs-anchored-popover :is(input,select),.bs-sidebar-filters :is(input,select),.bs-report-question select,.bs-delivery-projects select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--bs-border);border-radius:7px;background:var(--bs-canvas);color:var(--bs-text);font:inherit;color-scheme:dark}
.bs-client-picker{width:440px}.bs-client-picker select{padding:4px}.bs-client-picker option{padding:10px;white-space:normal}.bs-client-picker select:focus{outline:1px solid var(--bs-orange)}
.bs-tag-picker{width:640px;padding:20px}
.bs-tag-palette{display:grid;gap:16px;min-width:0}
.bs-tag-palette-search{display:grid;gap:7px}
.bs-tag-palette-body{display:grid;grid-template-columns:148px minmax(0,1fr);gap:16px;min-width:0;align-items:start}
.bs-tag-categories{display:grid;align-content:start;gap:4px;max-height:360px;overflow:auto;padding:2px}
.bs-tag-categories button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--bs-muted);font:inherit;font-size:11px;text-align:left;cursor:pointer}
.bs-tag-categories button:hover{color:var(--bs-text);background:var(--bs-selectable-active-bg)}
.bs-tag-categories button[aria-pressed=true]{color:var(--bs-orange);border-color:color-mix(in srgb,var(--bs-orange) 35%,transparent);background:var(--bs-selectable-active-bg)}
.bs-tag-categories small{font-size:10px;color:var(--bs-muted)}
.bs-tag-categories button:focus-visible,.bs-tag-palette-tags .bs-tag>button:focus-visible{outline:2px solid var(--bs-orange);outline-offset:2px}
.bs-tag-palette-results{display:grid;align-content:start;gap:20px;min-width:0;min-height:280px;max-height:360px;overflow:auto;padding:16px;border:1px solid var(--bs-border-quiet);border-radius:9px;background:var(--bs-canvas)}
.bs-tag-palette-group{min-width:0}
.bs-tag-palette-group h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;font:600 12px/1.4 var(--bs-font-body);color:var(--bs-text)}
.bs-tag-palette-group h3 small{font-size:10px;font-weight:400;color:var(--bs-muted)}
.bs-tag-palette-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;align-items:start;justify-items:start;min-width:0}
.bs-tag-palette-group[data-kind=project] .bs-tag-palette-tags{grid-template-columns:1fr}
.bs-tag-palette-tags .bs-tag{font-size:12px}.bs-tag-palette-tags .bs-tag>button{padding:5px 9px}
.bs-tag-palette-empty{margin:0;color:var(--bs-muted);font-size:12px}
.bs-tag-palette.is-compact{gap:12px}.bs-tag-palette.is-compact .bs-tag-palette-body{grid-template-columns:1fr;gap:14px}
.bs-tag-palette.is-compact .bs-tag-categories{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;gap:4px}
.bs-tag-palette.is-compact .bs-tag-categories button{font-size:10px;min-height:32px;padding:6px;gap:4px}
.bs-tag-palette.is-compact .bs-tag-categories small{font-size:9px}
.bs-tag-palette.is-compact .bs-tag-palette-results{min-height:0;max-height:300px;padding:12px 3px;border:0;border-top:1px solid var(--bs-border-quiet);border-radius:0;background:none}
.bs-tag-palette.is-compact .bs-tag-palette-tags{display:flex;flex-wrap:wrap;gap:8px 6px}
.bs-tag-palette.is-compact .bs-tag{font-size:11px}
@media(max-width:600px){.bs-tag-picker{padding:14px}.bs-tag-palette-body{grid-template-columns:1fr;gap:12px}.bs-tag-categories{display:flex;gap:6px;max-height:none;overflow:auto;padding:3px 2px 8px}.bs-tag-categories button{width:auto;flex:0 0 auto;white-space:nowrap;min-height:36px}.bs-tag-palette-results{min-height:160px;max-height:45dvh;padding:12px}.bs-tag-palette.is-compact .bs-tag-categories{display:grid}.bs-tag-palette.is-compact .bs-tag-categories button{width:100%;white-space:normal}}
.bs-sidebar-filters{display:grid;gap:14px;padding:12px 2px;font-size:11px}.bs-sidebar-filters footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.bs-sidebar-filters small{color:var(--bs-muted);line-height:1.5}
.bs-sidebar-tag-options{display:flex;align-content:start;flex-wrap:wrap;gap:7px;max-height:230px;overflow:auto;padding:2px}
.bs-tag-dropzone{min-height:54px;display:flex;align-items:center;align-content:center;gap:6px;flex-wrap:wrap;border:1px dashed var(--bs-border);border-radius:8px;padding:9px;background:var(--bs-canvas)}
.bs-text-button{font:inherit;border:0;padding:3px;background:none;color:var(--bs-orange);cursor:pointer}
.bs-sidebar-dates{display:grid;gap:10px}.bs-report-question{margin:16px 2px}.bs-zoom-options{display:flex;flex-wrap:wrap;padding:0!important;border:0!important;gap:10px!important}.bs-zoom-options label{flex:1 1 120px}.bs-zoom-trigger{display:grid;place-items:center}
:is(.bs-delivery-overview,.bs-report-stack){display:grid;gap:28px}:is(.bs-delivery-kpis,.bs-scorecard-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--bs-border-quiet);margin:0 0 2px}
:is(.bs-delivery-kpi,.bs-scorecard).is-severe,#delivery-severe{--bs-delivery-color:var(--bs-semantic-risk)}
:is(.bs-delivery-kpi,.bs-scorecard).is-delayed,#delivery-delayed{--bs-delivery-color:var(--bs-orange)}
:is(.bs-delivery-kpi,.bs-scorecard).is-likely,#delivery-likely{--bs-delivery-color:var(--bs-semantic-warn)}
:is(.bs-delivery-kpi,.bs-scorecard){display:grid;gap:12px;text-align:left;border:0;border-left:2px solid var(--bs-delivery-color);background:transparent;color:var(--bs-text);padding:24px 20px;cursor:pointer;font:inherit}:is(.bs-delivery-kpi,.bs-scorecard)>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-muted)}:is(.bs-delivery-kpi,.bs-scorecard)>strong{font-size:32px;line-height:1.1;color:var(--bs-delivery-color)}:is(.bs-delivery-kpi,.bs-scorecard)>small{font-size:10px;color:var(--bs-muted)}
:is(.bs-delivery-overview,.bs-report-stack)>.bs-accordion,:is(.bs-delivery-overview,.bs-report-stack)>div>.bs-accordion{background:none;border:0;overflow:visible}:is(.bs-delivery-overview,.bs-report-stack) .bs-accordion>summary{border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-surface);min-height:56px;padding:16px 18px}:is(.bs-delivery-overview,.bs-report-stack) .bs-accordion>summary b{color:var(--bs-delivery-color);text-transform:uppercase;letter-spacing:.05em}:is(.bs-delivery-overview,.bs-report-stack) .bs-accordion>.bs-accordion-body{padding:20px 0 0;border:0;background:none}
:is(.bs-delivery-overview,.bs-report-stack) .bs-accordion>summary .bs-disclosure::before,:is(.bs-delivery-overview,.bs-report-stack) .bs-accordion>summary .bs-disclosure::after{background:var(--bs-delivery-color)}
:is(.bs-delivery-pair,.bs-record-pair){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}:is(.bs-delivery-pair,.bs-record-pair)>section{min-width:0;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-surface);overflow:hidden}:is(.bs-delivery-pair,.bs-record-pair)>section>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--bs-border)}:is(.bs-delivery-pair,.bs-record-pair)>section>header>strong{font-size:12px}.bs-delivery-projects>header select{font-size:11px}
:is(.bs-delivery-project-list,.bs-record-list){max-height:390px;overflow:auto}:is(.bs-delivery-project-row,.bs-record-row){padding:14px 16px;border-bottom:1px solid var(--bs-border-quiet);display:grid;gap:10px}:is(.bs-delivery-project-row,.bs-record-row).is-selected{background:var(--bs-selectable-active-bg);box-shadow:inset 3px 0 var(--bs-orange)}:is(.bs-project-row-open,.bs-record-open){display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:0;text-align:left;color:var(--bs-text);background:none;padding:0;font:inherit;cursor:pointer;width:100%}:is(.bs-project-row-copy,.bs-record-copy){display:grid;gap:5px;min-width:0}:is(.bs-project-row-copy,.bs-record-copy)>strong{font-size:12px}:is(.bs-project-row-copy,.bs-record-copy)>span{font-size:11px;color:var(--bs-muted);overflow-wrap:anywhere}:is(.bs-project-row-copy,.bs-record-copy)>small{font-size:10px;color:var(--bs-delivery-color)}:is(.bs-project-row-delay,.bs-record-value){display:grid;gap:2px;justify-items:end;color:var(--bs-delivery-color);white-space:nowrap}:is(.bs-project-row-delay,.bs-record-value)>strong{font-size:28px;line-height:1.15;font-variant-numeric:tabular-nums}:is(.bs-project-row-delay,.bs-record-value)>span{font-size:10px}:is(.bs-project-row-toggle,.bs-record-toggle){font-size:14px;color:var(--bs-muted)}
:is(.bs-delivery-project-detail,.bs-record-detail){padding:18px;border-top:1px solid var(--bs-border)}:is(.bs-delivery-project-detail,.bs-record-detail) h3{margin:0 0 18px;font-size:17px}:is(.bs-delivery-project-detail,.bs-record-detail) dl{margin:0;display:grid;gap:14px}:is(.bs-delivery-project-detail,.bs-record-detail) dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px}:is(.bs-delivery-project-detail,.bs-record-detail) dt{color:var(--bs-muted);font-size:11px;padding-top:3px}:is(.bs-delivery-project-detail,.bs-record-detail) dd{margin:0;display:flex;gap:6px;flex-wrap:wrap;font-size:11px}
:is(.bs-delivery-phase-list,.bs-record-facts){margin:20px 0;display:grid;gap:12px}:is(.bs-delivery-phase-list,.bs-record-facts)>div{display:grid;gap:5px;border-left:2px solid var(--bs-border);padding-left:10px;font-size:11px}:is(.bs-delivery-phase-list,.bs-record-facts) span{color:var(--bs-delivery-color)}:is(.bs-delivery-phase-list,.bs-record-facts) small{color:var(--bs-muted)}:is(.bs-delivery-links,.bs-record-actions){display:flex;gap:8px;flex-wrap:wrap}:is(.bs-delivery-links,.bs-record-actions) a{display:inline-flex;align-items:center;justify-content:center}
.bs-delivery-conversation .bs-lane-discussion{padding:16px}.bs-delivery-conversation .bs-project-discussion-panel{padding:0;margin:0;border:0}.bs-delivery-conversation .bs-project-discussion-panel h2{font-size:17px}.bs-delivery-conversation .bs-comment-threads{max-height:620px;overflow:auto}.bs-delay-ai{border-top:1px solid var(--bs-border);padding:16px}.bs-delay-ai>summary{cursor:pointer;color:var(--bs-orange);font-size:12px}.bs-delay-ai .bs-overview-report{padding:16px 0 0}.bs-context-guide>p{font-size:11px;color:var(--bs-muted)}
.bs-comment-input{position:relative}.bs-comment-input textarea{padding-right:45px!important;width:100%;box-sizing:border-box}.bs-comment-add-tag{position:absolute;right:8px;top:8px;border:1px solid var(--bs-border);background:var(--bs-surface);color:var(--bs-orange);border-radius:7px;width:28px;height:28px;font-size:20px;cursor:pointer}.bs-comment-draft-tags{padding:8px 0}.bs-comment p .bs-tag{margin:2px 3px}
.bs-report-pagination{align-items:center;justify-content:center;gap:16px;padding:14px 18px!important;border-top:1px solid var(--bs-border-quiet);font-size:11px;min-width:0;white-space:normal}.bs-report-pagination .bs-button{min-width:90px}.bs-report-phase-name{display:block!important;white-space:normal;margin-top:7px;color:var(--bs-muted);font-size:10px;line-height:1.5}.bs-slip-badge.is-early{background:var(--bs-semantic-good);color:var(--bs-canvas)}
@media(min-width:1100px){body.bs-shell-active .bs-page.bs-baselines-refresh:not(.bs-baselines-overview):has([data-bs-page-rail]) .bs-workspace-content{width:calc(100% - 48px);margin-inline:24px}}
@media(max-width:1100px){:is(.bs-delivery-pair,.bs-record-pair){gap:16px}:is(.bs-delivery-project-detail,.bs-record-detail) dl>div{grid-template-columns:1fr;gap:6px}}
@media(max-width:760px){:is(.bs-delivery-pair,.bs-record-pair){grid-template-columns:1fr}:is(.bs-delivery-kpi,.bs-scorecard){padding:16px 10px}:is(.bs-delivery-kpi,.bs-scorecard)>strong{font-size:26px}:is(.bs-delivery-kpi,.bs-scorecard)>span{font-size:9px}:is(.bs-delivery-kpi,.bs-scorecard)>small{font-size:9px}:is(.bs-delivery-project-detail,.bs-record-detail) dl>div{grid-template-columns:95px minmax(0,1fr)}.bs-report-pagination{gap:8px}.bs-report-pagination .bs-button{min-width:0}}

.bs-global-search-add-tag{width:28px;height:28px;flex-shrink:0;border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}.bs-search-tags{display:grid;gap:10px;padding:16px;border-bottom:1px solid var(--bs-border)}.bs-search-tags>small{font-size:10px;color:var(--bs-muted)}.bs-search-tags .bs-button{justify-self:start}
.ft3-inline-tag:has(>.bs-tag){border:0!important;background:none!important;padding:0!important}.ft3-inline-tag>.bs-tag{font-size:inherit}

.bs-delivery-projects>header .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:is(.bs-delivery-pair,.bs-record-pair)>section>header{min-height:62px;box-sizing:border-box}.bs-reports>.bs-accordion>.bs-accordion-body{overflow:hidden}.bs-report-table{overflow-x:auto;max-width:100%}.bs-sidebar-filters .bs-tag button{min-height:0!important;width:auto!important;padding:3px 8px!important;color:inherit!important}

.ft3-inline-tag:has(>.bs-tag){border:0;background:none;padding:0;box-shadow:none}
.bs-tag[data-kind=status][data-value="Complete"]{--tag-ink:var(--bs-semantic-good);--tag-edge:var(--bs-semantic-good)}
.bs-tag[data-kind=type][data-value="Unplanned"]{--tag-ink:var(--bs-orange-soft);--tag-edge:var(--bs-orange)}

/* Baselines: explicit project selection, shared risk tags and focused Ask AI. */
.bs-delivery-list-controls{display:flex;align-items:center;gap:8px;min-width:0}.bs-delivery-list-controls .bs-button{white-space:nowrap}:is(.bs-delivery-project-list,.bs-record-list).has-selection{max-height:720px}:is(.bs-delivery-project-row,.bs-record-row)>:is(.bs-delivery-project-detail,.bs-record-detail){padding:16px 0 4px;margin-top:6px}.bs-discussion-placeholder{padding:24px}.bs-discussion-placeholder p{font-size:12px;color:var(--bs-muted);line-height:1.6}.bs-project-risk-control{display:inline-flex;flex-wrap:wrap;gap:5px}.bs-project-risk-control>small{color:var(--bs-semantic-risk)}.bs-risk-tag{font:inherit;font-size:10px;line-height:1.4;padding:3px 8px;border:1px solid var(--bs-border);border-radius:999px;background:transparent;color:var(--bs-muted);cursor:pointer}.bs-risk-tag.is-active{color:var(--bs-semantic-warn);border-color:var(--bs-semantic-warn);background:color-mix(in srgb,var(--bs-semantic-warn) 7%,transparent)}.bs-risk-tag:hover{border-color:var(--bs-semantic-warn);color:var(--bs-semantic-warn)}.bs-risk-tag:disabled{cursor:default;opacity:.65}.bs-watch-picker{padding:16px;display:grid;gap:10px;border-bottom:1px solid var(--bs-border)}.bs-watch-picker label{display:grid;gap:7px;font-size:12px}.bs-watch-picker input{width:100%;min-width:0;background:var(--bs-canvas);border:1px solid var(--bs-border);padding:10px;border-radius:7px;color:var(--bs-text)}
.bs-project-ai{border-top:1px solid var(--bs-border);padding:16px}.bs-ai-launch{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--bs-text);font:inherit;font-size:13px;cursor:pointer;padding:8px 0}.bs-ai-launch span{font-size:22px;color:#d5bbff}.bs-project-ai-form{position:relative;isolation:isolate;display:flex;align-items:center;gap:8px;background:var(--bs-canvas);border:1px solid #cfb4ff;border-radius:12px;padding:10px;box-shadow:0 0 0 1px #d2afff30,-6px 0 22px #9681ff35,6px 0 22px #ff9ee02b;animation:bs-project-ai-open 220ms ease-out}.bs-project-ai-form>:not(.bs-search-aura){position:relative;z-index:1}.bs-project-ai-form .bs-search-aura{opacity:1}.bs-project-ai-form .bs-search-aura::before{animation:bs-search-radiate 5s ease-in-out infinite}.bs-project-ai-form .bs-search-aura i{animation:bs-search-sparkle 4.8s var(--delay) ease-in-out infinite}.bs-project-ai-form input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:none;font:inherit;font-size:12px;padding:5px!important;color:var(--bs-text)}.bs-project-ai-form button{flex-shrink:0;width:28px;height:28px;border:0;border-radius:6px;background:#cdb7ff1c;color:var(--bs-text);cursor:pointer}.bs-project-ai-form button:disabled{opacity:.4}.bs-ai-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.bs-ai-prompts button{border:1px solid var(--bs-border);border-radius:8px;background:var(--bs-canvas);color:var(--bs-muted);padding:7px 9px;font:inherit;font-size:11px;text-align:left;cursor:pointer}.bs-ai-prompts button:hover{border-color:#ad92d0;color:var(--bs-text)}.bs-ai-prompts button:disabled{opacity:.5}.bs-ai-answer p{font-size:12px;line-height:1.75;margin:0 0 12px}.bs-ai-answer details,.bs-ai-context{font-size:11px;color:var(--bs-muted);margin-top:12px}.bs-ai-answer summary,.bs-ai-context summary{cursor:pointer;padding:6px 0}.bs-ai-answer details a{display:block;padding:5px 0}.bs-ai-context label{display:grid;gap:8px;padding:8px 0}.bs-ai-context textarea{width:100%;background:var(--bs-canvas);color:var(--bs-text);border:1px solid var(--bs-border);border-radius:8px;padding:10px;resize:vertical}.bs-ai-checking{font-size:12px;color:#d5bbff}.bs-project-ai>:is(small,p[role=alert]){font-size:11px;color:var(--bs-muted)}
@keyframes bs-project-ai-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.bs-project-ai-form,.bs-project-ai-form .bs-search-aura::before,.bs-project-ai-form .bs-search-aura i{animation:none}}
@media(max-width:760px){.bs-delivery-list-controls{flex-wrap:wrap;justify-content:flex-end}:is(.bs-delivery-project-list,.bs-record-list).has-selection{max-height:none}}

.bs-project-ai-form input:focus-visible{outline:none!important;box-shadow:none!important}
.bs-project-super-search{padding:13px 14px;min-height:54px}
.bs-project-ai-form .bs-search-options-toggle{width:auto;padding:0 10px;font:inherit;font-size:11px}
.bs-search-source-panel{margin:16px 0;min-width:0}
.bs-search-source-panel fieldset{border:0;padding:0;margin:0;min-width:0}
.bs-search-source-panel legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--bs-text)}
.bs-search-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bs-search-source-grid label{display:flex;align-items:flex-start;gap:9px;margin:0;padding:13px;border:1px solid var(--bs-border);border-radius:9px;background:var(--bs-canvas);cursor:pointer;min-width:0}
.bs-search-source-grid label.is-selected{border-color:#ba9ce06b;background:#ae8dde09}
.bs-search-source-grid input{flex:none;width:15px;height:15px;min-height:0;margin:2px 0 0;accent-color:#cdb2ff}
.bs-search-source-grid label span{display:grid;gap:4px;min-width:0}
.bs-search-source-grid strong{font-size:12px;font-weight:600;color:var(--bs-text)}
.bs-search-source-grid small{font-size:10px;color:var(--bs-muted);line-height:1.5}
.bs-search-source-grid .is-missing{color:var(--bs-semantic-warn)}
.bs-search-context-note,.bs-searched-sources{display:block;font-size:10px;color:var(--bs-muted);margin:10px 0;line-height:1.6}
.bs-search-source-notice{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:1.6;color:var(--bs-muted);margin:10px 0 0}
.bs-search-source-notice button,.bs-search-source-notice a,.bs-search-source-panel p button{border:0;padding:0;background:none;color:var(--bs-accent);font:inherit;cursor:pointer}
.bs-search-connect{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-top:12px;padding:14px;border:1px solid var(--bs-border);border-radius:8px}
.bs-search-connect label{display:grid;gap:8px;font-size:11px;flex:1;min-width:140px}
.bs-search-connect input{width:100%;padding:9px 10px;background:var(--bs-canvas);border:1px solid var(--bs-border);border-radius:6px;color:var(--bs-text);font:inherit}
.bs-search-connect small{flex-basis:100%;font-size:10px;line-height:1.6;color:var(--bs-muted)}
.bs-search-source-panel>p{font-size:11px;color:var(--bs-muted)}
.bs-project-ai .bs-search-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bs-project-questions>.bs-question-history-toggle{margin-top:10px}
@media(max-width:850px){.bs-search-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.bs-search-source-grid,.bs-project-ai .bs-search-source-grid{grid-template-columns:1fr}}

/* One catalogue for every tag surface. Semantic delivery colours stay fixed. */
.bs-tag-admin .bs-button--primary{background:var(--bs-orange);border-color:var(--bs-orange);color:#111}.bs-tag-admin .bs-button--primary:disabled{opacity:.5}.bs-tag-admin-tabs [aria-pressed=true]{border-color:var(--bs-orange)!important;color:var(--bs-orange)!important}
.bs-tag[data-color="orange"]{--tag-color:#ff8b45}.bs-tag[data-color="red"]{--tag-color:#ff6565}.bs-tag[data-color="yellow"]{--tag-color:#f5d34f}.bs-tag[data-color="green"]{--tag-color:#85c9a6}.bs-tag[data-color="blue"]{--tag-color:#96b8ff}.bs-tag[data-color="purple"]{--tag-color:#c59aff}.bs-tag[data-color="teal"]{--tag-color:#78d5cb}.bs-tag[data-color="gray"]{--tag-color:#b8c1c9}
.bs-tag[data-color]{color:var(--tag-color);border-color:color-mix(in srgb,var(--tag-color) 65%,transparent);background:color-mix(in srgb,var(--tag-color) 8%,var(--bs-surface))}.bs-tag[data-archived]{opacity:.7}
.bs-tag-admin{margin-top:28px}.bs-tag-admin-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:26px}.bs-tag-admin h2{font-size:22px;margin:0 0 10px}.bs-tag-admin p{font-size:13px;line-height:1.7;color:var(--bs-muted);max-width:650px;margin:0}.bs-tag-admin-intro>.bs-button{flex-shrink:0}.bs-tag-admin-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--bs-border)}.bs-tag-admin label{display:grid;gap:8px;font-size:12px}.bs-tag-admin-controls>label{width:min(460px,100%)}.bs-tag-admin input,.bs-tag-admin select{width:100%;border:1px solid var(--bs-border);border-radius:8px;padding:12px;background:var(--bs-canvas);color:var(--bs-text);font:inherit}.bs-tag-admin-tabs{display:flex;gap:8px}.bs-tag-admin-tabs [aria-pressed=true]{border-color:var(--bs-accent);color:var(--bs-accent)}.bs-tag-admin-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}.bs-tag-admin-layout>.bs-tag-categories{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;padding:8px;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-surface)}.bs-tag-admin-table{border:1px solid var(--bs-border);border-radius:10px;overflow:auto;max-height:680px;background:var(--bs-surface)}.bs-tag-admin table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.bs-tag-admin th{position:sticky;top:0;background:var(--bs-surface);color:var(--bs-muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase;z-index:1}.bs-tag-admin :is(th,td){padding:16px;border-bottom:1px solid var(--bs-border)}.bs-tag-admin td>small{display:block;font-size:10px;color:var(--bs-muted);margin-top:6px}.bs-tag-admin td:last-child{text-align:right}.bs-tag-admin-table>p{padding:24px}.bs-tag-admin-table .bs-tag{font-size:12px}.bs-tag-admin .ops-error,.bs-tag-admin .admin-save-status{padding:12px 0}.bs-tag-edit-backdrop{position:fixed;inset:0;background:#0009;z-index:10050;display:grid;place-items:center;padding:20px}.bs-tag-edit{width:min(460px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--bs-border);border-radius:16px;background:var(--bs-surface);padding:24px;display:grid;gap:20px;box-shadow:0 24px 80px #0007}.bs-tag-edit header{display:flex;align-items:center;justify-content:space-between;gap:20px}.bs-tag-edit header h2{margin:0}.bs-tag-edit footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:8px}.bs-tag-edit footer>button:first-child:not(:last-child){margin-right:auto}
@media(max-width:760px){.bs-tag-admin-layout{grid-template-columns:1fr;gap:12px}.bs-tag-admin-layout>.bs-tag-categories{position:static;max-height:180px;display:flex;flex-wrap:wrap}.bs-tag-admin-layout>.bs-tag-categories button{flex:1 1 140px}.bs-tag-admin-intro,.bs-tag-admin-controls{flex-wrap:wrap}.bs-tag-admin :is(th,td){padding:12px 8px}.bs-tag-admin th:nth-child(3),.bs-tag-admin td:nth-child(3){display:none}}

/* Baselines Overview report composition is the shared page default. */
.bs-report-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;min-width:0}
.bs-report-pair:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.bs-workspace-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:32px 0 28px;border-bottom:1px solid var(--bs-border-quiet);min-width:0}
.bs-workspace-heading{flex:1 1 320px;min-width:0}
.bs-workspace-heading h1{margin:0;font:700 clamp(28px,3vw,42px)/1.12 var(--bs-font);letter-spacing:-.045em;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.bs-workspace-heading p{margin:10px 0 0;max-width:560px;color:var(--bs-muted);font-size:13px;line-height:1.6}
.bs-workspace-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:100%;min-width:0}
.bs-workspace-search{display:flex;align-items:center;position:relative;flex:1 1 250px;min-width:0;width:300px;max-width:100%;margin:0}
.bs-workspace-search>svg{position:absolute;left:12px;width:17px;height:17px;fill:none;stroke:var(--bs-muted);stroke-width:1.6;pointer-events:none}
.bs-workspace-search>.bs-field{width:100%;min-width:0;padding:12px 42px 12px 38px;font-size:12px}
.bs-workspace-search>button{position:absolute;right:8px;padding:8px;color:var(--bs-orange)}
@media(max-width:767px){.bs-workspace-header{padding:24px 0;gap:20px}.bs-workspace-heading{flex-basis:100%}.bs-workspace-header-actions{width:100%}.bs-workspace-search{width:auto}.bs-workspace-heading h1{font-size:30px}}
.bs-stat-grid{gap:0;border-bottom:1px solid var(--bs-border-quiet)}
.bs-stat{display:grid;gap:12px;text-align:left;background:transparent;border:0;border-left:2px solid var(--bs-border);border-radius:0;box-shadow:none;padding:24px 20px;min-width:0;font:inherit;color:var(--bs-text)}
.bs-stat-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--bs-muted)}
.bs-stat-value{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.03em}
.bs-stat-meta{margin:0;font-size:10px;color:var(--bs-muted)}
button.bs-stat{cursor:pointer}button.bs-stat[aria-pressed=true]{border-left-color:var(--bs-orange);background:color-mix(in srgb,var(--bs-orange) 4%,transparent)}
.bs-team-leave{display:grid;gap:28px}.bs-team-leave .bs-accordion{margin:0}
.bs-team-records{display:grid;gap:24px;min-width:0}
.bs-team-record-panel,.bs-team-leave-detail,.bs-team-record-context{min-width:0;border:1px solid var(--bs-border);border-radius:10px;background:var(--bs-surface);overflow:hidden}
.bs-team-record-panel>header,.bs-team-leave-detail>header,.bs-team-record-context>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--bs-border);font-size:12px}
.bs-team-record-panel>header>small{color:var(--bs-muted)}
.bs-team-record-panel .bs-team-table-scroll{border:0;border-radius:0;margin:0;max-height:560px;overflow:auto}
.bs-team-table th{position:sticky;top:0;z-index:1}.bs-team-table{background:var(--bs-surface)}
.bs-team-table tbody tr:hover{background:color-mix(in srgb,var(--bs-text) 3%,transparent)}
.bs-team-table tbody tr.is-selected{background:color-mix(in srgb,var(--bs-orange) 5%,transparent)}
.bs-team-leave-table{min-width:560px}.bs-team-leave-table td:first-child{width:38%;min-width:170px}.bs-team-leave-table td:nth-child(2){width:auto;min-width:145px;font-size:11px}
.bs-team-person-open{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:0;background:none;border:0;border-radius:0;color:var(--bs-text);padding:0;text-align:left;font:600 12px/1.5 var(--bs-font);cursor:pointer}.bs-team-person-open>span{color:var(--bs-orange)}
.bs-team-table .bs-tag-list{margin-top:9px}.bs-team-leave-views{margin:0;gap:5px}.bs-team-leave-views button{font-size:10px;padding:7px 9px;gap:6px}.bs-team-leave-views button b{min-width:18px}
.bs-team-leave-detail>:not(header),.bs-team-record-context>:not(header){margin:16px}
.bs-team-leave-detail dl{display:grid;gap:14px;font-size:12px}.bs-team-leave-detail dl>div{display:grid;grid-template-columns:60px 1fr;gap:12px}.bs-team-leave-detail dt{color:var(--bs-muted)}.bs-team-leave-detail dd{margin:0}
.bs-team-leave-detail label{display:grid;gap:8px;font-size:11px}.bs-team-leave-detail textarea{width:100%;background:var(--bs-canvas);color:var(--bs-text);border:1px solid var(--bs-border);border-radius:7px;padding:10px;font:inherit;resize:vertical}
.bs-team-note{font-size:11px;color:var(--bs-muted);line-height:1.7}.bs-team-leave-detail details{font-size:11px}.bs-team-leave-detail details p{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--bs-border)}
.bs-team-tag[data-tone=approved]{color:var(--bs-semantic-good);border-color:var(--bs-semantic-good)}.bs-team-tag[data-tone=pending]{color:var(--bs-semantic-warn);border-color:var(--bs-semantic-warn)}.bs-team-tag[data-tone=declined]{color:var(--bs-semantic-risk);border-color:var(--bs-semantic-risk)}
.bs-team-record-context .team-management__row{margin:0;border:0;border-radius:0}.bs-team-record-context .team-management__fields{grid-template-columns:1fr}.bs-team-record-context .team-management__field--wide{grid-column:auto}
@media(max-width:1000px){.bs-report-pair{grid-template-columns:1fr}.bs-team-leave-detail:not(.has-selection){display:none}.bs-team-leave-detail{scroll-margin-top:calc(var(--bs-bar-height,56px) + 16px)}.bs-team-record-panel .bs-team-table-scroll{max-height:520px}}
@media(max-width:600px){.bs-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-stat{padding:16px 10px}.bs-stat-value{font-size:26px}.bs-team-leave{gap:20px}.bs-team-record-panel>header{padding:12px}}

.notice-panel{width:400px;max-width:calc(100vw - 24px);color:var(--bs-text);background:var(--bs-surface)}
.notice-head{display:flex;align-items:center;justify-content:space-between;color:var(--bs-text);border-color:var(--bs-border)}
.notice-filters,.notice-footer{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--bs-border)}
.notice-footer{justify-content:space-between;border-bottom:0;border-top:1px solid var(--bs-border)}
.notice-filters button,.notice-tour{font:inherit;font-size:11px;cursor:pointer;color:var(--bs-text);background:transparent;border:1px solid var(--bs-border);border-radius:8px;padding:6px 9px}
.notice-filters button[aria-pressed=true]{color:var(--bs-orange);border-color:var(--bs-orange)}
.notice-item .notice-tour{display:inline-flex;margin:0 20px 12px;color:var(--bs-orange)}
.notice-item:has(.notice-tour)>a{padding-bottom:8px}
.notice-filters button:focus-visible,.notice-tour:focus-visible{outline:2px solid var(--bs-orange);outline-offset:2px}

/* Baselines reference primitives. Read styles/README.md before changing these.
   Legacy delivery classes and reusable record classes share the SAME rules. */
.bs-scorecard { --bs-delivery-color: var(--bs-scorecard-color,var(--bs-border)); font-variant-numeric:tabular-nums; }
.bs-scorecard.is-risk { --bs-scorecard-color:var(--bs-semantic-risk); }
.bs-scorecard.is-delayed { --bs-scorecard-color:var(--bs-orange); }
.bs-scorecard.is-warn { --bs-scorecard-color:var(--bs-semantic-warn); }
.bs-scorecard.is-good { --bs-scorecard-color:var(--bs-semantic-good); }
.bs-scorecard.is-info { --bs-scorecard-color:var(--bs-semantic-info); }
article.bs-scorecard { cursor:default; }
button.bs-scorecard:hover { background:var(--bs-selectable-active-bg); }
button.bs-scorecard:disabled { cursor:not-allowed; opacity:.45; background:transparent; }
.bs-report-panel { min-width:0; border:1px solid var(--bs-border); border-radius:10px; background:var(--bs-surface); overflow:hidden; }
.bs-report-panel > header { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:62px; box-sizing:border-box; padding:16px; border-bottom:1px solid var(--bs-border); }
.bs-report-panel > header > strong { font-size:12px; }
.bs-field-label { display:grid; gap:6px; font-size:11px; color:var(--bs-muted); }
.bs-field { box-sizing:border-box; width:100%; min-width:0; padding:9px 10px; border:1px solid var(--bs-border); border-radius:7px; background:var(--bs-canvas); color:var(--bs-text); font:inherit; font-size:11px; }
select.bs-field { color-scheme:dark; }
select.bs-field option { background:var(--bs-canvas); color:var(--bs-text); }
html[data-bs-theme='light'] select.bs-field { color-scheme:light; }
.bs-record-row:hover { background:var(--bs-selectable-active-bg); }
.bs-record-open:focus-visible,.bs-scorecard:focus-visible,.bs-field:focus-visible { outline:2px solid var(--bs-orange); outline-offset:2px; }
@media(max-width:600px) { .bs-scorecard-grid { grid-template-columns:1fr; } }

/* SOTA uses the shared lined scorecard and disclosure vocabulary. */
.bs-sota-top-scorecards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px}
.bs-sota-top-scorecards .bs-scorecard{min-width:0}
.bs-sota-top-scorecards .bs-scorecard>strong{color:var(--bs-text)}
.bs-sota .bs-project-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--bs-border);border-radius:10px;overflow:hidden}
.bs-sota .bs-project-stat{border:0;border-radius:0;background:transparent;padding:18px 24px;min-height:96px}
.bs-sota .bs-project-stat+.bs-project-stat{border-left:1px solid var(--bs-border)}
.bs-sota .bs-project-stat>strong{font-size:34px}
.bs-sota .bs-project-stat>.bs-expand-glyph{bottom:18px}
.bs-sota .bs-health-strip h2 small{font-size:12px;font-weight:400;color:var(--bs-muted)}
.bs-sota .bs-health-strip h2 a{color:var(--bs-text);text-decoration:underline;text-decoration-color:var(--bs-orange);text-underline-offset:3px}
.bs-sota-project-health{display:grid;gap:12px;margin:22px 0}
.bs-sota-project-health h2{margin:0;font-size:21px}
.bs-sota-project-health h2 small{font-size:12px;font-weight:400;color:var(--bs-muted)}
.bs-sota-project-health h2 a{color:var(--bs-text);text-decoration:underline;text-decoration-color:var(--bs-orange);text-underline-offset:3px}
.bs-sota-project-health .bs-scorecard>strong{color:var(--bs-text)}
.bs-sota-project-health .bs-scorecard-grid{margin-bottom:0}
.bs-sota-health-projects{display:grid;gap:0}
.bs-sota-health-projects>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--bs-border);color:var(--bs-text);font-size:12px;text-decoration:none}
.bs-sota-health-projects>a>span{color:var(--bs-muted)}
.bs-sota-delivery-signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bs-sota .bs-leadership-dashboard-reportSection+.bs-leadership-dashboard-reportSection{border-top:4px solid var(--bs-orange);padding-top:32px}
.bs-sota .bs-team-metrics>span+span{border-left-color:transparent}
.bs-sota .bs-team-metrics>span+span:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:1px;background:rgba(255,255,255,.16)}
.bs-sota-quarter-picker{position:relative;display:inline-block;vertical-align:middle;font-size:inherit}
.bs-sota-quarter-picker>button{border:0;border-bottom:1px solid var(--bs-orange);padding:0 2px 2px;background:none;color:var(--bs-orange);font:inherit;cursor:pointer}
.bs-sota-quarter-picker>button span{font-size:.65em}
.bs-sota-quarter-menu{position:absolute;z-index:30;top:calc(100% + 7px);left:0;display:grid;gap:8px;min-width:194px;padding:11px;border:1px solid var(--bs-orange);border-radius:8px;background:var(--bs-surface);box-shadow:0 12px 28px #0009}
.bs-sota-quarter-menu>span{display:flex;align-items:center;justify-content:space-between;gap:4px}
.bs-sota-quarter-menu strong{font-size:12px;color:var(--bs-text)}
.bs-sota-quarter-menu button{min-width:36px;min-height:32px;border:1px solid var(--bs-border);border-radius:6px;background:var(--bs-canvas);color:var(--bs-text);font:600 11px var(--bs-font);cursor:pointer}
.bs-sota-quarter-menu button[aria-pressed=true]{border-color:var(--bs-orange);color:var(--bs-orange)}
@media(max-width:900px){.bs-sota-top-scorecards{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-sota-delivery-signals{grid-template-columns:1fr}}
@media(max-width:600px){.bs-sota-top-scorecards{grid-template-columns:1fr}.bs-sota-health-projects>a{grid-template-columns:1fr}}

.bs-scorecard.is-neutral > strong { color:var(--bs-text); }

/* Tag interaction styling is owned here, including marker and manual-risk tags. */
.bs-tag[draggable=false] { cursor:default; }
.bs-tag > button:focus-visible { outline:2px solid var(--bs-orange); outline-offset:2px; }
.bs-tag > button:disabled { cursor:not-allowed; opacity:.55; }
.bs-tag > button:disabled:hover { background:none; }
.bs-tag.bs-risk-tag { padding:0; }
.bs-tag.bs-risk-tag:not(.is-active) { --tag-ink:var(--bs-muted); --tag-edge:var(--bs-border); }
.bs-tag[data-kind][data-color] { --tag-ink:var(--tag-color); --tag-edge:color-mix(in srgb,var(--tag-color) 65%,transparent); }
.bs-sow-unscheduled { grid-column:1 / -1; padding:20px 18px; z-index:1; background:var(--bs-canvas); font-size:12px; }
.bs-sow-unscheduled ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:8px 24px; padding:0; margin:12px 0 0; list-style:none; }
.bs-sow-unscheduled li { display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-bottom:1px solid var(--bs-border); padding-bottom:6px; }
.bs-sow-unscheduled small { color:var(--bs-muted); white-space:nowrap; }
/* Compact utilities (wallet): one title, no duplicate mascot or marketing hero. */
.bs-utility-header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.bs-utility-header h1 { margin:0; color:var(--bs-text); font-size:clamp(32px,4vw,44px); font-weight:650; line-height:1.2; letter-spacing:-.05em; }
.bs-utility-actions { display:flex; gap:8px; flex-wrap:wrap; }
.bs-shell-wallet { position:relative; display:inline-flex; }
.bs-topbar .account-menu,.bs-topbar .bs-recent-pages-panel { position:fixed; top:var(--bs-menu-top,calc(var(--bs-bar-height,56px) + 10px)); right:var(--bs-menu-right,12px); max-width:calc(100vw - 24px); max-height:calc(100dvh - var(--bs-bar-height,56px) - 24px); overflow-y:auto; }
.bs-topbar .bs-recent-pages-panel { left:var(--bs-menu-left,12px); right:auto; }
.bs-topbar .bs-wallet-preview { display:block; width:220px; padding:20px 22px; color:inherit; text-decoration:none; cursor:pointer; transition:border-color var(--bs-motion-fast,120ms) ease; }
.bs-topbar .bs-wallet-preview:hover,.bs-topbar .bs-wallet-preview:focus-visible { border-color:var(--bs-orange); }
.bs-wallet-preview-balance { display:flex; align-items:baseline; gap:10px; }
.bs-wallet-preview-balance strong { font-size:40px; line-height:1.1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.bs-wallet-preview-balance span { color:var(--bs-muted); font-size:12px; }
@media(max-width:600px) { .bs-utility-header { align-items:flex-start; flex-direction:column; gap:14px; } }

/* Salon utilities: a single navigation rail, page-local controls, persistent intake. */
.bs-ticket-launcher { position:fixed; right:46px; bottom:28px; z-index:80; display:flex; align-items:center; width:260px; min-height:76px; box-sizing:border-box; padding:16px 108px 16px 22px; border:1px solid var(--bs-border); border-radius:18px; background:var(--bs-surface); color:var(--bs-text); box-shadow:0 12px 40px #0005; text-align:left; cursor:pointer; font:inherit; transition:opacity var(--bs-motion-fast),border-color var(--bs-motion-fast); }
.bs-ticket-launcher > img { position:absolute; right:-18px; bottom:-15px; width:112px; height:112px; object-fit:contain; pointer-events:none; }
.bs-ticket-launcher-copy { display:grid; gap:3px; white-space:nowrap; }
.bs-ticket-launcher small { color:var(--bs-muted); font-size:11px; }
.bs-ticket-launcher strong { font-size:14px; }
.bs-ticket-launcher:hover { border-color:var(--bs-orange); }
.bs-ticket-launcher:focus-visible { outline:2px solid var(--bs-orange); outline-offset:4px; }
.bs-ticket-launcher.is-open { opacity:0; pointer-events:none; }
.bs-ticket-dialog { position:fixed; inset:0; width:min(920px,calc(100vw - 64px)); height:fit-content; max-width:none; max-height:none; box-sizing:border-box; margin:auto; padding:0 0 110px; border:0; color:#fff; background:transparent; overflow:visible; overscroll-behavior:contain; font-family:var(--bs-font); }
.bs-ticket-dialog::backdrop { background:#0007; backdrop-filter:blur(3px); }
.bs-ticket-paper { display:flex; flex-direction:column; max-height:calc(100dvh - 152px); background:#0b0b0b; border:1px solid #555; border-radius:18px; box-shadow:0 24px 100px #0006; overflow:hidden; mask:radial-gradient(circle 12px at 0 100px,transparent 98%,#000) left,radial-gradient(circle 12px at 100% 100px,transparent 98%,#000) right; mask-size:51% 100%; mask-repeat:no-repeat; }
.bs-ticket-heading { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; flex:none; box-sizing:border-box; min-height:100px; padding:22px 32px; border-bottom:1px dashed #555; }
.bs-ticket-heading > div > span { color:var(--bs-orange); font-size:9px; font-weight:600; letter-spacing:2px; }
.bs-ticket-heading h2 { margin:6px 0 0; color:#fff; font-size:clamp(18px,2.4vw,28px); line-height:1.2; letter-spacing:-.7px; }
.bs-ticket-dialog .bs-ticket-close { display:grid; place-items:center; flex:none; color:#fff; background:#181818; border:1px solid #555; border-radius:50%; width:36px; height:36px; padding:0; }
.bs-ticket-close:hover { border-color:var(--bs-orange); }
.bs-ticket-close:focus-visible { outline:2px solid var(--bs-orange); outline-offset:3px; }
.bs-ticket-dialog-content { min-height:0; overflow:auto; overscroll-behavior:contain; }
.bs-ticket-stage { position:relative; }
/* The bar is baked into the image, centred 10.5px down a 138px box; centre it on the paper's 1px bottom border. */
.bs-ticket-grip { position:absolute; width:138px; height:138px; right:18px; top:calc(100% - 11px); pointer-events:none; }
.bs-ticket-hanging { position:relative; display:block; width:100%; height:100%; object-fit:contain; }
.bs-ticket-dialog .bs-salon-requests-intake { width:100%; max-width:none; }
.bs-ticket-dialog .bs-salon-requests-ticketBackWrap { margin:0; padding:0; overflow:visible; animation:none; }
.bs-ticket-dialog .bs-salon-requests-ticketBack { box-sizing:border-box; padding:24px 32px 28px; margin:0; width:100%; max-width:none; border-radius:0; box-shadow:none; border:0; }
.bs-ticket-guidance { padding:16px; border:1px solid var(--bs-border); border-radius:12px; }
.bs-ticket-guidance > summary { cursor:pointer; font-weight:600; }
@media (prefers-reduced-motion:no-preference) {
 html:not([data-bs-motion='reduced']) .bs-ticket-launcher img { transition:transform var(--bs-motion-slow) var(--bs-ease); }
 html:not([data-bs-motion='reduced']) .bs-ticket-launcher:hover img { transform:rotate(-6deg) translateY(-5px); }
}
@media(max-width:600px) {
 .bs-ticket-launcher { right:28px; bottom:22px; width:220px; min-height:64px; padding:12px 86px 12px 16px; }
 .bs-ticket-launcher > img { width:94px; height:94px; right:-14px; bottom:-12px; }
 .bs-ticket-launcher strong { font-size:12px; }
 .bs-ticket-dialog { width:calc(100vw - 24px); padding-bottom:82px; }
 .bs-ticket-paper { max-height:calc(100dvh - 114px); }
 .bs-ticket-heading { padding:18px 24px; }
 .bs-ticket-dialog .bs-salon-requests-ticketBack { padding:20px 24px 24px; }
 .bs-ticket-grip { width:104px; height:104px; top:calc(100% - 8.4px); right:14px; }
}
@media print { .bs-ticket-launcher,.bs-ticket-dialog { display:none !important; } }

.bs-page-rail-title:has(.bs-rail-search) { min-width:0; flex:1; }
.bs-page-rail-header .bs-rail-search { margin:0; padding:0; }
.bs-page-rail-header .bs-rail-search input { min-width:0; width:100%; height:32px; box-sizing:border-box; }

/* Scrollbars share the selected palette, including light appearances. */
html[data-bs-theme] { scrollbar-color: var(--bs-border) var(--bs-canvas); }
html[data-bs-theme] ::-webkit-scrollbar-track { background: var(--bs-canvas); }
html[data-bs-theme] ::-webkit-scrollbar-thumb { background: var(--bs-border); border: 2px solid var(--bs-canvas); border-radius: 999px; }

/* The editor stays readable while its live preview changes the workspace. */
.bs-appearance-overlay { position: fixed; inset: 0; z-index: 160; display: grid; place-items: center; padding: 24px; background: #050504bf; backdrop-filter: blur(7px); }
.bs-appearance-dialog { --ba-text: #f4eee6; --ba-muted: #a39b90; --ba-border: #36332e; width: min(820px, 100%); max-height: calc(100dvh - 48px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #574334; border-radius: 22px; background: #151512; color: var(--ba-text); box-shadow: 0 35px 120px #0009; font: 400 12px/1.55 'Poppins', Arial, sans-serif; }
.bs-appearance-dialog *, .bs-appearance-dialog *::before, .bs-appearance-dialog *::after { box-sizing: border-box; }
.bs-appearance-dialog button, .bs-appearance-dialog input, .bs-appearance-dialog select { font-family: inherit; }
.bs-appearance-dialog :where(button,input,select,[tabindex]):focus-visible { outline: 2px solid #ffa76a; outline-offset: 3px; }
.bs-appearance-dialog button { cursor: pointer; }
.bs-appearance-dialog :disabled { opacity: .45; cursor: not-allowed; }
.bs-appearance-heading { display: flex; justify-content: space-between; gap: 20px; padding: 25px 30px 20px; background: radial-gradient(ellipse at 85% 0, #57301760, transparent 70%), #191813; }
.bs-appearance-heading > div > span { color: #dcad85; font-size: 9px; letter-spacing: .18em; font-weight: 600; }
.bs-appearance-heading h2 { margin: 5px 0 3px; font-size: 27px; line-height: 1.25; letter-spacing: -.04em; font-weight: 600; }
.bs-appearance-heading p { margin: 0; color: var(--ba-muted); font-size: 11px; }
.bs-appearance-close { flex: none; display: grid; place-items: center; width: 31px; height: 31px; padding: 0; border: 1px solid #4b4136; border-radius: 9px; background: #ffffff04; color: #c9b9a8; font-size: 22px; line-height: 1; }
.bs-appearance-close:hover { border-color: #c7885b; background: #ff9a651a; color: #fff0e1; }
.bs-appearance-tabs { display: flex; gap: 24px; padding: 0 30px; border-bottom: 1px solid var(--ba-border); }
.bs-appearance-tabs > button { display: flex; align-items: center; gap: 8px; position: relative; min-height: 46px; padding: 10px 0; border: 0; background: none; color: var(--ba-muted); font-size: 11px; font-weight: 500; }
.bs-appearance-tabs > button[aria-selected='true'] { color: #ffbf93; }
.bs-appearance-tabs > button[aria-selected='true']::after { position: absolute; content: ''; bottom: -1px; left: 0; right: 0; height: 2px; background: #ff9656; border-radius: 2px; }
.bs-appearance-tabs small { padding: 1px 5px; border: 1px solid #59442d; border-radius: 4px; color: #bfa07f; font-size: 8px; }
.bs-appearance-dialog > form { min-height: 0; display: flex; flex-direction: column; }
.bs-appearance-scroll { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 24px 30px 28px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #615142 #151512; }
.bs-appearance-controls { min-width: 0; }
.bs-appearance-follow { position: relative; display: flex; align-items: center; gap: 15px; padding: 13px 14px; border: 1px solid #443b2f; border-radius: 11px; background: #211e17; cursor: pointer; }
.bs-appearance-follow > span { flex: 1; min-width: 0; }
.bs-appearance-follow strong { display: block; color: #ead8c1; font-size: 11px; font-weight: 500; }
.bs-appearance-follow small { display: block; margin-top: 3px; color: #a99a87; font-size: 9px; line-height: 1.55; }
.bs-appearance-follow > input { position: absolute; right: 14px; width: 35px; height: 23px; margin: 0; opacity: 0; cursor: pointer; }
.bs-appearance-follow > i { flex: none; width: 35px; height: 21px; padding: 3px; border: 1px solid #665341; border-radius: 999px; background: #382e25; pointer-events: none; }
.bs-appearance-follow > i::after { display: block; content: ''; width: 13px; height: 13px; border-radius: 50%; background: #bcad9e; transition: transform 140ms ease; }
.bs-appearance-follow > input:checked + i { background: #cd722f; border-color: #d48950; }
.bs-appearance-follow > input:checked + i::after { transform: translateX(14px); background: #fff3e5; }
.bs-appearance-follow > input:focus-visible + i { outline: 2px solid #ffa76a; outline-offset: 3px; }
.bs-appearance-default-note { min-height: 66px; padding: 12px 14px; border: 1px solid #55412b; border-radius: 11px; background: #292016; }
.bs-appearance-default-note strong { color: #f0c599; font-size: 11px; font-weight: 500; }
.bs-appearance-default-note p { margin: 3px 0 0; color: #b9a085; font-size: 10px; }
.bs-appearance-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.bs-appearance-section { padding-top: 22px; }
.bs-appearance-section + .bs-appearance-section { margin-top: 22px; border-top: 1px solid #302f29; }
.bs-appearance-section-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin-bottom: 12px; }
.bs-appearance-section-head h3 { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: -.015em; }
.bs-appearance-section-head > span { color: #8d887d; font-size: 9px; }
.bs-appearance-presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bs-appearance-preset { position: relative; min-width: 0; cursor: pointer; }
.bs-appearance-preset > input { position: absolute; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.bs-appearance-preset > span { pointer-events: none; display: block; padding: 4px; border: 1px solid #3e3b32; border-radius: 10px; background: #1b1c17; }
.bs-appearance-preset:hover > span { border-color: #ac784e; }
.bs-appearance-preset > input:checked + span { border-color: #ff9e5d; background: #372719; box-shadow: 0 0 0 1px #ff9e5d30; }
.bs-appearance-preset > input:focus-visible + span { outline: 2px solid #ffa76a; outline-offset: 3px; }
.bs-appearance-preset strong { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 7px 4px 3px; color: #d3ccbf; font-size: 9px; font-weight: 500; white-space: nowrap; }
.bs-appearance-preset strong i { opacity: 0; color: #ffc79f; font-style: normal; }
.bs-appearance-preset > input:checked + span strong i { opacity: 1; }
.bs-appearance-colors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px 12px; }
.bs-appearance-color > label { display: block; margin-bottom: 5px; color: #b4afa3; font-size: 9px; }
.bs-appearance-color > div { display: flex; gap: 7px; align-items: center; padding: 6px 7px; border: 1px solid #3d3b32; border-radius: 7px; background: #10120e; }
.bs-appearance-color > div:focus-within { border-color: #ae784f; }
.bs-appearance-color > div.is-invalid { border-color: #e78977; }
.bs-appearance-color input[type='color'] { flex: none; width: 23px; height: 23px; padding: 0; border: 0; border-radius: 5px; background: none; cursor: pointer; }
.bs-appearance-color input[type='color']::-webkit-color-swatch-wrapper { padding: 0; }
.bs-appearance-color input[type='color']::-webkit-color-swatch { border: 1px solid #ffffff24; border-radius: 4px; }
.bs-appearance-color input[type='text'] { min-width: 0; width: 100%; padding: 0; border: 0; background: none; color: #ddd4c6; font: 500 10px/1.3 'Courier New', monospace; text-transform: uppercase; }
.bs-appearance-color > small { display: block; margin-top: 4px; color: #eea18e; font-size: 8px; }
.bs-appearance-header-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: end; margin-top: 16px; }
.bs-appearance-choice { min-width: 0; margin: 0; padding: 0; border: 0; }
.bs-appearance-choice legend { margin-bottom: 6px; color: #b4afa3; font-size: 9px; }
.bs-appearance-choice > div { display: flex; gap: 3px; padding: 3px; border: 1px solid #37382e; border-radius: 7px; background: #11130e; }
.bs-appearance-choice label { flex: 1; min-width: 0; position: relative; cursor: pointer; }
.bs-appearance-choice input { position: absolute; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.bs-appearance-choice span { display: block; padding: 6px 7px; border: 1px solid transparent; border-radius: 4px; color: #958f81; text-align: center; font-size: 9px; white-space: nowrap; }
.bs-appearance-choice input:checked + span { background: #423021; border-color: #67472d; color: #ffcc9f; }
.bs-appearance-choice input:focus-visible + span { outline: 2px solid #ffa76a; outline-offset: 2px; }
.bs-appearance-angle { display: grid; gap: 9px; padding-bottom: 7px; }
.bs-appearance-angle > span { display: flex; justify-content: space-between; color: #b4afa3; font-size: 9px; }
.bs-appearance-angle output { color: #e8c79f; }
.bs-appearance-angle input { width: 100%; height: 4px; margin: 0; accent-color: #ff9e5d; cursor: pointer; }
.bs-appearance-finishes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.bs-appearance-font { display: grid; gap: 6px; color: #b4afa3; font-size: 9px; }
.bs-appearance-font select { width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid #37382e; border-radius: 7px; background: #11130e; color: #d9cfc0; font-size: 10px; }
.bs-appearance-preview { position: sticky; top: 0; align-self: start; min-width: 0; padding-top: 3px; }
.bs-appearance-preview-label { display: flex; align-items: center; gap: 5px; margin-bottom: 14px; color: #908a7d; font-size: 8px; white-space: nowrap; }
.bs-appearance-preview-label > span { margin-right: auto; color: #c1b199; letter-spacing: .1em; font-weight: 600; }
.bs-appearance-preview-label > i { width: 4px; height: 4px; border-radius: 50%; background: #c9bb79; }
.bs-appearance-preview > h3 { margin: 18px 0 5px; color: #efe2d1; font-size: 15px; font-weight: 500; }
.bs-appearance-preview > p { margin: 0; color: #9c9586; font-size: 10px; line-height: 1.7; }
.bs-appearance-preview-foot { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; }
.bs-appearance-preview-foot > span { padding: 4px 7px; border: 1px solid #3d382d; border-radius: 5px; color: #baa78c; font-size: 8px; }
.bs-appearance-mini { position: relative; overflow: hidden; border: 1px solid #ffffff18; border-radius: 11px; background: var(--ba-preview-canvas); color: var(--ba-preview-ink); font-family: var(--ba-preview-font); }
.bs-appearance-mini-bar { display: flex; align-items: center; gap: 12px; height: 27px; padding: 0 9px; background: var(--ba-preview-header); color: var(--ba-preview-header-ink); }
.bs-appearance-mini-bar > b { display: grid; place-items: center; width: 16px; height: 16px; border-radius: 5px; background: var(--ba-preview-accent); color: var(--ba-preview-accent-ink); font-size: 11px; font-weight: 800; }
.bs-appearance-mini-bar > span { flex: 1; height: 9px; max-width: 160px; margin-inline: auto; border: 1px solid currentColor; border-radius: 3px; opacity: .28; }
.bs-appearance-mini-bar > i { width: 12px; height: 12px; border-radius: 50%; background: currentColor; opacity: .6; }
.bs-appearance-mini-body { display: flex; min-height: 230px; }
.bs-appearance-mini-rail { display: flex; flex: 0 0 31px; flex-direction: column; align-items: center; gap: 12px; padding-top: 13px; background: var(--ba-preview-sidebar); }
.bs-appearance-mini-rail > i { width: 11px; height: 11px; border: 2px solid var(--ba-preview-accent); border-radius: 4px; opacity: .75; }
.bs-appearance-mini-rail > i:first-child { background: var(--ba-preview-accent); }
.bs-appearance-mini-content { flex: 1; min-width: 0; padding: 23px 17px 18px; }
.bs-appearance-mini-content > small { font-size: 6px; letter-spacing: .1em; opacity: .6; }
.bs-appearance-mini-content > strong { display: block; margin-top: 4px; font-size: 16px; letter-spacing: -.03em; font-weight: 600; }
.bs-appearance-mini-content > p { margin: 4px 0 15px; font-size: 6px; opacity: .6; }
.bs-appearance-mini-cards { display: flex; gap: 7px; }
.bs-appearance-mini-cards > i { flex: 1; display: flex; flex-direction: column; padding: 9px; border-radius: var(--ba-preview-radius); background: var(--ba-preview-surface); color: var(--ba-preview-card-ink); font-style: normal; }
.bs-appearance-mini-cards b { color: var(--ba-preview-accent); font-size: 16px; font-weight: 500; }
.bs-appearance-mini-cards span { font-size: 6px; opacity: .75; }
.bs-appearance-mini-list { display: grid; gap: 5px; margin-top: 12px; }
.bs-appearance-mini-list > i { display: block; height: 8px; border-radius: var(--ba-preview-radius); background: var(--ba-preview-surface); }
.bs-appearance-mini-list > i:nth-child(2) { width: 78%; }
.bs-appearance-mini-list > i:nth-child(3) { width: 89%; }
.bs-appearance-mini[data-density='compact'] .bs-appearance-mini-content { padding: 14px 12px; }
.bs-appearance-mini[data-density='compact'] .bs-appearance-mini-cards > i { padding: 6px; }
.bs-appearance-mini.is-small { height: 65px; border-radius: 5px; }
.bs-appearance-mini.is-small .bs-appearance-mini-bar { height: 13px; gap: 4px; padding-inline: 4px; }
.bs-appearance-mini.is-small .bs-appearance-mini-bar > b { width: 7px; height: 7px; border-radius: 2px; font-size: 5px; }
.bs-appearance-mini.is-small .bs-appearance-mini-bar > span { height: 4px; border-radius: 2px; }
.bs-appearance-mini.is-small .bs-appearance-mini-bar > i { width: 5px; height: 5px; }
.bs-appearance-mini.is-small .bs-appearance-mini-body { min-height: 52px; }
.bs-appearance-mini.is-small .bs-appearance-mini-rail { flex-basis: 12px; gap: 5px; padding-top: 6px; }
.bs-appearance-mini.is-small .bs-appearance-mini-rail > i { width: 5px; height: 5px; border-width: 1px; border-radius: 2px; }
.bs-appearance-mini.is-small .bs-appearance-mini-content { padding: 8px; }
.bs-appearance-mini.is-small .bs-appearance-mini-content > span { display: block; width: 64%; height: 4px; margin: 0 0 8px; background: currentColor; opacity: .65; border-radius: 2px; }
.bs-appearance-mini.is-small .bs-appearance-mini-cards { gap: 4px; }
.bs-appearance-mini.is-small .bs-appearance-mini-cards > i { height: 20px; padding: 0; border-radius: 3px; }
.bs-appearance-mini.is-pixel { border-radius: 3px; }
.bs-appearance-pixels { position: absolute; right: 8px; bottom: 5px; display: flex; gap: 3px; align-items: end; height: 18px; pointer-events: none; }
.bs-appearance-pixels > i { width: 10px; height: 10px; border: 2px solid #a6591d; background: #ffc93c; box-shadow: inset -2px -2px #dc8724; }
.bs-appearance-pixels > i:nth-child(2) { transform: translateY(-13px); }
.bs-appearance-pixels > b { width: 13px; height: 17px; margin-left: 8px; border: 2px solid #126d29; border-top-width: 4px; background: #46c34e; }
.bs-appearance-pixels > em { width: 8px; height: 11px; border-top: 5px solid #ed3335; background: #3159cc; box-shadow: -3px 8px #752b16, 5px 8px #752b16; }
.bs-appearance-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 18px; padding: 17px 30px; border-top: 1px solid var(--ba-border); background: #1b1a15; }
.bs-appearance-footer > div:first-child { flex: 1; min-width: 170px; }
.bs-appearance-footer > div:last-child { display: flex; align-items: center; gap: 8px; }
.bs-appearance-save-note { display: block; color: #a49b88; font-size: 9px; }
.bs-appearance-error { max-width: 470px; margin: 0 0 5px; color: #f0a08c; font-size: 10px; }
.bs-appearance-reset { padding: 2px 0; border: 0; background: none; color: #dbb38d; font-size: 9px; text-decoration: underline; text-underline-offset: 3px; }
.bs-appearance-cancel, .bs-appearance-save { min-height: 37px; padding: 9px 15px; border: 1px solid #544635; border-radius: 8px; background: transparent; color: #d8c8b3; font-size: 10px; font-weight: 500; }
.bs-appearance-save { border-color: #ffa264; background: #f29a59; color: #271207; }
.bs-appearance-save:not(:disabled):hover { background: #ffc090; }
.bs-appearance-cancel:not(:disabled):hover { background: #3a2c1d; border-color: #a77e52; }
@media (max-width: 880px) {
  .bs-appearance-scroll { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-inline: 22px; }
  .bs-appearance-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bs-appearance-colors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bs-appearance-preview-label { flex-wrap: wrap; white-space: normal; }
  .bs-appearance-preview-label > span { width: 100%; }
  .bs-appearance-mini-content { padding: 15px 12px; }
  .bs-appearance-mini-content > strong { font-size: 13px; }
  .bs-appearance-finishes { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bs-appearance-overlay { padding: 10px; }
  .bs-appearance-dialog { max-height: calc(100dvh - 20px); border-radius: 15px; }
  .bs-appearance-heading { padding: 20px 18px 16px; }
  .bs-appearance-heading h2 { font-size: 24px; }
  .bs-appearance-heading p { font-size: 10px; }
  .bs-appearance-tabs { padding-inline: 18px; gap: 20px; }
  .bs-appearance-tabs > button { font-size: 10px; }
  .bs-appearance-scroll { grid-template-columns: 1fr; gap: 24px; padding: 20px 18px; }
  .bs-appearance-preview { position: static; padding: 0; }
  .bs-appearance-preview .bs-appearance-mini-body { min-height: 200px; }
  .bs-appearance-preview-label { flex-wrap: nowrap; }
  .bs-appearance-preview-label > span { width: auto; }
  .bs-appearance-presets { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
  .bs-appearance-preset strong { font-size: 8px; padding-inline: 1px; }
  .bs-appearance-preset strong i { display: none; }
  .bs-appearance-header-controls { gap: 15px; }
  .bs-appearance-footer { padding: 14px 18px; }
  .bs-appearance-footer > div:last-child { width: 100%; justify-content: flex-end; }
}
@media (max-width: 380px) {
  .bs-appearance-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bs-appearance-header-controls { grid-template-columns: 1fr; }
  .bs-appearance-tabs { gap: 15px; }
  .bs-appearance-tabs small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .bs-appearance-follow > i::after { transition: none; } }

/* One loading state, colored by the active workspace theme. */
.baldspot-loading-screen.bs-universal-loading {
  position: relative;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  align-content: center;
  width: 100%;
  min-height: calc(100dvh - var(--bs-bar-height, 56px));
  padding: 32px;
  margin: 0;
  background: var(--bs-canvas, var(--bg, #090a0a));
  color: var(--bs-text, var(--text, #fff));
}
.bs-universal-loading.is-inline { min-height: 220px; background: transparent; }
.bs-universal-loading .baldspot-loading-orbit {
  position: relative;
  border-radius: 50%;
  animation: bs-loading-orbit 2.4s linear infinite;
  width: clamp(104px, 12vw, 148px);
  height: clamp(104px, 12vw, 148px);
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--bs-orange, var(--accent, #ff5c00)) 38%, transparent);
  box-shadow: 0 0 70px color-mix(in srgb, var(--bs-orange, var(--accent, #ff5c00)) 9%, transparent);
}
.bs-universal-loading .baldspot-loading-orbit::before, .bs-universal-loading .baldspot-loading-orbit::after { content: ''; position: absolute; border-radius: inherit; }
.bs-universal-loading .baldspot-loading-orbit::before { inset: 17%; border: 1px solid color-mix(in srgb, var(--bs-orange, var(--accent, #ff5c00)) 22%, transparent); }
.bs-universal-loading .baldspot-loading-orbit::after { inset: 36%; background: var(--bs-orange, var(--accent, #ff5c00)); box-shadow: 0 0 38px color-mix(in srgb, var(--bs-orange, var(--accent, #ff5c00)) 55%, transparent); }
.bs-universal-loading .baldspot-loading-orbit span { position: absolute; border-radius: 50%; top: 18%; left: 6%; width: 10px; height: 10px; background: var(--bs-orange, var(--accent, #ff5c00)); box-shadow: 0 0 18px var(--bs-orange, var(--accent, #ff5c00)); }
.bs-loading-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bs-route-loading { position: fixed; z-index: 90; top: var(--bs-bar-height, 56px); right: 0; bottom: 0; left: var(--bs-sidebar-width, 0px); }
.bs-route-loading .bs-universal-loading { height: 100%; min-height: 0; }
html[data-bs-motion='reduced'] .bs-universal-loading .baldspot-loading-orbit { animation: none; }
@keyframes bs-loading-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bs-universal-loading .baldspot-loading-orbit { animation: none; } }

/* Settings are ordinary pages with a compact shared navigation. */
.settings-page { width: min(1280px, 100%); margin-inline: auto; padding: 42px clamp(20px, 4vw, 64px) 80px; }
.settings-page .admin-access-panel { padding: 0; }
.settings-page .settings-heading { display: block; margin: 0 0 24px; }
.settings-page .settings-heading h1, .settings-locked h1 { margin: 0; color: var(--bs-text, var(--text)); font: 600 clamp(26px, 3vw, 36px)/1.2 var(--bs-font, var(--font-display)); letter-spacing: -.045em; }
.settings-navigation { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-bottom: 36px; border-bottom: 1px solid var(--bs-border, var(--border)); }
.settings-navigation a { padding: 0 0 13px; border-bottom: 2px solid transparent; color: var(--bs-muted, var(--text-muted)); text-decoration: none; font-size: 13px; font-weight: 500; }
.settings-navigation a[aria-current='page'] { border-bottom-color: var(--bs-orange, var(--accent)); color: var(--bs-text, var(--text)); }
.settings-navigation a:focus-visible { outline: 2px solid var(--bs-orange, var(--accent)); outline-offset: 4px; }
.settings-page .admin-team-access { background: var(--bs-surface, var(--surface)); border-color: var(--bs-border, var(--border)); }
.settings-page .admin-site-settings { padding: 0; border: 0; background: transparent; display: grid; gap: 12px; max-width: 800px; }
.settings-page .admin-site-setting { min-height: 92px; border-color: var(--bs-border, var(--border)); background: var(--bs-surface, var(--surface)); padding: 20px; }
.settings-page .admin-site-setting strong { color: var(--bs-text, var(--text)); font: 600 14px var(--bs-font, var(--font-body)); }
.settings-page .admin-site-setting small { color: var(--bs-muted, var(--text-muted)); font-size: 12px; }
.settings-page .admin-access-panel h2 { margin: 0; font-size: 18px; color: var(--bs-text, var(--text)); letter-spacing: -.025em; }
.settings-page .admin-team-access > header { align-items: center; }
.settings-page .admin-team-access > header p { font-size: 12px; color: var(--bs-muted, var(--text-muted)); }
.settings-page .admin-team-access-note { color: var(--bs-muted, var(--text-muted)); font-size: 11px; line-height: 1.6; }
.settings-page .admin-team-access-note a { color: var(--bs-orange, var(--accent)); }
.settings-defaults { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.settings-defaults .admin-domain-card { grid-template-columns: auto minmax(150px, 1fr) minmax(150px, 1fr); align-items: center; border: 0; padding: 0; background: transparent; }
.settings-defaults .admin-domain-card > span { display: none; }
.settings-defaults .admin-domain-card > strong { font-size: 12px; padding-right: 10px; color: var(--bs-muted, var(--text-muted)); }
.settings-defaults .admin-domain-card select { margin: 0; }
.settings-page .admin-ledger { margin: 0; }
.settings-page .admin-save-status { margin: 0 0 16px; }
.settings-page .admin-team-access-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-page .admin-user-list, .settings-page .admin-ledger-list { overflow-x: auto; }
.settings-page .admin-user-row { min-width: 960px; }
.settings-page .admin-ledger-row { min-width: 960px; }
.settings-page .admin-team-access-grid > article, .settings-page .admin-user-list, .settings-page .admin-ledger-list { background: var(--bs-surface, var(--surface)); border-color: var(--bs-border, var(--border)); }
.settings-page .admin-team-access-grid > article > div:first-child, .settings-page .admin-user-row--head, .settings-page .admin-ledger-row--head { background: color-mix(in srgb, var(--bs-surface, #111211) 88%, var(--bs-text, #fff)); color: var(--bs-muted, var(--text-muted)); }
.settings-page .admin-team-access-grid strong, .settings-page .admin-team-section-list label.is-enabled, .settings-page .admin-user-row > span:first-child strong, .settings-page .admin-ledger-row strong { color: var(--bs-text, var(--text)); }
.settings-page .admin-access-panel input, .settings-page .admin-access-panel select { background: var(--bs-canvas, var(--bg)); color: var(--bs-text, var(--text)); border-color: var(--bs-border, var(--border)); }
.settings-locked { display: grid; justify-items: start; gap: 20px; }
.settings-locked p { color: var(--bs-muted, var(--text-muted)); }
.settings-locked a { color: var(--bs-orange, var(--accent)); }
@media (max-width: 760px) {
  .settings-page { padding: 30px 20px 60px; }
  .settings-navigation { gap: 16px; margin-bottom: 26px; }
  .settings-navigation a { font-size: 12px; }
  .settings-page .admin-team-access-grid { grid-template-columns: 1fr; }
  .settings-defaults { align-items: stretch; flex-direction: column; }
  .settings-defaults .admin-domain-card { grid-template-columns: 1fr; gap: 10px; }
  .settings-page .admin-site-setting { align-items: flex-start; gap: 12px; }
  .settings-page .admin-site-setting > button { max-width: 45%; }
}

.bs-global-search-bar { position: relative; isolation: isolate; gap: 8px; }
.bs-global-search-bar > :not(.bs-search-aura) { position: relative; z-index: 1; }
.bs-search-aura { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 220ms ease; }
.bs-search-aura::before { content: ''; position: absolute; inset: -100% -50%; background: linear-gradient(115deg,transparent 30%,#a88bff1f 42%,#5df0ef26 49%,#ffaace26 54%,transparent 65%); transform: translateX(-35%); }
.bs-global-search.is-ai .bs-search-aura { opacity: 1; }
.bs-global-search.is-ai .bs-global-search-bar { border-color: #cfb4ff; box-shadow: 0 0 0 1px #d2afff30, -6px 0 22px #9681ff35, 6px 0 22px #ff9ee02b, 0 0 32px #6cebe719; }
.bs-global-search.is-ai .bs-search-aura::before { animation: bs-search-radiate 5s ease-in-out infinite; }
.bs-search-aura i { position: absolute; left: var(--x); top: var(--y); width: 3px; height: 3px; border-radius: 50%; background: var(--color); box-shadow: 0 0 7px 2px var(--color); opacity: .5; }
.bs-search-aura i:nth-child(1) { --x: 9%; --y: 19%; --color: #bc9dff; --delay: 0s; }
.bs-search-aura i:nth-child(2) { --x: 27%; --y: 79%; --color: #70ffdd; --delay: -.8s; }
.bs-search-aura i:nth-child(3) { --x: 44%; --y: 15%; --color: #ffcd73; --delay: -1.6s; }
.bs-search-aura i:nth-child(4) { --x: 61%; --y: 83%; --color: #ff94d6; --delay: -2.4s; }
.bs-search-aura i:nth-child(5) { --x: 76%; --y: 18%; --color: #91d6ff; --delay: -3.2s; }
.bs-search-aura i:nth-child(6) { --x: 93%; --y: 78%; --color: #b9ff84; --delay: -4s; }
.bs-global-search.is-ai .bs-search-aura i { animation: bs-search-sparkle 4.8s var(--delay) ease-in-out infinite; }
.bs-global-search-bar .bs-global-search-voice { padding: 4px; width: 27px; }
.bs-global-search-bar .bs-global-search-voice[aria-pressed='true'] { background: color-mix(in srgb,var(--bs-orange) 32%,transparent); }
.bs-global-search-bar .bs-global-search-send { width: 29px; padding: 4px; background: var(--bs-orange); color: var(--bs-accent-ink,#17100b); border-radius: 6px; }
.bs-global-search-bar .bs-global-search-send:hover { background: color-mix(in srgb,var(--bs-orange) 85%,white); }
.bs-global-search-bar .bs-global-search-send:disabled { background: color-mix(in srgb,currentColor 9%,transparent); color: inherit; opacity: .45; }
.bs-global-search.is-ai .bs-global-search-ask { background: #cdb7ff1c; }
.bs-global-search-bar button:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.bs-search-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bs-search-voice-message { position: absolute; inset: calc(100% + 10px) 0 auto; padding: 12px 15px; margin: 0; border: 1px solid var(--bs-border); border-radius: 10px; color: var(--bs-text); background: var(--bs-surface); font-size: 12px; box-shadow: 0 8px 28px #0003; z-index: 111; }
@keyframes bs-search-radiate { 0%,100% { transform: translateX(-35%); opacity: .4; } 50% { transform: translateX(35%); opacity: 1; } }
@keyframes bs-search-sparkle { 0%,100% { opacity: .15; transform: translateX(-8px) scale(.6); } 45% { opacity: .85; transform: translateX(8px) scale(1); } 70% { opacity: .3; transform: translateX(16px) scale(.6); } }
@media (max-width: 620px) {
  .bs-global-search-bar { gap: 4px; }
  .bs-global-search-bar .bs-global-search-ask { padding-inline: 5px; }
  .bs-global-search-bar .bs-global-search-voice { width: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .bs-global-search.is-ai .bs-search-aura::before,.bs-global-search.is-ai .bs-search-aura i { animation: none; }
  .bs-global-search.is-ai .bs-search-aura::before { transform: none; }
  .bs-global-search-bar,.bs-search-aura { transition: none; }
}

.bs-search-cluster { display: flex; align-items: center; gap: 10px; min-width: 0; width: 100%; }
.bs-search-cluster > .bs-global-search { flex: 1; min-width: 0; }
.bs-recent-pages { position: relative; flex: none; }
.bs-recent-pages-panel { position: absolute; top: calc(100% + 14px); left: 0; width: 320px; max-height: min(540px,calc(100dvh - 80px)); overflow: auto; padding: 8px; border: 1px solid var(--bs-border); border-radius: var(--bs-radius,12px); background: var(--bs-surface); color: var(--bs-surface-text,var(--bs-text)); box-shadow: 0 20px 50px #0005; }
.bs-recent-pages-heading { display: grid; gap: 4px; padding: 12px; border-bottom: 1px solid var(--bs-border-quiet); }
.bs-recent-pages-heading strong { font-size: 14px; }
.bs-recent-pages-heading > span,.bs-recent-pages-panel > p { font-size: 11px; color: var(--bs-surface-muted,var(--bs-muted)); }
.bs-recent-pages-panel > p { padding: 12px; }
.bs-recent-pages-panel ul { list-style: none; margin: 5px 0 0; padding: 0; }
.bs-recent-pages-panel a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border-radius: var(--bs-radius,8px); text-decoration: none; color: inherit; }
.bs-recent-pages-panel a:hover { background: color-mix(in srgb,var(--bs-orange) 10%,transparent); }
.bs-recent-pages-panel a strong { display: block; font-size: 12px; font-weight: 500; }
.bs-recent-pages-panel a small { display: block; margin-top: 3px; font-size: 10px; color: var(--bs-surface-muted,var(--bs-muted)); }
.bs-shell-load-error { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: var(--bs-text); }
@media (max-width: 767px) {
  .bs-search-cluster { gap: 3px; }
  .bs-global-search-popover { top: calc(var(--bs-bar-height,56px) + 6px); max-height: calc(100dvh - var(--bs-bar-height,56px) - 18px); }
  .bs-recent-pages-panel { position: fixed; top: var(--bs-menu-top,calc(var(--bs-bar-height,56px) + 10px)); left: 10px; right: 10px; width: auto; }
}
@media (max-width: 600px) {
  .bald-shell.bs-topbar { height: 104px; }
  .bald-shell.bs-topbar .bald-bar { grid-template-rows: 36px 36px; height: 104px; min-height: 104px; padding: 10px 12px; gap: 10px; }
  .bs-topbar-leading { grid-column: 1; grid-row: 1; }
  .bs-topbar .bald-bar-account { grid-column: 3; grid-row: 1; }
  .bs-topbar-search { grid-column: 1 / -1; grid-row: 2; }
  .bs-search-cluster { gap: 8px; }
  .bs-topbar .account-menu { top: var(--bs-menu-top,calc(var(--bs-bar-height,104px) + 10px)); }
}
@media print { .bs-recent-pages { display: none; } }
