/* =========================================================================
   CEO COMMAND · ceo-wow.css — styles for the four signature components.
   Reads from corp-* tokens defined in kit.css.
   ========================================================================= */

/* shared head ============================================================ */
.ceo-orb .head, .ceo-doc .head, .ceo-cap .head, .ceo-bw .head { margin-bottom: 18px; }
.ceo-orb .head .lab, .ceo-doc .head .lab, .ceo-cap .head .lab, .ceo-bw .head .lab {
  font-family: var(--font-mono); font-size: 10px; color: var(--corp-accent);
  letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; margin-bottom: 6px;
}
.ceo-orb .head h3, .ceo-doc .head h3, .ceo-cap .head h3, .ceo-bw .head h3 {
  font-family: var(--font-serif, Georgia, serif); font-size: 26px; line-height: 1.18; letter-spacing: -0.012em;
  margin: 0 0 6px; color: var(--corp-fg); font-weight: 500;
}
.ceo-orb .head .sub, .ceo-doc .head .sub, .ceo-cap .head .sub, .ceo-bw .head .sub {
  font-size: 13px; line-height: 1.55; color: var(--corp-fg-2); max-width: 720px;
}

/* CompanyOrb ============================================================= */
.ceo-orb {
  background: var(--corp-paper); border: 1px solid var(--corp-line); border-radius: 14px;
  padding: 22px 24px; margin-bottom: 22px; position: relative; overflow: hidden;
}
.ceo-orb .body { display: grid; grid-template-columns: 360px 1fr; gap: 28px; align-items: center; }
.ceo-orb .orb-svg { width: 100%; height: auto; max-width: 360px; }
.ceo-orb .legend { display: grid; gap: 6px; }
.ceo-orb .legend .row {
  display: grid; grid-template-columns: 28px 110px 38px 1fr 16px; align-items: center;
  padding: 7px 8px; border-radius: 7px; cursor: pointer; transition: background 120ms ease;
  font-size: 12.5px;
  text-decoration: none;
  color: inherit;
}
.ceo-orb .legend .row:hover, .ceo-orb .legend .row.hi { background: var(--corp-accent-soft); }
.ceo-orb .legend .row .k { font-family: var(--font-mono); font-size: 10px; color: var(--corp-accent); font-weight: 700; letter-spacing: 0.08em; }
.ceo-orb .legend .row .lb { color: var(--corp-fg); font-weight: 500; }
.ceo-orb .legend .row .vl { font-family: var(--font-mono); font-size: 13px; color: var(--corp-fg); font-weight: 700; text-align: right; }
.ceo-orb .legend .row .sb { font-size: 11px; color: var(--corp-fg-3); margin-left: 12px; font-family: var(--font-mono); letter-spacing: 0.02em; }
.ceo-orb .legend .row .arr {
  font-family: var(--font-mono); font-size: 13px; color: var(--corp-fg-4);
  opacity: 0; transition: opacity 120ms ease, transform 120ms ease; transform: translateX(-2px);
  text-align: right;
}
.ceo-orb .legend .row:hover .arr, .ceo-orb .legend .row.hi .arr {
  opacity: 1; transform: translateX(0); color: var(--corp-accent);
}
.ceo-orb .axisband {
  margin-top: 16px; padding: 12px 16px; background: var(--corp-accent-soft);
  border: 1px solid var(--corp-accent-edge); border-radius: 10px;
  display: flex; gap: 14px; align-items: baseline; font-family: var(--font-mono); font-size: 12px;
  text-decoration: none;
  transition: background 120ms ease, border-color 120ms ease;
}
.ceo-orb .axisband:hover {
  background: rgba(17,122,77,0.14);
  border-color: var(--corp-accent);
}
.ceo-orb .axisband .lab { color: var(--corp-accent); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; font-size: 10px; }
.ceo-orb .axisband .big { color: var(--corp-fg); font-size: 18px; font-weight: 700; }
.ceo-orb .axisband .ds { color: var(--corp-fg-2); flex: 1; }
.ceo-orb .axisband .open {
  color: var(--corp-accent); font-weight: 700; font-size: 11px; letter-spacing: 0.04em;
  white-space: nowrap;
}
.ceo-orb .axisband-hint {
  margin-top: 16px; padding: 10px 16px;
  background: var(--corp-paper-2);
  border: 1px dashed var(--corp-line-2);
  border-radius: 10px;
  display: flex; gap: 10px; align-items: center;
  font-family: var(--font-mono); font-size: 11px; color: var(--corp-fg-3);
  letter-spacing: 0.02em;
}
.ceo-orb .axisband-hint .hint-lab {
  color: var(--corp-amber);
  font-size: 14px;
  font-weight: 700;
}

