﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring 
    
    
    
    
    project to bundle and minify static web assets. */


:root {
    --primary-color: #3498db;
    --secondary-color: #2c3e50;
    --accent-color: #e74c3c;
    --light-gray: #f5f7fa;
    --medium-gray: #e0e4e8;
    --dark-gray: #7f8c8d;
    --success-color: #27ae60;
    --warning-color: #f39c12;
    --danger-color: #e74c3c;
}


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
input:-webkit-autofill:valid,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    transition: background-color 50000s ease-in-out 0s, color 5000s ease-in-out 0s;
}

.holiday-link {
}

.hidden {
    display: none;
}

.navbar {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #f7f7f7;
}


.navbar-collapse {
    gap: 8px;
}

.sort i {
    line-height: 24px;
}

.popover {
    max-width: 600px;
}

.navbar #pcss-logo {
    width: 160px;
    margin-left: 10px;
}

.navbar #ichb-logo {
    height: 60px;
    margin-left: 10px;
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
    color: #0057B2;
    font-weight: 600;
}

a.navbar-brand img {
    height: 50px;
    margin-left: 30px;
}


/* Provide sufficient contrast against white background */
a {
  color: #0366d6;
}

.nav-item.selected {
    text-decoration: underline;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}


.page-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.small-text {
    font-size: 0.9rem;
    color: #666;
}
/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.border-top {
  border-top: 1px solid #e5e5e5;
}
.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

.gap-1 {
    gap: .25rem;
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

.page-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    align-items: center;
}
/* Sticky footer styles
-------------------------------------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: 'Roboto', Tahoma, Geneva, Verdana, sans-serif;
    margin-bottom: 60px;
}

h2 {
    font-weight: 100;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  line-height: 60px; /* Vertically center the text there */
}

@media (min-width: 1200px) {
    .container-xxl {
        max-width: 1440px;
    }

    .container-3xl {
        max-width: 1900px;
    }
}



.error {
    color: red;
    padding-top: 4px;
}
.warning {
    color: green;
    padding-top: 4px;
}

.validation-summary-valid {
    display: none;
}

.login-container {
    background-color: #ffffff;
    padding: 20px 20px 0px 20px;
}

.login-container h4  {
    font-size: 40px;
    font-weight: 200;
    margin-bottom: 70px;
}

.login-container h4 span {
    padding-top: 56px;
    position: absolute;
}

.login-container h4 img {
    height: 130px;
    margin-right: 70px;
}
.popover .btn {
    min-width: 150px;
}

.btn-primary {
    color: #fff;
    background-color: #007AD8;
    border-radius: 0;
    border: none;
    width: auto;
}

.btn-secondary {
    background-color: #ABACAC;
    border-radius: 0;
    border: none;
}

.bs-popover-auto[x-placement^=bottom], .bs-popover-bottom {
    margin-top: -6px;
    /*width: 220px;*/
}

.form-group {
    margin-bottom: 16px;
}

.login-container .btn-primary {
    height: 50px;
}

.login-inner {
    width: 520px;
    margin: auto;;
}

.login-inner .form-group{
    margin-bottom: 40px;
}

    .login-inner .form-control {
        height: calc(2em + .75rem + 2px);
        padding: .375rem .75rem;
        font-weight: 400;
        font-size: 1.2rem;
        line-height: 2;
        color: #495057;
        border: 1px solid #ced4da;
        border-radius: 0;
        background-color: #ffffff!important;
    }

    .login-inner p {
        white-space: nowrap;
    }


.start-wrork--block {
    display: flex;
    width: 100%;
    height: 5rem;
    background-color: #e7ffcc;
    justify-content: center;
    align-items: center;   
    box-shadow: 7px 6px 13px -7px rgba(83, 83, 83, 1);
}

#maincalendar {
    min-width: 1200px;
    margin: auto;
    background-image: none;
    background-color: white;
    font-size: 15px;
    table-layout: fixed;
    border-right: #C2C2C2;
}

    table.sticky-header {
        position: relative;
    }

    table.sticky-header thead {
        position: sticky;
        top: 0;
        z-index: 100;
        background-color: #fff;
    }

    #maincalendar tr td, #maincalendar tr th {
        padding: 6px;
        vertical-align: middle;
        border: 1px solid #C2C2C2;
    }


    table#maincalendar thead th {
        border-bottom: none;
    }
    #maincalendar tr th:not(:first-child) {
        text-align: center;
    }
