
 html,
 body {
     width: 100%;
     height: 100%;
     margin: 0;
     padding: 0;
 }
 
 ul {
     margin: 0;
     padding: 0;
 }
 
 .ms-welcome__header {
    padding: 20px;
    padding-bottom: 30px;
    padding-top: 100px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    align-items: center;
 }

 .ms-welcome__main {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex: 1 0 0;
    flex: 1 0 0;
    padding: 10px 20px;
 }
 
 .ms-welcome__main > h2 {
     width: 100%;
     text-align: center;
 }
 
 .ms-welcome__features {
     list-style-type: none;
     margin-top: 20px;
 }
 
 .ms-welcome__features.ms-List .ms-ListItem {
     padding-bottom: 20px;
     display: -webkit-flex;
     display: flex;
 }
 
 .ms-welcome__features.ms-List .ms-ListItem > .ms-Icon {
     margin-right: 10px;
 }
 
 .ms-welcome__action.ms-Button--hero {
     margin-top: 30px;
 }
 
.ms-Button.ms-Button--hero .ms-Button-label {
  color: #0078d7;
}

.ms-Button.ms-Button--hero:hover .ms-Button-label,
.ms-Button.ms-Button--hero:focus .ms-Button-label{
  color: #005a9e;
  cursor: pointer;
}

b {
    font-weight: bold;
}

.progress {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex: 1 0 0;
    flex: 1 0 0;
    padding: 10px 20px;
    text-align: center;
 }
 .branding-container {
    padding: 20px;
    text-align: center;
 }
 .branding-container img {
    max-height: 80px;
 }
 .ms-Grid-row {
    /*height: calc(100vh - 48px); /* Subtract TopNavBar height */
 }
 
 .app-layout {
    display: flex;
    flex-direction: column;
    height: 100vh;
 }
 
 .app-content {
    flex: 1;
    overflow: hidden;
 }

 .navigation-area {
    position: relative;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 }

 .navigation-area.visible {
    border-right: 1px solid #edebe9; /* neutralLight equivalent */
 }

 .navigation-area.floating {
    position: fixed !important;
    left: 0 !important;
    top: 48px !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15) !important;
    animation: slideInFromLeft 0.2s ease-out;
 }

 @keyframes slideInFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
 }

 .navigation-branding {
    text-align: center;
    padding: 16px;
    border-bottom: 1px solid #edebe9;
 }

 .navigation-branding img {
    max-height: 60px;
    max-width: 100%;
    transition: opacity 0.2s ease;
 }

 .navigation-branding:hover img {
    opacity: 0.8;
 }

 .navigation-toggle-button {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    animation: slideIn 0.3s ease-out;
 }

 .navigation-toggle-button-top {
    position: fixed !important;
    left: 8px !important;
    top: 56px !important;
    z-index: 1001 !important;
    animation: slideInTop 0.3s ease-out;
 }

 @keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-50%) translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }
 }

 @keyframes slideInTop {
    from {
        opacity: 0;
        transform: translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
 }

 .main-content-area {
    flex: 1;
    overflow: auto;
    padding: 20px;
    background-color: #faf9f8; /* neutralLighterAlt */
    min-height: 0; /* Allow flex child to shrink */
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .main-content-area.full-width {
    /* When navigation is floating or hidden */
    width: 100% !important;
    margin-left: 48px; /* Space for toggle button */
 }

 /* Hover effect for unpinned navigation */
 .navigation-area:not(.visible) {
    cursor: pointer;
 }

 .navigation-area:not(.visible):hover {
    background-color: rgba(0, 120, 212, 0.1) !important; /* themePrimary with transparency */
 }

 /* Enhanced floating navigation styling */
 .navigation-area.floating .navigation-branding {
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
 }

 .navigation-area.floating {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background-color: rgba(250, 249, 248, 0.95) !important;
 }

 /* Custom Persona Styles for Profile Menu */
 .custom-profile-persona .ms-Persona-initials,
 .custom-profile-persona .ms-Persona-coin .ms-Persona-initials,
 .custom-profile-persona .ms-PersonaCoin-initials {
    background-color: white !important;
    color: #94c14c !important; /* Primary theme color */
    border-radius: 50% !important;
 }

 /* Ensure the persona coin background is white and round */
 .custom-profile-persona .ms-Persona-coin {
    background-color: white !important;
    border-radius: 50% !important;
 }

 /* Inverted colors for profile callout persona */
 .custom-profile-persona-large .ms-Persona-initials,
 .custom-profile-persona-large .ms-Persona-coin .ms-Persona-initials,
 .custom-profile-persona-large .ms-PersonaCoin-initials {
    background-color: #94c14c !important;
    color: white !important;
    border-radius: 50% !important;
 }

 /* Ensure the large persona coin background matches initials */
 .custom-profile-persona-large .ms-Persona-coin {
    background-color: #94c14c !important;
    border-radius: 50% !important;
 }