﻿/* ===========================================
   THEME.CSS
   Purpose: Project-wide theme variables for easy swapping
   =========================================== */

:root {
    --primary-color: #4080A0;
    --secondary-color: #FFFFFF;
    --text-color: #58585A;
    --font-family: "Roboto", Helvetica, Arial, sans-serif;
    --base-font-size: 13px;
    --e-grid-header-bg: #dae4ed;
    --e-grid-header-border-color: #ced4da;
    --e-grid-header-text-color: #212529;
}

body {
    font-family: var(--font-family);
    font-size: var(--base-font-size);
}

/*Buttons*/
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px; 
    width: 130px; 
    padding: 0 16px;
    border-radius: 4px; 
    font-size: 14px;
    border: none;
    box-shadow: none;
    cursor: pointer;
}




button.btn.btn-apply {
    background-color: #4080A0 !important;
    color: #FFFFFF !important;
}

button.btn.btn-export {
    background-color: #6C757D !important;
    color: #fff !important;
}


    .btn-export:hover,
    .btn-export:focus {
        background-color: #5C636A !important;
        color: #fff;
    }

.btn-preview {
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

    .btn-preview:hover,
    .btn-preview:focus {
        background-color: rgba(64, 128, 160, 0.1);
        color: var(--primary-color);
        border: 2px solid var(--primary-color);
    }


.e-btn.btn-export:hover,
.e-btn.btn-export:focus,
.e-btn.btn-export:focus-visible {
    background-color: #5C636A !important;
    color: #fff !important;
}

.btn.btn-apply:hover,
.btn.btn-apply:focus,
.btn.btn-apply:focus-visible {
    background-color: #356c87 !important;
    color: #fff !important;
}

.btn:focus,
.btn:active,
.btn:focus-visible,
.e-btn:focus,
.e-btn:active,
.e-btn:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.btn:active,
.e-btn:active {
    background-image: none !important;
}

.btn-apply:active {
    background-color: #2e5c73 !important;
    color: #fff !important;
}

.btn-preview:active {
    background-color: rgba(64, 128, 160, 0.1) !important;
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-export:active {
    background-color: #6c757d !important;
    color: #fff !important;
}


.btn-create {
    background-color: #4080A0;
    color: #fff;
    padding: 0 20px;
    height: 44px;
    border-radius: 4px;
    font-size: 14px;
    white-space: nowrap;
}


    .btn-create:hover {
        background-color: #356c87;
        color: #fff;
    }


    .btn-create:active {
        background-color: #2e5c73 !important;
        color: #fff !important;
    }

    
    .btn-create:focus,
    .btn-create:focus-visible {
        outline: none;
        box-shadow: none;
    }


.btn-create-wide {
    min-width: 170px; 
    padding-left: 20px;
    padding-right: 20px;
    white-space: nowrap; 
}


/*Icon*/
.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent !important;
    border: none !important;
    color: #6c757d;
    font-size: 16px;
    cursor: pointer;
}

    .btn-icon:hover {
        color: #343a40; 
        background-color: rgba(0, 0, 0, 0.05);
        border-radius: 4px;
    }

    .btn-icon:active {
        background-color: rgba(0, 0, 0, 0.08) !important;
        color: #343a40 !important;
    }

    .btn-icon:focus,
    .btn-icon:focus-visible {
        outline: none !important;
        box-shadow: none !important;
    }

.e-btn.btn-icon {
    background: transparent !important;
    box-shadow: none !important;
}

.btn-icon i,
.btn-icon svg {
    pointer-events: none;
}

main article.content {
    margin-top: 20px !important;
}

main article.content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1rem;
    box-sizing: border-box;
    overflow-y: auto; 
    overflow-x: hidden;
    min-height: 0;
}


.grid-wrapper {
    flex: 1;
    min-height: 0; 
    overflow: hidden; 
}

/*No Blue Focus Outline*/
.e-input-group:focus,
.e-input-group:focus-within,
.e-control-wrapper:focus,
.e-control-wrapper:focus-within {
    outline: none !important;
    box-shadow: none !important;
}


.e-input:focus,
.e-dropdownlist.e-input-focus,
.e-control.e-input-focus {
    outline: none !important;
    box-shadow: none !important;
}


.e-ddl.e-input-group.e-input-focus {
    box-shadow: none !important;
 
}

.form-control:focus,
.form-select:focus,
.e-input:focus,
.e-control.e-input-focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ced4da !important;
}

