/**
 * Data Silo — Lab Instrument Design System
 * Scoped to body.datasilo-lab. Dense, high-contrast, no soft SaaS chrome.
 * NOTE: do NOT set body font-size (breaks Metronic rem layout) and do NOT
 * use universal * { box-shadow:none } (collapses elevated panels / drawers).
 */
body.datasilo-lab {
	--ds-bg: #F1F5F9;
	--ds-panel: #FFFFFF;
	--ds-border: #E2E8F0;
	--ds-border-strong: #CBD5E1;
	--ds-primary: #0F766E;
	--ds-primary-soft: rgba(15, 118, 110, 0.12);
	--ds-success: #059669;
	--ds-success-soft: rgba(5, 150, 105, 0.12);
	--ds-warning: #D97706;
	--ds-warning-soft: rgba(217, 119, 6, 0.12);
	--ds-danger: #DC2626;
	--ds-danger-soft: rgba(220, 38, 38, 0.12);
	--ds-text: #0F172A;
	--ds-text-secondary: #475569;
	--ds-text-muted: #64748B;
	--ds-surface: #F8FAFC;
	--ds-hover: #F1F5F9;
	--ds-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--ds-radius: 4px;
	--ds-radius-tag: 3px;

	--bs-body-bg: var(--ds-bg);
	--bs-body-color: var(--ds-text);
	--bs-primary: var(--ds-primary);
	--bs-primary-rgb: 15, 118, 110;
	--bs-success: var(--ds-success);
	--bs-success-rgb: 5, 150, 105;
	--bs-warning: var(--ds-warning);
	--bs-warning-rgb: 217, 119, 6;
	--bs-danger: var(--ds-danger);
	--bs-danger-rgb: 220, 38, 38;
	--bs-secondary: var(--ds-text-secondary);
	--bs-border-color: var(--ds-border);
	--bs-border-radius: var(--ds-radius);
	--bs-border-radius-sm: var(--ds-radius);
	--bs-border-radius-lg: var(--ds-radius);
	--bs-border-radius-xl: var(--ds-radius);
	--bs-border-radius-2xl: var(--ds-radius);
	--bs-border-radius-pill: var(--ds-radius-tag);
	--bs-box-shadow: none;
	--bs-box-shadow-sm: none;
	--bs-box-shadow-lg: none;
	--bs-link-color: var(--ds-primary);
	--bs-link-hover-color: #0d9488;
	--bs-gray-100: var(--ds-surface);
	--bs-gray-200: var(--ds-border);
	--bs-gray-500: var(--ds-text-muted);
	--bs-gray-600: var(--ds-text-secondary);
	--bs-gray-700: var(--ds-text-secondary);
	--bs-gray-800: var(--ds-text);
	--bs-gray-900: var(--ds-text);
	--bs-app-toolbar-base-bg-color: var(--ds-bg);
	--bs-app-toolbar-base-box-shadow: none;

	background-color: var(--ds-bg) !important;
	color: var(--ds-text);
	-webkit-font-smoothing: antialiased;
}

/* Kill soft elevation on known soft classes only */
body.datasilo-lab .shadow,
body.datasilo-lab .shadow-sm,
body.datasilo-lab .shadow-lg,
body.datasilo-lab .shadow-none,
body.datasilo-lab .card,
body.datasilo-lab .card-flush,
body.datasilo-lab .dropdown-menu,
body.datasilo-lab .modal-content,
body.datasilo-lab .menu-sub,
body.datasilo-lab .app-header,
body.datasilo-lab .app-toolbar,
body.datasilo-lab .app-sidebar {
	box-shadow: none !important;
}

/* Radius cap on interactive / panel surfaces (not universal *) */
body.datasilo-lab .rounded,
body.datasilo-lab .rounded-1,
body.datasilo-lab .rounded-2,
body.datasilo-lab .rounded-3,
body.datasilo-lab .rounded-4,
body.datasilo-lab .rounded-pill,
body.datasilo-lab .card,
body.datasilo-lab .card-flush,
body.datasilo-lab .modal-content,
body.datasilo-lab .dropdown-menu,
body.datasilo-lab .form-control,
body.datasilo-lab .form-select,
body.datasilo-lab .input-group-text,
body.datasilo-lab .btn,
body.datasilo-lab .badge,
body.datasilo-lab .alert {
	border-radius: var(--ds-radius) !important;
}

