

















.cg-room {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}







.cg-filters {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.cg-filters:empty { display: none; }

.cg-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 11.5px Inter, system-ui, sans-serif;
  line-height: 1.5;                 
  padding: 6px 13px;
  border-radius: 999px;
  border: 1px solid #e7e2d4;
  background: #fff;
  color: var(--motm-grey-700, #525854);
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .12s, background .12s;
}
.cg-chip:hover { border-color: var(--brand-line, #b9d8b4); }
.cg-chip-n {
  font-variant-numeric: tabular-nums;
  color: #8d8f8a;
}

.cg-chip-on {
  background: var(--signal-tint, #eaf3ec);
  border-color: #cfe4d6;
  color: var(--brand-mid, #306844);
}
.cg-chip-on .cg-chip-n { color: var(--signal, #3e7d5c); }


.cg-qwrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  border: 1px solid #e7e2d4;
  border-radius: 999px;
  background: #fff;
  padding: 0 12px;
  min-width: 210px;
}
.cg-qglass { color: #b3ac9c; font-size: 13px; flex: none; }
.cg-q {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font: 500 12px Inter, system-ui, sans-serif;
  color: #1a1d1c;
  padding: 7px 0;
}
.cg-q::placeholder { color: #b3ac9c; }
.cg-qwrap:focus-within { border-color: var(--brand-line, #b9d8b4); }



.cg-empty-row {
  text-align: center;
  color: var(--motm-grey-700, #525854);
  font: 400 12.5px Inter, system-ui, sans-serif;
  padding: 26px 10px;
}

.cg-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e7e2d4;
  border-radius: 12px;
  background: #fff;
}



.cg-title {
  font: 700 18px Fraunces, Georgia, serif;
  color: #1f4a2d;
}
.cg-sub {
  font: 500 12px Inter, system-ui, sans-serif;
  color: var(--motm-grey-700, #525854);
  white-space: nowrap;
}

.cg-table {
  width: 100%;
  border-collapse: separate;   

  border-spacing: 0;
  font-family: Inter, system-ui, sans-serif;
}



.cg-th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #fbfaf6;
  border-bottom: 1px solid #e7e2d4;
  font: 600 10px Inter, system-ui, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #647062;
  text-align: left;
  padding: 9px 10px;
  white-space: nowrap;
}
.cg-th-stage, .cg-th-status { text-align: center; }
.cg-th-name { text-align: left; }

.cg-c {
  padding: 7px 10px;
  border-bottom: 1px solid #f0ece1;
  font: 400 12.5px Inter, system-ui, sans-serif;
  color: #1a1d1c;
  text-align: center;
  vertical-align: middle;
}
.cg-table tbody tr:last-child .cg-c { border-bottom: 0; }

.cg-name {
  text-align: left;
  white-space: nowrap;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.cg-nm {
  font: 600 12.5px Inter, system-ui, sans-serif;
  color: #1a1d1c;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 340px;
}


.cg-who {
  flex: none;
  font: 600 10px Inter, system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--pill-rest-ink, #5b6b5e);
  background: var(--pill-rest-bg, #f4f6f2);
  border: 1px solid var(--pill-rest-line, #e2e6dd);
  border-radius: 999px;
  padding: 2px 7px;
  white-space: nowrap;
}



.cg-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  min-width: 46px;
  justify-content: center;
  border-radius: 999px;
  padding: 2px 9px;
  font: 600 12px Inter, system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cg-of { opacity: .55; margin: 0 1px; }


.cg-done {
  color: var(--signal, #3e7d5c);
  background: var(--signal-tint, #eaf3ec);
  border: 1px solid #cfe4d6;
}


.cg-open {
  color: #7a6a3f;
  background: #f6e8cc;
  border: 1px solid #efd9a6;
}



.cg-none { color: #b3ac9c; }

.cg-status {
  font: 500 11.5px Inter, system-ui, sans-serif;
  color: var(--motm-grey-700, #525854);
  white-space: nowrap;
}















.cg-pop {
  position: fixed;
  z-index: 10002;                 
  width: 360px;
  max-width: calc(100vw - 24px);
  display: flex;
  flex-direction: column;
  border: 1px solid #cfe4d6;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 18px 44px -14px rgba(31, 42, 30, .38), 0 6px 16px -10px rgba(31, 42, 30, .28);
  overflow: hidden;
}
.cg-pop[hidden] { display: none; }



.cg-caret {
  position: absolute;
  top: -6px;
  width: 11px; height: 11px;
  background: #fff;
  border-left: 1px solid #cfe4d6;
  border-top: 1px solid #cfe4d6;
  transform: rotate(45deg);
  margin-left: -5px;
}
.cg-pop-above .cg-caret {
  top: auto; bottom: -6px;
  border-left: 0; border-top: 0;
  border-right: 1px solid #cfe4d6;
  border-bottom: 1px solid #cfe4d6;
}



.cg-dhead {
  flex: none;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  padding: 9px 11px;
  border-bottom: 1px solid #e7e2d4;
  background: #fbfaf6;
}



.cg-dbody { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 2px 11px 6px; max-height: 44vh; }

.cg-tasks { list-style: none; margin: 0; padding: 0; }
.cg-task {
  display: flex;
  align-items: baseline;
  gap: 9px;
  padding: 6px 0;
  border-bottom: 1px solid #f0ece1;
  font: 400 12.5px Inter, system-ui, sans-serif;
  color: #1a1d1c;
}
.cg-task:last-child { border-bottom: 0; }









.cg-t-open {
  background: #fdf8ee;
  box-shadow: inset 2px 0 0 #efd9a6;
  border-radius: 0 4px 4px 0;
}
.cg-t-open .cg-glyph { color: #b8862a; }
.cg-t-open .cg-tname { color: #1a1d1c; font-weight: 500; }



.cg-t-done .cg-tname { color: #8d8f8a; }
.cg-t-done .cg-glyph { color: var(--signal, #3e7d5c); }



.cg-split {
  list-style: none;
  font: 700 10px Inter, system-ui, sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 8px 0 4px;
  border-bottom: 0;
}
.cg-split-open { color: #8a6d2f; }
.cg-split-done { color: #b3ac9c; padding-top: 12px; }
.cg-glyph { flex: none; width: 13px; text-align: center; color: #b3ac9c; font-size: 12px; }
.cg-t-done .cg-glyph { color: var(--signal, #3e7d5c); }
.cg-t-done .cg-tname { color: var(--motm-grey-700, #525854); }
.cg-tname { flex: 1 1 auto; min-width: 0; }
.cg-tchip {
  flex: none;
  font: 600 10px Inter, system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--pill-rest-ink, #5b6b5e);
  background: var(--pill-rest-bg, #f4f6f2);
  border: 1px solid var(--pill-rest-line, #e2e6dd);
  border-radius: 999px;
  padding: 1px 7px;
  white-space: nowrap;
}
.cg-due {
  flex: none;
  font: 500 11.5px Inter, system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  color: #8d8f8a;
  white-space: nowrap;
}


.cg-late { color: #7a6a3f; font-weight: 600; }

.cg-dfoot {
  flex: none;
  padding: 8px 12px;
  border-top: 1px solid #e7e2d4;
  background: #fff;
}
.cg-open-dbl {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: 600 12px Inter, system-ui, sans-serif;
  color: var(--brand-mid, #306844);
  text-decoration: none;
  border: 1px solid #e7e2d4;
  border-radius: 999px;
  padding: 5px 13px;
  background: #fff;
  transition: border-color .12s;
}
.cg-open-dbl:hover { border-color: var(--brand-line, #b9d8b4); }



.cg-hit { cursor: pointer; }
.cg-hit:hover .cg-pill { border-color: var(--brand-line, #b9d8b4); }
.cg-sel { background: #f4f6f2; box-shadow: inset 0 0 0 1px #cfe4d6; }

.cg-note-sm {
  margin: 8px 0;
  font: 400 12.5px Inter, system-ui, sans-serif;
  color: var(--motm-grey-700, #525854);
}

.cg-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  height: 100%;
}
.cg-note {
  margin: 0;
  max-width: 46ch;
  font: 400 14px Inter, system-ui, sans-serif;
  line-height: 1.5;
  color: var(--motm-grey-700, #525854);
  text-align: center;
}






.cg-sel {
  font: 600 11.5px Inter, system-ui, sans-serif;
  color: #4b5563;
  background: #fff;
  border: 1px solid #e7e2d4;
  border-radius: 9px;
  padding: 6px 9px;
  cursor: pointer;
  max-width: 190px;
}
.cg-sel:hover { border-color: var(--brand-line, #b9d8b4); }



.cg-sep {
  width: 1px;
  height: 20px;
  background: #e7e2d4;
  flex: none;
  margin: 0 2px;
}



.cg-wchip { }




.cg-unjoined {
  font: 600 11px Inter, system-ui, sans-serif;
  color: #8d8f8a;
  background: #f6f6f4;
  border: 1px dashed #e2e2dd;
  border-radius: 999px;
  padding: 4px 10px;
  cursor: help;
  white-space: nowrap;
}





.cg-th-floor1, .cg-c.cg-fc:nth-child(var(--cg-floor1, 0)) { }
.cg-th-floor { text-align: center; }
.cg-th-floor1 { border-left: 1px solid #e7e2d4; }
.cg-fc { text-align: center; white-space: nowrap; }
.cg-table tr > .cg-fc:first-of-type { }



.cg-ok { color: var(--signal, #3e7d5c); font-weight: 700; }
.cg-qn { font: 500 12px Inter, system-ui, sans-serif; color: #4b5563; }
.cg-resp { font: 700 11px Inter, system-ui, sans-serif; color: #b45309; margin-left: 5px; }



.cg-upl {
  display: inline-block; font: 700 11.5px Inter, system-ui, sans-serif;
  border-radius: 99px; padding: 2px 10px;
  background: rgba(92, 207, 143, .16); color: #1f7d4d;
}
.cg-vend {
  display: inline-block; font: 700 11.5px Inter, system-ui, sans-serif;
  border-radius: 99px; padding: 2px 10px; font-variant-numeric: tabular-nums;
  background: #efeaf9; color: #6d51b8;
}
.cg-out {
  display: inline-flex; align-items: baseline; gap: 4px;
  font: 700 11.5px Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums;
  border-radius: 99px; padding: 2px 10px;
  background: rgba(240, 169, 74, .16); color: #d97706;
}
.cg-out-hot { background: rgba(192, 73, 47, .13); color: #c0492f; }
.cg-outu { font: 500 9.5px Inter, system-ui, sans-serif; opacity: .75; }
.cg-broken {
  font: 700 10.5px Inter, system-ui, sans-serif;
  background: #fbece7; color: #c0492f; border-radius: 6px; padding: 2px 8px; white-space: nowrap;
}


.cg-recon { display: inline-flex; align-items: center; gap: 7px; justify-content: center; }
.cg-rbar {
  width: 48px; height: 5px; border-radius: 99px; background: #ece7db;
  overflow: hidden; flex: none; display: inline-block;
}
.cg-rbar i { display: block; height: 100%; border-radius: 99px; background: currentColor; }
.cg-rn { font: 700 11.5px Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.cg-rmon { font: 600 10px Inter, system-ui, sans-serif; color: #9aa39b; }
.cg-r-done { color: #15803d; }
.cg-r-mid  { color: #d97706; }
.cg-r-low  { color: #c0492f; }





.cg-nm-hit{
  appearance:none; border:0; background:transparent; padding:0; cursor:pointer;
  font:inherit; color:inherit; text-align:left;
}
.cg-nm-hit:hover{ text-decoration:underline }
.cg-nm-hit:focus-visible{ outline:2px solid var(--action, #15a850); outline-offset:2px; border-radius:3px }
.cg-nm-hit[aria-expanded="true"]{ font-weight:700 }

.cgx-row > .cgx-cell{
  padding:0; background:#fbfcfb; border-bottom:2px solid #e7e2d4;
  box-shadow: inset 0 3px 6px -5px rgba(31,42,30,.35);
}
.cgx-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:11px 16px 9px; border-bottom:1px solid #eef1ee;
}
.cgx-name{ font:650 14px Inter, system-ui, sans-serif; color:var(--canopy, #1e3b2f) }
.cgx-status{ font-size:11.5px; color:var(--ink-3, #6b7a72) }
.cgx-grow{ flex:1 }
.cgx-lines, .cgx-door{
  font:600 11.5px Inter, system-ui, sans-serif; text-decoration:none; cursor:pointer;
  border:1px solid var(--line, #e6e9e6); background:#fff; color:var(--canopy, #1e3b2f);
  border-radius:8px; padding:4px 10px;
}
.cgx-lines:hover, .cgx-door:hover{ border-color:#cfd8d2 }
.cgx-x{
  appearance:none; border:0; background:transparent; cursor:pointer;
  font-size:17px; line-height:1; color:var(--ink-3, #6b7a72); padding:2px 4px;
}
.cgx-lineshost{ padding:12px 16px 0 }
.cgx-lineshost[hidden]{ display:none }




.cgx-stage{ padding:10px 16px 12px; border-top:1px solid #f1f3f2 }
.cgx-stage:first-of-type{ border-top:0 }
.cgx-stage-h{ display:flex; align-items:baseline; gap:9px; margin-bottom:6px }
.cgx-stage-n{
  font:700 10.5px Inter, system-ui, sans-serif; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-3, #6b7a72);
}
.cgx-stage-c{
  font:700 11.5px Inter, system-ui, sans-serif; font-variant-numeric:tabular-nums;
  color:var(--motm-warning, #b87a14); background:#fdf3e0; border:1px solid #f0e0bd;
  border-radius:7px; padding:1px 7px;
}

.cgx-stage-c.done{ color:#2f5d43; background:#f2f8f4; border-color:#cfe3d3 }


.cgx-mismatch{ font-size:11px; color:var(--motm-warning, #b87a14) }
.cgx-none{ font-size:12px; color:var(--ink-3, #6b7a72); padding:0 16px 10px }

.cgx-tasks{ display:grid; gap:3px }
.cgx-task{ display:flex; align-items:baseline; gap:8px; font-size:12.5px; line-height:1.45 }
.cgx-tick{ flex:0 0 auto; color:var(--motm-warning, #b87a14); font-size:11px }
.cgx-task.is-done .cgx-tick{ color:#2f5d43 }
.cgx-task.is-done .cgx-task-n{ color:var(--ink-3, #6b7a72) }
.cgx-task-n{ color:var(--ink-1, #24332c) }
.cgx-meta{
  font-size:10.5px; color:var(--ink-3, #6b7a72); background:var(--motm-grey-100, #f1f3f2);
  border-radius:6px; padding:1px 6px; white-space:nowrap;
}
.cgx-due{ font-size:10.5px; color:var(--ink-3, #6b7a72); white-space:nowrap; margin-left:auto }

@media (max-width: 900px){
  .cgx-due{ margin-left:0 }
}
