/*
 * MERCURIUS V6.3
 * Responsive Business Command Shell
 */

:root {
    --v63-sidebar: 248px;
    --v63-sidebar-compact: 84px;
    --v63-gap: clamp(12px, 1vw, 20px);

    --v63-green: #2fffd2;
    --v63-blue: #6ca8ff;
    --v63-purple: #ad82ff;
    --v63-red: #ff607f;
    --v63-yellow: #ffd36a;

    --v63-panel:
        linear-gradient(
            180deg,
            rgba(13, 21, 37, .92),
            rgba(7, 12, 23, .90)
        );

    --v63-border:
        rgba(77, 255, 211, .15);
}

/*
 * Corrige o espaço desperdiçado no monitor.
 */

html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}

body.v63-integrated {
    background-size: cover;
}

body.v63-integrated main,
body.v63-integrated .main,
body.v63-integrated .main-content,
body.v63-integrated .content,
body.v63-integrated .page-content,
body.v63-integrated .workspace,
body.v63-integrated .workspace-content,
body.v63-integrated .dashboard-content {
    min-width: 0 !important;
    max-width: none !important;
}

body.v63-integrated .container,
body.v63-integrated .container-fluid,
body.v63-integrated .page-container,
body.v63-integrated .content-container,
body.v63-integrated .dashboard-container,
body.v63-integrated .workspace-container {
    width: 100% !important;
    max-width: none !important;
}

body.v63-integrated main,
body.v63-integrated .main-content,
body.v63-integrated .page-content {
    padding-left:
        clamp(14px, 1.25vw, 26px) !important;

    padding-right:
        clamp(14px, 1.25vw, 26px) !important;
}

/*
 * Evita grids estourando ou deixando áreas vazias.
 */

body.v63-integrated .dashboard-grid,
body.v63-integrated .metrics-grid,
body.v63-integrated .stats-grid,
body.v63-integrated .cards-grid,
body.v63-integrated .kpi-grid {
    width: 100% !important;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                min(240px, 100%),
                1fr
            )
        ) !important;
}

/*
 * Tabelas.
 */

body.v63-integrated .table-responsive,
body.v63-integrated .table-wrap,
body.v63-integrated .table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

/*
 * Inteligência comercial injetada no dashboard.
 */

#v63-commercial-intelligence {
    width: 100%;
    max-width: none;

    margin:
        8px 0
        clamp(18px, 2vw, 30px);

    position: relative;
    z-index: 1;
}

.v63-command-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;
}

.v63-command-header h2 {
    margin: 0;

    color: #eef7ff;

    font-size:
        clamp(17px, 1.35vw, 23px);
}

.v63-command-header p {
    margin: 5px 0 0;

    color: #8ba1b9;

    font-size: 12px;
}

.v63-live {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 7px 10px;

    color: #baffed;

    border:
        1px solid
        rgba(47, 255, 210, .23);

    border-radius: 999px;

    background:
        rgba(47, 255, 210, .06);

    font-size: 11px;
}

.v63-live::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--v63-green);

    box-shadow:
        0 0 13px
        var(--v63-green);
}

.v63-intel-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(180px, 1fr)
        );

    gap: var(--v63-gap);
}

.v63-intel-card {
    position: relative;

    min-height: 118px;

    padding: 15px;

    overflow: hidden;

    border:
        1px solid
        var(--v63-border);

    border-radius: 17px;

    background:
        var(--v63-panel);

    box-shadow:
        0 12px 32px
        rgba(0, 0, 0, .23);
}

.v63-intel-card::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(47, 255, 210, .7),
            transparent
        );

    opacity: .45;
}

.v63-intel-label {
    color: #8ea3ba;

    font-size: 11px;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.v63-intel-value {
    margin-top: 7px;

    color: #edf9ff;

    font-size:
        clamp(21px, 1.8vw, 31px);

    font-weight: 760;

    white-space: nowrap;
}

.v63-money {
    color: var(--v63-green);

    text-shadow:
        0 0 14px
        rgba(47, 255, 210, .18);
}

.v63-alert {
    color: var(--v63-red);
}

.v63-intel-foot {
    margin-top: 8px;

    color: #70879f;

    font-size: 11px;
}

.v63-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 12px;
}

.v63-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 9px 12px;

    border:
        1px solid
        rgba(108, 168, 255, .22);

    border-radius: 11px;

    color: #ddebfb !important;

    background:
        rgba(108, 168, 255, .055);

    text-decoration: none !important;

    font-size: 12px;

    transition: .18s ease;
}

.v63-action:hover {
    border-color:
        rgba(47, 255, 210, .35);

    background:
        rgba(47, 255, 210, .08);

    transform:
        translateY(-1px);
}

/*
 * Item do menu.
 */

[data-v63-commercial] {
    position: relative;
}

.v63-nav-live {
    width: 7px;
    height: 7px;

    margin-left: auto;

    border-radius: 50%;

    background:
        var(--v63-green);

    box-shadow:
        0 0 11px
        rgba(47, 255, 210, .8);
}

/*
 * Em monitores menores, sidebar deve consumir menos área.
 */

@media (max-width: 1500px) and (min-width: 901px) {

    body.v63-integrated aside,
    body.v63-integrated .sidebar,
    body.v63-integrated .app-sidebar,
    body.v63-integrated .main-sidebar {
        max-width: 225px;
    }

    body.v63-integrated main,
    body.v63-integrated .main-content,
    body.v63-integrated .page-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 1180px) {

    .v63-intel-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .v63-command-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 720px) {

    .v63-intel-grid {
        grid-template-columns:
            1fr;
    }

    .v63-intel-card {
        min-height: 100px;
    }

    .v63-actions {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .v63-action {
        justify-content: center;
    }
}