body.datasilo-lab .rounded-circle,
body.datasilo-lab .symbol-circle,
body.datasilo-lab .symbol-circle .symbol-label {
	border-radius: var(--ds-radius) !important;
}

body.datasilo-lab table,
body.datasilo-lab .table,
body.datasilo-lab .table th,
body.datasilo-lab .table td,
body.datasilo-lab .table > :not(caption) > * > * {
	border-radius: 0 !important;
}

/* Page chrome — flat lab surface, not floating soft panels */
body.datasilo-lab #kt_app_root,
body.datasilo-lab #kt_app_page,
body.datasilo-lab #kt_app_main,
body.datasilo-lab .app-content,
body.datasilo-lab .app-wrapper {
	background-color: var(--ds-bg) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.datasilo-lab #kt_app_main {
	min-height: calc(100vh - 70px);
}

body.datasilo-lab #kt_app_main > .d-flex.flex-column.flex-column-fluid {
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
}

body.datasilo-lab #kt_app_header,
body.datasilo-lab .app-header {
	background-color: var(--ds-panel) !important;
	border-bottom: 1px solid var(--ds-border) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Metronic "hat" strip under the top bar */
body.datasilo-lab .app-header-separator {
	display: none !important;
	height: 0 !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Kill the empty right "aside" rail (lone ? feedback icon).
 * It reserves horizontal space and draws the weird lined strip above main content.
 */
body.datasilo-lab {
	--bs-app-aside-width: 0px !important;
	--bs-app-aside-width-actual: 0px !important;
	--bs-app-aside-gap-start: 0px !important;
	--bs-app-aside-gap-end: 0px !important;
}

body.datasilo-lab #kt_app_aside,
body.datasilo-lab .app-aside {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.datasilo-lab #kt_app_aside_mobile_toggle {
	display: none !important;
}

body.datasilo-lab .app-wrapper,
body.datasilo-lab .app-main,
body.datasilo-lab #kt_app_main,
body.datasilo-lab .app-header,
body.datasilo-lab #kt_app_header,
body.datasilo-lab .app-toolbar,
body.datasilo-lab #kt_app_toolbar,
body.datasilo-lab .app-footer,
body.datasilo-lab #kt_app_footer {
	margin-right: 0 !important;
	right: 0 !important;
	padding-right: 0 !important;
}

body.datasilo-lab #kt_app_footer,
body.datasilo-lab .app-footer {
	background-color: var(--ds-panel) !important;
	border-top: 1px solid var(--ds-border) !important;
	border-radius: 0 !important;
}

body.datasilo-lab .app-toolbar,
body.datasilo-lab #kt_app_toolbar {
	background-color: transparent !important;
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding-top: 1rem !important;
	padding-bottom: 0.5rem !important;
	align-items: flex-start !important;
	min-height: auto !important;
}

body.datasilo-lab .app-toolbar-wrapper {
	align-items: flex-start !important;
}

body.datasilo-lab .page-title {
	gap: 0.25rem !important;
}

body.datasilo-lab .app-content {
	padding-top: 0.5rem !important;
	padding-bottom: 1.5rem !important;
	flex: 1 1 auto !important;
}

body.datasilo-lab h1.page-heading {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
	color: var(--ds-text) !important;
	line-height: 1.35 !important;
	display: block !important;
}

body.datasilo-lab .card-title,
body.datasilo-lab h3.card-title,
body.datasilo-lab .card-header h3,
body.datasilo-lab .card-header h5 {
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
	color: var(--ds-text) !important;
	line-height: 1.3 !important;
}

body.datasilo-lab .breadcrumb {
	margin-top: 0.15rem !important;
}

body.datasilo-lab .breadcrumb,
body.datasilo-lab .text-muted,
body.datasilo-lab .fs-7,
body.datasilo-lab .fs-8 {
	color: var(--ds-text-muted) !important;
}

body.datasilo-lab .text-gray-500,
body.datasilo-lab .text-gray-600 {
	color: var(--ds-text-muted) !important;
}

body.datasilo-lab .text-gray-700,
body.datasilo-lab .text-gray-800 {
	color: var(--ds-text-secondary) !important;
}

body.datasilo-lab .text-gray-900 {
	color: var(--ds-text) !important;
}

body.datasilo-lab .text-primary,
body.datasilo-lab a.text-primary {
	color: var(--ds-primary) !important;
}

