/* ADDED BY BHUMITA ON 09/01/2026 */
.navbar .dropdown-toggle::after {
  display: none !important;
}
.navbar li {
    margin-right:10px;
}
/* ADDED BY MANSI ON 25/02/2026 */
.navbar .nav-link {
  padding-top: .65rem;  
  padding-bottom: .10rem;
}
/* \ADDED BY MANSI ON 25/02/2026 */
table.dataTable td, table.dataTable th {
    white-space: nowrap;   /* keep everything in one line */
}
table.dataTable td, table.dataTable th {
    padding: 5px !important;
    line-height: 1;
}

/* Global search is intentionally omitted. Each search/report grid uses its
   own column filters and page filters instead. Covers DataTables 1 and 2. */
div.dataTables_filter,
div.dt-search {
    display: none !important;
}

/* Once the global search and relocated action buttons are removed from a
   DataTables layout row, collapse the row itself so the table gains the space. */
div.dt-container > div.dt-layout-row:not(:has(.dt-buttons, .dt-length, .dt-scroll, .dt-info, .dt-paging, table)) {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dt-scroll {
    width: 100% !important;
    overflow: auto !important;
}
#searchMaster thead th.dt-no-sort .dt-column-order,
.dt-scroll-head th.dt-no-sort .dt-column-order {
   display: none !important;
}
table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order::before {
     bottom:80%;
}
table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order::after {
     top:20%;
}
/* MODIFIED BY OPUS ON 21/07/2026: Keep DataTable sorting indicators at the far-right edge without reducing the label or search input width. */
table.dataTable thead > tr > th.dt-orderable-asc,
table.dataTable thead > tr > th.dt-orderable-desc,
table.dataTable thead > tr > th.dt-ordering-asc,
table.dataTable thead > tr > th.dt-ordering-desc {
    position: relative;
}

/* ADDED BY OPUS ON 21/07/2026: Position the sort control independently from the heading text and filter input. */
table.dataTable thead > tr > th > span.dt-column-order {
    position: absolute !important;
    /* MODIFIED BY OPUS ON 21/07/2026: Touch the header's right edge and remain vertically centered. */
    right: 0 !important;
    left: auto !important;
    top: 30% !important;
    bottom: auto !important;
    width: 10px !important;
    height: 18px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

/* ADDED BY VARUN ON 10/08/2026:
   DataTables 2 moves heading text into a generated title wrapper. Centre that
   wrapper on every grid; aligning only the TH does not affect visible titles. */
table.dataTable thead > tr > th,
table.dataTable thead > tr > td {
    text-align: center !important;
}

table.dataTable thead > tr > th .dt-column-header,
table.dataTable thead > tr > td .dt-column-header {
    position: relative !important;
    justify-content: center !important;
    width: 100% !important;
}

table.dataTable thead > tr > th .dt-column-title,
table.dataTable thead > tr > td .dt-column-title {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}

/* MODIFIED BY VARUN ON 10/08/2026:
   Centre only headings; text entered in inline column filters stays natural. */
table.dataTable thead input.srchInput,
table.dataTable thead input.summary-column-search {
    text-align: left !important;
}

/* ADDED BY OPUS ON 21/07/2026: Remove only the legacy double-line gap between a DataTable heading and its column search input. */
table.dataTable thead th br:has(+ br),
table.dataTable thead th br + br {
    display: none;
}

/* ADDED BY OPUS ON 21/07/2026: Keep a small visual gap without changing the heading or search input width. */
table.dataTable thead th .srchInput {
    margin-top: 3px;
}
/* COMMENTED BY HETANSHREE ON 08/04/2026 - ALL SORTING DISABLED 
th.dt-no-sort {
    pointer-events: none !important;
    cursor: default !important;
    background-image: none !important;
} */
/* MODIFIED BY HETANSHREE ON 08/04/2026 - ALL SORTING DISABLED */ 
#searchMaster thead th.dt-no-sort:first-child,
.dataTables_scrollHead thead th.dt-no-sort:first-child {
    pointer-events: auto !important;
}
#searchMaster thead th.dt-no-sort:first-child input[type="checkbox"],
.dataTables_scrollHead thead th.dt-no-sort:first-child input[type="checkbox"] {
    pointer-events: auto !important;
    cursor: pointer !important;
}
/* \MODIFIED BY HETANSHREE ON 08/04/2026 - ALL SORTING DISABLED */
.srchInput.form-control {
    height:25px;
    padding:0 5px;
    font-size:12px;
    /* ADDED BY BHUMITA ON 17/02/2026 */
    z-index:99;
    position:relative;
    /* \ADDED BY BHUMITA ON 17/02/2026 */
}
/* COMMENTED BY MANSI ON 12/02/2026  
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
  border: 1px solid #3c8dbc;
  box-shadow: none;
  outline:none;
}
.select2-container--default .select2-selection.is-invalid {
    border-color: #dc3545 !important;
} */
table.dataTable.ui.table th.dt-type-numeric, 
table.dataTable.ui.table th.dt-type-date {
    text-align:left;
    font-weight: 700;
    font-size: 13px;
}
/* ADDED BY HETANHSREE PLACEHOLDER LIGHT GREY COLOUR ON 06/03/2026 */
input::placeholder,
textarea::placeholder {
  color: #b0b0b0 !important;
  opacity: 1; 
}
/* \ADDED BY HETANHSREE PLACEHOLDER LIGHT GREY COLOUR ON 06/03/2026 */

/* ADDED BY MANSI ON 12/02/2026 */
.form-select {
    border-radius: 0;
}
/* ===== TOM SELECT BOOTSTRAP COMPACT FIX ===== */

/* Main wrapper like Bootstrap input */
.ts-wrapper.form-control {
  padding: 0 !important;
  height: auto;
}
/* Control (input area) */
.ts-control {
  display: flex;
  flex-wrap: nowrap !important;       /* ❗ prevent cursor going to next line */
  align-items: center;
  overflow-x: auto;                   /* horizontal scroll instead */
  padding: 1px 4px !important;      /* compact spacing */
  min-height: calc(1.5em + .5rem + 2px);
  border: none;
}
/* Selected items */
.ts-control .item {
  white-space: nowrap;
  margin: 2px 4px 2px 0;
  padding: 1px 4px;
  font-size: 0.8rem;
  background: #e9ecef;
  border-radius: 0px;
}

/* Single-select controls should look like normal dropdowns, not tag inputs. */
.ts-wrapper.single .ts-control {
  overflow-x: hidden;
  font-size: inherit;
}

.ts-wrapper.single .ts-control .item {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.ts-wrapper.single.plugin-clear_button .ts-control .item {
  /* The control already reserves room for the arrow and clear button. */
  max-width: 100%;
}

/* Keep the clear action separate from the normal dropdown arrow. */
.ts-wrapper.single.plugin-clear_button .clear-button {
  right: 1.75rem;
  width: 1.25rem;
  color: #6c757d;
  font-size: 1.1rem;
  line-height: 1;
  text-align: center;
}

.ts-wrapper.single.plugin-clear_button.disabled .clear-button,
.ts-wrapper.single.plugin-clear_button.ts-disabled .clear-button {
  display: none;
}

/* With an existing selection, Tab focuses the dropdown without placing a
   visible cursor inside its label. Typing reveals the normal search input. */
.ts-wrapper.single.has-items:not(.ts-searching) .ts-control > input {
  position: absolute !important;
  width: 1px !important;
  min-width: 1px !important;
  opacity: 0;
}

.ts-wrapper.single.ts-searching .ts-control > .item {
  display: none;
}

.ts-wrapper.single.ts-searching .ts-control > input {
  position: relative !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 20px !important;
  opacity: 1;
}

.ts-wrapper.single .ts-control input {
  font-size: inherit;
}
/* Input (cursor) */
.ts-control input {
  flex: 0 0 auto !important;
  min-width: 20px;
  margin: 0;
  padding: 0;
  height: auto;
}
/* Dropdown */
.ts-dropdown {
  font-size: 0.875rem;
  border-radius: 0px;
}
/* Dropdown option */
.ts-dropdown .option {
  padding: 4px 8px;
}
/* Focus (Bootstrap style) */
.ts-wrapper.focus .ts-control {
  border: 1px solid #86b7fe !important;
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.25);
}
/* ===== VALIDATION SUPPORT ===== */
/* Invalid */
.is-invalid + .ts-wrapper .ts-control,
.ts-wrapper.is-invalid .ts-control,
.ts-control.is-invalid {
  border: 1px solid #dc3545 !important;
}
/* Valid */
.is-valid + .ts-wrapper .ts-control,
.ts-wrapper.is-valid .ts-control {
  border: 1px solid #198754 !important;
}
/* ADDED BY HETANSHREE DISABLE FILED DROPDOWN ON 27/02/2026 */
.tomselect.ts-disabled,
.ts-disabled.tomselect {
    pointer-events: none;
    opacity: 0.8;
    background-color: #e9ecef !important;
}
/* \ADDED BY HETANSHREE DISABLE FILED DROPDOWN ON 27/02/2026 */
.add_detail_modal_icon {
  display: flex;
  flex-wrap: wrap;   
  align-items: center;
  gap: 6px;
}
/* \ADDED BY MANSI ON 12/02/2026 */
/* ADDED BY MANSI ON 10/07/2026 - MODAL SCROLLABLE CONTENT */
.modal-dialog-scrollable .modal-content {
    /*overflow-y: auto !important;*/ /*COMMENTED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL ON 08/08/2026*/
    overflow-y: hidden !important;   /*ADDED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL ON 08/08/2026*/
    overflow-x: hidden !important;
}
/* \ADDED BY MANSI ON 10/07/2026 - MODAL SCROLLABLE CONTENT */

/*ADDED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL AND LABEL APLLY ON VERTCAL SCROLL ON 08/08/2026*/
#modalDialog.modal-dialog-scrollable .modal-content {
    height: 100vh;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
#modalDialog #popupForm {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
}
#modalDialog .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}
.detail-modal .box-body.container-fluid {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
#pendingInwardSection {
    min-height: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.pending-inward-scroll-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: auto;
}
.pending-inward-scroll-wrap thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
}
/*\ADDED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL AND LABEL APLLY ON VERTCAL SCROLL ON 08/08/2026*/


