/* inter-latin-wght-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(https://cdn.jsdelivr.net/fontsource/fonts/inter:vf@latest/latin-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* All @import statements must come before @layer declarations */
*,
::after,
::before,
::backdrop,
::file-selector-button {
	box-sizing: border-box;
	margin: 0;
	border: 0 solid;
	padding: 0;
	caret-color: var(--color-text);
		/* outline: rosybrown solid 2px;
		background-color: rgba(0, 255, 0, 0.1); */
}
*:focus-visible {
	outline: var(--primary-background) solid 2px;
	outline-offset: 2px;
}
::-moz-selection {
	background-color: var(--accent-surface);
	color: var(--accent-foreground);
}
::selection {
	background-color: var(--accent-surface);
	color: var(--accent-foreground);
}
:-moz-focusring {
	outline: auto;
}
:-moz-ui-invalid {
	box-shadow: none;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}
::-webkit-search-decoration {
	-webkit-appearance: none;
}
html,
:host {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	background-color: var(--background);
	color: var(--foreground);
	-moz-tab-size: 4;
	  -o-tab-size: 4;
	     tab-size: 4;
	-moz-text-size-adjust: 100%;
	     text-size-adjust: 100%;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
	interpolate-size: allow-keywords;
}
@media (prefers-reduced-motion: no-preference) {
html,
:host {
		scroll-behavior: smooth
}
	}
body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	min-height: 100dvh;
	line-height: 1.5;
	font-size: 1rem;
}
button,
input,
label {
	line-height: 1.1;
}
h1, h2, h3, h4, h5, h6, figure, blockquote, dl, dd {
	margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
}
p,
li,
figcaption {
	text-wrap: pretty;
}
a:not([class]) {
	-webkit-text-decoration-skip: ink;
	        text-decoration-skip-ink: auto;
	-webkit-text-decoration: none;
	text-decoration: none;
	color: currentColor;
}
td,
math,
time,
[datetime],
[data-time],
[data-date],
time[datetime*=":"] {
	font-feature-settings: tabular-nums lining-nums;
	font-variant-numeric: tabular-nums lining-nums;
}
:target {
	scroll-margin-block: 48px;
	scroll-margin-block: 6rlh;
}
@media (prefers-reduced-motion: no-preferences) {
	html {
		scroll-behavior: smooth;
	}
}
img,
picture {
	max-width: 100%;
	display: block;
}
input,
button,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
}
:first-child {
	margin-top: 0;
}
textarea:not([rows]) {
	min-height: 10em;
}
:root {
	--neutral-000: rgb(255, 255, 255);
	--neutral-50: #f8f9fa;
}
:root {
		--neutral-100: rgb(239, 246, 253);
	}
:root {
		--neutral-150: rgb(224, 231, 239);
	}
:root {
		--neutral-200: rgb(208, 216, 224);
	}
:root {
		--neutral-250: rgb(193, 201, 210);
	}
:root {
		--neutral-300: rgb(178, 187, 196);
	}
:root {
		--neutral-350: rgb(163, 173, 182);
	}
:root {
		--neutral-400: rgb(149, 158, 169);
	}
:root {
		--neutral-450: rgb(135, 145, 155);
	}
:root {
		--neutral-500: rgb(121, 131, 142);
	}
:root {
		--neutral-550: rgb(107, 118, 129);
	}
:root {
		--neutral-600: rgb(93, 104, 116);
	}
:root {
		--neutral-650: rgb(80, 92, 104);
	}
:root {
		--neutral-700: rgb(67, 79, 91);
	}
:root {
		--neutral-750: rgb(55, 67, 79);
	}
:root {
		--neutral-800: rgb(43, 55, 68);
	}
:root {
		--neutral-850: rgb(31, 43, 56);
	}
:root {
		--neutral-900: rgb(20, 32, 45);
	}
[data-validation="success"] {--csstools-light-dark-toggle--0: var(--csstools-color-scheme--light) var(--success-400);color: var(--csstools-light-dark-toggle--0, var(--success-600));}
@supports (color: light-dark(red, red)) {
[data-validation="success"] {color: light-dark(var(--success-600), var(--success-400));}
}
[data-validation="error"] {--csstools-light-dark-toggle--1: var(--csstools-color-scheme--light) var(--error-400);color: var(--csstools-light-dark-toggle--1, var(--error-600));}
@supports (color: light-dark(red, red)) {
[data-validation="error"] {color: light-dark(var(--error-600), var(--error-400));}
}
[data-validation="warning"] {--csstools-light-dark-toggle--2: var(--csstools-color-scheme--light) var(--warning-400);color: var(--csstools-light-dark-toggle--2, var(--warning-600));}
@supports (color: light-dark(red, red)) {
[data-validation="warning"] {color: light-dark(var(--warning-600), var(--warning-400));}
}
[data-validation="info"] {--csstools-light-dark-toggle--3: var(--csstools-color-scheme--light) var(--info-400);color: var(--csstools-light-dark-toggle--3, var(--info-600));}
@supports (color: light-dark(red, red)) {
[data-validation="info"] {color: light-dark(var(--info-600), var(--info-400));}
}
:root {
		--slate-50: rgb(249, 252, 255)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-50: rgb(255, 255, 255)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-50: rgb(255, 255, 255)
;
		--info-50: rgb(240, 249, 255)
;
		--error-50: rgb(255, 255, 255)
;
		--warning-50: rgb(255, 255, 255)
;
		--success-50: rgb(255, 255, 255)
;
		--slate-100: rgb(232, 237, 242)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-100: rgb(190, 253, 248)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-100: rgb(238, 246, 255)
;
		--info-100: rgb(212, 237, 255)
;
		--error-100: rgb(255, 241, 239)
;
		--warning-100: rgb(250, 248, 199)
;
		--success-100: rgb(219, 255, 235)
;
		--slate-150: rgb(216, 222, 227)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-150: rgb(158, 240, 234)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-150: rgb(208, 230, 255)
;
		--info-150: rgb(182, 224, 255)
;
		--error-150: rgb(255, 218, 211)
;
		--warning-150: rgb(234, 232, 169)
;
		--success-150: rgb(181, 245, 210)
;
		--slate-200: rgb(200, 207, 212)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-200: rgb(124, 226, 221)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-200: rgb(177, 215, 255)
;
		--info-200: rgb(151, 212, 255)
;
		--error-200: rgb(255, 193, 183)
;
		--warning-200: rgb(219, 215, 139)
;
		--success-200: rgb(152, 231, 190)
;
		--slate-250: rgb(185, 192, 198)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-250: rgb(83, 213, 207)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-250: rgb(146, 199, 255)
;
		--info-250: rgb(117, 199, 255)
;
		--error-250: rgb(255, 167, 154)
;
		--warning-250: rgb(203, 198, 108)
;
		--success-250: rgb(122, 217, 170)
;
		--slate-300: rgb(169, 177, 184)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-300: rgb(0, 199, 193)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-300: rgb(112, 182, 255)
;
		--info-300: rgb(76, 186, 255)
;
		--error-300: rgb(249, 144, 128)
;
		--warning-300: rgb(189, 182, 73)
;
		--success-300: rgb(88, 202, 150)
;
		--slate-350: rgb(154, 163, 170)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-350: rgb(0, 182, 176)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-350: rgb(82, 165, 248)
;
		--info-350: rgb(17, 172, 250)
;
		--error-350: rgb(238, 122, 106)
;
		--warning-350: rgb(174, 165, 20)
;
		--success-350: rgb(43, 188, 130)
;
		--slate-400: rgb(139, 148, 157)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-400: rgb(0, 164, 159)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-400: rgb(50, 148, 240)
;
		--info-400: rgb(0, 158, 231)
;
		--error-400: rgb(227, 99, 83)
;
		--warning-400: rgb(157, 149, 0)
;
		--success-400: rgb(0, 171, 115)
;
		--slate-450: rgb(125, 135, 143)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-450: rgb(0, 147, 143)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-450: rgb(0, 131, 228)
;
		--info-450: rgb(0, 143, 211)
;
		--error-450: rgb(216, 74, 60)
;
		--warning-450: rgb(140, 133, 0)
;
		--success-450: rgb(0, 153, 102)
;
		--slate-500: rgb(111, 121, 130)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-500: rgb(0, 131, 127)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-500: rgb(0, 116, 203)
;
		--info-500: rgb(0, 129, 191)
;
		--error-500: rgb(204, 44, 33)
;
		--warning-500: rgb(124, 117, 0)
;
		--success-500: rgb(0, 135, 89)
;
		--slate-550: rgb(97, 107, 117)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-550: rgb(0, 115, 111)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-550: rgb(0, 100, 178)
;
		--info-550: rgb(0, 116, 172)
;
		--error-550: rgb(188, 0, 0)
;
		--warning-550: rgb(108, 102, 0)
;
		--success-550: rgb(0, 118, 77)
;
		--slate-600: rgb(83, 94, 104)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-600: rgb(0, 99, 95)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-600: rgb(0, 85, 153)
;
		--info-600: rgb(0, 102, 153)
;
		--error-600: rgb(162, 0, 0)
;
		--warning-600: rgb(92, 87, 0)
;
		--success-600: rgb(0, 101, 66)
;
		--slate-650: rgb(70, 81, 92)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-650: rgb(0, 83, 80)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-650: rgb(0, 71, 130)
;
		--info-650: rgb(0, 89, 134)
;
		--error-650: rgb(136, 0, 0)
;
		--warning-650: rgb(77, 72, 0)
;
		--success-650: rgb(0, 84, 54)
;
		--slate-700: rgb(57, 69, 79)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-700: rgb(0, 68, 66)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-700: rgb(0, 57, 108)
;
		--info-700: rgb(0, 76, 116)
;
		--error-700: rgb(112, 0, 0)
;
		--warning-700: rgb(62, 58, 0)
;
		--success-700: rgb(0, 68, 43)
;
		--slate-750: rgb(44, 57, 67)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-750: rgb(0, 54, 52)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-750: rgb(0, 43, 87)
;
		--info-750: rgb(0, 64, 98)
;
		--error-750: rgb(88, 0, 0)
;
		--warning-750: rgb(48, 45, 0)
;
		--success-750: rgb(0, 53, 32)
;
		--slate-800: rgb(32, 45, 56)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-800: rgb(0, 40, 38)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-800: rgb(0, 31, 64)
;
		--info-800: rgb(0, 52, 81)
;
		--error-800: rgb(66, 0, 0)
;
		--warning-800: rgb(34, 32, 0)
;
		--success-800: rgb(0, 38, 22)
;
		--slate-850: rgb(21, 33, 44)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-850: rgb(0, 27, 26)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-850: rgb(0, 19, 43)
;
		--info-850: rgb(0, 40, 65)
;
		--error-850: rgb(45, 0, 0)
;
		--warning-850: rgb(21, 20, 0)
;
		--success-850: rgb(0, 24, 13)
;
		--slate-900: rgb(10, 23, 33)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-900: rgb(0, 15, 14)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-900: rgb(0, 8, 24)
;
		--info-900: rgb(0, 29, 49)
;
		--error-900: rgb(25, 0, 0)
;
		--warning-900: rgb(9, 8, 0)
;
		--success-900: rgb(0, 11, 5)
;
		--slate-950: rgb(2, 12, 23)
;
		/* --teal-$(i): oklch(calc(0.99 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.30)    190.77); */ /* ORIGINAL */
		 --teal-950: rgb(0, 4, 4)
; /* VARIAÇÃO DO ORIGINAL */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    255.77); */ /* AZUL escuro */
		/* --teal-$(i): oklch(calc(0.80 - (($i -    80) / 900) * 0.94) calc(   0.06 + (($i - 90)/900) * 0.40)    22.77); /* VERMELHO */ /* VERMELHO */
		--primary-950: rgb(0, 2, 7)
;
		--info-950: rgb(0, 19, 33)
;
		--error-950: rgb(7, 0, 0)
;
		--warning-950: rgb(2, 2, 0)
;
		--success-950: rgb(0, 3, 1)

}
@supports (color: color(display-p3 0 0 0%)) {
:root {
		--slate-50: rgb(249, 252, 255)
;
		--info-50: rgb(240, 249, 255)
;
		--primary-100: rgb(238, 246, 255)
;
		--info-100: rgb(212, 237, 255)
;
		--error-100: rgb(255, 241, 239)
;
		--success-100: rgb(219, 255, 235)
;
		--primary-150: rgb(208, 230, 255)
;
		--info-150: rgb(182, 224, 255)
;
		--error-150: rgb(255, 218, 211)
;
		--primary-200: rgb(177, 215, 255)
;
		--info-200: rgb(151, 212, 255)
;
		--error-200: rgb(255, 193, 183)
;
		--primary-250: rgb(146, 199, 255)
;
		--info-250: rgb(117, 199, 255)
;
		--error-250: rgb(255, 167, 154)
;
		 --teal-300: rgb(0, 199, 193)
;
		--primary-300: rgb(112, 182, 255)
;
		--info-300: rgb(76, 186, 255)
;
		 --teal-350: rgb(0, 182, 176)
;
		 --teal-400: rgb(0, 164, 159)
;
		--info-400: rgb(0, 158, 231)
;
		--warning-400: rgb(157, 149, 0)
;
		--success-400: rgb(0, 171, 115)
;
		 --teal-450: rgb(0, 147, 143)
;
		--primary-450: rgb(0, 131, 228)
;
		--info-450: rgb(0, 143, 211)
;
		--warning-450: rgb(140, 133, 0)
;
		--success-450: rgb(0, 153, 102)
;
		 --teal-500: rgb(0, 131, 127)
;
		--primary-500: rgb(0, 116, 203)
;
		--info-500: rgb(0, 129, 191)
;
		--warning-500: rgb(124, 117, 0)
;
		--success-500: rgb(0, 135, 89)
;
		 --teal-550: rgb(0, 115, 111)
;
		--primary-550: rgb(0, 100, 178)
;
		--info-550: rgb(0, 116, 172)
;
		--error-550: rgb(188, 0, 0)
;
		--warning-550: rgb(108, 102, 0)
;
		--success-550: rgb(0, 118, 77)
;
		 --teal-600: rgb(0, 99, 95)
;
		--primary-600: rgb(0, 85, 153)
;
		--info-600: rgb(0, 102, 153)
;
		--error-600: rgb(162, 0, 0)
;
		--warning-600: rgb(92, 87, 0)
;
		--success-600: rgb(0, 101, 66)
;
		 --teal-650: rgb(0, 83, 80)
;
		--primary-650: rgb(0, 71, 130)
;
		--info-650: rgb(0, 89, 134)
;
		--error-650: rgb(136, 0, 0)
;
		--warning-650: rgb(77, 72, 0)
;
		--success-650: rgb(0, 84, 54)
;
		 --teal-700: rgb(0, 68, 66)
;
		--primary-700: rgb(0, 57, 108)
;
		--info-700: rgb(0, 76, 116)
;
		--error-700: rgb(112, 0, 0)
;
		--warning-700: rgb(62, 58, 0)
;
		--success-700: rgb(0, 68, 43)
;
		 --teal-750: rgb(0, 54, 52)
;
		--primary-750: rgb(0, 43, 87)
;
		--info-750: rgb(0, 64, 98)
;
		--error-750: rgb(88, 0, 0)
;
		--warning-750: rgb(48, 45, 0)
;
		--success-750: rgb(0, 53, 32)
;
		 --teal-800: rgb(0, 40, 38)
;
		--primary-800: rgb(0, 31, 64)
;
		--info-800: rgb(0, 52, 81)
;
		--error-800: rgb(66, 0, 0)
;
		--warning-800: rgb(34, 32, 0)
;
		--success-800: rgb(0, 38, 22)
;
		 --teal-850: rgb(0, 27, 26)
;
		--primary-850: rgb(0, 19, 43)
;
		--info-850: rgb(0, 40, 65)
;
		--error-850: rgb(45, 0, 0)
;
		--warning-850: rgb(21, 20, 0)
;
		--success-850: rgb(0, 24, 13)
;
		 --teal-900: rgb(0, 15, 14)
;
		--primary-900: rgb(0, 8, 24)
;
		--info-900: rgb(0, 29, 49)
;
		--error-900: rgb(25, 0, 0)
;
		--warning-900: rgb(9, 8, 0)
;
		--success-900: rgb(0, 11, 5)
;
		 --teal-950: rgb(0, 4, 4)
;
		--primary-950: rgb(0, 2, 7)
;
		--info-950: rgb(0, 19, 33)
;
		--error-950: rgb(7, 0, 0)
;
		--warning-950: rgb(2, 2, 0)
;
		--success-950: rgb(0, 3, 1)

}

@media (color-gamut: p3) {
:root {
		--slate-50: color(display-p3 0.97798 0.98865 1)
;
		--info-50: color(display-p3 0.94619 0.97455 1)
;
		--primary-100: color(display-p3 0.93531 0.96336 1)
;
		--info-100: color(display-p3 0.8426 0.92566 1)
;
		--error-100: color(display-p3 1 0.94456 0.9325)
;
		--success-100: color(display-p3 0.87763 1 0.92203)
;
		--primary-150: color(display-p3 0.82538 0.90097 1)
;
		--info-150: color(display-p3 0.73698 0.87606 1)
;
		--error-150: color(display-p3 1 0.84852 0.81651)
;
		--primary-200: color(display-p3 0.7143 0.83771 1)
;
		--info-200: color(display-p3 0.62811 0.82549 1)
;
		--error-200: color(display-p3 1 0.74821 0.69742)
;
		--primary-250: color(display-p3 0.60119 0.77315 1)
;
		--info-250: color(display-p3 0.51363 0.77363 1)
;
		--error-250: color(display-p3 0.9622 0.66474 0.60686)
;
		 --teal-300: color(display-p3 0.34908 0.77052 0.75366)
;
		--primary-300: color(display-p3 0.49828 0.70702 0.98254)
;
		--info-300: color(display-p3 0.41123 0.7194 0.98184)
;
		 --teal-350: color(display-p3 0.19222 0.71687 0.70057)
;
		 --teal-400: color(display-p3 0 0.6565 0.64149)
;
		--info-400: color(display-p3 0.1861 0.60829 0.92908)
;
		--warning-400: color(display-p3 0.61833 0.58568 0)
;
		--success-400: color(display-p3 0.24816 0.67161 0.45416)
;
		 --teal-450: color(display-p3 0 0.58876 0.57518)
;
		--primary-450: color(display-p3 0.20797 0.5051 0.87888)
;
		--info-450: color(display-p3 0 0.55211 0.88856)
;
		--warning-450: color(display-p3 0.55198 0.52256 0)
;
		--success-450: color(display-p3 0.0705 0.61551 0.38204)
;
		 --teal-500: color(display-p3 0 0.52241 0.51023)
;
		--primary-500: color(display-p3 0.06578 0.43528 0.84304)
;
		--info-500: color(display-p3 0 0.49822 0.80522)
;
		--warning-500: color(display-p3 0.48706 0.46078 0)
;
		--success-500: color(display-p3 0 0.54628 0.33158)
;
		 --teal-550: color(display-p3 0 0.45756 0.44675)
;
		--primary-550: color(display-p3 0 0.37446 0.75466)
;
		--info-550: color(display-p3 0 0.44535 0.72352)
;
		--error-550: color(display-p3 0.68505 0.10763 0.06494)
;
		--warning-550: color(display-p3 0.42366 0.40045 0)
;
		--success-550: color(display-p3 0 0.47595 0.28636)
;
		 --teal-600: color(display-p3 0 0.39431 0.38484)
;
		--primary-600: color(display-p3 0 0.31819 0.65242)
;
		--info-600: color(display-p3 0 0.39355 0.64355)
;
		--error-600: color(display-p3 0.60543 0.01204 0)
;
		--warning-600: color(display-p3 0.3619 0.34169 0)
;
		--success-600: color(display-p3 0 0.40744 0.24232)
;
		 --teal-650: color(display-p3 0 0.3328 0.32462)
;
		--primary-650: color(display-p3 0 0.26331 0.55368)
;
		--info-650: color(display-p3 0 0.34291 0.56547)
;
		--error-650: color(display-p3 0.51027 0.009 0)
;
		--warning-650: color(display-p3 0.30192 0.28461 0)
;
		--success-650: color(display-p3 0 0.34091 0.19954)
;
		 --teal-700: color(display-p3 0 0.27318 0.26626)
;
		--primary-700: color(display-p3 0 0.20976 0.45925)
;
		--info-700: color(display-p3 0 0.29348 0.48945)
;
		--error-700: color(display-p3 0.41834 0.00599 0)
;
		--warning-700: color(display-p3 0.24389 0.2294 0)
;
		--success-700: color(display-p3 0 0.27655 0.15816)
;
		 --teal-750: color(display-p3 0 0.21567 0.20996)
;
		--primary-750: color(display-p3 0 0.15754 0.36988)
;
		--info-750: color(display-p3 0 0.24534 0.41574)
;
		--error-750: color(display-p3 0.32994 0.00354 0)
;
		--warning-750: color(display-p3 0.18805 0.17627 0)
;
		--success-750: color(display-p3 0 0.2146 0.11833)
;
		 --teal-800: color(display-p3 0 0.16051 0.15596)
;
		--primary-800: color(display-p3 0 0.11207 0.27365)
;
		--info-800: color(display-p3 0 0.19857 0.34475)
;
		--error-800: color(display-p3 0.24547 0.00182 0)
;
		--warning-800: color(display-p3 0.13467 0.12548 0)
;
		--success-800: color(display-p3 0 0.15539 0.08027)
;
		 --teal-850: color(display-p3 0 0.10805 0.10461)
;
		--primary-850: color(display-p3 0 0.06799 0.18514)
;
		--info-850: color(display-p3 0 0.1535 0.27609)
;
		--error-850: color(display-p3 0.16552 0.00078 0)
;
		--warning-850: color(display-p3 0.08416 0.07742 0)
;
		--success-850: color(display-p3 0 0.09936 0.04425)
;
		 --teal-900: color(display-p3 0 0.0588 0.0564)
;
		--primary-900: color(display-p3 0 0.02773 0.1036)
;
		--info-900: color(display-p3 0 0.11107 0.20753)
;
		--error-900: color(display-p3 0.09101 0.00026 0)
;
		--warning-900: color(display-p3 0.03715 0.03297 0)
;
		--success-900: color(display-p3 0 0.04718 0.0165)
;
		 --teal-950: color(display-p3 0 0.01828 0.01737)
;
		--primary-950: color(display-p3 0 0.00628 0.03081)
;
		--info-950: color(display-p3 0 0.07053 0.14303)
;
		--error-950: color(display-p3 0.02534 0.00006 0)
;
		--warning-950: color(display-p3 0.00839 0.00745 0)
;
		--success-950: color(display-p3 0 0.01076 0.00373)

}
}
}
/* ===================================
   CENTRALIZED BREAKPOINT SYSTEM
   USAGE: @media (min-width: var(--breakpoint-md)) { ... }
   =================================== */
:root {
    --breakpoint-xs: 480px;    /* Mobile landscape */
    --breakpoint-sm: 640px;    /* Small tablet */
    --breakpoint-md: 768px;    /* Tablet */
    --breakpoint-lg: 1024px;   /* Desktop */
    --breakpoint-xl: 1280px;   /* Large desktop */
    --breakpoint-2xl: 1536px;  /* Extra large */
}
/* ===================================
   DESIGN SYSTEM COLORS & DESIGN TOKENS
   All color references should use these variables
   =================================== */
