/* Rebelief palette — global UI integration */

/* Brand */
.brand-name {
    color: var(--font-color);
}

.has-logged-in-nav .site-sidebar .brand-name,
.has-logged-in-nav .dashboard-page-sidebar .brand-name,
.footer-distributed .brand-name {
    color: var(--text-on-dark);
}

/* Primary actions */
.btn-primary,
.btn-primary:focus {
    color: var(--lightest_color);
    background-color: var(--primary_color);
    border-color: var(--primary_color_dark);
}

.btn-primary:hover,
.btn-primary:active {
    color: var(--lightest_color);
    background-color: var(--primary_color_dark);
    border-color: var(--palette-forest);
}

.btn-edit {
    background-color: var(--primary_color);
    border-color: var(--primary_color);
}

.btn-edit:hover {
    background-color: var(--primary_light_color);
    border-color: var(--primary_color_dark);
}

.btn-tryout,
.index-banner-title + .btn-primary {
    background-color: var(--primary_color) !important;
    border-color: var(--primary_color_dark) !important;
}

/* Top navigation */
.app-topbar,
#menu.menu.app-topbar {
    background-color: var(--nav-bg);
    border-bottom: 1px solid var(--nav-border);
    color: var(--text-on-dark);
}

.app-topbar .brand-name,
#menu.menu.app-topbar .brand-name {
    color: var(--text-on-dark);
}

.app-topbar .links a,
#menu.menu.app-topbar .links a {
    color: var(--text-on-dark-muted);
}

.app-topbar .links a:hover,
#menu.menu.app-topbar .links a:hover {
    color: var(--text-on-dark);
}

.app-topbar .McButton b,
#menu.menu.app-topbar .McButton b {
    background-color: var(--text-on-dark);
}

#trial-time {
    color: var(--palette-steel-blue);
}

.has-logged-in-nav .app-topbar--logged-in-mobile {
    background-color: var(--nav-bg);
    border-bottom: 1px solid var(--nav-border);
}

.has-logged-in-nav .app-topbar--logged-in-mobile .McButton b {
    background-color: var(--text-on-dark);
}

.menu-links a {
    color: var(--font-color);
}

.menu-links a:hover {
    color: var(--primary_color);
}

/* Logged-in sidebar */
@media screen and (min-width: 601px) {
    .has-logged-in-nav .site-sidebar.dashboard-column,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column {
        background-color: var(--nav-bg);
        border-right: 1px solid var(--nav-border);
        color: var(--text-on-dark-muted);
    }

    .has-logged-in-nav .site-sidebar.dashboard-column > .row a,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a {
        color: var(--text-on-dark-muted);
    }

    .has-logged-in-nav .site-sidebar.dashboard-column > .row a i,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a i {
        color: var(--palette-steel-blue);
    }

    .has-logged-in-nav .site-sidebar.dashboard-column > .row a:hover,
    .has-logged-in-nav .site-sidebar.dashboard-column > .row a:focus,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a:hover,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a:focus {
        color: var(--text-on-dark);
        background-color: rgba(255, 255, 255, 0.08);
    }

    .has-logged-in-nav .site-sidebar.dashboard-column > .row a:hover i,
    .has-logged-in-nav .site-sidebar.dashboard-column > .row a:focus i,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a:hover i,
    .has-logged-in-nav .dashboard-page-sidebar.dashboard-column > .row a:focus i {
        color: var(--palette-steel-blue);
    }

    .has-logged-in-nav .site-sidebar .sidebar-brand,
    .has-logged-in-nav .dashboard-page-sidebar .sidebar-brand {
        border-bottom-color: var(--nav-border);
    }

    .has-logged-in-nav #page-title-bar {
        background: var(--lightest_color);
        color: var(--font-color);
        border-bottom-color: var(--border_color);
    }
}

.dashboard-column > .row a:hover i,
.dashboard-column > .row a:focus i {
    color: var(--primary_color);
}

/* Footer */
.footer-distributed {
    background-color: var(--footer-bg);
    color: var(--text-on-dark);
}

.footer-distributed a {
    color: var(--text-on-dark);
}

.footer-distributed a:hover,
.footer-distributed a:focus {
    color: var(--text-on-dark);
    opacity: 0.85;
}

/* Page chrome */
#page-title-bar {
    color: var(--font-color);
}

#page-title-bar .notification-bar-toggle:hover,
#page-title-bar .notification-bar-toggle:focus,
#page-title-bar .notification-bar-toggle.is-open,
.notification-bar-toggle:hover,
.notification-bar-toggle:focus,
.notification-bar-toggle.is-open {
    color: var(--primary_color);
}

