/* =========================================
   GLOBAL STYLES (ACCESSIBILITY OPTIMIZED)
   ========================================= */
body {
  /* CHANGED: Switched to Helvetica stack */
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: #000000 !important;
  /* WCAG FIX: Base font size 16px for readability */
  font-size: 16px !important; 
  line-height: 1.6 !important;
}

@import url('https://fonts.googleapis.com');

/* Links & Paragraphs */
a { 
    /* WCAG FIX: Darkened blue slightly to pass AA contrast on white backgrounds */
    /* color: #2563eb !important;  */
    text-decoration: none !important;
    color: var(--link-text);
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    font-size: 15px;
 
}
p { 
    color: #686868 !important; 
    /* WCAG FIX: Ensure paragraph text is large enough */
    font-size: 16px !important; 
}

/* =========================================
   HEADER SECTION
   ========================================= */
.header {
  flex-shrink: 0 !important;
  background: #0E1A24 !important; /* Dark Navy */
}

/* Force White Text in Header */
.header, .header a, .header p, .header span, 
.header div, .header .fa, 
.header h1, .header h2, .header h3 {
    color: #ffffff !important;
    /* VISIBILITY FIX: Make white text slightly bolder on dark backgrounds */
    font-weight: 500 !important; 
    -webkit-font-smoothing: antialiased !important;
}

/* Contact Info & Icons */
.header .contact p a { padding: 0 10px !important; }
.header .contact .fa { margin-right: 8px !important; font-size: 18px !important; position: relative !important; top: 1px !important; }

/* Logo Filter */
.header img {
    filter: none !important;
}

.username { color: #ffffff !important; }

/* =========================================
   MAIN NAVIGATION
   ========================================= */
.main-nav {
    background-color: #0E1A24 !important; /* Dark Navy */
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 30px !important;
    flex-shrink: 0 !important;
}

.main-nav .container { color: #ffffff !important; }

/* --- Top Level Links --- */
.nav.navbar-nav.weblinks { margin: 0 !important; }

.nav-item.weblink > a {
    color: #ffffff !important;
    font-weight: 500 !important;
    transition: background-color 0.3s !important;
    border-radius: 10px !important; /* Rounded Pill Look */
    /* VISIBILITY FIX: Extra padding for touch targets */
    padding: 12px 15px !important; 
}

/* Hover/Focus/Active */
.nav-item.weblink > a:hover,
.nav-item.weblink > a:focus,
.nav-item.weblink.open > a {
    background-color: #162532 !important; /* Navy */
    color: #ffffff !important;
}






/* Vertical Divider */
.divider-vertical {
    height: 50px !important;
    margin: 0 9px !important;
    border-right: 1px solid #162532 !important;
    border-left: 1px solid #0E1A24 !important;
    width: 1px !important;
    display: inline-block !important;
}

/* --- Mobile Toggle --- */
.navbar-header { background: transparent !important; }
.navbar-collapse { margin-top: 5px !important; }

.navbar-toggle {
    border-color: #162532 !important;
    background-color: transparent !important;
}
.navbar-toggle .icon-bar { background-color: #ffffff !important; }

.navbar-toggle:hover,
.navbar-toggle:focus {
    background-color: #162532 !important;
    border-radius: 10px !important;
}

/* =========================================
   DROPDOWNS
   ========================================= */
.dropdown-menu {
    background-color: #780916 !important; /* Dark Navy */
    font-size:15px;
    border-radius: 14px !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.28) !important;
    /* padding: 5px !important;
    border-radius: 10px !important; */
}

.menu-top .open > .dropdown-menu li:hover {
    background-color: #4A050E !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

/* Dropdown Items */
.dropdown-menu > li > a {
    color: #ffffff !important;
    padding: 12px 18px !important;
    font-weight: 600 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    background-color: #780916 !important; /* Burgundy */
    /* margin: 5px !important;
    border-radius: 10px !important; */
    font-size:15px;
}

.dropdown-menu > li:last-child > a {
  border-bottom: 0 !important;
}

/* Dropdown Hover */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: #4A050E !important; /* Dark Burgundy */
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Caret (Arrow) */
.caret {
    color: #780916 !important;
    border-top-color: #780916 !important;
    opacity: 1 !important;
}
.nav-item.weblink > a:hover .caret {
    color: #ffffff !important;
    border-top-color: #ffffff !important;
}

/* Mobile Fixes */
@media (max-width: 767px) {
    .dropdown-menu { border: none !important; }
}

/* =========================================
   CONTENT & COMPONENTS
   ========================================= */
/* CTA Buttons */
.btn-theme {
    background: #780916 !important;
}

a.btn-cta, .btn-cta {
  background: #780916 !important; /* Burgundy */
  color: #ffffff !important;
  padding: 12px 24px !important; /* Larger hit area */
  font-size: 18px !important;
  line-height: 1.33 !important;
  border-radius: 0 !important; 
  border: 1px solid #780916 !important; 
  transition: background-color 0.3s !important;
  font-weight: 600 !important; /* Better contrast */
}

.date-label .month {
    background: #666 !important; /* Burgundy */
}

.home-page h1.section-heading .line {
    border-top: 2px solid #666 !important;
}

.flex-caption .main {
    color: white !important;
}


#content > div > div > div > section.promo.box.box-dark > div.col-md-9 > p > span > span {
    color: white;
}

.fa-quote-left {
    color: #666 !important;
}

/* CTA Hover */
a.btn-cta:hover, .btn-cta:hover {
    background: #4A050E !important; /* Dark Burgundy */
    border-color: #4A050E !important;
    text-decoration: none !important;
}

/* Boxes */
.box.box-dark { background: #444444 !important; color: #ffffff !important; } 

/* Flexslider/News */
.flexslider .slides .flex-caption .main {
  display: inline-block !important;
  background: #780916 !important; 
  margin-bottom: 5px !important;
  padding: 10px 15px !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
}

.home-page .news h2.title a { color: #780916 !important; font-weight: bold !important; }

/* Read More Button */
.read-more {
  transition: all 0.4s ease-in-out !important;
  font-size: 14px !important; /* Increased from 13px */
  display: block !important;
  color: #ffffff !important;
  background-color: #780916 !important; 
  padding: 8px 15px !important; /* Increased padding */
  width: fit-content !important;
  font-weight: 500 !important;
}
.read-more:hover {
    background-color: #4A050E !important; 
    text-decoration: none !important;
}

/* Carousel Controls */
.home-page .carousel-controls a.next .fa,
.home-page .carousel-controls a .fa {
  background: #780916 !important; 
  color: #ffffff !important;
  display: inline-block !important;
  width: 30px !important; /* Increased size for accessibility */
  height: 30px !important;
  line-height: 30px !important;
  text-align: center !important;
  font-size: 15px !important;
  transition: all 0.4s ease-in-out !important;
}
.home-page .carousel-controls a:hover .fa {
    background: #4A050E !important; 
}

/* =========================================
   FOOTER STYLES (ACCESSIBILITY OPTIMIZED)
   ========================================= */
footer {
  height: auto !important;
  background: #0E1A24 !important; /* Dark Navy */
  color: #ffffff !important;
  margin-top: 40px !important;
  flex-grow: 0 !important;
}
.footer.well { background-color: #0E1A24 !important; }

/* 1. FOOTER LAYOUT */
.footer {
    background-color: #0E1A24 !important; 
    color: #ffffff !important;
    padding-top: 40px !important;
    font-size: 15px !important; /* Increased footer text size */
    margin-top: 40px !important; 
}

.footer .footer-content {
    padding-bottom: 20px !important;
}

/* Headings */
.footer h2, 
.footer h3 {
    color: #ffffff !important;
    text-transform: uppercase !important;
    font-size: 18px !important; /* Increased size */
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #780916 !important; 
    display: inline-block !important;
}

/* General Paragraph text */
.footer p {
    color: #dddddd !important; /* Lightened grey for better contrast against Navy */
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* 2. LINKS & LISTS */
.footer ul {
    padding-left: 0 !important;
}

.footer .list-unstyled li {
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #162532 !important; 
}

.footer .list-unstyled li a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: block !important; 
    padding: 5px 10px 5px 0 !important; /* Add touch padding */
    background: transparent !important;
    border-radius: 5px !important;
}

/* HOVER FIX FOR ACCESSIBILITY:
   Burgundy text on Navy background is invisible (1.5:1 ratio).
   Fix: Keep text WHITE, change BACKGROUND to Burgundy.
*/
.footer .list-unstyled li a:hover {
    background-color: #780916 !important; /* Background becomes Burgundy */
    color: #ffffff !important; /* Text stays White for contrast */
    padding-left: 10px !important; 
    text-decoration: none !important;
}

/* 3. CONTACT COLUMN */
.footer .contact .adr {
    margin-bottom: 15px !important;
}

.footer .contact .tel a, 
.footer .contact .email a {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: underline !important; /* Underline helps identify links */
}

.footer .contact a:hover {
    color: #dddddd !important; 
    background-color: #780916 !important; /* Same highlight style as links */
}

/* Address Block Spacing */
.footer .contact span {
    display: block !important;
    margin-bottom: 5px !important;
}

/* 4. BOTTOM BAR */
.footer .bottom-bar {
    background-color: #0E1A24 !important; 
    padding: 20px 0 !important;
    border-top: 1px solid #162532 !important;
    margin-top: 20px !important;
}

.footer .copyright {
    color: #bbbbbb !important; /* Lightened for contrast */
    font-size: 14px !important;
    padding-top: 10px !important;
}

.footer .copyright a {
    color: #ffffff !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}

/* --- Social Icons --- */
.footer .social {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: right !important; 
}

.footer .social li {
    display: inline-block !important;
    margin-left: 8px !important;
}

.footer .social li a {
    display: block !important;
    width: 40px !important; /* Increased size for touch targets */
    height: 40px !important;
    line-height: 40px !important; 
    text-align: center !important;
    background: #162532 !important; 
    color: #ffffff !important;
    border-radius: 50% !important; 
    transition: all 0.3s ease-in-out !important;
    padding: 0 !important; /* Override the other link padding */
}

.footer .social li a .fa {
    color: #ffffff !important;
    font-size: 18px !important; /* Larger icon */
    line-height: 40px !important;
}

/* Social Icon Hover */
.footer .social li a:hover {
    background: #780916 !important; 
    transform: translateY(-3px) !important; 
}

/* Mobile Fix for Social Icons */
@media (max-width: 767px) {
    .footer .social {
        text-align: left !important;
        margin-top: 15px !important;
    }
    .footer .copyright {
        text-align: left !important;
        margin-bottom: 10px !important;
    }
}

:root {
    --body-bg-color: #ffffff;
    --navbar-bg-color: #32648d;
    --navbar-alt: #C52228;
    --navbar-link-color: #fff;
    --navbar-focus-color: #ffffff;
    --navbar-focus-color-secondary: #333333;
    --navbar-hover-color: #458dc8;
    --topmenu-link-color: #757575;
    --header-text-primary: #c52228;
    --header-text-secondary: #4f5d75;
    --header-caret-color: #bbbbbb;
    --header-bg-primary: #28679a;
    --link-text: #3b82f6;
    --menu-item-text-light: #fff;
    --menu-item-bg: #212937 !important;
    --menu-item-hover: #2c7bb4;
    --menu-item-focus: #2c7bb4;
    --text-primary: #333333;
    --text-secondary: #fff;
    --button-bg-primary: #3b82f6;
    --button-bg-hover: #212937;
    --button-bg-focus: #2c7bb4;
    --button-text-primary: #ffffff;
    --button--bg-remove: #e22000;
    --text-error: #d70404;
    --error-bg: #fff;
    --form-readonly-text: #6B6B6B;
    --panel-success-background: #248347;
    --footer-header-text: #fff;
    --footer-bg: #444;
    --footer-text: #fff;
    --tab-list-success: #257843;
}



/* Style Changes to Profile */

.slides li:first-child {
    display: block !important;
}

.divTable.applications .divTableHeading {
    border-bottom: 9px solid #444444;
    background-color: #4f5d75;
    color: white;
    font-size: 15px;
    font-weight: bold;
}

a:hover {
    text-decoration: none;
    color: #345b7c;
}

.crmEntityFormView .section-title {
    border-bottom-width: 0;
    margin-bottom: 5px;
    font-weight: bold;
    background-color: #4f5d75;
    color: white;
}
.crmEntityFormView .cell label {
    float: left;
    display: inline;
    font-size: 15px;
    color: #666666;
    font-weight: 600;
}

.crmEntityFormView .tab-title {
    border-bottom: 1px solid #EEEEEE;
    -ms-text-rendering: optimizelegibility;
    text-rendering: optimizelegibility;
    /* background-color: #4f5d75; */
    color: #c52228;
    font-weight: bold;
    line-height: normal;
}

.btn-primary {
    background: #3b82f6 !important;
    font-size: 15px !important;
    font-weight: bold;
    color:#ffffff!Important;
}

.btn-default {
    background-color: #3b82f6;
    border-color: #ffffff;
    color:#ffffff !Important;
    font-size: 15px;
    font-weight: bold;
}

.breadcrumb>.active {
    color: #203eb5;
    font-size: 15px;
    font-weight: bold;
}
.breadcrumb > li a, .breadcrumb > li a:hover {
    text-decoration: none;
    color: var(--link-text);
    cursor: pointer;
    font-size: 15px;
}

.badge {
    font-weight: 600;
    font-size: 15px;
    background-color: #c52228;
}
table {
    font-size: 15px;
}
th {
    text-align: left;
    background-color: #212937;
    }

    .signup-checkbox {
    margin-top: -18px;
    padding-left: 12px;
    font-size: 15px;
    color: #000000;
    font-weight: bold;
}

.alert {
    font-size:15px !important;
    font-weight: bold;

}
.alert-info {
    background-color: #f04124;
    border-color: #f04124;
    font-size:15px !important;
    font-weight:bold;
    color: #ffffff;
}

.alert-warning {
    background-color: #a66419;
    border-color: #a66419 !important;
    color: #ffffff !important;
    font-weight:bold;
    font-size:15px !important;

}


.list-group-item.active {
    background-color: #414957;
    z-index: 2;
    color: #ffffff;
    border-color: var(--menu-item-bg);
    font-size: 15px;
    font-weight: bold;
}
a.list-group-item, button.list-group-item {
    font-size: 15px;
    color: #212937;
}

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 32px;
    background-color: #ffffff !important;
    border: #ffffff !important;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.table-header-cell {
    font-size: 15px;
    padding-bottom: 0.75rem;
    color: #212937;
    background-color: #ecd4ad;
}

.pa-form-control {
    border-radius: 6px;
    font-size: 15px;
    outline-color: #4f46e5;
    margin-bottom: 1rem;
}

.table > thead > tr > th {
    border: 2px solid #ecd4ad;
    color: #ffffff;
    background-color: #ecd4ad;
    font-size:15px;
}

table {
    font-size: 15px;
}

label, .control-label, .help-block, .checkbox, .radio {
    font-size: 14px;
    font-weight: normal;
}

.table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th {
    background: #ffe9c5;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold !important;
    color: var(--header-text-primary);
    font-family:'Inter';
}

.username {
    font-size: 15px;
    font-weight:bold;
}

.panel-default > .panel-heading > h3 {
    color: var(--header-text-secondary);
    font-size: 18px !important;
    font-weight: bold !important;
}
h3, .h3 {
    font-size: 18px !important;
    font-weight: bold;
}

.dropdown-menu li:empty {
  display: none !important;
}

.dropdown-menu li:has(> a:empty) {
  display: none !important;
}

.dropdown-menu li a:empty {
  display: none !important;
}

.dropdown-menu li a:empty + * {
  display: none !important;
}

/* =========================================================
   GREYMATTER PORTAL - MODERN FORM UI PACK
   Append at the very end of CustomTheme.css
   ========================================================= */

/* ---------- Design tokens ---------- */
:root {
  --gm-field-bg: #ffffff;
  --gm-field-border: #d7dde5;
  --gm-field-border-hover: #b8c2d0;
  --gm-field-text: #212937;
  --gm-field-muted: #98a2b3;
  --gm-focus: #c52228;
  --gm-focus-ring: rgba(197, 34, 40, 0.14);
  --gm-soft-bg: #f8fafc;
  --gm-soft-bg-2: #eef2f6;
  --gm-label: #151f27;
  --gm-section-bg: #4f5d75;
  --gm-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05);
  --gm-shadow-md: 0 4px 12px rgba(16, 24, 40, 0.08);
  --gm-radius-sm: 10px;
  --gm-radius-md: 12px;
  --gm-radius-lg: 16px;
}

/* ---------- Form layout breathing room ---------- */
.crmEntityFormView .cell,
.crmEntityFormView td,
.entity-form .form-group,
.webform-step .form-group {
  padding-bottom: 10px;
}

.crmEntityFormView .section {
  margin-bottom: 26px;
}

/* ---------- Labels ---------- */
.crmEntityFormView .cell label,
label,
.control-label {
  display: inline-block;
  margin-bottom: 8px !important;
  color: var(--gm-label) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.1px;
}

/* required star */
label .required,
.control-label .required,
.crmEntityFormView .required label::after {
  color: var(--gm-focus);
}

/* ---------- Base fields ---------- */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="date"],
select,
textarea {
  min-height: 48px !important;
  height: 48px;
  padding: 12px 14px !important;
  border: 1px solid var(--gm-field-border) !important;
  border-radius: var(--gm-radius-md) !important;
  background: var(--gm-field-bg) !important;
  color: var(--gm-field-text) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: var(--gm-shadow-sm) !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease,
    transform 0.02s ease !important;
  outline: none !important;
}

/* textarea should grow naturally */
textarea.form-control,
textarea {
  min-height: 110px !important;
  height: auto !important;
  resize: vertical;
}

/* placeholders */
.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--gm-field-muted) !important;
  font-weight: 400 !important;
}

/* hover */
.form-control:hover,
input:hover,
select:hover,
textarea:hover {
  border-color: var(--gm-field-border-hover) !important;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06) !important;
}

/* focus */
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--gm-focus) !important;
  box-shadow: 0 0 0 4px var(--gm-focus-ring) !important;
  outline: none !important;
}

/* readonly / disabled */
.form-control[readonly],
.form-control[disabled],
input[readonly],
input[disabled],
select[disabled],
textarea[disabled] {
  background: var(--gm-soft-bg) !important;
  color: #667085 !important;
  border-color: #e4e7ec !important;
  box-shadow: none !important;
  cursor: not-allowed;
  opacity: 1 !important;
}

