.silk-html {
	height: 100dvh;
}

body:has(.silk-html) {
	overflow: hidden;
}

p:last-child {
	margin-bottom: 0px;
}

.screen {
	width: 100%;
	border-collapse: collapse;
}

body>.screen {
	position: fixed;
	top: 0px;
}

.silk-screen-header .navbar {
	margin: 0px;
	padding: 0px;
}

.silk-screen-header .navbar .container-fluid {
	padding: 0px 5px 0px 5px;
}

.silk-screen-header-title {
	padding-left: 10px;
}

/* Page ================================================================== */

.silk-page {
	overflow: hidden;
	padding: 0px;
	margin: 0px;
	vertical-align: top;
}

.silk-page .silk-navbar {
	text-align: center;
	padding: 2px;
	height: 44px;
	position: relative;
}

.silk-page .silk-navbar-title {
	width: 100%;
	position: absolute;
	top: 1px;
	left: 1px;
	height: 44px;
	line-height: 44px;
	font-size: 1.2rem;
	pointer-events: none;
}

.silk-page .silk-navbar-title * {
	pointer-events: auto;
}

.silk-page .silk-navbar-right,
.silk-page .silk-navbar-left,
.modal .silk-navbar-right {
	display: flex;
}

/* NavBar ================================================================== */

.modal .silk-navbar-right {
	margin-top: -6px;
}

.silk-navbar .nav-tabs-wrapper {
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	position: absolute;
	top: 2px;
}

.silk-navbar .nav-tabs-wrapper::-webkit-scrollbar {
	display: none;
}

.silk-navbar .nav {
	padding: 3px 0px 0px 5px;
	border: none;
	display: -webkit-box;
	display: -moz-box;
}

.silk-navbar .nav .nav-item:has(.active) {
	margin-right: 5px;
}

.silk-navbar .nav .active {
	border: 0px;
	padding: 8px 15px;
}

.silk-navbar .nav a {
	border-bottom: none;
	padding: 8px 12px;
	margin: 0px !important;
	color: white;
}

.silk-navbar-left {
	margin-left: 2px;
}

/* NavTabs ================================================================== */

.silk-nav-tabs {
	min-height: 41px !important;
}

.silk-tab-pane {
	margin-top: 5px;
}

.silk-nav-tabs .nav-item:first-child {
	margin-left: 10px;
}

.silk-nav-tabs .nav-item {
	margin-right: 4px;
}

.silk-nav-tabs button {
	background-color: transparent;
}

.silk-nav-tabs button:focus {
	outline: none !important;
}


/* Top Bar Table header ======================================================== */

.silk-top-bar .silk-table-header-wrapper:first-child th {
	border-top: 0px;
}

/* Content ================================================================== */

.silk-content {
	width: 100%;
	margin-top: 4px;
	padding-bottom: 10px;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
}

.silk-content-scroll-hidden {
	overflow-y: auto;
}

.silk-content-scroll {
	overflow-y: scroll;
	/* has to be scroll, not auto */
}

.silk-content>.silk-form {
	padding: 5px 5px 20px 5px;
}

.silk-content p {
	padding: 0px 15px;
}

/* Confirmation ================================================================== */

.silk-confirmation {
	position: relative;
}

.silk-confirmation-option {
	position: absolute;
}

/* Form ================================================================== */

.silk-form-dialog {
	padding: 6px;
	border: 0px;
}

.silk-form-dialog-top {
	padding-bottom: 30px;
	border: 0px;
}

.silk-form-dialog-bottom {
	padding-top: 30px;
	border: 0px;
}

.silk-form-dialog-title {
	font-size: 1.3em;
}

.silk-form-dialog-title .silk-button-icon {
	font-size: 1em;
}

.modal-content .silk-form-dialog {
	padding: 15px;
}

.silk-cover {
	top: 0px;
	height: 100vh;
	background-color: black;
	opacity: 0.5;
	position: absolute;
	z-index: 1000;
}

/* Input ================================================================== */

input[type="checkbox"] {
	width: 18px;
	height: 18px;
}

.silk-input-box-options {
	pointer-events: none;
}

.silk-input-box-options input {
	pointer-events: auto;
}

.silk-input-box-checkbox.silk-full-width {
	padding: 3px 3px 3px 25px;
	text-indent: -23px;
}

.silk-input-box-checkbox.silk-full-width .silk-input-text {
	padding-left: 25px;
}

.silk-input-box-checkbox.silk-partial-width {
	padding: 0px 0px 0px 10px;
}

.silk-input-box-checkbox input {
	margin-right: 5px;
}

