/*
 * CertBank FLEX Standard Site Stylesheet
 *
 * This file contains the protected CertBank platform foundation and
 * standard modern interface. Client colors, logos, and optional
 * hide/show settings belong in /_style/custom.css only.
 *
 * Build source: legacy FLEX site.css + CertBank UX modernization.
 */

/* Kill all padding and margins; browsers tend to use different default values for them */
body, h1, h2, h3, h4, h5, h6, ul, li, div, table, tr, td, select, input
{
    margin: 0;
    padding: 0;
}

*, *::before, *::after
{
    box-sizing: border-box;
}

html
{
    -webkit-text-size-adjust: 100%;
    -ms-content-zooming: none;
    -ms-touch-action: manipulation;
    -ms-overflow-style: scrollbar;
    touch-action: manipulation;
    height: 100%;
}

body
{
    color: rgba(24, 35, 89, 0.85);
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100%;
}

form
{
    height: 100%;
}

h1, h2, h3, h4, h5, h6
{
    font-weight: 600;
    margin-bottom: 0.5rem;
}

p
{
    margin-top: 20px;
    margin-bottom: 20px;
}

h1
{
    font-size: 25px;
    line-height: 25px;
    margin-top: 30px;
}

h2
{
    font-size: 22px;
}

h3
{
    font-size:20px;
}

h4
{
    font-size: 18px;
}

h5
{
    font-size: 16px;
}

h6
{
    font-size: 12px;
    font-weight: normal;
}

.color-green
{
    color:green;
}

.color-red
{
    color:red;
}

.color-orange
{
    color:orange;
}

input:invalid, input:required
{
    box-shadow:none;
}

input
{
    filter:none;
}

input:-webkit-autofill
{
    -webkit-box-shadow: 0 0 0 50px white inset; 
    -webkit-text-fill-color: #333;
}

input:-webkit-autofill:focus
{
    -webkit-box-shadow: 0 0 0 50px white inset; 
    -webkit-text-fill-color: #333;
} 

input:focus, textarea:focus, select:focus
{
    outline: none;
}

label
{
    cursor: pointer;
}

label input
{
    margin-right: 6px;
    display: inline !important;
    width: auto !important;
}

input, select, textarea
{
    border: solid 1px #e0e0e0;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    padding:8px;
    color:gray;
}

textarea
{
    resize:none;
}

a
{
    color: #1a3d8f;
    text-decoration: none;
    cursor: pointer;
    outline: 0;
    transition: color 0.5s, background-color 0.5s, opacity 0.5s;
}

a:hover:not(.disabled)
{
    color: #3A3762;
}

a.disabled
{
    cursor: default;
    color:gray;
}

a.btn.disabled
{
    background-color: #e0e0e0;
    color:gray;
}

.ruBrowse, .no-display
{
    display:none;
}

.page-wrapper .rad-dummy-button
{
    display:none;
}

.label
{
    margin-bottom: 5px;
}

.left
{
    float:left;
}

.right
{
float:right;
}

a.btn, .maintenance-details a.tab, .a-dash-tabs a.tab
{
    display: inline-block;
    padding: 8px 16px 8px 16px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
}

a.btn-primary, .maintenance-details a.tab, .a-dash-tabs a.tab
{
    color: white;
    background-color: #1a3d8f;
    border-color: rgba(16, 114, 206, 0.5);
}

a.btn-primary:hover:not(.disabled), .maintenance-details a.tab:hover:not(.disabled), .a-dash-tabs a.tab:hover:not(.disabled)
{
    background-color: #1072ce;
    color: white;
}

a.btn-secondary
{
    color: #3A4472;
    background-color: #F3F8FA;
}

a.btn-secondary:hover:not(.disabled)
{
    background-color: #E3E8FA;
}

.maintenance-details a.tab, .a-dash-tabs a.tab
{
    text-align: center;
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
    font-weight: normal;
}

.maintenance-details a.tab.selected, .a-dash-tabs a.tab.selected
{
    font-weight:bold;
}

.maintenance-details a.tab:last-of-type, .a-dash-tabs a.tab:last-of-type
{
    margin-bottom: 15px;
}

a.add-button
{
    background-color: #BFEB05;
    color: #3A3762;
}

a.add-button:hover:not(.disabled)
{
    background-color: #3A3762;
    color: #BFEB05;
}

a.full-button
{
    display:block;
    margin-bottom:10px;
}

a.full-button:last-of-type
{
    margin-bottom:0;
}

.bold
{
    font-weight: bold;
}

.tab-block
{
    transition: opacity 0.4s;
    overflow:hidden;
}

::placeholder
{
    color: #a0a0a0;
}

.extra-top-margin
{
    margin-top:30px;
}

.page-wrapper
{
    height: 100%;
    position: relative;
}

.page-header
{
    background-color: white;
    color: #1a3d8f;
    border-bottom-style: double;
    height: 60px;
    position:relative;
    z-index:100;
}

.page-header .container
{
    height:60px;
}

.page-header .header-content
{
    display:table;
    line-height:0;
    height:60px;
    width:100%;
    overflow:hidden;
}

.page-header .header-inner-content
{
    display: table-row;
}

.page-header .header-inner-content div
{
    display: table-cell;
    overflow:hidden;
}

.page-header .header-inner-content div:last-of-type
{
    text-align:right;
    vertical-align:top;
}

.page-content
{
    z-index: 99;
    height: 100%;
    margin-top: -120px;
    padding-top: 120px;
    padding-bottom: 0;
    display: table;
    width: 100%;
}

.page-content .container
{
    height:100%;
    padding-top:20px;
    padding-bottom:20px;
}

.page-content .outer-container
{
    display:table-cell;
    height:100%;
}

.page-footer
{
    color: white;
    height: 60px;
    background-color: #1a3d8f;
    border-top: 1px solid #e1eaea;
    font-size: 14px;
    z-index: 100;
}

.page-footer .container
{
    line-height: 59px;
}

.page-footer a
{
    color:white;
}

.page-footer a:hover
{
    color: #BFEB05;
}

