﻿@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

:root {
    --c-color-theme-general: #2B2B2B;
    --c-font-family-general: 'Roboto', sans-serif;
    --c-font-weight-headers: 400;
    --c-font-size-general: 18px;
    --c-color-link-general: #1B6AC9;
    --c-padding-tabs: 50px 25px 50px 25px;
    --c-color-button: white;
    --c-bg-color-button: #5C0658;
    --c-bg-color-button-hover: #74296E;
    --c-padding-button: 10px 20px;
    --c-bg-grid-row-hover: #EDEDED;
    --c-bg-selection-item-general: #EDEDED;
    --c-color-menu: var(--c-color-theme-general);
    --c-color-card-title: var(--c-color-theme-general);
    --dropdown-bg-color: var(--c-bg-theme-general);
    --dropdown-hover-bg-color: var(--c-bg-selection-item-general);
    --dropdown-active-bg-color: var(--c-bg-theme-general);
    --c-color-grid-header: #72747A;
    --c-bg-header: #121212;
    --c-bg-stats-card: var(--c-bg-header);
    --c-bg-fee-card: var(--c-bg-theme-general);
    --c-bg-grid: var(--c-bg-theme-general);
}

/* The animation code */
@keyframes tpt-changed-row-animation {
    from {
        opacity: 0.3;
    }

    to {
        opacity: 1.0;
    }
}
/* The element to apply the animation to */
.tpt-changed-row {
    animation-name: tpt-changed-row-animation;
    animation-duration: 1s;
    animation-iteration-count: 1;
}

.e-drag-intent {
    min-width: 20px;
}

.e-icons.e-rowcelldrag.e-dtdiagonalright.e-icon-rowdragicon {
    margin-left: -8px
}

/* product version */
.footer-product-label {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.20;
}

.footer-product-label:hover {
    opacity: 0.75;
}

/* main menu */
.topnav {
    /*overflow: hidden;*/
    flex-grow: 1;
    width: 100%;
}

    .topnav a {
        float: left;
        color: var(--c-color-menu);
        text-align: center;
        padding: 10px 40px;
        text-decoration: none;
        border-radius: 6px;
        cursor: pointer;
    }

        .topnav a:hover {
            color: var(--c-color-menu);
        }

    .menu-body-left-td {
        float: left;
    }

    .menu-body-right-td {
        float: right;
    }

    .header-container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 100%;
    }

    nav[role="navigation"] {
       flex-grow: 1;
       margin-top: 20px;
        margin-left: 4px;
    }

    .menu-container-inline {
        width: 100%;
    }

        .menu-container-inline-body {
            width: 100%;
            font-family: var(--c-font-family-general);
            list-style-type: none;
        }

.logo {
    display: block;
    width: var(--c-width-logo);
    height: var(--c-height-logo);
    margin: var(--c-margin-logo);
    background: var(--c-bg-logo);
}

.container-fluid {
    margin: var(--c-margin-header);
}

/* MoneyManager's grid */
.tabs h2 {
    margin: 0 0 30px;
    padding: 0;
    text-align: center;
    color: var(--c-color-theme-general);
}

.e-grid, .e-grid .e-gridheader, .e-grid .e-table {
    border-width: 0px !important;
}

.e-table {
    background: var(--c-bg-grid) !important;
}

    .e-table .e-headercell, .e-table td:hover {
        background: var(--c-bg-grid) !important;
    }

    .e-table .e-rowcell:hover {
        background: var(--c-bg-grid) !important;
    }

#MoneyManagersGrid .e-rowcell {
    border-width: 0px !important;
}

    #MoneyManagersGrid .e-rowcell .button-form {
        margin-top: 0px !important;
    }

#MoneyManagersGrid .e-headercell {
    border-width: 0 !important;
}

#MoneyManagersGrid > div.e-spinner-pane.e-spin-hide {
    display: none !important;
}