.silk-input-label-margin {
	padding-bottom: 2px;
	display: block;
}

.silk-input-text {
	text-align: left;
	height: auto;
}

.silk-input-text-scroll {
	display: block;
	overflow: auto;
}

.silk-input-text-html {
	padding-top: 10px !important;
}

.silk-input-text p {
	padding: 0px;
}

.silk-input-description {
	font-size: 0.85em;
	padding: 0px 0px 2px 0px;
	opacity: 0.6;
}

.silk-input-drop {
	margin-top: 4px;
	position: relative;
	height: 50px;
}

.silk-input-drop p {
	margin: 0;
	text-align: center;
	position: absolute;
	top: 50%;
	width: 100%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 0.8em;
}

.silk-input-progress {
	margin-top: 4px;
}

.silk-input-error {
	border-bottom-width: 2px;
}

.silk-input-select {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj4KPHBhdGggZmlsbD0iIzk5OTk5OSIgIGQ9Ik01MzAuMSwzMTkuNmMwLDEwLjItMy41LDE4LjgtMTAuNiwyNS45TDMzMi4yLDUzMi44CgljLTcuMyw3LjMtMTYsMTAuOS0yNi4yLDEwLjljLTEwLjQsMC0xOS0zLjYtMjUuOS0xMC45TDkyLjgsMzQ1LjVjLTcuMy02LjktMTAuOS0xNS41LTEwLjktMjUuOWMwLTEwLjIsMy42LTE4LjksMTAuOS0yNi4yCglsMjEuMy0yMS42YzcuNS03LjEsMTYuMi0xMC42LDI2LjItMTAuNmMxMC4yLDAsMTguOCwzLjUsMjUuOSwxMC42TDMwNiw0MTEuN2wxMzkuOC0xMzkuOGM3LjEtNy4xLDE1LjctMTAuNiwyNS45LTEwLjYKCWMxMCwwLDE4LjcsMy41LDI2LjIsMTAuNmwyMS42LDIxLjZDNTI2LjUsMzAwLjksNTMwLjEsMzA5LjcsNTMwLjEsMzE5LjZ6Ii8+Cjwvc3ZnPgo=");
	padding-right: 2.25rem;
	background-repeat: no-repeat;
	background-position: center right 4px;
	-webkit-background-size: 1.4625rem 1.4625rem;
	background-size: 1.4625rem 1.4625rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.silk-input-value[type=button] {
	background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIwLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIKCSBpZD0ic3ZnMzAwMSIgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiIHNvZGlwb2RpOmRvY25hbWU9ImNoZXZyb25fZG93bl9mb250X2F3ZXNvbWUuc3ZnIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDYxMiA3OTIiCgkgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjEyIDc5MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiM5OTk5OTk7fQo8L3N0eWxlPgo8c29kaXBvZGk6bmFtZWR2aWV3ICBib3JkZXJjb2xvcj0iIzY2NjY2NiIgYm9yZGVyb3BhY2l0eT0iMSIgZ3JpZHRvbGVyYW5jZT0iMTAiIGd1aWRldG9sZXJhbmNlPSIxMCIgaWQ9Im5hbWVkdmlldzMwMDciIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMDEiIGlua3NjYXBlOmN4PSI4OTYiIGlua3NjYXBlOmN5PSI4OTYiIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIiBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIiBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjAiIGlua3NjYXBlOndpbmRvdy13aWR0aD0iNjQwIiBpbmtzY2FwZTp3aW5kb3cteD0iMCIgaW5rc2NhcGU6d2luZG93LXk9IjI1IiBpbmtzY2FwZTp6b29tPSIwLjEzMTY5NjQzIiBvYmplY3R0b2xlcmFuY2U9IjEwIiBwYWdlY29sb3I9IiNmZmZmZmYiIHNob3dncmlkPSJmYWxzZSI+Cgk8L3NvZGlwb2RpOm5hbWVkdmlldz4KPGcgaWQ9ImczMDAzIiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSw2OC4zMzg5ODMsMTEzMy41NTkzKSI+Cgk8cGF0aCBpZD0icGF0aDMwMDUiIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIGNsYXNzPSJzdDAiIGQ9Ik0xNDAuOCwxMDEwLjhjMTIuMSwwLDIyLjMtNC4yLDMwLjctMTIuNmwyMjIuMy0yMjIuMwoJCWM4LjctOC43LDEzLTE5LDEzLTMxLjFjMC0xMi4zLTQuMy0yMi41LTEzLTMwLjdMMTcxLjUsNDkxLjZjLTguMi04LjctMTguNC0xMy0zMC43LTEzYy0xMi4xLDAtMjIuNCw0LjMtMzEuMSwxM2wtMjUuNiwyNS4zCgkJYy04LjQsOC45LTEyLjYsMTkuMi0xMi42LDMxLjFjMCwxMi4xLDQuMiwyMi4zLDEyLjYsMzAuN2wxNjYsMTY2bC0xNjYsMTY2Yy04LjQsOC40LTEyLjYsMTguNy0xMi42LDMwLjcKCQljMCwxMS44LDQuMiwyMi4yLDEyLjYsMzEuMWwyNS42LDI1LjZDMTE4LjYsMTAwNi41LDEyOC45LDEwMTAuOCwxNDAuOCwxMDEwLjh6Ii8+CjwvZz4KPC9zdmc+Cg==');
	padding-right: 2.25rem;
	background-repeat: no-repeat;
	background-position: center right 4px;
	-webkit-background-size: 1.4625rem 1.4625rem;
	background-size: 1.4625rem 1.4625rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-align: left;
}

.silk-input-value label {
	padding: 0px;
	margin: 0px;
}

.silk-input-box-radio label {
	padding-left: 25px !important;
	text-indent: -25px !important;
}

.silk-input-box-radio label input {
	margin: 8px 10px 2px 0px;
}

.silk-input-box-options label {
	padding-left: 25px !important;
	text-indent: -25px !important;
}

.silk-input-box-options label input {
	margin: 8px 10px 2px 0px;
}


.silk-input-type-code {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
}

.silk-input-code {
	padding: 4px !important;
}

.form-control.silk-input-text,
.form-control.silk-input-value {
	height: auto !important;
}

/* Group =============================================================== */

.silk-group:first-child {
	margin: 0px 0px 10px 0px;
	padding: 0px !important;
}

.silk-group {
	margin: 5px 0px 5px 0px;
	padding: 0px !important;
}

.silk-group-title {
	padding-bottom: 5px;
}

.silk-group-body {
	padding-left: 15px;
	clear: both;
}

/* Table ================================================================== */

.table {
	border-collapse: separate;
	border-spacing: 0;
}

.silk-table-first-on-page {
	margin-top: 0px;
}

.silk-table-first-on-page-header th {
	border-top: 0px;
}

.silk-table-header {
	flex-wrap: nowrap;
	margin: 0px;
}

.table .silk-table-header th {
	text-overflow: ellipsis;
	box-sizing: initial;
	padding: 0.70rem;
}

.table .silk-table-header th>* {
	padding: 0.1rem;
}

.table-sm .silk-table-header th {
	padding: 0.4rem;
}

/*
.silk-top-bar .silk-table-header th {
	border-top: 10px solid red !important;
	border-bottom: 10px solid red !important;
}
*/

.silk-table-sticky-header {
	position: sticky;
}

.silk-table-top-header {
	top: 0px;
	padding: 4px;
}

.silk-table-data td {
	vertical-align: middle;
	box-sizing: initial;
}

.silk-table-data td[fullwrap] {
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}

.silk-table-empty {
	padding: 0 10px 10px 10px;
}

.silk-tree-icon {
	position: relative;
	top: 0px;
}

.silk-title-label {
	font-size: 1.2em;
}

.silk-table-title {
	padding-top: 4px !important;
}

.silk-table-title .btn {
	font-size: 0.95em;
	padding: 2px;
	margin: 2px;
}

.silk-table-title div {
	padding: 0px !important;
}

.table-search {
	margin: 0px !important;
	padding: 4px 2px !important;
}

.table-search div {
	width: 35px;
	max-width: 35px;
	border-left: none !important;
}

.table-search input {
	border-right: 0px !important;
}

.table-search input:focus {
	outline: none !important;
}

/* Modal ================================================================== */

.modal-width {
	min-width: 99.5%;
	margin: 0.5% auto auto auto;
}

.modal-full {
	min-width: 100%;
	margin: 0;
}

.modal-full .modal-content {
	min-height: 100vh;
	border-radius: 0px;
	border: 0px;
}

.modal-no-margin {
	padding: 0px;
}

.modal .close {
	padding-top: 20px;
	padding-right: 15px;
	padding-left: 5px;
}

.modal .btn-link {
	color: none;
}

/* Button ================================================================== */

.btn {
	margin: 2px;
}

.silk-button-icon {
	margin: 2px 4px;
}

.silk-button-label {
	margin-left: 2px;
	margin-right: 5px;
}

.silk-page .silk-navbar-button,
.silk-page .silk-navbar-button:hover,
.silk-page .silk-navbar-button:focus {
	margin: 0px 2px 0px 2px;
	text-decoration: none;
	font-size: 1.2rem; 
	border: 0px !important;
}

.navbar .silk-navbar-button,
.navbar .silk-navbar-button:hover,
.navbar .silk-navbar-button:focus {
	margin: 0px 2px 0px 2px;
	text-decoration: none;
	font-size: 1rem; 
	border: 0px !important;
}

.navbar .silk-navbar-button:is(.btn-link),
.navbar .silk-navbar-button:hover:is(.btn-link),
.navbar .silk-navbar-button:focus:is(.btn-link) {
	padding-left: 0px;
	padding-right: 0px;
}

.modal .silk-navbar-button,
.modal .silk-navbar-button:hover,
.modal .silk-navbar-button:focus {
	padding: 2px 0px 0px 0px;
	margin: 0px;
	text-decoration: none;
}

.silk-home-button,
.silk-logout-button {
	cursor: pointer;
}

/* Tile ================================================================== */

.silk-tile-cell {
	cursor: pointer;
}

/* Other ================================================================== */

.preloader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-repeat: no-repeat;
	background-position: center;
}

