html {
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 9999s ease-in-out 0s;
}


@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.field {
    position: relative;
    /*    margin-bottom: 15px;*/
}

    .field label::before {
        content: attr(title);
        position: absolute;
        top: 0;
        left: 15px;
        line-height: 40px;
        font-size: 14px;
        color: #777;
        transition: 300ms all;
    }

    .field input {
        width: 100%;
        line-height: 40px;
        padding: 0 15px;
        box-sizing: border-box;
        font-size: 14px;
        color: #222;
        border: 1px solid #ccc;
        border-radius: 3px;
    }

        .field input:focus {
            outline: 0;
            border-color: blue;
        }

        .field input:valid + label::before {
            content: attr(data-title);
        }

        .field input:focus + label::before {
            color: blue;
        }



    .field textarea {
        width: 100%;
        line-height: 40px;
        padding: 0 15px;
        box-sizing: border-box;
        font-size: 14px;
        color: #222;
        border: 1px solid #ccc;
        border-radius: 3px;
    }

        .field textarea:focus {
            outline: 0;
            border-color: blue;
        }

        .field textarea:valid + label::before {
            content: attr(data-title);
        }

        .field textarea:focus + label::before {
            color: blue;
        }

/* ================================
   NOTIFICATIONS MOBILE BEHAVIOR
   ================================ */
@media (max-width: 991px) {

    #notif-bell-container {
        display: inline-flex !important;
        align-items: center !important;
    }

    #notif-count-mobile {
        display: inline-flex !important;
        font-size: 11px !important;
        padding: 2px 6px !important;
        margin-left: 4px;
        position: static !important;
        transform: none !important;
    }
}

/* Desktop hides the mobile label */
@media (min-width: 992px) {
    .notif-text-mobile {
        display: none !important;
    }
}

.tooltip .tooltip-inner {
    background-color: #006fff !important;
    color: #fff !important;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: .375rem;
    font-weight: 500;
    border: 1px solid blue;
    --bs-tooltip-opacity: 1;
}

.tooltip-arrow {
    --bs-tooltip-bg: blue !important;
}

.tooltip.show {
    opacity: 1;
}

/* Seta do tooltip */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: #222 !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: #222 !important;
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
    border-left-color: #222 !important;
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: #222 !important;
}



/* Special day (DayOff / Sick) styling */
.special-day {
    border: 1px solid #ffdf80;
    background: #fff6e0;
    --bs-card-cap-bg: #fff6e0;
}

    .special-day:hover {
        background: #fff3d1;
        --bs-card-cap-bg: #fff3d1;
    }

    /* More specific */
    .special-day.dayoff {
        border-color: #ffd166;
        background: #fff7e0;
    }

    .special-day.sick {
        border-color: #ff6b6b;
        background: #ffecec;
    }

    /* ensure centered label style */
    .special-day .card-body {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 18px !important;
        font-size: 1rem;
    }




.receipt-preview-wrap {
    max-width: 420px;
    max-height: 420px;
    overflow: hidden;
    border-radius: 8px;
}

#receiptPreview {
    width: 100%;
    height: auto;
    display: block;
}

.hours {
    border: 1px solid #dee2e6;
    border-radius: .375rem;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

input, textarea, button, select, a {
    -webkit-tap-highlight-color: transparent;
    font-size: 14px;
}

    input[type="file"]::file-selector-button {
        display: none;
    }
    /*    input[type="file"]::file-selector-button {
        background: #007bff;
        color: white;
        border: none;
        padding: 8px 12px;
        cursor: pointer;
        border-radius: 5px;
    }*/

    input[type="file"]::before {
        content: none;
    }

.nav-link:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgb(13 110 253 / 0%);
}

html {
    position: relative;
    min-height: 100%;
}

.f-12 {
    font-size: 12px;
}

.f-13 {
    font-size: 13px;
}

.f-14 {
    font-size: 14px;
}

