.dc-page {
  --dc-green: #425d4d;
  --dc-line: #d9ded5;
  max-width: 1320px;
  margin: auto;
}
.dc-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0 34px;
  gap: 24px;
}
.dc-heading h2 {
  font-size: clamp(30px, 4vw, 52px);
  letter-spacing: -2px;
  margin: 12px 0;
}
.dc-heading h2 > span {
  color: #778c41;
}
.dc-heading p,
.dc-hint {
  color: #6a7268;
  font-size: 13px;
  line-height: 1.7;
}
.dc-heading-mark {
  border: 1px solid var(--dc-line);
  padding: 16px 22px;
  line-height: 1.15;
  font-size: 26px;
  color: var(--dc-green);
  min-width: 140px;
  transform: rotate(-3deg);
}
.dc-heading-mark b {
  font-size: 32px;
}
.dc-heading-mark small {
  display: block;
  letter-spacing: 1px;
  font-size: 9px;
  margin-top: 10px;
}
.dc-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--dc-line);
  background: #fafbf7;
}
.dc-tabs button {
  display: grid;
  grid-template-columns: 30px 1fr;
  text-align: left;
  padding: 22px;
  border: 0;
  background: transparent;
  cursor: pointer;
  border-right: 1px solid var(--dc-line);
  color: #525b51;
  gap: 6px;
}
.dc-tabs button:last-child {
  border-right: 0;
}
.dc-tabs button[aria-selected='true'] {
  background: #344d3e;
  color: white;
}
.dc-tabs strong {
  font-size: 19px;
}
.dc-tabs small {
  grid-row: span 2;
  font-size: 11px;
  opacity: 0.7;
  padding-top: 3px;
}
.dc-tabs span {
  font-size: 11px;
  opacity: 0.75;
}
.dc-toolbar,
.dc-section-head,
.dc-actions,
.dc-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.dc-toolbar {
  margin: 20px 0;
  flex-wrap: wrap;
}
.dc-toolbar p {
  font-size: 12px;
  color: #66705f;
}
.dc-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.dc-page .t-button {
  min-height: 44px;
  white-space: normal;
  line-height: 1.35;
}
.dc-page .t-primary {
  background: #344d3e;
  color: white;
}
.dc-page button:disabled {
  opacity: 0.5;
  cursor: wait;
}
.dc-filters {
  display: grid;
  grid-template-columns: minmax(160px, 1.5fr) repeat(5, minmax(105px, 1fr));
  gap: 12px;
  padding: 18px;
  background: #eff1e9;
  border: 1px solid var(--dc-line);
  align-items: end;
  margin-bottom: 24px;
}
.dc-page label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  min-width: 0;
}
.dc-page label > span {
  line-height: 1.6;
}
.dc-page input,
.dc-page select,
.dc-page textarea {
  font: inherit;
  font-size: 14px;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #cbd2c6;
  border-radius: 0;
  padding: 11px;
  color: #1b231d;
  min-height: 44px;
}
.dc-page textarea {
  resize: vertical;
  line-height: 1.75;
}
.dc-filters > .t-button {
  justify-self: start;
}
.dc-section-head h3 {
  margin: 0;
  font-size: 21px;
}
.dc-section-head > span {
  font-size: 12px;
  color: #697461;
}
.dc-list > .dc-section-head {
  padding: 0 0 14px;
  border-bottom: 2px solid #354d3d;
}
.dc-record {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--dc-line);
  align-items: center;
  min-width: 0;
}
.dc-record-date {
  align-self: start;
  display: grid;
  gap: 8px;
  font-size: 13px;
  color: #425d4d;
  padding-top: 3px;
}
.dc-record-date small {
  color: #77806f;
  font-size: 11px;
}
.dc-record-main {
  min-width: 0;
  overflow-wrap: anywhere;
}
.dc-record h3 {
  font-size: 18px;
  margin: 0 0 10px;
}
.dc-record p {
  font-size: 13px;
  line-height: 1.7;
  margin: 10px 0;
  color: #56604f;
}
.dc-record-main > small {
  color: #7b8475;
  font-size: 11px;
}
.dc-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.dc-badge {
  font-size: 11px;
  line-height: 1.5;
  padding: 3px 8px;
  background: #eef0e9;
  color: #5c6554;
}
.dc-badge.verified,
.dc-badge.published {
  background: #e1ebdf;
  color: #355a37;
}
.dc-badge.attention,
.dc-badge.returned {
  background: #f4e6c6;
  color: #72530f;
}
.dc-badge.pending,
.dc-badge.draft {
  border: 1px solid #d9ded0;
  background: #f6f7f1;
}
.dc-phase-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.dc-phase-cards button {
  border: 1px solid var(--dc-line);
  background: #f8faf4;
  padding: 22px 16px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 10px;
  min-height: 90px;
  color: #344d3e;
}
.dc-phase-cards .is-active {
  border-color: #344d3e;
  background: #e7ecdf;
}
.dc-phase-cards strong {
  font-size: 18px;
}
.dc-phase-cards span {
  font-size: 11px;
}
.dc-empty {
  padding: 52px 20px;
  text-align: center;
  line-height: 1.8;
  color: #65705e;
  background: #f8faf6;
}
.dc-empty strong {
  font-size: 18px;
}
.dc-empty p {
  font-size: 13px;
}
.dc-pagination {
  justify-content: center;
  margin-top: 20px;
  font-size: 12px;
}
.dc-error {
  padding: 14px 16px;
  border-left: 4px solid #a54736;
  background: #fff0e9;
  color: #8c3024;
  line-height: 1.7;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.dc-notice {
  padding: 14px 16px;
  background: #f3eed8;
  color: #6c5e2f;
  font-size: 13px;
  line-height: 1.8;
}
.dc-detail {
  padding: 26px;
  border: 1px solid var(--dc-line);
  background: #fff;
}
.dc-detail > .dc-section-head {
  align-items: flex-start;
  border-bottom: 1px solid var(--dc-line);
  padding-bottom: 20px;
  flex-wrap: wrap;
}
.dc-detail .dc-section-head h3 {
  margin: 18px 0 12px;
  overflow-wrap: anywhere;
}
.dc-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--dc-line);
  margin: 0 0 20px;
}
.dc-facts dt {
  font-size: 11px;
  color: #77816e;
}
.dc-facts dd {
  font-size: 14px;
  margin: 7px 0 0;
  overflow-wrap: anywhere;
}
.dc-prose {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.9;
  margin: 16px 0;
}
.dc-detail h4 {
  font-size: 15px;
  margin: 20px 0 14px;
}
.dc-detail details {
  border-top: 1px solid var(--dc-line);
  padding: 18px 0;
  font-size: 13px;
}
.dc-detail summary {
  cursor: pointer;
  line-height: 1.7;
}
.dc-history {
  border-left: 2px solid #d4ddcd;
  padding: 12px 16px;
  margin: 10px 0;
}
.dc-history > small {
  display: block;
  margin-top: 7px;
  color: #6f7869;
}
.dc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.dc-wide {
  grid-column: 1/-1;
}
.dc-review {
  background: #f2f5ed;
  padding: 20px;
  margin: 24px 0;
}
.dc-review h4 {
  margin-top: 0;
}
.dc-review > .t-button {
  margin-top: 16px;
}
.dc-files {
  display: grid;
  gap: 8px;
}
.dc-files > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--dc-line);
  flex-wrap: wrap;
}
.dc-files small {
  font-size: 11px;
  color: #697560;
}
.dc-file-name {
  font: inherit;
  text-align: left;
  background: none;
  border: 0;
  text-decoration: underline;
  cursor: pointer;
  overflow-wrap: anywhere;
  flex: 1;
  min-width: 100px;
  color: #344d3e;
  padding: 8px 0;
}
.dc-metrics {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  border: 1px solid var(--dc-line);
  margin: 20px 0;
}
.dc-metrics > div {
  padding: 18px;
  border-right: 1px solid var(--dc-line);
}
.dc-metrics > div:last-child {
  border: 0;
}
.dc-metrics small {
  display: block;
  font-size: 11px;
  color: #6e7b64;
  line-height: 1.6;
}
.dc-metrics strong {
  font-size: 32px;
  display: block;
  margin-top: 10px;
  color: #344d3e;
}
.dc-metrics b {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
}
.dc-weekly-rows > article {
  border-bottom: 1px solid var(--dc-line);
  padding: 20px 0;
}
.dc-weekly-rows header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  margin-bottom: 10px;
}
.dc-weekly-rows header > span {
  font-size: 12px;
  color: #6f7868;
}
.dc-dialog {
  width: min(800px, calc(100vw - 32px));
  max-height: 90vh;
  padding: 26px;
  border: 1px solid #75856b;
  box-sizing: border-box;
  color: #1d2c20;
  background: #fbfcf7;
}
.dc-dialog::backdrop {
  background: rgba(18, 30, 20, 0.48);
}
.dc-dialog > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--dc-line);
  padding-bottom: 16px;
}
.dc-dialog h3 {
  margin: 8px 0;
  font-size: 23px;
}
.dc-dialog fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.dc-dialog form > footer {
  border-top: 1px solid var(--dc-line);
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.dc-dialog form > footer > span {
  font-size: 12px;
  color: #6c765f;
}
.dc-editor-files {
  margin-top: 20px;
  padding: 18px;
  background: #edf1e7;
}
.dc-editor-files p {
  font-size: 12px;
  overflow-wrap: anywhere;
}
.dc-preview {
  width: min(1000px, calc(100vw - 32px));
}
.dc-preview img {
  display: block;
  max-width: 100%;
  max-height: 68vh;
  object-fit: contain;
  margin: 18px auto;
}
.dc-preview iframe {
  width: 100%;
  height: 65vh;
  border: 0;
  margin-top: 18px;
}
.dc-conflict {
  border: 1px solid #bd8e38;
  background: #fff7dc;
  padding: 16px;
  margin-bottom: 20px;
}
.dc-conflict .dc-prose {
  max-height: 200px;
  overflow: auto;
}
.dc-home {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border: 1px solid #cdd5c5;
  background: linear-gradient(110deg, #f6f8f0, #edf1e4);
  padding: 24px;
  margin: 0 0 24px;
}
.dc-home h3 {
  margin: 9px 0;
  font-size: 23px;
}
.dc-home p {
  font-size: 13px;
  color: #657559;
  line-height: 1.7;
  margin: 0;
}
.dc-home .t-button {
  min-height: 44px;
}
.dc-page button:focus-visible,
.dc-page input:focus-visible,
.dc-page select:focus-visible,
.dc-page textarea:focus-visible {
  outline: 2px solid #7c934e;
  outline-offset: 3px;
}
@media (max-width: 1000px) {
  .dc-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dc-record {
    grid-template-columns: 90px 1fr;
  }
  .dc-record > .t-button {
    grid-column: 2;
    justify-self: start;
  }
  .dc-tabs button {
    padding: 18px 14px;
    grid-template-columns: 24px 1fr;
  }
  .dc-tabs strong {
    font-size: 17px;
  }
}
@media (max-width: 600px) {
  .dc-heading {
    padding: 16px 0 24px;
    gap: 12px;
  }
  .dc-heading h2 {
    font-size: 32px;
    letter-spacing: -1px;
  }
  .dc-heading p {
    font-size: 12px;
  }
  .dc-heading-mark {
    display: none;
  }
  .dc-tabs button {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 10px;
  }
  .dc-tabs strong {
    font-size: 15px;
  }
  .dc-tabs span {
    display: none;
  }
  .dc-tabs small {
    font-size: 10px;
  }
  .dc-toolbar {
    margin: 16px 0;
  }
  .dc-toolbar > .dc-actions {
    width: 100%;
  }
  .dc-toolbar > .dc-actions > .t-primary {
    flex: 1;
  }
  .dc-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 14px;
    gap: 12px;
  }
  .dc-search {
    grid-column: 1/-1;
  }
  .dc-record {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 20px 0;
  }
  .dc-record-date {
    display: flex;
    gap: 12px;
    align-items: center;
  }
  .dc-record > .t-button {
    grid-column: 1;
    justify-self: start;
  }
  .dc-record h3 {
    font-size: 17px;
  }
  .dc-phase-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .dc-phase-cards button {
    padding: 16px;
    min-height: 80px;
  }
  .dc-phase-cards strong {
    font-size: 16px;
  }
  .dc-detail {
    padding: 16px;
  }
  .dc-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .dc-form-grid {
    grid-template-columns: 1fr;
  }
  .dc-review {
    padding: 16px;
  }
  .dc-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dc-metrics > div {
    padding: 14px;
    border-bottom: 1px solid var(--dc-line);
  }
  .dc-metrics > div:nth-child(2) {
    border-right: 0;
  }
  .dc-metrics > div:nth-child(3) {
    border-bottom: 0;
  }
  .dc-metrics strong {
    font-size: 27px;
  }
  .dc-dialog {
    padding: 18px;
    width: calc(100vw - 24px);
    max-height: 92vh;
  }
  .dc-dialog h3 {
    font-size: 20px;
  }
  .dc-dialog .dc-actions {
    gap: 8px;
  }
  .dc-dialog form > footer > .dc-actions {
    width: 100%;
  }
  .dc-dialog form > footer > .dc-actions > button {
    flex: 1;
  }
  .dc-home {
    padding: 20px;
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .dc-home h3 {
    font-size: 22px;
  }
  .dc-home > .t-button {
    width: 100%;
  }
  .dc-weekly-rows header {
    flex-wrap: wrap;
  }
}
@media print {
  body * {
    visibility: hidden;
  }
  .dc-detail,
  .dc-detail * {
    visibility: visible;
  }
  .dc-detail {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    border: 0;
  }
  .dc-detail .t-button,
  .dc-review {
    display: none;
  }
  .dc-files > div {
    break-inside: avoid;
  }
  .dc-record {
    break-inside: avoid;
  }
}

.dcr-scope {
  border: 1px solid var(--dc-line);
  padding: 22px;
  margin: 0 0 24px;
  background: #f4f7ee;
}
.dcr-scope > header,
.dcr-directory > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.dcr-scope h3,
.dcr-directory h3 {
  font-size: 19px;
  margin: 8px 0;
}
.dcr-trail,
.dcr-buildings {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}
.dcr-trail strong {
  font-size: 13px;
  padding: 10px 12px;
  background: #dfe8d5;
  color: #344d3e;
}
.dcr-cohorts,
.dcr-genders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0;
}
.dcr-cohorts > button,
.dcr-genders > button:not(.t-button) {
  border: 1px solid #becbb3;
  background: #fff;
  text-align: left;
  padding: 23px;
  display: grid;
  gap: 12px;
  cursor: pointer;
  color: #344d3e;
  min-width: 0;
}
.dcr-cohorts strong {
  font-size: 29px;
}
.dcr-genders strong {
  font-size: 23px;
}
.dcr-cohorts span,
.dcr-genders span {
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.dcr-selected {
  font-size: 14px;
  font-weight: 600;
  color: #344d3e;
  line-height: 1.8;
}
.dcr-buildings .is-active {
  background: #344d3e;
  color: #fff;
}
.dcr-directory {
  border-top: 2px solid #425d4d;
  padding: 20px 0 26px;
  margin-bottom: 26px;
}
.dcr-directory > header form {
  display: flex;
  gap: 8px;
  max-width: 350px;
  flex: 1;
  min-width: 220px;
}
.dcr-directory > header form > input {
  flex: 1 1 auto;
  width: 0;
}
.dcr-directory > header form > .t-button {
  flex: 0 0 64px;
  white-space: nowrap;
}
.dcr-rooms {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.dcr-rooms > button {
  border: 1px solid var(--dc-line);
  background: #fbfcf8;
  padding: 18px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  cursor: pointer;
  color: #273d2a;
}
.dcr-rooms strong {
  font-size: 27px;
  letter-spacing: 1px;
}
.dcr-rooms small {
  font-size: 11px;
  color: #728265;
}
.dcr-rooms span {
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  flex: 1;
}
.dcr-residents {
  display: grid;
  gap: 10px;
  margin: 20px 0;
}
.dcr-residents > article {
  display: grid;
  grid-template-columns: 55px 1fr auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid var(--dc-line);
  padding: 14px 0;
}
.dcr-residents > article > b {
  font-size: 13px;
  color: #627854;
}
.dcr-residents > article > div {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.dcr-residents span {
  font-size: 13px;
  color: #4d5f43;
  overflow-wrap: anywhere;
}
.dcr-residents small {
  font-size: 12px;
  color: #76806c;
  overflow-wrap: anywhere;
}
.dcr-editor-scope {
  border-left: 3px solid #5b744b;
  background: #edf2e4;
  padding: 15px;
  margin: 10px 0 18px;
  line-height: 1.7;
}
.dcr-editor-scope strong {
  font-size: 15px;
}
.dcr-editor-scope p {
  font-size: 12px;
  color: #67785a;
  margin: 8px 0 0;
}
.dcr-import-plan {
  border-top: 1px solid var(--dc-line);
  margin-top: 22px;
  padding-top: 18px;
  font-size: 13px;
  line-height: 1.8;
}
.dc-dialog[data-dcr-dialog] > footer,
.dc-dialog [data-dcr-resident] > footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.dc-dialog [data-dcr-import] > .t-button {
  margin-top: 16px;
}
@media (max-width: 1000px) {
  .dcr-rooms {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dcr-cohorts,
  .dcr-genders {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .dcr-scope {
    padding: 16px;
  }
  .dcr-scope > header {
    align-items: flex-start;
  }
  .dcr-scope h3 {
    font-size: 18px;
  }
  .dcr-cohorts,
  .dcr-genders {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
  }
  .dcr-cohorts > button,
  .dcr-genders > button:not(.t-button) {
    padding: 17px;
  }
  .dcr-genders > .t-button {
    grid-column: 1/-1;
  }
  .dcr-rooms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .dcr-rooms > button {
    padding: 15px;
  }
  .dcr-rooms strong {
    font-size: 25px;
  }
  .dcr-directory > header form {
    width: 100%;
    max-width: none;
  }
  .dcr-residents > article {
    grid-template-columns: 42px 1fr;
    gap: 10px;
  }
  .dcr-residents > article > .t-button {
    grid-column: 2;
    justify-self: start;
  }
  .dcr-trail .t-button {
    font-size: 12px;
    padding: 10px;
  }
  .dcr-selected {
    font-size: 13px;
  }
  .dc-page input[type='hidden'] {
    display: none;
  }
}
.dcb-section {
  margin: 0 0 24px;
  padding: 24px;
  min-width: 0;
}
.dcb-section > .dc-section-head {
  align-items: flex-start;
  flex-wrap: wrap;
}
.dcb-section > .dc-section-head > div {
  flex: 1 1 240px;
  min-width: 0;
}
.dcb-section > .dc-section-head > button {
  flex-shrink: 0;
}
.dcb-section h3 {
  margin: 6px 0;
}
.dcb-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  padding: 12px 0 20px;
}
.dcb-filter label {
  display: grid;
  gap: 6px;
  min-width: 150px;
}
.dcb-list-item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid var(--line, #deded6);
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
  min-width: 0;
  overflow-wrap: anywhere;
}
.dcb-list-item > span:first-child {
  flex: 1;
  min-width: 0;
}
.dcb-list-item > span:nth-child(2) {
  flex: 0 0 auto;
  text-align: right;
}
.dcb-list-item span {
  display: grid;
  gap: 7px;
}
.dcb-list-item small {
  color: #647268;
  font-size: 12px;
}
.dcb-list-item:hover strong {
  color: #17725c;
}
.dcb-dialog {
  width: min(1000px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  height: min(900px, 90dvh);
  max-height: 90dvh;
  overflow: hidden;
  padding: 0;
}
.dcb-dialog[open] {
  display: flex;
  flex-direction: column;
}
.dcb-dialog > header {
  flex-shrink: 0;
  padding: 18px 24px;
  align-items: flex-start;
}
.dcb-dialog > header > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.dcb-dialog > header > button {
  flex-shrink: 0;
}
.dcb-discard {
  flex-shrink: 0;
  padding: 12px 24px;
  background: #fff0c6;
  border-bottom: 1px solid #dec67d;
}
.dcb-discard p {
  margin: 0 0 10px;
  font-size: 13px;
}
.dcb-dialog > form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  margin: 0;
}
.dcb-dialog .dcb-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 20px 24px;
}
.dcb-dialog form > footer {
  flex-shrink: 0;
  margin: 0;
  padding: 14px 24px;
  background: #fbfcf7;
}
body:has(.dcb-dialog[open]),
body:has(.dcr-room-dialog[open]) {
  overflow: hidden;
}
html:has(.dcb-dialog[open]),
html:has(.dcr-room-dialog[open]) {
  overflow: hidden;
  scrollbar-gutter: stable;
}
.dcb-header {
  background: #f5f6ef;
  padding: 18px;
  border: 1px solid #e2e5d9;
}
.dcb-options {
  margin-top: 12px;
  padding: 12px 18px;
  border: 1px solid #e2e5d9;
}
.dcb-options summary {
  cursor: pointer;
  font-size: 13px;
  color: #526253;
}
.dcb-options > div {
  margin-top: 14px;
}
.dcb-rooms-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 24px 0 12px;
}
.dcb-rooms-heading h4 {
  margin: 0;
}
.dcb-rooms-heading h4 span {
  color: #17725c;
  margin-left: 8px;
}
.dcb-rows,
.dcb-detail-rows {
  display: grid;
  gap: 16px;
  margin: 16px 0;
}
.dcb-row {
  padding: 18px;
  border: 1px solid #cfd8cb;
  background: #fff;
  border-radius: 8px;
  min-width: 0;
}
.dcb-row > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.dcb-row h4 {
  margin: 0;
}
.dcb-room-pick {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}
.dcb-dialog input,
.dcb-dialog select,
.dcb-dialog textarea,
.dcb-filter select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #cdd4cb;
  border-radius: 4px;
  padding: 9px;
  color: #1e3027;
  background: #fff;
  font: inherit;
}
.dcb-result {
  display: grid;
  gap: 6px;
}
.dcb-result > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.dcb-result .is-selected {
  background: #dcefe4;
  color: #175e42;
  border-color: #47946e;
}
.dcb-result .is-issue {
  background: #fff0bd;
  color: #684b08;
  border-color: #dbb556;
}
.dcb-file {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  overflow-wrap: anywhere;
  font-size: 13px;
}
.dcb-history pre,
.dcb-dialog pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12px;
}
.dcb-history {
  margin-top: 24px;
}
.dcb-dialog fieldset {
  padding: 20px 24px;
  margin: 0;
  border: 0;
  min-width: 0;
}
@media (max-width: 600px) {
  .dcb-dialog {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    padding: 0;
    height: 94dvh;
    max-height: 94dvh;
  }
  .dcb-section {
    padding: 16px;
  }
  .dcb-section > .dc-section-head > button {
    width: 100%;
  }
  .dcb-dialog > header {
    padding: 12px 14px;
  }
  .dcb-dialog .dcb-scroll {
    padding: 12px 14px;
  }
  .dcb-dialog form > footer {
    padding: 10px 14px;
    gap: 8px;
  }
  .dcb-dialog form > footer > span {
    width: 100%;
  }
  .dcb-result > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dcb-header,
  .dcb-row {
    padding: 12px;
  }
  .dcb-list-item {
    gap: 10px;
    align-items: start;
  }
  .dcb-list-item span:nth-child(2) {
    text-align: right;
  }
  .dcb-filter label {
    flex: 1;
    min-width: 100px;
  }
  .dcb-rooms-heading {
    align-items: start;
  }
}
.dc-followup {
  margin: 22px 0;
  padding: 16px;
  border: 1px solid var(--line, #d9ded8);
  border-left: 4px solid #217363;
  background: #f4f8f5;
}
.dc-followup > summary,
.dcr-people > summary {
  cursor: pointer;
  font-weight: 700;
  padding: 6px 0;
}
.dcr-check-history {
  margin: 20px 0;
}
.dcr-check-history > header,
.dcr-check-history article > header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
  gap: 10px;
}
.dcr-check-history h4 {
  margin: 6px 0;
  font-size: 20px;
}
.dcr-check-history article {
  border: 1px solid #d9ded8;
  border-left: 3px solid #217363;
  padding: 16px;
  margin: 12px 0;
  background: #fff;
  overflow-wrap: anywhere;
}
.dcr-check-history article > header span {
  font-size: 12px;
  color: #586761;
}
.dcr-check-history .dc-tags {
  margin-top: 10px;
  gap: 8px;
  font-size: 12px;
}
.dcr-people {
  border-top: 1px solid #d9ded8;
  padding: 12px 0;
}
.dcr-room-dialog {
  padding: 0;
  overflow: hidden;
}
.dcr-room-dialog[open] {
  display: flex;
  flex-direction: column;
}
.dcr-room-dialog > header,
.dcr-room-dialog > footer {
  flex: 0 0 auto;
  padding: 18px 24px;
  margin: 0;
  background: #fafbf6;
}
.dcr-room-dialog > header > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.dcr-room-dialog > header > button {
  flex-shrink: 0;
}
.dcr-room-body {
  min-height: 0;
  padding: 0 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.dc-dialog.dcr-room-dialog > footer {
  margin-top: 0;
  border-top: 1px solid #d9ded8;
}
.dc-list > .dc-section-head {
  flex-wrap: wrap;
}