.container
{
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.logo
{
    display: inline-block;
    margin-top:10px;
    height:40px;
}

.logo img
{
    height: 40px;
    width: 160px;
}

.login
{
    float: right;
    color: #BFEB05;
    font-size: 12px;
    line-height: 12px;
    margin-top: 15px;
    padding: 7px 13px 7px 13px;
    border: solid 1px #BFEB05;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    text-transform: uppercase;
}

.login:hover
{
    background-color: #BFEB05;
    color: #3A3762;
}

.user-info
{
    display: inline-block;
    margin-top: 7px;
    color: #1a3d8f;
    opacity:.8;
}

a.user-info:hover
{
    color: #1a3d8f;
    opacity: 1;
}

.user-info img
{
    border-radius: 50%;
    -webkit-border-radius: 50%;
    height: 46px;
    width: 46px;
}

.user-info .shown
{
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

.user-info .icon-arrow-down5
{
    transition: transform 0.5s;
}

.user-info span
{
    display: none;
}

.launchpad-container, .popup-container, .good-thru-box
{
    opacity: 0;
    position: absolute;
    transition: opacity 0.5s;
    display: none;
    cursor:default;
}

.good-thru-box
{
    padding: 15px;
}

.good-thru-hdr
{
    font-weight:bold;
    margin-bottom:10px;
}

.popup-container
{
    z-index:100;
}

.badge-share-container
{
    padding:10px;
}

.badge-share-container img
{
    width:32px;
}

.badge-share-container a
{
    margin-left:20px;
}

.badge-share-container a:first-of-type
{
    margin-left:0;
}

.credit-details-doc-row
{
    margin-bottom:5px;
}

#divLaunchPad, #divBadgeShare, #divGoodThruBox, #divEnrolledBox, #divEarnedBox, #divSyncUserBox
{
    background-color: white;
    z-index: 1500;
    border: solid 1px rgba(0,0,0,0.3);
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    text-align: left;
    font-size: 11px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
}

#divGoodThruBox, #divEnrolledBox, #divEarnedBox, #divSyncUserBox
{
    font-size:14px;
}

#divLaunchPadArrow, #divBadgeShareArrow
{
    border-left: 9px solid transparent;
    border-right: 9px dashed transparent;
    border-bottom: 9px solid rgba(0,0,0,0.3);
    z-index: 1501;
    height: 0;
    width: 0;
}

#divInnerLaunchPadArrow, #divInnerBadgeShareArrow
{
    border-left: 8px dashed transparent;
    border-right: 8px dashed transparent;
    border-bottom: 8px solid white;
    z-index: 1501;
    height: 0;
    width: 0;
}

#divBadgeShareArrow
{
    border-top: 9px solid rgba(0,0,0,0.3);
    border-bottom:none;
}

#divInnerBadgeShareArrow
{
    border-top: 8px solid white;
    border-bottom:none;
}

#divLaunchPad a.close
{
    float: right;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left:20px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABQSURBVChTjZBRCgAgCEO1U+oJPWa5YGHSR+9DmcoaqZlNSSIC7cLddx+7JhyQqkd14KIeYK8zgehOgAbnuZ6p6r9MKD0D4fx8AXgdgI9MIgueiiclVA8u1wAAAABJRU5ErkJggg==);
    background-repeat: no-repeat;
}


.header-drop-panel
{
    white-space:nowrap;
    min-width:250px;
}

.badge-share-container
{
    min-width:0;
}

.launchpad-header
{
}

.launchpad-content
{
    font-size: 12px;
    padding: 10px;
    border-bottom: solid 1px #d0d0d0;
}

.launchpad-links a
{
    color: #868aa8;
    display: block;
    padding: 7px 0px 7px 7px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
}

.launchpad-links a:hover
{
    color: #1a3d8f;
    background-color: #f3f8fa;
}

.launchpad-links a span
{
    margin-right: 10px;
}

.launchpad-links .panel-hdr
{
    margin-bottom: 5px;
    font-weight: bold;
}

.launchpad-version
{
    font-size:12px;
    color:#a0a0a0;
}

.launchpad-footer
{
    background-color: #f8f8f8;
    border-bottom-style: none;
}

.launchpad-header .name
{
    font-size: 14px;
    font-weight: bold;
}

.launchpad-header .email
{
}

.launchpad-header .last-login
{
    font-size: 10px;
    margin-top:7px;
    color:#a0a0a0;
}

.select-language a
{
    display: inline-block;
    margin-right:8px;
}

.select-language a:last-of-type
{
    margin-right: 0;
}

.login-button-container
{
    position: relative;
}

.forgot-password
{
    margin-top:15px;
    text-align:center;
}

.login-controls .select-language
{
    text-align: center;
    margin-top: 30px;
}

.header-drop-panel .btn-logoff
{
    float: right;
}

.inner-footer
{
    display:table;
    width:100%;
}

.page-footer .powered
{
    display: none;
    font-style: italic;
    text-align:right;
}

.page-footer .links
{
    display:table-cell;
}

.page-footer .select-language
{
    display: table-cell;
    text-align:right;
}

.input-group:first-of-type
{
    margin-top: 0;
}

.input-group
{
    background-color: white;
    margin-top: 20px;
    border: solid 1px #e0e0e0;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    overflow: hidden;
    white-space: nowrap;
}

.input-group a
{
    color: rgba(24, 35, 89, 0.85);
}

.input-group span
{
    color:gray;
    background-color: #fbfbfb;
    display: inline-block;
    line-height: 34px;
    width: 40px;
    height: 34px;
    text-align: center;
    vertical-align: top;
    border-right: solid 1px #f0f0f0;
}

.input-group input
{
    border-style: none;
    height: 34px;
    font-size: 12px;
    padding-left: 10px;
    vertical-align: top;
}

.login-box
{
    background-image: url("../_images/login-logo.png");
    background-position: 0px 30px;
    background-size: 225px;
    background-repeat: no-repeat;
    color: #3A3762;
    background-color: white;
    padding: 80px 0px 20px 0px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
}

.login-error-placeholder
{
    height: 30px;
    font-size: 12px;
}

.login-controls input
{
    width: 250px;
}

.login-button
{
    margin-top:20px;
    width:100%;
    text-align:center;
}

.mnt-details .mnt-header, .cdt-details .cdt-header, .final-review .fs-header
{
    border-bottom: solid 1px #e0e0e0;
    padding-left: 15px;
    padding-right: 15px;
    background-color: white;
    z-index: 51;
    position: relative;
}

.mnt-details .container, .dashboard .container, .cdt-details .container, .final-review .container
{
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 0;
}

.dashboard .container
{
    padding-top:0;
}

.r-dash .container
{
    padding: 20px;
}

.review-details .container
{
    padding:20px;
}

.content-panel
{
    padding: 20px 15px 0 15px;
    z-index: 79;
    position: relative;
}

.mnt-details .maintenance-details, .cdt-details .credit-details, .final-submission-details, .review-assignment-details
{
    height: 100%;
    margin-top: -55px;
    padding-top: 55px;
    background-color: #F2F6F8;
    z-index: 50;
}

.mnt-details .cover, .cdt-details .cover, .final-review .cover
{
    line-height: 0;
    border: none;
    display: block;
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.review-assignment-details .left-panel .items
{
    margin-top:20px;
}

.maintenance-details .required, .credit-details .required, .final-submission-details .required, .review-assignment-details .required, .credit-details .action-required
{
    color:red;
    margin-left:5px;
}

.comments-thread  .user-name
{
    font-weight:bold;
}

.comments-thread  .status
{
    font-size:10px;
}

.comments-thread  .comments
{
    padding-top:10px;
    padding-bottom:20px;
}

.comments-thread  .comments:last-of-type
{
    padding-bottom:0;
}

.item-description-label
{
    color: blue;
    font-style: italic;
}

.final-submission-details h5.approved
{
    background-color:green;
}

.final-submission-details h5.rejected
{
    background-color:red;
}

.final-submission-details h5.approved, .final-submission-details h5.rejected
{
    color:white;
    padding-top:3px;
    padding-bottom:3px;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
{
    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        background-color: #F2F6F8;
        width: 100%;
    }
}

.mnt-details .cover img, .cdt-details .cover img, .final-review .cover img
{
    opacity: .25;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: none;
}

.left-panel
{
    padding: 10px 15px 10px 15px;
    background-color: white;
    border-bottom: solid 1px #e0e0e0;
}

.mnt-details .content-tabs, .cdt-details .content-tabs
{
    min-height: 60px;
}

.mnt-details .content-controls, .cdt-details .content-controls, .final-review .content-controls
{
    background-color: white;
    padding: 20px;
}

.mnt-image, .cdt-image
{
    text-align: center;
    margin-bottom: 25px;
}

.mnt-image img.profile-pic
{
    width: 125px;
    height: 125px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    border: solid 5px #1a3d8f;
}

.mnt-image img.program-pic
{
    width: 125px;
    height: 125px;
}

.cdt-image img
{
    width: 125px;
    height: 125px;
}

.mnt-summary
{
    text-align: center;
    color: #b0b0b0;
}

.mnt-summary h4, .credit-details h4
{
    color: #3A3762;
    margin-bottom: 2px;
}

.credit-details .left-panel h4, .final-submission-details .left-panel h4, .final-submission-details .left-panel h5, .review-assignment-details .left-panel h4, .review-assignment-details .left-panel h5
{
    text-align: center;
}

.final-submission-details .left-panel, .final-submission-details .left-panel h4, .final-submission-details .left-panel h5
{
    text-align:left;
}

.mnt-header, .cdt-header, .fs-header
{
    height: 55px;
}

.maintenance-details .left-controls input, .maintenance-details .right-controls input, .maintenance-details .full-row input,
.maintenance-details .left-controls select, .maintenance-details .right-controls select, .maintenance-details .full-row select,
.maintenance-details .left-controls textarea, .maintenance-details .right-controls textarea, .maintenance-details .full-row textarea,
.credit-details .left-controls input, .credit-details .right-controls input, .credit-details .full-row input,
.credit-details .left-controls select, .credit-details .right-controls select, .credit-details .full-row select,
.credit-details .left-controls textarea, .credit-details .right-controls textarea, .credit-details .full-row textarea,
.final-submission-details .left-controls textarea, .final-submission-details .right-controls textarea
.widget-content input, .widget-content textarea
{
    width: 100%;
}

.final-submission-details .left-controls iframe, .special-final-submission-details iframe
{
    width: 100%;
    height:600px;
    border: solid 1px #1a3d8f;
}

.review-credit-details iframe
{
    width: 100%;
    height:600px;
    border: solid 1px #1a3d8f;
}

.your-programs-text, .other-programs-text
{
    margin-left: 15px;
    margin-bottom: 20px;
}

.maintenance-details .left-controls input.small, .maintenance-details .right-controls input.small,
.credit-details .left-controls input.small, .credit-details .right-controls input.small,
.widget-content input.small
{
    width:100px;
}

.maintenance-details .left-controls input.smaller, .maintenance-details .right-controls input.smaller,
.credit-details .left-controls input.smaller, .credit-details .right-controls input.smaller,
.widget-content input.smaller
{
    width:125px;
}

.maintenance-details .left-controls input.medium, .maintenance-details .right-controls input.medium,
.credit-details .left-controls input.medium, .credit-details .right-controls input.medium,
.widget-content input.medium
{
    width:250px;
}

.maintenance-details .left-controls input.large, .maintenance-details .right-controls input.large,
.credit-details .left-controls input.large, .credit-details .right-controls input.large,
.widget-content input.large
{
    width:350px;
}

textarea.small
{
    height: 100px;
}

textarea.medium
{
    height: 150px;
}

textarea.large
{
    height: 250px;
}

textarea.extra-large
{
    height: 500px;
}

.maintenance-details .left-controls, .maintenance-details .right-controls, .maintenance-details .full-row,
.credit-details .left-controls, .credit-details .right-controls, .credit-details .full-row
{
    padding-top: 20px;
}

.maintenance-details .left-controls.no-top-margin, .maintenance-details .right-controls.no-top-margin, .maintenance-details .full-row.no-top-margin,
.credit-details .left-controls.no-top-margin, .credit-details .right-controls.no-top-margin, .credit-details .full-row.no-top-margin
{
    padding-top: 0;
}

.comments-toggle-box.no-top-margin
{
    margin-top:0;
}

.roles-tab .check-box-row label
{
    display: inline-block;
    width: 125px;
    margin-bottom: 10px;
    white-space: nowrap;
}

.mnt-img-controls
{
    margin-top:6px;
}

.mnt-img-controls a:last-of-type
{
    margin-left: 30px;
}

#divNoImage a:last-of-type
{
    margin-left: 0;
}

.maintenance-details .creation-info
{
    padding-top: 30px;
    color: gray;
    text-align: center;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
}

.maintenance-details .creation-info .creation-label
{
    display:inline;
    margin-right:5px;
}

.maintenance-details .creation-info .creation-value
{
    display:inline;
}

.maintenance-details .update-panel, .credit-details .update-panel, .final-submission-details .update-panel
{
    margin-top: 20px;
    padding: 20px;
    background-color: white;
}

.maintenance-details .update-panel a, .credit-details .update-panel a, .final-submission-details .update-panel a
{
    margin-right: 7px;
}

.maintenance-details .update-panel a:last-of-type, .credit-details .update-panel a:last-of-type, .final-submission-details .update-panel a:last-of-type
{
    margin-right: 0;
}

.special-final-submission-details .credit-info
{
    border: solid 1px #1a3d8f;
    padding:10px;
}

.comment-row
{
    font-size:12px;
    color:gray;
    margin-top:3px;
}

.stored_comment 
{
    font-size: 14px;
    color: gray;
    margin-top: 3px;
}

.stored_issuername
{
    font-size: 14px;
    font-weight:bold;
    font-style:italic;
    margin-top: 3px;
}

.mnt-header h1, .cdt-header h1, .fs-header h1
{
    float: left;
    margin-top: 0;
}

.mnt-header .add-button
{
    float: right;
}

.select-list div
{
    margin-bottom: 10px;
}

.program-select-list
{
    margin-top:25px;
}

.msg-container
{
    padding: 20px;
    margin-bottom:20px;
    text-align: center;
    color: white;
    font-weight: bold;
    z-index: 1000;
    cursor: default;
    opacity: 0;
    transition: opacity 0.5s;
    border-radius: 4px;
    -webkit-border-radius: 4px;
}

.mnt-image .msg-container
{
    margin-top:20px;
}

.msg-container.clickable{
    cursor:pointer;
}

.msg-container.error
{
    background-color: red;
    box-shadow: 2px 2px 4px rgb(85, 15, 15);
}

.msg-container.warning
{
    background-color: rgb(255, 127, 39);
    box-shadow: 2px 2px 4px rgb(253, 117, 29);
}

.msg-container.info
{
    background-color: #3A3762;
    box-shadow: 2px 2px 4px rgb(18, 79, 160);
}

.msg-container.ok
{
    background-color: rgb(0, 175, 0);
    box-shadow: 2px 2px 4px rgb(15, 85, 15);
}

.login-error.error
{
    background-color:white;
    color:red;
}

.autologoff-header
{
    font-size:14px;
    font-weight:bold;
    text-align:center;
    margin-top:10px;
    margin-bottom:20px;
}

.autologoff-message
{
    font-size:12px;
    text-align:justify;
    padding-right:20px;
    padding-left:20px;
    margin-bottom:40px;
}

.autologoff-buttons
{
    padding-left:20px;
    padding-right:20px;
}

.enrollment-inactive-indicator, .enrollment-good-thru-indicator
{
    font-weight:bold;
    font-style:italic;
}

.maintenance-details .sep, .credit-details .sep, .admin-dash .sep, .final-submission-details .sep, .review-assignment-details .sep, .special-final-submission-details .sep
{
    position: relative;
    margin-bottom: 15px;
}

.maintenance-details .small-sep, .credit-details .small-sep, .admin-dash .small-sep
{
    font-size: 16px;
}

.maintenance-details .medium-sep, .credit-details .medium-sep, .admin-dash .medium-sep, .final-submission-details .medium-sep, .review-assignment-details .medium-sep, .special-final-submission-details .medium-sep
{
    font-size: 20px;
}

.maintenance-details .sep span, .credit-details .sep span, .admin-dash .sep span, .final-submission-details .sep span, .review-assignment-details .sep span, .special-final-submission-details .sep span
{
    color: #1a3d8f;
    display: inline-block;
    padding-right: 15px;
    z-index: 1;
    background-color: white;
    position: relative;
}

.maintenance-details .sep::before, .credit-details .sep::before, .admin-dash .sep::before, .final-submission-details .sep::before, .review-assignment-details .sep::before, .special-final-submission-details .sep::before
{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e1eaea;
    left: 0;
    top: 50%;
    position: absolute;
}

.content-section-block .preview
{
    border: solid 1px #1a3d8f;
    padding:10px;
    height:400px;
    overflow-y: auto;
}

.content-section-block .buttons, .content-section-block .no-buttons
{
    margin-top: 20px;
}

.content-section-block .buttons
{
    display:none;
}

.content-section-block .no-buttons
{
    padding: 20px;
    text-align: center;
    color: white;
    font-weight: bold;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    opacity: 0.8;
    background-color: #1a3d8f;
    display: block;
}

.error-page
{
    text-align:center;
}

.recover-pw-msg
{
    padding-top:50px;
    font-size:14px;
}

.profile-signup-pw-msg
{
    margin-bottom:20px;
}

.inner-dashboard
{
    height:100%;
}

.non-enrolled-programs h2, .enrolled-programs h2, .non-enrolled-programs h3, .enrolled-programs h3
{
    margin-left: 15px;
}

.program-card-container
{
    padding: 15px;
}

.program-card
{
    border: solid 1px rgb(225, 234, 234);
    padding: 20px;
    overflow:hidden;
}

.inactive-program-card
{
    border: solid 1px rgb(208, 80, 80);
}

.program-card img
{
    width:100%;
    height:auto;
}

.program-card h1
{
    font-size:20px;
    margin-top:0;
    text-align:center;
    white-space:nowrap;
}

.program-card .float-breaker
{
    display:none;
}

.program-card .enroll-button
{
    text-align:center;
    margin-top:15px;
    height:40px;
}

.program-card .enroll-info
{
    margin-top:15px;
    height:40px;
}

.program-card .enroll-info i
{
    margin-left:10px;
    font-size:20px;
}

.cert-link i
{
    font-size:72px;
    margin-top:5px;
}

.program-card span.revoked
{
    color:red;
    font-weight: bold;
}

.program-card span.revoked-reason
{
    font-size: 12px;
}

.program-card span.revoked-reason span.revoked
{
    font-weight:normal;
}

.program-card .details-container
{
    margin-top: 15px;
    display: table;
    width: 100%;
    border-top: solid 1px rgb(225, 234, 234);
    padding-top: 15px;
    table-layout:fixed;
}

.program-card .details
{
    display:table-row;
}

.program-card .left-cell
{
    text-align: left;
    display:table-cell;
}

.program-card .right-cell
{
    text-align: right;
    display: table-cell;
    width:90px;
}

.program-card .right-cell a.btn
{
    padding-left:0;
    padding-right:0;
    text-align:center;
    width:80px;
}

.admin-dash
{
    padding:20px;
}

.cdash-gauge, .cdash-deadlines, .cdash-cpes, .cdash-badges, .cdash-certificates
{
    text-align: left;
    width: 240px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom:30px;
    white-space: nowrap;
    overflow:hidden;
}

.cdash-deadlines .no-deadlines
{
    white-space: normal;
}

.cpe-totals, .certificate-totals, .badge-totals
{
    margin-bottom:8px;
    font-weight:bold;
}

.fixed-table
{
    display:table;
}

.fixed-row
{
    display: table-row;
}

.fixed-cell
{
    display: table-cell;
}

.fixed-cell
{
    padding-left:6px;
}

.fixed-cell:first-of-type
{
    padding-left:0;
}

.percentage-container .date
{
    margin-bottom:2px;
}

.percentage-container span
{
    font-weight:bold;
}

.percentage-container .earned span
{
    color:green;
}

.percentage-container .revoked span
{
    color:red;
}

.percentage-container span.revoked-reason, .percentage-container span.revoked-reason span
{
    font-weight:normal;
}

.percentage-container .textual
{
    margin-top: 10px;
}

.percentage-container .graphical
{
    height: 8px;
    border: solid 1px #e0e0e0;
    background-color: #f0f0f0;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    margin-top: 4px;
}

.percentage-container .graphical .inner-bar
{
    background-color: #1a3d8f;
    height: 6px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    transition: width 1s;
}

.cdash-gauge .percentage-container .textual
{
    margin-top:0;
}

.program-details .percentage-container .textual
{
    margin-top:20px;
}

.cdash-gauge .percentage-container .graphical, .program-details .percentage-container .graphical
{
    height: 16px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
}

.cdash-gauge .percentage-container .graphical .inner-bar, .program-details .percentage-container .graphical .inner-bar
{
    height: 14px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
}

.program-card .details-container .left-cell, .program-card .details-container .right-cell
{
    vertical-align: bottom;
}

.cdt-header h3
{
    font-size:14px;
}

.credit-details
{
    margin-top:25px;
}

.credit-details .program-structure h5
{
    margin-top: 15px;
}

.credit-details .program-structure .current-item
{
    font-style: italic;
}

.program-details .program-logo
{
    text-align:center;
}

.program-details img
{
    width: 100%;
}

.program-details .program-description
{
    text-align:justify;
    margin-top:20px;
}

.program-details .program-description h2
{
    text-align:center;
}

.program-details a.btn
{
    width:100%;
    text-align:center;
}

.program-stages
{
    margin-top: 20px;
}

.program-details-body
{
    background-color: #F9FCFF;
}

.program-details-body .stage-block
{
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .1);
    margin-bottom:20px;
	border-radius: 15px;
    background-color: white;
    transition: box-shadow .3s ease;
}

.program-details-body .stage-block:hover
{
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .4);
}

.program-details-body .stage-block > .header
{
    font-size: 20px;
    font-weight: bold;
    background-color: white;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    display: table;
    width: 100%;
    padding: 20px;
}

.program-details-body .stage-block .contents
{
    display: none;
}

.program-details-body .stage-block > .header > div
{
    display: table-row;
}

.program-details-body .stage-block > .header > div > div
{
    display: table-cell;
}

.program-details-body .stage-block[data-expanded="0"] .header
{
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}

.program-details-body .stage-block > .header div > div:first-of-type
{
    width:100%;
}

.program-details-body  .stage-block >.header .stage-title div:last-of-type
{
    margin-top:10px;
}

.program-details-body .stage-block > .header i
{
    display :none;
    margin-left: 10px;
    cursor: pointer;
}

.program-details-body .stage-block[data-expanded="1"] .contents
{
    display: block;
}

.program-details-body .stage-block[data-expanded="1"] > .header i.fa-circle-chevron-up
{
    display: inline-block;
}

.program-details-body .stage-block[data-expanded="0"] > .header i.fa-circle-chevron-down
{
    display: inline-block;
}

.program-details-body .stage-block > .header .stage-progress
{
    white-space: nowrap;
    background-repeat: no-repeat;
    background-position: right top 3px;
    background-size: 24px;
    font-size: 18px;
    font-weight: normal;
    padding-right: 34px;
}

.program-details-body .stage-block > .header.in-progress .stage-progress
{
    background-image: url("../_images/stage-in-progress.svg");
    color: #E1A70B;
}

.program-details-body .stage-block > .header.in-review .stage-progress
{
    background-image: url("../_images/stage-in-review.svg");
    color: #E1A70B;
}

.program-details-body .stage-block > .header.completed .stage-progress
{
    background-image: url("../_images/stage-completed.svg");
    color: #37C750;
}

.program-details-body .stage-block > .header.open .stage-progress
{
    background-image: url("../_images/stage-open.svg");
    color: #0E2776;
}

.program-details-body .stage-block > .header.locked .stage-progress
{
    background-image: url("../_images/stage-locked.svg");
    color: #0E2776;
}

.program-details-body .stage-block > .contents, .program-details-body .item-block > .contents
{
    padding: 20px;
    font-size:14px;
    position:relative;
    color:black;
}