/* Sidebar */
body.datasilo-lab #kt_app_sidebar,
body.datasilo-lab .app-sidebar {
	background-color: var(--ds-panel) !important;
	border-right: 1px solid var(--ds-border) !important;
}

body.datasilo-lab .app-sidebar-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

body.datasilo-lab #kt_app_sidebar_toggle {
	margin-top: 0 !important;
	align-items: center !important;
	justify-content: center !important;
}

body.datasilo-lab #kt_app_sidebar_toggle i {
	margin-top: 0 !important;
}

body.datasilo-lab[data-kt-app-sidebar-minimize="on"] #kt_app_header_logo,
html[data-kt-app-sidebar-minimize="on"] #kt_app_header_logo {
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
	justify-content: center !important;
	width: 90px !important;
	min-width: 90px !important;
}

body.datasilo-lab[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar_toggle,
html[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar_toggle {
	margin: 0 !important;
}

body.datasilo-lab #kt_app_sidebar .menu-heading,
body.datasilo-lab #kt_app_sidebar .sidebar-section-title .menu-heading,
body.datasilo-lab #kt_app_sidebar .text-primary.menu-heading {
	color: var(--ds-primary) !important;
	font-size: 11px !important;
	letter-spacing: 0.06em;
}

body.datasilo-lab #kt_app_sidebar .menu-item {
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.datasilo-lab #kt_app_sidebar .menu-item.pt-2,
body.datasilo-lab #kt_app_sidebar .menu-item.pt-4 {
	padding-top: 0.55rem !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link {
	padding: 0.4rem 0.65rem !important;
	min-height: 34px;
	border-radius: 0 !important;
	border-left: 3px solid transparent;
	color: var(--ds-text-secondary) !important;
	margin: 0 !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link .menu-title {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: inherit !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link .menu-icon,
body.datasilo-lab #kt_app_sidebar .menu-link .menu-icon i,
body.datasilo-lab #kt_app_sidebar .menu-link .menu-icon-mso {
	font-size: 18px !important;
	width: 20px !important;
	color: var(--ds-text-muted) !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link:hover {
	background-color: var(--ds-hover) !important;
	color: var(--ds-text) !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link.active {
	background-color: var(--ds-surface) !important;
	border-left-color: var(--ds-primary) !important;
	color: var(--ds-text) !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link.active .menu-title {
	font-weight: 600 !important;
	color: var(--ds-text) !important;
}

body.datasilo-lab #kt_app_sidebar .menu-link.active .menu-icon,
body.datasilo-lab #kt_app_sidebar .menu-link.active .menu-icon i,
body.datasilo-lab #kt_app_sidebar .menu-link.active .menu-icon-mso {
	color: var(--ds-primary) !important;
}

body.datasilo-lab #kt_app_sidebar .fs-8.text-gray-500 {
	font-size: 10px !important;
	letter-spacing: 0.05em;
	padding-left: 0.65rem;
}

/* Cards / panels */
body.datasilo-lab .card,
body.datasilo-lab .card-flush {
	background-color: var(--ds-panel) !important;
	border: 1px solid var(--ds-border) !important;
	border-radius: var(--ds-radius) !important;
	box-shadow: none !important;
}

body.datasilo-lab .card-header {
	background-color: var(--ds-panel) !important;
	border-bottom: 1px solid var(--ds-border) !important;
	min-height: 48px !important;
	padding: 12px 16px !important;
}

body.datasilo-lab .card-body {
	padding: 14px 16px !important;
}

body.datasilo-lab .card-body.p-0 {
	padding: 0 !important;
}

body.datasilo-lab .card-footer {
	background-color: var(--ds-surface) !important;
	border-top: 1px solid var(--ds-border) !important;
	padding: 10px 16px !important;
}

/* Metric / accent cards */
body.datasilo-lab .card.ds-accent-storage,
body.datasilo-lab .ds-metric-storage {
	border-top: 3px solid #64748B !important;
}

body.datasilo-lab .card.ds-accent-security,
body.datasilo-lab .ds-metric-security {
	border-top: 3px solid var(--ds-primary) !important;
}

body.datasilo-lab .card.ds-accent-action,
body.datasilo-lab .ds-metric-action {
	border-top: 3px solid var(--ds-warning) !important;
}

/* Shrink KPI numbers only — never global .fs-1/.fs-2/.fs-3 (breaks icons/titles) */
body.datasilo-lab .card .fs-2hx,
body.datasilo-lab .card .fs-2tx,
body.datasilo-lab .card .fs-2x,
body.datasilo-lab .card .fs-3x,
body.datasilo-lab .ds-accent-storage .fs-2hx,
body.datasilo-lab .ds-accent-security .fs-2hx,
body.datasilo-lab .ds-accent-action .fs-2hx {
	font-size: 1.35rem !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	line-height: 1.25 !important;
}

body.datasilo-lab .card [class*="fw-bolder"].fs-2,
body.datasilo-lab .card [class*="fw-bold"].fs-2hx {
	font-variant-numeric: tabular-nums;
}

/* Tables */
body.datasilo-lab .table {
	--bs-table-bg: var(--ds-panel);
	--bs-table-striped-bg: var(--ds-surface);
	--bs-table-hover-bg: var(--ds-hover);
	border-color: var(--ds-border) !important;
	font-size: 13px;
	margin-bottom: 0;
}

body.datasilo-lab .table > thead {
	background-color: var(--ds-surface) !important;
}

body.datasilo-lab .table > thead th,
body.datasilo-lab .table thead th,
body.datasilo-lab table.dataTable thead th {
	background-color: var(--ds-surface) !important;
	border-bottom: 1px solid var(--ds-border-strong) !important;
	border-top: none !important;
	color: var(--ds-text-muted) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 8px 12px !important;
	vertical-align: middle !important;
	white-space: nowrap;
}

body.datasilo-lab .table > tbody > tr > td,
body.datasilo-lab .table td {
	padding: 7px 12px !important;
	height: 38px;
	vertical-align: middle !important;
	border-bottom: 1px solid var(--ds-border) !important;
	color: var(--ds-text) !important;
	font-variant-numeric: tabular-nums;
}

body.datasilo-lab .table-hover > tbody > tr:hover > *,
body.datasilo-lab .table tbody tr:hover > td {
	background-color: var(--ds-hover) !important;
}

body.datasilo-lab .table-striped > tbody > tr:nth-of-type(odd) > * {
	background-color: transparent !important;
}

body.datasilo-lab .table-row-dashed tr,
body.datasilo-lab .table.gy-4 td,
body.datasilo-lab .table.gy-5 td {
	padding-top: 7px !important;
	padding-bottom: 7px !important;
}

/* Badges — bordered soft fill, not pastel pills */
body.datasilo-lab .badge {
	border-radius: var(--ds-radius-tag) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	padding: 0.2rem 0.45rem !important;
	letter-spacing: 0.02em;
	border: 1px solid transparent;
	line-height: 1.25 !important;
}

body.datasilo-lab .badge-light-success,
body.datasilo-lab .badge.badge-success,
body.datasilo-lab .bg-light-success {
	background-color: var(--ds-success-soft) !important;
	color: var(--ds-success) !important;
	border-color: var(--ds-success) !important;
}

body.datasilo-lab .badge-light-warning,
body.datasilo-lab .badge.badge-warning,
body.datasilo-lab .bg-light-warning {
	background-color: var(--ds-warning-soft) !important;
	color: var(--ds-warning) !important;
	border-color: var(--ds-warning) !important;
}

body.datasilo-lab .badge-light-danger,
body.datasilo-lab .badge.badge-danger,
body.datasilo-lab .bg-light-danger {
	background-color: var(--ds-danger-soft) !important;
	color: var(--ds-danger) !important;
	border-color: var(--ds-danger) !important;
}

body.datasilo-lab .badge-light-primary,
body.datasilo-lab .badge.badge-primary,
body.datasilo-lab .bg-light-primary {
	background-color: var(--ds-primary-soft) !important;
	color: var(--ds-primary) !important;
	border-color: var(--ds-primary) !important;
}

body.datasilo-lab .badge-light-info,
body.datasilo-lab .badge-light-secondary,
body.datasilo-lab .badge-light,
body.datasilo-lab .bg-light-info,
body.datasilo-lab .bg-light {
	background-color: var(--ds-hover) !important;
	color: var(--ds-text-secondary) !important;
	border-color: var(--ds-border-strong) !important;
}

body.datasilo-lab .bg-success,
body.datasilo-lab .text-bg-success {
	background-color: var(--ds-success) !important;
}

body.datasilo-lab .bg-danger,
body.datasilo-lab .text-bg-danger {
	background-color: var(--ds-danger) !important;
}

body.datasilo-lab .bg-warning,
body.datasilo-lab .text-bg-warning {
	background-color: var(--ds-warning) !important;
}

body.datasilo-lab .bg-primary,
body.datasilo-lab .text-bg-primary {
	background-color: var(--ds-primary) !important;
}

/* Buttons */
body.datasilo-lab .btn {
	border-radius: var(--ds-radius) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 0.4rem 0.75rem !important;
	box-shadow: none !important;
	min-height: 34px;
}

body.datasilo-lab .btn-sm {
	padding: 0.28rem 0.55rem !important;
	font-size: 12px !important;
	min-height: 30px;
}

body.datasilo-lab .btn-primary,
body.datasilo-lab .btn-primary:focus,
body.datasilo-lab .btn-primary:active {
	background-color: var(--ds-primary) !important;
	border-color: var(--ds-primary) !important;
	color: #fff !important;
}

body.datasilo-lab .btn-primary:hover {
	background-color: #0d9488 !important;
	border-color: #0d9488 !important;
	color: #fff !important;
}

body.datasilo-lab .btn-light-primary,
body.datasilo-lab .btn-outline-primary {
	background-color: transparent !important;
	color: var(--ds-primary) !important;
	border: 1px solid var(--ds-primary) !important;
}

body.datasilo-lab .btn-light,
body.datasilo-lab .btn-secondary {
	background-color: var(--ds-panel) !important;
	color: var(--ds-text) !important;
	border: 1px solid var(--ds-border-strong) !important;
}

body.datasilo-lab .btn-success {
	background-color: var(--ds-success) !important;
	border-color: var(--ds-success) !important;
}

body.datasilo-lab .btn-warning {
	background-color: var(--ds-warning) !important;
	border-color: var(--ds-warning) !important;
	color: #fff !important;
}

body.datasilo-lab .btn-danger {
	background-color: var(--ds-danger) !important;
	border-color: var(--ds-danger) !important;
}

body.datasilo-lab .btn-check:checked + .btn,
body.datasilo-lab .btn.active {
	box-shadow: none !important;
}

/* Forms */
body.datasilo-lab .form-control,
body.datasilo-lab .form-select,
body.datasilo-lab .input-group-text {
	border: 1.5px solid var(--ds-border-strong) !important;
	border-radius: var(--ds-radius) !important;
	background-color: var(--ds-panel) !important;
	color: var(--ds-text) !important;
	font-size: 13px !important;
	min-height: 34px;
	padding: 0.35rem 0.65rem !important;
	box-shadow: none !important;
}

body.datasilo-lab .form-control:focus,
body.datasilo-lab .form-select:focus {
	border-color: var(--ds-primary) !important;
	box-shadow: 0 0 0 2px var(--ds-primary-soft) !important;
}

body.datasilo-lab .form-label,
body.datasilo-lab label.form-label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ds-text-secondary) !important;
	margin-bottom: 0.25rem !important;
}

body.datasilo-lab .form-check-input:checked {
	background-color: var(--ds-primary) !important;
	border-color: var(--ds-primary) !important;
}

/*
 * Lab toggles — compact, squared. Kill Metronic/Bootstrap "Roblox pill" switches.
 * (input::before is unreliable on checkboxes — use square SVG thumbs instead)
 */
body.datasilo-lab .form-switch {
	padding-left: 2.35rem !important;
	min-height: 1.1rem !important;
	margin-bottom: 0 !important;
}

body.datasilo-lab .form-switch .form-check-input {
	width: 1.85rem !important;
	height: 1rem !important;
	margin-left: -2.35rem !important;
	margin-top: 0.1rem !important;
	border: 1.5px solid var(--ds-border-strong) !important;
	border-radius: 2px !important;
	background-color: var(--ds-hover) !important;
	background-repeat: no-repeat !important;
	background-position: left 1px center !important;
	background-size: 0.65rem 0.65rem !important;
	/* white square thumb */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect width='10' height='10' rx='1' fill='%23ffffff' stroke='%23CBD5E1' stroke-width='1'/%3E%3C/svg%3E") !important;
	box-shadow: none !important;
	cursor: pointer;
	flex-shrink: 0;
	--bs-form-switch-bg: transparent;
	transition: background-position 0.12s ease, background-color 0.12s ease, border-color 0.12s ease;
}

body.datasilo-lab .form-switch .form-check-input:focus {
	box-shadow: 0 0 0 2px var(--ds-primary-soft) !important;
	border-color: var(--ds-primary) !important;
}

body.datasilo-lab .form-switch .form-check-input:checked {
	background-color: var(--ds-primary) !important;
	border-color: var(--ds-primary) !important;
	background-position: right 1px center !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect width='10' height='10' rx='1' fill='%23ffffff'/%3E%3C/svg%3E") !important;
}

body.datasilo-lab .form-switch .form-check-input:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Consent matrix rows: denser, less toy-card */
body.datasilo-lab .dna-consent-row {
	padding: 0.65rem 0.75rem !important;
	margin-bottom: 0.45rem !important;
	border-radius: var(--ds-radius) !important;
	border-style: solid !important;
}

body.datasilo-lab .dna-consent-row-inner {
	column-gap: 0.65rem !important;
}

body.datasilo-lab .dna-consent-row .duo-code,
body.datasilo-lab .dna-consent-row code,
body.datasilo-lab .dna-consent-row .font-monospace {
	font-family: var(--ds-mono) !important;
	font-size: 11px !important;
}

/* Alerts / notices */
body.datasilo-lab .alert {
	border: 1px solid var(--ds-border) !important;
	border-radius: var(--ds-radius) !important;
	padding: 10px 14px !important;
	background-color: var(--ds-surface) !important;
	color: var(--ds-text-secondary) !important;
}

body.datasilo-lab .alert-light-primary,
body.datasilo-lab .alert-primary {
	background-color: var(--ds-primary-soft) !important;
	border-color: var(--ds-primary) !important;
	color: var(--ds-text) !important;
}

body.datasilo-lab .alert-light-warning,
body.datasilo-lab .alert-warning {
	background-color: var(--ds-warning-soft) !important;
	border-color: var(--ds-warning) !important;
}

body.datasilo-lab .alert-light-success,
body.datasilo-lab .alert-success {
	background-color: var(--ds-success-soft) !important;
	border-color: var(--ds-success) !important;
}

body.datasilo-lab .alert-light-danger,
body.datasilo-lab .alert-danger {
	background-color: var(--ds-danger-soft) !important;
	border-color: var(--ds-danger) !important;
}

body.datasilo-lab .notice,
body.datasilo-lab .bg-light,
body.datasilo-lab .bg-light-primary {
	background-color: var(--ds-surface) !important;
	border-color: var(--ds-border) !important;
}

/* Tabs */
body.datasilo-lab .nav-line-tabs .nav-link,
body.datasilo-lab .nav-tabs .nav-link {
	border-radius: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--ds-text-muted) !important;
	padding: 0.55rem 0.85rem !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
}

