/* 
    Created on : 11 Jan 2026, 09:51:41
    Author     : tamas
*/

:root {
    --ps-primary: #0b3a6e;      /* deep header blue */
    --ps-primary-dark: #082c54;
    --ps-accent: #1f6fb2;       /* lighter blue */
    --ps-text-light: #ffffff;
}

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

body {
    display: flex;
    flex-direction: column;
}

/* Top navbar */
.main-header.navbar {
    background: linear-gradient(
        to right,
        var(--ps-primary),
        var(--ps-accent)
    );
    border-bottom: 1px solid var(--ps-primary-dark);
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0;
    right: 0;
}

.main-header.navbar {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0;
    right: 0;
}

/* Fix container spacing inside navbar */
.main-header .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
}

.main-header.navbar .nav-link {
    color: var(--ps-text-light);
    font-weight: 500;
}

.main-header.navbar .nav-link:hover {
    color: #e0ecff;
}

/* Dropdown menus */
.dropdown-menu {
    background-color: var(--ps-primary-dark);
    border: none;
}

.dropdown-menu .dropdown-item {
    color: var(--ps-text-light);
}

.dropdown-menu .dropdown-item:hover {
    background-color: var(--ps-accent);
    color: #fff;
}

.navbar-nav {
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .navbar-nav {
        width: 100%;
    }
}

.wrapper {
    overflow-x: visible !important;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* fill viewport */
}

.navbar-nav .user-menu img {
    border: 2px solid #ffffff;
}

.dark-mode .main-header.navbar {
    background: linear-gradient(
        to right,
        #041d36,
        #0b3a6e
    );
    border-bottom: 1px solid #031626;
}

/* Sidebar background */
.main-sidebar {
    background-color: var(--ps-primary);
}

/* Sidebar brand (logo area) */
.brand-link {
    background-color: var(--ps-primary-dark);
    color: var(--ps-text-light);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.brand-link .brand-text {
    color: var(--ps-text-light);
}

/* Sidebar menu links */
.nav-sidebar .nav-link {
    color: rgba(255,255,255,0.85);
}

.nav-sidebar .nav-link:hover {
    background-color: var(--ps-accent);
    color: #fff;
}

/* Active menu item */
.nav-sidebar .nav-item.menu-open > .nav-link,
.nav-sidebar .nav-link.active {
    background-color: var(--ps-accent);
    color: #fff;
    font-weight: 600;
}

/* Icons */
.nav-sidebar .nav-icon {
    color: rgba(255,255,255,0.8);
}

/* Dark mode sidebar refinement */
.dark-mode .main-sidebar {
    background-color: #041d36;
}

.main-footer {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    color: #555;
    flex-shrink: 0; /* always at bottom */
}

.main-footer a {
    color: var(--ps-accent);
    font-weight: 500;
}

.main-footer a:hover {
    text-decoration: underline;
}

/* Dark mode footer */
.dark-mode .main-footer {
    background-color: #041d36;
    border-top: 1px solid rgba(255,255,255,0.1);
    color: #ccc;
}

.dark-mode .main-footer a {
    color: #9ecbff;
}

.select-locked {
    pointer-events: none;      /* user cannot change */
    background-color: #f8d7da; /* light red */
    color: #842029;            /* danger text */
}

#schedulesComplete {
  font-size: 1rem;
}

.col-lg-20 {
    flex: 0 0 20%;
    max-width: 20%;
}

.card-gold {
    border: 2px solid #d4af37;
    background: linear-gradient(135deg, #fff8dc, #ffffff);
}
.card-gold .card-body h3 {
    color: #d4af37;
}

.card-silver {
    border: 2px solid #c0c0c0;
    background: linear-gradient(135deg, #f5f5f5, #ffffff);
}
.card-silver .card-body h3 {
    color: #c0c0c0;
}
.card-bronze {
    border: 2px solid #cd7f32;
    background: linear-gradient(135deg, #fff3e0, #ffffff);
}
.card-bronze .card-body h3 {
    color: #cd7f32;
}

/* Card spacing fix */
.winner-row > [class*="col-"] {
    margin-bottom: 1.5rem;
}

/* One continuous gradient across the whole header */
table.dataTable thead {
    background: linear-gradient(
        to right,
        var(--ps-primary),
        var(--ps-accent)
    );
}

/* Make individual cells transparent */
table.dataTable thead th {
    background: transparent !important;
    color: var(--ps-text-light);
    border-bottom: 1px solid var(--ps-primary-dark);
    font-weight: 600;
    white-space: nowrap;
}

/* Kill Bootstrap's thead-dark */
table.dataTable thead.thead-dark th {
    background-color: transparent !important;
}

table.dataTable thead th:hover {
    background: linear-gradient(
        to right,
        var(--ps-primary-dark),
        var(--ps-accent)
    );
}

table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    color: #e3f2fd;
}

.badge-frequency {
    font-size: 2rem;
    padding: 0.5rem 0.75rem;
}
.copy-input {
    font-size: 1rem;
    font-weight: 500;
}
.copy-feedback {
    font-size: 0.9rem;
}