:root {
    --lh-navy: #16213a;
    --lh-gold: #c9a24b;
}

.admin-body {
    background: #f4f6f9;
}

.admin-sidebar {
    width: 240px;
    min-height: 100vh;
    background: var(--lh-navy);
}

.admin-sidebar .nav-link {
    color: rgba(255,255,255,.75);
}

.admin-sidebar .nav-link.active,
.admin-sidebar .nav-link:hover {
    background: rgba(255,255,255,.08);
    color: #fff;
}

.legend-dot {
    display: inline-block;
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    margin-right: .35rem;
}

.auth-body {
    min-height: 100vh;
    background: var(--lh-navy) url('/assets/img/background.png') center center / cover no-repeat;
}

.auth-card {
    width: 100%;
    max-width: 380px;
}

/* A <form> wrapping modal-header/body/footer would otherwise sit as an extra
   block box between .modal-content (flex column) and .modal-body, breaking
   Bootstrap's flex-based shrink/scroll for modal-dialog-scrollable. */
.modal-content > form {
    display: contents;
}

.modal-dialog-scrollable .modal-body {
    min-height: 0;
}

/* FullCalendar renders weekday headers and day numbers as plain links;
   override the browser/Bootstrap default blue + underline styling. */
.fc a,
.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number,
.fc .fc-list-day-text,
.fc .fc-list-day-side-text {
    color: #495057;
    text-decoration: none;
}

/* Booking titles carry a "\n" between organisation and contact name; render it
   as an actual line break instead of collapsing it like normal text. */
.fc-event-title {
    white-space: pre-line;
}
