.report-builder-page {
    width: 100%;
    color: #263244;
}

.report-builder-page .panel-card {
    overflow: hidden;
    margin-bottom: 16px;
    border: 1px solid #d5dee8;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}

.report-builder-intro {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 17px 20px;
    border-top: 3px solid #263b55 !important;
}

.report-builder-intro h1,
.report-results-heading h2,
.report-stage-heading h3 {
    margin: 0;
    color: #102a4d;
    font-weight: 700;
    line-height: 1.2;
}

.report-builder-intro h1 {
    font-size: 22px;
}

.report-builder-intro p,
.report-results-heading p,
.report-stage-heading p {
    margin: 4px 0 0;
    color: #75869b;
    font-size: 12px;
    line-height: 1.4;
}

.report-results-heading,
.report-stage-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.report-results-heading {
    padding: 14px 17px;
    border-bottom: 1px solid #d5dee8;
    background: #fff;
}

.report-results-heading h2 {
    font-size: 18px;
}

.report-builder-form {
    margin: 0;
}

.report-scope-row {
    margin: 0;
    padding: 13px 8px 10px;
    border-bottom: 1px solid #dbe3ec;
    background: #f8fafc;
}

.report-date-control,
.report-filter-controls {
    padding-right: 8px;
    padding-left: 8px;
}

.report-control-label {
    display: block;
    margin: 0 0 5px;
    color: #5d7087;
    font-size: 12px;
    font-weight: 700;
}

.report-date-control #reportrange {
    display: flex;
    width: 100%;
    height: 34px;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid #c7d3df;
    border-radius: 3px;
    color: #253b55;
    background: #fff;
    box-shadow: none;
    font-size: 12px;
}

.report-date-control #reportrange span {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-filter-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.report-filter-button-row .btn-group {
    margin: 0;
}

.report-filter-button-row .btn {
    height: 34px;
    padding: 6px 10px;
    border: 1px solid #c7d3df;
    border-radius: 3px !important;
    color: #315474;
    background: #fff;
    box-shadow: none;
    font-size: 12px;
    font-weight: 700;
}

.report-filter-button-row .btn:hover,
.report-filter-button-row .btn:focus,
.report-filter-button-row .open > .btn {
    border-color: #8da8c2;
    color: #173f67;
    background: #edf4fa;
}

.report-filter-button-row .caret {
    margin-left: 7px;
}

.report-builder-page .dropdown-menu {
    max-height: 310px;
    overflow-y: auto;
    padding: 5px 0;
    border: 1px solid #c8d4df;
    border-radius: 3px;
    box-shadow: 0 5px 14px rgba(33, 50, 70, .14);
}

.report-builder-page .dropdown-menu > li {
    position: relative;
    min-width: 210px;
}

.report-builder-page .dropdown-menu > li > input {
    position: absolute;
    left: 10px;
    top: 8px;
    margin: 0;
}

.report-builder-page .dropdown-menu > li > label {
    display: block;
    margin: 0;
    padding: 6px 12px 6px 31px;
    color: #354a62;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.report-builder-page .dropdown-menu > li > label:hover {
    background: #edf4fa;
}

.report-metrics-stage {
    background: #fff;
}

.report-stage-heading {
    padding: 13px 17px;
    border-bottom: 1px solid #dbe3ec;
}

.report-stage-heading h3 {
    font-size: 16px;
}

.report-metric-picker {
    padding: 0 16px 15px;
}

.report-metric-picker > .row {
    margin-right: -8px;
    margin-left: -8px;
}

.report-metric-picker > .row > [class*="col-"] {
    padding-right: 8px;
    padding-left: 8px;
}

.report-metric-layout {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
}

.report-metric-layout > .report-metric-library {
    width: 66.66666667%;
    flex: 0 0 66.66666667%;
    float: none;
}

.report-metric-layout > .report-selected-metrics {
    width: 33.33333333%;
    flex: 0 0 33.33333333%;
    float: none;
}

.report-metric-column-headings h4 {
    margin: 11px 0 7px;
    color: #596d85;
    font-size: 12px;
    font-weight: 700;
}

.report-metric-browser,
.report-selected-metric-list {
    min-height: 285px;
    border: 1px solid #d5dee8;
    border-radius: 3px;
    background: #fff;
}

.report-metric-search {
    position: relative;
    padding: 9px 10px;
    border-bottom: 1px solid #d5dee8;
    background: #f8fafc;
}

