/* One-click preflight dialog */
.oneclick-preflight-blocker-banner {
    background-color: #ffe3bf;
}

.oneclick-mailing-label {
    border: 1px solid #d9d9d9;
    background-color: #fcfcfc;
    padding: 8px;
    font-size: 1.5em;;
    line-height: 1.4;
}

.oneclick-tiny-link {
    font-size: 0.85rem;
}

.oneclick-preflight-title-wrap {
    align-items: center;
}

.oneclick-preflight-title-icon-col {
    text-align: center;
}

.oneclick-preflight-title-icon.material-icons {
    font-size: 3rem;
    line-height: 1;
    color: #2d66cd;
}

.oneclick-preflight-title-underline {
    border-bottom: none;
    margin: 0;
    padding-bottom: 4px;
    text-decoration: underline;
}

.oneclick-preflight-address-row-selected {
    background-color: #eaf2ff;
    border-left: 3px solid #2d66cd;
}

/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : Jul 14, 2017, 7:53:01 AM
    Author     : cedba
*/

/* colors

// original dark blue/green, and orange

COG green: #7fb337
COG red: #a0270f
COG blue: #2d66cd
COG yellow: #e3b73d

// new TCVCOG logo colors

// yellow-ish
#cde162

// skyish blue
#00b5ec

//earthy:
#5a5754


*/

body{
    margin: 0 auto;
    font-family: 'Heebo';
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/*---------------- HEADERS -------------------*/

h1{
    font-family: 'Heebo', sans-serif;
    font-size: 1.5em;
    color: #5a5754;
    font-weight: normal;
    display: block;
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 3px solid #5a5754;

    margin-bottom: 20px;

}

.title-container{

}

.page-title{

    font-family: 'Heebo', sans-serif;
    font-size: 1.5em;
    color: #5a5754;
    font-weight: normal;
    display: inline-block;
    clear:none;
    float: left;
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 3px solid #5a5754;

    margin-bottom: 20px;
}

h2{
    font-size: 1.4em;
    /* color: #00b5ec;  sky blue*/

    /*darker sky*/
    color: #00637F;
    font-weight: bold;
}

h3{
    font-size: 1.2em;
    font-weight: bold;
    color: #4F361E;
    text-decoration: underline;



}

h4{
    color: #343434;
    font-style: italic;
}


.logoBox{
    float:left;
    display: inline-block;
    margin-left: 10px;
    margin-top: 10px;

}

.logoBox h2{
    color: white;
}

.sys-title{
    font-size: 1.3em;
    color: #cde162;
}

.sys-title-sub{
    font-size: 1.1em;
    font-style: italic;
    color: #00b5ec;
}


.darkFont{
    color:#163F8A;
}

.property-blue{
    color: #03305C;

}

.person-maroon{
    color: #710040;
}

.code-enforcement-orange{
    color: #B36A00;
}

.occupancy-green{

}

.action-request-header{
    display: block;
    font-weight: bold;
    font-size: 1.2em;
    padding-left:5px;



}

.action-request-subheader{
    display: block;
    clear: both;
    font-size: 1.1em;

}

.logoBox{

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding:5px;
}

.logo-image-wrapper{

}





/*************** END HEADERS ****************/

/*********** MENUS and TABS*********************/
.ui-panelmenu-header {
    font-size: 0.8em;
    font-weight: normal;
    font-style: normal;
    background-color: #04284A;
    color: green;


}

.tabText{
    color:orange;
}

.menuLabel{
    color:white;

}


/* Main accordion menu on left */
.ui-panelmenu .ui-panelmenu-header a{
    text-shadow: none;
    color:white;
}

/*Case profile coloring */
.ui-tabs-nav li a {
    color: black;
}

.bold-menu-item{
    color:green;
}

.ui-menu .ui-menuitem-text{
    font-weight: bold;

}





/*--------------- ICONS --------------------*/

i.material-icons{
    color: #57ACFF;
    width: 100%;
}

.inline-icon{
    display: inline-block;
    float: left;
    clear: none;
    margin-right: 10px;
}

.icon-box-centered .material-icons{
    font-size: 150%;
}

/* PrimeFaces icon reset */
.ui-widget .ui-icon.fa,
.ui-icon.fa {
    background-image: none;
    text-indent: 0px;
    background-repeat: no-repeat;
    display: block;
    overflow: visible;
    text-indent: 0px;
}

.ui-menu .ui-menuitem-link .ui-menuitem-icon, .ui-menu .ui-submenu-icon{
    padding-right: 8px;

}

/*
.icon-box-centered{
    margin-left: auto;
    margin-right: auto;
    min-height: 100%;
    min-width: 100%;
    width: 100%;
    box-sizing: content-box;
    
}*/

.userToolBar-icon{
    font-size: 1.5em;

}

/*used from demo on Mozilla site*/
/*https://developer.mozilla.org/en-US/docs/Web/CSS/fit-content*/

.icon-container {
    display: grid;
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    clear: none;
}

.icon-box-centered {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;

}

i.material-icons.icon-large {
    font-size: 3em;
}
i.material-icons.mega-icon {
    font-size: 10em;
}



/***************** end icons *******************/


/* ------------LINKS ------------------------- */

a:link.command-link-text{
    color: blue;
    font-weight: bold;
}

a:link{
    /*text-decoration: none;*/
    color: #181F36;
}

a:visited{
    color: #181F36;
}

a:hover{
    color:#04284A;
    text-decoration: underline;
}

.sblink{
    text-decoration: none;
    font-size: 11pt;
}

a.sblink:link{
    color: #57ACFF;
}

a.sblink:visited{
    color: #4774A0;
}

a.sblink:hover{
    color:gray;
}




.headerLink{
    font-weight: bold;
    font-size: 11px;
    float:left;
    clear:none;

}


a.headerLink:link {
    color: #57ACFF;
    text-decoration: none;
}

a.headerLink:hover {
    color: white;
    text-decoration: none;
}

a.headerLink:visited {
    color: white;
    text-decoration: none;
}

a.headerLinks {
    display: inline-block;
    float: left;
}


div.headerLink a:before, a:visited{
    /*color: green;*/


}

.tight-grid-padding div{
    padding: 2px;
}

.tight-bottom-padding div{
    padding-bottom: 2px;
}

.tight-topbottom-padding div{
    padding-bottom: 2px;
    padding-top: 2px;
}

.top-spaced{
    margin-top:10px;
}

/************** END LINKS ******************/


/* ------------------- START EVENT CALENDAR -AND EVENT MISC------------------ */


.evcal-dayheader{
    font-weight: bold;
    text-decoration: underline;
}

.evcal-evrow{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding:5px;
}


.event-followup-required{
    background-color:  #DEE461;
}

.event-followup-required-addflag{
    font-weight: bold;
    font-size: 1.1em;
}

.evcal-actions-grid{
    margin-top: 3px;
    margin-bottom: 3px;
}

.evcal-followup-wrapper{
    padding: 2px 4px;
    display: inline-block;
}

.evcal-followup-link{
    padding-bottom: 0px;
    font-size: 0.85em;
}

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

.evcal-deactivate-link{
    font-size: 0.85em;
    color: #666;
}

/* Vertical calendar single-line layout */
.evcal-vertical-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid #eee;
}

.evcal-vertical-icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.evcal-vertical-icon i {
    font-size: 1.2em;
}

.evcal-vertical-time {
    flex: 0 0 auto;
    font-weight: 500;
    font-size: 0.9em;
    min-width: 45px;
}

.evcal-vertical-category {
    flex: 0 1 auto;
    font-size: 0.9em;
}

.evcal-vertical-category-link {
    font-weight: normal;
}

.evcal-vertical-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 0px;
    font-size: 0.85em;
}

.evcal-vertical-action-link {
    padding: 0 2px;
}

.evcal-vertical-separator {
    color: #999;
    font-size: 0.85em;
    padding: 0 4px;
    text-decoration: none;
}

.evcal-vertical-holder {
    flex: 0 1 auto;
    font-size: 0.85em;
}

.evcal-vertical-holder-link {
    font-weight: bold;
    color: blue;
}

.evcal-vertical-section {
    margin-bottom: 8px;
}

/* Calendar tools compact header */
.evcal-tools-compact {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    padding: 4px 8px;
    background-color: #f5f5f5;
    border-radius: 4px;
    font-size: 0.85em;
}

.evcal-tool-link {
    color: blue;
    font-weight: bold;
    white-space: nowrap;
    flex-shrink: 0;
}


.evcal-tool-separator {
    color: #999;
    padding: 0 4px;
    flex-shrink: 0;
}

.evcal-tool-label {
    color: #666;
    font-size: 0.9em;
    margin-left: 2px;
    margin-right: 2px;
    white-space: nowrap;
    flex-shrink: 0;
}

.evcal-filter-dropdown {
    display: inline-block;
    font-size: 0.85em;
    margin-left: 2px;
    flex-shrink: 0;
    min-width: 85px;
    max-width: 85px;
}

.evcal-filter-dropdown .ui-selectonemenu {
    font-size: 0.85em;
    width: 85px !important;
    min-width: 85px;
}

.evcal-filter-dropdown .ui-selectonemenu-trigger {
    width: 1.2em;
}

.evcal-filter-dropdown .ui-selectonemenu-label {
    padding: 2px 4px;
    font-size: 0.85em;
}

/* ========== FULL CALENDAR EVENT TYPE COLOR CODING ========== */
.evtype-action {
    background-color: #FF6B6B !important;
    color: white !important;
    border-color: #d35555 !important;
}

.evtype-inspection {
    background-color: #4ECDC4 !important;
    color: white !important;
    border-color: #3db4ac !important;
}

.evtype-meeting {
    background-color: #95E1D3 !important;
    color: #333 !important;
    border-color: #7bc9ba !important;
}

.evtype-citation {
    background-color: #F38181 !important;
    color: white !important;
    border-color: #d86868 !important;
}

.evtype-communication {
    background-color: #C7CEEA !important;
    color: #333 !important;
    border-color: #a8b2d4 !important;
}

.evtype-violation {
    background-color: #FECA57 !important;
    color: #333 !important;
    border-color: #e0b44e !important;
}

.evtype-notice {
    background-color: #48C9B0 !important;
    color: white !important;
    border-color: #3da88f !important;
}

.evtype-custom {
    background-color: #B8B8B8 !important;
    color: white !important;
    border-color: #999999 !important;
}

.evtype-accounting {
    background-color: #A8E6CF !important;
    color: #333 !important;
    border-color: #8dcbb0 !important;
}

.evtype-courtdate {
    background-color: #8E44AD !important;
    color: white !important;
    border-color: #713689 !important;
}

.evtype-origination {
    background-color: #3498DB !important;
    color: white !important;
    border-color: #2980b9 !important;
}

.evtype-closing {
    background-color: #E74C3C !important;
    color: white !important;
    border-color: #c0392b !important;
}

.evtype-compliance {
    background-color: #1ABC9C !important;
    color: white !important;
    border-color: #16a085 !important;
}

.evtype-parcelinfo {
    background-color: #F39C12 !important;
    color: white !important;
    border-color: #d68910 !important;
}

.evtype-humaninfo {
    background-color: #9B59B6 !important;
    color: white !important;
    border-color: #8e44ad !important;
}

.evtype-occupancy {
    background-color: #E67E22 !important;
    color: white !important;
    border-color: #ca6d1f !important;
}

.evtype-timeline {
    background-color: #34495E !important;
    color: white !important;
    border-color: #2c3e50 !important;
}

.evtype-enforcement {
    background-color: #C0392B !important;
    color: white !important;
    border-color: #a93226 !important;
}

.evtype-waiver {
    background-color: #16A085 !important;
    color: white !important;
    border-color: #138d75 !important;
}

.evtype-workflow {
    background-color: #7F8C8D !important;
    color: white !important;
    border-color: #6c7a7b !important;
}

.evtype-reporting {
    background-color: #2C3E50 !important;
    color: white !important;
    border-color: #1a252f !important;
}

.evtype-recording {
    background-color: #D35400 !important;
    color: white !important;
    border-color: #a84300 !important;
}

.evcal-user-picker {
    display: inline-block;
    margin-left: 4px;
    flex-shrink: 0;
}

.evcal-user-picker .ui-selectonemenu {
    font-size: 0.85em;
    width: 110px !important;
    min-width: 110px;
}

.evcal-user-picker .ui-selectonemenu-trigger {
    width: 1.2em;
}

.evcal-user-picker .ui-selectonemenu-label {
    padding: 2px 4px;
    font-size: 0.85em;
}

.evcal-tool-label {
    color: #666;
    margin-left: 4px;
}

.evcal-tool-filter-active {
    font-weight: 500;
    color: #333;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .evcal-vertical-row {
        gap: 6px;
    }
    
    .evcal-vertical-holder {
        flex: 1 1 100%;
        margin-top: 2px;
    }
}

tr.followup {
    background-color:  #DEE461 !important;
}

.event-general{
    background-color: lightgreen;
}



/* ******************* END EVENT CAL  ******************************/


/* ------------------- START PAGE LAYOUT  ------------------- */



.two-column-page-flex-container{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding:5px;

}

.list-column{
    flex-basis:auto;
    flex-shrink: 1;
    min-width: 750px;
    max-width: 750px;
    padding-right:10px;


}

.list-column-persons{
    flex-basis:auto;
    flex-shrink: 1;
    min-width: 600px;
    max-width: 600px;
    padding-right:10px;


}

.object-column{
    flex-basis: auto;
    flex-grow: 1;
    padding-left: 10px;


}

/* **************** END PAGE LAYOUT  *********************/


/* ----------- Printing and reports-------- */


.report-trailblaze-headerbox{
    margin-top:10px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;


}

.report-trailblaze-headerbox div{
    color: white;
    font-size: 1.5em;
    padding: 10px;
    border-bottom: 6px solid #2bb3e9;


}

.report-trailblaze-headerbox-title{
    font-weight: bold;
    background: #2bb3e9;
    border: none;
    clear: none;
    margin-right: 0px;
    flex-grow: 1;

}

.report-trailblaze-headerbox-tail {
    background: white;
    clear: none;
    margin-left: 0px;
    flex-grow: 3;

}

.report-trailblaze-objecttitle {



}

div.report-data-label-tight {
    padding-bottom: 2px;
}

div.report-data-value-tight{
    padding-top: 2px;
}

.report-kpi-aggregate-container{


}

.report-tb-kpi-icon{


}

.report-muni{
    font-size: 1.8em;
    font-weight: bold;
}

.report-daterange{
    font-size: 1.3em;
}

.report-tb-kpi-title{
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 8px;
}

.report-tb-kpi-value{
    margin-bottom: 8px;
    font-size: 1.5em;

}

.report-pie-title{
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;

}



.report-legend-item{
    display: flex;
    flex-direction: row;
    margin-bottom: 8px;
}

.report-legend-colorbox{
    margin-right: 8px;


}

.report-legend-title{
    margin-right: 8px;
    font-size: 1.2em;

}

.report-legend-count{
    font-size: 1.2em;

}

.report-legend-perc{


}

.report-generatorandtimestamp{
    font-size: 1.1em;
}

.report-icon{

    margin-right: 8px;
}

.report-pie-container{
    display: block;
    width: 300px;
}


.cases-report-citations-2cols{
    width: 50%;
    border: none;
    vertical-align: top;
}


.report-title{
    font-size: 1.3em;
    font-weight: bold;
    color: #cde162;

}

.report-title-sub{
    font-size: 1.1em;
    color: #00b5ec;
    font-style: italic;

}

.report-bodyfont-smaller{
    font-size: 0.7em;
}

.report-bodyfont-medium{
    font-size: 0.9em;
}

div.report-fieldvalue-tightpadding {
    padding-top: 2px;
    padding-bottom: 2px;
}

.intermediate-report-header{
    margin-top: 0px;
    font-size: 1.4em;
    /*darker sky*/
    color: #00637F;
    font-weight: bold;
}

.restrict-data-field-report{
    padding: 2px;
}

.printing-page-break-before {
    page-break-before: always;

}

.printing-page-break-after{
    page-break-after: always;
}


div.printer-friendly-report .ui-widget-content{
    border: none;

}

.event-ds-box-report{
    font-size: .7em;
    margin: 3px;
    padding: 5px;
    border: thin solid #4774A0;
    background-color: white;
}

.event-list-halfwidth{
    width: 50%;
    border: none;
    vertical-align: top;
}

.report-header-info{
    font-size: small;
    font-family: Heebo;
}

.report-cear-requestbox{
    font-size: .7em;
    padding: 5px;
    background-color: white;
    margin: 15px;
    border: thin solid #4774A0;
    padding: 10px;
    /*    These two attributes are taken from .rowExpansion to see if we can use
        only .outlinedBox divs for the row expansion*/
    white-space: normal;
    overflow-wrap: normal;
}

.ui-widget-content{
    border: none;
}

.cear-request-titlehead{
    font-size: 2em;
    font-weight: bold;
    font-family: Heebo;
}

.reportconfig-header{
    text-align: left;

}

.nomarginparagraphs p{
    margin-top: 0px;
}



.report-inspection-itemstatus{
    font-weight: bold;
    font-size: 1.3em;
}

.report-photo-header{
    font-weight: bold;
    margin-bottom: 2px;

}

.report-photo-caption{
    margin-top:  2px;
    font-size: 0.9em;
    font-style: italic;
}

.report-citation-violation-status{
    font-style: italic;
}

.report-indented-line{
    margin-left: 25px;
}

.report-property-addresss{
    font-weight: bold;
    font-size: 1.2em;
}

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

.signature{
    border-bottom: thin solid black;
    width: 180px;
    margin-right: 10px;
}