#maincalendar tr td:first-child, #maincalendar tr th[rowspan="2"] {
    width: 215px;
    border: 1px solid #C2C2C2;
    padding-left: 20px;
    text-align: left;
}
    #maincalendar tr td:first-child a {
        color: #000000;
        text-decoration: none;
    }

        #maincalendar tr th {
            text-align: center;
        }

    #maincalendar tr td:not(:first-child) {
        background-color: #e0ffbd;
        background-image: url("/img/desk.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
        position: relative;
    }

    #maincalendar tr td.present {
        background-color: #e0ffbd;
        background-image: none;
    }
#maincalendar tr td:not(:first-child).present-pz {
    background-color: #ebf6fe;
    background-image: none;
}
    

    #maincalendar tr td.pz {
        background-color: #ebf6fe;
        background-image: url("/img/ico-pz-01.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }

    #maincalendar tr td.del {
        background-color: #3d85c6;
        background-image: url("/img/car.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }

    #maincalendar tr td.notworking {
        background-color: #577770;
        background-image: url("/img/ico-pz-02.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }


    #maincalendar tr td.freeday, #maincalendar tr th.freeday {
        background-color: #f0f0f0;
        background-image: none;
    }

    #maincalendar tr td.empty, #maincalendar tr th.empty {
        background-color: #FFFFFF;
        background-image: none;
        /*border: 1px solid #C2C2C2;*/
        padding: 6px;
    }

        #maincalendar tr td.adjustable {
            cursor: pointer;
        }

#maincalendar tr td.empty.adjustable {
    background-color: #f6bcbc;
    background-image: none;
    border: 2px solid red;
    border-right: 2px solid red;
    text-align: center;
}
#maincalendar tr td.empty.adjustable::after {
    content: "-"

}

    #maincalendar tr td.february, #maincalendar tr th.february {
        background-color: #e45757;
        background-image: none;
        /*border: 1px solid #C2C2C2;*/
        padding: 6px;
        vertical-align: middle;
    }

    #maincalendar tr td[data-toggle="popover"]:not(.freeday) {
        cursor: pointer;
    }

        #maincalendar tr td.holiday-req {
            background-color: #639f4b;
            background-image: url("/img/ico-urlop-03.svg");
            background-repeat: no-repeat;
            background-position: center;
            background-size: 16px 16px;
        }

    #maincalendar tr td.holiday, #maincalendar tr td.holiday2 {
        background-color: #fda202;
        background-image: url("/img/ico-urlop-03.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }
#maincalendar tr td.holiday, #maincalendar tr td.holiday3 {
    background-color: #fdbd4d;
    background-image: url("/img/ico-urlop-03.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

#maincalendar tr td.holiday3 {
    border: 2px solid red;
}

#maincalendar tr td.l4absence, #maincalendar tr td.l4absence2 {
    background-color: #FEBD10;
    background-image: url("/img/l4.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

    #maincalendar tr td.absence {
        background-color: #fe4f10;
        background-image: url("/img/absence.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }

    #maincalendar tr td.notset {
        background-color: #ffffff;
        background-image: url("/img/question.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }
    #maincalendar tr td.today {
        filter: contrast(95%) brightness(93%);
    }

    #maincalendar tr td.inwork::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        top: 0;
        left: 0;
        background-color: #28a745;
    }

tr.currenUser {
    font-weight: bold;
    background-color: #f0f0f0;
}

tr .worker-mode {
    content: " ";
    display: flex;
    align-items: center;
    justify-content: center;
    float: right;
    width: 24px;
    height: 24px;
    border: 1px solid #999;
}

.worker-mode.mode-1 {
    background-color: #e0ffbd;
}

.worker-mode.mode-2 {
    background-color: #ebf6fe;
}

.worker-mode.mode-3 {
    background-color: #e0ffbd;
}

.worker-mode.mode-3::after {
    display: inline-block;
    content: "";
    width: 22px;
    height: 22px;
    background-color: #ebf6fe;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
}

td .cl {
    background-color: #ac3939;
}


.userName {
    color: #007AD8;
    font-size: 16px;
    text-align: center;
}

#update-rw img {
    height: 50px;
}

#monthSwitch {
    display: flex;
    align-items: center;
    flex-grow: 1;
    justify-content: center;
    gap: 20px;
}
.monthSwitch--mark {
    background-color: #e8e8e8;
    margin-bottom: 10px;
    padding: 10px;
}