.report-metric-search > .fa-search {
    position: absolute;
    left: 21px;
    top: 50%;
    z-index: 2;
    color: #7b8ca0;
    transform: translateY(-50%);
    pointer-events: none;
}

.report-metric-search .report-metric-search-input {
    height: 34px;
    padding: 6px 36px 6px 33px;
    border: 1px solid #c8d4df;
    border-radius: 3px;
    color: #304860;
    background: #fff;
    box-shadow: none;
    font-size: 12px;
}

.report-metric-search .report-metric-search-input:focus {
    border-color: #5c94c7;
    box-shadow: 0 0 0 2px rgba(52, 123, 187, .12);
}

.report-metric-search-clear {
    position: absolute;
    right: 15px;
    top: 50%;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    color: #75879a;
    background: transparent;
    line-height: 28px;
    transform: translateY(-50%);
}

.report-metric-search-clear:hover,
.report-metric-search-clear:focus {
    color: #173d65;
}

.report-metric-search-match > label {
    background: #e5eef6 !important;
}

.report-metric-search-match > label:after {
    content: "\f0d7";
}

.report-metric-search-empty {
    padding: 26px 15px;
    color: #7b8ca0;
    font-size: 12px;
    text-align: center;
}

.report-metric-tabs {
    border-bottom: 1px solid #d5dee8;
    background: #edf2f7;
}

.report-metric-tabs > li > a {
    margin: 0;
    padding: 9px 10px;
    border: 0 !important;
    border-right: 1px solid #d5dee8 !important;
    border-radius: 0;
    color: #607188;
    background: transparent;
    font-size: 12px;
    font-weight: 700;
}

.report-metric-tabs > li:last-child > a {
    border-right: 0 !important;
}

.report-metric-tabs > li.active > a,
.report-metric-tabs > li.active > a:hover,
.report-metric-tabs > li.active > a:focus {
    color: #173d65;
    background: #fff;
    box-shadow: inset 0 3px 0 #347bbb;
}

.report-metric-tab-content > .tab-pane {
    padding: 10px !important;
}

.report-metric-configuration-pane,
.report-metric-configuration-pane .ui-117 {
    width: 100%;
    max-width: 100%;
}

.report-metric-configuration-pane .ui-117 > .row {
    margin-right: 0;
    margin-left: 0;
}

.report-metric-configuration-pane table {
    table-layout: fixed;
}

.report-metric-configuration-pane table td:last-child {
    padding-right: 0;
}

.report-metric-tab-content > .tab-pane .report-metric-group .toggle-content > .row {
    margin-right: 0;
    margin-left: 0;
}

.report-metric-group {
    margin: 0 0 5px !important;
    border: 1px solid #dce4ec;
    border-radius: 3px;
    background: #fff;
}