.centered-header-image{
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/*collapsed padding on report tables*/
body table.report-table td {
    padding: 1.5px !important;
    font-size: 1.1em !important;
}

.report-note{
    font-style: italic;
    font-size: 0.7em;
    line-height: normal;
}

div.force-space-above {
    margin-top: 8px;
}


/* *********** end Printing and reports******** */






/* ----------- Case Priorities (Revision 2 - February 2026) -------- */

/* Grey - Terminal/Inactive States */
.cse-priority-deactivated{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;
}

.cse-priority-closed{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;
}

.cse-priority-malformed{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;
}

/* Blue - Investigation Phase */
.cse-priority-opening{
    background-color: #afeafc !important;
    background-image: none !important;
    color: #000000 !important;
}

/* Orange - Special Handling */
.cse-priority-abandonment{
    background-color: #e0ae3b !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* Green - Monitoring */
.cse-priority-monitoring{
    background-color: #99fb4e !important;
    background-image: none !important;
    color: #000000 !important;
}

.cse-priority-ready-to-close{
    background-color: #2d6a4f !important; /* Dark Green */
    background-image: none !important;
    color: #ffffff !important;
}

/* Red - Past Due */
.cse-priority-pastdue{
    background-color: #a9392d !important;
    background-image: none !important;
    color: #ffffff !important;
}

/* Purple - Citation/Court */
.cse-priority-citation-active{
    background-color: #962af5 !important; /* Light Purple */
    background-image: none !important;
    color: #ffffff !important;
}

.cse-priority-citation-terminal{
    background-color: #5a189a !important; /* Dark Purple */
    background-image: none !important;
    color: #ffffff !important;
}

/* ------------ CASE CITATIONS and other junk---------- */

.citation-violation-status{
    font-weight: bold;
    font-size: 1.2em;
}

.citation-violation-status-lastupdated{
    font-style: italic;
    font-size: 0.8em;
}

.citation-violation-status-terminal{
    background-color: #5792F6 !important;
    background-image: none !important;
    color: #FFFFFF!important;

}

.citation-violation-status-inprocess{
    background-color: #FFAE1B !important;
    background-image: none !important;
    color: #000000 !important;

}

.citation-panel-container .ui-panel .ui-panel-titlebar {
    background-color: #480681 !important;
    color: white !important; /* For readability */
}

/* Citation eligibility status display */
.citation-eligible-text {
    color: #006400; /* Dark green */
    font-weight: bold;
    font-size: 1.1em;
}

.citation-not-eligible-text {
    color: #8B0000; /* Dark red */
    font-weight: bold;
    font-size: 1.1em;
}


/* ------------ CODE VIOLATION PRIORITIES and other junk---------- */

.violated-ord-header{
    font-size: 1.2em;
}

.violation-status-openblue{
    background-color: #afeafc !important;
    background-image: none !important;
    color: #000000 !important;

}

.violation-status-compliancegreen{
    background-color: #99fb4e !important;
    background-image: none !important;
    color: #000000 !important;

}

.violation-status-actionrequiredyellow{
    background-color: #f9e14c !important;
    background-image: none !important;
    color: #000000 !important;


}

.violation-status-actionpastduered{
    background-color: #a9392d !important;
    background-image: none !important;
    color: #ffffff !important;


}

.violation-status-citation{
    background-color: #962af5 !important;
    background-image: none !important;
    color: #ffffff !important;


}

.violation-status-citation-resolved{
    background-color: #5a189a !important;
    background-image: none !important;
    color: #ffffff !important;


}

.violation-status-review{
    background-color: #1c484e !important;
    background-image: none !important;
    color: #ffffff !important;


}

.violation-status-abandoneddarkyellow{
    background-color: #e0ae3b !important;
    background-image: none !important;
    color: #ffffff !important;


}



.violation-status-nullifiedtransferred{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;


}


.violation-status-unknown{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;


}




/* ----------- OCC period Priorities -------- */

.per-priority-textinstatusbox{
    font-size: 1.5em;
}

.per-priority-openblue{
    background-color: #afeafc !important;
    background-image: none !important;
    color: #000000 !important;

}

.per-priority-monitoringgreen{
    background-color: #99fb4e !important;
    background-image: none !important;
    color: #000000 !important;

}

.per-priority-actionrequiredyellow{
    background-color: #f9e14c !important;
    background-image: none !important;
    color: #000000 !important;


}

.per-priority-actionpastduered{
    background-color: #a9392d !important;
    background-image: none !important;
    color: #ffffff !important;


}

.per-priority-citation{
    background-color: #962af5 !important;
    background-image: none !important;
    color: #ffffff !important;


}

.per-priority-review{
    background-color: #1c484e !important;
    background-image: none !important;
    color: #ffffff !important;


}

.per-priority-abandoneddarkyellow{
    background-color: #e0ae3b !important;
    background-image: none !important;
    color: #ffffff !important;


}

.per-priority-closedgray{
    background-color: #90A4AE !important;
    background-image: none !important;
    color: #000000 !important;


}

.per-priority-unknowngray{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;


}

.per-priority-containergray{
    background-color: #ababb3 !important;
    background-image: none !important;
    color: #000000 !important;


}


/* ----------- Horizontal bars: LAYOUT BOXES  (OLD)-------- */



.flex-box-container{
    position:relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    flex: 1;

    justify-content: flex-start;

    font-family: 'Heebo', sans-serif;
    margin-left: 0px;
    margin-right:0px;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px;
    position: relative;

}

.flex-box-container-interior{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;

    justify-content: flex-start;

    font-family: 'Heebo', sans-serif;
    margin-left: 0px;
    margin-right:0px;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px;

}

.narrow-content-container{
    max-width: 800px;
}

.flexing-box-topbar{
    flex-grow: 1;
    flex-basis: 100%;
    flex-shrink: 1;

    background-color: #2F2F2F;
}



.flexing-box-sidebar{

    flex-grow: 0;
    flex-basis: 200px;
    flex-shrink: 1;
    background-color: #CECECE;
    padding: 10px;

}

.flexing-box-sessioninfo{

    flex-grow: 1;
    flex-basis: 100%;
    flex-shrink: 1;
    height: 50px;

    background-color: #181F36;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-left: 0px;
    color: white;
    font-weight: normal;

}

.flexing-box-pagecontent{


    flex-grow: 1;
    flex-basis: max-content;
    flex-shrink: 1;


    margin-left: 0px;
    padding: 10px;
}

.flexing-box-footer{

    flex-grow: 1;
    flex-basis: 100%;
    flex-shrink: 1;

    background-color: #1B1D20;

    color: white;

}

.flexing-box-interior{


    flex-grow: 1;
    flex-basis: 80%;
    flex-shrink: 3;


}

.split-page-panelgrid{
    width: 100%;
}

.split-page-list-side{
    width: 40%;
}

.split-page-manage-side{
    width: 60%;
}




#logoHeader{
    margin-top: 3px;
    color: #FFA35A;
}

.clearFix{
    clear: both;
}

.plainText{
    font-weight: normal;

}

/*this mainContainer class is the containing bins on each user page*/
.mainContainer{
}

.mainContainerDashboard{

    display:block;
}


.primaryContentContainer{

}

.footer{
    font-family: 'Heebo', sans-serif;
    color: grey;
}

.foot{
    height: 100px;
}


p.note{
    font-size: .9em;
    font-style: italic;
}

div.headerLinkCont{
    display: inline-block;
    float: right;
    clear: none;
    /*width: 100px;*/
    height: 100%;
    margin-left: 15px;
    margin-bottom: 10px;
    margin-top: 10px;
    margin-right: 15px;
}

.userToolBar{
    display: block;
    float: right;
    clear: none;
    height: 90px;
}

.gridTd-splitPage{
    max-width: 600px;
    vertical-align: top;
}


.noalerts-text{
    color: #00C853;
    font-style: italic;
}

/* *********END MAIN PAGE LAYOUT BOXES ***************/


/* --------- Cross-muni Xmuni system ------------------- */
.xmuni-banner {
    background-color: lightsalmon !important;
}

.xmuni-muniname-authorized {
    text-decoration: line-through;
}

.xmuni-muniname-foreignmuniname {
    color:salmon;
    font-weight: bold;
}

/* *********END XMUNI ***************/


/* --------- BUSINESS OBJECTS AND STATUS ------------------- */


/*  https://m1.material.io/style/color.html#color-color-palette */

.focus-dashboard{
    background-color: #80CBC4;  /*  teal 200 ish */
}

.focus-code{
    background-color: #F48FB1; /*  magenta ish (pink 200) */

}

.focus-property{
    background-color: #FFF59D;    /*  yellow ish (yellow 200)*/
}

.focus-person{
    background-color: #B39DDB;    /* deep purple 200 */
}

.focus-cecase{
    background-color: #A5D6A7; /*  green 200 */

}

.focus-occperiod{
    background-color: #90CAF9; /*  blue 200 */
}

.focus-notinfocus{
    background-color: white;
}

/* person profile link-type indicator column */
.person-link-domain-indicator-col {
    text-align: center;
    width: 28px;
    min-width: 28px;
    padding: 0 !important;
}

.person-link-domain-indicator-header {
    width: 28px;
    min-width: 28px;
    padding: 0 !important;
}

.person-link-domain-indicator-icon {
    font-size: 15px;
    line-height: 1;
    color: #263238;
}

.person-link-domain-indicator-col.focus-cecase {
    background-color: #ff7043 !important;
}

.person-link-domain-indicator-col.focus-property {
    background-color: #fff9db !important;
}

.person-link-domain-indicator-col.focus-occperiod {
    background-color: #e8f2fb !important;
}

.person-link-domain-indicator-col.focus-dashboard {
    background-color: #eaf6f4 !important;
}

.person-link-domain-indicator-col.focus-code {
    background-color: #fbe9ef !important;
}

.person-link-domain-indicator-col.focus-person {
    background-color: #f1ebfb !important;
}

.person-link-domain-indicator-col.focus-cecase .person-link-domain-indicator-icon {
    color: #7a1200;
}


.mced-status-investigation{
    font-weight: bold;
    color:blue;
}
.mced-status-enforcement{
    font-weight: bold;
    color: blueviolet;

}
.mced-status-citation{
    font-weight: bold;
    color: red;

}
.mced-status-closed{
    font-weight: bold;
    color: black;
}
.mced-status-holding{

}

.status-list{
    list-style-type: none;
    padding-top: 0px;
    padding-left: 0px;
    margin-left: 10px;
    margin-top: 0px;

}

i.status-display-icon-i{
    color: inherit;
}

.status-display-container{
    display: flex;
    flex-direction: row;
    flex-basis: auto;

}

.status-display-icon-container{
    width: auto;
    margin-right: 5px;


}

.action-request-icon i.material-icons{
    font-size: 3em;
    display: block;
    margin-right: 15px;
}


.status-display-icon-container i.material-icons{
    font-size: 5em;
}


.status-display-status-list-container{
    flex-grow: 1;
    flex-basis: auto;


}

.status-item{
    font-size: 1em;
    color: gray;
    font-weight: normal;

}

.stage-inactive{
    font-weight: normal;
    color:grey;
}

.cear-notice-text{
    color: #E91E63;
    font-weight: bold;
}

a.pagejump-link:link{
    text-decoration: none;
}

.cear-notice-text-noqueuedrequests{
    color: #00C853;
    font-weight: bold;
}



/* ********* end BUSINESS OBJECTS AND STATUS *******************

/*----------------  TEXT AND SPANS ----------------------------*/


.mono{
    font-family: Heebo;
}

.monospace{
    font-family: monospace;
    font-size: 1.3em;
}

.datum-label{
    font-weight: bold;
}

.ui-label{
    font-weight: bold;
}

.datum-data{

}

.bold {
    font-weight: bold;
}

.underline{
    text-decoration: underline;
}

.note{
    font-style: italic;
    font-size: 0.8em;
}

.italic{
    font-style: italic;
}

.infoBarData{
    font-size: .9em;
    font-family: Heebo;
    font-weight: normal;
}

.weight-normal{
    font-weight:normal;
}

.logoutput{
    padding: 5px;
    font-size: 0.9em;

}

.compliance-date-stipulated{
    color: orange;
    font-weight: bold;
}

.compliance-date{
    color: green;
    font-weight: bold;
}

.compliance-date-nullified{
    color: darkslategray;
    font-weight: bold;
}

.gentleUserReminder{
    font-size: 0.85em;
    font-style: italic;
    color: blue;
}

.larger-text{
    font-size: 1.5em;
}

.text-red{
    color: darkred;
}

.text-gray{
    color:darkgray;
}

.text-green{
    color:darkgreen;
}

.text-blue{
    color:darkblue;
}

/*gives us a left indent in the div*/
.reverseindented{
    padding-left: 15px;
}
div.reverseindented{
    padding-left: 15px;
}

.deactivated-text{
    color: lightgray;
}

.grayed-out{
    color:lightgray;
}

/***************** CLOSE TEXT AND SPANS ***********************/

/* --------------- SEARCH ---------------------------*/

.search-inputtext{

}




/* --------------- DIVS and P-GRID ---------------------------*/

div.padding-low-bottom {
    padding-bottom: 1px;
}
div.padding-low-top {
    padding-top: 1px;
}

.low-padding-top div{
    padding-top: 1px;
    
}


.rowExpansion{
    white-space: normal;
    overflow-wrap: normal;
    text-align: left;
    font-weight: normal;
}

.row-expansion-threesided-box{
    margin-top: 0px;
    margin-left: 3px;
    margin-right: 3px;
    margin-bottom: 10px;
    border-top: none;
    border-bottom: 6px solid #004864;
    border-left: 6px solid #004864;
    border-right: 6px solid #004864;
    padding-top: 2px;
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 8px;



}


.wrapText{
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

.roomy-top-margin{
    margin-top: 15px;
}

.outlinedBox{
    margin: 15px;
    border: thin solid #4774A0;
    padding: 10px;
    background-color: white;
    /*    These two attributes are taken from .rowExpansion to see if we can use
        only .outlinedBox divs for the row expansion*/
    white-space: normal;
    overflow-wrap: normal;
}

.activeObjectBox{
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 15px;
    margin-right: 15px;
    border: thin solid #4774A0;
    padding: 5px;
    font-size:small;
    display: inline-block;



}
.compact-violation-list-container{
    margin-top: 5px;

}

.activeObjectBox h4{
    margin-top: 3px;
    margin-bottom: 8px;

}

.publicInfoBundleContainer{
    margin: 15px;
    border: #04284A solid thick;
    padding: 10px;

}




div.headerLinks{
    display: block;
    height:40px;
    width: 100%;
    /*height: 100px;*/
    margin: 10px 10px 10px 10px;
}

.ord-text{
    font-weight: normal;
    font-family: monospace;
    white-space: normal;
    overflow-wrap: normal;
    padding: 5px;
    text-align:  left;

}





/*will be deprecated when Adams public pages come online*/
/*control code green box*/
div.ccBox{
    height: 25%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    font-size: 4em;
    font-weight: bold;
    background-color: lightgreen;
    border-color: darkgray;
    border-width: 1px;
    text-align: center;
    padding: 15px;
    border-top: 30px;
    border-bottom: 30px;
}


/* ****************** CLOSE DIVS ************************/




/* --------------- IMAGES ---------------------------*/


img{
    display: block;
}

img.header{
    margin-top: 15px;
    margin-bottom: 15px;
}


img.headerImg{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*added by wwalk 3.28.23*/

/* ----------- CASE CLOSURE READINESS ASSESSMENT (February 2026) -------- */

/* Closure readiness container - green when ready, amber when blockers exist */
.closure-readiness-container-ready {
    background-color: #e8f5e9;
    padding: 12px;
    border-radius: 4px;
    margin-bottom: 15px;
    border-left: 4px solid #4caf50;
}

.closure-readiness-container-blocked {
    background-color: #fff3e0;
    padding: 12px;
    border-radius: 4px;
    margin-bottom: 15px;
    border-left: 4px solid #ff9800;
}

.closure-readiness-title {
    margin-top: 0;
}

.closure-readiness-metric {
    margin: 5px 0;
}

.closure-readiness-status {
    margin: 5px 0;
    font-weight: bold;
}

.closure-readiness-ready-text {
    color: #2e7d32;
}

.closure-readiness-blocked-text {
    color: #e65100;
}

/* Admin flag item layout using PrimeFaces grid */
.admin-flag-item {
    margin-bottom: 8px;
    padding: 8px;
    background-color: #f5f5f5;
    border-radius: 4px;
}

.admin-flag-icon {
    text-align: center;
}

.admin-flag-message {
    padding-left: 8px;
}

/* ----------- END CASE CLOSURE READINESS ASSESSMENT -------- */

img.thumbnail{
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px;
    width: 500px;
}

img.thumbnail:hover{
    box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
}

/*end 3.28.23 add - wwalk */

.photo-container img {
    margin: 10px;
}

.photo-gallery-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.photo-gallery-dialog-body {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.photo-gallery-image-container {
    flex-grow: 1;
    /* This is the crucial fix for the 0x0 image size issue in a flex column */
    min-height: 0; 
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
}

.photo-gallery-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.photo-gallery-footer {
    flex-shrink: 0;
    border-top: 1px solid #ddd;
    padding: 10px;
}


/*************** END IMAGES ****************************/



/* ------------------ Primefaces Overrides ----------------------*/




.ui-widget, .ui-widget .ui-widget {
    font-size: 95% !important;
}


.ui-state-hover{

}

/*these make the up and down circles on time input down and up buttons orange and green respectively*/

body .ui-datepicker .ui-picker-up{
    background-color: orange;
}

body .ui-datepicker .ui-picker-down{
    background-color: green;
}

.ui-selectlistbox-list td, tr{
    border: none;
}


/*STYLING TEXT EDITOR BUTTONS AFTER PF 14 UPGRADE!!*/


/* Style SVG icons within buttons */
.ql-toolbar button svg,
.ql-toolbar .ql-picker-label svg,
.ql-toolbar .ql-picker-item svg {
    width: 100%;
    height: 100%;
}


/* Set the toolbar background to black */
.ql-toolbar {
    background-color: black !important;
}

/* Apply white stroke to paths that should only have a stroke */
.ql-toolbar .ql-stroke {
    stroke: white !important;
    fill: none !important; /* Ensure fill is not applied */
}

/* Apply white fill to paths that should only have a fill */
.ql-toolbar .ql-fill {
    fill: white !important;
    stroke: none !important; /* Ensure stroke is not applied */
}

/* Apply both stroke and fill to paths that require both */
.ql-toolbar .ql-stroke-miter {
    stroke: white !important;
    fill: white !important;
}

/*END STYLING FOR TEXT EDITOR*/

/*TREE NODE STYLING*/
/* Adjust the .wrapText class to allow text wrapping */
/* Allow the label to grow and shrink, and set min-width to 0 */
.ui-tree .ui-tree-container .ui-treenode .ui-treenode-content .ui-treenode-label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* Enable text wrapping within the wrapText div */
.treeWrapText {
    white-space: normal !important;
    word-wrap: break-word;        /* For older browsers */
    overflow-wrap: break-word;    /* For modern browsers */
}

 /*added 2 DEC 2025 to work on dialogs that are too big 
 and whose bottom items can't be accessed without weird zooming'*/
 



/* ****************** END Primefaces Overrides ***********************/


/* ------------------DASHBOARD STYLES ----------------------*/

.bignum{
    font-size: 600%;
    font-weight: bold;
}

.bignum-header{
    font-weight: bold;
}

.mainContainerDashboard{

    display:block;
}





.ui-dashboard-column {
    width:33%;

}

.ui-widget-content{
    /*background-color: gray;*/
}


/*************** END DASHBOARD ****************************/


/* ------------------GRID FLOW BOXES ----------------------*/

.tight-padding div{
    padding: 2px;
}



/* ------------------TABLE STYLES ----------------------*/


.td-dense{
    padding: 1px;
    margin: 0px;
}


.object-info-box thead{
    text-align: left;
    font-weight: normal;
}

.no-border{
    border: none;

}

.ui-expanded-row-content{
    background-color: #04284A;

}

.spacier-rows{
    height: 150%;

}


table.primeDataTable td{
    font-size: 0.9em;
    white-space: normal;
    word-wrap: normal;
}


.primeDataTable {
    border-collapse: collapse;
}


/*this stupid css is to prevent address table cells from getting blue borders
when clicked even out of select mode!!*/

.primeDataTable :focus,
.primeDataTable .ui-state-focus,
.primeDataTable .ui-state-hover {
    outline: none !important;
    box-shadow: none !important;
}

.focus-background{
    background-color: #DEE461
}

.table-select-box-col{
    width:16px;
    text-align:center;
}

table.borders{

}

table.borders {
    border-collapse: collapse;
}

table.borders th, td {
    border: 1px solid black;
    padding: 10px;
}

table.borders th{
    background-color: lightblue;
}

tr.resolved{
    background-color: lightgreen;

}

tr.pending{
    background-color: lightyellow;

}

tr.pastdeadline{
    background-color: lightpink;
}

tr.reinspect{
    background-color: lightpink
}

.ui-datatable thead th{
    text-align: center;
}

/*PF 14 upgrades*/
.ui-datatable .ui-datatable-data {
    border-spacing: 0;
    border-collapse: collapse;
}

.ui-datatable .ui-datatable-data td {
    border-spacing: 0;
    border: none;
    border-collapse: collapse;
}


svg {
    display: block;
    margin: 0;      /* Remove any default margin */
    padding: 0;     /* Remove any padding */
    width: 0px;     /* Explicitly set width to zero if it’s unnecessary */
    height: 0px;    /* Explicitly set height to zero if it’s unnecessary */
    line-height: 0;
    float: none;    /* Remove any floating behavior */
    position: relative; /* Ensure it respects its normal flow */
    vertical-align: baseline;
}

/*

temporarily paints red boxes around all elements

* {
    border: 1px solid red !important;  Highlights all element boundaries 
}*/

span.ui-column-title{
    display: block;
}

/*td.gridTd {*/
.gridTd {
    border: none;
    vertical-align: top;
    padding: 7px;
}

.topbottom-lines-left{
    text-align: right;
    border-right: none;
    color: black;
    margin:0;

}

.topbottom-lines-right{
    text-align: left;
    border-left: none;
    color:black;
}


.gridTd-solid-back{
    border:none;
    background-color: rgba(12,12,12,0);
    z-index: 100;
    opacity: 1;
}

.panelGridData{
    border-collapse: collapse;
    margin: 0px;
    border: 1px solid black;
}

td.gridFooter {
    border: none;

}

.thick-borders .ui-datatable-data td,
.thick-borders .ui-datatable-data th {
    border-width: 3px; /* Adjust the thickness as needed */
    border-style: solid;
}

td.userBarTd{
    align-content: center;
    border: none;

}

td.centeredColumnContent{
    text-align: center;
}

.userBarTd .material-icons{
    margin-left: auto;
    margin-right: auto;
}


.leftalign{
    text-align: left;
}

gridTd-bignum{
}

.gridTd-mccontainer{
    background-color: #181F36;

}

.action-requests-search{
    background-color: bisque;
}

td.rowcolor-lightgreen{
    background-color: lightgreen !important;

}

td.rowcolor-lightgray{
    background-color: lightgrey !important;
}


td.rowcolor-lightblue{
    background-color: lightblue !important;
}

td.rowcolor-lightblue{
    background-color: lightblue !important;
}

td.rowcolor-lightred{
    background-color: lightcoral !important;
}

td.rowcolor-yellow{
    background-color: lightyellow !important;
}

td.rowcolor-orange{
    background-color: orange !important;
}

.small-text{
    font-size: 0.8em;
}






/***********************CLOSE TABLE STYLES**********************/


/*---------------------CHARTS ---------------------------*/

.jqplot-table-legend{
    border: none;
}


/***********************CLOSE CHARTS **********************/



/*---------------------BUTTONS & CONTROLS---------------------------*/

.ui-state-hover{


}

.ui-button-text{
    margin-left: 5px;
}

/* injects a larger space to my left, and a little to my right for the check box */
.inline-spaced-control-label{
    margin-left: 8px;
    margin-right: 3px;

}

.full-width{
    width:100%;
}

.hover-none:hover{

    margin: auto;
    background-color: green;

}

/* this styling is for use w/ command button on codeSourceManage.xhtml */
.manButton{
    margin-bottom: 15px;
}

.inline-button{
    margin-left:10px;

}



/* formatting command buttons completeCodeSourceList & codeSourceTable on codeSourceManage.xhtml  */
.buttonOwnLine1{
    margin-top: 10px;
    margin-bottom: 10px;
}

/* formatting command buttons for inspectableCodeElementManage.xhtml */
.iceButton{
    margin-top: 10px;
}


.commandButton{
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;

}

.button-size-small {
    font-size: small;
    font-weight: normal;
}

.cear-actions-button {

}

/* Note append command link in the CEAR notes panel */
.cear-note-append-link {
    font-size: 0.85em;
    color: #0071c5;
    cursor: pointer;
    white-space: nowrap;
}

.cear-note-append-link:hover {
    text-decoration: underline;
}


.buttonOwnLine{
    display: block;
    margin-bottom: 10px;
    margin-top: 5px;
    clear: left;
    /*    color: blue;
        background-color: green;*/
}

.noFill{
    background-color: white;
}

.button-float-right{
    display: block;
    float:right;
}
.sessionInfoButton{
    background: none;

}

.sessionInfoButton span{
    color: white;
}


.link-button{
    display: inline-block;
    font-weight: bold;
    color:blue;
    padding: 5px;
    text-decoration: none;

}

.link-button-container a{
    color:white;
}

.commandlink-container .commandlink-webstd a:link{


}

button.button-help{
    background-color: white;
    color: blue;
    border: none;
    display: inline-block;
}


.inline-control{
    margin-left: 8px;
}


.nudge-right{
    margin-right: 8px;
}

.button-row-container {
    display: flex;
    justify-content: flex-start;
}


.button-row-container button {
    margin-right: 10px;
}

/* ****************** CLOSE BUTTON STYLES ********************/




/* -------------------- DIALOGS ----------------------- */

.object-metadata{
    font-style: italic;
    margin-top: 3px;
}

/* -------------------- ADMINISTRATIVE FLAGS ----------------------- */

.admin-flag-container {
    margin: 10px 0;
}

.admin-flag-header {
    font-weight: bold;
    margin-bottom: 8px;
    padding: 8px 12px;
    border-radius: 4px;
}

.admin-flag-blocker .admin-flag-header {
    background-color: #ffebee;
    color: #c62828;
    border-left: 4px solid #c62828;
}

.admin-flag-cleanup .admin-flag-header {
    background-color: #fff3e0;
    color: #e65100;
    border-left: 4px solid #ff9800;
}

.admin-flag-info .admin-flag-header {
    background-color: #e3f2fd;
    color: #1565c0;
    border-left: 4px solid #2196f3;
}

.admin-flag-list {
    padding: 0;
    margin: 0;
}

.admin-flag-item {
    padding: 8px 12px;
    margin: 4px 0;
    background-color: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    align-items: center;
}

.admin-flag-blocker .admin-flag-item {
    border-left: 4px solid #c62828;
}

.admin-flag-cleanup .admin-flag-item {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 border-left: 4px solid #ff9800;
}

.admin-flag-icon {
    font-size: 1.5em;
    text-align: center;
}

.admin-flag-message {
    /* Message uses grid sizing */
}

.admin-flag-nav-link {
    text-align: right;
}

.admin-flag-empty {
    padding: 12px;
    color: #757575;
    font-style: italic;
    text-align: center;
}

/* Suppressed admin flags indicator in ceCaseInfo */
.admin-flags-suppressed-text {
    font-style: italic;
    color: #888;
}

/* Hint text in the mark-sent date dialog */
.cecase-marksent-hint {
    font-size: 0.85em;
    font-style: italic;
    color: #888;
}

.nov-mailing-event-configured {
    font-size: 0.9em;
    color: #2e7d32;
    font-weight: bold;
    margin-bottom: 6px;
    display: block;
}

.nov-mailing-event-missing {
    font-size: 0.9em;
    color: #b71c1c;
    font-weight: bold;
    margin-bottom: 6px;
    display: block;
}

/* Admin flag color variants for Case Status Revision 2 */
.admin-flag-yellow {
    background-color: #fff3cd;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
}

.admin-flag-red {
    background-color: #f8d7da;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
}

/* Dark/Teal (DEPRECATED - use green or purple) */
.admin-flag-dark {
    background-color: #d6d8db;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
}

/* Dark Green - Ready for closure (non-citation) */
.admin-flag-green {
    background-color: #2d6a4f;
    color: #ffffff;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
    border-left: 5px solid #1b4332;
}

/* Dark Purple - Ready for closure (citation terminal) */
.admin-flag-purple {
    background-color: #5a189a;
    color: #ffffff;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
    border-left: 5px solid #3c096c;
}

/* Blue (DEPRECATED - removed per February 9, 2026) */
.admin-flag-blue {
    background-color: #d1ecf1;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
}

/* -------------------- CLOSE ADMINISTRATIVE FLAGS ----------------------- */


/* -------------------- CLOSE DIALOGS ----------------------- */

/* -------------------- ACTIVE BOBS ----------------------- */
.activebob-container{
    display: inline-block;
    float: left;
    width: 100%;
    color:black;
    background-color: white;
    padding: 10px;
    border: solid black;
    margin: 5px;
    height: 100%;

}
/* -------------------- CLOSE ACTIVE BOBS ----------------------- */


/* -------------------- PARCEL LOG PANEL ----------------------- */

/* Deactivated log entries - grayed out */
.parcel-log-table .deactivated-row {
    opacity: 0.5;
    background-color: #f5f5f5;
}

/* Pending review log entries - yellow highlight */
.parcel-log-table .pending-review-row {
    background-color: #fff8dc;
}

/* Base severity badge styling */
.severity-badge {
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    font-size: 0.85em;
}

/* INFO severity - light blue */
.severity-info {
    background-color: #d1ecf1;
    color: #0c5460;
}

/* WARNING severity - yellow */
.severity-warning {
    background-color: #fff3cd;
    color: #856404;
}

/* ERROR severity - light red */
.severity-error {
    background-color: #f8d7da;
    color: #721c24;
}

/* CRITICAL severity - strong red */
.severity-critical {
    background-color: #f5c6cb;
    color: #721c24;
    font-weight: bold;
}

/* -------------------- CLOSE PARCEL LOG PANEL ----------------------- */


/* -------------------- PROPOSALS AND CHOICES ----------------------- */

.proposal-choice-button{
    margin-top: 5px;

}

.proposal-prophead{
    font-weight: bold;
    font-size: 1.2em;
    display: block;
    float: left;
}

.proposal-description{
    font-style: italic;
    font-size: 0.9em;
}

.proposal-choicehead{
    font-weight: bold;
    font-size: 1.2em;
}

.proposal-metadata-container{
    display: block;
    width: 100%;
}

.proposal-propbuttoncontainer{
    display: block;
    float: right;
}


.proposal-infotable-box{
    display: block;
    width: 100%;
    clear: both;
}

/* ****************** END PROPOSALS AND CHOICES ********************/




/* -------------------- INSPECTION AND OCC PERMIT----------------------- */


.reinspection-flag{
    background-color:  #DEE461;
}

.required-person-alert{
    background-color:  #DEE461;
}

.permit-flow-container-step{
    border: none;
    padding: 15px;
}

.non-clickable{
    pointer-events: none;
}

.view-active {
    text-decoration: underline;
}



.occperiod-inspace-info{
    display: block;
    clear: both;

}

.ui-datascroller-item{
    clear:both;
}

.ui-datascroller{
    border: none;
}

.occinsspace-metadata-container{
    display: block;
    width: 100%;
}

.occspace-button-container{
    display: block;
    float: right;
}

.finalized{
    color:darkblue;
    font-size: 1.3em;
}

.inprocess{
    color:darkred;
    font-size: 1.3em;
}

i.inspection-pass{
    color: forestgreen;
}

i.inspection-fail{
    color: #B36A00;
}

i.inspection-notinspected{
    color: #1a237e;
}

.occperiod-inspace-header{
    font-size: 1.4em;
    font-weight: bold;
    color: #163F8A;
    margin-bottom: 15px;
    display: block;
    float: left;
}

.occperiod-inelement-header{
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
    clear:both;
}


.inspection-notinspected{
    color: #1a237e;
    font-weight: bold;

}

.inspection-pass{
    color: forestgreen;
    font-weight: bold;
}

.inspection-fail{
    /*dark red*/
    color:#950025;
    font-weight: bold;
}

.inspection-documentation{
    /*dark blue*/
    color: #260c99;
}

/*For space dimensions in FINs*/
.small-width-input .ui-inputfield{
    width: 50px;
}

/*For space dimensions in FINs*/
.med-width-input .ui-inputfield{
    width: 100px;
}


.green-button .ui-button{
    background-color: darkgreen;
    color: white;
    border:1px solid #6C6D70;
    width: 100%;
}


.occpermit-borderbox{
    display: block;
    width: 100%;
    border: #00637F double medium;
    padding: 10px;
}

.occpermit-datagrid{


}

.gridTd-permit {
    border: none;
    vertical-align: top;
    padding: 10px;
}


.occpermit-title{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 2em;
    font-weight: bold;
}

.occpermit-titlesub{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.1em;
    font-style: italic;
}

.occpermit-criticaldata-label{
    display: block;
    clear: right;
    font-weight: bold;
    font-size: 1.2em;

}

.occpermit-criticaldata-value{
    font-size: 1.2em;
}

.occpermit-minordata-label{
    font-size: 1em;

}

.occpermit-minordata-value{
    font-size: 1em;

}

.occpermit-admindata-label{
    font-size: .8em;
    font-weight: bold;
    color: darkgrey;
}

.occpermit-admindata-value{
    font-size: .8em;

}

.occpermit-additionalnotes{

}

.occpermit-muniheader{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}

/*class given to <h:outputText ... components which are nested in an <hx of some kind*/
.occperiod-periodlabel{
    font-weight: bold;
    color: darkgrey;
    font-size: 1.1em;
}

.occperiod-periodvalue{


}

.occperiod-address{
    font-weight: bold;
    font-size: 1.3em;
}

.occinspection-reportheader{

}

.occpermit-referencenointable {
    font-weight: bold;
    font-size: 1.3em;
    color:darkgreen;
}

.occpermit-finalizedintable{
    color: darkgreen;
}

.occpermit-finalizedintable-nullified{
    color: darkgray;
    text-decoration: line-through;
}

.occpermit-finalizedintable-revoked{
    color: darkred;
}

.field-init-inspection-routing div{
    background-color: #DEE461;
}

.inspection-routing-highlighted{
    background-color: #DEE461;

}

.margin-buffered {
    margin:10px;
}


.permit-amendment-mode{
    background-color:  #DEE461;
    font-weight: bold;
}



.fieldinitfin-notice-text{
    color: #E91E63;
    font-weight: bold;
}

.fieldinitfin-text-noqueuedrequests{
    color: #00C853;
    font-weight: bold;
    font-style: italic;
}

.dispatched-highlight{
    /*lilac ish*/
    background-color: #E6A5CA;
}
.inspection-flag {
  border: 2px solid black;
  display: flex;          /* allows side-by-side icon area + text area */
  margin: 1rem 0;
  font-family: sans-serif; 
  width: 100%;
  box-sizing: border-box;  /* ensure padding etc. stay within set width */
}

.inspection-flag-icon {
  background-color: #222;  /* dark background for “inverted” effect */
  color: #fff;             /* light/white icon or text on dark background */
  padding: 0.5rem;
  display: flex;
  justify-content: center; 
  align-items: center;     
  width: 3rem;             /* square-ish icon region */
  min-width: 3rem;
}

.inspection-flag-text {
  padding: 0.5rem 1rem;
  flex-grow: 1;            /* let the text area expand as needed */
}

.inspection-flag-text .flag-title {
  font-weight: bold;
  text-transform: uppercase;
}

.inspection-flag-text .flag-subtext {
  margin-top: 0.3rem;
  font-weight: normal;  /* regular text for subtext */
}


/* Force icon color to bright red, overriding other icon rules */
.inspection-flag-icon .material-icons {
  color: #B36A00! important;
}

/* ****************** CLOSE INSPECTION AND OCC PERMIT *************************/



/* -------------------- PERSONS / HUMANS ------------------------------------ */

.act90flag-linkonly{
    background-color:  #DEE461;
    
}

.act90flag-guilty{
    background-color: #644D9E;
    color: white;
}

.act90-miniflag{
    background-color:  #DEE461;
    display: block;
    
}



/* ****************** END PERSONS / HUMANS ************************************/


/* ----------------------------------- MISC --------------------------------- */

/**
For sneaky text on pages -- usually to load a backing bean by page EL eval
*/
.white-text{
    color:white;
}

.content-align-center{
    text-align: center;
}

.nov-chosen-recipeint{
    margin: 10px;
    font-family: Heebo;
}
.nov-viol-ds{
    border: none;
}

.nov-header-image{
    margin-left: auto;
    margin-right: auto;
}

.ui-datascroller-content{
    border: none !important;

}

p.footer{
    font-style: italic;
    size: 0.8em;
    color: #e3b73d;
}

/* UI Controls Styling*/

.inputText{
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.fullwidth-component{
    width: 100%;
}

a.outputLink{
    display: block;
    margin-bottom: 10px;
}


.textArea{
    width: 400px;
    margin-bottom: 10px;
    min-height: 120px;
}

select.selectOneListbox{
    margin-bottom: 10px;
}

span.uiLabel{
    display: block;
    clear: left;
    margin-bottom: 10px;
    font-weight: bold;

}

input.selectBooleanCheckbox{
    display: inline-block;
    float: left;
}

div.checkBoxLabel{
    display: block;
    float: left;
    margin-top: 0px;
    margin-bottom: 10px;
}

.requested-action-status {
    font-size: 1.3em;
    font-weight: bold;
}

.action-needed{
    color:red;

}

.action-complete{
    color:blue;
}

.nov-builder-halfwidth{
    width: 50%;
    border: none;
    vertical-align: top;
}

.preview-violations-box{
    display: block;
    width:1000px;
}

.newpasswd-cont{


}

.newpsswd-lead{


}

.newpasswd-text{
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.newpsswd{
    font-size: 3em;
    color: darkslateblue;
    font-weight: bold;
}


/* ******************** CLOSE MISC ********************************/



/* Error Styling */

.msgWarn{
    color: darkgoldenrod;
}

.msgInfo{
    color: blue;
}

.msgFatal{
    color: orange;
}

.msgError{
    color: orangered;
}

/* Property Profile Styling */

.footnote{
    font-style: italic;
    font-size: 0.8em;
}

table.cases{
    border-collapse: collapse;
    border: 1px solid black;

}

table.cases th{
    text-align: left;
    border: 1px solid blue;
    background-color: green;
}

table.cases td{
    text-align: left;
    border: 1px solid blue;
    padding: 5px;
}

tr.caseClosed{
    background-color: #66ff66;
}

tr.caseOpen{
    background-color: #9999ff;
}

/* CSS for creating a diagonal striped background in a div
   Source: Guidance provided by ChatGPT
   Pattern: Diagonal stripes resembling a hazard sign
   Colors: Light yellow and light orange
*/

.alert-background {
    margin: 10px;
    padding: 5px;

    /* Create a linear gradient with light yellow and light orange stripes */
    background-image: linear-gradient(
        45deg,      /* Angle of the gradient */
        #ffffe0 0%,  /* Light yellow; start of yellow stripe */
        #ffffe0 50%, /* Light yellow; end of yellow stripe */
        #ffcc99 50%, /* Light orange; start of orange stripe */
        #ffcc99 100% /* Light orange; end of orange stripe */
        );
    background-size: 80px 80px;

}

.alert-text{
    font-weight: bold;
    font-size: 1.5em;
}

.alert-container {
    width: 100%;
    margin-top: 15px;
}

/* fieldset */

.ui-fieldset-toggleable .ui-fieldset-legend{
    background-color: white !important;
    color:black !important;
    font-weight: normal !important;

}

.ui-fieldset-legend{
    background-color: white;
    font-weight: normal;

}

/* tab views */
.ui-tabs-nav{
    color:black;
    background-color: green;
}


/* Documentation styling */
.docContainer{
    max-width: 800px;

}

.pageContentsList{
    list-style-type: none;
}


.pageContentsList li{
    font-size: 1.2em;
    margin-bottom: 10px;
}

.unit_number {
    font-size: 1.4em;
    font-weight: bold;
}

/*Next three classes created with help from chatGPT model 03*/
/* portal links styling */
.property-info .portal-logo{          /* ← use the normal hyphen */
    display:block;          /* removes inline‑image gaps          */
    width:100%;             /* follow the column width            */
    max-width:200px;        /* never grow larger than the original*/
    height:auto;            /* keep aspect ratio                  */
    object-fit:contain;     /* just in case browsers misbehave    */
}

/* --- B. Mask anything that would still hang over ------------------ */
.property-info .right-column-mask{    /* ← normal hyphen again     */
    background:#fff;
    position:relative;
    z-index:1;
    overflow:hidden;
}

/* optional : a quick media query to make the logos even smaller
   on *very* narrow screens / high zoom                           */
@media (max-width:600px){
    .property-info .portal-logo{max-width:140px;}
}

/* ******************* TOP NAVIGATION BAR *************************/

/* Top nav bar - responsive */
@media screen and (max-width: 640px) {

    .navbar .nav_containner{
        display: block;
    }

    .navbar .nav_containner .nav_content{
        display: none;
    }

    .navbar .navbar_toggler_button{
        float: right;
        display: block;
        position: absolute;
        right: 0px;
        top: 0px;
    }

    .responsive {
        position: relative;
    }

    .responsive .nav_containner .nav_content{
        float: none;
        display: block;
        text-align: left;
        border-bottom: 1px solid #E6E7E8;
    }

    .responsive .nav_containner .nav_active{
        box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.3);
    }

    .responsive .nav_containner .subnav_containner{
        top:0px;
        left:200px;
        width: 100%;
        box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
    }

    .responsive .nav_containner .subnav_containner .subnav_content{
        border-top: 0px solid #E6E7E8;
        border-bottom: 1px solid #E6E7E8;
    }

}

/* Top nav bar */
.navbar{
    min-height: 40px;
    color: white;
    background-color: #6C6D70;
    position: relative;
    z-index: 10;
}

.nav_containner{
    display: inline-flex;
    margin-right: -4px;
    position: relative;
}

.nav_containner:hover {
    color: #6C6D70;
    background-color: #CECECE;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
}

.nav_content{
    height:40px;
    padding: 10px 10px;
    min-width: 200px;
    float: left;
    display: block;
    text-align: center;
}

.nav_containner:hover .subnav_containner{
    display: block;
}

.navbar_toggler_button{
    font-size: 25px;
    height:40px;
    padding: 5px 5px;
    display: none;
    cursor: pointer;
}

.navbar_toggler_button:hover{
    color: #00B4ED;
}

.subnav_containner{
    display: none;
    position: absolute;
    top:40px;
    width: 200px;
    z-index: 15;
}

.subnav_content{
    float: left;
    height: 40px;
    width: 100%;
    padding: 10px 10px;
    border-top: 1px solid #2F6381;
    color: #6C6D70;
    background-color: #CECECE;
}

.currentinfo{
    float: left;
    font-size: 14px;
    height: 40px;
    width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    border-left:1px solid #2F6381;
    border-right:1px solid #2F6381;
}

.nav_font i{
    padding-right: 5px;
}

.subnav_content:hover{
    background-color:#00B4ED;
    color:#000000;
}

.nav_active{
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.3);
}

.nav_button{
    float: right;
    font-size: 14px;
    height: 40px;
    min-width: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
}

.subnav_containner_stable{
    min-height: 40px;
    position: relative;
    font-family: inherit;
    color:#6C6D70;
    background-color: #EEEEEE;
    width: 100%;
    z-index: 3;
}

.nav_display{
    display:inline-block;
    z-index: 2;
}
.nav_hide{
    display: none;
}

.navsub_active{
    color:#000000;
    border-top: 2px solid #6C6D70;
}

/* ******************* SIDE NAVIGATION BAR *************************/

/* Side nav bar */
.sidebar {
    min-height: 95vh;
    height: 100%;
    width: 35px;
    position: absolute;
    left: 0;
    background-color: #6C6D70;
    transition: 0s;
}

#maincontent{
    margin-left: 40px;
}

.toolSidebarCollapse{
    height: 40px;
    color: #E6E7E8;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    border-bottom: 1px solid #E6E7E8;
}

.toolSidebarExpansion{
    height: 40px;
    color: #E6E7E8;
    font-size: 25px;
    display:none;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #E6E7E8;
    padding-right: 15px;
    align-items: flex-end;
}

.toolSidebarTitle{
    padding-left: 10px;
    position: absolute;
    align-self: flex-start;
    font-size: 15px;
}

.toolSidebarCollapse i,.toolSidebarExpansion i{
    cursor: pointer;
}

.toolSidebarCollapse i:hover,.toolSidebarExpansion i:hover{
    color: #00B4ED;
}

.sidebar_item{
    color: white;
    display: initial;
}

.sidebar_firstmenu_item{
    height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #E6E7E8;
}

.sidebar_firstmenu_item i{
    padding-left: 10px;
    width: 25px;
}

.sidebar_firstmenu_font{
    padding-left: 20px;
    font-size: 14px;
    display: none;
    cursor: pointer;
}

.sidebar_firstmenu_item:hover{
    border-bottom: 1px solid #00B4ED;
}

.sidebar_firstmenu_font_active{
    background-color: #6C6D70;
}

.sidebar_secondmenu{
    display: none;
}

.sidebar_secondmenu_item{
    height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #2F6381;
    color: #6C6D70;
    background-color: #CECECE;
}

.sidebar_secondmenu_item:hover{
    background-color:#00B4ED;
    color:#000000;
}

.sidebar_secondmenu_item i{
    width: 25px;
    padding-left: 10px;
    cursor: pointer;
}

.sidebar_secondmenu_font{
    padding-left: 20px;
    font-size: 16px;
    display: none;
    cursor: pointer;
}

/* ****************** PRIMEFACE STYLING RESETING *******************/

/*body .ui-panel .ui-panel-titlebar{
    background-color: #6C6D70;
    border: 1px solid #6C6D70;
}*/

div.advanced-search div.ui-panel-titlebar{
    background-color: white;
    color:black;
}

body .ui-panel .ui-panel-titlebar{
    background-color: #004864;
    border: 1px solid #004864;
    color:white;
}

body .ui-panel-titlebar-cecase{


}

body .ui-panel-titlebar-occperiod{

    background-color: #31004C;

}




body .ui-dialog .ui-dialog-titlebar{
    background-color: #6C6D70;
    border: 1px solid #6C6D70;
}

body .ui-messages .ui-messages-info{
    background-color: #99C221;
}

body .ui-selectonemenu{
    width: 100%;
}

body .ui-inputfield{
    width: 100%;
}

body .ui-widget:not(.pi), body .ui-widget .ui-widget:not(.pi) {
    font-family: 'heebo';
}

body .ui-steps .ui-steps-item .ui-menuitem-link .ui-steps-number {
    width: 3.5em;
    height: 3.5em;
}

body .ui-steps .ui-steps-item.complete .ui-menuitem-link .ui-steps-number {
    border: 0;
}


body .ui-steps .ui-steps-item.ui-state-disabled {
    opacity: 1
}


body .ui-calendar.ui-trigger-calendar{
    display: inline-flex;
}

body .ui-calendar.ui-trigger-calendar .ui-button{
    background-color: #6C6D70;
    border: 1px solid #6C6D70;
}

body .ui-fileupload-cancel{
    background-color: #6C6D70;
    border: 1px solid #6C6D70;
}

body .ui-fileupload-choose{
    background-color: #6C6D70;
    border: 1px solid #6C6D70;
}

body .ui-panel {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 40px;
}


/*body .ui-button{
    background-color: #00B4ED;
    border: 1px solid #00B4ED;
}*/


/*button*/

.selectButton{
    min-width: 70px;
}
.editButton{
    min-width: 60px;
}





.MuniReadTableOutputLabel{
    width: 100%;
    border-bottom: 1px black solid;
    background-color: #F0F0F0;
    padding-top: 10px;
}
.MuniReadTableInputText{
    width: 100%;
}
body .ui-inputfield{
    font-size: 100%;
}

body .ui-datatable .ui-datatable-header, body .ui-datatable .ui-datatable-footer{
    background-color: #6C6D70;
    border:1px solid #6C6D70;
}

#muniManage-panel .ui-panelgrid .ui-panelgrid-content{
    border: none;
}

/* feeManage.xhtml page (shares many rules with muniManage.xhtml) */

.FeeReadTableOutputLabel{
    width: 100%;
    border-bottom: 1px black solid;
    background-color: #F0F0F0;
    padding-top: 10px;
}
.FeeReadTableInputText{
    width: 100%;
    padding-top: 10px;
}

#feeManage-panel .ui-panelgrid .ui-panelgrid-content{
    border: none;
}

/* **************** PUBLIC NAV CONTAINER PAGE **********************/

.public-container{

}

.public-menu-container{
    width: 25%;
    min-height: 100vh;
    background-color:#2F2F2F;
    position: fixed;
}

.public-menu-content{
    height: 100vh;
    background-color:#2F2F2F;
    padding-top: 75px;
}

.public-menu-logo{
    padding-bottom: 30%;
    width: 95%;
    margin: 0 auto;
}

.public-menu-button{
    padding-bottom: 2%;
    width: 95%;
    margin: 0 auto;
}

.public-menu-nav-container{
    width: 75%;
    float: right;

}

.public-menu-nav-title{
    color: #00B4ED;
    font-size:125%!important;
    padding-bottom: 30px;
    font-weight: 700;
}

.public-menu-nav-seperateline{
    padding-top: 20px;
    padding-bottom: 20px;
}

.public-menu-nav .ui-commandlink{
    font-size: 115%!important;
    color:white;
    display: block;
    flex: 1;
    min-width: 0;
}

.public-menu-nav{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
}

.public-menu-nav:hover{
    border-bottom: 1px solid #00B4ED
}

.public-menu-nav a:hover{
    text-decoration: none;
}

.public-arrow-container{
    flex-shrink: 0;
    min-width: 30px;
    padding-top: 2px;
}

.public-arrow{
    vertical-align: top;
    color: #DEE461;
    font-weight: 900;
    visibility: hidden;
}

.public-arrow.public-menu-active{
    visibility: visible;
}

.public-menu-button .ui-button {
    width: 100%;
}

.public-menu-text{
    bottom: 1rem;
    position: absolute;
    display: flex;
    justify-content: center;
    text-align:center;
    margin: 0 2%;
    color: grey;
}

.public-content-container{
    min-height: 100vh;
    width: 75%;
    position: absolute;
    left: 25%;
}

.public-content{
    position: relative;
    width: 95%;
    min-height: 100vh;
    margin: 0 auto;
}

.mainContainer{
    height: 100%;
}

.public-title{
    padding-top: 75px;
    width: 71.25%;
    position: fixed;
    top:0;
    min-height: 10vh;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 99;
}

.public-title-main {

    font-size: 3em;
    font-weight: bold;
}

.public-title-sub{
    font-size: 1em;
    z-index: 120;
}

.public-main-contents-containner{
    position: absolute;
    top:15vh;
    width: 100%;
}

.public-guide{
    padding-top: 3%;
    padding-bottom: 3%;
    min-height: 10vh;
    width: 100%;

}

.public-main-contents{
    width: 100%;
}

.public-main-contents-io{
    position: relative;
    width: 100%;
    padding: 2%;
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #F3F3F3;
}

.public-main-contents-io-title{
    position: absolute;
    top:25px;
    min-height: 30px;
    font-weight: 600;
}

.public-main-contents-io-content{
    padding-top: 30px;
}

.public-main-contents-button-left{
    padding: 0.5%;
    float:left;
    min-width: 15%;

}

.public-main-contents-button-right{
    padding: 0.5%;
    float:right;
    min-width: 25%;

}

.data_field_title{
    font-size: 1.2em;
    padding-top: 1%;
    padding-bottom: 0.5%;
    font-weight: bold;

}

.mainContainer .ui-steps .ui-steps-item{
    width: 16.6%;
}

.mainContainer .occpermit .ui-steps .ui-steps-item{
    width: 14.285%;
}

.mainContainer .ui-steps.custom .ui-steps-item.complete .ui-menuitem-link .ui-steps-number {
    background-color: #00B4ED;
    color: #FFF;
}

.mainContainer .ui-steps-title{
    font-weight: 700;
    font-size: 90%;
    color: #333;
}


.mainContainer .ui-steps .ui-steps-title{
    white-space:normal;
}

.mainContainer .ui-steps::before{
    top: 55px;
}

.public-menu-toggler-button{
    position: fixed;
    top:0;
    right: 0;
    font-size: 2.5em;
    padding-right: 2.5%;
    padding-top: 1.5%;
    cursor: pointer;
    z-index: 102;
    display: none;
}

.public-menu-toggler-button-white i{
    color: white;
}

.public-login-logo{
    padding-bottom: 80px;
    width: 9%;
    min-width: 100px;
    margin: 0 auto;
}

.publi-login-container{
    margin: 0 auto;
    width:550px;
}

.publi-login-title{
    color: #2F2F2F;
    letter-spacing: 3px;
    padding-bottom: 30px;
    ;
    font-size: 2em;
    width: 100%;
    text-align: left;
    font-weight: bold;
    display: inline-block;
}

.public-login-button{
    font-size: 1.3em;
    width: 100%;
    padding-top: 1em;
}

.public-login-text{
    text-align: left;
    width: 100%;
}

.public-main-contents-login{
    background-color: white;
}

input{
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.login-button {
    display: inline-block;
    border-radius: 4px;
    background-color: #007AD9;
    color: #FFFFFF;
    text-align: center;
    font-size: 1.1em;
    padding: 0.3em;
    width: 100%;
    transition: all 0.5s;
    cursor: pointer;
    border: none;
}

.login-button span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
}

.login-button span:after {
    content: '\00bb';
    position: absolute;
    opacity: 0;
    top: 0;
    right: -20px;
    transition: 0.5s;
}

.login-button:hover span {
    padding-right: 25px;
}

.login-button:hover span:after {
    opacity: 1;
    right: 0;
}

.filter-box-container{
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: white;
    margin-bottom: 3em;
    box-shadow: 0 3px 10px 2px rgba(0, 0, 0, 0.2);
}
.paccode{
    display: inline-block;
    font-size: 3em;
    font-weight: bold;
    padding: 15px;
    border-top: 30px;
    border-bottom: 30px;
}

.link a:link {
    color: #00B4ED;
    text-decoration: underline;
}

.link-entity{
    position: absolute;
    bottom: 0.5em;
}



@media screen and (max-device-width:640px),(max-width: 640px){
    .publi-login-container{
        margin: 0 auto;
        width:80%;
    }

    .public-title{
        position: relative;
    }

    .public-menu-container{
        position: relative;
        width: 100%;
    }


    .public-content-container{
        width: 100%;
    }

    .public-content-container{
        position: relative;
        width: 100%;
        left: 0%;
    }
    .public-menu-container{
        height: 100px;
        display: none;
    }

    .public-menu-toggler-button{
        display: block;
    }

    .public-menu-toggler-responsive{
        display: block;
        position: fixed;
        z-index: 101;
    }



}


/*code pages*/
.gridTd_code{
    border: none;
    padding: 7px;

}

.gridTd_code_inputTextarea{
    border: none;
    padding: 7px;
    width: 1100px;
}

.system_admin_only{

    background-color:  #DEE461;
}


/* ************* UI PATTERN FOR DATA LABEL AND VALUE ***************/

.data-container{
    padding-top: 10px;
    padding-bottom: 20px;
}

.data_table_header{
    font-weight: bold;
    font-size: 20px;
}

.data_edit_button{
    min-width: 120px;
    float:right;
    padding: 5px;
}

.data_field{
    border-bottom: 1px solid #CECECE;
    min-height: 80px;
}
.data_container_nested_public{
    width: 100%;
    min-height: 100px;
}

.data_field_card{
    background-color: #E6E7E8;
    text-align: center;
    text-align: justify;
    min-height: 80px;
    padding: 5%;
    margin: 4%;
    min-height: 45vh;
}

.data_field_card_title{
    font-size: 1.5em;
    font-weight: bold;

}

.data_field_label{
    font-weight: 500;
    padding-bottom: 5px;
    display: block;
}

.data_field_value{
    color: #6C6D70;
    display: block;
    width: 100%;
}

.gray_button .ui-button{
    background-color: #6C6D70;
    border:1px solid #6C6D70;
}

.red_button .ui-button{
    background-color: darkred;
    color: white;
    border:1px solid #6C6D70;
}





/* **************** TASK Management *******************/

.task-title{
    font-weight: bold;
    font-size: 1.2em;
}

.task-description{
    font-style: italic;

}

.occperiod-tasks-container{
    clear:  both;
    display: inline-block;
}




/* **************** RESTRICT PAGE -- SEARCH PAGE *******************/

.list-data-container{
    min-height: 100vh;
}

.object-data-container{

}

.list-data-container .ui-selectbooleanbutton,
.list-data-container .ui-buttonset:not(.ui-splitbutton)>.ui-button {
    width: 25%;
    border: 1px white solid;
    font-size: 1.1em!important;
    padding-top: 5px;
    padding-bottom: 5px;
}

.list-data-container .ui-selectbooleanbutton.ui-state-active,
.list-data-container .ui-buttonset:not(.ui-splitbutton)>.ui-button.ui-state-active{
    background-color: #99C221;
    border:1px solid #99C221;
}

.list-data-container .ui-panel .ui-panel-content{
    background-color: #EEEEEE;
}

.restrict-main-list-mode-button{
    width: 100%;
    min-height: 50px;
}
.restrict-main-object-title{
    min-height: 50px;
    width: 100%;
    font-size: 1.5em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: right;
    font-weight: 700;
    color: #6C6D70;
    padding: 5px;
}

.data_container_nested_restrict{
    width: 100%;
    /*removed by ECD in haste to get more head room on cecaseprofile*/
    /*padding-top: 15px;*/
    margin-bottom: 20px;
}

.data_container_nested_restrict_report{
    width: 100%;
    padding-top: 1px;
    margin-bottom: 1px;
    font-family: sans-serif;
}

.restrict-main-contents-io-title{
    font-weight: 700;
    padding-bottom: 10px;
}

.restrict-main-contents-help-link{
    color:blue;
    /*display: inline-block;*/
    float: left;
    display: inline-block;
    text-decoration: none;
    clear: none;

    /*    float: next;*/
    /*text-decoration: underline;*/
    font-weight: 200;
    /*border-bottom: 1px solid #6C6D70;*/
    margin-left:10px;

}

.float-right{
    display: block;
    float:right;
}

.float-left{
    display: block;
    float: left;
}

.help-icon-tightright{
    padding-right: 0px;
    margin-right: 0px;
}

.help-text-tightleft{
    padding-left: 0px;
    margin-left: 0px;
}

.restrict-main-contents-help-link a{
    color:blue;

    text-decoration: none;

    /*text-decoration: underline;*/
    font-weight: bold;
    /*border-bottom: 1px solid #6C6D70;*/
    margin-left:10px;

    /*changed in haste by ECD Jan 2021 for cecase profile facelift*/
    border-bottom: 1px solid blue;
}

.restrict-main-contents-io-link a{
    /*color: #6C6D70;*/
    color:blue;
    font-weight: bold;

}
.restrict-main-contents-io-link a:hover{
    /*color: #6C6D70;*/
    color:lightskyblue;
    font-weight: bold;

}

.restrict-main-contents-io-link a:disabled{
    /*color: #6C6D70;*/
    color:darkgray;


}

.restrict-main-contents-io-content{
    min-height: 40px;
}

.restrict-main-contents-io-filter{
    display: inline-block;
    padding-top:15px;
}
.restrict-main-contents-io-filter .checkbox{

    padding-right: 10px;
}

.restrict-main-contents-io-button{
    width: 250px;
    float: right;
    margin-left: 5px;
}

.restrict-main-contents-io-button-maxwidth{

    float: right;
    margin-left: 5px;
}

/* Property quick search: "Use this property" button centered under "view property" link */
.prop-search-use-prop-btn-wrapper {
    text-align: center;
}

.restrict-main-contents-io-button-left{
    float: left;
    margin-right: 5px;
}

.restrict-data-field{
    margin-top: 5px;
    margin-bottom: 10px;
}

.restrict-data-field_report{
    margin-top: 1px;
    margin-bottom: 1px;
}

.restrict-data-field-label-inline{
    font-weight: 700;
    display: inline-block;
    min-width:180px;
}

.restrict-data-field-value-inline{
    color: #6C6D70;
    display: inline-block;
    vertical-align: top;
}

.restrict-data-field-multi-line{
    margin-top: 5px;
    margin-bottom: 10px;
}

.restrict-data-field-multi-line .restrict-data-field-label-inline{
    display: block;
}
.restrict-data-field-multi-line .restrict-data-field-value-inline{
    display: block;

}


.restrict-data-field-label-vertical{
    min-height: 30px;
    font-weight: 700;
    border-bottom: 1px solid #CECECE;
}

.restrict-data-field-value-vertical{
    padding-top: 15px;
    display: block;
}

/** RULES MADE FOR EDITABLE TABLES

    These rules are made for tables with editable rows. The rows used to turn blue, and that was hard to read. Now they turn not blue. Please put this rule wherever it should be.
**/

body .ui-datatable.editTable .ui-datatable-data>tr.ui-state-highlight {
    border:1px solid #c8c8c8;
    background-color:#cde162;
    color:#262626;
    cursor:default
}

/* css added by benchmark on 23/04/2023 */
* {
    box-sizing: border-box;
}
.navbar {
    min-height: 70px;
    background-color: #2F2F2F;
}
.logo-image-wrapper {
    padding: 10px;
}
.logo-image-wrapper img{

}
.logo-image-wrapper-home img{
    height: 50px;
}
.activebob-container{
    margin: 0;
}
.box-icon-wrap{
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}
.box-icon-wrap i, .page-title-wrap i{
    width: auto;
}
.restrict-main-contents-io-link a {
    font-size: 14px !important;
}
.setting-bar{
    font-size: 14px;
    padding: 0 5px;
    text-align: right;
}
.page-title-wrap{
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 10px;
}
.page-title-wrap{
    margin: 0;
}
.page-title-wrap h1{
    margin: 0;
    font-size: 20px;
}
.flexing-box-pagecontent{
    padding: 0;
}
body .ui-panel {
    margin-top: 0;
    margin-bottom: 20px;
}

@media screen and (max-width: 576px){
    body{
        padding-left: 35px;
    }
    #maincontent{
        margin-left: 0 !important;
    }
    .sidebar {
        position: fixed;
        left: 0;
        top: 0;
        transition: .3s;
        z-index: 999;
    }
    .p-sm-12 {
        width: 100%;
    }
    .activebob-container{
        height: auto;
    }
    body .ui-selectonemenu{
        width: 100% !important;
        min-width: 100% !important;
        padding-right: 30px !important;
    }
    .ui-selectonemenu .ui-selectonemenu-label {
        white-space: normal !important;
    }
    #map-thumbnail-link img.thumbnail{
        width: 100%;
    }
    body .ui-panel .ui-panel-titlebar {
        position: relative;
    }
    body .ui-panel .ui-panel-titlebar .ui-panel-titlebar-icon {
        margin-top: 0;
        margin-bottom: 0;
        position: absolute;
        right: 10px;
        top: 10px;
    }
}