/* ---------- Modern select arrow ---------- */
select,
select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 42px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #667085 50%),
    linear-gradient(135deg, #667085 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}


/* ---------- Validation ---------- */
.has-error .form-control,
.has-error input,
.has-error select,
.has-error textarea {
  border-color: #d92d20 !important;
  box-shadow: 0 0 0 4px rgba(217, 45, 32, 0.10) !important;
}

.validation-summary-errors,
.alert-danger {
  border-radius: 12px !important;
}

/* ---------- Section headers ---------- */
.crmEntityFormView .section-title {
  background: #4f5d75 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  padding: 10px 14px !important;
  margin-bottom: 16px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px;
}

/* main tab title like Student Profile */
.crmEntityFormView .tab-title {
  color: #c52228 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  margin-bottom: 18px !important;
  border-bottom: 0 !important;
}

/* ---------- Card-like form sections ---------- */
.crmEntityFormView .section > table,
.crmEntityFormView .tab > table,
.crmEntityFormView .entity-form,
.entity-form {
  background: #ffffff;
}


/* ---------- Buttons refresh ---------- */
.btn,
.btn-default,
.btn-primary {
  min-height: 44px;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
}

.btn-primary {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #2563eb !important;
  border-color: #2563eb !important;
}

.btn-default {
  background: #ffffff !important;
  border: 1px solid #d0d5dd !important;
  color: #344054 !important;
}

.btn-default:hover,
.btn-default:focus {
  background: #f8fafc !important;
  border-color: #bfc8d4 !important;
  color: #151f27 !important;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .form-control,
  input,
  select,
  textarea {
    min-height: 46px !important;
    font-size: 16px !important; /* avoids odd zoom behavior on iOS */
  }

  .crmEntityFormView .tab-title {
    font-size: 20px !important;
  }

  .crmEntityFormView .section-title {
    font-size: 15px !important;
  }
}


/* =========================================================
   GREYMATTER PORTAL - SAFE PATCH
   Header + profile nav + lookup fixes
   ========================================================= */

/* -------------------------
   1) HEADER: restore layout safely
   ------------------------- */

/* Undo the broad navbar/container flex overrides */
.navbar .container,
.header .container,
.navbar .container-fluid,
.header .container-fluid {
  display: block !important;
  flex-direction: initial !important;
  justify-content: initial !important;
}

.navbar-nav {
  display: block !important;
}

.navbar-collapse,
.header .menu-bar,
.navbar .navbar-nav-wrapper {
  min-height: initial !important;
  backdrop-filter: none !important;
}

/* Keep header visually cleaner without breaking structure */
.header,
.main-nav,
.navbar,
.navbar-inverse,
.navbar-static-top {
  background: #0E1A24 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

/* Remove the white divider line only */
.header-main,
.main-nav,
.navbar-collapse,
.navbar-header,
.navbar-inner {
  border-top: 0 !important;
  box-shadow: none !important;
}

/* Top-level nav items: keep original structure, just polish */
.nav-item.weblink > a,
.navbar-nav > li > a {
  border-radius: 10px !important;
  padding: 12px 15px !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.nav-item.weblink > a:hover,
.nav-item.weblink > a:focus,
.nav-item.weblink.open > a,
.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus {
  background-color: #162532 !important;
  color: #ffffff !important;
}

/* User dropdown trigger only */
.header .menu-top > .dropdown > a,
.navbar-right .dropdown > a {
  border-radius: 10px !important;
  padding: 8px 12px !important;
  background: transparent !important;
}

.header .menu-top > .dropdown > a:hover,
.navbar-right .dropdown > a:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* Dropdown menu keep original burgundy style, but cleaner */
.dropdown-menu {
  background-color: #780916 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.28) !important;
  overflow: hidden !important;
}

.dropdown-menu > li > a {
  background-color: #780916 !important;
  color: #ffffff !important;
  padding: 12px 18px !important;
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: #4A050E !important;
  color: #ffffff !important;
}

/*-----------------------------------------------------------------------------------------------------
Patch for the side panel
------------------------------------------------------------------------------------------------------*/

/* =========================================================
   GREYMATTER PORTAL - FINAL STABLE LOOKUP / DATE FIX
   ========================================================= */

/* keep each field inside its own column */
.crmEntityFormView td,
.crmEntityFormView .cell,
.entity-form .form-group {
  min-width: 0 !important;
  overflow: visible !important;
}

/* generic input-group structure for lookup/date fields */
.crmEntityFormView .input-group,
.entity-form .input-group,
.input-group.date,
.datetimepicker {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: visible !important;
  border-radius: 12px !important;
}

/* textbox portion */
.crmEntityFormView .input-group > .form-control:not(.lookup),
.entity-form .input-group > .form-control:not(.lookup),
.crmEntityFormView .input-group > input[type="text"]:not(.lookup),
.entity-form .input-group > input[type="text"]:not(.lookup),
.input-group.date > .form-control,
.datetimepicker > .form-control {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-top: 1px solid #d7dde5 !important;
  border-right: 0 !important;
  border-bottom: 1px solid #d7dde5 !important;
  border-left: 1px solid #d7dde5 !important;
  border-radius: 12px 0 0 12px !important;
  background: #ffffff !important;
  color: #212937 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
}

/* Restore Power Pages lookup behavior */
.crmEntityFormView .input-group .form-control.lookup,
.entity-form .input-group .form-control.lookup {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 48px !important;
  border-top: 1px solid #d7dde5 !important;
  border-bottom: 1px solid #d7dde5 !important;
  border-left: 1px solid #d7dde5 !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
}

.crmEntityFormView .input-group .input-group-btn,
.entity-form .input-group .input-group-btn {
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 48px !important;
  max-width: none !important;
  position: relative !important;
  z-index: 3 !important;
}

.crmEntityFormView .input-group .input-group-btn .btn,
.entity-form .input-group .input-group-btn .btn {
  position: relative !important;
  z-index: 4 !important;
  pointer-events: auto !important;
}

/* Do not make Power Pages lookup inputs feel disabled */
.crmEntityFormView .input-group .form-control.lookup[readonly],
.entity-form .input-group .form-control.lookup[readonly] {
  background: #ffffff !important;
  color: #212937 !important;
  cursor: text !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
}

.crmEntityFormView .input-group .form-control.lookup,
.entity-form .input-group .form-control.lookup,
.crmEntityFormView .input-group .input-group-btn .btn,
.entity-form .input-group .input-group-btn .btn {
  pointer-events: auto !important;
}

/* button / addon wrappers */
.crmEntityFormView .input-group-btn,
.entity-form .input-group-btn,
.input-group.date > .input-group-addon,
.input-group.date > .input-group-btn,
.datetimepicker > .input-group-addon,
.datetimepicker > .input-group-btn {
  display: flex !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  margin: 0 !important;
  align-self: stretch !important;
}

/* actual button/addon */
.crmEntityFormView .input-group-btn .btn,
.entity-form .input-group-btn .btn,
.input-group.date > .input-group-addon,
.input-group.date > .input-group-btn .btn,
.datetimepicker > .input-group-addon,
.datetimepicker > .input-group-btn .btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d7dde5 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: #e8eef6 !important;
  color: #243041 !important;
  box-shadow: none !important;
}

/* right-most corner */
.crmEntityFormView .input-group-btn:last-child .btn,
.entity-form .input-group-btn:last-child .btn,
.input-group.date > .input-group-addon:last-child,
.input-group.date > .input-group-btn:last-child .btn,
.datetimepicker > .input-group-addon:last-child,
.datetimepicker > .input-group-btn:last-child .btn {
  border-radius: 0 12px 12px 0 !important;
}

/* visible icons */
.crmEntityFormView .input-group-btn .btn .glyphicon,
.entity-form .input-group-btn .btn .glyphicon,
.crmEntityFormView .input-group-btn .btn .fa,
.entity-form .input-group-btn .btn .fa,
.input-group.date .glyphicon,
.input-group.date .fa,
.datetimepicker .glyphicon,
.datetimepicker .fa,
.crmEntityFormView .input-group-btn .btn span,
.entity-form .input-group-btn .btn span {
  color: #243041 !important;
  opacity: 1 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* hover */
.crmEntityFormView .input-group-btn .btn:hover,
.entity-form .input-group-btn .btn:hover,
.input-group.date > .input-group-addon:hover,
.input-group.date > .input-group-btn .btn:hover,
.datetimepicker > .input-group-addon:hover,
.datetimepicker > .input-group-btn .btn:hover {
  background: #dbe7f3 !important;
  color: #151f27 !important;
}

/* focus ring */
.crmEntityFormView .input-group:focus-within,
.entity-form .input-group:focus-within,
.input-group.date:focus-within,
.datetimepicker:focus-within {
  box-shadow: 0 0 0 4px rgba(197, 34, 40, 0.12) !important;
  border-radius: 12px !important;
}

/*--------------------------------------------------------------------
STRONGER PROFILE NAVIGATION UI
--------------------------------------------------------------------*/
/* =========================================================
   GREYMATTER PORTAL - PROFILE NAV POLISH
   ========================================================= */

.panel.panel-default {
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(16, 24, 40, 0.08) !important;
  margin-bottom: 22px !important;
}

.panel.panel-default + .panel.panel-default {
  margin-top: 18px !important;
}

.panel-default > .panel-heading {
  background: linear-gradient(135deg, #4f5d75 0%, #66739a 100%) !important;
  border: 0 !important;
  padding: 16px 18px !important;
}

.panel-default > .panel-heading,
.panel-default > .panel-heading h3,
.panel-default > .panel-heading .panel-title,
.panel-default > .panel-heading .panel-title a,
.panel-default > .panel-heading .glyphicon,
.panel-default > .panel-heading .fa {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.panel.panel-default .list-group-item,
.panel.panel-default a.list-group-item,
.panel.panel-default button.list-group-item {
  background: #ffffff !important;
  color: #243041 !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  padding: 17px 20px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  min-height: 58px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.panel.panel-default .list-group-item:hover,
.panel.panel-default a.list-group-item:hover,
.panel.panel-default button.list-group-item:hover,
.panel.panel-default .list-group-item:focus,
.panel.panel-default a.list-group-item:focus,
.panel.panel-default button.list-group-item:focus {
  background: #f8fafc !important;
  color: #151f27 !important;
}

.panel.panel-default .list-group-item.active,
.panel.panel-default .list-group-item.active:hover,
.panel.panel-default .list-group-item.active:focus {
  background: #4f6487 !important;
  color: #ffffff !important;
  border-color: #4f6487 !important;
}


/* =========================================================
   GREYMATTER PORTAL - SIGN IN PAGE SPACING FIX
   ========================================================= */

.login-panel,
.account-login,
#loginForm,
#external-login-form,
#loginForm .well,
#external-login-form .well {
  border-radius: 18px !important;
}

#loginForm .form-group:last-of-type,
.account-login .form-group:last-of-type {
  margin-bottom: 16px !important;
}

#loginForm .checkbox,
.account-login .checkbox {
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}

#loginForm .btn,
.account-login .btn,
#external-login-form .btn {
  margin-top: 32px !important;
  margin-bottom: 0 !important;
}

#loginForm .form-actions,
.account-login .form-actions {
  padding-bottom: 0 !important;
  margin-bottom: 32px !important;
}

#loginForm .btn-primary,
.account-login .btn-primary,
#external-login-form .btn-primary {
  min-width: 230px !important;
}

/* Add space below the Sign In button on login page */
#loginForm .btn,
#loginForm .btn-primary,
.account-login .btn,
.account-login .btn-primary {
  margin-bottom: 32px !important;
}


/* final guardrail for lookup/date controls */
.crmEntityFormView .input-group,
.entity-form .input-group,
.input-group.date,
.datetimepicker {
  white-space: nowrap !important;
}

.crmEntityFormView .input-group > *,
.entity-form .input-group > *,
.input-group.date > *,
.datetimepicker > * {
  float: none !important;
}

/*--------------------------------------------------------------------
FIELD ALIGNMENT AND EMAIL OVERFLOW
--------------------------------------------------------------------*/

/* Show full value on focus for long text fields like email */
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* =========================================================
   GREYMATTER PORTAL - LEFT PROFILE NAV MODERNIZATION
   ========================================================= */

/* Target the left-side account/profile panels only */
.profile-menu,
.profile-menu.panel,
.profile-menu.panel.panel-default,
.panel.panel-default.profile-menu,
.page-heading + .row .panel.panel-default {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.08) !important;
  margin-bottom: 22px !important;
}

/* extra spacing between Profile and Security cards */
.page-heading + .row .panel.panel-default + .panel.panel-default,
.profile-menu + .panel.panel-default,
.profile-menu + .profile-menu {
  margin-top: 18px !important;
}

/* card headers */
.profile-menu .panel-heading,
.panel.panel-default.profile-menu > .panel-heading,
.page-heading + .row .panel.panel-default > .panel-heading {
  background: linear-gradient(135deg, #222b3f 0%, #5f6d93 100%) !important;
  border: 0 !important;
  padding: 16px 20px !important;
  min-height: 54px !important;
  box-shadow: none !important;
}

/* header text */
.profile-menu .panel-heading,
.profile-menu .panel-heading h3,
.profile-menu .panel-heading .panel-title,
.profile-menu .panel-heading .panel-title a,
.profile-menu .panel-heading .fa,
.profile-menu .panel-heading .glyphicon,
.page-heading + .row .panel.panel-default > .panel-heading,
.page-heading + .row .panel.panel-default > .panel-heading h3,
.page-heading + .row .panel.panel-default > .panel-heading .panel-title,
.page-heading + .row .panel.panel-default > .panel-heading .panel-title a,
.page-heading + .row .panel.panel-default > .panel-heading .fa,
.page-heading + .row .panel.panel-default > .panel-heading .glyphicon {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* nav rows */
.profile-menu .list-group-item,
.profile-menu a.list-group-item,
.profile-menu button.list-group-item,
.page-heading + .row .panel.panel-default .list-group-item,
.page-heading + .row .panel.panel-default a.list-group-item,
.page-heading + .row .panel.panel-default button.list-group-item {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  color: #243041 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
  position: relative;
}

/* hover/focus */
.profile-menu .list-group-item:hover,
.profile-menu a.list-group-item:hover,
.profile-menu button.list-group-item:hover,
.profile-menu .list-group-item:focus,
.profile-menu a.list-group-item:focus,
.profile-menu button.list-group-item:focus,
.page-heading + .row .panel.panel-default .list-group-item:hover,
.page-heading + .row .panel.panel-default a.list-group-item:hover,
.page-heading + .row .panel.panel-default button.list-group-item:hover,
.page-heading + .row .panel.panel-default .list-group-item:focus,
.page-heading + .row .panel.panel-default a.list-group-item:focus,
.page-heading + .row .panel.panel-default button.list-group-item:focus {
  background: #f8fafc !important;
  color: #151f27 !important;
  padding-left: 22px !important;
}

/* active/current row */
.profile-menu .list-group-item.active,
.profile-menu .list-group-item.active:hover,
.profile-menu .list-group-item.active:focus,
.page-heading + .row .panel.panel-default .list-group-item.active,
.page-heading + .row .panel.panel-default .list-group-item.active:hover,
.page-heading + .row .panel.panel-default .list-group-item.active:focus {
  background: linear-gradient(90deg, rgba(197,34,40,0.10) 0%, rgba(197,34,40,0.04) 100%) !important;
  color: #151f27 !important;
  border-top-color: #edf1f5 !important;
  font-weight: 700 !important;
  padding-left: 22px !important;
}

/* left accent bar on hover/active */
.profile-menu .list-group-item::before,
.profile-menu a.list-group-item::before,
.page-heading + .row .panel.panel-default .list-group-item::before,
.page-heading + .row .panel.panel-default a.list-group-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 0;
  border-radius: 0 6px 6px 0;
  background: #c52228;
  transition: width 0.2s ease;
}

.profile-menu .list-group-item:hover::before,
.profile-menu a.list-group-item:hover::before,
.profile-menu .list-group-item.active::before,
.profile-menu a.list-group-item.active::before,
.page-heading + .row .panel.panel-default .list-group-item:hover::before,
.page-heading + .row .panel.panel-default a.list-group-item:hover::before,
.page-heading + .row .panel.panel-default .list-group-item.active::before,
.page-heading + .row .panel.panel-default a.list-group-item.active::before {
  width: 4px;
}

/* security icon/header spacing */
.profile-menu .panel-heading .fa,
.profile-menu .panel-heading .glyphicon,
.page-heading + .row .panel.panel-default > .panel-heading .fa,
.page-heading + .row .panel.panel-default > .panel-heading .glyphicon {
  margin-right: 8px !important;
}

/* remove older tiny padding effect on profile-menu anchors */
.profile-menu > li > a {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-weight: 500 !important;
}

/* =========================================================
   PROFILE FORM - FIX PREVIOUS LAST NAME ROW ALIGNMENT
   ========================================================= */

.crmEntityFormView .entity-form .row,
.crmEntityFormView .form-custom-actions,
.crmEntityFormView .clearfix {
  clear: none !important;
}

.crmEntityFormView td {
  vertical-align: top !important;
}

/* Keep the form cells aligned naturally */
.crmEntityFormView .cell {
  padding-left: 0 !important;
}

/* =========================================================
   PROFILE FORM - FIX PREVIOUS LAST NAME ROW ALIGNMENT
   ========================================================= */

.crmEntityFormView .entity-form .row,
.crmEntityFormView .form-custom-actions,
.crmEntityFormView .clearfix {
  clear: none !important;
}

.crmEntityFormView td {
  vertical-align: top !important;
}

/* Keep the form cells aligned naturally */
.crmEntityFormView .cell {
  padding-left: 0 !important;
}

/* fix odd left gap before Previous Last Name row */
.crmEntityFormView td,
.crmEntityFormView .cell {
  padding-left: 0 !important;
  vertical-align: top !important;
}

.crmEntityFormView .row > [class*="col-"] {
  margin-left: 0 !important;
}

/* readonly email field should size to content instead of spilling out */
.crmEntityFormView input[readonly],
.crmEntityFormView .form-control[readonly] {
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  width: auto !important;
  min-width: 100% !important;
  max-width: none !important;
  display: inline-block !important;
  box-sizing: border-box !important;
}

.crmEntityFormView td,
.crmEntityFormView .cell {
  overflow: visible !important;
}

/* =========================================================
   LEFT ACCOUNT / PROFILE NAV - TARGET ACTUAL WEBLINK MARKUP
   ========================================================= */

/* outer nav container */
.weblinks-depth-1.weblinks.list-group {
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.08) !important;
  margin-bottom: 18px !important;
}

/* individual links */
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item {
  display: flex !important;
  align-items: center !important;
  min-height: 60px !important;
  padding: 16px 20px !important;
  background: #ffffff !important;
  color: #243041 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  position: relative !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease !important;
}

/* first item should not have a divider line */
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item:first-child {
  border-top: 0 !important;
}

/* hover */
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item:hover,
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item:focus {
  background: #f8fafc !important;
  color: #151f27 !important;
  padding-left: 24px !important;
  text-decoration: none !important;
  outline: none !important;
}

/* active/current item */
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item.active,
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item.active:hover,
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item.active:focus {
  background: linear-gradient(135deg, #222b3f 0%, #5f6d93 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-color: transparent !important;
  padding-left: 24px !important;
  z-index: 1 !important;
}

/* left accent bar */
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 0;
  border-radius: 0 6px 6px 0;
  background: #c52228;
  transition: width 0.2s ease;
}

.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item:hover::before,
.weblinks-depth-1.weblinks.list-group > a.weblink.list-group-item.active::before {
  width: 4px;
}

/* remove any bootstrap active defaults that flatten the look */
.weblinks-depth-1.weblinks.list-group > a.list-group-item,
.weblinks-depth-1.weblinks.list-group > a.list-group-item.active {
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
}

/* spacing between stacked nav groups like Profile and Security */
.col-md-4 .weblinks-depth-1.weblinks.list-group + .weblinks-depth-1.weblinks.list-group,
.col-sm-4 .weblinks-depth-1.weblinks.list-group + .weblinks-depth-1.weblinks.list-group {
  margin-top: 18px !important;
}

/* =========================================
   READONLY EMAIL - HIDE DUPLICATE STATIC DISPLAY
   Keep only the input-style readonly field
   ========================================= */

/* hide static readonly text/link rendering inside entity forms */
.crmEntityFormView .form-control-static,
.crmEntityFormView .readonly,
.crmEntityFormView .field-value.readonly {
  display: none !important;
}

/* keep the readonly input visible and styled */
.crmEntityFormView input[readonly],
.crmEntityFormView .form-control[readonly] {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* =========================================================
   APPLICANT DASHBOARD - MODERN DIV TABLES
   Targets custom div-based tables like .divTable.applications
   ========================================================= */

/* overall table shell */
.divTable.applications,
.divTable.previouseducation,
.divTable.testscores,
.divTable {
  width: 100% !important;
  margin: 14px 0 28px 0 !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.06) !important;
}

/* heading wrapper */
.divTableHeading {
  background: linear-gradient(135deg, #4f5d75 0%, #66739a 100%) !important;
  border: 0 !important;
}

/* heading row */
.divTableHeadingRow {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* heading cells */
.divTableHead {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  min-height: 58px !important;
  padding: 14px 18px !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  border-right: 1px solid rgba(255,255,255,0.10) !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* last heading cell */
.divTableHead:last-child {
  border-right: 0 !important;
}

/* body wrapper */
.divTableBody {
  display: block !important;
  background: #ffffff !important;
}

/* rows */
.divTableRow {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  border-top: 1px solid #edf1f5 !important;
  transition: background-color 0.2s ease !important;
}

/* zebra striping */
.divTableRow:nth-child(even) {
  background: #fbfcfe !important;
}

/* row hover */
.divTableRow:hover {
  background: #f6f9fc !important;
}

/* body cells */
.divTableCell {
  display: flex !important;
  align-items: center !important;
  min-height: 60px !important;
  padding: 14px 18px !important;
  color: #243041 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  border-right: 1px solid #edf1f5 !important;
  overflow-wrap: anywhere !important;
}

.divTableCell:last-child {
  border-right: 0 !important;
}

/* empty state rows */
.divTableBody:empty::before,
.divTable.applications .divTableBody:empty::before {
  content: "No records available";
  display: block;
  padding: 18px 20px;
  color: #667085;
  font-size: 14px;
  font-weight: 500;
  background: #ffffff;
}

/* improve spacing between section title and table */
h1 + .divTable,
h2 + .divTable,
h3 + .divTable,
h4 + .divTable {
  margin-top: 10px !important;
}

/* buttons/links inside table cells */
.divTableCell a,
.divTableCell .btn,
.divTableCell button {
  font-size: 14px !important;
}

/* make long headings more readable */
.divTableHead br {
  display: block;
  content: "";
  margin-top: 2px;
}

/* responsive behavior */
@media (max-width: 991px) {
  .divTableHeadingRow,
  .divTableRow {
    flex-wrap: wrap !important;
  }

  .divTableHead,
  .divTableCell {
    min-width: 50% !important;
    flex: 1 1 50% !important;
    border-right: 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
  }

  .divTableHead:last-child,
  .divTableCell:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .divTableHead,
  .divTableCell {
    min-width: 100% !important;
    flex: 1 1 100% !important;
  }
}


/* Support rows/cells that use bootstrap grid classes */
.divTableHeadingRow > [class*="col-"].divTableHead,
.divTableRow > [class*="col-"].divTableCell,
.divTableRow > [class*="col-"] {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* Support rows/cells that use bootstrap grid classes */
.divTableHeadingRow > [class*="col-"].divTableHead,
.divTableRow > [class*="col-"].divTableCell,
.divTableRow > [class*="col-"] {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}


/* =========================================================
   PROGRAM APPLICATION WIZARD - MODERN UI
   ========================================================= */

/* page shell */
.program-application-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px 24px 40px 24px;
}

/* header area */
.pa-header-content {
  text-align: center;
  margin-bottom: 28px !important;
}

.pa-header-content h1,
.program-application-wrapper h1 {
  font-size: 56px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  color: #212937 !important;
  letter-spacing: -1px;
  margin-bottom: 14px !important;
}

.pa-header-content p,
.program-application-wrapper .subtitle,
.program-application-wrapper .lead {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #667085 !important;
  margin-bottom: 0 !important;
}

/* progress wrapper */
#pa-progressbar-container,
.pa-progressbar-container {
  margin: 28px auto 34px auto !important;
  padding: 0 18px !important;
  position: relative;
}

/* progress track */
#progressBar.progress,
.progress#progressBar,
.program-application-wrapper .progress {
  height: 8px !important;
  background: #e9edf3 !important;
  border-radius: 999px !important;
  overflow: visible !important;
  box-shadow: inset 0 1px 2px rgba(16, 24, 40, 0.06) !important;
  margin-bottom: 38px !important;
}

/* active fill */
#progressBar .progress-bar,
.program-application-wrapper .progress-bar {
  background: linear-gradient(90deg, #7cc576 0%, #53a653 100%) !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 8px rgba(83, 166, 83, 0.18) !important;
}

/* step circles */
.step-indicator {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 2px solid #c9d2df !important;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.06) !important;
  transition: all 0.25s ease !important;
  z-index: 2;
}

/* completed step */
.step-indicator.completed-step,
.step-indicator.completed {
  background: #f2fbf2 !important;
  border-color: #53a653 !important;
  box-shadow: 0 6px 16px rgba(83, 166, 83, 0.18) !important;
}

/* current step */
.step-indicator.current-step,
.step-indicator.active-step,
.step-indicator.active {
  background: #ffffff !important;
  border-color: #c52228 !important;
  box-shadow: 0 0 0 6px rgba(197, 34, 40, 0.10) !important;
}

/* optional icon/text in circles */
.step-indicator .step-text,
.step-indicator span {
  color: #344054 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

/* step labels */
.step-label,
.step-label-mobile {
  margin-top: 14px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #344054 !important;
  text-align: center !important;
  min-width: 110px !important;
  transform: translateX(-50%) !important;
}

/* completed step labels */
.step-indicator.completed-step .step-label,
.step-indicator.completed .step-label {
  color: #1f6f2b !important;
}

/* future step labels */
.step-indicator.future-step .step-label,
.step-indicator.future-step .step-label-mobile {
  color: #667085 !important;
}

/* content card */
.pa-form-container {
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 40px rgba(16, 24, 40, 0.08) !important;
  padding: 44px 52px !important;
  margin-top: 14px !important;
  margin-bottom: 28px !important;
}

/* section title in the card */
.pa-form-container h2,
.pa-form-container h3,
.pa-form-container .section-title {
  font-size: 38px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: #212937 !important;
  margin-bottom: 28px !important;
  letter-spacing: -0.5px;
}

/* embedded media / welcome video */
.pa-form-container iframe,
.pa-form-container video,
.pa-form-container img {
  max-width: 100% !important;
  border-radius: 18px !important;
}

/* make welcome screen content breathe */
.pa-form-container > * + * {
  margin-top: 18px;
}

/* bottom nav container */
#paNavBtnContainer,
.pa-btn-container {
  position: sticky;
  bottom: 16px;
  z-index: 20;
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 8px !important;
}

/* button row */
.pa-button-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(255,255,255,0.92);
  border: 1px solid #e7ecf2;
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.12);
  backdrop-filter: blur(10px);
}

/* generic wizard buttons */
.pa-btn-prev,
.pa-btn-next,
.pa-btn-save,
.pa-btn-table-submit {
  min-height: 48px !important;
  border-radius: 14px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
  border: 1px solid transparent !important;
}

/* previous */
.pa-btn-prev {
  background: #ffffff !important;
  color: #344054 !important;
  border-color: #d0d5dd !important;
}

.pa-btn-prev:hover:not(:disabled) {
  background: #f8fafc !important;
  color: #151f27 !important;
}

/* save for later */
.pa-btn-save {
  background: #f8fafc !important;
  color: #475467 !important;
  border-color: #d0d5dd !important;
}

.pa-btn-save:hover:not(:disabled) {
  background: #eef2f6 !important;
  color: #151f27 !important;
}

/* next / submit */
.pa-btn-next,
.pa-btn-table-submit {
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(90, 123, 227, 0.22) !important;
}

.pa-btn-next:hover:not(:disabled),
.pa-btn-table-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(90, 123, 227, 0.28) !important;
}

/* disabled */
.pa-btn-prev:disabled,
.pa-btn-next:disabled,
.pa-btn-save:disabled,
.pa-btn-table-submit:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* mobile */
@media (max-width: 991px) {
  .pa-header-content h1,
  .program-application-wrapper h1 {
    font-size: 42px !important;
  }

  .pa-form-container {
    padding: 28px 24px !important;
    border-radius: 20px !important;
  }

  .pa-form-container h2,
  .pa-form-container h3,
  .pa-form-container .section-title {
    font-size: 30px !important;
  }

  .step-label,
  .step-label-mobile {
    font-size: 13px !important;
    min-width: 90px !important;
  }
}

@media (max-width: 767px) {
  .program-application-wrapper {
    padding: 10px 14px 28px 14px;
  }

  .pa-header-content h1,
  .program-application-wrapper h1 {
    font-size: 34px !important;
  }

  #pa-progressbar-container,
  .pa-progressbar-container {
    padding: 0 6px !important;
  }

  .step-indicator {
    width: 34px !important;
    height: 34px !important;
  }

  .step-label,
  .step-label-mobile {
    font-size: 12px !important;
    min-width: 72px !important;
  }

  #paNavBtnContainer,
  .pa-btn-container {
    position: static;
  }

  .pa-button-row {
    width: 100%;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}

.step-indicator.current-step,
.step-indicator.active-step,
.step-indicator.active {
  transform: scale(1.06);
}

.pa-form-container .welcome-intro,
.pa-form-container .instructions {
  max-width: 900px;
  margin: 0 auto;
}

.pa-form-container iframe {
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
}





/* =========================================================
   PROGRAM APPLICATION WIZARD - PREMIUM PROGRESS BAR
   ========================================================= */

/* progress wrapper spacing */
#pa-progressbar-container,
.pa-progressbar-container {
  position: relative !important;
  margin: 30px auto 44px auto !important;
  padding: 0 28px !important;
}

/* base track */
#progressBar.progress,
.progress#progressBar,
#pa-progressbar-container .progress {
  position: relative !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #eef2f7 0%, #e5ebf3 100%) !important;
  border: 1px solid #dbe3ee !important;
  overflow: visible !important;
  box-shadow:
    inset 0 1px 2px rgba(16, 24, 40, 0.06),
    0 1px 0 rgba(255,255,255,0.6) !important;
  margin-bottom: 46px !important;
}

/* active fill */
#progressBar .progress-bar,
#pa-progressbar-container .progress-bar {
  height: 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #7cc576 0%, #61b55f 45%, #53a653 100%) !important;
  box-shadow:
    0 4px 10px rgba(83, 166, 83, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.35) !important;
}

/* step circles */
.step-indicator {
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 2px solid #c8d1dd !important;
  box-shadow:
    0 8px 18px rgba(16, 24, 40, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
  z-index: 3 !important;
  transition: all 0.25s ease !important;
}

/* subtle inner dot for future steps */
.step-indicator::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d7deea;
  transform: translate(-50%, -50%);
  transition: all 0.25s ease;
}

/* completed steps */
.step-indicator.completed-step,
.step-indicator.completed {
  border-color: #53a653 !important;
  background: linear-gradient(180deg, #f7fff6 0%, #eef9ee 100%) !important;
  box-shadow:
    0 10px 22px rgba(83, 166, 83, 0.18),
    0 0 0 6px rgba(83, 166, 83, 0.10) !important;
}

.step-indicator.completed-step::after,
.step-indicator.completed::after {
  background: #53a653 !important;
  width: 12px;
  height: 12px;
}

/* current step */
.step-indicator.current-step,
.step-indicator.active-step,
.step-indicator.active {
  border-color: #c52228 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%) !important;
  box-shadow:
    0 12px 26px rgba(197, 34, 40, 0.14),
    0 0 0 7px rgba(197, 34, 40, 0.10) !important;
  transform: translate(-50%, -50%) scale(1.08) !important;
}

.step-indicator.current-step::after,
.step-indicator.active-step::after,
.step-indicator.active::after {
  background: #c52228 !important;
  width: 12px;
  height: 12px;
}

/* if the first completed step uses a check icon */
.step-indicator .fa-check,
.step-indicator .glyphicon-ok,
.step-indicator .step-text {
  position: absolute;
  inset: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #53a653 !important;
  z-index: 2;
}

/* labels */
.step-label,
.step-label-mobile {
  position: absolute !important;
  top: calc(100% + 18px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 120px !important;
  max-width: 140px !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #344054 !important;
  letter-spacing: 0.1px;
  white-space: normal !important;
}

/* completed/current label emphasis */
.step-indicator.completed-step .step-label,
.step-indicator.completed .step-label,
.step-indicator.completed-step .step-label-mobile,
.step-indicator.completed .step-label-mobile {
  color: #1f6f2b !important;
}

.step-indicator.current-step .step-label,
.step-indicator.active-step .step-label,
.step-indicator.active .step-label,
.step-indicator.current-step .step-label-mobile,
.step-indicator.active-step .step-label-mobile,
.step-indicator.active .step-label-mobile {
  color: #212937 !important;
  font-weight: 700 !important;
}

/* future labels */
.step-indicator.future-step .step-label,
.step-indicator.future-step .step-label-mobile {
  color: #667085 !important;
}

/* mobile labels hidden by default only if your existing script uses both */
.step-label-mobile {
  display: none !important;
}

/* add subtle connectors feel around circles */
.step-indicator {
  backdrop-filter: blur(2px);
}

/* smoother small-screen behavior */
@media (max-width: 1199px) {
  .step-indicator {
    width: 42px !important;
    height: 42px !important;
  }

  .step-label,
  .step-label-mobile {
    min-width: 108px !important;
    max-width: 120px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 991px) {
  #pa-progressbar-container,
  .pa-progressbar-container {
    padding: 0 10px !important;
    margin-bottom: 26px !important;
  }

  #progressBar.progress,
  .progress#progressBar,
  #pa-progressbar-container .progress {
    margin-bottom: 54px !important;
  }

  .step-indicator {
    width: 36px !important;
    height: 36px !important;
  }

  .step-indicator::after {
    width: 8px;
    height: 8px;
  }

  .step-label {
    display: none !important;
  }

  .step-label-mobile {
    display: block !important;
    min-width: 74px !important;
    max-width: 86px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    top: calc(100% + 14px) !important;
  }
}

@media (max-width: 767px) {
  #progressBar.progress,
  .progress#progressBar,
  #pa-progressbar-container .progress {
    height: 8px !important;
  }

  #progressBar .progress-bar,
  #pa-progressbar-container .progress-bar {
    height: 8px !important;
  }

  .step-indicator {
    width: 30px !important;
    height: 30px !important;
    border-width: 2px !important;
  }

  .step-label-mobile {
    min-width: 64px !important;
    max-width: 72px !important;/* =========================================
   PROGRAM APPLICATION WIZARD - CENTER CHECK ICON
   ========================================= */

/* make the step circle a true centering container */
.step-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
}

/* completed/current steps should not show the inner dot */
.step-indicator.completed-step::after,
.step-indicator.completed::after,
.step-indicator.current-step::after,
.step-indicator.active-step::after,
.step-indicator.active::after {
  display: none !important;
}

/* center the check/icon/text properly */
.step-indicator .fa-check,
.step-indicator .glyphicon-ok,
.step-indicator .step-text,
.step-indicator svg {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #53a653 !important;
  transform: none !important;
  z-index: 2 !important;
}

/* if font-awesome svg is being nudged by inherited styles */
.step-indicator svg.svg-inline--fa {
  overflow: visible !important;
}

/* Completed step should feel fully complete */
.step-indicator.completed-step,
.step-indicator.completed {
  background: linear-gradient(180deg, #f7fff6 0%, #eef9ee 100%) !important;
  border: 2px solid #53a653 !important;
  box-shadow:
    0 8px 20px rgba(83, 166, 83, 0.18),
    0 0 0 6px rgba(83, 166, 83, 0.10) !important;
}

/* Remove the inner dot on completed steps */
.step-indicator.completed-step::after,
.step-indicator.completed::after {
  display: none !important;
}

/* Center the success icon */
.step-indicator.completed-step .fa-check,
.step-indicator.completed .fa-check,
.step-indicator.completed-step .glyphicon-ok,
.step-indicator.completed .glyphicon-ok,
.step-indicator.completed-step svg,
.step-indicator.completed svg {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 18px !important;
  height: 18px !important;
  color: #53a653 !important;
  z-index: 3 !important;
}

/* Current step remains the focus */
.step-indicator.current-step,
.step-indicator.active-step,
.step-indicator.active {
  background: #fffefe !important;
  border: 2px solid #c52228 !important;
  box-shadow:
    0 10px 24px rgba(197, 34, 40, 0.14),
    0 0 0 7px rgba(197, 34, 40, 0.10) !important;
}

/* Keep a centered red dot for current step */
.step-indicator.current-step::after,
.step-indicator.active-step::after,
.step-indicator.active::after {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  background: #c52228 !important;
}

.step-indicator.completed-step .step-label,
.step-indicator.completed .step-label,
.step-indicator.completed-step .step-label-mobile,
.step-indicator.completed .step-label-mobile {
  color: #1f6f2b !important;
  font-weight: 700 !important;
}
    font-size: 11px !important;
  }
}

#pa-progressbar-container {
  background: transparent;
}

.pa-form-container {
  margin-top: 8px !important;
}

#pa-progressbar-container {
  background: transparent;
}

.pa-form-container {
  margin-top: 8px !important;
}

.header .header-main {
    padding: 40px 0px 10px 0px;
}

/* =========================================
   PROGRAM APPLICATION WIZARD - CENTER CHECK ICON
   ========================================= */

/* make the step circle a true centering container */
.step-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
}

/* completed/current steps should not show the inner dot */
.step-indicator.completed-step::after,
.step-indicator.completed::after,
.step-indicator.current-step::after,
.step-indicator.active-step::after,
.step-indicator.active::after {
  display: none !important;
}

/* center the check/icon/text properly */
.step-indicator .fa-check,
.step-indicator .glyphicon-ok,
.step-indicator .step-text,
.step-indicator svg {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #53a653 !important;
  transform: none !important;
  z-index: 2 !important;
}

/* if font-awesome svg is being nudged by inherited styles */
.step-indicator svg.svg-inline--fa {
  overflow: visible !important;
}

/* Completed step should feel fully complete */
.step-indicator.completed-step,
.step-indicator.completed {
  background: linear-gradient(180deg, #f7fff6 0%, #eef9ee 100%) !important;
  border: 2px solid #53a653 !important;
  box-shadow:
    0 8px 20px rgba(83, 166, 83, 0.18),
    0 0 0 6px rgba(83, 166, 83, 0.10) !important;
}

/* Remove the inner dot on completed steps */
.step-indicator.completed-step::after,
.step-indicator.completed::after {
  display: none !important;
}

/* Center the success icon */
.step-indicator.completed-step .fa-check,
.step-indicator.completed .fa-check,
.step-indicator.completed-step .glyphicon-ok,
.step-indicator.completed .glyphicon-ok,
.step-indicator.completed-step svg,
.step-indicator.completed svg {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 18px !important;
  height: 18px !important;
  color: #53a653 !important;
  z-index: 3 !important;
}

/* Current step remains the focus */
.step-indicator.current-step,
.step-indicator.active-step,
.step-indicator.active {
  background: #fffefe !important;
  border: 2px solid #c52228 !important;
  box-shadow:
    0 10px 24px rgba(197, 34, 40, 0.14),
    0 0 0 7px rgba(197, 34, 40, 0.10) !important;
}

/* Keep a centered red dot for current step */
.step-indicator.current-step::after,
.step-indicator.active-step::after,
.step-indicator.active::after {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  background: #c52228 !important;
}

.step-indicator.completed-step .step-label,
.step-indicator.completed .step-label,
.step-indicator.completed-step .step-label-mobile,
.step-indicator.completed .step-label-mobile {
  color: #1f6f2b !important;
  font-weight: 700 !important;
}

.program-application-wrapper .xrm-editable-html,
.program-application-wrapper .xrm-attribute,
.program-application-wrapper .xrm-attribute-value,
#programSelectionContainer,
#addProgramSelectionContainer {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.program-application-wrapper .xrm-attribute-value:empty,
.program-application-wrapper .xrm-attribute-value span:empty,
.program-application-wrapper .xrm-editable-html p:empty,
.program-application-wrapper .xrm-editable-html div:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   PROGRAM SELECTION SECTION - MODERNIZATION
   ========================================================= */

/* main section wrappers */
#programSelectionContainer,
#addProgramSelectionContainer,
#searchProgramSelectionContainer,
#searchProgramSelectionForm {
  width: 100% !important;
}