.report-metric-group > label {
    position: relative;
    display: block;
    margin: 0;
    padding: 8px 29px 8px 10px;
    color: #304860 !important;
    background: #edf3f8 !important;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.report-metric-group.active > label,
.report-metric-group > label:hover,
.report-metric-group > label:focus {
    background: #e5eef6 !important;
}

.report-metric-group > label:after {
    position: absolute;
    right: 10px;
    content: "\f0da";
    color: #7c8da0;
    font-family: FontAwesome;
}

.report-metric-group.active > label:after {
    content: "\f0d7";
}

.report-metric-group .toggle-content {
    padding: 5px 7px;
    border-top: 1px solid #e1e7ed;
}

.report-metric-option {
    position: relative;
    min-height: 31px;
    padding: 0 !important;
    border-bottom: 1px solid #edf1f5;
}

.report-metric-option:last-child {
    border-bottom: 0;
}

.report-metric-option > label {
    display: block;
    margin: 0;
    padding: 7px 42px 7px 10px;
    color: #40546b;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.report-metric-option > input {
    position: absolute;
    right: 12px;
    top: 7px;
    margin: 0;
}

.report-selected-metrics {
    position: relative;
}

.report-selected-metric-list {
    margin: 0;
    padding: 10px;
    list-style: none;
    counter-reset: report-column;
}

.report-selected-metric-list:empty:before {
    display: flex;
    min-height: 268px;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: #8795a7;
    content: "Select metrics to add report columns";
    font-size: 12px;
    text-align: center;
}

.report-selected-metric-list > li {
    position: relative;
    min-height: 37px;
    margin-bottom: 5px;
    padding: 9px 34px 8px 37px;
    border: 1px solid #cfdae5;
    border-radius: 3px;
    color: #293f58;
    background: #f8fafc;
    font-size: 12px;
    font-weight: 700;
    cursor: move;
    counter-increment: report-column;
}

.report-selected-metric-list > li:before {
    position: absolute;
    left: 8px;
    top: 7px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    color: #315d86;
    background: #e5eef6;
    content: counter(report-column);
    font-size: 11px;
}

.report-selected-metric-list .delete {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    width: 32px;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #9a5360;
    cursor: pointer;
}

.report-selected-metric-list .delete:hover {
    color: #b32f42;
    background: #fae9eb;
}

.report-selected-metric-list .ui-sortable-placeholder {
    visibility: visible !important;
    border: 1px dashed #78a2c8;
    background: #edf5fb;
}

.report-metric-sort-helper {
    position: absolute !important;
    z-index: 10000 !important;
    min-height: 37px !important;
    margin: 0 !important;
    padding: 9px 34px 8px 42px !important;
    border: 1px solid #8eabc5 !important;
    border-radius: 3px !important;
    color: #293f58 !important;
    background: #f8fafc !important;
    background-image: none !important;
    box-shadow: 0 6px 15px rgba(33, 50, 70, .18) !important;
    box-sizing: border-box !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    list-style: none !important;
    pointer-events: none;
}

.report-metric-sort-helper:before {
    position: absolute;
    left: 8px;
    top: 7px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    color: #315d86;
    background: #e5eef6;
    content: "\f047";
    font-family: FontAwesome;
    font-size: 11px;
    font-weight: normal;
}

.report-metric-sort-helper .delete {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    width: 32px;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #9a5360;
}

.report-metric-picker .tab-pane .form-control {
    height: 34px;
    border: 1px solid #c8d4df;
    border-radius: 3px;
    box-shadow: none;
    font-size: 12px;
}

.report-metric-picker .tab-pane table {
    width: 100%;
}

.report-metric-picker .tab-pane table td {
    padding-right: 5px;
}

.report-builder-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid #d5dee8;
    background: #f8fafc;
}

.report-builder-actions .btn {
    min-width: 150px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
}

.report-builder-actions .fa {
    margin-right: 5px;
}

.report-builder-loading {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #687a90;
    font-size: 12px;
}

.report-builder-loading img {
    width: 16px;
    height: 16px;
}

.report-results-heading {
    background: #fbfcfe;
}

.report-results-body {
    padding: 0 12px 12px;
}

.report-table-scroll {
    position: relative;
    min-height: 220px;
    max-height: 68vh;
    overflow: auto;
    border: 1px solid #d5dee8;
    border-top: 0;
    border-radius: 0 0 3px 3px;
    background: #fff;
    scrollbar-gutter: stable;
}

.report-results-table,
.report-builder-page #datatable {
    width: 100%;
    min-width: 720px;
    margin: 0;
    border-collapse: separate !important;
    border-spacing: 0;
    background: #fff;
    font-size: 12px;
}

.report-results-table > thead > tr > th,
.report-builder-page #datatable > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 4;
    padding: 8px 10px;
    border: 0;
    color: #50637e;
    background: #edf2f7 !important;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #d5dee8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    vertical-align: middle;
    white-space: nowrap;
}

.report-results-table > tbody > tr > td,
.report-builder-page #datatable > tbody > tr > td {
    padding: 8px 10px;
    border-top: 1px solid #e2e8ef;
    color: #354a62;
    background: #fff;
    font-size: 12px;
    line-height: 1.3;
    vertical-align: middle;
}

.report-results-table > thead > tr > th:first-child,
.report-results-table > tbody > tr > td:first-child,
.report-builder-page #datatable > thead > tr > th:first-child,
.report-builder-page #datatable > tbody > tr > td:first-child {
    padding-left: 14px;
}

.report-results-table > thead > tr > th:last-child,
.report-results-table > tbody > tr > td:last-child,
.report-builder-page #datatable > thead > tr > th:last-child,
.report-builder-page #datatable > tbody > tr > td:last-child {
    padding-right: 14px;
}

.report-results-table > tbody > tr:first-child > td,
.report-builder-page #datatable > tbody > tr:first-child > td {
    border-top: 0;
}

.report-results-table > tbody > tr:hover > td,
.report-builder-page #datatable > tbody > tr:hover > td {
    background: #f7fafc !important;
}

