/* ============================================================
   SIDEBAR – Santiago & Associados
   Tema Neon Law NASA – Igual ao layout da Lista de Processos
   ============================================================ */

:root {

    /* === PALETA NEON PRINCIPAL === */
    --neo-cyan:        #00F6FF;
    --neo-cyan-soft:   rgba(0, 246, 255, 0.15);
    --neo-cyan-glow:   0 0 22px rgba(0, 246, 255, .60);

    --neo-purple:      #7c3aed;
    --neo-purple-glow: 0 0 22px rgba(124, 58, 237, .6);

    --neo-orange:      #ff9f3b;
    --neo-orange-soft: rgba(255,159,59,0.15);

    --neo-yellow:      #ffd447;
    --neo-yellow-soft: rgba(255,212,71,0.15);

    --neo-red:         #ff365f;
    --neo-red-soft:    rgba(255,54,95,.17);

    --neo-green:       #1dd1a1;
    --neo-green-soft:  rgba(29,209,161,.18);


    /* === FUNDO E TEXTOS === */
    --sidebar-bg-dark:    rgba(5, 8, 22, 0.92);
    --sidebar-bg-glass:   rgba(5, 8, 22, 0.65);
    --sidebar-border:     rgba(0, 246, 255, 0.18);
    --sidebar-text:       #e9faff;
    --sidebar-text-dim:   #9fb4c6;

    /* === ITENS / HOVER === */
    --sidebar-hover:      rgba(0, 246, 255, 0.14);
    --sidebar-pill:       rgba(0, 246, 255, 0.12);

    /* === ATIVO === */
    --sidebar-active-bg: linear-gradient(90deg, #008faa, var(--neo-cyan));
    --sidebar-active-tx: #021015;

    /* === SOMBRA === */
    --sidebar-shadow: 0 0 22px rgba(0, 246, 255, 0.18),
                      0 14px 38px rgba(0, 0, 0, 0.85);

}


/* ============================================================
   WRAPPER
   ============================================================ */
#wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
    background: radial-gradient(circle at 0% 0%, #1b0434 0%, #050816 45%, #02030a 100%);
}


/* ============================================================
   SIDEBAR
   ============================================================ */
#sidebar-wrapper {
    position: fixed;
    left: 0;
    top: 0;
    width: 255px;
    min-height: 100vh;

    background: var(--sidebar-bg-dark);
    border-right: 1px solid var(--sidebar-border);
    box-shadow: var(--sidebar-shadow);

    color: var(--sidebar-text);
    z-index: 1040;

    padding-top: 10px;
    transition: transform .28s ease;
    backdrop-filter: blur(18px);
}

#sidebar-wrapper.collapsed {
    transform: translateX(-100%);
}

/* ============================================================
   CABEÇALHO MARCA
   ============================================================ */
#sidebar-wrapper .sidebar-heading {
    display: flex;
    align-items: center;
    gap: .6rem;

    padding: 16px 20px;
    font-weight: 900;
    font-size: 1.05rem;
    letter-spacing: .2px;
    color: var(--neo-cyan);
    text-transform: uppercase;

    background: rgba(0, 246, 255, .08);
    border-bottom: 1px solid var(--sidebar-border);
    box-shadow: inset 0 0 14px rgba(0, 246, 255, .12);
}

.sidebar-heading .brand-mark {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    background: linear-gradient(135deg, var(--neo-purple), var(--neo-cyan));
    box-shadow: var(--neo-purple-glow);
}


/* ============================================================
   LISTA DE LINKS
   ============================================================ */

#sidebar-wrapper .list-group {
    padding: 12px;
}

#sidebar-wrapper .list-group-item {
    background: transparent;
    border: none;

    display: flex;
    align-items: center;
    gap: .8rem;

    padding: 12px 14px;
    border-radius: 14px;

    font-size: .95rem;
    font-weight: 700;
    color: var(--sidebar-text);

    transition: all .22s ease;
    position: relative;
}