/* ADDED BY HETANHSREE TOTAL OUT QTY AND TOTAL OUT WT CACULATION IN PENDING INWARD ON 09/07/2026 */
.modal-footer.pending-footer{
    /*position: fixed;
    bottom: 0;*/ /*COMMENTED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL ON 08/08/2026*/
    
    /*ADDED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL ON 08/08/2026*/
    position: relative;
    flex-shrink: 0;
    /*\ADDED BY DRASHTI FOR SELECT INWARD GRID VERTICAL SCROLL ON 08/08/2026*/
    width: 100%;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
}
.pending-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.pending-footer-left {
    display: flex !important;
    align-items: center !important;
    gap: 80px !important;
}

/* .pending-footer-right {
    display: flex !important;
    gap: 10px !important;
} */
/* \ADDED BY HETANHSREE TOTAL OUT QTY AND TOTAL OUT WT CACULATION IN PENDING INWARD ON 09/07/2026 */
.box-body:has(.box-detail,.dt-container) {
    padding:0 5px;
}
.content-header {
    padding-top:5px;
}
.content {
    padding:4px 6px;
}
/* \ADDED BY BHUMITA ON 09/01/2026 */
/* ADDED BY MANSI ON 06/08/2026 CUSTOMER LABEL WRAP */
.label-wrap {
    white-space: normal !important;
    word-break: break-word;
    line-height: 1.1;
}
/* \ADDED BY MANSI ON 06/08/2026 CUSTOMER LABEL WRAP */
/* ADDED BY MANSI ON 04/02/2026 */
.login-box-body.login-form form .form-group {
    margin-bottom: 5px;  
}
/*Mansi-username password pending*/
/*.form-group {
    margin-bottom: 15px; 
} /* COMMENTED BY BHUMITA ON 16/01/2026 */
/*Mansi-login form */
/*Mansi-margin box-body*/
/*.box-body{
    margin:10px;
}
.detail-modal .box-body.container-fluid {
    padding: 10px;
    margin: 0;
}
.boxheader{
    font-size:16px;
}
.box-footer{
    margin:10px;
}*/ /* COMMENTED BY BHUMITA ON 16/01/2026 */
.login-box-body {
    background: #fff;
    padding: 30px !important;
    border-top: 0;
    color: #666;
    position: relative;
}
/*Mansi-current year*/ 
/* .year-range {
    color: white; 
    font-size: 15px; 
    font-weight: 600; 
    margin-right: 15px;
} */
/* ADDED BY MANSI ON 16/07/2026 HEADER COMPANY NAME, YEAR, USERNAME ALIGNMENT */
.main-header .navbar-custom-menu a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 600;
}
.main-header .navbar-custom-menu a:hover {
    text-decoration: underline !important;
}
.main-header .user-menu .company-name, 
.main-header .user-menu .year-range-link, 
.main-header .user-menu .hidden-xs {
    margin-right: 15px;
}
.main-header .company-block a {
    font-size: 15px !important; 
}
.main-header .company-block {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-right: 15px;
}
/* \ADDED BY MANSI ON 16/07/2026 HEADER COMPANY NAME, YEAR, USERNAME ALIGNMENT */
/* .form-control {
    font-size: 12px;
    line-height: 1.2;
}  COMMENTED BY BHUMITA  */
/* Footer totals normal */
/*Mansi-seasonal start date, end date*/ 
#seasonal_start_date.form-control,
#seasonal_end_date.form-control {
    padding: .375rem .15rem;
}
/* ADDED BY BHUMITA */
.form-group {
    position: relative;
}
.form-group .bi {
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 18px;
    cursor: pointer;
    transform: translateY(-50%);
    color:gray;
}
.form-group .bi.bi-plus {
    position: absolute;
    top: 45%;
    right:-16px;
    font-size:26px;
    cursor: pointer;
    transform: translateY(-45%);
    color: #3c8dbc;
}
.form-group .bi.bi-plus.custom-plus {
    right: -23px;
}
.form-group .add_modal_icon {
    position:relative;
    display: flex;
    flex-wrap: wrap;   
    align-items: center;
    gap: 6px;
}
/* \ADDED BY BHUMITA */
.form-group .add_detail_modal_icon .bi.bi-plus {
    right: -21px;
    margin-top: -8px;
}
.form-group .add_detail_modal_icon .bi.bi-arrow-clockwise {
    right: -16px;
    margin-top: 9px;
    font-size: unset;
}
/*Mansi-Log in button */
.btn-block {
    width: 100%;
    max-width: 100%;
}
.login-box{
    width: 360px;
    margin: 12% auto;
}
/*Mansi-Bootstrap default white */
.btn-logout{
    background-color: #fff !important; 
    border-color: #fff !important;
    color: #000 !important; 
}
.btn-logout i {
    font-size: 15px !important; 
    color: #000 !important; 
}
.hidden-xs {
    color: #fff !important; 
}
/*Done by Mansi*/
/* ADDED BY MANSI ON 17/02/2026 */
/* .company-name {
    font-size: 18px;
    font-weight: 600;
} */
/* \ADDED BY MANSI ON 17/02/2026 */
/*old script starting */
.form-group .has-feedback{
    position: relative;
    margin-bottom: 15px;
}
.has-error span.error {
    color:red;
}
/*input[type="checkbox"], input[type="radio"] {
    height:30px;
}*/ /* COMMENTED BY BHUMITA */
textarea {
    max-width: 100%;
}
label {
        line-height:1.5;
}

/* ADDED BY BHUMITA ON 29/07/2025 */
#gridContainer #searchDetail tr td:first-of-type {
    width:auto;
}
/* \ADDED BY BHUMITA ON 29/07/2025 */
#searchMaster th {
    cursor:move;
}
#searchMaster th input,
#searchMaster th .dt-column-order {
    pointer-events: auto; 
}
/** Detail table **/
.box-detail {
    width:100%;
    margin: 0 auto;
    overflow-x: auto;
}
.box-detail .add {
    margin-bottom:20px;
}
#detailform thead.table-dark,
#detailform thead.table-dark th{
    background-color: #3c8dbc;
    color: #fff;
}
.detail_edit { 
    padding-right:10px;
    display:inline-block;
}
.row .field {
    margin-top: 15px;
}
#searchDetail_wrapper  .row{
    margin-right:0;
}
/** \Detail table **/