.report-results-table > tbody > tr.danger > td,
.report-builder-page #datatable > tbody > tr.danger > td {
    color: #a73745;
    background: #fae9eb !important;
}

.report-results-table > tbody > tr.report-results-error > td,
.report-builder-page #datatable > tbody > tr.report-results-error > td {
    padding: 14px;
    font-weight: 600;
    white-space: normal;
}

.report-results-empty {
    position: absolute;
    inset: 0;
    display: flex;
    min-height: 220px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding: 28px;
    color: #7c8da0;
    background: #fff;
    text-align: center;
}

.report-results-empty .fa {
    margin-bottom: 4px;
    color: #91a1b2;
    font-size: 24px;
}

.report-results-empty strong {
    color: #344a62;
    font-size: 13px;
}

.report-builder-page .ui-autocomplete {
    z-index: 1000;
    display: none;
    min-width: 190px;
    margin: 2px 0 0;
    padding: 4px 0;
    border: 1px solid #c8d4df;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(33, 50, 70, .14);
    list-style: none;
}

.report-builder-page .ui-menu-item > a.ui-corner-all {
    display: block;
    padding: 6px 10px;
    color: #354a62;
    font-size: 12px;
    white-space: nowrap;
}

.report-builder-page .ui-menu-item > a.ui-state-hover,
.report-builder-page .ui-menu-item > a.ui-state-active {
    color: #173f67;
    background: #edf4fa;
    text-decoration: none;
}

.report-builder-page .ui-helper-hidden-accessible {
    display: none;
}

@media (max-width: 991px) {
    .report-builder-intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .report-scope-row {
        padding-bottom: 13px;
    }

    .report-filter-controls {
        margin-top: 10px;
    }

    .report-selected-metrics {
        margin-top: 12px;
    }

    .report-metric-layout {
        flex-wrap: wrap;
    }

    .report-metric-layout > .report-metric-library,
    .report-metric-layout > .report-selected-metrics {
        width: 100%;
        flex-basis: 100%;
    }

    .report-metric-column-headings > div:last-child {
        display: none;
    }
}

