﻿
/*
--------------------------------------------------------------------------------------------
----------------------------------    dashboard.css    ------------------------------------
--------------------------------------------------------------------------------------------
    Everything Needed For Dashboard Page
--------------------------------------------------------------------------------------------
*/
.dashboard-config-label {
    font-variant: small-caps;
    font-weight: 700;
    letter-spacing: 1.5px;
    font-size: 9pt;
    word-spacing: 1.7px;
}

.dashboard-config-section-right {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 8pt;
    justify-content: center;
    text-align: right;
}

.dashboard-config-section-left {
    margin-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 8pt;
    justify-content: center;
    text-align: right;
    padding-left: 4px;
}

.dashboard-config-section-right,
.dashboard-config-section-right-start {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 8pt;
    justify-content: center;
    text-align: right;
}

.dashboard-config-section-right {
    margin-left: 20px;
}

.dashboard-config-section-right-start {
    margin-left: auto !important;
}

.dashboard-config-container {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 7px;
    margin-top: 0px !important;
}
    .dashboard-button-select-top-1000 {
        width: 100%;
        position: relative;
        bottom:0px;
        /*border-radius: 0px;*/
        background-color: var(--jeo-gradient-rz-light);
        color:var(--rz-white);
    }

.dashboard-pane-titlebar-right-expand-button {
    box-shadow: none;
    padding: 0px 0px 0px 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    border: none;
    height: 25px !important;
    min-height: 25px;
    min-width: 25px;
    width: 25px !important;
}

.dashboard-pane-body-container-scroll .rz-data-grid, #queryEditor {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}
/* ---------------- Monaco ------------------ */
/* Monaco Text Editor*/
.dashboard-pane-container #txtQueryEditor {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
/* future monaco host */
.monaco-host {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

#txtQueryEditor {
    border-bottom: 1px solid #647c64;
}
/* --------  SPLITTERS - BE CAREFUL -----------*/
.dashboard-pane-container {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    /*border: 1px solid var(--jeo-gradient-rz);*/
    border: .5px solid black !important;
    box-shadow: 5px 0 10px var(--jeo-gradienr-rz-light);
}

.dashboard-pane-titlebar-container p {
    margin-bottom: 0px;
    text-shadow: 5px 5px 5px var(--jeo-gradient-rz-light) !important;
}

.dashboard-pane-container {
}

.query-results-pane .dashboard-pane-titlebar-container, .diagramresults-pane .dashboard-pane-titlebar-container {
    border-bottom: 1px solid black inset !important;

}

.dashboard-pane-container .dashboard-pane-titlebar-container {
    padding-top: 0px;
    padding-left: 6px !important;
    border-top: none;
    border-left: none;
    border-right: none;
    background: var(--jeo-gradient-rz-light) !important;
}

    .dashboard-pane-container .dashboard-pane-titlebar-container div:nth-child(1) {
        color: var(--rz-white) !important;
        font-weight: bold;
        font-family: Roboto, sans-serif;
        font-size: 11pt;
        padding-left: 0px;
    }

.dashboard-pane-titlebar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

    .dashboard-pane-titlebar > div:nth-child(1)  > span:nth-child(1) {
        font-variant: small-caps;
        font-size: 10pt;
        margin-bottom:-1.5px;
    }
.dashboard-pane-titlebar-right-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding-right: 5px;
    padding-top: 0px;
}

.dashboard-pane-titlebar-right-container2 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-size: 9.5pt;
    font-family: monospace;
    color: var(--rz-warning);
}

.dashboard-pane-container .dashboard-pane-body-container-scroll {
    width: 100%;
    height: 100%;
    overflow: auto;
    min-width: 0;
    min-height: 0;
}

.dashboard-pane-generation-sidebar-header {
    padding-top: 3px;
    padding-bottom: 3px;
}
/* Default state */
.dashboard-pane-query-results-container {
    background-color: transparent;
    border: 1px solid #ccc;
    transition: all 0.3s ease;
}
    /* Fullscreen state */
    .dashboard-pane-query-results-container:fullscreen {
        width: 100vw;
        height: 100vh;
        background-color: white;
        overflow-y: auto;
        border: none;
    }

.dashboard-pane-container .rz-chkbox-box.rz-state-active {
    background-color: var(--rz-primary);
}