#monthSwitch a img {
    height: 50px;
}

#monthSwitch span {
    display: inline-block;
    font-weight: 700;
    font-size: 21px;
    font-variant-caps: all-petite-caps;
    min-width: 14px;
    text-align: center;
}

#usermenu {
    background-color: transparent;
    right: 0;
    height: 100px;
    width: 100px;
    background-image: url('/img/ico-user-na-07.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px;
}

#usermenu:hover {
    background-color: #007AD8;
    background-image: url('/img/ico-user-a-08.svg');
    cursor: pointer;
}

#update-rw {
    display: block;
    background-color: transparent;
    height: 75px;
    width: 75px;
    background-image: url('/img/ico-work.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px;
    margin-right: 20px;
    float: right;
}


    #update-rw:hover {
        background-color: #007AD8;
        cursor: pointer;
        background-image: url('/img/ico-work-hover.svg');
    }



#holidaycounter {
    width: 800px;
    border: 1px solid #f0f0f0;
    border-collapse: separate;
    background-image: none;
    background-color: white;
    font-size: 15px;
    table-layout: fixed;
    margin:70px;
}

    #holidaycounter thead {
        font-weight: 700;
        background-color: lightgrey;
    }


#holidaystats thead {
    font-weight: 700;
    
}

.asterix {
    color: red;
    margin-right: 4px;
}

#holidayme tlo {
    background-color: lightgrey;
}

#search {
    width: 100px;
}
#search img {
    height: 20px;
}

#tlo {
    background-color:lightgrey;
}

#holidayme {
    background-color: lightgrey;
}

#kr {
    font-weight: bold;
    font-size: 25px;
    font-weight: 700;
}

td.porter {
    background-color: #e0ffbd;
}
#maincalendar tr td:first-child.manager a {
    color: darkblue;
    font-weight: bold;
}

#holidaystats td {
    vertical-align: middle;
}

.chWorkPop  {
    display: flex;
}

.chWorkPop div {
    width: 30px;
    height: 30px;
    margin-right: 6px;
    cursor: pointer;
}