.program-details-body .item-block > .contents
{
    padding-top: 7px;
}

.program-details-body .stage-block > .contents
{
    padding-top: 0;
}

.program-details-body .item-block
{
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .1);
    margin-bottom:20px;
	border-radius: 15px;
    background-color: white;
    border: solid 1px #D1D1D1;
    transition: border-color .3s ease;
}

.program-details-body .item-block:hover
{
    border-color: black;
}

.program-details-body .item-block.alternate-color
{
    background-color: #F1F1F1;
}

.program-details-body .item-block .header
{
    font-size: 18px;
    font-weight: bold;
    border-top-left-radius:10px;
    border-top-right-radius:10px;
    color: black;
    padding: 20px;
    padding-bottom: 0;
    display: table;
    width: 100%;
}

.program-details-body .item-block > .header > div
{
    display: table-row;
}

.program-details-body .item-block > .header > div > div
{
    display: table-cell;
}

.program-details-body .item-block > .header div > div:first-of-type
{
    width:100%;
    padding-right: 20px;
}

.program-details-body .item-block > .header .item-progress
{
    white-space: nowrap;
    font-size: 16px;
    font-weight: normal;
    color: white;
}

.program-details-body .item-block > .header .item-progress span
{
    padding: 6px 10px 6px 10px;
    border-radius: 15px;
    display: inline-block
}

.program-details-body .item-block > .header .item-progress i
{
    margin-right: 6px;
}

.program-details-body .item-block > .header.in-progress .item-progress span
{
    background-color: #E1A70B;
}

.program-details-body .item-block > .header.in-review .item-progress span
{
    background-color: #E1A70B;
}

.program-details-body .item-block > .header.completed .item-progress span
{
    background-color: #37C750;
}

.program-details-body .item-block > .header.rejected .item-progress span, .program-details-body .item-block > .header.action-required .item-progress span
{
    background-color: #B90000;
}

.program-details-body .item-block > .header.open .item-progress span
{
    background-color: #0E2776;
}

.program-details-body .item-block > .header.locked .item-progress span
{
    background-color: #515053;
}

.program-details-body .item-block .contents .item-status
{
    font-size:14px;
}

.program-details-body .item-block .contents .item-status.parent-item-status
{
    margin-bottom: 20px;
}

.program-details-body .item-block .contents.parent-block
{
    padding-bottom:0;
}

.program-details-body .stage-block:last-of-type, .program-details-body .item-block:last-of-type
{
    margin-bottom: 0;
}

.program-details-body .item-block .item-status
{
    float:left;
    font-weight: bold;
}

.program-details-body .item-block .item-status div
{
    margin-bottom:3px;
}

.program-details-body .item-block .item-status span
{
    font-weight:bold;
}

.program-details-body .item-block .item-status span.rejected
{
    color:red;
    font-weight:normal;
}

.program-details-body .item-block .item-status span.approved
{
    color:green;
}

.program-details-body .item-block .item-status span.in-review
{
    color:blue;
    font-weight:normal;
}

.program-details-body .item-block .item-status .completed
{
    color: Green;
}

.program-details-body .item-block .item-description
{
    clear: right;
}

.program-details-body .item-description
{
    margin-bottom:20px;
}

.program-details-body .item-block .view-item
{
    position: absolute;
    right: 10PX;
    bottom: 10PX;
}

.program-details-body .item-block .item-date
{
    margin-top:15px;
}

.program-details-body .item-block .item-date span
{
    border-style: solid;
    border-width: 1px;
    border-radius: 10px;
    padding: 10px;
    font-weight: normal;
    display: inline-block;
}

.program-details-body .item-block .item-completed, .program-details-body .item-block .credits-approved-label
{
    border-color: #37C750;
    color: #37C750
}

.program-details-body .item-block .deadline
{
    border-color: #B90000;
    color: #B90000
}

.program-details-body .item-block .item-select
{
    color: white;
    background-color: #0E2776;
    border: solid 1px #0E2776;
    border-radius: 10px;
    padding:10px;
    font-weight: normal;
    display: inline-block;
}

.program-details-body .item-block a.item-select, .program-details-body .item-block a.item-select:visited, .program-details-body .item-block a.item-select:hover
{
    color: white;
    text-decoration: none;
}

.program-details-body .item-block .item-select.left-margin
{
    margin-left: 10px;
}

.program-details-body-non-flex .stage-block, .program-details-body-non-flex .item-block, .credit-block
{
    border: solid 2px #e0e0e0;
    margin-bottom:20px;
}