.dashboard-pane-container .dashboard-pane-titlebar-container .rz-chkbox-box.rz-state-active {
    background-color: rgba(100, 124, 100, 0.7);
    border: 0.1px solid var(--rz-base-400);
}

.dashboard-pane-generation-settings-container {
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    padding: 4px 4px 4px 4px;
}

    .dashboard-pane-generation-settings-container label {
        font-size: 8pt;
        font-weight: bold;
        color: var(--rz-black);
        /*margin-bottom: 4px;*/
        /*text-transform: uppercase;*/
        /*letter-spacing: 0.5px;*/
        /*height: 22px;*/
        /*margin-bottom: 0px;*/
    }

.dashboard-pane-generation-settings-label {
    margin-top: 3px;
    margin-left: 0px;
    margin-bottom: -3px;
    padding: 0px 4px 0px 4px;
    font-size: 12px !important;
    font-weight: bold;
    font-variant: small-caps;
}

.dashboard-pane-generation-settings-section-header {
    margin-top: 3px;
    margin-left: 0px;
    padding: 0px 0px 0px 3px;
    font-size: 12px !important;
    font-weight: bold;
    font-variant: small-caps;
    background-color: rgba(30, 30, 30, 0.7);
    width: 100%;
    border: 0.2px solid rgba(5, 5, 5, 0.7);
    color: var(--rz-white);
    display: inline-block;
    background: var(--jeo-gradient-black);
}

.dashboard-pane-generation-settings-container .rz-dropdown {
    min-height: 15px;
    height: 30px !important;
    padding-left: 2px;
    padding-right: 5px;
    padding-top: 5px;
    padding-bottom: 0px;
    width: 100%;
    font-size: 9pt;
}

.dashboard-pane-generation-settings-container .rz-checkbox-list .rz-chkbox-label {
    padding-left: 0px !important;
    padding-top: 2px;
    margin-left: 5px !important;
    height: 20px;
}

.monaco-full-stretch, .monaco-full-stretch > div {
    width: 100% !important;
    height: 100% !important;
}