:root {
    /* --accent-surface: light-dark( var(--teal-500), oklch(from var(--teal-500) calc(var(--light-avg) - 0.1) c h / alpha)); */
    --csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) var(--teal-500);
    --accent-surface: var(--csstools-light-dark-toggle--4, var(--teal-400));
    --csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) var(--teal-400);
    --accent-surface-light: var(--csstools-light-dark-toggle--5, var(--teal-300));
    --csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) var(--teal-600);
    --accent-surface-dark: var(--csstools-light-dark-toggle--6, var(--teal-500));
    --csstools-light-dark-toggle--7: var(--csstools-color-scheme--light) var(--teal-200);
    --accent-foreground: var(--csstools-light-dark-toggle--7, var(--teal-100));

    --csstools-light-dark-toggle--8: var(--csstools-color-scheme--light) var(--slate-900);

    --color-surface: var(--csstools-light-dark-toggle--8, var(--slate-50));
    --csstools-light-dark-toggle--9: var(--csstools-color-scheme--light) var(--slate-100);
    --color-text: var(--csstools-light-dark-toggle--9, var(--slate-900));

    --csstools-light-dark-toggle--10: var(--csstools-color-scheme--light) var(--slate-200);

    --color-text-heading: var(--csstools-light-dark-toggle--10, var(--slate-700));
    --color-text-heading-before: var(--accent-foreground);

    --csstools-light-dark-toggle--11: var(--csstools-color-scheme--light) var(--slate-300);

    --color-text-muted: var(--csstools-light-dark-toggle--11, var(--slate-600));
    --csstools-light-dark-toggle--12: var(--csstools-color-scheme--light) var(--slate-100);
    --info-box-text-muted: var(--csstools-light-dark-toggle--12, var(--slate-800));
    --csstools-light-dark-toggle--13: var(--csstools-color-scheme--light) var(--neutral-400);
    --color-text-placeholder: var(--csstools-light-dark-toggle--13, var(--neutral-500));
    --csstools-light-dark-toggle--14: var(--csstools-color-scheme--light) var(--slate-500);
    --color-text-week: var(--csstools-light-dark-toggle--14, var(--slate-400));
    --csstools-light-dark-toggle--15: var(--csstools-color-scheme--light) var(--teal-400);
    --color-link: var(--csstools-light-dark-toggle--15, var(--teal-600));
    --csstools-light-dark-toggle--16: var(--csstools-color-scheme--light) var(--teal-500);
    --color-link-hover: var(--csstools-light-dark-toggle--16, var(--teal-500));

    --csstools-light-dark-toggle--17: var(--csstools-color-scheme--light) var(--success-400);

    --color-text-success: var(--csstools-light-dark-toggle--17, var(--success-600));
    --csstools-light-dark-toggle--18: var(--csstools-color-scheme--light) var(--warning-400);
    --color-text-warning: var(--csstools-light-dark-toggle--18, var(--warning-600));
    --csstools-light-dark-toggle--19: var(--csstools-color-scheme--light) var(--error-400);
    --color-text-error: var(--csstools-light-dark-toggle--19, var(--error-600));
    --csstools-light-dark-toggle--20: var(--csstools-color-scheme--light) var(--info-400);
    --color-text-info: var(--csstools-light-dark-toggle--20, var(--info-600));

    --gradient-blue-01: radial-gradient( circle,
        rgb(0, 125, 196) 0%,
        rgb(0, 3, 61) 100%);

    --shadow-text-01: -5px -2px 5px rgba(0, 0, 0, 0.25);

    --spacing-xxs: 0.25rem;
    --spacing-xs: 0.5rem;
    --spacing-s: 0.75rem;
    --spacing-m: 0.875rem;
    --spacing-base: 1rem;
    --spacing-l: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 2.5rem;
    --spacing-xxxl: 4rem;

    /* ===================================
       FONT SYSTEM - Standardized font loading
       Primary: Inter (loaded via CDN)
       Fallback: System fonts for optimal performance
       =================================== */
       --font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    /* --font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; */
    /* --font-family: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; */
    /* --font-family: "Graphik Trial", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; */
    /* --font-family: "Metropolis", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; */
    --font-family-monospace: "JetBrains Mono", ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    --font-size-0: 0.65rem;
    --font-size-1: 0.75rem;
    --font-size-2: 0.875rem;
    --font-size-3: 1rem;
    --font-size-4: 1.125rem;
    --font-size-5: 1.25rem;
    --font-size-6: 1.5rem;
    --font-size-7: 1.875rem;
    --font-size-8: 2.25rem;
    --font-size-9: 3rem;
    --font-size-10: 3.75rem;

    --font-size-display-1: 2.25rem;
    --font-size-display-2: 2rem;

    --font-size-base: 1rem;

    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-semi-bold: 500;
    --font-weight-bold: 700;

    --line-height-1: 16px;
    --line-height-2: 20px;
    --line-height-3: 24px;
    --line-height-4: 28px;
    --line-height-5: 32px;
    --line-height-6: 36px;
    --line-height-7: 40px;
    --line-height-8: 44px;
    --line-height-9: 48px;

    --layout-content-max-width: 1440px;
    --layout-content-padding: 1rem;
    --layout-narrow-max-width: 992px;
    --layout-max-width: 1440px;
    --layout-content-size: calc(
        (var(--layout-content-max-width) - var(--layout-narrow-max-width)) / 2
    );

    --layout-section-flow: var(--spacing-base);
    --layout-headerh-height: calc(var(--spacing-xl) + var(--spacing-xs));
    --layout-blockquote-max-width: 80ch;
    --layout-grid-gutter: var(--spacing-xl);

    --layout-spacing-base: 1rem;
    --layout-padding-column: minmax(var(--layout-spacing-base), 1fr);
    --layout-padding-inline: 1rem;
    --layout-padding-component: var(--spacing-base);

    --layout-main-padding-block: var(--spacing-m);
    --layout-main-margin-block: var(--spacing-base);

    --layout-margin-block-small: var(--spacing-s);
    --layout-margin-block-medium: var(--spacing-m);
    --layout-margin-block-large: var(--spacing-l);
    --layout-margin-heading-bottom: var(--spacing-m);
    --layout-app-padding: clamp(1rem, 0.5238rem + 2.381vw, 2rem);
    --layout-gap: var(--spacing-s);

    --cards-gutter: var(--spacing-xxl);
    --card-padding: var(--spacing-s);
    --card-margin-block: var(--spacing-m);
    --csstools-light-dark-toggle--21: var(--csstools-color-scheme--light) oklch(from var(--slate-800) l c h / 0.5);
    --card-background: var(--csstools-light-dark-toggle--21, oklch(from var(--slate-100) l c h / 0.5));
    /* --card-background: light-dark(var(--slate-50), var(--slate-850)); */
    --card-border-radius: var(--border-radius-medium);
    --card-border: 4px solid var(--teal-500);
    --card-shadow: var(--shadow-medium);
    --card-shadow-hover: var(--shadow-extra-large);
    --csstools-light-dark-toggle--22: var(--csstools-color-scheme--light) oklch(from var(--slate-850) l c h / 0.8);
    --card-header-background: var(--csstools-light-dark-toggle--22, oklch(from var(--slate-50) l c h / 0.8));
    --csstools-light-dark-toggle--23: var(--csstools-color-scheme--light) oklch(from var(--slate-900) l c h / 0.7);
    --card-footer-background: var(--csstools-light-dark-toggle--23, oklch(from var(--slate-100) l c h / 0.7));
    --csstools-light-dark-toggle--24: var(--csstools-color-scheme--light) var(--slate-200);
    --card-text-color: var(--csstools-light-dark-toggle--24, var(--slate-700));
    --csstools-light-dark-toggle--25: var(--csstools-color-scheme--light) oklch(from var(--slate-700) l c h / 0.8);
    --card-hover-background: var(--csstools-light-dark-toggle--25, oklch(from var(--slate-200) l c h / 0.8));

    --csstools-light-dark-toggle--26: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.02);

    --shadow-small: 0 1px 2px
        var(--csstools-light-dark-toggle--26, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--27: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.05);
    --shadow-medium: 0 2px 4px
        var(--csstools-light-dark-toggle--27, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--28: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.05);
    --shadow-large: 0 4px 8px
        var(--csstools-light-dark-toggle--28, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--29: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.02);
    --shadow-extra-large: 0 8px 16px
        var(--csstools-light-dark-toggle--29, oklch(from var(--slate-700) l c h / 0.1));

    --z-index-header: 10;
    --z-index-base: 0;
    --z-index-dropdown: 11;
    --z-index-modal: 12;
    --z-index-tooltip: 10;
    --z-index-toast: 12;

    --transition-fast: 150ms ease-in-out;
    --transition-normal: 250ms ease-in-out;
    --transition-slow: 450ms ease-in-out;

    --csstools-light-dark-toggle--30: var(--csstools-color-scheme--light) var(--slate-700);

    --border-color: var(--csstools-light-dark-toggle--30, var(--slate-200));
    --border-default: 1px dotted var(--border-color);
    --border-radius-none: 0;
    --border-radius-extra-small: var(--spacing-xxs);
    --border-radius-small: var(--spacing-xs);
    --border-radius-medium: var(--spacing-s);
    --border-radius-large: var(--spacing-m);
    --border-radius-circular: 50%;

    --stroke-width-base: 1;

    /* --button-color-background: light-dark(var(--slate-200), var(--slate-700)); */
    --csstools-light-dark-toggle--31: var(--csstools-color-scheme--light) var(--slate-700);
    --button-color-background: var(--csstools-light-dark-toggle--31, var(--slate-200));
    /* --button-color-background-hover: light-dark(var(--slate-300), var(--slate-800)); */
    --csstools-light-dark-toggle--32: var(--csstools-color-scheme--light) var(--slate-800);
    --button-color-background-hover: var(--csstools-light-dark-toggle--32, var(--slate-300));
    --csstools-light-dark-toggle--33: var(--csstools-color-scheme--light) var(--slate-200);
    --button-color-text: var(--csstools-light-dark-toggle--33, var(--slate-700));
    --button-font-size: var(--font-size-2);
    --button-padding: var(--spacing-s) var(--spacing-base);
    --button-padding-small: var(--spacing-s) var(--spacing-m);
    --button-height-default: var(--spacing-xxl);
    --button-height-small: var(--spacing-xl);
    --button-padding-x: 1rem;
    --button-padding-y: 0.5rem;
    --button-font-size-default: 0.875rem;
    --button-font-size-small: 0.75rem;
    --button-icon-gap: 0.5rem;
    --button-transition: all 0.2s ease-in-out;

    --csstools-light-dark-toggle--34: var(--csstools-color-scheme--light) var(--teal-400);

    --icon-color: var(--csstools-light-dark-toggle--34, var(--teal-500));
    --csstools-light-dark-toggle--35: var(--csstools-color-scheme--light) var(--teal-500);
    --icon-color-hover: var(--csstools-light-dark-toggle--35, var(--teal-400));

    --csstools-light-dark-toggle--36: var(--csstools-color-scheme--light) var(--slate-100);

    --input-label-color: var(--csstools-light-dark-toggle--36, var(--slate-800));
    --input-font-size: var(--font-size-2);
    /* --input-height: var(--spacing-xl); */
    --input-min-width: 10rem;
    --input-padding: var(--spacing-xs) var(--spacing-xs);
    --input-margin-block: var(--spacing-base);
    --csstools-light-dark-toggle--37: var(--csstools-color-scheme--light) var(--slate-800);
    --input-surface: var(--csstools-light-dark-toggle--37, var(--slate-100));
    --csstools-light-dark-toggle--38: var(--csstools-color-scheme--light) var(--slate-900);
    --input-border-color: var(--csstools-light-dark-toggle--38, var(--slate-100));
    --input-textarea-height: 4ch;
    --input-radio-checkbox-size: var(--spacing-s);
    --csstools-light-dark-toggle--39: var(--csstools-color-scheme--light) var(--neutral-850);
    --input-background: var(--csstools-light-dark-toggle--39, var(--neutral-100));
    --input-height: var(--spacing-xxl);
    --input-height-small: var(--spacing-xl);
    --input-padding-x: 0.75rem;
    --input-padding-y: 0.5rem;
    --input-font-size-default: var(--font-size-2);
    --input-font-size-small: var(--font-size-1);
    --input-border: 1px solid var(--input-border-color);
    /* --input-border-radius: var(--border-radius-extra-small); */
    --input-border-radius: var(--border-radius-extra-small);
    --input-transition: all 0.2s ease-in-out;
    --input-checkbox-size: 1.25rem;
    --input-radio-size: 1.25rem;
    --input-icon-size: 1.25rem;
    --input-gap: 0.5rem;
    --input-height-default: var(--spacing-xxl);

    /* --table-header-bg: light-dark(var(--slate-700), var(--slate-200)); */
    --csstools-light-dark-toggle--40: var(--csstools-color-scheme--light) var(--slate-800);
    --table-header-bg: var(--csstools-light-dark-toggle--40, var(--slate-100));
    --csstools-light-dark-toggle--41: var(--csstools-color-scheme--light) var(--slate-200);
    --table-header-text: var(--csstools-light-dark-toggle--41, var(--slate-900));
    --csstools-light-dark-toggle--42: var(--csstools-color-scheme--light) var(--slate-800);
    --table-hover-bg: var(--csstools-light-dark-toggle--42, var(--slate-600));
    --csstools-light-dark-toggle--43: var(--csstools-color-scheme--light) var(--slate-300);
    --table-hover-muted-color: var(--csstools-light-dark-toggle--43, var(--slate-200));
    --csstools-light-dark-toggle--44: var(--csstools-color-scheme--light) var(--slate-50);
    --table-hover-color: var(--csstools-light-dark-toggle--44, var(--slate-100));
    --csstools-light-dark-toggle--45: var(--csstools-color-scheme--light) var(--teal-500);
    --table-hover-icon-color: var(--csstools-light-dark-toggle--45, var(--teal-400));
    --table-padding: var(--spacing-xs) var(--spacing-s);
    --csstools-light-dark-toggle--46: var(--csstools-color-scheme--light) var(--slate-700);
    --table-border: 1px solid var(--csstools-light-dark-toggle--46, var(--slate-200));
    --csstools-light-dark-toggle--47: var(--csstools-color-scheme--light) var(--slate-700);
    --table-border-color: var(--csstools-light-dark-toggle--47, var(--slate-200));
    --csstools-light-dark-toggle--48: var(--csstools-color-scheme--light) oklch(from var(--slate-800) l c h / 0.5);
    --table-even-row-bg: var(--csstools-light-dark-toggle--48, oklch(from var(--slate-100) l c h / 0.5));
    --csstools-light-dark-toggle--49: var(--csstools-color-scheme--light) var(--slate-500);
    --table-header-border: var(--csstools-light-dark-toggle--49, var(--slate-500));
    --table-font-size: var(--font-size-2);
    --table-mobile-font-size: var(--font-size-2);
    --csstools-light-dark-toggle--50: var(--csstools-color-scheme--light) var(--slate-400);
    --table-mobile-label-color: var(--csstools-light-dark-toggle--50, var(--slate-700));

    --csstools-light-dark-toggle--51: var(--csstools-color-scheme--light) var(--slate-900);

    --navbar-background: var(--csstools-light-dark-toggle--51, var(--slate-50));
    --navbar-header-height: calc(var(--spacing-xxl) * 1.35);
    --navbar-font-size: var(--font-size-2);
    --navbar-font-size-mobile: var(--font-size-4);
    --csstools-light-dark-toggle--52: var(--csstools-color-scheme--light) var(--slate-300);
    --navbar-text: var(--csstools-light-dark-toggle--52, var(--slate-600));
    --csstools-light-dark-toggle--53: var(--csstools-color-scheme--light) var(--slate-200);
    --navbar-link-color: var(--csstools-light-dark-toggle--53, var(--slate-900));
    --csstools-light-dark-toggle--54: var(--csstools-color-scheme--light) var(--slate-600);
    --navbar-content-color: var(--csstools-light-dark-toggle--54, var(--slate-900));
    --csstools-light-dark-toggle--55: var(--csstools-color-scheme--light) var(--slate-300);
    --navbar-link-hover-color: var(--csstools-light-dark-toggle--55, var(--teal-500));
    --navbar-toggle-icon-size: var(--spacing-l);
    --csstools-light-dark-toggle--56: var(--csstools-color-scheme--light) var(--slate-900);
    --navbar-submenu-background: var(--csstools-light-dark-toggle--56, var(--slate-50));
    --csstools-light-dark-toggle--57: var(--csstools-color-scheme--light) var(--slate-400);
    --navbar-submenu-text-color: var(--csstools-light-dark-toggle--57, var(--slate-700));
    --csstools-light-dark-toggle--58: var(--csstools-color-scheme--light) var(--slate-100);
    --navbar-submenu-hover-color: var(--csstools-light-dark-toggle--58, var(--slate-500));
    --navbar-submenu-border-radius: 0;

    --pagination-spacing-xs: var(--spacing-xs);
    --pagination-spacing-s: var(--spacing-s);
    --pagination-spacing-m: var(--spacing-base);
    --pagination-font-size: var(--font-size-2);
    --pagination-item-size: var(--spacing-l);
    --pagination-transition: 0.2s ease-in-out;
    --csstools-light-dark-toggle--59: var(--csstools-color-scheme--light) var(--slate-300);
    --pagination-color-text: var(--csstools-light-dark-toggle--59, var(--slate-800));
    --csstools-light-dark-toggle--60: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-text-muted: var(--csstools-light-dark-toggle--60, var(--slate-700));
    --csstools-light-dark-toggle--61: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-link: var(--csstools-light-dark-toggle--61, var(--slate-600));
    --csstools-light-dark-toggle--62: var(--csstools-color-scheme--light) var(--slate-300);
    --pagination-color-link-hover: var(--csstools-light-dark-toggle--62, var(--slate-600));
    --csstools-light-dark-toggle--63: var(--csstools-color-scheme--light) var(--slate-800);
    --pagination-color-surface: var(--csstools-light-dark-toggle--63, var(--slate-50));
    --csstools-light-dark-toggle--64: var(--csstools-color-scheme--light) var(--slate-700);
    --pagination-color-hover-surface: var(--csstools-light-dark-toggle--64, var(--slate-200));
    --csstools-light-dark-toggle--65: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-active: var(--csstools-light-dark-toggle--65, var(--slate-700));
    --csstools-light-dark-toggle--66: var(--csstools-color-scheme--light) var(--slate-800);
    --pagination-color-active-text: var(--csstools-light-dark-toggle--66, var(--slate-50));
    --pagination-color-disabled: transparent;

    --alert-min-width: 250px;
    --csstools-light-dark-toggle--67: var(--csstools-color-scheme--light) var(--slate-700);
    --blockquote-background: var(--csstools-light-dark-toggle--67, var(--slate-200));

    --csstools-light-dark-toggle--68: var(--csstools-color-scheme--light) var(--slate-800);

    --step-background: var(--csstools-light-dark-toggle--68, var(--slate-200));
    --csstools-light-dark-toggle--69: var(--csstools-color-scheme--light) var(--slate-600);
    --step-background-muted: var(--csstools-light-dark-toggle--69, var(--slate-400));
    --csstools-light-dark-toggle--70: var(--csstools-color-scheme--light) var(--slate-400);
    --step-foreground: var(--csstools-light-dark-toggle--70, var(--slate-600));
    --csstools-light-dark-toggle--71: var(--csstools-color-scheme--light) var(--slate-600);
    --step-foreground-light: var(--csstools-light-dark-toggle--71, var(--slate-400));
    --csstools-light-dark-toggle--72: var(--csstools-color-scheme--light) var(--slate-400);
    --step-text-muted: var(--csstools-light-dark-toggle--72, var(--slate-600));

    --modal-background: var(--color-surface);
    --modal-text-color: var(--color-text);
    --modal-header-border: var(--border-default);
    --modal-overlay-background: rgba(0, 0, 0, 0.5);
    --modal-shadow: var(--shadow-extra-large);
    --modal-border-radius: var(--border-radius-extra-small);
    --modal-padding: var(--spacing-l);
    --modal-close-color: var(--color-text-muted);
    --modal-close-hover-color: var(--accent-foreground);
    --modal-title-color: var(--color-text-heading);

    --form-grid-gap: 1.5rem;
    --form-meta-spacing: 1rem;
    --csstools-light-dark-toggle--73: var(--csstools-color-scheme--light) var(--slate-700);
    --form-border-color: var(--csstools-light-dark-toggle--73, var(--slate-200));
    --form-title-size: var(--font-size-4, 1.25rem);
    --form-desc-size: var(--font-size-2, 0.875rem);
    --form-breakpoint-lg: 900px;
    --form-breakpoint-md: 600px;

    /* Reusing your existing color system */
    --calendar-background: var(--color-surface);
    --calendar-text: var(--color-text);
    --calendar-border: var(--border-default);
    --csstools-light-dark-toggle--74: var(--csstools-color-scheme--light) var(--teal-600);
    --calendar-border-accent: 4px solid var(--csstools-light-dark-toggle--74, var(--teal-500));
    --csstools-light-dark-toggle--75: var(--csstools-color-scheme--light) var(--slate-800);
    --calendar-today-background: var(--csstools-light-dark-toggle--75, var(--slate-200));
    --csstools-light-dark-toggle--76: var(--csstools-color-scheme--light) var(--slate-800);
    --calendar-other-month-background: var(--csstools-light-dark-toggle--76, var(--slate-100));
    --calendar-other-month-text: var(--color-text-week);

    /* Calendar specific measurements */
    --calendar-min-day-height: 100px;
    --calendar-day-padding: var(--spacing-base);
    --calendar-grid-gap: var(--spacing-xxs);
    --calendar-event-border-radius: var(--border-radius-extra-small);

    /* Calendar header */
    --calendar-header-margin: var(--spacing-base);
    --calendar-header-gap: var(--spacing-base);
    --calendar-title-size: var(--font-size-6);

    /* Calendar events */
    --calendar-event-padding: var(--spacing-xxs) var(--spacing-xs);
    --calendar-event-font-size: var(--font-size-1);
    --calendar-event-gap: var(--spacing-xxs);

    /* Event status colors */
    --calendar-event-requested-color: var(--info-600);
    --calendar-event-pending-color: var(--warning-600);
    --calendar-event-approved-color: var(--success-600);
    --calendar-event-rejected-color: var(--error-600);

    /* Navigation */
    --calendar-nav-padding: var(--spacing-xs) var(--spacing-base);
    --calendar-nav-font-size: var(--font-size-2);

    /* ===================================
       ENHANCED FORM VALIDATION SYSTEM
       Visual feedback states for form inputs
       =================================== */
    --validation-success: var(--success-500);
    --validation-error: var(--error-500);
    --validation-warning: var(--warning-500);
    --validation-info: var(--info-500);

    /* Validation state backgrounds */
    --csstools-light-dark-toggle--77: var(--csstools-color-scheme--light) oklch(from var(--success-900) l c h / 0.1);
    --validation-success-bg: var(--csstools-light-dark-toggle--77, oklch(from var(--success-100) l c h / 0.1));
    --csstools-light-dark-toggle--78: var(--csstools-color-scheme--light) oklch(from var(--error-900) l c h / 0.1);
    --validation-error-bg: var(--csstools-light-dark-toggle--78, oklch(from var(--error-100) l c h / 0.1));
    --csstools-light-dark-toggle--79: var(--csstools-color-scheme--light) oklch(from var(--warning-900) l c h / 0.1);
    --validation-warning-bg: var(--csstools-light-dark-toggle--79, oklch(from var(--warning-100) l c h / 0.1));
    --csstools-light-dark-toggle--80: var(--csstools-color-scheme--light) oklch(from var(--info-900) l c h / 0.1);
    --validation-info-bg: var(--csstools-light-dark-toggle--80, oklch(from var(--info-100) l c h / 0.1));

    /* Validation icons and indicators */
    --validation-icon-size: 1rem;
    --validation-message-gap: var(--spacing-xs);
    --validation-border-width: 2px;
    --validation-shadow-intensity: 0.15;

    /* ===================================
       ANIMATION SYSTEM
       Using existing transition variables for consistency
       =================================== */
    --animation-shake: shake var(--transition-normal);
    --animation-bounce: bounce var(--transition-normal);
    --animation-fade-in: fadeIn var(--transition-normal);
    --animation-fade-out: fadeOut var(--transition-normal);
    --animation-slide-up: slideUp var(--transition-normal);
    --animation-slide-down: slideDown var(--transition-normal);
    --animation-scale-in: scaleIn var(--transition-fast);
    --animation-pulse: pulse var(--transition-slow);

    /* Loading animation */
    --animation-loading-spin: spin 1s linear infinite;
    --animation-loading-pulse: pulse 2s ease-in-out infinite;

    /* Form specific animations */
    --animation-input-focus: focusRing var(--transition-fast);
    --animation-validation-appear: slideUp var(--transition-fast);
    --animation-error-shake: shake var(--transition-fast);
    --animation-success-bounce: bounce var(--transition-normal);
}
@supports (color: light-dark(red, red)) {
:root {
    --accent-surface: light-dark(var(--teal-400), var(--teal-500));
    --accent-surface-light: light-dark(var(--teal-300), var(--teal-400));
    --accent-surface-dark: light-dark(var(--teal-500), var(--teal-600));
    --accent-foreground: light-dark(var(--teal-100), var(--teal-200));

    --color-surface: light-dark(var(--slate-50), var(--slate-900));
    --color-text: light-dark(var(--slate-900), var(--slate-100));

    --color-text-heading: light-dark(var(--slate-700), var(--slate-200));

    --color-text-muted: light-dark(var(--slate-600), var(--slate-300));
    --info-box-text-muted: light-dark(var(--slate-800), var(--slate-100));
    --color-text-placeholder: light-dark(var(--neutral-500), var(--neutral-400));
    --color-text-week: light-dark(var(--slate-400), var(--slate-500));
    --color-link: light-dark(var(--teal-600), var(--teal-400));
    --color-link-hover: light-dark(var(--teal-500), var(--teal-500));

    --color-text-success: light-dark(var(--success-600), var(--success-400));
    --color-text-warning: light-dark(var(--warning-600), var(--warning-400));
    --color-text-error: light-dark(var(--error-600), var(--error-400));
    --color-text-info: light-dark(var(--info-600), var(--info-400));
}
}
@supports (color: color(display-p3 0 0 0%)) {
:root {

    --gradient-blue-01: radial-gradient( circle,
        rgb(0, 125, 196) 0%,
        rgb(0, 3, 61) 100%);
}

@media (color-gamut: p3) {
:root {

    --gradient-blue-01: radial-gradient( circle,
        color(display-p3 0.18945 0.48393 0.7598) 0%,
        color(display-p3 0.0017 0.01045 0.22979) 100%);
}
}
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
:root {
    --card-background: light-dark(oklch(from var(--slate-100) l c h / 0.5),oklch(from var(--slate-800) l c h / 0.5));
    --card-header-background: light-dark(
        oklch(from var(--slate-50) l c h / 0.8),
        oklch(from var(--slate-850) l c h / 0.8)
    );
    --card-footer-background: light-dark(
        oklch(from var(--slate-100) l c h / 0.7),
        oklch(from var(--slate-900) l c h / 0.7)
    );
}
}
@supports (color: light-dark(red, red)) {
:root {
    --card-text-color: light-dark(var(--slate-700), var(--slate-200));
}
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
:root {
    --card-hover-background: light-dark(
        oklch(from var(--slate-200) l c h / 0.8),
        oklch(from var(--slate-700) l c h / 0.8)
    );

    --shadow-small: 0 1px 2px
        light-dark(
            oklch(from var(--slate-700) l c h / 0.1),
            oklch(from var(--slate-300) l c h / 0.02)
        );
    --shadow-medium: 0 2px 4px
        light-dark(
            oklch(from var(--slate-700) l c h / 0.1),
            oklch(from var(--slate-300) l c h / 0.05)
        );
    --shadow-large: 0 4px 8px
        light-dark(
            oklch(from var(--slate-700) l c h / 0.1),
            oklch(from var(--slate-300) l c h / 0.05)
        );
    --shadow-extra-large: 0 8px 16px
        light-dark(
            oklch(from var(--slate-700) l c h / 0.1),
            oklch(from var(--slate-300) l c h / 0.02)
        );
}
}
@supports (color: light-dark(red, red)) {
:root {

    --border-color: light-dark(var(--slate-200), var(--slate-700));
    --button-color-background: light-dark(var(--slate-200), var(--slate-700));
    --button-color-background-hover: light-dark(var(--slate-300), var(--slate-800));
    --button-color-text: light-dark(var(--slate-700), var(--slate-200));

    --icon-color: light-dark(var(--teal-500), var(--teal-400));
    --icon-color-hover: light-dark(var(--teal-400), var(--teal-500));

    --input-label-color: light-dark(var(--slate-800), var(--slate-100));
    --input-surface: light-dark(var(--slate-100), var(--slate-800));
    --input-border-color: light-dark(var(--slate-100), var(--slate-900));
    --input-background: light-dark(var(--neutral-100), var(--neutral-850));
    --table-header-bg: light-dark(var(--slate-100), var(--slate-800));
    --table-header-text: light-dark(var(--slate-900), var(--slate-200));
    --table-hover-bg: light-dark(var(--slate-600), var(--slate-800));
    --table-hover-muted-color: light-dark(var(--slate-200), var(--slate-300));
    --table-hover-color: light-dark(var(--slate-100), var(--slate-50));
    --table-hover-icon-color: light-dark(var(--teal-400), var(--teal-500));
    --table-border: 1px solid light-dark(var(--slate-200), var(--slate-700));
    --table-border-color: light-dark(var(--slate-200), var(--slate-700));
}
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
:root {
    --table-even-row-bg: light-dark(oklch(from var(--slate-100) l c h / 0.5), oklch(from var(--slate-800) l c h / 0.5));
}
}
@supports (color: light-dark(red, red)) {
:root {
    --table-header-border: light-dark(var(--slate-500), var(--slate-500));
    --table-mobile-label-color: light-dark(var(--slate-700), var(--slate-400));

    --navbar-background: light-dark(var(--slate-50), var(--slate-900));
    --navbar-text: light-dark(var(--slate-600), var(--slate-300));
    --navbar-link-color: light-dark(var(--slate-900), var(--slate-200));
    --navbar-content-color: light-dark(var(--slate-900), var(--slate-600));
    --navbar-link-hover-color: light-dark(var(--teal-500), var(--slate-300));
    --navbar-submenu-background: light-dark(var(--slate-50), var(--slate-900));
    --navbar-submenu-text-color: light-dark(var(--slate-700), var(--slate-400));
    --navbar-submenu-hover-color: light-dark(var(--slate-500), var(--slate-100));
    --pagination-color-text: light-dark(var(--slate-800), var(--slate-300));
    --pagination-color-text-muted: light-dark(var(--slate-700), var(--slate-400));
    --pagination-color-link: light-dark(var(--slate-600), var(--slate-400));
    --pagination-color-link-hover: light-dark(var(--slate-600), var(--slate-300));
    --pagination-color-surface: light-dark(var(--slate-50), var(--slate-800));
    --pagination-color-hover-surface: light-dark(var(--slate-200), var(--slate-700));
    --pagination-color-active: light-dark(var(--slate-700), var(--slate-400));
    --pagination-color-active-text: light-dark(var(--slate-50), var(--slate-800));
    --blockquote-background: light-dark(var(--slate-200), var(--slate-700));

    --step-background: light-dark(var(--slate-200), var(--slate-800));
    --step-background-muted: light-dark(var(--slate-400), var(--slate-600));
    --step-foreground: light-dark(var(--slate-600), var(--slate-400));
    --step-foreground-light: light-dark(var(--slate-400), var(--slate-600));
    --step-text-muted: light-dark(var(--slate-600), var(--slate-400));
    --form-border-color: light-dark(var(--slate-200), var(--slate-700));
    --calendar-border-accent: 4px solid light-dark(var(--teal-500), var(--teal-600));
    --calendar-today-background: light-dark(var(--slate-200), var(--slate-800));
    --calendar-other-month-background: light-dark(var(--slate-100), var(--slate-800));
}
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
:root {
    --validation-success-bg: light-dark(oklch(from var(--success-100) l c h / 0.1), oklch(from var(--success-900) l c h / 0.1));
    --validation-error-bg: light-dark(oklch(from var(--error-100) l c h / 0.1), oklch(from var(--error-900) l c h / 0.1));
    --validation-warning-bg: light-dark(oklch(from var(--warning-100) l c h / 0.1), oklch(from var(--warning-900) l c h / 0.1));
    --validation-info-bg: light-dark(oklch(from var(--info-100) l c h / 0.1), oklch(from var(--info-900) l c h / 0.1));
}
}
@supports not (color: light-dark(tan, tan)) {
  :root * {
    --csstools-light-dark-toggle--4: var(--csstools-color-scheme--light) var(--teal-500);
    --accent-surface: var(--csstools-light-dark-toggle--4, var(--teal-400));
    --csstools-light-dark-toggle--5: var(--csstools-color-scheme--light) var(--teal-400);
    --accent-surface-light: var(--csstools-light-dark-toggle--5, var(--teal-300));
    --csstools-light-dark-toggle--6: var(--csstools-color-scheme--light) var(--teal-600);
    --accent-surface-dark: var(--csstools-light-dark-toggle--6, var(--teal-500));
    --csstools-light-dark-toggle--7: var(--csstools-color-scheme--light) var(--teal-200);
    --accent-foreground: var(--csstools-light-dark-toggle--7, var(--teal-100));

    --csstools-light-dark-toggle--8: var(--csstools-color-scheme--light) var(--slate-900);

    --color-surface: var(--csstools-light-dark-toggle--8, var(--slate-50));
    --csstools-light-dark-toggle--9: var(--csstools-color-scheme--light) var(--slate-100);
    --color-text: var(--csstools-light-dark-toggle--9, var(--slate-900));

    --csstools-light-dark-toggle--10: var(--csstools-color-scheme--light) var(--slate-200);

    --color-text-heading: var(--csstools-light-dark-toggle--10, var(--slate-700));

    --csstools-light-dark-toggle--11: var(--csstools-color-scheme--light) var(--slate-300);

    --color-text-muted: var(--csstools-light-dark-toggle--11, var(--slate-600));
    --csstools-light-dark-toggle--12: var(--csstools-color-scheme--light) var(--slate-100);
    --info-box-text-muted: var(--csstools-light-dark-toggle--12, var(--slate-800));
    --csstools-light-dark-toggle--13: var(--csstools-color-scheme--light) var(--neutral-400);
    --color-text-placeholder: var(--csstools-light-dark-toggle--13, var(--neutral-500));
    --csstools-light-dark-toggle--14: var(--csstools-color-scheme--light) var(--slate-500);
    --color-text-week: var(--csstools-light-dark-toggle--14, var(--slate-400));
    --csstools-light-dark-toggle--15: var(--csstools-color-scheme--light) var(--teal-400);
    --color-link: var(--csstools-light-dark-toggle--15, var(--teal-600));
    --csstools-light-dark-toggle--16: var(--csstools-color-scheme--light) var(--teal-500);
    --color-link-hover: var(--csstools-light-dark-toggle--16, var(--teal-500));

    --csstools-light-dark-toggle--17: var(--csstools-color-scheme--light) var(--success-400);

    --color-text-success: var(--csstools-light-dark-toggle--17, var(--success-600));
    --csstools-light-dark-toggle--18: var(--csstools-color-scheme--light) var(--warning-400);
    --color-text-warning: var(--csstools-light-dark-toggle--18, var(--warning-600));
    --csstools-light-dark-toggle--19: var(--csstools-color-scheme--light) var(--error-400);
    --color-text-error: var(--csstools-light-dark-toggle--19, var(--error-600));
    --csstools-light-dark-toggle--20: var(--csstools-color-scheme--light) var(--info-400);
    --color-text-info: var(--csstools-light-dark-toggle--20, var(--info-600));
    --csstools-light-dark-toggle--21: var(--csstools-color-scheme--light) oklch(from var(--slate-800) l c h / 0.5);
    --card-background: var(--csstools-light-dark-toggle--21, oklch(from var(--slate-100) l c h / 0.5));
    --csstools-light-dark-toggle--22: var(--csstools-color-scheme--light) oklch(from var(--slate-850) l c h / 0.8);
    --card-header-background: var(--csstools-light-dark-toggle--22, oklch(from var(--slate-50) l c h / 0.8));
    --csstools-light-dark-toggle--23: var(--csstools-color-scheme--light) oklch(from var(--slate-900) l c h / 0.7);
    --card-footer-background: var(--csstools-light-dark-toggle--23, oklch(from var(--slate-100) l c h / 0.7));
    --csstools-light-dark-toggle--24: var(--csstools-color-scheme--light) var(--slate-200);
    --card-text-color: var(--csstools-light-dark-toggle--24, var(--slate-700));
    --csstools-light-dark-toggle--25: var(--csstools-color-scheme--light) oklch(from var(--slate-700) l c h / 0.8);
    --card-hover-background: var(--csstools-light-dark-toggle--25, oklch(from var(--slate-200) l c h / 0.8));

    --csstools-light-dark-toggle--26: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.02);

    --shadow-small: 0 1px 2px
        var(--csstools-light-dark-toggle--26, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--27: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.05);
    --shadow-medium: 0 2px 4px
        var(--csstools-light-dark-toggle--27, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--28: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.05);
    --shadow-large: 0 4px 8px
        var(--csstools-light-dark-toggle--28, oklch(from var(--slate-700) l c h / 0.1));
    --csstools-light-dark-toggle--29: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.02);
    --shadow-extra-large: 0 8px 16px
        var(--csstools-light-dark-toggle--29, oklch(from var(--slate-700) l c h / 0.1));

    --csstools-light-dark-toggle--30: var(--csstools-color-scheme--light) var(--slate-700);

    --border-color: var(--csstools-light-dark-toggle--30, var(--slate-200));
    --csstools-light-dark-toggle--31: var(--csstools-color-scheme--light) var(--slate-700);
    --button-color-background: var(--csstools-light-dark-toggle--31, var(--slate-200));
    --csstools-light-dark-toggle--32: var(--csstools-color-scheme--light) var(--slate-800);
    --button-color-background-hover: var(--csstools-light-dark-toggle--32, var(--slate-300));
    --csstools-light-dark-toggle--33: var(--csstools-color-scheme--light) var(--slate-200);
    --button-color-text: var(--csstools-light-dark-toggle--33, var(--slate-700));

    --csstools-light-dark-toggle--34: var(--csstools-color-scheme--light) var(--teal-400);

    --icon-color: var(--csstools-light-dark-toggle--34, var(--teal-500));
    --csstools-light-dark-toggle--35: var(--csstools-color-scheme--light) var(--teal-500);
    --icon-color-hover: var(--csstools-light-dark-toggle--35, var(--teal-400));

    --csstools-light-dark-toggle--36: var(--csstools-color-scheme--light) var(--slate-100);

    --input-label-color: var(--csstools-light-dark-toggle--36, var(--slate-800));
    --csstools-light-dark-toggle--37: var(--csstools-color-scheme--light) var(--slate-800);
    --input-surface: var(--csstools-light-dark-toggle--37, var(--slate-100));
    --csstools-light-dark-toggle--38: var(--csstools-color-scheme--light) var(--slate-900);
    --input-border-color: var(--csstools-light-dark-toggle--38, var(--slate-100));
    --csstools-light-dark-toggle--39: var(--csstools-color-scheme--light) var(--neutral-850);
    --input-background: var(--csstools-light-dark-toggle--39, var(--neutral-100));
    --csstools-light-dark-toggle--40: var(--csstools-color-scheme--light) var(--slate-800);
    --table-header-bg: var(--csstools-light-dark-toggle--40, var(--slate-100));
    --csstools-light-dark-toggle--41: var(--csstools-color-scheme--light) var(--slate-200);
    --table-header-text: var(--csstools-light-dark-toggle--41, var(--slate-900));
    --csstools-light-dark-toggle--42: var(--csstools-color-scheme--light) var(--slate-800);
    --table-hover-bg: var(--csstools-light-dark-toggle--42, var(--slate-600));
    --csstools-light-dark-toggle--43: var(--csstools-color-scheme--light) var(--slate-300);
    --table-hover-muted-color: var(--csstools-light-dark-toggle--43, var(--slate-200));
    --csstools-light-dark-toggle--44: var(--csstools-color-scheme--light) var(--slate-50);
    --table-hover-color: var(--csstools-light-dark-toggle--44, var(--slate-100));
    --csstools-light-dark-toggle--45: var(--csstools-color-scheme--light) var(--teal-500);
    --table-hover-icon-color: var(--csstools-light-dark-toggle--45, var(--teal-400));
    --csstools-light-dark-toggle--46: var(--csstools-color-scheme--light) var(--slate-700);
    --table-border: 1px solid var(--csstools-light-dark-toggle--46, var(--slate-200));
    --csstools-light-dark-toggle--47: var(--csstools-color-scheme--light) var(--slate-700);
    --table-border-color: var(--csstools-light-dark-toggle--47, var(--slate-200));
    --csstools-light-dark-toggle--48: var(--csstools-color-scheme--light) oklch(from var(--slate-800) l c h / 0.5);
    --table-even-row-bg: var(--csstools-light-dark-toggle--48, oklch(from var(--slate-100) l c h / 0.5));
    --csstools-light-dark-toggle--49: var(--csstools-color-scheme--light) var(--slate-500);
    --table-header-border: var(--csstools-light-dark-toggle--49, var(--slate-500));
    --csstools-light-dark-toggle--50: var(--csstools-color-scheme--light) var(--slate-400);
    --table-mobile-label-color: var(--csstools-light-dark-toggle--50, var(--slate-700));

    --csstools-light-dark-toggle--51: var(--csstools-color-scheme--light) var(--slate-900);

    --navbar-background: var(--csstools-light-dark-toggle--51, var(--slate-50));
    --csstools-light-dark-toggle--52: var(--csstools-color-scheme--light) var(--slate-300);
    --navbar-text: var(--csstools-light-dark-toggle--52, var(--slate-600));
    --csstools-light-dark-toggle--53: var(--csstools-color-scheme--light) var(--slate-200);
    --navbar-link-color: var(--csstools-light-dark-toggle--53, var(--slate-900));
    --csstools-light-dark-toggle--54: var(--csstools-color-scheme--light) var(--slate-600);
    --navbar-content-color: var(--csstools-light-dark-toggle--54, var(--slate-900));
    --csstools-light-dark-toggle--55: var(--csstools-color-scheme--light) var(--slate-300);
    --navbar-link-hover-color: var(--csstools-light-dark-toggle--55, var(--teal-500));
    --csstools-light-dark-toggle--56: var(--csstools-color-scheme--light) var(--slate-900);
    --navbar-submenu-background: var(--csstools-light-dark-toggle--56, var(--slate-50));
    --csstools-light-dark-toggle--57: var(--csstools-color-scheme--light) var(--slate-400);
    --navbar-submenu-text-color: var(--csstools-light-dark-toggle--57, var(--slate-700));
    --csstools-light-dark-toggle--58: var(--csstools-color-scheme--light) var(--slate-100);
    --navbar-submenu-hover-color: var(--csstools-light-dark-toggle--58, var(--slate-500));
    --csstools-light-dark-toggle--59: var(--csstools-color-scheme--light) var(--slate-300);
    --pagination-color-text: var(--csstools-light-dark-toggle--59, var(--slate-800));
    --csstools-light-dark-toggle--60: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-text-muted: var(--csstools-light-dark-toggle--60, var(--slate-700));
    --csstools-light-dark-toggle--61: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-link: var(--csstools-light-dark-toggle--61, var(--slate-600));
    --csstools-light-dark-toggle--62: var(--csstools-color-scheme--light) var(--slate-300);
    --pagination-color-link-hover: var(--csstools-light-dark-toggle--62, var(--slate-600));
    --csstools-light-dark-toggle--63: var(--csstools-color-scheme--light) var(--slate-800);
    --pagination-color-surface: var(--csstools-light-dark-toggle--63, var(--slate-50));
    --csstools-light-dark-toggle--64: var(--csstools-color-scheme--light) var(--slate-700);
    --pagination-color-hover-surface: var(--csstools-light-dark-toggle--64, var(--slate-200));
    --csstools-light-dark-toggle--65: var(--csstools-color-scheme--light) var(--slate-400);
    --pagination-color-active: var(--csstools-light-dark-toggle--65, var(--slate-700));
    --csstools-light-dark-toggle--66: var(--csstools-color-scheme--light) var(--slate-800);
    --pagination-color-active-text: var(--csstools-light-dark-toggle--66, var(--slate-50));
    --csstools-light-dark-toggle--67: var(--csstools-color-scheme--light) var(--slate-700);
    --blockquote-background: var(--csstools-light-dark-toggle--67, var(--slate-200));

    --csstools-light-dark-toggle--68: var(--csstools-color-scheme--light) var(--slate-800);

    --step-background: var(--csstools-light-dark-toggle--68, var(--slate-200));
    --csstools-light-dark-toggle--69: var(--csstools-color-scheme--light) var(--slate-600);
    --step-background-muted: var(--csstools-light-dark-toggle--69, var(--slate-400));
    --csstools-light-dark-toggle--70: var(--csstools-color-scheme--light) var(--slate-400);
    --step-foreground: var(--csstools-light-dark-toggle--70, var(--slate-600));
    --csstools-light-dark-toggle--71: var(--csstools-color-scheme--light) var(--slate-600);
    --step-foreground-light: var(--csstools-light-dark-toggle--71, var(--slate-400));
    --csstools-light-dark-toggle--72: var(--csstools-color-scheme--light) var(--slate-400);
    --step-text-muted: var(--csstools-light-dark-toggle--72, var(--slate-600));
    --csstools-light-dark-toggle--73: var(--csstools-color-scheme--light) var(--slate-700);
    --form-border-color: var(--csstools-light-dark-toggle--73, var(--slate-200));
    --csstools-light-dark-toggle--74: var(--csstools-color-scheme--light) var(--teal-600);
    --calendar-border-accent: 4px solid var(--csstools-light-dark-toggle--74, var(--teal-500));
    --csstools-light-dark-toggle--75: var(--csstools-color-scheme--light) var(--slate-800);
    --calendar-today-background: var(--csstools-light-dark-toggle--75, var(--slate-200));
    --csstools-light-dark-toggle--76: var(--csstools-color-scheme--light) var(--slate-800);
    --calendar-other-month-background: var(--csstools-light-dark-toggle--76, var(--slate-100));
    --csstools-light-dark-toggle--77: var(--csstools-color-scheme--light) oklch(from var(--success-900) l c h / 0.1);
    --validation-success-bg: var(--csstools-light-dark-toggle--77, oklch(from var(--success-100) l c h / 0.1));
    --csstools-light-dark-toggle--78: var(--csstools-color-scheme--light) oklch(from var(--error-900) l c h / 0.1);
    --validation-error-bg: var(--csstools-light-dark-toggle--78, oklch(from var(--error-100) l c h / 0.1));
    --csstools-light-dark-toggle--79: var(--csstools-color-scheme--light) oklch(from var(--warning-900) l c h / 0.1);
    --validation-warning-bg: var(--csstools-light-dark-toggle--79, oklch(from var(--warning-100) l c h / 0.1));
    --csstools-light-dark-toggle--80: var(--csstools-color-scheme--light) oklch(from var(--info-900) l c h / 0.1);
    --validation-info-bg: var(--csstools-light-dark-toggle--80, oklch(from var(--info-100) l c h / 0.1));
  }
}
:root {
	--csstools-color-scheme--light: initial;
	color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
:root {
	--csstools-color-scheme--light:  ;
}
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background-color: var(--color-surface);
	color: var(--color-text);
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	margin: 0;
	padding: 0;
}
body {
	margin: auto;
	/* max-width: 1200px; */
}
a,
a:link,
a:visited,
a:active,
a:focus {
	color: var(--color-link);
	font-weight: var(--font-weight-regular);
	-webkit-text-decoration: none;
	text-decoration: none;
}
a:hover:not(.button):not(.button-small):not(.menu-item > a) {
	color: var(--color-link-hover);
	-webkit-text-decoration: underline;
	text-decoration: underline; /* Accessibility improvement */
}
address {
	font-style: normal;
	margin: 1rem 0;
}
b,
strong {
	font-weight: var(--font-weight-bold);
}
small {
	font-size: 0.75em;
}
:focus-visible {
	outline: 2px solid var(--border-color); /* Improved contrast */
	outline-offset: 2px;
}
[hidden],
template {
	display: none;
}
hr {
	border: 0;
	border-top: 1px solid var(--border-color);
	height: 0;
	margin: 2rem auto;
	width: min(50%, 15rem);
}
mark {
	background-color: var(--slate-500);
	border-left: 4px solid var(--slate-500);
	border-right: 4px solid var(--slate-500);
	color: var(--secondary-darker);
	padding: 0 0.25rem; /* Improved readability */
}
svg {
    border: 0;
    overflow: hidden;
}
.sr-only,
.visuallyhidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	width: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: normal;
}
.hidden {
	display: none !important;
}
/* ===================================
   ANIMATION KEYFRAMES
   CSS animations for enhanced user experience
   =================================== */
