/***  ***/


/*** Template CSS ***/

:root {
    --primary: #55C2C3;
    --secondary: #474747;
    --light: #c6c9d8;
    --dark: #000000;
}


/*** Font  ***/

@font-face {
    font-family: Dense;
    src: url("../fonts/Dense.otf");
}
input:invalid {
    border: 2px solid red;
}

/* input:valid {
    border: 2px solid green;
} */
.center-container {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center;    /* Center vertically */
    height: 100vh;          /* Full viewport height */
    border: 1px solid #ccc; /* Optional for visualization */
    overflow: auto;
  }
/*** Buttons ***/
input, select,button,textarea{
max-width: 400px;
}
.btn-primary {
    color: #fff !important;
    background: linear-gradient(150deg, var(--primary) 0%, var(--secondary) 100%);
    border-color: var(--secondary) !important;
}
.table-fx-container {
    width: 90vw;    /* 90% of the viewport width */
      height: 60vh;   /* 60% of the viewport height */
    overflow: auto;      /* Enable scroll bar if content overflows */
    border: 1px solid #ddd;  /* Optional border for table container */
  }

  .table-fx {
    width: 100%;  /* Ensure the table fills the container */
    overflow: auto;
  }

/*** Navbar ***/

.navbar-bg {
    background-color: #f9f9f9;
    -webkit-box-shadow: 0 0 5px 2px #cbcbcb;
    box-shadow: 0 0 5px 2px #cbcbcb;
}

.navbar-brand {
    color: var(--secondary);
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.navbar-nav .nav-link.active,
.navbar-nav .show>.nav-link {
    color: var(--primary) !important;
}

.navbar-nav .nav-link {
    color: var(--secondary);
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-left: 0.35rem;
}
.loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* Optional semi-transparent background */
    z-index: 1050; /* Ensure it overlays content */
    display: none;
    justify-content: center;
    align-items: center;
  }

/*** Dashboard ***/
.eventbutton{
    color:var(--primary);
    cursor: pointer;
    text-decoration: underline;
}

/*** Content Box ***/

#content_box {
    padding-bottom: 0;
    margin-top: 4rem;
    margin-bottom: 25px;
    background-color: #f9f9f9;
    -webkit-box-shadow: 0 0 5px 2px #cbcbcb;
    box-shadow: 0 0 5px 2px #cbcbcb;
    min-height: 450px;
}

#mainContent {
    padding: 1rem;
}

.site-section h1 {
    text-transform: uppercase;
    font-family: Dense;
    letter-spacing: 0.3rem;
    font-weight: 700;
}

.tab-content {
    border: 1px solid #dee2e6;
    border-top: none !important;
    background-color: #fff;
}

#mainContent .nav-link {
    color: var(--secondary) !important;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 14px;
    text-transform: uppercase;
}


/*** Add Position Search ***/

#addPosItems {
    display: none;
}

#nav-tabContent hr {
    margin-top: 0;
    margin-bottom: 0;
}

#addPosItems {
    background-color: #f9f9f9;
}

.addPosItems_form .form-label {
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
}

.addPosItems_form .btn {
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
}

.addPos_search_table {
    position: relative;
    display: none;
    z-index: 9999;
}

.addPos_search_table .table {
    position: absolute;
    background-color: #fff;
    border: 1px solid #dee2e6;
    font-size: 14px;
}

.addPos_search_table .table>tbody {
    max-height: 17rem;
    display: block;
    overflow-y: auto;
    width: 100%;
}

.addPos_search_table td,
.addPos_search_table th {
    width: 35rem;
}

.addPos_search_table th:first-child {
    width: 1rem!important;
}

@media only screen and (min-width: 768px) {
    .addPos_search_table .table {
        width: 35rem !important;
    }
}

.addPos_search_table tr {
    cursor: pointer;
}

.addPos_search_table tr:hover {
    background-color: #f9f9f9;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

#posFormMessage {
    display: none;
}

.ap_success {
    font-size: 14px;
    background-color: rgb(139, 211, 32);
}

.ap_error {
    font-size: 14px;
    background-color: rgb(197, 25, 25);
    color: #fff;
}


/*** Portfolio  ***/

#portfolioCard {
    padding: 1rem;
}

#portfolioCard .tab-content {
    border: none;
}

#portfolioCard .nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background-color: unset;
    border-bottom: 1px solid var(--primary);
    border-radius: 0;
}

#portfolioCard .nav-pills {
    border-bottom: 1px solid #dee2e6;
}

.nav-link:focus,
.nav-link:hover {
    color: var(--primary)!important;
}

#holdingsTable,
#openTable,
#closedTable,
#bulkTradeTable,
#mtoRecordsTable {
    font-size: 14px;
}

.holdingsRow {
    cursor: pointer;
}

#holdingsTable tbody tr:hover {
    background-color: #f9f9f9;
}


/* .hRows_form{
    position: absolute;
    margin-top: 5rem;
    background-color: #f9f9f9;
} */

#stockRecords {
    padding: 1rem;
    font-size: 14px!important;
}

#stockRecords_form .btn:hover {
    border-color: #8f7575;
}


/*** Transactions ***/

#transactions .nav-link {
    font-size: 12px!important;
}

#delTableBtn {
    padding: 0;
}


/*** Bulk Trades ***/

.filter,
.filter-dPos,
.filter-ss,
.filter-cfinancial,
.filter-intDeals,
.filter-brokerage,
.filter-config,
.sort,
.sort-ss,
.sort-dPos,
.sort-cfinancial,
.sort-config,
.sort-brokerage,
.sort-intDeals,
.filter-mBtrade,
.sort-mBtrade {
    font-size: 14px;
    display: inline-block;
    cursor: pointer;
}

.filterBox,
.filterBox-dPos,
.filterBox-ss,
.filterBox-cfinancial,
.filterBox-mBtrade,
.filterBox-intDeals,
.filterBox-brokerage,
.filterBox-config {
    margin-top: 10px;
    min-height: 2rem;
    width: 12rem;
    background-color: #f9f9f9;
    position: absolute;
    box-shadow: 0 0 5px 2px #cbcbcb;
    display: none;
}


/***  Pagination ***/

.page-item {
    display: inline-block;
}

.mtoPag,
.scbsePag {
    color: var(--secondary)!important;
    cursor: pointer;
}

.page-item :hover {
    background-color: var(--secondary)!important;
    color: #fff!important;
}

.page-item .active {
    background-color: var(--dark)!important;
    border: var(--dark);
    color: var(--light)!important;
}


/*** Table ***/

#mergeBulkReport tr:hover {
    background-color: #e6dede;
    cursor: pointer;
}


/* Form Message */

.formMessages {
    display: none;
    width: 21%;
    position: fixed;
    word-wrap: break-word;
    right: 5%;
    bottom: 10%;
    padding: 15px;
    color: #fff;
    opacity: 0.8;
    border-radius: 12px;
    z-index: 99999;
}

.formMessages.success {
    background-color: #18d26e;
}

.formMessages.error {
    background-color: #ed3c0d;
}

#calendar {
    max-width: 1100px;
    margin: 40px auto;
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    font-size: 14px;
}

#calendar a {
    text-decoration: none;
    color: var(--dark);
}

/* Highlighted row should retain the highlight background even when hovered */
.holdingsRow.highlight {
    background-color: lch(85 26.28 251) !important;  /* Light blue background */
    color: rgb(51, 51, 51);  /* Text color */
}