body.datasilo-lab .nav-line-tabs .nav-link.active,
body.datasilo-lab .nav-tabs .nav-link.active {
	color: var(--ds-primary) !important;
	border-bottom-color: var(--ds-primary) !important;
	background: transparent !important;
}

/* Progress bars */
body.datasilo-lab .progress {
	background-color: var(--ds-hover) !important;
	border-radius: var(--ds-radius-tag) !important;
	height: 8px !important;
}

body.datasilo-lab .progress-bar {
	background-color: var(--ds-primary) !important;
	border-radius: var(--ds-radius-tag) !important;
}

/* Modals */
body.datasilo-lab .modal-content {
	border: 1px solid var(--ds-border) !important;
	border-radius: var(--ds-radius) !important;
}

body.datasilo-lab .modal-header,
body.datasilo-lab .modal-footer {
	border-color: var(--ds-border) !important;
	padding: 12px 16px !important;
}

body.datasilo-lab .modal-body {
	padding: 12px 16px !important;
}

/* Technical / crypto identifiers */
body.datasilo-lab .font-monospace,
body.datasilo-lab code,
body.datasilo-lab .ds-mono,
body.datasilo-lab [data-ds-mono],
body.datasilo-lab .vault-id,
body.datasilo-lab .hash-id,
body.datasilo-lab .drs-id,
body.datasilo-lab .duo-code,
body.datasilo-lab #debug-json-pre,
body.datasilo-lab pre {
	font-family: var(--ds-mono) !important;
	font-size: 11.5px !important;
	font-variant-numeric: tabular-nums;
}