/* Hetasvi start */
hr{
 margin: 0;
padding: 0.35rem 1rem;
}
.navbar .dropdown-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: 0.35rem 1rem;
}
.navbar .dropdown-menu .dropdown-item:hover {
    background-color: #f8f9fa; /* Or tamari theme pramane */
}
.dropdown-menu > li > a:hover {
    background-color: transparent !important;  /* Removes the background color change on hover */
    color: #212529 !important;  /* Keeps the text color to dark gray on hover */
    text-decoration: none !important; /* Removes any underline effect on hover */
}
.dropdown-item:active {
    background-color: transparent; /* or none */
}
/* ADDED BY MANSI ON 14/04/2026 - NAVBAR LINK HOVER PADDING ADJUSTMENT */
.navbar .navbar-nav .nav-link {
  display: block;
  padding: 10px; 
  line-height: 1.5;
}
/* Hetasvi Done */
.btn_add_master_record {
    display:inline-block;
    
}
/*Mansi- scrollerbar vertical search master*/
.dataTables_scrollBody {
    overflow-y: auto !important;
}
/*done*/
/* ADDED BY BHUMITA ON 17/08/2026 */
#searchMaster tbody tr.empty-row > td {
    border-right: 0 !important;
    border-left: 0 !important;
}
/* \ADDED BY BHUMITA ON 17/08/2026 */
/* Compact global search field so the table gets more vertical space. */
body.fixed-search-datatable #searchMaster_wrapper .dt-search {
    display: flex;
    align-items: center;
    line-height: 28px;
}

body.fixed-search-datatable #searchMaster_wrapper .dt-search input {
    width: 180px;
    height: 28px;
    min-height: 28px;
    margin-left: 6px;
    padding: 2px 6px;
}

/* MODIFIED BY VARUN ON 18/08/2026:
   Keep every shared srh result box close to the application footer, matching
   the compact form-page spacing without changing table or paging behavior. */
body.fixed-search-datatable section.content {
    padding-bottom: 4px;
}

/* MODIFIED BY VARUN ON 18/08/2026:
   Use more of the screen width on master and transaction srh pages. Reports
   keep their existing report-specific horizontal spacing. */
body.fixed-search-datatable:not(.summary-report-screen) section.content {
    padding-right: 6px;
    padding-left: 6px;
}

body.fixed-search-datatable section.content > .box {
    margin-bottom: 0;
}

/* Compact DataTables information/paging footer without affecting table rows. */
body.fixed-search-datatable #searchMaster_wrapper > .dt-layout-row:has(.dt-info, .dt-paging) {
    position: relative;
    min-height: 34px;
    margin-top: 0px !important;
    margin-bottom: 0 !important;
    align-items: center;
}

/* DataTables draws its normal separator at the bottom of the scrolling area,
   several pixels above the paging controls. Move that separator to the top
   edge of the paging box instead. */
body.fixed-search-datatable #searchMaster_wrapper .dt-scroll-body {
    border-bottom: 0 !important;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 17/08/2026:
   DataTables sets the scroll header/body tables to the full available width.
   Include their borders within that width so the right border is not clipped
   and the table keeps the same inset from both sides on every master search page. */
body.fixed-search-datatable:not(.summary-report-screen) #searchMaster_wrapper .dt-scroll-head table,
body.fixed-search-datatable:not(.summary-report-screen) #searchMaster_wrapper .dt-scroll-body table {
    box-sizing: border-box !important;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 17/08/2026:
   Compensate for the DataTables scrolling wrapper's right-edge offset so the
   visible table has the same spacing from the box on the left and right. */
body.fixed-search-datatable:not(.summary-report-screen) #searchMaster_wrapper .dt-scroll {
    box-sizing: border-box !important;
    padding-right: 4px;
}

body.fixed-search-datatable #searchMaster_wrapper > .dt-layout-row:has(.dt-info, .dt-paging)::before {
    content: "";
    position: absolute;
    top: 0px;
    right: 0;
    left: 0;
    pointer-events: none;
}
div.dt-container div.dt-layout-row {
    margin:10px 2px;
}
body.fixed-search-datatable #searchMaster_wrapper .dt-info,
body.fixed-search-datatable #searchMaster_wrapper .dt-paging {
    position: relative;
    z-index: 1;
}

body.fixed-search-datatable #searchMaster_wrapper .dt-info {
    padding-top: 0 !important;
    line-height: 32px;
}

body.fixed-search-datatable #searchMaster_wrapper .dt-paging .ui.pagination.menu {
    min-height: 32px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.fixed-search-datatable #searchMaster_wrapper .dt-paging .ui.pagination.menu .item,
body.fixed-search-datatable #searchMaster_wrapper .dt-paging .dt-paging-button {
    min-width: 32px;
    height: 32px;
    padding: 5px 8px !important;
    font-size: 12px;
    line-height: 20px;
}

/* Reusable full-height summary-report layout. The filters and totals remain
   visible; only the record area scrolls. */
body.summary-report-screen .content-wrapper {
    min-height: 0 !important;
    flex: 1 1 auto;
    display: flex;
    overflow: hidden;
}