/* Shake animation for errors */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
  20%, 40%, 60%, 80% { transform: translateX(4px); }
}
/* Bounce animation for success states */
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -8px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -4px, 0);
  }
  90% {
    transform: translate3d(0, -2px, 0);
  }
}
/* Fade in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Fade out animation */
@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}
/* Slide up animation */
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Slide down animation */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Scale in animation */
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* Pulse animation */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
/* Spin animation for loading */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Focus ring animation */
@keyframes focusRing {
  0% {
    --csstools-light-dark-toggle--81: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.4);
    box-shadow: 0 0 0 0 var(--csstools-light-dark-toggle--81, oklch(from var(--teal-500) l c h / 0.4));
  }

@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
0% {
    box-shadow: 0 0 0 0 light-dark(oklch(from var(--teal-500) l c h / 0.4), oklch(from var(--teal-400) l c h / 0.4));
  }
}
  70% {
    --csstools-light-dark-toggle--82: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0);
    box-shadow: 0 0 0 4px var(--csstools-light-dark-toggle--82, oklch(from var(--teal-500) l c h / 0));
  }

@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
70% {
    box-shadow: 0 0 0 4px light-dark(oklch(from var(--teal-500) l c h / 0), oklch(from var(--teal-400) l c h / 0));
  }
}
  100% {
    --csstools-light-dark-toggle--83: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0);
    box-shadow: 0 0 0 0 var(--csstools-light-dark-toggle--83, oklch(from var(--teal-500) l c h / 0));
  }

@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
100% {
    box-shadow: 0 0 0 0 light-dark(oklch(from var(--teal-500) l c h / 0), oklch(from var(--teal-400) l c h / 0));
  }
}
}
/* ===================================
   REDUCED MOTION SUPPORT
   Accessibility for users who prefer reduced motion
   =================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Disable specific animations for reduced motion users */
  .input:valid:not(:-moz-placeholder)::after, .input:invalid:not(:-moz-placeholder)::after {
    animation: none;
  }
  .input:valid:not(:placeholder-shown)::after,
  .input:invalid:not(:placeholder-shown)::after {
    animation: none;
  }

  .validation-message {
    animation: none;
  }
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family);
	font-weight: var(--font-weight-semi-bold);
	color: var(--color-text-heading);
	font-weight: var(--font-weight-regular);
	text-wrap: balance;
	word-break: break-word;
}
h1 {
	font-size: var(--font-size-7);
	line-height: var(--line-height-9);
}
h2 {
	font-size: var(--font-size-6);
	line-height: var(--line-height-8);
	position: relative;
	/* &::before {
		content: "» ";
		color: medium-dark(var(--slate-50), var(--slate-100));
	} */
	/* &::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		border-top: 1px dotted medium-dark(var(--slate-50), var(--slate-100));
	} */
}
h3 {
	font-size: var(--font-size-5);
	line-height: var(--line-height-7);
}
h4 {
	font-size: var(--font-size-4);
	line-height: var(--line-height-6);
}
h5 {
	font-size: var(--font-size-3);
	line-height: var(--line-height-5);
	font-weight: var(--font-weight-bold);
}
h6 {
	font-size: var(--font-size-2);
	line-height: var(--line-height-4);
}
p {
	--max-width: 43rem; /* ou 80ch */
	font-size: 1rem;
	line-height: var(--line-height-3);
    max-width: var(--max-width); 
}
::-moz-placeholder {
	font-size: var(--font-size-2);
	font-style: italic;
	color: var(--color-text-placeholder);
}
::placeholder {
	font-size: var(--font-size-2);
	font-style: italic;
	color: var(--color-text-placeholder);
}
body {
	display: grid;
	grid-template-rows: auto 1fr auto;
}
@supports (padding: max(0px)) {
	body {
		padding-left: max(0px, env(safe-area-inset-left));
		padding-right: max(0px, env(safe-area-inset-right));
	}
}
main {
	margin-top: var(--layout-main-margin-block);
	margin-bottom: var(--layout-main-margin-block);
	display: grid;
	grid-template-columns:
		[full-width-start] var(--layout-padding-column)
		[content-start] minmax(0, var(--layout-content-size))
		[narrow-start] min(100% - (var(--layout-padding-inline) * 2), var(--layout-narrow-max-width))
		[narrow-end] minmax(0, var(--layout-content-size))
		[content-end] var(--layout-padding-column)
		[full-width-end];
		grid-auto-rows: max-content;
}
main > section, main > h1, main > h2 {
	margin-top: var(--layout-section-flow);
	margin-bottom: var(--layout-section-flow);
}
main > :not(.narrow):not(.full-width),
.full-width > :not(.narrow):not(.full-width) {
	grid-column: content;
}
main > .narrow {
	grid-column: narrow;
}
main > .full-width {
	grid-column: full-width;
}
/* main > section > * {
    margin-top: 1.5rem;
} */
/* 
section {
	display: grid;
	gap: .5rem;
} */
section > h1, section > h2, section > h3, section > h4, section > h5, section > h6 {
	padding-top: var(--layout-margin-heading-bottom);
}
/* section > * + * {
	margin-block-start: var(--layout-section-flow);
} */
section form.form-grid {
	margin-top: calc(var(--layout-section-flow) * 3);
}
.grid-item {
	/* padding: var(--padding-inline); */
	border: var(--border-default);
}
.grid {
	display: grid;
	grid-gap: 1rem;
	gap: 1rem;
	/* grid-template-columns: repeat(4, 1fr); */
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	/* grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); */
	/* grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); */
}
.grid > div {
		border: 1px dotted var(--border-color);
		padding: var(--padding-inline);
	}
/* ===================================
   RESPONSIVE GRID CONTROL SYSTEM
   12-column grid system with breakpoint-based responsive classes

   USAGE:
   - .col__1 to .col__12: Base grid columns (desktop)
   - .col__sm1 to .col__sm12: Mobile responsive columns (≤768px)

   EXAMPLES:
   <div class="grid-control">
     <div class="col__4">25% width on desktop</div>
     <div class="col__sm12 col__8">Full width on mobile, 66% on desktop</div>
   </div>
   =================================== */
.grid-control {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: var(--layout-gap);
	gap: var(--layout-gap);
	margin-left: auto;
	margin-right: auto;

	/* Generate responsive column classes */

	/* Mobile responsive classes */
}
.grid-control .col__1 {
			grid-column: span 1;
		}
.grid-control .col__2 {
			grid-column: span 2;
		}
.grid-control .col__3 {
			grid-column: span 3;
		}
.grid-control .col__4 {
			grid-column: span 4;
		}
.grid-control .col__5 {
			grid-column: span 5;
		}
.grid-control .col__6 {
			grid-column: span 6;
		}
