:root{
  --sidebar-width: 240px;
  --sidebar-collapsed-width: 70px;
  --content-transition: 0.28s;
  --topbar-height: 56px;
  --page-bg: #f5f7fa;
  --text-color: #212529;
  --sidebar-bg: #f8f9fa;
  --sidebar-text: #212529;
  --sidebar-muted: #6c757d;
  --navlink-hover-bg: rgba(0,0,0,0.03);
  --topbar-bg: #fff;
  --footer-bg: #f8f9fa;
  --card-bg: #fff;
}
/* Dark theme overrides */
.theme-dark {
  --page-bg: #0f1720;
  --text-color: #e6eef8;
  --sidebar-bg: #0b1220;
  --sidebar-text: #cdd6e1;
  --sidebar-muted: #94a3b8;
  --navlink-hover-bg: rgba(255,255,255,0.03);
  --topbar-bg: #0b1220;
  --footer-bg: #071026;
  --card-bg: #071026;
}
/* General layout */
html,body{
  height:100%;
}
body {
  margin: 0;
  display: flex;
  min-height: 100vh;
  background: var(--page-bg);
  color: var(--text-color);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}
/* Sidebar */
#layoutSidenav_nav {
  width: var(--sidebar-width);
  background: var(--sidebar-bg);
  color: var(--sidebar-text);
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  overflow: auto;
  transition: width var(--content-transition), transform .25s ease;
  z-index: 1030;
}
.sb-sidenav { padding-top: 1rem; }
.sb-sidenav .nav-link {
  color: var(--sidebar-text);
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem 1rem;
  border-radius: .375rem;
  position: relative;
  text-decoration: none;
}
.sb-sidenav .nav-link:hover {
  color: var(--sidebar-text);
  background: var(--navlink-hover-bg);
  text-decoration: none;
}
.sb-nav-link-icon { width: 36px; display:inline-flex; justify-content:center; align-items:center; font-size:1.1rem; color: var(--sidebar-text); }
.nav-link-text { white-space: nowrap; font-size: .95rem; color: var(--sidebar-text); }
.sb-sidenav-menu-heading { color: var(--sidebar-muted); padding: .65rem 1rem; font-size: .75rem; }
/* COLLAPSED */
.sb-sidenav-toggled #layoutSidenav_nav { width: var(--sidebar-collapsed-width) !important; overflow: visible !important; }
.sb-sidenav-toggled .sb-sidenav { width: var(--sidebar-collapsed-width) !important; position: fixed; height: 100vh; }
.sb-sidenav-toggled .sb-sidenav .nav-link {
  width: var(--sidebar-collapsed-width) !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.sb-sidenav-toggled .sb-nav-link-icon { margin: 0 !important; font-size: 1.25rem !important; width: 100% !important; display:flex; justify-content:center; align-items:center; }
.sb-sidenav-toggled .nav-link-text,
.sb-sidenav-toggled .sb-sidenav-menu-heading,
.sb-sidenav-toggled .sb-sidenav-collapse-arrow { display: none !important; }
/* collapsed tooltip */
.sb-sidenav-toggled .nav-link[data-bs-toggle="tooltip"]:hover::after {
  content: attr(data-bs-title);
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--sidebar-bg);
  color: var(--sidebar-text);
  padding: 6px 10px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 9999;
  font-size: 0.85rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  pointer-events: none;
}
/* content area */
#layoutSidenav_content {
  margin-left: var(--sidebar-width);
  transition: margin-left var(--content-transition);
  width: calc(100% - var(--sidebar-width));
  min-height: 100vh;
}
.sb-sidenav-toggled #layoutSidenav_content { margin-left: var(--sidebar-collapsed-width) !important; width: calc(100% - var(--sidebar-collapsed-width)); }
/* Sticky topbar */
.topbar {
  position: fixed;
  top: 0;
  left: var(--sidebar-width);
  height: var(--topbar-height);
  display:flex;
  align-items:center;
  gap:.5rem;
  padding: .35rem 1rem;
  background: var(--topbar-bg);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  transition: left var(--content-transition), width var(--content-transition), background var(--content-transition);
  width: calc(100% - var(--sidebar-width));
  z-index: 1040;
}
.sb-sidenav-toggled .topbar { left: var(--sidebar-collapsed-width); width: calc(100% - var(--sidebar-collapsed-width)); }
.topbar .btn { --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; }
/* Ensure content not hidden under fixed topbar */
.page-content {
  padding: 1rem;
  padding-top: calc(var(--topbar-height) + 1rem);
  padding-bottom: 88px; /* footer space */
  transition: background var(--content-transition), color var(--content-transition);
  background: transparent;
}
/* Mobile adjustments */
@media (max-width: 768px) {
  #layoutSidenav_nav { transform: translateX(-100%); top: 0; }
  .sb-sidenav-toggled #layoutSidenav_nav { transform: translateX(0); width: var(--sidebar-width) !important; }
  .topbar { left: 0; width: 100%; }
  .sb-sidenav-toggled .topbar { left: 0; width: 100%; }
  #layoutSidenav_content { margin-left: 0; width: 100%; }
  footer#pageFooter { left: 0; width: 100%; }
}
.submenu-toggle { margin-left: auto; color: var(--sidebar-muted); display:inline-flex; align-items:center; }
.sb-sidenav-toggled .submenu-toggle { display: none; }
	
/* Bootstrap tooltip fix - mindig látható */
.tooltip {
    z-index: 999999 !important;
}

.tooltip.show {
    opacity: 1 !important;
}

.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: rgba(0,0,0,0.95) !important;
}

.tooltip-inner {
    background-color: rgba(0,0,0,0.95) !important;
    color: white !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
}