body.datasilo-lab code,
body.datasilo-lab .ds-mono,
body.datasilo-lab [data-ds-mono],
body.datasilo-lab .vault-id,
body.datasilo-lab .hash-id,
body.datasilo-lab .drs-id,
body.datasilo-lab .duo-code {
	background-color: var(--ds-hover) !important;
	border: 1px solid var(--ds-border) !important;
	border-radius: var(--ds-radius-tag) !important;
	padding: 0.1rem 0.35rem !important;
	color: var(--ds-text) !important;
}

/* Dense logs / activity */
body.datasilo-lab .timeline,
body.datasilo-lab .timeline-label,
body.datasilo-lab .log-row,
body.datasilo-lab .request-item,
body.datasilo-lab #requestList .request-item {
	border-color: var(--ds-border) !important;
}

body.datasilo-lab #requestList .request-item {
	padding: 10px 14px !important;
}

body.datasilo-lab #requestList .request-item.active,
body.datasilo-lab #requestList .request-item.bg-light {
	background-color: var(--ds-surface) !important;
}

body.datasilo-lab .separator,
body.datasilo-lab .border,
body.datasilo-lab .border-bottom,
body.datasilo-lab .border-top,
body.datasilo-lab .border-end,
body.datasilo-lab .border-start {
	border-color: var(--ds-border) !important;
}