@media screen and (max-width: 200px){
    .p-sm-12 {
        width: 100% !important;
    }
}
@media screen and (max-width: 576px){
    .p-sm-12 {
        width: 100%!important;
    }
    #inspection-profile-dialog{
        width: 100% !important;
    }
}
@media (max-width: 640px){
    body .ui-datatable-reflow .ui-datatable-data tr {
        border-bottom: 1px solid #c8c8c8 !important;
    }
    .ui-datatable-reflow .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        border: 1px solid #c8c8c8 !important;
    }
    .ui-reflow-dropdown{
        width: 100%;
        height: 38px;
        border-radius: 5px;
        border: 1px solid #c8c8c8;
        margin-left: 0 !important;
    }
    .ui-datatable-reflow .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        width: 100% !important;
    }

}
p-dialog .ui-dialog {
    overflow: scroll;
    max-height: 100%;
}
.blob-upload-dialog-wrap{
    min-width: 70vw;
    position: fixed !important;
}
body .ui-fileupload .ui-fileupload-content .ui-fileupload-files .ui-fileupload-row > div {
    padding: 0 !important;
}
.ui-fileupload-files .ui-fileupload-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

@media screen and (max-width: 40em){
    .ui-fileupload-buttonbar .ui-button {
        padding: 16px !important;
    }
    body .ui-button.ui-button-text-only .ui-button-text {
        padding: 0.429rem !important;
        margin: 0;
    }
    body .ui-button.ui-button-text-icon-left .ui-button-text {
        margin: 0;
    }
    body .ui-dialog .ui-dialog-titlebar {
        position: relative;
        padding-right: 30px !important;
    }
    body .ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-icon {
        position: absolute;
        right: 0;
        top: 11px;
    }
    #confirmdialog-global .ui-dialog-content{
        justify-content: center !important;
    }
    #confirmdialog-global .ui-button-text {
        padding: 0.429rem 1rem;
    }
}
body .ui-datatable .ui-datatable-data > tr > td {
    white-space: normal;
}
.text-muted{
    color: #595959;
}


