/* 90_feature.css  ─────────────────────────────────────────────
   Loaded last – use for “surgical” tweaks to individual parts
   of the app that Bootstrap + base sheet can’t handle.
───────────────────────────────────────────────────────────────*/

/*── LENIENCY section ─────────────────────────────────────────*/

/* 1) Force right-aligned text inside *this* tooltip only */
#leniency-tooltip-icon + .tooltip .tooltip-inner {
    text-align: right;
}

/* 2) Tighter label spacing next to the switches */
#vert-checklist label,
#spatial-checklist label {
    margin-bottom: 0;        /* kill default <label> gap        */
    font-weight: 600;        /* keep them visually strong        */
}

/* 3) Compact numeric inputs */
#verticality-input,
#easting-input,
#northing-input,
#elevation-input {
    max-width: 110px;
    padding-left:  0.4rem;
    padding-right: 0.4rem;
}

/* 4) Reduce vertical gap between rows inside SETTINGS modal */
#settings-modal .row { margin-bottom: 0.5rem; }



/* 5) Dynamic title styling */
.dyn-title {
    color: #555555;
    font-size: 14px;
}
/*── Add any future widget-level rules below this line ─────────*/

/* Use navbar blue for tab text */
.nav-tabs .nav-link,
.nav-tabs .nav-link.active {
    color: var(--primary-blue);
}

/* Style for gear settings dropdown */
.settings-dropdown {
    position: relative;
}
.settings-dropdown .dropdown-menu {
    background-color: #ffffff;
    color: var(--primary-blue);
    z-index: 10001;                /* ensure menu stays above navbar */
    position: absolute;            /* prevent layout shift when shown */
    right: 0;
    top: 100%;
    margin-top: 0.5rem;            /* offset so it clears the toggle */
}

.settings-dropdown .dropdown-item {
    color: var(--primary-blue);
}

.settings-dropdown .dropdown-item:hover {
    background-color: #f0f0f0;
    color: var(--primary-blue);
}

.settings-dropdown .dropdown-toggle.nav-white-outline-btn {
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    text-align: center;
    white-space: nowrap;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
}

/* Style for Select Data dropdowns */
.select-data-dropdown .dropdown-toggle {
    background-color: var(--primary-blue);
    color: white;
    border: 1px solid var(--primary-blue);
}

.select-data-dropdown .dropdown-toggle:hover,
.select-data-dropdown .dropdown-toggle:focus {
    background-color: var(--primary-blue-dark);
    color: white;
}

.select-data-dropdown .dropdown-menu {
    background-color: #ffffff;
    color: var(--primary-blue);
}

.select-data-dropdown .dropdown-item {
    color: var(--primary-blue);
}

.select-data-dropdown .dropdown-item:hover {
    background-color: #f0f0f0;
    color: var(--primary-blue);
}

/* Make checklist switches match navbar blue */
#settings-modal .form-check-input:checked {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
}

#settings-modal .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(60, 106, 126, 0.25);
    border-color: var(--primary-blue);
}