/* DNA consent matrix embedded in monetization */
body.datasilo-lab .dna-consent-row,
body.datasilo-lab .dna-consent-row-inner {
	border-color: var(--ds-border) !important;
	border-radius: var(--ds-radius) !important;
}

body.datasilo-lab .dna-consent-summary-value {
	font-size: 1.25rem !important;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--ds-text);
}

/* Reduce Metronic vertical fluff — gentle, not crushing */
body.datasilo-lab .mb-10,
body.datasilo-lab .mb-9 {
	margin-bottom: 1.5rem !important;
}

body.datasilo-lab .mb-8,
body.datasilo-lab .mb-7 {
	margin-bottom: 1.15rem !important;
}

body.datasilo-lab .g-6,
body.datasilo-lab .g-5,
body.datasilo-lab .g-xl-8 {
	--bs-gutter-y: 1rem;
	--bs-gutter-x: 1rem;
}

body.datasilo-lab .border-dashed {
	border-style: solid !important;
}

/* Symbol avatars: square lab style */
body.datasilo-lab .symbol .symbol-label {
	border: 1px solid var(--ds-border) !important;
}

/* DataTables */
body.datasilo-lab .dataTables_wrapper .dataTables_filter input,
body.datasilo-lab .dataTables_wrapper .dataTables_length select {
	border: 1.5px solid var(--ds-border-strong) !important;
	border-radius: var(--ds-radius) !important;
}