.f-15 {
    font-size: 15px;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

a {
    text-decoration: none;
}

.m0 {
    margin: 0 !important;
}
w-68 {
    width: 68px !important;
}

body {
    /*margin-bottom: 60px;*/
    font-size: 14px;
    font-family: Roboto;
}

.card.disabled {
    opacity: 0.5;
    pointer-events: none;
    background-color: #f0f0f0;
}


.weekChange.disabled {
    pointer-events: none; /* bloqueia cliques */
    cursor: default !important;
    background-color: #DADBDD !important; /* opcional: muda o fundo */
}

    .weekChange.disabled:hover {
        pointer-events: none; /* bloqueia cliques */
        background-color: #DADBDD !important; /* impede hover com cor */
        cursor: default !important;
    }

.dayoff {
    border: 1px solid #d3baff;
    background: #d3baff3b;
    --bs-card-cap-bg: #d3baff3b;
}

    .dayoff:hover {
        background: #d3baff57;
        --bs-card-cap-bg: #d3baff57;
        /*cursor:pointer;*/
    }

.sick {
    border: 1px solid #fff6ba;
    background: #fff6ba3b;
    --bs-card-cap-bg: #fff6ba3b;
}

    .sick:hover {
        background: #fff6ba57;
        --bs-card-cap-bg: #fff6ba57;
        /*cursor:pointer;*/
    }

.filled {
    border: 1px solid #00e0ff;
    background: #baf7ff3b;
    --bs-card-cap-bg: #baf7ff3b;
}

    .filled:hover {
        background: #baf7ff57;
        --bs-card-cap-bg: #baf7ff57;
    }

.rejected {
    border: 1px solid red;
    background: #ffdcdc3b;
    --bs-card-cap-bg: #ffdcdc3b;
}

    .rejected:hover {
        background: #ffdcdc57;
        --bs-card-cap-bg: #ffdcdc57;
    }

.approved {
    border: 1px solid limegreen;
    background: #e5ffe53b;
    --bs-card-cap-bg: #e5ffe53b;
}

    .approved:hover {
        background: #e5ffe557;
        --bs-card-cap-bg: #e5ffe557;
    }

.card.empty {
    border: 1px dashed #ccc;
    background-color: #f9f9f9;
    opacity: 0.9;
    transition: 0.2s ease;
}

    .card.empty:hover {
        background-color: #f1f1f1;
        opacity: 1;
    }

.holiday {
    border: 1px solid #8a2be2;
    background: #e9ddff70;
    --bs-card-cap-bg: #e9ddff70;
}

    .holiday:hover {
        background: #e9ddff90;
        --bs-card-cap-bg: #e9ddff90;
    }

.div-breadcrumb {
    border-bottom: 1px dotted #C20041;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    height: 40px;
}

.breadcrumb {
    position: relative;
    top: 1px;
    display: inline-block;
    margin: 0;
    border-bottom: 2px solid #870234;
    /*text-transform: uppercase;*/
    font-size: 18px;
    font-weight: 500;
    color: #AB013D;
}

.input-hidden {
    height: 0;
    width: 0;
    visibility: hidden;
    padding: 0;
    margin: 0;
    float: right;
}

.row-titulo {
    height: 56px;
}

.text-right {
    text-align: right;
}

.div-titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.titulo {
    font-size: 24px;
    font-weight: 300;
    height: 48px;
    display: flex;
    align-items: flex-end;
    margin-bottom:0;
}

.titulo-sm {
    font-size: 16px;
    font-weight: 400;
    height: 34px;
    display: flex;
    align-items: flex-end;
}

.box-lg {
    /*border: 1px solid #dee2e6;*/
    border: 1px solid #f0a1a1;
    border-radius: .375rem;
    width: 100%;
    height: 54.5px;
    background-color: #fff7f7;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .box-lg i {
        /*color: #bebebe;*/
        color: red;
    }

    .box-lg:hover {
        border: 2px solid #dee2e6;
        cursor: pointer;
    }

    .box-lg:active {
        border: 1px solid #dee2e6;
        background-color: #ebebeb;
    }

.box-lg-selected {
    /*border-color: #05ac05;*/
    background-color: #ecfeec;
    border: 2px solid #05ac05;
}

.box-bi-selectd {
    color: #05ac05 !important;
}

.form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-select ~ label::after {
    background-color: #ffffff00 !important;
}

.box {
    border: 1px solid #dee2e6;
    height: 58px;
    display: flex;
    align-items: center;
    padding-left: 12px;
    border-radius: .375rem;
}

.cut {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.edit {
    color: #27a516;
    text-decoration: none;
}

    .edit:hover {
        color: white;
        background-color: #27a51680;
        border: 2px solid #27a516;
    }

.orange {
    color: orange;
    text-decoration: none;
}

    .orange:hover {
        color: white;
        background-color: orange;
        border: 2px solid darkorange;
    }

.blue {
    color: blue;
    text-decoration: none;
}

    .blue:hover {
        color: white;
        background-color: blue;
        border: 2px solid darkblue;
    }

.purple {
    color: mediumpurple;
    text-decoration: none;
}

    .purple:hover {
        color: white;
        background-color: mediumpurple;
        border: 2px solid purple;
    }

.chocolate {
    color: chocolate;
    text-decoration: none;
}

    .chocolate:hover {
        color: white;
        background-color: chocolate;
        border: 2px solid brown;
    }

.salmon {
    color: salmon;
    text-decoration: none;
}

    .salmon:hover {
        color: white;
        background-color: salmon;
        border: 2px solid brown;
    }

.share {
    color: #ac04e3;
    text-decoration: none;
}

    .share:hover {
        color: white;
        background-color: #ac04e380;
        border: 2px solid #ac04e3;
    }

.delete {
    color: red;
    text-decoration: none;
}

    .delete:hover {
        color: white;
        background-color: #ff000080;
        border: 2px solid red;
    }

.details {
    color: #00a1ff;
    text-decoration: none;
}

    .details:hover {
        color: white;
        background-color: #00a1ff80;
        border: 2px solid #00a1ff;
    }

.pay {
    color: #32cd32;
    text-decoration: none;
}

    .pay:hover {
        color: white;
        background-color: #32cd3280;
        border: 2px solid #32cd32;
    }

.btn-app {
    border: 2px solid #d8d8d8;
    /* margin: 0 0.5rem; */
    width: 26px;
    display: flex;
    height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    cursor: pointer;
}

footer {
    /*position: fixed;*/
    height: 40px;
    bottom: 0;
    width: 100%;
    left: 0;
    right: 0;
    background-color: #ededed;
    line-height: 50px;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    /*border-top: 1px solid #d7d7d7;*/
}

.font-small {
    font-size: 14px;
}

.eye:hover {
    color: #00afff;
    cursor: pointer;
}

.trash:hover {
    color: red;
    cursor: pointer;
}

.pencil:hover {
    color: #00afff;
    cursor: pointer;
}

.f13 {
    font-size: 13px;
}

.f16 {
    font-size: 16px;
}

.pl10 {
    padding-left: 10px;
}

.myButtons {
    height: 58px;
    border: 1px solid #dee2e6;
    font-weight: 400;
    color: #212529;
    width: 100%;
    border-radius: 0.375rem;
    cursor: pointer;
}

    .myButtons:hover {
        background-color: #f0f0f0;
        /*color: white !important;*/
    }

.on-off {
    font-size: 14px;
    display: flex;
    align-items: center;
    height: 100%;
    justify-content: center;
    border-radius: 0.375rem;
    cursor: pointer;
}

textarea {
    resize: none;
}

#map {
    height: 454px;
    width: 100%;
}

.teamList {
    padding: 2px 5px;
}

    .teamList:hover {
        background-color: lightgray;
        cursor: pointer;
        border-radius: .275rem;
    }

.date-input {
    width: 100%;
    text-align: center;
    /*border: 0;*/
    /*border-bottom: 1px solid #6e6e6e;*/
    border: .5px solid #e9ecef;
    border-radius: .275rem;
}

    .date-input:focus {
        outline: none;
    }

.comments {
    --bs-gutter-x: .5rem;
    padding: 2px 0;
    font-size: 12px;
}

.fa-eye {
    color: blue;
}

    .fa-eye:hover {
        cursor: pointer;
    }

.fa-xmark {
    color: red;
}

    .fa-xmark:hover {
        cursor: pointer;
    }

.input-team {
    font-size: 12px;
    width: 100%;
    border: .5px solid #e9ecef;
    border-radius: .275rem;
    text-align: right;
}

.dt {
    margin-right: 15px;
}

.actions {
    width: 100px;
}

.totais {
    text-align: left;
    font-weight: 500;
}

    .totais > div {
        padding-left: 6px;
    }

.balance {
    text-align: left;
    font-size: 15px;
    font-weight: 600;
}

    .balance > span {
        padding-left: 6px;
    }

.box-button {
    padding: 3px;
    border: 1px solid #ddd;
    border-radius: .375rem;
}

    .box-button:hover {
        background-color: #f0f0f0;
        cursor: pointer;
    }

.my-form-check {
    display: flex;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

.my-form-check-input {
    --bs-form-check-bg: var(--bs-body-bg);
    border-radius: .25em;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    /*-webkit-appearance: none;*/
    -moz-appearance: none;
    /*appearance: none;*/
    background-color: var(--bs-form-check-bg);
    background-image: var(--bs-form-check-bg-image);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: var(--bs-border-width) solid var(--bs-border-color);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.form-check-label{
    margin-left: .5em;
}

.border-box {
    position: relative;
    border: 1px solid #ccc;
    padding: 13px;
    border-radius: 6px;
    background: #fff;
}

.border-box-title {
    position: absolute;
    top: -12px;
    left: 15px;
    background: #fff;
    padding: 0 8px;
    font-weight: 600;
    font-size: 14px;
}





@media (max-width: 480px) {
    .font-small {
        font-size: 8px !important;
    }

    .comments {
        font-size: 8px;
    }

    .dt {
        font-size: 12px;
    }

    .cb {
        padding: 10px;
    }

    .actions {
        min-width: 100px;
    }

    .totais {
        text-align: right;
    }

        .totais > div {
            width: 105px;
        }

    .balance {
        text-align: right;
    }
}

@media (max-width: 430px) {
    .actions {
        min-width: 100px;
    }
}

@media (max-width: 393px) {
    .actions {
        min-width: 100px;
    }
}
