/* tile section */

.form-wrapper {
	margin-top: 100px; /* Adjust for top-bar + actionbar */
	padding: 20px;
	background-color: white;
	width: 100%;
}

.form-wrapper .form-label {
	font-weight: bold;
}

.tile-border {
	position:relative;
	left:10px;
	border: 1px solid silver;
	border-radius: 0;
	margin: 10px 0;
	padding: 10px;
	padding-left: 10px;
	text-align: left;
}

.tile-row {
	padding-left:10px;
	padding-right:10px;
}

.tile_col2 {
	background-color: #0078d7;
}

.tile_col3 {
	background-color: #29cc88;
}

.tile_col4 {
	background-color: #155883;
}

.tile_col5 {
	background-color: #9a244f;
}

.tile_col6 {
	background-color: #6b922c;
}

.tile_col7 {
	background-color: #4286f4;
}

.tile_col8 {
	background-color: #72ADE6;
}

.tile_col20 {
	background-color: #fcb716;
}

.tile_col21 {
	background-color: #eaf209;
}

.tile_col22 {
	background-color: #f73016;
}

.tile_col2, .tile_col3, .tile_col1, .tile_col4, .tile_col5, .tile_col6, .tile_col7, .tile_col8, .tile_col20, .tile_col21, .tile_col22 { 
	min-height:150px;
	border-style: solid;
	border-color: white;
	border-width: medium;
	padding-top: 50px;
	cursor: pointer;
}

.tile_col2, .tile_col3, .tile_col1, .tile_col4, .tile_col5, .tile_col6, .tile_col7, .tile_col8, .tile_col20, .tile_col21, .tile_col22 span { 
	font: 22px arial, sans-serif;
	font-weight: bold;
	color: white;
}

.tilelable4 {
	font: 20px arial, sans-serif;
	font-weight: bold;
	color: white;
}

.tilelable3 {
	font: 16px arial, sans-serif;
	font-weight: bold;
	color: white;
}

.tilelable2 {
	font: 14px arial, sans-serif;
	font-weight: bold;
	color: white;
}

.tilelable1 {
	font: 12px arial, sans-serif;
	font-weight: bold;
	color: white;
}


.tiletext4 {
	font: 12px arial, sans-serif;
	color: white;
}

.tiletext3 {
	font: 11px arial, sans-serif;
	color: white;
}

.tiletext2 {
	font: 10px arial, sans-serif;
	color: white;
}

.tiletext1 {
	font: 9px arial, sans-serif;
	color: white;
}

/* end of tile section

/* begin of user presence and news box */

.c_boxindex
{
	min-height: 150px;
}

.c_trans_calc_top_dv
{
	border: 1px solid silver;
	border-radius: 10px;
	margin: 10px 0;
	padding: 10px;
	padding-left: 15px;
	text-align: left;
}

.c_trans_calc_top_dv select
{
	min-height: 20px;
}

.silverbox
{
	border: 1px solid silver;
	margin: 10px 0;
	padding: 10px;
	padding-top: 15px;
	padding-left: 15px;
	text-align: left;
}

.silverbox	select
{
	min-height: 20px;
}

.boxdisplay
{
	border: 1px solid silver;
	padding: 3px;
	display: inline-block;
	margin-top: -30px;
	position: absolute;
	background: white;
	font-size: 14px;
	font-weight: bold;
}

#_mypf {
	background-image: url('/css/searchicon.png');
	background-position: 10px 12px;
	background-repeat: no-repeat;
	width: 100%;
	font-size: 14px;
	padding: 4px;
	border: 1px solid #ddd;
	margin-bottom: 12px;
}

#_myul {
	position:relative;
	list-style-type: none;
	padding: 0;
	margin: 0;
	width: 100%; 
	height: 200px; 
	overflow: auto;
	top:10px;
}

#_myul li a {
	border: 1px solid #ddd;
	margin-top: -1px; /* Prevent double borders */
	background-color: #f6f6f6;
	padding: 4px;
	text-decoration: none;
	font-size: 14px;
	color: black;
	display: block
}