/* DoctrineWall =========================================================== */
.ceo-doc { background: var(--corp-paper); border: 1px solid var(--corp-line); border-radius: 14px; padding: 22px 24px; margin-bottom: 22px; }
.ceo-doc .grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; align-items: start; }
.ceo-doc .tile {
  position: relative; background: var(--corp-paper-2); border: 1px solid var(--corp-line);
  border-radius: 10px; padding: 18px 20px 16px; cursor: pointer; transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}
.ceo-doc .tile:hover { border-color: var(--corp-accent-edge); background: var(--corp-paper); box-shadow: 0 4px 12px -8px rgba(17,122,77,0.30); }
.ceo-doc .tile.open { border-color: var(--corp-accent); background: var(--corp-paper); box-shadow: 0 6px 20px -10px rgba(17,122,77,0.35); }
.ceo-doc .tile .num {
  font-family: var(--font-serif, Georgia, serif); font-size: 28px; color: var(--corp-accent);
  position: absolute; top: 14px; right: 18px; font-style: italic; opacity: 0.6; font-weight: 500;
}
.ceo-doc .tile .title { font-family: var(--font-serif, Georgia, serif); font-size: 19px; line-height: 1.22; color: var(--corp-fg); margin-bottom: 6px; padding-right: 38px; font-weight: 500; }
.ceo-doc .tile .short { font-size: 12.5px; line-height: 1.5; color: var(--corp-fg-2); }
.ceo-doc .tile .open-ind { margin-top: 10px; font-family: var(--font-mono); font-size: 9px; color: var(--corp-accent); letter-spacing: 0.10em; text-transform: uppercase; font-weight: 700; }
.ceo-doc .tile .long { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--corp-line); font-size: 13px; line-height: 1.6; color: var(--corp-fg); }
.ceo-doc .tile .long p { margin: 0 0 10px; }
.ceo-doc .tile .long .surface { font-size: 11.5px; color: var(--corp-fg-3); margin-top: 10px; padding-top: 10px; border-top: 1px dotted var(--corp-line); }

/* CapitalLadder ========================================================== */
.ceo-cap { background: var(--corp-paper); border: 1px solid var(--corp-line); border-radius: 14px; padding: 22px 24px; margin-bottom: 22px; }
.ceo-cap .rungs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.ceo-cap .rung {
  padding: 14px 16px; border: 1px solid var(--corp-line); border-radius: 10px;
  background: var(--corp-paper-2); cursor: pointer; position: relative;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}
.ceo-cap .rung:hover { border-color: var(--corp-line-3); transform: translateY(-1px); }
.ceo-cap .rung.sel { border-color: var(--corp-accent); background: var(--corp-paper); box-shadow: 0 4px 14px -8px rgba(17,122,77,0.30); }
.ceo-cap .rung.active::before {
  content: "▶ now"; position: absolute; top: -10px; left: 12px;
  font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.10em; text-transform: uppercase;
  background: var(--corp-accent); color: #fff; padding: 2px 7px; border-radius: 999px; font-weight: 700;
}
.ceo-cap .rung .lab { font-family: var(--font-serif, Georgia, serif); font-size: 17px; color: var(--corp-fg); font-weight: 500; }
.ceo-cap .rung .cap { font-family: var(--font-mono); font-size: 12px; color: var(--corp-accent); margin-top: 4px; font-weight: 600; }
.ceo-cap .rung .rw  { font-family: var(--font-mono); font-size: 10px; color: var(--corp-fg-3); margin-top: 4px; letter-spacing: 0.02em; }
.ceo-cap .rung .hc  { font-family: var(--font-mono); font-size: 11px; color: var(--corp-fg-2); margin-top: 8px; }
.ceo-cap .rung .hc b { color: var(--corp-fg); }
.ceo-cap .rung .hc span { color: var(--corp-fg-4); }
.ceo-cap .rung .bar { height: 4px; background: var(--corp-bg-2); border-radius: 999px; overflow: hidden; margin-top: 8px; }
.ceo-cap .rung .bar .fill { height: 100%; background: var(--corp-accent); transition: width 220ms ease; }
.ceo-cap .detail { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-top: 16px; border-top: 1px dashed var(--corp-line); }
.ceo-cap .detail .col .lab { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; margin-bottom: 10px; }
.ceo-cap .detail .col .lab.green { color: var(--corp-accent); }
.ceo-cap .detail .col .lab.amber { color: var(--corp-amber); }
.ceo-cap .detail .col .lab.amber b, .ceo-cap .detail .col .lab.green b { font-weight: 700; }
.ceo-cap .detail .list { margin: 0; padding-left: 18px; }
.ceo-cap .detail .list li { font-size: 13px; line-height: 1.6; color: var(--corp-fg); padding: 3px 0; }
.ceo-cap .detail .empty { font-size: 13px; color: var(--corp-fg-3); font-style: italic; padding: 8px 0; }