.program-details-body-non-flex .header.completed
{
    background-image: url("../_images/credit-completed.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

.program-details-body-non-flex .header.in-review
{
    background-image: url("../_images/credit-review.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

.program-details-body-non-flex .header.in-progress
{
    background-image: url("../_images/credit-submitted.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

.program-details-body-non-flex .header.rejected
{
    background-image: url("../_images/credit-rejected.png");
    background-position: right 10px center;
    background-size: 20px;
}

.program-details-body-non-flex .header
{
    background-image: url("../_images/credit-notstarted.png");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
}

.credit-block
{
    padding:10px;
}

.program-details-body-non-flex .stage-block .header, .program-details-body-non-flex .item-block .header
{
    border-bottom: solid 1px #e0e0e0;
    font-weight:bold;
    padding: 15px;
    margin-bottom: 20px;
}

.program-details-body-non-flex .stage-block .header
{
    font-size: 20px;
}

.program-details-body-non-flex .item-block .header
{
    font-size: 14px;
    margin-bottom:0;
}

.program-details-body-non-flex .stage-block .contents, .program-details-body-non-flex .item-block .contents
{
    padding: 20px;
    font-size:14px;
    position:relative;
}

.program-details-body-non-flex .item-block .contents .item-status
{
    font-size:14px;
}

.program-details-body-non-flex .item-block .contents
{
    padding-bottom: 50px;
}

.program-details-body-non-flex .item-block .contents.parent-block
{
    padding-bottom:0;
}

.program-details-body-non-flex .stage-block:last-of-type, .program-details-body-non-flex .item-block:last-of-type
{
    margin-bottom: 0;
}

.program-details-body-non-flex .item-block .item-status
{
    margin-top:30px;
    float:left;
}

.program-details-body-non-flex .item-block .item-status div
{
    margin-bottom:3px;
}

.program-details-body-non-flex .item-block .item-status span
{
    font-weight:bold;
}

.program-details-body-non-flex .item-block .item-status span.rejected
{
    color:red;
    font-weight:normal;
}

.program-details-body-non-flex .item-block .item-status span.approved
{
    color:green;
}

.program-details-body-non-flex .item-block .item-status span.in-review
{
    color:blue;
    font-weight:normal;
}

.program-details-body-non-flex .item-block .item-status .completed
{
    color: Green;
}

.program-details-body-non-flex .item-block .item-description
{
    clear: right;
}

.program-details-body-non-flex .item-description
{
    margin-bottom:20px;
}

.program-details-body-non-flex .item-block .view-item
{
    position: absolute;
    right: 10PX;
    bottom: 10PX;
}





.credit-details-dates
{
    margin-top:10px;
    margin-bottom:20px;
}

.credit-details-date span
{
    font-weight:bold;
}

.credit-details-date.completed span
{
    color: green;
}

.credit-details-date span.rejected
{
    font-weight:normal;
    color:red;
}

.credit-details-date span.in-review
{
    font-weight:normal;
    color:blue;
}

.credit-details-date span.approved
{
    font-weight:normal;
    color:green;
}

.parent-credits
{
    margin-top:10px;
}

.parent-credits span
{
    font-weight:bold;
}

.zero-max-credits-allowed, .zero-credits-required
{
    display:none;
}

.parent-credits span.approved, .credit-block span.approved, .parent-credits span.completed
{
    color:green;
}

.credit-block span.rejected
{
    color:red;
}

.credit-block span.in-review
{
    color:blue;
}

.credit-block .credit-details-specific
{
    margin-top:20px;
}

.credit-block .credit-button
{
    margin-top:20px;
}

.program-details .percentage-container
{
    margin-top:20px;
}

.widget-block
{
    margin-top:20px;
}

.left-controls .widget-block:first-of-type
{
    margin-top:0;
}

.widget-block iframe
{
    border: solid 1px #e0e0e0;
    padding:10px;
    width:100%;
}

.widget-sync
{
    height:245px;
}

.widget-progress-calc
{
    height:150px;
}

.widget-final-submissions
{
    height:960px;
}

.widget-completed-final-submissions
{
    height:930px;
}

.widget-rejected-final-submissions
{
    height:930px;
}

.widget-review
{
    height:1182px;
}

.widget-badges
{
    height:250px;
}

.service-ok
{
    color: #37c74f;
}

.service-error
{
    color:red;
}

.comments-toggle-box
{
    margin-top:30px;
}

.credit-comments
{
    margin-top:40px;
}

.review-doc-section
{
    margin-top:20px;
}

.review-doc-section .doc-date
{
    margin-bottom:7px;
}

.credit-details.review-credit-details
{
    padding-top:65px;
}

.review-credit-www, .credit-www
{
	border:solid 1px #e0e0e0;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	padding:10px;
	width:100%;
	height: 400px;
}

.cdash-gauge
{
    font-size: 16px;
}

.cpe-item
{
    margin-top:5px;
    white-space:nowrap;
    overflow:hidden;
}

.certificate-item, .badge-item
{
    display:block;
    margin-bottom:20px;
}

.badge-item a
{
    float:right;
}

.certificate-item img, .badge-item img, .badge-image-container img
{
    width:100%;
    height:auto;
    border:solid 1px #f0f0f0;
}

.cpe-date
{
    width:90px;
    display:inline-block;
}

.badge-service-ind
{
    color: #1a3d8f;
}

.badge-service-status
{
    margin-bottom:6px;
}

.badge-service-issuers
{
    margin-bottom:6px;
}

.badge-image-container
{
    max-width:400px;
}

.badge-data-container .badge-description
{
    margin-bottom:30px;
}

.badge-data-container .badge-data-row
{
    margin-bottom:5px;
}

.badge-data-container .badge-label
{
    float:left;
    width:75px;
}

.badge-revoked-container
{
    margin-top:30px;
    color:red;
}

.program-extra-info
{
    margin-top:20px;
}

.assessment-header
{
    margin-bottom:5px;
}

.review-counters
{
    margin-bottom: 10px;
}

.credit-controls textarea
{
    width:100%;
    height:200px;
}

.final-review h2
{
    margin-top:30px;
}

.final-review h2:first-of-type
{
    margin-top:0;
}

.final-submission .credit-info
{
    margin-top:40px;
    margin-bottom: 10px;
}

.final-submission-details .rejected .sep span
{
    color:red;
}

.final-submission-group-header
{
    margin-top:30px;
}

.final-submission-group-header:first-of-type
{
    margin-top:0;
}

.internal-comments, .public-comments, .comments
{
    overflow:hidden;
}

.final-review-details
{
    margin-bottom:20px;
}

.final-review-details .details-value
{
    margin-bottom:5px;
}

.approved-rejected
{
    margin-top:10px;
    font-style: italic;
}

.no-approval-yet
{
    font-size:16px;
    font-weight:bold;
    margin-bottom:10px;
}

.credits-tab .table, .enrollments-tab .table
{
    display: table;
    table-layout:fixed;
    width:100%;
}

.credits-tab .row, .enrollments-tab .row
{
    display: table-row;
}

.credits-tab .cell, .enrollments-tab .cell, .review-log-tab .cell
{
    display: table-cell;
    padding:5px;
    overflow:hidden;
}

.credits-table .header-row, .enrollments-table .header-row, .submissions-tab .header-row, .review-log-tab .header-row
{
    font-weight:bold;
}

.program-structure-container
{
    display:none;
    margin-top:20px;
}

@media screen and (max-width:519px)
{
    .g-recaptcha
    {
        transform: scale(0.8);
        -webkit-transform: scale(0.8);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
    }

    #calcButtons a
    {
        display: block;
        margin-left:0 !important;
        margin-bottom:10px;
    }
}

@media screen and (max-width:590px)
{
    .widget-progress-calc
    {
        height: 250px;
    }
}

@media (min-width: 1000px) and (min-height: 800px)
{
    .content-section-block .buttons
    {
        display: block;
    }

    .content-section-block .no-buttons
    {
        display:none;
    }
}

@media (min-width: 450px)
{
    .login-controls input
    {
        width: 296px;
    }

    .login-box
    {
        background-position: 30px 30px;
        padding: 80px 30px 20px 30px;
        width: 400px;
    }

    .autologoff-header
    {
        font-size: 16px;
    }

    .autologoff-message
    {
        font-size: 14px;
    }

    .autologoff-buttons a.btn
    {
        width: 175px;
        text-align: center;
    }

        .autologoff-buttons a.btn:last-of-type
        {
            margin-top: 0;
            margin-left: 20px;
        }

    a.full-button
    {
        display: inline-block;
        margin-bottom: 0;
    }

    .maintenance-details a.tab, .a-dash-tabs a.tab
    {
        width: 50%;
    }

    .program-details .program-description h2
    {
        text-align:left;
    }

    .program-details .program-description
    {
        /*width: 49%;*/
        margin-top:0;
    }

    .program-float-breaker
    {
        clear:both;
    }

    .certificate-item, .badge-item
    {
        display:inline-block;
        width:48%;
    }

    .certificate-item:nth-child(2n+1), .badge-item:nth-child(2n+1)
    {
        float:right;
    }

    .certificate-item:nth-child(2n+2), .badge-item:nth-child(2n+2)
    {
        float:left;
    }
}

@media (min-width: 576px)
{
     
     .login-button
    {
        width:auto;
        text-align:left;
    }

    .login-controls .select-language
    {
        position: absolute;
        margin-top:0;
        right: 0;
        bottom: 0;
    }

    .forgot-password
    {
        text-align:left;
    }

    .page-footer .links
    {
        width: 40%;
    }

    .page-footer .select-language
    {
        width: 20%;
        text-align:center;
    }

    .page-footer .powered
    {
        display: table-cell;
        width:40%;
    }

    .program-card-container 
    {
        display: inline-block;
        width: 50%;
    }

    .program-card h1
    {
        font-size: 16px;
    }

    .program-card .float-breaker
    {
        display: none;
    }

    .cdash-gauge, .cdash-deadlines, .cdash-cpes, .cdash-badges, .cdash-certificates
    {
        float: left;
        margin-left: 15px;
        margin-right: 15px;
    }

    .cdt-header h3
    {
        font-size: 16px;
    }

    .cdt-image
    {
        float:left;
        margin-right:30px;
    }

    .program-structure
    {
        float:left;
    }
}

@media (min-width: 650px)
{
    .comments-table
    {
        display:table;
        table-layout:fixed;
        width:100%;
    }

    .comments-row
    {
        display:table-row;
        width:100%;
    }

    .public-comments
    {
        display:table-cell;
        width:50%;
        padding-right:10px;
    }

    .internal-comments
    {
        display:table-cell;
        width:50%;
        padding-left:10px;
    }
}

@media (min-width: 768px)
{
    .program-details .program-description
    {
        width: 49%;
    }

     .program-details .program-logo
    {
        text-align: left;
        width: 49%;
        float: right;
        padding-left: 20px;
    }

    h1
    {
        font-size: 40px;
        line-height: 40px;
    }

    h2
    {
        font-size: 32px;
    }

    h6
    {
        font-size: 12px;
        font-weight: normal;
    }

    .page-header
    {
        height: 100px;
    }

    .page-header .container
    {
        height:100px;
    }

    .page-content
    {
        margin-top: -160px;
        padding-top: 160px;
    }

    .logo
    {
        margin-top: 20px;
        height:60px;
    }

    .logo img
    {
        height: 60px;
        width: 240px;
    }

    .login
    {
        font-size:16px;
        line-height: 16px;
        padding: 9px 15px 9px 15px;
        margin-top:30px;
    }

    .user-info
    {
        margin-top:10px;
        line-height:60px;
        vertical-align:middle;
        height:60px;
    }

    .user-info img
    {
        height: 60px;
        width: 60px;
        vertical-align: middle;
    }

    .user-info span
    {
        display: inline-block;
        margin-left: 5px;
        vertical-align: middle;
    }

    .login-box
    {
        width: 480px;
        padding: 80px 40px 30px 40px;
        background-position: 40px 30px;
    }

    .login-error-placeholder
    {
        height: 40px;
        font-size:14px;
        padding-top:5px;
    }

    .login-controls input
    {
        width: 356px;
        font-size: 14px;
    }

    .launchpad-content
    {
        font-size: 12px;
    }

    .launchpad-header .name
    {
        font-size: 18px;
    }

    .launchpad-header .email
    {
        font-size: 12px;
    }

    .launchpad-header .last-login
    {
        font-size: 11px;
    }

    .maintenance-details a.tab, .a-dash-tabs a.tab
    {
        text-align: left;
        display: inline-block;
        width: auto;
        margin-left: 0;
        margin-right: 7px;
        margin-bottom: 0;
    }

    .maintenance-details a.tab:last-of-type, .a-dash-tabs a.tab:last-of-type
    {
        margin-bottom: 0;
        margin-right:0;
    }

    .program-card h1
    {
        font-size: 18px;
    }

    .cdt-header h3
    {
        font-size: 18px;
    }

    .certificate-item, .badge-item
    {
        display:inline-block;
        width:32%;
        margin-right:2%;
    }

    .certificate-item:nth-child(2n+1), .badge-item:nth-child(2n+1)
    {
        float:none;
    }

    .certificate-item:nth-child(2n+2), .badge-item:nth-child(2n+2)
    {
        float:none;
    }

    .certificate-item:nth-child(3n+1), .badge-item:nth-child(3n+1)
    {
        margin-right:0;
    }

    .badge-image-container
    {
        float:left;
        width:250px;
    }

    .badge-data-container
    {
        padding-left:270px;
    }
}

@media (min-width: 850px)
{
    .widget-final-submissions
    {
        height:563px;
    }
    
    .widget-completed-final-submissions
    {
        height:548px;
    }

    .widget-rejected-final-submissions
    {
        height:548px;
    }

    .widget-review
    {
        height:675px;
    }
}

@media (min-width: 992px)
{
    .mnt-details, .cdt-details
    {
        padding-bottom: 0;
    }

        .mnt-details .maintenance-details, .cdt-details .credit-details
        {
            padding-bottom: 0;
        }

    .left-panel 
    {
        min-height: 100%;
        width: 300px;
        float: left;
        border-right: solid 1px #e0e0e0;
        padding-top: 10px;
        padding-bottom: 20px;
        z-index: 80;
        position: relative;
        border-bottom-style: none;
    }

    .dashboard .left-panel
    {
        border-right: none;
    }

    .content-panel
    {
        min-height: 100%;
        width: 100%;
        padding-left: 320px;
        padding-bottom: 20px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 300px;
    }

    .mnt-details .creation-info
    {
        position: absolute;
        text-align: left;
        left: 10px;
        bottom: 10px;
    }

    .maintenance-details .creation-info .creation-label
    {
        float: left;
        clear: left;
    }

    .maintenance-details .creation-info .creation-value
    {
        clear: right;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 300px;
        }
    }

    .mnt-details .content-section, .cdt-details .content-section, .final-review .content-section
    {
        margin-left: 5px;
        padding-top: 65px;
        padding-right: 10px;
    }

    .mnt-details .mnt-details .content-tabs, .cdt-details .cdt-details .content-tabs
    {
        height: 60px;
    }

    .mnt-details .maintenance-details .table, .cdt-details .credit-details .table, .admin-dash .table, .final-submission-details .table, .review-assignment-details .table
    {
        display: table;
        table-layout: fixed;
        width: 100%;
    }

    .review-assignment-details .table
    {
        width: auto;
    }

    .maintenance-details .row, .credit-details .row, .admin-dash .row, .final-submission-details .row, .review-assignment-details .row
    {
        display: table-row;
    }

    .mnt-details .maintenance-details .left-controls, .cdt-details .credit-details .left-controls, .admin-dash .left-controls, .final-submission-details .left-controls, .review-assignment-details .cell
    {
        display: table-cell;
        width: 50%;
        padding-right: 10px;
    }

    .review-assignment-details .cell
    {
        padding: 5px 10px 5px 5px;
        width: auto;
        border-bottom: 1px solid #dfdfdf;
        border-left: 1px solid #dfdfdf;
    }

    .review-assignment-details .row:first-child .cell
    {
        border-top: 1px solid #dfdfdf;
    }

    .review-assignment-details .cell:last-child
    {
        border-right: 1px solid #dfdfdf;
    }   

    .admin-dash .left-controls
    {
        padding-right:15px;
    }

    .mnt-details .maintenance-details .right-controls, .cdt-details .credit-details .right-controls, .admin-dash .right-controls, .final-submission-details .right-controls
    {
        display: table-cell;
        width: 50%;
        padding-left: 10px;
    }

    .admin-dash .right-controls
    {
        padding-left:15px;
    }

    .program-select-list
    {
        margin-top: 15px;
    }

    .select-list div
    {
        margin-bottom: 2px;
    }

    .maintenance-details .left-controls.no-desktop-top-margin, .maintenance-details .right-controls.no-desktop-top-margin, .maintenance-details .full-row.no-desktop-top-margin,
    .credit-details .left-controls.no-desktop-top-margin, .credit-details .right-controls.no-desktop-top-margin, .credit-details .full-row.no-desktop-top-margin
    {
        padding-top: 0;
    }

    .cdash-gauge, .cdash-deadlines, .cdash-cpes, .cdash-badges, .cdash-certificates
    {
        float:none;
        margin-right:0;
        width:100%;
        margin-left:15px;
    }

    .cdash-gauge
    {
        margin-bottom:40px;
    }

    .cdt-header h3
    {
        font-size: 20px;
    }

    .cdt-image
    {
        float: none;
        margin-right: 0;
    }

    .program-structure
    {
        float: none;
    }

    .widget-final-submissions
    {
        height:960px;
    }
    
    .widget-completed-final-submissions
    {
        height:930px;
    }

    .widget-rejected-final-submissions
    {
        height:930px;
    }

    .widget-review
    {
        height:1182px;
    }

    .comments-table
    {
        display:block;
    }

    .comments-row
    {
        display:block;
    }

    .public-comments
    {
        display:block;
        width:100%;
        padding-right:0;
    }

    .internal-comments
    {
        display:block;
        width:100%;
        padding-left:0;
    }

    .right-controls .widget-block:first-of-type
    {
        margin-top:0;
    }

    .certificate-item, .badge-item
    {
        width:200px;
        margin-right:20px;
    }

    .certificate-item:nth-child(2n+1), .badge-item:nth-child(2n+1)
    {
        float:none;
    }

    .certificate-item:nth-child(2n+2), .badge-item:nth-child(2n+2)
    {
        float:none;
    }

    .certificate-item:nth-child(3n+1), .badge-item:nth-child(3n+1)
    {
        margin-right:20px;
    }

    .badge-image-container
    {
        width:400px;
    }

    .badge-data-container
    {
        padding-left:420px;
    }

    .cec-plus-single-cell input[type=text], .cec-plus-single-cell input[type=email]
    {
        width:450px;
    }
}

@media (min-width: 1200px)
{
    .program-structure-container
    {
        display:block;
    }

    .page-footer .container
    {
        max-width: 1140px;
    }

    .input-group
    {
        margin-top: 30px;
    }

    .login-box
    {
        width: 580px;
        padding: 80px 50px 40px 50px;
        background-position: 50px 30px;
    }

    .input-group.div
    {
        line-height: 50px;
        height: 44px;
    }

    .login-error-placeholder
    {
        height: 50px;
        padding-top:10px;
    }

    .login-controls span
    {
        height: 44px;
        line-height: 44px;
    }

    .login-controls input
    {
        width: 436px;
        font-size: 16px;
        height: 44px;
    }

    .login-button
    {
        margin-top: 30px;
    }

    .left-panel
    {
        width: 320px;
    }

    .content-panel
    {
        padding-left: 340px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 320px;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 320px;
        }
    }

    .program-card-container
    {
        width: 33.3%;
    }

    .program-details
    {
        width:41%;
        float:right;
    }

    .program-details .program-logo
    {
        width: 100%;
        float: none;
        padding-left:0;
    }

    .program-details .program-description
    {
        width: 100%;
        float: none;
        padding-left: 0;
        margin-top:20px;
    }

    .program-float-breaker
    {
        clear: none;
    }

    .program-stages
    {
        width:59%;
        float:left;
        padding-right:50px;
        margin-top:0;
    }
}

@media (min-width: 1600px)
{
    .page-footer .container
    {
        max-width: 1400px;
    }

    .left-panel
    {
        width: 360px;
    }

    .content-panel
    {
        padding-left: 380px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 360px;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 360px;
        }
    }

    .program-card-container
    {
        width: 25%;
    }

    .comments-table
    {
        display:table;
        width:100%;
    }

    .comments-row
    {
        display:table-row;
        width:100%;
    }

    .public-comments
    {
        display:table-cell;
        width:50%;
        padding-right:10px;
    }

    .internal-comments
    {
        display:table-cell;
        width:50%;
        padding-left:10px;
    }
}

@media (min-width: 1680px)
{
    .widget-final-submissions
    {
        height:563px;
    }
    
    .widget-completed-final-submissions
    {
        height:548px;
    }

    .widget-rejected-final-submissions
    {
        height:548px;
    }

    .widget-review
    {
        height:675px;
    }
}

@media (min-width:1900px)
{
    .program-details .program-logo
    {
        width: 50%;
        float: right;
        padding-left:20px;
    }

    .program-details .program-description
    {
        margin-top: 0;
        width:50%;
        float:right;
    }
}

@media (min-width: 2000px)
{
    .page-footer .container
    {
        max-width: 1700px;
    }

    .left-panel
    {
        width: 400px;
    }

    .content-panel
    {
        padding-left: 420px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 400px;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 400px;
        }
    }

    .program-card-container
    {
        width: 20%;
    }

    .program-card h1
    {
        font-size: 18px;
    }

    .mnt-image img.profile-pic, .mnt-image img.program-pic, .cdt-image img
    {
        width: 200px;
        height: 200px;
    }

    .final-submission-details .left-controls iframe
    {
        height:800px;
    }
}

@media (min-width: 2520px)
{
    .widget-final-submissions
    {
        height:525px;
    }
        
    .widget-completed-final-submissions
    {
        height:640px;
    }

    .widget-rejected-final-submissions
    {
        height:640px;
    }

    .widget-review
    {
        height:640px;
    }
}

@media (min-width: 2600px)
{
    .page-footer .container
    {
        max-width: 2300px;
    }

    .left-panel
    {
        width: 500px;
    }

    .content-panel
    {
        padding-left: 520px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 500px;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 500px;
        }
    }

    .program-card-container
    {
        width: 16.66%;
    }

    .mnt-image img.profile-pic, .cdt-image img
    {
        width: 250px;
        height: 250px;
    }

    .final-submission-details .left-controls iframe
    {
        height:1000px;
    }
}

@media (min-width: 3000px)
{
    .page-footer .container
    {
        max-width: 2600px;
    }

    .left-panel
    {
        width: 600px;
    }

    .content-panel
    {
        padding-left: 620px;
    }

    .mnt-details .cover, .cdt-details .cover, .final-review .cover
    {
        left: 600px;
    }

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active)
    {
        .mnt-details .cover, .cdt-details .cover, .final-review .cover
        {
            padding-left: 600px;
        }
    }

    .program-card h1
    {
        font-size: 20px;
    }

    .mnt-image img.profile-pic, .cdt-image img
    {
        width: 300px;
        height: 300px;
    }
}


/* LOGIN */
.login-body .page-header
{
    display: none;
}

.login-body .page-content
{
    margin-top: -60px;
    padding-top: 0;
}

.login-body .page-footer div.select-language
{
    display:none;
}

@media (min-width: 576px) and (min-height: 518px)
{
    .login-body .page-content
    {
        position:relative;
    }

    .login-body .page-content:after
    {
        content: "";
        opacity: 0.6;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        position: absolute;
        z-index:-1;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }

    .login-body .page-content .container
    {
        display: table;
    }

    .login-body .page-content .outer-login-container
    {
        display: table-cell;
        vertical-align: middle;
    }

    .login-box
    {
        border: 1px solid #e1eaea;
        box-shadow:  4px 4px 8px rgb(50, 50, 50);
    }
}


.third-party-review-frame
{
    display:none;
}

.legend
{
    margin-top:10px;
}

.legend img
{
    display:inline-block;
    width:18px;
    height:18px;
    margin-right:5px;
    vertical-align:middle;
}

.legend div
{
    margin-bottom:2px;
    line-height:18px;
}

.legend span
{
    font-weight:normal;
    vertical-align:middle;
    display:inline-block;
}

.inactive-good-thru
{
    color:red;
}

i.review-with-comments, i.submission-in-final-review
{
    margin-left:5px;
}

.stage-detail-info, .item-detail-info
{
    margin-bottom:20px;
    margin-top:-20px;
    font-style:italic;
}

.item-detail-info
{
    margin-top:0;
}

.admin-warning
{
    font-weight:bold;
    color:red;
}

.submission-summary .sub-header
{
    font-weight:bold;
}

.submission-summary .submission
{
    margin-bottom:20px;
}

.submission .table-header
{
    font-weight:bold;
}

.mnt-details .maintenance-details .submission .table
{
    display: table;
    table-layout: fixed;
    width:auto;
    border-top: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
}

.mnt-details .maintenance-details .submission .row
{
    display: table-row;
}

.mnt-details .maintenance-details .submission .cell
{
    display: table-cell;
    padding: 5px 10px 5px 5px;
    border-bottom: 1px solid #dfdfdf;
    border-left: 1px solid #dfdfdf;
}

.credit-title
{
    font-weight: bold;
    margin-bottom: 5px;
}

.a-dash-main
{
    font-size:16px;
    font-weight: bold;
}

.a-dash-sub
{
    font-size: 12px;
}

