/* Gonderilen kullanici_modern.master tasariminin il portalina uyarlamasi. */
:root {
    --tbf-red: #b80f18;
    --tbf-red-dark: #8f0c13;
    --tbf-blue: #153b6d;
    --tbf-bg-glass: rgba(255,255,255,.92);
    --tbf-shadow: 0 12px 40px rgba(0,0,0,.20);
    --tbf-radius: 22px
}

.portal-body {
    min-height: 100vh;
    background: linear-gradient(135deg,rgba(10,18,35,.35) 0%,rgba(10,18,35,.18) 35%,rgba(184,15,24,.10) 100%),url('../bodybg.jpg') no-repeat center center fixed;
    background-size: cover
}

.portal-shell {
    max-width: 1380px;
    margin: 0 auto;
    padding: 20px 12px 28px
}

.portal-header {
    padding: 18px 22px;
    background: linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.88) 65%,rgba(255,255,255,.80));
    box-shadow: var(--tbf-shadow);
    border-radius: 22px 22px 0 0
}

.portal-brand {
    gap: 16px;
    flex: 1;
    min-width: 0
}
    /* Mevcut logo.png bir yatay banttir; sadece soldaki federasyon amblemi gosterilir. */
    .portal-brand img {
        width: 88px;
        height: 88px;
        max-width: none;
        max-height: none;
        object-fit: cover;
        object-position: left;
        flex-shrink: 0;
        filter: drop-shadow(0 6px 18px #00000026)
    }

    .portal-brand small {
        font-size: 17px;
        letter-spacing: .3px;
        font-weight: 700;
        color: var(--tbf-red-dark)
    }

    .portal-brand strong {
        font-size: 30px;
        font-weight: 800;
        color: var(--tbf-red-dark);
        line-height: 1.05;
        letter-spacing: .3px
    }

.portal-role {
    min-width: 320px;
    border-radius: 18px;
    padding: 14px 16px;
    background: linear-gradient(135deg,var(--tbf-red-dark),var(--tbf-red));
    box-shadow: inset 0 1px 0 #ffffff26
}

    .portal-role > span {
        font-size: 13px;
        opacity: .92;
        letter-spacing: .8px;
        margin-bottom: 6px
    }

    .portal-role > strong {
        font-size: 20px;
        font-weight: 800
    }

.portal-nav {
    background: linear-gradient(90deg,rgba(16,27,51,.96),rgba(21,59,109,.96));
    padding: 6px 12px;
    z-index: 100;
    box-shadow: 0 10px 28px #00000024
}

    .portal-nav li a {
        font-size: 13px;
        padding: 10px 12px;
        border-radius: 12px;
        text-transform: none
    }

        .portal-nav li a:hover, .portal-nav li a:focus {
            background: #ffffff1f
        }

        .portal-nav li a[aria-current="page"] {
            background: #ffffff26;
            color: #fff;
            box-shadow: none
        }

.portal-content {
    background: var(--tbf-bg-glass);
    padding: 22px;
    border-radius: 0 0 22px 22px;
    box-shadow: var(--tbf-shadow)
}

.portal-footer {
    background: none;
    border: none;
    border-radius: 0;
    color: #fff;
    text-align: center;
    justify-content: center;
    font-weight: 600;
    text-shadow: 0 1px 3px #0006;
    padding: 14px 0 0
}

    .portal-footer span {
        display: none
    }

.portal-menu-toggle {
    border-radius: 999px;
    min-height: 44px;
    background: #ffffff1f;
    margin: auto;
    letter-spacing: .2px
}

.portal-page {
    min-width: 0
}

    .portal-page > h2:first-child {
        margin-top: 0
    }

    .portal-page h2 {
        font-size: 24px;
        color: var(--tbf-red-dark)
    }

    .portal-page input[type=submit] {
        min-height: 44px
    }

    .portal-page > table {
        margin-left: auto;
        margin-right: auto
    }

    .portal-page input[type=text], .portal-page input[type=password], .portal-page select {
        font-size: 16px
    }

    .portal-page td {
        vertical-align: middle
    }

.portal-page-application table:not([id]), .portal-page-outside table:not([id]) {
    width: 100%;
    max-width: 880px;
    margin: auto;
    border-collapse: separate;
    border-spacing: 0 8px
}

    .portal-page-application table:not([id]) td, .portal-page-outside table:not([id]) td {
        padding: 8px 12px
    }

.portal-page-rounds > table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid #dfe5ee
}

    .portal-page-rounds > table td {
        padding: 9px 8px;
        border-bottom: 1px solid #dfe5ee
    }

    .portal-page-rounds > table input[type=number], .portal-page-rounds > table input[type=text] {
        padding: 6px 2px;
        text-align: center;
        min-width: 50px;
        font-size: 16px
    }

    .portal-page-rounds > table tr:first-child td {
        background: #edf2f8
    }

@media(max-width:991.98px) {
    .portal-header {
        flex-direction: column;
        align-items: stretch;
        padding: 16px
    }

    .portal-brand {
        flex-wrap: nowrap
    }

        .portal-brand img {
            width: 68px;
            height: 68px
        }

        .portal-brand small {
            font-size: 14px
        }

        .portal-brand strong {
            font-size: 24px
        }

    .portal-role {
        min-width: 100%;
        width: 100%
    }

    .portal-content {
        padding: 16px
    }

    .portal-menu-toggle {
        display: block
    }

    .portal-nav ul {
        flex-direction: column;
        margin-top: 8px
    }

    .portal-nav.portal-menu-collapsed ul {
        display: none
    }

    .portal-nav li a {
        font-size: 14px
    }
}

@media(max-width:575.98px) {
    .portal-brand small {
        font-size: 12px
    }

    .portal-brand strong {
        font-size: 20px
    }

    .portal-role > strong {
        font-size: 17px
    }

    .portal-shell {
        padding: 10px 8px 20px
    }

    .portal-page-application table:not([id]) > tbody > tr > td, .portal-page-outside table:not([id]) > tbody > tr > td {
        display: block;
        width: 100% !important;
        text-align: left;
        padding: 5px 0
    }

    .portal-page h2 {
        font-size: 21px
    }
}

@media(min-width:992px) {
    .portal-menu-toggle {
        display: none
    }

    .portal-nav.portal-menu-collapsed ul {
        display: flex
    }
}

@media print {
    .portal-body {
        background: white
    }

    .portal-shell {
        padding: 0
    }

    .portal-header, .portal-content {
        box-shadow: none;
        background: white
    }

    .portal-footer {
        display: none
    }

    .portal-page-rounds > table {
        min-width: 0
    }
}