body.summary-report-screen .summary-report-page {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* MODIFIED BY OPUS ON 21/07/2026: Force the report screen to the full viewport height with viewport units + !important. The old height:100% chain was being overridden by the theme, leaving html/body/.wrapper at content height (~206px) and collapsing the box before a search. */
html:has(body.summary-report-screen) {
    height: 100%;
    overflow: hidden !important;
}

body.summary-report-screen {
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
}

body.summary-report-screen > .wrapper {
    /* MODIFIED BY OPUS ON 21/07/2026: Viewport height + !important so the wrapper always fills the screen and its flex column pins the footer to the bottom. */
    height: 100vh !important;
    min-height: 100vh !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.summary-report-screen > .wrapper > .main-header,
body.summary-report-screen > .wrapper > .main-footer {
    flex: 0 0 auto;
}

body.summary-report-screen .summary-report-page > .content-header {
    flex: 0 0 auto;
    padding: 5px 15px 4px;
}

body.summary-report-screen .summary-report-page > .content-header h1 {
    margin: 0;
    font-size: 20px;
    line-height: 27px;
}

body.summary-report-screen .summary-report-content {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    /* MODIFIED BY OPUS ON 21/07/2026: Reduce the horizontal padding (was 15px) so the table uses more of the window width and the symmetric empty space at each end of the horizontal scroll is smaller. */
    padding: 0 6px 4px;
    /* MODIFIED BY OPUS ON 21/07/2026: Make the content a flex column so the box grows to full height even before a search, when the datatable is hidden. */
    display: flex;
    flex-direction: column;
    /* MODIFIED BY OPUS ON 21/07/2026: AdminLTE's .content sets margin-left/right:auto which, on a flex item, absorbs the free space and disables flex-grow, centering the box at ~1034px. Zero the margins so the content stretches to full width. */
    margin-right: 0;
    margin-left: 0;
}

body.summary-report-screen .summary-report-box,
body.summary-report-screen .summary-report-box-body {
    height: 100%;
    width: 100%;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    margin-bottom: 0;
}

/* MODIFIED BY OPUS ON 21/07/2026: Grow the box with flexbox instead of relying on percentage height, so the empty (pre-search) state still fills the screen. */
body.summary-report-screen .summary-report-box {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

body.summary-report-screen .summary-report-box-body {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    /* MODIFIED BY OPUS ON 21/07/2026: Set the LEFT padding so the gap before the first column is ~10px (the right-side gap is handled by padding-right on the scroll pane, because overflowing scroll content ignores this container's right padding). */
    padding: 5px 3px 2px 7px;
    /* MODIFIED BY OPUS ON 21/07/2026: Fill the remaining box height via flex-grow so the footer stays anchored at the bottom with or without the datatable. */
    flex: 1 1 auto;
}

.summary-report-form {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
}


.summary-report-toolbar {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    min-height: 27px;
    margin-bottom: 6px;
}

.summary-selection-mode {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.summary-selection-mode label {
    margin: 0;
    font-weight: 400;
}

.summary-selection-mode input {
    margin-right: 4px;
}

/* ADDED BY VARUN ON 30/07/2026: Visually separate the Item Stock Statement selection-mode and report-type radio groups. */
.item-stock-report-mode {
    margin-left: 20px;
}

/* ADDED BY VARUN ON 30/07/2026: Grouped Item Stock Statement headings and subtotals. */
body.summary-report-screen #searchMaster tbody tr.item-stock-group-heading td {
    background: #f3f5f7;
    border-top: 1px solid #b9c1c9;
    border-bottom: 1px solid #d5dbe1;
    font-weight: 700;
    padding: 5px 8px;
}

body.summary-report-screen #searchMaster tbody tr.item-stock-group-total td {
    background: #fafafa;
    border-top: 1px solid #c8ced4;
    font-weight: 700;
    padding: 4px 8px;
}

body.summary-report-screen #searchMaster tbody tr.item-stock-group-total .item-stock-total-label {
    text-align: right;
}

.summary-date-filters {
    display: flex;
    align-items: flex-end;
    gap: 5px;
}

.summary-date-field {
    flex: 0 1 160px !important;
    width: auto !important;
    max-width: 160px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.summary-date-field .summary-date {
    flex: 1 1 125px;
    width: 125px;
    min-width: 90px;
}

.summary-report-filter-row {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 5px;
    justify-content: start;
    align-items: end;
    margin-right: 0;
    margin-left: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.summary-report-filter-row > .report-filter-field {
    flex: 0 0 var(--summary-field-width, 145px) !important;
    width: var(--summary-field-width, 145px) !important;
    min-width: var(--summary-field-min-width, 95px) !important;
    max-width: var(--summary-field-max-width, 245px) !important;
    padding-right: 0;
    padding-left: 0;
}

.summary-report-toolbar .report-filter-field,
.summary-report-filter-row > .report-filter-field {
    display: flex;
    align-items: center;
    gap: 4px;
}

.summary-report-form .report-filter-field label {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0;
    font-size: 14px;
    white-space: nowrap;
}

/* ADDED BY VARUN ON 10/08/2026:
   Account Ledger keeps its compulsory Account filter in the top toolbar.
   Validation belongs below the dropdown, not beside it in the flex row. */
.ledger-account-field .ledger-account-control {
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    position: relative;
    width: 180px;
    min-width: 180px;
}

/* MODIFIED BY VARUN ON 10/08/2026:
   The Account field is moved out of Bootstrap's filter row into the compact
   toolbar. Remove its old grid-column width so actions follow it directly. */
.summary-report-toolbar .ledger-account-field {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
}

.ledger-account-field .ledger-account-control > .ts-wrapper,
.ledger-account-field .ledger-account-control > select {
    width: 100% !important;
}

.ledger-account-field .invalid-feedback {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    width: 100%;
    margin-top: 2px;
}

.summary-report-filter-row > .report-filter-field > .ts-wrapper,
.summary-report-filter-row > .report-filter-field > select {
    flex: 0 0 var(--summary-control-width, 180px);
    width: var(--summary-control-width, 180px) !important;
    min-width: var(--summary-control-width, 180px);
    max-width: var(--summary-control-width, 180px);
}

.report-filter-field .form-control,
.report-filter-field .form-select,
.report-filter-field .ts-control {
    min-height: 27px;
    height: 27px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 14px;
}

.summary-report-form .ts-control input,
.summary-report-form .ts-dropdown,
.summary-report-form .ts-dropdown .option {
    font-size: 14px;
}

.summary-report-form .ts-dropdown .option {
    white-space: nowrap;
}

.report-filter-field .ts-wrapper.multi .ts-control {
    height: auto;
    min-height: 27px;
    max-height: 52px;
    overflow-y: auto;
}

.summary-report-actions, .box-footer, .frm_right_actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    margin: 0;
}
.frm_right_actions {
     flex-shrink: 0;
     justify-content: flex-end;
}
.summary-report-actions .dt-buttons, .box-footer .btn, .frm_right_actions .btn {
    display: inline-flex;
    gap: 5px !important;
    margin: 0 !important;
    white-space: nowrap;
}

/* The Search button and DataTables button group share the same small wrapper.
   Keep the boundary spacing identical to the spacing inside the group. */
.summary-report-actions #btn-date-search + .dt-buttons {
    margin-left: 5px !important;
}


#btn-date-search.summary-action-button,
.summary-report-actions #btn-date-search { background: #00a65a !important; }
/* body.summary-report-screen .dt-button.summary-excel-button,
body.inward-search-report-actions .dt-button.summary-excel-button { background: #6c757d !important; border-color: #5a6268 !important; }
body.summary-report-screen .dt-button.summary-pdf-button,
body.inward-search-report-actions .dt-button.summary-pdf-button { background: #3c8dbc !important; border-color: #367fa9 !important; }
body.summary-report-screen .dt-button.dt-reset-button,
body.inward-search-report-actions .dt-button.dt-reset-button { background: #f39c12 !important; border-color: #e08e0b !important; }
body.summary-report-screen .dt-button.dt-close-button,
body.inward-search-report-actions .dt-button.dt-close-button { background: #dd4b39 !important; border-color: #d73925 !important; } */
.dt-button.summary-excel-button { background: #6c757d !important; border-color: #5a6268 !important; }
.dt-button.summary-pdf-button { background: #3c8dbc !important; border-color: #367fa9 !important; }
.dt-button.dt-reset-button { background: #f39c12 !important; border-color: #e08e0b !important; }
.dt-button.dt-close-button { background: #dd4b39 !important; border-color: #d73925 !important; }

th.inward-export-only {
    display: none;
}

.summary-report-table-area {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

body.summary-report-screen #searchMaster_wrapper {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

body.summary-report-screen #searchMaster_wrapper > .dt-layout-row:has(.dt-scroll) {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

body.summary-report-screen #searchMaster_wrapper > .dt-layout-row:has(.dt-scroll) > .dt-layout-cell,
body.summary-report-screen #searchMaster_wrapper .dt-scroll {
    height: 100%;
    min-height: 0;
}

body.summary-report-screen #searchMaster_wrapper .dt-scroll {
    display: flex;
    flex-direction: column;
}

/* ADDED BY OPUS ON 21/07/2026: The scroll header and body share this flex column, and the body is given an explicit pixel height. Without a fixed flex basis the header defaults to flex:0 1 auto and gets shrunk to 0 when the body fills the column - most visible on an empty result, where the "No data available" row lands where the header should be. Pin the header to its natural height so it can never collapse. */
body.summary-report-screen #searchMaster_wrapper .dt-scroll-head {
    flex: 0 0 auto !important;
}

/* ADDED BY OPUS ON 21/07/2026: Add trailing space at the right end of the horizontal scroll so the last column has a gap after it that matches the ~6px margin before the first column, instead of sitting flush against the edge. Applied equally to both scroll panes so the header and body keep the same trailing space and stay aligned. */
body.summary-report-screen #searchMaster_wrapper .dt-scroll-head,
body.summary-report-screen #searchMaster_wrapper .dt-scroll-body {
    padding-right: 10px;
}

/* ADDED BY OPUS ON 21/07/2026: The header table renders 2px wider than the body table because it uses content-box sizing - its 1px left/right borders add on top of the width DataTables sets, while the body table is border-box (borders inside the width). Force border-box on both scroll tables so their rendered widths (and right borders) match exactly. */
body.summary-report-screen #searchMaster_wrapper .dt-scroll-head table,
body.summary-report-screen #searchMaster_wrapper .dt-scroll-body table {
    box-sizing: border-box;
}

/* MODIFIED BY OPUS ON 21/07/2026: Let the scroll body flex to fill the space left after the (now fixed-height) header instead of holding a rigid pixel height. The JS-computed height had been measured while the header was collapsed, so a rigid body overflowed the column and showed a scrollbar even with no rows. flex:1 1 auto shrinks it to fit when empty, and it still scrolls internally when the rows exceed the available height. */
body.summary-report-screen #searchMaster_wrapper .dt-scroll-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
}

/* ADDED BY OPUS ON 22/07/2026: Per-column data-cell alignment for summary grids (applied
   via columnDefs, e.g. Outward Summary centres Qty and right-aligns Weight). Scoped to <td>
   so the header label and its column-search input keep their normal left alignment. */
body.summary-report-screen #searchMaster td.summary-col-center { text-align: center; }
body.summary-report-screen #searchMaster td.summary-col-right { text-align: right; }
body.summary-report-screen #searchMaster td.summary-col-left { text-align: left; }

/* ADDED BY OPUS ON 23/07/2026: Inward - Outward Summary two-section grid. A centred
   "Inward Summary" / "Outward Summary" group header row sits above the sub-headers, and
   a vertical divider separates the 5 inward columns from the 7 outward columns (header
   group cell, sub-header cell and every body cell in column 5 get the right border). */
body.summary-report-screen #searchMaster.io-summary-table .io-summary-group-row th {
    text-align: center;
    font-weight: 700;
    background: #eef1f7;
    font-size: 15px;
}
body.summary-report-screen #searchMaster.io-summary-table th.io-summary-inward,
body.summary-report-screen #searchMaster.io-summary-table th.io-summary-outward {
    text-align: center;
}
body.summary-report-screen #searchMaster.io-summary-table th.io-summary-divider,
body.summary-report-screen #searchMaster.io-summary-table tbody td:nth-child(5) {
    border-right: 2px solid #333 !important;
}

body.summary-report-screen #searchMaster_wrapper > .dt-layout-row:first-child {
    min-height: 27px;
    margin: 0 0 2px !important;
}

body.summary-report-screen #searchMaster_wrapper > .dt-layout-row:last-child {
    flex: 0 0 28px;
    min-height: 28px;
    margin: 0 !important;
}

