﻿:root {
    --bs-primary: #4173b0;
    --bs-primary-rgb: 65, 115, 176;
    --bs-primary-text-emphasis: #2f5b90;
    --bs-primary-bg-subtle: #e8f1fb;
    --bs-primary-border-subtle: #c8d7ea;
    --bs-link-color: #4173b0;
    --bs-link-hover-color: #335f91;
}

.btn-primary {
    --bs-btn-bg: #4173b0;
    --bs-btn-border-color: #4173b0;
    --bs-btn-hover-bg: #335f91;
    --bs-btn-hover-border-color: #335f91;
    --bs-btn-active-bg: #2f5b90;
    --bs-btn-active-border-color: #2f5b90;
    --bs-btn-focus-shadow-rgb: 65, 115, 176;
}

.btn-outline-primary {
    --bs-btn-color: #4173b0;
    --bs-btn-border-color: #4173b0;
    --bs-btn-hover-bg: #4173b0;
    --bs-btn-hover-border-color: #4173b0;
    --bs-btn-active-bg: #335f91;
    --bs-btn-active-border-color: #335f91;
    --bs-btn-focus-shadow-rgb: 65, 115, 176;
}



body {
    padding-bottom: 12px;
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
    background-color: #f8fbff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' preserveAspectRatio='none'%3E%3Cpath d='M0 180 C300 210 430 500 760 470 C1080 440 1180 200 1440 170 L1440 0 L0 0Z' fill='%23f5f9fe'/%3E%3Cpath d='M0 400 C320 350 480 680 850 610 C1150 555 1260 390 1440 350 L1440 900 L0 900Z' fill='%23f9fcff'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

/* ── Strona logowania ── */

/* Pionowy separator "lub" – Bootstrap nie ma odpowiednika */
.login-separator {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.login-separator::before,
.login-separator::after {
    content: "";
    flex: 1;
    width: 1px;
    background-color: #dee2e6;
}

.login-separator span {
    padding: 8px 0;
    color: #6c757d;
    font-size: .875rem;
    white-space: nowrap;
}

.login-page .login-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e8effa;
    box-shadow: 0 20px 48px rgba(35, 71, 122, .15), 0 3px 12px rgba(35, 71, 122, .07) !important;
}

.login-page .login-title-block {
    position: relative;
    padding-bottom: .2rem;
}

.login-page .login-title-block::after {
    content: "";
    width: 88px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #4173b0 0%, #6d95c8 100%);
    display: block;
    margin: .55rem auto 0;
}

.login-page .login-local-form .input-group-text,
.login-page .login-local-form .form-control,
.login-page .login-local-form .btn-outline-secondary {
    border-color: #d8e5f7;
}

.login-page .login-local-form .form-control {
    background-color: #fcfdff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.login-page .login-local-form .form-control:focus {
    background-color: #fff;
    border-color: #7ea7db;
    box-shadow: 0 0 0 .18rem rgba(65, 115, 176, .14);
}

.login-page .login-local-form .btn-primary,
.login-page .login-wk-panel .btn-primary {
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(65, 115, 176, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}

.login-page .login-local-form .btn-primary:hover,
.login-page .login-local-form .btn-primary:focus,
.login-page .login-wk-panel .btn-primary:hover,
.login-page .login-wk-panel .btn-primary:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(65, 115, 176, .34);
}

.login-page .login-wk-panel {
    position: relative;
}

.login-page .login-section-inner {
    width: 100%;
    max-width: none;
}

.login-page .login-section-inner-left {
    margin-top: .35rem;
}

.login-page .login-section-inner-right {
    margin-top: .35rem;
}

@media (min-width: 992px) {
    .login-page .login-two-columns {
        position: relative;
    }

    .login-page .login-two-columns::before {
        content: "";
        position: absolute;
        top: 12px;
        bottom: 12px;
        left: 50%;
        width: 1px;
        background: #e5ebf5;
        transform: translateX(-50%);
        pointer-events: none;
    }

    .login-page .login-two-columns::after {
        content: "lub";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        background: #fff;
        color: #6c757d;
        padding: 0 .55rem;
        font-size: 1.05rem;
        line-height: 1;
        pointer-events: none;
    }
}

.login-page .login-wk-warning {
    color: #7d1a24;
    border-left-color: #7d1a24 !important;
    background: linear-gradient(90deg, rgba(125, 26, 36, .06) 0%, rgba(125, 26, 36, .015) 100%);
}

.login-page .login-wk-warning-icon,
.login-page .login-wk-warning-link {
    color: #7d1a24;
}

.login-page .login-wk-warning-link:hover {
    color: #65141c;
}

.bg-shapes {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

/* Tło – nowoczesne, miękkie koła */
.bg-shapes::before,
.bg-shapes::after {
    content: "";
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(22px);
}

.bg-shapes::before {
    width: 1400px;
    height: 1400px;
    left: -760px;
    top: -40px;
    background: radial-gradient(
        circle,
        rgba(79, 123, 255, .03) 0%,
        rgba(79, 123, 255, .015) 44%,
        transparent 78%
    );
}

.bg-shapes::after {
    width: 1600px;
    height: 1600px;
    right: -860px;
    top: -520px;
    background: radial-gradient(
        circle,
        rgba(79, 123, 255, .025) 0%,
        rgba(79, 123, 255, .012) 40%,
        transparent 80%
    );
}

body::before {
    content: "";
    position: fixed;
    width: 1200px;
    height: 1200px;
    left: -540px;
    bottom: -560px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(22px);
    background: radial-gradient(
        circle,
        rgba(79, 123, 255, .018) 0%,
        rgba(79, 123, 255, .008) 44%,
        transparent 78%
    );
}

header,
main,
footer {
    position: relative;
    z-index: 1;
}

.login-messages-card .table thead th {
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #fff;
    background-color: #4173b0;
    border-bottom-color: #335f91;
}

.login-messages-table td,
.login-messages-table th {
    padding-top: .9rem;
    padding-bottom: .9rem;
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}

.login-message-toggle {
    color: inherit;
}

.login-message-toggle:hover,
.login-message-toggle:focus {
    color: inherit;
    box-shadow: none;
    text-decoration: none;
}

.login-message-toggle[aria-expanded="true"] .login-message-chevron {
    transform: rotate(180deg);
}

.login-message-chevron {
    transition: transform .2s ease;
}

.login-message-attachments-preview {
    opacity: 1;
}

.color-blue {
    color:#4173b0;
}

.mfa-account-box {
    background-color: #f4f7fb;
}

.mfa-account-label {
    min-width: 150px;
    flex-shrink: 0;
}

.mfa-otp-group {
    max-width: 420px;
}

.mfa-otp-box {
    width: 3rem;
    height: 3.25rem;
    font-size: 1.4rem;
    border-radius: 12px;
    border-color: #d8e5f7;
    background-color: #fcfdff;
}

.mfa-otp-box:focus {
    background-color: #fff;
    border-color: #7ea7db;
    box-shadow: 0 0 0 .18rem rgba(65, 115, 176, .14);
}

.mfa-card .btn-primary {
    border-radius: 999px;
}

.container-custom{
    max-width: 1090px;
}

.login-message-collapse-body {
    border-top: 1px solid #edf1f7;
    margin-top: -.1rem;
    padding-top: .75rem;
    padding-left: 1.25rem;
    border-left: 3px solid var(--bs-primary-border-subtle);
    background: linear-gradient(90deg, rgba(65, 115, 176, .04) 0%, rgba(65, 115, 176, .02) 100%);
}

.login-message-collapse-label {
    letter-spacing: .01em;
}

.login-message-collapse-row .login-message-text {
    line-height: 1.45;
    word-break: break-word;
}

.login-message-row .btn-link,
.login-message-row .btn-link:hover,
.login-message-row .btn-link:focus {
    color: inherit;
}

.auth-page-title {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
}

.auth-page-title img {
    max-height: 52px;
    width: auto;
}

.auth-page-card + .auth-page-card {
    margin-top: 1rem;
}

.auth-page-meta {
    background: linear-gradient(180deg, #fbfcff 0%, #f5f8fe 100%);
}

.user-picker-page .user-picker-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid #e8effa;
    box-shadow: 0 18px 48px rgba(35, 71, 122, .16), 0 2px 8px rgba(35, 71, 122, .08) !important;
}

.user-picker-header {
    background:
        radial-gradient(circle at top right, rgba(65, 115, 176, .12), transparent 44%),
        linear-gradient(120deg, rgba(65, 115, 176, .09) 0%, rgba(65, 115, 176, .03) 55%, rgba(255, 255, 255, .95) 100%);
    border-bottom: 1px solid #e6eef9;
}

.user-picker-count-badge {
    background-color: #e8f1fb;
    color: #2f5b90;
    font-weight: 600;
    font-size: .85rem;
    border: 1px solid #cdddf1;
    padding: .55rem .8rem;
}

.user-picker-premium-badge {
    background: linear-gradient(135deg, #2f5b90 0%, #4173b0 100%);
    color: #fff;
    font-weight: 600;
    font-size: .82rem;
    border: 1px solid rgba(255, 255, 255, .35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
    padding: .55rem .8rem;
}

.user-picker-side {
    border: 1px solid #dce8f8;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
    padding: 1rem;
}

.user-picker-tip {
    background: #eef4ff;
    border: 1px solid #d5e2f7;
    color: #2f5b90;
    border-radius: 10px;
    padding: .6rem .75rem;
}

.user-picker-select-wrap {
    background: #fff;
    border: 1px solid #dce8f8;
    border-radius: 16px;
    padding: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.user-picker-select {
    border-width: 2px;
    border-color: #ccdff5;
    box-shadow: none;
    border-radius: 12px;
    background-color: #fcfdff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.user-picker-select:hover {
    border-color: #9bbce3;
}

.user-picker-select:focus {
    border-color: #5d8ec7;
    box-shadow: 0 0 0 .22rem rgba(65, 115, 176, .17);
    transform: translateY(-1px);
}

.user-picker-actions {
    border-top: 1px solid #edf2fb;
    padding-top: 1rem !important;
}

.user-picker-submit {
    min-width: 180px;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(65, 115, 176, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}

.user-picker-submit:hover,
.user-picker-submit:focus {
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(65, 115, 176, .34);
}

@media (max-width: 991.98px) {
    .user-picker-submit {
        width: 100%;
    }
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}


/*#MainBody {
    max-width: 1170px;
}*/

.mainWide {
/*    background-color: #ffffff;
*/    position: relative;
   /* margin: auto;
    border-top: none;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .08);
    padding-right: 40px;
    padding-bottom: 40px;
    padding-left: 40px;
    height: auto;
    min-height: 274px;
    z-index: 1;*/
}

p {
    margin: inherit;
}

body {
    padding-top: 10px;
    line-height: 1.25;
}


footer {
    text-align: center;
    margin-top: 10px;
}

    footer a:hover {
        color: #8e8e8e;
    }

    footer a:visited {
        color: #3d3d3d;
        text-decoration: none;
    }

    footer a:link {
        color: #3d3d3d;
        text-decoration: none;
    }

.PageHeaderText {
    color: #4173b0;
    font-size: 22px;
    font-family: verdana;
    font-weight: bold;
    text-align: left;
    letter-spacing: -1px;
    outline-color: #cecece;
    height: auto;
    margin-top: 30px;
}
.PageTitleText {
    color: #4173b0;
    font-size: 16px;
    font-family: verdana;
    font-weight: bold;
    text-align: left;
    letter-spacing: -1px;
    outline-color: #cecece;
    height: auto;
    margin-bottom: 20px;
}
.PanelTextBlock {
    background-color: #f6f5f5;
    padding: 8px 15px;
    border: solid 1px #adadad;
    outline-color: #cecece;
    text-align: left;
}

.FunctionBlock {
    font-weight: bold;
    text-align: left;
    padding: 0px;
    margin: 0px;
}

    .FunctionBlock TD {
        padding: 1px;
        margin: 0px;
    }

.FormTextBlock {
    background-color: #f6f5f5;
    padding: 10px 15px;
    border: solid 1px #adadad;
    outline-color: #cecece;
    text-align: left;
}

    .FormTextBlock TABLE {
        border-collapse: collapse;
    }

    .FormTextBlock TD {
        padding: 2px;
    }


.FormTextBlock {
    background-color: #f6f5f5;
    padding: 10px 15px;
    border: solid 1px #adadad;
    outline-color: #cecece;
    text-align: left;
}

    .FormTextBlock TABLE {
        border-collapse: collapse;
    }

    .FormTextBlock TD {
        padding: 2px;
    }

.FormTextBlockWelcome {
    background-color: #fff;
    padding: 10px 15px;
    border: solid 1px #adadad;
    outline-color: #cecece;
}

    .FormTextBlockWelcome TABLE {
        border-collapse: collapse;
    }

    .FormTextBlockWelcome TD {
        padding: 2px;
    }

.FormText {
    padding-top: 2px;
    padding-bottom: 2px;
    outline-color: #cecece;
}

.FormTextRight {
    padding-top: 2px;
    padding-bottom: 2px;
    outline-color: #cecece;
    text-align: right;
}

.FormTextSmallSpacer {
    padding-top: 1px;
    padding-bottom: 1px;
}

.FormTextBoldColor {
    font-weight: bold;
    color: #d52f00;
}

.FormTextBold {
    font-weight: bold;
    color: #3d3d3d;
}

.FormTextBoldError {
    font-weight: bold;
    color: #ff0000;
}

.FormTextBottomMargin {
    margin-top: 0px;
    margin-bottom: 6px;
    outline-color: #cecece;
}

/*input {
    color: #000000;
    font-size: 12px;
    font-family: tahoma, Arial, verdana;
    font-weight: normal;
    padding: 3px !important;
    border-color: #707070;
    border: 1px inset;
}
*/
    input.disabled {
        background-color: #D4D0C8;
    }


.LoginNewImg {
    background-position: left top;
    background-image: url("../images/logowanie.png");
    background-repeat: no-repeat;
    width: 72px;
    height: 100px;
}
.WarningImg {
    background-position: left top;
    background-image: url("../images/warning-svgrepo-com.svg");
    background-repeat: no-repeat;
    margin-top: 15px;
    width: 50px;
    height: 50px;
}


.card-default {
    background-color: #FBFBFD;
    /**/ padding: 10px 15px;
    /*    border: solid 1px #adadad;
*/ outline-color: #cecece;
    text-align: left;
    /*    border-radius: 0;
*/
}

label {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 3px;
    font-weight: normal;
}

.form-group {
    margin-bottom: 0px;
}

.offset-sm-right-6 {
    margin-right: 50%;
}



p {
    margin-top: 15px;
    margin-bottom: 5px;
}



.navbar-custom {
    background: linear-gradient(to bottom, #2a5599d4, #0b2e63); /* nowoczesny niebieski gradient */
}

    .navbar-custom .navbar-brand {
        font-size: 35px;
        color: #FFF !important;
        padding-left: 40px;
        font-weight: bold;
        font-family: "Trebuchet MS";
    }

.navbar {
/*    border: 2px solid #adadad;
*/    /*border-bottom: none;*/
    margin-bottom: 0;
}



.navbar-collapse {
    margin-top: 15px;
}

.navbar-custom .navbar-nav > li {
    margin-right: 10px;
}

    .navbar-custom .navbar-nav > li > a {
        color: #FFF;
        padding-bottom: 0;
        vertical-align: bottom;
        padding-top: 10px;
    }

    .navbar-custom .navbar-nav > li > label {
        color: #FFF;
        padding-bottom: 0;
        vertical-align: bottom;
        padding-top: 12px;
    }

    .navbar-custom .navbar-nav > li > p {
        color: #FFF;
        padding-bottom: 0;
        vertical-align: bottom;
        padding-top: 27px;
    }

/*.navbar-custom .navbar-brand{
    margin-top: 0;
    padding-top: 3px;

    font-size: 42px;
    color: #FFF !important;
    padding-top: 35px;
    padding-left: 20px;
    font-weight: bold;
    font-family: "Trebuchet MS";
}*/

.navbar-custom a {
    color: #FFF;
    padding-bottom: 0;
    vertical-align: bottom;
    padding-top: 12px;
    float: right;
}


.navbar-brand {
    font-size: 32px;
}

.validation-summary-valid {
    display: none;
}

table.gvNormal {
    font-weight: normal;
    background-color: #ffffff;
    border: 1px solid #adadad;
}

    table.gvNormal th {
        color: #4173b0;
        font-weight: bold;
        margin: 7px 5px;
        background-image: url("../images/table-header-high.jpg");
        padding-left: 5px;
        padding-top: 7px;
        padding-bottom: 7px;
        border-bottom: 1px solid #adadad;
    }

        table.gvNormal TH A {
            font-weight: bold;
            color: #3366cc;
            font-style: normal;
            text-decoration: none;
        }

            table.gvNormal TH A:visited {
                font-weight: bold;
                color: #3366cc;
                font-style: normal;
                text-decoration: none;
            }

            table.gvNormal TH A:hover {
                font-weight: bold;
                color: #3366cc;
                font-style: normal;
                text-decoration: underline;
            }

    table.gvNormal TR {
        outline-color: #ffffff;
        padding-left: 5px;
    }

        table.gvNormal TR.odd {
            outline-color: #ffffff;
            padding-left: 5px;
            background-color: #e2ebf7;
        }

    table.gvNormal TD {
        padding-left: 5px;
        padding-top: 4px;
        padding-bottom: 5px;
    }

        table.gvNormal TD.img {
            padding-left: 5px;
            padding-top: 0px;
            padding-bottom: 0px;
        }

        table.gvNormal TD A {
            font-weight: bold;
        }

    table.gvNormal TR.Pager {
        color: #555555;
        font-weight: bold;
        margin: 7px 5px;
        background-image: url("../images/page-bg.jpg");
        text-align: right;
    }

        table.gvNormal TR.Pager Table {
            margin: 0 auto;
        }

        table.gvNormal TR.Pager span {
            color: #4173b0;
        }

        table.gvNormal TR.Pager TD {
            text-align: right;
            padding-right: 5px;
            padding-left: 0px;
        }

.FunctionArrowImg {
    background-position: left center;
    background-image: url("../images/arrow-numbering-small-g.jpg");
    background-repeat: no-repeat;
    width: 10px;
/*    height: 12px;
*/}

.FormImg {
    background-position: left top;
    background-image: url("../images/form.jpg");
    background-repeat: no-repeat;
    width: 72px;
}
.TableBody {
    border-collapse: collapse;
    text-align: left;
    background-color: #fff;
    outline-color: #cecece;
    margin: auto;
}
.TableRowSpacer {
    height: 8px;
}


.TableSmallRowSpacer {
    height: 5px;
}

.TableLinearBrake {
    height: 10px;
    background-image: url("../images/spacer.gif"); /* [JM] wiersz o wys 1px wyglądał inaczej na IE i FF dlatego jest obrazek*/
    background-repeat: repeat-x;
    background-position: left center;
}
.InnerTable {
    border-collapse: collapse;
    border: none 0px;
    padding: 0px;
    margin: 0px;
}

    .InnerTable TR {
        margin: 0px;
        padding: 0px;
    }

    .InnerTable TD {
        margin: 0px;
        padding: 0px;
        vertical-align: middle;
    }

.separator {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px 0;
}

    .separator::before,
    .separator::after {
        content: "";
        flex: 1;
        border-bottom: 1px solid #aaa;
    }

    .separator:not(:empty)::before {
        margin-right: .5em;
    }

    .separator:not(:empty)::after {
        margin-left: .5em;
    }


.login_gov_a {
    display: inline-block;
    padding: 5.6px 48px;
    background: transparent;
    border: 1px solid #2d3748;
    border-radius: 4px;
    transition: all .2s ease-in-out;
}

.login_gov_a img {
    height: 24px;
    filter: none;
    transition: all .2s ease-in-out;
}