/* Home / marketing banners */
.banner-2,
.banner-4,
.banner-6,
.banner-8,
.banner-10,
.wrapper .ad-card:nth-child(even),
.wrapper .ad-card:nth-child(odd) {
    background-color: var(--card-bg-muted);
    color: var(--text-on-dark);
}

.banner-1,
.banner-3,
.banner-5,
.banner-7,
.banner-9 {
    background-color: var(--surface_muted);
    color: var(--font-color);
}

.banner-comparison {
    border-bottom-color: var(--primary_light_color);
}

.example {
    color: var(--primary_color);
}

.div-learn-more {
    color: var(--font-color);
}

.how-it-works {
    border-bottom-color: var(--primary_color_dark);
}

.number {
    color: var(--primary_color);
}

/* Quiz */
#quizholder h3,
#quizholder .answerlabel,
#quizholder .row .col {
    color: var(--font-color);
}

#quizholder .answers input[type=radio].answer {
    accent-color: var(--primary_color);
}

.quiz-history {
    background-color: var(--surface_muted);
    border-color: var(--border_color);
}

.quiz-history h3,
.quiz-history-date {
    color: var(--primary_color_deeper);
}

.quiz-history-scoretext,
.quiz-history-empty {
    color: var(--text-muted);
}

.quiz-history-scorebar {
    background-color: var(--lightest_color);
    border-color: var(--border_color_strong);
}

.quiz-history-score.bg-success {
    background-color: var(--primary_color) !important;
}

.quiz-history-score.bg-warning {
    background-color: var(--primary_light_color) !important;
}

.quiz-history-score.bg-danger {
    background-color: var(--danger_color) !important;
}

/* Mental maps */
.survey-nav-item.active {
    background-color: var(--primary_color);
    border-color: var(--primary_color);
}

.survey-nav-item.answered:not(.active) {
    background-color: var(--accent_success_bg);
    border-color: var(--accent_success_border);
    color: var(--primary_color_deeper);
}

.map-focus-title {
    color: var(--primary_color_deeper);
}

.map-focus-description,
.map-back-link {
    color: var(--text-muted);
}

.map-back-link:hover,
.map-back-link:focus {
    color: var(--font-color);
}

.container-maps .has-map {
    background-color: var(--card-bg-dark);
    border-color: var(--primary_color);
    color: var(--text-on-dark);
}

.container-maps .no-map {
    border-color: var(--primary_light_color);
    color: var(--font-color);
}

.container-maps .animated-div {
    background: linear-gradient(
        to right,
        rgba(102, 145, 172, 0.35),
        rgba(62, 122, 136, 0.2),
        rgba(51, 81, 79, 0.25)
    );
}

.map-complete-indicator {
    background: var(--lightest_color);
    color: var(--primary_color);
}

.map-mapping-history {
    background: var(--surface_muted);
    border-color: var(--border_color);
}

.map-mapping-history-title,
.map-history-date {
    color: var(--primary_color_deeper);
}

.map-history-item.is-current {
    border-color: var(--primary_color);
    background: var(--accent_success_bg);
}

.map-history-badge {
    color: var(--primary_color);
}

.map-pie-tooltip {
    background: var(--card-bg-muted);
}

/* Charts use palette tones */
.map-chart .chart-bar,
.map-chart .chart-pie-slice {
    /* d3 assigns colors; override via CSS where possible */
}

.darkbg {
    background-color: var(--palette-charcoal-teal);
}

/* Links */
a {
    color: var(--primary_color);
}

a:hover {
    color: var(--primary_color_dark);
}

.links a {
    color: var(--primary_color);
}

/* Forms focus */
.form-control:focus {
    border-color: var(--primary_light_color);
    box-shadow: 0 0 0 0.2rem var(--secondary_color_opacity);
}

/* Admin & counselor portals */
.admin-tabs .nav-link.active,
.admin-tabs .nav-link:hover {
    color: var(--primary_color_deeper);
    border-color: var(--primary_color);
}

.admin-section-title,
.admin-map-list-title {
    color: var(--primary_color_deeper);
}

.admin-empty-state,
.admin-section-subtitle {
    color: var(--text-muted);
}

.admin-page .btn-primary,
.counselor-page .btn-primary {
    background-color: var(--primary_color);
    border-color: var(--primary_color_dark);
}

#savesuccess {
    background-color: var(--primary_color);
}