/* BandwidthGauge ========================================================= */
.ceo-bw { background: var(--corp-paper); border: 1px solid var(--corp-line); border-radius: 14px; padding: 22px 24px; margin-bottom: 22px; }
.ceo-bw .rows { display: grid; gap: 16px; }
.ceo-bw .row { display: grid; grid-template-columns: 220px 1fr 240px; gap: 18px; padding: 14px 0; border-bottom: 1px dashed var(--corp-line); align-items: center; }
.ceo-bw .row:last-child { border-bottom: 0; }
.ceo-bw .row .who { display: flex; align-items: center; gap: 12px; }
.ceo-bw .row .who .av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-family: var(--font-mono); font-size: 11px; font-weight: 700; }
.ceo-bw .row .who .nm { font-size: 14px; font-weight: 600; color: var(--corp-fg); }
.ceo-bw .row .who .ro { font-family: var(--font-mono); font-size: 10px; color: var(--corp-fg-3); margin-top: 2px; letter-spacing: 0.04em; }
.ceo-bw .row .bar-wrap .bar {
  height: 26px; background: var(--corp-bg-2); border: 1px solid var(--corp-line);
  border-radius: 6px; position: relative; overflow: hidden;
}
.ceo-bw .row .bar-wrap .bar .fill { height: 100%; transition: width 320ms ease; box-shadow: inset 0 -1px 0 rgba(0,0,0,0.10); }
.ceo-bw .row .bar-wrap .bar.hot { box-shadow: 0 0 0 1px rgba(178,58,46,0.35) inset; }
.ceo-bw .row .bar-wrap .bar .cap-mark {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,0.85); letter-spacing: 0.06em;
}
.ceo-bw .row .bar-wrap .numbers { display: flex; justify-content: space-between; margin-top: 6px; font-family: var(--font-mono); font-size: 10.5px; color: var(--corp-fg-2); }
.ceo-bw .row .bar-wrap .numbers b { color: var(--corp-fg); font-weight: 700; }
.ceo-bw .row .dom .lab { font-family: var(--font-mono); font-size: 9px; color: var(--corp-fg-3); letter-spacing: 0.10em; text-transform: uppercase; margin-bottom: 6px; font-weight: 700; }
.ceo-bw .row .dom .chips { display: flex; flex-wrap: wrap; gap: 4px; }
.ceo-bw .row .dom .chip {
  font-family: var(--font-mono); font-size: 9.5px; padding: 2px 7px;
  background: var(--corp-bg-2); border: 1px solid var(--corp-line); border-radius: 999px; color: var(--corp-fg-2); letter-spacing: 0.04em;
}
.ceo-bw .foot {
  margin-top: 18px; padding: 14px 16px; border-radius: 10px;
  background: var(--corp-amber-soft); border: 1px solid var(--corp-amber-edge);
  display: flex; justify-content: space-between; align-items: center; gap: 18px;
}
.ceo-bw .foot .line { font-size: 13px; color: var(--corp-fg); line-height: 1.5; flex: 1; }
.ceo-bw .foot .line b { color: var(--corp-amber); }
.ceo-bw .foot .cta {
  font-family: var(--font-mono); font-size: 11px; color: var(--corp-amber); font-weight: 700;
  letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase;
  border: 1px solid var(--corp-amber); padding: 8px 14px; border-radius: 999px; background: var(--corp-paper);
  flex-shrink: 0; white-space: nowrap;
}
.ceo-bw .foot .cta:hover { background: var(--corp-amber); color: #fff; }

/* media ================================================================== */
@media (max-width: 1280px) {
  .ceo-orb .body { grid-template-columns: 1fr; }
  .ceo-doc .grid { grid-template-columns: 1fr; }
  .ceo-cap .rungs { grid-template-columns: 1fr 1fr; }
  .ceo-cap .detail { grid-template-columns: 1fr; }
  .ceo-bw .row { grid-template-columns: 1fr; gap: 14px; }
}
