/* =========================================================
   Quadritech - identidade visual para o GLPI 10  (v1.1)
   Para mudar as cores, altere so as variaveis abaixo.
   ========================================================= */
:root {
    --qt-navy:       #0F2A44;  /* menu lateral e fundo do login */
    --qt-navy-2:     #16395C;  /* submenus */
    --qt-blue:       #1C81B0;  /* azul da marca (detalhes) */
    --qt-blue-btn:   #176D96;  /* botoes (contraste AA com texto branco) */
    --qt-blue-hover: #125A7C;  /* botao ao passar o mouse */
    --qt-menu-text:  #D2DCE6;
    --qt-bg:         #F3F5F8;  /* fundo das paginas */
}

/* ---------- Menu lateral ---------- */
aside.navbar.sidebar {
    background-color: var(--qt-navy) !important;
    border-right: 0 !important;
}
aside.sidebar .nav-link,
aside.sidebar .nav-link i,
aside.sidebar .menu-label,
aside.sidebar .reduce-menu {
    color: var(--qt-menu-text) !important;
}
aside.sidebar .nav-link {
    border-radius: 8px;
    margin: 1px 8px;
}
aside.sidebar .nav-link:hover,
aside.sidebar .nav-item.active > .nav-link {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #FFFFFF !important;
}
aside.sidebar .nav-item.active > .nav-link {
    box-shadow: inset 3px 0 0 var(--qt-blue);
}
aside.sidebar .dropdown-menu {
    background-color: var(--qt-navy-2) !important;
    border: 0 !important;
}
aside.sidebar .dropdown-header {
    color: #8FA3B8 !important;
}
aside.sidebar .dropdown-item {
    color: var(--qt-menu-text) !important;
    border-left-color: transparent !important;
}
aside.sidebar .dropdown-item:hover,
aside.sidebar .dropdown-item.active {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #FFFFFF !important;
    border-left-color: var(--qt-blue) !important;
}
aside.sidebar .reduce-menu:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Logo no menu */
aside.sidebar .navbar-brand .glpi-logo {
    background: url("../pics/logo-white.png") no-repeat center / contain !important;
    width: 180px !important;
    height: 48px !important;
}
body.navbar-collapsed aside.sidebar .navbar-brand .glpi-logo {
    background-image: url("../pics/logo-mark.png") !important;
    width: 40px !important;
    height: 40px !important;
}

/* ---------- Area de conteudo ---------- */
.page-wrapper {
    background-color: var(--qt-bg);
}
.btn-primary,
.btn-primary:focus {
    background-color: var(--qt-blue-btn) !important;
    border-color: var(--qt-blue-btn) !important;
    color: #FFFFFF !important;
}
.btn-primary:hover,
.btn-primary:active {
    background-color: var(--qt-blue-hover) !important;
    border-color: var(--qt-blue-hover) !important;
}
.nav-tabs .nav-link.active {
    box-shadow: inset 0 -3px 0 var(--qt-blue);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--qt-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(28, 129, 176, 0.2) !important;
}
.dashboard .card,
.grid-stack-item-content {
    border-radius: 12px !important;
}

/* ---------- Tela de login ---------- */
body.welcome-anonymous {
    background-color: var(--qt-navy) !important;
}
.page-anonymous .glpi-logo {
    --logo: url("../pics/logo-white.png");
    content: url("../pics/logo-white.png") !important;
    width: 320px !important;
    height: 60px !important;
    margin-bottom: 1.75rem;
}
.page-anonymous .card {
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.30) !important;
}
.page-anonymous .card-body {
    padding: 2.5rem !important;
}
.page-anonymous .card-header {
    border-bottom: 0 !important;
}
.page-anonymous .card-header h2 {
    color: var(--qt-navy);
    font-weight: 700;
}
.page-anonymous .form-control {
    height: 44px;
    border-radius: 8px;
}
.page-anonymous .btn-primary {
    height: 46px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
}
.page-anonymous .form-label-description a {
    color: var(--qt-blue-btn);
}

/* Painel da direita (texto da pagina de login) */
.page-anonymous .col-auto.px-2 {
    max-width: 340px;
    background-color: #F3F7FA;
    border-radius: 12px;
    padding: 2rem 1.75rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.page-anonymous .col-auto.px-2,
.page-anonymous .col-auto.px-2 * {
    text-align: left !important;
}
.page-anonymous .col-auto.px-2 .rich_text_container {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #3D4855;
}
.page-anonymous .col-auto.px-2 h1,
.page-anonymous .col-auto.px-2 h2,
.page-anonymous .col-auto.px-2 h3 {
    color: var(--qt-navy);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.75rem 0;
}
.page-anonymous .col-auto.px-2 p {
    margin: 0 0 0.6rem 0;
}
.page-anonymous .col-auto.px-2 strong {
    color: var(--qt-navy);
}
@media (max-width: 767px) {
    .page-anonymous .col-auto.px-2 {
        max-width: none;
        margin-top: 1.5rem;
    }
}

/* Rodape (copyright) legivel no fundo escuro */
.page-anonymous .text-muted,
.page-anonymous .text-muted *,
body.welcome-anonymous .text-center.text-muted {
    color: #A9BACB !important;
}

/* Sem texto na direita: cartao estreito, so com o formulario */
.page-anonymous .container-tight:not(:has(.col-auto.px-2)) {
    max-width: 28rem !important;
}
.page-anonymous .card:not(:has(.col-auto.px-2)) .col-md-5 {
    flex: 0 0 100%;
    max-width: 100%;
}