.dashboard-diagram-bottom-controls-panel,
.dashboard-query-editor-bottom-controls-panel {
    background: var(--jeo-gradient-silver);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding: 3px 5px;
}
/* Compact Forms Label System */
.dashboard-pane-generation-settings-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .dashboard-pane-generation-settings-container label {
        font-size: 7.5pt;
        font-weight: bold;
        color: var(--rz-text-secondary-color);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
/* ==========================================================================
   RADZEN TAB & SCROLL OVERRIDES
   ========================================================================== */
/* Force the wrapper to take up the full available track height */
.dashboard-pane-container .rz-tabview {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
/* Force the inner tab strip content track to isolate overflowing */
.dashboard-pane-container .rz-tabview-panels {
    flex-grow: 1 !important;
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    /* Prevents the outer container from double-scrolling */
    background-color: #14161a !important;
}
/* Let individual grid items command their own inner independent scrolling tracks */
.dashboard-pane-container .rz-tabview-panel {
    height: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
}

.dashboard-pane-titlebar-right-expand-button:hover {
    -webkit-animation: neon2 1.3s ease-in-out infinite alternate;
    -moz-animation: neon2 1.3s ease-in-out infinite alternate;
    animation: neon2 1s ease-in-out infinite alternate;
}
/*  ------------- RAZDEN OVERRIDES  -------------  */
.rz-splitter {
    width: 100%;
    height: 100%;
}

.rz-splitter-pane {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.dashboard-pane-container,
.rz-splitter-pane {
    box-shadow: 3px 0 10px var(--jeo-primary);
}

    .rz-splitter-pane-lastresizable div.dashboard-pane-container div.dashboard-pane-titlebar-container {
        color: var(--rz-white) !important;
        font-weight: bold;
        font-family: Roboto, sans-serif;
        font-size: 11pt;
        padding-left: 5px;
    }
/* DataGrid Scroll */
.rz-data-grid.grid-query-results .rz-data-grid-data {
    overflow-y: hidden;
    overflow-x: scroll;
}
/* ----------  Query Result Tabs   ---------- */
.rz-tabview-nav button[role="tab"] {
    padding: 2px 5px 0px 5px;
    font-size: 9pt;
    font-weight: 500;
    border: 1px solid white;
    color: var(--rz-primary);
}
    /* Query Result Tabs Hover */
    /*.rz-tabview-nav button[role="tab"]:hover {
            background-color: var(--rz-primary);
            color: white;
        }*/

    .rz-tabview-nav button[role="tab"] p {
        margin-bottom: 0px;
    }

.rz-tabview-panel {
    padding: 0px;
}
/* Make These Blazor Lego Blocks Smaller */
.rz-numeric-input,
.rz-inputtext,
.rz-text-align-left {
    padding-left: 7px;
}
/* Tab View Scroll */
.rz-tabview-panel {
    width: 100%;
    height: 100%;
}
/*  -------------------- MISC  ------------------  */
.rz-layout .rz-body {
    overflow: hidden !important;
    padding: 0px 0px 0px 0px !important;
}
/* -------------------- GRID ----------------------*/
.rz-grid-table {
    /* Grid Header Heights  */
    thead th .rz-column-title {
        height: 15px;
    }
    /* -- Header|Data|Font|Padding|Height --- */
    thead th[role="columnheader"],
    .rz-data-row td[role="gridcell"] {
        padding: 0px 0px 0px 0px !important;
    }

        thead th[role="columnheader"] .rz-column-title,
        .rz-data-row td[role="gridcell"] .rz-cell-data {
            font-size: 7pt !important;
            padding: 1px 1px 0px 3px !important;
        }

    thead[role="rowgroup"] th div {
        background-color: var(--rz-white);
    }
    /* Grid Header Border */
    th[role="columnheader"] {
        border-right: 0.1px solid lightgray;
        padding-left: 0px !important;
    }
        /* Grid Column Header Padding */
        th[role="columnheader"] div {
            padding-top: 2px;
            padding-bottom: 2px;
        }

        .rz-state-highlight {
            background-color: var(--jeo-primary);

            .rz-cell-data {
                color: var(--rz-white) !important;
            }
        }

        .rz-cell-filter,
        .rz-cell-filter-content,
        span.rz-cell-filter-label,
        span.rz-cell-filter-label input {
            height: 20px !important;
            padding: 0px 0px 0px 0px !important;
        }
    }


    .diagram-node {
        font-family: Roboto, Consolas, Monaco, Roboto;
        font-weight: 600 !important;
        font-size: 5.25pt !important;
        letter-spacing: -.3px;
    }

    .node-content-core {
        /*border: .1px solid rgba(150,150,150,.2);*/
        border-radius: 12px;
        /*color: var(--rz-white);*/
        padding-top: 0px !important;
        padding-bottom: 0px !important;
        padding-left: 5px;
        padding-right: 5px;
        /*-webkit-text-fill-color: white;*/
        -webkit-text-stroke: .005px black;
    }

/*    .cvDb .diagram-link-label .default-link-label {
        font-size: 3.75pt;
        font-weight: 400;
        font-family: Consolas, Monaco, monospace;
    }
.cvJarvis .diagram-link-label .default-link-label {
    font-size: 5.75pt;
    font-weight: 400;
    font-family: Consolas, Monaco, monospace;
}*/
    /*
.node-content-core:has(.jeo3-node-depth-0) {
    background: black !important;
}

.node-content-core:has(.jeo3-node-depth-1) {
    background: var(--color-8-indigo) !important;
}

.node-content-core:has(.jeo3-node-depth-2) {
    background: var(--color-1-red) !important;
}

.node-content-core:has(.jeo3-node-depth-3) {
    background: var(--color-2-orange) !important;
}

.node-content-core:has(.jeo3-node-depth-4) {
    background: var(--color-3-yellow) !important;
}

.node-content-core:has(.jeo3-node-depth-5) {
    background: var(--color-5-green) !important;
}

.node-content-core:has(.jeo3-node-depth-6) {
    background: var(--color-6-teal) !important;
}

.node-content-core:has(.jeo3-node-depth-7) {
    background: var(--color-7-blue) !important;
}

.node-content-core:has(.jeo3-node-depth-8) {
    background: var(--color-9-magenta) !important;
}

.node-content-core:has(.jeo3-node-depth-9) {
    background: var(--color-8-indigo) !important;
}

.node-content-core:has(.jeo3-node-depth-10) {
    background: var(--color-10-pink) !important;
}*/

.dashboard-diagram-bottom-controls-panel {
    background: var(--jeo-gradient-silver);
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding: 0px 10px;
    position: relative;
    bottom: 0px;
    height: 60px;
}

    .lm_tab {
        /*background: var(--jeo-gradient-green) !important;*/
        color: white !important;
        font-weight: bold;
        width: 100px;
    }

    .lm_title {
        /*    height: 25px !important;*/
        font-family: Consolas, Monaco, monospace;
        padding: 0px;
        /*display: none !important;*/
    }

    .lm_close_tab {
        display: none;
    }

    .lm_controls {
        display: block;
    }


    .rz-data-row td {
        padding-top: 2px;
        padding-bottom: 2px;
    }

    .rz-sortable-column > div:nth-child(1) {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    .rz-tabview-nav li {
        padding-left: 15px;
        padding-right: 15px;
    }
    /* Container for the split view */
    .dashboard-query-editor-container {
        width: 100%;
        height: 100%;
        background-color: white;
        overflow: hidden;
        display: flex;
        flex-direction: row;
        position: relative;
    }
    /* The Editor takes up all remaining space */
    .grid-query-editor {
        flex-grow: 1;
        height: 100%;
        position: relative;
        background-color: white;
        min-width: 0; /* Prevents flex blowout with Monaco */
    }
    /* Base sidebar styling */
    .query-editor-config-sidebar {
        height: 100%;
        background-color: var(--rz-panel-background-color, #f5f5f5);
        transition: width 0.2s ease-in-out, min-width 0.2s ease-in-out;
        display: flex;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        position: relative;
        z-index: 10;
    }
    /* Modifier classes bound to your boolean */
    .query-editor-config-sidebar-open {
        width: 225px;
        min-width: 225px;
        border-left: 1px solid var(--rz-border-color, #ccc); /* Border on left now */
    }

    .query-editor-config-sidebar-closed {
        width: 0px;
        min-width: 0px;
        border-left: none;
    }

    .sidebar-toggle-button-left {
        margin-left: -13px;
        margin-top: 0px;
    }

    .vertical-text-standard {
        writing-mode: vertical-rl;
        letter-spacing: 1.5px;
    }

    .vertical-text-up {
        writing-mode: vertical-lr;
        transform: rotate(180deg);
        letter-spacing: 1.5px;
    }

    .sidebar-toggle-button-right,
    .sidebar-toggle-button-left {
        color: var(--rz-white);
        background: var(--jeo-gradient-rz) !important;
        border-radius: 4px;
        border: 1px solid var(--rz-border-color, #ccc);
        cursor: pointer;
        display: flex;
        z-index: 20;
        font-weight: bolder;
        justify-content: center;
        align-items: center;
        font-size: 11pt;
        /*animation: neon-rz-3 5s ease-in infinite alternate !important;*/
    }

        .sidebar-toggle-button-right.expanded,
        .sidebar-toggle-button-left.collapsed {
            width: 24px;
            height: 24px;
        }

        .sidebar-toggle-button-left.expanded,
        .sidebar-toggle-button-right.collapsed {
            position: absolute;
            width: 32px;
            height: 90px !important;
        }

        .sidebar-toggle-button-left.expanded {
            top: 0px;
            left: 13px;
        }

        .sidebar-toggle-button-right.collapsed {
            top: 0px;
            right: 1px;
        }
    /* Cleanup for interior blocks */
    .sidebar-config-block {
        padding: 10px 2px 10px 5px;
        border-bottom: 1px solid var(--rz-border-color, #eee);
    }

.jeo-grid .rz-column-title-content {
    font-size: 7pt;
}
.rz-sortable-column-icon {
    display: none !important;
}

.blocker-monaco {
    min-height: 195px;
    width: 100%;
}

.rz-tick-text{
    font-size:6.5pt;
}

.rz-scheme-pastel .rz-series-0, .rz-series-value-label text {
    fill: lime !important;
    stroke: lime !important;
    background-color: lime !important;
}

.wait-grid{
    background-color:transparent !important;
}

.wait-times-div{
    max-height:100px !important;
}
.diagramTypeSelector button:not(.rz-state-active) {
    background-color: var(--jeo-gradient-rz) !important;
    background-image: url('/img/pacmanbob100.gif');
    background-size: contain;
    text-align: center;
    background-position-x: center;
    color: white;
}
.diagramTypeSelector button.rz-state-active {
    background-color: black !important;
    background-image: url('/img/pacman.gif');
    background-size: contain;
    color: white !important;
   animation: neon2 2s ease-in-out infinite alternate, horizontal-shake 0.5s ease-in-out;
    text-align: center;
    background-position-x: center;
}