/* make the highlighted search area feel like a clear section */
#searchProgramSelectionContainer {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 30px rgba(16, 24, 40, 0.06) !important;
  padding: 28px 28px 24px 28px !important;
  margin-top: 10px !important;
  margin-bottom: 28px !important;
}

/* title area */
#searchProgramSelectionForm .header-title-container {
  margin-bottom: 18px !important;
}

/* section title */
#searchProgramSelectionForm .header-title {
  font-size: 28px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: #212937 !important;
  letter-spacing: -0.3px;
  margin: 0 0 10px 0 !important;
}

/* helper description */
#searchProgramSelectionForm .header-description {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #667085 !important;
  margin: 0 !important;
  max-width: 760px;
}

/* top instructional text block above search area */
.xrm-editable-html .xrm-attribute-value span,
.xrm-editable-html .xrm-attribute-value p,
.xrm-editable-html .xrm-attribute-value div {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #6b1f14 !important;
  font-weight: 600 !important;
}

/* spacing between intro copy and search title */
#searchProgramSelectionContainer .header-title-container {
  padding-top: 6px !important;
}

/* filter row */
#searchProgramSelectionForm .row.g-3,
#searchProgramSelectionForm .row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 18px !important;
  margin-top: 18px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-items: end !important;
}

/* filter items */
#searchProgramSelectionForm .input-item,
#searchProgramSelectionForm [class*="col-md-"],
#searchProgramSelectionForm [class*="col-sm-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 1 1 220px !important;
  min-width: 220px !important;
}

/* inputs/selects inside this area */
#searchProgramSelectionForm .form-control,
#searchProgramSelectionForm input[type="text"],
#searchProgramSelectionForm input[type="search"],
#searchProgramSelectionForm select {
  min-height: 56px !important;
  border-radius: 16px !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  border: 1px solid #d7dde5 !important;
  background: #ffffff !important;
  color: #212937 !important;
  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

/* hover/focus states */
#searchProgramSelectionForm .form-control:hover,
#searchProgramSelectionForm input[type="text"]:hover,
#searchProgramSelectionForm input[type="search"]:hover,
#searchProgramSelectionForm select:hover {
  border-color: #b8c2d0 !important;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.06) !important;
}

#searchProgramSelectionForm .form-control:focus,
#searchProgramSelectionForm input[type="text"]:focus,
#searchProgramSelectionForm input[type="search"]:focus,
#searchProgramSelectionForm select:focus {
  border-color: #c52228 !important;
  box-shadow: 0 0 0 4px rgba(197, 34, 40, 0.12) !important;
  outline: none !important;
}

/* placeholder */
#searchProgramSelectionForm input::placeholder {
  color: #98a2b3 !important;
  font-weight: 400 !important;
}

/* search/results table spacing after filters */
#searchProgramSelectionContainer .divTable,
#searchProgramSelectionContainer table,
#searchProgramSelectionContainer .results-grid {
  margin-top: 24px !important;
}

/* make section heading above the whole program step feel cleaner */
.program-application-wrapper .xrm-editable-html,
.program-application-wrapper .xrm-attribute,
.program-application-wrapper .xrm-attribute-value {
  margin-bottom: 10px !important;
}

/* results header/table wrapper inside section */
#searchProgramSelectionContainer .divTable,
#searchProgramSelectionContainer table {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 20px rgba(16, 24, 40, 0.05) !important;
}

/* mobile */
@media (max-width: 991px) {
  #searchProgramSelectionContainer {
    padding: 22px 20px 20px 20px !important;
    border-radius: 20px !important;
  }

  #searchProgramSelectionForm .header-title {
    font-size: 24px !important;
  }

  #searchProgramSelectionForm .header-description {
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
  #searchProgramSelectionContainer {
    padding: 18px 16px !important;
  }

  #searchProgramSelectionForm .header-title {
    font-size: 22px !important;
  }

  #searchProgramSelectionForm .row.g-3,
  #searchProgramSelectionForm .row {
    gap: 12px !important;
  }

  #searchProgramSelectionForm .input-item,
  #searchProgramSelectionForm [class*="col-md-"],
  #searchProgramSelectionForm [class*="col-sm-"] {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

/* Intro text block refinement */
.program-application-wrapper .xrm-editable-html {
  margin-bottom: 20px !important;
}

.program-application-wrapper .xrm-editable-html .xrm-attribute-value {
  max-width: 900px;
}

/* =========================================================
   PROGRAM APPLICATION - MODERN SELECT / DROPDOWN LOOK
   ========================================================= */

/* modern closed select fields */
#searchProgramSelectionForm select,
#searchProgramSelectionForm select.form-control,
.program-application-wrapper select,
.program-application-wrapper select.form-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  min-height: 56px !important;
  height: 56px !important;
  padding: 14px 48px 14px 18px !important;

  border: 1px solid #d7dde5 !important;
  border-radius: 16px !important;
  background-color: #ffffff !important;
  color: #212937 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;

  box-shadow: 0 2px 8px rgba(16, 24, 40, 0.04) !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease !important;

  background-image:
    linear-gradient(45deg, transparent 50%, #667085 50%),
    linear-gradient(135deg, #667085 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* hover */
#searchProgramSelectionForm select:hover,
#searchProgramSelectionForm select.form-control:hover,
.program-application-wrapper select:hover,
.program-application-wrapper select.form-control:hover {
  border-color: #b8c2d0 !important;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.06) !important;
}

/* focus */
#searchProgramSelectionForm select:focus,
#searchProgramSelectionForm select.form-control:focus,
.program-application-wrapper select:focus,
.program-application-wrapper select.form-control:focus {
  border-color: #c52228 !important;
  box-shadow: 0 0 0 4px rgba(197, 34, 40, 0.12) !important;
  outline: none !important;
}

/* placeholder/default option look */
#searchProgramSelectionForm select:invalid,
.program-application-wrapper select:invalid {
  color: #667085 !important;
  font-weight: 500 !important;
}

/* option styling - browser support varies */
#searchProgramSelectionForm select option,
.program-application-wrapper select option {
  color: #212937;
  background: #ffffff;
  font-size: 15px;
  font-weight: 500;
}

/* selected option */
#searchProgramSelectionForm select option:checked,
.program-application-wrapper select option:checked {
  background: #5a7be3 !important;
  color: #ffffff !important;
}

/* disabled state */
#searchProgramSelectionForm select:disabled,
.program-application-wrapper select:disabled {
  background-color: #f8fafc !important;
  color: #98a2b3 !important;
  border-color: #e4e7ec !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
#searchProgramSelectionForm select,
.program-application-wrapper select {
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* =========================================================
   PROGRAM SELECTION TABLE - MODERNIZED
   ========================================================= */

/* outer table wrapper */
#programSelectionTableContainer .table-scroll-container,
#programSelectionsTable.pa-table,
#hidePSTable {
  border-radius: 22px !important;
  overflow: hidden !important;
}

/* actual table */
#programSelectionsTable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.06) !important;
}

/* header row */
#programSelectionsTable thead tr {
  background: linear-gradient(135deg, #4f5d75 0%, #66739a 100%) !important;
}

/* all header cells */
#programSelectionsTable thead th,
#programSelectionsTable .table-header-cell,
#programSelectionsTable .table-edit-cell {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  white-space: nowrap !important;
}

/* rounded header corners */
#programSelectionsTable thead th:first-child {
  border-top-left-radius: 22px !important;
}

#programSelectionsTable thead th:last-child {
  border-top-right-radius: 22px !important;
}

/* specifically fix the last empty/dark header cell */
#programSelectionsTable thead th.table-edit-cell,
#programSelectionsTable thead th.pa-edit-w {
  background: linear-gradient(135deg, #4f5d75 0%, #66739a 100%) !important;
  color: #ffffff !important;
  width: 120px !important;
  min-width: 120px !important;
  text-align: center !important;
}

/* body rows */
#programSelectionsTable tbody tr,
#programSelectionsTable .table-row {
  background: #ffffff !important;
  transition: background-color 0.2s ease !important;
}

/* zebra striping */
#programSelectionsTable tbody tr:nth-child(even),
#programSelectionsTable .table-row:nth-child(even) {
  background: #f8fafc !important;
}

/* hover */
#programSelectionsTable tbody tr:hover,
#programSelectionsTable .table-row:hover {
  background: #f2f6fb !important;
}

/* body cells */
#programSelectionsTable tbody td,
#programSelectionsTable .table-cell,
#programSelectionsTable .table-cell-edit {
  padding: 18px 18px !important;
  color: #344054 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  vertical-align: top !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
}

/* make program name slightly stronger */
#programSelectionsTable td[name="programdescription"],
#programSelectionsTable .table-cell[name="programdescription"] {
  color: #243041 !important;
  font-weight: 600 !important;
}

/* action column */
#programSelectionsTable td.table-cell-edit,
#programSelectionsTable td[name="edit"],
#programSelectionsTable .table-cell-edit {
  width: 120px !important;
  min-width: 120px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* turn SELECT into a button */
#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 88px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: 0 8px 18px rgba(90, 123, 227, 0.18) !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.2s ease, opacity 0.2s ease !important;
}

/* button hover */
#programSelectionsTable .pa-edit-link:hover,
#programSelectionsTable .table-cell-edit .pa-edit-link:hover,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 22px rgba(90, 123, 227, 0.24) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* button focus */
#programSelectionsTable .pa-edit-link:focus,
#programSelectionsTable .table-cell-edit .pa-edit-link:focus {
  outline: none !important;
  box-shadow:
    0 0 0 4px rgba(90, 123, 227, 0.16),
    0 10px 20px rgba(90, 123, 227, 0.18) !important;
}

/* long cell text wraps more gracefully */
#programSelectionsTable td,
#programSelectionsTable th {
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* mobile */
@media (max-width: 991px) {
  #programSelectionsTable thead th,
  #programSelectionsTable tbody td {
    padding: 14px 14px !important;
    font-size: 14px !important;
  }

  #programSelectionsTable td.table-cell-edit,
  #programSelectionsTable th.table-edit-cell {
    width: 100px !important;
    min-width: 100px !important;
  }

  #programSelectionsTable .pa-edit-link,
  #programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
    min-width: 76px !important;
    min-height: 34px !important;
    font-size: 13px !important;
  }
}

/* Add label to empty action header */
#programSelectionsTable thead th.table-edit-cell::before,
#programSelectionsTable thead th.pa-edit-w::before {
  content: "Action";
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
}

#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  background: #eef4ff !important;
  color: #3f5fc4 !important;
  box-shadow: none !important;
  border: 1px solid #d9e4ff !important;
}

/* =========================================================
   PROGRAM TABLE ACTION BUTTON STATES
   ========================================================= */

/* base action buttons */
#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 108px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease !important;
}

/* ---------------------------------
   DEFAULT = SELECT
--------------------------------- */
#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  border: 1px solid #5a7be3 !important;
  box-shadow: 0 8px 18px rgba(90, 123, 227, 0.18) !important;
}

/* hover for SELECT */
#programSelectionsTable .pa-edit-link:hover,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"]:hover {
  background: linear-gradient(135deg, #4f74e8 0%, #4368db 100%) !important;
  color: #ffffff !important;
  border-color: #4368db !important;
  box-shadow: 0 12px 22px rgba(67, 104, 219, 0.24) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

/* focus */
#programSelectionsTable .pa-edit-link:focus,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"]:focus {
  outline: none !important;
  box-shadow:
    0 0 0 4px rgba(90, 123, 227, 0.18),
    0 10px 20px rgba(90, 123, 227, 0.18) !important;
}

/* =========================================================
   SELECTED / DESELECT STATE
   Detects when button text becomes DESELECT
   ========================================================= */

/* if JS adds a selected class later, this is future-proof */
#programSelectionsTable .pa-edit-link.is-selected,
#programSelectionsTable .table-cell-edit div.is-selected,
#programSelectionsTable .table-cell-edit div[onclick*="false"] {
  background: linear-gradient(135deg, #eaf7ef 0%, #dff3e8 100%) !important;
  color: #1f7a46 !important;
  border: 1px solid #b8e3c9 !important;
  box-shadow: 0 8px 18px rgba(31, 122, 70, 0.10) !important;
}

/* hover for selected/deselect */
#programSelectionsTable .pa-edit-link.is-selected:hover,
#programSelectionsTable .table-cell-edit div.is-selected:hover,
#programSelectionsTable .table-cell-edit div[onclick*="false"]:hover {
  background: linear-gradient(135deg, #fff1f1 0%, #ffe4e4 100%) !important;
  color: #c52228 !important;
  border-color: #f0b7ba !important;
  box-shadow: 0 10px 20px rgba(197, 34, 40, 0.12) !important;
}

/* prevent bad washed-out hover from older rule */
#programSelectionsTable .pa-edit-link:hover,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"]:hover,
#programSelectionsTable .table-cell-edit div[onclick*="false"]:hover {
  text-decoration: none !important;
}

/* ensure no weird wrapping like DESELEC / T */
#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
}

/* slightly wider for selected state */
#programSelectionsTable .table-cell-edit div[onclick*="false"] {
  min-width: 118px !important;
}

#programSelectionsTable .pa-edit-link.is-selected::before,
#programSelectionsTable .table-cell-edit div[onclick*="false"]::before {
  content: "✓";
  margin-right: 6px;
  font-weight: 800;
}

/* =========================================
   PROGRAM SELECTION TABLE - FIX ACTION COLUMN CLIPPING
   ========================================= */

/* let the table size columns more naturally */
#programSelectionsTable {
  table-layout: auto !important;
  width: 100% !important;
}

/* widen the Action column */
#programSelectionsTable th.table-edit-cell,
#programSelectionsTable th.pa-edit-w,
#programSelectionsTable td.table-cell-edit {
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* make sure the action cell has enough inner room */
#programSelectionsTable td.table-cell-edit {
  padding-left: 20px !important;
  padding-right: 20px !important;
  overflow: visible !important;
}

/* keep buttons fully visible */
#programSelectionsTable .pa-edit-link,
#programSelectionsTable .table-cell-edit div[onclick*="admissionSelection"] {
  min-width: 108x !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* if the table wrapper is clipping the last column, relax it */
#programSelectionTableContainer,
#programSelectionTableContainer .table-scroll-container,
#hidePSTable {
  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* =========================================================
   SELECTED PROGRAM VERSION TABLE - MODERNIZED
   ========================================================= */

/* wrapper/card */
#hideSelectedProgramVersionTable,
#selectedProgramVersionTable,
#selectedProgramVersionTable.pa-table {
  width: 100% !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

#selectedProgramVersionTable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.06) !important;
}

/* header row */
#selectedProgramVersionTable thead tr {
  background: linear-gradient(135deg, #4f5d75 0%, #66739a 100%) !important;
}

/* header cells */
#selectedProgramVersionTable thead th,
#selectedProgramVersionTable .table-header-cell {
  background: transparent !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  padding: 16px 18px !important;
  border: 0 !important;
  white-space: nowrap !important;
}

/* rounded top corners */
#selectedProgramVersionTable thead th:first-child {
  border-top-left-radius: 22px !important;
}

#selectedProgramVersionTable thead th:last-child {
  border-top-right-radius: 22px !important;
}

/* body rows */
#selectedProgramVersionTable tbody tr,
#selectedProgramVersionTable .table-row {
  background: #ffffff !important;
  transition: background-color 0.2s ease !important;
}

#selectedProgramVersionTable tbody tr:nth-child(even),
#selectedProgramVersionTable .table-row:nth-child(even) {
  background: #f8fafc !important;
}

#selectedProgramVersionTable tbody tr:hover,
#selectedProgramVersionTable .table-row:hover {
  background: #f2f6fb !important;
}

/* body cells */
#selectedProgramVersionTable tbody td,
#selectedProgramVersionTable .table-cell {
  padding: 18px 18px !important;
  color: #344054 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  vertical-align: top !important;
  border: 0 !important;
  border-top: 1px solid #edf1f5 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* stronger program name */
#selectedProgramVersionTable td[name="programdescription"],
#selectedProgramVersionTable .table-cell[name="programdescription"] {
  color: #243041 !important;
  font-weight: 600 !important;
}

/* remove old hyperlink feel */
#selectedProgramVersionTable a,
#selectedProgramVersionTable .pa-edit-link,
#selectedProgramVersionTable div[onclick] {
  text-decoration: none !important;
}

/* action area cells */
#selectedProgramVersionTable td:last-child,
#selectedProgramVersionTable td.table-cell-edit,
#selectedProgramVersionTable td[name="edit"] {
  min-width: 220px !important;
  white-space: normal !important;
}


#selectedProgramVersionTable .set-secondary:hover,
#selectedProgramVersionTable div[onclick*="Secondary"]:hover,
#selectedProgramVersionTable div[onclick*="secondary"]:hover {
  background: #eef4ff !important;
  color: #2f4dae !important;
  transform: translateY(-1px) !important;
}


/* prevent weird wrapping in action text */
#selectedProgramVersionTable td:last-child *,
#selectedProgramVersionTable td.table-cell-edit * {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* make header spacing match wider action column */
#selectedProgramVersionTable thead th:last-child {
  min-width: 220px !important;
}

/* mobile/tablet */
@media (max-width: 991px) {
  #selectedProgramVersionTable thead th,
  #selectedProgramVersionTable tbody td {
    padding: 14px 14px !important;
    font-size: 14px !important;
  }

  #selectedProgramVersionTable td:last-child,
  #selectedProgramVersionTable td.table-cell-edit,
  #selectedProgramVersionTable thead th:last-child {
    min-width: 190px !important;
  }
}


/* ---------------------------
   Preferred Option button
---------------------------- */



/* prevent cutoff from wrappers */
#hideSelectedProgramVersionTable,
#selectedProgramVersionTable,
#selectedProgramVersionTable tbody,
#selectedProgramVersionTable tr,
#selectedProgramVersionTable td {
  overflow: visible !important;
}

/* slightly tighter on smaller screens */
@media (max-width: 991px) {
  #selectedProgramVersionTable td:last-child,
  #selectedProgramVersionTable td.table-cell-edit,
  #selectedProgramVersionTable th:last-child {
    min-width: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
  }

}

/* =========================================================
   SELECTED PROGRAM VERSION TABLE - NO HORIZONTAL SCROLL
   ========================================================= */

/* remove horizontal scrolling on the selected-program table wrapper */
#hideSelectedProgramVersionTable,
#hideSelectedProgramVersionTable .table-padding,
#hideSelectedProgramVersionTable .table-scroll-container {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* keep the table inside the card width */
#selectedProgramVersionTable {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* tighten header/cell padding a bit so everything fits */
#selectedProgramVersionTable th,
#selectedProgramVersionTable td {
  padding: 14px 12px !important;
  font-size: 14px !important;
  vertical-align: top !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* set practical widths for the data columns */
#selectedProgramVersionTable th:nth-child(1),
#selectedProgramVersionTable td:nth-child(1) { width: 25% !important; }

#selectedProgramVersionTable th:nth-child(2),
#selectedProgramVersionTable td:nth-child(2) { width: 18% !important; }

#selectedProgramVersionTable th:nth-child(3),
#selectedProgramVersionTable td:nth-child(3) { width: 18% !important; }

#selectedProgramVersionTable th:nth-child(4),
#selectedProgramVersionTable td:nth-child(4) { width: 18% !important; }

#selectedProgramVersionTable th:nth-child(5),
#selectedProgramVersionTable td:nth-child(5) { width: 12% !important; }

#selectedProgramVersionTable th:nth-child(6),
#selectedProgramVersionTable td:nth-child(6) { width: 10% !important; }

#selectedProgramVersionTable th:nth-child(7),
#selectedProgramVersionTable td:nth-child(7) { width: 10% !important; }

/* use the last visible column as the action column */
#selectedProgramVersionTable th:last-child,
#selectedProgramVersionTable td:last-child {
  width: 18% !important;
  min-width: 140px !important;
  max-width: none !important;
  white-space: normal !important;
}

/* if there is an extra empty trailing column, hide it */
#selectedProgramVersionTable th:empty,
#selectedProgramVersionTable td:empty {
  display: none !important;
}

/* also hide common empty trailing action header/cell variants */
#selectedProgramVersionTable th.table-edit-cell:empty,
#selectedProgramVersionTable th.pa-edit-w:empty,
#selectedProgramVersionTable td.table-cell-edit:empty {
  display: none !important;
}




/* =========================================================
   SELECTED PROGRAM VERSION TABLE - FINAL ACTION PILL STYLES
   ========================================================= */

/* action cell layout */
#selectedProgramVersionTable td.table-cell-edit,
#selectedProgramVersionTable td:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 180px !important;
  width: 180px !important;
  padding: 14px 14px !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* base pill style */
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link,
#selectedProgramVersionTable td:last-child .pa-edit-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    transform 0.15s ease !important;
}

/* first action = Remove */
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type,
#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type {
  background: #fff3f3 !important;
  color: #c52228 !important;
  border-color: #f1c4c6 !important;
}

#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type::before,
#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type::before {
  content: "−";
  margin-right: 6px;
  font-weight: 800;
  font-size: 16px;
}

#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type:hover,
#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type:hover {
  background: #ffe7e8 !important;
  color: #a61b20 !important;
  border-color: #e8a9ac !important;
  transform: translateY(-1px) !important;
}

/* second action = Preferred Option */
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2),
#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2) {
  background: #eef4ff !important;
  color: #3f5fc4 !important;
  border-color: #d7e3ff !important;
  min-width: 148px !important;
}

#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2)::before,
#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2)::before {
  content: "★";
  margin-right: 6px;
  font-weight: 800;
  font-size: 13px;
}

#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2):hover,
#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2):hover {
  background: #e6eeff !important;
  color: #2f4dae !important;
  border-color: #c2d3ff !important;
  transform: translateY(-1px) !important;
}

/* =========================================================
   PROGRAM APPLICATION WIZARD - MODERN NAV BUTTONS
   ========================================================= */

/* container */
#paNavBtnContainer,
.pa-btn-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 24px !important;
}

/* button row */
.pa-button-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 20px !important;
  padding: 10px !important;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.10) !important;
  backdrop-filter: blur(10px) !important;
}

/* shared base for all wizard nav buttons */
.pa-btn-prev,
.pa-btn-next,
.pa-btn-table-submit {
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease !important;
}

/* PREVIOUS button */
#prevBtn.pa-btn-prev {
  background: #ffffff !important;
  color: #344054 !important;
  border-color: #d0d5dd !important;
  box-shadow: 0 6px 14px rgba(16, 24, 40, 0.06) !important;
}

#prevBtn.pa-btn-prev:hover:not(:disabled) {
  background: #f8fafc !important;
  color: #151f27 !important;
  border-color: #bfc8d4 !important;
  box-shadow: 0 10px 20px rgba(16, 24, 40, 0.10) !important;
  transform: translateY(-1px) !important;
}

/* add arrow feel to Previous */
#prevBtn.pa-btn-prev::before {
  content: "←";
  margin-right: 8px;
  font-weight: 800;
  line-height: 1;
}

/* SAVE FOR LATER button */
#paSFLBtn.pa-btn-prev {
  background: #f8fafc !important;
  color: #667085 !important;
  border-color: #d0d5dd !important;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.04) !important;
}

#paSFLBtn.pa-btn-prev:hover:not(:disabled) {
  background: #eef2f6 !important;
  color: #344054 !important;
  border-color: #c7d0db !important;
  transform: translateY(-1px) !important;
}

/* NEXT button */
#nextBtn.pa-btn-next,
.pa-btn-next {
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(90, 123, 227, 0.22) !important;
}

#nextBtn.pa-btn-next:hover:not(:disabled),
.pa-btn-next:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a7be3 0%, #4d6ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(90, 123, 227, 0.28) !important;
  transform: translateY(-1px) !important;
}

/* optional arrow for Next */
#nextBtn.pa-btn-next::after,
.pa-btn-next::after {
  content: "→";
  margin-left: 8px;
  font-weight: 800;
  line-height: 1;
}

/* disabled */
.pa-btn-prev:disabled,
.pa-btn-next:disabled,
.pa-btn-table-submit:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* mobile */
@media (max-width: 767px) {
  #paNavBtnContainer,
  .pa-btn-container {
    justify-content: stretch !important;
  }

  .pa-button-row {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  .pa-btn-prev,
  .pa-btn-next,
  .pa-btn-table-submit {
    min-height: 46px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   SELECTED PROGRAM VERSION TABLE - FINAL ACTION COLUMN FIX
   ========================================================= */

/* keep table inside card and stop clipping */
#selectedProgramVersionTable,
#hideSelectedProgramVersionTable,
#hideSelectedProgramVersionTable .table-padding,
#hideSelectedProgramVersionTable .table-scroll-container {
  overflow: visible !important;
}

/* use a dedicated width for the final action column */
#selectedProgramVersionTable th:last-child,
#selectedProgramVersionTable td:last-child,
#selectedProgramVersionTable td.table-cell-edit {
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
  vertical-align: middle !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* action cell layout */
#selectedProgramVersionTable td:last-child,
#selectedProgramVersionTable td.table-cell-edit {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 18px 20px !important;
}

/* remove any divider line look between stacked actions */
#selectedProgramVersionTable td:last-child .pa-edit-link,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link {
  margin: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}

/* base pill */
#selectedProgramVersionTable td:last-child .pa-edit-link,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.15s ease !important;
}

/* first action = Remove */
#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type {
  background: #fff3f3 !important;
  color: #c52228 !important;
  border-color: #f1c4c6 !important;
  min-width: 128px !important;
}

#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type::before,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type::before {
  content: "−";
  margin-right: 6px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
}

#selectedProgramVersionTable td:last-child .pa-edit-link:first-of-type:hover,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:first-of-type:hover {
  background: #ffe7e8 !important;
  color: #a61b20 !important;
  border-color: #e8a9ac !important;
  transform: translateY(-1px) !important;
}

/* second action = Preferred Option */
#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2),
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2) {
  background: #eef4ff !important;
  color: #3f5fc4 !important;
  border-color: #d7e3ff !important;
  min-width: 172px !important;
}

#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2)::before,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2)::before {
  content: "★";
  margin-right: 6px;
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
}

#selectedProgramVersionTable td:last-child .pa-edit-link:nth-of-type(2):hover,
#selectedProgramVersionTable td.table-cell-edit .pa-edit-link:nth-of-type(2):hover {
  background: #e6eeff !important;
  color: #2f4dae !important;
  border-color: #c2d3ff !important;
  transform: translateY(-1px) !important;
}

/* =========================================================
   PROGRAM APPLICATION WIZARD - UNIFIED NAV BAR
   ========================================================= */

/* one unified action bar */
#paNavBtnContainer,
.pa-btn-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 28px !important;
}

/* the shared container */
.pa-button-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(255,255,255,0.94) !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 22px !important;
  padding: 10px !important;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.10) !important;
  backdrop-filter: blur(10px) !important;
}

/* make all three look like the same primary family */
#prevBtn.pa-btn-prev,
#paSFLBtn.pa-btn-prev,
#nextBtn.pa-btn-next {
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  border: 1px solid transparent !important;
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(90, 123, 227, 0.22) !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease !important;
}

/* identical hover behavior */
#prevBtn.pa-btn-prev:hover:not(:disabled),
#paSFLBtn.pa-btn-prev:hover:not(:disabled),
#nextBtn.pa-btn-next:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a7be3 0%, #4d6ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(90, 123, 227, 0.28) !important;
  transform: translateY(-1px) !important;
}

/* previous arrow */
#prevBtn.pa-btn-prev::before {
  content: "←";
  margin-right: 8px;
  font-weight: 800;
  line-height: 1;
}

/* next arrow */
#nextBtn.pa-btn-next::after {
  content: "→";
  margin-left: 8px;
  font-weight: 800;
  line-height: 1;
}

/* save for later stays same look, but muted when disabled */
#paSFLBtn.pa-btn-prev:disabled {
  opacity: 0.55 !important;
}

