/* ========== GLOBAL STYLES ========== */
body {
    background-color: #7d7d99;
    font-family: 'Roboto', sans-serif;
    color: #e0e0e0;
}

html, body {
    height: 100%;
    overflow-x: hidden;
}

.dropdown-menu .card {
    box-shadow: none;
    border: 0;
  }

/* ========== SIGN-IN CONTAINER STYLES ========== */
.container.signin-container {
    margin-top: 10%;
}

.card.signin-card {
    padding: 40px 30px;
    background-color: #2c2c3e;
    border: none;
    border-radius: 15px;
    box-shadow: 0 0 20px rgba(0, 123, 255, 0.2);
}

img.signin-img {
    display: block;
    margin: 0 auto;
}

form.signin-form {
    max-width: 220px;
    margin: auto;
}

/* ========== INPUTS ========== */
input.form-control {
    background-color: #1e1e2f;
    color: #e0e0e0;
    border: 1px solid #444;
    border-radius: 10px;
    text-align: center;
    font-size: 1.1rem;
    padding: 10px;
    width: 100%;
}

input.form-control::placeholder {
    color: #e0e0e0;
}

input.form-control:focus {
    border-color: #007bff;
    box-shadow: 0 0 5px #007bff;
    background-color: #2b2b40;
    color: white;
}

/* Autofill override */
input:-webkit-autofill {
    background-color: #1e1e2f !important;
    -webkit-box-shadow: 0 0 0px 1000px #1e1e2f inset;
    -webkit-text-fill-color: #e0e0e0;
    transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #2b2b40 inset;
    -webkit-text-fill-color: #ffffff;
}

/* ========== BUTTONS ========== */
button.signin-btn {
    color: white;
    background-color: #007bff;
    width: 100%;
    border: none;
    border-radius: 10px;
    transition: background-color 0.3s ease;
}

button.signin-btn:hover {
    background-color: #0579ed;
}

/* ========== PASSWORD TOGGLE ========== */
.toggle-password {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 22px;
    cursor: pointer;
    transition: filter 0.3s ease;
}

.toggle-password:hover {
    filter: brightness(1.3);
    transform: translateY(-50%) scale(1.2);
}

@media (max-width: 768px) {
    .toggle-password {
        width: 18px;
    }
}

/* ========== TABLE STYLES ========== */
.table-wrapper {
    overflow-x: auto;
    overflow-y: visible;
    max-height: 750px;
    position: relative;
    width: 100%;
}

table {
    user-select: none;
    cursor: default;
    width: max-content;
    min-width: 100%;
    table-layout: fixed;
}

thead th {
    background-color: #f8f9fa;
    text-align: center;
}

/* Sticky headers */
thead tr:nth-child(1) th {
    position: sticky;
    top: 0;
    z-index: 10;
}

thead tr:nth-child(2) th {
    position: sticky;
    top: 40px;
    z-index: 10;
}

/* Sticky first column */
th.first-col,
td.first-col {
    position: sticky;
    left: 0;
    background-color: #e9ecef;
    z-index: 5;
    width: 220px;
}

/* Other columns */
th.normal-col,
td.normal-col {
    width: 50px;
    text-align: center;
}

/* Special elements */
#corner1,
#corner2 {
    z-index: 15;
}

.sticky-div-1,
.sticky-div-2 {
    position: sticky;
    top: 0;
    z-index: 4;
}

/* Misc */
.crm-info {
    font-size: 0.8em;
    color: #007bff;
    cursor: pointer;
    margin-left: 5px;
}

.first-col a {
    text-decoration: none;
    color: inherit;
}

.name-col:hover {
    background-color: #424141;
}

.editing-active {
    background-color: #0d6efd;
    color: white;
    border-color: #0d6efd;
}

th.first-col, td.first-col {
    width: 220px;
}

th.holiday,
td.holiday {
    background-color: #b8d0e9; /* Soft pale blue, kept for special occasion */
}

th.weekend,
td.weekend {
    background-color: #a4c4df; /* Soft blue for weekends */
}