/* ============================================
   DF_137 — REPORT CONTENT
   Loaded by the admin report editor and by the public report page, so text
   is laid out the same in both places. Everything is scoped to
   .report-content and uses its own tokens, because the admin and the public
   site have different stylesheets around it.
   ============================================ */

.report-content {
    --rc-text: rgba(245, 243, 255, 0.74);
    --rc-strong: #F5F3FF;
    --rc-accent: #C7A6FF;
    --rc-muted: rgba(245, 243, 255, 0.6);
    --rc-rule: rgba(199, 166, 255, 0.18);
    font-family: 'Montserrat', 'Montserrat Fallback', Arial, sans-serif;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--rc-text);
    overflow-wrap: break-word;
}

/* ---------- Blocks ---------- */
.report-content p { margin: 0 0 12pt; }

.report-content h1,
.report-content h2 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--rc-strong);
    margin: 24pt 0 10pt;
}

.report-content h3 {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--rc-strong);
    margin: 18pt 0 8pt;
}

.report-content h4,
.report-content h5,
.report-content h6 {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--rc-strong);
    margin: 14pt 0 6pt;
}

.report-content strong,
.report-content b { font-weight: 700; color: var(--rc-strong); }
.report-content em,
.report-content i { font-style: italic; }
.report-content u { text-decoration: underline; }
.report-content s { text-decoration: line-through; }