/* disabled styling for all */
#prevBtn.pa-btn-prev:disabled,
#paSFLBtn.pa-btn-prev:disabled,
#nextBtn.pa-btn-next:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* =========================================================
   PROGRAM APPLICATION WIZARD - UNIFIED NAV BAR (TUNED)
   ========================================================= */

/* shared action bar container */
#paNavBtnContainer,
.pa-btn-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 28px !important;
}

.pa-button-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(255,255,255,0.94) !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 22px !important;
  padding: 10px !important;
  box-shadow: 0 14px 34px rgba(16, 24, 40, 0.10) !important;
  backdrop-filter: blur(10px) !important;
}

/* shared button foundation */
#prevBtn.pa-btn-prev,
#paSFLBtn.pa-btn-prev,
#nextBtn.pa-btn-next {
  min-height: 52px !important;
  padding: 0 22px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease !important;
}

/* PREVIOUS - coordinated but secondary */
#prevBtn.pa-btn-prev {
  background: #eef4ff !important;
  color: #3f5fc4 !important;
  border: 1px solid #d7e3ff !important;
  box-shadow: 0 6px 16px rgba(63, 95, 196, 0.10) !important;
}

#prevBtn.pa-btn-prev:hover:not(:disabled) {
  background: #e3edff !important;
  color: #2f4dae !important;
  border-color: #c5d6ff !important;
  box-shadow: 0 10px 20px rgba(63, 95, 196, 0.14) !important;
  transform: translateY(-1px) !important;
}

#prevBtn.pa-btn-prev::before {
  content: "←";
  margin-right: 8px;
  font-weight: 800;
  line-height: 1;
}

/* SAVE FOR LATER - softer coordinated tertiary */
#paSFLBtn.pa-btn-prev {
  background: #f8fafc !important;
  color: #667085 !important;
  border: 1px solid #d0d5dd !important;
  box-shadow: 0 4px 12px rgba(16, 24, 40, 0.04) !important;
}

#paSFLBtn.pa-btn-prev:hover:not(:disabled) {
  background: #eef2f6 !important;
  color: #344054 !important;
  border-color: #c7d0db !important;
  box-shadow: 0 8px 18px rgba(16, 24, 40, 0.08) !important;
  transform: translateY(-1px) !important;
}

/* NEXT - strongest primary */
#nextBtn.pa-btn-next,
.pa-btn-next {
  background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  box-shadow: 0 8px 20px rgba(90, 123, 227, 0.22) !important;
}

#nextBtn.pa-btn-next:hover:not(:disabled),
.pa-btn-next:hover:not(:disabled) {
  background: linear-gradient(135deg, #5a7be3 0%, #4d6ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(90, 123, 227, 0.28) !important;
  transform: translateY(-1px) !important;
}

#nextBtn.pa-btn-next::after,
.pa-btn-next::after {
  content: "→";
  margin-left: 8px;
  font-weight: 800;
  line-height: 1;
}

/* disabled */
#prevBtn.pa-btn-prev:disabled,
#paSFLBtn.pa-btn-prev:disabled,
#nextBtn.pa-btn-next:disabled,
.pa-btn-next:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* INPUT ITEM ERROR MESSAGE */
.input-item {
    position: relative;
    margin-bottom: 1.5rem;
}

.input-item.has-error {
    margin-bottom: 3.25rem;
}
.input-item .error-message {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    width: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    margin: 0;
    border-radius: 12px;
    background: #fff4f4;
    border: 1px solid #f1b0b0;
    color: #b42318;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    box-shadow: 0 6px 16px rgba(180, 35, 24, 0.08);
    z-index: 10;
    white-space: normal;
    max-width: 100%;
    width: fit-content;
} 
.input-item .error-message::before {
    content: "⚠";
    font-size: 0.9rem;
    line-height: 1;
    color: #d92d20;
    flex-shrink: 0;
}

.input-item input.input-error,
.input-item select.input-error,
.input-item textarea.input-error,
.input-item .form-control.input-error {
    border: 1.5px solid #d92d20 !important;
    background: #fffafa;
    box-shadow: 0 0 0 4px rgba(217, 45, 32, 0.08);
}

/* ==========================================
   Previous Education - Add Education button
   ========================================== */
.pa-btn-table-add {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.6rem !important;
    min-height: 48px !important;
    padding: 0.85rem 1.2rem !important;
    border: 1px solid #cfd8f6 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #6b8cf0 0%, #5a7be3 100%) !important;
    color: #000000 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 22px rgba(79, 70, 229, 0.10) !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

.pa-btn-table-add:hover {
    background: #212937 !important;
    border-color: #b8c6f7 !important;
    color: #000000 !important;
    font-weight:bold;
    box-shadow: 0 12px 26px rgba(79, 70, 229, 0.16) !important;
    transform: translateY(-1px) !important;
}

.pa-btn-table-add:focus,
.pa-btn-table-add:focus-visible {
    outline: none !important;
    border-color: #9db4ff !important;
    box-shadow:
        0 0 0 4px rgba(79, 70, 229, 0.14),
        0 12px 26px rgba(79, 70, 229, 0.14) !important;
}

.pa-btn-table-add:active {
    transform: translateY(0) !important;
    box-shadow: 0 6px 14px rgba(79, 70, 229, 0.12) !important;
}

.pa-btn-table-add .pa-btn-icon,
.pa-btn-table-add .btn-icon,
.pa-btn-table-add .icon,
.pa-btn-table-add span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ffffff 0%, #72eda9 100%) !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 10px rgba(79, 70, 229, 0.22) !important;
}

button#addPrevEducation.pa-btn-table-add,
button#addPrevEducation.pa-btn-table-add span,
button#addPrevEducation.pa-btn-table-add strong {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pa-btn-table-add-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 100% !important;
}

/*****************************************************************************************************
                                  MODAL POPUP MODERNIZATION FIX
*****************************************************************************************************/

/* =========================================================
   GREYMATTER PORTAL - LOOKUP MODAL MODERNIZATION
   ========================================================= */

.modal-content {
  border: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18) !important;
  background: #ffffff !important;
}

.modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 24px !important;
  border-bottom: 1px solid #e9eef5 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

.modal-header .modal-title,
.modal-header h1,
.modal-header h2,
.modal-header h3,
.modal-header h4 {
  margin: 0 !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #212937 !important;
  letter-spacing: -0.02em !important;
}

.modal-header .close,
.modal-header button.close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 1px solid #d7dde5 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #667085 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
  transition: all 0.2s ease !important;
}

.modal-header .close:hover,
.modal-header button.close:hover {
  background: #f8fafc !important;
  color: #212937 !important;
  border-color: #cbd5e1 !important;
}

.modal-body {
  padding: 20px 24px 16px !important;
  background: #ffffff !important;
}

.modal-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 18px 24px 22px !important;
  border-top: 1px solid #e9eef5 !important;
  background: #fcfdff !important;
}

/* Search area inside lookup modal */
.modal-body .view-toolbar,
.modal-body .view-grid-toolbar,
.modal-body .input-group {
  margin-bottom: 14px !important;
}

.modal-body .input-group {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(16, 24, 40, 0.06) !important;
}

.modal-body .input-group .form-control {
  height: 48px !important;
  border: 1px solid #d7dde5 !important;
  border-right: 0 !important;
  border-radius: 14px 0 0 14px !important;
  padding: 12px 14px !important;
  font-size: 0.95rem !important;
  color: #212937 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.modal-body .input-group .form-control:focus {
  border-color: #9db4ff !important;
  box-shadow: inset 0 0 0 1px #9db4ff !important;
  outline: none !important;
}

.modal-body .input-group-btn .btn,
.modal-body .input-group-append .btn,
.modal-body .input-group .btn {
  min-width: 50px !important;
  height: 48px !important;
  border: 1px solid #d7dde5 !important;
  border-left: 0 !important;
  border-radius: 0 14px 14px 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
  color: #4f46e5 !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

.modal-body .input-group-btn .btn:hover,
.modal-body .input-group-append .btn:hover,
.modal-body .input-group .btn:hover {
  background: #eef2ff !important;
  color: #4338ca !important;
}

/* Lookup results table */
.lookup-modal .table,
.modal-body .table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 0 !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.lookup-modal .table thead th,
.modal-body .table thead th {
  background: #f8fafc !important;
  color: #42526b !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid #e6ebf2 !important;
  border-top: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  vertical-align: middle !important;
}

.lookup-modal .table tbody td,
.modal-body .table tbody td {
  padding: 14px 16px !important;
  font-size: 0.94rem !important;
  color: #212937 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #eef2f6 !important;
  vertical-align: middle !important;
  background: #ffffff !important;
}

.lookup-modal .table tbody tr:last-child td,
.modal-body .table tbody tr:last-child td {
  border-bottom: 0 !important;
}

.lookup-modal .table-hover tbody tr:hover td,
.modal-body .table-hover tbody tr:hover td {
  background: #f8fbff !important;
}

.lookup-modal .table tbody tr.selected td,
.modal-body .table tbody tr.selected td,
.modal-body .table tbody tr.info td,
.modal-body .table tbody tr.active td {
  background: #eef4ff !important;
  color: #1d4ed8 !important;
}

.modal-body .view-grid,
.modal-body .view-grid.has-pagination,
.modal-body .entity-grid {
  border: 0 !important;
  box-shadow: none !important;
}

.modal-body .view-grid .table-responsive,
.modal-body .table-responsive {
  border-radius: 16px !important;
  overflow: auto !important;
}

.modal-body .pagination {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

.modal-body .pagination > li {
  display: inline-flex !important;
}

.modal-body .pagination > li > a,
.modal-body .pagination > li > span {
  min-width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border: 1px solid #d7dde5 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #5f6b85 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

.modal-body .pagination > li > a:hover,
.modal-body .pagination > li > span:hover {
  background: #f8fafc !important;
  color: #212937 !important;
  border-color: #cbd5e1 !important;
}

.modal-body .pagination > .active > a,
.modal-body .pagination > .active > span {
  background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
  border-color: #5a67f2 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 20px rgba(90, 103, 242, 0.22) !important;
}

.modal-body ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.modal-body ::-webkit-scrollbar-thumb {
  background: #cfd8e3;
  border-radius: 999px;
}

.modal-body ::-webkit-scrollbar-track {
  background: #f5f7fb;
}

/* =========================================================
   PROFILE IMAGE MODERNIZATION
   ========================================================= */

#profileimage {
  width: 152px !important;
  height: 152px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%) !important;
  border: 1px solid #dbe3ec !important;
  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.10),
    0 2px 6px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.25s ease !important;
}

/* =========================================================
   PROFILE IMAGE MODERNIZATION
   ========================================================= */

#profileimage {
  width: 152px !important;
  height: 152px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%) !important;
  border: 1px solid #dbe3ec !important;
  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.10),
    0 2px 6px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.25s ease !important;
}

.col-md-4 .well {
  padding: 24px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%) !important;
  border: 1px solid #e8edf4 !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06) !important;
}

.col-md-4 .well a[role="button"] {
  position: relative !important;
  display: inline-block !important;
  padding: 10px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid #e7edf4 !important;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08) !important;
  transition: all 0.25s ease !important;
}

.col-md-4 .well a[role="button"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.12) !important;
}

#profileimage {
  width: 152px !important;
  height: 152px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%) !important;
  border: 1px solid #dbe3ec !important;
  box-shadow:
    0 10px 30px rgba(15, 23, 42, 0.10),
    0 2px 6px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.25s ease !important;
}

.col-md-4 .well a[role="button"]::after {
  content: "Change Photo";
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(33, 41, 55, 0.82);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  backdrop-filter: blur(10px);
  opacity: 0;
  transition: all 0.22s ease;
  pointer-events: none;
}

.col-md-4 .well a[role="button"]:hover::after {
  opacity: 1;
  bottom: 20px;
}

#updatingimage {
  margin-top: 12px !important;
  min-height: 20px !important;
  text-align: center !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #667085 !important;
}

/* =========================================================
   Previous Education - Inline Add Form Modernization
   ========================================================= */

#addPrevEducationForm {
    margin-top: 1.5rem !important;
    padding: 2rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, 0.06),
        0 2px 8px rgba(15, 23, 42, 0.03) !important;
    overflow: visible !important;
}

#addPrevEducationForm .header-title-container {
    margin-bottom: 1.5rem !important;
}

#addPrevEducationForm .header-title {
    margin: 0 0 0.45rem 0 !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #212937 !important;
}

#addPrevEducationForm .header-description {
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #5f6b85 !important;
}

#addPrevEducationForm .row.g-3 {
    row-gap: 1.25rem !important;
    column-gap: 0 !important;
}

#addPrevEducationForm .input-item {
    margin-bottom: 0.25rem !important;
}

#addPrevEducationForm label,
#addPrevEducationForm .input-item label {
    display: inline-block !important;
    margin-bottom: 0.55rem !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #243041 !important;
    letter-spacing: -0.01em !important;
}

#addPrevEducationForm input[type="text"],
#addPrevEducationForm input[type="search"],
#addPrevEducationForm input[type="date"],
#addPrevEducationForm input[type="number"],
#addPrevEducationForm select,
#addPrevEducationForm textarea,
#addPrevEducationForm .form-control {
    height: 52px !important;
    padding: 0.9rem 1rem !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #212937 !important;
    font-size: 0.96rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    transition: all 0.2s ease !important;
}

#addPrevEducationForm textarea {
    min-height: 120px !important;
    height: auto !important;
    padding-top: 0.9rem !important;
}

#addPrevEducationForm input::placeholder,
#addPrevEducationForm textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1 !important;
}

#addPrevEducationForm input:focus,
#addPrevEducationForm select:focus,
#addPrevEducationForm textarea:focus,
#addPrevEducationForm .form-control:focus {
    border-color: #9db4ff !important;
    box-shadow:
        0 0 0 4px rgba(79, 70, 229, 0.10),
        0 2px 8px rgba(79, 70, 229, 0.06) !important;
    outline: none !important;
}

#addPrevEducationForm .flex-row.mt-3 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.75rem !important;
    margin-top: 1.75rem !important;
    flex-wrap: wrap !important;
}

.pa-btn-table-back,
.pa-btn-table-confirm {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0.82rem 1.2rem !important;
    border-radius: 16px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.pa-btn-table-back {
    border: 1px solid #d8e0ea !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #42526b !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

.pa-btn-table-back:hover {
    background: #f8fafc !important;
    border-color: #cdd6e1 !important;
    color: #212937 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08) !important;
}

.pa-btn-table-confirm {
    border: 1px solid #5b67f2 !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(90, 103, 242, 0.22) !important;
}

.pa-btn-table-confirm:hover {
    background: linear-gradient(135deg, #6677f5 0%, #5160f0 100%) !important;
    border-color: #5160f0 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 30px rgba(90, 103, 242, 0.28) !important;
}

.pa-btn-table-back:focus,
.pa-btn-table-back:focus-visible,
.pa-btn-table-confirm:focus,
.pa-btn-table-confirm:focus-visible {
    outline: none !important;
}

@media (max-width: 767.98px) {
    #addPrevEducationForm {
        padding: 1.25rem !important;
        border-radius: 20px !important;
    }

    #addPrevEducationForm .header-title {
        font-size: 1.6rem !important;
    }

    #addPrevEducationForm .flex-row.mt-3 {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .pa-btn-table-back,
    .pa-btn-table-confirm {
        width: 100% !important;
    }
}


/* =========================================================
   Previous Education - History Table Modernization
   ========================================================= */

#hidePrevEdTable,
#prevEducationTable {
    width: 100% !important;
}

#hidePrevEdTable.table-padding {
    margin-top: 1.25rem !important;
}

#prevEducationTable {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !important;
}

#prevEducationTable thead th,
#prevEducationTable .table-header-cell {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
}

#prevEducationTable thead th:last-child,
#prevEducationTable .table-header-cell:last-child {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: transparent !important;
    width: 120px !important;
}

#prevEducationTable tbody td,
#prevEducationTable .table-cell {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 1.2rem !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

#prevEducationTable tbody tr:last-child td {
    border-bottom: 0 !important;
}

#prevEducationTable tbody tr:hover td {
    background: #fbfcff !important;
}

#prevEducationTable th.pe-institution-w,
#prevEducationTable td.pe-institution-w {
    width: 24% !important;
}

#prevEducationTable th.pe-enrolldate-w,
#prevEducationTable td.pe-enrolldate-w {
    width: 14% !important;
}

#prevEducationTable th.pe-edleveldate-w,
#prevEducationTable td.pe-edleveldate-w {
    width: 16% !important;
}

#prevEducationTable th.pe-major-w,
#prevEducationTable td.pe-major-w {
    width: 18% !important;
}

#prevEducationTable th.pe-gpa-w,
#prevEducationTable td.pe-gpa-w {
    width: 10% !important;
}

#prevEducationTable th.pe-graddate-w,
#prevEducationTable td.pe-graddate-w {
    width: 14% !important;
}

#prevEducationTable th.pe-edit-w,
#prevEducationTable td.pe-edit-w {
    width: 120px !important;
    text-align: right !important;
}

#prevEducationTable td:last-child,
#prevEducationTable .table-edit-cell {
    text-align: right !important;
    vertical-align: middle !important;
}

#prevEducationTable td:last-child a,
#prevEducationTable .table-edit-cell a,
#prevEducationTable a.delete-row,
#prevEducationTable a.remove-row {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0.62rem 0.95rem !important;
    border: 1px solid #efc7c7 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fffafa 0%, #fff3f3 100%) !important;
    color: #b42318 !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(180, 35, 24, 0.08) !important;
    transition: all 0.2s ease !important;
}

#prevEducationTable td:last-child a:hover,
#prevEducationTable .table-edit-cell a:hover,
#prevEducationTable a.delete-row:hover,
#prevEducationTable a.remove-row:hover {
    background: linear-gradient(180deg, #fff2f2 0%, #ffe9e9 100%) !important;
    border-color: #e8a8a8 !important;
    color: #912018 !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(180, 35, 24, 0.12) !important;
}

#prevEducationTable td:last-child a:focus,
#prevEducationTable .table-edit-cell a:focus,
#prevEducationTable a.delete-row:focus,
#prevEducationTable a.remove-row:focus {
    outline: none !important;
    text-decoration: none !important;
    box-shadow:
        0 0 0 4px rgba(180, 35, 24, 0.12),
        0 12px 24px rgba(180, 35, 24, 0.12) !important;
}

#noPrevEdRecords {
    margin: 1rem 0 0 0 !important;
    font-size: 1rem !important;
    font-style: italic !important;
    color: #667085 !important;
}

#prevEducationTable thead tr th,
#prevEducationTable thead tr th:last-child {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
}

/* =========================================================
   Profile Page - Address / SMS Preference Block
   ========================================================= */

.crmEntityFormView td.boolean-radio-cell {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.crmEntityFormView td.boolean-radio-cell .info {
    margin: 1rem 0 1.5rem 0 !important;
    padding: 1.25rem 1.4rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
    line-height: 1.6 !important;
}

.crmEntityFormView td.boolean-radio-cell .info > label {
    display: block !important;
    margin-bottom: 0.85rem !important;
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: #243041 !important;
    letter-spacing: -0.01em !important;
}

.crmEntityFormView td.boolean-radio-cell .info > label:first-of-type {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.55rem !important;
    margin-bottom: 1.1rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid #edf2f7 !important;
}

.crmEntityFormView td.boolean-radio-cell input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin-right: 0.15rem !important;
    margin-top: 0.15rem !important;
    accent-color: #5a67f2 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.crmEntityFormView td.boolean-radio-cell input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    margin-right: 0.35rem !important;
    accent-color: #5a67f2 !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.crmEntityFormView td.boolean-radio-cell .control {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.85rem !important;
    margin-top: 0.25rem !important;
}

.crmEntityFormView td.boolean-radio-cell .control label,
.crmEntityFormView td.boolean-radio-cell .radio label,
.crmEntityFormView td.boolean-radio-cell .boolean-radio-cell label {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0.45rem 0.8rem !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    font-size: 0.94rem !important;
    font-weight: 600 !important;
    color: #42526b !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.crmEntityFormView td.boolean-radio-cell .control label:hover,
.crmEntityFormView td.boolean-radio-cell .radio label:hover {
    background: #f8faff !important;
    border-color: #c8d5f5 !important;
    color: #243041 !important;
}

/* =========================================================
   Review Application - Page Modernization
   ========================================================= */

#summary-container {
    margin-top: 1rem !important;
    padding: 2rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.06),
        0 4px 10px rgba(15, 23, 42, 0.03) !important;
}

.pa-summary-header-h3,
h3.pa-summary-header-h3 {
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 1px solid #e8edf4 !important;
    font-size: 1.7rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: #212937 !important;
}

#readOnlyStudentInformation {
    margin-top: 0.5rem !important;
}

#readOnlyStudentInformation,
#readOnlyStudentInformation p,
#readOnlyStudentInformation div,
#readOnlyStudentInformation span {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    color: #42526b !important;
}

#readOnlyStudentInformation strong,
#readOnlyStudentInformation b,
#readOnlyStudentInformation .font-semibold {
    color: #243041 !important;
    font-weight: 700 !important;
}

#readOnlyStudentInformation .row {
    row-gap: 0.45rem !important;
}

/* =========================================================
   Review Application - Summary Tables
   ========================================================= */

#summaryProgramSelectionsTable,
#summaryPrevEdTable,
#summaryTestScoresTable {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
    margin-top: 0.6rem !important;
}

#summaryProgramSelectionsTable thead th,
#summaryPrevEdTable thead th,
#summaryTestScoresTable thead th,
#summaryProgramSelectionsTable .pa-th-bg th,
#summaryPrevEdTable .pa-th-bg th,
#summaryTestScoresTable .pa-th-bg th,
.pa-th-bg,
.pa-th-bg tr,
.pa-th-bg th {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
}

#summaryProgramSelectionsTable tbody td,
#summaryPrevEdTable tbody td,
#summaryTestScoresTable tbody td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

#summaryProgramSelectionsTable tbody tr:last-child td,
#summaryPrevEdTable tbody tr:last-child td,
#summaryTestScoresTable tbody tr:last-child td {
    border-bottom: 0 !important;
}

#summaryProgramSelectionsTable tbody tr:hover td,
#summaryPrevEdTable tbody tr:hover td,
#summaryTestScoresTable tbody tr:hover td {
    background: #fbfcff !important;
}

#reviewAppSection .overflow-x-auto,
#summary-container .overflow-x-auto {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
}

#reviewAppSection .inline-block,
#summary-container .inline-block {
    min-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: top !important;
}

#reviewAppSection .rounded-lg,
#summary-container .rounded-lg {
    border-radius: 18px !important;
}

.no-records {
    margin: 0.5rem 0 1rem 0 !important;
    font-size: 0.98rem !important;
    font-style: italic !important;
    color: #667085 !important;
}

#payNavButtonSection {
    margin-top: 2rem !important;
    padding-top: 0.5rem !important;
    border-top: 1px solid #e8edf4 !important;
}

/* =========================================================
   Standardized Test Scores - Table Modernization
   ========================================================= */

#hideTestScoreTable,
#testScoreTable {
    width: 100% !important;
}

#hideTestScoreTable.table-padding {
    margin-top: 1.25rem !important;
}

#testScoreTable {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !important;
}

#testScoreTable thead th,
#testScoreTable .table-header-cell,
#testScoreTable .table-edit-cell {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
}

#testScoreTable thead th:last-child,
#testScoreTable .table-edit-cell {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: transparent !important;
    width: 120px !important;
    text-align: right !important;
}

#testScoreTable thead tr th,
#testScoreTable thead tr th:last-child {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
}

#testScoreTable tbody td,
#testScoreTable .table-body td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.93rem !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

#testScoreTable tbody tr:last-child td {
    border-bottom: 0 !important;
}

#testScoreTable tbody tr:hover td {
    background: #fbfcff !important;
}

#testScoreTable th:nth-child(1),
#testScoreTable td:nth-child(1) {
    width: 22% !important;
}

#testScoreTable th:nth-child(2),
#testScoreTable td:nth-child(2) {
    width: 16% !important;
}

#testScoreTable th:nth-child(3),
#testScoreTable td:nth-child(3) {
    width: 18% !important;
}

#testScoreTable th:nth-child(4),
#testScoreTable td:nth-child(4) {
    width: 14% !important;
}

#testScoreTable th:nth-child(5),
#testScoreTable td:nth-child(5) {
    width: 20% !important;
}

#testScoreTable th:nth-child(6),
#testScoreTable td:nth-child(6) {
    width: 120px !important;
    text-align: right !important;
}

#testScoreTable td:last-child,
#testScoreTable .table-edit-cell {
    text-align: right !important;
    vertical-align: middle !important;
}

#testScoreTable td:last-child a,
#testScoreTable .table-edit-cell a,
#testScoreTable a.delete-row,
#testScoreTable a.remove-row {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0.62rem 0.95rem !important;
    border: 1px solid #efc7c7 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fffafa 0%, #fff3f3 100%) !important;
    color: #b42318 !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(180, 35, 24, 0.08) !important;
    transition: all 0.2s ease !important;
}

#testScoreTable td:last-child a:hover,
#testScoreTable .table-edit-cell a:hover,
#testScoreTable a.delete-row:hover,
#testScoreTable a.remove-row:hover {
    background: linear-gradient(180deg, #fff2f2 0%, #ffe9e9 100%) !important;
    border-color: #e8a8a8 !important;
    color: #912018 !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 12px 24px rgba(180, 35, 24, 0.12) !important;
}

#testScoreTable td:last-child a:focus,
#testScoreTable .table-edit-cell a:focus,
#testScoreTable a.delete-row:focus,
#testScoreTable a.remove-row:focus {
    outline: none !important;
    text-decoration: none !important;
    box-shadow:
        0 0 0 4px rgba(180, 35, 24, 0.12),
        0 12px 24px rgba(180, 35, 24, 0.12) !important;
}

#noTestScoreRecords {
    margin: 1rem 0 0 0 !important;
    font-size: 1rem !important;
    font-style: italic !important;
    color: #667085 !important;
}

#testScoresContainer.pa-table-container {
    padding: 1.5rem 1.5rem 1rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05) !important;
}

/* =========================================================
   Application Submission - Loading State
   ========================================================= */

#submitLoadingSection {
    margin-top: 1.5rem !important;
}

.pa-spinner-container {
    min-height: 280px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.25rem !important;
    padding: 2.5rem 2rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.06),
        0 4px 10px rgba(15, 23, 42, 0.03) !important;
}

.pa-spinner-container p,
.pa-spinner-container .spinner-text,
.pa-spinner-container .loading-message {
    margin: 0 !important;
    max-width: 460px !important;
    text-align: center !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    color: #5f6b85 !important;
}

.pa-spinner-container .spinner-title,
.pa-spinner-container h3 {
    margin: 0 !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #212937 !important;
}

/* =========================================================
   Application Submission - Success / Payment Choice State
   ========================================================= */

#payNowLaterSection {
    margin-top: 1.5rem !important;
    padding: 2.25rem 2rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.06),
        0 4px 10px rgba(15, 23, 42, 0.03) !important;
}

#payNowLaterSection .alert,
#payNowLaterSection .alert-success {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.9rem !important;
    margin: 0 0 1.75rem 0 !important;
    padding: 1.25rem 1.35rem !important;
    border: 1px solid #b7e0bf !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #f6fff8 0%, #effcf2 100%) !important;
    color: #1f5130 !important;
    box-shadow: 0 8px 22px rgba(22, 101, 52, 0.06) !important;
}

#payNowLaterSection .alert-success .fa,
#payNowLaterSection .alert-success .glyphicon,
#payNowLaterSection .alert-success .success-icon {
    color: #2e9b4d !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    margin-top: 0.15rem !important;
    flex-shrink: 0 !important;
}

#payNowLaterSection .alert-success,
#payNowLaterSection .alert-success p,
#payNowLaterSection .alert-success span,
#payNowLaterSection .alert-success div {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
    color: #2b4a35 !important;
}

#payNowLaterSection .flex-center,
#payNowLaterSection .flex-col,
#payNowLaterSection .gap-3rem {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
}

#payNowLaterSection .pay-later-btn,
#payNowLaterSection .btn-pay-later {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0.82rem 1.2rem !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #42526b !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
    transition: all 0.22s ease !important;
}

#payNowLaterSection .pay-later-btn:hover,
#payNowLaterSection .btn-pay-later:hover {
    background: #f8fafc !important;
    border-color: #cdd6e1 !important;
    color: #212937 !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

#payNowLaterSection .pay-now-btn,
#payNowLaterSection .btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0.82rem 1.3rem !important;
    border: 1px solid #5b67f2 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(90, 103, 242, 0.22) !important;
    transition: all 0.22s ease !important;
}

#payNowLaterSection .pay-now-btn:hover,
#payNowLaterSection .btn-primary:hover {
    background: linear-gradient(135deg, #6677f5 0%, #5160f0 100%) !important;
    border-color: #5160f0 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
    box-shadow: 0 16px 30px rgba(90, 103, 242, 0.28) !important;
}
/* =========================================================
   Event Registrations - Page & Table Modernization
   ========================================================= */