.e-input-group:focus-within,
.e-control-wrapper:focus-within {
    box-shadow: 0 0 0 2px rgba(108, 117, 125, 0.25) !important;
    border-color: #adb5bd !important;
}


.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 2px rgba(108, 117, 125, 0.25) !important;
    border-color: #adb5bd !important;
}

.e-ddl.e-input-group {
    padding-right: 6px;
}

.e-ddl .e-input-group-icon {
    margin-right: -6px;
    padding-right: 6px;
    min-width: auto;
}

.e-ddl .e-ddl-icon {
    width: 20px;
}

/*Grid Main Row*/
    .e-grid .e-gridheader,
    .e-grid .e-headercontent {   
        border-bottom: 2px solid var(--e-grid-header-border-color) !important;
    }

    .e-grid .e-headercell {
        background-color: var(--e-grid-header-bg) !important;
        color: var(--e-grid-header-text-color) !important;
        font-weight: 600 !important;
        font-size: 12.5px !important;
        padding: 11px 14px !important;
        border-right: 1px solid var(--e-grid-header-border-color) !important;
        border-bottom: 2px solid var(--e-grid-header-border-color) !important;
    }


    .e-grid .e-headertext {
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 600;
        color: var(--e-grid-header-text-color) !important;
    }

   
    .e-grid .e-sortfilterdiv.e-icons {
        color: #6c757d !important;
    }

    
    .e-grid .e-gridheader {
        box-shadow: 0 3px 0 rgba(0, 0, 0, 0.05);
    }

.e-grid .e-gridheader {
    padding-right: 0 !important;
}


.e-grid .e-headercontent thead > tr.e-columnheader {
    background: #f1f3f5 !important;
}

    .e-grid .e-headercontent thead > tr.e-columnheader > th.e-headercell {
        background: #f1f3f5 !important;
    }

.e-grid .e-gridheader .e-headercell .e-headercelldiv > .e-headertext,
.e-grid .e-gridheader .e-headercell:hover .e-headercelldiv > .e-headertext,
.e-grid .e-gridheader .e-headercell:focus .e-headercelldiv > .e-headertext,
.e-grid .e-gridheader .e-headercell:focus-within .e-headercelldiv > .e-headertext,
.e-grid .e-gridheader .e-headercell.e-headercellactive .e-headercelldiv > .e-headertext,
.e-grid .e-gridheader .e-headercell.e-sortfilter .e-headercelldiv > .e-headertext {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important; 
}

.e-grid .e-gridheader .e-headercell {
    padding: 15px 14px !important;
}

    /*Report Buttons*/
.filter-actions .btn,
.filter-actions .e-btn {
    width: auto !important;
    min-width: 130px;
    padding: 0 18px;
    white-space: nowrap; 
}


.filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


.filter-actions-left,
.filter-actions-right {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}


/*Dropdown*/
.e-popup.e-ddl-popup {
    padding: 0; 
}
 
    .e-popup.e-ddl-popup .e-dropdownbase {
        margin: 2px !important;
    }

.org-ddl.e-ddl.e-input-group,
.org-ddl.e-ddl.e-control-wrapper {
    min-height: 44px;
    height: 44px;
    display: flex;
    align-items: center;
}

.org-ddl input.e-input {
    height: 100%;
    line-height: 44px;
    padding-left: 16px !important;
}

.org-ddl .e-input-group-icon {
    height: 100%;
    display: flex;
    align-items: center;
}

.e-popup.e-ddl.e-popup-open {
    background: transparent !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 10px rgba(0,0,0,0.2) !important;
}

    .e-popup.e-ddl.e-popup-open .e-content {
        background: #fff !important;
        border: 2px solid #fff !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
        padding: 2px !important;
    }

 
    .e-popup.e-ddl.e-popup-open .e-list-item {
        border-radius: 0;
    }

        .e-popup.e-ddl.e-popup-open .e-list-item:first-child {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
        }

        .e-popup.e-ddl.e-popup-open .e-list-item:last-child {
            border-bottom-left-radius: 4px;
            border-bottom-right-radius: 4px;
        }


        .e-popup.e-ddl.e-popup-open .e-list-item.e-active {
            background-color: var(--primary-color) !important;
            color: #ffffff !important;
        }

        /*Multoselect Dropdown*/