/* **************** Data exchange config *******************/

  .status-success {
                color: #28a745;
                font-weight: bold;
            }
            .status-error {
                color: #dc3545;
                font-weight: bold;
            }
            .status-warning {
                color: #ffc107;
                font-weight: bold;
            }
            .status-unknown {
                color: #6c757d;
                font-weight: bold;
            }
            .text-success {
                color: #28a745;
            }

            /* Test Mode Table Selection Styles */
            .test-mode-selector {
                background: #f8f9fa;
                border: 1px solid #dee2e6;
                border-radius: 8px;
                padding: 15px;
                margin: 10px 0;
            }

            .table-selection-panel {
                background: white;
                border: 1px solid #e9ecef;
                border-radius: 5px;
                padding: 12px;
                margin: 8px 0;
            }

            .control-buttons {
                margin: 10px 0;
                text-align: center;
            }

            .control-buttons .ui-button {
                margin: 3px;
                font-size: 0.85em;
            }

            .selection-status {
                padding: 8px;
                border-radius: 4px;
                font-weight: bold;
                text-align: center;
                margin: 8px 0;
            }

            .status-info {
                background: #e7f3ff;
                border: 1px solid #b3d9ff;
                color: #0066cc;
            }

            .status-warn {
                background: #fff3cd;
                border: 1px solid #ffeaa7;
                color: #856404;
            }

            .table-checkboxes .ui-selectmanycheckbox {
                width: 100%;
            }

            .table-checkboxes .ui-selectmanycheckbox-multiple {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 8px;
                border: none;
                background: none;
            }

            .table-checkboxes .ui-chkbox {
                margin: 4px 0;
            }

            .table-checkboxes .ui-chkbox-label {
                margin-left: 6px;
                font-size: 0.9em;
            }

            .text-danger {
                color: #dc3545;
            }
            .text-warning {
                color: #ffc107;
            }
            .data-table-small {
                font-size: 0.9em;
            }
            .logging-panel {
                margin-top: 15px;
            }
            .view-link {
                color: #007bff;
                cursor: pointer;
                text-decoration: underline;
                font-size: 0.85em;
                margin-left: 5px;
            }
            .view-link:hover {
                color: #0056b3;
            }
            .full-text-dialog .ui-dialog-content {
                max-height: 400px;
                overflow-y: auto;
            }