.entity-grid,
.view-grid,
.entitylist.entity-grid,
.entity-grid.subgrid,
.event-registrations-grid {
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, 0.05),
        0 2px 8px rgba(15, 23, 42, 0.03) !important;
    overflow: hidden !important;
    margin-top: 1rem !important;
}

.entity-grid .view-grid,
.view-grid {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.view-grid table,
.entity-grid table,
.table.table-striped.table-fluid {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
}

.view-grid thead th,
.entity-grid thead th,
.table.table-striped.table-fluid thead th,
.view-grid thead tr th,
.entity-grid thead tr th {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
}

.view-grid tbody td,
.entity-grid tbody td,
.table.table-striped.table-fluid tbody td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.93rem !important;
    line-height: 1.45 !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

.view-grid tbody tr:last-child td,
.entity-grid tbody tr:last-child td,
.table.table-striped.table-fluid tbody tr:last-child td {
    border-bottom: 0 !important;
}

.view-grid tbody tr:hover td,
.entity-grid tbody tr:hover td,
.table.table-striped.table-fluid tbody tr:hover td {
    background: #fbfcff !important;
}

.view-grid thead th.sort-enabled,
.view-grid thead th.sort-disabled,
.entity-grid thead th.sort-enabled,
.entity-grid thead th.sort-disabled {
    position: relative !important;
}

.view-grid thead th a,
.entity-grid thead th a {
    color: #42526b !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.view-grid thead th a:hover,
.entity-grid thead th a:hover {
    color: #243041 !important;
    text-decoration: none !important;
}

.view-grid .fa,
.view-grid .glyphicon,
.entity-grid .fa,
.entity-grid .glyphicon {
    margin-left: 0.35rem !important;
    color: #7c8aa5 !important;
    font-size: 0.8rem !important;
}

.view-grid .view-empty,
.entity-grid .view-empty,
.entity-grid .view-empty-message,
.view-grid .view-empty-message,
.view-grid .alert,
.entity-grid .alert,
.view-grid .alert-warning,
.entity-grid .alert-warning {
    margin: 1.25rem !important;
    padding: 1.2rem 1.35rem !important;
    border: 1px solid #e6edf5 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #f8fafc 0%, #f3f7fc 100%) !important;
    color: #5f6b85 !important;
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
}

.page-heading h1,
.page-heading h2,
h1.page-title,
h2.page-title {
    margin-bottom: 1rem !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #212937 !important;
}

/* =========================================================
   Appointment Booking - Form Modernization
   ========================================================= */

.service-schedule,
#ContentContainer_ContentBottom_SearchPanel,
.form-horizontal {
    margin-top: 1rem !important;
    padding: 2rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 18px 40px rgba(15, 23, 42, 0.06),
        0 4px 10px rgba(15, 23, 42, 0.03) !important;
}

.form-horizontal .control-label,
.form-horizontal label.control-label,
#ContentContainer_ContentBottom_SearchPanel label.control-label {
    display: block !important;
    margin-bottom: 0.55rem !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #243041 !important;
    text-align: left !important;
    letter-spacing: -0.01em !important;
}

@media (min-width: 768px) {
    .form-horizontal .control-label {
        text-align: left !important;
        padding-top: 0 !important;
        margin-bottom: 0.55rem !important;
    }
}

.form-horizontal .form-group,
#ContentContainer_ContentBottom_SearchPanel .form-group {
    margin-bottom: 1.35rem !important;
}

.form-horizontal .col-sm-3,
.form-horizontal .col-sm-9,
.form-horizontal .col-md-8,
.form-horizontal .col-md-offset-2 {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.form-horizontal input[type="text"],
.form-horizontal input[type="search"],
.form-horizontal input[type="date"],
.form-horizontal input[type="time"],
.form-horizontal select,
.form-horizontal textarea,
.form-horizontal .form-control {
    height: 52px !important;
    padding: 0.9rem 1rem !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #212937 !important;
    font-size: 1.46rem !important;
    font-family:'Poppins', sans-serif;
    line-height: 1.2 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    transition: all 0.2s ease !important;
}

.form-horizontal textarea {
    min-height: 130px !important;
    height: auto !important;
    padding-top: 0.9rem !important;
    resize: vertical !important;
}

.form-horizontal input::placeholder,
.form-horizontal textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1 !important;
}

.form-horizontal input:focus,
.form-horizontal select:focus,
.form-horizontal textarea:focus,
.form-horizontal .form-control:focus {
    border-color: #9db4ff !important;
    box-shadow:
        0 0 0 4px rgba(79, 70, 229, 0.10),
        0 2px 8px rgba(79, 70, 229, 0.06) !important;
    outline: none !important;
}

.form-horizontal input[type="time"] {
    max-width: 140px !important;
    text-align: center !important;
    font-weight: 600 !important;
}

.form-horizontal .btn-primary,
.form-horizontal input[type="submit"],
.form-horizontal button[type="submit"],
.form-horizontal .btn-find-times {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0.9rem 1.3rem !important;
    border: 1px solid #5b67f2 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    font-size: 1.46rem !important;
    font-family: 'poppins',sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(90, 103, 242, 0.22) !important;
    transition: all 0.22s ease !important;
}

.form-horizontal .btn-primary:hover,
.form-horizontal input[type="submit"]:hover,
.form-horizontal button[type="submit"]:hover,
.form-horizontal .btn-find-times:hover {
    background: linear-gradient(135deg, #6677f5 0%, #5160f0 100%) !important;
    border-color: #5160f0 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 30px rgba(90, 103, 242, 0.28) !important;
}

/* =========================================================
   Appointment Booking - Date Range Picker Modernization
   ========================================================= */

.daterangepicker {
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.18),
        0 6px 18px rgba(15, 23, 42, 0.08) !important;
    padding: 0 !important;
    overflow: hidden !important;
    min-width: 760px !important;
}

