:root {
	--primary: #2563eb;
	--primary-hover: #1d4ed8;
	--bg-main: #ffffff;
	--card-bg: #ffffff;
	--card-border: #e2e8f0;
	--text-main: #1e293b;
	--text-muted: #64748b;
	--success: #10b981;
	--danger: #ef4444;
	--warning: #f59e0b;
	--info: #3b82f6;
	--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--radius: 0.75rem;
}

[data-bs-theme="dark"] {
	--bg-main: #0f172a;
	--card-bg: #1e293b;
	--card-border: #334155;
	--text-main: #f1f5f9;
	--text-muted: #94a3b8;
	--shadow: 0 10px 15px -3px rgb(0 0 0 / 0.3);
}

[data-bs-theme="dark"] .dark-bg-subtle {
	background-color: #1e293b !important;
	border-color: #334155 !important;
}

body {
	background-color: #ffffff !important;
	color: var(--text-main);
	font-size: 0.95rem;
	line-height: 1.6;
}

[data-bs-theme="dark"] body {
	background-color: var(--bg-main) !important;
}

.body-content {
	margin-top: 80px;
	padding-left: 15px;
	padding-right: 15px;
}

/* Global input styling */
.form-control {
	width: 100%;
}

.form-max-width {
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}

abbr {
	color: #3a88fe;
}

@media screen and (min-width: 768px) {
	.body-content {
		padding: 0;
	}
}

.form-control {
	margin-bottom: 8px;
}


.FullPageTable td {
	vertical-align: middle;
	padding: 2px 6px 2px 0;
}

label {
	padding-left: 6px;
}

.FullPageTable td input[type=text],
.FullPageTable td select,
.FullPageTable td textarea {
	width: 100%;
	vertical-align: top;
}

#ba_eu_cookie_law {
	width: 100%;
	float: left;
	padding: 3px;
	position: fixed;
	z-index: 10000;
	display: none;
	background: #fff
}

#ba_eu_cookie_law .ba_eu_cookie_law_text {
	text-align: center;
	font-family: "Times New Roman";
	font-size: 14px
}

.ba_eu_cookie_law_button a {
	border-radius: 4px
}

.ba_eu_cookie_law_button {
	text-align: center
}

#ba_eu_cookie_law.show_in_footer {
	bottom: 0;
	border-top: 3px solid;
	border-bottom: 0
}

#ba_eu_cookie_accept {
	padding: 5px 11px;
	border-radius: 9px;
	margin-right: 10px
}

.bootstrap #ba_eu_cookie_law .checkbox input[type="checkbox"] {
	margin-left: 0
}

#ba_eu_custom_css {
	width: 622px
}

#ba_eu_cookie_law {
	background: #FFFFFF;
	border-bottom-color: #444444 !important;
	border-bottom-style: solid;
}

#ba_eu_cookie_law .ba_eu_cookie_law_text {
	color: #000000;
}

#ba_eu_cookie_accept {
	color: #FFFFFF;
	background: #333333;
}

#ba_eu_cookie_more_info {
	color: #140805;
}

.nav-tabs.wizard {
	background-color: transparent;
	padding: 0;
	width: 100%;
	margin: 1em auto;
	border-radius: .25em;
	clear: both;
	border-bottom: none;
}

.nav-tabs.wizard li {
	width: 100%;
	float: none;
	margin-bottom: 3px;
}

.nav-tabs.wizard li>* {
	position: relative;
	padding: 1em .8em .8em 2.5em;
	color: #999999;
	background-color: #dedede;
	border-color: #dedede;
}

.nav-tabs.wizard li.completed>* {
	color: #fff !important;
	background-color: #96c03d !important;
	border-color: #96c03d !important;
	border-bottom: none !important;
}

.nav-tabs.wizard li.active>* {
	color: #fff !important;
	background-color: #2c3f4c !important;
	border-color: #2c3f4c !important;
	border-bottom: none !important;
}

.nav-tabs.wizard li::after:last-child {
	border: none;
}

.nav-tabs.wizard>li>a {
	opacity: 1;
	font-size: 14px;
}

.nav-tabs.wizard a:hover {
	color: #fff;
	background-color: #2c3f4c;
	border-color: #2c3f4c
}