/* ===================================================================== */
/* PROPERTY EVALUATION BUILDER STYLES                                    */
/* Blueprint configuration and assessment item builder interface         */
/* ===================================================================== */

/* Builder Page Layout */
.eval-builder-header {
    margin-bottom: 25px;
    border-bottom: 3px solid #2563eb;
    padding-bottom: 15px;
}

.eval-builder-header h2 {
    margin: 0 0 8px 0;
    color: #1e40af;
    font-size: 28px;
}

.eval-builder-subtitle {
    color: #6b7280;
    font-size: 15px;
    margin: 0;
}

.eval-builder-panel {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin-bottom: 20px;
}

/* Action Buttons */
.eval-builder-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

/* Form Grids */
.eval-builder-form-grid {
    width: 100%;
}

.eval-builder-form-grid td {
    padding: 10px 15px;
}

.eval-builder-form-grid td:first-child {
    font-weight: 600;
    color: #374151;
    width: 200px;
    vertical-align: top;
    padding-top: 15px;
}

/* Badges */
.eval-builder-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.eval-builder-badge-success {
    background: #dcfce7;
    color: #166534;
}

.eval-builder-badge-gray {
    background: #f3f4f6;
    color: #6b7280;
}

.eval-builder-badge-info {
    background: #dbeafe;
    color: #1e40af;
}

.eval-builder-badge-warning {
    background: #fef3c7;
    color: #92400e;
}

.eval-builder-badge-westmc-enabled {
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    background-color: #4caf50;
    color: white;
}

.eval-builder-badge-westmc-disabled {
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    background-color: #9e9e9e;
    color: white;
}

/* Metadata Panel */
.eval-builder-metadata-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.eval-builder-metadata-header-link {
    color: white;
    text-decoration: underline;
}

.eval-builder-metadata-grid {
    margin: 0;
}

.eval-builder-metadata-desc {
    margin-top: 5px;
}

.eval-builder-metadata-lock-icon {
    margin-left: 5px;
    color: #ff9800;
}

/* Blueprint Table */
.eval-builder-table {
    margin-top: 15px;
}

.eval-builder-blueprint-title {
    font-weight: 600;
    color: #1f2937;
    font-size: 15px;
}

/* Warning Messages */
.eval-builder-warning {
    background: #fef3c7;
    border-left: 4px solid #f59e0b;
    padding: 12px 15px;
    border-radius: 6px;
    margin: 10px 0;
}

.eval-builder-warning .ui-messages-info-icon {
    color: #f59e0b;
}

