/* Existing monochrome shell, with restrained semantic green and amber. */
.gr-workspace { --gr-green: #16634c; --gr-amber: #825309; font-size: 14px; letter-spacing: 0; }
.gr-workspace *, .gr-assistant * { letter-spacing: 0; }
.gr-workspace h2 { font-size: 18px; line-height: 1.4; }
.gr-workspace h3 { font-size: 16px; line-height: 1.5; }
.gr-workspace small { font-size: 12px; color: #626262; }
.gr-workspace p { margin: 8px 0 12px; }
.gr-context { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 0 20px; border-bottom: 1px solid #d8d8d8; }
.gr-context > div { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.gr-badge { display: inline-block; border: 1px solid #d5d5d5; background: #f6f6f6; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; white-space: normal; }
.gr-badge.good { color: #16634c; background: #edf6f1; border-color: #c2decd; }
.gr-badge.warn { color: #825309; background: #fcf5e8; border-color: #e7d7b4; }
.gr-reset { position: relative; font-size: 12px; max-width: 240px; }
.gr-reset summary { cursor: pointer; }
.gr-intro { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; }
.gr-intro h2 { font-size: 24px; }
.gr-intro p { color: #626262; }
.gr-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 28px; background: #fff; border-block: 1px solid #d8d8d8; }
.gr-metrics > div { padding: 20px; border-right: 1px solid #e5e5e5; }
.gr-metrics > div:last-child { border-right: 0; }
.gr-metrics span { display: block; font-size: 13px; color: #525252; }
.gr-metrics strong { display: block; font-size: 28px; font-weight: 650; font-variant-numeric: tabular-nums; }
.gr-metrics small { margin-left: 5px; }
.gr-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; list-style: none; border: 1px solid #d8d8d8; background: #d8d8d8; }
.gr-flow li { background: #fff; min-width: 0; }
.gr-flow a { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 4px 8px; padding: 16px 12px; height: 100%; }
.gr-flow a:hover { background: #f0f0f0; }
.gr-step-number { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid #c6c6c6; border-radius: 50%; font-size: 12px; grid-row: span 2; }
.gr-flow strong { font-size: 13px; }
.gr-flow .done .gr-step-number { background: #16634c; border-color: #16634c; color: #fff; }
.gr-flow small { font-size: 11px; }
.gr-columns { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(270px, 1fr); gap: 32px; }
.gr-columns > div { min-width: 0; }
.gr-section { margin-top: 32px; min-width: 0; }
.gr-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.gr-section-head h2, .gr-section-head h3 { margin: 0; }
.gr-link { text-decoration: underline; text-underline-offset: 4px; font-size: 13px; font-weight: 600; }
.gr-link:hover { color: #16634c; }
.gr-next { padding: 22px 0; border-block: 1px solid #d8d8d8; }
.gr-next h3 { margin-top: 6px; font-size: 20px; }
.gr-next p { color: #525252; }
.gr-button { display: inline-flex; justify-content: center; align-items: center; min-height: 36px; padding: 7px 14px; border: 1px solid #b8b8b8; border-radius: 4px; font-family: inherit; font-size: 13px; font-weight: 600; background: #fff; color: #161616; line-height: 1.5; text-align: center; }
.gr-button:hover:not(:disabled) { background: #eaeaea; border-color: #525252; }
.gr-button.primary { background: #202020; color: #fff; border-color: #202020; }
.gr-button.primary:hover { background: #393939; }
.gr-button:disabled { color: #767676; background: #eeeeee; border-color: #d8d8d8; cursor: not-allowed; }
.gr-workspace :focus-visible, .gr-assistant :focus-visible { outline: 2px solid #16634c; outline-offset: 3px; }
.gr-workspace ::selection { background: #cfe8dd; color: #161616; }
.gr-workspace input, .gr-workspace textarea { accent-color: #16634c; caret-color: #16634c; }
.gr-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 14px 0 4px; }
.gr-section-head .gr-actions { margin: 0; }
.gr-relations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #d8d8d8; }
.gr-relations > div { padding: 20px 12px; border-right: 1px solid #d8d8d8; }
.gr-relations > div:last-child { border: 0; }
.gr-relations strong, .gr-relations span { display: block; }
.gr-relations span { color: #626262; font-size: 12px; }
.gr-relations strong { margin: 6px 0; font-size: 18px; }
.gr-facts { border-top: 1px solid #d8d8d8; }
.gr-facts > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid #e5e5e5; }
.gr-facts dt { color: #626262; }
.gr-facts dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.gr-log-compact { list-style: none; }
.gr-log-compact li { padding: 12px 0; border-top: 1px solid #d8d8d8; }
.gr-log-compact small { display: block; margin-top: 5px; }
.gr-empty { padding: 30px 16px; text-align: center; color: #626262; border-block: 1px solid #d8d8d8; }
.gr-muted, .gr-note { color: #626262; }
.gr-note { font-size: 12px; }
.gr-notice { padding: 12px 14px; background: #eee; border: 1px solid #d8d8d8; margin: 12px 0; font-size: 13px; }
.gr-notice.error, .gr-feedback.error { color: #8c2525; background: #fff0ee; border-color: #eac3bd; }
.gr-feedback { margin: 16px 0; padding: 12px; background: #edf6f1; color: #16634c; border: 1px solid #c2decd; }
.gr-table-scroll { overflow: auto; max-width: 100%; scrollbar-color: #aaa #eee; }
.gr-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.gr-table th { color: #525252; background: #ebebeb; font-weight: 600; white-space: nowrap; }
.gr-table th, .gr-table td { padding: 12px 14px; border-bottom: 1px solid #d8d8d8; vertical-align: middle; }
.gr-table td { background: #fff; }
.gr-table small { display: block; margin-top: 3px; }
.gr-change { padding: 24px 0; border-top: 1px solid #c6c6c6; }
.gr-diff { display: flex; align-items: center; gap: 32px; margin: 16px 0; padding: 16px; background: #fff; }
.gr-diff strong { display: block; font-size: 24px; }
.gr-diff p { color: #626262; font-size: 12px; }
.gr-evidence { border-top: 1px solid #dedede; padding: 12px 0; }
.gr-evidence summary { cursor: pointer; font-weight: 600; }
.gr-evidence summary span { color: #626262; font-size: 12px; font-weight: 400; margin-left: 10px; }
.gr-evidence blockquote { margin: 12px 0; padding: 12px 16px; background: #fff; border-left: 1px solid #999; }
.gr-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; color: #525252; font-size: 12px; }
.gr-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; }
.gr-bars { width: 160px; display: grid; gap: 4px; }
.gr-bars > div { min-width: 20px; height: 20px; padding-right: 6px; text-align: right; font-size: 11px; line-height: 20px; }
.gr-bars .held, .gr-legend .held { background: #16634c; color: #fff; }
.gr-bars .required, .gr-legend .required { background: #d2d2d2; color: #161616; }
.gr-graph-row { display: grid; grid-template-columns: minmax(90px, .7fr) 40px minmax(120px, 1fr) 40px minmax(150px, 1.3fr); align-items: center; padding: 14px 0; border-top: 1px solid #d8d8d8; }
.gr-graph-row > div { padding: 10px; background: #fff; border: 1px solid #d8d8d8; min-height: 68px; }
.gr-graph-row small, .gr-graph-row strong { display: block; }
.gr-edge { border-bottom: 1px solid #aaa; text-align: center; font-size: 11px; color: #626262; }
.gr-network-toolbar { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }
.gr-network-toolbar label { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.gr-network-toolbar select { font: inherit; padding: 8px; border: 1px solid #aaa; background: #fff; max-width: 100%; }
.gr-network-scroll { overflow: auto; border-block: 1px solid #d8d8d8; background: #fff; }
.gr-network { position: relative; width: 1050px; height: 565px; margin: auto; }
.gr-network svg { position: absolute; width: 100%; height: 100%; inset: 0; }
.gr-network path { stroke: #d7d7d7; stroke-width: 1; fill: none; }
.gr-network g.active path { stroke: #16634c; stroke-width: 2; }
.gr-network text { fill: #16634c; font-size: 12px; text-anchor: middle; paint-order: stroke; stroke: #fff; stroke-width: 5px; stroke-linejoin: round; }
.gr-network-node { position: absolute; width: 200px; height: 72px; padding: 10px 12px; border: 1px solid #b8b8b8; border-radius: 6px; background: #f8f8f8; text-align: left; color: #161616; }
.gr-network-node small, .gr-network-node strong { display: block; }
.gr-network-node strong { font-size: 13px; line-height: 1.4; margin-top: 3px; }
.gr-network-node.selected { border: 2px solid #16634c; background: #edf6f1; }
.gr-network-node.related { border-color: #628876; background: #fff; }
.gr-network-node.muted { background: #f2f2f2; border-color: #dedede; }
.gr-network-node:hover { border-color: #161616; }
.gr-node-title { margin-top: 12px; }
.gr-network-links { list-style: none; }
.gr-network-links li { display: flex; gap: 16px; padding: 10px 0; border-bottom: 1px solid #ddd; }
.gr-network-links li > span { min-width: 65px; color: #626262; }
.gr-network-links button { border: 0; background: transparent; text-align: left; }
.gr-activity-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gr-activity { border: 1px solid #d8d8d8; border-radius: 6px; background: #fff; padding: 18px; min-width: 0; }
.gr-activity h3 { margin-bottom: 10px; min-height: 48px; }
.gr-activity .gr-section-head { font-size: 12px; }
.gr-activity .gr-facts > div { grid-template-columns: 70px minmax(0, 1fr); font-size: 13px; }
.gr-expert { margin: 16px 0; padding: 16px 0; border-block: 1px solid #d8d8d8; }
.gr-field { display: grid; gap: 6px; font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.gr-field input, .gr-field textarea { width: 100%; max-width: 100%; border: 1px solid #aaa; border-radius: 4px; background: #fff; padding: 10px 12px; font: inherit; font-weight: 400; color: #161616; }
.gr-field textarea { resize: vertical; min-height: 76px; }
.gr-field input[type=date] { max-width: 220px; }
.gr-field :disabled { background: #eee; color: #626262; }
.gr-field textarea::placeholder { color: #6f6f6f; }
.gr-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; min-width: 180px; }
.gr-check input { width: 16px; height: 16px; margin-top: 3px; flex-shrink: 0; }
.gr-plan-status { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; padding: 20px 0 0; }
.gr-plan-status > span:last-child { color: #626262; font-size: 12px; }
.gr-approval-actions { display: grid; gap: 10px; }
.gr-assistant { position: fixed; right: 24px; bottom: 22px; z-index: 60; }
.gr-assistant-toggle { background: #202020; color: #fff; border: 1px solid #202020; border-radius: 6px; padding: 12px 18px; font: inherit; font-size: 13px; }
.gr-assistant section { position: absolute; bottom: 58px; right: 0; width: 360px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid #bbb; padding: 20px; box-shadow: 0 8px 28px #0002; max-height: 70vh; overflow: auto; }
.gr-assistant h2 { font-size: 18px; }
.gr-assistant p { font-size: 14px; margin-top: 16px; }
.gr-assistant .gr-link { display: inline-block; margin-top: 14px; }
.gr-assistant [hidden], .gr-workspace [hidden] { display: none; }
body.gr-page .jdc-content { min-width: 0; }
body.gr-page .jdc-page-desc { display: none; }
body.gr-page .jdc-page-meta { display: none; }
body.gr-page .jdc-page-head { margin-bottom: 0; }
body.gr-page .jdc-page-head h1 { letter-spacing: 0; }
body.gr-page .jdc-footer { margin-bottom: 70px; }
body.gr-page .jdc-side { border-radius: 0; box-shadow: none; }
@media (max-width: 1200px) {
  .gr-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .gr-activity-list { grid-template-columns: minmax(0, 1fr); }
  .gr-activity h3 { min-height: 0; }
}
@media (max-width: 900px) {
  body.gr-page .jdc-content { width: 100%; max-width: 100%; }
}
@media (max-width: 700px) {
  body.gr-page .jdc-header-inner { height: auto; min-height: 56px; flex-wrap: wrap; padding: 10px 14px; gap: 10px; }
  body.gr-page .jdc-header-left { width: 100%; gap: 12px; }
  body.gr-page .jdc-header-right { margin-left: auto; }
  body.gr-page .jdc-sys-tab { padding: 5px 9px; font-size: 12px; }
  body.gr-page .jdc-gnb-inner { overflow-x: auto; }
  body.gr-page .jdc-gnb-item { flex-shrink: 0; }
  body.gr-page .jdc-body { padding: 12px; gap: 16px; }
  body.gr-page .jdc-side { display: flex; overflow-x: auto; border: 0; padding: 0; }
  body.gr-page .jdc-side-group { display: none; }
  body.gr-page .jdc-side-item { flex-shrink: 0; padding: 10px 12px; }
  .gr-intro { align-items: flex-start; }
  .gr-intro h2 { font-size: 20px; }
  .gr-intro > .gr-badge { display: none; }
  .gr-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gr-metrics > div { padding: 14px; border-bottom: 1px solid #e5e5e5; }
  .gr-metrics strong { font-size: 24px; }
  .gr-flow { grid-template-columns: minmax(0, 1fr); }
  .gr-flow a { grid-template-columns: 28px 1fr auto; padding: 10px 12px; }
  .gr-flow .gr-step-number { grid-row: auto; }
  .gr-graph-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .gr-edge { border: 0; }
  .gr-table { min-width: 550px; }
  .gr-diff { gap: 16px; flex-wrap: wrap; }
  .gr-context { font-size: 12px; }
  .gr-relations > div { padding: 12px 8px; }
  .gr-relations strong { font-size: 16px; }
  .gr-assistant { right: 16px; bottom: 16px; }
}
