﻿:root {
    --mdb-navbar-box-shadow: none !important;
    --mdb-link-hover-color: #025E73;
    --mdb-link-color: #025E73;
}
.material-symbols-outlined {
    font-size: 130%;
    line-height: 100%;
    vertical-align: middle;
}

.container-fluid {
    --mdb-gutter-x: 5rem;
}
    .navbar-nav {
    --mdb-nav-link-color: white;
    --mdb-nav-link-hover-color: #E4FC86;
}
.navbar {
    --mdb-navbar-padding-top: 0.25rem;
    --mdb-navbar-padding-bottom: 0.25rem;
    --mdb-navbar-padding-y:0.25rem;
}

.list-group {
    --mdb-list-group-active-bg: #025E73;
    --mdb-list-group-active-color: #fff;
}


nav .nav-item.dropdown:hover .dropdown-menu {
    display: block;
}

nav .nav-item.dropdown:hover .nav-link {
    color: var(--mdb-nav-link-hover-color);
}


nav .navbar-nav .dropdown-menu
{
    margin-top:0px;
}

 

nav .nav-spacer:after {
    content: '|';
    color: #ccc;
    padding: 0.5rem 0.25rem;
 display:none;   
}

@media (min-width: 992px)  
{
    nav .nav-spacer:after {
        display:block;
    }
}

.dropdown-menu {
    --mdb-dropdown-box-shadow: 0 2px 15px -3px #00000025,0 10px 20px -2px #00000025;
}
h1, h2, h3 {
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #787B2F;
}
h1 span, h2.pink span {
    color: #025E73;
}
.pink {
    color: #B73274;
}
p.extra-large {
    font-size: 36px;
}
.beige-fade {
    background: rgb(233,234,213);
    background: linear-gradient(180deg, rgba(233,234,213,1) 0%, rgba(255,255,255,1) 100%);
}

.blue-box, .beige-box {
    margin: 2em auto;
    background: #025E73;
    color: #fff;
    border: 2px solid #DED8A0;
    border-radius: 10px;
    padding: 10px 30px;
    width: 80%;
}
.beige-box {
    background: #F5F3E2;
    color:#333;
}
.green-box {
    background: #025E73;
    color: #fff;
    font-size: 250%;
    line-height: 120%;
    border: 4px solid #C3C67F;
    border-radius: 5px;
    padding: 10px 20px;
}

nav {
    background: #025E73;
    margin-bottom: 2rem;
}
nav .dropdown-menu {
    background: #025E73;
    box-shadow: var(--mdb-dropdown-box-shadow);
}
nav .dropdown-menu .dropdown-item {
    color:white;
}
nav .dropdown-menu .dropdown-item:hover {
    background: #3A8192;
}

main {
    margin-top:1rem;
}

footer {
    background: #025E73;
    color: rgba(255,255,255,0.82);
    font-size: 14px;
    margin-top: 4rem;
}
footer a {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
}
footer a:hover {
    color: #ffffff;
}

.footer-main {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding: 48px 40px 36px;
    max-width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
}

.footer-col {
    flex: 1;
    min-width: 150px;
}

.footer-brand {
    flex: 1.5;
    min-width: 180px;
}

.footer-site-name {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
    font-family: Georgia, serif;
    display: block;
    margin-bottom: 10px;
}

.footer-tagline,
.footer-newsletter p {
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255,255,255,0.55);
}

.footer-tagline {
    margin: 0 0 20px 0;
    max-width: 250px;
}

.footer-social {
    display: flex;
    gap: 6px;
    align-items: center;
}

.footer-heading {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.42);
    margin: 0 0 14px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.footer-nav a {
    font-size: 14px;
    line-height: 1.3;
}

.footer-logos {
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: flex-start;
}

.footer-logos img {
    max-height: 48px;
    max-width: 130px;
    opacity: 0.8;
    transition: opacity 0.15s ease;
}

.footer-logos img:hover {
    opacity: 1;
}

.footer-newsletter p {
    margin: 0 0 14px 0;
}