body.summary-report-screen #searchMaster_wrapper .dt-search {
    line-height: 25px;
}

body.summary-report-screen #searchMaster_wrapper .dt-search input {
    height: 25px;
    min-height: 25px;
}

body.summary-report-screen #searchMaster th {
    white-space: nowrap;
    vertical-align: bottom;
}

body.summary-report-screen #searchMaster th .summary-column-search {
    width: 100%;
    min-width: 92px;
    height: 25px;
    margin-top: 4px;
    padding: 2px 5px;
    font-size: 14px;
}

/* ADDED BY VARUN ON 10/08/2026:
   Account Ledger headings are centered while inline filter text and ledger
   data cells retain their existing alignments. */
body.summary-report-screen #searchMaster.account-ledger-table thead th {
    text-align: center !important;
}

body.summary-report-screen #searchMaster.account-ledger-table thead th .summary-column-search {
    text-align: left !important;
}

.summary-report-totals {
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 26px;
    padding: 0 0 0 18px;
    border: 0;
    background: transparent;
    /* MODIFIED BY OPUS ON 21/07/2026: Match total quantity and weight text with the regular page font size. */
    font-size: 14px;
}

/* ADDED BY VARUN ON 10/08/2026:
   Keep all Account Ledger balances together at the horizontal centre of the
   bottom totals area. */
.summary-report-totals.account-ledger-totals {
    /* MODIFIED BY VARUN ON 10/08/2026:
       DataTables relocates totals into its left footer cell after loading.
       Position this ledger-only group against the complete footer row so it
       remains centred after that relocation instead of settling on the left. */
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    padding-right: 0;
    padding-left: 0;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

/* ADDED BY OPUS ON 21/07/2026: Let the results block fill the remaining body height so the table area and totals sit correctly and the footer stays at the bottom. */
.summary-report-results {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* ADDED BY OPUS ON 21/07/2026: Show only report filters before the first Search action. */
.summary-report-results-hidden {
    display: none !important;
}

/* ADDED BY VARUN ON 30/07/2026:
   Keep the current Yearly Stock item as a compact heading above the five
   requested month/quantity columns. */
.yearly-stock-item-title {
    min-height: 0;
    color: #0047b3;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    text-decoration: underline;
}

.yearly-stock-item-title:not(:empty) {
    padding: 5px 8px;
    margin-bottom: 3px;
}

/* MODIFIED BY VARUN ON 30/07/2026:
   The five-column Yearly Stock grid always fills its available width without
   creating a horizontal scrollbar. */
body.summary-report-screen #yearly-stock-item-title + .summary-report-table-area,
body.summary-report-screen #yearly-stock-item-title + .summary-report-table-area table {
    width: 100% !important;
}

body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row {
    /* MODIFIED BY VARUN ON 10/08/2026:
       Give the shared report footer equal left/right insets so information
       text and paging controls do not touch either edge of the report box. */
    box-sizing: border-box;
    /* MODIFIED BY VARUN ON 10/08/2026:
       Provide the positioning reference used by centered ledger balances. */
    position: relative;
    width: 100%;
    padding-right: 8px;
    padding-left: 8px;
    border-top: 1px solid #d9d9d9;
}

body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row > .dt-layout-start {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row .dt-info {
    line-height: 26px;
}

body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row .ui.pagination.menu {
    min-height: 26px;
}

body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row .ui.pagination.menu .item,
body.summary-report-screen #searchMaster_wrapper .summary-report-footer-row .dt-paging-button {
    min-width: 26px;
    height: 26px;
    padding: 3px 7px !important;
    line-height: 20px;
}

@media (max-width: 1250px) {
    .summary-report-filter-row {
        grid-template-columns: 135px 135px repeat(2, minmax(190px, 1fr));
    }

    .summary-report-filter-row > .report-filter-field {
        flex-shrink: 1 !important;
    }

    .summary-report-filter-row > .report-filter-field > .ts-wrapper,
    .summary-report-filter-row > .report-filter-field > select {
        flex-shrink: 1;
        min-width: 135px;
    }
}

@media (max-width: 767.98px) {
    body.summary-report-screen .summary-report-box-body {
        padding-right: 6px;
        padding-left: 6px;
    }

    .summary-report-totals {
        gap: 18px;
    }

    .summary-report-filter-row {
        grid-template-columns: repeat(2, minmax(135px, 1fr));
    }

    .summary-report-toolbar {
        flex-wrap: wrap;
    }

    /* ADDED BY VARUN ON 30/07/2026: Remove the horizontal offset when the report toolbar wraps on smaller screens. */
    .item-stock-report-mode {
        margin-left: 0;
    }
}
/*Mansi - customer button */
/*
#customer {
    width: 100%;
    min-width: 210px;
}
*/

/*Mansi Done*/
/*
#gridContainer {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 10px;
    background-color: #f9f9f9;
}
*/
/* ADDED BY MANSI ON 02/03/2026 FOCUS OUTWARD SELECT INWARD ON POPUP OPEN */
.popup-ok-focused {
    border: 2px solid #0a58ca !important;
    box-shadow: 0 0 0 3px rgba(13,110,253,.35) !important;
    outline: none !important;
}
/* \ADDED BY MANSI ON 02/03/2026 FOCUS OUTWARD SELECT INWARD ON POPUP OPEN */
/* MODIFIED BY VARUN ON 22/07/2026: Apply a clear browser-style outline only to
   programmatically focused buttons; form inputs keep their existing focus UI. */
.detail-programmatic-focus {
    outline: 2px solid #0d6efd !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}
/* \MODIFIED BY VARUN ON 22/07/2026 */
/* ADDED BY VARUN ON 22/07/2026: Display normal keyboard focus on SweetAlert
   action buttons only. This does not alter SweetAlert inputs or form fields. */
.swal2-actions button:focus {
    outline: 2px solid #0d6efd !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}
/* \ADDED BY VARUN ON 22/07/2026 */
#generatedInvoiceTableBody tr.gracedaysRow,
#generatedInvoiceTableBody tr.gracedaysRow td {
    display: none !important;
}
#gridContainer table {
    border-collapse: collapse;
    width: 100%;
    background-color: #fff;
    
}

#gridContainer th, #gridContainer td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
    vertical-align: middle;
}

#gridContainer th {
    background-color: #fff;
    font-weight: bold;
}

#gridContainer tr:nth-child(even) {
    background-color: #f9f9f9;
}

#gridContainer tr:hover {
    background-color: #f1f1f1;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-color-type: var(--bs-table-striped-color);
    --bs-table-bg-type: rgb(239, 235, 235, 0.05);
}
/* date disable */
input.disabled-look[readonly] {
    background-color: #e9ecef;
    opacity: 1;    
    cursor: not-allowed;   
}
/*Mansi- button select inward*/
/* .light-bg {
    background-color: #f0f0f0;
} */
#btn_inward {
    /* white-space: nowrap; */
    padding: 5px;
    /* color: white;
    background-color: #3c8dbc;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease; */
    padding-left: 6px;
    margin-left: -10px;
}
/*done*/
/*Mansi-pending stock color*/
.selected-inward-row {
    --bs-table-bg: #cbe7ff !important;
}
.full-inward-qty {
    --bs-table-bg: #da9bad !important;
}
/*Done*/

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    margin: 0; 
}
input[type=number] { -moz-appearance: textfield; }

/* Party Wise Inward Balance Print Preview */

/* Container and basic styles */
.pwib-body {
    font-family: Arial, sans-serif;
    font-size: 16px;
    background: #fff;
    margin: 0;
    padding: 10px;
}

.pwib-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.pwib-header-left {
    font-size: 16px;
    text-align: left;
    width: 33%;
}
.pwib-header-center {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    width: 34%;
}
.pwib-header-right {
    font-size: 16px;
    text-align: right;
    width: 33%;
}

.pwib-title-divider {
    border: 0;
    border-top: 2px solid #000;
    margin: 0 0 5px 0;
}

.pwib-report-title {
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    margin: 5px 0;
}

.pwib-button-container {
    text-align: right;
    margin-bottom: 10px;
}
.pwib-button-container button {
    margin-left: 5px;
    padding: 5px 15px;
    font-size: 16px;
    cursor: pointer;
}