span.nmbr {
	display: inline-block;
	padding: 10px 0 0 0;
	background: #ffffff;
	width: 35px;
	line-height: 100%;
	height: 35px;
	margin: auto;
	border-radius: 50%;
	font-weight: bold;
	font-size: 16px;
	color: #555;
	margin-bottom: 10px;
	text-align: center;
}

.no-padding {
	padding: 0;
}

@media(min-width:992px) {
	.nav-tabs.wizard li {
		position: relative;
		padding: 0;
		margin: 4px 4px 4px 0;
		width: 19.6%;
		float: left;
		text-align: center;
	}

	.nav-tabs.wizard li.active a {
		padding-top: 15px;
	}

	.nav-tabs.wizard li::after,
	.nav-tabs.wizard li>*::after {
		content: '';
		position: absolute;
		top: 1px;
		left: 100%;
		height: 0;
		width: 0;
		border: 45px solid transparent;
		border-right-width: 0;
		/*border-left-width: 20px*/
	}

	.nav-tabs.wizard li::after {
		z-index: 1;
		-webkit-transform: translateX(4px);
		-moz-transform: translateX(4px);
		-ms-transform: translateX(4px);
		-o-transform: translateX(4px);
		transform: translateX(4px);
		border-left-color: #fff;
		margin: 0
	}

	.nav-tabs.wizard li>*::after {
		z-index: 2;
		border-left-color: inherit
	}

	.nav-tabs.wizard>li:nth-of-type(1)>a {
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}

	.nav-tabs.wizard li:last-child a {
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
	}

	.nav-tabs.wizard li:last-child {
		margin-right: 0;
	}

	.nav-tabs.wizard li:last-child a:after,
	.nav-tabs.wizard li:last-child:after {
		content: "";
		border: none;
	}

	span.nmbr {
		display: block;
	}
}

/* Premium UI Components */
.premium-card {
	background-color: var(--card-bg);
	border: 1px solid var(--card-border);
	border-radius: var(--radius);
	padding: 1.5rem;
	box-shadow: var(--shadow-sm);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	display: flex;
	flex-direction: column;
	min-height: 320px;
	height: 100%;
	overflow: hidden;
}

.premium-card:hover {
	border-color: var(--success) !important;
	box-shadow: 0 0 12px rgba(16, 185, 129, 0.15);
}

.stat-card {
	padding: 1.25rem;
	border-radius: var(--radius);
	background: var(--card-bg);
	border-left: 4px solid var(--primary);
}

.badge-pill {
	padding: 0.35em 0.8em;
	font-weight: 500;
	border-radius: 50rem;
}

.btn-premium {
	background-color: var(--primary);
	color: white;
	border: none;
	border-radius: 0.5rem;
	padding: 0.6rem 1.25rem;
	font-weight: 600;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.btn-premium:hover {
	background-color: var(--primary-hover);
	color: white;
	transform: translateY(-1px);
}

.text-gradient {
	background: linear-gradient(135deg, var(--primary), #6366f1);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 800;
}

.info-box-premium {
	background-color: var(--card-bg);
	border: 1px solid var(--card-border);
	border-radius: 0.5rem;
	padding: 1rem;
	color: var(--text-main);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	box-shadow: var(--shadow-sm);
}

[data-bs-theme="dark"] .info-box-premium {
	background-color: var(--card-bg);
	border-color: var(--card-border);
	color: var(--text-main);
}

.accent-blue {
	border-top: 4px solid var(--primary);
}

.accent-warning {
	border-top: 4px solid var(--warning);
}

.accent-success {
	border-top: 4px solid var(--success);
}

[data-bs-theme="dark"] .landing-page {
	background-color: transparent;
}

.hero-image-container {
	background-color: transparent;
	padding: 0;
	box-shadow: none;
}

[data-bs-theme="dark"] .hero-image-container {
	background-color: transparent;
	/* No extra container background in dark mode */
}

/* Layout Utilities */
.company-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.status-indicator {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
}

.glass-effect {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-bs-theme="dark"] .glass-effect {
	background: rgba(30, 41, 59, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.feature-list-box {
	min-height: 110px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.text-truncate {
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

.d-contents {
	display: contents !important;
}

/* Normalize alignment for mixed <a> and <button> in button groups */
.btn-group .btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
}