.cke,
.cke_reset {
	border-radius: 4px;
}

.cke_top {
	border-radius: 4px 4px 0px 0px;
}

.swal2-actions .btn {
	margin: 4px;
}

.silk-help {
	display: none;
	margin: 15px;
}

.silk-help-icon {
	vertical-align: top;
}

.silk-help-content {
	opacity: 0.65;
	font-size: 0.9em;
	padding-left: 5px !important;
}

.silk-hidden {
	display: none;
}

.silk-chart-title {
	text-align: center;
	font-size: 1.2em;
}

.silk-chart-middle-title {
	position: absolute;
	width: 100%;
	text-align: center;
	left: 0px;
}

.full-wrap {
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}

/* Sweetalert 2 ================================================================== */

.custom-swal-popup {
  background-color: var(--bs-body-bg) !important;   /* Dark slate background */
  color: var(--bs-body-color) !important;              /* Light text color */
}

.custom-swal-title {
  color: var(--bs-body-color) !important;
  font-weight: bold;
}

.custom-swal-text {
  color: var(--bs-body-color) !important;
}

/* Code Editor ================================================================== */

.cm-content {
	white-space: pre-wrap !important;
}

.noselect {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Old versions of Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	user-select: none;
	/* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

/* Quill Editor =============================================================== */

/* fixing icon positions */
.ql-toolbar.ql-snow .ql-picker-label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ql-toolbar.ql-snow .ql-picker-label svg {
  position: static;   /* cancel Quill's absolute/top:50%/margin-top hack */
  margin-top: 0;
}
/* End - fixing icon positions */

.ql-editor {
	font-size: var(--bs-body-font-size);
	padding: 0px;
}

.ql-toolbar.ql-snow {
	padding: 2px;
	border-top: 0px;
	border-left: 0px;
	border-right: 0px;
}

.ql-container {
	border: 0px !important;
}

.ql-editor p, .ql-editor ol, .ql-editor pre, .ql-editor blockquote,
.ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
	margin: 10px;
	padding: 0px;
}

