.optional-toggle.btn-with-icon {
    /* Hide the original "Opt" text completely */
    /* text-indent: -9999px;*/
    white-space: nowrap;
    overflow: hidden;

    /* Icon-only button size — adjust to your design */
    width: 5.7rem; /* 38px — square is common for icons */
    height: 2.4rem;
    min-width: unset;
    padding: 0;

    /* Base appearance */
    background-color: #f8f9fa; /* light background */
    border: 1px solid #ced4da;
    border-radius: 0.375rem; /* Bootstrap-like radius */
    cursor: pointer;
    transition: all 0.15s ease;

    /* === Your eye icon as background === */
    /*background-image: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22 fill=%22currentColor%22 class=%22bi bi-eye-fill%22 viewBox=%220 0 16 16%22><path d=%22M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0%22/><path d=%22M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8m8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7%22/></svg>");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60%; /* 55–70% usually looks best — tweak this */
}

/* Hover / focus / active states */
.optional-toggle.btn-with-icon:hover,
.optional-toggle.btn-with-icon:focus {
    background-color: #e9ecef;
    border-color: #adb5bd;
}

.optional-toggle.btn-with-icon:active {
    background-color: #dee2e6;
    transform: scale(0.97); /* subtle feedback */
}

/* Optional: Make icon darker or change color via filter */
.optional-toggle.btn-with-icon {
    /* Example: force a specific color (works on currentColor SVGs) */
    filter: brightness(0.85); /* slightly darker */
    /* Or: blue tint → filter: hue-rotate(200deg) saturate(3) brightness(0.9); */
}


span.questiontext.disabled {
    color: #a0a0a0; /* Lighter text color */
    cursor: not-allowed; /* Change cursor on hover */
}

.btn-red {
    background-color: #ed1c24 !important;
}

.btn-disabled {
    pointer-events: none; /* prevent clicking */
    cursor: not-allowed; /* Change cursor on hover */
    opacity: 0.6; /* gray it out */
}

.optional-toggle:disabled, a.disabled {
    cursor: not-allowed;
    opacity: 0.6;
}
a.disabled:active {
    pointer-events: none;
}

#NextSteps {
    text-align: left;
    padding-bottom: 8px;
    padding-top: 10px;
    margin: 0 auto;
    background: #fff;
}

.boxes_style_3 {
    position: relative;
}

.DivSaveLabel {
    top: 7px;
}

.glyphicon.glyphicon-check,
.glyphicon.glyphicon-facetime-video:before {
    color: red;
}

.boxes_style_3 .boxes {
    border: 1px solid #DEDEDE;
    background-color: #F8F8F8;
    padding: 20px 25px;
    min-height: 130px;
    height: auto;
    position: relative;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

.sectioncontent .row {
    padding: 10px 0px;
    display: flex;
}

.pull-left {
    float: left !important;
}

.PorcentageCompleted {
    font-size: 30px;
    font-weight: bold;
}

.glyphicons:empty,
.social:empty {
    width: 1em;
}

.glyphicons {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Regular';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.CurrentLabel {
    font-size: 13px;
    color: #d9534f;
    font-weight: bold;
}

.accordion_3 {
    margin-bottom: 0;
}

.panel-group {
    margin-bottom: 20px;
}

.accordion_3 .panel-default {
    background-color: transparent;
    margin: 0px !important;
    border: none;
    border-bottom: 1px solid #DADADA;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
}

.accordion_3 > .panel-default > .panel-heading {
    background-color: transparent;
    padding: 0px;
    display: inline-flex;
    width: 100%;
    border: none !important;
    margin: 5px 0 5px 0;
    justify-content: space-between;
}

.panel-default > .panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
    display: inline-flex;
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    color: inherit;
}

.collapse {
    display: none;
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.btn-group > .btn:first-child {
    margin-left: 0;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
    position: relative;
    float: left;
}

.btn-danger {
    background-color: #ed1c24 !important;
}

.btn .caret {
    margin-left: 0;
}

.loaded_list {
    display: flex;
}

#NextSteps h4 {
    margin: 0px;
    font-size: 25px;
}

