/*
  Diagnosis UI Design System
  - token driven utility/component layer
  - class-only composition friendly
*/
:root {
  --ds-bg: #ffffff;
  --ds-surface: #f7f7f8;
  --ds-surface-2: #efeff2;
  --ds-text: #1f2430;
  --ds-text-muted: #5f6777;
  --ds-border: rgba(0, 0, 0, 0.12);
  --ds-primary: #111111;
  --ds-primary-contrast: #ffffff;
  --ds-danger: #a40000;
  --ds-danger-bg: #fff0f0;
}

.html-rem {
  font-size: 1.3333vw !important;
}

@media screen and (min-width: 750px) {
  .html-rem {
    font-size: 62.5% !important;
  }
}
.body-rem {
  max-width: 750px;
}

/* Typography */
.c-font-10r {
  font-size: 1rem;
}

.c-font-12r {
  font-size: 1.2rem;
}

.c-font-14r {
  font-size: 1.4rem;
}

.c-font-16r {
  font-size: 1.6rem;
}

.c-font-18r {
  font-size: 1.8rem;
}

.c-font-20r {
  font-size: 2rem;
}

.c-font-24r {
  font-size: 2.4rem;
}

.c-font-28r {
  font-size: 2.8rem;
}

.c-font-32r {
  font-size: 3.2rem;
}

.c-font-40r {
  font-size: 4rem;
}

.c-font-45r {
  font-size: 4.5rem;
}

.c-font-50r {
  font-size: 5rem;
}

.c-font-60r {
  font-size: 6rem;
}

.c-font-70r {
  font-size: 7rem;
}

.c-font-80r {
  font-size: 8rem;
}

.c-font-90r {
  font-size: 9rem;
}

.c-font-100r {
  font-size: 10rem;
}

/* Typography */
.c-font-10px {
  font-size: 10px;
}

.c-font-12px {
  font-size: 12px;
}

.c-font-14px {
  font-size: 14px;
}

.c-font-16px {
  font-size: 16px;
}

.c-font-18px {
  font-size: 18px;
}

.c-font-20px {
  font-size: 20px;
}

.c-font-24px {
  font-size: 24px;
}

.c-font-28px {
  font-size: 28px;
}

.c-font-32px {
  font-size: 32px;
}

.c-font-40px {
  font-size: 40px;
}

.c-lh-tight {
  line-height: 1.2;
}

.c-lh-normal {
  line-height: 1.5;
}

.c-lh-loose {
  line-height: 1.8;
}

.c-text-left {
  text-align: left;
}

.c-text-center {
  text-align: center;
}

.c-text-right {
  text-align: right;
}

.c-text-main {
  color: var(--ds-text);
}

.c-text-muted {
  color: var(--ds-text-muted);
}

.c-text-danger {
  color: var(--ds-danger);
}

.c-fw-400 {
  font-weight: 400;
}

.c-fw-500 {
  font-weight: 500;
}

.c-fw-700 {
  font-weight: 700;
}

.c-fw-800 {
  font-weight: 800;
}

/* Spacing */
.c-m-0 {
  margin: 0px;
}

.c-mt-0 {
  margin-top: 0px;
}

.c-mr-0 {
  margin-right: 0px;
}

.c-mb-0 {
  margin-bottom: 0px;
}

.c-ml-0 {
  margin-left: 0px;
}

.c-p-0 {
  padding: 0px;
}

.c-pt-0 {
  padding-top: 0px;
}

.c-pr-0 {
  padding-right: 0px;
}

.c-pb-0 {
  padding-bottom: 0px;
}

.c-pl-0 {
  padding-left: 0px;
}

.c-m-4 {
  margin: 4px;
}

.c-mt-4 {
  margin-top: 4px;
}

.c-mr-4 {
  margin-right: 4px;
}

.c-mb-4 {
  margin-bottom: 4px;
}

.c-ml-4 {
  margin-left: 4px;
}

.c-p-4 {
  padding: 4px;
}

.c-pt-4 {
  padding-top: 4px;
}

.c-pr-4 {
  padding-right: 4px;
}

.c-pb-4 {
  padding-bottom: 4px;
}

.c-pl-4 {
  padding-left: 4px;
}

.c-m-8 {
  margin: 8px;
}

.c-mt-8 {
  margin-top: 8px;
}

.c-mr-8 {
  margin-right: 8px;
}

.c-mb-8 {
  margin-bottom: 8px;
}

.c-ml-8 {
  margin-left: 8px;
}

.c-p-8 {
  padding: 8px;
}

.c-pt-8 {
  padding-top: 8px;
}

.c-pr-8 {
  padding-right: 8px;
}

.c-pb-8 {
  padding-bottom: 8px;
}

.c-pl-8 {
  padding-left: 8px;
}

.c-m-10 {
  margin: 10px;
}

.c-mt-10 {
  margin-top: 10px;
}

.c-mr-10 {
  margin-right: 10px;
}

.c-mb-10 {
  margin-bottom: 10px;
}

.c-ml-10 {
  margin-left: 10px;
}