.grid-control .col__7 {
			grid-column: span 7;
		}
.grid-control .col__8 {
			grid-column: span 8;
		}
.grid-control .col__9 {
			grid-column: span 9;
		}
.grid-control .col__10 {
			grid-column: span 10;
		}
.grid-control .col__11 {
			grid-column: span 11;
		}
.grid-control .col__12 {
			grid-column: span 12;
		}
@media (max-width: 768px) {
			.grid-control .col__sm1 {
				grid-column: span 1;
			}
			.grid-control .col__sm2 {
				grid-column: span 2;
			}
			.grid-control .col__sm3 {
				grid-column: span 3;
			}
			.grid-control .col__sm4 {
				grid-column: span 4;
			}
			.grid-control .col__sm5 {
				grid-column: span 5;
			}
			.grid-control .col__sm6 {
				grid-column: span 6;
			}
			.grid-control .col__sm7 {
				grid-column: span 7;
			}
			.grid-control .col__sm8 {
				grid-column: span 8;
			}
			.grid-control .col__sm9 {
				grid-column: span 9;
			}
			.grid-control .col__sm10 {
				grid-column: span 10;
			}
			.grid-control .col__sm11 {
				grid-column: span 11;
			}
			.grid-control .col__sm12 {
				grid-column: span 12;
			}
	}
/* .flex-grid {
	display: flex;
	flex-wrap: wrap;

	.flex-col {
		flex-grow: 1;
		flex-basis: 0;
		padding: 0.5rem;
	}

	@for $i from 1 to 12 {
		.flex-col__$(i) {
			flex: 0 0 calc(100% / 12 * $i);
			max-width: calc(100% / 12 * $i);
			padding: 0.5rem;
		}
	}
	@media (max-width: 768px) {
		@for $i from 1 to 12 {
			.flex-col__sm$(i) {
				flex: 0 0 calc(100% / 12 * $i);
				max-width: calc(100% / 12 * $i);
			}
		}
	}
} */
/* ===================================
   CONTAINER SYSTEM
   Responsive container with breakpoint-based sizing
   =================================== */
.container {
    width: 100%
}
@media (min-width: var(--breakpoint-xs)) {
    .container {
        max-width:360px;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
@media (min-width: 768px) {
    .container {
        max-width:768px;
		padding-left: 4rem;
		padding-right: 4rem;
    }
}
@media (min-width: 1280px) {
    .container {
        max-width:1280px;
        padding-left: 0;
        padding-right: 0;
    }
}
/* Novos Grid */
/* @each $grid-cols in (1, 4, 8, 12) {
    .grid-cols-$(grid-cols) {grid-template-columns: repeat($(grid-cols), minmax(0, 1fr));}
}

@for $i from 1 to 12 by 1 {
	.col-span-$(i) {grid-column: span $(i) / span $(i)};
} */
.only-mobile {
	display: block;
}
@media (min-width: 768px) {
	.only-mobile {
		display: none;
	}
}
.page-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--spacing-s);
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--layout-main-margin-block);
	margin-bottom: var(--spacing-xs);
	width: 100%;
	width: min(var(--layout-content-max-width), 100% - (var(--layout-app-padding) * 2));
}
.page-footer > * {
		padding-top: var(--spacing-xs);
		padding-bottom: var(--spacing-xs);
	}
.page-footer > * {
	font-size: calc(var(--font-size-1) - 5%);
	color: var(--color-text-muted);
}
.page-footer__copyright {
}
.page-footer__social-links {
	list-style: none;
	display: flex;
	gap: var(--spacing-m);
	flex-direction: row;
	align-items: center;
	line-height: 1;
}
.page-footer__social-links li a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}
.page-footer__social-links .social-link {
		display: flex;
		font-weight: var(--font-weight-regular);
		color: var(--slate-400);
	}
.page-footer__social-links .social-link svg {
			width: 20px;
		}
#poweredBy {
	color: var(--slate-400) !important;
}
#poweredBy > a {
		color: var(--slate-400) !important;
	}
/* ===================================
   SISTEMA UNIFICADO DE BOTÕES
   Todos seguem o padrão base, só mudam cores contextuais
   =================================== */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
/* ===================================
    BOTÃO PRINCIPAL - TEAL
    =================================== */
a.button,
.button,
.button-small,
button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline),
input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--button-icon-gap);
    font-size: var(--button-font-size, var(--button-font-size-default));
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.2;
    height: var(--button-height, var(--button-height-default));
    padding: 0 var(--button-padding-x);
    margin: 0;
    border-radius: var(--border-radius-extra-small);
    border: 1px solid transparent;
    cursor: pointer;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    transition: var(--button-transition);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    /* Ícones padrão - cores adaptáveis */
}
a.button[disabled], a.button:disabled, .button[disabled], .button:disabled, .button-small[disabled], .button-small:disabled, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline)[disabled], button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline):disabled, input[type="button"][disabled], input[type="button"]:disabled, input[type="reset"][disabled], input[type="reset"]:disabled, input[type="submit"][disabled], input[type="submit"]:disabled {
        --csstools-light-dark-toggle--139: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--139, var(--slate-200));
        --csstools-light-dark-toggle--140: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--140, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
a.button[disabled], a.button:disabled, .button[disabled], .button:disabled, .button-small[disabled], .button-small:disabled, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline)[disabled], button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline):disabled, input[type="button"][disabled], input[type="button"]:disabled, input[type="reset"][disabled], input[type="reset"]:disabled, input[type="submit"][disabled], input[type="submit"]:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
a.button:focus-visible, .button:focus-visible, .button-small:focus-visible, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline):focus-visible, input[type="button"]:focus-visible, input[type="reset"]:focus-visible, input[type="submit"]:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
a.button svg, .button svg, .button-small svg, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline) svg, input[type="button"] svg, input[type="reset"] svg, input[type="submit"] svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
a.button path, .button path, .button-small path, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline) path, input[type="button"] path, input[type="reset"] path, input[type="submit"] path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
a.button,
.button,
.button-small,
button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline),
input[type="button"],
input[type="reset"],
input[type="submit"] {

    --csstools-light-dark-toggle--84: var(--csstools-color-scheme--light) var(--teal-700);

    --_background: var(--csstools-light-dark-toggle--84, var(--teal-400));
    --csstools-light-dark-toggle--85: var(--csstools-color-scheme--light) var(--teal-600);
    --_hover-background: var(--csstools-light-dark-toggle--85, var(--teal-500));
    --csstools-light-dark-toggle--86: var(--csstools-color-scheme--light) var(--teal-600);
    --_border-color: var(--csstools-light-dark-toggle--86, var(--teal-400));

    background-color: var(--_background);
    color: var(--slate-100);
    border-color: var(--_border-color);
}
@supports (color: light-dark(red, red)) {
a.button,
.button,
.button-small,
button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline),
input[type="button"],
input[type="reset"],
input[type="submit"] {

    --_background: light-dark(var(--teal-400), var(--teal-700));
    --_hover-background: light-dark(var(--teal-500), var(--teal-600));
    --_border-color: light-dark(var(--teal-400), var(--teal-600));
  }
}
@supports not (color: light-dark(tan, tan)) {
  a.button *, .button *, .button-small *, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline) *, input[type="button"] *, input[type="reset"] *, input[type="submit"] * {

    --csstools-light-dark-toggle--84: var(--csstools-color-scheme--light) var(--teal-700);

    --_background: var(--csstools-light-dark-toggle--84, var(--teal-400));
    --csstools-light-dark-toggle--85: var(--csstools-color-scheme--light) var(--teal-600);
    --_hover-background: var(--csstools-light-dark-toggle--85, var(--teal-500));
    --csstools-light-dark-toggle--86: var(--csstools-color-scheme--light) var(--teal-600);
    --_border-color: var(--csstools-light-dark-toggle--86, var(--teal-400));
  }
}
a.button:not(:disabled):hover, .button:not(:disabled):hover, .button-small:not(:disabled):hover, button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline):not(:disabled):hover, input[type="button"]:not(:disabled):hover, input[type="reset"]:not(:disabled):hover, input[type="submit"]:not(:disabled):hover {
        background-color: var(--_hover-background);
        border-color: var(--_hover-background);
    }
/* Só tamanho */
.button-small {
    --button-height: var(--button-height-small);
    --button-font-size: var(--button-font-size-small);
}
/* ===================================
   VARIANTE DE CORES - Só mudam cores, mantém tudo igual
   =================================== */
.button-primary {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-primary[disabled], .button-primary:disabled {
        --csstools-light-dark-toggle--146: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--146, var(--slate-200));
        --csstools-light-dark-toggle--147: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--147, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-primary[disabled], .button-primary:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-primary:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-primary svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-primary path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-primary {

        --_background: var(--primary-500);
        --_hover-background: var(--primary-600);
        --_border-color: var(--primary-500);

        background-color: var(--_background);
        color: white;
        border-color: var(--_border-color);
}
.button-primary:not(:disabled):hover {
            background-color: var(--_hover-background);
            border-color: var(--_hover-background);
        }
.button-primary-outline {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-primary-outline[disabled], .button-primary-outline:disabled {
        --csstools-light-dark-toggle--148: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--148, var(--slate-200));
        --csstools-light-dark-toggle--149: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--149, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-primary-outline[disabled], .button-primary-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-primary-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-primary-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-primary-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-primary-outline {

        --_color: var(--primary-500);
        --_hover-background: var(--primary-500);
        --_border-color: var(--primary-500);

        background-color: transparent;
        color: var(--_color);
        border-color: var(--_border-color);
}
.button-primary-outline:not(:disabled):hover {
            background-color: var(--_hover-background);
            color: white;
            border-color: var(--_hover-background);
        }
.button-success {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-success[disabled], .button-success:disabled {
        --csstools-light-dark-toggle--150: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--150, var(--slate-200));
        --csstools-light-dark-toggle--151: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--151, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-success[disabled], .button-success:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-success:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-success svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-success path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-success {

        --_background: var(--success-500);
        --_hover-background: var(--success-600);
        --_border-color: var(--success-500);

        background-color: var(--_background);
        color: white;
        border-color: var(--_border-color);
}
.button-success:not(:disabled):hover {
            background-color: var(--_hover-background);
            border-color: var(--_hover-background);
        }
.button-success-outline {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-success-outline[disabled], .button-success-outline:disabled {
        --csstools-light-dark-toggle--152: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--152, var(--slate-200));
        --csstools-light-dark-toggle--153: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--153, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-success-outline[disabled], .button-success-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-success-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-success-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-success-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-success-outline {

        --_color: var(--success-500);
        --_hover-background: var(--success-500);
        --_border-color: var(--success-500);

        background-color: transparent;
        color: var(--_color);
        border-color: var(--_border-color);
}
.button-success-outline:not(:disabled):hover {
            background-color: var(--_hover-background);
            color: white;
            border-color: var(--_hover-background);
        }
.button-error {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-error[disabled], .button-error:disabled {
        --csstools-light-dark-toggle--154: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--154, var(--slate-200));
        --csstools-light-dark-toggle--155: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--155, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-error[disabled], .button-error:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-error:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-error svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-error path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-error {

        --_background: var(--error-500);
        --_hover-background: var(--error-600);
        --_border-color: var(--error-500);

        background-color: var(--_background);
        color: white;
        border-color: var(--_border-color);
}
.button-error:not(:disabled):hover {
            background-color: var(--_hover-background);
            border-color: var(--_hover-background);
        }
.button-error-outline {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-error-outline[disabled], .button-error-outline:disabled {
        --csstools-light-dark-toggle--156: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--156, var(--slate-200));
        --csstools-light-dark-toggle--157: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--157, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-error-outline[disabled], .button-error-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-error-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-error-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-error-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-error-outline {

        --_color: var(--error-500);
        --_hover-background: var(--error-500);
        --_border-color: var(--error-500);

        background-color: transparent;
        color: var(--_color);
        border-color: var(--_border-color);
}
.button-error-outline:not(:disabled):hover {
            background-color: var(--_hover-background);
            color: white;
            border-color: var(--_hover-background);
        }
.button-warning {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-warning[disabled], .button-warning:disabled {
        --csstools-light-dark-toggle--158: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--158, var(--slate-200));
        --csstools-light-dark-toggle--159: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--159, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-warning[disabled], .button-warning:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-warning:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-warning svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-warning path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-warning {

        --_background: var(--warning-500);
        --_hover-background: var(--warning-600);
        --_border-color: var(--warning-500);

        background-color: var(--_background);
        color: white;
        border-color: var(--_border-color);
}
.button-warning:not(:disabled):hover {
            background-color: var(--_hover-background);
            border-color: var(--_hover-background);
        }
.button-warning-outline {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-warning-outline[disabled], .button-warning-outline:disabled {
        --csstools-light-dark-toggle--160: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--160, var(--slate-200));
        --csstools-light-dark-toggle--161: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--161, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-warning-outline[disabled], .button-warning-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-warning-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-warning-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-warning-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-warning-outline {

        --_color: var(--warning-500);
        --_hover-background: var(--warning-500);
        --_border-color: var(--warning-500);

        background-color: transparent;
        color: var(--_color);
        border-color: var(--_border-color);
}
.button-warning-outline:not(:disabled):hover {
            background-color: var(--_hover-background);
            color: white;
            border-color: var(--_hover-background);
        }
.button-info {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-info[disabled], .button-info:disabled {
        --csstools-light-dark-toggle--162: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--162, var(--slate-200));
        --csstools-light-dark-toggle--163: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--163, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-info[disabled], .button-info:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-info:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-info svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-info path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-info {

        --_background: var(--info-500);
        --_hover-background: var(--info-600);
        --_border-color: var(--info-500);

        background-color: var(--_background);
        color: white;
        border-color: var(--_border-color);
}
.button-info:not(:disabled):hover {
            background-color: var(--_hover-background);
            border-color: var(--_hover-background);
        }
.button-info-outline {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--button-icon-gap);
        font-size: var(--button-font-size, var(--button-font-size-default));
        font-weight: var(--font-weight-semi-bold);
        line-height: 1.2;
        height: var(--button-height, var(--button-height-default));
        padding: 0 var(--button-padding-x);
        margin: 0;
        border-radius: var(--border-radius-extra-small);
        border: 1px solid transparent;
        cursor: pointer;
        -webkit-text-decoration: none !important;
        text-decoration: none !important;
        transition: var(--button-transition);
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        /* Ícones padrão - cores adaptáveis */
    }
.button-info-outline[disabled], .button-info-outline:disabled {
        --csstools-light-dark-toggle--164: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--164, var(--slate-200));
        --csstools-light-dark-toggle--165: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--165, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-info-outline[disabled], .button-info-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-info-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-info-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-info-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-info-outline {

        --_color: var(--info-500);
        --_hover-background: var(--info-500);
        --_border-color: var(--info-500);

        background-color: transparent;
        color: var(--_color);
        border-color: var(--_border-color);
}
.button-info-outline:not(:disabled):hover {
            background-color: var(--_hover-background);
            color: white;
            border-color: var(--_hover-background);
        }
/* ===================================
   BOTÕES DE FUNÇÃO - Fundo neutro, cores específicas
   =================================== */
.button-filter,
.button-pdf,
.button-print,
.button-small-pdf,
.button-back,
.button-cancel {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--button-icon-gap);
    font-size: var(--button-font-size, var(--button-font-size-default));
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.2;
    height: var(--button-height, var(--button-height-default));
    padding: 0 var(--button-padding-x);
    margin: 0;
    border-radius: var(--border-radius-extra-small);
    border: 1px solid transparent;
    cursor: pointer;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    transition: var(--button-transition);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    /* Ícones padrão - cores adaptáveis */
}
.button-filter[disabled], .button-filter:disabled, .button-pdf[disabled], .button-pdf:disabled, .button-print[disabled], .button-print:disabled, .button-small-pdf[disabled], .button-small-pdf:disabled, .button-back[disabled], .button-back:disabled, .button-cancel[disabled], .button-cancel:disabled {
        --csstools-light-dark-toggle--141: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--141, var(--slate-200));
        --csstools-light-dark-toggle--142: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--142, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.button-filter[disabled], .button-filter:disabled, .button-pdf[disabled], .button-pdf:disabled, .button-print[disabled], .button-print:disabled, .button-small-pdf[disabled], .button-small-pdf:disabled, .button-back[disabled], .button-back:disabled, .button-cancel[disabled], .button-cancel:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.button-filter:focus-visible, .button-pdf:focus-visible, .button-print:focus-visible, .button-small-pdf:focus-visible, .button-back:focus-visible, .button-cancel:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.button-filter svg, .button-pdf svg, .button-print svg, .button-small-pdf svg, .button-back svg, .button-cancel svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.button-filter path, .button-pdf path, .button-print path, .button-small-pdf path, .button-back path, .button-cancel path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.button-filter,
.button-pdf,
.button-print,
.button-small-pdf,
.button-back,
.button-cancel {

    --csstools-light-dark-toggle--87: var(--csstools-color-scheme--light) var(--slate-800);

    --_background: var(--csstools-light-dark-toggle--87, var(--slate-100));
    --csstools-light-dark-toggle--88: var(--csstools-color-scheme--light) var(--slate-700);
    --_hover-background: var(--csstools-light-dark-toggle--88, var(--slate-200));
    --csstools-light-dark-toggle--89: var(--csstools-color-scheme--light) var(--slate-700);
    --_border-color: var(--csstools-light-dark-toggle--89, var(--slate-200));

    background-color: var(--_background);
    border-color: var(--_border-color);
}
@supports (color: light-dark(red, red)) {
.button-filter,
.button-pdf,
.button-print,
.button-small-pdf,
.button-back,
.button-cancel {

    --_background: light-dark(var(--slate-100), var(--slate-800));
    --_hover-background: light-dark(var(--slate-200), var(--slate-700));
    --_border-color: light-dark(var(--slate-200), var(--slate-700));
  }
}
@supports not (color: light-dark(tan, tan)) {
  .button-filter *, .button-pdf *, .button-print *, .button-small-pdf *, .button-back *, .button-cancel * {

    --csstools-light-dark-toggle--87: var(--csstools-color-scheme--light) var(--slate-800);

    --_background: var(--csstools-light-dark-toggle--87, var(--slate-100));
    --csstools-light-dark-toggle--88: var(--csstools-color-scheme--light) var(--slate-700);
    --_hover-background: var(--csstools-light-dark-toggle--88, var(--slate-200));
    --csstools-light-dark-toggle--89: var(--csstools-color-scheme--light) var(--slate-700);
    --_border-color: var(--csstools-light-dark-toggle--89, var(--slate-200));
  }
}
.button-filter:not(:disabled):hover, .button-pdf:not(:disabled):hover, .button-print:not(:disabled):hover, .button-small-pdf:not(:disabled):hover, .button-back:not(:disabled):hover, .button-cancel:not(:disabled):hover {
        background-color: var(--_hover-background);
        border-color: var(--_hover-background);
    }
/* CORES CONTEXTUAL - Sobre escrevem apenas as cores necessárias */
.button-pdf      { --_color: var(--error-500); }
.button-print    { --_color: var(--info-500); }
.button-back     { --_color: var(--neutral-700); }
.button-cancel   { --_color: var(--warning-600); }
.button-filter   { --_color: var(--neutral-600); }
.button-small-pdf{ --_color: var(--neutral-600); }
.button-pdf,
.button-print,
.button-back,
.button-cancel,
.button-filter,
.button-small-pdf {
    color: var(--_color);
}
/* Botões outline (save/delete) */
.btn-save-outline,
.btn-delete-outline {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--button-icon-gap);
    font-size: var(--button-font-size, var(--button-font-size-default));
    font-weight: var(--font-weight-semi-bold);
    line-height: 1.2;
    height: var(--button-height, var(--button-height-default));
    padding: 0 var(--button-padding-x);
    margin: 0;
    border-radius: var(--border-radius-extra-small);
    border: 1px solid transparent;
    cursor: pointer;
    -webkit-text-decoration: none !important;
    text-decoration: none !important;
    transition: var(--button-transition);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    /* Ícones padrão - cores adaptáveis */
}
.btn-save-outline[disabled], .btn-save-outline:disabled, .btn-delete-outline[disabled], .btn-delete-outline:disabled {
        --csstools-light-dark-toggle--143: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--143, var(--slate-200));
        --csstools-light-dark-toggle--144: var(--csstools-color-scheme--light) var(--slate-800);
        border-color: var(--csstools-light-dark-toggle--144, var(--slate-200));
        color: var(--slate-500);
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.btn-save-outline[disabled], .btn-save-outline:disabled, .btn-delete-outline[disabled], .btn-delete-outline:disabled {
        background-color: light-dark(var(--slate-200), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-800));
    }
}
.btn-save-outline:focus-visible, .btn-delete-outline:focus-visible {
        outline: 2px solid var(--focus-color);
        outline-offset: 2px;
    }
.btn-save-outline svg, .btn-delete-outline svg {
        width: 1em;
        height: 1em;
        flex-shrink: 0;
        fill: currentColor;
    }
.btn-save-outline path, .btn-delete-outline path {
        stroke: currentColor;
        stroke-width: var(--stroke-width-base);
    }
.btn-save-outline,
.btn-delete-outline {

    --_border-color: var(--success-500);
    --_color: var(--success-500);

    background-color: transparent !important;
    color: var(--_color);
    border-color: var(--_border-color);
}
.btn-save-outline:not(:disabled):hover, .btn-delete-outline:not(:disabled):hover {
        background-color: var(--_color);
        color: white;
    }
.btn-delete-outline {
    --_border-color: var(--error-500);
    --_color: var(--error-500);
}
.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--layout-gap);
    align-items: end;
}
/* ===================================
   ENHANCED BUTTON ANIMATIONS
   Smooth interactions and loading states
   =================================== */
.button:hover {
        transform: translateY(-1px);
    }
.button:active {
        transform: translateY(0);
        transition-duration: 50ms;
    }
.button.loading {
        position: relative;
        color: transparent;
    }
.button.loading::after {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 1rem;
            height: 1rem;
            border: 2px solid currentColor;
            border-top: 2px solid transparent;
            border-radius: 50%;
            animation: var(--animation-loading-spin);
        }
.button.success {
        background-color: var(--validation-success);
        animation: var(--animation-success-bounce);
    }
.button.success::after {
            content: "✓";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-weight: bold;
        }
/* :where(svg) > * {
    stroke-width: 1.5;
} */
/* svg path > * {
    stroke: var(--icon-color, light-dark(var(--slate-600), var(--slate-400)));
} */
.icon-small {
    width: var(--spacing-m);
}
.icon-base {
    width: var(--spacing-l);
}
.icon-large {
    width: var(--spacing-xxl);
}
.icon-extra-large {
    width: var(--spacing-xxxl);
}
.qr_code--xxl {
    width: calc(var(--spacing-xxl) * 4);
}
.icon-small--success {
        width: var(--spacing-l);
    }
.icon-small--success > * {
            fill: var(--success-400);
        }
.badge-icon-small--success {
        font-size: var(--font-size-0);
        padding: calc(var(--spacing-xxs)*.5) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        min-width: -moz-max-content;
        min-width: max-content;
        background-color: var(--success-200);
        color: var(--success-900);
    }
.badge--success {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: var(--spacing-xxs) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        width: -moz-max-content;
        width: max-content;
        background-color: var(--success-200);
        color: var(--success-900);
    }
.icon--success {
        width: var(--spacing-l);
    }
.icon--success > * {
            fill: var(--success-400);
        }
.badge-icon--success {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: calc(var(--spacing-xxs) * 0.5) var(--spacing-xxs);
        border-radius: var(--border-radius-large);
        max-width: -moz-max-content;
        max-width: max-content;
        background-color: var(--success-200);
        color: var(--success-900);
    }
.icon-small--error {
        width: var(--spacing-l);
    }
.icon-small--error > * {
            fill: var(--error-400);
        }
.badge-icon-small--error {
        font-size: var(--font-size-0);
        padding: calc(var(--spacing-xxs)*.5) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        min-width: -moz-max-content;
        min-width: max-content;
        background-color: var(--error-200);
        color: var(--error-900);
    }
.badge--error {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: var(--spacing-xxs) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        width: -moz-max-content;
        width: max-content;
        background-color: var(--error-200);
        color: var(--error-900);
    }
.icon--error {
        width: var(--spacing-l);
    }
.icon--error > * {
            fill: var(--error-400);
        }
.badge-icon--error {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: calc(var(--spacing-xxs) * 0.5) var(--spacing-xxs);
        border-radius: var(--border-radius-large);
        max-width: -moz-max-content;
        max-width: max-content;
        background-color: var(--error-200);
        color: var(--error-900);
    }
.icon-small--warning {
        width: var(--spacing-l);
    }
.icon-small--warning > * {
            fill: var(--warning-400);
        }
.badge-icon-small--warning {
        font-size: var(--font-size-0);
        padding: calc(var(--spacing-xxs)*.5) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        min-width: -moz-max-content;
        min-width: max-content;
        background-color: var(--warning-200);
        color: var(--warning-900);
    }
.badge--warning {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: var(--spacing-xxs) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        width: -moz-max-content;
        width: max-content;
        background-color: var(--warning-200);
        color: var(--warning-900);
    }
.icon--warning {
        width: var(--spacing-l);
    }
.icon--warning > * {
            fill: var(--warning-400);
        }
.badge-icon--warning {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: calc(var(--spacing-xxs) * 0.5) var(--spacing-xxs);
        border-radius: var(--border-radius-large);
        max-width: -moz-max-content;
        max-width: max-content;
        background-color: var(--warning-200);
        color: var(--warning-900);
    }
.icon-small--info {
        width: var(--spacing-l);
    }
.icon-small--info > * {
            fill: var(--info-400);
        }
.badge-icon-small--info {
        font-size: var(--font-size-0);
        padding: calc(var(--spacing-xxs)*.5) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        min-width: -moz-max-content;
        min-width: max-content;
        background-color: var(--info-200);
        color: var(--info-900);
    }
.badge--info {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: var(--spacing-xxs) var(--spacing-xs);
        border-radius: var(--border-radius-large);
        width: -moz-max-content;
        width: max-content;
        background-color: var(--info-200);
        color: var(--info-900);
    }
.icon--info {
        width: var(--spacing-l);
    }
.icon--info > * {
            fill: var(--info-400);
        }
.badge-icon--info {
        font-size: var(--font-size-1);
        font-weight: var(--font-weight-bold);
        padding: calc(var(--spacing-xxs) * 0.5) var(--spacing-xxs);
        border-radius: var(--border-radius-large);
        max-width: -moz-max-content;
        max-width: max-content;
        background-color: var(--info-200);
        color: var(--info-900);
    }
@keyframes spin_b {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.clr-icon[aria-label="Not started"] { color: var(--step-foreground-light); }
.clr-icon[aria-label="Current"] { color: var(--info-500); }
.clr-icon[aria-label="In progress"] { color: var(--info-500); }
.clr-icon[aria-label="Completed"] { color: var(--success-500); }
.clr-icon[aria-label="Error"] { color: var(--error-500); }
@media (prefers-reduced-motion: no-preference) {
    .clr-icon[aria-label="In progress"] {
        animation: spin_b 2s linear infinite;
    }
}
.profile-icon {
    -o-object-fit: cover;
       object-fit: cover;
    width: var(--spacing-l);
    height: var(--spacing-l);
    border-radius: var(--spacing-xxs);
}
/* ----------------------------------
     Card Grid Layout
     Modern responsive grid with container queries
     ---------------------------------- */
.cards {
     /* --_min-width: clamp(16rem, 22vw, 22rem); */
     --_min-width: max(16rem, min(20vw, 20rem));
     display: grid;
     grid-gap: var(--cards-gutter);
     gap: var(--cards-gutter);
     grid-template-columns: repeat(auto-fit, minmax(var(--_min-width), 1fr));
     margin-top: var(--card-margin-block);
     margin-bottom: var(--card-margin-block);

     /* Container queries for modern responsive behavior */
     container-type: inline-size;
 }
/* Container query: Small containers get single column */
@container (max-width: 400px) {
     .cards {
         grid-template-columns: 1fr;
         gap: var(--spacing-m);
     }
 }
/* Container query: Medium containers get 2 columns */
@container (min-width: 401px) and (max-width: 800px) {
     .cards {
         grid-template-columns: repeat(2, 1fr);
         gap: var(--spacing-m);
     }
 }
/* ----------------------------------
    Base Card Styles
---------------------------------- */
.card,
.card-small,
.card-transport {
    border-radius: var(--border-radius-medium);
    padding: var(--card-padding);
    background: var(--card-background);
    display: grid;
    grid-template-rows: auto 1fr auto;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast), outline var(--transition-fast);
    -webkit-text-decoration: none;
    text-decoration: none;
    will-change: transform, box-shadow;
    outline: 1px solid transparent;
}
.card {
    border-left: var(--card-border);
}
.card-small {
    border-bottom: var(--card-border);
}
.card-transport {
    border-top: var(--card-border);
}
/* ----------------------------------
    Card Hover States
---------------------------------- */
.card:hover, .card-small:hover, .card-transport:hover {
        box-shadow: var(--card-shadow-hover);
        cursor: pointer;
        transform: translateY(-0.25rem); 
        outline-color: var(--neutral-100);
    }
.card > *:not(:last-child), .card-small > *:not(:last-child), .card-transport > *:not(:last-child) {
        margin-bottom: var(--spacing-xs);     }
/* ----------------------------------
    Component Separator
---------------------------------- */
.component-separate {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-m);
}
/* ----------------------------------
    Card Header
---------------------------------- */
.card__title--wrapper {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
    padding-bottom: var(--spacing-xxs);
    border-bottom: 1px solid var(--border-color);
}
.card__title--wrapper > svg {
    width: var(--spacing-l);
    aspect-ratio: 1;
}
.card__title--wrapper > svg > * {
    stroke-width: var(--stroke-width-base);
    stroke: var(--teal-500);
    fill: none;
}
.card__header {
    display: flex;
    flex: 1;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-m);
}
.card__title {
    font-size: max(var(--font-size-3), min(3vw, calc(var(--font-size-3) * 0.95)));
    font-weight: var(--font-weight-semi-bold); 
    line-height: 1.3;
    flex: 1;
}
.card__status {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    white-space: nowrap;
    font-size: var(--font-size-2);
}
/* ----------------------------------
    Card Content
---------------------------------- */
/* .card__content {
    --content-line-height: 1.4;
    font: var(--font-weight-regular) var(--font-size-2) / var(--content-line-height) var(--font-family);
    color: var(--color-text);

    > p {
        font: inherit;
        font-size: var(--font-size-2);
        line-height: 1.6;
    }
}

.card__content--transport {
    color: var(--color-text);

    > p {
        font: var(--font-weight-regular) var(--font-size-2) / 1.6 var(--font-family);
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: var(--spacing-s);
    }
}

.card__description {
    font: var(--font-weight-regular) var(--font-size-2) / 1.4 var(--font-family);
    color: var(--color-text);
} */
.card__content,
.card__description {
    font: var(--font-weight-regular) var(--font-size-2) / 1.4 var(--font-family);
    color: var(--color-text);
}
.card__content > p,
.card__description > p {
    font: inherit;
    line-height: 1.6;
}
.card__content--transport > p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-s);
}
/* ----------------------------------
    Card Footer
---------------------------------- */
.card__footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-s);
}
.card__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-m);
}
.card__actions > a {
        display: inline-flex;
        gap: var(--spacing-xs);
        align-items: center;
        font-size: var(--font-size-1);
        -webkit-text-decoration: none;
        text-decoration: none;
        color: var(--color-link);
        transition: color var(--transition-normal);
    }