/* InvestorPositionsGrid' grid */
#InvestorPositionsGrid .e-rowcell {
    border-width: 0px !important;
}

    #InvestorPositionsGrid .e-rowcell .button-form {
        margin-top: 0px !important;
    }

#InvestorPositionsGrid .e-headercell {
    border-width: 0 !important;
}

#InvestorPositionsGrid > div.e-spinner-pane.e-spin-hide {
    display: none !important;
}

/* tpt-theme override */

body {
    font-family: var(--c-font-family-general);
    font-size: var(--c-font-size-general);
    color: var(--c-color-theme-general);
}

#layout-body-box {
    margin-top: 70px;
}

header.tpt-theme-background {
    box-shadow: none;
}

footer.tpt-theme-background {
    box-shadow: none;
}

.tpt-footer {
    text-align: center;
}

.footer-content {
    position: relative;
}

.tpt-footer-company {
    color: var(--c-color-theme-general);
    opacity: 0.20;
    text-decoration: none;
}

    .tpt-footer-company:hover {
        color: var(--c-color-theme-general);
        opacity: 0.75;
    }

/* Login*/
.login-box {
    border: solid 1px;
    border-radius: 10px;
    background: var(--c-bg-theme-general);
    box-shadow: none;
}

    .login-box .e-input-group {
        background: var(--c-bg-theme-general) !important;
    }

.disclaimer {
    text-align: center;
}

#ServerEndpointId,
#mamDropDownBox {
    color: var(--c-color-login-box-user-box-label);
}

.e-input-group, .e-input-group.e-control-wrapper {
    border-color: var(--c-border-color-login-box-submit) !important;
    border-bottom-color: var(--c-border-color-login-box-submit) !important;
}

    .e-input-group.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
    .e-input-group.e-control-wrapper.e-ddl .e-input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
    .e-float-input.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon,
    .e-float-input.e-control-wrapper.e-ddl input[readonly] ~ span.e-input-group-icon.e-ddl-icon {
        color: var(--c-color-label) !important;
    }

/* Drawdown list */
.e-input-group, .e-input-group.e-control-wrapper, 
.e-float-input, .e-float-input.e-input-group, 
.e-float-input.e-control-wrapper, 
.e-float-input.e-input-group.e-control-wrapper {
    background: var(--dropdown-bg-color) !important; 
    color: var(--c-color-theme-general) !important;
}

.tabs {
    /*    padding-bottom: 25px !important;
    padding-top: 25px !important;*/
    box-shadow: none !important;
    padding: var(--c-padding-tabs);
    margin: var(--c-margin-tabs);
}

.gradient-custom {
    background: var(--c-bg-theme-general);
}

.card-body {
    padding: 0px !important;
}