.daterangepicker .ranges {
    width: 160px !important;
    padding: 1rem 0 !important;
    border-right: 1px solid #edf2f7 !important;
    background: linear-gradient(180deg, #fbfcff 0%, #f7f9fc 100%) !important;
}

.daterangepicker .ranges ul {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.daterangepicker .ranges li {
    margin: 0 !important;
    padding: 0.8rem 1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #42526b !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    transition: all 0.18s ease !important;
}

.daterangepicker .ranges li:hover {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

.daterangepicker .ranges li.active {
    background: linear-gradient(90deg, #e9eeff 0%, #eef2ff 100%) !important;
    color: #4f46e5 !important;
    font-weight: 700 !important;
}

.daterangepicker .drp-calendar {
    padding: 1.2rem 1.1rem 1rem !important;
    background: #ffffff !important;
}

.daterangepicker .calendar-table {
    border: 0 !important;
    background: transparent !important;
}

.daterangepicker .calendar-table table {
    border-collapse: separate !important;
    border-spacing: 6px !important;
    width: 100% !important;
    margin: 0 !important;
}

.daterangepicker .calendar-table .month {
    color: #212937 !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
    border: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.daterangepicker .calendar-table th {
    color: #7c8aa5 !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 0.35rem 0 !important;
}

.daterangepicker td.available,
.daterangepicker td.off,
.daterangepicker td.in-range,
.daterangepicker td.active,
.daterangepicker td.start-date,
.daterangepicker td.end-date {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    line-height: 38px !important;
    border-radius: 12px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    transition: all 0.18s ease !important;
}

.daterangepicker td.available {
    background: #ffffff !important;
    color: #243041 !important;
}

.daterangepicker td.available:hover {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

.daterangepicker td.off,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date {
    color: #b7c0cf !important;
    background: transparent !important;
}

.daterangepicker td.in-range {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

.daterangepicker td.active,
.daterangepicker td.start-date,
.daterangepicker td.end-date {
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(90, 103, 242, 0.22) !important;
}

.daterangepicker .drp-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    padding: 1rem 1.25rem !important;
    border-top: 1px solid #edf2f7 !important;
    background: #fbfcff !important;
}

.daterangepicker .drp-selected {
    color: #5f6b85 !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
}

.daterangepicker .btn {
    min-height: 42px !important;
    padding: 0.72rem 1rem !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.daterangepicker .btn.btn-sm.btn-default,
.daterangepicker .btn.cancelBtn {
    border: 1px solid #d8e0ea !important;
    background: #ffffff !important;
    color: #42526b !important;
}

.daterangepicker .btn.btn-sm.btn-default:hover,
.daterangepicker .btn.cancelBtn:hover {
    background: #f8fafc !important;
    color: #212937 !important;
}

.daterangepicker .btn.btn-sm.btn-primary,
.daterangepicker .btn.applyBtn {
    border: 1px solid #5b67f2 !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(90, 103, 242, 0.20) !important;
}

.daterangepicker .btn.btn-sm.btn-primary:hover,
.daterangepicker .btn.applyBtn:hover {
    background: linear-gradient(135deg, #6677f5 0%, #5160f0 100%) !important;
    color: #ffffff !important;
}

@media (max-width: 991.98px) {
    .daterangepicker {
        min-width: 100% !important;
        width: calc(100vw - 32px) !important;
        left: 16px !important;
        right: 16px !important;
    }

    .daterangepicker .ranges {
        width: 100% !important;
        border-right: 0 !important;
        border-bottom: 1px solid #edf2f7 !important;
    }
}

/* =========================================================
   Appointment Booking - Available Times Results
   ========================================================= */

#ContentContainer_ContentBottom_ResultsDisplay {
    padding: 1.75rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, 0.05),
        0 2px 8px rgba(15, 23, 42, 0.03) !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .alert,
#ContentContainer_ContentBottom_ResultsDisplay .alert-info,
#ContentContainer_ContentBottom_ResultsDisplay .alert-block {
    margin: 0 0 1rem 0 !important;
    padding: 1rem 1.2rem !important;
    border: 1px solid #cfe4fb !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #f3f9ff 0%, #eaf4ff 100%) !important;
    color: #315b7c !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

#ContentContainer_ContentBottom_AvailableTimes,
.service-schedule table.table.table-striped.table-hover.table-bordered {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.service-schedule table.table thead th,
#ContentContainer_ContentBottom_AvailableTimes thead th {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    padding: 14px 18px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

.service-schedule table.table tbody td,
#ContentContainer_ContentBottom_AvailableTimes tbody td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    padding: 15px 18px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    vertical-align: middle !important;
}

.service-schedule table.table tbody tr:last-child td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr:last-child td {
    border-bottom: 0 !important;
}

.service-schedule table.table tbody tr {
    cursor: pointer !important;
    transition: all 0.18s ease !important;
}

.service-schedule table.table tbody tr:hover td {
    background: #f8fbff !important;
}

.service-schedule table.table tbody tr.selected td,
.service-schedule table.table tbody tr[style*="background"] td,
.service-schedule table.table tbody tr.active td {
    background: linear-gradient(180deg, #eef4ff 0%, #e7efff 100%) !important;
    color: #1f3d7a !important;
    font-weight: 700 !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .btn,
#ContentContainer_ContentBottom_ResultsDisplay input[type="submit"],
#ContentContainer_ContentBottom_ResultsDisplay button {
    min-height: 48px !important;
    padding: 0.82rem 1.2rem !important;
    border-radius: 16px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: all 0.22s ease !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .btn-default,
#ContentContainer_ContentBottom_ResultsDisplay .btn-secondary,
#ContentContainer_ContentBottom_ResultsDisplay button[id*="Back"] {
    border: 1px solid #d8e0ea !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #42526b !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .btn-primary,
#ContentContainer_ContentBottom_ResultsDisplay button[id*="Schedule"],
#ContentContainer_ContentBottom_ResultsDisplay input[value*="Schedule"] {
    border: 1px solid #5b67f2 !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(90, 103, 242, 0.22) !important;
}

/* =========================================================
   Profile - Booked Appointments Table
   ========================================================= */

.service-schedule table.table.table-striped,
#ContentContainer_MainContent_MainContent_ContentBottom_BookedAppointments {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

.service-schedule table.table thead th,
#ContentContainer_MainContent_MainContent_ContentBottom_BookedAppointments thead th {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    vertical-align: middle !important;
    padding: 14px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

.service-schedule table.table tbody td,
#ContentContainer_MainContent_MainContent_ContentBottom_BookedAppointments tbody td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.93rem !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
    padding: 15px 16px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

.service-schedule table.table tbody tr:last-child td,
#ContentContainer_MainContent_MainContent_ContentBottom_BookedAppointments tbody tr:last-child td {
    border-bottom: 0 !important;
}

.service-schedule table.table tbody tr:hover td,
#ContentContainer_MainContent_MainContent_ContentBottom_BookedAppointments tbody tr:hover td {
    background: #fbfcff !important;
}

.service-schedule table.table tbody a[href*="Cancel"],
.service-schedule table.table tbody input[value*="Cancel"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0.68rem 1rem !important;
    border: 1px solid #f3a27c !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ff8d4a 0%, #e66b2d 100%) !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 20px rgba(230, 107, 45, 0.18) !important;
}

.service-schedule table.table tbody a[href*="Calendar"],
.service-schedule table.table tbody input[value*="Calendar"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0.68rem 1rem !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #42526b !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

/* =========================================================
   Date Range Picker - Fix black header / text contrast
   ========================================================= */

/* Reset all calendar header cells */
.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td,
.daterangepicker .calendar-table table th,
.daterangepicker .calendar-table table td,
.daterangepicker table.table-condensed th,
.daterangepicker table.table-condensed td {
    background: transparent !important;
    color: #243041 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Month row / navigation row */
.daterangepicker .calendar-table .month,
.daterangepicker .calendar-table th.month,
.daterangepicker .calendar-table th.prev,
.daterangepicker .calendar-table th.next,
.daterangepicker table.table-condensed thead th,
.daterangepicker table.table-condensed thead tr:first-child th {
    background: #ffffff !important;
    color: #212937 !important;
    font-weight: 800 !important;
}

/* Day-of-week header row */
.daterangepicker .calendar-table thead tr:nth-child(2) th,
.daterangepicker table.table-condensed thead tr:nth-child(2) th {
    background: transparent !important;
    color: #7c8aa5 !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* Prev/next arrow cells */
.daterangepicker .calendar-table th.prev,
.daterangepicker .calendar-table th.next,
.daterangepicker table.table-condensed th.prev,
.daterangepicker table.table-condensed th.next {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    color: #42526b !important;
    transition: all 0.18s ease !important;
}

.daterangepicker .calendar-table th.prev:hover,
.daterangepicker .calendar-table th.next:hover,
.daterangepicker table.table-condensed th.prev:hover,
.daterangepicker table.table-condensed th.next:hover {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

/* Explicitly kill inherited dark table header styles */
.daterangepicker thead,
.daterangepicker thead tr,
.daterangepicker thead th,
.daterangepicker .calendar-table thead,
.daterangepicker .calendar-table thead tr,
.daterangepicker .calendar-table thead th {
    background-image: none !important;
}

/* Keep selected / in-range day styling intact */
.daterangepicker td.available {
    background: #ffffff !important;
    color: #243041 !important;
}

.daterangepicker td.available:hover {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

.daterangepicker td.in-range {
    background: #eef2ff !important;
    color: #3730a3 !important;
}

.daterangepicker td.active,
.daterangepicker td.start-date,
.daterangepicker td.end-date {
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
}

/* =========================================================
   Appointment Booking - Available Times Results Fix
   ========================================================= */

/* Results wrapper */
#ContentContainer_ContentBottom_ResultsDisplay {
    width: 100% !important;
    max-width: 920px !important;
    margin: 1.5rem auto 0 !important;
    padding: 1.5rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, 0.05),
        0 2px 8px rgba(15, 23, 42, 0.03) !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Prevent weird extra visual floating bars/backgrounds above results */
#ContentContainer_ContentBottom_ResultsDisplay::before,
#ContentContainer_ContentBottom_ResultsDisplay::after {
    display: none !important;
    content: none !important;
}

/* Info banner */
#ContentContainer_ContentBottom_ResultsDisplay .alert,
#ContentContainer_ContentBottom_ResultsDisplay .alert-info,
#ContentContainer_ContentBottom_ResultsDisplay .alert-block {
    margin: 0 0 1rem 0 !important;
    padding: 1rem 1.2rem !important;
    border: 1px solid #cfe4fb !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #f3f9ff 0%, #eaf4ff 100%) !important;
    color: #315b7c !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

/* Table shell */
#ContentContainer_ContentBottom_AvailableTimes,
.service-schedule table.table.table-striped.table-hover.table-bordered {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
    margin-bottom: 1rem !important;
}

/* Header */
.service-schedule table.table thead th,
#ContentContainer_ContentBottom_AvailableTimes thead th {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5fb 100%) !important;
    color: #42526b !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    padding: 14px 18px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6edf5 !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

/* Base row cells */
.service-schedule table.table tbody td,
#ContentContainer_ContentBottom_AvailableTimes tbody td {
    background: #ffffff !important;
    color: #243041 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    padding: 15px 18px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef3f8 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    vertical-align: middle !important;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease !important;
}

/* Kill legacy striped backgrounds */
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th,
.service-schedule table.table-striped > tbody > tr:nth-child(odd) > td,
.service-schedule table.table-striped > tbody > tr:nth-child(odd) > th {
    background: #ffffff !important;
}

/* Hover */
.service-schedule table.table tbody tr:hover td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr:hover td {
    background: #f8fbff !important;
}

/* Clickable rows */
.service-schedule table.table tbody tr,
#ContentContainer_ContentBottom_AvailableTimes tbody tr {
    cursor: pointer !important;
    transition: all 0.18s ease !important;
}

/* Strong selected row state */
.service-schedule table.table tbody tr.success td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.success td,
.service-schedule table.table tbody tr.selected td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.selected td,
.service-schedule table.table tbody tr.active td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.active td,
.service-schedule table.table tbody tr[style*="background"] td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr[style*="background"] td {
    background: linear-gradient(180deg, #eef4ff 0%, #e7efff 100%) !important;
    color: #1f3d7a !important;
    font-weight: 700 !important;
    box-shadow: inset 5px 0 0 #5a67f2 !important;
}

/* Ensure selected row stays selected even on hover */
.service-schedule table.table tbody tr.success:hover td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.success:hover td,
.service-schedule table.table tbody tr.selected:hover td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.selected:hover td,
.service-schedule table.table tbody tr.active:hover td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.active:hover td,
.service-schedule table.table tbody tr[style*="background"]:hover td,
#ContentContainer_ContentBottom_AvailableTimes tbody tr[style*="background"]:hover td {
    background: linear-gradient(180deg, #eef4ff 0%, #e7efff 100%) !important;
    color: #1f3d7a !important;
}

/* Add subtle visual emphasis to the selected row */
.service-schedule table.table tbody tr.success,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.success,
.service-schedule table.table tbody tr.selected,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.selected,
.service-schedule table.table tbody tr.active,
#ContentContainer_ContentBottom_AvailableTimes tbody tr.active {
    position: relative !important;
}

/* Buttons area */
#ContentContainer_ContentBottom_ResultsDisplay .btn,
#ContentContainer_ContentBottom_ResultsDisplay input[type="submit"],
#ContentContainer_ContentBottom_ResultsDisplay button {
    min-height: 48px !important;
    padding: 0.82rem 1.2rem !important;
    border-radius: 16px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: all 0.22s ease !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .btn-default,
#ContentContainer_ContentBottom_ResultsDisplay .btn-secondary,
#ContentContainer_ContentBottom_ResultsDisplay button[id*="Back"] {
    border: 1px solid #d8e0ea !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    color: #42526b !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
}

#ContentContainer_ContentBottom_ResultsDisplay .btn-primary,
#ContentContainer_ContentBottom_ResultsDisplay button[id*="Schedule"],
#ContentContainer_ContentBottom_ResultsDisplay input[value*="Schedule"] {
    border: 1px solid #5b67f2 !important;
    background: linear-gradient(135deg, #6f7ff7 0%, #5a67f2 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(90, 103, 242, 0.22) !important;
}

/* =========================================================
   Power Pages Entity Form - Next-Level Two-Column Modernization
   ========================================================= */

/* ------------------------------
   1. Base table structure
   ------------------------------ */
.crmEntityFormView table.section {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    margin-bottom: 1.25rem !important;
}

.crmEntityFormView table.section > tbody > tr {
    position: relative !important;
}

/* ------------------------------
   2. Modern cell spacing
   ------------------------------ */
.crmEntityFormView table.section td.form-control-cell,
.crmEntityFormView table.section td.text.form-control-cell,
.crmEntityFormView table.section td.clearfix.cell,
.crmEntityFormView table.section td.clearfix.cell.text.form-control-cell {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    vertical-align: top !important;
}

/* Remove outer gutter so form edges stay aligned */
.crmEntityFormView table.section tr > td:first-child {
    padding-left: 0 !important;
}

.crmEntityFormView table.section tr > td:last-child {
    padding-right: 0 !important;
}

/* Remove ghost helper column spacing */
.crmEntityFormView table.section td.zero-cell {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* ------------------------------
   3. Better label rhythm
   ------------------------------ */
.crmEntityFormView table.section td label,
.crmEntityFormView .cell label,
.crmEntityFormView .control-label {
    display: block !important;
    margin-bottom: 0.55rem !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #243041 !important;
    letter-spacing: -0.01em !important;
}

/* Required asterisk */
.crmEntityFormView label span.required,
.crmEntityFormView .control-label .required {
    color: #d92d20 !important;
}

/* ------------------------------
   4. Full-width controls inside cells
   ------------------------------ */
.crmEntityFormView table.section td input[type="text"],
.crmEntityFormView table.section td input[type="email"],
.crmEntityFormView table.section td input[type="tel"],
.crmEntityFormView table.section td input[type="date"],
.crmEntityFormView table.section td input[type="number"],
.crmEntityFormView table.section td input[type="search"],
.crmEntityFormView table.section td select,
.crmEntityFormView table.section td textarea,
.crmEntityFormView table.section td .control,
.crmEntityFormView table.section td .input-group,
.crmEntityFormView table.section td .lookup,
.crmEntityFormView table.section td .datetimepicker,
.crmEntityFormView table.section td .form-control {
    width: 100% !important;
    max-width: 100% !important;
}

/* ------------------------------
   5. Polished field appearance
   ------------------------------ */
.crmEntityFormView table.section td input[type="text"],
.crmEntityFormView table.section td input[type="email"],
.crmEntityFormView table.section td input[type="tel"],
.crmEntityFormView table.section td input[type="date"],
.crmEntityFormView table.section td input[type="number"],
.crmEntityFormView table.section td input[type="search"],
.crmEntityFormView table.section td select,
.crmEntityFormView table.section td textarea,
.crmEntityFormView table.section td .form-control {
    min-height: 52px !important;
    padding: 0.9rem 1rem !important;
    border: 1px solid #d8e0ea !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #212937 !important;
    font-size: 0.96rem !important;
    line-height: 1.2 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
    transition: all 0.2s ease !important;
}

.crmEntityFormView table.section td textarea {
    min-height: 120px !important;
    height: auto !important;
    resize: vertical !important;
    padding-top: 0.9rem !important;
}

/* Focus */
.crmEntityFormView table.section td input[type="text"]:focus,
.crmEntityFormView table.section td input[type="email"]:focus,
.crmEntityFormView table.section td input[type="tel"]:focus,
.crmEntityFormView table.section td input[type="date"]:focus,
.crmEntityFormView table.section td input[type="number"]:focus,
.crmEntityFormView table.section td input[type="search"]:focus,
.crmEntityFormView table.section td select:focus,
.crmEntityFormView table.section td textarea:focus,
.crmEntityFormView table.section td .form-control:focus {
    border-color: #9db4ff !important;
    box-shadow:
        0 0 0 4px rgba(79, 70, 229, 0.10),
        0 2px 8px rgba(79, 70, 229, 0.06) !important;
    outline: none !important;
}

/* Placeholder */
.crmEntityFormView input::placeholder,
.crmEntityFormView textarea::placeholder {
    color: #98a2b3 !important;
    opacity: 1 !important;
}

/* ------------------------------
   6. Lookup + date controls
   ------------------------------ */
.crmEntityFormView table.section td .input-group {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow: visible !important;
}

.crmEntityFormView table.section td .input-group > .form-control,
.crmEntityFormView table.section td .input-group > input[type="text"],
.crmEntityFormView table.section td .input-group .form-control.lookup {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
}

.crmEntityFormView table.section td .input-group-btn,
.crmEntityFormView table.section td .input-group-addon {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
}

.crmEntityFormView table.section td .input-group-btn .btn,
.crmEntityFormView table.section td .input-group-addon,
.crmEntityFormView table.section td .input-group-btn button {
    min-width: 48px !important;
    border-radius: 0 16px 16px 0 !important;
}

/* ------------------------------
   7. Better row spacing between logical groups
   ------------------------------ */
.crmEntityFormView table.section > tbody > tr + tr td {
    padding-top: 12px !important;
}

/* ------------------------------
   8. Section legends / headers
   ------------------------------ */
.crmEntityFormView fieldset {
    margin-bottom: 1.75rem !important;
    border: 0 !important;
    padding: 0 !important;
}

.crmEntityFormView fieldset > legend.section-title {
    margin-bottom: 1rem !important;
    padding: 1rem 1.1rem !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #5f6b85 0%, #55617a 100%) !important;
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
}

/* ------------------------------
   9. Boolean / radio / checkbox sections
   ------------------------------ */
.crmEntityFormView input[type="checkbox"],
.crmEntityFormView input[type="radio"] {
    accent-color: #5a67f2 !important;
}

.crmEntityFormView .boolean-radio-cell .info,
.crmEntityFormView td.boolean-radio-cell .info {
    margin: 0.75rem 0 1.25rem 0 !important;
    padding: 1.2rem 1.3rem !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04) !important;
}

/* ------------------------------
   10. Buttons
   ------------------------------ */
.crmEntityFormView .actions input[type="submit"],
.crmEntityFormView .actions button,
.crmEntityFormView input[type="submit"],
.crmEntityFormView button.btn {
    min-height: 48px !important;
    padding: 0.82rem 1.2rem !important;
    border-radius: 16px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transition: all 0.22s ease !important;
}

/* ------------------------------
   11. Responsive fallback
   ------------------------------ */
@media (max-width: 767.98px) {
    .crmEntityFormView table.section,
    .crmEntityFormView table.section tbody,
    .crmEntityFormView table.section tr,
    .crmEntityFormView table.section td {
        display: block !important;
        width: 100% !important;
    }

    .crmEntityFormView table.section td.form-control-cell,
    .crmEntityFormView table.section td.text.form-control-cell,
    .crmEntityFormView table.section td.clearfix.cell,
    .crmEntityFormView table.section td.clearfix.cell.text.form-control-cell {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .crmEntityFormView table.section td.zero-cell {
        display: none !important;
    }
}

/* =========================================================
   Readability Upgrade - Larger Labels + Larger Field Text
   ========================================================= */

/* ------------------------------
   1. Labels - larger + clearer
   ------------------------------ */
.crmEntityFormView table.section td label,
.crmEntityFormView .cell label,
.crmEntityFormView .control-label {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: #1f2a3d !important;
    margin-bottom: 0.65rem !important;
    letter-spacing: -0.01em !important;
}

/* Optional: make required asterisk slightly more visible */
.crmEntityFormView label .required,
.crmEntityFormView .control-label .required,
.crmEntityFormView label span.required {
    font-size: 1.02em !important;
    font-weight: 800 !important;
}

/* ------------------------------
   2. Inputs / selects / textareas
   ------------------------------ */
.crmEntityFormView table.section td input[type="text"],
.crmEntityFormView table.section td input[type="email"],
.crmEntityFormView table.section td input[type="tel"],
.crmEntityFormView table.section td input[type="date"],
.crmEntityFormView table.section td input[type="number"],
.crmEntityFormView table.section td input[type="search"],
.crmEntityFormView table.section td select,
.crmEntityFormView table.section td textarea,
.crmEntityFormView table.section td .form-control {
    min-height: 58px !important;
    padding: 1rem 1.1rem !important;
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #1e293b !important;
}

/* Textareas should feel slightly roomier */
.crmEntityFormView table.section td textarea {
    min-height: 130px !important;
    padding-top: 1rem !important;
}

/* ------------------------------
   3. Placeholder text
   ------------------------------ */
.crmEntityFormView input::placeholder,
.crmEntityFormView textarea::placeholder,
.crmEntityFormView select::placeholder {
    font-size: 1.02rem !important;
    color: #98a2b3 !important;
    opacity: 1 !important;
}

/* ------------------------------
   4. Lookup / date picker buttons
   ------------------------------ */
.crmEntityFormView table.section td .input-group-btn .btn,
.crmEntityFormView table.section td .input-group-addon,
.crmEntityFormView table.section td .input-group-btn button {
    min-width: 58px !important;
    min-height: 58px !important;
    font-size: 1.05rem !important;
}

/* ------------------------------
   5. Selected lookup text / read-only field text
   ------------------------------ */
.crmEntityFormView .input-group input,
.crmEntityFormView .lookup,
.crmEntityFormView .datetimepicker input,
.crmEntityFormView .form-control[readonly],
.crmEntityFormView .form-control[disabled] {
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    color: #1e293b !important;
}

/* ------------------------------
   6. Boolean card readability
   ------------------------------ */
.crmEntityFormView .boolean-radio-cell .info,
.crmEntityFormView td.boolean-radio-cell .info {
    padding: 1.35rem 1.45rem !important;
}

.crmEntityFormView .boolean-radio-cell .info label,
.crmEntityFormView td.boolean-radio-cell .info label {
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

/* Yes / No options */
.crmEntityFormView input[type="radio"] + label,
.crmEntityFormView input[type="checkbox"] + label {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* ------------------------------
   7. Section title bars
   ------------------------------ */
.crmEntityFormView fieldset > legend.section-title {
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    padding: 1.05rem 1.2rem !important;
}

/* ------------------------------
   8. Student Profile heading
   ------------------------------ */
h2.tab-title,
.page-heading h1,
.page-heading h2 {
    font-size: 2.15rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

/* =========================================================
   Best-Tuned Readability Override
   ========================================================= */

.crmEntityFormView table.section td label,
.crmEntityFormView .cell label,
.crmEntityFormView .control-label {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: #1f2a3d !important;
    margin-bottom: 0.65rem !important;
}

.crmEntityFormView table.section td input[type="text"],
.crmEntityFormView table.section td input[type="email"],
.crmEntityFormView table.section td input[type="tel"],
.crmEntityFormView table.section td input[type="date"],
.crmEntityFormView table.section td input[type="number"],
.crmEntityFormView table.section td input[type="search"],
.crmEntityFormView table.section td select,
.crmEntityFormView table.section td textarea,
.crmEntityFormView table.section td .form-control {
    min-height: 58px !important;
    padding: 1rem 1.1rem !important;
    font-size: 1.08rem !important;
    font-weight: 500 !important;
    color: #1e293b !important;
}

.crmEntityFormView table.section td .input-group-btn .btn,
.crmEntityFormView table.section td .input-group-addon,
.crmEntityFormView table.section td .input-group-btn button {
    min-width: 58px !important;
    min-height: 58px !important;
}

.crmEntityFormView fieldset > legend.section-title {
    font-size: 1.12rem !important;
    padding: 1.05rem 1.2rem !important;
}

/* =========================================================
   CREATE PROFILE - BIRTHDAY FIELD FIX
   Fix label clipping + dark datepicker popup
   Append at very end of CustomTheme.css
   ========================================================= */

/* 1) Give the birthday row enough breathing room */
#createProfileDiv #BirthdayDiv,
#createProfileDiv .form-group[id*="Birth"],
#createProfileDiv .form-group[data-name="Birthday"],
.crmEntityFormView .form-group[id*="Birth"] {
  overflow: visible !important;
  position: relative !important;
}

/* 2) Ensure the label is fully visible and not crushed by the icon/addon */
#createProfileDiv #BirthdayDiv label,
#createProfileDiv .form-group[id*="Birth"] label,
.crmEntityFormView .form-group[id*="Birth"] label,
label[for="Birthday"] {
  display: block !important;
  position: relative !important;
  z-index: 5 !important;
  margin-bottom: 8px !important;
  padding-right: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
}

/* 3) Fix the birthday input-group layout so the icon does not cover the label/input edge */
#createProfileDiv #BirthdayDiv .input-group,
#createProfileDiv .form-group[id*="Birth"] .input-group,
.crmEntityFormView .form-group[id*="Birth"] .input-group,
.input-group.date {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  position: relative !important;
}

/* 4) Keep the text box clean and prevent the date text from sitting under the icon */
#createProfileDiv #BirthdayDiv .input-group .form-control,
#createProfileDiv .form-group[id*="Birth"] .input-group .form-control,
.crmEntityFormView .form-group[id*="Birth"] .input-group .form-control,
.input-group.date .form-control {
  padding-left: 14px !important;
  padding-right: 14px !important;
  text-indent: 0 !important;
  background: #ffffff !important;
  color: #212937 !important;
  border-right: 0 !important;
  border-radius: 12px 0 0 12px !important;
}

/* 5) Make the calendar button area fixed width and visually clean */
#createProfileDiv #BirthdayDiv .input-group-addon,
#createProfileDiv #BirthdayDiv .input-group-btn,
#createProfileDiv .form-group[id*="Birth"] .input-group-addon,
#createProfileDiv .form-group[id*="Birth"] .input-group-btn,
.crmEntityFormView .form-group[id*="Birth"] .input-group-addon,
.crmEntityFormView .form-group[id*="Birth"] .input-group-btn,
.input-group.date .input-group-addon,
.input-group.date .input-group-btn {
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  margin: 0 !important;
}

/* 6) Remove any dark inherited styles from the icon wrapper */
#createProfileDiv #BirthdayDiv .input-group-addon,
#createProfileDiv .form-group[id*="Birth"] .input-group-addon,
.crmEntityFormView .form-group[id*="Birth"] .input-group-addon,
.input-group.date .input-group-addon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e8eef6 !important;
  color: #243041 !important;
  border: 1px solid #d7dde5 !important;
  border-left: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  box-shadow: none !important;
}

/* 7) Force the glyphicon itself to remain visible */
#createProfileDiv #BirthdayDiv .glyphicon,
#createProfileDiv .form-group[id*="Birth"] .glyphicon,
.crmEntityFormView .form-group[id*="Birth"] .glyphicon,
.input-group.date .glyphicon,
.glyphicon-calendar,
.glyphicon-calendar:before {
  color: #243041 !important;
  opacity: 1 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* 8) DATEPICKER / CALENDAR POPUP - force light theme */
.bootstrap-datetimepicker-widget,
.bootstrap-datetimepicker-widget.dropdown-menu,
.datetimepicker-dropdown,
.datetimepicker.dropdown-menu {
  background: #ffffff !important;
  color: #212937 !important;
  border: 1px solid #d7dde5 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 40px rgba(16, 24, 40, 0.18) !important;
  padding: 8px !important;
}

/* month/year header */
.bootstrap-datetimepicker-widget .picker-switch,
.bootstrap-datetimepicker-widget thead tr:first-child th,
.bootstrap-datetimepicker-widget thead th {
  background: #f8fafc !important;
  color: #212937 !important;
  font-weight: 700 !important;
  border: 0 !important;
}

/* arrows / navigation */
.bootstrap-datetimepicker-widget .prev,
.bootstrap-datetimepicker-widget .next,
.bootstrap-datetimepicker-widget .picker-switch a,
.bootstrap-datetimepicker-widget th.prev,
.bootstrap-datetimepicker-widget th.next {
  color: #212937 !important;
  background: transparent !important;
}

/* days + months + years */
.bootstrap-datetimepicker-widget td,
.bootstrap-datetimepicker-widget span,
.bootstrap-datetimepicker-widget table td,
.bootstrap-datetimepicker-widget table th {
  color: #212937 !important;
  background: #ffffff !important;
  text-shadow: none !important;
  border-radius: 8px !important;
}

/* hover states */
.bootstrap-datetimepicker-widget td:hover,
.bootstrap-datetimepicker-widget span:hover,
.bootstrap-datetimepicker-widget table td.day:hover,
.bootstrap-datetimepicker-widget table td span:hover {
  background: #eef2f6 !important;
  color: #151f27 !important;
}

/* active/selected day */
.bootstrap-datetimepicker-widget td.active,
.bootstrap-datetimepicker-widget td.active:hover,
.bootstrap-datetimepicker-widget span.active,
.bootstrap-datetimepicker-widget span.active:hover {
  background: #3b82f6 !important;
  color: #ffffff !important;
}

/***********************************************
SIGN UP PAGE - CALENDAR FIX
**********************************************/


/* muted old/new days */
.bootstrap-datetimepicker-widget td.old,
.bootstrap-datetimepicker-widget td.new {
  color: #98a2b3 !important;
}

/* today */
.bootstrap-datetimepicker-widget td.today,
.bootstrap-datetimepicker-widget span.today {
  position: relative !important;
  font-weight: 700 !important;
  color: #c52228 !important;
}

/* remove any inherited dark theme from links/icons inside popup */
.bootstrap-datetimepicker-widget a,
.bootstrap-datetimepicker-widget a:hover,
.bootstrap-datetimepicker-widget .btn,
.bootstrap-datetimepicker-widget .btn:hover,
.bootstrap-datetimepicker-widget .glyphicon,
.bootstrap-datetimepicker-widget .fa {
  color: #212937 !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* 9) Validation state should not tint the whole control dark/red */
.has-error #Birthday,
.has-error #Birthday.form-control,
.has-error .input-group.date .form-control {
  background: #ffffff !important;
  color: #212937 !important;
}

#createProfileDiv #BirthdayDiv .col-md-6,
#createProfileDiv #BirthdayDiv .col-sm-8,
#createProfileDiv #BirthdayDiv .col-xs-12 {
  overflow: visible !important;
}

/* =========================================================
   PROFILE PAGE PATCH
   1) Security icon spacing
   2) Datepicker light theme / modern field
   3) Email confirmation warning modernization
   Add at very end of CustomTheme.css
   ========================================================= */


/* =========================================================
   1. SECURITY NAV ICON SPACING
   ========================================================= */

/* add clean spacing between lock icon and text */
.profile-menu .list-group-item .fa,
.profile-menu .list-group-item .glyphicon,
.profile-menu a.list-group-item .fa,
.profile-menu a.list-group-item .glyphicon,
.page-heading + .row .panel.panel-default .list-group-item .fa,
.page-heading + .row .panel.panel-default .list-group-item .glyphicon {
  margin-right: 10px !important;
  min-width: 16px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* ensure text aligns nicely with icon */
.profile-menu .list-group-item,
.profile-menu a.list-group-item,
.page-heading + .row .panel.panel-default .list-group-item,
.page-heading + .row .panel.panel-default a.list-group-item {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important; /* margin-right on icon handles spacing more reliably */
}


/* =========================================================
   2. BIRTHDAY / DATEPICKER FIXES
   ========================================================= */

/* keep the date field row from clipping popup or controls */
.crmEntityFormView td.control,
.crmEntityFormView td.control .input-group,
.crmEntityFormView .datetimeform,
.crmEntityFormView .datetimepicker {
  overflow: visible !important;
  position: relative !important;
}

/* modernize the birthday input itself */
.crmEntityFormView input[data-date-format],
.crmEntityFormView input.datetime.form-control,
.crmEntityFormView .input-group.date input.form-control {
  background: #ffffff !important;
  color: #212937 !important;
  border: 1px solid #d7dde5 !important;
  border-right: 0 !important;
  border-radius: 14px 0 0 14px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

/* calendar icon container */
.crmEntityFormView .input-group.date .input-group-addon,
.crmEntityFormView .datetimepicker .input-group-addon,
.crmEntityFormView span.input-group-addon[title="Choose a Date"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  min-width: 48px !important;
  background: #eaf2ff !important;
  color: #2c4a6b !important;
  border: 1px solid #d7dde5 !important;
  border-left: 0 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* icon itself */
.crmEntityFormView .input-group.date .input-group-addon .glyphicon,
.crmEntityFormView .datetimepicker .input-group-addon .glyphicon,
.crmEntityFormView span.input-group-addon[title="Choose a Date"] .glyphicon {
  color: #2c4a6b !important;
  font-size: 15px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

/* hover/focus state for date button */
.crmEntityFormView .input-group.date .input-group-addon:hover,
.crmEntityFormView .datetimepicker .input-group-addon:hover,
.crmEntityFormView span.input-group-addon[title="Choose a Date"]:hover {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}

/* popup shell */
.bootstrap-datetimepicker-widget,
.bootstrap-datetimepicker-widget.dropdown-menu,
.datetimepicker.dropdown-menu {
  background: #ffffff !important;
  color: #212937 !important;
  border: 1px solid #d7dde5 !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 40px rgba(16, 24, 40, 0.18) !important;
  padding: 10px !important;
}

/* popup header */
.bootstrap-datetimepicker-widget thead th,
.bootstrap-datetimepicker-widget .picker-switch,
.bootstrap-datetimepicker-widget .picker-switch td,
.bootstrap-datetimepicker-widget .picker-switch th {
  background: #f8fafc !important;
  color: #212937 !important;
  font-weight: 700 !important;
  border: 0 !important;
}

/* arrows / month navigation */
.bootstrap-datetimepicker-widget .prev,
.bootstrap-datetimepicker-widget .next,
.bootstrap-datetimepicker-widget th.prev,
.bootstrap-datetimepicker-widget th.next,
.bootstrap-datetimepicker-widget a {
  color: #243041 !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* day cells */
.bootstrap-datetimepicker-widget td,
.bootstrap-datetimepicker-widget th,
.bootstrap-datetimepicker-widget span {
  color: #212937 !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  text-shadow: none !important;
}

/* hover */
.bootstrap-datetimepicker-widget td:hover,
.bootstrap-datetimepicker-widget span:hover,
.bootstrap-datetimepicker-widget table td.day:hover {
  background: #eef4ff !important;
  color: #151f27 !important;
}

/* selected date */
.bootstrap-datetimepicker-widget td.active,
.bootstrap-datetimepicker-widget td.active:hover,
.bootstrap-datetimepicker-widget span.active,
.bootstrap-datetimepicker-widget span.active:hover {
  background: #3b82f6 !important;
  color: #ffffff !important;
}

/* old/new days */
.bootstrap-datetimepicker-widget td.old,
.bootstrap-datetimepicker-widget td.new {
  color: #98a2b3 !important;
}

/* today accent */
.bootstrap-datetimepicker-widget td.today {
  color: #c52228 !important;
  font-weight: 700 !important;
}

/* remove inherited dark styles inside calendar */
.bootstrap-datetimepicker-widget .btn,
.bootstrap-datetimepicker-widget .btn:hover,
.bootstrap-datetimepicker-widget .glyphicon,
.bootstrap-datetimepicker-widget .fa {
  color: #243041 !important;
  background: transparent !important;
  text-shadow: none !important;
}


/* =========================================================
   3. EMAIL CONFIRMATION WARNING - MODERNIZED
   ========================================================= */

/* modern alert container */
.alert.alert-info,
div.alert-info,
.notification.alert-info,
.info.alert-info {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 20px !important;
  border: 1px solid #b9e6fb !important;
  border-left: 5px solid #3b82f6 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #f3fbff 0%, #e9f6ff 100%) !important;
  color: #1f3b57 !important;
  box-shadow: 0 10px 24px rgba(59, 130, 246, 0.10) !important;
}

/* alert text */
.alert.alert-info,
.alert.alert-info p,
.alert.alert-info span,
.alert.alert-info div,
div.alert-info,
div.alert-info p,
div.alert-info span {
  color: #1f3b57 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* alert icon */
.alert.alert-info .fa,
.alert.alert-info .glyphicon,
div.alert-info .fa,
div.alert-info .glyphicon {
  color: #3b82f6 !important;
  margin-right: 8px !important;
}

/* confirm email button */
.alert.alert-info .btn,
.alert.alert-info .btn-default,
.alert.alert-info .btn-primary,
.alert.alert-info a.btn,
div.alert-info .btn,
div.alert-info .btn-default,
div.alert-info .btn-primary,
div.alert-info a.btn {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  border: 1px solid #2563eb !important;
  border-radius: 12px !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22) !important;
  text-decoration: none !important;
}

/* button hover */
.alert.alert-info .btn:hover,
.alert.alert-info .btn:focus,
.alert.alert-info a.btn:hover,
div.alert-info .btn:hover,
div.alert-info .btn:focus,
div.alert-info a.btn:hover {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
  box-shadow: 0 10px 22px rgba(29, 78, 216, 0.28) !important;
}

/* make mobile stacking clean */
@media (max-width: 767px) {
  .alert.alert-info,
  div.alert-info,
  .notification.alert-info,
  .info.alert-info {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .alert.alert-info .btn,
  .alert.alert-info a.btn,
  div.alert-info .btn,
  div.alert-info a.btn {
    width: 100% !important;
  }
}


/* =========================================================
   PROFILE REQUIRED MODAL
   ========================================================= */

.gm-modal {
  border: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 70px rgba(16, 24, 40, 0.28) !important;
}

.gm-modal-header {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 24px 28px 12px !important;
  border-bottom: 0 !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%) !important;
}

.gm-modal-icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  border-radius: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #eaf2ff 0%, #dbeafe 100%) !important;
  color: #2563eb !important;
  font-size: 22px !important;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08) !important;
}

.gm-modal-header .modal-title {
  margin: 0 !important;
  color: #151f27 !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.gm-modal-subtitle {
  margin: 4px 0 0 !important;
  color: #667085 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.gm-modal-body {
  padding: 10px 28px 8px !important;
}

.gm-modal-body p {
  margin: 0 !important;
  color: #344054 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.gm-modal-footer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding: 18px 28px 28px !important;
  border-top: 0 !important;
  background: #ffffff !important;
}

.gm-primary-btn {
  min-height: 46px !important;
  padding: 11px 18px !important;
  border-radius: 14px !important;
  border: 1px solid #2563eb !important;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.22) !important;
}

.gm-primary-btn:hover,
.gm-primary-btn:focus {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
}

.gm-secondary-btn {
  min-height: 46px !important;
  padding: 11px 18px !important;
  border-radius: 14px !important;
  border: 1px solid #d0d5dd !important;
  background: #ffffff !important;
  color: #344054 !important;
  font-weight: 700 !important;
}

.gm-secondary-btn:hover,
.gm-secondary-btn:focus {
  background: #f8fafc !important;
  color: #151f27 !important;
}

/* darker backdrop */
.modal-backdrop.in {
  opacity: 0.55 !important;
  background-color: #0f172a !important;
}

/* ================================
   GREYMATTER EVENT CALENDAR MODERNIZATION
   ================================ */

/* calendar event row wrapper */
#cal-slide-content .list-group {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* each clickable event item */
#cal-slide-content a.list-group-item.event-item {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 14px 18px !important;
  margin: 8px 0 !important;
  border: 1px solid rgba(33, 41, 55, 0.08) !important;
  border-left: 5px solid #c32228 !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  box-shadow: 0 8px 24px rgba(33, 41, 55, 0.08);
  text-decoration: none !important;
  transition: all 0.22s ease;
  position: relative;
  overflow: hidden;
}

/* subtle shine */
#cal-slide-content a.list-group-item.event-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-120%);
  transition: transform 0.5s ease;
  pointer-events: none;
}

/* hover state */
#cal-slide-content a.list-group-item.event-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(33, 41, 55, 0.14);
  border-color: rgba(195, 34, 40, 0.18) !important;
  background: #ffffff !important;
}

/* animated shine on hover */
#cal-slide-content a.list-group-item.event-item:hover::before {
  transform: translateX(120%);
}

/* keyboard focus */
#cal-slide-content a.list-group-item.event-item:focus {
  outline: none !important;
  box-shadow:
    0 0 0 4px rgba(195, 34, 40, 0.14),
    0 14px 32px rgba(33, 41, 55, 0.14);
}

/* left calendar icon block */
#cal-slide-content a.list-group-item.event-item i,
#cal-slide-content a.list-group-item.event-item .glyphicon,
#cal-slide-content a.list-group-item.event-item .fa {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(195, 34, 40, 0.10);
  color: #c32228 !important;
  font-size: 15px !important;
  box-shadow: inset 0 0 0 1px rgba(195, 34, 40, 0.08);
}

/* event title / main text */
#cal-slide-content a.list-group-item.event-item {
  color: #212937 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

/* date/time text if rendered inline */
#cal-slide-content a.list-group-item.event-item small,
#cal-slide-content a.list-group-item.event-item .text-muted,
#cal-slide-content a.list-group-item.event-item span {
  color: #6b7280 !important;
  font-weight: 500 !important;
}

/* make the expanded event area cleaner */
#cal-slide-content {
  margin-top: 14px;
  padding: 10px 0 0 0 !important;
  border-top: none !important;
  background: transparent !important;
}

/* remove harsh borders / legacy list styling */
#cal-slide-content .list-group-item {
  border-right: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* modernize the selected day event badge inside the calendar square */
.cal-month-box .cal-day-cell .events-list,
.cal-month-box .cal-day-cell .event {
  border-radius: 10px !important;
}

/* the small blue event block inside the date cell */
.cal-month-box .event {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #c32228 0%, #a91d22 100%) !important;
  border: none !important;
  color: #ffffff !important;
  padding: 4px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 14px rgba(195, 34, 40, 0.20);
}

/* hover on mini event chip */
.cal-month-box .event:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(195, 34, 40, 0.28);
}

/* active day bubble count */
.cal-month-box .cal-day-number.event-day-top {
  position: relative;
}

.cal-month-box .cal-day-number.event-day-top + .events-count,
.cal-month-box .events-count {
  background: #1d4ed8 !important;
  color: #fff !important;
  border-radius: 999px !important;
  min-width: 22px;
  height: 22px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 11px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 12px rgba(195, 34, 40, 0.20);
}

.badge-important, .event-danger, .event-important {
    background-color: #1d4ed8;
}

/* =========================
   DAY CELL EVENT CHIP
   ========================= */

.cal-month-day .events-list,
.cal-day-inmonth .events-list {
  margin-top: 6px !important;
  padding: 0 4px !important;
}

.cal-month-day .events-list a,
.cal-day-inmonth .events-list a,
.cal-month-box .event,
.cal-month-box .event-item-day {
  display: block !important;
  border: none !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 8px 10px !important;
  box-shadow: 0 8px 18px rgba(59, 130, 246, 0.22);
  transition: all 0.2s ease;
  overflow: hidden;
}

.cal-month-day .events-list a:hover,
.cal-day-inmonth .events-list a:hover,
.cal-month-box .event:hover,
.cal-month-box .event-item-day:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(59, 130, 246, 0.30);
}

.cal-month-day .events-list a span,
.cal-day-inmonth .events-list a span,
.cal-month-box .event span,
.cal-month-box .event-item-day span {
  color: #ffffff !important;
}

.cal-month-day .events-list a strong,
.cal-day-inmonth .events-list a strong,
.cal-month-box .event strong,
.cal-month-box .event-item-day strong {
  display: block;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  margin-top: 2px;
}

.cal-month-day .events-list a small,
.cal-day-inmonth .events-list a small,
.cal-month-box .event small,
.cal-month-box .event-item-day small {
  display: block;
  font-size: 10px !important;
  font-weight: 600 !important;
  opacity: 0.92;
  color: #eaf2ff !important;
  margin-bottom: 2px;
}

/* =========================
   EXPANDED EVENT ROW ICON
   ========================= */

/* Remove any old flat blue rectangle/background behind icon */
#cal-slide-content a.list-group-item.event-item i,
#cal-slide-content a.list-group-item.event-item .glyphicon,
#cal-slide-content a.list-group-item.event-item .fa,
#cal-slide-content a.list-group-item.event-item [class*="icon"],
#cal-slide-content a.list-group-item.event-item [class*="fa-"],
#cal-slide-content a.list-group-item.event-item [class*="glyphicon-"] {
  background: #3b82f6 !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

/* If the icon is wrapped by another element, strip the wrapper styling */
#cal-slide-content a.list-group-item.event-item > span:first-child,
#cal-slide-content a.list-group-item.event-item > div:first-child {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-right: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cal-day-today {
    background-color: #ece9f9 !important;
    
}

.cal-day-weekend span[data-cal-date]
Specificity: (0,2,1)
 {
    color: #e3647a !important;
}

/* =========================================================
   PAYMENT SUMMARY PAGE - EXACT CLEAN REPLACEMENT
   Targets:
   #ContentContainer_MainContent_PurchaseSummary
   ========================================================= */

#ContentContainer_MainContent_PurchaseSummary {
  margin-top: 8px;
}

/* ---------- Top-level layout ---------- */
#ContentContainer_MainContent_PurchaseSummary {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

#ContentContainer_MainContent_PurchaseSummary > #ContentContainer_MainContent_pnlBillingDetails.col-md-8 {
  flex: 1 1 0;
  max-width: calc(100% - 360px);
  padding-right: 28px;
  box-sizing: border-box;
  min-width: 0;
}

#ContentContainer_MainContent_PurchaseSummary > .col-md-4 {
  flex: 0 0 360px;
  max-width: 360px;
  box-sizing: border-box;
}

/* ---------- Billing legend ---------- */
#ContentContainer_MainContent_pnlBillingDetails legend {
  margin-bottom: 26px !important;
  font-size: 18px;
  font-weight: 700;
  color: #212937;
  border: 0;
}

/* ---------- Billing card ---------- */
#ContentContainer_MainContent_pnlBillingDetails > .well.form-inline {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

/* ---------- Billing rows ---------- */
#ContentContainer_MainContent_pnlBillingDetails .row.row-padding-5 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  row-gap: 14px;
  margin-bottom: 16px;
}

/* Remove last extra gap */
#ContentContainer_MainContent_pnlBillingDetails .row.row-padding-5:last-child {
  margin-bottom: 0;
}

/* Labels */
#ContentContainer_MainContent_pnlBillingDetails label.control-label.col-md-2 {
  flex: 0 0 120px;
  max-width: 120px;
  width: 120px;
  padding: 0 12px 0 0 !important;
  margin: 0;
  text-align: left !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: #212937;
  white-space: normal;
}

/* Field containers */
#ContentContainer_MainContent_pnlBillingDetails .col-md-4.col-bottom-20 {
  flex: 1 1 calc(50% - 120px);
  max-width: calc(50% - 120px);
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 0 !important;
  min-width: 0;
}

/* Inputs */
#ContentContainer_MainContent_pnlBillingDetails .form-control {
  display: block;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  height: 48px;
  padding: 10px 14px;
  border: 1px solid #d6deea;
  border-radius: 14px;
  background: #ffffff;
  font-size: 15px;
  line-height: 1.4;
  color: #212937;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#ContentContainer_MainContent_pnlBillingDetails .form-control:focus {
  border-color: #7c8ab2;
  box-shadow: 0 0 0 3px rgba(99, 113, 152, 0.12);
  outline: none;
}

/* ---------- Purchase Summary outer area ---------- */
#ContentContainer_MainContent_PurchaseSummary > .col-md-4 fieldset {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

#ContentContainer_MainContent_PurchaseSummary > .col-md-4 fieldset > legend {
  margin-bottom: 18px;
  font-size: 18px;
  font-weight: 700;
  color: #212937;
  border: 0;
}

/* ---------- Summary cards ---------- */
#ContentContainer_MainContent_PurchaseSummary > .col-md-4 .well {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

#ContentContainer_MainContent_PurchaseSummary > .col-md-4 .well + .well {
  margin-top: 18px;
}

/* ---------- Purchase table ---------- */
#ContentContainer_MainContent_PurchaseSummary table.line-items {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  background: transparent;
}

/* Header */
#ContentContainer_MainContent_PurchaseSummary table.line-items thead th {
  background: linear-gradient(180deg, #6f7ca3 0%, #637198 100%) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0;
  padding: 16px 18px !important;
  border: none !important;
  text-align: left;
  white-space: nowrap;
}

#ContentContainer_MainContent_PurchaseSummary table.line-items thead th:first-child {
  border-top-left-radius: 18px;
}

#ContentContainer_MainContent_PurchaseSummary table.line-items thead th:last-child {
  border-top-right-radius: 18px;
}

/* Qty + Price alignment */
#ContentContainer_MainContent_PurchaseSummary table.line-items thead th:nth-child(2),
#ContentContainer_MainContent_PurchaseSummary table.line-items thead th:nth-child(3),
#ContentContainer_MainContent_PurchaseSummary table.line-items tbody td.qty,
#ContentContainer_MainContent_PurchaseSummary table.line-items tbody td.price {
  text-align: center !important;
}

/* Body cells */
#ContentContainer_MainContent_PurchaseSummary table.line-items tbody td {
  background: #ffffff;
  color: #212937 !important;
  font-size: 15px !important;
  padding: 16px 18px !important;
  border-top: 1px solid #e8edf5 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  vertical-align: middle;
}

#ContentContainer_MainContent_PurchaseSummary table.line-items tbody td.title {
  font-weight: 600;
}

#ContentContainer_MainContent_PurchaseSummary table.line-items tbody td.qty small {
  font-size: 13px;
  color: #6b7280;
}

#ContentContainer_MainContent_PurchaseSummary table.line-items tbody tr:hover td {
  background: #f8fafc;
}

/* ---------- Totals ---------- */
#ContentContainer_MainContent_PurchaseSummary table.totals {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  background: transparent;
}

#ContentContainer_MainContent_PurchaseSummary table.totals td {
  padding: 8px 4px;
  border: none !important;
  color: #212937;
  font-size: 15px;
}

#ContentContainer_MainContent_PurchaseSummary table.totals tr.total td:last-child {
  text-align: right;
}

#ContentContainer_MainContent_PurchaseSummary table.totals tr.grand-total td {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  padding-top: 10px;
}

/* ---------- Description card ---------- */
#ContentContainer_MainContent_PurchaseSummary .well.form-inline h4 {
  margin-top: 0;
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 700;
  color: #212937;
}

#ContentContainer_MainContent_PurchaseSummary .well.form-inline p {
  margin-bottom: 0;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.6;
}

