body { font-family: 'Barlow', sans-serif; }
.tab-active { border-bottom-color: #d27d46; color: #d27d46; font-weight: 600; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #172a45; }
::-webkit-scrollbar-thumb { background: #4a5b78; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #6a7b98; }

/* Styles for Project Page Calendar */
.calendar-day { min-height: 120px; transition: background-color 0.2s; }
.calendar-day.clickable:hover { background-color: #2a3f5a; cursor: pointer; }
.calendar-day.selected { background-color: #d27d46 !important; border-color: #d27d46; }
.calendar-day.selected .day-number { color: #0a192f; font-weight: bold; }
.calendar-day.selected .user-name { color: #172a45; }

/* Styles for Reservation Calendar Dropdown */
.calendar-grid-day { transition: background-color: 0.2s; }
.calendar-grid-day:not([disabled]):hover { background-color: #2a3f5a; }
.calendar-grid-day.selected { background-color: #d27d46 !important; color: white; font-weight: bold; }
.calendar-grid-day.today { border: 1px solid #d27d46; }


button:hover{
    opacity: 0.90;
}
.top-nav {
    top: 0;
    border: 2px solid #172a45;
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto auto;
    margin-bottom: 10px;
    
}
.nav-buttons {
    grid-column: 8;
}
.nav-img {
    grid-column: 2;
    padding: 2px;
}
.mode_admin_btn
{
    float: left;   
}

.employee-training-details
{
    display: grid;
    width: auto;
    height: auto;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto;
    gap: 10px;
    margin-top: 8px;
}
.mod-due-date
{
    grid-column: 1;
    grid-row: 1;
}
.mod-adm-cmts
{
    grid-column: 2;
    grid-row: 1;
}
.mod-upld-btn
{
    grid-column: 1;
    grid-row: 3;
}
.mod-cmplt-btn
{
    grid-column: 2;
    grid-row: 3;
    float: left;
}
.mod-view-cert-link
{
    grid-column: 2;
    grid-row: 3;
    float: right;
}
.emp-mod-card
{
    height:auto
}
#course-btn-container
{
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto;
    float: right;
    width: 250px;
    height: 25px;
}
.activate-btn
{
    float: right;
    grid-column: 3;
    padding-bottom: 8px;
    padding-top: 8px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: medium;
    font-weight: lighter;
    width: 125px;
    height: 40px;
    text-align: center;
    justify-content: center;
    display:inline;
    
}
.add-to-my-plan-btn
{
    float: left;
    grid-column: 1;
    padding-bottom: 8px;
    padding-top: 8px;
    padding-left: 16px;
    padding-right: 16px;
    font-size: medium;
    font-weight:lighter;
    width: 85px;
    height: 40px;
    text-align: center;
    justify-content: center;
    display: flex;
}

/* --- NEW STYLES FOR INTERACTIVE MAP --- */
.map-container {
    width: 100%;
    margin: 0 auto;
}
#map-overlays {
    width: 100%;
    height: auto;
}
polygon.room-overlay {
    stroke-width: 4px; /* SVG border width */
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}
polygon.room-overlay.available {
    fill: rgba(4, 194, 98, 0.2);
    stroke: rgba(4, 194, 98, 0.5);
}
polygon.room-overlay.available:hover {
    fill: rgba(210, 125, 70, 0.4); /* nooks-orange */
    stroke: rgba(210, 125, 70, 0.8);
}
polygon.room-overlay.live {
    fill: rgba(239, 68, 68, 0.4); /* red-500 */
    stroke: rgba(239, 68, 68, 0.7);
}

/* New JS-powered tooltip style */
#map-tooltip {
    position: fixed; /* Use fixed to position relative to viewport */
    visibility: hidden;
    width: 160px;
    background-color: #0a192f;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 8px;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 0.8rem;
    line-height: 1.4;
    border: 1px solid #172a45;
    pointer-events: none; /* Tooltip should not be interactive */
}
#map-tooltip.visible {
    visibility: visible;
    opacity: 1;
}
/* --- Styles for Suite Details Slide-Out Panel --- */
.suite-panel {
    position: fixed;
    top: 0;
    right: -400px; /* Start off-screen */
    width: 380px;
    height: 100%;
    background-color: #0a192f; /* nooks-blue */
    border-left: 1px solid #172a45; /* nooks-light-blue */
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
    padding: 20px;
    transition: right 0.3s ease-in-out;
    z-index: 100;
    color: #ccd6f6; /* nooks-light-gray */
    overflow-y: auto;
}

.suite-panel.open {
    right: 0; /* Slide in */
}

.suite-panel .close-btn {
    position: absolute;
    top: 10px;
    right: 20px;
    background: none;
    border: none;
    color: #8892b0; /* nooks-gray */
    font-size: 2.5rem;
    cursor: pointer;
}

.days-of-week {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 20px 0;
    list-style: none;
}

.day {
    text-align: center;
    padding: 10px;
    border-radius: 8px;
    cursor: pointer;
    width: 45px;
}

.day.clickable:hover {
    background-color: #172a45; /* nooks-light-blue */
}

.day.today {
    background-color: #d27d46; /* nooks-orange */
    color: #0a192f;
    font-weight: bold;
}

.occupancy-display {
    text-align: center;
    margin-top: 30px;
    padding: 20px;
    background-color: #172a45;
    border-radius: 8px;
}

.occupancy-display h3 {
    font-size: 1rem;
    color: #8892b0; /* nooks-gray */
    margin-bottom: 10px;
}

.occupancy-numbers {
    font-size: 2.5rem;
    font-weight: bold;
    color: #ffffff;
}
.plan-card.selected {
            border-color: #d27d46;
            transform: scale(1.05);
        }
        .room-card-clickable {
            cursor: pointer;
            transition: border-color 0.2s;
        }
        .room-card-clickable:hover {
            border-color: #d27d46;
        }
        .training-module-item {
            cursor: pointer;
            transition: background-color 0.2s;
        }
        .training-module-item:hover {
            background-color: #172a45;
        }
        .drop-zone {
            border: 2px dashed #4a5b78;
            transition: background-color 0.2s, border-color 0.2s;
        }
        .drop-zone.drag-over {
            background-color: #172a45;
            border-color: #d27d46;
        }
button:disabled {
    opacity: 0.25;
    cursor: not-allowed;
}