.chWorkPop div.item-desk {
    background-color: #e0ffbd;
    background-image: url("/img/desk.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

.chWorkPop div.item-remote {
    background-color: #ebf6fe;
    background-image: url("/img/ico-pz-01.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}

.chWorkPop div.item-del {
    background-color: #3d85c6;
    background-image: url("/img/car.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 16px;
}



    .chWorkPop div.item-remdel {
        background-color: #ffffff;
        background-image: url("/img/car.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }

    .chWorkPop div.item-absence {
        background-color: #577770;
        background-image: url("/img/ico-pz-02.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 16px 16px;
    }


    .chWorkPop .close {
        border: 1px solid #ddd;
        width: 20px;

    }

    .delete-req img,
    .delete-ticket-req img,
    .disable-req img,
    .delete-multisport-req img,
    .delete-attachment img,
    .comment-req img {
        width: 20px;
    }

.js-statement {
    vertical-align: middle;
}

.workertable td {
    padding: 0 0 0 10px;
    vertical-align: middle;
}

.crediuttable td {
    padding: 10px;
    vertical-align: middle;
}

.crediuttable td.desc-col {
    width: 250px;
    background-color: #f0f0f0;
}

.workertable td#photo {
    width: 304px;
    padding: 2px;
    border: 1px solid #a0a0a0;
}

.workertable td.desc-col {
    width: 200px;
    background-color: #f0f0f0;
}

.workertable #photo img {
    width: 300px;
    height: 400px;
}

.worker-name--cell {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.worker-icon {
    width: 16px;
}

#filtersHR #name {
    width: 240px;
}
#filtersHR #type {
    width: 200px;
}
#filtersHR input[type='date'] {
    width: 140px;
}
.htype10 {
    background-color: #e0e0e7;
}

#occasional-description {
    background-color: #f0f0f0;
    border: 1px solid #aaaaaa;
    padding: 6px;
    margin-bottom: 2rem;

}

.calendaricon {
    background-image: url("/img/calendar.png");
    float: right;
}


.grid-item {
    background-color: blue;
    font-weight: 800;
    font-size: 36px;
    padding: 20px;
}

.workermonth {

    background-color:paleturquoise;
}




.grid-wrapper {
    display: grid;
    background-color: paleturquoise;
    grid-template-columns: repeat(12, auto);
    grid-template-rows: repeat(1, auto);
    gap: 5px;
}

.table-striped tbody tr.notEq {
    background-color: #e0ffbd;
}

.table-striped tbody tr.toRemove {
    background-color: #d49898;
}

table tr.itemDeleted {
    text-decoration: line-through;
}

.allWorkers .division > a {
    width: 100%;
    text-align: left;
}

.allWorkers .department {
    padding-left: 30px;
}

.allWorkers .department > a {
    width: 100%;
    text-align: left;
}


.allWorkers .useritem {
    padding: 5px 50px;
}

.card-header--month {
    display: flex;
    flex-direction: row;
    padding: 4px;
    justify-content: space-between;
    width: 100%;
    align-items: baseline;
    background-color: #e1e1e1;
}

.tool__button {
    background-color: #e0e0e0;
    border: 1px solid #aaa;
    display: inline-block;
    padding: 2px 8px;
}
.tool__button img {
    width: 30px;
}

.dropdown-menu .btn-link {
    text-decoration: none;
    color: #101010;
}


    .dropdown-menu .btn-link:hover {
        background-color: #e0e0e0;
    }

.btn-link img {
    width: 20px;
}


.daysTable {
    max-height: 75vh;
    overflow: auto;
}

.settings-row {
    align-items: baseline;
}

.form-value {
    display: flex;
    align-items: baseline;
    gap: 20px;
    margin-bottom: 1rem;
}

.filters {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 1rem;
}

    .filters .form-select {
        width: 200px;;
    }

    .form-value input {
        width: auto;
    }

tr.workmode-row {
    background-color: #ebf6fe;
}



.workerlist__filters {
    display: flex;
}


.block-declarations {
    margin-top: 60px;
}

.table tr.decl-warning td {
    background-color: lightpink
}

.table tr.decl-canceled td {
    background-color: #e0e0e0;
}


.buttons-row {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
}

.attachment-item {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}


.salesGrid {
    font-size: 14px;
}

.salesGrid .sort i{
    line-height: 18px;
}


    .salesGrid .actions {
        display: flex;
        gap: 20px;
    }

.sales-summary {
    display: flex;
    gap: 20px;
    margin-bottom: 24px;
 }

.sales-summary td {
    padding: 0.25rem;
    background-color: aliceblue;
}

.sales-total {
    padding: 0.85rem;
    color: white;
    background-color: dodgerblue;
    font-size: 16px;
}

.sales-totalCY {
    padding: 0.85rem;
    color: white;
    background-color: green;
    font-size: 20px;
    margin-bottom: 1rem;
   
}



.sales-total span {
    font-weight: bold;
}

    .tile {
        display: flex;
        border-radius: 10px;
        flex-direction: column;
        justify-content: space-between;
        background-color: dodgerblue;
        color: white;
        width: 250px;
        height: auto;
        padding: 16px;
    }

    .tile.tile-main {
        background-color: green;
    }


.tile .title {
    font-size: 16px;
}

    .tile .tile__values {
        text-align: end;
        font-size: 14px;
    }

.tile .main--value {
    font-size: 20px; 
    font-weight: 600;
}


.value-summary {
    border: 1px solid #aaa;
    padding: 4px;
}

.perunit_price
{
     color:brown
}

.page-actions {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
    align-items: center;
}

.actions {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
    align-items: center;
}

.date__month-year {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
}

.user-toolbar {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 20px;
}

.js-partTime i {
    display: none;
}

.js-partTime:hover  i {
    display: inline;
}
.wp-table {
    width: auto;
}

.wp-table th {
    margin-top: 12px;
    background-color: #f0f0f0;
    width: 140px;
}


.val-message {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s, visibility 0.8s;
    color: green;
    font-weight: bold;
    margin-top: 10px;
}

.val-message.show {
    opacity: 1;
    visibility: visible;
}

.badgewarning {
    margin-left: 4px;
    width: 30px;
    display: inline-block;
}


.task-button {
    position: relative;
    display: flex;
    align-items: center;
    padding: 8px 8px;
    background-color: #007AD8;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    color: white;
    transition: background-color 0.3s ease;
}

.task-button:hover {
    background-color: #0056b3;
}

.task-button a {
    color: white;
}
.task-button a:hover {
    text-decoration: none;
}

.task-button i {
    margin-right: 10px;
}

.task-count {
    position: absolute;
    right: -12px;
    top: -12px;
    background-color: #ff4757;
    color: white;
    padding: 2px 8px;
    border-radius: 50%;
    margin-right: 10px;
    font-size: 14px;
}

/* Tasks */
.mytasks-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mytask-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    align-items: center;
    padding: 16px 16px;
    border-radius: 5px;
    background-color: #f0f0f0;
    color: #333;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

    .mytask-item .mytask-item--header {
        font-weight: bold;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 16px;
        margin: 10px 0;
    }


.form-actions--toolbar {
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #dee2e6
}

.contractGrid {
    display: flex;

    flex-direction: column;
    gap: 16px;
}

.contractItem {
    width: 100%;
    padding: 10px 20px;

    border: 1px solid #f2f2f2;
    border-left: 10px solid #f7bc19;
    box-shadow: 2px 2px 8px -3px rgba(66, 68, 90, 1);
}

    .contractItem.contract-completed {
        border-left: 10px solid #007500;
    }
    .contractItem.invoice-overdue {
        border-left: 10px solid red;
    }

    .contractItem .contractHeader {
        display: flex;
        justify-content: flex-start;
        gap: 20px;
        align-items: center;
        margin-bottom: 10px;
    }

        .contractItem .contractHeader .contract-owner {
            margin-left: auto;
        }

        .contractItem .contract-number {
            font-weight: bold;
            font-size: 20px;
        }

    .contractItem .contract-body {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 20px;
    }

    .contractItem .contract-actions {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
    }
        .contractItem .contract-actions span {
            align-self: flex-end;
            margin-left: auto;
        }

    .contractItem .contract-body .contract-status {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        border-bottom: 1px solid #f2f2f2;
    }
    .contractItem .contract-body .contract-status div {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
    }
        .contractItem .contract-body .contract-status div i {
            font-size: 20px;
        }
        .contractItem .contract-body .contract-status div i.icon-ok {
            color: green;
        }

        .contractItem .contract-body .contract-status div i.icon-none {
            color: #e0e0e0;
        }



.sales-filter {
    margin: 6px;
    display: flex;
    padding: 10px 0px;
    border: 1px solid #e0e0e0;
    
}

.color-view {
    width: 20px;
    height: 20px;
    display: inline-block;
    border: solid 1px #aaa;
    margin-right: 10px;
}
.color-bg-0 {
    background-color: transparent;
}


.salesGrid .table tbody td {
    background-color: unset;
}


.row-success {
    background-color: #ccffcc;
}


.row-failed {
    background-color: #cccccc;
}

.color-bg-1 {
    /* Błękitny pastelowy: #E3F2FD – delikatny, chłodny odcień niebieskiego.*/
    background-color: #E3F2FD;
}

.color-bg-2 {
    /* Miętowy pastelowy: #E8F5E9 – świeży, stonowany zielony, który dodaje lekkości. */
    background-color: #E8F5E9;
}

.color-bg-3 {
    /* Jasnożółty: #FFFDE7 – subtelny, słoneczny odcień żółtego, który przyciąga wzrok. */
    background-color: #FFFBCC;
}

.color-bg-4 {
    /* Jasnoszary: #FAFAFA – neutralny, niemal biały z lekkim, szarym akcentem, idealny jako tło. */
    background-color: #EAEAEA;
}

.color-bg-5 {
    /* Pastelowy różowy: #FCE4EC – łagodny, przyjazny odcień różu. */
    background-color: #FCE4EC;
}

.color-bg-6 {
    /* Brzoskwiniowy: #FFEBCC – ciepły, delikatny odcień pomarańczowo-brzoskwiniowy. */
    background-color: #FFEBCC;
}

.color-bg-7 {
    /* Pastelowy fioletowy: #F3E5F5 – spokojny, dyskretny odcień fioletu. */
    background-color: #F3E5F5;
}

.color-bg-8 {
    /* Pastelowy czerwony: #FFE6E9 */
    background-color: #FFE6E9;
}

.table-copyright {
    font-size: 12px;
}

.table-usersinproject tfoot td {
    font-weight: bold;
    background-color: #eaeaea;
}




.container-contract {
    background-color: var(--light-gray);
    color: var(--secondary-color);
    line-height: 1.6;
    max-width: 1440px;
    margin: 0 auto;
    padding: 40px 20px;
    font-size: 14px;
}

.container-gray {
    background-color: var(--light-gray);
    margin-top: -1rem;
}

.container-contract h1 {
    color: var(--secondary-color);
    font-weight: 600;
    font-size: 32px;
}

header.header-contract {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--medium-gray);
}

.back-button {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    font-size: 13.33px;
    transition: background-color 0.3s;
}

.contract-details {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 30px;
    margin-bottom: 40px;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.detail-item {
    margin-bottom: 15px;
    position: relative;
}

    .detail-item:hover .edit-btn {
        opacity: 1;
        font-size: 18px;
        margin-top: 1rem;
    }


.detail-label {
    font-size: 14px;
    color: var(--dark-gray);
    margin-bottom: 5px;
    font-weight: 500;
}

.detail-value {
    font-size: 16px;
    font-weight: 500;
    padding: 8px 0;
    border-bottom: 1px solid var(--medium-gray);
}

.edit-btn {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--primary-color);
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 16px;
}

.edit-btn:hover {
    color: #2980b9;
}

.approvals {
    display: flex;
    gap: 30px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--medium-gray);
}

.approval-item {
    flex: 1;
}

.status {
    display: ;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
}

.status-approved {
    background-color: rgba(39, 174, 96, 0.1);
    color: var(--success-color);
}

.status-pending {
    background-color: rgba(243, 156, 18, 0.1);
    color: var(--warning-color);
}

.status-rejected {
    background-color: rgba(231, 76, 60, 0.1);
    color: var(--accent-color);
}

.status-at-owner {
    background-color: rgba(243, 156, 18, 0.1);
    color: #222;
}


.comments-section {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 30px;
    margin-bottom: 40px;
}

.comments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.add-comment-btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s;
}

    .add-comment-btn:hover {
        background-color: #2980b9;
    }

