@font-face {
    font-family: 'IBM Plex Sans';
    src: url('/mcp-auth/assets/fonts/ibm-plex-sans/IBMPlexSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('/mcp-auth/assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('/mcp-auth/assets/fonts/ibm-plex-sans/IBMPlexSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('/mcp-auth/assets/fonts/ibm-plex-sans/IBMPlexSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: url('/mcp-auth/assets/fonts/ibm-plex-sans/IBMPlexSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

.flex {
    display: flex !important;
}

.flex-fullv {
    height: 100% !important;
}

.flex-column {
    flex-direction: column !important;
    width: 100%;
}

.flex-row {
    flex-direction: row !important;
    width: 100%;
}

.page_footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px; /* optional, for spacing between links */
    padding-bottom: 30px;
}

.footer-button {
    color: #FF5E24;
    font: normal normal 500 16px/120% IBM Plex Sans;
    text-decoration: none;
}

.login-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    background-color: #2a1f4d;
}

.vertical-stretch {
    min-height: 100vh;
}

.main-block {
    display: flex;
    flex: 1 0 auto;
    width: 434px;
    padding: 48px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.logo-container {
    display:flex;
    justify-content: center;
    margin-bottom:36px;
    text-decoration:none;
}

img.logo {
    height: 34px;
    text-align: center;
}

.summary-header {
    color: #FFFFFF;
    font: normal normal 600 24px/120% IBM Plex Sans;
    margin-bottom: 16px;
}

.summary-text {
    color: #cdcae0;
    text-align: center;
    font: normal normal 400 16px/120% IBM Plex Sans;
    line-height: 120%;
}

.idp-btn {
    display: flex;
    width: 338px;
    height: 44px;
    padding: 0 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    border:0;
    background: #FF5E24;
    cursor: pointer;
}

.button-text {
    color: #FFFFFF;
    font: normal normal 500 16px/120% IBM Plex Sans;
}

.error-text {
    color:#E60000;
    text-align: center;
    font: normal normal 600 16px/120% IBM Plex Sans;
}

.error-details {
    color:#E60000;
    font: normal normal 400 16px/120% IBM Plex Sans;
}

.error-details-center {
    color:#E60000;
    text-align: center;
    font: normal normal 400 16px/120% IBM Plex Sans;
}

.error-container {
    padding: 48px;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    border-radius: 12px;
    background-color: #FACCCC;
}

.error-panel {
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.error-text-panel {
    display: flex;
    padding: 12px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
}

.error-title {
    color: #E60000;
    text-align: center;
    padding-bottom: 48px;
    font: normal normal 500 24px/120% IBM Plex Sans;
}


