th {
    background: #fff;
    position: sticky;
    top: 0;
}

td {
    word-break:break-all
}

.nowrap {
    white-space: nowrap !important;
}

.calendar-date {
    position: relative;
}

.calendar-date .button-create-event {
    position: absolute;
    bottom: 0em;
    left: 0em;
    width: 100%;
}

.calendar-date .button-delete-event {
    position: absolute;
    top: 1em;
    right: 1em;
}

.calendar-event {
    position: relative;
    background-color: rgba(0, 0, 0, 0.03);
    margin-bottom: 0.2em;
    line-height: 1.4em;
}

.calendar-event:last-child {
    margin-bottom: 0;
}

/* Dark navbar (#0E1224) with light top-bar text; dropdown panels stay light.
   Selectors are prefixed with `nav.navbar` so they outrank the full Bulma that
   some calendar Vue components re-inject at runtime (their CDN @imports are being
   removed; this keeps the bar dark until the JS bundle is rebuilt). */
nav.navbar {
    background-color: #0E1224;
}

nav.navbar .navbar-item,
nav.navbar .navbar-link,
nav.navbar .navbar-burger {
    color: #e6e8ef;
}

nav.navbar .navbar-end a:not(.button) {
    color: #e6e8ef;
}

/* Top-level item hover/active: subtle navy instead of Bulma's light flash. */
nav.navbar .navbar-brand > .navbar-item:hover,
nav.navbar .navbar-menu > .navbar-item:hover,
nav.navbar .navbar-menu > .navbar-item > a.navbar-item:hover,
nav.navbar .navbar-menu > .navbar-item.has-dropdown.is-hoverable:hover,
nav.navbar .navbar-end > .navbar-item:hover {
    background-color: #1b2140;
    color: #ffffff;
}

/* Dropdown panels remain light/readable. */
nav.navbar .navbar-dropdown {
    border-top-color: #1b2140;
}

nav.navbar .navbar-dropdown .navbar-item {
    color: #4a4a4a;
}

nav.navbar .navbar-dropdown .navbar-item:hover {
    background-color: #f5f5f5;
    color: #0E1224;
}

/* Brand primary button (#1B4DE4) replacing Bulma's default teal.
   `html`-prefixed to outrank the Bulma re-injected at runtime on some pages. */
html .button.is-primary {
    background-color: #1B4DE4;
    border-color: transparent;
    color: #fff;
}

html .button.is-primary:hover,
html .button.is-primary.is-hovered {
    background-color: #1846d6;
    border-color: transparent;
    color: #fff;
}

html .button.is-primary:focus,
html .button.is-primary.is-focused {
    border-color: transparent;
    color: #fff;
}

html .button.is-primary:focus:not(:active),
html .button.is-primary.is-focused:not(:active) {
    box-shadow: 0 0 0 0.125em rgba(27, 77, 228, 0.25);
}

html .button.is-primary:active,
html .button.is-primary.is-active {
    background-color: #153fc0;
    border-color: transparent;
    color: #fff;
}

html .button.is-primary[disabled],
html fieldset[disabled] .button.is-primary {
    background-color: #1B4DE4;
    border-color: transparent;
}

/* Outlined primary */
html .button.is-primary.is-outlined {
    background-color: transparent;
    border-color: #1B4DE4;
    color: #1B4DE4;
}

html .button.is-primary.is-outlined:hover,
html .button.is-primary.is-outlined:focus {
    background-color: #1B4DE4;
    border-color: #1B4DE4;
    color: #fff;
}