@media (max-width: 767px) {
    .report-builder-intro,
    .report-results-heading,
    .report-stage-heading {
        padding-right: 14px;
        padding-left: 14px;
    }

    .report-date-control {
        width: 100%;
    }

    .report-filter-button-row .btn-group {
        flex: 1 1 calc(50% - 5px);
    }

    .report-filter-button-row .btn {
        width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .report-metric-picker {
        padding-right: 10px;
        padding-left: 10px;
    }

    .report-results-body {
        padding-right: 8px;
        padding-bottom: 8px;
        padding-left: 8px;
    }

    .report-metric-tabs {
        display: flex;
        overflow-x: auto;
    }

    .report-metric-tabs > li {
        min-width: 120px;
        flex: 0 0 auto;
    }

    .report-builder-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .report-builder-actions .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .report-filter-button-row .btn-group {
        flex-basis: 100%;
    }
}

.report-builder-page .report-filter-button-row .btn.btn-default,
.report-builder-page .report-filter-button-row .btn.btn-primary {
    border-color: #c7d3df !important;
    color: #315474 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.report-builder-page .report-filter-button-row .btn.btn-default:hover,
.report-builder-page .report-filter-button-row .btn.btn-default:focus,
.report-builder-page .report-filter-button-row .open > .btn.btn-default,
.report-builder-page .report-filter-button-row .btn.btn-primary:hover,
.report-builder-page .report-filter-button-row .btn.btn-primary:focus,
.report-builder-page .report-filter-button-row .open > .btn.btn-primary {
    border-color: #8da8c2 !important;
    color: #173f67 !important;
    background: #edf4fa !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #d5dee8 !important;
    background: #edf2f7 !important;
    box-shadow: none !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li {
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li:before,
.report-builder-page .report-metric-picker .report-metric-tabs > li:after,
.report-builder-page .report-metric-picker .report-metric-tabs > li > a:before,
.report-builder-page .report-metric-picker .report-metric-tabs > li > a:after {
    display: none !important;
    content: none !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li > a {
    margin: 0 !important;
    padding: 9px 10px !important;
    border: 0 !important;
    border-right: 1px solid #d5dee8 !important;
    border-radius: 0 !important;
    color: #607188 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    text-transform: none !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li:last-child > a {
    border-right: 0 !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li > a > span {
    color: inherit !important;
    background: transparent !important;
}

.report-builder-page .report-metric-picker .report-metric-tabs > li.active > a,
.report-builder-page .report-metric-picker .report-metric-tabs > li.active > a:hover,
.report-builder-page .report-metric-picker .report-metric-tabs > li.active > a:focus {
    color: #173d65 !important;
    background: #fff !important;
    box-shadow: inset 0 3px 0 #347bbb !important;
}

.report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric {
    position: relative !important;
    min-height: 37px !important;
    margin: 0 0 5px !important;
    padding: 9px 34px 8px 42px !important;
    border: 1px solid #cfdae5 !important;
    border-radius: 3px !important;
    color: #293f58 !important;
    background: #f8fafc !important;
    background-image: none !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    text-shadow: none !important;
}

.report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric:before {
    left: 8px !important;
    top: 7px !important;
    width: 22px !important;
    height: 22px !important;
    border: 0 !important;
    color: #315d86 !important;
    background: #e5eef6 !important;
    font-size: 11px !important;
    line-height: 22px !important;
}

.report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric .delete {
    right: 0 !important;
    top: 0 !important;
    width: 32px !important;
    height: 100% !important;
    color: #9a5360 !important;
    line-height: normal !important;
}

/* Metrics picker: dark theme ----------------------------------- */
html[data-theme="dark"] #dashboard #myModal .modal-content,
html[data-theme="dark"] #dashboard #myModal .modal-body,
html[data-theme="dark"] .report-metrics-modal .modal-content,
html[data-theme="dark"] .report-metrics-modal .modal-body {
    border-color: var(--account-color-border);
    color: var(--account-color-text);
    background: var(--account-color-surface) !important;
}

html[data-theme="dark"] #dashboard #myModal .modal-footer,
html[data-theme="dark"] .report-metrics-modal .modal-footer {
    border-color: var(--account-color-divider);
    background: var(--account-color-surface-subtle) !important;
}

html[data-theme="dark"] #dashboard #myModal .modal-footer .btn-default,
html[data-theme="dark"] .report-metrics-modal .modal-footer .btn-default {
    border-color: var(--account-color-control-border);
    color: var(--account-color-heading);
    background: var(--account-color-surface-muted);
}

html[data-theme="dark"] #dashboard #myModal .modal-footer .btn-default:hover,
html[data-theme="dark"] #dashboard #myModal .modal-footer .btn-default:focus,
html[data-theme="dark"] .report-metrics-modal .modal-footer .btn-default:hover,
html[data-theme="dark"] .report-metrics-modal .modal-footer .btn-default:focus {
    border-color: var(--account-color-focus);
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .report-metric-column-headings h4,
html[data-theme="dark"] .report-metric-search-empty {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-metric-browser,
html[data-theme="dark"] .report-selected-metric-list {
    border-color: var(--account-color-border);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-metric-search {
    border-color: var(--account-color-divider);
    background: var(--account-color-surface-subtle);
}

html[data-theme="dark"] .report-metric-search > .fa-search,
html[data-theme="dark"] .report-metric-search-clear {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-metric-search-clear:hover,
html[data-theme="dark"] .report-metric-search-clear:focus {
    color: var(--account-color-heading);
}

html[data-theme="dark"] .report-metric-search .report-metric-search-input {
    border-color: var(--account-color-control-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-metric-search .report-metric-search-input::placeholder {
    color: var(--account-color-text-faint);
}

html[data-theme="dark"] .report-metric-search .report-metric-search-input:focus {
    border-color: var(--account-color-focus);
    box-shadow: 0 0 0 2px var(--account-color-focus-ring);
}

html[data-theme="dark"] .report-metric-tabs,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs {
    border-color: var(--account-color-border) !important;
    background: var(--account-color-surface-muted) !important;
}

html[data-theme="dark"] .report-metric-tabs > li > a,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li > a {
    border-right-color: var(--account-color-border) !important;
    color: var(--account-color-text-muted) !important;
    background: transparent !important;
}

html[data-theme="dark"] .report-metric-tabs > li > a:hover,
html[data-theme="dark"] .report-metric-tabs > li > a:focus,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li > a:hover,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li > a:focus {
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-hover) !important;
}

html[data-theme="dark"] .report-metric-tabs > li.active > a,
html[data-theme="dark"] .report-metric-tabs > li.active > a:hover,
html[data-theme="dark"] .report-metric-tabs > li.active > a:focus,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li.active > a,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li.active > a:hover,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-metric-tabs > li.active > a:focus {
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface) !important;
    box-shadow: inset 0 3px 0 var(--account-color-primary) !important;
}

html[data-theme="dark"] .report-metric-tab-content,
html[data-theme="dark"] .report-metric-tab-content > .tab-pane,
html[data-theme="dark"] .report-metric-group {
    border-color: var(--account-color-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-metric-group > label {
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-muted) !important;
}

html[data-theme="dark"] .report-metric-group.active > label,
html[data-theme="dark"] .report-metric-group > label:hover,
html[data-theme="dark"] .report-metric-group > label:focus,
html[data-theme="dark"] .report-metric-search-match > label {
    background: var(--account-color-surface-selected) !important;
}

html[data-theme="dark"] .report-metric-group > label:after {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-metric-group .toggle-content {
    border-color: var(--account-color-divider);
    background: var(--account-color-surface);
}

html[data-theme="dark"] .report-metric-option {
    border-color: var(--account-color-divider-soft);
}

html[data-theme="dark"] .report-metric-option > label {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-metric-option:hover > label {
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .report-metric-option > input,
html[data-theme="dark"] .report-metric-configuration-pane input[type="checkbox"],
html[data-theme="dark"] .report-metric-configuration-pane input[type="radio"] {
    accent-color: var(--account-color-primary);
}

html[data-theme="dark"] .report-selected-metric-list > li,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric {
    border-color: var(--account-color-border) !important;
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-subtle) !important;
}

html[data-theme="dark"] .report-selected-metric-list > li:before,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric:before {
    color: var(--account-color-primary) !important;
    background: var(--account-color-primary-soft) !important;
}

html[data-theme="dark"] .report-selected-metric-list .delete,
html[data-theme="dark"] .report-builder-page .report-metric-picker .report-selected-metric-list > li.report-selected-metric .delete {
    color: var(--account-color-danger-emphasis) !important;
}

html[data-theme="dark"] .report-selected-metric-list .delete:hover,
html[data-theme="dark"] .report-selected-metric-list .delete:focus {
    color: var(--account-color-danger-text) !important;
    background: var(--account-color-danger-soft);
}

html[data-theme="dark"] .report-selected-metric-list .ui-sortable-placeholder {
    border-color: var(--account-color-primary);
    background: var(--account-color-primary-soft);
}

html[data-theme="dark"] .report-metric-configuration-pane label {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-metric-configuration-pane .form-control,
html[data-theme="dark"] .report-metric-configuration-pane select.form-control {
    border-color: var(--account-color-control-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-metric-configuration-pane select.form-control option {
    color: var(--account-color-text);
    background: var(--account-color-surface);
}

html[data-theme="dark"] .report-metric-configuration-pane table,
html[data-theme="dark"] .report-metric-configuration-pane tbody,
html[data-theme="dark"] .report-metric-configuration-pane tr,
html[data-theme="dark"] .report-metric-configuration-pane td {
    border-color: var(--account-color-divider);
    color: var(--account-color-text);
    background: transparent;
}

html[data-theme="dark"] .report-metric-sort-helper {
    border-color: var(--account-color-primary) !important;
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-raised) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .34) !important;
}

html[data-theme="dark"] .report-metric-sort-helper:before {
    color: var(--account-color-primary) !important;
    background: var(--account-color-primary-soft) !important;
}

/* New chart wizard: dark theme -------------------------------- */
html[data-theme="dark"] .report-chart-wizard-modal .ui-x h4,
html[data-theme="dark"] .report-chart-wizard-modal .ui-x h4 strong {
    color: var(--account-color-heading);
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item {
    border: 1px solid var(--account-color-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-subtle);
    box-shadow: none;
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item + a.ui-item {
    border-top: 0;
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item:hover,
html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item:focus {
    border-color: var(--account-color-focus);
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
    text-decoration: none;
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item.active,
html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item.active:hover,
html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item.active:focus {
    border-color: var(--account-color-primary);
    color: var(--account-color-heading);
    background: var(--account-color-surface-selected);
    box-shadow: inset 3px 0 0 var(--account-color-primary);
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item i {
    border-color: var(--account-color-control-border);
    color: var(--account-color-primary);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item.active i {
    border-color: var(--account-color-primary);
    color: var(--account-color-on-primary);
    background: var(--account-color-primary);
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item span.ui-details span {
    color: var(--account-color-heading);
}

html[data-theme="dark"] .report-chart-wizard-modal .ui-x a.ui-item span.ui-details strong {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-chart-wizard-modal .modal-footer .btn[disabled],
html[data-theme="dark"] .report-chart-wizard-modal .modal-footer .btn.disabled {
    border-color: var(--account-color-border);
    color: var(--account-color-text-faint) !important;
    background: var(--account-color-surface-muted);
    opacity: .72;
}

/* Account reporting: dark theme ------------------------------- */
html[data-theme="dark"] .report-builder-page {
    color: var(--account-color-text);
}

html[data-theme="dark"] .report-builder-page .panel-card {
    border-color: var(--account-color-border);
    background: var(--account-color-surface);
}

html[data-theme="dark"] .report-builder-intro {
    border-top-color: var(--account-color-primary) !important;
}

html[data-theme="dark"] .report-builder-intro h1,
html[data-theme="dark"] .report-results-heading h2,
html[data-theme="dark"] .report-stage-heading h3 {
    color: var(--account-color-heading);
}

html[data-theme="dark"] .report-builder-intro p,
html[data-theme="dark"] .report-results-heading p,
html[data-theme="dark"] .report-stage-heading p,
html[data-theme="dark"] .report-builder-loading {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-results-heading,
html[data-theme="dark"] .report-metrics-stage {
    border-color: var(--account-color-divider);
    background: var(--account-color-surface);
}

html[data-theme="dark"] .report-scope-row,
html[data-theme="dark"] .report-builder-actions {
    border-color: var(--account-color-divider);
    background: var(--account-color-surface-subtle);
}

html[data-theme="dark"] .report-stage-heading {
    border-color: var(--account-color-divider);
}

html[data-theme="dark"] .report-control-label,
html[data-theme="dark"] .report-metric-column-headings h4 {
    color: var(--account-color-text-muted);
}

html[data-theme="dark"] .report-date-control #reportrange {
    border-color: var(--account-color-control-border);
    color: var(--account-color-heading);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-date-control #reportrange:hover,
html[data-theme="dark"] .report-date-control #reportrange:focus {
    border-color: var(--account-color-focus);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .report-date-control #reportrange .fa,
html[data-theme="dark"] .report-date-control #reportrange .caret {
    color: var(--account-color-primary-alt);
}

html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-default,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-primary {
    border-color: var(--account-color-control-border) !important;
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-inset) !important;
}

html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-default:hover,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-default:focus,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .open > .btn.btn-default,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-primary:hover,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .btn.btn-primary:focus,
html[data-theme="dark"] .report-builder-page .report-filter-button-row .open > .btn.btn-primary {
    border-color: var(--account-color-focus) !important;
    color: var(--account-color-heading) !important;
    background: var(--account-color-surface-hover) !important;
}

html[data-theme="dark"] .report-builder-page .report-filter-button-row .caret {
    color: var(--account-color-primary-alt);
}

html[data-theme="dark"] .report-builder-page .dropdown-menu {
    border-color: var(--account-color-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-raised);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
}

html[data-theme="dark"] .report-builder-page .dropdown-menu > li > label {
    color: var(--account-color-text);
    background: transparent;
}

html[data-theme="dark"] .report-builder-page .dropdown-menu > li > label:hover,
html[data-theme="dark"] .report-builder-page .dropdown-menu > li > label:focus {
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .report-builder-page .dropdown-menu > li > input:checked + label,
html[data-theme="dark"] .report-builder-page .dropdown-menu > li > input:checked + label:hover,
html[data-theme="dark"] .report-builder-page .dropdown-menu > li > input:checked + label:focus {
    color: var(--account-color-heading);
    background: var(--account-color-surface-selected);
    box-shadow: inset 3px 0 0 var(--account-color-primary);
}

html[data-theme="dark"] .report-builder-page .dropdown-menu > li > input:focus + label {
    outline: 2px solid var(--account-color-focus);
    outline-offset: -2px;
}

html[data-theme="dark"] .report-builder-page input[type="checkbox"] {
    accent-color: var(--account-color-primary);
}

html[data-theme="dark"] .report-table-scroll {
    border-color: var(--account-color-border);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-results-table,
html[data-theme="dark"] .report-builder-page #datatable {
    color: var(--account-color-text);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-results-table > thead > tr > th,
html[data-theme="dark"] .report-builder-page #datatable > thead > tr > th {
    color: var(--account-color-heading-secondary);
    background: var(--account-color-surface-table) !important;
    box-shadow: inset 0 -1px 0 var(--account-color-border);
}

html[data-theme="dark"] .report-results-table > tbody > tr > td,
html[data-theme="dark"] .report-builder-page #datatable > tbody > tr > td {
    border-color: var(--account-color-divider);
    color: var(--account-color-text);
    background: var(--account-color-surface);
}

html[data-theme="dark"] .report-results-table > tbody > tr:nth-child(even) > td,
html[data-theme="dark"] .report-builder-page #datatable > tbody > tr:nth-child(even) > td {
    background: var(--account-color-surface-raised);
}

html[data-theme="dark"] .report-results-table > tbody > tr:hover > td,
html[data-theme="dark"] .report-builder-page #datatable > tbody > tr:hover > td {
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover) !important;
}

html[data-theme="dark"] .report-results-table > tbody > tr.danger > td,
html[data-theme="dark"] .report-builder-page #datatable > tbody > tr.danger > td {
    color: var(--account-color-danger-text);
    background: var(--account-color-danger-soft) !important;
}

html[data-theme="dark"] .report-results-empty {
    color: var(--account-color-text-muted);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .report-results-empty .fa {
    color: var(--account-color-text-faint);
}

html[data-theme="dark"] .report-results-empty strong {
    color: var(--account-color-heading-secondary);
}

html[data-theme="dark"] .report-builder-page .ui-autocomplete {
    border-color: var(--account-color-border);
    background: var(--account-color-surface-raised);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
}

html[data-theme="dark"] .report-builder-page .ui-menu-item > a.ui-corner-all {
    color: var(--account-color-text);
}

html[data-theme="dark"] .report-builder-page .ui-menu-item > a.ui-state-hover,
html[data-theme="dark"] .report-builder-page .ui-menu-item > a.ui-state-active {
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .report-selected-metric-list:empty:before,
html[data-theme="dark"] .report-metric-search-empty {
    color: var(--account-color-text-muted);
}

/* The date-range picker is appended to the document body, so it cannot be
   scoped beneath .report-builder-page. */
html[data-theme="dark"] .daterangepicker {
    border-color: var(--account-color-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-raised);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .4);
}

html[data-theme="dark"] .daterangepicker:before {
    border-bottom-color: var(--account-color-border);
}

html[data-theme="dark"] .daterangepicker:after {
    border-bottom-color: var(--account-color-surface-raised);
}

html[data-theme="dark"] .daterangepicker .calendar-table,
html[data-theme="dark"] .daterangepicker .calendar,
html[data-theme="dark"] .daterangepicker .ranges,
html[data-theme="dark"] .daterangepicker .ranges .range_inputs,
html[data-theme="dark"] .daterangepicker select.monthselect,
html[data-theme="dark"] .daterangepicker select.yearselect,
html[data-theme="dark"] .daterangepicker .input-mini {
    border-color: var(--account-color-control-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-raised);
}

html[data-theme="dark"] .daterangepicker th,
html[data-theme="dark"] .daterangepicker td {
    border-color: transparent;
    color: var(--account-color-text);
    background: transparent;
}

html[data-theme="dark"] .daterangepicker td.off,
html[data-theme="dark"] .daterangepicker td.off.in-range,
html[data-theme="dark"] .daterangepicker td.off.start-date,
html[data-theme="dark"] .daterangepicker td.off.end-date {
    color: var(--account-color-text-faint);
    background: var(--account-color-surface-inset);
}

html[data-theme="dark"] .daterangepicker td.available:hover,
html[data-theme="dark"] .daterangepicker th.available:hover,
html[data-theme="dark"] .daterangepicker .ranges li:hover {
    color: var(--account-color-heading);
    background: var(--account-color-surface-hover);
}

html[data-theme="dark"] .daterangepicker td.in-range {
    color: var(--account-color-heading);
    background: var(--account-color-primary-soft);
}

html[data-theme="dark"] .daterangepicker td.active,
html[data-theme="dark"] .daterangepicker td.active:hover,
html[data-theme="dark"] .daterangepicker .ranges li.active {
    color: var(--account-color-on-primary);
    background: var(--account-color-primary);
}

html[data-theme="dark"] .daterangepicker .calendar-time select,
html[data-theme="dark"] .daterangepicker .calendar-time input {
    border-color: var(--account-color-control-border);
    color: var(--account-color-text);
    background: var(--account-color-surface-inset);
}