.footer-input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-input-group input[type="text"],
.footer-search input[type="text"] {
    box-sizing: border-box;
    font-size: 13px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 5px;
    background: rgba(255,255,255,0.08);
    color: #fff;
}

.footer-input-group input[type="text"] {
    width: 100%;
    height: 38px;
    padding: 0 12px;
}

.footer-input-group input[type="text"]::placeholder,
.footer-search input[type="text"]::placeholder {
    color: rgba(255,255,255,0.35);
}

.footer-input-group input[type="text"]:focus,
.footer-search input[type="text"]:focus {
    outline: none;
    border-color: rgba(255,255,255,0.45);
    background: rgba(255,255,255,0.13);
}

footer a.button {
    display: inline-block;
    color: #fff;
    background: #A6144B;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 5px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

footer a.button:hover {
    background: #be1a57;
    color: #fff;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 40px 18px;
    border-top: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.5);
    font-size: 12px;
    box-sizing: border-box;
}

.footer-search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.footer-search input[type="text"] {
    height: 34px;
    padding: 0 12px;
    width: 210px;
}

a.social-icons {
    display: inline-block;
    width: 39px;
    height: 39px;
    line-height: 39px;
    vertical-align: top;
    background-image: url(/images/social-icons-new.png);
}

.footer-social a.social-icons {
    margin-left: 0;
}

@media (max-width: 767.98px) {
    .footer-main {
        flex-direction: column;
        padding: 32px 20px 24px;
        gap: 28px;
    }

    .footer-brand .footer-tagline {
        max-width: none;
    }

    .footer-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px 20px;
    }

    .footer-search {
        width: 100%;
    }

    .footer-search input[type="text"] {
        width: 100%;
        flex: 1;
    }

    .footer-bottom {
        padding: 14px 20px 18px;
    }
}

.btn {
    --mdb-btn-font-size: 0.8125rem;
    text-transform: none;
    height: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 7px;
    font-family: var(--prov-font-sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .2px;
    padding: 7px 14px;
    white-space: nowrap;
    transition: background .15s, color .15s, box-shadow .15s, border-color .15s;
}
.btn i, .btn .fas, .btn .far, .btn .fab { font-size: 11px; }

.btn-primary {
    --mdb-btn-bg: var(--prov-crimson);
    --mdb-btn-disabled-bg: var(--prov-crimson);
    --mdb-btn-hover-bg: #8e0e3e;
    --mdb-btn-active-bg: #8e0e3e;
    --mdb-btn-box-shadow: 0 2px 8px rgba(166,20,75,.22);
    --mdb-btn-focus-bg: #8e0e3e;
}
.btn-check:active + .btn-primary:hover, .btn-check:checked + .btn-primary:hover, .btn-primary.active:hover, .btn-primary.show:hover, .btn-primary:active:hover {
    background-color: #8e0e3e;
}
.btn-check:focus + .btn-primary, .btn-check:focus-visible + .btn-primary, .btn-primary:focus {
    background-color: #8e0e3e;
}

.btn-secondary {
    --mdb-btn-bg: var(--prov-teal);
    --mdb-btn-color: #fff;
    --mdb-btn-border-color: var(--prov-teal);
    --mdb-btn-hover-bg: var(--prov-teal-dark);
    --mdb-btn-hover-color: #fff;
    --mdb-btn-hover-border-color: var(--prov-teal-dark);
    --mdb-btn-active-bg: var(--prov-teal-dark);
    --mdb-btn-active-color: #fff;
    --mdb-btn-focus-bg: var(--prov-teal-dark);
    --mdb-btn-disabled-bg: var(--prov-teal);
    --mdb-btn-disabled-color: rgba(255,255,255,.65);
    --mdb-btn-box-shadow: 0 2px 8px rgba(2,94,115,.22);
}
.btn-secondary, .btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
    color: #fff;
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active {
    background-color: var(--prov-teal-dark);
    border-color: var(--prov-teal-dark);
}

.btn-danger {
    --mdb-btn-bg: #c0392b;
    --mdb-btn-disabled-bg: #c0392b;
    --mdb-btn-hover-bg: #a93226;
    --mdb-btn-active-bg: #a93226;
    --mdb-btn-focus-bg: #a93226;
    --mdb-btn-box-shadow: 0 2px 8px rgba(192,57,43,.22);
}

.btn-light {
    --mdb-btn-bg: #fff;
    --mdb-btn-hover-bg: #f5f5f5;
    --mdb-btn-box-shadow: none;
    color: #444;
    border: 1px solid #ddd;
}
.btn-light:hover { color: var(--prov-teal); border-color: var(--prov-teal); }

.btn-outline-primary {
    color: var(--prov-teal);
    border-color: var(--prov-teal);
}
.btn-outline-primary:hover { background: var(--prov-teal); color: #fff; }

#overlay {
    display: none;
    background: rgba(1,30,40,0.52);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    overflow-y: auto;
    position: fixed;
    z-index: 1000;
    text-align: center;
}

#popin, div.popin {
    display: none;
    position: relative;
    z-index: 1001;
    text-align: left;
    background: #fff;
    border: none;
    padding: 32px 36px 28px;
    border-radius: 14px;
    width: 70vw;
    margin: 72px auto 48px;
    box-shadow: 0 24px 64px rgba(1,30,40,0.28), 0 4px 16px rgba(0,0,0,0.08);
    font-family: var(--prov-font-sans);
}