#sidebar-wrapper .list-group-item i {
    font-size: 1.22rem;
    color: var(--neo-cyan);
}

/* HOVER */
#sidebar-wrapper .list-group-item:hover {
    background: var(--sidebar-pill);
    box-shadow: inset 0 0 14px rgba(0, 246, 255, .14);
    color: var(--neo-cyan);
}

/* Indicador lateral */
#sidebar-wrapper .list-group-item::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 0;
    background: transparent;
    border-radius: 3px;
    transition: height .22s ease, background .22s ease;
}

/* Hover indicador */
#sidebar-wrapper .list-group-item:hover::before {
    background: var(--neo-cyan);
    height: 60%;
}

/* ATIVO */
#sidebar-wrapper .list-group-item.active {
    background: var(--sidebar-active-bg);
    color: var(--sidebar-active-tx) !important;
    box-shadow: 0 0 22px rgba(0, 246, 255, .5);
}

#sidebar-wrapper .list-group-item.active i {
    color: var(--sidebar-active-tx);
}

#sidebar-wrapper .list-group-item.active::before {
    background: #fff;
    height: 70%;
}


/* ============================================================
   SEÇÕES INTERNAS
   ============================================================ */
.menu-section {
    color: var(--sidebar-text-dim);
    text-transform: uppercase;
    font-weight: 900;
    font-size: .72rem;
    letter-spacing: .08em;
    padding: 10px 14px 6px;
}


/* ============================================================
   BADGES (ex: Notificações)
   ============================================================ */
.badge-notificacao {
    margin-left: auto;
    background: var(--neo-red);
    color: #ffffff;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 900;
    font-size: .72rem;
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 0 14px rgba(255, 54, 95, .55);
}


/* ============================================================
   DIVISOR
   ============================================================ */
.divider {
    height: 1px;
    margin: 12px;
    background: var(--sidebar-border);
    border-radius: 2px;
}


/* ============================================================
   PAGE CONTENT SHIFT
   ============================================================ */
#page-content-wrapper {
    flex: 1;
    margin-left: 255px;
    min-height: 100vh;
    transition: margin-left .28s ease;
}

#page-content-wrapper.expanded {
    margin-left: 0;
}


/* ============================================================
   FAB MOBILE (abrir menu)
   ============================================================ */
#menu-toggle-fab {
    position: fixed;
    bottom: 24px;
    left: 24px;

    width: 56px;
    height: 56px;
    border-radius: 50%;

    display: none;
    align-items: center;
    justify-content: center;

    background: var(--neo-cyan);
    color: #021015;
    font-size: 1.4rem;

    box-shadow: 0 14px 32px rgba(0, 0, 0, .45),
                var(--neo-cyan-glow);

    border: none;
    z-index: 9999;
}

#menu-toggle-fab:hover {
    filter: brightness(1.05);
}

#menu-toggle-fab:active {
    transform: scale(.96);
}


/* ============================================================
   SCROLLBAR CUSTOM
   ============================================================ */
#sidebar-wrapper::-webkit-scrollbar {
    width: 8px;
}
#sidebar-wrapper::-webkit-scrollbar-thumb {
    background: var(--neo-cyan);
    border-radius: 6px;
}
#sidebar-wrapper::-webkit-scrollbar-track {
    background: var(--sidebar-bg-dark);
}


/* ============================================================
   BOTÕES DE SCROLL INTERNO
   ============================================================ */
.sb-scroll-ctrls {
    position: sticky;
    bottom: 0;
    display: flex;
    gap: 8px;
    padding: 12px;
    background: linear-gradient(to top, var(--sidebar-bg-dark) 90%, transparent);
}

.sb-scroll-ctrls .sb-btn {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--sidebar-pill);
    border: 1px solid var(--sidebar-border);
    border-radius: 10px;
    cursor: pointer;

    color: var(--sidebar-text);
    transition: all .18s ease;
}

.sb-scroll-ctrls .sb-btn:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.sb-scroll-ctrls .sb-btn i {
    font-size: 1.12rem;
}