.ql-editor table p, .ql-editor table ol, 
.ql-editor table h1, .ql-editor table h2, .ql-editor table h3, .ql-editor table h4, .ql-editor table h5, .ql-editor table h6 {
	margin: 5px;
}

.ql-fullscreen {
	position: relative; /* establish a positioning context */
}

.ql-fullscreen::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
	height: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23444' d='M5 5h5v2H7v3H5V5zm14 0v5h-2V7h-3V5h5zM5 19v-5h2v3h3v2H5zm14 0h-5v-2h3v-3h2v5z'/></svg>");
}

.ql-fullscreen:hover::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2306c' d='M5 5h5v2H7v3H5V5zm14 0v5h-2V7h-3V5h5zM5 19v-5h2v3h3v2H5zm14 0h-5v-2h3v-3h2v5z'/%3E%3C/svg%3E");
}

/* Full-screen mode overrides */

.silk-input-type-html {
	padding: 0px !important;
}

.silk-input-type-html.fullscreen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	max-width: 100%;
	height: 100vh !important;
	margin: 0px;
	padding: 0px;
	border: 0px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
}

.silk-input-type-html.fullscreen .ql-container {
	flex-grow: 1;
	height: calc(100% - 30px) !important;
}

/**
 * Quill (Snow theme) toolbar icon recoloring
 * ============================================================================
 * Icons are inline SVGs whose paths are tagged with .ql-stroke and/or
 * .ql-fill. Recolor by overriding stroke/fill on those classes rather than
 * relying on `color` inheritance, since Quill's own CSS sets stroke/fill
 * explicitly.
 *
 * Load this AFTER quill.snow.css, or increase specificity, since none of
 * Quill's own rules use !important.
 *
 * To scope these rules to a single editor instance on a page with multiple
 * QuillEditor instances, prefix every selector below with that instance's
 * wrapper id/class, e.g.:
 *   #sql-editor-wrapper .ql-toolbar .ql-stroke { ... }
 * instead of the global .ql-toolbar.ql-snow used here.
 */