.card__actions > a:hover
     {
        color: var(--teal-500);
        outline: 1px dotted var(--teal-500);
        outline-offset: 2px;
    }
/* ----------------------------------
    Card Links
---------------------------------- */
.card__link {
    -webkit-text-decoration: none;
    text-decoration: none;
    color: var(--color-link);
    transition: color var(--transition-normal);
}
.card__link:hover,
    .card__link:focus-visible {
        color: var(--teal-500);
        outline: none;
    }
/* ----------------------------------
    SVG and Image Sizes
---------------------------------- */
.card__svg--s,
.card__svg--m,
.card__svg--l,
.card__svg--xl,
.card__svg--xxl {
    width: var(--spacing-s);
    min-width: var(--spacing-s);
    aspect-ratio: 1;
}
.card__svg--s { width: var(--spacing-m); }
.card__svg--m { width: var(--spacing-l); }
.card__svg--l { width: var(--spacing-xl); }
.card__svg--xl { width: var(--spacing-xxl); }
.card__svg--xxl { width: calc(var(--spacing-xxl) * 1.5); }
.card__svg--s > *,
.card__svg--m > *,
.card__svg--l > *,
.card__svg--xl > *,
.card__svg--xxl > * {
    stroke: var(--teal-500);
    stroke-width: var(--stroke-width-base);
    vector-effect: non-scaling-stroke;
    fill: none;
}
.card__img--s,
.card__img--m,
.card__img--l,
.card__img--xl,
.card__img--xxl {
    width: var(--spacing-s);
    border-radius: var(--border-radius-small);
}
.card__img--m { width: var(--spacing-m); }
.card__img--l { width: var(--spacing-l); }
.card__img--xl { width: var(--spacing-xl); }
.card__img--xxl { width: var(--spacing-xxl); }
/* ----------------------------------
    Responsive Design
---------------------------------- */
/* @media (max-width: 768px) {
    .cards {
        --_min-width: clamp(14rem, 90vw, 18rem);
        gap: var(--spacing-m);
    }

    .card,
    .card-small,
    .card-transport {
        padding: var(--spacing-m); 

    .card__title {
        font-size: var(--font-size-2);
    }

    .card__footer {
        flex-wrap: wrap;
    }
} */
@media (max-width: 768px) {
    .cards { --_min-width: max(14rem, min(90vw, 18rem)); gap: var(--spacing-m); }
    .card, .card-small, .card-transport { padding: var(--spacing-m); }
    .card__title { font-size: var(--font-size-2); }
    .card__footer { flex-wrap: wrap; }
}
@media (max-width: 480px) {
    .card__content > p,
    .card__content--transport > p { font-size: var(--font-size-1); }
    .card__actions { flex-direction: column; gap: var(--spacing-s); }
}
@media (max-width: 480px) {
    .card__content > p,
    .card__content--transport > p {
        font-size: var(--font-size-1); /* Smaller text */
    }

    .card__actions {
        flex-direction: column; /* Stack actions */
        gap: var(--spacing-s);
    }
}
/* ----------------------------------
    Reduced Motion
---------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .card,
    .card-small,
    .card-transport {
        transition: none;
    }

        .card:hover, .card-small:hover, .card-transport:hover {
            transform: none;
            outline-color: var(--teal-100);
        }
}
.dashboard {
    border: var(--border-default);
    border-radius: var(--border-radius-medium);
    /* background: var(--card-background); */
    box-shadow: var(--shadow-medium);
    padding: var(--layout-gap);

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    align-items: start;
    justify-items: stretch;
    grid-gap: var(--layout-gap);
    gap: var(--layout-gap);
}
.dashboard h3 {
        text-align: center;
        padding: 0;
        grid-column: 1 / -1;
    }
.dashboard .informacao {
        min-width: 280px;
    }
.input,
input,
select,
textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: var(--input-background);
    --csstools-light-dark-toggle--90: var(--csstools-color-scheme--light) var(--slate-50);
    color: var(--csstools-light-dark-toggle--90, var(--slate-900));
    font-size: var(--input-font-size-default);
    line-height: 1.5;
    margin: 0;
    padding: var(--input-padding);
    transition: var(--input-transition), border-color var(--transition-fast), box-shadow var(--transition-fast);
    width: 100%;
    border: 1px solid var(--input-border-color);
    border-bottom: 1px solid var(--teal-500);
    border-radius: var(--border-radius-extra-small);
    height: var(--input-height-default);
    position: relative;

    /* Enhanced validation states - only show when focused */

    /* Validation states when not focused - keep icons but neutral borders */
}
@supports (color: light-dark(red, red)) {
.input,
input,
select,
textarea {
    color: light-dark(var(--slate-900), var(--slate-50));
}
}
.input::-moz-placeholder, input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
        --csstools-light-dark-toggle--129: var(--csstools-color-scheme--light) var(--slate-500);
        color: var(--csstools-light-dark-toggle--129, var(--slate-400));
        opacity: 1;
        -moz-transition: opacity var(--transition-fast);
        transition: opacity var(--transition-fast);
    }
.input::placeholder, input::placeholder, select::placeholder, textarea::placeholder {
        --csstools-light-dark-toggle--129: var(--csstools-color-scheme--light) var(--slate-500);
        color: var(--csstools-light-dark-toggle--129, var(--slate-400));
        opacity: 1;
        transition: opacity var(--transition-fast);
    }
@supports (color: light-dark(red, red)) {
.input::-moz-placeholder, input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
        color: light-dark(var(--slate-400), var(--slate-500));
    }
.input::placeholder, input::placeholder, select::placeholder, textarea::placeholder {
        color: light-dark(var(--slate-400), var(--slate-500));
    }
}
.input:focus, input:focus, select:focus, textarea:focus {
        border-color: var(--teal-500);
        --csstools-light-dark-toggle--130: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.2);
        box-shadow: 0 0 0 2px var(--csstools-light-dark-toggle--130, oklch(from var(--teal-500) l c h / 0.2));
        outline: none;
        transform: translateY(-1px);
    }
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.input:focus, input:focus, select:focus, textarea:focus {
        box-shadow: 0 0 0 2px light-dark(oklch(from var(--teal-500) l c h / 0.2), oklch(from var(--teal-400) l c h / 0.2));
    }
}
.input:disabled, input:disabled, select:disabled, textarea:disabled {
        --csstools-light-dark-toggle--131: var(--csstools-color-scheme--light) var(--slate-800);
        background-color: var(--csstools-light-dark-toggle--131, var(--slate-100));
        --csstools-light-dark-toggle--132: var(--csstools-color-scheme--light) var(--slate-700);
        border-color: var(--csstools-light-dark-toggle--132, var(--slate-200));
        --csstools-light-dark-toggle--133: var(--csstools-color-scheme--light) var(--slate-500);
        color: var(--csstools-light-dark-toggle--133, var(--slate-500));
        cursor: not-allowed;
        opacity: 0.7;
    }
@supports (color: light-dark(red, red)) {
.input:disabled, input:disabled, select:disabled, textarea:disabled {
        background-color: light-dark(var(--slate-100), var(--slate-800));
        border-color: light-dark(var(--slate-200), var(--slate-700));
        color: light-dark(var(--slate-500), var(--slate-500));
    }
}
.input:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), input:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), select:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), textarea:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]) {
        border-color: var(--validation-success);
        background-color: var(--validation-success-bg);
    }
.input:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), input:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), select:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), textarea:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]) {
        border-color: var(--validation-success);
        background-color: var(--validation-success-bg);
    }
.input:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:focus:valid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "✓";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-success);
            font-size: var(--validation-icon-size);
            font-weight: bold;
            animation: var(--animation-success-bounce);
        }
.input:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:focus:valid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "✓";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-success);
            font-size: var(--validation-icon-size);
            font-weight: bold;
            animation: var(--animation-success-bounce);
        }
.input:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), input:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), select:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), textarea:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]) {
        border-color: var(--validation-error);
        background-color: var(--validation-error-bg);
        animation: var(--animation-error-shake);
    }
.input:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), input:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), select:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]), textarea:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"]) {
        border-color: var(--validation-error);
        background-color: var(--validation-error-bg);
        animation: var(--animation-error-shake);
    }
.input:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:focus:invalid:not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "⚠";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-error);
            font-size: var(--validation-icon-size);
            animation: var(--animation-pulse);
        }
.input:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:focus:invalid:not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "⚠";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-error);
            font-size: var(--validation-icon-size);
            animation: var(--animation-pulse);
        }
.input:valid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:valid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:valid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:valid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "✓";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-success);
            font-size: var(--validation-icon-size);
            font-weight: bold;
        }
.input:valid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:valid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:valid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:valid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "✓";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-success);
            font-size: var(--validation-icon-size);
            font-weight: bold;
        }
.input:invalid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:invalid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:invalid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:invalid:not(:focus):not(:-moz-placeholder):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "⚠";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-error);
            font-size: var(--validation-icon-size);
        }
.input:invalid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, input:invalid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, select:invalid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after, textarea:invalid:not(:focus):not(:placeholder-shown):not(input[type="checkbox"]):not(input[type="radio"]):not(input[type="date"]):not(input[type="datetime-local"]):not(input[type="time"])::after {
            content: "⚠";
            position: absolute;
            right: var(--spacing-xs);
            top: 50%;
            transform: translateY(-50%);
            color: var(--validation-error);
            font-size: var(--validation-icon-size);
        }
.input:has(+ .validation-message), input:has(+ .validation-message), select:has(+ .validation-message), textarea:has(+ .validation-message) {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
/* -----------------------------------------------
      TEXTAREA STYLES
      ----------------------------------------------- */
textarea {
  height: auto;
  min-height: calc(var(--input-height-default) * 2);
  padding: var(--input-padding-y) var(--input-padding-x);
  resize: vertical;
  line-height: 1.5;
}
/* -----------------------------------------------
      CHECKBOX AND RADIO STYLES
      ----------------------------------------------- */
input[type="checkbox"],
input[type="radio"] {
  height: var(--input-checkbox-size);
  width: var(--input-checkbox-size);
  padding: 0;
  margin: 0;
  margin-left: var(--spacing-x);
  margin-right: var(--spacing-x);
  border: var(--input-border);
}
input[type="checkbox"]:checked, input[type="radio"]:checked {
    background-color: var(--success-500);
    border-color: var(--success-500);
  }
input[type="checkbox"]:focus, input[type="radio"]:focus {
    box-shadow: 0 0 0 2px var(--primary-500/0.1);
  }
/* -----------------------------------------------
      RADIO SPECIFIC STYLES
      ----------------------------------------------- */
input[type="radio"] {
  border-radius: 50%;
}
input[type="radio"]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
  }
/* -----------------------------------------------
       CHECKBOX SPECIFIC STYLES
       ----------------------------------------------- */
input[type="checkbox"] {
  border-radius: var(--input-border-radius);
}
input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
  }
/* Fix: Remove warning icons from checkboxes */
input[type="checkbox"]:invalid:not(:-moz-placeholder)::after {
  content: none;
}
input[type="checkbox"]:invalid:not(:placeholder-shown)::after {
  content: none;
}
input[type="datetime-local"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: var(--input-background);
    --csstools-light-dark-toggle--91: var(--csstools-color-scheme--light) var(--slate-50);
    color: var(--csstools-light-dark-toggle--91, var(--slate-900));
    font-size: var(--input-font-size-default);
    line-height: 1.25;
    margin: 0;
    padding: var(--input-padding);
    transition: var(--input-transition);
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--teal-500);
    border-radius: var(--border-radius-extra-small);
    height: -moz-fit-content;
    height: fit-content;
}
@supports (color: light-dark(red, red)) {
input[type="datetime-local"] {
    color: light-dark(var(--slate-900), var(--slate-50));
}
}
/* -----------------------------------------------
      SELECT STYLES
      ----------------------------------------------- */
select {
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
}
select[multiple] {
    background-image: none;
    height: auto;
    padding: var(--input-padding-y);
  }
select[multiple] option {
      padding: var(--input-padding-y) var(--input-padding-x);
    }
select[multiple] option:checked {
        background-color: var(--primary-500);
        color: white;
      }
input[type="range"] {
  height: var(--input-checkbox-size);
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
              appearance: none;
      height: var(--input-checkbox-size);
      width: var(--input-checkbox-size);
      background-color: var(--primary-500);
      border-radius: 50%;
      cursor: pointer;
      margin-top: -0.5rem;
  }
input[type="range"]::-moz-range-thumb {
      height: var(--input-checkbox-size);
      width: var(--input-checkbox-size);
      background-color: var(--primary-500);
      border-radius: 50%;
      cursor: pointer;
      border: none;
  }
input[type="range"]::-webkit-slider-runnable-track {
      height: 0.25rem;
      --csstools-light-dark-toggle--134: var(--csstools-color-scheme--light) var(--slate-700);
      background-color: var(--csstools-light-dark-toggle--134, var(--slate-200));
      border-radius: 9999px;
  }
@supports (color: light-dark(red, red)) {
input[type="range"]::-webkit-slider-runnable-track {
      background-color: light-dark(var(--slate-200), var(--slate-700));
  }
}
input[type="range"]::-moz-range-track {
      height: 0.25rem;
      --csstools-light-dark-toggle--135: var(--csstools-color-scheme--light) var(--slate-700);
      background-color: var(--csstools-light-dark-toggle--135, var(--slate-200));
      border-radius: 9999px;
  }
@supports (color: light-dark(red, red)) {
input[type="range"]::-moz-range-track {
      background-color: light-dark(var(--slate-200), var(--slate-700));
  }
}
/* -----------------------------------------------
       FORM LAYOUT STYLES
       Modern form interactions with :has() selector
       ----------------------------------------------- */
.form-control {
   display: flex;
   flex-direction: column;
   gap: var(--input-gap);
   margin-bottom: 1rem;

   /* :has() selector for enhanced form interactions */
}
.form-control:has(input:focus) label {
           color: var(--teal-600);
           font-weight: 600;
       }
.form-control:has(input:invalid:not(:-moz-placeholder)) label {
           color: var(--error-500);
       }
.form-control:has(input:invalid:not(:placeholder-shown)) label {
           color: var(--error-500);
       }
.form-control > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-base);
  }
.form-check {
  flex-direction: row !important;
  align-items: flex-end;
  padding-bottom: 0.5rem;
}
.radiobox,
.checkbox {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--spacing-base);
}
.checkbox-control,
.radio-control {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--input-margin-block);
}
.h-checkbox {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: var(--spacing-base);
  padding-top: 1.5rem;
}
.label,
label:not(.login-container__label):not(form[name="registration_form"] label) {
  --csstools-light-dark-toggle--92: var(--csstools-color-scheme--light) var(--slate-300);
  color: var(--csstools-light-dark-toggle--92, var(--slate-700));
  font-size: var(--input-font-size-default);
  font-weight: 500;
  line-height: 1.5;
}
@supports (color: light-dark(red, red)) {
.label,
label:not(.login-container__label):not(form[name="registration_form"] label) {
  color: light-dark(var(--slate-700), var(--slate-300));
}
}
.form-help {
  --csstools-light-dark-toggle--93: var(--csstools-color-scheme--light) var(--slate-400);
  color: var(--csstools-light-dark-toggle--93, var(--slate-500));
  font-size: var(--input-font-size-small);
  margin-top: 0.25rem;
}
@supports (color: light-dark(red, red)) {
.form-help {
  color: light-dark(var(--slate-500), var(--slate-400));
}
}
.form-help {
  --csstools-light-dark-toggle--94: var(--csstools-color-scheme--light) var(--slate-400);
  color: var(--csstools-light-dark-toggle--94, var(--slate-500));
  font-size: var(--input-font-size-small);
  margin-top: 0.25rem;
}
@supports (color: light-dark(red, red)) {
.form-help {
  color: light-dark(var(--slate-500), var(--slate-400));
}
}
/* -----------------------------------------------
      ERROR STYLES
      ----------------------------------------------- */
.field-error,
.input-error {
  border-color: var(--error-400);
}
.field-error:focus, .input-error:focus {
    box-shadow: 0 0 0 2px var(--error-500/0.1);
  }
.form-error,
.field-error,
.is-invalid,
.error-message {
  color: var(--error-400);
  font-size: var(--input-font-size-small);
}
/* ===================================
   ENHANCED VALIDATION MESSAGE SYSTEM
   Improved visual feedback for form validation
   =================================== */
.validation-message {
  margin: 0;
  padding: var(--validation-message-gap) var(--spacing-s);
  font-size: var(--input-font-size-small);
  line-height: 1.4;
  border: 1px solid;
  border-top: none;
  border-bottom-left-radius: var(--border-radius-extra-small);
  border-bottom-right-radius: var(--border-radius-extra-small);
  animation: var(--animation-validation-appear);
  position: relative;
}
.validation-message::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: currentColor;
  }
.validation-message.validation-success {
    color: var(--validation-success);
    background-color: var(--validation-success-bg);
    border-color: var(--validation-success);
  }
.validation-message.validation-success::before {
      background: var(--validation-success);
    }
.validation-message.validation-error {
    color: var(--validation-error);
    background-color: var(--validation-error-bg);
    border-color: var(--validation-error);
  }
.validation-message.validation-error::before {
      background: var(--validation-error);
    }
.validation-message.validation-warning {
    color: var(--validation-warning);
    background-color: var(--validation-warning-bg);
    border-color: var(--validation-warning);
  }
.validation-message.validation-warning::before {
      background: var(--validation-warning);
    }
.validation-message.validation-info {
    color: var(--validation-info);
    background-color: var(--validation-info-bg);
    border-color: var(--validation-info);
  }
.validation-message.validation-info::before {
      background: var(--validation-info);
    }
/* ===================================
   LOADING STATES FOR FORM ELEMENTS
   Visual feedback during async operations
   =================================== */
.input-loading {
  position: relative;
}
.input-loading::after {
    content: "";
    position: absolute;
    right: var(--spacing-xs);
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    --csstools-light-dark-toggle--136: var(--csstools-color-scheme--light) var(--slate-600);
    border: 2px solid var(--csstools-light-dark-toggle--136, var(--slate-300));
    border-top: 2px solid var(--teal-500);
    border-radius: 50%;
    animation: var(--animation-loading-spin);
  }
@supports (color: light-dark(red, red)) {
.input-loading::after {
    border: 2px solid light-dark(var(--slate-300), var(--slate-600));
  }
}
/* ===================================
   FORM GROUP ENHANCEMENTS
   Better visual hierarchy and interactions
   =================================== */
.form-group {
  position: relative;
  margin-bottom: var(--spacing-base);
}
.form-group.has-focus .form-label {
      color: var(--teal-600);
      font-weight: 600;
      transform: translateY(-2px);
    }
.form-group.has-error .form-label {
      color: var(--validation-error);
    }
.form-group.has-error input,
    .form-group.has-error select,
    .form-group.has-error textarea {
      border-color: var(--validation-error);
      --csstools-light-dark-toggle--145: var(--csstools-color-scheme--light) oklch(from var(--error-400) l c h / 0.1);
      box-shadow: 0 0 0 2px var(--csstools-light-dark-toggle--145, oklch(from var(--error-500) l c h / 0.1));
    }
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.form-group.has-error input,
    .form-group.has-error select,
    .form-group.has-error textarea {
      box-shadow: 0 0 0 2px light-dark(oklch(from var(--error-500) l c h / 0.1), oklch(from var(--error-400) l c h / 0.1));
    }
}
.form-group.has-success .form-label {
      color: var(--validation-success);
    }
.form-group.has-success input,
    .form-group.has-success select,
    .form-group.has-success textarea {
      border-color: var(--validation-success);
      background-color: var(--validation-success-bg);
    }
.form-label {
  display: block;
  margin-bottom: var(--validation-message-gap);
  font-weight: 500;
  --csstools-light-dark-toggle--95: var(--csstools-color-scheme--light) var(--slate-300);
  color: var(--csstools-light-dark-toggle--95, var(--slate-700));
  transition: all var(--transition-fast);
  cursor: pointer;
}
@supports (color: light-dark(red, red)) {
.form-label {
  color: light-dark(var(--slate-700), var(--slate-300));
}
}
/* -----------------------------------------------
      FORM GRID STYLING
      ----------------------------------------------- */
.form-grid .form-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    margin-bottom: var(--input-margin-block);
    border-bottom: 1px dotted var(--border-color);
  }
@media (max-width: 900px) {
.form-grid .form-row {
      grid-template-columns: 1fr
  }
    }
.form-grid .form-row .form-meta {
      padding-bottom: 1rem;
      margin-bottom: var(--input-margin-block);
    }
.form-grid .form-row .form-meta .form-meta__title {
        font-size: var(--font-size-4);
        font-weight: var(--font-weight-bold);
        margin-top: 0;
        margin-bottom: 0;
        padding-right: 1rem;
      }
.form-grid .form-row .form-meta .form-meta__description {
        font-size: var(--font-size-2);
        font-weight: var(--font-weight-light);
        margin-top: 0;
        margin-bottom: 0;
        padding-right: 1rem;
      }
.form-grid .form-row .form-elements {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-gap: 1rem;
      gap: 1rem;
    }
.form-grid .form-row .form-elements .col-1 {
          grid-column: auto / span 1;
        }
.form-grid .form-row .form-elements .col-2 {
          grid-column: auto / span 2;
        }
.form-grid .form-row .form-elements .col-3 {
          grid-column: auto / span 3;
        }