.glyphicons.glyph-facetime-video {
    color: #ed1c24;
}

.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    color: #333 !important;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none !important;
    border: 1px solid transparent;
    border-radius: 4px;
}

.answered .btn-danger,
.open > .dropdown-toggle.btn-danger {
    color: #fff !important;
    background-color: #c9302c;
    border-color: #ac2925;
}

/*
 * The selected "Yes" green. White on the old #449d44 was 3.41:1, short of the
 * 4.5:1 WCAG asks for (Deque 2838281 and ten others); #1b6e2e reads 6.33:1 and
 * is the green already used by the EAP toggles, so the two screens agree.
 */
.answered .btn-success,
.open > .dropdown-toggle.btn-success {
    color: #fff !important;
    background-color: #1b6e2e;
    border-color: #14561f;
}

.question-container {
    margin-top: 20px;
}

#assessmentType,
#assessment {
    height: 30px;
    font-size: 15px;
}

.panel h4 label {
    font-size: 15px;
    line-height: 30px;
}

.btn-primary {
    color: white !important;
}

.sectionkey {
    padding: 5px;
    margin-bottom: 15px;
    padding-left: 10px;
    font-weight: bold;
    padding-right: 10px;
    border-radius: 5px;
    background-color: #337ab7;
    color: white;
}

.sectiontd {
    border-radius: 15px;
    padding: 5px 10px;
    margin: 5px 10px;
    display: inline-grid;
    align-content: center;
    justify-content: center;
    align-items: center;
    justify-items: center;
    border: 0px
}

.sectionrow {
    text-align: center;
}

.sectionhead {
    font-size: 20px;
    margin-top: 8px;
    font-weight: bold;
}

.seperator {
    height: 0px;
    margin-top: 5px;
    border: 1px solid #d1c8c8;
    background-color: #d1c8c8;
}

/*progressbar*/

.QuestionAnswerLine {
    position: sticky;
    top: 50px;
    z-index: 1020;
    background-color: #fff;
    padding-top: 30px;
}

#NextSteps {
    position: sticky;
    top: 165px;
    z-index: 1020;
}

.QuestionAnswerLine .sectionrow {
    margin-bottom: 30px;
    overflow: hidden;
    /*CSS counters to number the steps*/
    counter-reset: step;
    display: flex;
    align-items: flex-start;
}

.QuestionAnswerLine .sectionrow .QuestionTextFill {
    color: black;
    font-size: 15px;
}

.QuestionAnswerLine .sectionrow li {
    list-style-type: none;
    color: white;
    text-transform: uppercase;
    font-size: 9px;
    width: 33.33%;
    float: left;
    position: relative;
}

.QuestionAnswerLine .sectionrow li:before {
    content: counter(step);
    counter-increment: step;
    display: block;
    font-size: 15px;
    margin: 0 auto 5px auto;
    padding: 5px;
    margin-bottom: 15px;
    padding-left: 10px;
    font-weight: bold;
    padding-right: 10px;
    border-radius: 5px;
    background-color: #337ab7;
    color: white;
}

.QuestionAnswerLine .sectionrow li:after {
    content: "";
    width: 100%;
    height: 8px;
    background: #337ab7;
    position: absolute;
    left: -53%;
    top: 15px;
}

/*
 * The completed-step marker carries a white step number, and on the old
 * #31d177 that was 2.0:1 - worse than anything in the audit. Automated checks
 * skip it because the number is a CSS counter rather than text in the page.
 */
.QuestionAnswerLine .sectionrow li.sectioncomplete:after {
    background-color: #1b6e2e;
}

.QuestionAnswerLine .sectionrow li.sectioncomplete::before {
    background-color: #1b6e2e;
}

.QuestionAnswerLine .sectionrow li:first-child:after {
    content: none;
}

.QuestionAnswerLine .sectionrow li.active:before,
.QuestionAnswerLine .sectionrow li.active:after {
    background: #27ae60;
    color: white;
}

#dnn_ctr2471_MainControl_MakeCurrentArea,
#dnn_ctr2471_MainControl_ColViewNextStep {
    text-align: center;
    padding-bottom: 5px;
}

