/************************************************************************************************************************
	bootstrap-overrides.css: Extensions and refinements to Bootstrap 5 components.
		Includes visual consistency adjustments, color variable usage, and backward compatibility for legacy form states.

		Copyright (c) 2012-Present - agileKaizen, Ltd., all rights reserved. http://agileKaizen.com
************************************************************************************************************************/

/* ============================== CARDS ============================== */
.card {background-color:var(--brand-surface); border:1px solid var(--brand-outline); box-shadow:0 1px 3px rgba(var(--bs-black-rgb),.06); transition:box-shadow .15s ease-in-out,border-color .15s ease-in-out;}
.card:hover,.card:focus-within {box-shadow:0 4px 12px rgba(var(--bs-black-rgb),.08); border-color:var(--bs-gray-400);}
.card-header,.card-footer {background-color:var(--brand-surface);}

/* ============================== BUTTONS ============================== */
.btn,.btn:hover,.btn:focus,.btn:active {text-decoration:none !important;}
.btn-primary {color:var(--brand-primary) !important; background-color:var(--brand-contrast) !important; border:1px solid rgba(var(--brand-primary-rgb),.25) !important; box-shadow:0 1px .5rem .1rem rgba(var(--brand-primary-rgb),.25) !important; transition:all .25s ease;}
.btn-primary:hover,.btn-primary:active,.btn-primary.active {box-shadow:0 1px 1rem .125rem rgba(var(--brand-primary-rgb),.35) !important;}
.btn-primary:active,.btn-primary.active {background-color:rgba(var(--brand-contrast-rgb),.85) !important; border-color:rgba(var(--brand-primary-rgb),.35) !important; box-shadow:inset 0 2px 4px rgba(var(--brand-primary-rgb),.25) !important; transform:translateY(1px);}

.btn-secondary {color:var(--text-body) !important; background-color:var(--brand-surface) !important; border:1px solid var(--bs-gray-400) !important; transition:all .25s ease;}
.btn-secondary:hover {background-color:rgba(var(--brand-contrast-rgb),.5) !important; border-color:var(--bs-gray-500) !important;}
.btn-secondary:active,.btn-secondary.active {background-color:rgba(var(--brand-contrast-rgb),.25) !important; border-color:rgba(var(--bs-gray-500),.85) !important; box-shadow:inset 0 2px 4px rgba(0,0,0,.1) !important; transform:translateY(1px);}

.btn-outline-primary {color:var(--brand-primary); border-color:var(--brand-primary); background-color:transparent; transition:all .25s ease;}
.btn-outline-primary:hover {color:var(--brand-primary); background-color:var(--brand-contrast); border-color:var(--brand-primary);}

.btn-outline-secondary {color:var(--brand-primary); border-color:var(--bs-border-color); background-color:transparent; transition:all .25s ease;}
.btn-outline-secondary:hover {color:var(--brand-primary); background-color:var(--brand-contrast); border-color:var(--bs-btn-border-color);}

.btn-tertiary {color:var(--text-body); background-color:var(--brand-background); border:1px solid var(--brand-border); transition:all .25s ease;}
.btn-tertiary:hover {background-color:rgba(var(--brand-contrast-rgb),.5);}
.btn-tertiary:active,.btn-tertiary.active {background-color:rgba(var(--brand-contrast-rgb),.5); border-color:rgba(var(--bs-gray-400),.85); box-shadow:inset 0 2px 4px rgba(0,0,0,.05); transform:translateY(1px);}