/* Add Item Section */
.eval-builder-add-item-section {
    background: #f9fafb;
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.eval-builder-add-item-section h4 {
    margin: 0 0 15px 0;
    color: #374151;
    font-size: 16px;
}

.eval-builder-item-type-selector {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 15px;
}

.eval-builder-item-type-selector label {
    font-weight: 600;
    color: #4b5563;
}

.eval-builder-item-type-help {
    margin-top: 15px;
    padding: 15px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.eval-builder-item-type-help p {
    margin: 0 0 10px 0;
    font-weight: 600;
    color: #374151;
}

.eval-builder-item-type-help ul {
    margin: 0;
    padding-left: 20px;
}

.eval-builder-item-type-help li {
    margin-bottom: 8px;
    color: #6b7280;
    line-height: 1.6;
}

.eval-builder-item-type-help strong {
    color: #1f2937;
}

/* Items Table */
.eval-builder-items-table {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.eval-builder-ordinal {
    font-weight: 700;
    color: #6b7280;
    font-size: 16px;
}

.eval-builder-required-indicator {
    color: #dc2626;
    font-weight: bold;
    font-size: 18px;
    margin-left: 4px;
}

.eval-builder-help-preview {
    color: #6b7280;
    font-size: 13px;
    font-style: italic;
}

/* Item Editor Panel */
.eval-builder-item-editor {
    background: #fef3c7 !important;
    border-left: 4px solid #f59e0b !important;
}

/* Quick Scale Section */
.eval-builder-quick-scale-section {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 15px;
    background: #f0fdf4;
    border-radius: 6px;
    border: 1px solid #86efac;
}

.eval-builder-quick-scale-section label {
    font-weight: 600;
    color: #166534;
}

/* Options Table */
.eval-builder-options-table {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #ffffff;
}

.eval-builder-options-table td {
    padding: 8px 12px;
}

/* Small Buttons */
.ui-button-sm {
    padding: 0.4rem 0.8rem !important;
    font-size: 0.85rem !important;
}

.ui-button-sm .pi {
    font-size: 0.9rem !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .eval-builder-item-type-selector {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .eval-builder-form-grid td:first-child {
        width: auto;
    }
    
    .eval-builder-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .eval-builder-actions button {
        width: 100%;
    }
}

/* ===================================================================== */
/* END PROPERTY EVALUATION BUILDER STYLES                                */
/* ===================================================================== */

/* Help Button */
.ui-button-help {
    background-color: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: white !important;
}

.ui-button-help:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
}

/* Item Type Help Overlay */
.eval-builder-item-type-help.ui-overlaypanel {
    max-width: 500px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.eval-builder-item-type-help.ui-overlaypanel .ui-overlaypanel-content {
    padding: 15px;
}

/* ===================================================================== */
/* PROPERTY EVALUATIONS - CONDUCTOR AND ASSESSMENT FORMS                */
/* ===================================================================== */

/* Main evaluation conductor container */
.evaluation-conductor {
    background: #f9fafb;
    border-radius: 8px;
    padding: 20px;
    height: 100%;
    overflow: hidden;
}

/* Two-column layout for evaluation form */
.evaluation-left-column,
.evaluation-right-column {
    display: flex;
    flex-direction: column;
    height: calc(90vh - 120px);
    overflow-y: auto;
    padding: 0 10px;
}

.evaluation-left-column {
    border-right: 2px solid #e5e7eb;
}

/* Evaluation progress indicator */
.evaluation-progress {
    margin-bottom: 15px;
}

.progress-label {
    font-weight: bold;
    font-size: 14px;
    color: #2c3e50;
    display: block;
    margin-bottom: 5px;
}

.evaluation-progress-bar {
    height: 25px;
}

/* Assessment items container */
.evaluation-items-container {
    background: #ffffff;
    border-radius: 6px;
    padding: 10px;
}

/* Individual assessment item styling */
.item-header {
    margin-bottom: 12px;
    padding: 10px 0;
}

.item-label {
    font-weight: 600;
    font-size: 15px;
    color: #1f2937;
}

.required-indicator {
    color: #dc2626;
    font-weight: bold;
    font-size: 18px;
    margin-left: 3px;
}

.help-icon {
    margin-left: 10px;
    cursor: help;
    color: #2196F3;
}

.item-help-text {
    display: block;
    margin-top: 6px;
    color: #6b7280;
    font-size: 13px;
    font-style: italic;
}

.item-content {
    padding: 10px 0 20px 0;
}

.item-divider {
    margin: 20px 0;
}

/* Numeric input controls */
.numeric-input-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.numeric-unit {
    font-weight: 500;
    color: #4b5563;
}

/* Action buttons container */
.evaluation-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 15px;
    border-top: 2px solid #e5e7eb;
    flex-wrap: wrap;
}

/* Status badges */
.badge {
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.badge-success {
    background: #dcfce7;
    color: #166534;
}

.badge-warning {
    background: #fef3c7;
    color: #92400e;
}

/* Blueprint selection styling */
.blueprint-title {
    font-weight: 600;
    color: #2563eb;
    font-size: 15px;
}

.blueprint-description {
    color: #6b7280;
    font-size: 13px;
}

/* Dialog action buttons */
.dialog-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 15px;
}

/* Item notes section */
.item-notes-section {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px dashed #e5e7eb;
}

.item-notes-toggle {
    font-size: 13px;
    color: #2563eb;
    text-decoration: none;
}

.item-notes-toggle:hover {
    text-decoration: underline;
}

.item-notes-label {
    font-size: 13px;
    color: #6b7280;
    font-style: italic;
}

.item-notes-editor {
    display: block;
    background: #f9fafb;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
}

/* ===================================================================== */
/* WESTMC DATA SYNC ALERTS AND MESSAGES                                 */
/* ===================================================================== */

/* Finalization dialog alert boxes */
.westmc-sync-alert-warning {
    background-color: #fef3c7;
    border-left: 4px solid #f59e0b;
    padding: 15px;
    margin: 15px 0;
}

.westmc-sync-alert-success {
    background-color: #dcfce7;
    border-left: 4px solid #22c55e;
    padding: 15px;
    margin: 15px 0;
}

.westmc-sync-alert-title {
    font-weight: 600;
    margin-bottom: 8px;
}

.westmc-sync-alert-content {
    color: #4b5563;
    line-height: 1.6;
}

.westmc-sync-alert-list {
    margin: 10px 0;
    padding-left: 20px;
}

.westmc-sync-alert-list li {
    margin: 5px 0;
}

.westmc-remote-id {
    font-family: monospace;
    background: rgba(0, 0, 0, 0.05);
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: 600;
}

/* Notes history panel for viewing remote updates */
.evaluation-notes-history-panel {
    border: 1px solid #d1d5db;
    background: #f9fafb;
}

.evaluation-notes-content {
    background: white;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    max-height: 300px;
    overflow-y: auto;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    line-height: 1.5;
}

.westmc-remote-update-indicator {
    background: #dbeafe;
    border-left: 4px solid #3b82f6;
    padding: 10px;
    margin-top: 10px;
    font-size: 0.9em;
    color: #1e40af;
}

.westmc-remote-update-indicator i {
    margin-right: 8px;
}

/* Finalization dialog states */
.finalize-dialog-container {
    padding: 20px;
}

.finalize-dialog-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.finalize-dialog-icon-warning {
    font-size: 2.5rem;
    color: #f59e0b;
}

.finalize-dialog-icon-success {
    font-size: 2.5rem;
    color: #22c55e;
}

.finalize-dialog-icon-error {
    font-size: 2.5rem;
    color: #ef4444;
}

.finalize-dialog-icon-loading {
    font-size: 3rem;
    color: #3b82f6;
}

.finalize-dialog-title {
    margin-top: 0;
}

.finalize-dialog-title-success {
    color: #22c55e;
}

.finalize-dialog-title-error {
    color: #ef4444;
}

.finalize-dialog-content {
    text-align: center;
}

.finalize-dialog-actions {
    text-align: right;
    padding: 0 20px 20px 20px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.westmc-sync-progress-text {
    color: #f59e0b;
}

/* ===================================================================== */
/* END PROPERTY EVALUATIONS                                              */
/* ===================================================================== */


/* ===================================================================== */
/* WESTMORELAND COUNTY EXTERNAL DATA DISPLAY                             */
/* Styles for propExternalData.xhtml and westmcRecordDisplay.xhtml      */
/* ===================================================================== */

/* Summary Panel */
.westmc-summary-panel {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    margin-bottom: 1rem;
    padding: 1rem;
}

.westmc-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.westmc-summary-header h4 {
    margin: 0;
    color: #495057;
}

.westmc-reload-btn {
    margin-left: auto;
}

.westmc-summary-table {
    width: 100%;
}

.westmc-record-count-badge {
    background: #007bff;
    color: white;
    padding: 4px 12px;
    border-radius: 12px;
    font-weight: bold;
    display: inline-block;
}

/* No Data Panel */
.westmc-no-data-panel {
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    text-align: center;
    padding: 2rem;
}

.westmc-no-data-content {
    color: #6c757d;
}

.westmc-no-data-text {
    font-size: 1.1em;
    font-weight: 500;
    display: block;
    margin: 0.5rem 0;
}

.westmc-no-data-subtext {
    font-size: 0.9em;
    color: #868e96;
    display: block;
}

/* Tab Descriptions */
.westmc-tab-description {
    background: #e7f3ff;
    border-left: 4px solid #007bff;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    color: #004085;
    font-size: 0.95em;
}

/* Category Headers */
.westmc-category-header {
    color: #495057;
    font-weight: 600;
    font-size: 1.1em;
    border-bottom: 2px solid #007bff;
    padding-bottom: 0.5rem;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}

/* Field Grid */
.westmc-field-grid {
    width: 100%;
    margin-bottom: 0.5rem;
}

.field-label-col {
    font-weight: 600;
    color: #6c757d;
    text-align: right;
    padding-right: 1rem;
    width: 35%;
    vertical-align: top;
}

.field-value-col {
    color: #212529;
    width: 65%;
    vertical-align: top;
}

.westmc-field-label {
    font-weight: 600;
    color: #6c757d;
}

.westmc-field-value {
    color: #212529;
}

/* Field Type Specific Styling */
.field-money {
    color: #28a745;
    font-weight: 600;
}

.field-date {
    color: #6c757d;
}

.field-link {
    color: #007bff;
    text-decoration: none;
}

.field-link:hover {
    text-decoration: underline;
}

/* Record Metadata */
.westmc-separator {
    margin: 1rem 0;
}

.westmc-record-metadata {
    background: #e9ecef;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.875rem;
    color: #6c757d;
}

.westmc-metadata-text {
    margin-left: 0.25rem;
}

/* Tab View Styling */
.westmc-tab-view .ui-tabs-nav {
    background: #f8f9fa;
}

.westmc-tab-view .ui-tabs-panel {
    padding: 1.5rem;
}

/* ===================================================================== */
/* END WESTMORELAND COUNTY EXTERNAL DATA DISPLAY                         */
/* ===================================================================== */

/* ===================================================================== */
/* PRE-FORMATTED TEXT AND CODE BLOCKS                                    */
/* ===================================================================== */

/* Base pre block styling */
pre.code-block {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    overflow-x: auto;
    max-width: 100%;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: monospace;
    font-size: 0.9em;
}

/* Pre block with height constraint */
pre.code-block-scrollable {
    background-color: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    overflow-x: auto;
    max-height: 300px;
    max-width: 100%;
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: monospace;
    font-size: 0.9em;
}

/* ===================================================================== */
/* END PRE-FORMATTED TEXT AND CODE BLOCKS                                */
/* ===================================================================== */

/* ===================================================================== */
/* CASE STATUS REVISION 2 - ACTION DUE BY & ADMIN FLAGS                  */
/* ===================================================================== */

/* Action Due By Urgency Text Colors */
.text-red-bold {
    color: #dc3545;
    font-weight: 600;
}

.text-yellow-bold {
    color: #ffc107;
    font-weight: 600;
}

.text-green {
    color: #28a745;
}

/* Admin Flag Item Styling */
.admin-flag-item {
    background-color: #f8f9fa;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

.admin-flag-item i {
    vertical-align: middle;
}

/* ===================================================================== */
/* END CASE STATUS REVISION 2                                            */
/* ===================================================================== */

/* ===================================================================== */
/* COMMON BUTTON VARIANTS                                                */
/* ===================================================================== */

.gray-button.ui-button {
    background-color: #9e9e9e;
    border-color: #9e9e9e;
    color: #ffffff;
}

.gray-button.ui-button:hover {
    background-color: #757575;
    border-color: #757575;
}

/* ===================================================================== */
/* TEXT BLOCK USAGE SUMMARY                                              */
/* ===================================================================== */

.textblock-usage-section {
    margin-bottom: 12px;
}

.textblock-usage-section-header {
    font-size: 0.95em;
    font-weight: 600;
    color: #495057;
    margin: 0 0 6px 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.textblock-usage-list {
    margin: 4px 0 0 16px;
    padding: 0;
    font-size: 0.88em;
    color: #343a40;
}

.textblock-usage-list li {
    margin-bottom: 4px;
    word-break: break-word;
}

.textblock-usage-none-label {
    font-style: italic;
    color: #868e96;
    font-size: 0.88em;
    margin-left: 4px;
}

.textblock-usage-total-badge {
    font-size: 0.85em;
    color: #6c757d;
    font-weight: normal;
}

/* ===================================================================== */
/* TEXT BLOCK LIST ROW EXPANSION                                         */
/* ===================================================================== */

.textblock-expansion-content {
    padding: 8px 12px;
    background-color: #f8f9fa;
    border-left: 3px solid #ced4da;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 300px;
    overflow-y: auto;
}

/* ===================================================================== */
/* ECE LINK DIALOG (TEXT BLOCK MANAGER)                                  */
/* ===================================================================== */

.linkece-selected-icon {
    font-size: 1.5em;
    color: #28a745;
    margin-top: 4px;
}

.linkece-selected-header {
    font-weight: bold;
    color: #155724;
}

/* ===================================================================== */
/* TEXT BLOCK OVERVIEW PANEL                                             */
/* ===================================================================== */

.textblock-overview-text-preview {
    padding: 10px 14px;
    margin: 8px 0;
    background-color: #f8f9fa;
    border-left: 3px solid #6c757d;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.88em;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 250px;
    overflow-y: auto;
}

.textblock-overview-category-badge {
    font-size: 0.85em;
    color: #6c757d;
    font-style: italic;
}

/* ========================= */
/* TEXT BLOCK EXPORT OVERLAY  */
/* ========================= */

.textblock-export-overlay {
    padding: 5px;
    min-width: 280px;
}

.textblock-export-overlay h4 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #333;
}

/* ========================= */
/* TEXT BLOCK REPORT PAGE     */
/* ========================= */

.textblock-report-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    font-family: sans-serif;
}

.textblock-report-header h1 {
    margin-bottom: 4px;
}

.textblock-report-muni-name {
    font-size: 1.2em;
    color: #555;
}

.textblock-report-meta-right {
    text-align: right;
    font-size: 0.9em;
    color: #666;
}

.textblock-report-card {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 16px;
    page-break-inside: avoid;
}

.textblock-report-card-header {
    background-color: #f5f5f5;
    padding: 10px 14px;
    border-bottom: 1px solid #ddd;
}

.textblock-report-card-header h3 {
    margin: 0;
}

.textblock-report-block-id {
    font-size: 0.85em;
    color: #888;
}

.textblock-report-label {
    font-weight: bold;
    font-size: 0.85em;
    color: #555;
}

.textblock-report-card-body {
    padding: 14px;
    line-height: 1.6;
}

@media print {
    .textblock-report-card {
        page-break-inside: avoid;
        border: 1px solid #999;
    }

    .textblock-report-header {
        page-break-after: avoid;
    }

    /* Force Chart.js canvases to stay inside print page width.
       Chart.js stamps a fixed pixel width attr on <canvas> at render time;
       max-width overrides that for the print layout pass. */
    .cear-rpt-bar-container canvas {
        width: 100% !important;
        height: 240px !important;
    }

    .cear-activity-report-content {
        width: 100% !important;
        flex-basis: auto !important;
        max-width: 100% !important;
    }
}

/* =============================================================
   CASELOAD MANAGER — missConCaseloadManager.xhtml
   ============================================================= */

/* Loading state */
.cecase-caseload-loading-container {
    padding: 12px 0;
    color: #666;
    font-style: italic;
}

.cecase-caseload-loading-icon {
    vertical-align: middle;
    font-size: 1.4rem;
    color: #999;
}

.cecase-caseload-loading-text {
    vertical-align: middle;
    padding-left: 6px;
}

/* Sub-header: timestamp + filter + refresh */
.cecase-caseload-sub-header {
    margin-bottom: 8px;
    align-items: baseline;
}

.cecase-caseload-loaded-at-label {
    color: #888;
    font-size: 0.85rem;
    font-style: italic;
}

/* Caseload filter controls */
.cecase-caseload-filter-row {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    flex-wrap: nowrap;
}

.cecase-caseload-filter-label {
    color: #666;
    font-size: 0.85rem;
    white-space: nowrap;
}

.cecase-caseload-filter-dropdown {
    display: inline-block;
    font-size: 0.85rem;
    min-width: 140px;
    max-width: 180px;
}

.cecase-caseload-filter-row .ui-selectonemenu {
    display: inline-flex;
}

.cecase-caseload-refresh-group {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

/* Dashboard tiles row */
.cecase-caseload-dashboard-row {
    margin-bottom: 8px;
    align-items: stretch;
}

.cecase-caseload-flags-row {
    margin-bottom: 8px;
    align-items: stretch;
}

/* Dashboard tile — base (applies to all tiles) */
.cecase-dashboard-tile {
    display: block;
    text-align: center;
    padding: 14px 6px 10px;
    border-radius: 4px;
    min-height: 72px;
    text-decoration: none;
    cursor: pointer;
}

.cecase-dashboard-tile:hover {
    opacity: 0.88;
}

/* Total open cases tile (non-clickable) */
.cecase-dashboard-tile-total {
    background-color: #343a40;
    color: #ffffff;
    cursor: default;
}

.cecase-dashboard-tile-total:hover {
    opacity: 1;
}

/* All open cases tile (clickable; white/black to distinguish from coloured priority tiles) */
.cecase-dashboard-tile-all-open {
    background-color: #ffffff;
    color: #000000;
    border: 2px solid #000000;
    cursor: pointer;
}

/* Flag aggregate tile */
.cecase-dashboard-tile-flag {
    background-color: #6c757d;
    color: #ffffff;
}

/* Selected state — white outline ring */
.cecase-dashboard-tile-selected {
    outline: 3px solid rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.35);
}

/* Large centered count number */
.cecase-dashboard-tile-number {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.1;
    /* color inherited from tile parent (white or black per cse-priority-* rule) */
}

/* Label beneath the number */
.cecase-dashboard-tile-label {
    font-size: 0.74rem;
    margin-top: 5px;
    text-transform: lowercase;
    /* color inherited from tile parent */ 
}

/* Drill-down header row */
.cecase-caseload-drilldown-header {
    margin-bottom: 6px;
}

.cecase-caseload-drilldown-title {
    font-weight: bold;
    font-size: 1rem;
}

.cecase-caseload-drilldown-count {
    color: #666;
    font-size: 0.9rem;
}

/* Case cards container */
.cecase-caseload-cards-container {
    padding-right: 4px;
}

/* Flag list */
.cecase-caseload-flaglist-container {
    /* no scrollbox: let browser viewport handle scroll */
}

.cecase-flag-list-item {
    border-bottom: 1px solid #eee;
    padding: 4px 0;
    align-items: center;
}

.cecase-flag-list-icon {
    font-size: 1.1rem;
    vertical-align: middle;
    color: #c0392b;
}

.cecase-flag-list-message {
    font-size: 0.88rem;
}

/* Select hint */
.cecase-caseload-select-hint {
    padding: 10px 0;
    color: #888;
    font-style: italic;
}

.cecase-caseload-hint-text {
    vertical-align: middle;
    padding-left: 6px;
}

/* =============================================================
   CECASE CARD COMPOSITE COMPONENT — cecaseCardCC.xhtml
   ============================================================= */

.cecase-card {
    border: 2px solid #999;
    border-radius: 6px;
    margin-bottom: 10px;
    background-color: #fff;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

.cecase-card:hover {
    border-color: #555;
}

/* Header banner — priority colour set by cse-priority-* rule on the element */
.cecase-card-header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    padding: 6px 10px;
    gap: 0 4px;
    /* background-color and color are provided by cse-priority-* rules */
}

.cecase-card-header-address {
    font-weight: bold;
    font-size: 1rem;
}

.cecase-card-header-sep {
    opacity: 0.6;
}

.cecase-card-header-casename {
    font-size: 0.9rem;
    flex: 1;
}

/* Meta row: inline priority | opened | age | manager | view link */
.cecase-card-meta-row {
    font-size: 0.82rem;
    color: #555;
    margin-bottom: 6px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 2px;
}

.cecase-card-meta-viewlink {
    margin-left: auto;
    white-space: nowrap;
}

/* Card body */
.cecase-card-body {
    padding: 8px 10px 10px;
}

.cecase-card-meta-sep {
    color: #bbb;
}

.cecase-card-field-label {
    color: #888;
    font-style: italic;
}

.cecase-card-age {
    color: #888;
}

.cecase-card-unassigned {
    font-style: italic;
    color: #aaa;
}

/* Two-column sublists row (notices+citations | events+flags) */
.cecase-card-sublists-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cecase-card-subcol {
    flex: 1 1 45%;
    min-width: 0;
}

/* List section (violations full-width; also used in subcols) */
.cecase-card-list-section {
    margin-top: 6px;
    border-top: 1px dotted #ddd;
    padding-top: 4px;
}

.cecase-card-list-header {
    display: block;
    font-weight: bold;
    font-size: 0.78rem;
    text-transform: lowercase;
    color: #555;
    margin-bottom: 3px;
}

.cecase-card-list-item {
    padding: 1px 0 1px 8px;
    border-left: 2px solid #e0e0e0;
    margin-bottom: 2px;
    font-size: 0.8rem;
    color: #444;
    line-height: 1.3;
    word-break: break-word;
}

/* NOV quick-action links (preview / finalize / mark sent) inside dashboard card letter rows */
.cecase-card-nov-actions {
    font-size: 0.8em;
    margin-top: 2px;
}

.cecase-card-viol-status-label {
    font-weight: bold;
    padding: 1px 5px;
    border-radius: 3px;
    font-size: 0.75rem;
}

.cecase-card-viol-sep {
    color: #888;
}

.cecase-card-viol-compliance {
    font-size: 0.75rem;
    color: #555;
    font-style: italic;
    margin-left: 2px;
    margin-top: 1px;
}

/* Inline photo link on violation rows */
.cecase-card-viol-photos-link,
.cecase-card-viol-photos-link.ui-commandlink {
    display: inline !important;
    color: #1976d2;
    font-weight: bold;
    font-size: inherit;
    text-decoration: none;
    margin-left: 4px;
    cursor: pointer;
}

.cecase-card-viol-photos-link:hover {
    text-decoration: underline;
}

/* ===== CEAR Dashboard — Vertical List Format ===== */

.cear-dash-list {
    margin: 0 0 8px 0;
}

/* Each clickable row */
.cear-dash-row {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    margin-bottom: 2px;
    cursor: pointer;
    transition: background-color 0.12s;
}

.cear-dash-row:hover {
    background-color: #f1f5f9;
    border-color: #d1d5db;
}

/* Total Unprocessed row — always displayed, more prominent */
.cear-dash-row-total {
    background-color: #f4f6f9;
    border: 1px solid #8fa8c8;
    padding: 8px 8px;
    margin-bottom: 10px;
}

.cear-dash-row-total:hover {
    background-color: #e9eef5;
}

.cear-dash-row-selected {
    background-color: #dbeafe !important;
    border-color: #3b82f6 !important;
}

.cear-dash-row-processed {
    background-color: #f0fdf4;
}

.cear-dash-row-underway {
    background-color: #fffbeb;
}

/* Number column — right-aligned, large */
.cear-dash-row .p-col-3 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Label column — vertically centered */
.cear-dash-row .p-col-9 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 10px !important;
}

.cear-dash-num {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1e3a5f;
    line-height: 1.0;
    padding-right: 4px !important;
}

.cear-dash-num-total {
    font-size: 2.5rem;
    color: #1e3a5f;
}

.cear-dash-num-urgent {
    color: #b91c1c;
}

.cear-dash-num-underway {
    color: #b45309;
}

.cear-dash-num-processed {
    color: #15803d;
}

.cear-dash-lbl-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.3;
}

.cear-dash-lbl-title-total {
    font-size: 1.0rem;
}

.cear-dash-lbl-title-urgent {
    color: #b91c1c;
}

.cear-dash-sublabel {
    font-size: 0.7rem;
    color: #9ca3af;
}

/* Section divider header */
.cear-dash-section {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9ca3af;
    border-top: 1px solid #e5e7eb;
    padding: 10px 4px 3px 4px;
    margin-top: 4px;
}

/* Dashboard refresh row & misc */
.cear-dashboard-refresh-row {
    padding: 2px 0 4px;
}

.cear-dashboard-refresh-right {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    gap: 6px;
    font-size: 0.8rem;
}

.cear-dashboard-loaded-at-label {
    color: #6b7280;
    font-size: 0.78rem;
}

.cear-card-viewing {
    background-color: lightgreen !important;
}

.cear-dashboard-new-request-row {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #e5e7eb;
}

/* ===== CEAR Card Component ===== */

/* Route/process command link that appears under the status value */
.cear-status-route-link {
    display: block;
    margin-top: 4px;
    font-size: 0.8rem;
    color: #1d4ed8;
    text-decoration: underline;
    cursor: pointer;
}

.cear-status-route-link:hover {
    color: #1e40af;
}

/* Description field — MDN-style left-accent callout */
.cear-description-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin: 8px 0 4px 0;
}

.cear-description-block {
    background-color: #f8f8f6;
    border-left: 4px solid #3b4a63;
    border-radius: 0 3px 3px 0;
    padding: 10px 14px;
    margin-bottom: 8px;
    font-family: "Consolas", "Menlo", "Monaco", "Courier New", monospace;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #1f2937;
    white-space: pre-wrap;
    word-break: break-word;
}

.cear-tools-row {
    margin-bottom: 8px;
}

/* Letter Template Manager: read-only header badge for non-staff users */
.letter-template-readonly-badge {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 3px;
    background-color: #e5e7eb;
    border: 1px solid #d1d5db;
    color: #4b5563;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

/* in testing badge — shown on all letter panels and dialogs */
.in-testing-badge {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 8px;
    border-radius: 3px;
    background-color: #fef3c7;
    border: 1px solid #f59e0b;
    color: #92400e;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

/* Tool cell: vertically aligns content in each p-col-4 slot */
.cear-tool-cell {
    display: flex;
    align-items: flex-start;
}

/* Stretch the outlined button to fill its cell */
.cear-tool-btn {
    width: 100%;
}

/* Public submission link display */
.cear-publink-url-field {
    width: 100%;
    font-family: monospace;
    font-size: 0.85em;
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    padding: 6px 8px;
}

.cear-publink-not-configured {
    color: #b45309;
    font-style: italic;
}

/* Public flow: property search results table — action column */
.cear-prop-action-col {
    width: 180px;
    text-align: center;
}

.cear-report-dialog-help {
    display: block;
    color: #4b5563;
    margin-bottom: 6px;
}

.cear-report-dialog-actions {
    text-align: right;
    padding-top: 10px;
}

.cear-report-dialog-actions .ui-button {
    margin-left: 8px;
}

/* Resend-email dialog: recipient rows, checkbox alignment, address display */
.resend-email-recipient-row {
    padding: 8px 0;
    border-bottom: 1px solid #e5e7eb;
}

.resend-email-recipient-row:last-of-type {
    border-bottom: none;
}

.resend-email-chk-cell {
    display: flex;
    align-items: flex-start;
    padding-top: 3px;
}

.resend-email-chk-label {
    display: block;
    font-weight: bold;
    color: #1f2937;
    margin-bottom: 4px;
}

.resend-email-address {
    font-size: 13px;
    color: #374151;
    padding-left: 2px;
    line-height: 1.6;
}

.resend-email-none {
    font-style: italic;
    color: #9ca3af;
}

.cear-rpt-kpi-row {
    display: table;
    width: 100%;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.cear-rpt-kpi-row-warn {
    background-color: #fffbeb;
    border-radius: 4px;
}

.cear-rpt-kpi-num {
    display: table-cell;
    width: 72px;
    padding: 8px 16px 8px 0;
    text-align: right;
    vertical-align: middle;
    font-size: 2.1rem;
    font-weight: 700;
    color: #1e293b;
}

.cear-rpt-kpi-num-warn {
    color: #b45309;
}

.cear-rpt-kpi-lbl {
    display: table-cell;
    vertical-align: middle;
    padding: 8px 0;
}

.cear-rpt-kpi-title {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}

.cear-rpt-kpi-sub {
    display: block;
    font-size: 0.77rem;
    color: #6b7280;
}

.cear-rpt-section-header {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6b7280;
    border-top: 1px solid #d1d5db;
    margin: 14px 0 6px 0;
    padding-top: 6px;
}

/* ---- Category table: issue name + description ---- */
.cear-rpt-issue-name {
    font-weight: 600;
    font-size: 0.875rem;
}

.cear-rpt-issue-desc {
    font-size: 0.77rem;
    color: #6b7280;
    margin-top: 2px;
}

.cear-rpt-toggle-col {
    width: 32px;
    text-align: center;
}

/* ---- Row expansion panel ---- */
.cear-rpt-expansion-panel {
    background-color: #f8fafc;
    border-top: 1px solid #e5e7eb;
    padding: 10px 14px;
}

.cear-rpt-expansion-header {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin-bottom: 6px;
}

.cear-rpt-expansion-table {
    font-size: 0.82rem;
    width: auto;
    min-width: 260px;
}

.cear-rpt-expansion-empty {
    font-size: 0.82rem;
    color: #9ca3af;
    font-style: italic;
}

/* ---- Section I: per-concern blocks ---- */
.cear-rpt-concern-block {
    border-bottom: 1px solid #e5e7eb;
    padding: 8px 0 10px 0;
    margin-bottom: 2px;
}

.cear-rpt-concern-header-row {
    margin: 0;
}

.cear-rpt-concern-name {
    font-weight: 700;
    font-size: 0.92rem;
    color: #1e293b;
    padding: 2px 8px 2px 0;
}

.cear-rpt-concern-intensity {
    margin-left: 8px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    padding: 1px 5px;
    vertical-align: middle;
}

.cear-rpt-concern-count {
    font-weight: 700;
    font-size: 1.15rem;
    color: #1e293b;
    text-align: right;
    padding: 2px 0;
}

.cear-rpt-concern-desc {
    font-size: 0.78rem;
    color: #6b7280;
    font-style: italic;
    padding: 2px 0 4px 0;
}

.cear-rpt-concern-outcomes {
    padding-left: 12px;
    margin-top: 4px;
}

.cear-rpt-outcome-row {
    margin: 0;
    border-top: 1px dotted #e5e7eb;
}

.cear-rpt-outcome-label {
    font-size: 0.82rem;
    color: #374151;
    padding: 2px 8px 2px 0;
}

.cear-rpt-outcome-count {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1e293b;
    text-align: right;
    padding: 2px 0;
}

/* ---- Section II: enforcement stage rows ---- */
.cear-rpt-stage-row {
    margin: 0;
    border-bottom: 1px solid #e5e7eb;
}

.cear-rpt-stage-label {
    font-size: 0.88rem;
    color: #374151;
    padding: 5px 8px 5px 0;
}

.cear-rpt-stage-count {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1e293b;
    text-align: right;
    padding: 5px 0;
}

.cear-rpt-stage-total-row {
    margin: 0;
    border-top: 2px solid #1e293b;
}

.cear-rpt-stage-total-label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #1e293b;
    padding: 5px 8px 5px 0;
}

.cear-rpt-stage-total-count {
    font-size: 0.88rem;
    font-weight: 700;
    color: #1e293b;
    text-align: right;
    padding: 5px 0;
}

/* ---- Section III: source rows ---- */
.cear-rpt-source-row {
    margin: 0;
    border-bottom: 1px solid #e5e7eb;
}

.cear-rpt-source-label {
    font-size: 0.88rem;
    color: #374151;
    padding: 5px 8px 5px 0;
}

.cear-rpt-source-count {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1e293b;
    text-align: right;
    padding: 5px 0;
}

.cear-rpt-source-sub-row {
    margin: 0;
    border-bottom: 1px dotted #e5e7eb;
}

.cear-rpt-source-sub-label {
    font-size: 0.82rem;
    color: #6b7280;
    padding: 3px 8px 3px 18px;
}

/* ---- Section I: pie chart + legend ---- */
.cear-rpt-pie-row {
    margin: 0;
    align-items: center;
}

.cear-rpt-pie-legend {
    padding-left: 8px;
}

.cear-rpt-legend-row {
    margin: 0;
    align-items: center;
    border-bottom: 1px dotted #e5e7eb;
}

.cear-rpt-legend-swatch {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    margin-top: 3px;
}

.cear-rpt-legend-label {
    font-size: 0.85rem;
    color: #374151;
    padding: 4px 6px 4px 2px;
}

.cear-rpt-legend-count {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1e293b;
    text-align: right;
    padding: 4px 0;
}

.cear-rpt-piechart {
    width: 100%;
    height: 320px;
}

.cear-rpt-barchart {
    width: 100%;
    height: 240px;
}

.cear-rpt-bar-container {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

/* CEAR Activity report page: constrain content to viewport width for portrait print */
.cear-activity-report-content {
    flex-basis: auto !important;
    max-width: 100%;
    box-sizing: border-box;
}

.cear-card {
    border: 1px solid #d1d5db;
    border-radius: 4px;
    margin-bottom: 8px;
    background-color: #fff;
    font-size: 0.875rem;
    overflow: hidden;
    box-sizing: border-box;
}

.cear-card:hover {
    border-color: #9ca3af;
}

.cear-card-header {
    background-color: #2c4a7c;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.cear-card-issue-name {
    font-weight: bold;
    font-size: 0.9rem;
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cear-card-header-noissue {
    font-style: italic;
    opacity: 0.75;
}

.cear-card-header-date {
    font-size: 0.8rem;
    opacity: 0.9;
    white-space: nowrap;
}

.cear-card-header-days {
    opacity: 0.75;
    font-size: 0.75rem;
}

.cear-card-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background-color: rgba(255,255,255,0.15);
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 0.8rem;
}

.cear-card-status-icon {
    font-size: 0.95rem;
}

.cear-card-urgent-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background-color: #dc2626;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 0.75rem;
    font-weight: bold;
}

.cear-card-munigeneral-badge {
    display: inline-block;
    background-color: #7c3aed;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 0.75rem;
}

.cear-card-internal-badge {
    display: inline-block;
    background-color: #d97706;
    color: #fff;
    border-radius: 3px;
    padding: 1px 6px;
    font-size: 0.75rem;
}

.cear-card-body {
    padding: 5px 10px 4px;
}

.cear-card-address-row,
.cear-card-meta-row,
.cear-card-blobs-row {
    position: relative;
    padding: 2px 0 2px 24px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cear-card-field-icon {
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 1rem;
    color: #6b7280;
}

/* .cear-card-desc-row retired — description now uses .cear-description-block */

.cear-card-meta-sep {
    color: #9ca3af;
    margin: 0 2px;
}

.cear-card-italics {
    font-style: italic;
    color: #6b7280;
}

.cear-card-footer {
    padding: 5px 10px;
    border-top: 1px solid #e5e7eb;
    text-align: right;
}

.cear-card-manage-link {
    font-size: 0.8rem;
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 600;
}

.cear-card-manage-link:hover {
    text-decoration: underline;
}

/* ===== Caseload Photo Viewer Dialog ===== */
.caseload-photo-viewer-dialog {
    max-height: 80vh;
}

.caseload-photo-viewer-dialog .ui-dialog-content {
    padding: 8px;
    overflow: hidden;
}

.caseload-photo-viewer-content {
    height: 100%;
}

.caseload-photo-viewer-nav {
    text-align: center;
}

.caseload-photo-nav-btn {
    width: 100%;
}

.caseload-photo-viewer-info {
    text-align: center;
    padding-top: 6px;
}

.caseload-photo-viewer-counter {
    font-weight: 600;
    font-size: 0.9rem;
}

.caseload-photo-viewer-desc {
    font-style: italic;
    color: #555;
    font-size: 0.85rem;
}

.caseload-photo-viewer-image-area {
    text-align: center;
    padding: 8px 0;
    min-height: 200px;
    max-height: 60vh;
    overflow: hidden;
}

.caseload-photo-viewer-image {
    max-width: 100%;
    max-height: 58vh;
    object-fit: contain;
}

.caseload-photo-viewer-empty {
    display: block;
    text-align: center;
    padding: 40px;
    color: #999;
    font-style: italic;
}

.caseload-photo-viewer-meta {
    border-top: 1px solid #ddd;
    padding-top: 6px;
    font-size: 0.8rem;
    color: #555;
}

/* Flag text items */
.cecase-card-flags-row {
    margin-top: 2px;
}

/* Administrative TODOs: attention-grabbing alert-banner style */
.cecase-flagtodo-section {
    padding: 8px 0 4px;
    margin-bottom: 8px;
}

.cecase-flagtodo-header {
    display: block;
    font-weight: bold;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #b45309;
    margin-bottom: 6px;
}

.bottom-margin-spacing{
    margin-bottom: 5px;
}

.cecase-flagtodo-subheader{
    font-style: italic;
    font-size: 0.8em;
}


.cecase-flagtodo-alert {
    margin-bottom: 4px;
    border-left: 4px solid #d97706;
    background: #fffbeb;
    border-radius: 0 4px 4px 0;
    padding: 5px 10px;
}

.cecase-flagtodo-alert-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #92400e;
    font-weight: 600;
    font-size: 0.88rem;
}

.cecase-flagtodo-alert-link:hover {
    color: #78350f;
}

.cecase-flagtodo-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: #dc2626;
    color: #fff;
    font-weight: 700;
    font-size: 0.8rem;
    margin-right: 8px;
    line-height: 1;
}

.cecase-flagtodo-alert-label {
    flex: 1;
}

/* =====================================================================
 * NOV / Letter Details Dialog - Timestamp Status Grid
 * ===================================================================== */

.nov-ts-grid {
    margin-bottom: 8px;
}

.nov-ts-header {
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #555;
    border-bottom: 1px solid #ddd;
    padding-bottom: 4px;
    margin-bottom: 2px;
}

.nov-ts-cell {
    font-size: 0.92rem;
    padding-top: 2px;
}

.nov-ts-by {
    font-size: 0.8rem;
    color: #777;
    font-style: italic;
}

.nov-ts-edit-row {
    margin-bottom: 8px;
    align-items: center;
}

.nov-ts-edit-label {
    display: flex;
    align-items: center;
    padding-top: 6px;
}

.nov-details-action-button {
    margin-bottom: 6px;
}

/* =====================================================================
 * CASE CLOSE DIALOG COMPOSITE — caseCloseDialogCC.xhtml
 * ===================================================================== */

/* Right-column header inside the close dialog */
.case-close-details-header {
    margin-top: 0;
    margin-bottom: 14px;
}

/* Warning box for the emergency-override option */
.case-close-override-panel {
    margin-top: 20px;
    padding: 15px;
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    border-radius: 4px;
}

/* Label line inside the override box */
.case-close-override-label {
    font-weight: bold;
    color: #856404;
    display: block;
    margin-bottom: 10px;
}

/* Descriptive text beside the override checkbox */
.case-close-override-note {
    margin-left: 8px;
    color: #856404;
}

.case-close-override-note-ready {
    font-style: italic;
    color: #28a745;
}

.case-close-override-note-blocked {
    font-weight: bold;
}

/* Loading placeholder shown before quickCloseTargetDH is assembled */
.cecase-close-dialog-loading {
    padding: 30px;
    color: #888;
    font-style: italic;
    text-align: center;
}

/* Trigger link style (replaces inline style on the ceCaseInfo commandLink) */
.cecase-forceclose-init-link {
    color: blue;
    font-weight: bold;
}

/* =====================================================================
 * CECASE CARD — QUICK-CLOSE LINK (Phase 4)
 * ===================================================================== */

/* Span wrapper in meta row for the quick-close link */
.cecase-card-quickclose-link {
    white-space: nowrap;
}

/* The link text itself — green to signal a positive closure action */
.cecase-card-quickclose-link .ui-commandlink,
a.cecase-card-quickclose-link-text {
    color: #2e7d32;
    font-weight: bold;
}

/* =====================================================================
 * CECASE CARD — BATCH SELECTION (Phase 5)
 * ===================================================================== */

/* Row that appears above the card body when batch mode is active */
.cecase-card-batch-row {
    display: flex;
    align-items: center;
    padding: 4px 10px;
    background-color: #e8f5e9;
    border-bottom: 1px solid #c8e6c9;
    gap: 8px;
}

/* Material-icon checkbox toggle link */
.cecase-card-batch-toggle {
    cursor: pointer;
    color: #555;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.cecase-card-batch-toggle .material-icons {
    font-size: 1.25rem;
}

.cecase-card-batch-toggle.ui-commandlink:hover,
.cecase-card-batch-toggle:hover {
    color: #1b5e20;
}

/* Card-level selected state: tinted border when in batch selection */
.cecase-card-batch-selected-state {
    border-color: #2e7d32;
    background-color: #f1f8f1;
}

/* =====================================================================
 * BATCH TOOLBAR — missConCaseloadManager.xhtml (Phase 5)
 * ===================================================================== */

.cecase-batch-toolbar {
    padding: 6px 4px;
    margin-bottom: 4px;
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    align-items: center;
}

/* "N case(s) selected" label */
.cecase-batch-count-label {
    font-weight: bold;
    font-size: 0.9rem;
    color: #333;
}

/* Exit batch mode link */
.cecase-batch-deactivate-link {
    color: #c62828;
}

/* =====================================================================
 * BATCH CONFIG DIALOG (Phase 5/7)
 * ===================================================================== */

/* Top "Batch Operation Status" panel — small bottom margin separates it from
   the "Operation Settings" panel below it in the right column */
.cecase-batch-status-panel {
    margin-bottom: 10px;
}

/* "Operation Settings" panel stacked below the status panel */
.cecase-batch-settings-panel {
    margin-top: 0;
}

.cecase-batch-config-selected-header {
    font-weight: bold;
    font-size: 0.88rem;
    margin-bottom: 6px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 4px;
}

.cecase-batch-config-case-row {
    display: flex;
    align-items: baseline;
    justify-content: left;
    padding: 3px 0;
    border-bottom: 1px dotted #eee;
    font-size: 0.83rem;
    gap: 8px;
}

.cecase-batch-progress-section {
    padding: 12px 0;
    text-align: center;
}

.cecase-batch-progress-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9rem;
    color: #555;
}

/* ============================================================
   BATCH CLOSE RESULTS PANEL
   ============================================================ */
.cecase-batch-results-section {
    border-top: 2px solid #ddd;
    margin-top: 12px;
    padding-top: 12px;
}

.cecase-batch-results-summary {
    margin-bottom: 10px;
    font-size: 1rem;
    font-weight: 600;
}

.cecase-batch-results-success {
    color: #2e7d32;
    display: flex;
    align-items: center;
}

.cecase-batch-results-fail {
    color: #c62828;
    display: flex;
    align-items: center;
}

.cecase-batch-results-fail-header {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 6px;
    color: #c62828;
}

.cecase-batch-results-fail-row {
    border-bottom: 1px solid #eee;
    padding: 4px 0;
    font-size: 0.85rem;
}

.cecase-batch-results-fail-id {
    font-weight: 600;
}

.cecase-batch-results-fail-reason {
    color: #555;
}

.cecase-batch-user-of-record-hint {
    font-size: 0.8rem;
    color: #777;
    margin-top: 4px;
}

/* --- Officer Picker Dialog --- */
.officer-picker-btn-row {
    margin-top: 12px;
}

/* --- Batch Case Container Row --- */
.cecase-batch-config-case-row {
    border-bottom: 1px solid #eee;
    padding: 6px 0;
}

.cecase-batch-case-status-icon {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: bold;
}

.cecase-batch-status-ok {
    color: #27ae60;
}

.cecase-batch-status-fail {
    color: #c0392b;
}

.cecase-batch-status-warn {
    color: #e67e22;
}

.cecase-batch-status-violations {
    color: #2980b9;
    font-style: normal;
}

.cecase-batch-status-partial {
    color: #e67e22;
    font-weight: bold;
}

.cecase-batch-opening-consent-notice {
    background: #fff3cd;
    border-left: 4px solid #f0ad4e;
    padding: 8px 12px;
    margin-top: 8px;
    font-size: 0.9rem;
}

/* Future events auto-deactivation warning in the batch close config dialog */
.cecase-batch-future-events-warning {
    background: #e8f4fd;
    border-left: 4px solid #2196f3;
    padding: 8px 12px;
    margin-top: 8px;
    font-size: 0.9rem;
}

.cecase-batch-future-events-warning .material-icons {
    color: #2196f3;
    font-size: 1.4rem;
    vertical-align: middle;
}

.cecase-batch-future-events-label {
    margin: 0 0 6px 0;
    font-weight: 600;
}

.cecase-batch-future-events-case-row {
    margin-top: 6px;
}

.cecase-batch-future-events-case-label {
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

.cecase-batch-future-events-list {
    margin: 2px 0 4px 16px;
    padding: 0;
    list-style: disc;
}

.cecase-batch-results-partial-row {
    color: #e67e22;
    font-weight: bold;
    margin-top: 4px;
    padding: 4px 0;
}

.cecase-batch-case-ineligible-note {
    margin-top: 2px;
    font-size: 0.8rem;
}

.cecase-batch-remove-link {
    color: #999;
    font-size: 0.9rem;
}

.cecase-batch-remove-link:hover {
    color: #c0392b;
}

.cecase-batch-selectall-inactive {
    color: #bbb;
    font-size: 0.9rem;
    cursor: default;
}

.cecase-batch-deselect-link {
    color: #e67e22;
    font-size: 0.85rem;
}

.cecase-batch-link-secondary {
    margin-top: 4px;
}

.cecase-batch-op-selector-label {
    font-size: 0.75rem;
    color: #666;
    margin-bottom: 2px;
}

.cecase-batch-toolbar-op-som {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

/* --- Session Case Operation Log --- */
.cecase-session-log-text {
    font-family: monospace;
    font-size: 0.85rem;
    white-space: pre-wrap;
    word-break: break-word;
    background: #f8f8f8;
    border: 1px solid #ddd;
    padding: 10px;
    margin: 0;
}

/* =========================================================================
   CnfLog Viewer (cnfLogView.xhtml)
   ========================================================================= */

.cnflog-table-header {
    font-size: 1rem;
    font-weight: bold;
}

.cnflog-outcome-success {
    color: #28a745;
    font-weight: bold;
}

.cnflog-outcome-partial {
    color: #fd7e14;
    font-weight: bold;
}

.cnflog-outcome-failure {
    color: #dc3545;
    font-weight: bold;
}

.cnflog-outcome-none {
    color: #6c757d;
}

.cnflog-review-flag {
    color: #dc3545;
    font-weight: bold;
}

.cnflog-json-payload-header {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 10px;
    font-size: 0.9rem;
}

.cnflog-json-payload-pre {
    font-family: monospace;
    font-size: 0.85rem;
    white-space: pre-wrap;
    word-break: break-all;
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px;
    max-height: 420px;
    overflow-y: auto;
    margin: 0;
}

/* ============================================================ */
/* CEAR Internal Submission Form                                 */
/* ============================================================ */

/* Wide muni-general toggle button */
.cear-int-muni-general-toggle .ui-button {
    width: 100%;
    font-size: 1.05rem;
    font-weight: bold;
    padding: 10px 18px;
}

/* Active (muni-general ON) state */
.cear-int-muni-general-toggle .ui-state-active {
    background-color: #c0392b !important;
    border-color: #a93226 !important;
    color: #fff !important;
}

/* Request type radio — larger, more readable options */
.cear-int-type-radio .ui-radiobutton-label {
    font-size: 1rem;
    padding: 4px 0;
}

/* Requestor mode selection buttons */
.cear-int-requestor-mode-btn {
    min-width: 200px;
    margin-right: 8px;
}

/* Blob attachment section */
.cear-int-blob-section {
    padding: 8px 0;
}

/* Submission button columns: each button centered in its grid column */
.cear-submit-col {
    text-align: center;
}

.cear-submit-email-checks {
    text-align: right;
    font-size: 0.85rem;
    color: #374151;
    padding-bottom: 4px;
}

.cear-submit-email-checks div {
    line-height: 1.8;
}

/* Post-submit confirmation bar */
.cear-int-postsubmit-bar {
    background-color: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 4px;
    padding: 6px 10px;
    margin-bottom: 8px;
}

.cear-int-submitted-label {
    font-weight: bold;
    color: #16a34a;
    font-size: 0.9rem;
}

.cear-int-postsubmit-links {
    margin-top: 6px;
}

/* =========================================================
   Site Footer
   ========================================================= */

.site-footer {
    background-color: #1a1a1a;
    color: #c8c8c8;
    font-size: 0.78rem;
    padding: 10px 20px;
    border-top: 3px solid #6C6D70;
    margin-top: auto;
    margin-left: 0;
}

.site-footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.site-footer-appname {
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 0.04em;
    font-size: 0.85rem;
}

.site-footer-sep {
    color: #555;
    padding: 0 2px;
}

/* =========================================================
   Bot Prevention
   ========================================================= */

/*
 * .form-row-optional
 * Moves the honeypot field completely off-screen.
 * Intentionally NOT display:none or visibility:hidden \u2014 bots can detect those via
 * getComputedStyle and will skip the field. Off-screen positioning is harder to
 * distinguish from legitimate layout utility classes.
 * tabindex="-1" and autocomplete="off" on the input prevent keyboard/autofill fill.
 */
.form-row-optional {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* ==========================================================
 * CEAR Routing Flow — Two-Column Dialog Layout
 * ========================================================== */

.cear-flow-info-card {
    position: sticky;
    top: 0;
}

.cear-flow-summary-panel .ui-panel-content {
    padding: 8px;
}

.cear-flow-card-address {
    font-weight: bold;
    color: #1f2937;
}

.cear-flow-card-description {
    font-size: 0.88em;
    color: #374151;
    background-color: #f9fafb;
    border-left: 3px solid #9ca3af;
    padding: 6px 8px;
    border-radius: 0 2px 2px 0;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 120px;
    overflow-y: auto;
}

.cear-flow-card-urgent {
    color: #cc0000;
    font-weight: bold;
    font-size: 0.9em;
}

.cear-flow-notify-row {
    padding: 6px 4px 10px 4px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 10px;
}

.cear-flow-muni-property-fallback-box {
    margin-top: 14px;
    padding: 12px 14px;
    border: 1px solid #b0bec5;
    border-radius: 4px;
    background-color: #f5f7fa;
}

/* =========================================================
   Letter Table + Details Dialog
   ========================================================= */

.letter-table-col-status-combined {
    width: 32%;
}

.letter-status-dateofrecord {
    font-size: 0.82em;
    color: #4b5563;
    margin-bottom: 5px;
}

.letter-status-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 3px;
}

.letter-status-meta {
    font-size: 0.82em;
    color: #6b7280;
}

.letter-status-date {
    margin-top: 4px;
    font-size: 0.82em;
    color: #6b7280;
}

.letter-table-col-parent {
    width: 70px;
}

.letter-table-col-actions {
    width: 110px;
}

.letter-table-recipient-name {
    font-weight: 700;
    color: #1f2937;
}

.letter-table-recipient-address {
    margin-top: 3px;
    color: #4b5563;
    white-space: pre-wrap;
}

/* =========================================================
   Letter Template Manager: Mail Merge Field Reference Dialog
   ========================================================= */

.letter-token-dialog-content {
    overflow-y: auto;
}

.token-ref-dialog-scroll-body {
    overflow-y: auto;
    max-height: calc(80vh - 60px);
    padding-right: 4px;
}

.letter-token-overlay-heading {
    display: block;
    font-weight: 700;
    font-size: 1.1em;
    margin-bottom: 10px;
    color: #1e3a5f;
}

/* ============================================================
   Letter table — mark-sent / amend dialog
   ============================================================ */

.letter-amend-banner {
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 10px;
    font-weight: bold;
    color: #856404;
}

/* Full-width textarea used in notes-append and mark-sent notes fields */
.letter-notes-append-textarea {
    width: 100%;
}

.letter-token-reference-flat-list {
    padding: 0 4px;
}

.letter-token-section-header {
    font-weight: 700;
    color: #374151;
    border-bottom: 2px solid #d1d5db;
    padding: 12px 4px 6px 4px;
    margin-top: 20px;
    font-size: 0.92em;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

.letter-token-section-header:first-child {
    margin-top: 4px;
}

.letter-token-reference-row {
    border-bottom: 1px solid #f3f4f6;
    align-items: center;
    padding: 4px 0;
}

.letter-token-reference-flat-list .letter-token-reference-token {
    font-family: monospace;
    font-size: 1.3em;
    color: #1d4ed8;
    word-break: break-all;
}

.letter-token-reference-description {
    color: #4b5563;
    font-size: 0.9em;
}

.letter-token-reference-note {
    color: #6b7280;
    margin-bottom: 12px;
    font-size: 0.9em;
}

.letter-table-muted {
    color: #6b7280;
    font-size: 0.88em;
}

.letter-mailing-add-link {
    color: #1d4ed8;
    font-weight: 600;
    font-size: 0.88em;
    text-decoration: none;
    cursor: pointer;
}

.letter-mailing-add-link:hover {
    text-decoration: underline;
}

.letter-status-badge {
    display: inline-block;
    border-radius: 3px;
    padding: 2px 8px;
    font-size: 0.83em;
    font-weight: 700;
    text-transform: lowercase;
}

.letter-status-draft {
    background-color: #f3f4f6;
    color: #374151;
}

.letter-status-finalized {
    background-color: #dbeafe;
    color: #1d4ed8;
}

.letter-status-sent {
    background-color: #dcfce7;
    color: #166534;
}

.letter-status-returned {
    background-color: #fee2e2;
    color: #991b1b;
}

.letter-status-deactivated {
    background-color: #e5e7eb;
    color: #6b7280;
}

/* =========================================================
   Letter Print Viewer — header image + document container
   ========================================================= */

/* Header image in letter print and template preview */
.letter-header-image {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 18px;
}

/* =========================================================
   Letter Template Manager — header image selector
   ========================================================= */

/* Container below the header image dropdown in the editor */
.letter-tmpl-header-img-container {
    margin-top: 8px;
    max-width: 400px;
    overflow: hidden;
}

/* Thumbnail preview of the selected header image in the editor */
.letter-tmpl-header-image-preview {
    display: block;
    max-width: 400px;
    max-height: 120px;
    height: auto;
    border: 1px solid #d1d5db;
    border-radius: 3px;
    padding: 4px;
    background: #f9fafb;
}

/* Read-only template text area in view mode */
.letter-tmpl-view-text {
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 12px 16px;
    background: #f9fafb;
    min-height: 200px;
    max-height: 600px;
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.5;
}

/* =========================================================
   Letter Flow Dialog — nav bar, step buttons, and selection boxes
   ========================================================= */

/* Nav bar placed directly below the p:steps progress bar */
.letter-flow-nav-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0 6px 0;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 10px;
}

.letter-flow-nav-left {
    display: flex;
    gap: 8px;
}

.letter-flow-nav-right {
    display: flex;
    gap: 8px;
}

/* Gray back / cancel navigation button */
.letter-flow-btn-back,
.letter-flow-btn-cancel {
    background-color: #6b7280 !important;
    color: #ffffff !important;
    border: none !important;
}

.letter-flow-btn-back:hover,
.letter-flow-btn-cancel:hover {
    background-color: #4b5563 !important;
}

/* Next button — inherits PrimeFaces default button color */
.letter-flow-btn-next {
    color: #ffffff !important;
    border: none !important;
}

/* Secondary (save draft etc.) */
.letter-flow-btn-secondary {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #d1d5db !important;
}

.letter-flow-btn-secondary:hover {
    background-color: #e5e7eb !important;
}

/* Template select button in step 1 — inherits PrimeFaces standard blue */
.letter-flow-select-btn {
    color: #ffffff !important;
    border: none !important;
    font-size: 0.85em !important;
}

/* Right-align cell for person and address select buttons */
.letter-flow-select-btn-cell {
    text-align: right;
}

/* Person select button — dark teal */
.letter-flow-person-select-btn {
    background-color: #00695c !important;
    color: #ffffff !important;
    border: none !important;
    min-width: 170px !important;
}

.letter-flow-person-select-btn:hover {
    background-color: #004d40 !important;
}

/* Address select button — deep violet */
.letter-flow-addr-select-btn {
    background-color: #4527a0 !important;
    color: #ffffff !important;
    border: none !important;
    min-width: 170px !important;
}

.letter-flow-addr-select-btn:hover {
    background-color: #311b92 !important;
}

/* Recipient selection boxes */
.letter-flow-recipient-person-box {
    border: 2px solid #00695c;
    background-color: #e0f2f1;
    border-radius: 4px;
    padding: 10px 12px;
    margin-bottom: 12px;
    min-height: 64px;
}

.letter-flow-recipient-addr-box {
    border: 2px solid #4527a0;
    background-color: #ede7f6;
    border-radius: 4px;
    padding: 10px 12px;
    min-height: 64px;
    margin-bottom: 12px;
}

.letter-flow-recipient-box-label {
    font-weight: 700;
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 4px;
}

.letter-flow-recipient-person-box .letter-flow-recipient-box-label {
    color: #e65100;
}

.letter-flow-recipient-addr-box .letter-flow-recipient-box-label {
    color: #ad1457;
}

.letter-flow-recipient-box-empty {
    font-style: italic;
    color: #9ca3af;
    font-size: 0.9em;
}

.letter-flow-recipient-box-value {
    font-size: 1.15em;
    font-weight: 700;
    color: #111827;
}

/* Person tools section label */
.letter-flow-person-tools-label {
    font-weight: 700;
    font-size: 0.85em;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding-top: 8px;
    padding-bottom: 4px;
    border-top: 1px solid #e5e7eb;
    margin-top: 8px;
    margin-bottom: 4px;
}

/* Person tools 3-up link grid */
.letter-flow-person-tools-grid {
    margin-top: 2px;
}

/* Editor note above p:textEditor in step 3 */
.letter-flow-editor-note {
    background-color: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 3px;
    padding: 6px 10px;
    font-size: 0.85em;
    color: #1e40af;
    margin-bottom: 6px;
}

/* Caps mini-section label used above the editor and violation list */
.letter-flow-section-label {
    display: block;
    font-weight: 700;
    font-size: 0.82em;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 2px solid #d1d5db;
    padding-bottom: 4px;
    margin-bottom: 8px;
}

/* ===== Step 4 — split layout: summary left / live preview right ===== */

/* Left summary column */
.letter-flow-step4-left {
    padding-right: 16px;
    border-right: 1px solid #e5e7eb;
}

/* Tighten up the label/value pairs in the summary grid */
.letter-flow-step4-summary-grid .restrict-data-field-label-inline,
.letter-flow-step4-summary-grid .restrict-data-field-value-inline {
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 0.9em;
}

/* Right preview column */
.letter-flow-step4-preview-col {
    padding-left: 16px;
}

/* Scrollable preview body — mirrors the letter-flow-preview-body used in step 1 */
.letter-flow-step4-preview-body {
    border: 1px solid #d1d5db;
    border-radius: 4px;
    padding: 16px;
    background: #ffffff;
    max-height: 560px;
    overflow-y: auto;
    font-size: 0.92em;
    line-height: 1.55;
}

/* ===== Utility ===== */
/* Inline display for material icons used alongside text in nav bars and panel headers */
.material-icon-inline {
    display: inline-block;
}

/* Blob thumbnail preview in data tables */
.blob-preview-thumb {
    width: 100px;
}

/* === Letter Photo Grid Layout ============================================= */
/* Used by LetterHtmlRenderer-generated <<PHOTOS>> block token HTML.          */
/* Classes must live here because letterPrint.xhtml only loads style.css.     */
.letter-photo-grid {
    display: grid;
    gap: 8px;
    margin-bottom: 1em;
}

/* Small: 2 columns → ~4 photos per portrait page */
.letter-photo-grid-small {
    grid-template-columns: 1fr 1fr;
}

/* Medium: 1 column 70% width → 2 per page via break-after */
.letter-photo-grid-medium {
    grid-template-columns: 1fr;
    max-width: 70%;
}
.letter-photo-grid-medium .letter-photo-item:nth-child(2n) {
    break-after: page;
}

/* Large: 1 column full width → 1 per page via break-after */
.letter-photo-grid-large {
    grid-template-columns: 1fr;
}
.letter-photo-grid-large .letter-photo-item {
    break-after: page;
}

.letter-photo-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.letter-photo-item img {
    width: 100%;
    height: auto;
}

/* Ordinance Analysis Table Styling */
.ordinance-analysis-table {
    width: 100%;
    margin-top: 10px;
}

/* Reduce vertical padding in ordinance table cells - more specific selector to override PrimeFaces */
.ordinance-analysis-table table.primeDataTable td {
    padding: 4px 8px !important; /* Half vertical padding: 4px instead of default 8px */
}

.ordinance-header-column {
    width: 60%;
    text-align: left;
    padding-right: 15px;
}

.ordinance-count-column {
    width: 15%;
    text-align: right;
    padding-right: 15px;
}

.ordinance-bar-column {
    width: 25%;
    text-align: left;
}

.ordinance-bar-container {
    width: 100%;
    max-width: 1in; /* About 1 inch wide */
    height: 16px;
    border: 1px solid #ccc;
    background-color: #f8f8f8;
    position: relative;
    margin: 2px 0;
}

.ordinance-bar {
    height: 100%;
    background-color: #2d66cd;
    background-image: linear-gradient(135deg, #2d66cd 0%, #4285f4 100%);
    transition: width 0.3s ease;
    min-width: 2px; /* Ensure very small values are visible */
}

/* Report Footnote Styling */
.report-footnote-symbol {
    color: #666;
    font-size: 0.75em;
    vertical-align: super;
    margin-left: 4px;
    font-weight: normal;
}

.report-footnote-text {
    font-size: 0.85em;
    color: #666;
    font-style: italic;
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px solid #e0e0e0;
    line-height: 1.4;
}

.report-footnote-text .report-footnote-symbol {
    vertical-align: baseline;
    margin-right: 4px;
    margin-left: 0;
}

/* ================== GENERALIZED REPORT METRICS STYLING ================== */

/* KPI-style metrics with large numbers and titles */
.report-kpi-row {
    display: table;
    width: 100%;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.report-kpi-num {
    display: table-cell;
    width: 72px;
    padding: 8px 16px 8px 0;
    text-align: right;
    vertical-align: middle;
    font-size: 2.1rem;
    font-weight: 700;
    color: #1e293b;
}

.report-kpi-lbl {
    display: table-cell;
    vertical-align: middle;
    padding: 8px 0;
}

.report-kpi-title {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
}

.report-kpi-sub {
    display: block;
    font-size: 0.77rem;
    color: #6b7280;
}

/* Standard metric rows with left labels and right counts - BLOCK layout, NOT flexbox */
.report-metric-row {
    margin: 0;
    border-bottom: 1px solid #e5e7eb;
    display: block !important; /* Override any flexbox from PrimeFaces */
    width: 100%;
    clear: both;
}

.report-metric-label {
    font-size: 0.88rem;
    color: #374151;
    padding: 5px 8px 5px 0;
    display: inline-block;
    width: 83.33333%; /* ~10/12 columns */
    float: left;
}

.report-metric-count {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1e293b;
    text-align: right;
    padding: 5px 0;
    display: inline-block;
    width: 16.66667%; /* ~2/12 columns */
    float: right;
}

/* Total/summary metric rows with darker styling - BLOCK layout, NOT flexbox */
.report-metric-total-row {
    margin: 0;
    border-top: 2px solid #1e293b;
    display: block !important; /* Override any flexbox from PrimeFaces */
    width: 100%;
    clear: both;
}

.report-metric-total-label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #1e293b;
    padding: 5px 8px 5px 0;
    display: inline-block;
    width: 83.33333%; /* ~10/12 columns */
    float: left;
}

.report-metric-total-count {
    font-size: 0.88rem;
    font-weight: 700;
    color: #1e293b;
    text-align: right;
    padding: 5px 0;
    display: inline-block;
    width: 16.66667%; /* ~2/12 columns */
    float: right;
}

/* Metric section containers with clearfix for float clearing */
.report-metric-container {
    margin: 15px 0;
}

/* Clearfix for floated elements in metric rows */
.report-metric-row::after,
.report-metric-total-row::after {
    content: "";
    display: table;
    clear: both;
}