.a-dash-info
{
    margin-bottom: 15px;
}

.a-dash-tabs
{
    min-height: 60px;
    margin-bottom: 15px;
}

.a-dash-tabs a
{
    margin-top: 15px;
}

.a-dash-tabs a:first-of-type
{
    margin-top: 0;
}

@media(min-width: 992px)
{
    .a-dash-tabs
    {
        margin-top: -55px;
    }
}

#badgeShareBlock .share-header, #badgeLoginBlock .share-header
{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

#badgeShareBlock a, #badgeLoginBlock a
{
    display: block;
    width: fit-content;
    margin-bottom: 8px;
    font-size: 16px;
}

#badgeShareBlock a i, #badgeLoginBlock a i
{
    margin-right:10px;
}

.simple-final-review .comment-input
{
    display: none;
}

.simple-final-review label:has(input[type=checkbox]:checked) + .comment-input
{
    display: block;
}

a.program-info-button
{
    display: block;
    margin-top: 15px;
    text-align: center;
}

input:disabled, select:disabled
{
    background-color: #e0e0e0;
    color: #a0a0a0;
    border: solid 1px #d0d0d0;
}

.approved-final-submission-credit
{
    color: gray;
    font-style: italic;
}

.maintenance-mode
{
    text-align: center;
    font-size: 20px;
}

.maintenance-done
{
    margin-top: 10px;
}

.maintenance-image
{
    margin-top: 60px;
}

.maintenance-image img
{
    max-width: 600px;
}

.nea-review-tabs
{
    margin-bottom: 15px;
}

/* ================================================================
   CERTBANK STANDARD MODERN INTERFACE
   ================================================================ */

:root {
    --cb-primary: #184f9e;
    --cb-primary-hover: #123f7e;
    --cb-primary-soft: #eaf2ff;
    --cb-secondary: #35c759;
    --cb-accent: #2d7ff9;
    --cb-success: #249a49;
    --cb-warning: #d89200;
    --cb-danger: #d64545;
    --cb-info: #2474c8;
    --cb-text: #2f3b52;
    --cb-heading: #18376f;
    --cb-muted: #667085;
    --cb-border: #dfe6ee;
    --cb-border-strong: #c8d2df;
    --cb-page: #f4f7fb;
    --cb-surface: #ffffff;
    --cb-surface-alt: #f8fafc;
    --cb-header-background: #ffffff;
    --cb-header-text: #18376f;
    --cb-header-border: #dfe6ee;
    --cb-radius-sm: 6px;
    --cb-radius: 10px;
    --cb-radius-lg: 14px;
    --cb-shadow-sm: 0 2px 8px rgba(24, 55, 111, .08);
    --cb-shadow: 0 8px 24px rgba(24, 55, 111, .12);
    --cb-focus: 0 0 0 3px rgba(45, 127, 249, .2);
    --cb-transition: 160ms ease;
    --cb-admin-logo: url("/_images/CBFlexMini.png");
}

body {
    color: var(--cb-text);
    background: var(--cb-page);
    font-size: 15px;
    line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--cb-heading);
    line-height: 1.25;
}

a {
    color: var(--cb-primary);
    transition: color var(--cb-transition), background-color var(--cb-transition),
                border-color var(--cb-transition), box-shadow var(--cb-transition),
                transform var(--cb-transition);
}

a:hover:not(.disabled) {
    color: var(--cb-primary-hover);
}

input, select, textarea {
    min-height: 42px;
    border: 1px solid var(--cb-border-strong);
    border-radius: var(--cb-radius-sm);
    padding: 9px 11px;
    color: var(--cb-text);
    background: var(--cb-surface);
    transition: border-color var(--cb-transition), box-shadow var(--cb-transition);
}

textarea {
    line-height: 1.5;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--cb-accent);
    box-shadow: var(--cb-focus);
    outline: none;
}

::placeholder {
    color: #98a2b3;
}

/* Shared action hierarchy */
a.btn,
.maintenance-details a.tab,
.a-dash-tabs a.tab,
.program-details-body .item-block .item-select {
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: var(--cb-radius-sm);
    font-weight: 650;
    line-height: 20px;
    box-shadow: none;
}

a.btn-primary,
.maintenance-details a.tab,
.a-dash-tabs a.tab,
.program-details-body .item-block .item-select {
    color: #fff;
    background: var(--cb-primary);
    border-color: var(--cb-primary);
}

a.btn-primary:hover:not(.disabled),
.maintenance-details a.tab:hover:not(.disabled),
.a-dash-tabs a.tab:hover:not(.disabled),
.program-details-body .item-block a.item-select:hover {
    color: #fff;
    background: var(--cb-primary-hover);
    border-color: var(--cb-primary-hover);
    transform: translateY(-1px);
}

a.btn-secondary,
a.cancel-button {
    color: var(--cb-primary);
    background: var(--cb-surface);
    border-color: var(--cb-border-strong);
}

a.btn-secondary:hover:not(.disabled),
a.cancel-button:hover:not(.disabled) {
    color: var(--cb-primary-hover);
    background: var(--cb-primary-soft);
    border-color: var(--cb-primary);
}

a.update-button {
    color: #fff;
    background: var(--cb-primary);
    border-color: var(--cb-primary);
}

a.update-button:hover:not(.disabled) {
    color: #fff;
    background: var(--cb-primary-hover);
    border-color: var(--cb-primary-hover);
}

a.add-button {
    color: #fff;
    background: var(--cb-success);
    border-color: var(--cb-success);
}

a.add-button:hover:not(.disabled) {
    color: #fff;
    background: #1f823e;
    border-color: #1f823e;
}

/* Shared shell */
.page-header {
    color: var(--cb-header-text);
    background: var(--cb-header-background);
    border-bottom: 1px solid var(--cb-header-border);
    box-shadow: 0 1px 8px rgba(24, 55, 111, .06);
}

.page-header .user-info,
.page-header a.user-info,
.page-header a.user-info:hover {
    color: var(--cb-header-text);
}

.page-footer {
    background: var(--cb-primary);
    border-top: 0;
}

.content-panel {
    color: var(--cb-text);
}

.msg-container {
    border-radius: var(--cb-radius);
    box-shadow: none;
    text-align: left;
}

.msg-container.error { background: var(--cb-danger); }
.msg-container.warning { background: var(--cb-warning); }
.msg-container.info { background: var(--cb-info); }
.msg-container.ok { background: var(--cb-success); }

/* Login */
.login-body {
    background: var(--cb-page);
}

.login-body .page-content::after {
    opacity: .42;
}

.login-body .outer-login-container {
    padding: 24px;
}

.login-box {
    width: min(480px, 100%);
    margin: 0 auto;
    padding: 104px 42px 38px;
    color: var(--cb-text);
    background-color: rgba(255, 255, 255, .97);
    background-position: 42px 34px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: var(--cb-radius-lg);
    box-shadow: 0 22px 55px rgba(17, 35, 65, .24);
}

.login-box h2 {
    margin: 0 0 8px;
    font-size: 32px;
    letter-spacing: -.02em;
}

.login-box h6 {
    color: var(--cb-muted);
    font-size: 14px;
    line-height: 1.45;
}

.login-error-placeholder {
    height: 50px;
}

.login-controls .input-group {
    margin-top: 16px;
    border: 1px solid var(--cb-border-strong);
    border-radius: var(--cb-radius);
    box-shadow: none;
    transition: border-color var(--cb-transition), box-shadow var(--cb-transition);
}

.login-controls .input-group:focus-within {
    border-color: var(--cb-accent);
    box-shadow: var(--cb-focus);
}

.login-controls .input-group span {
    width: 46px;
    height: 46px;
    line-height: 46px;
    color: var(--cb-muted);
    background: var(--cb-surface-alt);
}

.login-controls .input-group input {
    width: calc(100% - 46px);
    height: 46px;
    color: var(--cb-text);
    background: transparent;
}

.login-button-container {
    margin-top: 22px;
}

.login-button {
    min-width: 112px;
    margin-top: 0;
}

.forgot-password {
    margin-top: 14px;
}

/* Dashboard */
.page-content:has(.inner-dashboard),
.inner-dashboard {
    background: var(--cb-page);
}

/* CertBank administrator dashboard */
.page-content:has(.a-dash-tabs) {
    background: var(--cb-page);
}

.page-content:has(.a-dash-tabs) .mnt-header {
    height: auto;
    padding: 24px 28px 18px;
    background: var(--cb-surface);
    border: 0;
    border-bottom: 1px solid var(--cb-border);
}

.page-content:has(.a-dash-tabs) .mnt-header h1 {
    float: none;
    margin: 0;
    color: var(--cb-heading);
    font-size: 30px;
    font-weight: 650;
}

.page-content:has(.a-dash-tabs) .mnt-header h1::before {
    display: inline-flex;
    width: 48px;
    height: 48px;
    margin-right: 12px;
    background-image: var(--cb-admin-logo);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    vertical-align: middle;
}

.maintenance-details:has(.a-dash-tabs) {
    height: auto;
    min-height: 0;
    margin-top: 0;
    padding: 24px;
    background:
        radial-gradient(circle at 12% 0%, rgba(45, 127, 249, .07), transparent 30%),
        var(--cb-page);
}

.maintenance-details:has(.a-dash-tabs) .cover {
    display: none;
}

.maintenance-details:has(.a-dash-tabs) .left-panel {
    color: #fff;
    background:
        linear-gradient(145deg, rgba(17, 94, 55, .98), rgba(53, 199, 89, .94));
    border: 1px solid rgba(17, 94, 55, .22);
    border-radius: var(--cb-radius-lg);
    box-shadow: 0 12px 28px rgba(26, 117, 67, .22);
}

.maintenance-details:has(.a-dash-tabs) .a-dash-info {
    margin: 0;
    padding: 14px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, .22);
}

.maintenance-details:has(.a-dash-tabs) .a-dash-info:last-of-type {
    border-bottom: 0;
}