.report-content a {
    color: var(--rc-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Used in older reports as an indented paragraph with a rule on the left,
   which is how the previous editor displayed it. */
.report-content blockquote {
    margin: 0 0 12pt;
    padding: 2pt 0 2pt 1.1em;
    border-left: 3px solid rgba(199, 166, 255, 0.45);
}
.report-content blockquote > :last-child { margin-bottom: 0; }

.report-content hr {
    border: 0;
    border-top: 1px solid var(--rc-rule);
    margin: 18pt 0;
}

.report-content code {
    font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
    font-size: 0.9em;
    background: rgba(199, 166, 255, 0.1);
    border-radius: 4px;
    padding: 0.1em 0.35em;
}

.report-content pre {
    font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
    font-size: 0.88rem;
    line-height: 1.6;
    background: rgba(10, 4, 18, 0.6);
    border: 1px solid var(--rc-rule);
    border-radius: 10px;
    padding: 12pt 14pt;
    margin: 0 0 12pt;
    overflow-x: auto;
    white-space: pre;
}
.report-content pre code { background: none; padding: 0; }

/* ---------- Lists ----------
   Hanging indent: the marker sits inside the text column, and a wrapped line
   lines up with the first line's text rather than with the number. */
.report-content ol,
.report-content ul {
    margin: 0 0 12pt;
    padding-left: 2em;
}
.report-content ul { list-style-type: disc; }
.report-content ul ul { list-style-type: circle; }
.report-content ul ul ul { list-style-type: square; }
.report-content ol { list-style-type: decimal; }
.report-content ol ol { list-style-type: lower-alpha; }
.report-content ol ol ol { list-style-type: lower-roman; }

.report-content li {
    margin: 0 0 4pt;
    padding-left: 0.3em;
}
.report-content li > p { margin: 0 0 4pt; }
.report-content li > ol,
.report-content li > ul { margin: 4pt 0 0; }
.report-content li::marker {
    color: var(--rc-accent);
    font-weight: 600;
}

.report-content ul.list-dash,
.report-content ul.list-dash ul { list-style-type: "–  "; }

/* Multilevel lists (1 / 1.1 / 1.1.1) count with CSS counters. Each level's
   label sits in the item's left padding, which widens with the label. */
.report-content ol.list-ml,
.report-content ol.list-ml ol {
    list-style-type: none !important;
    counter-reset: ml;
    padding-left: 0;
}
.report-content ol.list-ml li {
    counter-increment: ml;
    position: relative;
    padding-left: 2.2em;
}
.report-content ol.list-ml li::before {
    content: counters(ml, ".") ".";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rc-accent);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.report-content ol.list-ml ol > li { padding-left: 2.9em; }
.report-content ol.list-ml ol > li::before { content: counters(ml, "."); }
.report-content ol.list-ml ol ol > li { padding-left: 3.7em; }
.report-content ol.list-ml ol ol ol > li { padding-left: 4.5em; }

/* ---------- Figures and images ---------- */
.report-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    vertical-align: middle;
}
.report-content p > img:only-child { display: block; margin: 0 auto; }

.report-content figure {
    margin: 6pt auto 14pt;
    max-width: 100%;
}
.report-content figure:not([class*="size-"]) { width: fit-content; }
.report-content figure img { display: block; margin: 0 auto; }
.report-content figure[class*="size-"] img { width: 100%; }
.report-content figure.size-25 { width: 25%; }
.report-content figure.size-50 { width: 50%; }
.report-content figure.size-75 { width: 75%; }
.report-content figure.size-100 { width: 100%; }

.report-content figcaption {
    margin-top: 6pt;
    font-size: 0.88em;
    line-height: 1.5;
    text-align: center;
    color: var(--rc-muted);
}

@media (max-width: 600px) {
    .report-content figure.size-25,
    .report-content figure.size-50 { width: 100%; }
}

/* ---------- Tables ---------- */
.report-content .table-wrap {
    overflow-x: auto;
    margin: 0 0 12pt;
}
.report-content table {
    border-collapse: collapse;
    min-width: 100%;
    font-size: 0.95em;
    line-height: 1.5;
}
.report-content th,
.report-content td {
    border: 1px solid var(--rc-rule);
    padding: 6pt 10pt;
    text-align: left;
    vertical-align: top;
}
.report-content th {
    background: rgba(199, 166, 255, 0.08);
    color: var(--rc-strong);
}

/* ---------- References: APA hanging indent ---------- */
.report-content--references > p {
    padding-left: 2em;
    text-indent: -2em;
    margin-bottom: 8pt;
}

/* ---------- First/last spacing, then the editor's overrides ----------
   The class rules below come last so a spacing chosen in the editor wins
   over the element defaults above. */
.report-content > :first-child { margin-top: 0; }
.report-content > :last-child { margin-bottom: 0; }

.report-content .ind-1 { margin-left: 2em; }
.report-content .ind-2 { margin-left: 4em; }
.report-content .ind-3 { margin-left: 6em; }
.report-content .ind-4 { margin-left: 8em; }
.report-content .ind-5 { margin-left: 10em; }
.report-content .ind-6 { margin-left: 12em; }
.report-content .ind-7 { margin-left: 14em; }
.report-content .ind-8 { margin-left: 16em; }

/* Word's single spacing is about 1.2x the font size, so each option is
   that multiple — 1.5 lines matches the 1.8 default used before. */
.report-content .ls-100 { line-height: 1.2; }
.report-content .ls-115 { line-height: 1.38; }
.report-content .ls-150 { line-height: 1.8; }
.report-content .ls-200 { line-height: 2.4; }

.report-content .sb-0 { margin-top: 0; }
.report-content .sb-6 { margin-top: 6pt; }
.report-content .sb-12 { margin-top: 12pt; }
.report-content .sb-18 { margin-top: 18pt; }
.report-content .sb-24 { margin-top: 24pt; }
.report-content .sa-0 { margin-bottom: 0; }
.report-content .sa-6 { margin-bottom: 6pt; }
.report-content .sa-12 { margin-bottom: 12pt; }
.report-content .sa-18 { margin-bottom: 18pt; }
.report-content .sa-24 { margin-bottom: 24pt; }

.report-content .align-left { text-align: left; }
.report-content .align-center { text-align: center; }
.report-content .align-right { text-align: right; }
.report-content .align-justify { text-align: justify; }
.report-content figure.align-left { margin-left: 0; margin-right: auto; }
.report-content figure.align-center { margin-left: auto; margin-right: auto; }
.report-content figure.align-right { margin-left: auto; margin-right: 0; }
