:root {
      color-scheme: light;
      --bg: #f4f5f7;
      --surface: #ffffff;
      --surface-2: #f9fafb;
      --ink: #17202a;
      --muted: #64707d;
      --line: #d8dde3;
      --strong: #0b5f56;
      --strong-2: #124d7a;
      --warn: #a86612;
      --bad: #b42318;
      --ok: #16784f;
      --control-height: 36px;
      --control-height-compact: 32px;
      --control-radius: 6px;
      --control-pad-x: 12px;
      --control-font-size: 13px;
      --control-min-width: 84px;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--ink);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      letter-spacing: 0;
    }
    body.auth-validating #auth,
    body.auth-validating #app {
      visibility: hidden;
    }
    button, input, select, textarea {
      font: inherit;
    }
    button,
    .button-link {
      min-height: var(--control-height);
      border: 1px solid var(--line);
      border-radius: var(--control-radius);
      background: var(--surface);
      color: var(--ink);
      cursor: pointer;
      font-weight: 650;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 7px var(--control-pad-x);
      min-width: var(--control-min-width);
      font-size: var(--control-font-size);
      line-height: 1.1;
      text-align: center;
      white-space: nowrap;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
    }
    button:hover,
    .button-link:hover {
      border-color: #afbac5;
      box-shadow: 0 2px 7px rgba(16, 24, 32, .08);
    }
    button:active,
    .button-link:active {
      transform: translateY(1px);
    }
    button.primary {
      border-color: var(--strong);
      background: var(--strong);
      color: white;
    }
    .button-link.primary {
      border-color: var(--strong);
      background: var(--strong);
      color: white;
    }
    button.secondary,
    .button-link.secondary {
      border-color: var(--line);
      background: var(--surface);
      color: var(--ink);
    }
    button.warn {
      border-color: #d49a45;
      background: #fff5df;
      color: #754807;
    }
    .button-link.warn {
      border-color: #d49a45;
      background: #fff5df;
      color: #754807;
    }
    button.danger {
      border-color: #d9aaa5;
      background: #fff1ef;
      color: var(--bad);
    }
    .button-link.danger {
      border-color: #d9aaa5;
      background: #fff1ef;
      color: var(--bad);
    }
    button:focus-visible,
    .button-link:focus-visible {
      outline: 3px solid rgba(11, 95, 86, .22);
      outline-offset: 2px;
    }
    .button-link {
      text-decoration: none;
    }
    .action-button,
    .action-link {
      min-width: 92px;
    }
    .action-button.compact,
    .action-link.compact {
      min-height: var(--control-height-compact);
      min-width: 72px;
      padding: 6px 9px;
      font-size: 12px;
    }
    .action-button.full,
    .action-link.full {
      width: 100%;
    }
    .action-row {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }
    .action-row .action-button,
    .action-row .action-link {
      min-width: 72px;
    }
    .evidence-details {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--surface);
      margin-top: 10px;
      overflow: hidden;
    }
    .evidence-details summary {
      min-height: 40px;
      padding: 9px 12px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(120px, auto);
      gap: 10px;
      align-items: center;
      cursor: pointer;
      list-style: none;
      background: #fbfcfd;
    }
    .evidence-details summary::-webkit-details-marker {
      display: none;
    }
    .evidence-details summary span,
    .evidence-details summary strong,
    .evidence-details summary em {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .evidence-details summary span {
      font-weight: 850;
    }
    .evidence-details summary strong {
      color: var(--strong);
      font-size: 12px;
    }
    .evidence-details summary em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      text-align: right;
    }
    .evidence-details-body {
      padding: 10px;
      border-top: 1px solid var(--line);
      background: #fff;
    }
    .action-button.ghost,
    .action-link.ghost {
      background: transparent;
    }
    .action-button.danger,
    .action-link.danger {
      border-color: #d9aaa5;
      background: #fff1ef;
      color: var(--bad);
    }
    .action-button.is-busy {
      position: relative;
      pointer-events: none;
      opacity: .74;
    }
    .action-button.is-busy::after {
      content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      margin-left: 7px;
      border: 2px solid currentColor;
      border-right-color: transparent;
      border-radius: 50%;
      animation: spin .7s linear infinite;
      vertical-align: -1px;
    }
    .action-button.is-complete {
      border-color: #b9dcc8;
      background: #f0f8f3;
      color: #17613a;
    }
    .action-button.is-complete::after {
      content: "✓";
      margin-left: 6px;
      font-weight: 900;
    }
    button:disabled {
      cursor: not-allowed;
      opacity: .55;
    }
    a { color: var(--strong-2); text-decoration: none; font-weight: 700; }
    .app {
      min-height: 100vh;
      display: grid;
      grid-template-columns: 250px minmax(0, 1fr);
    }
    .sidebar {
      position: sticky;
      top: 0;
      height: 100vh;
      overflow: auto;
      border-right: 1px solid var(--line);
      background: #101820;
      color: white;
      padding: 18px 14px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 8px 18px;
      border-bottom: 1px solid rgba(255,255,255,.14);
      font-weight: 850;
    }
    .mark {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 6px;
      background: #f2f4f6;
      color: #101820;
    }
    .nav {
      display: grid;
      gap: 5px;
      margin-top: 16px;
    }
    .nav button {
      width: 100%;
      justify-content: flex-start;
      text-align: left;
      padding: 10px 11px;
      border-color: transparent;
      background: transparent;
      color: #c8d0d8;
    }
    .nav button.active,
    .nav button:hover {
      background: rgba(255,255,255,.1);
      color: white;
    }
    .side-note {
      margin: 18px 8px 0;
      color: #aeb8c2;
      font-size: 12px;
      line-height: 1.55;
    }
    .main {
      min-width: 0;
      padding: 22px;
    }
    .topbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      margin-bottom: 18px;
    }
    .topbar h1 {
      margin: 0;
      font-size: 24px;
      line-height: 1.2;
    }
    .top-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
      min-width: 0;
    }
    .session-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      margin-left: auto;
      white-space: nowrap;
    }
    .quick-search {
      display: grid;
      grid-template-columns: minmax(180px, 280px) auto;
      gap: 6px;
      align-items: center;
    }
    .quick-search input[type="text"] { font-size: 14px; padding: 8px 12px; }
    .quick-search input[type="text"]::placeholder { color: var(--muted); }
    .statusline {
      color: var(--muted);
      font-size: 13px;
    }
    .action-notice {
      display: none;
      align-items: start;
      justify-content: space-between;
      gap: 12px;
      margin: 0 0 12px;
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f7fbfb;
      padding: 10px 12px;
      color: #23323d;
      font-size: 13px;
      box-shadow: 0 10px 24px rgba(16,24,32,.06);
    }
    .action-notice.active {
      display: flex;
    }
    .action-notice strong {
      display: block;
      margin-bottom: 2px;
      color: var(--strong);
      font-size: 13px;
    }
    .action-notice span {
      color: var(--muted);
    }
    .action-notice.error {
      border-color: #efb7b0;
      background: #fff6f4;
    }
    .notice-actions {
      margin-top: 6px;
    }
    .section {
      display: none;
      margin-bottom: 14px;
    }
    .section.active { display: block; }
    .u-stack-top {
      margin-top: 16px;
    }
    .u-stack-bottom {
      margin-bottom: 16px;
    }
    .u-stack-tight {
      margin-top: 10px;
    }
    .grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }
    .grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid.ops-grid { grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr); }
    .manage-subnav {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      padding: 7px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
    }
    .manage-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      line-height: 1.3;
      cursor: pointer;
    }
    .manage-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .manage-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-manage-subpane][hidden] {
      display: none !important;
    }
    .task-status-job {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      margin-top: 6px;
      padding: 6px 8px;
      border: 1px dashed var(--line);
      border-radius: 8px;
      background: #fbfcfd;
    }
    .task-status-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
    }
    .task-status-meta span {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 5px 7px;
      font-size: 12px;
      color: var(--muted);
    }
    .workflow-band {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px 12px;
      margin-bottom: 14px;
    }
    .workflow-band h2 {
      margin: 0;
      font-size: 14px;
    }
    .workflow-band p {
      margin: 3px 0 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .workflow-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 10px;
    }
    .workflow-rail {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 8px;
    }
    .workflow-step {
      border: 1px solid #dce2e7;
      border-radius: 8px;
      background: white;
      padding: 10px;
      min-width: 0;
      min-height: auto;
      text-align: left;
      display: grid;
      align-content: start;
      justify-items: start;
      gap: 4px;
      font-size: 12px;
      color: var(--ink);
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .workflow-step.active {
      border-color: #9ccfd0;
      background: #f0f8f7;
    }
    .workflow-step.ready { border-color: #cfe8dc; background: #f3faf7; }
    .workflow-step.needs_action { border-color: #f1dfba; background: #fffaf0; }
    .workflow-step.blocked { border-color: #e8c4c0; background: #fff6f4; }
    .workflow-step span {
      color: var(--muted);
      font-size: 10px;
      font-weight: 850;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .workflow-step b {
      font-size: 12px;
      line-height: 1.35;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .workflow-step strong {
      font-size: 18px;
      line-height: 1;
    }
    .flow-board {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }
    .flow-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 12px;
      min-width: 0;
      display: grid;
      gap: 9px;
    }
    .flow-card header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .flow-card b { font-size: 13px; }
    .flow-card strong {
      font-size: 18px;
      line-height: 1;
    }
    .flow-card button { width: 100%; }
    .deal-flow {
      display: grid;
      grid-template-columns: repeat(7, minmax(120px, 1fr));
      gap: 8px;
      margin-bottom: 12px;
    }
    .deal-stage {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 10px;
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .deal-stage.ready { border-color: #cfe8dc; background: #f3faf7; }
    .deal-stage.needs_action { border-color: #f1dfba; background: #fffaf0; }
    .deal-stage.blocked { border-color: #e8c4c0; background: #fff6f4; }
    .deal-stage .step {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .deal-stage b {
      font-size: 13px;
      overflow-wrap: anywhere;
    }
    .deal-stage strong {
      font-size: 16px;
      line-height: 1;
    }
    .deal-stage button { width: 100%; }
    .mission-control {
      display: grid;
      grid-template-columns: minmax(360px, 1fr) minmax(280px, .72fr);
      gap: 12px;
      margin-bottom: 12px;
      align-items: stretch;
    }
    .mission-primary,
    .mission-side {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #ffffff;
      padding: 14px;
      min-width: 0;
    }
    .mission-primary {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 112px;
      gap: 12px;
      align-items: start;
      border-color: #c9dfe0;
      background: #f7fbfb;
    }
    .mission-copy {
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .mission-copy h2 {
      margin: 0;
      font-size: 18px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .mission-copy p {
      margin: 0;
      color: var(--muted);
      line-height: 1.45;
      font-size: 13px;
    }
    .mission-score {
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      color: var(--strong);
      text-align: center;
      padding: 10px 8px;
      font-weight: 850;
    }
    .mission-score strong {
      display: block;
      font-size: 24px;
      line-height: 1;
    }
    .mission-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 4px;
    }
    .mission-actions button,
    .mission-actions .button-link {
      width: auto;
      min-width: 104px;
      padding-left: 11px;
      padding-right: 11px;
    }
    .capital-market-board {
      border: 1px solid #cfdbe1;
      border-radius: 8px;
      background: #ffffff;
      padding: 14px;
      margin-bottom: 12px;
      display: grid;
      gap: 12px;
    }
    .capital-market-board-head,
    .capital-market-board-foot {
      display: flex;
      justify-content: space-between;
      gap: 14px;
      align-items: start;
    }
    .capital-market-board-head h2 {
      margin: 6px 0 4px;
      font-size: 20px;
      line-height: 1.2;
    }
    .capital-market-board-head p,
    .capital-market-board-foot span {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .capital-market-board-actions {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .capital-market-board-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .capital-market-board-metric {
      border: 1px solid #d8e1e6;
      border-radius: 8px;
      background: #f8fbfc;
      padding: 10px;
      display: grid;
      gap: 4px;
      min-width: 0;
    }
    .capital-market-board-metric span,
    .capital-market-board-metric small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .capital-market-board-metric strong {
      font-size: 22px;
      line-height: 1;
      color: var(--strong-2);
    }
    .capital-market-filter-label {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      border: 1px solid #d8e1e6;
      border-radius: 8px;
      background: #f8fbfc;
      padding: 8px 10px;
      color: var(--muted);
      font-size: 12px;
    }
    .capital-market-filter-label strong {
      color: var(--ink);
      font-size: 12px;
      overflow-wrap: anywhere;
    }
    .capital-market-candidates {
      display: grid;
      grid-template-columns: repeat(4, minmax(190px, 1fr));
      gap: 8px;
      width: 100%;
    }
    .explore-shell {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 14px;
      margin-bottom: 12px;
    }
    .explore-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 14px;
    }
    .explore-head h2 {
      margin: 6px 0 4px;
      font-size: 18px;
      line-height: 1.28;
    }
    .explore-head p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .explore-tabs {
      display: inline-flex;
      gap: 6px;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--surface-2);
      flex-shrink: 0;
    }
    .explore-tab {
      min-height: 32px;
      border-color: transparent;
      background: transparent;
      min-width: 150px;
    }
    .explore-tab.active {
      border-color: #b8c8d0;
      background: #fff;
      color: var(--strong-2);
      box-shadow: 0 1px 4px rgba(16, 24, 32, .06);
    }
    .mission-side {
      display: grid;
      gap: 10px;
    }
    .mission-snapshot {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }
    .mission-kpi {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 8px;
      min-width: 0;
    }
    .mission-kpi span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .mission-kpi strong {
      display: block;
      margin-top: 2px;
      font-size: 19px;
      line-height: 1;
    }
    .mission-lane {
      display: grid;
      gap: 6px;
    }
    .mission-lane-button {
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      text-align: left;
      padding: 8px;
      background: #fbfcfd;
    }
    .mission-lane b,
    .mission-lane span {
      overflow-wrap: anywhere;
    }
    .priority-strip {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .priority-strip button {
      background: #fff;
      padding: 7px 10px;
    }
    .selected-dock {
      display: none;
      align-items: stretch;
      justify-content: space-between;
      gap: 10px;
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      padding: 10px 11px;
      margin-bottom: 12px;
      font-size: 13px;
    }
    .selected-dock.active { display: flex; }
    .selected-dock strong { overflow-wrap: anywhere; }
    .selected-context {
      display: grid;
      gap: 6px;
      min-width: 0;
    }
    .selected-meta {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }
    .search-results {
      display: none;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      margin-bottom: 14px;
      padding: 12px;
    }
    .search-results.active { display: block; }
    .search-result-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-top: 10px;
    }
    .search-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 12px;
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .search-card header {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: flex-start;
    }
    .search-card b { overflow-wrap: anywhere; }
    .card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--surface);
      padding: 15px;
      min-width: 0;
    }
    .card h2, .card h3 {
      margin: 0 0 12px;
      font-size: 16px;
    }
    .section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 12px;
    }
    .section-head h2 { margin: 0; }
    .section-head .muted { font-size: 12px; }
    .metric {
      display: grid;
      gap: 7px;
    }
    .metric b {
      font-size: 20px;
      line-height: 1;
    }
    .metric span {
      color: var(--muted);
      font-size: 13px;
    }
    .toolbar {
      display: flex;
      align-items: end;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .field {
      display: grid;
      gap: 5px;
      min-width: 120px;
    }
    .field.grow { flex: 1 1 220px; }
    .auth-submit { margin-top: 14px; }
    label {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    input, select, textarea {
      width: 100%;
      min-height: 34px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: white;
      color: var(--ink);
      padding: 7px 9px;
      font-size: 14px;
    }
    .toolbar button,
    .toolbar .button-link {
      min-width: 96px;
    }
    .compact-copy {
      max-width: 760px;
      margin: -4px 0 12px;
      line-height: 1.5;
    }
    .tracking-rule-toolbar {
      align-items: end;
      padding: 10px;
      border: 1px solid #e4ecef;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .tracking-rule-toolbar .field {
      flex: 1 1 170px;
    }
    .tracking-rule-toolbar button {
      flex: 0 0 auto;
    }
    textarea {
      min-height: 84px;
      resize: vertical;
    }
    table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }
    th, td {
      padding: 9px 8px;
      border-bottom: 1px solid var(--line);
      vertical-align: top;
      text-align: left;
    }
    th {
      color: var(--muted);
      background: var(--surface-2);
      font-size: 12px;
      font-weight: 800;
    }
    td.actions {
      white-space: nowrap;
      width: 1%;
    }
    .table-wrap {
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
    }
    .table-wrap table th:first-child,
    .table-wrap table td:first-child {
      padding-left: 12px;
    }
    .table-wrap table th:last-child,
    .table-wrap table td:last-child {
      padding-right: 12px;
    }
    .mini-table-wrap {
      overflow-x: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
    }
    .mini-table-wrap h3 {
      margin: 0;
      padding: 10px 12px;
      border-bottom: 1px solid var(--line);
      font-size: 13px;
    }
    .mini-table th,
    .mini-table td {
      white-space: nowrap;
      font-size: 12px;
    }
    .pill {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 0 8px;
      border-radius: 999px;
      background: #edf1f3;
      color: #33414d;
      font-size: 12px;
      font-weight: 750;
    }
    .pill.ok { background: #e7f5ed; color: var(--ok); }
    .pill.warn { background: #fff3d9; color: var(--warn); }
    .pill.bad { background: #ffebe8; color: var(--bad); }
    .check-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .check-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 11px;
      min-width: 0;
    }
    .check-card.ok { border-color: #cfe8dc; background: #f3faf7; }
    .check-card.warn { border-color: #f1dfba; background: #fffaf0; }
    .check-card.bad { border-color: #e8c4c0; background: #fff6f4; }
    .check-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }
    .check-top b { font-size: 13px; }
    .check-detail {
      display: grid;
      gap: 5px;
      color: #3c4752;
      font-size: 12px;
      line-height: 1.45;
    }
    .check-detail div {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      border-top: 1px solid #edf0f2;
      padding-top: 5px;
    }
    .check-detail span:first-child { color: var(--muted); }
    .flow {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 12px;
    }
    .flow-step {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-height: 58px;
    }
    .flow-step b { display: block; font-size: 13px; }
    .selected-banner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 12px;
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      padding: 10px 12px;
      font-size: 13px;
    }
    .stack-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
      margin-top: 8px;
    }
    .stack-actions > button,
    .stack-actions > .button-link {
      flex: 0 1 auto;
    }
    .panel-row {
      display: grid;
      grid-template-columns: 160px minmax(0, 1fr);
      gap: 10px;
      padding: 8px 0;
      border-bottom: 1px solid var(--line);
      font-size: 13px;
    }
    .panel-row:last-child { border-bottom: 0; }
    .panel-row span:first-child { color: var(--muted); }
    .list {
      display: grid;
      gap: 8px;
    }
    .capital-event-list {
      display: grid;
      gap: 12px;
    }
    .capital-screener-shell {
      display: grid;
      grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
      gap: 14px;
      align-items: start;
    }
    .capital-screener-shell[hidden] { display: none; }
    .capital-filter-panel {
      position: sticky;
      top: 74px;
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-filter-title {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: start;
      padding-bottom: 8px;
      border-bottom: 1px solid var(--line);
    }
    .capital-filter-title h2,
    .capital-results-head h2 {
      margin: 0;
      font-size: 18px;
      line-height: 1.25;
    }
    .capital-filter-title strong {
      white-space: nowrap;
      color: var(--strong);
      font-size: 16px;
    }
    .capital-screener-shell.filters-collapsed .capital-filter-panel { display: none; }
    @media (min-width: 981px) {
      .capital-screener-shell.filters-collapsed { grid-template-columns: minmax(0, 1fr); }
    }
    .capital-filter-presets {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px;
      margin: 10px 0;
    }
    .capital-preset {
      min-height: 34px;
      border: 1px solid var(--line);
      border-radius: 7px;
      background: #fff;
      color: var(--muted);
      cursor: pointer;
      font-size: 12px;
      font-weight: 800;
    }
    .capital-preset.active {
      border-color: #111827;
      background: #111827;
      color: #fff;
    }
    .capital-filter-group {
      display: grid;
      gap: 8px;
      padding-top: 10px;
      border-top: 1px solid var(--line);
    }
    .capital-filter-presets + .capital-filter-group {
      border-top: 0;
      padding-top: 0;
    }
    .capital-filter-group-title {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .capital-urgency-pills,
    .capital-filter-actions,
    .capital-active-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .capital-urgency-pills button,
    .capital-active-filters span {
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #fff;
      color: var(--ink);
      font-size: 12px;
      font-weight: 800;
    }
    .capital-urgency-pills button {
      min-height: 32px;
      padding: 6px 10px;
      cursor: pointer;
    }
    .capital-urgency-pills button.active {
      border-color: #ef4444;
      background: #fff1f2;
      color: #991b1b;
    }
    .capital-active-filters span {
      padding: 5px 9px;
      background: #f8fafc;
      overflow-wrap: anywhere;
    }
    .capital-filter-chip,
    .capital-drilldown-banner {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .capital-drilldown-banner {
      border-color: #2563eb !important;
      background: #eff6ff !important;
      color: #1d4ed8 !important;
    }
    .capital-active-filters .chip-x {
      border: 0;
      background: transparent;
      cursor: pointer;
      font-size: 14px;
      line-height: 1;
      padding: 0 2px;
      color: inherit;
      opacity: 0.65;
    }
    .capital-active-filters .chip-x:hover { opacity: 1; }
    .capital-active-empty { color: var(--muted); font-weight: 600 !important; }
    .capital-results-head-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
    }
    .capital-advanced-filters {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0 10px;
      margin-bottom: 10px;
      background: #fcfdfe;
    }
    .capital-advanced-filters > summary {
      cursor: pointer;
      padding: 10px 2px;
      font-weight: 800;
      font-size: 12px;
      color: var(--ink);
      list-style-position: inside;
    }
    .capital-advanced-filters[open] > summary {
      border-bottom: 1px solid var(--line);
      margin-bottom: 8px;
    }
    .capital-date-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }
    .capital-filter-actions > button,
    .capital-filter-panel .wide {
      flex: 1 1 90px;
    }
    .capital-results-panel {
      display: grid;
      gap: 12px;
      min-width: 0;
    }
    .capital-results-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: start;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-results-head p {
      margin: 4px 0 0;
      font-size: 13px;
      line-height: 1.4;
    }
    .capital-workspace-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }
    .capital-workspace-grid.detail-open {
      grid-template-columns: minmax(0, 1fr) minmax(340px, 42%);
    }
    .capital-detail-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-detail-nav .action-button.disabled {
      opacity: 0.4;
      pointer-events: none;
    }
    .capital-detail-nav-pos {
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
      white-space: nowrap;
    }
    .capital-event-table tr.detail-active > td {
      background: #eef4ff;
    }
    .capital-event-table tr.detail-active > td:first-child {
      box-shadow: inset 3px 0 0 #2f6fed;
    }
    .capital-workspace-grid > div {
      min-width: 0;
    }
    .capital-table-wrap {
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
    }
    .pager {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-top: 12px;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .pager-info {
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
    }
    .pager-actions {
      display: flex;
      gap: 8px;
    }
    .company-loading-notice {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 16px;
      margin-bottom: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfdfd;
    }
    .company-loading-notice[hidden] { display: none; }
    .company-loading-notice > div {
      display: grid;
      gap: 2px;
    }
    .company-loading-notice strong { font-size: 13px; }
    .company-loading-notice span:not(.spinner) {
      font-size: 12px;
      color: var(--muted);
    }
    .capital-collection-status {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px 16px;
      padding: 10px 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      font-size: 12px;
      color: var(--muted);
    }
    .capital-collection-status .ccs-item strong {
      color: var(--ink);
      font-weight: 700;
      margin-left: 4px;
    }
    .capital-collection-status .action-button {
      margin-left: auto;
    }
    .capital-task-status {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      margin: 10px 0;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
    }
    .capital-task-status strong {
      display: block;
      font-size: 13px;
    }
    .capital-task-status span {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 12px;
      overflow-wrap: anywhere;
    }
    .capital-task-result-list {
      display: grid;
      gap: 4px;
      margin: 8px 0 0;
      padding: 0;
      list-style: none;
    }
    .capital-task-result-list li {
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr);
      align-items: start;
      gap: 8px;
      padding-top: 4px;
      border-top: 1px solid rgba(15, 23, 42, 0.08);
    }
    .capital-task-result-list li:first-child {
      border-top: 0;
      padding-top: 0;
    }
    .capital-task-result-list li span {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .capital-task-result-list li strong {
      font-size: 12px;
      font-weight: 700;
      line-height: 1.45;
    }
    .capital-task-result-list li.done strong {
      color: #166534;
    }
    .capital-task-result-list li.neutral strong {
      color: #475569;
    }
    .capital-task-status.pending {
      border-color: #d9c886;
      background: #fffbea;
    }
    .capital-task-status.done {
      border-color: #b9dcc8;
      background: #f0f8f3;
    }
    .capital-task-status.error {
      border-color: #efb7b0;
      background: #fff6f4;
    }
    .capital-explore-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin: 10px 0 12px;
    }
    .capital-explore-card {
      border: 1px solid #d7e0e5;
      border-radius: 8px;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 10px;
      min-width: 0;
    }
    .capital-explore-card.compact {
      gap: 8px;
      padding: 10px;
      background: #fbfcfd;
    }
    .capital-explore-card-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: start;
    }
    .capital-explore-name {
      min-height: 0;
      min-width: 0;
      padding: 0;
      border: 0;
      background: transparent;
      color: var(--ink);
      justify-content: flex-start;
      font-size: 15px;
      font-weight: 850;
      text-align: left;
      white-space: normal;
    }
    .capital-explore-main {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .capital-explore-main > div {
      border: 1px solid #e2e7eb;
      border-radius: 7px;
      background: #f9fafb;
      padding: 8px;
      min-width: 0;
    }
    .capital-explore-main span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 3px;
    }
    .capital-explore-main strong {
      display: block;
      font-size: 13px;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .capital-explore-tags,
    .capital-explore-card-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
    }
    .capital-explore-tags span {
      border: 1px solid #d8dde3;
      border-radius: 999px;
      background: #f6f8fa;
      padding: 4px 8px;
      color: #425160;
      font-size: 12px;
      font-weight: 700;
    }
    .capital-explore-empty {
      border: 1px dashed #cfd8df;
      border-radius: 8px;
      background: #fafbfc;
      color: var(--muted);
      padding: 14px;
      font-size: 13px;
      line-height: 1.45;
    }
    .capital-event-table {
      min-width: 980px;
    }
    .capital-event-table th {
      border-top: 3px solid var(--bad);
      background: #fff6f6;
      color: var(--ink);
      text-align: center;
    }
    .capital-event-table td {
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .capital-event-table .numeric {
      text-align: right;
      white-space: nowrap;
    }
    .capital-event-table tr.capital-row-excluded td {
      background: #f8fafc;
      color: #64748b;
    }
    .capital-event-table tr.capital-row-excluded .link-button {
      color: #475569;
    }
    .capital-gap-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 106px;
      padding: 5px 8px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
      white-space: nowrap;
      border: 1px solid transparent;
    }
    .capital-gap-pill.above,
    .capital-gap-pill.itm {
      color: #047857;
      background: #ecfdf5;
      border-color: #a7f3d0;
    }
    /* Deal-sourcing convention: OTM = strong red (refinancing target), the
       opposite of MTS where a price rise is red. ITM stays green. */
    .capital-gap-pill.below,
    .capital-gap-pill.otm {
      color: #b91c1c;
      background: #fef2f2;
      border-color: #f87171;
      box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.25);
    }
    .capital-gap-pill.muted {
      color: var(--muted);
      background: #f7f7f2;
      border-color: var(--line);
    }
    /* ── 상세 패널 섹션 0 개요 / 섹션 2 시장 데이터 / 참고자료 accordion ── */
    .capital-overview-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 8px;
    }
    .capital-overview-cell {
      display: flex;
      flex-direction: column;
      gap: 2px;
      padding: 8px 10px;
      background: #f7f7f2;
      border: 1px solid var(--line);
      border-radius: 8px;
    }
    .capital-overview-cell span {
      font-size: 11px;
      color: var(--muted);
    }
    .capital-overview-cell strong {
      font-size: 13px;
      font-weight: 700;
    }
    .capital-market-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 10px;
    }
    .capital-market-card {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 12px 14px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 10px;
    }
    .capital-market-card span {
      font-size: 11px;
      color: var(--muted);
    }
    .capital-market-card strong {
      font-size: 18px;
      font-weight: 800;
    }
    .capital-market-card.gap strong {
      font-size: 13px;
    }
    .capital-fs-foot {
      margin: 8px 0 0;
      font-size: 11px;
    }
    .capital-reference-accordion {
      margin-top: 12px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: #fafaf7;
    }
    .capital-reference-accordion > summary {
      cursor: pointer;
      padding: 10px 14px;
      font-size: 12px;
      font-weight: 700;
      color: var(--muted);
      list-style: none;
    }
    .capital-reference-accordion > summary::-webkit-details-marker {
      display: none;
    }
    .capital-reference-accordion[open] > summary {
      border-bottom: 1px solid var(--line);
    }
    .capital-reference-body {
      padding: 8px 14px 14px;
    }
    /* EBITDA proxy marker + post-event integrity flags */
    .capital-proxy-mark {
      color: var(--muted);
      font-weight: 700;
      margin-left: 1px;
    }
    .capital-flag-badge {
      display: inline-block;
      margin-left: 6px;
      padding: 1px 6px;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      color: #b45309;
      background: #fffbeb;
      border: 1px solid #fde68a;
      vertical-align: middle;
      cursor: help;
    }
    .capital-post-event {
      display: grid;
      gap: 10px;
      border-color: #dbeafe;
      background: #f8fbff;
      color: var(--ink);
    }
    .capital-flag-list {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }
    .capital-round-summary {
      display: grid;
      gap: 4px;
      margin: 0;
      padding: 10px 12px;
      border: 1px solid #dbeafe;
      border-radius: 8px;
      background: #ffffff;
    }
    .capital-round-summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .capital-round-summary strong {
      color: #1d4ed8;
      font-size: 13px;
      line-height: 1.45;
      font-variant-numeric: tabular-nums;
    }
    /* 검색 결과가 필터에 가려진 경우 안내(검색어 존재 + 0건 + 필터 미적용 시 건수 존재) */
    .capital-filter-hidden-notice {
      display: flex;
      flex-direction: column;
      gap: 6px;
      align-items: flex-start;
      padding: 14px;
      border: 1px solid #fde68a;
      border-radius: 10px;
      background: #fffbeb;
      font-size: 13px;
    }
    .capital-filter-hidden-notice strong {
      color: #92400e;
    }
    .capital-filter-hidden-notice span {
      color: var(--muted);
    }
    /* 5-a 잔액 교차검증: 회사 단위 잔액 vs 회차 합산 불일치 경고 */
    .capital-crosscheck-warn {
      margin: 6px 0 0;
      font-size: 12px;
      font-weight: 700;
      color: #b91c1c;
    }
    /* 보정 대상 표시: 반복 검토 문구 대신 필요한 차이만 짧게 강조 */
    .capital-crosscheck-conclusion {
      margin: 6px 0 0;
      font-size: 12px;
      font-weight: 700;
      color: #1d4ed8;
    }
    .capital-integrity-result {
      display: grid;
      gap: 6px;
      padding: 12px;
      border: 1px solid #bfdbfe;
      border-radius: 8px;
      background: #eff6ff;
      max-width: 78ch;
    }
    .capital-integrity-result strong {
      color: #1e3a8a;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
    }
    .capital-integrity-result p,
    .capital-integrity-note {
      margin: 0;
      color: #334155;
      font-size: 13px;
      line-height: 1.55;
      max-width: 78ch;
      font-variant-numeric: tabular-nums;
    }
    .capital-integrity-note {
      color: var(--muted);
    }
    .capital-option-terms {
      border-color: #c7d2fe;
      background: #f8fafc;
    }
    .capital-option-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 10px;
    }
    .capital-option-card,
    .capital-option-empty {
      display: grid;
      gap: 8px;
      padding: 12px;
      border: 1px solid #dbe4ff;
      border-radius: 8px;
      background: #ffffff;
    }
    .capital-option-card strong,
    .capital-option-empty strong {
      color: #1e3a8a;
      font-size: 14px;
      line-height: 1.35;
    }
    .capital-option-card p,
    .capital-option-empty p,
    .capital-option-full p {
      margin: 0;
      color: #334155;
      font-size: 13px;
      line-height: 1.6;
      white-space: pre-wrap;
    }
    .capital-option-card.put {
      box-shadow: inset 4px 0 0 #2563eb;
    }
    .capital-option-card.call {
      box-shadow: inset 4px 0 0 #7c3aed;
    }
    .capital-option-full {
      margin-top: 10px;
      padding: 10px 12px;
      border: 1px solid #e2e8f0;
      border-radius: 8px;
      background: #ffffff;
    }
    .capital-option-full summary {
      cursor: pointer;
      color: #475569;
      font-size: 13px;
      font-weight: 800;
    }
    .capital-flag-badge.crosscheck {
      color: #1e40af;
      background: #eff6ff;
      border-color: #bfdbfe;
    }
    .capital-confidence-badge {
      display: inline-block;
      margin-left: 6px;
      padding: 1px 6px;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 800;
      vertical-align: middle;
      cursor: help;
    }
    .capital-confidence-badge.verified {
      color: #047857;
      background: #ecfdf5;
      border: 1px solid #a7f3d0;
    }
    .capital-confidence-badge.usable_with_warnings {
      color: #1e40af;
      background: #eff6ff;
      border: 1px solid #bfdbfe;
    }
    .capital-confidence-badge.needs_review {
      color: #b45309;
      background: #fffbeb;
      border: 1px solid #fde68a;
    }
    .capital-confidence-summary {
      display: grid;
      gap: 6px;
      padding: 11px 12px;
      border-radius: 8px;
      border: 1px solid #dbeafe;
      background: #ffffff;
      max-width: 78ch;
    }
    .capital-confidence-summary strong {
      font-size: 14px;
      line-height: 1.35;
      font-weight: 800;
      color: #0f172a;
    }
    .capital-confidence-summary p,
    .capital-confidence-summary ul {
      margin: 0;
      color: #475569;
      font-size: 13px;
      line-height: 1.5;
    }
    .capital-confidence-reasons {
      display: grid;
      gap: 4px;
    }
    .capital-confidence-reasons > span {
      font-size: 11px;
      font-weight: 800;
      color: #334155;
    }
    .capital-confidence-summary ul {
      padding-left: 18px;
    }
    .capital-confidence-summary.verified {
      border-color: #a7f3d0;
      background: #f0fdf4;
    }
    .capital-confidence-summary.usable_with_warnings {
      border-color: #bfdbfe;
      background: #f8fbff;
    }
    .capital-confidence-summary.needs_review {
      border-color: #fde68a;
      background: #fffbeb;
    }
    .capital-flag-chip {
      padding: 3px 9px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      color: #92400e;
      background: #fef3c7;
      border: 1px solid #fde68a;
    }
    /* DART 권위 데이터(미상환 잔액 보고·전환청구 공시) 기반 플래그 표시 */
    .capital-flag-source {
      margin-left: 3px;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: 0.4px;
      color: #1d4ed8;
    }
    /* Sidebar chip-row filters (2nd-round filter UI, 고객 mockup 기준) */
    .capital-chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      margin-bottom: 6px;
    }
    .capital-chip {
      font-size: 11.5px;
      line-height: 1.3;
      padding: 3px 9px;
      border-radius: 12px;
      border: 1px solid var(--line, #e4e4e7);
      background: transparent;
      color: var(--muted, #52525b);
      cursor: pointer;
      transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
      user-select: none;
    }
    .capital-chip:hover {
      border-color: #bfdbfe;
      color: #1d4ed8;
    }
    .capital-chip.on {
      background: #eff6ff;
      color: #1d4ed8;
      border-color: #bfdbfe;
      font-weight: 600;
    }
    .capital-chip.capital-chip-neg {
      border-color: #fecaca;
      color: #dc2626;
    }
    .capital-chip.capital-chip-neg.on {
      background: #dc2626;
      color: #fff;
      border-color: #dc2626;
    }
    .capital-filter-hint {
      font-size: 10.5px;
      line-height: 1.5;
      color: var(--muted, #6b7280);
      margin: 0 0 6px;
    }
    /* Sidebar toggle switches + range sliders (2nd-round filter UI) */
    .capital-toggle-field {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .capital-toggle {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 0;
      background: transparent;
      cursor: pointer;
      padding: 0;
    }
    .capital-toggle-track {
      width: 34px;
      height: 18px;
      border-radius: 999px;
      background: #d1d5db;
      position: relative;
      transition: background 0.15s ease;
      flex: 0 0 auto;
    }
    .capital-toggle-thumb {
      position: absolute;
      top: 2px;
      left: 2px;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: #fff;
      transition: left 0.15s ease;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }
    .capital-toggle.on .capital-toggle-track {
      background: #2563eb;
    }
    .capital-toggle.on .capital-toggle-thumb {
      left: 18px;
    }
    .capital-toggle-text {
      font-size: 12px;
      font-weight: 700;
      color: var(--muted);
    }
    .capital-toggle.on .capital-toggle-text {
      color: #1d4ed8;
    }
    .capital-toggle-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px 12px;
    }
    .capital-slider-field .capital-slider {
      width: 100%;
      margin-top: 6px;
      accent-color: #2563eb;
    }
    .capital-slider-out {
      float: right;
      font-size: 11px;
      font-weight: 800;
      color: #2563eb;
    }
    .link-button {
      border: 0;
      background: transparent;
      color: var(--strong);
      cursor: pointer;
      padding: 0;
      font: inherit;
      font-weight: 800;
      text-align: left;
    }
    .link-button:hover {
      text-decoration: underline;
    }
    .capital-detail-panel {
      min-width: 0;
    }
    .capital-detail {
      display: grid;
      gap: 18px;
    }
    .capital-detail-head,
    .capital-detail-title {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
    }
    .capital-detail-head h2,
    .capital-detail-title h3 {
      margin: 0;
    }
    .capital-detail-title {
      border-bottom: 3px solid var(--bad);
      padding-bottom: 6px;
    }
    .capital-detail-title span {
      color: var(--muted);
      font-size: 12px;
      white-space: nowrap;
    }
    .capital-detail-state {
      display: inline-flex;
      width: fit-content;
      margin-top: 6px;
      padding: 4px 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: #f6f8fb;
      color: var(--ink);
      font-size: 12px;
      font-weight: 800;
    }
    .capital-detail-loading {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-detail-section {
      display: grid;
      gap: 8px;
    }
    .capital-impact-report {
      display: grid;
      gap: 12px;
    }
    .capital-detail-section.impact {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcff;
    }
    .capital-impact-findings {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 10px;
    }
    .capital-impact-exposure {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 8px;
    }
    .capital-preflight {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid #dbeafe;
      border-radius: 8px;
      background: #eff6ff;
      color: #1e3a8a;
      font-size: 13px;
    }
    .capital-preflight span {
      color: #315480;
      text-align: right;
    }
    .capital-impact-exposure > div {
      display: grid;
      gap: 4px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-impact-exposure span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }
    .capital-impact-exposure strong {
      font-size: 18px;
    }
    .capital-ai-report {
      display: grid;
      gap: 10px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-ai-report.done {
      border-color: #bfdbfe;
      background: #eff6ff;
    }
    .capital-ai-report .markdown-body p {
      margin: 0 0 8px;
      line-height: 1.6;
    }
    .capital-impact-finding {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 12px;
      min-width: 0;
    }
    .capital-impact-finding p {
      margin: 6px 0 0;
      color: var(--muted);
      line-height: 1.45;
    }
    .capital-impact-markdown pre {
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      max-height: 420px;
      overflow: auto;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #111827;
      color: #f8fafc;
      font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace;
    }
    .capital-detail-section.raw-fields {
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .capital-raw-field-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 8px;
    }
    .capital-raw-field {
      display: grid;
      grid-template-columns: minmax(92px, 130px) minmax(0, 1fr);
      gap: 8px;
      align-items: start;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fbfcff;
      min-width: 0;
    }
    .capital-raw-field span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      overflow-wrap: anywhere;
    }
    .capital-raw-field strong {
      color: var(--ink);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
      overflow-wrap: anywhere;
      min-width: 0;
    }
    .capital-internal-memo {
      padding: 12px;
      border: 1px solid #dbeafe;
      border-radius: 8px;
      background: #f8fbff;
    }
    .capital-note-form {
      display: grid;
      grid-template-columns: minmax(140px, 180px) minmax(0, 1fr) auto;
      gap: 10px;
      align-items: end;
    }
    .capital-note-form textarea {
      width: 100%;
      min-height: 86px;
      resize: vertical;
    }
    .capital-note-status {
      grid-column: 1 / -1;
      min-height: 18px;
    }
    .capital-detail-table th {
      width: 190px;
      color: var(--ink);
      background: #fff6f6;
    }
    .capital-detail-table td {
      overflow-wrap: anywhere;
    }
    .capital-event-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 14px;
      display: grid;
      gap: 12px;
    }
    .capital-event-main {
      display: flex;
      gap: 14px;
      justify-content: space-between;
      align-items: flex-start;
    }
    .capital-event-type {
      min-width: 150px;
      display: grid;
      justify-items: end;
      gap: 6px;
      text-align: right;
    }
    .capital-event-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .capital-event-grid > div {
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 10px;
      display: grid;
      gap: 6px;
    }
    .capital-event-grid span {
      color: var(--muted);
      font-size: 12px;
    }
    .capital-event-grid strong {
      white-space: normal;
      overflow-wrap: anywhere;
      line-height: 1.35;
    }
    /* ── Capital sub-nav ─────────────────────────────────────────────── */
    .capital-subnav {
      display: flex;
      gap: 0;
      border-bottom: 2px solid var(--line);
      background: white;
      padding: 0 16px;
      margin-bottom: 16px;
      position: sticky;
      top: 0;
      z-index: 10;
    }
    .capital-subnav-tab {
      padding: 10px 18px;
      font-size: 13px;
      font-weight: 500;
      background: none;
      border: none;
      border-bottom: 2px solid transparent;
      margin-bottom: -2px;
      cursor: pointer;
      color: var(--muted);
      white-space: nowrap;
    }
    .capital-subnav-tab:hover { color: var(--ink); }
    .capital-subnav-tab.active { color: var(--accent); border-bottom-color: var(--accent); }
    .capital-subnav-count:not(:empty) {
      display: inline-block;
      margin-left: 6px;
      padding: 0 6px;
      border-radius: 9px;
      background: var(--line);
      font-size: 11px;
      font-weight: 600;
      line-height: 16px;
      vertical-align: middle;
      color: var(--muted);
    }
    .capital-subnav-tab.active .capital-subnav-count:not(:empty) {
      background: var(--accent);
      color: #fff;
    }
    .watchlist-snap {
      font-variant-numeric: tabular-nums;
    }
    /* ── 5yr Financial Series Panel ──────────────────────────────────── */
    .capital-fs-panel {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 16px;
      margin-bottom: 12px;
      display: grid;
      gap: 12px;
    }
    .capital-fs-title {
      font-weight: 600;
      font-size: 13px;
    }
    .capital-fs-empty p {
      margin: 0;
      font-size: 12px;
      line-height: 1.6;
    }
    .capital-fs-table {
      width: 100%;
      font-size: 12px;
      border-collapse: collapse;
    }
    .capital-fs-table th {
      font-size: 11px;
      font-weight: 600;
      padding: 4px 8px;
      text-align: left;
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      white-space: nowrap;
    }
    .capital-fs-table td {
      padding: 5px 8px;
      border-bottom: 1px solid var(--line);
      white-space: nowrap;
    }
    .capital-fs-table td.numeric { text-align: right; }
    .capital-fs-table tbody tr:last-child td { border-bottom: none; }
    /* ── Maturity Calendar ────────────────────────────────────────────── */
    .maturity-calendar {
      padding: 20px;
      display: grid;
      gap: 20px;
    }
    .dash-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 12px;
    }
    .dash-stat {
      display: grid;
      gap: 4px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .dash-stat.urgent {
      border-color: #ef4444;
      background: #fff1f2;
    }
    .dash-stat-label {
      font-size: 12px;
      color: var(--muted);
    }
    .dash-stat strong {
      font-size: 20px;
      font-weight: 850;
    }
    .dash-stat .dash-mix {
      font-size: 14px;
      font-weight: 700;
    }
    .dash-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .dash-section-head h3 {
      margin: 0;
      font-size: 14px;
    }
    .dash-market {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 16px;
    }
    .dash-block {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .trend-chart {
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr;
      gap: 4px;
      align-items: end;
    }
    .trend-col {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .trend-count { height: 16px; line-height: 16px; font-size: 10px; color: var(--muted); }
    .trend-bar-area { height: 90px; width: 100%; display: flex; align-items: flex-end; justify-content: center; }
    .trend-bar { width: 70%; min-height: 2px; background: #5b8ff9; border-radius: 3px 3px 0 0; }
    .trend-month { height: 16px; line-height: 16px; font-size: 10px; color: var(--muted); }
    .sector-list { display: grid; gap: 7px; }
    .sector-row {
      display: grid;
      grid-template-columns: minmax(80px, 0.9fr) minmax(0, 1.6fr) auto;
      gap: 10px;
      align-items: center;
      font-size: 12px;
    }
    .sector-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sector-track { height: 10px; border-radius: 6px; background: #eef2f7; overflow: hidden; }
    .sector-bar { display: block; height: 100%; background: #5ad8a6; border-radius: 6px; }
    .sector-count { color: var(--muted); white-space: nowrap; }
    @media (max-width: 720px) {
      .sector-row { grid-template-columns: 1fr auto; }
      .sector-track { display: none; }
    }
    .maturity-calendar-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 16px;
    }
    .maturity-calendar-head h2 { margin: 0 0 4px; }
    .maturity-legend {
      display: flex;
      gap: 14px;
      flex-shrink: 0;
    }
    .maturity-legend-item {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      white-space: nowrap;
      color: var(--muted);
    }
    .maturity-legend-item::before {
      content: "";
      display: block;
      width: 12px;
      height: 12px;
      border-radius: 2px;
      flex-shrink: 0;
    }
    .maturity-legend-item.cb::before { background: #5b8ff9; }
    .maturity-legend-item.bw::before { background: #5ad8a6; }
    .maturity-legend-item.eb::before { background: #f6903d; }
    .maturity-bar-chart {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 6px;
    }
    .maturity-col {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .maturity-col-btn {
      width: 100%;
      padding: 0;
      border: 0;
      background: none;
      font: inherit;
      cursor: pointer;
    }
    .maturity-col-btn:hover .maturity-bar { filter: brightness(1.08); }
    .maturity-col-btn:hover .maturity-month {
      color: var(--accent);
      text-decoration: underline;
    }
    .maturity-col-btn:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
      border-radius: 4px;
    }
    .maturity-count {
      height: 20px;
      line-height: 20px;
      font-size: 11px;
      color: var(--muted);
      text-align: center;
    }
    .maturity-bar-area {
      height: 140px;
      width: 100%;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }
    .maturity-bar {
      width: 100%;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 3px 3px 0 0;
    }
    .maturity-seg { display: block; width: 100%; }
    .maturity-cb { background: #5b8ff9; }
    .maturity-bw { background: #5ad8a6; }
    .maturity-eb { background: #f6903d; }
    .maturity-month {
      height: 20px;
      line-height: 20px;
      font-size: 10px;
      color: var(--muted);
      padding-top: 4px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: center;
    }
    /* ── Watchlist Panel ──────────────────────────────────────────────── */
    .watchlist-panel {
      display: grid;
      gap: 14px;
      padding: 20px;
    }
    .watchlist-summary {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 14px 16px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }
    .watchlist-summary-total {
      display: flex;
      align-items: baseline;
      gap: 8px;
    }
    .watchlist-summary-total strong { font-size: 20px; font-weight: 850; }
    .watchlist-summary-counts {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .watchlist-board {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 12px;
      align-items: start;
    }
    .watchlist-board .watchlist-group {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
    }
    .watchlist-board .watchlist-item {
      grid-template-columns: 1fr;
      gap: 6px;
      align-items: stretch;
    }
    .watchlist-empty {
      padding: 40px 20px;
      text-align: center;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
    }
    .watchlist-group {
      display: grid;
      gap: 8px;
    }
    .watchlist-group-head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding-bottom: 4px;
      border-bottom: 1px solid var(--line);
    }
    .watchlist-items {
      display: grid;
      gap: 6px;
    }
    .watchlist-items .capital-explore-card {
      box-shadow: none;
    }
    .watchlist-item {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
      padding: 10px 14px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: white;
      font-size: 13px;
    }
    .watchlist-item-corp {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .watchlist-item-corp strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .watchlist-item-meta {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      font-size: 12px;
      color: var(--muted);
    }
    .list-item {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 10px;
      font-size: 13px;
    }
    .list-item b { overflow-wrap: anywhere; }
    .candidate-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
      gap: 12px;
    }
    .sourcing-brief {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 14px;
      margin-bottom: 12px;
      display: grid;
      gap: 12px;
    }
    .sourcing-brief header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .sourcing-brief h2 {
      margin: 0;
      font-size: 18px;
      line-height: 1.25;
    }
    .sourcing-brief p {
      margin: 4px 0 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .sourcing-themes {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 8px;
    }
    .sourcing-theme {
      border: 1px solid #dce2e7;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 12px;
      text-align: left;
      min-height: auto;
      display: grid;
      align-content: start;
      justify-items: start;
      gap: 6px;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .sourcing-theme.active {
      border-color: #c9dfe0;
      background: #f0f8f7;
    }
    .sourcing-theme b {
      font-size: 13px;
      line-height: 1.35;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .sourcing-theme span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
      font-weight: 500;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .sourcing-controls {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: end;
    }
    .sourcing-summary {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
      margin: 12px 0;
    }
    .sourcing-summary .mini-metric {
      background: #fff;
    }
    .event-board,
    .ownership-board {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 10px;
    }
    .event-card,
    .ownership-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: linear-gradient(180deg, #fbfcfd 0%, #f6f8fa 100%);
      padding: 10px;
      min-width: 0;
    }
    .event-card span,
    .ownership-card span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .event-card strong,
    .ownership-card strong {
      display: block;
      margin-top: 4px;
      overflow-wrap: anywhere;
    }
    .event-card em,
    .ownership-card em {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .board-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .tracking-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .tracking-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .tracking-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .tracking-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-tracking-subpane][hidden] {
      display: none !important;
    }
    .monitor-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }
    .compact-more {
      grid-column: 1 / -1;
      margin: 0 0 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
    }
    .compact-more summary {
      min-height: 42px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px 12px;
      cursor: pointer;
      list-style: none;
    }
    .compact-more summary::-webkit-details-marker {
      display: none;
    }
    .compact-more summary strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
    }
    .compact-more summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      text-align: right;
    }
    .compact-more[open] summary {
      border-bottom: 1px solid #edf1f3;
    }
    .compact-more .monitor-grid {
      margin: 0;
      padding: 10px;
    }
    .outcome-board {
      display: grid;
      gap: 12px;
      align-items: stretch;
      padding: 14px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .outcome-board.compact {
      margin-bottom: 12px;
    }
    .analysis-output-bridge {
      display: grid;
      gap: 12px;
      padding: 14px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-output-bridge-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: start;
    }
    .analysis-output-bridge-head strong {
      display: block;
      margin-top: 3px;
      color: var(--ink);
      font-size: 18px;
      line-height: 1.25;
    }
    .analysis-output-bridge-head small,
    .analysis-question-pack small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .analysis-output-status {
      min-width: 92px;
      padding: 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #f8fbfb;
      text-align: right;
    }
    .analysis-output-status span,
    .analysis-question-pack span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .analysis-output-status strong {
      display: block;
      font-size: 22px;
      line-height: 1.1;
    }
    .analysis-question-pack-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 8px;
    }
    .analysis-question-pack {
      display: grid;
      gap: 4px;
      min-height: 72px;
      height: auto;
      padding: 9px 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #f8fbfb;
      text-align: left;
      justify-items: start;
      align-content: center;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
      cursor: pointer;
    }
    .analysis-question-pack strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.28;
      overflow-wrap: anywhere;
    }
    .analysis-question-pack:hover {
      border-color: #b8d0d1;
      box-shadow: 0 10px 20px rgba(15, 35, 36, .08);
      transform: translateY(-1px);
    }
    .analysis-question-pack span,
    .analysis-question-pack small {
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .analysis-output-next-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .outcome-main {
      display: grid;
      align-content: center;
      gap: 4px;
      min-width: 0;
    }
    .outcome-main span,
    .outcome-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .outcome-main strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .outcome-main small,
    .outcome-card small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .outcome-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 8px;
      min-width: 0;
    }
    .outcome-card {
      min-width: 0;
      display: grid;
      gap: 4px;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
      align-content: start;
      white-space: normal;
      overflow: visible;
    }
    .outcome-main span,
    .outcome-main small,
    .outcome-card span,
    .outcome-card small {
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .outcome-card strong {
      color: var(--strong);
      font-size: 18px;
      line-height: 1.12;
      overflow-wrap: anywhere;
    }
    .outcome-actions {
      display: grid;
      align-content: center;
      gap: 8px;
      min-width: 132px;
    }
    .outcome-actions .action-button {
      width: 100%;
    }
    .monitor-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .monitor-card header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
    }
    .monitor-card b { overflow-wrap: anywhere; }
    .urgency-group { margin-bottom: 14px; }
    .urgency-group-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-weight: 750; font-size: 14px; }
    .urgency-group-header .badge { background: var(--line); border-radius: 10px; padding: 1px 8px; font-size: 12px; font-weight: 700; }
    .urgency-group.urgent .urgency-group-header { color: #c0392b; }
    .urgency-group.caution .urgency-group-header { color: #e67e22; }
    .urgency-group.normal .urgency-group-header { color: #27ae60; }
    .urgency-group.urgent .monitor-card { border-color: #e8c4c0; background: #fff6f4; }
    .urgency-group.caution .monitor-card { border-color: #f1dfba; background: #fffaf0; }
    .urgency-group.normal .monitor-card { border-color: #cfe8dc; background: #f3faf7; }
    .board-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 13px;
      display: grid;
      gap: 11px;
      min-width: 0;
    }
    .board-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
    }
    .board-top b { overflow-wrap: anywhere; }
    .mini-metrics {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }
    .mini-metric {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      padding: 8px;
      min-width: 0;
    }
    .mini-metric span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .mini-metric strong {
      display: block;
      margin-top: 3px;
      font-size: 17px;
    }
    .company-strip {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .company-chip {
      border: 1px solid #dce2e7;
      border-radius: 999px;
      padding: 5px 8px;
      background: #fbfcfd;
      font-size: 12px;
      font-weight: 750;
    }
    .signal-compact {
      display: grid;
      gap: 7px;
    }
    .signal-compact .list-item {
      padding: 8px;
    }
    .candidate-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 14px;
      min-width: 0;
      display: grid;
      gap: 12px;
      align-content: start;
    }
    .candidate-top {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(58px, auto);
      gap: 10px;
      align-items: start;
    }
    .candidate-top b { overflow-wrap: anywhere; }
    .candidate-deal-board {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin: 2px 0;
    }
    .candidate-deal-board div {
      border: 1px solid #e4e8ec;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 8px;
      min-height: 58px;
      min-width: 0;
    }
    .candidate-deal-board span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .candidate-deal-board strong {
      display: block;
      margin-top: 4px;
      font-size: 14px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .candidate-action-groups {
      display: grid;
      gap: 8px;
      margin-top: 8px;
    }
    .candidate-action-groups .stack-actions {
      margin-top: 0;
    }
    .candidate-card .panel-row {
      grid-template-columns: minmax(64px, .7fr) minmax(0, 1.3fr);
      gap: 8px;
      align-items: start;
      font-size: 12px;
      line-height: 1.35;
    }
    .candidate-card .panel-row strong,
    .candidate-card .panel-row span {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .candidate-card .selected-meta {
      gap: 5px;
      align-items: flex-start;
    }
    .candidate-card .selected-meta span {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .candidate-card .action-button,
    .candidate-card .action-link {
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
      min-height: 34px;
      line-height: 1.25;
      text-align: center;
    }
    .candidate-primary-actions > .action-button,
    .candidate-primary-actions > .action-link {
      flex: 1 1 116px;
    }
    .candidate-secondary-actions {
      padding-top: 6px;
      border-top: 1px solid #edf0f2;
    }
    .candidate-secondary-actions > .action-button,
    .candidate-secondary-actions > .action-link {
      flex: 1 1 92px;
    }
    .score {
      min-width: 48px;
      text-align: center;
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      padding: 6px;
      color: var(--strong);
      font-weight: 850;
    }
    .command-panel {
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f7fbfb;
      padding: 14px;
      min-width: 0;
      display: grid;
      gap: 12px;
    }
    .command-score {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .command-score strong {
      font-size: 22px;
      line-height: 1;
      color: var(--strong);
    }
    .decision-question {
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #fff;
      padding: 11px;
      display: grid;
      gap: 7px;
    }
    .decision-question span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .decision-question strong {
      font-size: 17px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .command-summary {
      display: grid;
      gap: 8px;
    }
    .command-summary .list-item {
      background: #fff;
    }
    .evidence-panel {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 14px;
      min-width: 0;
    }
    .evidence-list {
      display: grid;
      gap: 8px;
    }
    .evidence-row {
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr) max-content;
      gap: 10px;
      align-items: start;
      border-bottom: 1px solid #edf0f2;
      padding-bottom: 8px;
      font-size: 13px;
      min-width: 0;
    }
    .evidence-row:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }
    .evidence-row b,
    .evidence-row .muted {
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .command-actions {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 14px;
      display: grid;
      gap: 10px;
      min-width: 0;
    }
    .command-actions button {
      width: 100%;
      min-height: 38px;
    }
    .thesis-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .thesis-box {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 10px;
      min-width: 0;
    }
    .thesis-box h3 {
      margin: 0 0 8px;
      font-size: 13px;
    }
    .coverage-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }
    .coverage-item {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      padding: 8px;
      background: #fbfcfd;
      min-width: 0;
    }
    .coverage-item span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .coverage-item strong {
      display: block;
      margin-top: 4px;
      font-size: 17px;
    }
    .source-decision-board {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .business-profile-card {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .business-profile-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0 14px;
    }
    .business-profile-note {
      display: grid;
      gap: 3px;
      padding-top: 8px;
      border-top: 1px solid #edf0f2;
      color: var(--ink);
      font-size: 12px;
      line-height: 1.45;
    }
    .business-profile-note small {
      color: var(--muted);
      font-weight: 650;
    }
    .source-decision-head {
      display: grid;
      gap: 3px;
      max-width: 760px;
    }
    .source-decision-head span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .source-decision-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .source-decision-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
      line-height: 1.35;
    }
    .source-decision-grid {
      display: grid;
      gap: 7px;
    }
    .source-decision-card {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 9px 10px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .source-decision-card b {
      display: grid;
      place-items: center;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #eef6f5;
      color: var(--strong);
      font-size: 11px;
    }
    .source-decision-card div {
      min-width: 0;
      display: grid;
      gap: 2px;
    }
    .source-decision-card span,
    .source-decision-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .source-decision-card strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .source-gap-queue {
      display: grid;
      gap: 8px;
      padding-top: 8px;
      border-top: 1px solid #edf0f2;
    }
    .source-gap-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
    }
    .source-gap-head span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .source-gap-head strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.3;
    }
    .source-gap-list {
      display: grid;
      gap: 7px;
    }
    .source-gap-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      padding: 8px 10px;
      border: 1px dashed #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .source-gap-card > div:first-child {
      min-width: 0;
      display: grid;
      gap: 2px;
    }
    .source-gap-card span,
    .source-gap-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .source-gap-card strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .source-group-matrix {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 10px;
    }
    .source-group-card {
      min-height: 104px;
      padding: 10px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 6px 10px;
      align-items: start;
      justify-items: stretch;
      text-align: left;
      background: #fbfcfd;
      border-color: #edf0f2;
      white-space: normal;
    }
    .source-group-card span,
    .source-group-card small,
    .source-group-card em {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      line-height: 1.35;
    }
    .source-group-card strong {
      display: block;
      margin-top: 4px;
      font-size: 14px;
      line-height: 1.2;
    }
    .source-group-card b {
      min-width: 34px;
      padding: 5px 7px;
      border-radius: 999px;
      background: #eef6f5;
      color: var(--strong);
      text-align: center;
      font-size: 13px;
    }
    .source-group-card em {
      grid-column: 1 / -1;
      padding-top: 2px;
      border-top: 1px solid #edf0f2;
    }
    .source-api-links {
      display: grid;
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .source-api-links > span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }
    .integration-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }
    .memo-grid {
      display: grid;
      grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
      gap: 12px;
      align-items: start;
    }
    .memo-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .memo-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .memo-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .memo-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-memo-subpane][hidden] {
      display: none !important;
    }
    .memo-stack {
      display: grid;
      gap: 8px;
    }
    .memo-box {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
    }
    .memo-box h3 {
      margin: 0 0 8px;
      font-size: 13px;
    }
    .brief-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .capital-diagnostic-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 10px;
    }
    .capital-diagnostic-grid > div {
      min-width: 0;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      padding: 10px;
      background: #fbfcfd;
    }
    .capital-diagnostic-grid > div > strong {
      display: block;
      margin-bottom: 6px;
      font-size: 13px;
    }
    .mini-table-wrap > .muted {
      padding: 0 12px 10px;
    }
    .capital-latest-run {
      margin: 10px 12px 0;
      padding: 10px;
      border: 1px solid #e5edf4;
      border-radius: 8px;
      background: #f8fbfd;
    }
    .capital-latest-run > strong {
      display: block;
      margin-bottom: 4px;
      font-size: 13px;
    }
    .brief-section {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
    }
    .brief-section h3 {
      margin: 0 0 8px;
      font-size: 13px;
    }
    .memo-workspace {
      display: grid;
      grid-template-columns: minmax(260px, .8fr) minmax(0, 1.35fr);
      gap: 12px;
      align-items: start;
    }
    .section-head.compact {
      margin-bottom: 8px;
    }
    .section-head.compact h3 {
      margin: 0;
      font-size: 14px;
    }
    .memo-note-card {
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .memo-note-card b,
    .memo-note-card span {
      display: block;
      overflow-wrap: anywhere;
    }
    .memo-note-card span {
      margin-top: 3px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .memo-note-card p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .memo-selected-note,
    .memo-empty-state {
      display: grid;
      gap: 10px;
      min-height: 220px;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .memo-empty-state {
      place-content: center;
      text-align: center;
      color: var(--muted);
    }
    .memo-empty-state strong {
      color: var(--ink);
      font-size: 15px;
    }
    .brief-financial-rail {
      display: grid;
      grid-template-columns: minmax(190px, .75fr) minmax(0, 1.5fr) minmax(180px, .7fr);
      gap: 10px;
      margin-bottom: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 10px;
    }
    .brief-financial-head,
    .brief-financial-note {
      min-width: 0;
      display: grid;
      align-content: center;
      gap: 4px;
    }
    .brief-financial-head span,
    .brief-financial-head small,
    .brief-financial-note span,
    .brief-financial-metrics span,
    .brief-financial-metrics small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      line-height: 1.3;
    }
    .brief-financial-head strong,
    .brief-financial-note strong {
      font-size: 15px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .brief-financial-metrics {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }
    .brief-financial-metrics button {
      min-width: 0;
      min-height: 70px;
      padding: 8px;
      display: grid;
      justify-items: start;
      align-content: center;
      gap: 3px;
      text-align: left;
      background: #fff;
      border-color: #dce7e8;
    }
    .brief-financial-metrics strong {
      font-size: 16px;
      line-height: 1.05;
      overflow-wrap: anywhere;
    }
    .report-financial-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 6px;
      margin: 8px 0;
    }
    .report-financial-strip button {
      min-width: 0;
      min-height: 54px;
      padding: 7px;
      display: grid;
      gap: 2px;
      justify-items: start;
      align-content: center;
      text-align: left;
      background: #fbfdfd;
      border-color: #dce7e8;
    }
    .report-financial-strip span {
      color: var(--muted);
      font-size: 10px;
      font-weight: 800;
    }
    .report-financial-strip strong {
      max-width: 100%;
      font-size: 13px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .brief-markdown {
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 12px;
      line-height: 1.55;
      max-height: 260px;
      overflow: auto;
    }
    .file-timeline {
      display: grid;
      gap: 8px;
    }
    .file-row {
      display: grid;
      grid-template-columns: 112px minmax(0, 1fr) max-content;
      gap: 10px;
      align-items: start;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fff;
      padding: 9px;
      font-size: 13px;
      min-width: 0;
    }
    .file-row b,
    .file-row .muted {
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .file-row .date {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .integration-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 11px;
      min-width: 0;
      display: grid;
      gap: 8px;
    }
    .integration-card.ok { border-color: #cfe8dc; background: #f3faf7; }
    .integration-card.degraded { border-color: #f1dfba; background: #fffaf0; }
    .integration-card.blocked { border-color: #e8c4c0; background: #fff6f4; }
    .report-desk {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      margin-top: 12px;
    }
    .report-history-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }
    .report-side-panel {
      position: static;
    }
    .report-type-selector {
      display: grid;
      gap: 10px;
      padding: 12px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .report-studio-main {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 16px;
      align-items: start;
      padding-bottom: 2px;
    }
    .report-studio-main strong {
      display: block;
      margin-top: 3px;
      color: var(--ink);
      font-size: 20px;
      line-height: 1.22;
      overflow-wrap: anywhere;
    }
    .report-studio-main small {
      display: block;
      margin-top: 5px;
      max-width: 78ch;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }
    .report-studio-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }
    .report-studio-steps {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .report-studio-step {
      min-height: 112px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      grid-template-areas:
        "num label"
        "num text";
      gap: 3px 10px;
      align-content: start;
      padding: 12px;
      border: 1px solid #dce8e8;
      border-radius: 8px;
      background: #fff;
      text-align: left;
      cursor: pointer;
    }
    .report-studio-step.active {
      border-color: #b9d4d3;
      background: #f1f8f7;
    }
    .report-studio-step b {
      grid-area: num;
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: #102727;
      color: #fff;
      font-size: 13px;
      line-height: 1;
    }
    .report-studio-step span {
      grid-area: label;
      color: var(--ink);
      font-size: 14px;
      font-weight: 850;
      line-height: 1.3;
    }
    .report-studio-step small {
      grid-area: text;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.38;
    }
    .report-studio-kpis {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .report-studio-kpis div {
      min-width: 0;
      padding: 10px 12px;
      border: 1px solid #dde8e9;
      border-radius: 8px;
      background: #fff;
    }
    .report-studio-kpis span,
    .report-studio-kpis small {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      line-height: 1.35;
    }
    .report-studio-kpis strong {
      display: block;
      margin: 3px 0;
      color: var(--ink);
      font-size: 22px;
      line-height: 1.05;
    }
    .report-type-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: start;
    }
    .report-type-head strong {
      display: block;
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .report-type-head small {
      display: block;
      margin-top: 3px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.4;
    }
    .report-type-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 8px;
    }
    .report-type-card {
      min-height: auto;
      padding: 12px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
      display: grid;
      gap: 6px;
      align-content: start;
      justify-items: start;
      text-align: left;
      cursor: pointer;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .report-type-card span,
    .report-type-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      line-height: 1.45;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .report-type-card strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.45;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .report-type-card.active {
      border-color: var(--strong);
      background: #f0f8f7;
      box-shadow: inset 0 0 0 1px rgba(14, 111, 103, .16);
    }
    .report-type-flow {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 8px;
    }
    .report-type-flow span {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
      padding: 9px 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .report-type-flow b {
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      width: 22px;
      height: 22px;
      border-radius: 999px;
      background: var(--ink);
      color: #fff;
      font-size: 11px;
      line-height: 1;
    }
    .report-subnav {
      position: static;
      z-index: 5;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 6px;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
    }
    .report-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: normal;
      line-height: 1.3;
      cursor: pointer;
    }
    .report-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .report-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-report-subpane][hidden] {
      display: none !important;
    }
    .report-reader,
    .report-lanes {
      min-width: 0;
      width: 100%;
    }
    .report-empty-state {
      min-height: 170px;
      display: grid;
      align-content: center;
      justify-items: center;
      gap: 6px;
      border: 1px dashed #c9dfe0;
      border-radius: 8px;
      background: #fbfdfd;
      color: var(--muted);
      text-align: center;
      padding: 24px;
    }
    .report-empty-state strong {
      color: var(--ink);
      font-size: 16px;
    }
    .priority-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 12px;
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .priority-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
    }
    .priority-score {
      min-width: 54px;
      text-align: center;
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      padding: 6px;
      color: var(--strong);
      font-weight: 850;
    }
    .queue-state {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 6px;
    }
    .queue-state span {
      min-width: 0;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 6px;
      font-size: 11px;
      overflow-wrap: anywhere;
    }
    .pipeline-shell {
      display: grid;
      grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
      gap: 12px;
      align-items: start;
      margin-bottom: 12px;
    }
    .pipeline-stages {
      display: grid;
      gap: 8px;
    }
    .pipeline-stage {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      padding: 9px;
      background: #fbfcfd;
      font-size: 13px;
      text-align: left;
      cursor: pointer;
    }
    .pipeline-stage.active {
      border-color: #27313d;
      background: #f5f7f9;
      box-shadow: inset 3px 0 0 #27313d;
    }
    .pipeline-stage strong { font-size: 18px; }
    .pipeline-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin-top: 10px;
    }
    .pipeline-actions button {
      width: 100%;
      justify-content: space-between;
    }
    .lifecycle-strip {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 6px;
      margin-top: 8px;
    }
    .lifecycle-check {
      min-width: 0;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 7px;
      font-size: 11px;
    }
    .lifecycle-check b,
    .lifecycle-check span {
      display: block;
      overflow-wrap: anywhere;
    }
    .bridge-links {
      display: grid;
      gap: 8px;
      margin-top: 8px;
    }
    .bridge-link {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 9px;
      font-size: 12px;
      overflow-wrap: anywhere;
    }
    .pipeline-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .report-lanes {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 12px;
    }
    .signal-list {
      display: grid;
      gap: 5px;
      color: #3c4752;
      font-size: 12px;
      line-height: 1.4;
    }
    .signal-list div {
      border-top: 1px solid #edf0f2;
      padding-top: 5px;
    }
    .split {
      display: grid;
      grid-template-columns: 330px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
    }
    .muted { color: var(--muted); }
    .error {
      margin: 0 0 12px;
      padding: 10px 12px;
      border: 1px solid #efb7b0;
      border-radius: 8px;
      background: #fff3f1;
      color: var(--bad);
      display: none;
    }
    .error.active { display: block; }
    .auth {
      min-height: 100vh;
      display: grid;
      place-items: center;
      padding: 24px;
    }
    .auth-card {
      width: min(520px, 100%);
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 22px;
      box-shadow: 0 20px 60px rgba(16,24,32,.08);
    }
    .auth-card h1 {
      margin: 0 0 8px;
      font-size: 24px;
    }
    .auth-card p {
      margin: 0 0 18px;
      color: var(--muted);
      line-height: 1.55;
    }
    .auth-error {
      display: none;
      margin: 0 0 12px;
      padding: 9px 10px;
      border: 1px solid #efb7b0;
      border-radius: 8px;
      background: #fff3f1;
      color: var(--bad);
      font-size: 13px;
    }
    .auth-error.active { display: block; }
    .hidden { display: none !important; }
    .report-frame {
      width: 100%;
      min-height: 620px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
    }
    /* === Company Analysis === */
    .dd-header { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start; }
    .dd-score { text-align: center; padding: 8px 16px; }
    .dd-score strong { font-size: 18px; font-weight: 850; display: block; }
    .dd-score span { font-size: 11px; color: var(--muted); }
    .dd-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
    .dd-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 750; background: #edf1f3; color: #33414d; }
    .dd-readiness { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; align-items: center; padding: 12px; }
    .dd-readiness .status-icon { font-size: 20px; font-weight: 900; }
    .dd-strengths, .dd-blockers { list-style: none; padding: 0; margin: 4px 0; }
    .dd-strengths li::before { content: "+ "; color: var(--ok); font-weight: 900; }
    .dd-blockers li::before { content: "! "; color: var(--bad); font-weight: 900; }
    .dd-path { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
    .dd-stage { text-align: center; padding: 8px 4px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); }
    .dd-stage.done { border-color: var(--ok); background: #f0f8f7; }
    .dd-stage.needs_review { border-color: var(--warn); background: #fff9f0; }
    .dd-stage.ready { border-color: var(--strong-2); background: #f0f5fb; }
    .dd-stage strong { display: block; font-size: 12px; margin-bottom: 2px; }
    .dd-stage span { font-size: 10px; color: var(--muted); }
    .dd-memo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .dd-memo-section h4 { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
    .dd-memo-section ul { margin: 0; padding-left: 16px; font-size: 13px; line-height: 1.6; }
    .dd-memo-section.thesis ul li::marker { color: var(--ok); }
    .dd-memo-section.cautions ul li::marker { color: var(--bad); }
    .dd-memo-section.checks ul li::marker { color: var(--warn); }
    .dd-timeline { max-height: 320px; overflow-y: auto; }
    .dd-timeline-item { display: grid; grid-template-columns: 24px 80px 1fr auto; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--surface-2); font-size: 13px; }
    .dd-timeline-item:last-child { border-bottom: none; }
    .dd-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .dd-actions button { flex: 1; min-width: 120px; text-align: center; }
    .dd-loading { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 40px; color: var(--muted); }
    /* === Onboarding === */
    /* === Hero CTA === */
    .hero-cta { text-align: center; padding: 60px 20px; }
    .hero-cta h2 { font-size: 18px; margin: 0 0 8px; }
    .hero-cta p { color: var(--muted); margin: 0 0 24px; font-size: 15px; }
    .hero-search { display: flex; gap: 8px; max-width: 400px; margin: 0 auto; }
    .hero-search input { flex: 1; padding: 12px 16px; border: 2px solid var(--line); border-radius: 8px; font-size: 16px; }
    .hero-search input:focus { border-color: var(--strong); outline: none; }
    .hero-search button { padding: 12px 20px; font-size: 16px; }
    /* === Transitions === */
    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    .section.active { animation: fadeIn 150ms ease; }
    .card { transition: box-shadow 150ms ease; }
    .card:hover { box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
    /* === Spinner === */
    .spinner { display: inline-block; width: 20px; height: 20px; border: 2px solid var(--line); border-top-color: var(--strong); border-radius: 50%; animation: spin 0.6s linear infinite; }
    @keyframes spin { to { transform: rotate(360deg); } }
    .loading-text { color: var(--muted); font-size: 14px; display: flex; align-items: center; gap: 8px; justify-content: center; padding: 24px; }
    /* === Score & Pill === */
    .score-high { color: var(--ok); }
    .score-mid { color: var(--strong-2); }
    .score-low { color: var(--warn); }
    .score-bad { color: var(--bad); }
    .pill-ok { background: #e7f5ed; color: #16784f; }
    .pill-warn { background: #fff3d9; color: #a86612; }
    .pill-bad { background: #ffebe8; color: #b42318; }
    .pill-info { background: #e8f0fb; color: #124d7a; }
    .pill-neutral { background: #edf1f3; color: #33414d; }
    @media (max-width: 980px) {
      .app { grid-template-columns: 1fr; }
      .sidebar { position: static; height: auto; }
      .grid, .grid.two, .grid.three, .grid.ops-grid, .split, .check-grid, .flow, .flow-board, .workflow-rail, .deal-flow, .mission-control, .mission-primary, .mission-snapshot, .mission-lane-button, .sourcing-themes, .sourcing-controls, .sourcing-summary, .capital-event-grid, .compare-grid, .compare-executive-grid, .compare-priority-list, .compare-decision-grid, .compare-thesis-grid, .compare-spread-grid, .compare-quality-grid, .compare-empty-steps, .analysis-briefing, .analysis-facts, .analysis-financial-strip, .analysis-mode-switch, .analysis-deal-lens, .deal-lens-grid, .analysis-entry-toolbar, .analysis-hero, .analysis-command, .analysis-command-center, .analysis-stage-map, .file-header, .file-readiness, .progress-board, .decision-path, .company-workroom-steps, .analysis-output-bridge-head, .analysis-question-pack-grid, .analysis-report-board-head, .analysis-readiness-strip, .analysis-report-grid, .financial-route-steps, .financial-number-brief, .financial-number-grid, .financial-statement-summary-grid, .financial-issue-list, .financial-api-coverage-list, .financial-snapshot-dock, .financial-snapshot-metrics, .financial-decision-panel, .financial-decision-metrics, .financial-workbench, .financial-command-board, .financial-command-grid, .financial-thesis-grid, .financial-action-list, .financial-deal-lens-grid, .financial-indicator-cards, .financial-indicator-groups, .refresh-status-grid, .xbrl-validation, .xbrl-validation-grid, .xbrl-grid, .periodic-lens-board, .periodic-lens-grid, .periodic-question-grid, .periodic-workflow-rail, .periodic-workflow-steps, .periodic-action-queue, .periodic-action-list, .event-brief, .event-brief-grid, .event-question-grid, .event-workflow-rail, .event-workflow-steps, .event-lens-board, .event-lens-grid, .event-source-family-board, .event-action-queue, .event-action-list, .ownership-brief, .ownership-brief-grid, .ownership-question-grid, .ownership-workflow-rail, .ownership-workflow-steps, .ownership-lens-board, .ownership-lens-grid, .ownership-action-queue, .ownership-action-list, .diligence-grid, .financial-kpis, .thesis-grid, .coverage-grid, .source-decision-card, .source-group-matrix, .business-profile-grid, .capital-diagnostic-grid, .integration-grid, .memo-grid, .brief-grid, .brief-financial-rail, .brief-financial-metrics, .report-financial-strip, .report-type-grid, .report-studio-main, .report-studio-steps, .report-studio-kpis, .file-row, .report-desk, .report-history-layout, .candidate-grid, .event-board, .ownership-board, .board-grid, .monitor-grid, .mini-metrics, .pipeline-shell, .pipeline-list, .lifecycle-strip, .queue-state, .search-result-grid, .catalog-command-board, .catalog-command-grid, .catalog-surface-map, .catalog-surface-row, .outcome-board, .outcome-grid { grid-template-columns: 1fr; }
      .financial-route-head { align-items: flex-start; flex-direction: column; }
      .financial-overview-details summary { align-items: flex-start; flex-direction: column; }
      .financial-overview-details summary span { text-align: left; }
      .event-detail-details summary { align-items: flex-start; flex-direction: column; }
      .event-detail-details summary span { text-align: left; }
      .ownership-detail-details summary { align-items: flex-start; flex-direction: column; }
      .ownership-detail-details summary span { text-align: left; }
      .summary-detail-details summary { align-items: flex-start; flex-direction: column; }
      .summary-detail-details summary span { text-align: left; }
      .compare-decision-head { align-items: flex-start; flex-direction: column; }
      .compare-priority-head { align-items: flex-start; flex-direction: column; }
      .compare-priority-item { grid-template-columns: 30px minmax(0, 1fr); }
      .compare-priority-item .stack-actions { grid-column: 1 / -1; }
      .capital-screener-shell,
      .capital-workspace-grid,
      .capital-market-board-grid,
      .capital-market-candidates,
      .capital-explore-grid,
      .capital-note-form,
      .capital-date-grid {
        grid-template-columns: 1fr;
      }
      .capital-market-board-head,
      .capital-market-board-foot,
      .explore-head {
        align-items: flex-start;
        flex-direction: column;
      }
      .explore-tabs {
        width: 100%;
      }
      .explore-tab {
        flex: 1;
        min-width: 0;
      }
      .capital-filter-panel {
        position: static;
      }
      .diligence-actions { align-items: flex-start; flex-direction: column; }
      .topbar { align-items: flex-start; flex-direction: column; }
      .top-actions { justify-content: flex-start; width: 100%; }
      .session-actions { justify-content: flex-end; width: 100%; }
      .quick-search { grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
      .workflow-head { flex-direction: column; }
      .selected-dock { align-items: flex-start; flex-direction: column; }
      .dd-header { grid-template-columns: 1fr; }
      .dd-path { grid-template-columns: repeat(3, 1fr); }
      .dd-memo { grid-template-columns: 1fr; }
    }

.company-tabbar {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      margin-bottom: 12px;
      padding: 10px;
      display: grid;
      gap: 8px;
    }
    .company-tabbar-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      font-size: 13px;
    }
    .company-tabs {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      padding-bottom: 2px;
    }
    .company-tab-shell {
      min-width: 280px;
      width: 320px;
      border: 1px solid #dce2e7;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 7px;
      position: relative;
      display: grid;
      gap: 7px;
    }
    .company-tab-shell.active {
      border-color: var(--strong);
      background: #f0f8f7;
    }
    .company-tab {
      width: 100%;
      min-height: 62px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      text-align: left;
      padding: 7px 28px 7px 8px;
      border: 0;
      background: transparent;
      box-shadow: none;
    }
    .company-tab small {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 650;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .company-tab em {
      min-width: 34px;
      text-align: center;
      font-style: normal;
      color: var(--strong);
      font-weight: 900;
    }
    .tab-close {
      position: absolute;
      top: 7px;
      right: 7px;
      display: grid;
      place-items: center;
      width: 22px;
      height: 22px;
      border: 0;
      border-radius: 50%;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
    }
    .tab-close:hover {
      background: #eef2f4;
      color: var(--bad);
    }
    .company-tab-actions {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 5px;
    }
    .company-tab-actions .action-button {
      min-width: 0;
      width: 100%;
      padding-inline: 6px;
      font-size: 11px;
    }
    .file-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      margin: 0 0 12px;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .file-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .file-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .file-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-file-subpane][hidden] {
      display: none !important;
    }
    .analysis-briefing {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfdfd;
      padding: 14px;
      margin-bottom: 12px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 280px;
      gap: 12px;
      align-items: start;
    }
    .analysis-question {
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .analysis-question h2 {
      margin: 0;
      font-size: 16px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .analysis-question p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .analysis-facts {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 7px;
    }
    .analysis-fact {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 8px;
      min-width: 0;
    }
    .analysis-fact span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .analysis-fact strong {
      display: block;
      margin-top: 3px;
      font-size: 15px;
      line-height: 1;
    }
    .analysis-fact.strong {
      background: #eef8f6;
      border-color: #c7e0dd;
    }
    .analysis-financial-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
    }
    .analysis-financial-strip button {
      min-width: 0;
      min-height: 74px;
      padding: 8px;
      display: grid;
      gap: 3px;
      justify-items: start;
      align-content: center;
      text-align: left;
      background: #fff;
      border-color: #dce7e8;
    }
    .analysis-financial-strip span,
    .analysis-financial-strip small,
    .analysis-financial-next span,
    .analysis-financial-next small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      line-height: 1.3;
    }
    .analysis-financial-strip strong {
      max-width: 100%;
      font-size: 16px;
      line-height: 1.05;
      overflow-wrap: anywhere;
    }
    .analysis-financial-strip small,
    .analysis-financial-next small {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .analysis-financial-next {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 9px;
      display: grid;
      gap: 4px;
    }
    .analysis-financial-next strong {
      font-size: 13px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .analysis-blockers {
      display: grid;
      gap: 6px;
    }
    .analysis-blocker {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 8px;
      font-size: 12px;
      line-height: 1.35;
    }
    .analysis-next {
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .analysis-next .score {
      width: 100%;
      min-width: 0;
    }
    .analysis-next button,
    .analysis-next .button-link {
      width: 100%;
    }
    .analysis-entry-toolbar {
      display: grid;
      grid-template-columns: minmax(120px, .5fr) minmax(180px, 1fr) auto auto;
      align-items: end;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .analysis-entry-label {
      align-self: center;
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }
    .analysis-entry-toolbar .field {
      min-width: 0;
    }
    .analysis-entry-toolbar input {
      min-height: 38px;
      font-size: 15px;
    }
    .analysis-entry-toolbar .action-button {
      min-height: 38px;
    }
    .company-workroom-board {
      display: grid;
      gap: 10px;
      margin: 0 0 12px;
      padding: 12px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fff;
    }
    .company-workroom-head {
      display: grid;
      gap: 2px;
    }
    .company-workroom-head strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1.2;
    }
    .company-workroom-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .company-workroom-snapshot {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 6px;
      padding-top: 4px;
    }
    .company-workroom-snapshot-cell {
      min-width: 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 6px;
      align-items: center;
      padding: 8px 9px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fbfcfd;
      text-align: left;
      cursor: pointer;
    }
    .company-workroom-snapshot-cell span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .company-workroom-snapshot-cell strong {
      color: var(--ink);
      font-size: 15px;
      line-height: 1;
    }
    .analysis-workspace-composer {
      display: grid;
      gap: 12px;
      margin: 0 0 12px;
      padding: 14px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .analysis-composer-empty {
      display: grid;
      gap: 4px;
    }
    .analysis-composer-empty strong,
    .analysis-composer-head strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1.25;
    }
    .analysis-composer-empty small,
    .analysis-composer-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.4;
    }
    .analysis-composer-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: start;
    }
    .analysis-composer-head > div:first-child {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .analysis-composer-actions {
      display: flex;
      gap: 8px;
      justify-content: flex-end;
      flex-wrap: wrap;
    }
    .analysis-progress-rail {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .analysis-progress-step {
      min-width: 0;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 7px;
      align-items: center;
      padding: 8px 9px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-progress-step b {
      display: grid;
      place-items: center;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: #eef3f3;
      color: var(--muted);
      font-size: 11px;
    }
    .analysis-progress-step span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      overflow-wrap: anywhere;
    }
    .analysis-progress-step.done b,
    .analysis-progress-step.active b {
      background: var(--ink);
      color: #fff;
    }
    .analysis-progress-step.active {
      border-color: #bfd8d7;
      background: #f0f8f7;
    }
    .analysis-selected-scope {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 10px;
      align-items: center;
      padding: 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-selected-scope > span,
    .analysis-scope-section-title span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }
    .analysis-selected-scope > div {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }
    .analysis-selected-scope button {
      border: 1px solid #cbdfe0;
      border-radius: 999px;
      background: #f0f8f7;
      color: var(--strong);
      padding: 6px 9px;
      font-size: 12px;
      font-weight: 850;
      cursor: pointer;
    }
    .analysis-report-board {
      display: grid;
      gap: 10px;
      padding: 12px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-report-board-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
    }
    .analysis-report-board-head strong {
      display: block;
      color: var(--ink);
      font-size: 15px;
      line-height: 1.25;
    }
    .analysis-report-board-actions {
      display: flex;
      gap: 8px;
      justify-content: flex-end;
      flex-wrap: wrap;
    }
    .analysis-readiness-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .analysis-readiness-strip div {
      min-width: 0;
      display: grid;
      gap: 3px;
      padding: 8px 9px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .analysis-readiness-strip span,
    .analysis-missing-list span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .analysis-readiness-strip strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1;
    }
    .analysis-missing-list {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      align-items: center;
      min-height: 32px;
    }
    .analysis-missing-list button {
      border: 1px solid #d9e4e6;
      border-radius: 7px;
      background: #fff;
      color: var(--strong);
      padding: 7px 9px;
      font-size: 12px;
      font-weight: 850;
      cursor: pointer;
    }
    .analysis-report-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 8px;
    }
    .analysis-report-card {
      min-width: 0;
      min-height: 126px;
      display: grid;
      gap: 10px;
      padding: 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .analysis-report-card.done {
      border-color: #cfe4d8;
      background: #f4faf7;
    }
    .analysis-report-card.running {
      border-color: #e7d9ae;
      background: #fffaf0;
    }
    .analysis-report-card.failed {
      border-color: #e5c0ba;
      background: #fff7f5;
    }
    .analysis-report-card span,
    .analysis-report-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      line-height: 1.35;
    }
    .analysis-report-card strong {
      display: block;
      margin: 3px 0;
      color: var(--ink);
      font-size: 14px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .analysis-report-actions {
      display: flex;
      gap: 7px;
      flex-wrap: wrap;
      align-self: end;
    }
    .analysis-scope-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr);
      gap: 12px;
      align-items: start;
    }
    .analysis-flow-shell {
      display: grid;
      gap: 10px;
      padding: 12px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .analysis-flow-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
    }
    .analysis-flow-head strong {
      color: var(--ink);
      font-size: 20px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .analysis-flow-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 6px;
    }
    .analysis-workbench-layout {
      display: grid;
      grid-template-columns: 220px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
    }
    .analysis-side-nav {
      position: sticky;
      top: 74px;
      display: grid;
      gap: 10px;
      padding: 10px;
      border: 1px solid #dce8e8;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-nav-group {
      display: grid;
      gap: 5px;
    }
    .analysis-nav-group > span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .analysis-nav-button {
      min-width: 0;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 7px;
      align-items: center;
      min-height: 38px;
      padding: 7px 8px;
      border: 1px solid transparent;
      border-radius: 7px;
      background: transparent;
      color: var(--ink);
      text-align: left;
      cursor: pointer;
    }
    .analysis-nav-button:hover {
      background: #f1f6f6;
    }
    .analysis-nav-button.active {
      border-color: #bfd8d7;
      background: #e8f5f3;
    }
    .analysis-nav-button.excluded {
      color: #8b989c;
    }
    .analysis-nav-button b {
      display: grid;
      place-items: center;
      width: 22px;
      height: 22px;
      border-radius: 999px;
      background: #102727;
      color: #fff;
      font-size: 10px;
      line-height: 1;
    }
    .analysis-nav-button span {
      min-width: 0;
      font-size: 13px;
      font-weight: 850;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .analysis-nav-button small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      white-space: nowrap;
    }
    .analysis-scope-dock {
      display: grid;
      gap: 10px;
      min-width: 0;
    }
    .analysis-command-center {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
      gap: 14px;
      align-items: stretch;
      padding: 16px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .analysis-command-main {
      min-width: 0;
      display: grid;
      gap: 10px;
      align-content: start;
    }
    .analysis-command-main strong {
      color: var(--ink);
      font-size: 24px;
      line-height: 1.18;
      overflow-wrap: anywhere;
    }
    .analysis-command-main p {
      max-width: 76ch;
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.5;
    }
    .analysis-command-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .analysis-command-side {
      display: grid;
      gap: 10px;
      align-content: start;
      padding: 12px;
      border: 1px solid #dce8e8;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-command-side > span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
    }
    .analysis-stage-map {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 8px;
      margin-top: 10px;
    }
    .analysis-stage-card {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      grid-template-areas:
        "num title"
        "num desc";
      gap: 3px 9px;
      min-height: auto;
      padding: 12px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
      text-align: left;
      cursor: pointer;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .analysis-stage-card.active {
      border-color: #b9d4d3;
      background: #f1f8f7;
    }
    .analysis-stage-card b {
      grid-area: num;
      display: grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: #102727;
      color: #fff;
      font-size: 13px;
      line-height: 1;
    }
    .analysis-stage-card span {
      grid-area: title;
      color: var(--ink);
      font-size: 14px;
      font-weight: 850;
      line-height: 1.35;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .analysis-stage-card small {
      grid-area: desc;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.48;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .analysis-selected-scope.inline {
      display: block;
      margin: 0;
      padding: 0;
      border: 0;
      background: transparent;
    }
    .analysis-selected-scope.inline div {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .analysis-selected-scope.inline button {
      border: 1px solid #d9e4e6;
      background: #f8fafb;
      color: var(--ink);
    }
    .analysis-scope-section-title {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: baseline;
      margin-bottom: 8px;
    }
    .analysis-scope-section-title strong {
      color: var(--ink);
      font-size: 14px;
    }
    .analysis-scope-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 8px;
    }
    .analysis-scope-grid.compact {
      grid-template-columns: 1fr;
    }
    .analysis-scope-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      min-width: 0;
      padding: 10px;
      border: 1px solid #e0e8e9;
      border-radius: 8px;
      background: #fff;
    }
    .analysis-scope-card.included {
      border-color: #bfd8d7;
      background: #f4fbfa;
    }
    .analysis-scope-main {
      min-width: 0;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
      display: grid;
      gap: 5px;
      justify-items: start;
      text-align: left;
      cursor: pointer;
      min-height: auto;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .analysis-scope-main span,
    .analysis-scope-main small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      line-height: 1.4;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .analysis-scope-main strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.42;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .analysis-scope-toggle {
      justify-self: start;
      min-width: 56px;
      min-height: 32px;
      padding: 6px 12px;
      border: 1px solid #d9e4e6;
      border-radius: 7px;
      background: #f8fafb;
      color: var(--muted);
      font-size: 12px;
      font-weight: 850;
      cursor: pointer;
      white-space: nowrap;
      overflow: visible;
      text-overflow: clip;
    }
    .analysis-scope-card.included .analysis-scope-toggle {
      color: var(--strong);
      background: #e8f5f3;
      border-color: #bfd8d7;
    }
    .analysis-detail-toggle {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin: 8px 0 12px;
      padding: 10px 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .analysis-focus-bar {
      position: static;
      z-index: auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
      gap: 10px;
      align-items: center;
      margin: -4px 0 10px;
      padding: 10px 12px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .analysis-focus-bar div {
      min-width: 0;
      display: grid;
      gap: 2px;
    }
    .analysis-focus-bar strong {
      font-size: 15px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .analysis-focus-bar strong em {
      color: var(--muted);
      font-style: normal;
      font-weight: 750;
    }
    .analysis-focus-bar small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
      line-height: 1.35;
    }
    .analysis-focus-profile {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 5px;
    }
    .analysis-focus-profile span {
      max-width: 100%;
      border: 1px solid #d8e5e6;
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
      padding: 5px 8px;
      font-size: 11px;
      font-weight: 800;
      line-height: 1.3;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .analysis-focus-bar .action-button,
    .analysis-focus-bar .button-link {
      min-width: 136px;
    }
    .analysis-focus-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
      min-width: 0;
    }
    .analysis-focus-actions .action-button {
      min-height: 36px;
    }
    .analysis-detail-toggle strong,
    .analysis-detail-toggle span {
      display: block;
    }
    .analysis-detail-toggle strong {
      font-size: 13px;
    }
    .analysis-detail-toggle span {
      margin-top: 2px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 650;
    }
    body:not(.analysis-details-expanded) .analysis-detail-pane {
      display: none !important;
    }
    body:not(.analysis-company-selected) #company > :not(#companyTabBar):not(#companyWorkroomBoard):not(#analysisWorkspaceComposer) {
      display: none !important;
    }
    body:not(.analysis-company-selected) #company .analysis-entry-toolbar {
      display: none !important;
    }
    body.analysis-external-pane #company > :not(#companyTabBar):not(#analysisModeSwitch):not(.selected-banner):not(#analysisFocusBar) {
      display: none !important;
    }
    body.analysis-external-pane #company {
      margin-bottom: 12px;
    }
    .analysis-hero {
      display: grid;
      grid-template-columns: 260px minmax(0, 1fr) 240px;
      gap: 12px;
      margin-bottom: 12px;
      align-items: stretch;
    }
    .summary-detail-details {
      display: grid;
      gap: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .summary-detail-details summary {
      min-height: 52px;
      padding: 12px;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      cursor: pointer;
      list-style: none;
    }
    .summary-detail-details summary::-webkit-details-marker {
      display: none;
    }
    .summary-detail-details summary strong {
      color: var(--ink);
      font-size: 14px;
      line-height: 1.25;
    }
    .summary-detail-details summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.35;
      text-align: right;
    }
    .summary-detail-details summary::after {
      content: "열기";
      flex: 0 0 auto;
      padding: 5px 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--strong);
      font-size: 11px;
      font-weight: 850;
      background: #f7fbfb;
    }
    .summary-detail-details[open] summary {
      border-bottom: 1px solid #e2eaec;
    }
    .summary-detail-details[open] summary::after {
      content: "접기";
    }
    .summary-detail-details > .analysis-hero,
    .summary-detail-details > .brief-markdown {
      margin: 0;
      padding: 12px;
    }
    .score-panel {
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f0f8f7;
      padding: 14px;
      display: grid;
      gap: 10px;
    }
    .score-panel strong {
      font-size: 18px;
      line-height: 1;
      color: var(--strong);
    }
    .score-panel span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .analysis-command {
      display: grid;
      grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr) 260px;
      gap: 12px;
      margin-bottom: 12px;
      align-items: start;
    }
    .file-header {
      border: 1px solid #c9dfe0;
      border-radius: 8px;
      background: #f7fbfb;
      padding: 14px;
      margin-bottom: 12px;
      display: grid;
      grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr) 260px;
      gap: 12px;
      align-items: start;
    }
    .file-status {
      display: grid;
      gap: 9px;
      min-width: 0;
    }
    .file-status strong {
      font-size: 18px;
      line-height: 1;
      color: var(--strong);
    }
    .file-status h2 {
      margin: 0;
      font-size: 18px;
      overflow-wrap: anywhere;
    }
    .file-profile-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 7px;
      margin-top: 2px;
    }
    .file-profile-chip {
      min-width: 0;
      padding: 8px 9px;
      border: 1px solid #d8e5e6;
      border-radius: 8px;
      background: #fff;
      display: grid;
      gap: 3px;
      align-content: start;
    }
    .file-profile-chip span {
      color: var(--muted);
      font-size: 10px;
      font-weight: 850;
      line-height: 1.2;
    }
    .file-profile-chip strong {
      color: var(--ink);
      font-size: 12px;
      font-weight: 850;
      line-height: 1.3;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .file-readiness {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .file-actions {
      display: grid;
      gap: 8px;
    }
    .file-actions button,
    .file-actions .button-link {
      width: 100%;
      min-height: 38px;
    }
    .progress-board {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-bottom: 12px;
    }
    .progress-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      padding: 12px;
      display: grid;
      gap: 8px;
      min-width: 0;
    }
    .progress-card h3 {
      margin: 0;
      font-size: 13px;
    }
    .progress-card strong {
      font-size: 18px;
      line-height: 1;
    }
    .progress-card button,
    .progress-card .button-link {
      width: 100%;
    }
    .decision-path {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 12px;
    }
    .decision-step {
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      font-size: 12px;
    }
    .decision-step b,
    .decision-step .muted {
      display: block;
      overflow-wrap: anywhere;
    }
    .decision-step .stack-actions {
      margin-top: 6px;
    }
    .analysis-mode-switch {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 8px;
    }
    .analysis-mode-card {
      min-height: 40px;
      padding: 7px 10px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
      justify-items: start;
      text-align: left;
      background: #fff;
      border-color: var(--line);
      border-width: 1px;
      flex: 0 1 360px;
    }
    .analysis-mode-card span,
    .analysis-mode-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .analysis-mode-card strong {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 13px;
      color: var(--ink);
    }
    .analysis-mode-card.active {
      border-color: var(--strong);
      background: #f0f8f7;
      box-shadow: inset 0 0 0 1px rgba(14, 111, 103, .18);
    }
    .analysis-pane[hidden] {
      display: none !important;
    }
    .financial-snapshot-dock {
      display: grid;
      grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr) auto;
      gap: 8px;
      align-items: stretch;
      margin: 0 0 12px;
      padding: 10px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .financial-snapshot-head {
      display: grid;
      gap: 3px;
      align-content: center;
      min-width: 0;
    }
    .financial-snapshot-head strong,
    .financial-snapshot-head small {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .financial-snapshot-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .financial-snapshot-metrics {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 6px;
      min-width: 0;
    }
    .financial-snapshot-card {
      min-height: 54px;
      padding: 8px;
      display: grid;
      gap: 4px;
      justify-items: start;
      align-content: center;
      border-color: #dce7e8;
      background: #fff;
      text-align: left;
    }
    .financial-snapshot-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-snapshot-card strong {
      display: block;
      max-width: 100%;
      font-size: 15px;
      line-height: 1.15;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .financial-snapshot-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      line-height: 1.25;
    }
    .financial-snapshot-dock > .action-button {
      min-width: 112px;
      height: 100%;
    }
    @media (max-width: 980px) {
      .analysis-focus-bar {
        position: static;
        grid-template-columns: 1fr;
      }
      .file-profile-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .analysis-flow-head,
      .analysis-workbench-layout {
        grid-template-columns: 1fr;
      }
      .analysis-side-nav {
        position: static;
      }
    }

.financial-workbench {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
      gap: 12px;
      align-items: start;
    }
    .financial-workbench.single {
      grid-template-columns: minmax(0, 1fr);
    }
    .financial-overview-source {
      margin-top: 2px;
      padding-top: 12px;
      border-top: 1px solid #dce7e8;
    }
    .financial-workbench h3 {
      margin: 0 0 8px;
      font-size: 14px;
    }
    .financial-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      margin: -2px 0 14px;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .financial-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .financial-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .financial-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    .financial-subpane {
      display: grid;
      gap: 12px;
      animation: fadeIn .15s ease;
    }
    .financial-subpane[hidden],
    [data-financial-subpane][hidden] {
      display: none !important;
    }
    .financial-route-board {
      display: grid;
      gap: 10px;
      margin-bottom: 0;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .financial-route-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
      padding-bottom: 10px;
      border-bottom: 1px solid #edf1f3;
    }
    .financial-route-head > div {
      display: grid;
      gap: 4px;
      min-width: 0;
    }
    .financial-route-head strong {
      color: var(--ink);
      font-size: 15px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .financial-route-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .financial-route-steps {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-route-step {
      min-width: 0;
      display: grid;
      grid-template-columns: 24px minmax(0, 1fr);
      gap: 7px;
      align-items: start;
      padding: 9px;
      border: 1px solid #e6ecee;
      border-radius: 8px;
      background: #fff;
    }
    .financial-route-step b {
      width: 24px;
      height: 24px;
      display: inline-grid;
      place-items: center;
      border-radius: 999px;
      background: var(--ink);
      color: #fff;
      font-size: 12px;
    }
    .financial-route-step div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-route-step span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-route-step strong {
      color: var(--strong);
      font-size: 15px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .financial-route-step em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .financial-route-step .action-button {
      grid-column: 1 / -1;
      width: 100%;
    }
    .financial-overview-details {
      display: grid;
      gap: 10px;
      margin-top: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .financial-overview-details summary {
      min-height: 52px;
      padding: 12px;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      cursor: pointer;
      list-style: none;
    }
    .financial-overview-details summary::-webkit-details-marker {
      display: none;
    }
    .financial-overview-details summary strong {
      color: var(--ink);
      font-size: 14px;
      line-height: 1.25;
    }
    .financial-overview-details summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.35;
      text-align: right;
    }
    .financial-overview-details summary::after {
      content: "열기";
      flex: 0 0 auto;
      padding: 5px 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--strong);
      font-size: 11px;
      font-weight: 850;
      background: #f7fbfb;
    }
    .financial-overview-details[open] summary {
      border-bottom: 1px solid #e2eaec;
    }
    .financial-overview-details[open] summary::after {
      content: "접기";
    }
    .financial-overview-detail-grid {
      display: grid;
      gap: 12px;
      padding: 12px;
    }
    .financial-number-brief {
      display: grid;
      grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr);
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .financial-number-head {
      display: grid;
      align-content: center;
      gap: 5px;
      min-width: 0;
    }
    .financial-number-head strong {
      font-size: 20px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .financial-number-head small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
      font-weight: 750;
    }
    .financial-number-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-number-card {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .financial-number-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-number-card strong {
      font-size: 22px;
      line-height: 1.12;
      overflow-wrap: anywhere;
    }
    .financial-number-card em,
    .financial-number-card small {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .financial-number-card em {
      color: var(--ink);
      font-weight: 750;
    }
    .financial-number-card .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .empty-action-panel {
      min-width: 0;
      display: grid;
      gap: 8px;
      align-content: center;
      padding: 12px;
      border: 1px dashed #b8d0d2;
      border-radius: 8px;
      background: #ffffff;
    }
    .empty-action-panel b {
      color: var(--strong);
      font-size: 14px;
    }
    .empty-action-panel span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
      font-weight: 750;
    }
    .empty-action-panel .action-button {
      justify-self: start;
    }
    .refresh-status-panel {
      min-width: 0;
      display: grid;
      gap: 10px;
      padding: 12px;
      border: 1px solid #d7e2e4;
      border-radius: 8px;
      background: #f8fbfb;
    }
    .refresh-status-panel.running,
    .refresh-status-panel.queued,
    .refresh-status-panel.pending {
      border-color: #bfd5f5;
      background: #f3f8ff;
    }
    .refresh-status-panel.failed,
    .refresh-status-panel.done_empty {
      border-color: #ffd2ca;
      background: #fff7f5;
    }
    .refresh-status-panel strong,
    .refresh-status-panel small {
      display: block;
      min-width: 0;
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .refresh-status-panel strong {
      margin-top: 6px;
      color: var(--strong);
      font-size: 13px;
      line-height: 1.45;
    }
    .refresh-status-panel small {
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .refresh-status-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .refresh-status-grid div {
      min-width: 0;
      display: grid;
      gap: 3px;
      padding: 8px;
      border: 1px solid #e1e8ea;
      border-radius: 8px;
      background: #fff;
    }
    .refresh-status-grid span,
    .refresh-status-grid strong {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .refresh-status-grid span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
    }
    .refresh-status-grid strong {
      margin: 0;
      font-size: 12px;
    }
    .financial-question-board {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .financial-question-board:empty {
      display: none;
    }
    .financial-question-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .financial-question-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-question-head strong {
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-question-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .financial-question-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 8px;
    }
    .financial-question-card {
      min-height: auto;
      padding: 10px;
      display: grid;
      gap: 6px;
      align-content: start;
      justify-items: start;
      text-align: left;
      background: #fff;
      border-color: #dce7e8;
      white-space: normal;
      overflow: visible;
    }
    .financial-question-card span {
      color: var(--strong);
      font-size: 11px;
      font-weight: 900;
    }
    .financial-question-card strong {
      font-size: 13px;
      line-height: 1.35;
      color: var(--ink);
      overflow-wrap: anywhere;
    }
    .financial-question-card em {
      color: var(--ink);
      font-size: 16px;
      font-style: normal;
      font-weight: 900;
      line-height: 1.25;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .financial-question-card small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .financial-statement-summary {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #fff;
    }
    .financial-statement-summary:empty {
      display: none;
    }
    .financial-statement-summary-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .financial-statement-summary-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-statement-summary-head strong {
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-statement-summary-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .financial-statement-summary-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    .financial-statement-summary table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
      font-size: 12px;
    }
    .financial-statement-summary caption {
      padding: 0 0 6px;
      color: var(--ink);
      font-weight: 850;
      text-align: left;
    }
    .financial-statement-summary th,
    .financial-statement-summary td {
      padding: 8px 6px;
      border-top: 1px solid #edf1f3;
      text-align: left;
      vertical-align: top;
      overflow-wrap: anywhere;
    }
    .financial-statement-summary th {
      width: 28%;
      color: var(--muted);
      font-weight: 800;
    }
    .financial-statement-summary td:nth-child(2) {
      width: 36%;
      color: var(--ink);
      font-weight: 850;
    }
    .financial-statement-summary td:nth-child(3) {
      color: var(--muted);
    }
    .financial-issue-brief {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .financial-issue-brief:empty {
      display: none;
    }
    .financial-issue-head,
    .financial-issue-empty {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .financial-issue-empty {
      display: grid;
    }
    .financial-issue-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-issue-head strong,
    .financial-issue-empty strong {
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-issue-list {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 8px;
    }
    .financial-issue-card {
      display: grid;
      gap: 5px;
      min-width: 0;
      padding: 10px;
      border: 1px solid #edf1f3;
      border-radius: 8px;
      background: #fbfcfd;
      align-content: start;
      white-space: normal;
      overflow: visible;
    }
    .financial-issue-card.warn {
      border-color: #ead3a7;
      background: #fff8e8;
    }
    .financial-issue-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-issue-card strong {
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .financial-issue-card em,
    .financial-issue-card small {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .financial-api-coverage-brief {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .financial-api-coverage-brief:empty {
      display: none;
    }
    .financial-api-coverage-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .financial-api-coverage-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-api-coverage-head strong {
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-api-coverage-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .financial-api-coverage-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-api-coverage-card {
      min-height: 104px;
      align-items: start;
      justify-content: start;
      display: grid;
      gap: 4px;
      padding: 10px;
      text-align: left;
      white-space: normal;
    }
    .financial-api-coverage-card span,
    .financial-api-coverage-card em,
    .financial-api-coverage-card small {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .financial-api-coverage-card strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .financial-summary-list {
      display: grid;
      gap: 8px;
      margin-bottom: 10px;
    }
    .financial-summary-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto auto;
      gap: 8px;
      align-items: center;
      padding: 9px 0;
      border-bottom: 1px solid var(--surface-2);
      font-size: 12px;
    }
    .financial-summary-row span {
      color: var(--muted);
      overflow-wrap: anywhere;
    }
    .financial-summary-row strong {
      color: var(--ink);
      font-size: 13px;
      overflow-wrap: anywhere;
    }
    .financial-summary-row small {
      color: var(--muted);
      font-weight: 750;
    }
    .financial-indicator-analysis {
      display: grid;
      gap: 12px;
      margin-bottom: 14px;
      padding: 14px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
    }
    .financial-indicator-analysis.empty {
      gap: 4px;
    }
    .financial-indicator-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
    }
    .financial-indicator-head > div {
      display: grid;
      gap: 3px;
    }
    .financial-indicator-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-indicator-cards {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-indicator-card {
      display: grid;
      gap: 6px;
      min-height: 126px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      align-content: start;
    }
    .financial-indicator-card.good {
      border-color: #c9ead9;
      background: #f5fbf8;
    }
    .financial-indicator-card.watch {
      border-color: #d7e0f5;
      background: #f6f8fe;
    }
    .financial-indicator-card.risk {
      border-color: #f1c8c1;
      background: #fff7f5;
    }
    .financial-indicator-card span,
    .financial-indicator-card small {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .financial-indicator-card strong {
      color: var(--ink);
      font-size: 20px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .financial-indicator-groups {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .financial-indicator-groups section {
      display: grid;
      gap: 8px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
      min-width: 0;
    }
    .financial-indicator-groups h4 {
      margin: 0;
      color: var(--ink);
      font-size: 13px;
    }
    .financial-indicator-groups p {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 4px 8px;
      margin: 0;
      padding-top: 8px;
      border-top: 1px solid #eef2f4;
      align-items: start;
    }
    .financial-indicator-groups p:first-child {
      border-top: 0;
      padding-top: 0;
    }
    .financial-indicator-groups b,
    .financial-indicator-groups span,
    .financial-indicator-groups small {
      overflow-wrap: anywhere;
    }
    .financial-indicator-groups b {
      color: var(--ink);
      font-size: 12px;
    }
    .financial-indicator-groups span {
      color: var(--strong);
      font-size: 13px;
      font-weight: 850;
    }
    .financial-indicator-groups small {
      grid-column: 1 / -1;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .financial-diligence {
      display: grid;
      gap: 8px;
      margin-bottom: 12px;
    }
    .financial-decision-panel {
      display: grid;
      grid-template-columns: minmax(180px, .65fr) minmax(190px, .75fr) minmax(0, 1.45fr) minmax(240px, .9fr);
      gap: 10px;
      margin-bottom: 12px;
    }
    .financial-decision-main,
    .financial-gate,
    .financial-decision-next,
    .financial-decision-metric {
      min-width: 0;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 12px;
    }
    .financial-decision-main {
      background: #eef8f6;
      border-color: #c7e0dd;
      display: grid;
      align-content: center;
      gap: 6px;
    }
    .financial-workflow-rail {
      display: grid;
      grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
      gap: 10px;
      align-items: stretch;
      margin-bottom: 12px;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
    }
    .financial-workflow-head {
      display: grid;
      align-content: center;
      gap: 4px;
      min-width: 0;
    }
    .financial-workflow-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .financial-workflow-head small {
      color: var(--muted);
      overflow-wrap: anywhere;
    }
    .financial-workflow-steps {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-workflow-step {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 9px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .financial-workflow-step.empty {
      background: #f7faf9;
      color: var(--muted);
    }
    .financial-workflow-step span,
    .financial-workflow-step em {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      font-weight: 800;
    }
    .financial-workflow-step strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .financial-workflow-step .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .financial-gate {
      display: grid;
      align-content: center;
      gap: 6px;
      background: #fbfdfd;
    }
    .financial-gate.ok {
      background: #f3faf7;
      border-color: #cfe8dc;
    }
    .financial-gate.warn {
      background: #fffaf0;
      border-color: #f1dfba;
    }
    .financial-decision-main span,
    .financial-gate span,
    .financial-decision-next span,
    .financial-decision-metric span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-decision-main strong,
    .financial-gate strong {
      font-size: 17px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .financial-decision-main small,
    .financial-gate em,
    .financial-gate small,
    .financial-decision-next em,
    .financial-decision-next small,
    .financial-decision-metric em,
    .financial-decision-metric small {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .financial-decision-metrics {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-decision-metric {
      display: grid;
      gap: 5px;
    }
    .financial-decision-metric.ok {
      background: #f3faf7;
      border-color: #cfe8dc;
    }
    .financial-decision-metric.warn {
      background: #fffaf0;
      border-color: #f1dfba;
    }
    .financial-decision-metric strong {
      font-size: 19px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .financial-decision-next {
      display: grid;
      gap: 6px;
    }
    .financial-decision-next strong {
      font-size: 14px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .financial-command-board {
      display: grid;
      grid-template-columns: minmax(180px, .7fr) minmax(0, 1.8fr) minmax(180px, .8fr);
      gap: 8px;
      align-items: stretch;
    }
    .financial-command-status,
    .financial-command-card,
    .financial-command-flags {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 10px;
      min-width: 0;
    }
    .financial-command-status span,
    .financial-command-card span,
    .financial-command-flags span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-command-status strong,
    .financial-command-card strong {
      display: block;
      margin-top: 5px;
      font-size: 18px;
      line-height: 1.15;
      overflow-wrap: anywhere;
    }
    .financial-command-status em,
    .financial-command-card em,
    .financial-command-card small {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .financial-command-card small,
    .financial-decision-metric small {
      color: var(--ink);
      font-weight: 750;
    }
    .financial-command-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-command-card.ok {
      background: #f3faf7;
      border-color: #cfe8dc;
    }
    .financial-command-card.warn {
      background: #fffaf0;
      border-color: #f1dfba;
    }
    .financial-command-flags ul {
      margin: 6px 0 0;
      padding-left: 16px;
      font-size: 12px;
      line-height: 1.45;
    }
    .financial-thesis-matrix {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 12px;
      display: grid;
      gap: 10px;
    }
    .financial-thesis-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .financial-thesis-head strong {
      font-size: 14px;
    }
    .financial-thesis-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-thesis-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      min-width: 0;
      display: grid;
      gap: 5px;
    }
    .financial-thesis-card.ok {
      border-color: #cfe8dc;
      background: #f3faf7;
    }
    .financial-thesis-card.warn {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .financial-thesis-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-thesis-card strong {
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .financial-thesis-card em,
    .financial-thesis-card small {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .financial-action-queue {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
      padding: 12px;
      display: grid;
      gap: 10px;
    }
    .financial-action-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .financial-action-head strong {
      display: block;
      font-size: 14px;
    }
    .financial-action-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .financial-action-item {
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      gap: 8px;
      min-width: 0;
      padding: 9px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .financial-action-item.warn {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .financial-action-item > b {
      display: grid;
      place-items: center;
      width: 26px;
      height: 26px;
      border-radius: 50%;
      background: #eef2f4;
      color: var(--ink);
      font-size: 12px;
    }
    .financial-action-item span,
    .financial-action-item em,
    .financial-action-item small {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      line-height: 1.35;
    }
    .financial-action-item strong {
      display: block;
      margin: 3px 0;
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .diligence-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #f7fbfb;
      padding: 10px;
      font-size: 13px;
    }
    .diligence-actions span {
      display: block;
      margin-top: 2px;
    }
    .diligence-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 8px;
    }
    .diligence-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
      display: grid;
      gap: 6px;
      font-size: 12px;
    }
    .diligence-card.warn {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .diligence-card strong {
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .diligence-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.35;
    }
    .diligence-card span {
      color: var(--ink);
      line-height: 1.35;
    }
    .financial-statement {
      margin-top: 12px;
      border-top: 1px solid #edf0f2;
      padding-top: 12px;
    }
    .financial-statement h3 {
      margin: 0;
      font-size: 14px;
    }
    .financial-source-table {
      display: grid;
      gap: 10px;
    }
    .financial-source-table-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .financial-source-table-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .financial-source-table-head strong {
      color: var(--ink);
      font-size: 15px;
      line-height: 1.25;
    }
    .financial-source-table-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
    }
    .financial-kpis {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 10px;
    }
    .financial-kpi {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 9px;
      min-width: 0;
    }
    .financial-kpi span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
    }
    .financial-kpi strong {
      display: block;
      margin-top: 4px;
      font-size: 17px;
      line-height: 1.15;
      overflow-wrap: anywhere;
    }
    .key-accounts {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 12px;
      background: var(--surface);
      margin-top: 12px;
    }
    .key-accounts h3 {
      margin: 0;
      font-size: 15px;
    }
    .xbrl-coverage {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 12px;
      background: var(--surface);
      margin-top: 12px;
    }
    .xbrl-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
      margin-bottom: 10px;
    }
    .xbrl-head h3 {
      margin: 0 0 4px;
      font-size: 15px;
    }
    .xbrl-head p {
      margin: 0;
    }
    .xbrl-account-check {
      display: grid;
      gap: 10px;
      margin-bottom: 12px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 12px;
    }
    .xbrl-account-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: flex-start;
    }
    .xbrl-account-head strong {
      display: block;
      margin-top: 2px;
      font-size: 15px;
    }
    .xbrl-account-grid {
      display: grid;
      gap: 1px;
      border: 1px solid var(--line);
      border-radius: 8px;
      overflow: hidden;
      background: var(--line);
    }
    .xbrl-account-row {
      display: grid;
      grid-template-columns: minmax(150px, 1.05fr) minmax(140px, .9fr) minmax(150px, 1fr) minmax(110px, .7fr);
      gap: 10px;
      align-items: center;
      min-width: 0;
      padding: 9px 10px;
      background: #fff;
      font-size: 12px;
    }
    .xbrl-account-row.head {
      background: #f3f6f7;
      color: var(--muted);
      font-weight: 850;
    }
    .xbrl-account-row span,
    .xbrl-account-row b,
    .xbrl-account-row small,
    .xbrl-account-row em {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .xbrl-account-row small {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 650;
    }
    .xbrl-account-row em {
      display: inline-flex;
      width: fit-content;
      max-width: 100%;
      border-radius: 999px;
      padding: 3px 7px;
      background: #fff6db;
      color: #7a4b00;
      font-style: normal;
      font-weight: 850;
    }
    .xbrl-account-row em.ready {
      background: #eaf7f1;
      color: #16603d;
    }
    .xbrl-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr);
      gap: 12px;
    }
    .xbrl-candidate {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      padding: 9px 0;
      border-top: 1px solid var(--surface-2);
    }
    .xbrl-candidate:first-child {
      border-top: 0;
      padding-top: 0;
    }
    .xbrl-candidate strong,
    .xbrl-candidate span {
      display: block;
    }
    .xbrl-taxonomy {
      display: grid;
      gap: 8px;
    }
    .xbrl-taxonomy span {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 8px;
      background: var(--surface-2);
      font-size: 12px;
    }
    .xbrl-taxonomy b {
      display: inline-block;
      min-width: 36px;
      color: var(--strong);
    }
    .xbrl-taxonomy small {
      display: block;
      color: var(--muted);
      margin-top: 3px;
    }
    @media (max-width: 980px) {
      .financial-workflow-rail {
        grid-template-columns: minmax(0, 1fr);
      }
      .xbrl-account-head {
        display: grid;
      }
      .xbrl-account-row {
        grid-template-columns: 1fr;
        gap: 4px;
      }
      .xbrl-account-row.head {
        display: none;
      }
      .financial-workflow-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    @media (max-width: 720px) {
      .financial-workflow-steps {
        grid-template-columns: minmax(0, 1fr);
      }
    }

/* Financial collection progress panel — persistent feedback while the
   "재무 데이터 수집" task runs, so the user knows it is working. */
.financial-refresh-progress {
  display: none;
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  width: 320px;
  max-width: calc(100vw - 36px);
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #c9dfe0;
  border-radius: 12px;
  background: #f7fbfb;
  color: #23323d;
  box-shadow: 0 16px 40px rgba(16, 24, 32, .16);
  animation: fadeIn .2s ease;
}
.financial-refresh-progress.active { display: flex; }
.financial-refresh-progress.done { border-color: #b6dcc4; background: #f4fbf6; }
.financial-refresh-progress.error { border-color: #efb7b0; background: #fff6f4; }
.financial-refresh-progress .frp-spinner {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border: 2px solid var(--line);
  border-top-color: var(--strong);
  border-radius: 50%;
  animation: spin .6s linear infinite;
}
.financial-refresh-progress .frp-icon {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
}
.financial-refresh-progress.done .frp-icon { color: #1f8f5f; }
.financial-refresh-progress.error .frp-icon { color: #c0392b; }
.financial-refresh-progress .frp-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.financial-refresh-progress .frp-body strong { color: var(--strong); font-size: 13px; }
.financial-refresh-progress .frp-body span { color: var(--muted); font-size: 12px; }
.financial-refresh-progress .frp-body small { color: var(--muted); font-size: 11px; opacity: .85; }
.financial-refresh-progress .frp-close {
  flex: none;
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.analysis-deal-lens {
      display: grid;
      grid-template-columns: minmax(180px, .75fr) minmax(0, 2.4fr) auto;
      gap: 8px;
      align-items: stretch;
      margin: 0 0 12px;
      padding: 10px;
      border: 1px solid #cbdfe0;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .deal-lens-main {
      display: grid;
      gap: 3px;
      align-content: center;
      min-width: 0;
    }
    .deal-lens-main strong,
    .deal-lens-main small {
      display: block;
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .deal-lens-main small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .deal-lens-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 6px;
      min-width: 0;
    }
    .deal-lens-card {
      min-height: 58px;
      padding: 8px;
      display: grid;
      gap: 3px;
      justify-items: start;
      align-content: center;
      border-color: #dce7e8;
      background: #fff;
      text-align: left;
    }
    .deal-lens-card.empty {
      background: #fbfcfd;
      color: var(--muted);
    }
    .deal-lens-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .deal-lens-card strong {
      display: block;
      max-width: 100%;
      font-size: 15px;
      line-height: 1.15;
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .deal-lens-card em {
      display: block;
      max-width: 100%;
      color: var(--muted);
      font-size: 10px;
      font-style: normal;
      font-weight: 650;
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .analysis-deal-lens > .action-button {
      min-width: 112px;
      height: 100%;
    }
    .financial-deal-lens {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 8px;
    }
    .financial-deal-lens-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      font-size: 13px;
    }
    .financial-deal-lens-head span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .financial-deal-lens-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 8px;
    }
    .financial-deal-lens-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 9px;
      min-width: 0;
      white-space: normal;
      overflow: visible;
    }
    .financial-deal-lens-card.neutral {
      background: #f8fafb;
    }
    .valuation-sensitivity .financial-deal-lens-card {
      background: #f7fbff;
      border-color: #dce8f5;
    }
    .earnings-quality-board {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fffdf8;
      padding: 10px;
      display: grid;
      gap: 8px;
    }
    .earnings-quality-board.review_required {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .earnings-quality-board.acceptable {
      border-color: #cfe8dc;
      background: #f3faf7;
    }
    .earnings-quality-flags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .financial-deal-lens-card span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .financial-deal-lens-card strong {
      display: block;
      margin-top: 4px;
      font-size: 16px;
      line-height: 1.25;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .financial-deal-lens-card em {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .event-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      margin: 0 0 12px;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .event-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .event-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .event-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-event-subpane][hidden] {
      display: none !important;
    }
    .ownership-subnav {
      position: sticky;
      top: 0;
      z-index: 5;
      display: flex;
      gap: 6px;
      overflow-x: auto;
      margin: 0 0 12px;
      padding: 8px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(251, 253, 253, .96);
      backdrop-filter: blur(10px);
    }
    .ownership-subnav button {
      border: 0;
      border-radius: 7px;
      padding: 8px 12px;
      background: transparent;
      color: var(--muted);
      font-weight: 850;
      white-space: nowrap;
      cursor: pointer;
    }
    .ownership-subnav button:hover {
      background: #edf5f4;
      color: var(--ink);
    }
    .ownership-subnav button.active {
      background: var(--ink);
      color: #fff;
    }
    [data-ownership-subpane][hidden] {
      display: none !important;
    }
    .xbrl-validation,
    .periodic-lens-board,
    .event-lens-board,
    .ownership-lens-board {
      display: grid;
      grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr);
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d8dde3;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .xbrl-validation {
      margin-bottom: 12px;
    }
    .xbrl-validation-head,
    .periodic-lens-primary,
    .event-lens-primary,
    .ownership-lens-primary {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .xbrl-validation-head strong,
    .xbrl-validation-head small,
    .periodic-lens-primary strong,
    .periodic-lens-primary small,
    .event-lens-primary strong,
    .event-lens-primary small,
    .ownership-lens-primary strong,
    .ownership-lens-primary small {
      display: block;
      overflow-wrap: anywhere;
    }
    .xbrl-validation-head small,
    .periodic-lens-primary small,
    .event-lens-primary small,
    .ownership-lens-primary small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .periodic-lens-grid,
    .event-lens-grid,
    .ownership-lens-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .periodic-action-queue {
      display: grid;
      grid-template-columns: minmax(190px, .65fr) minmax(0, 2fr);
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d9e3dc;
      border-radius: 8px;
      background: #fbfdfb;
    }
    .periodic-action-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .periodic-action-head strong,
    .periodic-action-head small {
      display: block;
      overflow-wrap: anywhere;
    }
    .periodic-action-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .periodic-action-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .periodic-action-card {
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 6px;
      min-width: 0;
      align-content: start;
    }
    .periodic-action-card.critical {
      border-color: #e4c7b2;
      background: #fff8f2;
    }
    .periodic-action-card.high {
      border-color: #d9e3bd;
      background: #fbfff3;
    }
    .periodic-action-card strong {
      display: block;
      font-size: 14px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .periodic-action-card span,
    .periodic-action-card em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      font-style: normal;
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .periodic-question-board {
      display: grid;
      gap: 10px;
      margin-bottom: 10px;
      padding: 12px;
      border: 1px solid #e2dccf;
      border-radius: 8px;
      background: #fffdf8;
    }
    .periodic-question-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .periodic-question-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .periodic-question-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .periodic-question-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .periodic-question-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 8px;
    }
    .periodic-question-card {
      min-height: 0;
      min-width: 0;
      padding: 10px;
      display: grid;
      gap: 6px;
      align-content: start;
      justify-items: start;
      text-align: left;
      white-space: normal;
      background: #fff;
      border-color: #e7dfd0;
      overflow: visible;
    }
    .periodic-question-card span {
      display: block;
      max-width: 100%;
      color: var(--strong);
      font-size: 11px;
      font-weight: 900;
      white-space: normal;
    }
    .periodic-question-card strong {
      display: block;
      max-width: 100%;
      color: var(--ink);
      font-size: 13px;
      line-height: 1.35;
      overflow-wrap: anywhere;
      word-break: normal;
      white-space: normal;
    }
    .periodic-question-card em {
      display: block;
      max-width: 100%;
      color: var(--ink);
      font-size: 15px;
      font-style: normal;
      font-weight: 900;
      line-height: 1.25;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .periodic-question-card small {
      display: block;
      max-width: 100%;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.35;
      overflow-wrap: anywhere;
      word-break: normal;
      white-space: normal;
    }
    .periodic-workflow-rail {
      display: grid;
      grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr);
      gap: 10px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d9e3dc;
      border-radius: 8px;
      background: #fbfdfb;
    }
    .periodic-workflow-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .periodic-workflow-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .periodic-workflow-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      overflow-wrap: anywhere;
    }
    .periodic-workflow-steps {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .periodic-workflow-step {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 9px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .periodic-workflow-step.empty {
      background: #f7faf7;
      color: var(--muted);
    }
    .periodic-workflow-step span,
    .periodic-workflow-step em {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      font-weight: 800;
      line-height: 1.3;
    }
    .periodic-workflow-step strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .periodic-workflow-step .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .ownership-action-queue {
      display: grid;
      grid-template-columns: minmax(190px, .65fr) minmax(0, 2fr);
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d9dfe7;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .ownership-action-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .ownership-action-head strong,
    .ownership-action-head small {
      display: block;
      overflow-wrap: anywhere;
    }
    .ownership-action-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .ownership-action-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .ownership-action-more,
    .event-action-more {
      grid-column: 1 / -1;
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
      overflow: hidden;
    }
    .ownership-action-more summary,
    .event-action-more summary {
      min-height: 42px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 10px;
      cursor: pointer;
      list-style: none;
    }
    .ownership-action-more summary::-webkit-details-marker,
    .event-action-more summary::-webkit-details-marker {
      display: none;
    }
    .ownership-action-more summary strong,
    .event-action-more summary strong {
      color: var(--ink);
      font-size: 13px;
    }
    .ownership-action-more summary span,
    .event-action-more summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      text-align: right;
    }
    .ownership-action-more[open] summary,
    .event-action-more[open] summary {
      border-bottom: 1px solid #edf1f3;
    }
    .ownership-action-more .ownership-action-list,
    .event-action-more .event-action-list {
      padding: 10px;
    }
    .ownership-action-card {
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 6px;
      min-width: 0;
      align-content: start;
    }
    .ownership-action-card.critical {
      border-color: #e4c7b2;
      background: #fff8f2;
    }
    .ownership-action-card.high {
      border-color: #d8d4ed;
      background: #faf9ff;
    }
    .ownership-action-card strong {
      display: block;
      font-size: 14px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .ownership-action-card span,
    .ownership-action-card em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      font-style: normal;
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .ownership-brief {
      display: grid;
      grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr);
      gap: 10px;
      margin-bottom: 10px;
      padding: 12px;
      border: 1px solid #d9e4dd;
      border-radius: 8px;
      background: #fbfdfb;
    }
    .ownership-brief-head {
      display: grid;
      align-content: center;
      gap: 5px;
      min-width: 0;
    }
    .ownership-brief-head strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .ownership-brief-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .ownership-brief-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .ownership-brief-card {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .ownership-brief-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .ownership-brief-card strong {
      font-size: 16px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .ownership-brief-card em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
      word-break: keep-all;
    }
    .ownership-brief-card .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .ownership-question-board {
      display: grid;
      gap: 10px;
      margin-bottom: 10px;
      padding: 12px;
      border: 1px solid #d9e4dd;
      border-radius: 8px;
      background: #fbfdfb;
    }
    .ownership-question-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .ownership-question-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .ownership-question-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .ownership-question-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .ownership-question-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 8px;
    }
    .ownership-question-card {
      min-height: 0;
      min-width: 0;
      padding: 11px;
      display: grid;
      grid-template-rows: auto auto auto 1fr;
      gap: 5px;
      align-content: start;
      justify-items: start;
      text-align: left;
      white-space: normal;
      background: #fff;
      border-color: #dce7e8;
      overflow: visible;
    }
    .ownership-question-card span {
      display: block;
      max-width: 100%;
      color: var(--strong);
      font-size: 11px;
      font-weight: 900;
      white-space: normal;
    }
    .ownership-question-card strong {
      display: block;
      max-width: 100%;
      color: var(--ink);
      font-size: 13px;
      line-height: 1.3;
      overflow-wrap: anywhere;
      word-break: normal;
      white-space: normal;
    }
    .ownership-question-card em {
      display: block;
      max-width: 100%;
      color: var(--ink);
      font-size: 14px;
      font-style: normal;
      font-weight: 850;
      line-height: 1.25;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .ownership-question-card small {
      display: block;
      max-width: 100%;
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.3;
      overflow-wrap: anywhere;
      word-break: normal;
      white-space: normal;
    }
    .event-gate-board,
    .ownership-gate-board {
      display: grid;
      grid-template-columns: minmax(210px, .75fr) minmax(0, 2fr);
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d8dde3;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .event-gate-board.critical,
    .ownership-gate-board.critical {
      border-color: #e4c7b2;
      background: #fff8f2;
    }
    .event-gate-board.watch,
    .ownership-gate-board.watch {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .event-gate-main,
    .ownership-gate-main {
      display: grid;
      gap: 5px;
      align-content: center;
      min-width: 0;
    }
    .event-gate-main span,
    .ownership-gate-main span,
    .event-gate-metrics span,
    .ownership-gate-metrics span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .event-gate-main strong,
    .ownership-gate-main strong {
      font-size: 17px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .event-gate-main em,
    .ownership-gate-main em,
    .event-gate-metrics em,
    .ownership-gate-metrics em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .event-gate-metrics,
    .ownership-gate-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .event-gate-metrics > div,
    .ownership-gate-metrics > div {
      min-width: 0;
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: rgba(255, 255, 255, .72);
      padding: 10px;
      display: grid;
      gap: 4px;
    }
    .event-gate-metrics strong,
    .ownership-gate-metrics strong {
      font-size: 14px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .event-action-queue {
      display: grid;
      grid-template-columns: minmax(190px, .65fr) minmax(0, 2fr);
      gap: 8px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #e2dccf;
      border-radius: 8px;
      background: #fffdf8;
    }
    .event-action-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .event-action-head strong,
    .event-action-head small {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .event-action-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
    }
    .event-action-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .event-action-card {
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 6px;
      min-width: 0;
    }
    .event-action-card.critical {
      border-color: #e4c7b2;
      background: #fff8f2;
    }
    .event-action-card.high {
      border-color: #f1dfba;
      background: #fffaf0;
    }
    .event-action-card strong {
      display: block;
      font-size: 14px;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .event-action-card span,
    .event-action-card em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      font-style: normal;
      overflow-wrap: anywhere;
    }
    .event-brief {
      display: grid;
      grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr);
      gap: 10px;
      margin-bottom: 10px;
      padding: 12px;
      border: 1px solid #d7dfdf;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .event-brief-head {
      display: grid;
      align-content: center;
      gap: 5px;
      min-width: 0;
    }
    .event-brief-head strong {
      color: var(--ink);
      font-size: 18px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .event-brief-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .event-brief-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .event-brief-card {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .event-brief-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .event-brief-card strong {
      font-size: 16px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .event-brief-card em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .event-brief-card .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .event-question-board {
      display: grid;
      gap: 10px;
      margin-bottom: 10px;
      padding: 12px;
      border: 1px solid #d7dfdf;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .event-question-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
    }
    .event-question-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .event-question-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .event-question-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.4;
    }
    .event-question-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 8px;
    }
    .event-question-card {
      min-height: auto;
      padding: 12px;
      display: grid;
      gap: 6px;
      align-content: start;
      justify-items: start;
      text-align: left;
      background: #fff;
      border-color: #dce7e8;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
    }
    .event-question-card span {
      color: var(--strong);
      font-size: 11px;
      font-weight: 900;
      line-height: 1.35;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .event-question-card strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.42;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .event-question-card em {
      color: var(--ink);
      font-size: 18px;
      font-style: normal;
      font-weight: 900;
      line-height: 1.2;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .event-question-card small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 700;
      line-height: 1.45;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .event-workflow-rail {
      display: grid;
      grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr);
      gap: 10px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #e2dccf;
      border-radius: 8px;
      background: #fffdf8;
    }
    .event-workflow-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .event-workflow-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .event-workflow-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      overflow-wrap: anywhere;
    }
    .event-workflow-steps {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .event-workflow-step {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 9px;
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
    }
    .event-workflow-step.empty {
      background: #faf7f0;
      color: var(--muted);
    }
    .event-workflow-step span,
    .event-workflow-step em {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      font-weight: 800;
      line-height: 1.3;
    }
    .event-workflow-step strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .event-workflow-step .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .event-detail-details,
    .ownership-detail-details {
      display: grid;
      gap: 10px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .event-detail-details summary,
    .ownership-detail-details summary {
      min-height: 52px;
      padding: 12px;
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      cursor: pointer;
      list-style: none;
    }
    .event-detail-details summary::-webkit-details-marker,
    .ownership-detail-details summary::-webkit-details-marker {
      display: none;
    }
    .event-detail-details summary strong,
    .ownership-detail-details summary strong {
      color: var(--ink);
      font-size: 14px;
      line-height: 1.25;
    }
    .event-detail-details summary span,
    .ownership-detail-details summary span {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.35;
      text-align: right;
    }
    .event-detail-details summary::after,
    .ownership-detail-details summary::after {
      content: "열기";
      flex: 0 0 auto;
      padding: 5px 8px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--strong);
      font-size: 11px;
      font-weight: 850;
      background: #f7fbfb;
    }
    .event-detail-details[open] summary,
    .ownership-detail-details[open] summary {
      border-bottom: 1px solid #e2eaec;
    }
    .event-detail-details[open] summary::after,
    .ownership-detail-details[open] summary::after {
      content: "접기";
    }
    .event-detail-grid,
    .ownership-detail-grid {
      display: grid;
      gap: 12px;
      padding: 12px;
    }
    .ownership-workflow-rail {
      display: grid;
      grid-template-columns: minmax(220px, .7fr) minmax(0, 1.6fr);
      gap: 10px;
      margin-bottom: 10px;
      padding: 10px;
      border: 1px solid #d9e4dd;
      border-radius: 8px;
      background: #fbfdfb;
    }
    .ownership-workflow-head {
      display: grid;
      gap: 4px;
      align-content: center;
      min-width: 0;
    }
    .ownership-workflow-head strong {
      color: var(--ink);
      font-size: 16px;
      line-height: 1.25;
    }
    .ownership-workflow-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      overflow-wrap: anywhere;
    }
    .ownership-workflow-steps {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .ownership-workflow-step {
      min-width: 0;
      display: grid;
      gap: 5px;
      align-content: start;
      padding: 9px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fff;
    }
    .ownership-workflow-step.empty {
      background: #f7faf7;
      color: var(--muted);
    }
    .ownership-workflow-step span,
    .ownership-workflow-step em {
      color: var(--muted);
      font-size: 11px;
      font-style: normal;
      font-weight: 800;
      line-height: 1.3;
    }
    .ownership-workflow-step strong {
      color: var(--ink);
      font-size: 13px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .ownership-workflow-step .action-button {
      width: 100%;
      min-width: 0;
      margin-top: 2px;
    }
    .xbrl-validation-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .xbrl-validation-card,
    .periodic-lens-card,
    .event-lens-card,
    .ownership-lens-card {
      min-width: 0;
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 5px;
      justify-items: start;
      text-align: left;
      white-space: normal;
      overflow: visible;
    }
    .event-lens-card.warn {
      border-color: #e4c7b2;
      background: #fff8f2;
    }
    .event-source-family-board {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 10px;
    }
    .event-source-family-card {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 10px;
      display: grid;
      gap: 5px;
      min-width: 0;
    }
    .event-source-family-card.deal {
      background: #f7fbff;
      border-color: #dce8f5;
    }
    .event-source-family-card.risk {
      background: #fffaf0;
      border-color: #f1dfba;
    }
    .event-source-family-card span,
    .event-source-family-card em,
    .event-source-family-card small {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .event-source-family-card strong {
      font-size: 15px;
      line-height: 1.2;
    }
    .xbrl-validation-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .xbrl-validation-card strong,
    .periodic-lens-card strong,
    .event-lens-card strong {
      font-size: 16px;
      line-height: 1;
    }
    .ownership-lens-card strong {
      display: block;
      max-width: 100%;
      overflow-wrap: anywhere;
      white-space: normal;
    }
    .xbrl-validation-card em,
    .periodic-lens-card span,
    .periodic-lens-card em,
    .event-lens-card span,
    .event-lens-card em,
    .ownership-lens-card span,
    .ownership-lens-card em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
      font-style: normal;
      overflow-wrap: anywhere;
      word-break: normal;
      white-space: normal;
    }
    .periodic-lens-empty,
    .event-lens-empty,
    .ownership-lens-empty {
      border: 1px dashed var(--line);
      border-radius: 8px;
      color: var(--muted);
      padding: 12px;
      margin-bottom: 10px;
      background: #fbfcfd;
    }

.compare-tray {
      margin: 0 0 12px;
    }
    .compare-workspace {
      display: grid;
      gap: 12px;
      padding: 12px;
      border: 1px solid #d7e3e4;
      border-radius: 8px;
      background: #fff;
    }
    .compare-workspace-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: start;
      padding: 12px;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #f7fbfb;
    }
    .compare-workspace-head h2 {
      margin: 2px 0 4px;
      color: var(--ink);
      font-size: 18px;
      line-height: 1.25;
    }
    .compare-workspace-head p {
      max-width: 72ch;
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.45;
    }
    .compare-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 8px 8px 0 0;
      background: #f7fbfb;
      padding: 10px 12px;
    }
    .compare-head span {
      margin-left: 8px;
    }
    .compare-note-status {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #f7fbfb;
      padding: 8px 12px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }
    .compare-executive {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 10px;
    }
    .compare-executive-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 12px;
      border: 1px solid #cfe1df;
      border-radius: 8px;
      background: #f4faf8;
    }
    .compare-executive-head div {
      display: grid;
      gap: 3px;
      min-width: 0;
    }
    .compare-executive-head strong {
      font-size: 17px;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    .compare-executive-head small {
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
      line-height: 1.35;
    }
    .compare-executive-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-executive-card {
      display: grid;
      gap: 6px;
      min-width: 0;
      padding: 10px;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
    }
    .compare-executive-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-executive-card strong {
      font-size: 15px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .compare-executive-card em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-ic-gate {
      display: grid;
      grid-template-columns: minmax(220px, .75fr) minmax(0, 2fr);
      gap: 8px;
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fbfcfd;
      padding: 10px;
    }
    .compare-ic-gate.ok {
      background: #f3faf7;
    }
    .compare-ic-gate.warn {
      background: #fffaf0;
    }
    .compare-ic-main {
      display: grid;
      gap: 5px;
      align-content: center;
      min-width: 0;
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: rgba(255, 255, 255, .68);
      padding: 12px;
    }
    .compare-ic-main span,
    .compare-ic-metrics span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-ic-main strong {
      font-size: 17px;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }
    .compare-ic-main em,
    .compare-ic-metrics em {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-ic-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-ic-metrics > div {
      min-width: 0;
      border: 1px solid #e2e7eb;
      border-radius: 8px;
      background: rgba(255, 255, 255, .78);
      padding: 10px;
      display: grid;
      gap: 4px;
    }
    .compare-ic-metrics strong {
      font-size: 15px;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }
    .compare-priority-queue {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 10px;
    }
    .compare-priority-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      border: 1px solid #cfe1df;
      border-radius: 8px;
      background: #f4faf8;
      padding: 12px;
    }
    .compare-priority-head span,
    .compare-priority-head small {
      display: block;
    }
    .compare-priority-head strong {
      display: block;
      margin-top: 3px;
      font-size: 17px;
      line-height: 1.15;
      overflow-wrap: anywhere;
    }
    .compare-priority-head small {
      margin-top: 3px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 750;
    }
    .compare-priority-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-priority-item {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
    }
    .compare-priority-item > b {
      display: inline-grid;
      place-items: center;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: #e8f5f2;
      color: var(--strong);
      font-size: 13px;
    }
    .compare-priority-item span,
    .compare-priority-item strong,
    .compare-priority-item em,
    .compare-priority-item small {
      display: block;
    }
    .compare-priority-item span {
      color: var(--ink);
      font-weight: 850;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .compare-priority-item strong {
      margin-top: 2px;
      color: var(--strong);
      font-size: 18px;
    }
    .compare-priority-item em,
    .compare-priority-item small {
      margin-top: 2px;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      font-weight: 750;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-decision {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 10px;
      display: grid;
      gap: 10px;
    }
    .compare-decision-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
    }
    .compare-decision-head span {
      display: block;
      margin-top: 2px;
    }
    .compare-decision-status {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .compare-decision-status span {
      border: 1px solid #e7ecef;
      border-radius: 999px;
      background: #fbfcfd;
      padding: 4px 8px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }
    .compare-decision-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-decision-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
    }
    .compare-decision-card span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-decision-card strong {
      display: block;
      margin-top: 4px;
      overflow-wrap: anywhere;
    }
    .compare-decision-card em {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .compare-thesis-board {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 0 10px 10px;
      display: grid;
      gap: 8px;
    }
    .compare-thesis-head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      padding-top: 2px;
    }
    .compare-thesis-head span {
      display: block;
      font-size: 12px;
    }
    .compare-thesis-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-thesis-card {
      border: 1px solid #e3edf0;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 10px;
      min-width: 0;
      display: grid;
      gap: 5px;
    }
    .compare-thesis-card span {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-thesis-card strong {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .compare-thesis-card em,
    .compare-thesis-card small,
    .compare-thesis-card b {
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      font-weight: 750;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-thesis-card b {
      color: var(--ink);
    }
    .compare-spread-board {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 0 10px 10px;
      display: grid;
      gap: 8px;
    }
    .compare-spread-head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      padding-top: 2px;
    }
    .compare-spread-head span {
      display: block;
      font-size: 12px;
    }
    .compare-spread-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-spread-card {
      border: 1px solid #e3edf0;
      border-radius: 8px;
      background: #f8fbfb;
      padding: 10px;
      min-width: 0;
    }
    .compare-spread-card span,
    .compare-spread-card small {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-spread-card strong {
      display: block;
      margin-top: 4px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .compare-spread-card em {
      display: block;
      margin-top: 4px;
      color: var(--ink);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-spread-card small {
      margin-top: 6px;
    }
    .compare-quality-board {
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #fff;
      padding: 0 10px 10px;
      display: grid;
      gap: 8px;
    }
    .compare-quality-head {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: center;
      padding-top: 2px;
    }
    .compare-quality-head span {
      display: block;
      font-size: 12px;
    }
    .compare-quality-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .compare-quality-card {
      border: 1px solid #dce9e5;
      border-radius: 8px;
      background: #f7fbf8;
      padding: 10px;
      min-width: 0;
      display: grid;
      gap: 4px;
    }
    .compare-quality-card.warn {
      border-color: #f4d3b4;
      background: #fffaf2;
    }
    .compare-quality-card span,
    .compare-quality-card small {
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .compare-quality-card strong {
      font-size: 18px;
    }
    .compare-quality-card em {
      color: var(--ink);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .compare-matrix {
      border-radius: 0;
      border-bottom: 0;
    }
    .compare-matrix th,
    .compare-matrix td {
      min-width: 120px;
      white-space: nowrap;
    }
    .compare-matrix th:first-child,
    .compare-matrix td:first-child {
      position: sticky;
      left: 0;
      z-index: 1;
      background: #f7fbfb;
    }
    .compare-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      border: 1px solid var(--line);
      border-top: 0;
      border-radius: 0 0 8px 8px;
      padding: 10px;
      background: #fff;
    }
    .compare-card {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      min-width: 0;
      display: grid;
      gap: 8px;
    }
    .compare-card .section-head button {
      min-height: 26px;
      width: 28px;
      padding: 0;
    }
    .compare-empty {
      border: 1px dashed var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 16px;
      display: grid;
      gap: 8px;
      justify-items: start;
    }
    .compare-empty-steps {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      width: 100%;
    }
    .compare-empty-steps span {
      border: 1px solid #edf0f2;
      border-radius: 8px;
      background: #fff;
      padding: 8px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
    }
    .compare-empty-steps b {
      display: inline-grid;
      place-items: center;
      width: 20px;
      height: 20px;
      margin-right: 4px;
      border-radius: 50%;
      background: #eef7f5;
      color: var(--strong);
      font-size: 11px;
    }
    .compare-metrics {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
      font-size: 12px;
    }
    .compare-metrics span {
      border: 1px solid #edf0f2;
      border-radius: 6px;
      background: white;
      padding: 6px;
      color: var(--muted);
    }
    .compare-metrics b {
      display: block;
      margin-top: 2px;
      color: var(--ink);
      overflow-wrap: anywhere;
    }

.catalog-coverage-panel {
      margin: 10px 0 14px;
      display: grid;
      gap: 10px;
    }
    .catalog-coverage {
      display: grid;
      gap: 8px;
    }
    .catalog-verdict {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 12px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: center;
    }
    .catalog-verdict.ready {
      border-color: #b8d8cf;
      background: #f3faf7;
    }
    .catalog-verdict.warn {
      border-color: #e7d3a4;
      background: #fffaf0;
    }
    .catalog-verdict span,
    .catalog-verdict em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
    }
    .catalog-verdict strong {
      display: block;
      margin-top: 3px;
      font-size: 16px;
      overflow-wrap: anywhere;
    }
    .catalog-verdict b {
      font-size: 22px;
    }
    .catalog-surface-map {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }
    .catalog-surface-row {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fbfcfd;
      padding: 10px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 64px 86px;
      gap: 10px;
      align-items: center;
      min-width: 0;
      width: 100%;
      text-align: left;
      justify-content: stretch;
      white-space: normal;
    }
    .catalog-surface-row span,
    .catalog-surface-row em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      margin-top: 2px;
    }
    .catalog-coverage-row {
      display: grid;
      grid-template-columns: 160px 1fr 72px 90px;
      gap: 10px;
      align-items: center;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--surface);
    }
    .catalog-coverage-row span,
    .catalog-coverage-row em {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
    }
    .catalog-bar {
      height: 8px;
      border-radius: 999px;
      background: var(--surface-2);
      overflow: hidden;
    }
    .catalog-bar span {
      height: 100%;
      background: var(--strong);
    }
    .catalog-gap-panel {
      margin: 0 0 14px;
      display: grid;
      gap: 8px;
    }
    .catalog-command-board {
      display: grid;
      grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
      gap: 8px;
      align-items: stretch;
    }
    .catalog-command-primary,
    .catalog-command-card {
      border: 1px solid #dce7e8;
      border-radius: 8px;
      background: #fbfdfd;
      padding: 10px;
      min-width: 0;
      text-align: left;
    }
    .catalog-command-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .catalog-command-primary span,
    .catalog-command-card span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 850;
    }
    .catalog-command-primary strong,
    .catalog-command-card strong {
      display: block;
      margin-top: 4px;
      overflow-wrap: anywhere;
    }
    .catalog-command-card strong {
      font-size: 22px;
      line-height: 1;
    }
    .catalog-command-primary em,
    .catalog-command-card em {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
      font-style: normal;
      line-height: 1.35;
    }
    .catalog-gap-list {
      display: grid;
      gap: 8px;
    }
    .catalog-gap-item,
    .catalog-gap-empty {
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 10px;
      background: #fbfcfd;
    }
    .catalog-gap-item {
      display: grid;
      grid-template-columns: minmax(180px, 1fr) auto;
      gap: 8px 12px;
      align-items: start;
    }
    .catalog-gap-item span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      margin-top: 2px;
    }
    .catalog-gap-item small {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 750;
      margin-top: 3px;
      overflow-wrap: anywhere;
    }
    .catalog-gap-item p {
      grid-column: 1 / -1;
      margin: 0;
      color: var(--muted);
      font-size: 13px;
    }
    .catalog-verification-item .stack-actions {
      grid-column: 1 / -1;
    }