.comment-list {
    list-style: none;
}

.comment-item {
    padding: 20px 0;
    border-bottom: 1px solid var(--medium-gray);
}

    .comment-item:last-child {
        border-bottom: none;
    }

.comment-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.comment-author {
    font-weight: 600;
    color: var(--secondary-color);
}

.comment-date {
    font-size: 14px;
    color: var(--dark-gray);
}

.comment-content {
    color: var(--secondary-color);
    line-height: 1.5;
}

@media (max-width: 768px) {
    .detail-grid {
        grid-template-columns: 1fr;
    }

    .approvals {
        flex-direction: column;
        gap: 15px;
    }
}


.actions-section {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 30px;
    margin-bottom: 40px;
}

.actions-header {
    margin-bottom: 25px;
}

.action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s;
}

.action-btn.delete-btn {
    background-color: rgba(231, 76, 60, 0.1);
    color: var(--danger-color);
}

.action-btn.delete-btn:hover {
    background-color: rgba(231, 76, 60, 0.2);
}

.approve-btn {
    background-color: rgba(39, 174, 96, 0.1);
    color: var(--success-color);
}

    .approve-btn:hover {
        background-color: rgba(39, 174, 96, 0.2);
    }

.reject-btn {
    background-color: rgba(243, 156, 18, 0.1);
    color: var(--warning-color);
}

    .reject-btn:hover {
        background-color: rgba(243, 156, 18, 0.2);
    }