/* buttons */
.btn-basic {
    color: var(--c-color-button) !important;
    background-color: var(--c-bg-color-button) !important;
    border-radius: 0;
    padding: var(--c-padding-button);
    font-family: var(--c-font-family-general) !important;
    font-size: var(--c-font-size-general) !important;
}

    .btn-basic:hover {
        color: var(--c-color-button-hover) !important;
        background-color: var(--c-bg-color-button-hover) !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

/* grid */

.card-title {
    color: var(--c-color-card-title);
    font-weight: var(--c-font-weight-headers) !important;
}

.e-grid .e-headercell {
    background: var(--c-bg-theme-general);
}

.e-grid .e-headercelldiv,
.e-grid .e-rowcell,
.e-grid .e-emptyrow,
.e-pager {
    font-family: var(--c-font-family-general) !important;
    font-size: var(--c-font-size-general) !important;
    color: var(--c-color-theme-general) !important;
}

a:hover {
    color: var(--c-color-link-general);
}

.e-table .button-form .button {
    width: 135px;
}

.e-spinner-pane {
    display: none !important;
}

/* Equity chart */
.e-chart [id*="Series_0"] {
    stroke: var(--c-stroke-equity-chart-graph-line);
    stroke-width: var(--c-stroke-width-equity-chart--graph-line);
}

.e-chart [id*="AxisLine_0"] {
    stroke: var(--c-stroke-equity-chart-axis-line);
    stroke-width: var(--c-stroke-width-equity-chart-axis-line);
}

/* --- There are right and top borders: container8700_ChartAreaBorder */
[id*="_ChartAreaBorder"] {
    display: none;
}

/* --- There is left border: container8700AxisGroup1Inside */
[id*="AxisGroup1Inside"] {
    display: none;
}

/* Table's tr hover */
.e-grid.e-gridhover .e-row tr:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell), .e-grid.e-gridhover .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell), .e-grid.e-gridhover .e-row:not(.e-disable-gridhover):not(.e-detailrow):hover .e-detailrowcollapse:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell), .e-grid.e-gridhover .e-row:not(.e-disable-gridhover):not(.e-detailrow):hover .e-rowdragdrop:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell), .e-grid.e-rtl .e-gridhover .e-row:not(.e-disable-gridhover):not(.e-detailrow):hover .e-rowdragdrop:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell), .e-grid.e-gridhover .e-row:not(.e-disable-gridhover):not(.e-detailrow):hover .e-detailrowexpand:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell) {
    background: var(--c-bg-grid-row-hover) !important;
}

/* Notifications */
.e-toast-message {
    z-index: 1000;
}

/* Dialogs */
/* Block clicks on all elements except the overlay and elements inside #dialog-box */
body.dialog-open * {
    pointer-events: none; /* Disable all clicks on the page */
}

/* Allow clicks only on the overlay and the dialog, including its internal elements */
body.dialog-open #dialog-box,
body.dialog-open #dialog-box * {
    pointer-events: auto; /* Enable clicks on the dialog and its content */
}

body.dialog-open .e-dlg-overlay {
    pointer-events: auto; /* Enable clicks on the overlay */
}

.e-popup.e-popup-open * {
    pointer-events: auto;
}

.e-control.e-dropdownlist.e-lib.e-input {
    cursor: initial;
}


/* MoneyManager -> Stats
----------------------------------------- */
.configuration-cards {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: center;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 940px; /* For 4 cards in a row */
    margin: 0 auto;
}

    .configuration-cards .configuration-card {
        color: var(--c-color-theme-general);
        margin-right: 10px;
        margin-bottom: 10px;
        position: relative;
        text-decoration: none;
        width: 218px;
        height: 110px;
        border: 1px solid #E2E2E2B2;
        border-radius: 4px;
        position: relative;
        /*top: -205px;*/
    }

.configuration-cards-container {
    max-width: 1400px
}

.configuration-cards .configuration-card-title {
    color: white;
    font-size: 20pt;
    margin: 10px 20px;
    display: block;
    overflow-wrap: break-word;
}

.display-card .configuration-card-buttons .button-form .button {
    pointer-events: all
}

.stats-cards {
    background: var(--c-bg-stats-card);
    padding-top: 30px;
    position: relative;
}

    .stats-cards .configuration-card {
        background: var(--c-bg-stats-card);
    }

.card-background {
    position: relative;
    width: 100%;
    height: 50px;
    background: var(--c-bg-stats-card);
}

