div#reportContainer div.pp-rpt-chart-img-container {
    width: 450px; 
    height: 300px; 
    margin: 10px 0; 
    position: relative; /* Needed for Chart.js responsiveness */
}

div#reportContainer canvas.pp-report-chart {
    width: 100%;  /* Chart occupies full width of the container */
    height: 100%; /* Chart occupies full height of the container */
}

div#reportContainer { margin:0px; padding-left:0px; padding-right:0; overflow-y: auto; font-family:Verdana; font-size:10pt}

/*
div#reportContainer h1.pp-solution-report  {color:rgb(37, 26, 192); font-size:12pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:4px;}        
div#reportContainer h4.pp-solution-report  {color:rgb(37, 26, 192); font-size:12pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:12px;}        
div#reportContainer h5.pp-solution-report  {color:rgb(37, 26, 192); font-size:10pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:12px;}        
*/
/* headings: use a dark gray for less visual weight on white */
div#reportContainer h1.pp-solution-report  { color: #252525; /* was rgb(37,26,192) */ font-size:12pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:4px; }
div#reportContainer h4.pp-solution-report  { color: #252525; /* was rgb(37,26,192) */ font-size:12pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:12px; }
div#reportContainer h5.pp-solution-report  { color: #252525; /* was rgb(37,26,192) */ font-size:10pt; font-family:Verdana; font-weight:normal; margin:0px; padding-bottom:4px; padding-top:12px; }

div#reportContainer .ppcode-font {
    font-family: Monaco, Consolas, Georgia, "Lucida Console", "Courier New", monospace, serif;
}

div#reportContainer .ppcode {
    font-family: Monaco, Consolas, Georgia, "Lucida Console", "Courier New", monospace, serif;
    padding-top: 3px;
    padding-right: 6px;
    padding-bottom: 3px;
    padding-left: 12px;
    border-style: ridge;
    background-color: #F2F2F2;
    border-color: #C4C4C4;
    border-width: 1px;
    display:inline-block;
    font-size:10pt;
    white-space: pre;
}

div#reportContainer div.ppcode span.code-cmnt{ color: #999; font-style: italic; }
div#reportContainer div.ppcode span.code-hint{ color: #4fa8a8; }
div#reportContainer div.ppcode span.code-vari{ color: #3F51B5; }
div#reportContainer div.ppcode span.code-numb{ color: #2196F3; }
div#reportContainer div.ppcode span.code-func{ color: #a50; font-style: italic; }
div#reportContainer div.ppcode span.code-parn{ color: #a50; }
div#reportContainer div.ppcode span.code-oper{ color: #181818; }        
div#reportContainer div.ppcode span.code-cmnd{ color: #708; font-weight: bold; } /* if then else */
div#reportContainer div.ppcode span.code-kwrd{ color: #708; font-style: italic; } /* polyfit mlinefit nlinfit */
div#reportContainer div.ppcode span.code-unwn{ color: #F44336; }

/* replace deep saturated blue #1612fa which can be a bit harsh on a white background with #2196F3 */
div#reportContainer div.pp-rpt-monospaced-font span.blue { color: #2196F3; }        
div#reportContainer div.pp-rpt-monospaced-font span.red { color: #F44336; }

div#reportContainer div.pp-rpt-monospaced-font {
    font-family_: consolas, courier new, monospace;
    font-family: 'Cambria Math', 'STIX Two Math', 'Latin Modern Math', 'Noto Sans Math', Arial, sans-serif;
    font-size:12pt;
}

div#reportContainer p.pp-rpt-small-msg-font {
    font-family: 'Helvetica', 'Verdana', 'Tahoma', Arial, sans-serif;
    font-size:10pt;
}

div#reportContainer div.pp-rpt-light-grey-border {
    border: 1px solid lightgrey; 
    background-color: #f7f7f7;
    display: inline-block;
    padding: 3px 6px;
}

div#reportContainer table.pp-solution-report {
    text-align: left;
    margin: 10px 0;
    border-collapse: collapse;
}

div#reportContainer table.pp-solution-report th, 
div#reportContainer table.pp-solution-report td {
    color: #252525;             /* softened from pure black */
    border: 1px solid #ddd;
    padding: 2px 4px;
    text-align: left; 
    font-family:Verdana; 
    font-size:10pt;
}
div#reportContainer table.pp-solution-report th {
    text-align: center;
    background-color: #f2f2f2;
    font-weight: normal; 
}
div#reportContainer table.pp-solution-report tr:hover {
    background-color: #D6EEEE;
}
div#reportContainer table.pp-solution-report td.blue { color: #2196F3; }
div#reportContainer table.pp-solution-report td.red { color: #F44336; }        

div#reportContainer div.ppErrorRedBoxMessage { 
    border: 1px solid red; 
    border-radius: 4px; 
    background-color: #ffcccc; 
    padding: 15px; 
    display: inline-block; 
}

/* Reusable button palette: 2 sizes x 3 colors (red/green/blue) */
div#reportContainer .pp-btn {
    border-radius: 4px;
    border-width: 1px;
    border-style: solid;
    cursor: pointer;
    user-select: none;
    font-family: Verdana, Arial, sans-serif;
    line-height: 1;
}

div#reportContainer .pp-btn-sm {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    font-size: 10pt;
}

div#reportContainer .pp-btn-lg {
    min-width: 32px;
    height: 30px;
    padding: 0 10px;
    font-size: 12pt;
}

div#reportContainer .pp-btn-sm-red,
div#reportContainer .pp-btn-lg-red {
    color: #a62424;
    background-color: #fff3f3;
    border-color: #f2caca;
}

div#reportContainer .pp-btn-sm-green,
div#reportContainer .pp-btn-lg-green {
    color: #1f7a43;
    background-color: #f1fbf4;
    border-color: #c5e8d0;
}

div#reportContainer .pp-btn-sm-blue,
div#reportContainer .pp-btn-lg-blue {
    color: #2f4ea5;
    background-color: #f3f7ff;
    border-color: #c9d9fb;
}

div#reportContainer .pp-btn-sm-red:hover,
div#reportContainer .pp-btn-lg-red:hover {
    background-color: #ffecec;
}

div#reportContainer .pp-btn-sm-green:hover,
div#reportContainer .pp-btn-lg-green:hover {
    background-color: #eaf8ef;
}

div#reportContainer .pp-btn-sm-blue:hover,
div#reportContainer .pp-btn-lg-blue:hover {
    background-color: #eaf1ff;
}

div#reportContainer .pp-btn:active {
    transform: translateY(1px);
}

div#reportContainer .pp-customize-report-controls {
    margin: 4px 0 6px 0;
    white-space: nowrap;
}

/* Message Badges for Solution Report */
div#reportContainer .pp-msg-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 9pt;
    font-family: Verdana, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.3;
    white-space: nowrap;
    user-select: none;
}

div#reportContainer .pp-msg-badge-error {
    color: #b31d1d;
    background-color: #fde8e8;
    border: 1px solid #f8b4b4;
}

div#reportContainer .pp-msg-badge-warning {
    color: #92400e;
    background-color: #fef3c7;
    border: 1px solid #fcd34d;
}

div#reportContainer .pp-msg-badge-info {
    color: #1e40af;
    background-color: #eff6ff;
    border: 1px solid #bfdbfe;
}



