/* Official UWM colour palette shared by the public and moderator interfaces. */
:root {
    --uwm-green: #009846;
    --uwm-cyan: #00a0e3;
    --uwm-gray: #73787d;
    --uwm-black: #1f1a17;

    --bs-primary: var(--uwm-cyan);
    --bs-primary-rgb: 0, 160, 227;
    --bs-primary-text-emphasis: var(--uwm-black);
    --bs-primary-bg-subtle: rgba(0, 160, 227, .1);
    --bs-primary-border-subtle: var(--uwm-cyan);
    --bs-success: var(--uwm-green);
    --bs-success-rgb: 0, 152, 70;
    --bs-success-text-emphasis: var(--uwm-green);
    --bs-success-bg-subtle: rgba(0, 152, 70, .1);
    --bs-success-border-subtle: var(--uwm-green);
    --bs-info: var(--uwm-cyan);
    --bs-info-rgb: 0, 160, 227;
    --bs-info-text-emphasis: var(--uwm-black);
    --bs-info-bg-subtle: rgba(0, 160, 227, .1);
    --bs-info-border-subtle: var(--uwm-cyan);
    --bs-secondary: var(--uwm-gray);
    --bs-secondary-rgb: 115, 120, 125;
    --bs-secondary-text-emphasis: var(--uwm-black);
    --bs-secondary-bg-subtle: rgba(115, 120, 125, .14);
    --bs-secondary-border-subtle: var(--uwm-gray);
    --bs-dark: var(--uwm-black);
    --bs-dark-rgb: 31, 26, 23;

    /* Destructive and error states stay distinct without using red. */
    --bs-danger: var(--uwm-black);
    --bs-danger-rgb: 31, 26, 23;
    --bs-danger-text-emphasis: var(--uwm-black);
    --bs-danger-bg-subtle: rgba(115, 120, 125, .14);
    --bs-danger-border-subtle: var(--uwm-gray);
}

.btn-primary {
    --bs-btn-color: var(--uwm-black);
    --bs-btn-bg: var(--uwm-cyan);
    --bs-btn-border-color: var(--uwm-cyan);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--uwm-black);
    --bs-btn-hover-border-color: var(--uwm-black);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--uwm-black);
    --bs-btn-active-border-color: var(--uwm-black);
    --bs-btn-disabled-bg: var(--uwm-cyan);
    --bs-btn-disabled-border-color: var(--uwm-cyan);
}

.btn-outline-primary {
    --bs-btn-color: var(--uwm-cyan);
    --bs-btn-border-color: var(--uwm-cyan);
    --bs-btn-hover-color: var(--uwm-black);
    --bs-btn-hover-bg: var(--uwm-cyan);
    --bs-btn-hover-border-color: var(--uwm-cyan);
    --bs-btn-active-color: var(--uwm-black);
    --bs-btn-active-bg: var(--uwm-cyan);
    --bs-btn-active-border-color: var(--uwm-cyan);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--uwm-gray);
    --bs-btn-border-color: var(--uwm-gray);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--uwm-black);
    --bs-btn-hover-border-color: var(--uwm-black);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--uwm-black);
    --bs-btn-active-border-color: var(--uwm-black);
    --bs-btn-disabled-bg: var(--uwm-gray);
    --bs-btn-disabled-border-color: var(--uwm-gray);
}

.btn-outline-secondary {
    --bs-btn-color: var(--uwm-gray);
    --bs-btn-border-color: var(--uwm-gray);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--uwm-gray);
    --bs-btn-hover-border-color: var(--uwm-gray);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--uwm-gray);
    --bs-btn-active-border-color: var(--uwm-gray);
    --bs-btn-disabled-color: var(--uwm-gray);
    --bs-btn-disabled-border-color: var(--uwm-gray);
}

.btn-info,
.btn-outline-info {
    --bs-btn-color: var(--uwm-black);
    --bs-btn-border-color: var(--uwm-cyan);
    --bs-btn-hover-color: var(--uwm-black);
    --bs-btn-hover-bg: var(--uwm-cyan);
    --bs-btn-hover-border-color: var(--uwm-cyan);
    --bs-btn-active-color: var(--uwm-black);
    --bs-btn-active-bg: var(--uwm-cyan);
    --bs-btn-active-border-color: var(--uwm-cyan);
}