/* Table styles */
.pwib-report-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
}
.pwib-report-table th,
.pwib-report-table td {
    border: none;
    padding: 5px 8px;
    text-align: center;
    font-size: 14px;
}
.pwib-report-table th {
    background: #f4f4f4;
}
.pwib-party-header {
    font-weight: bold;
    text-align: left;
}
.pwib-party {
    text-align: right !important;
}
.pwib-party-total {
    font-weight: bold;
}
.pwib-grand-total {
    font-weight: bold;
}
.pwib-text-right {
    text-align: right;
}
/* Invoice GST Summary Custom Table Styles - hetasvi-patel */
.invoice-gst-summary-table {
    border-collapse: collapse;
    width: 100%;
    background-color: #fff;
}

.invoice-gst-summary-table th,
.invoice-gst-summary-table td {
    border: none;
    padding: 2px 5px;
    text-align: center;
    vertical-align: middle;
    font-size: 13px;
}

.invoice-gst-summary-table th {
    background: #fafafa;
    font-weight: bold;
    cursor: move;
}

.invoice-gst-summary-table tr:nth-child(even) {
    background-color: #f9f9f9;
}

.invoice-gst-summary-table tr:hover {
    background-color: #f1f1f1;
}

/* Search filter row style for invoice gst summary */
.invoice-gst-summary-search-row {
    margin-bottom: 12px;
}

/* Remove height for search boxes */
.invoice-gst-summary-search-input,
.invoice-gst-summary-dropdown {
    width: 170px;
    min-width: 170px;
    /* height removed */
}

/* Location Detail Module Styles - hetasvi */
.location-detail-form-wrapper {
    margin-bottom: 10px;
}
.location-detail-unit-type label {
    margin-right: 10px;
    margin-bottom: 8px;
    /* MODIFIED BY VARUN ON 27/07/2026: Match the standard report font size. */
    font-size: 14px;
}
.location-detail-btn-row {
    margin-bottom: 12px;
}
.location-detail-btn-excel {
    margin-right: 8px;
}
.location-detail-search-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.location-detail-chamber-search,
.location-detail-floor-search {
    min-width: 120px;
}

/* --- LEGEND ROW: ALL ITEMS IN ONE HORIZONTAL LINE --- */
.location-detail-legend-row {
    /* margin-bottom: 8px; */
    display: flex;
    flex-direction: row;    
    gap: 18px;             
    align-items: center;
}
.legend-item {
    display: flex;
    align-items: center;
}
.legend-color {
    width: 33px;
    height: 18px;
    display: inline-block;
    border: 1px solid #999;
    margin-right: 8px;
}
.legend-full {
    background: #5fd7b0;
}
.legend-partial {
    background: #e25e5e;
}
.legend-norack {
    background: #c3c3c3;
}
.legend-label {

    color: #222;
    /* MODIFIED BY VARUN ON 27/07/2026: Match the standard 14px report typography. */
    font-size: 14px;
    line-height: 18px;
}

.location-detail-legend {
    padding: 4px 10px;
    margin-right: 8px;
    border-radius: 3px;
    font-size: 13px;
    display: inline-block;
}
.location-detail-legend-full {
    background: #5fd7b0;
    color: #000;
}
.location-detail-legend-partial {
    background: #e25e5e;
    color: #fff;
}
.location-detail-legend-norack {
    background: #c3c3c3;
    color: #000;
}
.location-detail-table-scroll-x {
    overflow-x: auto;
    width: 100%;
}
.location-detail-table-scroll-y {
    max-height: 440px;
    overflow-y: auto;
}
.location-detail-custom-grid {
    background: #eee;
    border-collapse: collapse;
    width: auto;
    /* MODIFIED BY VARUN ON 27/07/2026: Use the same inherited font and size as other reports. */
    font-family: inherit;
    font-size: 14px;
    min-width: 600px;
}

.location-detail-custom-grid th,
.location-detail-custom-grid td {
    /* MODIFIED BY VARUN ON 27/07/2026: Add minimally visible rack-grid dividers. */
    border: 1px solid rgba(0, 0, 0, 0.08);
    text-align: center;
    vertical-align: middle;
}
/* MODIFIED BY MANSI ON 27/02/2026 */
.location-detail-custom-grid td.grid-cell-partial,
.location-detail-custom-grid td.grid-cell-partial .grid-cell-value {
    background-color: #e25e5e !important; /* red */
    color: #fff !important;
}

.location-detail-custom-grid td.grid-cell-outwarded,
.location-detail-custom-grid td.grid-cell-outwarded .grid-cell-value {
    background-color: #5fd7b0 !important; /* green */
    color: #006d6d !important;
}

.location-detail-custom-grid td.grid-cell-empty,
.location-detail-custom-grid td.grid-cell-empty .grid-cell-value {
    background-color: #eee !important;
    color: #222 !important;
}
/* \MODIFIED BY MANSI ON 27/02/2026 */
.location-detail-custom-grid .grid-cell-value {
    background: #f9f9f9;
    color: #222;
    font-weight: bold;
    font-size: 14px;
    padding: 4px 10px;
    white-space: nowrap;
}
.location-detail-grid-header-chamber,
.location-detail-grid-header-floor {
    background: #eee;
    color: #222;
    font-weight: bold;
}

.location-detail-grid-header-rack {
    background: #fff;
    color: #222;
    font-weight: bold;
}

.location-detail-grid-chamber,
.location-detail-grid-floor {
    background: #f4f4f4;
    color: #222;
    padding: 2px 8px;
    
}
.location-detail-grid-cell {
    min-width: 65px;
    height: 32px;
    padding: 0;
    position: relative;
}
.grid-cell-value {
    display: flex;
    align-items: center;
    justify-content: center; /* Optional: center horizontally too */
    width: 100%;
    height: 100%;
    font-weight: bold;
    font-size: 14px;
    padding: 4px 10px;
    white-space: nowrap;
    border-radius: 3px;
}

.grid-cell-partial {
    background: #e25e5e;
    color: #fff;
}

.grid-cell-outwarded {
    background: #5fd7b0;
    color: #006d6d;
}

.grid-cell-empty {
    background: #eee;
}
/* End of Location Detail Module Styles - hetasvi */
/* ADDED BY MANSI ON 23/03/2026 - LOT STATEMENT CONTENT REPORT */
.lot-statement-content {
    padding-top : 15px;
}
/* \ADDED BY MANSI ON 23/03/2026 - LOT STATEMENT CONTENT REPORT */
/* ADDED BY MANSI ON 13/03/2026 - ALL SORTING DISABLED */
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after {
    display: none !important;
    content: "" !important;
}
table.dataTable thead th.sorting_disabled {
    cursor: default !important;
}
/* \ADDED BY MANSI ON 13/03/2026 - ALL SORTING DISABLED */
/* ADDED BY HETANSHREE INWARD DETAIL + ICON */
/*.modal-backdrop {
    z-index: 1050 !important;
    opacity: 0.5 !important; 
    transition: opacity 0.3s ease;
}

.modal-backdrop.fade {
    opacity: 0 !important;
}

#modalDialog {
    z-index: 1055 !important;
}

#addItemModal, #addCustomerModal, #addPackingUnitModal, #addChamberModal, #addFloorModal {
    z-index: 1070 !important;
}

.modal-backdrop.show {
    opacity: 0.5 !important;
}


#modalDialog.stacked-base ~ .modal-backdrop {
    opacity: 0.4 !important;
}


body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important; 
}*/

/* Print styles */
@media print {
    .pwib-button-container {
        display: none;
    }
    .pwib-body {
        padding: 0;
        font-size: 12px;
    }

    /* PRINT-ONLY Outward Summary Columns - HETASVI CUSTOM */
    /* #searchMaster th, #searchMaster td {
        display: none !important;
    }
    #searchMaster th.printout-col, #searchMaster td.printout-col {
        display: table-cell !important;
    } */
    /* ADDED BY HETANSHREE INWARD DETAIL + ICON */
}
@media print {
  body.pwib-print #searchMaster th,
  body.pwib-print #searchMaster td { display: none !important; }

  body.pwib-print #searchMaster th.printout-col,
  body.pwib-print #searchMaster td.printout-col { display: table-cell !important; }
}

/* --- RESPONSIVE MOBILE & TABLET: FULLY RESPONSIVE GRID TABLE --- */
@media (max-width: 1100px) {
    .location-detail-custom-grid {
        min-width: 400px;
        font-size: 13px;
    }
    .location-detail-custom-grid th,
    .location-detail-custom-grid td {
        padding: 4px 4px;
        font-size: 13px;
    }
    .grid-cell-value {
        font-size: 13px;
        line-height: 26px;
        height: 26px;
    }
    .legend-label {
        font-size: 13px;
    }
}