.form-grid .form-row .form-elements .col-4 {
          grid-column: auto / span 4;
        }
@media (max-width: 900px) {
          .form-grid .form-row .form-elements .col-1 {
            grid-column: auto / span 2;
          }
          .form-grid .form-row .form-elements .col-2 {
            grid-column: auto / span 2;
          }
          .form-grid .form-row .form-elements .col-3 {
            grid-column: auto / span 2;
          }
          .form-grid .form-row .form-elements .col-4 {
            grid-column: auto / span 2;
          }
      }
@media (max-width: 600px) {
          .form-grid .form-row .form-elements .col-1 {
            grid-column: auto / span 4;
          }
          .form-grid .form-row .form-elements .col-2 {
            grid-column: auto / span 4;
          }
          .form-grid .form-row .form-elements .col-3 {
            grid-column: auto / span 4;
          }
          .form-grid .form-row .form-elements .col-4 {
            grid-column: auto / span 4;
          }
      }
.pagination-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--pagination-spacing-m);
    font-size: var(--pagination-font-size);
    gap: var(--pagination-spacing-s);
}
@media (max-width: 768px) {
.pagination-container {
        flex-direction: column;
        align-items: flex-start
}
    }
.results-count {
    color: var(--pagination-color-text);
    padding: var(--pagination-spacing-s);
    display: flex;
    gap: var(--pagination-spacing-xs);
}
@media (max-width: 768px) {
.results-count {
        padding: var(--pagination-spacing-xs) 0
}
    }
.pagination {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--pagination-spacing-xs);
}
@media (max-width: 768px) {
.pagination {
        width: 100%;
        justify-content: space-between
}
    }
.page-item {
    margin: 0;
}
@media (max-width: 768px) {
        .page-item:not(.active):not(:first-child):not(:last-child) {
            display: none;
        }
    }
.page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--pagination-item-size);
    height: var(--pagination-item-size);
    padding: 0 var(--pagination-spacing-s);
    color: var(--pagination-color-link);
    background-color: var(--pagination-color-surface);
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all var(--pagination-transition);
    border-radius: var(--border-radius-extra-small);
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.page-link:hover:not(.page-link--disabled):not(.page-link--current) {
        color: var(--pagination-color-link-hover);
        background-color: var(--pagination-color-hover-surface);
        -webkit-text-decoration: underline;
        text-decoration: underline;
    }
.page-link--current {
        color: var(--pagination-color-active-text);
        background-color: var(--pagination-color-active);
        font-weight: var(--font-weight-semi-bold);
    }
.page-link--disabled {
        color: var(--pagination-color-text-muted);
        background-color: transparent;
        pointer-events: none;
    }
.alert-box {
    position: fixed;
    top: var(--navbar-header-height);
    right: 0;
    margin: 1rem;
    z-index: var(--z-index-toast);
}
.alert {
    min-width: clamp(15rem, 10rem + 13.333vw, 22rem);
    padding: var(--spacing-s);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-s);
    color: var(--_color);
    background-color: var(--_bg-color);
    border-left: 4px solid var(--_border-color);
    border-radius: var(--border-radius-small);
    box-shadow: var(--shadow-extra-large);
    transition: opacity 0.5s ease-in-out;
    opacity: 1;
    margin-bottom: 1rem;
}
.alert > div {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
    }
.alert .closebtn {
        background: transparent;
        border: none;
        font-size: var(--font-size-2); /* 0.875rem */
        color: var(--_color);
        cursor: pointer;
        padding: 0.5rem;
        transition: color 0.3s ease;
    }
.alert .closebtn:hover {
            color: var(--_border-color);
        }
.alert .closebtn[aria-label="Fechar alerta"]::before {
            content: "×";
        }
@media (max-width: 768px) {
.alert {
        min-width: max(12rem, min(90vw, 16rem));
        padding: var(--spacing-base);
        font-size: var(--font-size-1)
}
    }
.alert-success {
        --_bg-color: var(--success-100);
        --_color: var(--success-800);
        --_border-color: var(--success-500);
    }
.alert-info {
        --_bg-color: var(--info-100);
        --_color: var(--info-800);
        --_border-color: var(--info-500);
    }
.alert-warning {
        --_bg-color: var(--warning-100);
        --_color: var(--warning-800);
        --_border-color: var(--warning-500);
    }
.alert-error {
        --_bg-color: var(--error-100);
        --_color: var(--error-800);
        --_border-color: var(--error-500);
    }
/* Mixin definition */
.multi-steps--h {
    list-style: none;
    display: flex;
    width: 100%;
    counter-reset: stepNum;
}
.multi-steps--h > li {
        counter-increment: stepNum;
        text-align: center;
        flex: 1;
        position: relative;
        color: var(--slate-800);
        font-size: var(--font-size-2);
    }
.multi-steps--h > li:before {
            content: "✔";
            display: block;
            margin: 0 auto 4px;
            background-color: var(--step-background);
            width: var(--spacing-l);
            height: var(--spacing-l);
            line-height: var(--spacing-l);
            text-align: center;
            font-weight: var(--font-weight-semi-bold);
            border: 1px solid var(--success-500);
            border-radius: 50%;
            color: var(--success-500);
        }
.multi-steps--h > li:after {
            content: "";
            height: 2px;
            width: 100%;
            background-color: var(--step-background);
            position: absolute;
            top: 12px;
            left: 50%;
            z-index: -1;
        }
.multi-steps--h > li:last-child:after {
            display: none;
        }
.multi-steps--h > li.is-active:before {
		content: counter(stepNum);
		font-family: inherit;
		font-weight: var(--font-weight-regular);
	}
.multi-steps--h > li.is-active:after {
		background-color: var(--step-background);
	}
.multi-steps--h > li.is-active:before {
                border-color: var(--success-500);
            }
.multi-steps--h > li.is-active ~ li {
                color: var(--color-text-muted);
            }
.multi-steps--h > li.is-active ~ li:before {
		content: counter(stepNum);
		font-family: inherit;
		font-weight: var(--font-weight-regular);
	}
.multi-steps--h > li.is-active ~ li:after {
		background-color: var(--step-background);
	}
.multi-steps--h > li.is-active ~ li:before {
                    background-color: var(--step-background);
                    border-color: var(--color-text-muted);
                    color: var(--step-foreground-light);
                }
.tracking-timeline-horizontal {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
    justify-content: space-between;
}
.tracking-timeline-step {
    flex: 1;
    min-width: 120px;
    position: relative;
    padding: var(--spacing-base) var(--spacing-s);
    text-align: center;
}
.tracking-timeline-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: calc(var(--spacing-l) + var(--spacing-s));
    right: -50%;
    width: 100%;
    height: 2px;
    background-color: var(--step-background);
    z-index: -1;
}
.tracking-timeline-step-header {
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-size-2);
    color: var(--step-foreground);
    margin-bottom: var(--spacing-xs);
}
.tracking-timeline-step .clr-icon {
    display: inline-block;
    width: var(--spacing-l);
    height: var(--spacing-l);
    background-color: var(--background);
    border-radius: 50%;
    margin-bottom: var(--spacing-s);
    border: 1px solid var(--info-500);
}
.tracking-timeline-step.disabled .clr-icon {
    background-color: var(--slate-100);
    border-color: var(--slate-100);
}
.tracking-timeline-step-body {
    font-size: var(--font-size-2);
    line-height: 1.25;
}
.tracking-timeline-step-title {
    display: block;
    font-size: var(--font-size-3);
    font-weight: var(--font-weight-semi-bold);
    margin-bottom: var(--spacing-xs);
    line-height: 1;
}
.tracking-timeline-step-description {
    color: var(--step-text-muted);
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-regular);
}
@media (prefers-reduced-motion: no-preference) {
    .tracking-timeline-step .fa-spin,
    .tracking-timeline-step .clr-icon[aria-label="In progress"] {
        animation: spin_b 5s ease-in-out infinite;
    }
}
.timeline-progress-container {
    width: 100%;
    max-width: 95%;
    margin: var(--spacing-base) auto;
    padding: 0 var(--spacing-base);
}
.timeline-progress {
    height: 0.25rem;
    --csstools-light-dark-toggle--96: var(--csstools-color-scheme--light) var(--slate-600);
    background-color: var(--csstools-light-dark-toggle--96, var(--slate-400));
    border-radius: var(--border-radius-extra-small);
    position: relative;
    margin: var(--spacing-base) 0;
}
@supports (color: light-dark(red, red)) {
.timeline-progress {
    background-color: light-dark(var(--slate-400), var(--slate-600));
}
}
.timeline-progress .progress-bar {
    height: 100%;
    background-color: var(--success-400);
    border-radius: var(--border-radius-extra-small);
    position: relative;
    transition: width 0.5s ease-in-out;
}
.timeline-progress .progress-marker {
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--success-400);
    border: 1px solid var(--slate-50);
    border-radius: 50%;
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    box-shadow: var(--shadow-small);
}
.vehicle {
    width: var(--spacing-l);
    height: var(--spacing-l);
    position: absolute;
    right: -12px;
    top: calc(-1 * var(--spacing-l) - var(--spacing-xs));
}
.timeline-progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-3);
    color: var(--font-color-body);
}
.progress-current {
    font-weight: var(--font-weight-bold);
    color: var(--slate-400);
}
.vehicle {
    width: 1.75rem;
    height: 1.75rem;
    position: absolute;
    right: -12px;
    top: -188%;
}
.em-servico--title {
	align-items: flex-end;
    gap: 1rem;
}
.timeline-progress-labels {
	display: flex;
	justify-content: space-between;
	font-size: var(--font-size-3);
	color: var(--font-color-body);
}
.progress-current {
	font-weight: bold;
	color: var(--slate-400);
}
@media (max-width: 768px) {
    .tracking-timeline-horizontal {
        flex-direction: column;
    }
    .timeline-progress-container {
        padding: 0 var(--spacing-s);
    }
    .tracking-timeline-step {
        text-align: left;
        padding-left: calc(var(--spacing-l) + var(--spacing-s));
    }

    .tracking-timeline-step:not(:last-child)::after {
        top: calc(var(--spacing-l) + var(--spacing-xs));
        left: calc(var(--spacing-l) / 2);
        width: 2px;
        height: calc(100% - var(--spacing-base));
    }

    .tracking-timeline-step .clr-icon {
        position: absolute;
        left: var(--spacing-xs);
        top: var(--spacing-base);
    }
}
@keyframes spin_b {
    0% { transform: rotate(0deg); opacity: 0.5; }
    50% { transform: rotate(180deg); opacity: 1; }
    100% { transform: rotate(360deg); opacity: 0.5; }
}
@keyframes drive {
    0% { transform: translateX(0) rotate(0deg); opacity: 1; }
    25% { transform: translateX(20px) rotate(-5deg); }
    75% { transform: translateX(40px) rotate(5deg); }
    90% { transform: translateX(60px) rotate(0deg); opacity: 1; }
    95% { transform: translateX(60px) rotate(-5deg); opacity: 0.5; }
    100% { transform: translateX(70px) rotate(0deg); opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
    .vehicle {
        animation: drive 3s ease-in-out infinite;
    }
}
@media (prefers-reduced-motion: no-preference) {
    .tracking-timeline-step .fa-spin,
    .tracking-timeline-step .clr-icon[aria-label="In progress"] {
        animation: spin_b 5s ease-in-out infinite;
    }
}
.fa-spin {
	display: inline-block;
	width: 24px;
	height: 24px;
	background-color: var(--background);
	border-radius: 50%;
	margin-bottom: 10px;
}
.timeline-container {
    --layout-timeline-max-width: 900px;
    max-width: var(--layout-timeline-max-width);
    margin-left: auto;
    margin-right: auto;
}
.timeline {
    line-height: var(--line-height-3);
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
.timeline-item {
    padding-left: var(--spacing-xl);
    position: relative;
}
.timeline-item:last-child {
        padding-bottom: 0;
    }
.timeline-item:last-child .timeline-marker:after {
            content: none;
        }
.timeline-item:not(.period):hover .timeline-marker:before,
    .timeline-item:not(.period):focus-within .timeline-marker:before {
        background: transparent;
        border: var(--border-width-medium) solid var(--step-background);
    }
.timeline-info {
    font-size: var(--font-size-2);
    font-weight: var(--font-weight-semi-bold);
    letter-spacing: var(--letter-spacing-tight);
    margin-bottom: var(--spacing-xs);
    color: var(--step-text-muted);
    text-transform: uppercase;
    white-space: nowrap;
}
.timeline-marker {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
.timeline-marker:before {
        background: var(--accent-surface);
        border: 2px solid transparent;
        border-radius: 100%;
        content: "";
        display: block;
        height: 1.15rem;
        width: 1.15rem;
        position: absolute;
        top: 3px;
        left: -8px;
        transition: background var(--transition-fast), border var(--transition-fast);
    }
.timeline-marker:after {
        content: "";
        width: 3px;
        background: var(--step-background);
        display: block;
        position: absolute;
        top: var(--spacing-l);
        bottom: 0;
        left: 0px;
    }
.timeline-content {
    padding-bottom: var(--spacing-xl);
    color: var(--step-foreground);
}
.timeline-content p:last-child {
        margin-bottom: 0;
        font-size: var(--font-size-2);
        font-weight: var(--font-weight-regular);
        margin-bottom: 0.25rem;
        line-height: 1.5;
    }
.period {
    padding: 0;
}
.period .timeline-info {
        display: none;
    }
.period .timeline-marker:before {
            background: transparent;
            content: "";
            width: 9px;
            height: auto;
            border: none;
            border-radius: 0;
            top: 0;
            left: -3px;
            bottom: var(--spacing-l);
            position: absolute;
        }
.period .timeline-marker:after {
            content: "";
            height: var(--spacing-l);
            top: auto;
        }
.period .timeline-content {
        padding: var(--spacing-xl) 0 var(--spacing-xxl);
    }
.timeline-title,
.period .timeline-title {
    display: block;
    font-size: var(--font-size-4);
    font-weight: var(--font-weight-bold);
    margin-bottom: 0.5rem;
    line-height: 1;
}
.marker-outline .timeline-marker:before {
        background: transparent;
        border-color: var(--slate-500);
    }
.marker-outline .timeline-item:hover .timeline-marker:before {
        background: var(--slate-500);
    }
#deleteModal {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--z-index-modal);
    background: var(--modal-overlay-background);
    animation: fade-in var(--transition-normal) forwards;
}
#deleteModal .modal {
        position: absolute;
        max-width: 500px;
        margin: var(--spacing-base);
        box-shadow: var(--modal-shadow);
        background-color: var(--modal-background);
        border-radius: var(--modal-border-radius);
        padding: var(--modal-padding);
    }
#deleteModal .modal .modal__content {
            color: var(--modal-text-color);
        }
#deleteModal .modal .modal__content .modal__header {
                padding: var(--spacing-base);
                background-color: var(--modal-background);
                border-bottom: var(--modal-header-border);
            }
#deleteModal .modal .modal__content .modal__header .modal__title {
                    font-size: var(--font-size-heading-6);
                    color: var(--modal-title-color);
                    margin: 0;
                    font-weight: var(--font-weight-semi-bold);
                }
#deleteModal .modal .modal__content .modal__header .close {
                    background: transparent;
                    border: none;
                    color: var(--modal-close-color);
                    cursor: pointer;
                    transition: color var(--transition-fast);
                }
#deleteModal .modal .modal__content .modal__header .close[aria-label="Fechar modal"]::before {
                        content: "×";
                    }
#deleteModal .modal .modal__content .modal__header .close:hover {
                        color: var(--modal-close-hover-color);
                    }
#deleteModal .modal .modal__content .modal-body {
                padding-top: var(--spacing-base);
                padding-left: var(--spacing-base);
                padding-right: var(--spacing-base);
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: var(--spacing-l);
            }
#deleteModal .modal .modal__content .modal-body img {
                    width: var(--spacing-xxl);
                    height: auto;
                }
#deleteModal .modal .modal__content .modal-footer {
                padding-top: var(--spacing-base);
                padding-left: var(--spacing-base);
                padding-right: var(--spacing-base);
                text-align: center;
            }
#deleteModal .modal .modal__content .modal-footer .btn-cancel {
                    /* Usa as classes padronizadas do _button.pcss */
                }
#deleteModal .modal .modal__content .modal-footer button[type="submit"] {
                    background-color: var(--error-100);
                    color: var(--error-800);
                    font-size: var(--button-font-size);
                    padding: var(--button-padding-small);
                    border: 1px solid var(--error-800);
                    border-radius: var(--border-radius-small);
                    transition: background-color var(--transition-fast);
                }
#deleteModal .modal .modal__content .modal-footer button[type="submit"]:hover {
                        background-color: var(--error-200);
                    }
#deleteModal .modal .modal__content .modal-footer form {
                    margin: 0;
                }
@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
.search-modal {
    display: none;
    position: fixed;
    z-index: var(--z-index-toast);
    padding-top: var(--spacing-xxl);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}
.search-modal .search-modal-content {
        position: relative;
        background-color: var(--color-surface);
        margin: auto;
        padding: var(--spacing-xxl) var(--spacing-base) var(--spacing-base) var(--spacing-base);
        border: 1px solid var(--border-color);
        width: 80%;
        max-width: var(--layout-narrow-max-width);
        border-radius: var(--border-radius-none);
        box-shadow: var(--shadow-medium);
        color: var(--color-text);
        font-family: var(--font-family);
    }
.search-modal .close-button {
        position: absolute;
        top: 0px;
        right: 4px;
        font-size: var(--font-size-5);
        font-weight: var(--font-weight-semi-bold);
        color: var(--color-text-muted);
        cursor: pointer;
        transition: color var(--transition-fast);
        padding: 0 var(--spacing-s);
    }
.search-modal .close-button:hover {
            color: var(--color-link-hover);
        }
.search-modal .search-modal-content h2 {
        font-size: var(--font-size-display-2);
        color: var(--color-text-heading);
        margin-bottom: var(--spacing-base);
    }
.search-modal form {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-s);
    }
.search-modal form input[type="search"] {
        height: var(--input-height);
        border: 1px solid var(--input-border-color);
        background-color: var(--input-surface);
        color: var(--color-text);
        font-size: var(--font-size-3);
        border-radius: var(--border-radius-small);
    }
.search-modal form input[type="search"]::-moz-placeholder {
            color: var(--color-text-placeholder);
        }
.search-modal form input[type="search"]::placeholder {
            color: var(--color-text-placeholder);
        }
.search-modal form button[type="submit"] {
        --_background: var(--slate-600);
        --_color: var(--slate-200);
        --_hover: var(--slate-700);
        --_border: var(--_background);

        padding: var(--button-padding-small);
        background-color: var(--_background);
        color: var(--_color);
        font-size: var(--button-font-size);
        font-weight: var(--font-weight-semi-bold);
        border: 1px solid var(--_border);
        border-radius: var(--border-radius-small);
        cursor: pointer;
        text-align: center;
        transition: background-color var(--transition-fast);
        margin: 0;
    }
.search-modal form button[type="submit"]:hover {
            background-color: var(--_hover);
        }
/* ========================================
   VERTICAL ACCORDION STYLES
   ======================================= */