/* ---------- Discount area ---------- */
#ContentContainer_MainContent_pnlDiscount {
  margin-top: 24px;
}

#ContentContainer_MainContent_pnlDiscount .well {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  padding: 22px 24px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

#ContentContainer_MainContent_pnlDiscount h4 {
  margin-top: 0;
  margin-bottom: 6px;
  color: #212937;
  font-weight: 700;
}

#ContentContainer_MainContent_pnlDiscount .control-label {
  font-size: 15px;
  font-weight: 600;
  color: #212937;
}

#ContentContainer_MainContent_pnlDiscount .form-control {
  height: 46px;
  border-radius: 14px;
}

/* ---------- Buttons ---------- */
#ContentContainer_MainContent_PurchaseSummary .btn.btn-primary,
#ContentContainer_MainContent_pnlDiscount .btn.btn-primary,
#ContentContainer_MainContent_pnlProceedToCheckout .btn.btn-primary {
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 14px;
  border: 1px solid #212937;
  background: #212937;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none;
}

#ContentContainer_MainContent_PurchaseSummary .btn.btn-primary:hover,
#ContentContainer_MainContent_pnlDiscount .btn.btn-primary:hover,
#ContentContainer_MainContent_pnlProceedToCheckout .btn.btn-primary:hover {
  background: #2d3748;
  border-color: #2d3748;
}

/* ---------- Proceed row ---------- */
#ContentContainer_MainContent_pnlProceedToCheckout {
  width: 100%;
  margin-top: 22px;
}

#ContentContainer_MainContent_pnlProceedToCheckout .proceed-div {
  float: none;
  width: 100%;
  padding-top: 0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

#ContentContainer_MainContent_pnlProceedToCheckout .proceed-div .col-md-12 {
  width: auto;
  padding: 0;
}

/* ---------- Tablet ---------- */
@media (max-width: 1199px) {
  #ContentContainer_MainContent_PurchaseSummary > #ContentContainer_MainContent_pnlBillingDetails.col-md-8,
  #ContentContainer_MainContent_PurchaseSummary > .col-md-4 {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
  }

  #ContentContainer_MainContent_PurchaseSummary > .col-md-4 {
    margin-top: 24px;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  #ContentContainer_MainContent_pnlBillingDetails > .well.form-inline,
  #ContentContainer_MainContent_PurchaseSummary > .col-md-4 .well,
  #ContentContainer_MainContent_pnlDiscount .well {
    padding: 18px 16px;
    border-radius: 18px;
  }

  #ContentContainer_MainContent_pnlBillingDetails .row.row-padding-5 {
    display: block;
    margin-bottom: 14px;
  }

  #ContentContainer_MainContent_pnlBillingDetails label.control-label.col-md-2 {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-right: 0 !important;
    margin-bottom: 8px;
  }

  #ContentContainer_MainContent_pnlBillingDetails .col-md-4.col-bottom-20 {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 14px !important;
  }

  #ContentContainer_MainContent_PurchaseSummary table.line-items thead th,
  #ContentContainer_MainContent_PurchaseSummary table.line-items tbody td {
    padding: 13px 12px !important;
    font-size: 14px !important;
  }

  #ContentContainer_MainContent_pnlProceedToCheckout .proceed-div {
    flex-direction: column;
    align-items: stretch;
  }

  #ContentContainer_MainContent_pnlProceedToCheckout .proceed-div .col-md-12 {
    width: 100%;
  }

  #ContentContainer_MainContent_pnlProceedToCheckout .btn.btn-primary {
    width: 100%;
  }
}

/* =========================================================
   PREFERRED BUTTON ONLY
   Targets ONLY the last action column in selected program table
   ========================================================= */

/* Preferred button base */
#selectedProgramVersionTable td:last-child .pa-edit-link,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link {
  background: linear-gradient(180deg, #dbfeea 0%, #c6f6f5 100%) !important;
  color: #1d4ed8 !important;
  border: 1px solid #93c5fd !important;
  border-radius: 999px !important;
  min-width: 140px !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.14) !important;
  transition: all 0.2s ease !important;
  position: relative !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
}

/* Hover */
#selectedProgramVersionTable td:last-child .pa-edit-link:hover,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link:hover {
  background: linear-gradient(180deg, #bfdbfe 0%, #93c5fd 100%) !important;
  color: #000000 !important;
  font-weight: bold !important;
  border-color: #60a5fa !important;
  box-shadow: 0 10px 22px rgba(59, 130, 246, 0.18) !important;
  transform: translateY(-1px);
}

/* Active */
#selectedProgramVersionTable td:last-child .pa-edit-link:active,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(59, 130, 246, 0.14) !important;
}

/* Remove old minus/icon if it exists via font/icon styles */
#selectedProgramVersionTable td:last-child .pa-edit-link i,
#selectedProgramVersionTable td:last-child .pa-edit-link svg,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link i,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link svg {
  display: none !important;
}

/* Add star icon */
#selectedProgramVersionTable td:last-child .pa-edit-link::before,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link::before {
  content: "★" !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  display: inline-block !important;
  margin-right: 2px !important;
}

/* Optional: ensure text stays aligned nicely */
#selectedProgramVersionTable td:last-child .pa-edit-link span,
#selectedProgramVersionTable td.table-cell-edit:last-child .pa-edit-link span {
  display: inline !important;
}

/* =========================================================
   ADD EDUCATION HISTORY BUTTON ICON UPGRADE
   ========================================================= */

/* Hide existing plain + text/icon */
button#addPrevEducation .pa-btn-icon,
#addPrevEducation .pa-btn-icon,
button#addPrevEducation .pa-btn-icon span,
#addPrevEducation .pa-btn-icon span {
  font-size: 0 !important;
  color: transparent !important;
  position: relative !important;
}

/* Rebuild icon as a stronger plus-in-circle */
button#addPrevEducation .pa-btn-icon::before,
#addPrevEducation .pa-btn-icon::before {
  content: "✚" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #86efac 0%, #4ade80 100%) !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(34, 197, 94, 0.22) !important;
  text-shadow: none !important;
}

/* Ensure icon wrapper aligns well */
button#addPrevEducation .pa-btn-icon,
#addPrevEducation .pa-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  margin-right: 10px !important;
  flex: 0 0 26px !important;
}

/* =========================================================
   TEST SCORES - MATCH ADD NEW BUTTON TO
   PREVIOUS EDUCATION BUTTON
   ========================================================= */

#btnAddTestScore.pa-btn-table-add,
button#btnAddTestScore.pa-btn-table-add {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  min-height: 56px !important;
  padding: 0.9rem 1.4rem !important;
  border: 1px solid #cfd8f6 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #7c8df6 0%, #5f73e6 100%) !important;
  color: #ffffff !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-shadow: 0 10px 24px rgba(79, 70, 229, 0.16) !important;
  transition: all 0.22s ease !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

/* Add the circular green icon before the text */
#btnAddTestScore.pa-btn-table-add::before,
button#btnAddTestScore.pa-btn-table-add::before {
  content: "✚" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #b7f0aa 0%, #8ee082 100%) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 14px rgba(34, 197, 94, 0.22) !important;
  margin-right: 2px !important;
  flex: 0 0 28px !important;
  text-shadow: none !important;
}

/* Hover */
#btnAddTestScore.pa-btn-table-add:hover,
button#btnAddTestScore.pa-btn-table-add:hover {
  background: linear-gradient(180deg, #8797fb 0%, #6377ea 100%) !important;
  border-color: #c7d2fe !important;
  box-shadow: 0 14px 28px rgba(79, 70, 229, 0.22) !important;
  transform: translateY(-1px);
}

/* Active */
#btnAddTestScore.pa-btn-table-add:active,
button#btnAddTestScore.pa-btn-table-add:active {
  transform: translateY(0);
  box-shadow: 0 8px 16px rgba(79, 70, 229, 0.16) !important;
}

/* Optional alignment cleanup for the header action container */
#testScoresContainer .pa-btn-table-add-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

/* =========================================================
   TEST SCORES - MODERN HELPER TEXT
   ========================================================= */

#testScoresContainer .header-description,
#testScoresForm .header-description {
  display: inline-block !important;
  max-width: 760px !important;
  margin-top: 14px !important;
  margin-bottom: 26px !important;
  padding: 16px 20px !important;
  background: #f8fafc !important;
  border: 1px solid #e7edf5 !important;
  border-left: 4px solid #7c8df6 !important;
  border-radius: 16px !important;

  color: #536277 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;

  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
}

/* tighten paragraph defaults inside the helper text */
#testScoresContainer .header-description p,
#testScoresForm .header-description p,
#testScoresContainer .header-description *,
#testScoresForm .header-description * {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* optional: make example exams a little more readable if wrapped in strong/em tags later */
#testScoresContainer .header-description strong,
#testScoresForm .header-description strong,
#testScoresContainer .header-description b,
#testScoresForm .header-description b {
  color: #212937 !important;
  font-weight: 700 !important;
}

/* =========================================================
   EVENT SCHEDULES PAGE – MODERNIZED
   ========================================================= */

/* Page width + spacing */
.events-page,
.event-schedule-page,
.page-content,
.crmEntityFormView,
.entitylist.entity-grid {
  max-width: 1280px;
  margin: 0 auto;
}

/* Main heading */
h1,
.page-header h1,
h1.page-title {
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #17243a;
}

/* Breadcrumb modernization */
.breadcrumb {
  background: #f7f9fc;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 12px 18px;
  margin-bottom: 32px;
}

.breadcrumb > li,
.breadcrumb a {
  font-size: 0.95rem;
  color: #5b6b82;
}

.breadcrumb > .active {
  color: #17243a;
  font-weight: 600;
}

/* Section divider under heading */
hr,
.page-header + hr {
  border: 0;
  border-top: 1px solid #e8edf4;
  margin: 20px 0 32px;
}

/* =========================================================
   TABS (Upcoming / Past)
   ========================================================= */
.nav-tabs {
  border-bottom: 1px solid #e6ebf2;
  margin-bottom: 24px;
}

.nav-tabs > li {
  margin-bottom: -1px;
}

.nav-tabs > li > a {
  border: 1px solid transparent;
  border-radius: 12px 12px 0 0;
  background: transparent;
  color: #5f6f86;
  font-weight: 600;
  font-size: 0.98rem;
  padding: 12px 18px;
  transition: all 0.2s ease;
}

.nav-tabs > li > a:hover {
  background: #f7f9fc;
  color: #17243a;
  border-color: transparent;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  background: #ffffff;
  color: #17243a;
  border: 1px solid #e6ebf2;
  border-bottom-color: #ffffff;
  font-weight: 700;
  box-shadow: 0 -1px 0 #ffffff inset;
}

/* =========================================================
   EVENT LIST WRAPPER
   ========================================================= */