#_myul li a:hover:not(.header) {
	background-color: #f9f9f8;
}

.c_red {
	color: red;
}

.c_grn {
	color: green;
}

.c_amb {
	color: orange;
}

/* end	of user presence and news box */

.custom-range::-webkit-slider-thumb {
	background-color: #007bff;
	border: 2px solid #fff;
	border-radius: 50%;
	height: 20px;
	width: 20px;
	cursor: pointer;
	margin-top: -8px;
}

.custom-range::-webkit-slider-runnable-track {
	background: linear-gradient(to right, #007bff, #80bdff);
	height: 8px;
	border-radius: 4px;
}

.custom-range::-moz-range-thumb {
	background-color: #007bff;
	border: 2px solid #fff;
	border-radius: 50%;
	height: 20px;
	width: 20px;
	cursor: pointer;
}

.custom-range::-moz-range-track {
	background: linear-gradient(to right, #007bff, #80bdff);
	height: 8px;
	border-radius: 4px;
}
/* start forms in content-area */


label {
	font-size: 0.75rem; /* Smaller font size */
	color: #4a4a4a; /* Dark grey color */
	margin-bottom: 2px; 
}

/* Adjust dropdown text and item height */
/* New */
.form-control, .form-control option {
	font-size: 0.875rem; /* Match label font size */
	line-height: 1.5; /* Adjust line height */
	padding: 0.375rem 0.75rem; /* Adjust padding */
}
/* end of new */

/* multi select items */
.multi-select-wrapper {
	margin-bottom: 30px;
	font-size: 10px;
}
select {
	width: 100%;
	padding: 5px;
	font-size: 10px;
}
.selected-items {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px;
	gap: 6px;
}
.selected-item {
	background-color: #72ade6;
	color: white;
	padding: 4px 8px;
	border-radius: 3px;
	display: inline-flex;
	align-items: center;
}
.selected-item span {
	margin-right: 6px;
}
.remove-btn {
	background: none;
	border: none;
	color: white;
	font-weight: bold;
	cursor: pointer;
}
/* end of multi select items */

/* Specific adjustment for select elements */

/* Read-only field styling */
.readonly-field {
	background-color: #f0f0f0; /* Light gray background */
	border-color: #dcdcdc; /* Slightly lighter border */
}

.valid {
	border: 2px solid #28a745; /* green */
	background-color: #e8f8ed;
}

.error {
	border: 2px solid #dc3545; /* red */
	background-color: #fbeaea;
}

/* Textarea auto-resize */

/* New */
textarea.form-control {
	overflow: hidden;
	resize: vertical;
	min-height: 26px;
}
/* end of new */

/* Custom switch styling */
.form-check-label::before {
	left: -2.25rem;
	width: 2rem;
	height: 1rem;
	pointer-events: all;
	content: "";
	background-color: #e9ecef; /* Light grey when unchecked */
	border: #ced4da solid 1px; /* Light grey border when unchecked */
	border-radius: 1rem;
	transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

.form-check-input:checked ~ .form-check-label::before {
	background-color: #007bff; /* Blue when checked */
	border-color: #007bff;
}

.form-check-input:focus ~ .form-check-label::before {
	box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}

.form-check-label::after {
	top: 0.25rem;
	left: -2rem;
	width: 0.75rem;
	height: 0.75rem;
	background-color: #fff; /* White button */
	border-radius: 0.75rem;
	transition: transform 0.15s ease-in-out;
}

.form-check-input:not(:checked) ~ .form-check-label::after {
	background-color: #adb5bd; /* Grey button when unchecked */
}

.form-check-input:checked ~ .form-check-label::after {
	transform: translateX(1rem);
}

/* Disabled state styling */
.form-check-input:disabled ~ .form-check-label::before {
	background-color: #e9ecef; /* Light grey when disabled */
	border-color: #ced4da; /* Light grey border when disabled */
}

.form-check-input:disabled ~ .form-check-label::after {
	background-color: #adb5bd; /* Grey button when disabled */
}

/* Limit text width */
.text-muted {
	max-width: 100%;
	word-wrap: break-word;
}

/* Smaller file input button */
.file-input {
	height: calc(2.25rem - 20%);
	padding: 0;
}

/* Picture preview styling */
#picturePreview {
	max-width: 190px;
	max-height: 100px;
	display: none;
}

/* Amber text for invalid feedback */
.invalid-feedback {
	display: none;
	color: #ffbf00; /* Amber color */
}

/* Group styling for radio buttons */
.radio-group {
	border: 1px solid #b0c4de; /* Silver blue-gray border */
	background-color: #f8f9fa; /* Very light background */
	padding: 1rem;
	border-radius: 0.25rem;
	margin-bottom: 1rem; /* Add some space below the group */
}

#updaterecord .mb-3 .form-check{
 top:-12px;
}

.form-check.custom-switch {
	display: flex;
	align-items: center;
}

.form-check-label {
	margin-left: 0.5rem; /* Add some space between the switch and the label */
}

/* Target only checkbox labels */
.form-check-input[type="checkbox"] ~ .form-check-label {
	margin-left: 0.25rem !important; /* Reduce space between the switch and the label */
	margin-bottom: 0 !important; /* Remove bottom margin */
}

/* Target only checkbox inputs */
.form-check-input[type="checkbox"] {
	margin-top: 0 !important; /* Remove top margin */
}

/* end of formstyle */

.table_template {
	margin-top: 10px;
	padding-bottom: 2rem;
}

.form_template {
	margin-top: 5%;
}
 
.fieldclass /* was c_ipt */
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid gray;
	padding-left: 10px;
	min-height: 2.0rem;
	background-color: #f9f9f8;
}

