/* Adapt the Equipe na Nuvem design system to the existing application shell. */
:root {
    --bs-primary: #7d34c2;
    --bs-primary-rgb: 125, 52, 194;
    --bs-secondary: #00a85a;
    --bs-secondary-rgb: 0, 168, 90;
    --bs-body-bg: #f7f6fb;
    --bs-body-color: #51465f;
    --bs-font-sans-serif: 'Figtree', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

body { opacity: 1; }
a, .btn-link { color: var(--enn-primary-600); }
a:hover, .btn-link:hover { color: var(--enn-primary-700); }

.enn-page.wrapper, .enn-page .main { background: var(--enn-page); }
.enn-page .main { min-width: 0; }
.enn-page .content { padding: 0 34px 28px; }
.enn-page :where(h1, h2, h3, h4, h5, h6) { color: var(--enn-primary-950); }
.enn-page .card {
    background: var(--enn-surface);
    border: 1px solid var(--enn-border);
    border-radius: var(--enn-radius-lg);
    box-shadow: var(--enn-shadow-page);
}
.enn-page .card-header {
    background: var(--enn-surface-soft);
    border-bottom: 1px solid var(--enn-border);
    border-radius: var(--enn-radius-lg) var(--enn-radius-lg) 0 0;
}
.enn-page .card-title { color: var(--enn-primary-950); font-weight: 800; }
.enn-page .text-primary { color: var(--enn-primary-600) !important; }
.enn-page .bg-primary { background-color: var(--enn-primary-600) !important; }
.enn-page .btn-outline-primary { color: var(--enn-primary-600); border-color: var(--enn-primary-600); }
.enn-page .btn-outline-primary:hover { color: #fff; background: var(--enn-primary-600); }
.enn-page .form-check-input:checked { background-color: var(--enn-primary-600); border-color: var(--enn-primary-600); }

/* O fundo pertence apenas à lateral externa para não duplicar a decoração
   quando o conteúdo da página é mais alto que o menu. */
.enn-page .sidebar {
    background:
        radial-gradient(circle at 78% 84%, rgba(0, 200, 83, .9) 0 34px, transparent 35px),
        radial-gradient(circle at 36% 86%, rgba(255, 255, 255, .36) 0 17px, transparent 18px),
        radial-gradient(circle at 92% 82%, rgba(132, 70, 204, .44) 0 64px, transparent 65px),
        radial-gradient(circle at 0% 98%, rgba(99, 35, 168, .72) 0 86px, transparent 87px),
        linear-gradient(180deg, #2b064d 0%, #250342 54%, #18002d 100%);
}
.enn-page .sidebar {
    border-radius: 0 14px 14px 0;
    box-shadow: 18px 0 40px rgba(34, 0, 66, .12);
    flex-basis: 260px;
    max-width: 260px;
    min-width: 260px;
    overflow: hidden;
}
.enn-page .sidebar-content { min-height: 100vh; background: transparent; }
.enn-page .sidebar-brand {
    align-items: center;
    display: flex;
    flex: 0 0 136px;
    min-height: 136px;
    justify-content: center;
    overflow: hidden;
    padding: 18px;
}
.enn-page .sidebar-brand img { flex-shrink: 0; height: auto; max-width: none; width: 380px; }
.enn-page .sidebar-nav { padding: 0 18px 28px; }
.enn-page .sidebar-user { background: transparent; color: #fff; padding: 12px 18px 24px; }
.enn-page .sidebar-user-title { color: #fff; }
.enn-page .sidebar-header { color: rgba(255, 255, 255, .54); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.enn-page .sidebar-item { margin-bottom: 6px; }
.enn-page .sidebar-link {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
    color: rgba(255, 255, 255, .86);
    cursor: pointer;
    display: flex;
    font-size: .91rem;
    font-weight: 800;
    line-height: 1.2;
    min-height: 46px;
    padding: 10px 14px;
    text-decoration: none;
}
.enn-page .sidebar-link :where(svg, i) { color: rgba(255, 255, 255, .74); flex-shrink: 0; }
.enn-page .sidebar-link:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.enn-page .sidebar-item.active > .sidebar-link {
    background: linear-gradient(90deg, rgba(127, 38, 206, .88), rgba(115, 31, 194, .72));
    border-color: rgba(255, 255, 255, .08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 24px rgba(0, 0, 0, .16);
    color: #fff;
}
.enn-page .sidebar-item.active > .sidebar-link :where(svg, i) { color: #00c853; }
.enn-page .sidebar-item > ul { border-left: 1px solid rgba(255, 255, 255, .14); margin: 4px 0 8px 16px; padding: 0 0 0 8px; }
.enn-page .sidebar-item > ul .sidebar-link { font-size: .82rem; min-height: 40px; padding: 7px 10px; }
.enn-page .sidebar-link:focus-visible { outline: 3px solid rgba(0, 200, 83, .55); outline-offset: 2px; }

.enn-page .navbar-bg { background: transparent; box-shadow: none; min-height: 72px; padding: 16px 34px; }
.enn-page .hamburger, .enn-page .hamburger::before, .enn-page .hamburger::after { background: var(--enn-primary-600); }
.enn-page .navbar .avatar { border: 3px solid #fff; border-radius: 50% !important; box-shadow: 0 10px 24px rgba(36, 0, 67, .16); height: 42px; object-fit: cover; width: 42px; }
.enn-page .dropdown-menu { border: 1px solid var(--enn-border); border-radius: 14px; box-shadow: var(--enn-shadow-overlay); }
.enn-page .footer { background: transparent; color: var(--enn-text-muted); }
.enn-page .footer a { color: var(--enn-primary-600); }

.enn-startup { background: var(--enn-primary-950); color: #fff; display: grid; justify-items: center; min-height: 100vh; align-content: center; }
.enn-startup img { max-width: 90vw; width: 380px; }
.enn-startup .loading-progress { height: 5rem; margin: 0 auto 1rem; width: 5rem; }
.enn-startup .loading-progress circle:last-child { stroke: #00c853; }

@media (max-width: 991.98px) {
    .enn-page .sidebar { margin-left: -260px; }
    .enn-page .sidebar.collapsed { margin-left: 0; }
    .enn-page .content { padding: 0 18px 24px; }
    .enn-page .navbar-bg { padding: 16px 18px; }
}
@media (max-width: 520px) {
    .enn-page .content { padding: 0 12px 20px; }
    .enn-page .navbar-bg { padding: 16px 12px; }
}

@media (min-width: 992px) {
    body .enn-page .sidebar.collapsed { margin-left: -260px; }
}
@media (max-width: 991.98px) {
    body .enn-page .sidebar { margin-left: -260px; }
    body .enn-page .sidebar.collapsed { margin-left: 0; }
}