.fee-cards {
    position: relative;
    top: -45px;
}

    .fee-cards .configuration-card {
        background: var(--c-bg-fee-card);
        margin-right: 4px;
    }

    .fee-cards .configuration-cards {
        max-width: 940px; /* Same as main cards container */
    }

    .fee-cards .configuration-cards .configuration-card {
        width: 148px; /* Calculated to match total width of 4 main cards */
        height: 116px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .fee-cards .fee-card-set-button {
        color: #007bff;
        text-decoration: none; 
        font-size: 12px;
        margin: 0 14px 14px 14px;
        margin-top: auto; /* Push button to bottom */
    }

    .fee-cards .fee-card-value {
        margin: 0px 14px 8px 14px;
        flex-grow: 1; /* Allow value area to expand */
        align-content: end;
        min-height: 20px; /* Minimum height even when empty */
    }

.stats-card-title, .fee-card-title {
    margin: 14px 14px 0 14px;
    color: var(--c-color-grid-header);
    flex-shrink: 0; /* Don't shrink title */
}

.stats-card-title {
    font-size: 12pt;
}

.stats-card-value {
    font-size: 15pt;
    color: white;
    position: absolute;
    bottom: 14px;
    right: 14px;
}

/* Special positioning for profit and balance values */
#total-profit-value,
#balance-value {
    left: 14px;
    right: auto;
}

/* Color classes for positive/negative values */
.positive-value {
    color: #28a745 !important; /* Green */
}

.negative-value {
    color: #dc3545 !important; /* Red */
}

.equity-chart {
    width: 100%;
    height: auto;
}

/* Page content
----------------------------------------- */
.content {
    margin-top: -100px;
    padding-left: 115px;
    padding-right: 115px;
    width: fit-content;
    height: -webkit-fill-available;
    height: -moz-available;
}

/* MoneyManager -> Grids
----------------------------------------- */
.grid-name {
    font-size: 20px;
    color: #FFFFFF;
    margin-bottom: 20px;
    display: inline-flex;
    width: -webkit-fill-available;
    width: -moz-available;
    align-items: center;
    white-space: nowrap;
}

    .grid-name label {
        z-index: 1;
    }

.e-grid {
    border-radius: 5px !important;
    border: 1px solid #DDDDDD !important;
    background: var(--c-bg-grid) !important;
}

.e-gridheader {
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
    border-left: none !important;
    border-top: none !important;
    border-right: none !important;
}

.e-gridpager {
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    border-left: none !important;
    border-bottom: none !important;
    border-right: none !important;
}

.e-grid .e-gridheader {
    height: 50px;
    border-bottom: 1px solid #DDDDDD !important;
    align-content: center;
}

.e-headercell.checkbox-align {
    text-align: left;
    width: -webkit-fill-available;
    width: -moz-available !important;
}

.e-rowcell.checkbox-align {
    text-align: center;
}

.e-grid .e-headercell {
    padding: 0px 0px 0px 8px !important;
}

.e-grid .e-gridheader .e-headercelldiv {
    line-height: 15px;
    font-family: 'Roboto';
    font-style: normal;
    font-size: 13px;
    color: var(--c-color-grid-header) !important;
    font-weight: 400;
    margin-left: 1px;
    height: -webkit-fill-available !important;
    height: -moz-available !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    display: contents;
}

.e-grid .e-sortfilterdiv {
    margin: 0px !important;
}

    .e-grid .e-sortfilterdiv[aria-hidden="true"] {
        height: 0px !important;
        width: 0px !important;
        padding: 0px !important
    }

.e-headertext {
    padding-left: 8px !important;
}

.e-grid .e-rowcell {
    height: 44px;
    line-height: 18px !important;
    font-family: 'Roboto';
    font-style: normal;
    font-size: 14px !important;
    color: #000000 !important;
    font-weight: 400;
    width: fit-content !important;
    padding: 12px 14px !important;
}

.text-align-right {
    text-align: right;
}

.e-grid.e-bothlines .e-rowcell {
    border-color: #DDDDDD !important;
    border-width: 0 0 0 0 !important;
}

    .e-grid.e-bothlines .e-rowcell:not(:first-child) {
        border-left-width: 1px !important;
    }

.e-grid:not(.sf-grid).e-default.e-bothlines .e-headercell,
.e-grid:not(.sf-grid).e-default.e-bothlines .e-detailheadercell {
    border-color: none !important;
    border-width: 0 0 0 0 !important;
}