/* Swal toast inside datasilo */
body.datasilo-lab .swal2-popup {
	border: 1px solid var(--ds-border) !important;
	border-radius: var(--ds-radius) !important;
	box-shadow: none !important;
}

/* Utility: financial tabular nums */
body.datasilo-lab .text-success,
body.datasilo-lab .text-danger,
body.datasilo-lab .text-warning {
	font-variant-numeric: tabular-nums;
}

body.datasilo-lab .text-success { color: var(--ds-success) !important; }
body.datasilo-lab .text-danger { color: var(--ds-danger) !important; }
body.datasilo-lab .text-warning { color: var(--ds-warning) !important; }

/* Access-requests workspace keeps borders clean */
body.datasilo-lab .access-requests-workspace {
	border: 1px solid var(--ds-border) !important;
}

/* Override dna-consent soft radii when embedded in Data Silo */
body.datasilo-lab .dna-consent-row,
body.datasilo-lab .dna-consent-row-inner,
body.datasilo-lab .dna-consent-row-prices input,
body.datasilo-lab #prefs-research .form-control,
body.datasilo-lab #prefs-exclusivity .form-control,
body.datasilo-lab #prefs-exclusivity .form-select {
	border-radius: var(--ds-radius) !important;
	box-shadow: none !important;
}

body.datasilo-lab .fs-2hx,
body.datasilo-lab .fs-2x {
	font-variant-numeric: tabular-nums;
}

body.datasilo-lab .menu-icon .ki-outline,
body.datasilo-lab .menu-icon .ki-duotone,
body.datasilo-lab .menu-icon i {
	font-size: 1.15rem !important;
}

body.datasilo-lab .input-group-lg > .form-control,
body.datasilo-lab .input-group-lg > .input-group-text,
body.datasilo-lab .form-control-lg {
	min-height: 38px !important;
	font-size: 14px !important;
	padding: 0.4rem 0.7rem !important;
}

body.datasilo-lab .border-dashed {
	border-style: solid !important;
}