.maintenance-details:has(.a-dash-tabs) .a-dash-main {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.maintenance-details:has(.a-dash-tabs) .a-dash-sub {
    margin-top: 3px;
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
}

.maintenance-details:has(.a-dash-tabs) .content-section {
    max-width: none;
    margin: 0;
    padding: 0;
}

.maintenance-details:has(.a-dash-tabs) .a-dash-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 0;
    margin: 0 0 16px;
    padding: 16px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(.a-dash-tabs) .a-dash-tabs > div {
    display: contents;
}

.maintenance-details:has(.a-dash-tabs) .a-dash-tabs a {
    margin: 0;
}

/* Specialized NEA workflow row is enabled per client in custom.css. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs {
    display: none;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
    padding: 16px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a {
    margin: 0;
}

/*
   NEA workflow order:
   1 Needs Assignment
   2 In Review (2)
   3 Additional Review Required (legacy label: Ready for Prep)
   4 In Review (3)
   5 Ready for Final
   6 All
*/
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(1) { order: 1; }
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(2) { order: 2; }
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(4) { order: 3; }
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(3) { order: 4; }
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(5) { order: 5; }
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(6) { order: 6; }

/* Needs Assignment: no reviewer has been assigned. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(1) {
    color: #a61f1f;
    background: #fff0f0;
    border-color: var(--cb-danger);
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(1)::before {
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-right: 7px;
    content: "";
    background: #f01818;
    border-radius: 50% 50% 38% 38%;
    clip-path: polygon(
        31% 0, 69% 0, 82% 14%, 82% 38%, 69% 51%,
        82% 58%, 94% 73%, 100% 100%, 0 100%, 6% 73%,
        18% 58%, 31% 51%, 18% 38%, 18% 14%
    );
    vertical-align: -2px;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(1):hover {
    color: #821919;
    background: #ffdede;
    border-color: #b93434;
}

/* In Review (2): the standard reviewer process is actively underway. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(2) {
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
    border-color: var(--cb-accent);
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(2)::before {
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-right: 7px;
    content: "";
    border: 3px solid rgba(45, 127, 249, .28);
    border-top-color: var(--cb-accent);
    border-right-color: var(--cb-accent);
    border-radius: 50%;
    vertical-align: -3px;
    animation: cb-reviewing-spin 1.15s linear infinite;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(2):hover {
    color: var(--cb-primary-hover);
    background: #dceaff;
    border-color: var(--cb-primary);
}

@keyframes cb-reviewing-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Match the red final-review indicator used in the result grid. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(4) {
    color: #fff;
    background: var(--cb-danger);
    border-color: var(--cb-danger);
    font-size: 0;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(4)::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 7px;
    color: var(--cb-danger);
    background: #fff;
    border-radius: 50%;
    content: "✓";
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(4)::after {
    content: "Additional Review Required";
    font-size: 14px;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(4):hover {
    color: #fff;
    background: #b93434;
    border-color: #b93434;
}

/* In Review (3): submission is currently undergoing the extra review. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(3) {
    color: #503600;
    background: #fff3d6;
    border-color: var(--cb-warning);
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(3)::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 7px;
    color: #fff;
    background: var(--cb-warning);
    border-radius: 50%;
    content: "!";
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(3):hover {
    color: #503600;
    background: #ffe6a8;
    border-color: #b87900;
}

/* Ready for Final: all assigned reviews are complete. */
.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(5) {
    color: #fff;
    background: var(--cb-success);
    border-color: var(--cb-success);
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(5)::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 7px;
    color: var(--cb-success);
    background: #fff;
    border-radius: 50%;
    content: "✓";
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.maintenance-details:has(.a-dash-tabs) .nea-review-tabs a:nth-child(5):hover {
    color: #fff;
    background: #197c3a;
    border-color: #197c3a;
}

.maintenance-details:has(.a-dash-tabs) i.submission-in-final-review {
    display: inline-block;
    width: auto;
    height: auto;
    margin-left: 6px;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 15px;
    line-height: inherit;
    vertical-align: baseline;
}

/* Preserve the application's distinct workflow meanings and native icons. */
.maintenance-details:has(.a-dash-tabs) i.submission-in-final-review.color-red {
    color: #f01818 !important;
}

.maintenance-details:has(.a-dash-tabs) i.submission-in-final-review.color-orange {
    color: var(--cb-warning) !important;
}

.maintenance-details:has(.a-dash-tabs) i.submission-in-final-review.color-green {
    color: var(--cb-success) !important;
}

/* A comment bubble means notes/comments exist; it is not a review status. */
.maintenance-details:has(.a-dash-tabs) i.review-with-comments {
    margin-left: 6px;
    color: var(--cb-success) !important;
    background: transparent;
    font-size: 15px;
    vertical-align: baseline;
}

.maintenance-details:has(.a-dash-tabs) .content-controls {
    padding: 18px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(.a-dash-tabs) .grid-program-selector,
.maintenance-details:has(.a-dash-tabs) .grid-filter {
    overflow: visible;
}

.maintenance-details:has(.a-dash-tabs) .grid-program-selector::before,
.maintenance-details:has(.a-dash-tabs) .grid-filter::before {
    display: block;
    margin-bottom: 6px;
    color: var(--cb-heading);
    font-size: 14px;
    font-weight: 700;
}

.maintenance-details:has(.a-dash-tabs) .grid-program-selector::before {
    content: "Filter by program";
}

.maintenance-details:has(.a-dash-tabs) .grid-filter::before {
    content: "Search records";
}

.maintenance-details:has(.a-dash-tabs) .grid-program-selector select,
.maintenance-details:has(.a-dash-tabs) .grid-filter input {
    height: 46px;
    min-height: 46px;
    background: #fff;
    border: 2px solid #b8c9df;
    border-radius: var(--cb-radius-sm);
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(24, 55, 111, .06);
}

.maintenance-details:has(.a-dash-tabs) .grid-program-selector select:focus,
.maintenance-details:has(.a-dash-tabs) .grid-filter input:focus {
    border-color: var(--cb-accent);
    box-shadow: var(--cb-focus);
}

.maintenance-details:has(.a-dash-tabs) .grid-data {
    border-color: var(--cb-border);
    border-radius: var(--cb-radius-sm);
}

.maintenance-details:has(.a-dash-tabs) .grid-header {
    color: #fff;
    background: linear-gradient(90deg, var(--cb-heading), var(--cb-primary));
}

.maintenance-details:has(.a-dash-tabs) .grid-header .grid-cell {
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 13px;
    letter-spacing: .01em;
}

.maintenance-details:has(.a-dash-tabs) .grid-row {
    border-color: var(--cb-border);
    transition: background-color var(--cb-transition), box-shadow var(--cb-transition);
}

.maintenance-details:has(.a-dash-tabs) .grid-row:hover,
.maintenance-details:has(.a-dash-tabs) .grid-row:nth-of-type(even):hover {
    background: var(--cb-primary-soft);
    box-shadow: inset 4px 0 0 var(--cb-accent);
}

.maintenance-details:has(.a-dash-tabs) .grid-cell {
    padding-top: 17px;
    padding-bottom: 17px;
    line-height: 1.45;
}

.maintenance-details:has(.a-dash-tabs) .grid-footer {
    padding: 16px;
    background: var(--cb-surface-alt);
    border-color: var(--cb-border);
}

@media (min-width: 992px) {
    .maintenance-details:has(.a-dash-tabs) {
        display: flex;
        align-items: flex-start;
        gap: 24px;
    }

    .maintenance-details:has(.a-dash-tabs) > .left-panel {
        position: sticky;
        top: 20px;
        float: none;
        flex: 0 0 300px;
        width: 300px;
        min-height: 0;
        padding: 18px;
    }

    .maintenance-details:has(.a-dash-tabs) > .content-panel {
        float: none;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        min-height: 0;
        padding: 0;
    }
}

.inner-dashboard {
    padding: 24px;
}

.inner-dashboard .left-panel {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
}

.inner-dashboard .left-panel .cdash-gauge {
    order: 1;
}

.inner-dashboard .left-panel .cdash-badges {
    order: 2;
}

.inner-dashboard .left-panel .cdash-certificates {
    order: 3;
}

.inner-dashboard .left-panel .cdash-deadlines {
    order: 4;
}

.inner-dashboard .left-panel > div[style*="clear"] {
    order: 5;
}

.cdash-gauge,
.cdash-deadlines,
.cdash-badges,
.cdash-certificates {
    width: 100%;
    margin: 0 0 18px;
    padding: 20px;
    white-space: normal;
    overflow: visible;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

/*
 * The application-wide "Overall completion" percentage represents all
 * available programs and is not meaningful user progress. Reuse its rendered
 * container as the Badge Wallet section heading.
 */
.inner-dashboard .cdash-gauge {
    margin-bottom: 10px;
    padding: 0 2px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.inner-dashboard .cdash-gauge .percentage-container {
    display: none;
}

.inner-dashboard .cdash-gauge::before {
    content: "Badge Wallet";
    display: block;
    color: var(--cb-heading);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
}

.cdash-gauge h3,
.cdash-deadlines h3,
.cdash-badges h3,
.cdash-certificates h3 {
    margin: 0 0 12px;
    font-size: 18px;
}

.cdash-deadlines .fixed-table {
    display: block;
    max-height: 260px;
    overflow-y: auto;
    padding-right: 4px;
}

.cdash-deadlines .fixed-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--cb-border);
}

.cdash-deadlines .fixed-row:last-child {
    border-bottom: 0;
}

.cdash-deadlines .fixed-cell {
    display: block;
    min-width: 0;
    padding: 0;
    overflow-wrap: anywhere;
}

.cdash-badges .badge-item,
.cdash-certificates .certificate-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px 0;
    white-space: normal;
    overflow: visible;
    border-bottom: 1px solid var(--cb-border);
}

.cdash-badges .badge-item:last-child,
.cdash-certificates .certificate-item:last-child {
    border-bottom: 0;
}

.cdash-badges a,
.cdash-certificates a {
    display: block;
    float: none;
    width: 100%;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.cdash-badges i,
.cdash-certificates i {
    margin-right: 6px;
    color: var(--cb-primary);
}

.inner-dashboard .content-panel {
    padding-top: 0;
}

.enrolled-programs > h2,
.non-enrolled-programs > h2 {
    margin: 0 0 18px;
    color: var(--cb-heading);
    font-size: 28px !important;
    font-weight: 650;
    line-height: 1.2;
}

.enrolled-programs,
.non-enrolled-programs {
    font-size: 0;
}

.enrolled-programs > h2,
.enrolled-programs > h3,
.enrolled-programs > .your-programs-text,
.non-enrolled-programs > h2,
.non-enrolled-programs > h3,
.non-enrolled-programs > .other-programs-text {
    font-size: initial;
}

.program-card-container {
    width: 100%;
    padding: 0 10px 20px;
    vertical-align: top;
    font-size: 15px;
}

.program-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: 14px;
    overflow: hidden;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-top: 4px solid var(--cb-accent);
    border-radius: var(--cb-radius);
    box-shadow: var(--cb-shadow-sm);
    transition: transform var(--cb-transition), box-shadow var(--cb-transition),
                border-color var(--cb-transition);
}

.program-card:hover {
    transform: translateY(-3px);
    border-color: #cbd8e7;
    border-top-color: var(--cb-primary);
    box-shadow: var(--cb-shadow);
}

.program-card .info {
    flex: 1 1 auto;
}

.program-card img {
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: var(--cb-surface-alt);
    border-radius: var(--cb-radius-sm);
}

.program-card h1 {
    min-height: 48px;
    margin: 14px 0 8px;
    color: var(--cb-heading);
    font-size: 17px;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.program-card .enroll-info {
    height: auto;
    min-height: 42px;
    margin-top: 8px;
    color: var(--cb-muted);
    font-size: 13px;
}

.program-card .details-container {
    margin-top: 12px;
    padding-top: 14px;
    border-top-color: var(--cb-border);
}

.program-card .right-cell a.btn {
    width: 84px;
}

.percentage-container .graphical {
    height: 10px;
    border: 0;
    background: #e7edf4;
}

.percentage-container .graphical .inner-bar {
    height: 10px;
    background: var(--cb-primary);
}

/* Program workflow */
.program-details-body {
    background: var(--cb-page);
}

.program-details-body .page-content .container {
    padding: 24px;
}

.program-details {
    padding: 20px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.program-details .program-description {
    color: var(--cb-text);
    text-align: left;
}

.program-details .program-description h2 {
    color: var(--cb-heading);
    text-align: left;
}

.program-details .program-logo img {
    border-radius: var(--cb-radius);
}

/* Program overview tree: mirror the visual hierarchy used on item pages. */
.program-details .program-structure-container > h5 {
    margin: 16px 0 5px;
    padding: 7px 10px;
    color: var(--cb-heading);
    border-left: 3px solid var(--cb-border-strong);
    border-radius: 0 var(--cb-radius-sm) var(--cb-radius-sm) 0;
    font-size: 14px;
}

.program-details .program-structure-container > h5.in-review,
.program-details .program-structure-container > h5.in-progress {
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
    border-left-color: var(--cb-primary);
}

.program-details .program-structure-container > h5.completed {
    color: var(--cb-success);
    background: #edf9f1;
    border-left-color: var(--cb-success);
}

.program-details .program-structure-container > div {
    margin: 2px 0;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    color: var(--cb-muted);
    border-radius: var(--cb-radius-sm);
    line-height: 1.35;
    transition: color var(--cb-transition), background-color var(--cb-transition);
}

.program-details .program-structure-container > div:hover {
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
}

.program-details .program-structure-container > div.completed {
    color: var(--cb-success);
}

/* Status pills on stages/items replace the obsolete colored-dot legend. */
.program-details .legend {
    display: none;
}

.program-details-body .stage-block {
    margin-bottom: 16px;
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.program-details-body .stage-block:hover {
    box-shadow: var(--cb-shadow);
}

.program-details-body .stage-block > .header {
    padding: 18px 20px;
    border-radius: var(--cb-radius-lg);
}

.program-details-body .stage-block[data-expanded="1"] > .header {
    border-bottom: 1px solid var(--cb-border);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.program-details-body .stage-block.in-progress {
    border-left: 5px solid var(--cb-warning);
}

.program-details-body .stage-block.completed {
    border-left: 5px solid var(--cb-success);
}

.program-details-body .stage-block.locked {
    border-left: 5px solid #98a2b3;
}

.program-details-body .stage-block > .header .stage-progress {
    font-size: 15px;
}

.program-details-body .stage-block > .contents {
    padding: 18px;
    background: var(--cb-surface-alt);
}

.program-details-body .item-block,
.program-details-body .item-block.alternate-color {
    margin-bottom: 14px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    box-shadow: none;
}

.program-details-body .item-block:hover {
    border-color: var(--cb-border-strong);
}

.program-details-body .item-block .header {
    padding: 16px 16px 4px;
}

.program-details-body .item-block > .contents {
    padding: 10px 16px 16px;
    color: var(--cb-text);
}

.program-details-body .item-block > .header .item-progress span {
    border-radius: 999px;
    font-size: 13px;
    font-weight: 650;
}

.program-details-body .item-block > .header.completed .item-progress span {
    background: var(--cb-success);
}

.program-details-body .item-block > .header.in-progress .item-progress span,
.program-details-body .item-block > .header.in-review .item-progress span {
    background: var(--cb-warning);
}

.program-details-body .item-block > .header.rejected .item-progress span,
.program-details-body .item-block > .header.action-required .item-progress span {
    background: var(--cb-danger);
}

.program-details-body .item-block > .header.open .item-progress span {
    background: var(--cb-primary);
}

.program-details-body .item-block > .header.locked .item-progress span {
    background: #667085;
}

/* Item entry */
.cdt-details,
.credit-details {
    background: var(--cb-page);
}

.cdt-details .cdt-header {
    display: block;
    height: auto;
    padding: 22px 24px 4px;
    background: transparent;
    border: 0;
}

.cdt-details .cdt-header h3 {
    margin: 0;
    color: var(--cb-heading);
    font-size: 28px;
    font-weight: 650;
    line-height: 1.25;
}

/*
   Enrollment pages currently generate a long sentence by prepending
   "Please follow the instructions..." to the program name. Hide that
   server-generated heading only when this page returns to /adash.aspx.
   Other item-entry and submission headings remain visible.
*/
.cdt-details .cdt-header:has(+ .credit-details .cancel-button[href="/adash.aspx"]) {
    display: none !important;
}

.credit-details .left-panel {
    background: var(--cb-surface);
}

.credit-details .cdt-image {
    text-align: center;
}

.credit-details .cdt-image img {
    max-width: 180px;
    height: auto;
    border-radius: var(--cb-radius-sm);
}

.credit-details .program-structure > h4 {
    display: none;
}

.credit-details .program-structure .items > h5 {
    margin: 18px 0 6px;
    color: var(--cb-heading);
    font-size: 14px;
}

.credit-details .program-structure .items > div {
    margin: 2px 0;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    color: var(--cb-muted);
    line-height: 1.35;
}

.credit-details .program-structure .current-item {
    margin-left: -8px !important;
    padding-left: 16px !important;
    color: var(--cb-primary) !important;
    font-weight: 700;
    font-style: normal;
    background: var(--cb-primary-soft);
    border-left: 4px solid var(--cb-primary);
    border-radius: 0 var(--cb-radius-sm) var(--cb-radius-sm) 0;
}

/*
   Item-entry pages should prioritize instructions and user input.
   The legacy decorative cover image competes with long forms, so the
   program image remains in the left navigation while this image is hidden.
*/
.cdt-details .credit-details .cover {
    display: none;
}

.credit-details .content-section {
    max-width: 1180px;
    padding-top: 24px;
}

.credit-details .content-controls,
.credit-details .update-panel {
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    box-shadow: var(--cb-shadow-sm);
}

.credit-details .content-controls {
    padding: 26px;
}

.credit-details .content-controls > h4 {
    margin-bottom: 6px;
    font-size: 22px;
}

.credit-details-dates {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 22px;
    padding: 0;
    color: var(--cb-text);
    background: transparent;
    border-radius: 0;
    font-size: 13px;
}

.credit-details-date {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
    border: 1px solid rgba(24, 79, 158, .14);
    border-radius: 999px;
    line-height: 1.3;
}

.credit-details-date span {
    margin-right: 4px;
}

.credit-details-date.completed,
.credit-details-date.completed span,
.credits-approved-label.credit-details-date,
.credits-approved-label.credit-details-date span {
    color: var(--cb-success);
}

.credit-details-date.completed,
.credits-approved-label.credit-details-date {
    background: #edf9f1;
    border-color: rgba(36, 154, 73, .2);
}

.credit-controls {
    margin-top: 22px;
}

.credit-controls label {
    color: var(--cb-heading);
    font-weight: 650;
}

.credit-controls textarea {
    min-height: 220px;
    margin-top: 7px;
    resize: vertical;
}

.credit-details .update-panel {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding: 18px 20px;
}

.credit-details .update-panel .msg-container {
    flex: 1 1 100%;
}

.credit-details .update-panel a {
    margin: 0;
}

@media (min-width: 576px) {
    .program-card-container { width: 50%; }
}

@media (min-width: 992px) {
    .inner-dashboard .left-panel {
        width: 320px;
        padding: 0;
    }

    .inner-dashboard .content-panel {
        padding-left: 344px;
    }

    /*
       Match the program-details page: the item form is the primary left
       workspace and program context remains visible in a right sidebar.
    */
    .cdt-details .credit-details {
        display: flex;
        align-items: flex-start;
        gap: 24px;
        width: 100%;
        height: auto;
        min-height: 0;
        margin-top: 0;
        padding: 24px;
        background:
            radial-gradient(circle at 15% 0%, rgba(45, 127, 249, .06), transparent 32%),
            linear-gradient(180deg, #f7f9fc 0%, var(--cb-page) 100%);
    }

    .cdt-details .credit-details > .content-panel {
        order: 1;
        float: none;
        width: calc(100% - 364px);
        min-height: 0;
        padding: 0;
    }

    .cdt-details .credit-details > .left-panel {
        position: sticky;
        top: 20px;
        order: 2;
        float: none;
        width: 340px;
        min-height: 0;
        padding: 22px;
        background: var(--cb-surface);
        border: 1px solid var(--cb-border);
        border-radius: var(--cb-radius-lg);
        box-shadow: var(--cb-shadow-sm);
    }

    .cdt-details .credit-details .content-section {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .cdt-details .credit-details .content-controls {
        min-height: 420px;
        padding: 30px 32px;
    }

    .program-details {
        position: sticky;
        top: 20px;
    }

    .program-stages {
        margin-top: 0;
    }
}

@media (min-width: 1200px) {
    .program-card-container { width: 33.333%; }

    .program-details {
        width: 40%;
    }

    .program-stages {
        float: left;
        width: 58%;
    }
}

@media (min-width: 1680px) {
    .program-card-container { width: 25%; }
}

@media (max-width: 991px) {
    .inner-dashboard,
    .program-details-body .page-content .container {
        padding: 16px;
    }

    .program-details {
        margin-bottom: 18px;
    }

    .credit-details .update-panel {
        flex-wrap: wrap;
    }
}

@media (max-width: 575px) {
    .login-body .outer-login-container {
        padding: 14px;
    }

    .login-box {
        padding: 96px 24px 28px;
        background-position: 24px 28px;
        background-size: 205px;
    }

    .login-box h2 {
        font-size: 27px;
    }

    .program-details-body .stage-block > .header,
    .program-details-body .item-block .header,
    .program-details-body .item-block > .contents {
        display: block;
        padding-left: 14px;
        padding-right: 14px;
    }

    .program-details-body .stage-block > .header > div,
    .program-details-body .stage-block > .header > div > div,
    .program-details-body .item-block > .header > div,
    .program-details-body .item-block > .header > div > div {
        display: block;
    }

    .program-details-body .stage-progress,
    .program-details-body .item-progress {
        margin-top: 10px;
        text-align: left;
    }
}

/* ================================================================
   FINAL SUBMISSION / REVIEWER WORKSPACE
   The current application outputs each submission as a flat sequence
   of sibling elements. These rules improve reading and navigation.
   A true accessible accordion still requires grouped markup and JS.
   ================================================================ */

.page-content.final-review {
    background: var(--cb-page);
    color: var(--cb-text);
    font-size: 16px;
    line-height: 1.6;
}

.final-review .outer-container,
.final-review .container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.final-review .fs-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px clamp(20px, 3vw, 48px) 18px;
    background: var(--cb-surface);
    border-bottom: 1px solid var(--cb-border);
}

.final-review .fs-header h1 {
    margin: 0;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    letter-spacing: -.025em;
}

.final-review .final-submission-details {
    display: grid;
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px;
}

.final-review .final-submission-details > .left-panel {
    position: sticky;
    top: 18px;
    z-index: 3;
    width: auto;
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    padding: 22px 18px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
    scrollbar-width: thin;
}

.final-review .left-panel .cdt-image {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto 16px;
    overflow: visible !important;
    text-align: center;
}

.final-review .left-panel .cdt-image img {
    display: inline-block;
    width: auto;
    height: auto !important;
    max-width: 160px;
    max-height: none !important;
    border-radius: var(--cb-radius-sm);
}

.final-review .program-structure h4 {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.3;
}

.final-review .program-structure h5 {
    margin: 0 0 18px;
    color: var(--cb-muted);
    font-size: 15px;
}

.final-review .program-structure .items {
    font-size: 14px;
    line-height: 1.4;
}

.final-review .program-structure .items > div {
    margin: 2px 0;
}

.final-review .program-structure .items > div[style*="font-weight:bold"] {
    margin-top: 14px !important;
    padding-top: 10px;
    color: var(--cb-heading);
    border-top: 1px solid var(--cb-border);
    font-size: 14px;
}

.final-review .program-structure .items a {
    display: block;
    margin-left: -10px;
    padding: 6px 8px;
    border-radius: var(--cb-radius-sm);
    text-decoration: none;
}

.final-review .program-structure .items a:hover,
.final-review .program-structure .items a:focus {
    color: var(--cb-primary-hover);
    background: var(--cb-primary-soft);
    outline: none;
}

.final-review .final-submission-details > .content-panel {
    float: none !important;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
}

.final-review .content-panel > .cover {
    display: none;
}

.final-review .content-section,
.final-review .content-controls {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
    background: transparent;
}

.final-review .no-approval-yet,
.final-review .approval-ready {
    margin: 0 0 16px;
    padding: 14px 18px;
    color: #7a4b00;
    background: #fff8e6;
    border: 1px solid #f3d28a;
    border-left: 5px solid var(--cb-warning);
    border-radius: var(--cb-radius);
    font-size: 16px;
    font-weight: 700;
}

.final-review .comments-toggle-box {
    margin: 0 0 18px !important;
    padding: 12px 16px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
}

.final-review .comments-toggle-box label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 15px;
    font-weight: 600;
}

.final-review .comments-toggle-box input {
    min-height: 0;
    width: 18px;
    height: 18px;
    margin: 0;
}

.final-review .final-submission-group-header {
    position: relative;
    margin: 26px 0 0;
    padding: 16px 20px;
    scroll-margin-top: 24px;
    color: var(--cb-surface);
    background: linear-gradient(135deg, var(--cb-heading), var(--cb-primary));
    border: 0;
    border-radius: var(--cb-radius-lg) var(--cb-radius-lg) 0 0;
    box-shadow: var(--cb-shadow-sm);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}

.final-review .final-submission-group-header::before,
.final-review .final-submission-group-header::after {
    display: none !important;
    content: none !important;
}

.final-review .final-submission-group-header span {
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
}

.final-review .program-structure .items [style*="font-size:12px"] {
    color: var(--cb-text);
    font-size: 13px !important;
    line-height: 1.45;
}

.final-review .final-submission-group-header + .item-description {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.final-review .item-description,
.final-review .item-info,
.final-review .credit-info,
.final-review .final-submission > .table {
    margin: 0;
    padding: 18px 20px;
    background: var(--cb-surface);
    border-right: 1px solid var(--cb-border);
    border-left: 1px solid var(--cb-border);
}

.final-review .item-description {
    font-size: 16px;
}

.final-review .item-description p,
.final-review .item-description ul,
.final-review .item-description ol {
    margin-bottom: 14px;
}

.final-review .item-description li + li {
    margin-top: 7px;
}

.final-review .item-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 4px;
    padding-bottom: 12px;
}

.final-review .item-info > div {
    padding: 5px 10px;
    background: var(--cb-primary-soft);
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    font-size: 14px;
}

.final-review .credit-info {
    padding-top: 8px;
    padding-bottom: 8px;
}

.final-review .credit-info .sep {
    margin: 0;
    color: var(--cb-muted);
    border: 0;
    font-size: 14px;
}

.final-review .final-submission > .table {
    margin-bottom: 26px;
    padding-top: 14px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--cb-border);
    border-radius: 0 0 var(--cb-radius-lg) var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.final-review .final-submission > .table > .row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 22px;
}

.final-review .left-controls,
.final-review .right-controls {
    float: none !important;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0 !important;
    font-size: 15px;
}

.final-review .left-controls .input,
.final-review .left-controls .final-review-details {
    width: 100% !important;
    max-width: none !important;
}

.final-review .details-label,
.final-review .label,
.final-review .label label {
    margin-bottom: 6px;
    color: var(--cb-heading);
    font-size: 15px;
    font-weight: 700;
}

.final-review .details-value {
    margin-bottom: 12px;
    font-size: 15px;
}

.final-review textarea.medium,
.final-review textarea {
    width: 100%;
    min-height: 150px;
    padding: 14px;
    font-family: inherit;
    font-size: 16px;
    line-height: 1.55;
    resize: vertical;
}

.final-review .final-review-details textarea[readonly] {
    min-height: 230px;
    background: var(--cb-surface-alt);
}

.final-review .final-review-details iframe {
    width: 100%;
    min-height: 560px;
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
    background: var(--cb-surface-alt);
}

.final-review .comments-thread {
    padding: 14px;
    background: var(--cb-surface-alt);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
}

.final-review .comments-thread .comments-table,
.final-review .comments-thread .comments-row,
.final-review .comments-thread .public-comments,
.final-review .comments-thread .internal-comments {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.final-review .comments-thread .public-comments,
.final-review .comments-thread .internal-comments {
    margin: 0 0 14px !important;
    padding: 14px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
}

.final-review .comments-thread .internal-comments:last-child {
    margin-bottom: 0 !important;
}

.final-review .comments-thread .sep {
    margin: 0 0 10px;
    color: var(--cb-heading);
    border: 0;
    font-size: 16px;
    font-weight: 700;
}

.final-review .comments-thread .user-name {
    margin-top: 14px;
    font-weight: 700;
}

.final-review .comments-thread .status {
    color: var(--cb-muted);
    font-size: 13px;
}

.final-review .comments-thread .comments {
    margin-top: 5px;
    padding: 10px 12px;
    background: var(--cb-surface);
    border-left: 3px solid var(--cb-accent);
    border-radius: 0 var(--cb-radius-sm) var(--cb-radius-sm) 0;
}

.final-review .review-counters {
    margin: 14px 0 10px;
    font-weight: 700;
}

.final-review .approved-rejected {
    display: inline-block;
    margin-top: 12px;
    padding: 7px 11px;
    color: #176b34;
    background: #e9f8ee;
    border: 1px solid #a9dfb9;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
}

.final-review .update-panel .btn,
.final-review .left-controls > .btn {
    margin: 4px 8px 4px 0;
}

.final-review a[id="cmdReject"] {
    color: var(--cb-surface);
    background: var(--cb-danger);
    border-color: var(--cb-danger);
}

.final-review a[id="cmdApprove"] {
    color: var(--cb-surface);
    background: var(--cb-success);
    border-color: var(--cb-success);
}

@media (max-width: 1100px) {
    .final-review .final-submission-details {
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 16px;
        padding: 16px;
    }

    .final-review .final-submission > .table > .row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .final-review .final-submission-details {
        display: block;
        padding: 12px;
    }

    .final-review .final-submission-details > .left-panel {
        position: static;
        max-height: none;
        margin-bottom: 16px;
    }

    .final-review .final-submission-group-header {
        font-size: 19px;
    }

}

/* ================================================================
   STAFF — CURRENT ENROLLMENT DETAILS
   Read-only staff view of a person's program enrollment.
   ================================================================ */

.fs-header:has(+ .enrollment-details) {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    height: auto !important;
    min-height: 96px;
    margin: 0 !important;
    padding: 24px 40px !important;
    background: linear-gradient(135deg, var(--cb-heading), var(--cb-primary));
    border: 0;
    box-shadow: var(--cb-shadow-sm);
    box-sizing: border-box;
}

.fs-header:has(+ .enrollment-details) h1 {
    display: block;
    float: none !important;
    width: 100%;
    margin: 0 !important;
    color: var(--cb-heading);
    font-size: 0;
    font-weight: 700;
    line-height: 1.15 !important;
    letter-spacing: -.025em;
}

.fs-header:has(+ .enrollment-details) h1::after {
    display: block;
    content: "Current Enrollment Details";
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
}

.enrollment-details {
    display: grid !important;
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px;
    background: var(--cb-page);
}

.enrollment-details > .left-panel {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 18px;
    z-index: 3;
    align-self: start;
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 36px);
    margin: 0 !important;
    padding: 22px;
    overflow-y: auto;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.enrollment-details > .left-panel > div:nth-child(2) {
    order: 1;
    margin-top: 0 !important;
}

.enrollment-details > .left-panel > div:first-child {
    order: 2;
    margin-top: 8px;
}

.enrollment-details > .left-panel > .enrollment-status {
    order: 3;
}

.enrollment-details > .left-panel > hr {
    order: 4;
}

.enrollment-details > .left-panel > .enrollment-review {
    order: 5;
}

.enrollment-details > .left-panel > div[style*="clear"] {
    order: 6;
}

.enrollment-details .enrollment-name {
    color: var(--cb-muted);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.enrollment-details .enrollment-program {
    color: var(--cb-heading);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.28;
}

.enrollment-details .left-panel a {
    text-decoration: none;
}

.enrollment-details .left-panel a:hover h4,
.enrollment-details .left-panel a:hover h5 {
    color: var(--cb-primary-hover);
}

.enrollment-details .left-panel .fa-link {
    margin-left: 7px;
    color: var(--cb-accent);
    font-size: 13px;
}

.enrollment-details .enrollment-status {
    margin-top: 14px !important;
    padding: 12px 14px;
    color: var(--cb-text);
    background: var(--cb-primary-soft);
    border: 1px solid #cfe0fb;
    border-radius: var(--cb-radius);
    font-size: 14px;
    line-height: 1.6;
}

.enrollment-details .left-panel hr {
    margin: 18px 0 0;
    border: 0;
    border-top: 1px solid var(--cb-border);
}

.enrollment-details > .content-panel,
.enrollment-details .content-section {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
}

.enrollment-details .stage-block {
    margin: 0 0 18px;
    overflow: hidden;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-left: 5px solid var(--cb-accent);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.enrollment-details .stage-block > .header {
    padding: 18px 22px;
    background: var(--cb-surface);
    border-left: 0;
    border-bottom: 1px solid var(--cb-border);
}

.enrollment-details .stage-block.in-progress {
    border-left-color: var(--cb-warning);
}

.enrollment-details .stage-block.completed {
    border-left-color: var(--cb-success);
}

.enrollment-details .stage-block.locked {
    border-left-color: var(--cb-muted);
}

.enrollment-details .stage-title {
    font-size: 18px;
}

.enrollment-details .stage-title > div:last-child {
    margin-top: 7px;
    color: var(--cb-heading);
    font-size: 23px;
    font-weight: 700;
}

.enrollment-details .stage-title i {
    margin-left: 9px;
    color: var(--cb-primary);
    cursor: pointer;
}

.enrollment-details .stage-block > .contents {
    padding: 16px;
    background: var(--cb-surface-alt);
}

.enrollment-details .item-block {
    margin: 0 0 14px;
    overflow: hidden;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius);
}

.enrollment-details .item-block:last-child {
    margin-bottom: 0;
}

.enrollment-details .item-block > .header {
    padding: 15px 18px;
    background: var(--cb-surface);
    border-bottom: 1px solid var(--cb-border);
}

.enrollment-details .item-title {
    color: var(--cb-heading);
    font-size: 17px;
    font-weight: 700;
}

.enrollment-details .item-block > .contents {
    padding: 18px;
    background: var(--cb-surface);
}

.enrollment-details .item-description {
    color: var(--cb-text);
    font-size: 15px;
    line-height: 1.6;
}

.enrollment-details .item-description > div[style] {
    padding: 18px !important;
    color: var(--cb-text) !important;
    background: var(--cb-surface-alt) !important;
    border: 1px solid var(--cb-border) !important;
    border-radius: var(--cb-radius) !important;
    box-shadow: none !important;
}

.enrollment-details .item-description [style*="font-size: 14px"],
.enrollment-details .item-description [style*="font-size:14px"] {
    color: var(--cb-text) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.enrollment-details .item-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    color: var(--cb-text);
    font-size: 14px;
    font-weight: 600;
}

.enrollment-details .item-date a {
    display: inline;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-decoration: none;
}

.enrollment-details .item-date a span {
    display: inline-block;
    padding: 6px 10px;
    color: var(--cb-success);
    background: #f3fbf5;
    border: 1px solid #a9dfb9;
    border-radius: 999px;
}

@media (max-width: 900px) {
    .fs-header:has(+ .enrollment-details) {
        padding: 20px 16px;
    }

    .enrollment-details {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px;
    }

    .enrollment-details > .left-panel {
        position: static;
        max-height: none;
    }
}

/* ================================================================
   STAFF — CONTACT PROFILE
   Scoped by the profile-tab ID so other maintenance/admin pages keep
   their existing layout.
   ================================================================ */

.page-content:has(#lnk_profile) {
    background: var(--cb-page);
}

.page-content:has(#lnk_profile) .outer-container,
.page-content:has(#lnk_profile) .outer-container > .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-content:has(#lnk_profile) .mnt-header {
    display: flex !important;
    align-items: center;
    width: 100%;
    height: auto !important;
    min-height: 90px;
    margin: 0 !important;
    padding: 22px 40px !important;
    background: linear-gradient(135deg, var(--cb-heading), var(--cb-primary));
    border: 0;
    box-shadow: var(--cb-shadow-sm);
}

.page-content:has(#lnk_profile) .mnt-header h1 {
    float: none !important;
    margin: 0 !important;
    color: transparent;
    font-size: 0;
    line-height: 1.15 !important;
}

.page-content:has(#lnk_profile) .mnt-header h1::after {
    display: block;
    content: "Contact Profile";
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.maintenance-details:has(#lnk_profile) {
    display: grid !important;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    width: 100% !important;
    height: auto !important;
    min-height: calc(100vh - 90px);
    margin: 0 !important;
    padding: 24px !important;
    background: var(--cb-page) !important;
}

.maintenance-details:has(#lnk_profile) > .left-panel {
    position: sticky;
    top: 18px;
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 20px;
    overflow: visible;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(#lnk_profile) .mnt-image {
    margin: 0 0 18px;
}

.maintenance-details:has(#lnk_profile) .mnt-image img.profile-pic {
    width: 132px;
    height: 132px;
    object-fit: cover;
    background: var(--cb-surface-alt);
    border: 5px solid var(--cb-primary);
    box-shadow: 0 6px 18px rgba(18, 52, 100, .16);
}

.maintenance-details:has(#lnk_profile) .mnt-img-controls {
    margin-top: 10px;
}

.maintenance-details:has(#lnk_profile) .mnt-img-controls a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
    border-radius: 50%;
}

.maintenance-details:has(#lnk_profile) .mnt-summary {
    color: var(--cb-muted);
    text-align: center;
}

.maintenance-details:has(#lnk_profile) .mnt-summary h4 {
    margin: 0;
    color: var(--cb-heading);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.maintenance-details:has(#lnk_profile) .creation-info {
    position: static;
    margin-top: 20px;
    padding: 16px 0 0;
    color: var(--cb-muted);
    border-top: 1px solid var(--cb-border);
    font-size: 11px;
    line-height: 1.55;
    text-align: left;
    white-space: normal;
    overflow: visible;
}

.maintenance-details:has(#lnk_profile) .creation-info .creation-label,
.maintenance-details:has(#lnk_profile) .creation-info .creation-value {
    display: inline;
    float: none;
    clear: none;
}

.maintenance-details:has(#lnk_profile) .creation-info .creation-label {
    color: var(--cb-text);
    font-weight: 650;
}

.maintenance-details:has(#lnk_profile) > .content-panel {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.maintenance-details:has(#lnk_profile) .cover {
    display: none !important;
}

.maintenance-details:has(#lnk_profile) .content-section {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
}

.maintenance-details:has(#lnk_profile) .content-tabs {
    min-height: 0 !important;
    padding: 20px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(#lnk_profile) .content-tabs > div[style*="min-height"] {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    min-height: 0 !important;
}

.maintenance-details:has(#lnk_profile) .content-tabs > div[style*="min-height"] > div:first-child {
    flex: 0 0 100%;
    margin: 0 0 7px !important;
}

.maintenance-details:has(#lnk_profile) .content-tabs > div[style*="min-height"] > div:first-child > div {
    margin: 0 8px 0 0;
}

.maintenance-details:has(#lnk_profile) a.tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 42px;
    margin: 0;
    padding: 9px 16px;
    color: var(--cb-primary);
    background: var(--cb-primary-soft);
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.maintenance-details:has(#lnk_profile) a.tab:hover:not(.disabled) {
    color: #fff;
    background: var(--cb-primary-hover);
    border-color: var(--cb-primary-hover);
}

.maintenance-details:has(#lnk_profile) a.tab.selected {
    color: #fff;
    background: var(--cb-primary);
    border-color: var(--cb-primary);
    box-shadow: 0 4px 12px rgba(24, 79, 158, .2);
}

/* Clearer staff-facing names for the review-related profile tabs. */
.maintenance-details:has(#lnk_profile) #lnk_submissions,
.maintenance-details:has(#lnk_profile) #lnk_reviewLog {
    font-size: 0;
}

.maintenance-details:has(#lnk_profile) #lnk_submissions::after {
    content: "Review Status";
    font-size: 14px;
}

.maintenance-details:has(#lnk_profile) #lnk_reviewLog::after {
    content: "Reviewer Feedback";
    font-size: 14px;
}

.maintenance-details:has(#lnk_profile) .content-controls {
    margin-top: 16px;
    padding: 24px !important;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(#lnk_profile) #profile .row,
.maintenance-details:has(#lnk_profile) #address .row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.maintenance-details:has(#lnk_profile) .left-controls,
.maintenance-details:has(#lnk_profile) .right-controls,
.maintenance-details:has(#lnk_profile) .full-row {
    float: none !important;
    width: 100% !important;
    min-width: 0;
}

.maintenance-details:has(#lnk_profile) .content-controls .label {
    margin-bottom: 7px;
    color: var(--cb-heading);
    font-size: 14px;
    font-weight: 650;
}

.maintenance-details:has(#lnk_profile) .content-controls input[type="text"],
.maintenance-details:has(#lnk_profile) .content-controls input[type="email"],
.maintenance-details:has(#lnk_profile) .content-controls input[type="password"],
.maintenance-details:has(#lnk_profile) .content-controls input[type="date"],
.maintenance-details:has(#lnk_profile) .content-controls select,
.maintenance-details:has(#lnk_profile) .content-controls textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--cb-text);
    background: #fff;
    border: 1px solid var(--cb-border-strong);
    border-radius: var(--cb-radius-sm);
    font-size: 15px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.maintenance-details:has(#lnk_profile) .content-controls input:focus,
.maintenance-details:has(#lnk_profile) .content-controls select:focus,
.maintenance-details:has(#lnk_profile) .content-controls textarea:focus {
    outline: 0;
    border-color: var(--cb-primary);
    box-shadow: 0 0 0 3px rgba(45, 127, 249, .14);
}

.maintenance-details:has(#lnk_profile) .comment-row {
    margin-top: 5px;
    color: var(--cb-muted);
    font-size: 12px;
}

.maintenance-details:has(#lnk_profile) .update-panel {
    margin-top: 16px;
    padding: 18px 24px;
    background: var(--cb-surface);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
}

.maintenance-details:has(#lnk_profile) .update-panel a {
    min-width: 90px;
    text-align: center;
}

/* Contact Profile — Enrollments tab */
.maintenance-details:has(#lnk_profile) #enrollments {
    overflow: hidden;
}

/* On initial page load the legacy tab script can leave Enrollments at its
   default dimensions even though Profile is selected. Follow the selected
   tab itself so inactive enrollment content never leaks below Profile. */
.maintenance-details:has(#lnk_profile.selected) #enrollments {
    display: none !important;
    height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

/* The legacy tab switcher hides inactive panels with zero height.
   Only allow the enrollment cards to overflow when this tab is active. */
.maintenance-details:has(#lnk_profile) #enrollments[style*="height: auto"] {
    overflow: visible;
}

.maintenance-details:has(#lnk_profile) #enrollments::before {
    display: block;
    margin: 0 0 18px;
    content: "Enrollment Records";
    color: var(--cb-heading);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table {
    display: block;
    width: 100%;
    min-width: 0;
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table .row {
    display: block;
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table .cell {
    width: auto !important;
    min-width: 0;
    color: var(--cb-text);
    border: 0;
    overflow-wrap: anywhere;
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table .header-row {
    display: none;
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table:has(.data-row) {
    margin-top: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--cb-border);
    border-top: 5px solid var(--cb-accent);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow-sm);
    transition: border-color var(--cb-transition), box-shadow var(--cb-transition),
                transform var(--cb-transition);
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table:has(.data-row):hover {
    border-color: #bfd1e7;
    box-shadow: var(--cb-shadow);
    transform: translateY(-1px);
}

.maintenance-details:has(#lnk_profile) #enrollments .enrollments-table:has(a[href*=", true,"]) {
    border-top-color: var(--cb-danger);
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row {
    display: grid !important;
    grid-template-columns: minmax(290px, 1.6fr) repeat(2, minmax(150px, 1fr)) !important;
    grid-template-areas:
        "program status progress"
        "program enrolled good-through"
        "program maintenance maintenance" !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell {
    position: relative;
    min-height: 92px;
    padding: 38px 20px 18px;
    background: #fff;
    border-right: 1px solid var(--cb-border);
    border-bottom: 1px solid var(--cb-border);
    font-size: 14px;
    line-height: 1.5;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell::before {
    position: absolute;
    top: 15px;
    left: 20px;
    color: var(--cb-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(1) {
    grid-area: program !important;
    padding: 24px;
    background: linear-gradient(145deg, var(--cb-primary-soft), #fff 78%);
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(1)::before {
    display: none;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(2) {
    grid-area: status !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(2)::before {
    content: "Status";
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(3) {
    grid-area: enrolled !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(3)::before {
    content: "Enrolled";
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(4) {
    grid-area: good-through !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(4)::before {
    content: "Good Through";
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(5) {
    grid-area: maintenance !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(5)::before {
    content: "Maintenance";
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(6) {
    grid-area: progress !important;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(6)::before {
    content: "Progress";
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(3),
.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(5) {
    border-bottom: 0;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(4),
.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(5),
.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(6) {
    border-right: 0;
}

/* Program name is the primary link to the enrollment-detail workspace. */
.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:first-child > a[href^="enrollment.aspx"] {
    display: inline-block;
    color: var(--cb-heading);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:first-child > a[href^="enrollment.aspx"]::after {
    display: inline-block;
    margin-left: 6px;
    content: "→";
    color: var(--cb-accent);
    font-weight: 800;
    transition: transform var(--cb-transition);
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:first-child > a[href^="enrollment.aspx"]:hover {
    color: var(--cb-primary);
    text-decoration: underline;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:first-child > a[href^="enrollment.aspx"]:hover::after {
    transform: translateX(3px);
}

/* Destructive enrollment action. */
.maintenance-details:has(#lnk_profile) #enrollments a[href^="javascript:doRemoveEnrollment"] {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 18px 8px 0 0;
    padding: 7px 14px;
    color: #fff;
    background: var(--cb-danger);
    border: 1px solid var(--cb-danger);
    border-radius: 999px;
    font-size: 0;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.maintenance-details:has(#lnk_profile) #enrollments a[href^="javascript:doRemoveEnrollment"]::before {
    content: "×  Unenroll";
    font-size: 12px;
}

.maintenance-details:has(#lnk_profile) #enrollments a[href^="javascript:doRemoveEnrollment"]:hover {
    color: #fff;
    background: #b92f3b;
    border-color: #b92f3b;
    box-shadow: 0 6px 14px rgba(214, 69, 69, .25);
    transform: translateY(-1px);
}

/* Activate and inactivate are intentionally styled as operational controls. */
.maintenance-details:has(#lnk_profile) #enrollments a[href^="javascript:toggleActiveStatus"] {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 10px 8px 0 0;
    padding: 7px 14px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: capitalize;
    transition: transform var(--cb-transition), box-shadow var(--cb-transition),
                background-color var(--cb-transition);
}

.maintenance-details:has(#lnk_profile) #enrollments a[href*=", false,"] {
    color: #332000;
    background: var(--cb-warning);
    border-color: var(--cb-warning);
}

.maintenance-details:has(#lnk_profile) #enrollments a[href*=", false,"]:hover {
    color: #241700;
    background: #e8ae22;
    border-color: #e8ae22;
    box-shadow: 0 6px 14px rgba(244, 197, 66, .3);
    transform: translateY(-1px);
}

.maintenance-details:has(#lnk_profile) #enrollments a[href*=", true,"] {
    color: #fff;
    background: var(--cb-success);
    border-color: var(--cb-success);
}

.maintenance-details:has(#lnk_profile) #enrollments a[href*=", true,"]:hover {
    color: #fff;
    background: #238a48;
    border-color: #238a48;
    box-shadow: 0 6px 14px rgba(53, 199, 89, .25);
    transform: translateY(-1px);
}

/* Date/status edits are secondary actions, not ordinary text links. */
.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:not(:first-child) a[href^="javascript:"] {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin-top: 7px;
    padding: 6px 12px;
    color: #fff;
    background: var(--cb-primary);
    border: 1px solid var(--cb-primary);
    border-radius: 999px;
    font-size: 0;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:not(:first-child) a[href^="javascript:"]::after {
    content: "Edit";
    font-size: 12px;
}

.maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:not(:first-child) a[href^="javascript:"]:hover {
    color: #fff;
    background: var(--cb-heading);
    border-color: var(--cb-heading);
    box-shadow: 0 5px 12px rgba(24, 73, 158, .2);
    transform: translateY(-1px);
}

@media (max-width: 1100px) {
    .maintenance-details:has(#lnk_profile) #enrollments .data-row {
        grid-template-columns: minmax(260px, 1.4fr) minmax(180px, 1fr) !important;
        grid-template-areas:
            "program status"
            "program progress"
            "enrolled good-through"
            "maintenance maintenance" !important;
    }

    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(2),
    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(4),
    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(6) {
        border-right: 0;
    }

    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:nth-child(3) {
        border-bottom: 1px solid var(--cb-border);
    }
}

@media (max-width: 900px) {
    .page-content:has(#lnk_profile) .mnt-header {
        min-height: 78px;
        padding: 18px 16px !important;
    }

    .maintenance-details:has(#lnk_profile) {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px !important;
    }

    .maintenance-details:has(#lnk_profile) > .left-panel {
        position: static;
    }

    .maintenance-details:has(#lnk_profile) #profile .row,
    .maintenance-details:has(#lnk_profile) #address .row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .maintenance-details:has(#lnk_profile) #enrollments .data-row {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "program"
            "status"
            "enrolled"
            "good-through"
            "maintenance"
            "progress" !important;
    }

    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell {
        min-height: 78px;
        border-right: 0;
        border-bottom: 1px solid var(--cb-border);
    }

    .maintenance-details:has(#lnk_profile) #enrollments .data-row .cell:last-child {
        border-bottom: 0;
    }
}