#overlay .popin, #overlay #popin {
    display: inline-block;
}

#popin a, .popin a {
    text-decoration: none;
}

#popin-content input + label {
    padding-left: 5px;
}

#popin-close, .popin-close {
    position: absolute;
    right: 14px;
    top: 14px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    border-radius: 50%;
    background: #f0f0f0;
    transition: background 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
}
#popin-close::before, .popin-close::before {
    content: '\00d7';
    font-size: 20px;
    color: #777;
    line-height: 1;
    font-family: var(--prov-font-sans);
}
#popin-close:hover, .popin-close:hover {
    background: #e0e0e0;
}
#popin-close:hover::before, .popin-close:hover::before {
    color: #222;
}

#popin h1, .popin h1 {
    font-family: var(--prov-font-serif);
    color: var(--prov-teal);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
}

#popin-controls, .popin-controls {
    border-top: 1px solid #f0f0f0;
    padding-top: 16px;
    margin-top: 20px;
    text-align: right;
}
    
#popin-controls a, .popin-controls a:not([class*="btn"]) {
    font-size: 13px;
    color: #999;
}
#popin-controls a:hover, .popin-controls a:not([class*="btn"]):hover {
    color: #333;
}

#popin-controls button {
    margin-left: 12px;
}

#popin-content, .popin-content {
    max-height: calc(100vh - 300px);
    overflow: auto;
    padding-right: 4px;
}
#popin-alert {
    text-align: center;
    width: auto;
}
#popin-alert h1 {
    padding:0;
    border:0;
}
.ajax-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: -2px;
    border: 2px solid rgba(115, 60, 174, 0.2);
    border-top-color: var(--prov-crimson);
    border-radius: 50%;
    animation: ajax-spinner-rotate .7s linear infinite;
}

@keyframes ajax-spinner-rotate {
    to {
        transform: rotate(360deg);
    }
}

.align-right {
    text-align:right;
}

.heart-line {
    margin: 1em 0;
    position: relative;
    background: url(/images/heart-line.png) 50% 50% no-repeat;
    height: 21px;
}

.heart-line:before {
    border-top: 1px solid #E7CECE;
    content: "";
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: -1;
}


ul {
    list-style: none; /* Remove default bullets */
}