/* ---------------------------------------------------------------------- */
/* 1. Plain toggle buttons (bold, italic, link, image, lists, table, etc.) */
/* ---------------------------------------------------------------------- */

/* Default (inactive) icon color */
.ql-toolbar.ql-snow .ql-stroke {
	stroke: var(--bs-body-color);
}
.ql-toolbar.ql-snow .ql-fill {
	fill: var(--bs-body-color);
}

/* Hover state */
.ql-toolbar.ql-snow button:hover .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow button:hover .ql-fill {
	fill: var(--bs-primary);
}

/* Active/toggled-on state (e.g. bold currently applied to the selection) */
.ql-toolbar.ql-snow button.ql-active .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow button.ql-active .ql-fill {
	fill: var(--bs-primary);
}

/* ---------------------------------------------------------------------- */
/* 2. Picker label (the visible closed-state icon, e.g. the align button) */
/* ---------------------------------------------------------------------- */
.ql-toolbar.ql-snow .ql-picker-label, .ql-toolbar.ql-snow .ql-picker-item{
	color: var(--bs-body-color);
}

/* Default (inactive) icon color — picker markup lives in a <span>,      */
/* not a <button>, so it needs its own selector separate from section 1. */
.ql-toolbar.ql-snow .ql-picker-label .ql-stroke {
	stroke: var(--bs-body-color);
}
.ql-toolbar.ql-snow .ql-picker-label .ql-fill {
	fill: var(--bs-body-color);
}

/* Hover, and while the dropdown is open (Quill adds .ql-expanded to the   */
/* parent .ql-picker while its .ql-picker-options list is showing)        */
.ql-toolbar.ql-snow .ql-picker-label:hover .ql-stroke,
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow .ql-picker-label:hover .ql-fill,
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
	fill: rvar(--bs-primary);
}

/* Persistent highlight once a non-default value is selected, so the icon */
/* stays colored after the dropdown closes (not just while hovered/open). */
/* data-value="" corresponds to Quill's default left-align, so this only */
/* fires for center/right/justify. VERIFY in devtools that your Quill     */
/* version actually sets data-value on .ql-picker-label — this attribute  */
/* name/behavior has shifted slightly between Quill 1.x and 2.x.          */
.ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label[data-value]:not([data-value=""]) .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow .ql-picker.ql-align .ql-picker-label[data-value]:not([data-value=""]) .ql-fill {
	fill: var(--bs-primary);
}


/* ---------------------------------------------------------------------- */
/* 3. Picker dropdown list items (the expanded options, e.g. align's       */
/*    left/center/right/justify list)                                     */
/* ---------------------------------------------------------------------- */

/* Default (inactive) icon color inside the dropdown */
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item .ql-stroke {
	stroke: var(--bs-body-color);
}
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item .ql-fill {
	fill: var(--bs-body-color);
}

/* Hover on a dropdown item */
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item:hover .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item:hover .ql-fill {
	fill: var(--bs-primary);
}

/* The currently-selected alignment, highlighted/checked in the open list */
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item.ql-selected .ql-stroke {
	stroke: var(--bs-primary);
}
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item.ql-selected .ql-fill {
	fill: var(--bs-primary);
}

.ql-picker-options {
	background-color: var(--bs-body-bg) !important;
}

/*
 * Image link dialog
 */
.ql-image-modal {
	color: var(--bs-dark);
}

/*
 * Table related
 */

.ql-editor td {
	border-color: var(--bs-border-color) !important;
	border-style: dashed;
}

.ql-toolbar.ql-snow .ql-table-better path{
	fill: var(--bs-body-color) !important;
}

.ql-toolbar.ql-snow .ql-table-button-disabled {
	background-color: var(--bs-bg-color) !important;
}

.ql-table-properties-form, .ql-table-dropdown-list {
	color: var(--bs-black) !important;
}