.org-ddl.e-multiselect.e-input-group,
.org-ddl.e-multiselect.e-control-wrapper {
    min-height: 44px;
    height: 44px;
    display: flex;
    align-items: center;
}

.org-ddl.e-multiselect .e-delim-values,
.org-ddl.e-multiselect .e-chips-collection,
.org-ddl.e-multiselect .e-searcher {
    padding-left: 16px !important;
    box-sizing: border-box;
}

.org-ddl.e-multiselect .e-multi-searcher input {
    padding-left: 16px !important;
    box-sizing: border-box;
}

.org-ddl.e-multiselect .e-input-group-icon {
    height: 100%;
    display: flex;
    align-items: center;
}

.e-popup.e-multi-select-list-wrapper.e-popup-open,
.e-popup.e-multiselect-popup.e-popup-open {
    background: #fff !important;
    box-shadow: 0 8px 10px rgba(0,0,0,0.2) !important;
}

    .e-popup.e-multi-select-list-wrapper.e-popup-open .e-content,
    .e-popup.e-multiselect-popup.e-popup-open .e-content {
        background: #fff !important;
        border: 2px solid #fff !important;
        border-radius: 6px !important;
        box-sizing: border-box !important;
        padding: 2px !important;
    }



    .e-popup.e-multi-select-list-wrapper.e-popup-open .e-list-item,
    .e-popup.e-multiselect-popup.e-popup-open .e-list-item {
        border-radius: 0;
    }

        .e-popup.e-multi-select-list-wrapper.e-popup-open .e-list-item:first-child,
        .e-popup.e-multiselect-popup.e-popup-open .e-list-item:first-child {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
        }

        .e-popup.e-multi-select-list-wrapper.e-popup-open .e-list-item:last-child,
        .e-popup.e-multiselect-popup.e-popup-open .e-list-item:last-child {
            border-bottom-left-radius: 4px;
            border-bottom-right-radius: 4px;
        }

        .e-popup.e-multi-select-list-wrapper.e-popup-open .e-list-item.e-active,
        .e-popup.e-multi-select-list-wrapper.e-popup-open .e-list-item.e-selected,
        .e-popup.e-multiselect-popup.e-popup-open .e-list-item.e-active,
        .e-popup.e-multiselect-popup.e-popup-open .e-list-item.e-selected {
            background-color: var(--primary-color) !important;
            color: #fff !important;
        }

.e-popup.e-multi-select-list-wrapper .e-selectall-parent,
.e-popup.e-multiselect-popup .e-selectall-parent {
    background-color: #fff;
    padding: 2px;
    box-sizing: border-box;
}

.e-popup.e-multi-select-list-wrapper .e-selectall,
.e-popup.e-multiselect-popup .e-selectall {
    padding: 10px 12px;
    border-radius: 4px;
}

    .e-popup.e-multi-select-list-wrapper .e-selectall:hover,
    .e-popup.e-multiselect-popup .e-selectall:hover {
        background-color: rgba(64, 128, 160, 0.15);
    }

    .e-popup.e-multi-select-list-wrapper .e-selectall.e-active,
    .e-popup.e-multiselect-popup .e-selectall.e-active {
        background-color: var(--primary-color);
        color: #fff;
    }


.e-multiselect-popup .e-frame,
.e-multi-select-list-wrapper .e-frame {
    background: #fff !important;
    border-color: #333 !important;
    border-radius: 50% !important;
}

    .e-multiselect-popup .e-frame::before,
    .e-multi-select-list-wrapper .e-frame::before {
        color: var(--primary-color) !important; 
    }


.org-ddl.e-multiselect.e-input-group {
    position: relative;
    padding-right: 40px; 
}


    .org-ddl.e-multiselect.e-input-group::after {
        content: "";
        position: absolute;
        right: 14px;
        top: 50%;
        width: 8px;
        height: 8px;
        border-right: 1px solid #6c757d;
        border-bottom: 1px solid #6c757d;
        pointer-events: none;
        transform: translateY(-60%) rotate(45deg);
    }


/*Date Picker Icon*/
.e-date-wrapper.form-control {
    padding-right: 0 !important;
}

/*Calendar*/
.e-date-wrapper.form-control {
    padding-right: 0 !important;
}

.e-datepicker .e-calendar .e-today span,
.e-datetimepicker .e-calendar .e-today span {
    background-color: #4080A0 !important;
    color: #ffffff !important;
    border-radius: 50%;
    border: none !important;
}