.forward-btn {
    background-color: rgba(52, 152, 219, 0.1);
    color: var(--primary-color);
}

    .forward-btn:hover {
        background-color: rgba(52, 152, 219, 0.2);
    }

.cancel-btn {
    background-color: var(--light-gray);
    color: var(--secondary-color);
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
}

.save-btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
}

.attachments-section {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 30px;
    margin-bottom: 40px;
}

.attachments-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.add-attachment-btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s;
}

    .add-attachment-btn:hover {
        background-color: #2980b9;
    }

.attachment-list {
    list-style: none;
}

.attachment-item {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid var(--medium-gray);
}

    .attachment-item:last-child {
        border-bottom: none;
    }

.attachment-icon {
    margin-right: 15px;
    font-size: 24px;
}

    .attachment-icon .fa-file-pdf {
        color: var(--accent-color);
    }
    .attachment-icon .fa-file-word {
        color: var(--primary-color);
    }

.attachment-info {
    flex: 1;
}

.attachment-name {
    font-weight: 500;
    margin-bottom: 5px;
}

.attachment-meta {
    font-size: 14px;
    color: var(--dark-gray);
}

.attachment-actions {
    margin-left: 15px;
}

.download-btn {
    background-color: var(--light-gray);
    color: var(--primary-color);
    border: none;
    padding: 6px 12px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s;
}

