* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



:root {

    --bgcolor: #230528;

    --fontFamily: Arial, sans-serif;

    --bgGradient: linear-gradient(to right, rgba(35, 5, 40, 1), rgb(71 255 129 / 70%));

    --footerBg: linear-gradient(to right, rgba(255, 99, 71, 0.7), rgba(35, 5, 40, 1));

    --shadow: 0px 8px 24px rgba(0, 0, 0, 0.3);

    --blur: blur(5px);

    --bgButtonColor: linear-gradient(45deg, #0a0d31, #76e3b0);

    --buttonHoverColor: linear-gradient(45deg, #0a0d31, #76e3b0);

}



html, body {

    height: 100%;

    font-family: var(--fontFamily);

    color: white;

    background: var(--bgGradient);

}



body {

    padding: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

}



a {

    text-decoration: none;

}



.container {

    background: var(--bgGradient),

                url('https://strefaskilla.pl/uploads/monthly_2025_07/image.png.054eb004eb17a5db6b578ee2fb81eacc.png') no-repeat center right;

    background-size: cover;

    min-height: 100vh;

    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    position: relative;

    overflow-x: hidden;

}



.admin-panel {

    width: 100%;

    max-width: 1200px;

    padding: 0 15px;

    display: flex;

    flex-direction: column;

    height: calc(100vh - 100px);

}



.admin-title {

    font-size: 2.5rem;

    margin: 30px 0;

    text-shadow: var(--shadow);

    text-align: left;

    width: 100%;

}



.admin-cards-container {

    flex: 1;

    overflow-y: auto;

    padding-right: 5px;

    margin-bottom: 20px;

}



.admin-cards {

    display: flex;

    flex-wrap: wrap;

    gap: 25px;

    justify-content: flex-start;

    width: 100%;

    padding-bottom: 20px;

}



.card {

    background: rgba(0, 0, 0, 0.7);

    border-radius: 12px;

    padding: 20px;

    box-shadow: var(--shadow);

    width: 340px;

    position: relative;

    transition: transform 0.3s ease;

}



.vacation{

    background: none;

}



.card:hover {

    transform: scale(1.02);

}



.card-header {

    display: flex;

    align-items: flex-start;

    margin-bottom: 15px;

}



.avatar {

    width: 80px;

    height: 80px;

    border-radius: 50%;

    margin-right: 10px;

    object-fit: cover;

}



.user-info {

    flex-grow: 1;

}



.info-row {

    margin-bottom: 8px;

}



.label {

    font-weight: bold;

    color: rgba(255, 255, 255, 0.7);

    font-size: 0.9rem;

    display: block;

    margin-bottom: 2px;

}



.value {

    font-size: 1rem;

    display: block;

}



.stats-row {

    display: flex;

    justify-content: space-between;

    margin: 12px 0;

}



.stats-group {

    width: 48%;

}



.btn {

    background: var(--bgButtonColor);

    color: white;

    padding: 5px 10px;

    border-radius: 5px;

    border: none;

    box-shadow: var(--shadow);

    font-weight: bold;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    font-size: 0.85rem;

    height: 30px;

    transition: transform 0.2s, background 0.2s;

    cursor: pointer;

    text-align: center;

}



.btn:hover {

    transform: scale(1.05);

    background: var(--buttonHoverColor);

}



.btn.secondary {

    background: rgba(255, 255, 255, 0.1);

    color: rgba(255, 255, 255, 0.8);

}



.btn.danger {

    background: rgb(220, 53, 69);

}



.btn.danger:hover {

    background: rgb(240, 71, 85);

}



.delete-btn {

    position: absolute;

    top: 10px;

    right: 10px;

    height: 26px;

    padding: 3px 12px;

    font-size: 0.8rem;

    min-width: 60px;

}



.plus-minus-buttons {

    display: flex;

    gap: 5px;

    margin-top: 5px;

}



.plus-minus-buttons .btn {

    min-width: 30px;

    width: 30px;

    height: 30px;

    padding: 0;

    font-size: 1rem;

}



.urlop-status {

    display: flex;

    justify-content: space-between;

    margin: 10px 0;

    flex-wrap: wrap;

}



.na-urlopie, .status-urlopu {

    margin-bottom: 5px;

    min-width: 120px;

}



.buttons-row {

    display: flex;

    justify-content: space-between;

    margin-top: 10px;

    gap: 8px;

}



.urlop-button {

    width: 100%;

    font-size: 0.85rem;

}



.header-actions {

    position: absolute;

    top: 20px;

    right: 20px;

    display: flex;

    gap: 10px;

    z-index: 10;

}



.no-admins {

    font-size: 1.8rem;

    text-align: center;

    margin-top: 50px;

}



.admin-cards-container::-webkit-scrollbar {

    width: 8px;

}



.admin-cards-container::-webkit-scrollbar-track {

    background: rgba(0, 0, 0, 0.2);

    border-radius: 10px;

}



.admin-cards-container::-webkit-scrollbar-thumb {

    background: rgb(71 255 92 / 60%);

    border-radius: 10px;

}



.admin-cards-container::-webkit-scrollbar-thumb:hover {

    background: rgba(255, 99, 71, 0.8);

}



footer{

    position: sticky;

    bottom: 0;

    left: 0;

    height: 50px;

    width: 100%;

    background: var(--bgGradient);

    border: 1px solid var(black);

    text-align: center;

    color: rgba(255, 255, 255, 0.7);

    display: flex;

    align-items: center;

    justify-content: center;

}



footer > p {

    font-size: x-large;

}



footer > p > a{

    color: var(--bgcolor);

    text-decoration: underline;

}



form {

    display: flex;

    flex-direction: column;

    gap: 15px;

}



.input-group {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}



.input-group input {

    width: 100%;

    padding: 12px;

    font-size: 1rem;

    border-radius: 5px;

    border: 1px solid transparent;

    background-color: rgba(255, 255, 255, 0.1);

    color: white;

    transition: all 0.3s ease;

}



.login-form > .btn{

    font-size: 1.1rem;
    height: 55px;

    width: 180px;

}



.input-group input:focus {

    border-color: rgba(255, 165, 0, 0.7);

    box-shadow: 0 0 5px rgba(255, 165, 0, 0.7);

    background-color: rgba(255, 255, 255, 0.15);

}



.input-group label {

    font-weight: bold;

    color: rgba(255, 255, 255, 0.8);

    margin-bottom: 5px;

}



.login-form {

    background: rgba(0, 0, 0, 0.75);

    padding: 50px;

    border-radius: 15px;

    box-shadow: var(--shadow);

    max-width: 600px;

    width: 100%;

    text-align: center;

}



.login-form h2 {

    color: white;

    font-size: 2.5rem;

    margin-bottom: 30px;

}



.flex-row {

    display: flex;

    justify-content: space-between;

    gap: 20px;

    margin-top: 20px;

}



.flex-center{

    display: flex;

    align-items: center;

    justify-content: center;

}







@media (max-width: 768px) {

    .admin-cards {

        justify-content: center;

    }

    

    .admin-title {

        text-align: center;

        font-size: 2rem;

    }

    

    .header-actions {

        position: relative;

        top: auto;

        right: auto;

        display: flex;

        justify-content: center;

        width: 100%;

        margin: 15px 0;

    }

    

    .card {

        width: 100%;

        max-width: 340px;

    }

    

    .admin-panel {

        height: calc(100vh - 150px);

    }

}



@media (min-width: 769px) and (max-width: 1200px) {

    .admin-cards {

        justify-content: center;

    }

    

    .admin-title {

        text-align: center;

    }

}



@media (min-width: 1201px) {

    .admin-cards {

        justify-content: flex-start;

    }

}