.e-datepicker .e-calendar .e-today:hover span,
.e-datetimepicker .e-calendar .e-today:hover span {
    background-color: #4080A0 !important;
    color: #ffffff !important;
}

.e-datepicker .e-calendar .e-selected span,
.e-datetimepicker .e-calendar .e-selected span {
    background-color: #4080A0 !important;
    color: #ffffff !important;
    border-radius: 50%;
    border: none !important;
}

.e-datepicker .e-calendar .e-selected:hover span,
.e-datetimepicker .e-calendar .e-selected:hover span {
    background-color: #4080A0 !important;
    color: #ffffff !important;
}

.e-datepicker .e-calendar td:not(.e-today):not(.e-selected):hover span,
.e-datetimepicker .e-calendar td:not(.e-today):not(.e-selected):hover span {
    background-color: rgba(64, 128, 160, 0.15) !important;
    color: #000;
}

.e-datepicker .e-calendar .e-focused-date span,
.e-datetimepicker .e-calendar .e-focused-date span {
    background-color: #4080A0 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

.e-datepicker .e-calendar td:focus,
.e-datepicker .e-calendar td:focus-visible,
.e-datetimepicker .e-calendar td:focus,
.e-datetimepicker .e-calendar td:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.e-date-wrapper input:focus,
.e-date-wrapper input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.e-datepicker .e-footer-container .e-btn.e-today,
.e-datetimepicker .e-footer-container .e-btn.e-today {
    background-color: #4080A0 !important;
    color: #ffffff !important;
    border: none !important;
}

    .e-datepicker .e-footer-container .e-btn.e-today:hover,
    .e-datetimepicker .e-footer-container .e-btn.e-today:hover {
        background-color: #356c87 !important;
        color: #ffffff !important;
    }

    .e-datepicker .e-footer-container .e-btn.e-today:active,
    .e-datepicker .e-footer-container .e-btn.e-today:focus,
    .e-datetimepicker .e-footer-container .e-btn.e-today:active,
    .e-datetimepicker .e-footer-container .e-btn.e-today:focus {
        background-color: #2e5c73 !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

.e-date-wrapper.e-input-group.e-input-focus,
.e-date-wrapper.e-input-group:focus,
.e-date-wrapper.e-input-group:focus-within,
.e-control-wrapper.e-input-group.e-input-focus,
.e-control-wrapper.e-input-group:focus-within {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ced4da !important;
}

.e-date-wrapper input.e-input:focus,
.e-date-wrapper input.e-input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.e-date-wrapper .e-input-group-icon:focus,
.e-date-wrapper .e-input-group-icon:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/*Sorting Arrows*/
.e-grid th[aria-sort="none"] .e-sortfilterdiv::before {
    content: "\e7df"; 
    font-family: "e-icons" !important;
    opacity: 0.25;
}

.e-date-wrapper.e-input-group {
    pointer-events: none;
}

    .e-date-wrapper.e-input-group input,
    .e-date-wrapper.e-input-group .e-input-group-icon {
        pointer-events: auto;
    }

  
    .e-date-wrapper.e-input-group:focus,
    .e-date-wrapper.e-input-group:focus-visible {
        outline: none !important;
        box-shadow: none !important;
    }


    .e-date-wrapper.e-input-group:focus-within {
        box-shadow: 0 0 0 2px rgba(108, 117, 125, 0.25) !important;
        border-color: #adb5bd !important;
    }

    .e-date-wrapper.e-input-group:not(:focus-within) {
        box-shadow: none !important;
    }


.e-input-group.e-ddl .e-input[readonly] ~ span.e-input-group-icon,
.e-input-group.e-control-wrapper.e-ddl .e-input[readonly] ~ span.e-input-group-icon,
.e-float-input.e-ddl input[readonly] ~ span.e-input-group-icon,
.e-float-input.e-control-wrapper.e-ddl input[readonly] ~ span.e-input-group-icon {
    display: none !important;
}

.e-input-group.e-ddl .e-input[readonly],
.e-input-group.e-control-wrapper.e-ddl .e-input[readonly] {
    padding-right: 12px !important;
    cursor: default;
}

/*Report Buttons - Org Admin + Consultant*/
.filter-actions {
    display: flex;
    justify-content: space-between;
    gap: 8px!important;
}

    .filter-actions.actions-left-only {
        justify-content: flex-start;
    }

        