@media (max-width: 800px) {
    .location-detail-custom-grid {
        min-width: 300px;
        font-size: 12px;
    }
    .location-detail-custom-grid th,
    .location-detail-custom-grid td {
        padding: 2px 2px;
        font-size: 12px;
    }
    .grid-cell-value {
        font-size: 12px;
        line-height: 20px;
        height: 20px;
    }
    .location-detail-form-wrapper,
    .location-detail-legend-row {
        flex-direction: column;
        row-gap: 8px;
    }
    .legend-label {
        font-size: 12px;
    }
}
/*Mansi- responsive pending*/
@media (min-width: 691px) and (max-width: 800px) {
  .modal-body .table thead {
    display: none;
  }
  .modal-body .table,
  .modal-body .table tbody,
  .modal-body .table tr,
  .modal-body .table td {
    display: block;
    width: 100%;
  }
  .modal-body .table tr {
    margin-bottom: 1rem;
    border-bottom: 1px solid #ccc;
  }
  .modal-body .table td {
    text-align: left;
    position: relative;
    padding-left: 50%;
    min-height: 36px;
    box-sizing: border-box;
    border: 1px solid #dee2e6;
  }
  .modal-body .table td:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    top: 0;
    width: 48%;
    padding-left: 10px;
    font-weight: bold;
    white-space: nowrap;
    background: #f8f9fa;
    height: 100%;
    display: flex;
    align-items: center;
    border-right: 1px solid #dee2e6;
  }
}
/* For smaller screens */
@media (min-width: 768px) {
    .modal-dialog:not(".outward") {
       margin-top:-50px;
    }
}
/*done*/
@media (min-width: 691px) {
    /* ADDED BY BHUMITA ON 15/10/2025 */
    #searchDetail tr td:first-of-type,
    #searchMaster tr td:first-of-type {
        width:130px;
    }
    /* \ADDED BY BHUMITA ON 15/10/2025 */
}
/* Responsive styles */
@media screen and (max-width: 768px) {
    .pwib-header-container {
        flex-direction: column;
        align-items: flex-start;
    }
    .pwib-header-left,
    .pwib-header-center,
    .pwib-header-right {
        width: 100%;
        text-align: left;
        margin-bottom: 3px;
    }
    .pwib-report-table {
        font-size: 12px;
    }
    .pwib-report-table th,
    .pwib-report-table td {
        padding: 4px 6px;
    }
    .pwib-button-container button {
        padding: 4px 10px;
        font-size: 14px;
    }
}
@media screen and (max-width: 690px) {
    #searchDetail, #searchDetail thead, #searchDetail tbody, #searchDetail tr, #searchDetail th, #searchDetail td {
        display: block;
        width: 100%;
    }
    #searchDetail thead {
        display: none;
    }
    #searchDetail tr {
        margin-bottom: 1rem;
        border: 1px solid #dee2e6;
        border-radius: 0.25rem;
        background: #fff;
    }
    #searchDetail td {
        border: none;
        border-bottom: 1px solid #e9ecef;
        position: relative;
        padding: 0.75rem 1rem 0.75rem 45%;
        min-height: 36px;
        text-align: left !important;
    }
    #searchDetail td[data-label]:before {
        content: attr(data-label) ': ';
        position: absolute;
        left: 1rem;
        width: 43%;
        min-width: 100px;
        font-weight: bold;
        color: #333;
        white-space: nowrap;
        padding-right: 10px;
    }

    /* Mansi -responsive tables */
    table, thead, tbody, th, td, tr {
        display: block;
    }
    thead tr {
        /*position: absolute;
        top: -9999px;
        left: -9999px;*/
        display: none;
    }
    tr {
        margin: 0 0 1rem 0;
        border: 1px solid #ccc;
        padding: 10px;
    }

    td {
        border: none;
        padding-left: 50% !important;
        position: relative;
    }

    td:before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 45%;
        padding-left: 15px;
        font-weight: bold;
        line-height:12px;
    }
    table.dataTable.ui.table td.dt-type-numeric {
        text-align:left;
    }
     /* \responsive tables */

     /* Responsive adjustments just for invoice gst summary table */
    .invoice-gst-summary-table, 
    .invoice-gst-summary-table thead, 
    .invoice-gst-summary-table tbody, 
    .invoice-gst-summary-table th, 
    .invoice-gst-summary-table td, 
    .invoice-gst-summary-table tr {
        display: block;
    }
    .invoice-gst-summary-table thead tr {
        display: none;
    }
    .invoice-gst-summary-table tr {
        margin: 0 0 1rem 0;
        border: none;
        padding: 10px;
    }
    .invoice-gst-summary-table td {
        border: none;
        padding-left: 50% !important;
        position: relative;
    }
    .invoice-gst-summary-table td:before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 45%;
        padding-left: 15px;
        font-weight: bold;
    }
     /* END Responsive adjustments just for invoice gst summary table */

    /* --- Responsive: Stack legends vertically on mobile --- */
     .location-detail-legend-row {
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
    }
    .legend-label {
        font-size: 11px;
    }
    .legend-color {
        width: 28px;
        height: 13px;
        margin-right: 6px;
    }
    /* --- END Responsive: Stack legends vertically on mobile --- */
}
@media screen and (max-width: 480px) {
    .pwib-report-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    .pwib-report-title {
        font-size: 15px;
    }
}

.modal-fullscreen .modal-dialog {
    z-index: 1050;  
}
.modal-backdrop {
    z-index: 1040;  /* Standard Bootstrap */
}
/* When child modal opens, make parent content visible but dimmed */
.modal.show ~ .modal.show .modal-dialog {
    z-index: 1060;  /* Child higher than parent */
}