.c-p-10 {
  padding: 10px;
}

.c-pt-10 {
  padding-top: 10px;
}

.c-pr-10 {
  padding-right: 10px;
}

.c-pb-10 {
  padding-bottom: 10px;
}

.c-pl-10 {
  padding-left: 10px;
}

.c-m-12 {
  margin: 12px;
}

.c-mt-12 {
  margin-top: 12px;
}

.c-mr-12 {
  margin-right: 12px;
}

.c-mb-12 {
  margin-bottom: 12px;
}

.c-ml-12 {
  margin-left: 12px;
}

.c-p-12 {
  padding: 12px;
}

.c-pt-12 {
  padding-top: 12px;
}

.c-pr-12 {
  padding-right: 12px;
}

.c-pb-12 {
  padding-bottom: 12px;
}

.c-pl-12 {
  padding-left: 12px;
}

.c-m-14 {
  margin: 14px;
}

.c-mt-14 {
  margin-top: 14px;
}

.c-mr-14 {
  margin-right: 14px;
}

.c-mb-14 {
  margin-bottom: 14px;
}

.c-ml-14 {
  margin-left: 14px;
}

.c-p-14 {
  padding: 14px;
}

.c-pt-14 {
  padding-top: 14px;
}

.c-pr-14 {
  padding-right: 14px;
}

.c-pb-14 {
  padding-bottom: 14px;
}

.c-pl-14 {
  padding-left: 14px;
}

.c-m-16 {
  margin: 16px;
}

.c-mt-16 {
  margin-top: 16px;
}

.c-mr-16 {
  margin-right: 16px;
}

.c-mb-16 {
  margin-bottom: 16px;
}

.c-ml-16 {
  margin-left: 16px;
}

.c-p-16 {
  padding: 16px;
}

.c-pt-16 {
  padding-top: 16px;
}

.c-pr-16 {
  padding-right: 16px;
}

.c-pb-16 {
  padding-bottom: 16px;
}

.c-pl-16 {
  padding-left: 16px;
}

.c-m-18 {
  margin: 18px;
}

.c-mt-18 {
  margin-top: 18px;
}

.c-mr-18 {
  margin-right: 18px;
}

.c-mb-18 {
  margin-bottom: 18px;
}

.c-ml-18 {
  margin-left: 18px;
}

.c-p-18 {
  padding: 18px;
}

.c-pt-18 {
  padding-top: 18px;
}

.c-pr-18 {
  padding-right: 18px;
}

.c-pb-18 {
  padding-bottom: 18px;
}

.c-pl-18 {
  padding-left: 18px;
}

.c-m-20 {
  margin: 20px;
}

.c-mt-20 {
  margin-top: 20px;
}

.c-mr-20 {
  margin-right: 20px;
}

.c-mb-20 {
  margin-bottom: 20px;
}

.c-ml-20 {
  margin-left: 20px;
}

.c-p-20 {
  padding: 20px;
}

.c-pt-20 {
  padding-top: 20px;
}

.c-pr-20 {
  padding-right: 20px;
}

.c-pb-20 {
  padding-bottom: 20px;
}

.c-pl-20 {
  padding-left: 20px;
}

.c-m-24 {
  margin: 24px;
}

.c-mt-24 {
  margin-top: 24px;
}

.c-mr-24 {
  margin-right: 24px;
}

.c-mb-24 {
  margin-bottom: 24px;
}

.c-ml-24 {
  margin-left: 24px;
}

.c-p-24 {
  padding: 24px;
}

.c-pt-24 {
  padding-top: 24px;
}

.c-pr-24 {
  padding-right: 24px;
}

.c-pb-24 {
  padding-bottom: 24px;
}

.c-pl-24 {
  padding-left: 24px;
}

.c-m-28 {
  margin: 28px;
}

.c-mt-28 {
  margin-top: 28px;
}

.c-mr-28 {
  margin-right: 28px;
}

.c-mb-28 {
  margin-bottom: 28px;
}

.c-ml-28 {
  margin-left: 28px;
}

.c-p-28 {
  padding: 28px;
}

.c-pt-28 {
  padding-top: 28px;
}

.c-pr-28 {
  padding-right: 28px;
}

.c-pb-28 {
  padding-bottom: 28px;
}

.c-pl-28 {
  padding-left: 28px;
}

.c-m-32 {
  margin: 32px;
}

.c-mt-32 {
  margin-top: 32px;
}

.c-mr-32 {
  margin-right: 32px;
}

.c-mb-32 {
  margin-bottom: 32px;
}

.c-ml-32 {
  margin-left: 32px;
}

.c-p-32 {
  padding: 32px;
}

.c-pt-32 {
  padding-top: 32px;
}

.c-pr-32 {
  padding-right: 32px;
}

.c-pb-32 {
  padding-bottom: 32px;
}

.c-pl-32 {
  padding-left: 32px;
}

.c-m-40 {
  margin: 40px;
}

.c-mt-40 {
  margin-top: 40px;
}

.c-mr-40 {
  margin-right: 40px;
}

.c-mb-40 {
  margin-bottom: 40px;
}