ul:not(.dropdown-menu):not(.select2-selection__rendered) li:not(.nav-item)::before {
    content: "\2B24"; /* Add content: \2022 is the CSS Code/unicode for a bullet */
    color: #A6144B; /* Change the color */
    font-weight: bold; /* If you want it to be bold */
    display: inline-block; /* Needed to add space between the bullet and the text */
    width: 2em; /* Also needed for space (tweak if needed) */
    margin-left: -2em; /* Also needed for space (tweak if needed) */
}
nav li::before, .mobile-nav-items li::before {
    content: none !important;
}
.mobile-nav-items ul {
    padding-left: 0;
}

body.provider li:not(.something)::before {
    content: none !important;
}

.alert-danger {
    background-color: #f9e1e5;
    color: #af233a;
} .alert {
    border: 0;
} .alert-danger {
    --mdb-alert-color: #842e3c !important;
    --mdb-alert-bg: #f8dbe0 !important;
    --mdb-alert-border-color: #f5c9d1 !important;
} .alert-warning {
    --mdb-alert-color: #896110 !important;
    --mdb-alert-bg: #faecd1 !important;
    --mdb-alert-border-color: #f7e3bb !important;
} .alert-light {
    --mdb-alert-color: #646464 !important;
    --mdb-alert-bg: #fefefe !important;
    --mdb-alert-border-color: #fefefe !important;
} .alert-success {
    --mdb-alert-color: #0c622e !important;
    --mdb-alert-bg: #d0eddb !important;
    --mdb-alert-border-color: #b9e4ca !important;
} .validation-summary-errors ul {
    padding:0;
    margin:0;
} .validation-summary-errors li:before {
    content: none !important;
} select.form-control {
    padding-top: 6px;
    padding-bottom: 6px;
    background-color: #fff !important;
    appearance: auto;
} .sectionBox.tall {
    min-height: 240px;
    margin-bottom: 10px;
} div.sectionBox {
    border: 1px solid #C3C67F;
    background: #F5F6EC url(../images/sectionDiv.png) repeat-x top;
    padding: 20px 10px;
    box-sizing: border-box;
    margin-bottom: 30px;
} .user-photo {
    height: 150px;
    border-radius: 100%;
    vertical-align: middle;
    margin-right: 5px;
} table.card-table {
    border-spacing: 0 15px;
    border-collapse: separate;
    width: 100%;
} table.card-table tbody tr {
    box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.2);
} table.card-table td {
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
} table.card-table td:first-child {
    border-left: 1px solid #D9D9D9;
} table.card-table td:last-child {
    border-right: 1px solid #D9D9D9;
} table.card-table tbody td, table.card-table thead th {
    background: #fff;
    padding: 10px 20px;
} table.card-table thead th {
    color: #666;
    font-weight: bold;
    font-size: 110%;
    border-bottom: 0;
} table .card-table td {
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    border-radius: 0;
} .card-table .user-photo {
    height: 32px;
} .white-quote.border {
    background-color: #fff;
    border: 1px solid #025E73;
} .white-quote {
    background-color: #fff;
} .green-quote + p, .white-quote + p, .quote-author {
    margin-left: 35px;
    text-align: left;
} .green-quote, .white-quote {
    background-color: #B3A627;
    background-image: url(/images/open-quote.png), url(/images/close-quote.png);
    background-position: 8px 8px, 98% 96%;
    background-repeat: no-repeat;
    border-radius: 10px 20px;
    padding: 10px 40px;
    color: #000;
    font-size: 18px;
    text-align: left;
    line-height: 20px;
    font-family: serif;
    margin: 20px 0;
    position: relative;
} .white-quote-arrow {
    background: url(/images/white-quote-arrow.png);
    width: 26px;
    height: 17px;
    position: absolute;
    margin-top: -21px;
    margin-left: 24px;
} img{
    max-width:100%;
}
/*
.form-switch .form-check-input:checked[type=checkbox]:after {
    background-color: #A6144B;
}
.form-check-input[type=checkbox]:checked, .form-check-input[type=checkbox]:checked:focus {
    background-color: #A6144B;
}

.form-switch .form-check-input:checked:focus:before {
    box-shadow: 3px -1px 0 13px #c87695;
}*/
.form-switch .form-check-input:after {
    box-shadow: 0 0 3px 0 rgb(0 0 0 / 25%), 0 2px 2px 0 rgb(0 0 0 / 25%);

}
/* HTML: <div class="loader"></div> */
.heart-loader {
    width: 50px;
    aspect-ratio: 1;
    color: #A6144B;
    background: radial-gradient(circle at 60% 65%, currentColor 62%, #0000 65%) top left, radial-gradient(circle at 40% 65%, currentColor 62%, #0000 65%) top right, linear-gradient(to bottom left, currentColor 42%,#0000 43%) bottom left, linear-gradient(to bottom right,currentColor 42%,#0000 43%) bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
    position: relative;
} .heart-loader:after {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    opacity: 0.4;
    animation: l3 1s infinite;
} @keyframes l3 {
    to {
        transform: scale(1.8);
        opacity: 0
    }
} .pagination li:before {
    content: '' !important;
}
.pagination {
    gap: 4px;
    flex-wrap: wrap;
}
.pagination .page-link {
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    color: var(--prov-teal);
    font-size: 13px;
    font-weight: 600;
    background: #fff;
    transition: background .15s, color .15s, border-color .15s;
    box-shadow: none;
}
.pagination .page-item.active .page-link {
    background: var(--prov-crimson);
    border-color: var(--prov-crimson);
    color: #fff;
    box-shadow: 0 2px 6px rgba(166,20,75,.25);
}
.pagination .page-item:not(.disabled):not(.active) .page-link:hover {
    background: rgba(2,94,115,.08);
    border-color: var(--prov-teal);
    color: var(--prov-teal-dark);
}
.pagination .page-item.disabled .page-link {
    color: #bbb;
    border-color: #eee;
    background: #fafafa;
    pointer-events: none;
}
.provider-notifications {
    background: #A6144B;
    color: white;
    padding: 1rem;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    border-radius: 0.25rem;
    box-shadow: 0 4px 9px -4px #9a2b56;
    transform: translate(0, 150%);
    transition: all ease-in-out 0.5s;
} .provider-notifications.visible {
    transform: translate(0, 0);
} .provider-notifications a {
    color:white;
} .provider-notifications a:hover {
    color: white;
    text-decoration:underline;
} .close-notification {
    color: white !important;
    margin-right: 1rem;
    text-decoration:none !important;
} .form-switch .form-check-input:checked[type=checkbox]:after {
    background-color: #A6144B;
} .form-check-input[type=checkbox]:checked, .form-check-input[type=checkbox]:checked:focus {
    background-color: #A6144B;
} .form-check-input[type=radio]:checked::after {
    background-color: var(--prov-crimson);
} .form-check-input:checked, .form-check-input:checked:focus {
    border-color: #A6144B;
} .form-check-input:checked:focus:before {
    box-shadow: 0 0 0 13px #A6144B;
} .form-switch .form-check-input:checked:focus:before {
    box-shadow: 3px -1px 0 13px #a6144b63;
} .btn-primary:first-child:hover, .btn-primary:focus-visible, .btn-primary:hover, :not(.btn-check) + .btn-primary:hover {
    box-shadow: 0 4px 14px rgba(166,20,75,.38);
} .nav-tabs li, .select2-results li {
    padding: 0;
    background: none;
} .nav-tabs .nav-link {
    font-size: 14px;
}
/* Make Select2 match Bootstrap form-control */
.select2-container .select2-selection--single {
    height: calc(2.25rem + 2px) !important;
    padding: .375rem .75rem;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    background-color: #fff;
    font-size: 1rem;
    line-height: 1.5;
}
/* Text alignment inside */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #495057;
    line-height: 1.5;
    padding-left: 0;
}
/* Dropdown arrow positioning */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
    margin-top: 5px;
}
/* Focus state like Bootstrap */
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}
/* Disabled state */
.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #e9ecef;
    opacity: 1;
} .select2-results li {
    padding:4px 8px;
}
/* Multi-select styling */
.select2-container .select2-selection--multiple {
    min-height: calc(2.25rem + 2px);
    border: 1px solid #ced4da;
    border-radius: .375rem;
    padding: .25rem .375rem;
}
/* Multi-select focus */
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #86b7fe;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}
/* Chips/tags inside multi-select */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e9ecef;
    background-image:none;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    padding: 0 .5rem;
    margin-top: .25rem;
}
textarea.select2-search__field {
    height:auto !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    height:1.5em;
}



