/* ========================================
   AIRMAP - KÖZÖS SIDEBAR
   ======================================== */

.sidebar {
    width: 250px;
    flex: 0 0 250px;
    min-height: 100vh;

    background: #14284a;
    color: #ffffff;

    padding: 26px 16px 18px;

    display: flex;
    flex-direction: column;
}


/* ---------- BRAND ---------- */

.sidebar .brand {
    padding: 0 12px 30px;
}

.sidebar .brand-mark {
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
    color: #ffffff;
}

.sidebar .brand-mark span {
    color: #35c8aa;
}

.sidebar .brand-subtitle {
    font-size: 11px;
    color: #9db0ca;
    margin-top: 7px;
}


/* ---------- NAVIGATION ---------- */

.sidebar .nav {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sidebar .nav-item {
    display: flex;
    align-items: center;
    gap: 10px;

    min-height: 42px;

    padding: 12px 13px;

    border-radius: 9px;

    color: #b9c7d9;
    text-decoration: none;

    font-size: 14px;
    font-weight: 400;

    transition:
        background-color .15s ease,
        color .15s ease;
}

.sidebar .nav-item:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
}

.sidebar .nav-item.active {
    background: rgba(255, 255, 255, 0.09);
    color: #ffffff;

    box-shadow: inset 3px 0 #16a085;
}


/* ---------- SIDEBAR FOOTER ---------- */

.sidebar .sidebar-footer {
    margin-top: auto;

    border-top: 1px solid rgba(255, 255, 255, 0.10);

    padding: 18px 12px 0;

    color: #a9bdd4;
    font-size: 12px;
}

.sidebar .system-status {
    display: flex;
    align-items: center;
}

.sidebar .status-dot {
    display: inline-block;

    width: 8px;
    height: 8px;

    margin-right: 7px;

    border-radius: 50%;

    background: #20a46b;

    box-shadow: 0 0 8px rgba(32, 164, 107, 0.45);
}

.sidebar .logout-link {
    display: block;

    margin-top: 14px;

    color: #a9bdd4;
    text-decoration: none;
}

.sidebar .logout-link:hover {
    color: #ffffff;
}


/* ---------- FIX SIDEBAR / DESKTOP ---------- */
@media (min-width: 761px) {
    .app-shell > .sidebar {
        position: sticky;
        top: 0;
        align-self: flex-start;
        height: 100vh;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(255,255,255,.22) transparent;
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 760px) {

    .sidebar {
        position: fixed;

        top: 0;
        bottom: 0;
        left: -260px;

        z-index: 1000;

        transition: left .2s ease;

        box-shadow: 8px 0 30px rgba(0, 0, 0, .12);
    }

    .sidebar.open {
        left: 0;
    }
}
/* AIRMAP v9: áttekinthető csoportosítás */
.sidebar .nav-group-title { padding:17px 12px 5px; color:#8298b9; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.sidebar .nav-group-title:first-child { padding-top:0; }
.sidebar .nav-item { min-height:37px; padding:9px 12px; font-size:13px; }
.sidebar .nav-symbol { width:15px; flex:0 0 15px; text-align:center; }
.sidebar .sidebar-footer { padding:9px 0 0; }
.sidebar .sidebar-footer .nav-item { color:#b9c7d9; }
.sidebar .system-status { margin:12px 12px 0; border-top:1px solid rgba(255,255,255,.09);padding-top:12px; }
.sidebar .logout-link { margin:12px; }
/* AIRMAP RT: settings menu. Preserves original color palette. */
.sidebar .rt-menu-group{padding:2px 0;}
.sidebar .rt-menu-group>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;border-radius:9px;padding:10px 12px;color:#b9c7d9;font-size:13px;}
.sidebar .rt-menu-group>summary:hover,.sidebar .rt-menu-group[open]>summary{color:#fff;background:rgba(255,255,255,.06);}
.sidebar .rt-menu-group>summary::-webkit-details-marker{display:none;}
.sidebar .rt-menu-group>summary::after{content:'⌄';margin-left:auto;opacity:.7;}
.sidebar .rt-subnav{margin-left:19px;padding-left:7px;border-left:1px solid rgba(53,200,170,.38);}
.sidebar .rt-subnav .nav-item{font-size:12px;min-height:32px;padding:6px 8px;}

/* IOTSOL NAV V11: a navigáció nem növeli az oldal magasságát. */
@media (min-width:761px) {
  .app-shell > .sidebar {position:sticky;top:0;height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:20px 12px 12px;}
  .sidebar .brand {flex-shrink:0;padding:0 12px 18px;}
  .sidebar .nav {min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;}
  .sidebar .sidebar-footer {flex:0 0 auto;margin-top:9px;border-top:1px solid rgba(255,255,255,.12);padding-top:9px;}
}
.sidebar .nav-item,.sidebar .sidebar-footer .nav-item {font-size:13px;line-height:1.35;min-height:38px;padding:9px 11px;}
.sidebar .nav-group-title {font-size:10px;line-height:1.4;}
.sidebar .logout-link,.sidebar .system-status {font-size:12px;}
@media (max-width:760px){.sidebar{height:100vh;height:100dvh;min-height:0;overflow:hidden;}.sidebar .nav{min-height:0;flex:1;overflow-y:auto;}.sidebar .sidebar-footer{flex-shrink:0;}}

/* IOTSOL NAV V12: unify Settings with all other links, even under page-specific CSS. */
.sidebar .nav > a.nav-item,
.sidebar .sidebar-footer > a.nav-item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 9px 11px;
  margin: 0;
  font-family: inherit;
  font-size: 13px !important;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: normal;
  text-transform: none;
  border: 0;
  border-radius: 9px;
  text-decoration: none;
}
.sidebar .nav > a.nav-item > .nav-symbol,
.sidebar .sidebar-footer > a.nav-item > .nav-symbol {
  width: 15px;
  flex: 0 0 15px;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
}
.sidebar .sidebar-footer > a.nav-item.active {
  background: rgba(255,255,255,.09);
  color: #fff;
  box-shadow: inset 3px 0 #16a085;
}