.btn-info { --bs-btn-bg: var(--uwm-cyan); }
.btn-outline-info { --bs-btn-color: var(--uwm-cyan); }

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--uwm-black);
    --bs-btn-border-color: var(--uwm-black);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--uwm-gray);
    --bs-btn-hover-border-color: var(--uwm-gray);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--uwm-gray);
    --bs-btn-active-border-color: var(--uwm-gray);
    --bs-btn-disabled-bg: var(--uwm-gray);
    --bs-btn-disabled-border-color: var(--uwm-gray);
}

.btn-outline-danger {
    --bs-btn-color: var(--uwm-black);
    --bs-btn-border-color: var(--uwm-black);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--uwm-black);
    --bs-btn-hover-border-color: var(--uwm-black);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--uwm-black);
    --bs-btn-active-border-color: var(--uwm-black);
    --bs-btn-disabled-color: var(--uwm-gray);
    --bs-btn-disabled-border-color: var(--uwm-gray);
}

.alert-danger {
    --bs-alert-color: var(--uwm-black);
    --bs-alert-bg: rgba(115, 120, 125, .14);
    --bs-alert-border-color: var(--uwm-gray);
    --bs-alert-link-color: var(--uwm-black);
}

.text-danger,
.text-danger-emphasis { color: var(--uwm-black) !important; }
.bg-danger { background-color: var(--uwm-black) !important; }
.bg-danger-subtle { background-color: rgba(115, 120, 125, .14) !important; }
.border-danger,
.border-danger-subtle { border-color: var(--uwm-gray) !important; }
.text-success { color: var(--uwm-green) !important; }
.text-success-emphasis { color: var(--uwm-green) !important; }
.bg-success { background-color: var(--uwm-green) !important; }
.bg-success-subtle { background-color: rgba(0, 152, 70, .1) !important; }
.text-info { color: var(--uwm-cyan) !important; }
.bg-info { background-color: var(--uwm-cyan) !important; }
.bg-info-subtle { background-color: rgba(0, 160, 227, .1) !important; }
.text-primary { color: var(--uwm-cyan) !important; }
.bg-primary { background-color: var(--uwm-cyan) !important; }
.bg-primary-subtle { background-color: rgba(0, 160, 227, .1) !important; }
.text-secondary { color: var(--uwm-gray) !important; }
.bg-secondary { background-color: var(--uwm-gray) !important; }
.bg-secondary-subtle { background-color: rgba(115, 120, 125, .14) !important; }
.bg-dark { background-color: var(--uwm-black) !important; }

.form-control.is-invalid,
.form-select.is-invalid,
.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
    border-color: var(--uwm-black);
}

.form-control.is-invalid:focus,
.form-select.is-invalid:focus,
.was-validated .form-control:invalid:focus,
.was-validated .form-select:invalid:focus {
    border-color: var(--uwm-black);
    box-shadow: 0 0 0 .25rem rgba(115, 120, 125, .2);
}

.invalid-feedback,
.invalid-tooltip { color: var(--uwm-black); }

/* Reusable browser print/PDF component. */
.print-heading { display: none; }

@media print {
    @page { margin: 15mm; }

    body { background: #fff !important; }
    body * { visibility: hidden; }
    .print-area,
    .print-area * { visibility: visible; }
    .print-area {
        position: absolute !important;
        inset: 0 auto auto 0;
        width: 100% !important;
        overflow: visible !important;
        border: 1px solid var(--uwm-gray) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .print-heading {
        display: block;
        padding: 16px 24px;
        border-bottom: 1px solid var(--uwm-gray);
        color: var(--uwm-black);
        font-size: 11pt;
    }
    .print-exclude,
    .print-area .breadcrumbs,
    .print-area .btn { display: none !important; }
    .print-area .badge {
        box-shadow: none !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
    .print-area .card-footer { background: #fff !important; }
    .print-area table,
    .print-area tr,
    .print-area img { break-inside: avoid; }
    .print-area a { color: var(--uwm-black) !important; text-decoration: none; }
}