.fieldclass_ro 
{
	width: 100%;
	border-radius: 3px;
	border: 1px solid silver;
	padding-left: 10px;
	min-height: 2.3rem;
}

.selectclass
{
	height: 12px;
}

.htmlarea { /* was c_custom_html */
	color: black;
}

.alertbox /*was c_alert_dv */
{
	color: red;
	display: none;
}

.alertbox span
{
	margin-right: 10px;
	color: darkred;
}

.silverborder /*was c_reg*/
{
	width: 95%;
	margin: 10px auto;
	min-width: 600px;
	padding: 50px;
	text-align: left;
	padding-bottom: 5px;
}

/* end forms in content-area */

/* navigation tabs new style */
.tab-container {
	width: 100%;
	margin: 0px auto;
	background: #fff;
	/*border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);*/
	overflow: hidden;
}

.tab-header {
	display: flex;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

.tab-header .tab {
	padding: 4px 15px;
	margin-right: 5px;
	cursor: pointer;
	font-size: 10px;
	transition: background 0.3s ease, box-shadow 0.3s ease;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	background: linear-gradient(to bottom, #ffffff, #f0f0f0);
	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.05);
	border-right: 1px solid #ddd;
	border-bottom: none;
}

.tab-header .tab:last-child {
	border-right: none;
}

.tab-header .tab:hover {
	background: linear-gradient(to bottom, #f0f0f0, #e0e0e0);
}

.tab-header .tab.active {
	background: #fff;
	border-bottom: 1px solid #fff; /* blends into content */
	box-shadow: none;
	font-weight: bold;

}

.tab-content {
	width: 100%;
	padding: 20px;
	display: none;
}

.tab-content.active {
	display: block;
}

/* Responsive layout */
@media (max-width: 480px) {
	.tab-header .tab {
		flex: 1 1 100%;
		border-radius: 0;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}
}

/* end navigation tabs new style */
/* navigation tabs */
.nav-tabs .nav-link {
	color: #2d4051;
	background-color: #F3F3F3;
	border: 1px solid #CACACA;
	margin-right: 5px; /* Add space between tabs */
	margin-top: 10px; /* Add space between tabs */
}

.nav-tabs .nav-link.active {
	background-color: #c7d0e9;
	color: #2d4051;
}

.nav-tabs .nav-link:hover {
	border-color: #565656;
}
/* end of navigation tabs */

/* everything to do with import */
.importgotitle {
	text-align: center;
	font-size: 24px; /* Adjust the size as needed */
	font-weight: bold; /* Optional: Makes the title bold */
	margin-bottom: 20px; /* Optional: Adds space below the title */
}

.importgotext {
	font-size: 16px; /* Adjust the size as needed */
	line-height: 1.5; /* Improves readability */
	margin-bottom: 20px; /* Optional: Adds space below each paragraph */
}

.spinner {
	margin: 20px auto;
	width: 40px;
	height: 40px;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-top: 4px solid #2d4051;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	position: relative; /* Ensure the spinner is positioned correctly */
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.progress-bar {
	width: 33.33%; /* 1/3 of the screen width */
	background-color: #f3f3f3;
	border-radius: 5px;
	overflow: hidden;
	margin: 20px auto; /* Center the progress bar */
}

.progress-bar-fill {
	height: 20px;
	width: 0;
	background-color: #8fbc8f; /* Greenish-grey color */
	transition: width 0.25s;
}
/* end import */

.tab-content {
	display: flex;
	padding-left: 50px; /* Adjust the padding as needed */
}

.imagePreview{
	margin-top:10px; 
	margin-bottom: 5px;
}

form-control,
form-select,
textarea.form-control {
    font-size: 0.8rem;
    padding: 1px 3px !important;
    line-height: 1.1;
}


input.form-control,
input.form-control.readonly-field {
	font-size: 0.75rem !important;
	padding: 1px 3px !important;
	line-height: 1.0 !important;
}


#date_inserted.form-control.readonly-field,
#date_changed.form-control.readonly-field,
#loguser.form-control.readonly-field {
	background-color: #f8f9fa !important;
	border: 1px solid #ced4da !important;
	color: #6c757d !important;
}

/* Standardize select field layout including ds_ti_role */
select.form-control,
.multi-select-wrapper select {
	font-size: 0.75rem !important;
	padding: 1px 3px !important;
	line-height: 1.0 !important;
	border-radius: 3px !important;
	background-color: #fff !important;
	border: 1px solid #ccc !important;
	appearance: auto !important; /* ensures native dropdown arrow */
}

/* Match selected-item style to raplicobutton */
.selected-item {
	background-color: #72ade6 !important;
	color: white !important;
	font-size: 10px !important;
	padding: 4px 8px !important;
	border-radius: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	margin: 2px !important;
}

.selected-item span {
	margin-right: 6px;
	line-height: 1;
}


.remove-btn {
	background: none;
	border: none;
	color: white;
	font-weight: bold;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	padding: 0;
	height: 100%;
	display: flex;
	align-items: center;
}

.labellog {
	font-size: 0.7rem !important;
	font-weight: normal !important;
	margin-bottom: 2px !important;
	display: inline-block !important;
}

.input-group-text {
	height: 18px !important;
}
	
/* === Multi-select filter row: one line, same height (18px) === */
/* Keep everything local to the component to avoid side effects */
.multi-select-wrapper .input-group.input-group-sm > .input-group-text {
	font-size: 0.75rem !important;
	line-height: 1.0 !important;
	padding: 1px 6px !important;
	border: 1px solid var(--bs-border-color, #ced4da) !important;
	background-color: #f8f9fa; /* neutral label chip look */
	color: #212529;
	border-top-left-radius: 3px !important;
	border-bottom-left-radius: 3px !important;
}

/* Your inputs are already 18px high via form-style.css; this is just to ensure consistency */
.multi-select-wrapper .input-group.input-group-sm > .form-control {
	font-size: 0.75rem !important;
	line-height: 1.0 !important;
	padding: 1px 3px !important;
	border-left: 0 !important;	/* seamless join with input-group-text */
	border-right: 0 !important;	/* seamless join with button */
	border-radius: 0 !important;
}

/* multi-select-filter.css */
/* One-row, same-height filter label + input + button for .multi-select-wrapper */
.multi-select-wrapper .input-group.input-group-sm > .input-group-text {
	font-size: 0.75rem !important;
	line-height: 1.0 !important;
	padding: 1px 6px !important;
	border: 1px solid var(--bs-border-color, #ced4da) !important;
	background-color: #f8f9fa;
	color: #212529;
	border-top-left-radius: 3px !important;
	border-bottom-left-radius: 3px !important;
}
.multi-select-wrapper .input-group.input-group-sm > .form-control {
	font-size: 0.75rem !important;
	line-height: 1.0 !important;
	padding: 1px 3px !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-radius: 0 !important;
}
.multi-select-wrapper .input-group.input-group-sm > .btn-c7d0e9 {
	font-size: 0.75rem !important;
	line-height: 1.0 !important;
	padding: 1px 6px !important;
	border-top-right-radius: 3px !important;
	border-bottom-right-radius: 3px !important;
	border-left: 0 !important;
}
.btn-c7d0e9 {
	--bs-btn-color: #212529;
	--bs-btn-bg: #c7d0e9;
	--bs-btn-border-color: var(--bs-border-color, #ced4da);
	--bs-btn-hover-color: #212529;
	--bs-btn-hover-bg: #f8f9fa;
	--bs-btn-hover-border-color: var(--bs-border-color, #ced4da);
	--bs-btn-active-bg: #e9ecef;
	border-width: 1px;
}
[dir="rtl"] .multi-select-wrapper .input-group.input-group-sm > .input-group-text {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	border-top-right-radius: 3px !important;
	border-bottom-right-radius: 3px !important;
}
[dir="rtl"] .multi-select-wrapper .input-group.input-group-sm > .btn-c7d0e9 {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-top-left-radius: 3px !important;
	border-bottom-left-radius: 3px !important;
}

/* Target all file inputs */
input[type="file"]::file-selector-button {
	background-color: #c7d0e9; /* Blue background */
	color: #212529;
	border: none;
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
}

/* Hover effect */
input[type="file"]::file-selector-button:hover {
	background-color: #0056b3;
}

/* design section */
.design-group {
	border: 2px solid #bdbdbd;
	border-radius: 10px;
	margin-bottom: 16px;
	background: #fff;
}
.design-group-header {
	display: flex; align-items: center; gap: 8px;
	padding: 6px 10px; background: #f7f7f9; border-bottom: 1px solid #e5e5ea;
}
.design-grip { cursor: move; width: 16px; height: 16px; }

.design-group-title {
	flex: 1 1 auto; border: none; background: transparent; font-weight: 600;
	outline: none;
}

.design-group-body {
	min-height: 48px;
	padding: 10px;
	background: #fafafa;
	border-radius: 0 0 10px 10px;
}

.row.form-group.design-drop-row {
	min-height: 44px;
	border: 2px dashed #c7c7c7;
	border-radius: 8px;
	padding: 8px;
	margin: 6px 0;
	background: #fff;
}

.design-field {
	border: 1px dashed #888;
	padding: 5px;
	position: relative !important;
}

.design-handle {
	cursor: move;
	background: #ffc107;
	padding: 2px 6px;
	font-size: 12px;
	border-radius: 3px;
	position: absolute;
	top: -10px;
	left: 5px;
}

.design-tools {
	position: absolute;
	top: -10px;
	right: 5px;
}

.design-tools button {
	padding: 0 4px;
	margin-left: 2px;
	font-size: 10px;
}

/* tiny visual polish for the width mini-box */
.design-widthbox .btn-tool { padding: 0 6px; font-size: 11px; }
.design-widthbox .dw-val   { height: 18px; }

/* Make radio/checkbox rows look like a single unit */
.row.form-group.radio-group {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	margin: 6px 0;
	padding: 8px 10px;
}
.row.form-group, fieldset.form-group {
    overflow: visible !important;
}
.row.form-group.radio-group .design-tools { display: none !important; } /* extra guard */

/* Make sure the design container is visible the moment it's inserted */
#design-group-container,
#design-group-container .design-group,
#design-group-container .design-group-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Give rows a minimum height so they can't collapse visually */
#design-group-container .design-group-body > .row.form-group {
  min-height: 28px;
}

/* Optional: a faint background so you can SEE where it mounts */
#design-group-container { background: rgba(0,0,0,0.02); }

/* end of design section