/* MoneyManager -> Dialogs
----------------------------------------- */
.dialog-icon {
    width: 36px;
    margin-bottom: 10px;
}

.dialog-header {
    font-size: 18px;
    color: black;
    margin-bottom: 20px;
    font-weight: 500;
}

.dialog-leader-id-label {
    color: #A3A3A3;
}

.dialog-form-box {
    padding: 15px 25px 15px 25px;
    display: grid;
}

.dialog-form-element-box {
    font-family: Roboto;
    color: #72747A;
    display: grid;
    margin-bottom: 24px !important;
}

    .dialog-form-element-box > label {
        font-size: 14px;
        line-height: 17.5px;
        margin-bottom: 5px;
        font-weight: 400;
    }

    .dialog-form-element-box > span {
        font-size: 16px;
        height: 48px;
        align-items: center;
    }

    .dialog-form-element-box > input {
        font-size: 16px;
        height: 48px;
        font-family: Roboto;
        border: 1px solid;
        border-color: #ced4da;
        border-radius: 4px;
        padding: 10px;
    }

.dialog-form-element-box-checkbox-list-item,
.dialog-form-element-box-checkbox {
    display: inline-flex;
    font-family: Roboto;
}

.dialog-form-element-box-checkbox {
    margin-bottom: 20px !important;
}

.dialog-form-element-box-checkbox-list-item {
    margin-bottom: 10px !important;
}

    .dialog-form-element-box-checkbox-list-item > input,
    .dialog-form-element-box-checkbox-list-item > div,
    .dialog-form-element-box-checkbox > input,
    .dialog-form-element-box-checkbox > div {
        margin-right: 10px;
    }

    .dialog-form-element-box-checkbox-list-item > label,
    .dialog-form-element-box-checkbox > label {
        color: black;
        font-size: 15px;
    }

.e-input-group.e-control-wrapper input.e-input::-webkit-input-placeholder {
    font-size: 15px !important;
    color: #9A9A9A !important;
    font-weight: 400;
    font-family: Roboto;
}

.dialog-form-button {
    background-color: #000000;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    display: grid;
    color: #0ECB48;
    font-size: 16px;
    line-height: 18.5px;
    align-items: center;
    text-align: center;
}

    .dialog-form-button:hover {
        background-color: #404040;
    }

.dialog-form-remove-button {
    border: 1px solid;
    border-color: #e2e2e2;
    width: 100%;
    height: 48px;
    border-radius: 4px;
    display: grid;
    color: #AD3AAD;
    font-size: 16px;
    line-height: 18.5px;
    align-items: center;
    text-align: center;
}

    .dialog-form-remove-button:hover {
        background-color: #72747A40;
    }

.dialog-text-label {
    color: black !important;
    font-size: 15px;
    margin-bottom: 20px !important;
}

.dialog-bold-text-label {
    color: black !important;
    font-size: 15px;
    font-weight: bold !important;
    margin-bottom: 20px !important;
}


.dialog-top {
    display: inline-table;
}

.close-dialog-button {
    width: 14px;
    height: 14px;
    border: none;
    display: grid;
    float: right;
    margin-right: -12px;
    background: url('../img/close.svg');
    background-position: center;
    background-repeat: no-repeat;
}

    .close-dialog-button:hover {
        background: url('../img/close_hover.svg');
        background-position: center;
        background-repeat: no-repeat;
    }

#dialog {
    overflow-y: auto;
    max-height: 80%;
}

.e-dropdownbase .e-list-item {
    background-color: var(--dropdown-bg-color) !important;
    border-color: var(--c-bg-theme-general) !important;
    color: var(--c-color-theme-general) !important;
}

    .e-dropdownbase .e-list-item.e-active, .e-dropdownbase .e-list-item.e-active.e-hover {
        background-color: var(--dropdown-hover-bg-color) !important;
        border-color: var(--c-bg-theme-general) !important;
        color: var(--c-color-theme-general) !important;
    }