/* This stylesheet will be common across all the modules */

/* Our default colors. These should be overridden by individual modules as needed */
:root {
	--primary-color: #007AFF;
	--primary-contrast-color: white;
	--secondary-color: slategray;
	--secondary-contrast-color: white;
	--dark-color: #334155;
	--dark-contrast-color: #DDD;
	--danger-color: crimson;
	--danger-contrast-color: white;
	--warning-color: darkorange;
	--warning-contrast-color: white;
	--success-color: darkgreen;
	--success-contrast-color: white;
	--info-color: darkcyan;
	--info-contrast-color: white;

	--accent-color: var(--primary-color);
}

.custom-background {
	background: linear-gradient(225deg, #631683 0.000%, #7f237e 14.286%, #9e3980 28.571%, #bc5588 42.857%, #d57496 57.143%, #e494a8 71.429%, #e7b1be 85.714%, #dec8d6 100.000%);
}


/* Modify our native checkboxes (to make them slightly bigger than default) */
.custom-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.custom-checkbox input[type="checkbox"] {
	width: 1.5em;
	height: 1.5em;
	accent-color: var(--primary-color);
}

/* Making our dialog boxes more or less univerally styled across all our modules */
dialog::backdrop {
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(2.5px);
}
.dialog-drag-handle button[aria-label="Close"] {
	display: inline-flex;
	flex: 0 0 2rem;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	border-radius: 0.375rem;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 1rem;
	line-height: 1;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.dialog-drag-handle button[aria-label="Close"]:hover {
	background: rgba(255, 255, 255, 0.1);
}
.dialog-drag-handle button[aria-label="Close"]:focus-visible {
	outline: 1px solid rgba(255, 255, 255, 0.4);
	outline-offset: 1px;
}

/* This is a fix for the date input fields on mobile devices (or at least of Safari/iOS) */
input[type="date"] {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}
input[type="date"]::-webkit-date-and-time-value {
	min-width: 0;
	text-align: left;
}


/* Universal styling */

/* Adding .fit to a table column auto-shrinks the column width */
table td.fit,
table th.fit {
	white-space: nowrap;
	width: 1%;
}

/* Just a cool clip effect - the background shows through text that is clipped */
.colorful-heading {
  background: linear-gradient(
    90deg,
    #ff3d81,
    #8b5cf6,
    #22d3ee
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}


/* Our font we use to style text as credit card numbers, or numbers at the bottom of a check */
@font-face {
  font-family: "MICR";
  src: url("../../../media/fonts/micrenc.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	display: block; /* This blocks the display until the font is loaded so we don't get sudden font-switching */
}
.check-number {
  font-family: "MICR", monospace;
}
.cardholder-name {
  font-family: "OCR-B", "Roboto Mono", monospace;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}


/* Scrollbar styling for our scrollable areas */
.scroll-area {
  /* Firefox: invisible while idle */
  scrollbar-width: thin;
  /* scrollbar-color: transparent transparent; */
  scrollbar-color: white transparent;
}

.scroll-area.is-scrolling {
  scrollbar-color: white transparent;
}

/* Chrome, Safari, and Edge */
.scroll-area::-webkit-scrollbar {
  width: 8px;
}

.scroll-area::-webkit-scrollbar-track {
  background: transparent;
}

.scroll-area::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 9999px;
}

.scroll-area.is-scrolling::-webkit-scrollbar-thumb {
  background: white;
}


.main-section {
  scrollbar-width: thin;
  scrollbar-color: var(--primary-color, #999) transparent;
}
.main-section::-webkit-scrollbar {
  width: 8px;
}
.main-section::-webkit-scrollbar-track {
  background: transparent;
}
.main-section::-webkit-scrollbar-thumb {
  background: var(--primary-color, #999);
  border-radius: 9999px;
}