.modal {
    text-align: center;
}

.modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
}

.row input.btn {
    width: -webkit-fill-available;
    max-width: 55px;
}

#assessmentvideoModal .modal-header {
    display: flex;
    justify-content: flex-end;
}

#assessmentvideoModal .modal-header a {
    font-size: 30px;
    color: #000;
    padding: 0;
    margin: 0;
    text-decoration: none;
    opacity: .2;
    font-weight: 700;
}

#assessmentvideoModal .modal-header:before, #assessmentvideoModal .modal-header:after {
    display: none;
}

.bg-success {
    padding: 10px;
    text-align: center;
    display: block;
}

.fusion-secondary-main-menu {
    margin-top: 30px;
}


@media screen and (min-width: 768px) {
    .modal:before {
        display: inline-block;
        vertical-align: middle;
        content: " ";
        height: 100%;
    }
}

@media screen and (max-width: 767px) {

    .container.nextStepReport {
        width: 100%;
    }

    #pdfreport-download {
        margin: 20px 20px 20px 0
    }

    .container.nextStepReport div#doc-target {
        width: 100% !important;
    }

    .reportHeading {
        line-height: 45px;
    }

    .scoreSectionLeftHeading {
        line-height: 44px;
    }

    .scoreSectionRight {
        font-size: 13px !important
    }

    .scoreSectionLeft {
        margin-left: 0px !important;
        font-size: 13px !important
    }

    .container.nextStepReport .col-sm-4, .container.nextStepReport .col-sm-8, .mobile100 {
        width: 100% !important;
    }

    .QuestionAnswerLine {
        position: relative;
        top: 0px;
        z-index: 1;
    }

    #NextSteps {
        position: relative;
        top: 30px;
        z-index: 1;
    }

    .question-container {
        margin-top: 50px;
    }

    .QuestionAnswerLine .sectionrow {
        margin-bottom: 0px;
        padding-left: 0px;
    }

    .QuestionAnswerLine .sectionrow .QuestionTextFill {
        display: none;
    }

    .QuestionAnswerLine .sectionrow li:after {
        left: -29%;
        width: 57%;
        top: 11px;
    }

    .sectiontd {
        padding: 0px;
        margin: 0px;
    }

    .loaded_list .right.pull-left {
        text-align: right;
    }

    #NextSteps .boxes_style_3 .boxes #dnn_ctr2471_MainControl_DivProgressBar2,
    #NextSteps .boxes_style_3 .boxes #dnn_ctr2471_MainControl_Pane1 {
        border-bottom: 1px solid #DADADA;
        margin-bottom: 10px;
    }

    #NextSteps .panel-heading .panel-title {
        margin-bottom: 8px;
    }

    #NextSteps .panel .panel-heading {
        display: block;
    }

    #NextSteps .panel-heading form select {
        width: 100%
    }

    .sectioncontent .row {
        display: block;
    }

    .sectioncontent .row .questionhead {
        margin-bottom: 8px;
    }
}

/* Next step report css */
.nextStepReport .rightSection {
    border: 1px solid #000;
    overflow-y: auto;
    height: 900px;
    padding: 0 30px;
}

.nextStepReport .leftSection p.heading {
    font-weight: bold;
    font-size: 20px;
    text-align: left !important
}

.nextStepReport .leftSection p {
    font-size: 16px;
}

#makeAssessmentCurrent, #upgradeAssessment {
    z-index: 10011;
}

/*loader css*/

.custom-loader {
    position: fixed;

    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    background: rgba(0, 0, 0, 30%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;

}

.custom-loader img {
    position: absolute;
    top: 100px;
    left: 240px;

}

.loader {
    /*
     * The moving arc was #3498db on the #f3f3f3 ring, 2.84:1, under the 3:1
     * WCAG 1.4.11 asks of a graphic that carries meaning - and this one is the
     * only thing saying an answer is still saving (Deque 2838348). #1c6bba
     * reads 4.90:1 against the ring and is the blue already used for focus.
     */
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #1c6bba;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
/ Safari / animation: spin 2 s linear infinite;
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: -6opx;
    margin-top: -60px;
}

/
Safari

/
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.custom-loader, .btn#resubmitAssessment {
    display: none;
}