/* Reusable blue button style */
.nav-blue-btn {
    background-color: var(--primary-blue);
    color: white;
    border: none;
    padding: 0.35rem 0.75rem;
    border-radius: 0.25rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.nav-blue-btn:hover,
.nav-blue-btn:focus {
    background-color: var(--primary-blue-dark);
    color: white;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

/* Reusable black button style */
.nav-black-btn {
    background-color: #000;
    color: white;
    border: none;
    padding: 0.35rem 0.75rem;
    border-radius: 0.25rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.nav-black-btn:hover,
.nav-black-btn:focus {
    background-color: #333;
    color: white;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

/* Outline style for navbar buttons */
.nav-white-outline-btn {
    background-color: transparent;
    color: white;
    border: 1px solid white;
    padding: 0.35rem 0.6rem;
    border-radius: 0.25rem;
    line-height: 1.2;
    white-space: normal;
    box-shadow: none;
}

.nav-white-outline-btn:hover,
.nav-white-outline-btn:focus {
    background-color: rgba(255, 255, 255, 0.15);
    color: white;
}

/* Hide the tab navigation headers when using custom navbar buttons */
.no-tab-nav.nav,
.no-tab-nav > .nav,
.no-tab-nav > ul.nav {
    display: none !important;
}

/* Small ownership label inside the navbar */
.navbar-ownership {
    font-weight: lighter;
    opacity: 0.8;
    font-size: 10px;

    text-transform: none;
}

/* Lock navbar dimensions so mode toggles don't shift it */
.navbar {
    height: 7rem;
    padding: 0 var(--gap-main-sides);
    overflow: visible;
    display: flex;
    align-items: center;
}

/* Header showing the current section */
.section-header {
    text-align: center;
    color: var(--primary-blue);
    background-color: #f8f9fa; /* light grey like Bootstrap card headers */
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

/* Buttons used as section tabs within the header */
.section-tab-btn {
    color: var(--primary-blue);
    text-transform: uppercase;
    font-weight: bold;
    border: 1px solid var(--primary-blue);
    border-bottom: 3px solid transparent;
    border-radius: 0.5rem;
    background-color: #ffffff;
    padding: 0.25rem 1rem;

}

.section-tab-btn.active {
    background-color: var(--primary-blue);
    color: #ffffff;
    border-bottom-color: var(--primary-blue-dark);
}


/* Give main containers a card-like look */
.dash-container,
.container-fluid.main-wrap {
    border-radius: 0.5rem;

    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

/* Spacing and style tweaks for navbar buttons */

.navbar-btn-group {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    /* margin-left previously used to offset the button group based on
       brand width. This caused the branding to jump when certain
       modes toggled. The group now stays naturally centered. */
    flex-wrap: nowrap;
}


.navbar-btn-group .nav-blue-btn,
.navbar-btn-group .dropdown-toggle.nav-blue-btn,
.navbar-btn-group .nav-white-outline-btn,
.navbar-btn-group .dropdown-toggle.nav-white-outline-btn {
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    text-align: center;
    white-space: nowrap;
    flex: 0 0 auto;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
}

/* Home button alongside project title */
#project-title-container {
    position: relative;
}

.home-btn {

    position: absolute;
    left: var(--gap-main-sides);
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.home-btn i {
    font-size: 1rem;
}


/* outline style for navbar buttons */
.nav-blue-outline-btn {
    background-color: transparent;
    color: var(--primary-blue);
    border: 1px solid var(--primary-blue);
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    border-radius: 0.25rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.nav-blue-outline-btn:hover,
.nav-blue-outline-btn:focus {
    background-color: var(--primary-blue);
    color: white;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.navbar-btn-group .dropdown-toggle.nav-blue-outline-btn {
    width: 100%;
}




/* Sticky filter bar for PV Tracker Viewer */
.pv-dropdown-sticky {
    position: sticky;
    top: calc(var(--navbar-height) + var(--navbar-gap) + 0.5rem);
    z-index: 1050;
    background-color: #ffffff;
    padding: calc(var(--gap-main-tb) / 2) var(--gap-main-sides);
    border: 1px solid var(--primary-blue);
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    margin-bottom: var(--gap-main-tb);
}

/* Ensure PV Tracker dropdowns remain above other content */
.pv-dropdown-sticky .Select,
.pv-dropdown-sticky .Select-menu,
.pv-dropdown-sticky .Select-menu-outer {
    z-index: 1100;
}

/* Header colour coding for Error Analysis table */
.ag-theme-balham .header-light-blue {
    background-color: #ADD8E6 !important;
}

.ag-theme-balham .header-light-green {
    background-color: #62d973 !important;
}

/* Header colour coding for Bracket Aligner Detailed Table */
.ag-theme-balham .header-bracket-horizontal {
    background-color: #6D8196 !important;
}

.ag-theme-balham .header-bracket-vertical {
    background-color: #A8C3BC !important;
}

/* Header colour coding for Calculations Detailed Table */
.ag-theme-balham .ag-header-group-cell.header-earthworks,
.ag-theme-balham .ag-header-cell.header-earthworks,
.ag-theme-balham .header-earthworks .ag-header-cell-label,
.ag-theme-balham .header-earthworks .ag-header-group-cell-label {
    background: #c8b6a6 !important;
    color: #1f1f1f;
    border-color: #c8b6a6 !important;
}
.ag-theme-balham .ag-header-group-cell.header-earthworks .ag-header-cell-text,
.ag-theme-balham .ag-header-group-cell.header-earthworks .ag-header-group-text,
.ag-theme-balham .ag-header-cell.header-earthworks .ag-header-cell-text {
    color: #1f1f1f;
}

.ag-theme-balham .ag-header-group-cell.header-terrain-follow,
.ag-theme-balham .ag-header-cell.header-terrain-follow,
.ag-theme-balham .header-terrain-follow .ag-header-cell-label,
.ag-theme-balham .header-terrain-follow .ag-header-group-cell-label {
    background: #A8C3BC !important;
    color: #1f1f1f;
    border-color: #A8C3BC !important;
}
.ag-theme-balham .ag-header-group-cell.header-terrain-follow .ag-header-cell-text,
.ag-theme-balham .ag-header-group-cell.header-terrain-follow .ag-header-group-text,
.ag-theme-balham .ag-header-cell.header-terrain-follow .ag-header-cell-text {
    color: #1f1f1f;
}

/* Dark grey styling for calculated fields in Error Analysis table */
.ag-theme-balham .dark-grey-cell {
    background-color: #333333 !important;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Red background for flagged error conditions */
.ag-theme-balham .error-flag-cell {
    background-color: #FF746C !important;
    color: #FFFFFF;
}

/* Generic center alignment for grid cells */
.ag-theme-balham .center-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Highlight rows in As-built summary grid based on % Available */
#asbuilt-summary-grid .available-complete {
    background-color: #62d973 !important;
    color: #006600 !important;
}

#asbuilt-summary-grid .available-partial {
    background-color: #FFEE8C !important;
    color: #665500 !important;
}

/* Highlight closed earthworks rows */
#earthworks-issues-grid .earthworks-closed {
    background-color: #62d973 !important;
    color: #000000 !important;
}

#earthworks-issues-grid .earthworks-closed * {
    color: #000000 !important;
}

/* Highlight closed inspection rows in tolerance table */
#asbuilt-error-piles-grid .inspection-closed-row {
    background-color: #62d973 !important;
    color: #000000 !important;
}

#asbuilt-error-piles-grid .inspection-closed-row * {
    color: #000000 !important;
}

/* Highlight closed INSPECTION STATUS rows in terrain-follow grid */
#terrain-follow-issues-grid .terrain-follow-closed-row {
    background-color: #62d973 !important;
    color: #000000 !important;
}

#terrain-follow-issues-grid .terrain-follow-closed-row * {
    color: #000000 !important;
}

/* Render OPEN status values in red */
#earthworks-issues-grid [col-id="Status"].earthworks-open,
#earthworks-issues-grid [col-id="Status"].earthworks-open .ag-cell-value {
    color: #FF746C !important;
    font-weight: 600;
}

/* Bold text for pinned bottom summary row */
#asbuilt-summary-grid .ag-floating-bottom .ag-row,
#asbuilt-summary-grid .ag-floating-bottom-container .ag-row {
    font-weight: bold;
}

/* Show AG Grid's default row highlight in all grids */
.ag-row-hover .ag-cell,
.ag-row.ag-row-selected .ag-cell {
    background-color: transparent !important;
}

/* Use dark text when highlighted rows expose dark grey cells */
.ag-row-hover .dark-grey-cell,
.ag-row-hover .dark-grey-cell *,
.ag-row.ag-row-selected .dark-grey-cell,
.ag-row.ag-row-selected .dark-grey-cell * {
    color: #000000 !important;
}

.ag-row-hover .dark-grey-cell,
.ag-row.ag-row-selected .dark-grey-cell {
    background-color: transparent !important;
}