.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, 
.btn-outline-primary:active, .btn-outline-primary.active, 
.btn-outline-primary.dropdown-toggle.show {color:#FFFFFF; background-color:var(--primary-color); border-color:var(--primary-color);}

.btn-dual-line small {display:block; margin-top:-.25rem; font-size:70% !important;}

.btn-icon {padding:.6rem .4rem;}
.btn-icon.btn-sm {padding:.35rem .15rem;}
.btn-icon.btn-lg {padding:.75rem .15rem;}
.btn-icon>i {padding:0; font-size:1.65rem; color:#777777;}
.btn-icon:hover>i {color:#474747;}
.btn-icon.active>i {color:#333333;}

.btn-pill {border-radius:4rem;}

.btn-form {padding:4.85px 12px !important;}

.btn-outline-secondary:not([disabled]):not(.disabled):active,.btn-outline-secondary:not([disabled]):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle {box-shadow:0 0 0 .1rem;}

/* Button Groups */
.btn-group {min-height:40px;}
	.btn-group .btn {transform:translateY(0px);}
	.btn-group .btn:active, .btn-group .btn.active {border-color:var(--bs-gray-600); transform:translateY(0px);}

/* ============================== FORMS ============================== */
textarea {resize:none;}

.form-control:focus {box-shadow:none; background-color:var(--bs-white); border-color:rgba(var(--brand-primary-rgb),.55); outline:0;}
.form-control.text-sm {min-height:34px;}
.form-control-static {display:block; min-height:24px;}
.form-control-text {padding-top:.375rem;}

.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="number"], select, textarea {background-color:var(--bs-white); color:var(--bs-body-color); border:1px solid var(--bs-border-color);}
.form-control:disabled, .form-control[readonly], input:disabled, select:disabled, textarea:disabled {background-color:var(--bs-gray-100); color:var(--text-muted-light);}
.form-control::placeholder {color:var(--text-placeholder); opacity:1;}

.stacked-form-label {width:100%; padding-left:.75rem; margin-bottom:0; font-size:.9rem; color:#6c757d;}
.stacked-form-label.centered,.centered>.stacked-form-label {padding-left:0;}
.stacked-form-guidance {display:block; width:100%; padding-left:.75rem; margin-top:0; font-size:.75rem; color:#999999; line-height:1rem;}
.stacked-form-guidance.centered,.centered>.stacked-form-guidance {padding-left:0;}

label.label-inline {display:flex; align-items:center;}
label.label-inline.label-sm {padding:2px 4px; padding-top:1px; width:102px;}
label.label-inline .input-label {text-align:left; vertical-align:middle;}
label.label-inline:hover {color:#333;}

.input-editable,input[type="text"].input-editable {background:transparent; border-color:transparent; box-shadow:none; resize:none; padding:5px; transition:all .3s ease-in-out;}
.input-editable:hover,input[type="text"].input-editable:hover {border-color:#e5e5e5; box-shadow:0 1px 1px rgba(0,0,0,.075) inset;}
.input-editable:focus,input[type="text"].input-editable:focus {box-shadow:0 1px 1px rgba(0,0,0,.075) inset,0 0 8px rgba(82,168,236,.6); border:1px solid rgba(82,168,236,.8);}
.input-editable:not(:focus),input[type="text"].input-editable:not(:focus) {background:transparent !important;}
textarea.input-editable {color:#474747; font-size:.9rem;}

.input-borderless {border:none; border-color:transparent; background:none !important; box-shadow:none;}
.input-borderless.form-control {padding:0 !important;}
.input-borderless.form-control:focus {box-shadow:none;}

.input-actionable {display:inline;}
.input-actionable>.input-action {display:none;}
.input-actionable:hover>.input-action {display:inline;}

.input-trimmed,input.input-trimmed {padding:0; margin:0;}

.form-control.trimmed {padding:0 4px; height:22px;}

.has-error .form-control.validation-failed {border-color:var(--bs-form-invalid-border-color) !important; background-color:var(--bs-danger-bg-subtle);}
.has-error .col-form-label,.has-error label .input-label,.has-error label .input-label a {color:var(--bs-form-invalid-color);}
.has-error .form-control.validation-failed::placeholder {color:var(--bs-form-invalid-color);}
.has-error .btn-required {background-color:var(--bs-form-invalid-color) !important; border-color:var(--bs-form-invalid-color);}

.has-success .form-control {border-color:var(--bs-form-valid-border-color) !important;}
.has-success .col-form-label,.has-success label .input-label {color:var(--bs-form-valid-color);}

/* Input Group */
.input-group {min-height:40px;}
	.input-group .input-group-text, .input-group input.form-control {border-color:var(--bs-border-color) !important;}


/* ============================== INPUTS ============================== */
/* Input: Replacement of checkboxes and radio buttons with icon fonts */ 
input[type=checkbox]:not(.featureSelector):not(.form-check-input),			input[type=radio] {position:absolute; opacity:0; margin-top:6px; height:24px; width:22px; cursor:pointer;}
input[type=checkbox]:checked:not(.featureSelector):not(.form-check-input),	input[type=radio]:checked,
input[type=checkbox]:focus:not(.featureSelector):not(.form-check-input), 	input[type=radio]:focus {outline:none !important; opacity:0 !important;}

input[type=checkbox] + .icon-checkbox, input[type=radio] + .icon-radio {color:var(--text-muted); display:table-cell;}
	.has-error input[type="checkbox"] + .icon-checkbox, .has-error input[type="radio"] + .icon-radio {color:var(--bs-danger);} /* form validation */
	.has-success input[type="checkbox"] + .icon-checkbox, .has-success input[type="radio"] + .icon-radio {color:var(--bs-success);} /* form validation */
	table tbody tr td.centered input[type=checkbox] + .icon-checkbox, table tbody tr td.centered input[type=radio] + .icon-radio {display:inline-block;}

/* Icon colors */
input[type=checkbox]:hover + .icon-checkbox, 		input[type=radio]:hover + .icon-radio,		input[type=checkbox]:indeterminate + .icon-checkbox,
input[type=checkbox] + .icon-checkbox:hover, 		input[type=radio] + .icon-radio:hover {color:var(--text-muted);}
input[type=checkbox]:checked + .icon-checkbox, 		input[type=radio]:checked + .icon-radio {color:var(--text-body);}
input[type=checkbox]:disabled + .icon-checkbox, 	input[type=radio]:disabled + .icon-radio,
input[type=checkbox][disabled] + .icon-checkbox,	input[type=radio][disabled] + .icon-radio,
input[type=checkbox].disabled + .icon-checkbox, 	input[type=radio].disabled + .icon-radio {color:var(--text-muted-light);}

/* Icon content */
input[type=checkbox] + .icon-checkbox::before {content:"\e806";} /* icon-check-empty */
input[type=checkbox]:checked + .icon-checkbox::before {content:'\e600';} /* icon-ok */
input[type=checkbox]:indeterminate + .icon-checkbox::before {content:'\e604';} /* icon-indeterminate */
input[type=radio] + .icon-radio::before {content:"\e602";} /* icon-radio */
input[type=radio]:checked + .icon-radio::before {content:'\e600';} /* icon-ok */

/* Special settings */
.input-label {font-weight:normal; padding:0; opacity:.5; display:table-cell;}
	.input-label span.label {font-size:9px; vertical-align:middle; margin-left:4px;}
	.input-label.checked {opacity:1;}
label input[type=checkbox]:disabled + .icon-checkbox + .input-label, label input[type=radio]:disabled + .icon-radio + .input-label {opacity:.5; cursor:not-allowed;}
input[type=checkbox]:checked + .icon-checkbox.colored::before, input[type=radio]:checked + .icon-radio.colored::before {color:unset; content:'\e601';}
label input[type=checkbox]:checked + .icon-checkbox + .input-label, label input[type=radio]:checked + .icon-radio + .input-label  {opacity:1;}

.form-check.form-switch label.form-check-label {opacity:0.5; cursor:pointer;}
.form-check.form-switch input[type=checkbox]:checked + label.form-check-label {opacity:1;}


/* ============================== TABLES ============================== */
.table {table-layout:fixed; width:100%; color:var(--text-body); background-color:var(--brand-background); border-color:var(--brand-border); border-collapse:collapse;}
	.table th,.table td {padding:.75rem 1rem; vertical-align:top; border-top:1px solid var(--brand-border); color:var(--text-body);}
	.table thead th,.table thead td {border-top:none; border-bottom:2px solid var(--brand-border); background-color:var(--brand-background); color:var(--text-body); font-weight:600; padding:.5rem 1rem;}
	.table tbody+tbody {border-top:1px solid var(--brand-border);}
	.table tr:first-child td,.table tr:first-child th {border-top:none;}

.table-hover>tbody>tr:hover {background-color:rgba(var(--brand-contrast-rgb),.15); color:var(--text-body);}
.table-striped>tbody>tr:nth-of-type(odd) {background-color:rgba(var(--brand-divider-rgb),.05);}


/* ============================== NAVIGATION & TABS ============================== */
.nav {display:flex;}
	.nav-item {display:flex; align-items:center;}
		.nav-link {color:var(--brand-primary);}
		.nav-link:hover,.nav-link:focus {color:var(--brand-primary-dark);}
		
	.nav-pills {gap:.5rem;}
		.nav-pills .nav-link {color:var(--text-body); background-color:var(--brand-surface); text-decoration:none; transition:all .25s ease;}
		.nav-pills .nav-link:hover {color:var(--brand-primary); background-color:var(--brand-surface-hover,var(--brand-background)); border-color:var(--bs-border-color);}
		.nav-pills .nav-link.active, .nav-pills .show>.nav-link {color:var(--text-inverse); background-color:var(--brand-primary); border-color:var(--brand-primary); box-shadow:inset 0 0 .25rem rgba(var(--brand-primary-rgb),.5);}
		.nav-pills .nav-link.active:hover,.nav-pills .show>.nav-link:hover {background-color:var(--brand-primary-dark); border-color:var(--brand-primary-dark);}
		
	.nav-separator {flex:1 1 auto;}


/* ============================== DROPDOWNS ============================== */
.dropdown-menu {border:1px solid var(--bs-gray-300); border-radius:.5rem; box-shadow:0 .25rem .75rem rgba(var(--bs-black-rgb),.08); background-color:var(--brand-surface);}
.dropdown-item {color:var(--text-body); padding:.25rem 1rem; transition:all .2s ease;}
.dropdown-item:hover {background-color:rgba(var(--brand-contrast-rgb),.25); color:var(--brand-primary); cursor:pointer;}
.dropdown-item:active, .dropdown-item.active {background-color:var(--brand-contrast); color:var(--brand-primary);}
.dropdown-item.disabled,.dropdown-item:disabled {color:var(--bs-gray-500); background:transparent; opacity:.7;}

.dropdown-heading {display:block; padding:0 1.5rem; margin-bottom:0; font-size:.75rem; white-space:nowrap; color:var(--text-muted);}

/* Dropdown toggle */
.rightPanel .nav-link.nav-icon.dropdown-toggle {background-color:var(--brand-surface);}
.nav-pills .show>.nav-link.dropdown-toggle {background-color:var(--brand-primary-dark); color:#fff; border-color:var(--brand-primary-dark); box-shadow:inset 0 0 .25rem rgba(var(--brand-primary-rgb),.5);}


/* ============================== ACCORDION ============================== */
.accordion {--bs-accordion-bg:var(--brand-surface); --bs-accordion-border-color:var(--bs-gray-300); --bs-accordion-btn-focus-box-shadow:none; --bs-accordion-btn-color:var(--text-body); --bs-accordion-btn-bg:var(--brand-surface); --bs-accordion-active-color:var(--brand-primary); --bs-accordion-active-bg:rgba(var(--brand-contrast-rgb),.25); --bs-accordion-border-radius:var(--radius-md);}

/* Accordion Item */
.accordion-item {border:1px solid var(--bs-gray-300); border-radius:var(--radius-md); margin-bottom:.5rem; overflow:hidden; box-shadow:0 1px 3px rgba(var(--bs-black-rgb),.05); background-color:var(--brand-body);}

/* Accordion Button */
.accordion-button {font-weight:600; font-size:1rem; padding:.9rem 1.25rem; color:var(--text-body); background-color:var(--brand-background); border:none; border-radius:0; box-shadow:none !important; transition:background-color .25s ease, color .25s ease;}
.accordion-button:hover {background-color:var(--brand-background); color:var(--text-body);}
.accordion-button:not(.collapsed) {background-color:var(--brand-background); color:var(--text-body); border-bottom:1px solid var(--bs-gray-200);}
.accordion-button:focus {box-shadow:none; outline:none;}

/* Accordion Body */
.accordion-body {background-color:var(--brand-background); color:var(--text-body); padding:0 1.25rem; font-size:.95rem; line-height:1.6; border-top:1px solid var(--bs-gray-200); border-bottom-left-radius:var(--radius-md); border-bottom-right-radius:var(--radius-md);}


/* ============================== BADGES ============================== */
.badge {display:inline-flex; align-items:center; line-height:1;}
.badge-primary {background-color:var(--brand-primary) !important; color:var(--bs-white) !important; border:1px solid var(--brand-primary);}
.badge-green {background-color:var(--bs-success) !important; color:var(--bs-white) !important; border:1px solid var(--bs-success);}
.badge-blue {background-color:var(--bs-info) !important; color:var(--bs-dark) !important; border:1px solid var(--bs-info);}
.badge-yellow {background-color:var(--bs-warning) !important; color:var(--bs-dark) !important; border:1px solid var(--bs-warning);}
.badge-red {background-color:var(--bs-danger) !important; color:var(--bs-white) !important; border:1px solid var(--bs-danger);}
.badge-grey {background-color:var(--bs-gray-400) !important; color:var(--bs-dark) !important; border:1px solid var(--bs-gray-500);}
.badge-white {background-color:var(--bs-white) !important; color:var(--text-body) !important; border:1px solid var(--bs-gray-400);}
.badge-normal {background-color:var(--brand-surface) !important; color:var(--text-body) !important; border:1px solid var(--bs-border-color);}


/* ============================== LIST GROUPS ============================== */
.list-group-item {background-color:var(--brand-surface); border-color: var(--brand-outline); color:var(--text-body);}
.list-group-item:hover {background-color:rgba(var(--brand-contrast-rgb), .1);}
.list-group-item.active {background-color:var(--brand-primary); border-color: var(--brand-primary); color:#fff;}