/* Reusable full-height master/detail transaction form layout. */
.transaction-screen-box {
    height: var(--transaction-workspace-height, calc(100dvh - 120px));
    min-height: 420px;
    margin-bottom: 0;
    overflow: hidden;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 12/08/2026:
   Form screens manage overflow inside their own middle/body section, so the
   outer browser page must not display a second vertical scrollbar. */
body.transaction-form-screen {
    overflow-y: hidden;
}

.transaction-screen-form {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

/* ADDED BY VARUN ON 07/08/2026:
   Reusable body for transaction forms which contain master fields only.
   The body fills the available height above the shared action footer and
   becomes scrollable only on smaller screens. */
.transaction-master-only-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.transaction-top-section,
.transaction-bottom-section,
.transaction-action-footer {
    flex: 0 0 auto;
}

/* Let an open Tom Select menu escape the top section's responsive scroll box. */
.transaction-top-section:has(.ts-wrapper.dropdown-active) {
    position: relative;
    z-index: 20;
    overflow: visible;
}

.transaction-top-section:has(.ts-wrapper.dropdown-active) .ts-dropdown {
    z-index: 30;
}

.transaction-detail-section {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 110px;
    overflow: hidden;
    padding-top: 4px;
    padding-bottom: 4px;
}

.transaction-detail-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.transaction-detail-grid-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.transaction-detail-grid-scroll table {
    width: 100% !important;
    min-width: max-content;
    margin-bottom: 0;
}

.transaction-detail-grid-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
}

.transaction-detail-toolbar {
    flex: 0 0 auto;
    padding-top: 8px;
    margin-left:5px;
}

.transaction-bottom-section {
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 1px solid #f0f0f0;
}

.transaction-action-footer {
    border-top: 1px solid #eee;
}

/* A transaction can switch between generated and manually entered detail grids. */
.transaction-middle-switch .transaction-generated-panel {
    flex: 1 1 auto;
}

.transaction-middle-switch.manual-mode .transaction-generated-panel {
    flex: 0 0 auto;
    padding-bottom: 8px;
}
.transaction-middle-switch.manual-mode .transaction-manual-panel {
    display: flex !important;
    flex: 1 1 auto;
    min-height: 0;
}
/* ADDED BY OPUS ON 18/08/2026: Hide the empty manual detail grid (e.g. Add mode before any
   record is added). Higher specificity than the rule above so it overrides display:flex. */
.transaction-middle-switch.manual-mode .transaction-manual-panel.mp-grid-hidden {
    display: none !important;
}

@media (max-width: 991.98px) {
    .transaction-screen-box {
        min-height: 360px;
    }

    .transaction-top-section {
        max-height: 28dvh;
        overflow-y: auto;
    }

    .transaction-bottom-section {
        max-height: 36dvh;
    }
}

/* Keep the two invoice summary groups side by side on tablet/small screens. */
@media (min-width: 576px) and (max-width: 991.98px) {
    .transaction-bottom-section .invoice-bottom-column {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .transaction-bottom-section .invoice-bottom-column .col-sm-3 {
        flex: 0 0 40%;
        max-width: 40%;
    }

    .transaction-bottom-section .invoice-bottom-column .col-sm-4 {
        flex: 0 0 60%;
        max-width: 60%;
    }
}

@media (max-height: 650px) {
    .transaction-screen-box {
        min-height: 300px;
    }

    .transaction-top-section {
        max-height: 24dvh;
        overflow-y: auto;
    }

    .transaction-bottom-section {
        max-height: 32dvh;
    }
}


/* ADDED BY VARUN ON 22/07/2026:
   Shared Master/Transaction Excel and Close classes must override the older
   global DataTables blue-button rule on every search page, not only Inward. */
.dt-button.buttons-excel.buttons-html5.summary-action-button.summary-excel-button {
    background: #6c757d !important;
    border-color: #5a6268 !important;
}

.dt-button.summary-action-button.dt-close-button {
    background: #dd4b39 !important;
    border-color: #d73925 !important;
}
.summary-action-button,
.dt-button.summary-action-button,
.dt-button.buttons-excel.buttons-html5.summary-action-button,
.dt-button.summary-action-button.dt-close-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    height: 27px !important;
    min-height: 27px !important;
    max-height: 27px !important;
    margin: 0 !important;
    padding: 5px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    border-radius: 3px !important;
    box-sizing: border-box !important;
}

.dt-buttons.menu-action-buttons {
    gap: 5px !important;
    margin: 0 !important;
}


/* body.summary-report-screen .summary-report-actions .summary-action-button:disabled,
body.summary-report-screen .summary-report-actions .summary-action-button.disabled { */
.summary-action-button:disabled,
.summary-action-button.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* ADDED BY VARUN ON 30/07/2026:
   AdminLTE removes button outlines globally. Restore a visible keyboard-only
   focus indicator for report actions without changing mouse appearance. */
/* body.summary-report-screen .summary-report-actions .summary-action-button:focus-visible,
body.inward-search-report-actions .summary-report-actions .summary-action-button:focus-visible { */
   /*focus indicator for report actions without changing mouse appearance.
   MODIFIED BY MANSI ON 08/08/2026: SUMMARY REPORT SCREEN AND INWARD SEARCH REPORT ACTIONS UNIFIED INTO ONE RULE */
.summary-action-button:focus-visible {
    outline: 2px solid #0d6efd !important;
    outline-offset: 2px !important;
}

.generated-invoice-grace-note {
  flex: 0 0 auto;
  margin-top: 6px;
  color: red;
  font-weight: 600;
  text-align: left;
}

/* Compact application footer: preserve both labels with minimum height. */
.main-footer {
    min-height: 23px;
    padding: 2px 15px !important;
    font-size: 11px;
    line-height: 17px;
}

.main-footer .container-fluid {
    display: flex;
    align-items: center;
    min-height: 17px;
    padding-right: 0;
    padding-left: 0;
}

.main-footer .pull-right {
    order: 2;
    margin-left: auto;
}

.main-footer strong {
    order: 1;
}

/* ADDED BY OPUS ON 21/07/2026: Compact inward-detail actions without changing edit/delete behavior. */
.inward-detail-grid th:first-child,
.inward-detail-grid td.actions {
    width: 48px;
    min-width: 48px;
    padding-right: 3px !important;
    padding-left: 3px !important;
    text-align: center;
    white-space: nowrap;
}

/* ADDED BY OPUS ON 21/07/2026: Display the existing action buttons as the same icons used on search pages. */
.inward-detail-grid .edit-btn,
.inward-detail-grid .delete-btn {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 3px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

/* ADDED BY OPUS ON 21/07/2026: Search-page edit and delete glyphs. */
.inward-detail-grid .edit-btn::before {
    content: "\f044";
    font-family: FontAwesome;
    font-size: 14px;
}

.inward-detail-grid .delete-btn::before {
    content: "\f1f8";
    font-family: FontAwesome;
    font-size: 14px;
}

/* ADDED BY OPUS ON 21/07/2026: Retain a clear visual disabled state for outward-linked detail rows. */
.inward-detail-grid .delete-btn:disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}

.main-footer .pull-right,
.main-footer strong {
    line-height: 17px;
}

/* ADDED BY VARUN ON 03/08/2026: Keep invoice print-copy options dark by
   default and highlight the selected option in blue on hover or keyboard focus. */
.invoice-print-dropdown .dropdown-menu {
    min-width: 120px !important;
    padding: 4px 0 !important;
    background-color: #fff !important;
    border: 1px solid #495057 !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28) !important;
    z-index: 1100 !important;
}

.invoice-print-dropdown .dropdown-menu .dropdown-item {
    color: #212529 !important;
}

.invoice-print-dropdown .dropdown-menu .dropdown-item:hover,
.invoice-print-dropdown .dropdown-menu .dropdown-item:focus {
    color: #0d6efd !important;
    background-color: #f8f9fa !important;
    text-decoration: none !important;
}
/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Responsive compact shell for the Journal master. The multi-line journal
   grid remains usable without stretching the form across a wide desktop. */
.journal-master-column {
  padding: 0;
}

.journal-master-compact {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* THIS CODE HAS BEEN MODIFIED BY VARUN ON 11/08/2026:
   Keep the white Journal box full width. Only its working fields and journal
   entry content use the compact width requested for the form. */
.journal-master-lines,
.journal-master-remark {
  width: 100%;
  /* THIS CODE HAS BEEN MODIFIED BY VARUN ON 11/08/2026:
     Match the journal grid and Remark row to the master-field block width. */
  max-width: 525px;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Separate the journal accounting fields slightly from the master fields. */
.journal-master-lines {
  margin-top: 8px !important;
}

/* THIS CODE HAS BEEN MODIFIED BY VARUN ON 11/08/2026:
   Journal No. and Journal Date are stacked in one equal-width field block. */
.journal-master-fields {
  width: 100%;
  max-width: 525px;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Journal lines should look like ordinary master-form fields. Keep the table
   only as a structural hook for existing add/remove/balance JavaScript. */
.journal-fields-table {
  width: 100% !important;
  table-layout: fixed;
  margin-bottom: 0;
  border: 0 !important;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Journal entry widths keep Account flexible and align Delete with the right
   edge of the Journal No./Date field block. */
.journal-fields-table .journal-col-number {
  width: 0;
}

.journal-fields-table .journal-col-account {
  width: auto;
}

.journal-fields-table .journal-col-type {
  /* THIS CODE HAS BEEN MODIFIED BY VARUN ON 12/08/2026:
     Allow the full Credit/Debit labels to remain visible. */
  width: 92px;
}

.journal-fields-table .journal-col-amount {
  /* THIS CODE HAS BEEN MODIFIED BY VARUN ON 12/08/2026:
     Transfer width to Credit/Debit without changing the overall form width. */
  width: 138px;
}

.journal-fields-table .journal-col-action {
  width: 28px;
}

.journal-fields-table .journal-fields-heading {
  display: none !important;
}

/* THIS CODE HAS BEEN MODIFIED BY VARUN ON 11/08/2026:
   Keep the serial cell in the table's column map so the Account dropdown is
   not displaced, while making the serial column visually absent. */
.journal-fields-table .line-index {
  display: table-cell !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
}

/* THIS CODE HAS BEEN MODIFIED BY VARUN ON 11/08/2026:
   Remove Bootstrap table separators from both existing and dynamically added
   journal rows without changing the table-based JavaScript workflow. */
.journal-fields-table > :not(caption) > * > * {
  border-width: 0 !important;
  box-shadow: none !important;
}

.journal-fields-table > tbody > tr > td,
.journal-fields-table > tfoot > tr > td {
  border: 0 !important;
  background: transparent !important;
  padding: 3px 4px !important;
  vertical-align: top;
}

.journal-fields-table > tbody > tr + tr > td {
  padding-top: 6px !important;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Keep the remove action flush with the compact form's right edge. */
.journal-fields-table > tbody > tr > td:last-child {
  padding-right: 0 !important;
  text-align: right !important;
}

/* THIS CODE HAS BEEN ADDED BY VARUN ON 11/08/2026:
   Totals occupy one full-width line and read from left to right. */
.journal-fields-table .journal-total-row > td {
  width: 100%;
  padding-top: 6px !important;
  padding-right: 0 !important;
  padding-left: 4px !important;
  text-align: left !important;
}

.journal-total-content {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  text-align: left;
}

.journal-master-compact .box-body {
  padding-top: 8px;
  padding-bottom: 8px;
}

.journal-master-compact .box-footer {
  padding-top: 6px;
  padding-bottom: 6px;
}

@media (max-width: 1199.98px) {
  .journal-master-lines,
  .journal-master-remark {
    max-width: 525px;
  }
}