/* View report page css */
/*.view-report-page #all_orgs {margin:0 5px 0 0;}*/
.view-report-page input[type=radio] {
    margin: 0;
}

.view-report-page #Sector {
    height: 50px;
    border-radius: 0;
}

table#filterUsTable > thead > tr > th, table#filterCustomTable > thead > tr > th {
    vertical-align: middle;
}

.table#filterUsTable > thead, .table#filterCustomTable > thead {
    vertical-align: middle;
}

.dataTables_length select {
    height: auto;
}

.select2-container {
    height: 55px;
}

.view-report-page .row input.btn {
    width: inherit;
    max-width: fit-content;
    color: #fff !important;
}

#makeAssessmentCurrent, #upgradeAssessment {
    z-index: 99999;
}


#NextSteps .boxes_style_3 #dnn_ctr2471_MainControl_DivProgressBar2 .right.pull-left {
    width: 65%;
    margin: auto;
    padding-left: 20px;
    font-size: 15px;
}

.readableSection #accordion3 .panel-default:nth-child(2) {
    display: none;
}

#pdfreport-download {
    padding: 10px 20px;
    background: red;
    color: white;
    border: 1px solid red;
}

#save-report {
    padding: 10px 20px;
    background: red;
    color: white;
    border: 1px solid red;
}

.customHeader {
    display: none;
}

@media print {
    .customHeader {
        display: block;
    }

    @page {
        size: auto;
        margin: 0mm;
    }
}


.heading {
    color: #211a1a;
    font-weight: bold;
    font-size: x-large;
    white-space: nowrap;
    margin: 20px auto;
    text-align: center;
}

#html-template {
    text-align: center;
    margin: 30px 0px 60px 0px;
}

#html-template1 {
    background: #ffffff;
    padding: 20px;
    border: #E0E0E0 1px solid;
    border-radius: 3px;
}

#container {
    margin: 30px;
}

.btn-convert {
    padding: 10px 20px;
    border-radius: 20px;
    margin: 10px 0px;
    display: inline-block;
    cursor: pointer;
    color: #211c1c;
    background-color: #28a745;
    border: #23943d 1px solid;
}

a {
    color: #007bff;
}

.link-container {
    text-align: right;
}

#html-template2 {
    margin: 30px 0px 60px 0px;
    padding: 20px;
    border: #E0E0E0 1px solid;
    border-radius: 3px;
}

#convertion-type {
    border: #1d1d1d 1px solid;
    border-radius: 20px;
    PADDING: 8px 20px;
    margin-right: 15px;
}

.description {
    text-align: justify;
}

/* Modal popup ui Issue */
#upgradeAssessment .modal-content,
#successAssessment .modal-content,
#makeAssessmentCurrent .modal-content,
#assessmentvideoModal .modal-content,
#assessmentEditModal .modal-content,
#reassessmentSubmitDiv .modal-content,
#assessmentSubmitDiv .modal-content {
    width: 100%;
}

#upgradeAssessment .modal-body,
#successAssessment .modal-body,
#makeAssessmentCurrent .modal-body,
#assessmentvideoModal .modal-body,
#assessmentEditModal .modal-body,
#reassessmentSubmitDiv .modal-body,
#assessmentSubmitDiv .modal-body {
    height: auto;
}

.hideSection {
    display: none;
}

/* ---- save confirmation banner ----
   Contrast checked against WCAG 1.4.3: the text colours below clear 4.5:1 on their
   own backgrounds, and the state is carried by a tick or a warning sign and by the
   wording, not by the colour alone (1.4.1). */