#upcomingEvents,
#pastEvents,
ul.list-unstyled[id*="Events"] {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Each event item becomes a card */
#upcomingEvents > li,
#pastEvents > li,
ul.list-unstyled[id*="Events"] > li {
  position: relative;
  list-style: none;
  margin: 0 0 22px 0;
  padding: 28px 30px 24px 30px;
  background: #ffffff;
  border: 1px solid #e7ecf3;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(20, 32, 56, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#upcomingEvents > li:hover,
#pastEvents > li:hover,
ul.list-unstyled[id*="Events"] > li:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(20, 32, 56, 0.1);
  border-color: #d9e3ef;
}

/* Calendar icon positioning */
#upcomingEvents > li > .fa-calendar,
#pastEvents > li > .fa-calendar,
ul.list-unstyled[id*="Events"] > li > .fa-calendar,
ul.list-unstyled[id*="Events"] > li > span.fa.fa-calendar {
  position: absolute;
  top: 28px;
  left: 28px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #e9f1ff 0%, #dbe9ff 100%);
  color: #2457c5;
  font-size: 1rem;
  box-shadow: inset 0 0 0 1px rgba(36, 87, 197, 0.08);
}

/* Push event content right so it clears icon */
#upcomingEvents > li .event,
#pastEvents > li .event,
ul.list-unstyled[id*="Events"] > li .event {
  margin-left: 66px;
}

/* =========================================================
   EVENT TITLE
   ========================================================= */
.event h2,
.event .h2 {
  margin: 0 0 10px 0;
  font-size: 1.35rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.event h2 a,
.event a.url.summary {
  color: #14233b;
  text-decoration: none;
  transition: color 0.2s ease;
}

.event h2 a:hover,
.event a.url.summary:hover {
  color: #c32027;
  text-decoration: none;
}

/* If title link is directly inside h2 */
.event h2 a.url.summary {
  display: inline-block;
}

/* =========================================================
   DATE / TIME LINE
   ========================================================= */
.event p:first-of-type a,
.event .schedule-date a,
.event .event-date a,
.event .date a,
.event .time a,
.event .url.summary + p a,
.event h2 + p a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f4f7fb;
  color: #38506f;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.4;
}

.event p:first-of-type a:hover,
.event .schedule-date a:hover,
.event .event-date a:hover,
.event .date a:hover,
.event .time a:hover,
.event .url.summary + p a:hover,
.event h2 + p a:hover {
  background: #edf3fb;
  color: #21344f;
  text-decoration: none;
}

/* If date line is NOT a link and is plain text */
.event p:first-of-type,
.event .schedule-date,
.event .event-date,
.event .date,
.event .time {
  color: #50627b;
  font-size: 0.96rem;
  line-height: 1.55;
  margin-bottom: 16px;
}

/* =========================================================
   SUMMARY / DESCRIPTION
   ========================================================= */

/* Main description wrapper found in your screenshot */
.xrm-attribute-value {
  margin-top: 6px;
  color: #33445c;
  font-size: 1.5rem;
  line-height: 1.8;
}

/* Paragraph rhythm */
.xrm-attribute-value p {
  margin: 0 0 16px 0;
}

/* Strong / highlights label */
.xrm-attribute-value strong,
.xrm-attribute-value b {
  color: #17243a;
  font-weight: 700;
}

/* Bullet list modernization */
.xrm-attribute-value ul,
.xrm-attribute-value ol {
  margin: 12px 0 0 0;
  padding-left: 1.25rem;
}

.xrm-attribute-value li {
  margin-bottom: 10px;
  padding-left: 4px;
  color: #33445c;
}

/* Better heading feel inside description */
.xrm-attribute-value h3,
.xrm-attribute-value h4,
.xrm-attribute-value h5 {
  margin: 20px 0 12px;
  color: #17243a;
  font-weight: 700;
  line-height: 1.35;
}

/* Optional subtle divider between meta and description */
.event .xrm-attribute-value {
  border-top: 1px solid #edf1f6;
  padding-top: 18px;
}

/* =========================================================
   LINKS INSIDE DESCRIPTION
   ========================================================= */
.xrm-attribute-value a {
  color: #2457c5;
  text-decoration: none;
  font-weight: 600;
}

.xrm-attribute-value a:hover {
  color: #c32027;
  text-decoration: underline;
}

/* =========================================================
   PAGINATION
   ========================================================= */
.pagination,
.entity-grid .pagination {
  margin-top: 26px;
}

.pagination > li > a,
.pagination > li > span {
  margin: 0 4px;
  min-width: 40px;
  height: 40px;
  padding: 9px 14px;
  border-radius: 10px;
  border: 1px solid #e4eaf2;
  background: #ffffff;
  color: #425570;
  font-weight: 600;
  text-align: center;
  transition: all 0.2s ease;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
  background: #f6f9fc;
  border-color: #d7e1ed;
  color: #17243a;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  background: #c32027;
  border-color: #c32027;
  color: #ffffff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 767px) {
  #upcomingEvents > li,
  #pastEvents > li,
  ul.list-unstyled[id*="Events"] > li {
    padding: 20px 18px 18px 18px;
    border-radius: 16px;
  }

  #upcomingEvents > li > .fa-calendar,
  #pastEvents > li > .fa-calendar,
  ul.list-unstyled[id*="Events"] > li > .fa-calendar,
  ul.list-unstyled[id*="Events"] > li > span.fa.fa-calendar {
    position: static;
    margin-bottom: 14px;
    display: inline-flex;
  }

  #upcomingEvents > li .event,
  #pastEvents > li .event,
  ul.list-unstyled[id*="Events"] > li .event {
    margin-left: 0;
  }

  .event h2,
  .event .h2 {
    font-size: 1.18rem;
  }

  .xrm-attribute-value {
    font-size: 0.97rem;
    line-height: 1.7;
  }

  .nav-tabs > li > a {
    padding: 10px 14px;
    font-size: 0.94rem;
  }
}

/* =========================================================
   EVENT SCHEDULE DETAIL PAGE
   ========================================================= */

/* Main content container */
.container .row .col-md-8.event,
.col-md-8.event {
  background: #ffffff;
  border: 1px solid #e7ecf3;
  border-radius: 20px;
  padding: 32px 36px;
  box-shadow: 0 10px 30px rgba(20, 32, 56, 0.06);
  margin-bottom: 40px;
}

/* Page title */
.col-md-8.event > h1,
.event > h1,
.page-header h1 {
  font-size: 2.35rem;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -0.025em;
  color: #17243a;
  margin-bottom: 24px;
}

/* Divider under title */
.col-md-8.event > hr,
.event > hr {
  border: 0;
  border-top: 1px solid #e8edf4;
  margin: 0 0 26px;
}

/* =========================================================
   DATE / TIME HERO LINE
   ========================================================= */

/* Remove old abbr dotted underline effect */
abbr[title],
abbr[data-original-title] {
  text-decoration: none !important;
  border-bottom: 0 !important;
  cursor: default;
}

/* Main occurrence heading */
h2.event-occurrence,
.event h2.event-occurrence {
  margin: 0 0 24px 0;
  font-size: 1.65rem;
  line-height: 1.3;
  font-weight: 700;
  color: #1d2f4a;
  letter-spacing: -0.015em;
}

/* Date/time link style */
h2.event-occurrence a,
h2.event-occurrence abbr,
.event h2.event-occurrence a,
.event h2.event-occurrence abbr {
  display: inline-block;
  color: #21344f;
  text-decoration: none !important;
  border-bottom: 0 !important;
  background: linear-gradient(180deg, #f7faff 0%, #f2f6fd 100%);
  border: 1px solid #dde6f2;
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}

/* =========================================================
   REGISTER BUTTON COLUMN
   ========================================================= */
.col-md-4 {
  padding-top: 6px;
}

/* Target common portal button styles */
.col-md-4 .btn,
.col-md-4 .btn-primary,
.col-md-4 a.btn,
.col-md-4 input[type="submit"],
.col-md-4 button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  width: 100%;
  max-width: 320px;
  padding: 14px 22px;
  border-radius: 16px;
  border: 1px solid transparent;
  background: linear-gradient(135deg, #5c7df0 0%, #4f6fe0 100%);
  color: #ffffff !important;
  font-size: 1.08rem;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(79, 111, 224, 0.22);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.col-md-4 .btn:hover,
.col-md-4 .btn-primary:hover,
.col-md-4 a.btn:hover,
.col-md-4 input[type="submit"]:hover,
.col-md-4 button:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(79, 111, 224, 0.28);
  background: linear-gradient(135deg, #4f6fe0 0%, #4465d7 100%);
  color: #ffffff !important;
}

/* =========================================================
   EVENT DETAILS GRID
   ========================================================= */

/* The row under date/time */
.event > .row,
.col-md-8.event > .row {
  margin-top: 8px;
  padding-top: 8px;
}

/* Each info column */
.event > .row > div,
.col-md-8.event > .row > div {
  margin-bottom: 18px;
}

/* Cards for Location / Time / Instructions */
.event > .row > div > div,
.col-md-8.event > .row > div > div,
.event > .row .col-md-4,
.col-md-8.event > .row .col-md-4 {
  background: #f8fafc;
  border: 1px solid #e6ebf2;
  border-radius: 18px;
  padding: 22px 22px 18px;
  min-height: 100%;
}

/* Section labels */
.event .row strong,
.event .row b,
.col-md-8.event .row strong,
.col-md-8.event .row b {
  display: block;
  font-size: 1.08rem;
  line-height: 1.3;
  font-weight: 750;
  color: #17243a;
  margin-bottom: 12px;
}

/* Body text */
.event .row,
.event .row p,
.event .row span,
.event .row div,
.col-md-8.event .row,
.col-md-8.event .row p,
.col-md-8.event .row span,
.col-md-8.event .row div {
  color: #31435a;
  font-size: 1rem;
  line-height: 1.7;
}

/* Links inside details */
.event .row a,
.col-md-8.event .row a {
  color: #2457c5;
  font-weight: 600;
  text-decoration: none;
}

.event .row a:hover,
.col-md-8.event .row a:hover {
  color: #c32027;
  text-decoration: underline;
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.breadcrumb {
  background: #f7f9fc;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 12px 18px;
  margin-bottom: 32px;
}

.breadcrumb > li,
.breadcrumb a {
  color: #5d6d84;
  font-size: 0.95rem;
}

.breadcrumb > .active {
  color: #17243a;
  font-weight: 700;
}

/* =========================================================
   GENERAL PAGE SPACING
   ========================================================= */
.container {
  max-width: 1320px;
}

.page-heading {
  margin-bottom: 26px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991px) {
  .container .row .col-md-8.event,
  .col-md-8.event {
    padding: 24px 22px;
    border-radius: 18px;
  }

  .col-md-8.event > h1,
  .event > h1,
  .page-header h1 {
    font-size: 2rem;
  }

  h2.event-occurrence,
  .event h2.event-occurrence {
    font-size: 1.35rem;
  }

  .col-md-4 .btn,
  .col-md-4 .btn-primary,
  .col-md-4 a.btn,
  .col-md-4 input[type="submit"],
  .col-md-4 button {
    max-width: 100%;
    margin-top: 8px;
  }

  .event > .row .col-md-4,
  .col-md-8.event > .row .col-md-4 {
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  .col-md-8.event > h1,
  .event > h1,
  .page-header h1 {
    font-size: 1.75rem;
    line-height: 1.2;
  }

  h2.event-occurrence,
  .event h2.event-occurrence {
    font-size: 1.18rem;
  }

  h2.event-occurrence a,
  h2.event-occurrence abbr,
  .event h2.event-occurrence a,
  .event h2.event-occurrence abbr {
    padding: 12px 14px;
    border-radius: 14px;
  }

  .event .row strong,
  .event .row b,
  .col-md-8.event .row strong,
  .col-md-8.event .row b {
    font-size: 1rem;
  }

  .event .row,
  .event .row p,
  .event .row span,
  .event .row div,
  .col-md-8.event .row,
  .col-md-8.event .row p,
  .col-md-8.event .row span,
  .col-md-8.event .row div {
    font-size: 0.97rem;
    line-height: 1.65;
  }
}

/* =========================================================
   FIX: Restrict event schedule detail styling so it does not
   affect header/logo/contact editable HTML blocks
   ========================================================= */

/* Reset header editable regions */
.header .xrm-editable-html,
.header .xrm-editable-html.xrm-attribute,
.header .xrm-attribute-value,
.header-main .xrm-editable-html,
.header-main .xrm-editable-html.xrm-attribute,
.header-main .xrm-attribute-value,
.logo .xrm-editable-html,
.logo .xrm-editable-html.xrm-attribute,
.logo .xrm-attribute-value,
.contact .xrm-editable-html,
.contact .xrm-editable-html.xrm-attribute,
.contact .xrm-attribute-value {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  line-height: inherit !important;
}

/* Keep header text white and prevent event body text color from leaking in */
.header .xrm-editable-html p,
.header .xrm-editable-html div,
.header .xrm-editable-html span,
.header .xrm-attribute-value p,
.header .xrm-attribute-value div,
.header .xrm-attribute-value span,
.header-main .xrm-editable-html p,
.header-main .xrm-editable-html div,
.header-main .xrm-editable-html span,
.header-main .xrm-attribute-value p,
.header-main .xrm-attribute-value div,
.header-main .xrm-attribute-value span,
.logo .xrm-editable-html p,
.logo .xrm-editable-html div,
.logo .xrm-editable-html span,
.contact .xrm-editable-html p,
.contact .xrm-editable-html div,
.contact .xrm-editable-html span {
  color: #ffffff !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Also prevent logo wrapper from picking up content spacing */
.logo .xrm-editable-html p,
.logo .xrm-attribute-value p,
.contact .xrm-editable-html p,
.contact .xrm-attribute-value p {
  margin: 0 !important;
}

/* =========================================================
   SAFER EVENT DETAIL SCOPING
   Use event styles only inside the event detail content area
   ========================================================= */

.col-md-8.event .xrm-editable-html,
.col-md-8.event .xrm-editable-html.xrm-attribute,
.event .xrm-editable-html,
.event .xrm-editable-html.xrm-attribute {
  margin-top: 30px;
  background: #ffffff;
  border-top: 1px solid #edf1f6;
  padding-top: 26px;
}

.col-md-8.event .xrm-attribute-value,
.event .xrm-attribute-value {
  margin-top: 6px;
  color: #33445c;
  font-size: 1rem;
  line-height: 1.8;
}

.col-md-8.event .xrm-attribute-value p,
.event .xrm-attribute-value p {
  margin: 0 0 16px 0;
}

.col-md-8.event .xrm-attribute-value strong,
.col-md-8.event .xrm-attribute-value b,
.event .xrm-attribute-value strong,
.event .xrm-attribute-value b {
  color: #17243a;
  font-weight: 700;
}

.col-md-8.event .xrm-attribute-value ul,
.col-md-8.event .xrm-attribute-value ol,
.event .xrm-attribute-value ul,
.event .xrm-attribute-value ol {
  margin: 12px 0 0 0;
  padding-left: 1.25rem;
}

.col-md-8.event .xrm-attribute-value li,
.event .xrm-attribute-value li {
  margin-bottom: 10px;
  padding-left: 4px;
  color: #33445c;
}

.col-md-8.event .xrm-attribute-value a,
.event .xrm-attribute-value a {
  color: #2457c5;
  text-decoration: none;
  font-weight: 600;
}

.col-md-8.event .xrm-attribute-value a:hover,
.event .xrm-attribute-value a:hover {
  color: #c32027;
  text-decoration: underline;
}

/* =========================================================
   FIX: Applicant Central table header text on dark background
   ========================================================= */

.divTable.applications .divTableHeading,
.divTable.applications .divTableHeading *,
.divTable.applications .divTableHead,
.divTable.applications .divTableHead *,
.divTable .divTableHeading,
.divTable .divTableHeading *,
.divTable .divTableHead,
.divTable .divTableHead * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* specifically protect encoded portal label spans */
.divTable .divTableHeading .xrm-attribute-value,
.divTable .divTableHeading .xrm-attribute-value span,
.divTable .divTableHeading .xrm-attribute-value-encoded,
.divTable .divTableHead .xrm-attribute-value,
.divTable .divTableHead .xrm-attribute-value span,
.divTable .divTableHead .xrm-attribute-value-encoded {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* keep header cells visually strong */
.divTable .divTableHeading,
.divTable .divTableHead {
  font-weight: 700 !important;
}

/* =========================================================
   FIX: Checklist Item Details – restore File URL and
   Attach a File controls only
   ========================================================= */

/* Show the File URL label */
label#foundry_fileurl_label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-bottom: 8px !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* Show the File URL input */
input#foundry_fileurl {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 14px !important;
  color: #17243a !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Show the Attach a File label */
label#AttachFileLabel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-bottom: 8px !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* Hide the native file input visually but keep it functional */
input#AttachFile {
  display: block !important;
  visibility: visible !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Style the custom upload button that already exists in the DOM */
button#customUploadBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  border: 1px solid #4f6fe0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #5c7df0 0%, #4f6fe0 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: 0 10px 20px rgba(79, 111, 224, 0.18) !important;
  cursor: pointer !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

button#customUploadBtn:hover,
button#customUploadBtn:focus {
  background: linear-gradient(135deg, #4f6fe0 0%, #4465d7 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 24px rgba(79, 111, 224, 0.24) !important;
  outline: none !important;
}

/* Ensure the file cell itself is visible and spaced correctly */
.crmEntityFormView .cell.file-cell,
.crmEntityFormView .cell.text.form-control-cell {
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.crmEntityFormView .cell.file-cell .control,
.crmEntityFormView .cell.text.form-control-cell .control {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}

/* Make sure these two specific controls are not flattened by generic rules */
.crmEntityFormView .cell.text.form-control-cell input#foundry_fileurl,
.crmEntityFormView .cell.file-cell button#customUploadBtn {
  margin-top: 4px !important;
}

/* =========================================================
   CHECKLIST ITEM DETAILS PAGE
   Read-only styling + restore download/upload controls
   ========================================================= */

/* ---------------------------------------------------------
   1) READ-ONLY FIELDS SHOULD LOOK READ-ONLY
   --------------------------------------------------------- */

/* Read-only text inputs and lookup fields */
.crmEntityFormView .form-control[readonly],
.crmEntityFormView .form-control.readonly,
.crmEntityFormView .form-control[disabled],
.crmEntityFormView input.aspNetDisabled,
.crmEntityFormView input[readonly],
.crmEntityFormView input[disabled],
.crmEntityFormView textarea[readonly],
.crmEntityFormView textarea.readonly,
.crmEntityFormView textarea[disabled] {
  background: #f5f7fb !important;
  border: 1px solid #dbe3ee !important;
  color: #4b5d75 !important;
  box-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* Read-only lookups often still inherit editable field styling */
.crmEntityFormView input.lookup[readonly],
.crmEntityFormView input.lookup.aspNetDisabled,
.crmEntityFormView input.lookup[disabled] {
  background: #f5f7fb !important;
  border: 1px solid #dbe3ee !important;
  color: #4b5d75 !important;
  box-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* Remove stronger active/focus treatment from read-only fields */
.crmEntityFormView .form-control[readonly]:focus,
.crmEntityFormView .form-control.readonly:focus,
.crmEntityFormView input.aspNetDisabled:focus,
.crmEntityFormView textarea[readonly]:focus,
.crmEntityFormView textarea.readonly:focus {
  border-color: #dbe3ee !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Make labels feel like summary labels rather than edit form labels */
.crmEntityFormView .cell .info label,
.crmEntityFormView .cell label {
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-bottom: 8px !important;
}

/* ---------------------------------------------------------
   2) SECTION CONTAINERS FOR READ-ONLY FIELDS
   --------------------------------------------------------- */

/* Give readonly rows a softer summary-card feel */
.crmEntityFormView .cell.lookup.form-control-cell,
.crmEntityFormView .cell.text.form-control-cell,
.crmEntityFormView .cell.memo.form-control-cell,
.crmEntityFormView .cell.boolean-radio-cell {
  vertical-align: top !important;
}

/* Slightly soften the readonly textarea */
.crmEntityFormView textarea#foundry_description[readonly],
.crmEntityFormView textarea#foundry_description.readonly {
  resize: none !important;
  min-height: 96px !important;
}

/* ---------------------------------------------------------
   3) DOWNLOAD TEMPLATE LABEL + BUTTON
   --------------------------------------------------------- */

/* Restore hidden label */
label#downloadLabel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 12px 0 10px 0 !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

/* Restore and modernize hidden download button */
a#downloadButton {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  margin: 4px 0 18px 0 !important;
  border-radius: 12px !important;
  border: 1px solid #2457c5 !important;
  background: linear-gradient(135deg, #2d6cdf 0%, #2457c5 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 20px rgba(36, 87, 197, 0.16) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

a#downloadButton:hover,
a#downloadButton:focus {
  background: linear-gradient(135deg, #2457c5 0%, #1f4cad 100%) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 24px rgba(36, 87, 197, 0.22) !important;
  outline: none !important;
}

/* ---------------------------------------------------------
   4) FILE URL + ATTACH A FILE
   --------------------------------------------------------- */

/* File URL label */
label#foundry_fileurl_label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 14px 0 8px 0 !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* File URL input should be editable/visible */
input#foundry_fileurl {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 14px !important;
  color: #17243a !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Attach a File label */
label#AttachFileLabel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 14px 0 8px 0 !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

/* Keep native file input hidden off-screen but functional */
input#AttachFile {
  display: block !important;
  visibility: visible !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Style custom upload button */
button#customUploadBtn {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 18px !important;
  margin: 4px 0 18px 0 !important;
  border-radius: 12px !important;
  border: 1px solid #4f6fe0 !important;
  background: linear-gradient(135deg, #5c7df0 0%, #4f6fe0 100%) !important;
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  box-shadow: 0 10px 20px rgba(79, 111, 224, 0.18) !important;
  cursor: pointer !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

button#customUploadBtn:hover,
button#customUploadBtn:focus {
  background: linear-gradient(135deg, #4f6fe0 0%, #4465d7 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 24px rgba(79, 111, 224, 0.24) !important;
  outline: none !important;
}

/* ---------------------------------------------------------
   5) CONFIRMED? BOOLEAN SECTION SHOULD NOT LOOK LIKE A TEXTBOX
   --------------------------------------------------------- */

/* Remove oversized textbox feel from boolean cell */
.crmEntityFormView .cell.boolean-radio-cell .control {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 6px 0 0 0 !important;
  min-height: auto !important;
}

/* Keep boolean row compact and natural */
.crmEntityFormView .cell.boolean-radio-cell {
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

.crmEntityFormView .cell.boolean-radio-cell label {
  margin-right: 10px !important;
  font-weight: 600 !important;
  color: #4b5d75 !important;
}

/* Radio buttons area */
.crmEntityFormView .cell.boolean-radio-cell .radio,
.crmEntityFormView .cell.boolean-radio-cell .boolean-radio,
.crmEntityFormView .cell.boolean-radio-cell .control > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* ---------------------------------------------------------
   6) GENERAL SPACING CLEANUP FOR THIS PAGE
   --------------------------------------------------------- */

/* Prevent awkward empty vertical gaps from hidden helpers */
.crmEntityFormView .cell .info label[style*="display: none"],
.crmEntityFormView .cell .control [style*="display: none"] {
  margin: 0 !important;
}

/* Ensure controls remain aligned */
.crmEntityFormView .cell .control {
  overflow: visible !important;
}

/* Submit button spacing */
.crmEntityFormView .actions,
.crmEntityFormView .form-action-container {
  margin-top: 20px !important;
}

/* =========================================================
   CHECKLIST DETAILS – make readonly fields look readonly
   ========================================================= */

/* Target readonly / disabled fields only */
.crmEntityFormView input[readonly],
.crmEntityFormView textarea[readonly],
.crmEntityFormView input[disabled],
.crmEntityFormView textarea[disabled],
.crmEntityFormView input.aspNetDisabled,
.crmEntityFormView textarea.readonly,
.crmEntityFormView .form-control[readonly],
.crmEntityFormView .form-control[disabled],
.crmEntityFormView .form-control.readonly {
  background: #f3f6fa !important;
  border: 1px solid #d7e0eb !important;
  color: #5a6b82 !important;
  box-shadow: none !important;
  cursor: default !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

/* Stronger visual treatment for the readonly fields on this page */
.crmEntityFormView input[readonly],
.crmEntityFormView input[disabled],
.crmEntityFormView input.aspNetDisabled,
.crmEntityFormView .form-control[readonly],
.crmEntityFormView .form-control[disabled] {
  min-height: 52px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  font-weight: 500 !important;
}

/* Readonly textarea should feel like a content panel */
.crmEntityFormView textarea[readonly],
.crmEntityFormView textarea[disabled],
.crmEntityFormView textarea.readonly {
  min-height: 110px !important;
  padding: 16px !important;
  border-radius: 16px !important;
  resize: none !important;
  line-height: 1.7 !important;
}

/* Remove active/focus behavior completely */
.crmEntityFormView input[readonly]:focus,
.crmEntityFormView textarea[readonly]:focus,
.crmEntityFormView input[disabled]:focus,
.crmEntityFormView textarea[disabled]:focus,
.crmEntityFormView input.aspNetDisabled:focus,
.crmEntityFormView .form-control[readonly]:focus,
.crmEntityFormView .form-control[disabled]:focus {
  outline: none !important;
  border-color: #d7e0eb !important;
  box-shadow: none !important;
}

/* Lookup readonly field specifically */
.crmEntityFormView input.lookup[readonly],
.crmEntityFormView input.lookup[disabled],
.crmEntityFormView input.lookup.aspNetDisabled,
.crmEntityFormView input.lookup.form-control[readonly],
.crmEntityFormView input.lookup.form-control[disabled] {
  background: #f3f6fa !important;
  border: 1px solid #d7e0eb !important;
  color: #5a6b82 !important;
  pointer-events: none !important;
}

/* Optional: make readonly fields slightly inset like summary cards */
.crmEntityFormView input[readonly],
.crmEntityFormView input[disabled],
.crmEntityFormView input.aspNetDisabled,
.crmEntityFormView textarea[readonly],
.crmEntityFormView textarea[disabled],
.crmEntityFormView textarea.readonly {
  box-shadow: inset 0 1px 2px rgba(20, 35, 59, 0.03) !important;
}

/* =========================================================
   LOOKUP BUTTONS
   Keep lookup X/search visible globally,
   but hide them only on checklist details read-only fields
   ========================================================= */

/* Default behavior: lookup buttons should be visible */
.crmEntityFormView table.section td .lookup .input-group-btn,
.crmEntityFormView table.section td .lookup + .input-group-btn,
.crmEntityFormView table.section td .input-group-btn:has(.clearlookupfield),
.crmEntityFormView table.section td .input-group-btn:has(.launchentitylookup) {
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 48px !important;
  max-width: none !important;
  white-space: nowrap !important;
  align-self: stretch !important;
}

/* Keep the buttons styled and visible */
.crmEntityFormView table.section td .input-group-btn .btn,
.crmEntityFormView table.section td .input-group-btn button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 48px !important;
  width: 48px !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 3 !important;
}

/* =========================================================
   CHECKLIST DETAILS ONLY
   Hide lookup affordances for specific read-only fields
   ========================================================= */

/* Program Application */
.crmEntityFormView .input-group:has(#foundry_programapplication) .input-group-btn,
.crmEntityFormView .input-group:has(input#foundry_programapplication) .input-group-btn,

/* Checklist Item Type */
.crmEntityFormView .input-group:has(#foundry_checklistitemtype) .input-group-btn,
.crmEntityFormView .input-group:has(input#foundry_checklistitemtype) .input-group-btn,

/* File Template / any checklist template lookup if applicable */
.crmEntityFormView .input-group:has(#foundry_filetemplate) .input-group-btn,
.crmEntityFormView .input-group:has(input#foundry_filetemplate) .input-group-btn,

/* File / attachment-related readonly lookup if applicable */
.crmEntityFormView .input-group:has(#foundry_file) .input-group-btn,
.crmEntityFormView .input-group:has(input#foundry_file) .input-group-btn {
  display: none !important;
}

/* =========================================================
   CHECKLIST DETAILS
   Match Name + Description to Program Application style
   and restore Checklist Item Type control
   ========================================================= */

/* ---------------------------------------------------------
   1) Make Name look like the Program Application readonly field
   --------------------------------------------------------- */
input#foundry_name,
input#foundry_name[readonly],
input#foundry_name[disabled],
input#foundry_name.aspNetDisabled {
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
  background: #f3f6fa !important;
  border: 1px solid #d7e0eb !important;
  border-radius: 16px !important;
  color: #5a6b82 !important;
  box-shadow: inset 0 1px 2px rgba(20, 35, 59, 0.03) !important;
  cursor: default !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

/* ---------------------------------------------------------
   2) Make Description look like a readonly content panel
   --------------------------------------------------------- */
textarea#foundry_description,
textarea#foundry_description[readonly],
textarea#foundry_description[disabled],
textarea#foundry_description.readonly {
  display: block !important;
  width: 100% !important;
  min-height: 104px !important;
  padding: 16px !important;
  background: #f3f6fa !important;
  border: 1px solid #d7e0eb !important;
  border-radius: 16px !important;
  color: #5a6b82 !important;
  line-height: 1.7 !important;
  resize: none !important;
  box-shadow: inset 0 1px 2px rgba(20, 35, 59, 0.03) !important;
  cursor: default !important;
  pointer-events: none !important;
  opacity: 1 !important;
}

/* Remove focus/active look from readonly Name + Description */
input#foundry_name:focus,
textarea#foundry_description:focus {
  outline: none !important;
  border-color: #d7e0eb !important;
  box-shadow: inset 0 1px 2px rgba(20, 35, 59, 0.03) !important;
}

/* ---------------------------------------------------------
   3) Restore hidden Checklist Item Type control
   --------------------------------------------------------- */
label#foundry_checklistitemtype_label {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-bottom: 8px !important;
  color: #17243a !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

td.picklist-cell .control,
td.picklist-cell .control[style*="display: none"],
td.picklist-cell select,
select#foundry_checklistitemtype {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Style Checklist Item Type exactly like a readonly field */
select#foundry_checklistitemtype,
select#foundry_checklistitemtype.readonly,
select#foundry_checklistitemtype[disabled],
select#foundry_checklistitemtype[aria-disabled="true"] {
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
  background: #f3f6fa !important;
  border: 1px solid #d7e0eb !important;
  border-radius: 16px !important;
  color: #5a6b82 !important;
  box-shadow: inset 0 1px 2px rgba(20, 35, 59, 0.03) !important;
  cursor: default !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  opacity: 1 !important;
}

/* Hide dropdown arrow visuals so it does not look editable */
select#foundry_checklistitemtype::-ms-expand {
  display: none !important;
}

/* ---------------------------------------------------------
   4) Keep all readonly fields visually consistent
   --------------------------------------------------------- */
input#foundry_programapplication_name,
input#foundry_name,
textarea#foundry_description,
select#foundry_checklistitemtype {
  font-weight: 500 !important;
}

/* Ensure parent control wrappers do not add editable styling */
td.text.form-control-cell .control,
td.memo.form-control-cell .control,
td.lookup.form-control-cell .control,
td.picklist-cell .control {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Fallback layout fix */
label#downloadLabel {
  display: inline-block !important;
  width: calc(100% - 200px) !important;
  margin: 16px 0 18px 0 !important;
}

a#downloadButton {
  float: right !important;
  margin-top: 10px !important;
}



/* =========================================================
   PROFILE PANEL HEADINGS
   Fix Security / panel title icon spacing + heading style
   ========================================================= */

/* panel title container */
.panel.panel-default.nav-profile .panel-heading h2.panel-title,
.panel.panel-default.nav-profile .panel-heading .panel-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* icon inside heading */
.panel.panel-default.nav-profile .panel-heading .panel-title .fa,
.panel.panel-default.nav-profile .panel-heading .panel-title .glyphicon {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  opacity: 0.95 !important;
}

/* actual editable label text like "Security" */
.panel.panel-default.nav-profile .panel-heading .panel-title .xrm-attribute-value,
.panel.panel-default.nav-profile .panel-heading .panel-title .xrm-attribute-value-encoded {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
}

/* remove inherited weird spacing from generic editable spans */
.panel.panel-default.nav-profile .panel-heading .xrm-editable-text,
.panel.panel-default.nav-profile .panel-heading .xrm-editable-html,
.panel.panel-default.nav-profile .panel-heading span {
  vertical-align: middle !important;
}

/* optional: tighten the panel heading itself a touch */
.panel.panel-default.nav-profile .panel-heading {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
}

/* Show Program Name from data attribute when td is empty */
#programSelectionsTable td[name="programdescription"]::before,
#programSelectionsTable .table-cell[name="programdescription"]::before {
  content: attr(data-programversion-name);
  display: block !important;
  color: #243041 !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* =========================================================
   Previous Education - show institution name when cell is empty
   ========================================================= */

#prevEducationTable td.table-cell-name:empty::before {
  content: attr(data-institution-name);
  display: block !important;
  color: #243041 !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* =========================================================
   TEST SCORES - HEADER LAYOUT FIX
   Keep helper text on the left and full button visible on right
   ========================================================= */

/* Make the helper-text + add-button area a single flex row */
#testScoresContainer .table-header-container,
#testScoresForm .table-header-container,
#testScoresContainer .pa-table-header-container,
#testScoresForm .pa-table-header-container,
#testScoresContainer .header-container,
#testScoresForm .header-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

/* Let the description occupy the left side cleanly */
#testScoresContainer .header-description,
#testScoresForm .header-description {
  display: block !important;
  flex: 1 1 auto !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* Keep button fully visible and pinned beside the description */
#testScoresContainer .pa-btn-table-add-container,
#testScoresForm .pa-btn-table-add-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: fit-content !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Ensure the button itself cannot collapse or clip */
#btnAddTestScore.pa-btn-table-add,
button#btnAddTestScore.pa-btn-table-add {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 280px !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* Slightly tighten on smaller widths instead of clipping */
@media (max-width: 1100px) {
  #testScoresContainer .table-header-container,
  #testScoresForm .table-header-container,
  #testScoresContainer .pa-table-header-container,
  #testScoresForm .pa-table-header-container,
  #testScoresContainer .header-container,
  #testScoresForm .header-container {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  #testScoresContainer .header-description,
  #testScoresForm .header-description {
    width: 100% !important;
  }

  #testScoresContainer .pa-btn-table-add-container,
  #testScoresForm .pa-btn-table-add-container {
    justify-content: flex-start !important;
  }
}

/* =========================================================
   PREVIOUS EDUCATION - MATCH TEST SCORES HELPER TEXT
   ========================================================= */

#prevEducationContainer .header-description,
#prevEducationForm .header-description {
  display: inline-block !important;
  max-width: 760px !important;
  margin-top: 14px !important;
  margin-bottom: 26px !important;
  padding: 16px 20px !important;
  background: #f8fafc !important;
  border: 1px solid #e7edf5 !important;
  border-left: 4px solid #7c8df6 !important;
  border-radius: 16px !important;

  color: #536277 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;

  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
}

/* keep inner text clean and consistent */
#prevEducationContainer .header-description p,
#prevEducationForm .header-description p,
#prevEducationContainer .header-description *,
#prevEducationForm .header-description * {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* optional emphasis support */
#prevEducationContainer .header-description strong,
#prevEducationForm .header-description strong,
#prevEducationContainer .header-description b,
#prevEducationForm .header-description b {
  color: #212937 !important;
  font-weight: 700 !important;
}

/* =========================================================
   APPLICATION SUBMITTING MESSAGE
   Make the "do not close / refresh" warning prominent
   ========================================================= */

#submitLoadingSection {
  position: relative !important;
  z-index: 20 !important;
}

/* strengthen the spinner card layout */
#submitLoadingSection .pa-spinner-container {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 42px 36px !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px solid #dfe8f4 !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10) !important;
}

/* make the actual warning message look important */
#submitLoadingSection .pa-loading-message,
#submitLoadingSection #paSubmittingMessage {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 22px auto 0 !important;
  padding: 20px 22px !important;

  background: linear-gradient(180deg, #fff7f7 0%, #fff1f1 100%) !important;
  border: 1px solid #f3c7c7 !important;
  border-left: 6px solid #c32228 !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(195, 34, 40, 0.10) !important;

  color: #7a1d1d !important;
  text-align: left !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}

/* add a warning label automatically above the message */
#submitLoadingSection #paSubmittingMessage::before {
  content: "Important — Please do not close, refresh, or leave this page.";
  display: block !important;
  margin-bottom: 10px !important;

  color: #c32228 !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

/* improve readability of the dynamic message text */
#submitLoadingSection #paSubmittingMessage,
#submitLoadingSection #paSubmittingMessage * {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* make the loading animation feel more intentional */
#submitLoadingSection .pa-loadingspinner {
  margin-bottom: 20px !important;
  transform: scale(1.08) !important;
}

/* optional subtle pulse to draw attention */
#submitLoadingSection .pa-loading-message {
  animation: paSubmitPulse 1.8s ease-in-out infinite;
}

@keyframes paSubmitPulse {
  0%, 100% {
    box-shadow: 0 10px 28px rgba(195, 34, 40, 0.10);
  }
  50% {
    box-shadow: 0 14px 34px rgba(195, 34, 40, 0.18);
  }
}

/* mobile */
@media (max-width: 768px) {
  #submitLoadingSection .pa-spinner-container {
    padding: 30px 22px !important;
    border-radius: 22px !important;
  }

  #submitLoadingSection .pa-loading-message,
  #submitLoadingSection #paSubmittingMessage {
    padding: 18px 18px !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  #submitLoadingSection #paSubmittingMessage::before {
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
  }
}


/* =========================================================
   PAYMENT SUMMARY PAGE - HEADING IMPROVEMENTS
   ========================================================= */

/* -----------------------------
   MAIN PAGE TITLE: Payment Summary
   ----------------------------- */
.page-header {
  text-align: center !important;
  margin-bottom: 42px !important;
}

.page-header h1,
.page-heading h1,
h1.page-title {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* actual editable text inside Payment Summary */
.page-header h1 .xrm-attribute-value,
.page-header h1 .xrm-attribute-value-encoded,
.page-heading h1 .xrm-attribute-value,
.page-heading h1 .xrm-attribute-value-encoded,
h1.page-title .xrm-attribute-value,
h1.page-title .xrm-attribute-value-encoded {
  display: inline-block !important;
  margin: 0 !important;
  color: #17243d !important;
  font-size: clamp(2rem, 3vw, 2.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* -----------------------------
   SECTION HEADINGS
   Make Billing Details + Purchase Summary match
   ----------------------------- */

/* Billing Details + Purchase Summary legends */
#ContentContainer_MainContent_pnlBillingDetails legend,
#ContentContainer_MainContent_PurchaseSummary legend,
#ContentContainer_MainContent_pnlBillingDetails .legend-bottom-40,
#ContentContainer_MainContent_PurchaseSummary .legend-bottom-40,
.purchase-summary legend,
.purchase-summary fieldset legend {
  display: block !important;
  width: 100% !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;

  color: #17243d !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

/* inner span text inside legends */
#ContentContainer_MainContent_pnlBillingDetails legend span,
#ContentContainer_MainContent_PurchaseSummary legend span,
#ContentContainer_MainContent_pnlBillingDetails legend .xrm-attribute-value,
#ContentContainer_MainContent_PurchaseSummary legend .xrm-attribute-value,
#ContentContainer_MainContent_pnlBillingDetails legend .xrm-attribute-value-encoded,
#ContentContainer_MainContent_PurchaseSummary legend .xrm-attribute-value-encoded {
  display: inline-block !important;
  margin: 0 !important;
  color: #17243d !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

/* -----------------------------
   PURCHASE SUMMARY BLOCK
   Optional: center heading visually over the card
   ----------------------------- */
#ContentContainer_MainContent_PurchaseSummary,
#ContentContainer_MainContent_PurchaseSummary .col-md-4 {
  text-align: left !important;
}

#ContentContainer_MainContent_PurchaseSummary legend {
  text-align: center !important;
}

/* -----------------------------
   Responsive adjustments
   ----------------------------- */
@media (max-width: 991px) {
  .page-header h1 .xrm-attribute-value,
  .page-header h1 .xrm-attribute-value-encoded,
  .page-heading h1 .xrm-attribute-value,
  .page-heading h1 .xrm-attribute-value-encoded,
  h1.page-title .xrm-attribute-value,
  h1.page-title .xrm-attribute-value-encoded {
    font-size: clamp(1.8rem, 6vw, 2.4rem) !important;
    white-space: normal !important;
  }

  #ContentContainer_MainContent_pnlBillingDetails legend,
  #ContentContainer_MainContent_PurchaseSummary legend,
  #ContentContainer_MainContent_pnlBillingDetails .legend-bottom-40,
  #ContentContainer_MainContent_PurchaseSummary .legend-bottom-40 {
    font-size: 1.65rem !important;
  }
}

/* =========================================================
   APPLICANT DASHBOARD - NEW PROGRAM APPLICATION BUTTON FIX
   ========================================================= */

#new_pa_btn,
#new_pa_btn.btn,
#new_pa_btn.btn-primary,
a#new_pa_btn,
a#new_pa_btn.btn,
a#new_pa_btn.btn-primary {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* force inner text/spans/icons white too */
#new_pa_btn span,
#new_pa_btn .xrm-editable-text,
#new_pa_btn .xrm-attribute-value,
#new_pa_btn .xrm-attribute-value-encoded,
#new_pa_btn i,
#new_pa_btn svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* keep hover/focus/active states white */
#new_pa_btn:hover,
#new_pa_btn:focus,
#new_pa_btn:active,
#new_pa_btn:hover span,
#new_pa_btn:focus span,
#new_pa_btn:active span {
  color: #ffffff !important;
}



/* =========================================================
   PAGE TITLES - MODERN PREMIUM HEADER
   ========================================================= */

/* overall page heading wrapper */
.page-heading {
  margin-top: 18px !important;
  margin-bottom: 30px !important;
  padding: 20px 24px 22px 24px !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%) !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, 0.05) !important;
}
/* page title shell */
.page-heading h1,
h1.page-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.6px !important;
  color: #151f27 !important;
  position: relative !important;
}

/* supports BOTH editable text and editable html page titles */
.page-heading h1 .xrm-attribute-value,
.page-heading h1 .xrm-attribute-value-encoded,
.page-heading h1 .xrm-editable-text .xrm-attribute-value,
.page-heading h1 .xrm-editable-html .xrm-attribute-value,
.page-heading h1 span.xrm-attribute-value,
.page-heading h1 div.xrm-attribute-value {
  display: inline-block !important;
  font-size: 42px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  color: #151f27 !important;
  letter-spacing: -0.8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* optional accent underline */
.page-heading h1::after,
h1.page-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #c52228 0%, #5a7be3 100%);
  box-shadow: 0 4px 14px rgba(197, 34, 40, 0.18);
}

/* make breadcrumb/title spacing cleaner */
.breadcrumb {
  margin-bottom: 18px !important;
}

.breadcrumb > li,
.breadcrumb > li a,
.breadcrumb > .active {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
}

/* tighter spacing under page title */
.page-heading .notifications {
  margin-top: 14px !important;
}

/* responsive */
@media (max-width: 991px) {
  .page-heading h1 .xrm-attribute-value,
  .page-heading h1 .xrm-attribute-value-encoded,
  .page-heading h1 .xrm-editable-text .xrm-attribute-value,
  .page-heading h1 .xrm-editable-html .xrm-attribute-value,
  .page-heading h1 span.xrm-attribute-value,
  .page-heading h1 div.xrm-attribute-value {
    font-size: 34px !important;
  }
}

@media (max-width: 767px) {
  .page-heading {
    margin-top: 12px !important;
    margin-bottom: 22px !important;
    padding-bottom: 14px !important;
  }

  .page-heading h1 .xrm-attribute-value,
  .page-heading h1 .xrm-attribute-value-encoded,
  .page-heading h1 .xrm-editable-text .xrm-attribute-value,
  .page-heading h1 .xrm-editable-html .xrm-attribute-value,
  .page-heading h1 span.xrm-attribute-value,
  .page-heading h1 div.xrm-attribute-value {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }

  .page-heading h1::after,
  h1.page-title::after {
    width: 56px;
    height: 4px;
    margin-top: 10px;
  }
}

/* =========================================================
   PROFILE PHOTO - HIDE GLOBALLY ON ALL PAGES
   ========================================================= */

#divProfileImage,
#profileimage,
#entityimage,
#updatingimage,
.entityimage,
.entity-image,
.update-img-w14 {
  display: none !important;
  visibility: hidden !important;
}

#divProfileImage.well {
  display: none !important;
}

/* remove leftover spacing from hidden profile image area */
#divProfileImage + .row,
#divProfileImage + div,
#divProfileImage:empty {
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   APPLICANT CENTRAL / PROFILE PHOTO WRAPPER HIDE (SURGICAL)
   Only hides the empty photo area in the left dashboard rail
   ========================================================= */

/* hide the actual image-related elements */
#divProfileImage,
#profileimage,
#entityimage,
#updatingimage,
.entityimage,
.entity-image,
.update-img-w14 {
  display: none !important;
  visibility: hidden !important;
}

/* hide ONLY the empty top well inside the left dashboard column */
.page-container .container > .row > .col-md-4 > .well:empty,
.page-container .container > .row > .col-sm-4 > .well:empty,
.page-container .container > .row > .col-lg-4 > .well:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* remove extra gap left behind directly under the hidden photo well */
.page-container .container > .row > .col-md-4 > .well:empty + .panel,
.page-container .container > .row > .col-md-4 > .well:empty + .panel-default,
.page-container .container > .row > .col-md-4 > .well:empty + div {
  margin-top: 0 !important;
}

/* tighten the left dashboard rail spacing */
.page-container .container > .row > .col-md-4 {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

/* make sure the hidden well doesn't reserve phantom spacing */
.page-container .container > .row > .col-md-4 > .well:first-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   LOGIN PAGE - FIX USERNAME/PASSWORD LABEL WRAP
   WITHOUT BREAKING FORM ALIGNMENT
   ========================================================= */

/* keep the Bootstrap label layout intact */
#loginForm label.control-label,
#loginForm label.control-label.required,
.local-login-box label.control-label,
.local-login-box label.control-label.required {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  margin-bottom: 8px !important;
}

/* only prevent the actual words Username / Password from splitting */
#loginForm label.control-label .xrm-attribute-value,
#loginForm label.control-label .xrm-attribute-value-encoded,
.local-login-box label.control-label .xrm-attribute-value,
.local-login-box label.control-label .xrm-attribute-value-encoded {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-height: 1.2 !important;
}

/* keep local login fields stacked cleanly */
#loginForm .form-group,
.local-login-box .form-group {
  display: block !important;
  margin-bottom: 18px !important;
}

#loginForm .form-group .col-sm-4,
#loginForm .form-group .col-sm-8,
.local-login-box .form-group .col-sm-4,
.local-login-box .form-group .col-sm-8 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* make sure inputs sit directly under their labels */
#loginForm .form-control,
.local-login-box .form-control {
  display: block !important;
  width: 100% !important;
}

/* minimal fix */
#loginForm .btn,
#loginForm .btn-primary,
.account-login .btn,
.account-login .btn-primary {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}

#loginForm .form-actions,
.account-login .form-actions {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.page-heading:empty,
.notifications:empty {
  display: none !important;
}