.c-ml-40 {
  margin-left: 40px;
}

.c-p-40 {
  padding: 40px;
}

.c-pt-40 {
  padding-top: 40px;
}

.c-pr-40 {
  padding-right: 40px;
}

.c-pb-40 {
  padding-bottom: 40px;
}

.c-pl-40 {
  padding-left: 40px;
}

.c-m-48 {
  margin: 48px;
}

.c-mt-48 {
  margin-top: 48px;
}

.c-mr-48 {
  margin-right: 48px;
}

.c-mb-48 {
  margin-bottom: 48px;
}

.c-ml-48 {
  margin-left: 48px;
}

.c-p-48 {
  padding: 48px;
}

.c-pt-48 {
  padding-top: 48px;
}

.c-pr-48 {
  padding-right: 48px;
}

.c-pb-48 {
  padding-bottom: 48px;
}

.c-pl-48 {
  padding-left: 48px;
}

.c-m-60 {
  margin: 60px;
}

.c-mt-60 {
  margin-top: 60px;
}

.c-mr-60 {
  margin-right: 60px;
}

.c-mb-60 {
  margin-bottom: 60px;
}

.c-ml-60 {
  margin-left: 60px;
}

.c-p-60 {
  padding: 60px;
}

.c-pt-60 {
  padding-top: 60px;
}

.c-pr-60 {
  padding-right: 60px;
}

.c-pb-60 {
  padding-bottom: 60px;
}

.c-pl-60 {
  padding-left: 60px;
}

/* Layout */
.c-d-block {
  display: block;
}

.c-d-inline {
  display: inline;
}

.c-d-inline-block {
  display: inline-block;
}

.c-d-flex {
  display: flex;
}

.c-d-grid {
  display: grid;
}

.c-flex-col {
  flex-direction: column;
}

.c-flex-wrap {
  flex-wrap: wrap;
}

.c-items-center {
  align-items: center;
}

.c-items-start {
  align-items: flex-start;
}

.c-items-end {
  align-items: flex-end;
}

.c-justify-center {
  justify-content: center;
}

.c-justify-between {
  justify-content: space-between;
}

.c-w-full {
  width: 100%;
}

.c-maxw-860 {
  max-width: 860px;
}

.c-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.c-gap-0 {
  gap: 0px;
}

.c-gap-4 {
  gap: 4px;
}

.c-gap-8 {
  gap: 8px;
}

.c-gap-10 {
  gap: 10px;
}

.c-gap-12 {
  gap: 12px;
}

.c-gap-14 {
  gap: 14px;
}

.c-gap-16 {
  gap: 16px;
}

.c-gap-18 {
  gap: 18px;
}

.c-gap-20 {
  gap: 20px;
}

.c-gap-24 {
  gap: 24px;
}

.c-gap-28 {
  gap: 28px;
}

.c-gap-32 {
  gap: 32px;
}

.c-gap-40 {
  gap: 40px;
}

.c-gap-48 {
  gap: 48px;
}

.c-gap-60 {
  gap: 60px;
}

/* Surface / Borders */
.c-bg {
  background: var(--ds-bg);
}

.c-bg-surface {
  background: var(--ds-surface);
}

.c-bg-surface-2 {
  background: var(--ds-surface-2);
}

.c-border {
  border: 1px solid var(--ds-border);
}

.c-radius-0 {
  border-radius: 0px;
}

.c-radius-4 {
  border-radius: 4px;
}

.c-radius-8 {
  border-radius: 8px;
}

.c-radius-10 {
  border-radius: 10px;
}

.c-radius-12 {
  border-radius: 12px;
}

.c-radius-16 {
  border-radius: 16px;
}

.c-radius-20 {
  border-radius: 20px;
}

.c-radius-999 {
  border-radius: 999px;
}

/* Interactive primitives */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid var(--ds-border);
  border-radius: 12px;
  background: var(--ds-surface);
  color: var(--ds-text);
  text-decoration: none;
  cursor: pointer;
  font-weight: 700;
  line-height: 1.4;
}

.c-btn:hover {
  background: var(--ds-surface-2);
}

.c-btn-primary {
  background: var(--ds-primary);
  color: var(--ds-primary-contrast);
  border-color: var(--ds-primary);
}

.c-btn-primary:hover {
  filter: brightness(1.08);
}

.c-btn:disabled,
.c-is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Card / Alert / Progress components */
.c-card {
  background: var(--ds-bg);
  border: 1px solid var(--ds-border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}

.c-card-head {
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: linear-gradient(180deg, #fafafa, #ffffff);
}

.c-card-body {
  padding: 16px 18px 18px;
}

.c-alert {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 0, 0, 0.15);
  background: var(--ds-danger-bg);
  color: var(--ds-danger);
  font-weight: 700;
}

.c-progress {
  height: 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

.c-progress-bar {
  height: 100%;
  width: 0%;
  background: var(--ds-primary);
  transition: width 0.2s ease;
}

/* Existing diagnosis header wrapper */
.diag-header {
  position: relative;
}/*# sourceMappingURL=d-system.css.map */