.accordion-vertical {
    margin: 2rem 0;
    border-radius: 0.75rem;
    border-radius: var(--border-radius-small);
    overflow: hidden;
    box-shadow: var(--shadow-medium);
}
.accordion-item {
    border-bottom: 1px solid var(--border-color);
}
.accordion-item:last-child {
    border-bottom: none;
}
.accordion-header {
    width: 100%;
    padding: 1.25rem 1.5rem;
    padding: var(--spacing-l) var(--spacing-xl);
    background: var(--color-surface);
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--font-size-4);
    font-weight: var(--font-weight-semi-bold);
    color: var(--color-text-heading);
    transition: all var(--transition-fast) ease;
    position: relative;
}
.accordion-header:hover {
    background: var(--accent-surface-light);
    color: var(--accent-foreground);
}
.accordion-header:focus-visible {
    outline: 2px solid var(--accent-surface);
    outline-offset: 2px;
}
.accordion-header::after {
    content: "▼";
    font-size: 0.75rem;
    font-size: var(--font-size-1);
    transition: transform var(--transition-fast) ease;
    color: var(--color-text-muted);
}
.accordion-header.active::after {
    transform: rotate(180deg);
}
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--transition-normal) ease-in-out;
    background: var(--color-surface);
}
.accordion-content.active {
    max-height: 2000px; /* Large enough to accommodate content */
}
.accordion-content > * {
    padding: 0 1.5rem 1.5rem 1.5rem;
    padding: 0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);
    margin: 0;
}
/* Responsive adjustments */
@media (max-width: 768px) {
    .accordion-header {
        padding: var(--spacing-m) var(--spacing-l);
        font-size: var(--font-size-3);
    }

    .accordion-content > * {
        padding: 0 var(--spacing-l) var(--spacing-l) var(--spacing-l);
    }
}
@media (max-width: 480px) {
    .accordion-header {
        padding: var(--spacing-s) var(--spacing-m);
        font-size: var(--font-size-2);
    }

    .accordion-content > * {
        padding: 0 var(--spacing-m) var(--spacing-m) var(--spacing-m);
    }
}
.header-navigation {
    background: var(--navbar-background);
    /* color: var(--navbar-text); */
    height: var(--navbar-header-height);
    position: sticky;
    top: 0;
    /* left: 0;
	right: 0; */
    z-index: var(--z-index-header);
    box-shadow: var(--shadow-large);
    padding-left: var(--spacing-base);
    padding-right: var(--spacing-base);
    --csstools-light-dark-toggle--97: var(--csstools-color-scheme--light) var(--teal-400);
    border-bottom: 2px solid var(--csstools-light-dark-toggle--97, var(--teal-400));
}
@supports (color: light-dark(red, red)) {
.header-navigation {
    border-bottom: 2px solid light-dark(var(--teal-400), var(--teal-400));
}
}
.navbar-container {
    max-width: var(--layout-content-max-width);
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0 var(--layout-padding-inline);
}
.navbar__logo {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nav__logo {
    display: block;
}
.nav__img {
    height: calc(var(--navbar-header-height) * 0.7);
    width: auto;
    filter: brightness(1) invert(0) contrast(1);
}
@media (prefers-color-scheme: dark) {
    .nav__img {
        filter: brightness(0) invert(1) contrast(0.75);
    }
}
.navbar__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar__actions .button-small {
        margin-right: 1rem;
        border: 1px solid transparent;
        background-color: transparent;
    }
.navbar__toggle {
    display: none;
    cursor: pointer;
    background: none;
    border: none;
}
.navbar__toggle svg {
    width: var(--navbar-toggle-icon-size);
    height: var(--navbar-toggle-icon-size);
    fill: var(--color-text);
    transition: fill var(--transition-normal);
}
.navbar__toggle:hover svg {
    fill: var(--teal-400);
}
.navbar__user svg {
    width: var(--spacing-base);
    height: var(--spacing-base);
    /* fill: var(--color-text); */
}
.nav__close {
    display: none;
}
.appmenu {
    display: flex;
    gap: var(--spacing-base);
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--navbar-font-size);
}
.menu-item {
    position: relative;
    font-size: var(--font-size-2); 
}
.menu-item > a {
    color: var(--navbar-link-color);
    -webkit-text-decoration: none;
    text-decoration: none;
    padding: var(--spacing-xs) var(--spacing-s);
    display: block;
    transition: color var(--transition-fast);
}
.menu-item > a:hover {
    color: var(--navbar-link-hover-color);
}
.menu-item svg {
    margin-right: var(--spacing-xxs);
    vertical-align: middle;
    width: var(--spacing-m);
    height: var(--spacing-m);
    fill: var(--neutral-400);
}
.sub_menu_1,
.sub_menu_2 {
    list-style: none;
    pointer-events: none;
    display: block;
    position: absolute;
    /* top: 100%;
	left: 0; */
    top: 0;
    left: 100%;
    background: var(--navbar-submenu-background);
    min-width: -moz-max-content;
    min-width: max-content;
    /* min-width: 200px; */
    border-radius: var(--navbar-submenu-border-radius);
    box-shadow: var(--shadow-large);
    z-index: var(--z-index-dropdown);

    opacity: 0;
    /* transform: translateY(20px);
	transition: opacity 0.3s ease, transform 0.3s ease; */
    transform: translateY(10px);
    transition: opacity var(--transition-normal), visibility var(--transition-normal), transform var(--transition-normal);
}
.menu-item:hover > .sub_menu_1,
.menu-item:focus-within > .sub_menu_1,
.menu-item:hover > .sub_menu_2,
.menu-item:focus-within > .sub_menu_2 {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.menu-item > .sub_menu_1 {
    top: 100%;
    left: 0;
}
.sub_menu_1 .menu-item > a,
.sub_menu_2 .menu-item > a {
    padding: 0.5rem 1rem;
}
.menu-item:hover > .sub_menu_2,
.menu-item:focus-within > .sub_menu_2 {
    top: 0;
    left: 100%;
}
.menu-item:hover .sub_menu_1,
.menu-item:focus-within .sub_menu_1 {
    display: block;
}
.menu-item > a::after {
    color: var(--navbar-content-color);
    content: "\25B6";
    font-size: 0.5rem;
    margin-left: var(--spacing-s);
    display: inline-block;
    transition: transform var(--transition-normal);
}
.menu-item:hover > a::after,
.menu-item:focus-within > a::after {
    transform: rotate(90deg);
}
.menu-item:not(:has(ul)) > a::after {
    display: none;
}
.navbar__user {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.navbar__user span {
    font-size: var(--font-size-1);
}
.navbar__user a {
    padding-left: 1rem;
    display: grid;
    align-items: center;
    justify-items: center;
    place-items: center;
    -webkit-text-decoration: none;
    text-decoration: none;
    border-left: var(--border-default);
    transition: color var(--transition-fast);
}
.navbar__user a:hover {
    color: var(--neutral-300);
}
.navbar__user svg {
    width: var(--spacing-base);
}
.appmenu .menu-item > a svg > * {
    stroke: var(--neutral-400);
    fill: none;
}
@media (max-width: 768px) {
    .navbar__toggle {
        display: flex;
        gap: 1rem;
        align-items: center;
    }

    .navbar__user {
        display: none;
    }

    .navbar__logo {
        width: 100%;
    }

    .appmenu {
        display: none;
        position: fixed;
        top: var(--navbar-header-height);
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--color-surface);
        overflow-y: auto;
        padding: var(--spacing-base);
        flex-direction: column;
    }

    .appmenu.open {
        display: block;
        animation: slideDown var(--transition-normal);
    }

    .appmenu .menu-item {
        padding: var(--spacing-s);
        position: relative;
    }

    /* .appmenu .menu-item > a {
		font-size: var(--navbar-font-size-mobile);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.appmenu .menu-item > a::after {
		content: "\25B6";
		font-size: var(--font-size-1);
		margin-left: var(--spacing-s);
		transition: transform var(--transition-normal);
		color: var(--navbar-content-color);
	} */

    .appmenu .menu-item > a {
        font-size: var(--navbar-font-size-mobile);
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 100vw;
    }

    .appmenu .menu-item > a span {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .appmenu .menu-item > a svg {
        margin-right: var(--spacing-base);
    }

    .appmenu .menu-item > a::after {
        content: "\25B6";
        font-size: var(--font-size-1);
        color: var(--navbar-content-color);
        margin-left: auto; /* Push the arrow to the right */
        transition: transform var(--transition-normal);
    }

    .appmenu .menu-item:hover > a::after,
    .appmenu .menu-item:focus-within > a::after,
    .appmenu .menu-item > a[aria-expanded="true"]::after {
        transform: rotate(90deg);
    }

    .sub_menu_1,
    .sub_menu_2 {
        position: static;
        background: var(--navbar-submenu-background);
        box-shadow: none;
        display: none;
    }

    .sub_menu_1.open,
    .sub_menu_2.open {
        display: block;
    }

    .navbar__toggle.open .nav__burger {
        display: none;
    }

    .navbar__toggle.open .nav__close {
        display: block;
    }
}
@keyframes slideDown {
    from {
        transform: translatey(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.table-wrap {
  overflow-x: auto;
}
table {
  border-collapse: collapse;
  width: 100%;
  text-indent: 0;
  margin-top: var(--spacing-l);
  margin-bottom: var(--spacing-l);
  font-size: var(--table-font-size);
  line-height: 1.25;
}
table thead {
    background-color: var(--table-header-bg);
    color: var(--table-header-text);
    border-bottom: 2px solid var(--table-header-border);
  }
th,
td {
  padding: var(--table-padding);
  text-align: left;
  border: none;
}
.sortable {
  font-weight: var(--font-weight-bold) !important;
  color: var(--color-text) !important;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.sorted a {
  font-weight: var(--font-weight-bold) !important;
  color: var(--color-text-muted) !important;
}
tbody tr {
    border-bottom: var(--table-border);
  }
tbody tr:last-of-type {
      border: 0;
    }
tbody tr:nth-child(even) {
    background-color: var(--table-even-row-bg);
  }
tbody tr:hover {
  background-color: var(--table-hover-bg);
  color: var(--table-hover-color);
  transition: all var(--transition-fast);
}
tbody tr:hover td a .table-icon {
  color: var(--table-hover-color);
}
td a .table-icon:hover {
  color: var(--table-hover-icon-color);
}
tbody tr:hover {
  background-color: var(--table-hover-bg);
  color: var(--table-hover-color);
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
tfoot {
  border-top: 2px solid var(--table-border-color);
}
td[data-label="Estado"] {
  text-align: center;
}
td[data-label="Ações"] {
  display: flex;
  text-align: center;
}
td[data-label="Ações"] > * {
    padding-right: 1rem;
  }
td[data-label="Ações"] > :last-child {
    padding-right: 0;
  }
td[data-label="#"] {
  width: 2.5rem;
}
tr:nth-child(even) {
  background-color: var(--table-even-row-bg);
}
.table-icon {
  width: 16px;
  height: 16px;
  background: none;
  border: none;
  cursor: pointer;
  transition: color var(--transition-fast);
}
td[data-label="Seguro"] {
  text-align: center;
}
table a svg.table-icon:hover g path {
  /* stroke: var(--table-hover-icon-color); */
  stroke: var(--icon-color-hover);
}
@media (max-width: 768px) {
  .search-box {
    flex-direction: column;
  }

  td[data-label="#"] {
    width: 100%;
  }

  table {
    border-collapse: separate;
    border-spacing: 0 16px;
  }

  table tbody,
  table thead {
    display: grid;
    grid-auto-flow: row dense;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-column-gap: 2rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  table tr {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-medium);
    margin-bottom: var(--spacing-base);
  }

  table td {
    display: grid;
    grid-template-columns: 1fr 2fr;
    /* border-bottom: 1px solid var(--border-color); */
    padding: 0.5rem 0.75rem;
    padding: var(--table-padding);
  }

  table thead {
    display: none;
  }

  table td:before {
    content: attr(data-label);
    display: grid;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-1);
    color: var(--color-text-muted);
    margin-right: var(--spacing-base);
    margin-bottom: var(--spacing-xxs);
  }

  tr:hover td:before {
    color: var(--table-hover-muted-color);
  }

  td[data-label="Ações"] {
    display: inline-block;
    min-width: 100%;
    text-align: right;
  }

    td[data-label="Ações"]::before {
      display: none;
    }

    td[data-label="Ações"] a {
      padding-right: 2rem;
    }
      td[data-label="Ações"] a > svg {
        height: 1.25rem;
      }

  /* td[data-label="Estado"] {
    text-align: start;
  } */

  td[data-label="Seguro"],
  td[data-label="Estado"] {
    text-align: left;
  }
}
.search-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--layout-gap);
  border-radius: var(--border-radius-large);
  margin-bottom: calc(var(--layout-gap) * 2);
}
.search-box .form-inline {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-base);
  }
@media (max-width: 900px) {
.search-box .form-inline {
      flex-wrap: wrap
  }
    }
.search-box .search-icons {
    display: flex;
    align-items: center;
    gap: var(--spacing-base);
  }
.search-box form > * {
    margin: 0;
  }
#searchInput {
  background-color: var(--input-surface);
  width: clamp(16rem, 20vw + 10em, 35rem);
  padding: 0.5rem 0.5rem 0.5rem 2.25rem;
  transition: border-color var(--transition-smooth);
}
#searchInput:focus {
  border-color: var(--teal);
}
.filter-container {
  align-items: center;
  gap: var(--layout-gap);
}
.filter-container .filter-form {
    display: grid;
    grid-gap: var(--layout-gap);
    gap: var(--layout-gap);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    align-items: center;
  }
.filter-container .filter-search {
    display: grid;
    grid-template-columns: minmax(200px, 100%) auto;
    justify-content: end;
    align-items: center;
    grid-gap: var(--layout-gap);
    gap: var(--layout-gap);
  }
.filter-container .filter-search > div {
      display: flex;
      align-items: center;
      gap: var(--layout-gap);
    }
.filter-container .filter-search input {
    max-width: 280px;
    padding: 0.5rem 0.5rem 0.5rem 2.25rem;
  }
.filter-container .filter-group input,
  .filter-container .filter-group select {
    padding: var(--spacing-xs) var(--spacing-xs);
  }
/* a[href^="mailto:"], */
a[href^="tel:"],
a[href^="sms:"],
a[href^="file:"],
a[rel~="external"],
a[rel~="bookmark"],
a[download] {
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  background-position: 0rem 50%;
  display: inline-block;
  -moz-print-color-adjust: exact;
  -ms-print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  padding-left: 1.25rem;
}
/* a[href^="mailto:"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M1,5 39,5 39,35 1,35 1,5 20,22 39,5' stroke='%23232323' stroke-width='3' fill='none' /></svg>");
} */
a[href^="tel:"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><g fill='none' stroke='%23232323' stroke-width='3'><path d='M8,1 34,1 34,39 8,39Z M12,5 30,5 30,30 12,30Z' /><circle cx='21' cy='34' r='2' /></g></svg>");
}
a[href^="sms:"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M2,2 38,2 38,28 22,28 12,38 12,28 2,28Z' fill='none' stroke='%23232323' stroke-width='3'/></svg>");
}
a[href^="file:"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M5,2 28,2 35,9 35,38 5,38Z M28,2 28,9 35,9' fill='none' stroke='%23232323' stroke-width='3'/></svg>");
}
a[download] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M5,2 28,2 35,9 35,38 5,38Z M28,2 28,9 35,9 M20,10 20,30 M11,21 20,30 29,21' fill='none' stroke='%23232323' stroke-width='3'/></svg>");
}
a[rel~="external"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M28,4 39,4 39,15 M39,4 23,20 M28,9 7,9 7,34 35,34 35,15' fill='none' stroke='%23232323' stroke-width='3'/></svg>");
}
a[rel~="bookmark"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M5,2 35,2 35,38 20,25 5,38Z' fill='none' stroke='%23232323' stroke-width='3'/></svg>");
}
/* input images */
/* input[type="date"], */
/* input[type="datetime-local"], */
input[type="email"],
input[type="month"],
/* input[type="number"], */
input[type="password"],
input[type="search"],
input[type="tel"],
/* input[type="time"], */
input[type="url"],
input[type="week"] {
  padding-left: 2.25rem;
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  background-position: 0.5rem 50%;
}
/* input[type="date"], */
/* input[type="datetime-local"], */
input[type="month"],
input[type="week"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><rect x='1' y='5' width='37' height='7' fill='%23e8e8e8' /><path d='M1,5 37,5 37,37 1,37 Z M1,13 37,13 37,21 1,21 1,29 37,29 M7,5 7,37 13,37 13,5 19,5 19,37 25,37 25,5 31,5 31,37' stroke='%23ccc' stroke-width='3' fill='none' /></svg>");
}
input[type="email"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M1,5 39,5 39,35 1,35 1,5 20,22 39,5' stroke='%23ccc' stroke-width='3' fill='none' /></svg>");
}
/* input[type="time"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><circle cx='20' cy='20' r='19' fill='none' stroke='%23ccc' stroke-width='3' /><path d='M21,20 8.5,20' stroke='%23ccc' stroke-width='3' /><path d='M20,21 20,5' stroke='%23ccc' stroke-width='3' /></svg>");
} */
input[type="search"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M36,36 20,20' stroke='%23ccc' stroke-width='3' /><circle cx='15' cy='15' r='14' fill='none' stroke='%23ccc' stroke-width='3' /></svg>");
}
input[type="password"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><circle cx='20' cy='15' r='10' fill='none' stroke='%23ccc' stroke-width='3' /><path fill='white' stroke='%23ccc' stroke-width='3' d='M5,19 35,19 35,39 5,39Z M20,25 20,30' /></svg>");
}
input[type="tel"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><g fill='none' stroke='%23ccc' stroke-width='3'><path d='M8,1 34,1 34,39 8,39Z M12,5 30,5 30,30 12,30Z' /><circle cx='21' cy='34' r='2' /></g></svg>");
}
input[type="url"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><g fill='none' stroke='%23ccc' stroke-width='3'><circle cx='20' cy='20' r='19'  /><path d='M2,20 38,20 M20,2 C7,2 7,38 20,38 33,38 33,2 20,2 20,2 20,38 20,38' /></g></svg>");
}
/* input[type="number"] {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M26,4 21,36 M15,4 10,36 M4,15 36,15 M2,26 34,26' fill='none' stroke='%23ccc' stroke-width='3' /></svg>");
} */
/* input[type="date"], */
/* input[type="datetime-local"], */
input[type="month"],
input[type="week"],
input[type="email"],
input[type="time"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="url"]
/* input[type="number"]  */
{
  -moz-print-color-adjust: exact;
  -ms-print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.vich-image-small {
	width: 5rem;
	height: auto;
}
.vich-image-medium {
	width: 7rem;
	height: auto;
}
.vich-image {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.5rem;
	max-width: 300px;
	flex-wrap: wrap;
}
.vich-image > div {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 1rem;
	}
/* Custom styles for the file input button with icon */
.upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: var(--button-padding-small);
    font-size: var(--font-size-1);
    color: var(--neutral-700);
    cursor: pointer;
    transition: all var(--transition-fast);
    max-width: -moz-fit-content;
    max-width: fit-content;
}
.upload-button:hover {
    background-color: var(--link-color);
    color: var(--link-color);
    border-color: var(--link-color);
}
.upload-button span {
    font-size: var(--font-size-1);
}
.upload-button svg {
    width: var(--spacing-base);
    height: var(--spacing-base);
    fill: currentColor;
}
.upload-button:focus-within {
    outline: none;
    border-color: var(--primary-800);
    box-shadow: 0 0 0 3px var(--primary-200);
}
.delete-option {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	/* color: #555; */
}
.delete-option input[type="checkbox"] {
	cursor: pointer;
}
.image-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid #ddd;
}
.image-preview img {
	max-width: 100%;
	height: auto;
	transition: transform 0.3s;
}
.image-preview img:hover {
	transform: scale(1.05);
}
.download-link {
	color: #007bff;
	-webkit-text-decoration: none;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: bold;
	transition: color 0.3s;
}
.download-link:hover {
	color: #0056b3;
}
/* ----------------------------------
    Info Box Component
---------------------------------- */
.info-box {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(400px, 4fr); /* Adjusted for better balance */
	grid-gap: var(--spacing-l);
	gap: var(--spacing-l);
	background: var(--card-background);
	border-radius: var(--border-radius-medium); /* Consistent radius */
	overflow: hidden;
	transition: box-shadow var(--transition-fast) ease; /* Smooth transition */
	margin-bottom: var(--spacing-m);
}
.info-box:hover {
	box-shadow: var(--shadow-large);
}
.info-box__left_panel {
	background: linear-gradient(180deg, var(--accent-surface) 0%, var(--accent-surface-dark) 100%);
	padding: var(--spacing-l);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center; /* Centered content */
	gap: var(--spacing-m); /* Consistent gap */
	min-height: 100%;
	border-right: 1px solid var(--color-border); /* Visual separation */
}
.info-box__left_panel:hover {
	background: linear-gradient(180deg, var(--accent-surface-dark) 0%, var(--accent-surface) 100%);
}
.info-box__left_panel > img {
	width: 100%;
	max-width: 150px; /* Prevent overflow */
	aspect-ratio: 1/1; /* Square images */
	-o-object-fit: cover;
	   object-fit: cover;
	border-radius: var(--border-radius-medium);
	mix-blend-mode: darken;
}
.info-box__date {
	font-size: max(var(--font-size-6), min(2vw, var(--font-size-5))); /* Scalable */
	font-weight: var(--font-weight-bold);
	color: var(--neutral-100);
	line-height: 1.3;
	text-align: center;
}
.info-box__time {
	font-size: max(var(--font-size-4), min(1.8vw, var(--font-size-3)));
	color: var(--neutral-100); /* Higher contrast */
	text-align: center;
}
.info-box__status {
	display: inline-flex;
	gap: var(--spacing-s);
	margin-top: var(--spacing-m);
	padding: var(--spacing-s) var(--spacing-m);
	background: var(--color-surface);
	border-radius: var(--border-radius-small);
	font-weight: var(--font-weight-semi-bold);
	font-size: var(--font-size-2);
	align-items: center;
	justify-content: center;
}
.info-box__subtitle {
    font-size: max(var(--font-size-4), min(2vw, var(--font-size-3)));
    font-weight: var(--font-weight-semi-bold);
    color: var(--neutral-100);
    text-align: center;
    margin: 0;
}
.info-box__right_panel {
	padding: var(--spacing-l); /* More breathing room */
	display: flex;
	flex-direction: column;
	gap: var(--spacing-m); /* Consistent section spacing */
}
.info-box__section {
	display: flex;
	flex-direction: column;
	/* gap: var(--spacing-s); */
}
.info-box__section-title {
	/* font-size: var(--font-size-3); */
	font-size: small;
	font-weight: var(--font-weight-bold);
	color: var(--color-text);
	margin-bottom: var(--spacing-xs);
	padding-bottom: var(--spacing-xs);
	border-bottom: var(--border-default);
}
.info-box__text {
	color: var(--color-text);
	font-size: var(--font-size-3);
	line-height: var(--line-height-2);
	margin-bottom: var(--spacing-xs);
}
.info-box__text--muted {
	color: var(--color-text-muted);
	font-size: var(--font-size-2);
}
.info-box__metadata {
	display: flex;
	align-items: center;
	gap: var(--spacing-s);
	flex-wrap: wrap;
    border-top: 1px dashed var(--color-border);
    padding-top: var(--spacing-xs);
    margin-top: var(--spacing-xs);
    font-size: var(--font-size-2);
}
.info-box__icon {
	color: var(--color-text-muted);
	font-size: var(--font-size-3);
}
/* Tabs */
.info-box__tab-section {
	display: none;
    animation: fadeIn var(--transition-medium) ease-in-out;
}
.info-box__tab-section.active {
	display: block;
}
.info-box__tabs {
	display: flex;
	border-bottom: 1px solid var(--color-border);
	/* margin-bottom: var(--spacing-l); */
	    margin-top: var(--spacing-m);
    margin-bottom: var(--spacing-m);
	gap: var(--spacing-s); /* Space between tabs */
}
.info-box__tabs button {
	flex: 1; /* Equal width */
	background: transparent;
	border: none;
	outline: none;
	cursor: pointer;
	padding: var(--spacing-s) var(--spacing-m);
	font-size: var(--font-size-3);
	font-weight: var(--font-weight-semi-bold);
	color: var(--color-text-muted);
	border-bottom: 2px solid transparent; /* Smooth active state */
	transition: all var(--transition-fast) ease;
}
.info-box__tabs button.active {
	color: var(--color-text);
	border-bottom-color: var(--accent-surface); /* Highlight active tab */
}
.info-box__tabs button:hover {
	background: var(--teal-400);
	color: var(--slate-100);
}
.info-box__tabs button:focus-visible {
	outline: 2px solid var(--accent-surface);
	outline-offset: 2px;
}
/* Responsive Design */
@media (max-width: 1024px) {
	.info-box {
		grid-template-columns: minmax(150px, 1fr) minmax(300px, 4fr); /* Smaller left panel */
		gap: var(--spacing-m);
	}

	.info-box__left_panel {
		padding: var(--spacing-m);
	}

	.info-box__right_panel {
		padding: var(--spacing-m);
	}
}
@media (max-width: 768px) {
	.info-box {
		grid-template-columns: 1fr;
		gap: var(--spacing-s);
	}

	.info-box__left_panel {
		padding: var(--spacing-m);
		border-right: none;
		border-bottom: 1px solid var(--color-border);
	}

	.info-box__right_panel {
		padding: var(--spacing-m);
	}

	.info-box__tabs {
		/* flex-direction: column; */
		gap: var(--spacing-xs);
		flex-wrap: wrap;
	}

	.info-box__tabs button {
		width: 100%;
		text-align: left;
		border-bottom: 1px solid var(--color-border);
	}

	.info-box__tabs button.active {
		border-bottom-color: var(--accent-surface);
	}


}
@media (max-width: 480px) {
	.info-box__subtitle,
	.info-box__text {
		font-size: var(--font-size-2); /* Smaller text for tiny screens */
	}

	.info-box__left_panel > img {
		max-width: 100px;
	}
}
/* Animação suave para tabs */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* ----------------------------------
    Info Grid Component