.rr-save-banner {
    /* Pinned, so it cannot be scrolled away from or pushed off screen by anything
       else on the page that moves the viewport after load. */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100000;

    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 14px 20px;
    border: 0;
    border-bottom: 1px solid transparent;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

/* Sit below the admin bar when there is one, rather than under it. */
.admin-bar .rr-save-banner { top: 32px; }

@media screen and (max-width: 782px) {
    .admin-bar .rr-save-banner { top: 46px; }
}

.rr-save-banner:focus {
    outline: 2px solid #2C455D;
    outline-offset: 2px;
}

.rr-save-banner--success {
    background: #E7F4EC;
    border-bottom-color: #9CCDB1;
    color: #17512F;          /* 8.2:1 on #E7F4EC */
}

.rr-save-banner--error {
    background: #FBEAEC;
    border-bottom-color: #E0A7AE;
    color: #7A1220;          /* 9.1:1 on #FBEAEC */
}

.rr-save-banner__icon {
    flex: none;
    font-size: 18px;
    line-height: 1.3;
}

.rr-save-banner__text {
    flex: 1 1 auto;
}

.rr-save-banner__dismiss {
    flex: none;
    background: none;
    border: 0;
    padding: 0 4px;
    font-size: 20px;
    line-height: 1;
    color: inherit;
    cursor: pointer;
}

.rr-save-banner__dismiss:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.rr-save-error {
    margin-top: 12px;
    color: #7A1220;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
 * Start a new assessment
 *
 * Its own panel, deliberately set apart from the two settings above it.
 * Creating an assessment is an action with a consequence; "Modify Assessment
 * Type" and "View All Versions" only change what you are looking at. When this
 * sat in the same panel as the version dropdown the two read as one control
 * with two selects, both showing "ReadyGo", and the label wrapped onto four
 * lines.
 * ----------------------------------------------------------------------- */

.rr-new-assessment-panel {
	border-top: 2px solid #d6d9da;
	margin-top: 14px;
	padding-top: 4px;
}

.rr-new-assessment-panel .panel-title {
	white-space: normal;
	font-weight: 700;
}

.rr-new-assessment {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 8px 0 2px;
}

/* The type label is the panel title; this one would just repeat it. */
.rr-new-assessment > label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rr-new-assessment select {
	flex: 0 1 auto;
	min-width: 150px;
	margin: 0;
}

.rr-new-assessment__go {
	flex: 0 0 auto;
	min-height: 44px;
	padding: 8px 22px;
	font-weight: 700;
	color: #fff;
	background: #a4343a;
	border: 1px solid #a4343a;
	border-radius: 3px;
	cursor: pointer;
}

.rr-new-assessment__go:hover {
	filter: brightness(1.08);
}

.rr-new-assessment__go:focus-visible {
	outline: 3px solid #1c6bba;
	outline-offset: 2px;
}

@media (max-width: 640px) {
	.rr-new-assessment select,
	.rr-new-assessment__go {
		flex: 1 1 100%;
	}
}

/* --------------------------------------------------------------------------
 * Action confirmations
 *
 * Every action on this page used to finish in silence, so success and failure
 * looked identical. Positioned in normal flow rather than floating, because a
 * message that overlays the controls is one a member scrolls past.
 * ----------------------------------------------------------------------- */

.rr-assess-status {
	display: none;
	margin: 0 0 12px;
	padding: 11px 16px;
	border-radius: 3px;
	border: 1px solid #b7dfc4;
	border-left: 4px solid #2e6b45;
	background: #eef8f1;
	color: #1d3d29;
	font-weight: 600;
	line-height: 1.45;
}

.rr-assess-status.is-visible {
	display: block;
}

.rr-assess-status.is-error {
	border-color: #e8b5b2;
	border-left-color: #a4343a;
	background: #fbeceb;
	color: #6d1f1c;
}

@media (prefers-reduced-motion: no-preference) {
	.rr-assess-status.is-visible {
		animation: rr-assess-status-in 160ms ease-out;
	}

	@keyframes rr-assess-status-in {
		from { opacity: 0; transform: translateY(-3px); }
		to   { opacity: 1; transform: none; }
	}
}

/*
 * Accessibility, Deque audit Sep 2026.
 */

/* Show/Hide Dashboard is a <button> now; make it look like the label it replaced. */
button.lbl-toggle {
    width: 100%;
    border: 0;
    border-radius: 0;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
}

/* The video control is a <button> now; strip the browser's button chrome. */
button.rr-video-btn {
    background: none;
    border: 0;
    padding: 0 2px;
    line-height: inherit;
    cursor: pointer;
}

button.rr-video-btn.disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

/*
 * A finished step shows a tick as well as turning green, so its state is not
 * carried by colour alone (WCAG 1.4.1). counter-increment stays on the base
 * rule; only the content changes.
 */
.QuestionAnswerLine .sectionrow li.sectioncomplete::before {
    content: "\2713\00a0" counter(step);
}

/*
 * The video dialog's close control. It was #ccc on white, 1.60:1, well under
 * the 3:1 a control needs (Deque 2842951).
 */
.modal .btn-close {
    color: #444;
    opacity: 1;
    text-decoration: none;
}

.modal .btn-close:hover,
.modal .btn-close:focus {
    color: #000;
}

/*
 * The section name is a heading now (Deque 2838328); this keeps it looking
 * exactly as the styled div did, whatever the theme does with h5.
 */
h5.sectionhead,
.fusion-body h5.sectionhead {
	font-size: 20px;
	font-weight: bold;
	margin: 8px 0 0;
	padding: 0;
	line-height: inherit;
	color: inherit;
	text-transform: none;
	letter-spacing: normal;
}

/*
 * Keep a focused question clear of the two sticky panels above it.
 *
 * The progress bar sticks at the top and the dashboard panel sits under it, so
 * tabbing to a question scrolled it to the top of the window and straight
 * underneath them - the member could hear where they were but not see it
 * (Deque 2838382). scroll-margin reserves the height of both, so the browser
 * stops short and the question lands below them.
 */
.question-container .row,
.question-container input,
.question-container a,
.question-container button,
.sectioncontent [role="listitem"] {
	/*
	 * The variable is set by question.js from the panels actually on screen:
	 * the progress bar alone when the dashboard is collapsed, both when it is
	 * open. A fixed number cannot serve both - the difference between them is
	 * about 480px. The fallback covers the progress bar on its own.
	 */
	scroll-margin-top: var( --rr-sticky-top, 180px );
}

/* ---------------------------------------------------------------------------
   Next Steps Report download buttons.

   NOT styled like #save-report above, which sets white text on `red`
   (#FF0000) - that measures 3.99:1 and fails WCAG AA for normal text. These
   use #C8102E (Pantone 186 C, an actual Red Cross brand red), which clears AA
   at 5.88:1 against white. Raised with the client rather than changed on the
   old button, since brand colour is their decision.
   --------------------------------------------------------------------------- */
.rr-nsr-downloads {
    margin-top: 14px;
}

.rr-nsr-btn {
    display: inline-block;
    margin: 0 6px 8px 0;
    padding: 10px 18px;
    background: #C8102E;
    color: #ffffff;
    border: 1px solid #C8102E;
    border-radius: 3px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.3;
}

.rr-nsr-btn:hover,
.rr-nsr-btn:focus {
    background: #A50D26;
    border-color: #A50D26;
    color: #ffffff;
    text-decoration: underline;
}

/* The PDF option is secondary: same target size, less visual weight. */
.rr-nsr-btn--alt {
    background: #ffffff;
    color: #A50D26;
}

.rr-nsr-btn--alt:hover,
.rr-nsr-btn--alt:focus {
    background: #F7E9EB;
    color: #A50D26;
}

/* Never remove the focus ring - keyboard members need to see where they are. */
.rr-nsr-btn:focus-visible {
    outline: 3px solid #1F5F8B;
    outline-offset: 2px;
}

.rr-nsr-hint {
    margin: 4px 0 0;
    font-size: 13px;
    color: #4A5866;
}

/* Download in progress. The label is swapped by rr-download.js; this only
   dims the control and blocks a second click. A spinner alone announces
   nothing, so the state is also written to a live region. */
.rr-nsr-btn.is-working,
.rr-eap-btn.is-working {
    opacity: .72;
    cursor: progress;
    pointer-events: none;
}