.btn-sm {
    padding: 4px 10px;
    font-size: 11.5px;
}

/* ══════════════════════════════════════════════════════════════
   Provider Portal - shared component library
   Use these classes across all /providers/ views for consistency.
   See design.md § Provider Portal for usage guidance.
   ══════════════════════════════════════════════════════════════ */

:root {
    --prov-teal:       #025E73;
    --prov-teal-dark:  #014d5e;
    --prov-crimson:    #A6144B;
    --prov-beige:      #DED8A0;
    --prov-font-sans:  'Nunito Sans', sans-serif;
    --prov-font-serif: 'Lora', serif;
}

/* ── Form fields ── */
.prov-field { margin-bottom: 20px; }
.prov-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .9px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 7px;
}
.prov-field .form-control {
    width: 100%;
    padding: 8px 16px;
    border: 1.5px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    font-family: var(--prov-font-sans);
    color: #333;
    background: #fff;
    transition: border-color .18s, box-shadow .18s;
    box-sizing: border-box;
}
.prov-field .form-control:focus {
    border-color: var(--prov-teal);
    box-shadow: 0 0 0 3px rgba(2,94,115,.12);
    outline: none;
}

/* ── Buttons ── */
.prov-btn-primary {
    display: inline-block;
    padding: 13px 26px;
    background: var(--prov-crimson);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: var(--prov-font-sans);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s, transform .1s, box-shadow .18s;
    box-shadow: 0 4px 14px rgba(166,20,75,.28);
    letter-spacing: .2px;
}
.prov-btn-primary:hover, .prov-btn-primary:focus {
    background: #8e0e3e;
    box-shadow: 0 6px 20px rgba(166,20,75,.38);
    transform: translateY(-1px);
    color: #fff;
    text-decoration: none;
}
.prov-btn-primary:active { transform: translateY(0); }
.prov-btn-primary--block {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
}
.prov-btn-teal {
    display: inline-block;
    padding: 12px 26px;
    background: var(--prov-teal);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: var(--prov-font-sans);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: background .18s, transform .1s;
}
.prov-btn-teal:hover {
    background: var(--prov-teal-dark);
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}
.prov-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 26px;
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 2px solid rgba(255,255,255,.5);
    border-radius: 50px;
    font-family: var(--prov-font-sans);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all .18s;
}
.prov-btn-ghost:hover {
    background: #fff;
    color: var(--prov-crimson);
    border-color: #fff;
    text-decoration: none;
}