---------------------------------- */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 1rem;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.info-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.info-label {
    font-weight: 600;
    color: #6b7280;
    font-size: 0.875rem;
}
.info-value {
    font-size: 1rem;
    color: #1f2937;
}
/* ----------------------------------
    Description Box Component
---------------------------------- */
.description-box {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    margin-top: 0.5rem;
}
.description-box p {
    margin: 0;
}
/* ----------------------------------
    Badge Components
---------------------------------- */
.badge-success {
    background: #dcfce7;
    color: #166534;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}
.badge-error {
    background: #fef2f2;
    color: #991b1b;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}
.badge-warning {
    background: #fffbeb;
    color: #92400e;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}
/* ----------------------------------
    Text Utilities
---------------------------------- */
.text-muted {
    color: #9ca3af;
    font-style: italic;
}
/* ----------------------------------
    Subsection Spacing
---------------------------------- */
.info-box__subsection {
    margin-bottom: 2rem;
}
.info-box__subsection:last-child {
    margin-bottom: 0;
}
/* Responsive Design for Info Grid */
@media (max-width: 768px) {
    .info-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}
ul, ol {margin: 0; padding: 0;}
ul:not([class]),
ol:not([class]) {
	margin: 1rem 0;
	padding-left: 2rem;
}
ul:not([class]) ul,
	ul:not([class]) ol,
	ol:not([class]) ul,
	ol:not([class]) ol {
		margin: 0;
	}
li {
	font-size: 1rem;
	line-height: var(--line-height-3);
	max-width: 80ch;
	max-width: calc(80ch - 3rem);
}
dl {
	margin: 1rem 0;
	font-size: 1rem;
	line-height: 1.5rem;
	max-width: 80ch;
}
dt {
	font-weight: var(--font-weight-bold);
	margin-top: 1rem;
}
dd {
	margin-left: 1rem;
	font-style: italic;
}
blockquote {
  background-color: var(--blockquote-background);
  box-sizing: border-box;
  display: block;
  margin: 1rem 0 1rem 3rem;
  max-width: var(--blockquote-max-width);
  max-width: calc(var(--blockquote-max-width) - 3rem);
  overflow: hidden;
  padding: 1rem;
  page-break-inside: avoid;
  position: relative;
}
blockquote::before {
  content: open-quote;
  color: var(--slate-600);
  font-size: 5rem;
  left: 0.25rem;
  line-height: 1;
  position: absolute;
  top: 0;
  z-index: -1;
}
blockquote::after {
  content: no-close-quote;
}
blockquote > :first-child {
  margin-top: 0;
  text-indent: 1.75rem;
}
blockquote > :last-child {
  margin-bottom: 0;
}
details {
  border: 1px solid var(--border-color);
  display: block;
  padding: 0 1rem;
}
details summary {
  margin: 0 -1rem;
  padding: 1rem;
}
details[open] summary {
  border-bottom: 1px solid var(--border-color);
}
details + details {
  border-top: 0;
  border-radius: 0;
}
details:first-of-type {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
details:last-of-type {
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
.tooltip {
  position: relative;
  display: inline-flex;
  cursor: pointer;
}
.tooltip-content {
  visibility: hidden;
  position: absolute;
  z-index: 1000;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 12px;
  background-color: #333;
  color: white;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
/* Arrow */
.tooltip-content::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}
/* Show tooltip on hover */
.tooltip:hover .tooltip-content {
  visibility: visible;
  opacity: 1;
}
/* Extra small tooltip */
.tooltip-xs .tooltip-content {
  font-size: 12px;
  padding: 6px 8px;
}
/* Animation */
@keyframes tooltipFade {
  from {
    opacity: 0;
    transform: translate(-50%, 10px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
.tooltip:hover .tooltip-content {
  animation: tooltipFade 0.2s ease-in-out;
}
/* Optional: Add different positions */
.tooltip[data-position="top"] .tooltip-content {
  bottom: 125%;
  top: auto;
}
.tooltip[data-position="bottom"] .tooltip-content {
  top: 125%;
  bottom: auto;
}
.tooltip[data-position="bottom"] .tooltip-content::after {
  bottom: 100%;
  top: auto;
  border-color: transparent transparent #333 transparent;
}
/* Optional: Add different themes */
.tooltip[data-theme="light"] .tooltip-content {
  background-color: white;
  color: #333;
  border: 1px solid #ddd;
}
.tooltip[data-theme="light"] .tooltip-content::after {
  border-color: white transparent transparent transparent;
}
.chart-container {
    min-width: 300px;
    height: 8rem;
}
.chart-area {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min-content, 1fr));
    grid-gap: clamp(1rem, 1.5rem + 5vw, 4rem);
    gap: clamp(1rem, 1.5rem + 5vw, 4rem);
    width: 100%;
    align-items: start;
}
/* Dynamic layout based on chart count */
.chart-area:has(.chart-container:nth-child(1):nth-last-child(1)) {
    max-width: 600px;
    margin: 0 auto;
}
.chart-area:has(.chart-container:nth-child(1):nth-last-child(2)) {
    grid-template-columns: repeat(2, 1fr);
}
.chart-area:has(.chart-container:nth-child(1):nth-last-child(3)) {
    grid-template-columns: repeat(3, 1fr);
}
/* Fallback for browsers that don't support :has() */
@supports not selector(:has(*)) {
    .chart-area {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}
/* Responsive behavior */
@media (max-width: 768px) {
    .chart-area {
        grid-template-columns: 1fr; /* Single column on mobile */
        gap: clamp(1rem, 2rem + 3vw, 2rem);
    }

    .chart-area:has(.chart-container:nth-child(1):nth-last-child(1)) {
        max-width: 100%; /* Full width on mobile for single chart */
        margin: 0;
    }
}
@media (max-width: 480px) {
    .chart-area {
        gap: 1rem;
    }

    .chart-container {
        min-width: 250px;
    }
}
/* Ensure proper chart sizing and alignment */
.chart-container {
    min-width: 280px;
    max-width: 100%;
    height: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.chart-service {
    height: 10rem; /* Slightly taller for service chart */
}
/* Improve grid behavior for different screen sizes */
@media (min-width: 1200px) {
    .chart-area {
        grid-template-columns: repeat(3, 1fr); /* Force 3 columns on large screens */
    }
}
@media (min-width: 769px) and (max-width: 1199px) {
    .chart-area {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
}
.chart-ocorrencias-estado {
    max-width: 400px;
    justify-self: center;
}
.chart-ocorrencias-mes {
    max-width: 800px;
    justify-self: stretch;
}
.chart-service {
    max-width: 100%;
    justify-self: stretch;
}
/* Mobile responsive breakpoint */
@media (max-width: 768px) {
    .chart-row-top,
    .chart-row-bottom {
        grid-template-columns: 1fr; /* Single column on mobile */
        gap: clamp(1rem, 2rem + 3vw, 2rem);
    }

    .chart-ocorrencias-estado,
    .chart-ocorrencias-mes,
    .chart-service {
        max-width: 100%;
        justify-self: stretch;
    }
}
/* Small mobile devices */
@media (max-width: 480px) {
    .chart-area {
        gap: 1rem;
    }

    .chart-container {
        min-width: 250px;
    }
}
.informacao {
    --informacao_max-width: 25rem;
    display: flex;
    flex-direction: column;
    max-width: var(--informacao_max-width);
    border-bottom: 1px solid var(--border-color);
    border-radius: var(--border-radius-medium);
    --csstools-light-dark-toggle--98: var(--csstools-color-scheme--light) var(--info-800);
    background-color: var(--csstools-light-dark-toggle--98, var(--info-100));
    min-width: 340px;
}
@supports (color: light-dark(red, red)) {
.informacao {
    background-color: light-dark(var(--info-100), var(--info-800));
}
}
.informacao__title {
    display: flex;        gap: var(--layout-gap);
        padding-left: var(--layout-gap);
        padding-right: var(--layout-gap);
}
.informacao__title h3 {
        color: var(--color-text-info);
        font-size: var(--font-size-2);
        font-weight: bold;
    }
.informacao__icon {
    width: var(--spacing-l);
}
.informacao__icon path {
        stroke: var(--color-text-info);
    }
.informacao_description {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: start;
    padding-left: calc(var(--spacing-l) + var(--layout-gap));
    margin-bottom: var(--spacing-s);
}
.informacao_description p {
        font-size: var(--font-size-2);
    }
.informacao__actions {
    display: flex;
    gap: var(--spacing-s);
    align-items: center;
    justify-content: flex-end;
    margin-right: var(--spacing-l);
}
/* ===================================
   LOGIN PAGE STYLES
   Full-screen background and page-specific styling
   =================================== */
body:has(.login-container),
body:has(.register-container) {
    background-image: url("https://cercifaf.pt//images/slide/slide-1.jpg");
    background-position: center;
    background-size: cover;
    -o-border-image: radial-gradient(circle, rgba(18, 127, 195, 0.75) 0%, hsl(235, 100%, 12%, 0.75) 100%) 1;
       border-image: radial-gradient(circle, rgba(18, 127, 195, 0.75) 0%, hsl(235, 100%, 12%, 0.75) 100%) fill 1;
    min-height: 100vh;
    min-height: 100dvh;
}
/* Webkit autofill styles */
input:-webkit-autofill,
input:-webkit-autofill:focus {
    -webkit-transition: background-color 0s 600000s, color 0s 600000s !important;
    transition: background-color 0s 600000s, color 0s 600000s !important;
}
/* ===================================
   LOGIN/REGISTER PAGE STYLES
   Uses design system variables for consistent theming
   =================================== */
.login-container {
    width: 100%;
    max-width: 40rem;
    padding: 1.5rem;
    --csstools-light-dark-toggle--99: var(--csstools-color-scheme--light) oklch(from var(--slate-100) l c h / 0.45);
    background-color: var(--csstools-light-dark-toggle--99, oklch(from var(--slate-900) l c h / 0.45));
    border-radius: 1rem;
    --csstools-light-dark-toggle--100: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.1);
    box-shadow: 0 8px 32px var(--csstools-light-dark-toggle--100, oklch(from var(--slate-700) l c h / 0.3));
    backdrop-filter: blur(8px);
    --csstools-light-dark-toggle--101: var(--csstools-color-scheme--light) var(--slate-300);
    border: 1px solid var(--csstools-light-dark-toggle--101, var(--slate-700));
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.login-container {
    background-color: light-dark(oklch(from var(--slate-900) l c h / 0.45), oklch(from var(--slate-100) l c h / 0.45));
    box-shadow: 0 8px 32px light-dark(oklch(from var(--slate-700) l c h / 0.3), oklch(from var(--slate-300) l c h / 0.1));
}
}
@supports (color: light-dark(red, red)) {
.login-container {
    border: 1px solid light-dark(var(--slate-700), var(--slate-300));
}
}
.login-container__title {
    --csstools-light-dark-toggle--102: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--102, var(--primary-100));
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 2rem;
}
@supports (color: light-dark(red, red)) {
.login-container__title {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
/* Form Controls */
.login-container__form {
    display: flex;
    flex-direction: column;
    /* gap: 1.5rem; */
}
.form-control {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.login-container__label {
    --csstools-light-dark-toggle--103: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--103, var(--primary-100));
    font-size: 0.9rem;
    font-weight: 500;
    margin-left: 0.25rem;
}
@supports (color: light-dark(red, red)) {
.login-container__label {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
/* Override form :has() rule to keep labels white when focused */
.form-control:has(input:focus) .login-container__label {
    --csstools-light-dark-toggle--104: var(--csstools-color-scheme--light) var(--primary-600);
    color: var(--csstools-light-dark-toggle--104, var(--primary-300));
}
@supports (color: light-dark(red, red)) {
.form-control:has(input:focus) .login-container__label {
    color: light-dark(var(--primary-300), var(--primary-600));
}
}
.login-container__input {
    width: 100%;
    padding: 0.75rem 1rem;
    --csstools-light-dark-toggle--105: var(--csstools-color-scheme--light) oklch(from var(--slate-200) l c h / 0.3);
    background-color: var(--csstools-light-dark-toggle--105, oklch(from var(--slate-800) l c h / 0.3));
    --csstools-light-dark-toggle--106: var(--csstools-color-scheme--light) oklch(from var(--slate-400) l c h / 0.5);
    border: 1px solid var(--csstools-light-dark-toggle--106, oklch(from var(--slate-600) l c h / 0.5));
    border-radius: 0.5rem;
    --csstools-light-dark-toggle--107: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--107, var(--primary-100));
    font-size: 1rem;
    transition: all 0.2s ease-in-out;
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.login-container__input {
    background-color: light-dark(oklch(from var(--slate-800) l c h / 0.3), oklch(from var(--slate-200) l c h / 0.3));
    border: 1px solid light-dark(oklch(from var(--slate-600) l c h / 0.5), oklch(from var(--slate-400) l c h / 0.5));
}
}
@supports (color: light-dark(red, red)) {
.login-container__input {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
.login-container__input:focus {
    outline: none;
    border-color: var(--teal-500);
    --csstools-light-dark-toggle--108: var(--csstools-color-scheme--light) oklch(from var(--slate-200) l c h / 0.5);
    background-color: var(--csstools-light-dark-toggle--108, oklch(from var(--slate-800) l c h / 0.5));
    --csstools-light-dark-toggle--109: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.2);
    box-shadow: 0 0 0 2px var(--csstools-light-dark-toggle--109, oklch(from var(--teal-500) l c h / 0.2));
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.login-container__input:focus {
    background-color: light-dark(oklch(from var(--slate-800) l c h / 0.5), oklch(from var(--slate-200) l c h / 0.5));
    box-shadow: 0 0 0 2px light-dark(oklch(from var(--teal-500) l c h / 0.2), oklch(from var(--teal-400) l c h / 0.2));
}
}
.login-container__input::-moz-placeholder {
    color: var(--color-text-placeholder);
}
.login-container__input::placeholder {
    color: var(--color-text-placeholder);
}
/* Button Styles */
.login-container button:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline) {
    width: 100%;
    padding: 1rem;
    background-color: var(--teal-500);
    border: none;
    border-radius: 0.5rem;
    color: var(--slate-50);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin-top: 1rem;
}
.login-container button:hover {
    background-color: var(--teal-600);
    transform: translateY(-1px);
}
.login-container button:active {
    transform: translateY(0);
}
/* Alert Styles */
.alert {
    padding: 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
}
.alert-danger {
    background-color: var(--error-500);
    color: var(--slate-50);
    --csstools-light-dark-toggle--110: var(--csstools-color-scheme--light) oklch(from var(--error-400) l c h / 0.5);
    border: 1px solid var(--csstools-light-dark-toggle--110, oklch(from var(--error-600) l c h / 0.5));
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.alert-danger {
    border: 1px solid light-dark(oklch(from var(--error-600) l c h / 0.5), oklch(from var(--error-400) l c h / 0.5));
}
}
/* Footer Styles */
.login-container__footer {
    margin-top: 2rem;
    text-align: center;
    font-size: 0.9rem;
}
.login-container__footer p {
    --csstools-light-dark-toggle--111: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--111, var(--primary-100));
    margin: 0.5rem 0;
    font-size: 0.9rem;
}
@supports (color: light-dark(red, red)) {
.login-container__footer p {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
.login-container__footer a {
    --csstools-light-dark-toggle--112: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--112, var(--primary-100));
    -webkit-text-decoration: none;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease-in-out;
}
@supports (color: light-dark(red, red)) {
.login-container__footer a {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
.login-container__footer a:hover {
    --csstools-light-dark-toggle--113: var(--csstools-color-scheme--light) var(--primary-500);
    color: var(--csstools-light-dark-toggle--113, var(--primary-300));
}
@supports (color: light-dark(red, red)) {
.login-container__footer a:hover {
    color: light-dark(var(--primary-300), var(--primary-500));
}
}
/* Checkbox Styles */
.checkbox-control {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.checkbox-control input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    margin: 0;
    cursor: pointer;
}
/* .checkbox-control label {
    font-size: 0.9rem;
    color: oklch(80% 0.0059 264.53);
    font-style: italic;
    font-weight: 400;
} */
/* ===================================
   REGISTRATION FORM STYLES
   Consistent with login form but for registration
   =================================== */
/* Registration Form Container */
form[name="registration_form"] {
    width: 100%;
    max-width: 40rem;
    padding: 1.5rem;
    --csstools-light-dark-toggle--114: var(--csstools-color-scheme--light) oklch(from var(--slate-100) l c h / 0.45);
    background-color: var(--csstools-light-dark-toggle--114, oklch(from var(--slate-900) l c h / 0.45));
    border-radius: 1rem;
    --csstools-light-dark-toggle--115: var(--csstools-color-scheme--light) oklch(from var(--slate-300) l c h / 0.1);
    box-shadow: 0 8px 32px var(--csstools-light-dark-toggle--115, oklch(from var(--slate-700) l c h / 0.3));
    backdrop-filter: blur(8px);
    --csstools-light-dark-toggle--116: var(--csstools-color-scheme--light) var(--slate-300);
    border: 1px solid var(--csstools-light-dark-toggle--116, var(--slate-700));
    margin: 2rem auto;
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
form[name="registration_form"] {
    background-color: light-dark(oklch(from var(--slate-900) l c h / 0.45), oklch(from var(--slate-100) l c h / 0.45));
    box-shadow: 0 8px 32px light-dark(oklch(from var(--slate-700) l c h / 0.3), oklch(from var(--slate-300) l c h / 0.1));
}
}
@supports (color: light-dark(red, red)) {
form[name="registration_form"] {
    border: 1px solid light-dark(var(--slate-700), var(--slate-300));
}
}
/* Form Title */
form[name="registration_form"] h1 {
    --csstools-light-dark-toggle--117: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--117, var(--primary-100));
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 2rem;
}
@supports (color: light-dark(red, red)) {
form[name="registration_form"] h1 {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
/* Form Fields Container */
form[name="registration_form"] > div:not(.checkbox-control) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
/* Labels */
form[name="registration_form"] label {
    --csstools-light-dark-toggle--118: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--118, var(--primary-100));
    font-size: 0.9rem;
    font-weight: 500;
    margin-left: 0.25rem;
}
@supports (color: light-dark(red, red)) {
form[name="registration_form"] label {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
/* Override form :has() rule to keep registration labels white when focused */
form[name="registration_form"] .form-control:has(input:focus) label {
    --csstools-light-dark-toggle--119: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--119, var(--primary-100));
}
@supports (color: light-dark(red, red)) {
form[name="registration_form"] .form-control:has(input:focus) label {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
/* Required Field Indicator */
form[name="registration_form"] label.required::after {
    content: "*";
    color: var(--error-500);
    margin-left: 0.25rem;
}
/* Text and Password Inputs */
form[name="registration_form"] input[type="email"],
form[name="registration_form"] input[type="password"] {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.25rem;
    --csstools-light-dark-toggle--120: var(--csstools-color-scheme--light) oklch(from var(--slate-200) l c h / 0.3);
    background-color: var(--csstools-light-dark-toggle--120, oklch(from var(--slate-800) l c h / 0.3));
    --csstools-light-dark-toggle--121: var(--csstools-color-scheme--light) oklch(from var(--slate-400) l c h / 0.5);
    border: 1px solid var(--csstools-light-dark-toggle--121, oklch(from var(--slate-600) l c h / 0.5));
    border-radius: 0.5rem;
    --csstools-light-dark-toggle--122: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--122, var(--primary-100));
    font-size: 1rem;
    transition: all 0.2s ease-in-out;
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
form[name="registration_form"] input[type="email"],
form[name="registration_form"] input[type="password"] {
    background-color: light-dark(oklch(from var(--slate-800) l c h / 0.3), oklch(from var(--slate-200) l c h / 0.3));
    border: 1px solid light-dark(oklch(from var(--slate-600) l c h / 0.5), oklch(from var(--slate-400) l c h / 0.5));
}
}
@supports (color: light-dark(red, red)) {
form[name="registration_form"] input[type="email"],
form[name="registration_form"] input[type="password"] {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
form[name="registration_form"] input[type="email"]:focus,
form[name="registration_form"] input[type="password"]:focus {
    outline: none;
    border-color: var(--teal-500);
    --csstools-light-dark-toggle--123: var(--csstools-color-scheme--light) oklch(from var(--slate-200) l c h / 0.5);
    background-color: var(--csstools-light-dark-toggle--123, oklch(from var(--slate-800) l c h / 0.5));
    --csstools-light-dark-toggle--124: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.2);
    box-shadow: 0 0 0 2px var(--csstools-light-dark-toggle--124, oklch(from var(--teal-500) l c h / 0.2));
}
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
form[name="registration_form"] input[type="email"]:focus,
form[name="registration_form"] input[type="password"]:focus {
    background-color: light-dark(oklch(from var(--slate-800) l c h / 0.5), oklch(from var(--slate-200) l c h / 0.5));
    box-shadow: 0 0 0 2px light-dark(oklch(from var(--teal-500) l c h / 0.2), oklch(from var(--teal-400) l c h / 0.2));
}
}
/* Checkbox Control */
/* .checkbox-control {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin:0 0;
    padding: 0.5rem;
    border-radius: 0.5rem;
}

.checkbox-control input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    margin: 0;
    cursor: pointer;
    border-radius: 0.25rem;
}

.checkbox-control label {
    font-size: 0.9rem;
    color: oklch(85% 0.0059 264.53);
    font-weight: 400;
} */
/* Submit Button */
form[name="registration_form"] button[type="submit"]:not(.btn-save-outline):not(.btn-delete-outline):not(.button-primary-outline):not(.button-success-outline):not(.button-error-outline):not(.button-warning-outline):not(.button-info-outline) {
    width: 100%;
    padding: 1rem;
    background-color: var(--teal-500);
    border: none;
    border-radius: 0.5rem;
    color: var(--slate-50);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    margin-top: 1rem;
}
form[name="registration_form"] button[type="submit"]:hover {
    background-color: var(--teal-600);
    transform: translateY(-1px);
}
form[name="registration_form"] button[type="submit"]:active {
    transform: translateY(0);
}
/* Footer Text */
.register-container__footer {
    margin-top: 2rem;
    text-align: center;
    font-size: 0.9rem;
    --csstools-light-dark-toggle--125: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--125, var(--primary-100));
}
@supports (color: light-dark(red, red)) {
.register-container__footer {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
.register-container__footer a {
    --csstools-light-dark-toggle--126: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--126, var(--primary-100));
    -webkit-text-decoration: none;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease-in-out;
}
@supports (color: light-dark(red, red)) {
.register-container__footer a {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
.register-container__footer a:hover {
    --csstools-light-dark-toggle--127: var(--csstools-color-scheme--light) var(--primary-800);
    color: var(--csstools-light-dark-toggle--127, var(--primary-100));
}
@supports (color: light-dark(red, red)) {
.register-container__footer a:hover {
    color: light-dark(var(--primary-100), var(--primary-800));
}
}
:root {
	--home-page-background: url("https://cercifaf.pt//images/slide/slide-1.jpg");
}
.home-overlay {
    margin: calc(var(--layout-main-margin-block) * -1) 0 0 0 ;
	background-image: var(--home-page-background);
	background-position: center;
	background-size: cover;
	/* border-image: linear-gradient(hsla(234, 98%, 16%, 0.85), hsla(199, 100%, 50%, 0.85)) fill 1; */
	-o-border-image: var(--gradient-blue-01) 1;
	   border-image: var(--gradient-blue-01)
		fill 1;
	padding: var(--layout-app-padding);
}
.home-overlay > * {
		text-align: center;
		color: var(--slate-200);
		text-shadow: var(--shadow-text-01);
	}
.home-overlay p {
		margin-left: auto;
		margin-right: auto;
	}
.calendar {
    min-width: 100%;
    max-width: var(--layout-content-max-width);
    margin: var(--spacing-base) auto;
    padding: 0 var(--layout-padding-inline);
    background: var(--calendar-background);
    color: var(--calendar-text);
}
.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--calendar-header-margin);
    flex-wrap: wrap;
    gap: var(--calendar-header-gap);
}
.calendar-header h2 {
    font-size: var(--calendar-title-size);
    margin: 0;
    text-align: center;
}
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-gap: var(--calendar-grid-gap);
    gap: var(--calendar-grid-gap);
}
.calendar-weekday {
    text-align: center;
    font-weight: var(--font-weight-bold);
    padding: var(--calendar-day-padding);
    font-size: var(--font-size-2);
    color: var(--color-text-week);
}
.calendar-day {
    min-height: var(--calendar-min-day-height);
    text-align: left;
    padding: var(--calendar-day-padding);
    border: var(--calendar-border);
    border-radius: var(--border-radius-medium);
    position: relative;
}
.calendar-day .day-number {
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-xs);
    font-size: var(--font-size-2);
}
.calendar-day.today {
    background-color: var(--calendar-today-background);
    color: var(--teal-500);
    border-color: var(--border-color);
    background-image: repeating-linear-gradient( 45deg,
        var(--calendar-background),
        var(--calendar-other-month-background) 10px,
        /* var(--slate-600) 2px, */
        var(--slate-400) 10px
    );
}
.calendar-day.other-month {
    color: var(--calendar-other-month-text);
    background-color: var(--calendar-other-month-background);
    background-image: repeating-linear-gradient( 45deg,
        var(--calendar-background),
        var(--calendar-other-month-background) 4px,
        /* var(--slate-600) 2px, */
        var(--slate-400) 4px
    );
}
.calendar-nav {
    -webkit-text-decoration: none;
    text-decoration: none;
    color: var(--color-text);
    padding: var(--calendar-nav-padding);
    border: var(--calendar-border);
    border-radius: var(--border-radius-medium);
    font-size: var(--calendar-nav-font-size);
    white-space: nowrap;
}
.calendar-events {
    display: flex;
    flex-direction: column;
    gap: var(--calendar-event-gap);
    max-height: calc(100% - 25px);
    overflow-y: auto;
}
.calendar-event {
    font-size: var(--calendar-event-font-size);
    font-size: x-small;
    padding: var(--calendar-event-padding);
    border-radius: var(--calendar-event-border-radius);
    background-color: var(--calendar-today-background);
    border: 1px solid var(--border-color);
    border-left: 3px solid var(--teal-500);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-decoration: none;
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
    box-sizing: border-box;
    width: 20ch;
    word-wrap: break-word;
}
.calendar-event.status-requisitado {
    border-left-color: var(--calendar-event-requested-color);
    background: var(--info-200);
    color: var(--slate-800)
}
.calendar-event.status-pedido {
    border-left-color: var(--calendar-event-pending-color);
    background: var(--warning-200);
    color: var(--slate-800)
}
.calendar-event.status-aprovado {
    border-left-color: var(--calendar-event-approved-color);
    background: var(--success-200);
    color: var(--slate-800)
}
.calendar-event.status-validado {
    border-left-color: var(--calendar-event-approved-color);
    background: var(--success-200);
    color: var(--slate-800)
}
.calendar-event.status-não {
    border-left-color: var(--calendar-event-rejected-color);
    background: var(--error-200);
    color: var(--slate-800)
}
@media (max-width: 768px) {
    :root {
        --calendar-min-day-height: 80px;
        --calendar-day-padding: var(--spacing-xxs);
        --calendar-event-font-size: var(--font-size-1);
    }

    .calendar {
        padding: 0 var(--spacing-xs);
    }

    .calendar-header {
        justify-content: center;
    }

    .calendar-header h2 {
        order: -1;
        width: 100%;
        margin-bottom: var(--spacing-xs);
    }

    .calendar-weekday {
        padding: var(--spacing-xxs);
    }

    .calendar-event {
        padding: calc(var(--spacing-xxs) / 2) var(--spacing-xs);
        max-width: 100%;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        line-height: 1.2;
        max-height: 3em;
    }
}
@media (max-width: 576px) {
    :root {
        --calendar-min-day-height: 60px;
    }

    .calendar-grid {
        gap: 0;
    }

    .calendar-weekday {
        padding: calc(var(--spacing-xxs) / 2);
    }

    .calendar-day .day-number {
        font-size: var(--font-size-1);
        margin-bottom: var(--spacing-xxs);
    }

    .calendar-event {
        font-size: calc(var(--font-size-1) * 0.9);
        padding: calc(var(--spacing-xxs) / 2) var(--spacing-xxs);
        -webkit-line-clamp: 2;
        max-height: 2.4em;
    }

    .calendar-day {
        max-height: 80px;
        overflow: hidden;
    }

    .calendar-weekday span {
        display: none;
    }

    .calendar-weekday::first-letter {
        display: inline;
    }

    .calendar-nav {
        padding: var(--spacing-xxs) var(--spacing-xs);
        font-size: var(--font-size-1);
    }
}
.d-grid {
	display: grid;
}
.d-flex {
	display: flex;
}
.center-in-page {
	display: grid;
	align-content: center;
	justify-content: center;
	place-content: center;
	min-height: 80vh;
}
.text-muted {
	color: var(--color-text-muted);
}
.text-week {
	color: var(--color-text-week);
}
.text-small {
	font-size: var(--font-size-1);
}
.text-help {
	color: var(--color-text-week);
}
.text-error {
	color: var(--error-500);
}
.text-info {
	color: var(--info-500);
}
.text-success {
	color: var(--success-500);
}
.text-warning {
	color: var(--warning-500);
}
.text-slate {
	--csstools-light-dark-toggle--128: var(--csstools-color-scheme--light) var(--slate-600);
	color: var(--csstools-light-dark-toggle--128, var(--slate-400));
}
@supports (color: light-dark(red, red)) {
.text-slate {
	color: light-dark(var(--slate-400), var(--slate-600));
}
}
.text-small {
	font-size: var(--font-size-1);
}
.text-center {
	text-align: center;
}
.text-start {
	text-align: left;
}
@media (min-width: 768px) {
	.desktop-text-center {
		text-align: center;
	}
}
.center {
	display: grid;
	align-content: center;
	justify-content: center;
	place-content: center;
}
.hr-line {
    height: var(--spacing-s);
    width: 100%;
    margin: var(--spacing-base) 0px;
    background-color: var(--accent-surface);
    /* background-image: var(--linear-gradient-300); */
}
.mbs-xs {
	margin-top: var(--spacing-xs);
}
.mbs-s {
	margin-top: var(--spacing-s);
}
.mbs-m{
	margin-top: var(--spacing-m);
}
.mbs-l{
	margin-top: var(--spacing-l);
}
.truncate {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}
.svg-icon--success > * {
    fill: var(--success-400);
    stroke: none;
}
.svg-icon--info > * {
    fill: var(--info-400);
    stroke: none;
}
.svg-icon--warning > * {
    fill: var(--warning-400);
    stroke: none;
}
.svg-icon--error > * {
    fill: var(--error-400);
    stroke: none;
}
/* ===================================
   ENHANCED UTILITY ANIMATIONS
   Animation utilities for common use cases
   =================================== */
/* Pulse animation for attention */
.pulse {
    animation: var(--animation-pulse);
}
/* Fade in animation utility */
.fade-in {
    animation: var(--animation-fade-in);
}
/* Slide up animation utility */
.slide-up {
    animation: var(--animation-slide-up);
}
/* Success bounce utility */
.success-bounce {
    animation: var(--animation-success-bounce);
}
/* Error shake utility */
.error-shake {
    animation: var(--animation-error-shake);
}
/* ===================================
   ENHANCED VISUAL FEEDBACK UTILITIES
   Common visual patterns for user feedback
   =================================== */
/* Success state indicator */
.status-success {
    color: var(--validation-success);
    background-color: var(--validation-success-bg);
    border: 1px solid var(--validation-success);
    border-radius: var(--border-radius-extra-small);
    padding: var(--spacing-xs) var(--spacing-s);
}
/* Error state indicator */
.status-error {
    color: var(--validation-error);
    background-color: var(--validation-error-bg);
    border: 1px solid var(--validation-error);
    border-radius: var(--border-radius-extra-small);
    padding: var(--spacing-xs) var(--spacing-s);
}
/* Warning state indicator */
.status-warning {
    color: var(--validation-warning);
    background-color: var(--validation-warning-bg);
    border: 1px solid var(--validation-warning);
    border-radius: var(--border-radius-extra-small);
    padding: var(--spacing-xs) var(--spacing-s);
}
/* Info state indicator */
.status-info {
    color: var(--validation-info);
    background-color: var(--validation-info-bg);
    border: 1px solid var(--validation-info);
    border-radius: var(--border-radius-extra-small);
    padding: var(--spacing-xs) var(--spacing-s);
}
/* ===================================
   INTERACTIVE ELEMENT ENHANCEMENTS
   Hover and focus states for better UX
   =================================== */
/* Enhanced hover effects */
.hover-lift {
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.hover-lift:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-medium);
    }
.hover-scale {
    transition: transform var(--transition-fast);
}
.hover-scale:hover {
        transform: scale(1.02);
    }
.hover-glow {
    transition: box-shadow var(--transition-fast);
}
.hover-glow:hover {
        --csstools-light-dark-toggle--137: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.3);
        box-shadow: 0 0 8px var(--csstools-light-dark-toggle--137, oklch(from var(--teal-500) l c h / 0.3));
    }
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.hover-glow:hover {
        box-shadow: 0 0 8px light-dark(oklch(from var(--teal-500) l c h / 0.3), oklch(from var(--teal-400) l c h / 0.3));
    }
}
/* Focus enhancements */
.focus-ring {
    transition: box-shadow var(--transition-fast);
}
.focus-ring:focus-visible {
        outline: none;
        --csstools-light-dark-toggle--138: var(--csstools-color-scheme--light) oklch(from var(--teal-400) l c h / 0.3);
        box-shadow: 0 0 0 2px var(--csstools-light-dark-toggle--138, oklch(from var(--teal-500) l c h / 0.3));
    }
@supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) and (color: light-dark(red, red)) {
.focus-ring:focus-visible {
        box-shadow: 0 0 0 2px light-dark(oklch(from var(--teal-500) l c h / 0.3), oklch(from var(--teal-400) l c h / 0.3));
    }
}