.delete-item-btn {
    background-color: rgba(231, 76, 60, 0.1);
    color: var(--danger-color);
    border: none;
    padding: 6px 12px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s;
}

    .delete-item-btn:hover {
        background-color: rgba(231, 76, 60, 0.3);
        
    }

.download-btn:hover {
    background-color: var(--medium-gray);
}


.file-input-wrapper {
    position: relative;
    margin-bottom: 15px;
}

.file-input-label {
    display: block;
    padding: 12px;
    border: 2px dashed var(--medium-gray);
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
}

    .file-input-label:hover {
        border-color: var(--primary-color);
        background-color: rgba(52, 152, 219, 0.05);
    }

.file-input {
    position: absolute;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    z-index: -1;
}

.file-info {
    margin-top: 10px;
    padding: 10px;
    background-color: var(--light-gray);
    border-radius: 4px;
    font-size: 14px;
    display: none;
}

.file-name {
    font-weight: 500;
    margin-bottom: 5px;
}

.file-size {
    color: var(--dark-gray);
}

.comment-actions {
    color: var(--primary-color);
    display: flex;
    justify-content: flex-end;
}

.statusitem-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    background-color: #bde0ff;
    padding: 10px;
    font-weight: bold;
    box-shadow: 7px 14px 29px -20px rgba(128, 128, 157, 1);
}

.statusitem-completed td {
    background-color: #dcefe0;
}

.statusitem-cell {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.statusitem-cell i {
    color: #155724;
    display: none;
}
.statusitem-completed td.statusitem-cell i {
    display: inline-block;
}


.roles-wraper {
    display: grid;
    grid-template-columns: 30% 1fr; 
    gap: 20px; 
    align-items: start; 
}

.user-add-panel {
    display: flex;
    gap: 20px;
    margin-bottom: 12px;
}
.role-item {
    text-decoration: none;
    color: #333;
    padding: 4px;
    display: block;

}

.user-item {
    padding: 4px;
}

.user-item:hover {
    background-color: #f0f0f0;
}



    .user-item i {
        float: right;
        margin: 4px 4px 0 0;
    }

.role-item.active {
    background-color: #e0e0e0;
    font-weight: bold;
}

.col-fix-sm {
    width: 150px;
}

.subtitle-sm {
    font-size: 10px;
    font-style: italic;
    display: block;
}


/* 🔹 Ukrywamy oryginalny input pliku */
#photoInput {
    display: none;
}

.person-data {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 20px;
}

.photo-section {
    width: 40%;
    max-width: 400px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
    .photo-section #preview {
        max-width: 400px;
    }
    .photo-section img {
        -webkit-box-shadow: 8px 8px 24px 0px rgba(66, 68, 90, 1);
        -moz-box-shadow: 8px 8px 24px 0px rgba(66, 68, 90, 1);
        box-shadow: 8px 8px 24px 0px rgba(66, 68, 90, 1);
        width: 100%;
    }

.persondata-section {
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: repeat(auto-fill, 60px);
    column-gap: 10px;
}

.persondata-section .desc-col {
    background-color: #f0f0f0;
}

    .persondata-section > div {
        padding: 11px;
        border-bottom: 1px solid #e0e0e0;
    }