/* ── Eyebrow label ── */
.prov-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--prov-crimson);
    margin-bottom: 8px;
}

/* ── Provider detail page shell (training/settings sub-pages) ── */
.pdet-header {
    background: linear-gradient(135deg, var(--prov-teal) 0%, var(--prov-teal-dark) 100%);
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.pdet-header__photo img { width: 52px; height: 52px; border-radius: 50%; border: 2px solid rgba(255,255,255,.3); display: block; object-fit: cover; }
.pdet-header__title { font-family: var(--prov-font-serif); font-size: 20px; font-weight: 700; color: #fff; line-height: 1.2; }
.pdet-header__sub { font-size: 13px; color: rgba(255,255,255,.7); margin-top: 2px; }
.pdet-header__nav { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.pdet-header__nav a { color: rgba(255,255,255,.8); font-size: 13px; font-weight: 600; text-decoration: none; }
.pdet-header__nav a:hover { color: #fff; text-decoration: underline; }
.pdet-header__nav .btn { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.45); color: #fff; }
.pdet-header__nav .btn:hover { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.7); color: #fff; box-shadow: none; }

.pdet-content { padding: 24px 32px 40px; }
.pdet-section { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 24px 28px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.pdet-section__title { font-family: var(--prov-font-serif); font-size: 17px; font-weight: 700; color: var(--prov-teal); margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0; }
.pdet-section__desc { font-size: 14px; color: #666; margin: -4px 0 16px; }
.pdet-section__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; padding-top: 16px; border-top: 1px solid #f0f0f0; }
.pdet-section__actions a:not([class*="btn"]) { font-size: 13px; color: var(--prov-teal); font-weight: 600; text-decoration: none; }
.pdet-section__actions a:not([class*="btn"]):hover { text-decoration: underline; }

.pdet-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pdet-table thead th { font-size: 11px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; color: #888; padding: 8px 12px; border-bottom: 2px solid #f0f0f0; white-space: nowrap; }
.pdet-table td { padding: 9px 12px; border-bottom: 1px solid #f5f5f5; vertical-align: middle; }
.pdet-table tbody tr:last-child td { border-bottom: none; }
.pdet-table tbody tr:hover td { background: #f7fafc; }

.pdet-pill { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.pdet-pill--green { background: #d1fae5; color: #065f46; }
.pdet-pill--red { background: #fee2e2; color: #991b1b; }
.pdet-pill--teal { background: rgba(2,94,115,.1); color: var(--prov-teal); }

/* ── Provider settings two-column layout ── */
.pset-layout { display: flex; align-items: flex-start; }
.pset-nav { width: 300px; flex-shrink: 0; background: #f8f9fa; border-right: 1px solid #eee; align-self: stretch; }
.pset-nav .list-group { border: none; }
.pset-nav .list-group-item { border: none !important; border-left: 3px solid transparent !important; border-radius: 0 !important; font-size: 13px; font-weight: 600; color: #444; }
a.list-group-item:hover {
    background:rgba(2,94,115,.04)  !important
}
.pset-nav .list-group-item svg {
    width: 20px;
    height: 20px;
    color: #888;
    flex-shrink: 0;
}
.pset-nav .list-group-item.active { background: rgba(2,94,115,.08) !important; color: var(--prov-teal) !important; border-left-color: var(--prov-teal) !important; }
.pset-nav .list-group-item.active svg { color: var(--prov-teal); }
.pset-nav .list-group-item:hover:not(.active) { color: #222; }
.pset-body { flex: 1; padding: 28px 36px 48px; min-width: 0; max-width: 900px; }
.pset-body h1, .pset-body h2, .pset-body h3 { font-family: var(--prov-font-serif); }
.pset-body h1 { font-size: 22px; font-weight: 700; color: var(--prov-teal); margin: 0 0 8px; }
.pset-body h2 { font-size: 18px; font-weight: 700; color: var(--prov-teal); margin: 28px 0 12px; }
.pset-body h2:first-child { margin-top: 0; }
.pset-body h3 { font-size: 15px; font-weight: 700; color: #555; margin: 20px 0 8px; }
.pset-step { color: var(--prov-crimson); font-weight: 700; }
.pset-code { font-family: monospace; font-size: 12.5px; background: #f5f5f5; border: 1px solid #e8e8e8; border-radius: 6px; padding: 14px 16px; white-space: pre-line; color: #333; margin: 8px 0 16px; }



/* course type colors */

:root {
    --PrivateDutyText: #733CAE;
    --PrivateDutyBg: #F6F3FA;
    --MedicaidText: #219735;
    --MedicaidBg: #eaf5ec;
    --RalText: #E87630;
    --RalBg: #FDF5EC;
    --AssistedLivingText: #1C5DA6;
    --AssistedLivingBg: #F1F5FB;
    --MultipleText: #B4235D;
    --MultipleBg: #FCEFF4;
}

.PrivateDuty-header {
    font-weight: bold;
    font-family: var(--mdb-body-font-family);
    color: var(--PrivateDutyText) !important;
    background-color: var(--PrivateDutyBg) !important;
}
.Medicaid-header {
    font-weight: bold;
    font-family: var(--mdb-body-font-family);
    color: var(--MedicaidText) !important;
    background-color: var(--MedicaidBg) !important;
}
.Ral-header {
    font-weight: bold;
    font-family: var(--mdb-body-font-family);
    color: var(--RalText) !important;
    background-color: var(--RalBg) !important;
}
.AssistedLiving-header {
    font-weight: bold;
    font-family: var(--mdb-body-font-family);
    color: var(--AssistedLivingText) !important;
    background-color: var(--AssistedLivingBg) !important;
}
.Multiple-header {
    font-weight: bold;
    font-family: var(--mdb-body-font-family);
    color: var(--MultipleText) !important;
    background-color: var(--MultipleBg) !important;
}

tr.type-category-header.PrivateDuty-header td {
    background-color: var(--PrivateDutyBg);
    color: var(--PrivateDutyText);
    border-left-color: var(--PrivateDutyBg);
    border-right-color: var(--PrivateDutyBg);
}
tr.type-category-header.Medicaid-header td {
    background-color: var(--MedicaidBg);
    color: var(--MedicaidText);
    border-left-color: var(--MedicaidBg);
    border-right-color: var(--MedicaidBg);
}
tr.type-category-header.Ral-header td {
    background-color: var(--RalBg);
    color: var(--RalText);
    border-left-color: var(--RalBg);
    border-right-color: var(--RalBg);
}
tr.type-category-header.AssistedLiving-header td {
    background-color: var(--AssistedLivingBg);
    color: var(--AssistedLivingText);
    border-left-color: var(--AssistedLivingBg);
    border-right-color: var(--AssistedLivingBg);
}
tr.type-category-header.Multiple-header td {
    background-color: var(--MultipleBg);
    color: var(--MultipleText);
    border-left-color: var(--MultipleBg);
    border-right-color: var(--MultipleBg);
}

body.provider h4 i {
    color: var(--prov-teal);
}


.section-PrivateDuty {
    & .form-check-input[type=checkbox]:checked,
    & .form-check-input[type=checkbox]:checked:focus {
        background-color: var(--PrivateDutyText);
        border-color: var(--PrivateDutyText);
    }

    & .form-check-input:checked:focus:before {
        box-shadow: 0 0 0 13px var(--PrivateDutyBg);
    }

    & a {
        color: var(--PrivateDutyText);
    }

   
}

.section-Medicaid {
    & .form-check-input[type=checkbox]:checked,
    & .form-check-input[type=checkbox]:checked:focus {
        background-color: var(--MedicaidText);
        border-color: var(--MedicaidText);
    }

    & .form-check-input:checked:focus:before {
        box-shadow: 0 0 0 13px var(--MedicaidBg);
    }

    & a {
        color: var(--MedicaidText);
    }
}

.section-Ral {
    & .form-check-input[type=checkbox]:checked,
    & .form-check-input[type=checkbox]:checked:focus {
        background-color: var(--RalText);
        border-color: var(--RalText);
    }

    & .form-check-input:checked:focus:before {
        box-shadow: 0 0 0 13px var(--RalBg);
    }

    & a {
        color: var(--RalText);
    }
}

.section-AssistedLiving {
    & .form-check-input[type=checkbox]:checked,
    & .form-check-input[type=checkbox]:checked:focus {
        background-color: var(--AssistedLivingText);
        border-color: var(--AssistedLivingText);
    }

    & .form-check-input:checked:focus:before {
        box-shadow: 0 0 0 13px var(--AssistedLivingBg);
    }

    & a {
        color: var(--AssistedLivingText);
    }
}

.section-Multiple {
    & .form-check-input[type=checkbox]:checked,
    & .form-check-input[type=checkbox]:checked:focus {
        background-color: var(--MultipleText);
        border-color: var(--MultipleText);
    }

    & .form-check-input:checked:focus:before {
        box-shadow: 0 0 0 13px var(--MultipleBg);
    }

    & a {
        color: var(--MultipleText);
    }
}

