:root {
    --bulma-primary-h: 40deg;
    --bulma-primary-l: 50%;
    --bulma-link-h: 40deg;
    --bulma-link-l: 50%;
    --bulma-warning-h: 25deg;
    --bulma-family-primary: Chakra Petch,sans-serif;
    --bulma-family-secondary: Chakra Petch,sans-serif;
  }
  
  .navbar {
    --bulma-navbar-dropdown-border-l: 82%;
  }


.logo-color-1 {
    fill: #ebecf0;
}

.logo-color-2 {
    fill: #FFAA00;
}

.logo-color-1,
.logo-color-2 {
    stroke-width: 0px;
}

.teamcolor-black {
    color: #000000;
}

.teamcolor-dark_blue {
    color: #0000AA;
}

.teamcolor-dark_green {
    color: #00AA00;
}

.teamcolor-dark_aqua {
    color: #00AAAA;
}

.teamcolor-dark_red {
    color: #AA0000;
}

.teamcolor-dark_purple {
    color: #AA00AA;
}

.teamcolor-gold {
    color: #FFAA00;
}

.teamcolor-gray {
    color: #AAAAAA;
}

.teamcolor-dark_gray {
    color: #555555;
}

.teamcolor-blue {
    color: #5555FF;
}

.teamcolor-green {
    color: #55FF55;
}

.teamcolor-aqua {
    color: #55FFFF;
}

.teamcolor-red {
    color: #FF5555;
}

.teamcolor-light_purple {
    color: #FF55FF;
}

.teamcolor-yellow {
    color: #FFFF55;
}

.teamcolor-white {
    color: #FFFFFF;
}

/* Stylised Scrollbar in Chrome, Edge, Safari */
/*  */
html::-webkit-scrollbar {
    width: 10px;
}

html::-webkit-scrollbar-track {
    background: #14161a;
}

html::-webkit-scrollbar-thumb {
    background-color: #abb1bf;
    border-radius: 6px;
    border: 2px solid #14161a;
}

html::-webkit-scrollbar-thumb:hover {
    background-color: #abb1bf;
}

/* Stylised Scrollbar in Firefox */
html {
    scrollbar-width: thin;
    scrollbar-color: #abb1bf #14161a;
}

.nk-vcentered td,
.nk-vcentered th {
    vertical-align: middle;
}

.tab-content {
    display: none;
}

.tab-content.is-active {
    display: block;
}

.dropdown-item {
    display: flex;
    align-items: center;
}

.dropdown-item img {
    width: 12px;
    height: 12px;
    margin-right: 8px;
}

th.sortable .icon-text {
    cursor: pointer;
}

.png-glow {
    filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.8));
}

/* html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
} */

#nk-stats-section {
    position: absolute;
    top: 2rem; /* navbar height */
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-bottom: 0
}

#nk-stats-section .columns {
    flex: 1;
    overflow: hidden;
}

#nk-stats-section .column.is-four-fifths {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#nk-content-section {
    position: absolute;
    top: 2rem;
}

.tab-content.nk-scrollable {
    flex: 1;
    overflow-y: auto;
    padding-right: 1rem; /* optional: prevents content from touching scrollbar */
}

.nk-section {
    margin-top: 3.25rem;
}

#nk-map-section {
    position: absolute;
    top: 3.25rem;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}

#nk-map-columns {
    display: flex;
    height: 100%;
    margin: 0;
}

#nk-map-panel,
#nk-location-sidebar {
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#dynmap-iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Sidebar scroll area */
#nk-location-sidebar {
    overflow-y: auto;
    flex: 1;
}

.nk-location-sidebar-container {
    scroll-behavior: smooth;
}

#nk-location-sidebar .nk-location-sidebar-container {
    padding-bottom: 1rem;
    padding-top: 1rem;
    box-sizing: border-box;
    border-bottom: 1px solid #1f2229;
}

#nk-location-sidebar>.nk-location-sidebar-container:first-child {
    padding-top: 0;
}

.nk-location-sidebar-container-link {

    display: block;
    color: inherit;
    text-decoration: none;
}

.nk-location-sidebar-container {
    cursor: pointer;
    transition: background-color 0.5s;
    padding-left: 1rem;
    padding-right: 1rem;
}

.nk-location-sidebar-container:hover {
    background-color: #1f2229;
}

.nk-scrollable {
    overflow-y: auto;
    flex: 1 1 auto;
    /* optional, useful if inside a flex column layout */
}

/* --- Sidebar search dropdowns: force 2-column grid regardless of width --- */

.nk-location-sidebar-search .grid {
    grid-template-columns: repeat(2, 1fr);
}

/* Search text input spans both columns */
.nk-location-sidebar-search .grid .cell:last-child {
    grid-column: 1 / -1;
}

/* --- Collapsible location sidebar --- */

#nk-map-panel {
    flex: 1 1 auto !important;
    flex-direction: column;
}

#nk-location-sidebar {
    flex: 0 0 20%;
    flex-direction: row;
    overflow-y: hidden;
    transition: flex-basis 0.3s ease;
}

#nk-sidebar-toggle {
    flex-shrink: 0;
    width: 22px;
    background: transparent;
    border: none;
    border-left: 1px solid #363a45;
    cursor: pointer;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 0.65rem;
}

#nk-sidebar-toggle:hover {
    background-color: #1f2229;
    color: #ccc;
}

#nk-sidebar-content {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-right: 22px;
    box-sizing: border-box;
    opacity: 1;
    /* When expanding: wait for the slide to finish, then fade in */
    transition: opacity 0.2s ease 0.3s;
}

#nk-location-sidebar.is-collapsed #nk-sidebar-content {
    opacity: 0;
    pointer-events: none;
    /* When collapsing: fade out immediately before the slide */
    transition: opacity 0.05s ease 0s;
}

#nk-location-sidebar.is-collapsed {
    flex-basis: 22px;
}

/* widths for table columns */

.w-20 { width: 20%; }
.w-80 { width: 80%; }

.long {
    white-space: pre-wrap;
    word-wrap: break-word;
    max-width: 600px;
}

.player-info-box {
    position: absolute;
    bottom: 0;
    margin-bottom: 3rem;
    left: 0;
    right: 0;
    z-index: 10;
}

.fa-grip-vertical {
    cursor: move;
    font-size: 1.2em;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.fa-grip-vertical:hover {
    opacity: 1;
}

td, th {
    vertical-align: middle !important;
}

.fade-tag {
    transition: opacity 0.5s ease;
}

.fade-out {
    opacity: 0;
}

#adminTableHeader {
    position: sticky;
    top: 3.4rem;
    background: #14161a;
    z-index: 5;
    padding: 0.5rem 1rem;
  }
  
  .nk-sticky-header th {
    position: sticky;
    top: calc(3.5rem + 3.8rem); /* or whatever */
    background: #14161a;
    z-index: 5;
    padding-bottom: 1rem;
  }

  /* Add a shadow effect */
.nk-sticky-header th::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10px; /* height of shadow */
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0)); /* nice fade */
    pointer-events: none;
  }

  .notification-fade {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 1s ease, transform 1s ease;
}

.notification-fade.show {
    opacity: 1;
    transform: translateY(0);
}







