*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

::-webkit-datetime-edit {
  display: inline-flex;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

select {
  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;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

[multiple],[size]:where(select:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}

[type='checkbox'],[type='radio'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

[type='checkbox'] {
  border-radius: 0px;
}

[type='radio'] {
  border-radius: 100%;
}

[type='checkbox']:focus,[type='radio']:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

[type='checkbox']:checked,[type='radio']:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

[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");
}

@media (forced-colors: active)  {
  [type='checkbox']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[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");
}

@media (forced-colors: active)  {
  [type='radio']:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='checkbox']:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active)  {
  [type='checkbox']:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

[type='file'] {
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

[type='file']:focus {
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}

.\!container {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

@media (min-width: 480px) {
  .\!container {
    max-width: 480px !important;
  }

  .container {
    max-width: 480px;
  }
}

@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }

  .container {
    max-width: 640px;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}

@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }

  .container {
    max-width: 1024px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }

  .container {
    max-width: 1280px;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}

@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }

  .container {
    max-width: 1536px;
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: 17 24 39;
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: 255 255 255;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}

.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}

.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}

.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}

.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}

.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}

.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
}

.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}

.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}

.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}

.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}

.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.5;
}

.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}

.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.form-input,.form-textarea,.form-select,.form-multiselect {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-input::-moz-placeholder, .form-textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input::placeholder,.form-textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-input::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-input::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-input::-webkit-datetime-edit {
  display: inline-flex;
}

.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-select {
  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;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

.form-select:where([size]:not([size="1"])) {
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}

.form-checkbox,.form-radio {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

.form-checkbox {
  border-radius: 0px;
}

.form-checkbox:focus,.form-radio:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.form-checkbox:checked,.form-radio:checked {
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.form-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");
}

@media (forced-colors: active)  {
  .form-checkbox:checked {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

.form-checkbox:checked:hover,.form-checkbox:checked:focus,.form-radio:checked:hover,.form-radio:checked:focus {
  border-color: transparent;
  background-color: currentColor;
}

.form-checkbox:indeterminate {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active)  {
  .form-checkbox:indeterminate {
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

.form-checkbox:indeterminate:hover,.form-checkbox:indeterminate:focus {
  border-color: transparent;
  background-color: currentColor;
}

.cr-backdrop-blur {
  background-color: rgb(0 0 0 / 0.5);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  -webkit-backdrop-filter: blur(4px);
}

/* Wrapper principal */

.concord-table {
  overflow: hidden;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.concord-table:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* Options d'affichage déclarées dans Table.php (attributs posés par le
     partial table-renderer ; data-ct-empty posé par ConcordTable.js) */

.concord-table[data-ct-toolbar-off] [data-ct-toolbar],
  .concord-table[data-ct-pager-off] [data-ct-pager],
  .concord-table[data-ct-hide-empty][data-ct-empty] {
  display: none;
}

/* ── Toolbar (search + filtres) ── */

.ct-toolbar {
  position: sticky;
  top: 0px;
  z-index: 10;
}

.ct-search-wrap {
  position: relative;
  min-width: 0px;
  flex: 1 1 0%;
}

.ct-search-icon {
  pointer-events: none;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0.75rem;
  display: flex;
  align-items: center;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.ct-search {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 2.25rem;
  padding-right: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.ct-search::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.ct-search::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.ct-search {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ct-search:focus {
  border-color: transparent;
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.ct-search:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.ct-search:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.ct-search:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.ct-search:focus:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.ct-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.ct-select {
  cursor: pointer;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.ct-select:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.ct-select:focus:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.ct-filter-date {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-filter-date:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.ct-filter-reset {
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ct-filter-reset:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-filter-reset:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.ct-filter-reset:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* ── Toolbar fond — par défaut = même couleur que thead ── */

.ct-toolbar-main {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.ct-toolbar-main:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

/* ── Variantes couleur toolbar ─────────────────────────────
     Usage : <div class="ct-toolbar-main ct-toolbar--primary">
     Fond subtil (shade 50) + bordure basse assortie            */

/* Brand / sémantiques */

.ct-toolbar--primary {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 194 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 250 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--primary:is(.dark *) {
  border-color: rgb(0 53 102 / 0.4);
  background-color: rgb(0 26 51 / 0.2);
}

.ct-toolbar--action {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--action:is(.dark *) {
  border-color: rgb(55 48 163 / 0.4);
  background-color: rgb(30 27 75 / 0.2);
}

.ct-toolbar--secondary {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 239 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(230 251 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--secondary:is(.dark *) {
  border-color: rgb(0 144 184 / 0.4);
  background-color: rgb(0 92 122 / 0.2);
}

.ct-toolbar--success {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--success:is(.dark *) {
  border-color: rgb(21 128 61 / 0.4);
  background-color: rgb(20 83 45 / 0.2);
}

.ct-toolbar--danger {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--danger:is(.dark *) {
  border-color: rgb(185 28 28 / 0.4);
  background-color: rgb(127 29 29 / 0.2);
}

.ct-toolbar--warning {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--warning:is(.dark *) {
  border-color: rgb(181 137 0 / 0.4);
  background-color: rgb(120 53 15 / 0.2);
}

.ct-toolbar--violet {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--violet:is(.dark *) {
  border-color: rgb(91 58 154 / 0.4);
  background-color: rgb(59 31 106 / 0.2);
}

.ct-toolbar--azure {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 211 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(230 244 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--azure:is(.dark *) {
  border-color: rgb(0 98 153 / 0.4);
  background-color: rgb(0 50 68 / 0.2);
}

/* Couleurs étendues — custom */

.ct-toolbar--gold {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--gold:is(.dark *) {
  border-color: rgb(181 137 0 / 0.4);
  background-color: rgb(120 53 15 / 0.2);
}

.ct-toolbar--brown {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(241 204 171 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(253 245 239 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--brown:is(.dark *) {
  border-color: rgb(124 74 29 / 0.4);
  background-color: rgb(74 44 17 / 0.2);
}

.ct-toolbar--olive {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(216 223 170 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(247 248 237 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--olive:is(.dark *) {
  border-color: rgb(92 97 25 / 0.4);
  background-color: rgb(54 57 15 / 0.2);
}

.ct-toolbar--maroon {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(245 186 186 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 242 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--maroon:is(.dark *) {
  border-color: rgb(127 29 29 / 0.4);
  background-color: rgb(74 17 17 / 0.2);
}

.ct-toolbar--coral {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(251 196 181 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 240 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--coral:is(.dark *) {
  border-color: rgb(181 64 42 / 0.4);
  background-color: rgb(110 39 26 / 0.2);
}

.ct-toolbar--khaki {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(221 217 180 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 247 239 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--khaki:is(.dark *) {
  border-color: rgb(107 104 48 / 0.4);
  background-color: rgb(64 62 28 / 0.2);
}

.ct-toolbar--beige {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(233 225 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(250 248 244 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--beige:is(.dark *) {
  border-color: rgb(138 122 90 / 0.4);
  background-color: rgb(82 72 54 / 0.2);
}

.ct-toolbar--cream {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(240 232 216 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(253 252 249 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--cream:is(.dark *) {
  border-color: rgb(138 119 88 / 0.4);
  background-color: rgb(82 70 50 / 0.2);
}

.ct-toolbar--silver {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(220 222 227 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(247 248 249 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--silver:is(.dark *) {
  border-color: rgb(99 103 112 / 0.4);
  background-color: rgb(57 59 66 / 0.2);
}

/* Couleurs Tailwind standard */

.ct-toolbar--dark {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--dark:is(.dark *) {
  border-color: rgb(75 85 99 / 0.4);
  background-color: rgb(31 41 55 / 0.4);
}

.ct-toolbar--slate {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--slate:is(.dark *) {
  border-color: rgb(51 65 85 / 0.4);
  background-color: rgb(15 23 42 / 0.2);
}

.ct-toolbar--stone {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(231 229 228 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--stone:is(.dark *) {
  border-color: rgb(68 64 60 / 0.4);
  background-color: rgb(28 25 23 / 0.2);
}

.ct-toolbar--orange {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--orange:is(.dark *) {
  border-color: rgb(194 65 12 / 0.4);
  background-color: rgb(124 45 18 / 0.2);
}

.ct-toolbar--amber {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--amber:is(.dark *) {
  border-color: rgb(180 83 9 / 0.4);
  background-color: rgb(120 53 15 / 0.2);
}

.ct-toolbar--yellow {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--yellow:is(.dark *) {
  border-color: rgb(161 98 7 / 0.4);
  background-color: rgb(113 63 18 / 0.2);
}

.ct-toolbar--lime {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--lime:is(.dark *) {
  border-color: rgb(77 124 15 / 0.4);
  background-color: rgb(54 83 20 / 0.2);
}

.ct-toolbar--emerald {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--emerald:is(.dark *) {
  border-color: rgb(4 120 87 / 0.4);
  background-color: rgb(6 78 59 / 0.2);
}

.ct-toolbar--teal {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--teal:is(.dark *) {
  border-color: rgb(15 118 110 / 0.4);
  background-color: rgb(19 78 74 / 0.2);
}

.ct-toolbar--cyan {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--cyan:is(.dark *) {
  border-color: rgb(14 116 144 / 0.4);
  background-color: rgb(22 78 99 / 0.2);
}

.ct-toolbar--sky {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--sky:is(.dark *) {
  border-color: rgb(3 105 161 / 0.4);
  background-color: rgb(12 74 110 / 0.2);
}

.ct-toolbar--purple {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--purple:is(.dark *) {
  border-color: rgb(126 34 206 / 0.4);
  background-color: rgb(88 28 135 / 0.2);
}

.ct-toolbar--fuchsia {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(245 208 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--fuchsia:is(.dark *) {
  border-color: rgb(162 28 175 / 0.4);
  background-color: rgb(112 26 117 / 0.2);
}

.ct-toolbar--pink {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--pink:is(.dark *) {
  border-color: rgb(190 24 93 / 0.4);
  background-color: rgb(131 24 67 / 0.2);
}

.ct-toolbar--rose {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}

.ct-toolbar--rose:is(.dark *) {
  border-color: rgb(190 18 60 / 0.4);
  background-color: rgb(136 19 55 / 0.2);
}

/* ── Ligne de totaux (feature `aggregable`) ──
     Rendue par TableRenderer.js en HAUT et en BAS du tableau quand la réponse
     serveur porte un `totalsRow`. Doit se distinguer des lignes de données sans
     imiter l'en-tête : fond surface + double filet + graisse. */

.ct-totals {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-weight: 600;
}

.ct-totals:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.ct-totals td {
  border-top-width: 2px;
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.ct-totals td:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.ct-totals__label {
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.ct-totals__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Thead variantes (shade 100 à 70% opacité = entre 50 et 100) ── */

/* Brand / sémantiques */

.ct-thead--primary {
  background-color: rgb(204 224 245 / 0.7);
}

.ct-thead--primary:is(.dark *) {
  background-color: rgb(0 26 51 / 0.25);
}

.ct-thead--action {
  background-color: rgb(224 231 255 / 0.7);
}

.ct-thead--action:is(.dark *) {
  background-color: rgb(30 27 75 / 0.25);
}

.ct-thead--secondary {
  background-color: rgb(204 247 255 / 0.7);
}

.ct-thead--secondary:is(.dark *) {
  background-color: rgb(0 92 122 / 0.25);
}

.ct-thead--success {
  background-color: rgb(220 252 231 / 0.7);
}

.ct-thead--success:is(.dark *) {
  background-color: rgb(20 83 45 / 0.25);
}

.ct-thead--danger {
  background-color: rgb(254 226 226 / 0.7);
}

.ct-thead--danger:is(.dark *) {
  background-color: rgb(127 29 29 / 0.25);
}

.ct-thead--warning {
  background-color: rgb(254 243 199 / 0.7);
}

.ct-thead--warning:is(.dark *) {
  background-color: rgb(120 53 15 / 0.25);
}

.ct-thead--violet {
  background-color: rgb(237 233 254 / 0.7);
}

.ct-thead--violet:is(.dark *) {
  background-color: rgb(59 31 106 / 0.25);
}

.ct-thead--azure {
  background-color: rgb(204 233 255 / 0.7);
}

.ct-thead--azure:is(.dark *) {
  background-color: rgb(0 50 68 / 0.25);
}

/* Couleurs étendues — custom */

.ct-thead--gold {
  background-color: rgb(254 243 199 / 0.7);
}

.ct-thead--gold:is(.dark *) {
  background-color: rgb(120 53 15 / 0.25);
}

.ct-thead--brown {
  background-color: rgb(249 232 214 / 0.7);
}

.ct-thead--brown:is(.dark *) {
  background-color: rgb(74 44 17 / 0.25);
}

.ct-thead--olive {
  background-color: rgb(236 239 212 / 0.7);
}

.ct-thead--olive:is(.dark *) {
  background-color: rgb(54 57 15 / 0.25);
}

.ct-thead--maroon {
  background-color: rgb(251 224 224 / 0.7);
}

.ct-thead--maroon:is(.dark *) {
  background-color: rgb(74 17 17 / 0.25);
}

.ct-thead--coral {
  background-color: rgb(253 227 220 / 0.7);
}

.ct-thead--coral:is(.dark *) {
  background-color: rgb(110 39 26 / 0.25);
}

.ct-thead--khaki {
  background-color: rgb(238 237 217 / 0.7);
}

.ct-thead--khaki:is(.dark *) {
  background-color: rgb(64 62 28 / 0.25);
}

.ct-thead--beige {
  background-color: rgb(244 240 231 / 0.7);
}

.ct-thead--beige:is(.dark *) {
  background-color: rgb(82 72 54 / 0.25);
}

.ct-thead--cream {
  background-color: rgb(248 244 236 / 0.7);
}

.ct-thead--cream:is(.dark *) {
  background-color: rgb(82 70 50 / 0.25);
}

.ct-thead--silver {
  background-color: rgb(237 238 241 / 0.7);
}

.ct-thead--silver:is(.dark *) {
  background-color: rgb(57 59 66 / 0.25);
}

/* Couleurs Tailwind standard */

.ct-thead--dark {
  background-color: rgb(229 231 235 / 0.7);
}

.ct-thead--dark:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5);
}

.ct-thead--slate {
  background-color: rgb(241 245 249 / 0.7);
}

.ct-thead--slate:is(.dark *) {
  background-color: rgb(15 23 42 / 0.25);
}

.ct-thead--stone {
  background-color: rgb(245 245 244 / 0.7);
}

.ct-thead--stone:is(.dark *) {
  background-color: rgb(28 25 23 / 0.25);
}

.ct-thead--orange {
  background-color: rgb(255 237 213 / 0.7);
}

.ct-thead--orange:is(.dark *) {
  background-color: rgb(124 45 18 / 0.25);
}

.ct-thead--amber {
  background-color: rgb(254 243 199 / 0.7);
}

.ct-thead--amber:is(.dark *) {
  background-color: rgb(120 53 15 / 0.25);
}

.ct-thead--yellow {
  background-color: rgb(254 249 195 / 0.7);
}

.ct-thead--yellow:is(.dark *) {
  background-color: rgb(113 63 18 / 0.25);
}

.ct-thead--lime {
  background-color: rgb(236 252 203 / 0.7);
}

.ct-thead--lime:is(.dark *) {
  background-color: rgb(54 83 20 / 0.25);
}

.ct-thead--emerald {
  background-color: rgb(209 250 229 / 0.7);
}

.ct-thead--emerald:is(.dark *) {
  background-color: rgb(6 78 59 / 0.25);
}

.ct-thead--teal {
  background-color: rgb(204 251 241 / 0.7);
}

.ct-thead--teal:is(.dark *) {
  background-color: rgb(19 78 74 / 0.25);
}

.ct-thead--cyan {
  background-color: rgb(207 250 254 / 0.7);
}

.ct-thead--cyan:is(.dark *) {
  background-color: rgb(22 78 99 / 0.25);
}

.ct-thead--sky {
  background-color: rgb(224 242 254 / 0.7);
}

.ct-thead--sky:is(.dark *) {
  background-color: rgb(12 74 110 / 0.25);
}

.ct-thead--purple {
  background-color: rgb(243 232 255 / 0.7);
}

.ct-thead--purple:is(.dark *) {
  background-color: rgb(88 28 135 / 0.25);
}

.ct-thead--fuchsia {
  background-color: rgb(250 232 255 / 0.7);
}

.ct-thead--fuchsia:is(.dark *) {
  background-color: rgb(112 26 117 / 0.25);
}

.ct-thead--pink {
  background-color: rgb(252 231 243 / 0.7);
}

.ct-thead--pink:is(.dark *) {
  background-color: rgb(131 24 67 / 0.25);
}

.ct-thead--rose {
  background-color: rgb(255 228 230 / 0.7);
}

.ct-thead--rose:is(.dark *) {
  background-color: rgb(136 19 55 / 0.25);
}

/* ── Override JS-toolbar : search plein largeur, filtres à droite ── */

/* ToolbarRenderer.js rend la search avec sm:flex-none + sm:w-64 ;
     on force le wrapper à être flex-1 et l'input à 100 % */

@media (min-width: 640px) {
  [data-ct-toolbar] div:has([data-ct-search]) {
    flex: 1 1 auto;
  }
}

[data-ct-toolbar] [data-ct-search] {
  width: 100%;
  max-width: none;
}

/* ── Table body wrapper ── */

.ct-body {
  overflow-x: auto;
}

[data-ct-table] {
  width: 100%;
  min-width: 100%;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* ── Head ── */

.ct-head tr {
  /* bg géré par ct-thead--{variant} ou fallback dans le JS */
}

.ct-head {
}

.ct-head th {
  white-space: nowrap;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.ct-head th:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.ct-head th.sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ct-head th.sortable:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-head th.sortable:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* ── Rows ── */

.ct-rows > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}

.ct-rows:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1));
}

.ct-rows tr {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ct-rows tr:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.ct-rows tr:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.4);
}

.ct-rows td {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-rows td:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Modificateurs de ligne ── */

/* Striped — fond alterné pair/impair */

.ct-striped .ct-rows tr:nth-child(even) {
  background-color: rgb(249 250 251 / 0.8);
}

.ct-striped .ct-rows tr:nth-child(even):is(.dark *) {
  background-color: rgb(55 65 81 / 0.2);
}

/* Hoverable — survol plus marqué (navy/cyan tint) */

.ct-hoverable .ct-rows tr:hover {
  background-color: rgb(0 53 102 / .04);
}

.ct-hoverable .ct-rows tr:hover:is(.dark *) {
  background-color: rgb(0 196 241 / .06);
}

/* Row highlights — appliquer sur <tr> */

.ct-row-primary {
  background-color: rgb(239 246 255 / 0.8);
}

.ct-row-primary:is(.dark *) {
  background-color: rgb(30 58 138 / 0.2);
}

.ct-row-success {
  background-color: rgb(240 253 244 / 0.8);
}

.ct-row-success:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2);
}

.ct-row-warning {
  background-color: rgb(255 251 235 / 0.8);
}

.ct-row-warning:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2);
}

.ct-row-danger {
  background-color: rgb(254 242 242 / 0.8);
}

.ct-row-danger:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}

/* ── Pagination ── */

.ct-pager {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  background-color: rgb(249 250 251 / 0.5);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.ct-pager:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px) {
  .ct-pager {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.ct-page-btn {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ct-page-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.ct-page-btn:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.ct-page-btn:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.ct-page-btn.active {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ct-page-btn.active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.ct-page-btn.\!active {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.ct-page-btn.\!active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.ct-page-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ct-page-nav:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.ct-page-nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.ct-page-nav:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.ct-page-nav:disabled {
  cursor: not-allowed;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.ct-page-nav:disabled:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.ct-page-nav:disabled:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.ct-page-nav:disabled:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── États (loading / empty / error) ── */

.ct-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  padding-bottom: 3rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.ct-state:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.ct-state.ct-error {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

/* ── Badges table (ct-badge) — version légère sans ring ── */

.ct-badge {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

/* Couleurs Tailwind standard */

.ct-badge-green {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.ct-badge-green:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.ct-badge-emerald {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.ct-badge-emerald:is(.dark *) {
  background-color: rgb(6 78 59 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.ct-badge-red {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.ct-badge-red:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.ct-badge-rose {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}

.ct-badge-rose:is(.dark *) {
  background-color: rgb(136 19 55 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.ct-badge-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.ct-badge-blue:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.ct-badge-indigo {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.ct-badge-indigo:is(.dark *) {
  background-color: rgb(49 46 129 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.ct-badge-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}

.ct-badge-purple:is(.dark *) {
  background-color: rgb(88 28 135 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.ct-badge-amber {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.ct-badge-amber:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.ct-badge-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.ct-badge-orange:is(.dark *) {
  background-color: rgb(124 45 18 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.ct-badge-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.ct-badge-yellow:is(.dark *) {
  background-color: rgb(113 63 18 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.ct-badge-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.ct-badge-gray:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.ct-badge-slate {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.ct-badge-slate:is(.dark *) {
  background-color: rgb(15 23 42 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.ct-badge-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}

.ct-badge-teal:is(.dark *) {
  background-color: rgb(19 78 74 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.ct-badge-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.ct-badge-cyan:is(.dark *) {
  background-color: rgb(22 78 99 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.ct-badge-sky {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.ct-badge-sky:is(.dark *) {
  background-color: rgb(12 74 110 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.ct-badge-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.ct-badge-lime:is(.dark *) {
  background-color: rgb(54 83 20 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}

.ct-badge-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}

.ct-badge-pink:is(.dark *) {
  background-color: rgb(131 24 67 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}

.ct-badge-fuchsia {
  --tw-bg-opacity: 1;
  background-color: rgb(250 232 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(134 25 143 / var(--tw-text-opacity, 1));
}

.ct-badge-fuchsia:is(.dark *) {
  background-color: rgb(112 26 117 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity, 1));
}

.ct-badge-violet {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.ct-badge-violet:is(.dark *) {
  background-color: rgb(76 29 149 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

/* Couleurs sémantiques Concord */

.ct-badge-success {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.ct-badge-success:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.ct-badge-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.ct-badge-danger:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.ct-badge-warning {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.ct-badge-warning:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.ct-badge-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.ct-badge-primary:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.ct-badge-edit {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.ct-badge-edit:is(.dark *) {
  background-color: rgb(76 29 149 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

.ct-badge-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.ct-badge-accent:is(.dark *) {
  background-color: rgb(22 78 99 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

/* Couleurs custom */

.ct-badge-brown {
  --tw-bg-opacity: 1;
  background-color: rgb(249 232 214 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(98 59 23 / var(--tw-text-opacity, 1));
}

.ct-badge-brown:is(.dark *) {
  background-color: rgb(74 44 17 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(232 171 120 / var(--tw-text-opacity, 1));
}

.ct-badge-olive {
  --tw-bg-opacity: 1;
  background-color: rgb(236 239 212 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(72 76 20 / var(--tw-text-opacity, 1));
}

.ct-badge-olive:is(.dark *) {
  background-color: rgb(54 57 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(191 201 122 / var(--tw-text-opacity, 1));
}

.ct-badge-maroon {
  --tw-bg-opacity: 1;
  background-color: rgb(251 224 224 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(100 23 23 / var(--tw-text-opacity, 1));
}

.ct-badge-maroon:is(.dark *) {
  background-color: rgb(74 17 17 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(236 140 140 / var(--tw-text-opacity, 1));
}

.ct-badge-coral {
  --tw-bg-opacity: 1;
  background-color: rgb(253 227 220 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(144 51 34 / var(--tw-text-opacity, 1));
}

.ct-badge-coral:is(.dark *) {
  background-color: rgb(110 39 26 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(247 157 133 / var(--tw-text-opacity, 1));
}

/* ── Boutons d'action ── */

/* ── Boutons d'action icône-only ── */

/* Fond coloré permanent, couleur propre à chaque type d'action   */

.ct-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  padding: 0.5rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Voir — bleu */

.ct-action-btn-view {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.ct-action-btn-view:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.ct-action-btn-view:is(.dark *) {
  background-color: rgb(30 58 138 / 0.4);
}

.ct-action-btn-view:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
}

/* Modifier — amber */

.ct-action-btn-edit {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.ct-action-btn-edit:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.ct-action-btn-edit:is(.dark *) {
  background-color: rgb(120 53 15 / 0.4);
}

.ct-action-btn-edit:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
}

/* Annuler / Supprimer — rouge */

.ct-action-btn-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.ct-action-btn-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.ct-action-btn-danger:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4);
}

.ct-action-btn-danger:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
}

/* 3-dot — neutre */

/* ── Items de dropdown d'actions ── */

input[readonly],
  textarea[readonly], 
  input[disabled],
  textarea[disabled], 
  input[locked],
  textarea[locked] {
  cursor: not-allowed;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

input[readonly]:focus,
  textarea[readonly]:focus, 
  input[disabled]:focus,
  textarea[disabled]:focus, 
  input[locked]:focus,
  textarea[locked]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

input[readonly]:is(.dark *),
  textarea[readonly]:is(.dark *), 
  input[disabled]:is(.dark *),
  textarea[disabled]:is(.dark *), 
  input[locked]:is(.dark *),
  textarea[locked]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

input[data-computed],
  textarea[data-computed] {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

input[data-computed]:is(.dark *),
  textarea[data-computed]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
  background-color: rgb(23 37 84 / 0.2);
}

/* ── Socle commun ─────────────────────────────────────────────
     L'animation hover/active est gérée en CSS natif ci-dessous
     pour éviter les conflits transition-all + disabled           */

.btn-base {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-base:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-base:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-base {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-base:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-base:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ── Variantes pleines ────────────────────────────────────── */

/* Indigo action (light-action #4F46E5) — ajouter / créer */

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-primary:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-primary {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-primary:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.btn-primary:focus {
  --tw-ring-color: rgb(79 70 229 / 0.4);
}

.btn-primary:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.btn-primary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}

/* Cyan Concord (light-secondary #00C4F1) — nouveau / lavage */

.btn-accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-accent:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-accent {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-accent:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(0 170 216 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.btn-accent:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 170 216 / var(--tw-bg-opacity, 1));
}

.btn-accent:focus {
  --tw-ring-color: rgb(0 196 241 / 0.4);
}

/* Violet Concord (light-violet #7E57C2) — exporter / télécharger */

.btn-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-edit:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-edit {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-edit:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(107 70 178 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-edit:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

.btn-edit:focus {
  --tw-ring-color: rgb(126 87 194 / 0.4);
}

/* Ardoise — annuler / neutre */

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-secondary:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-secondary {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-secondary:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.btn-secondary:focus {
  --tw-ring-color: rgb(100 116 139 / 0.4);
}

.btn-secondary:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.btn-secondary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

/* Vert (light-success) — enregistrer / valider */

.btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-success:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-success {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-success:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.btn-success:focus {
  --tw-ring-color: rgb(22 163 74 / 0.4);
}

/* Or Concord (light-gold #F5B700) — modifier / import / paramètres */

.btn-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-warning:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-warning {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-warning:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(181 137 0 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.btn-warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

.btn-warning:focus {
  --tw-ring-color: rgb(245 183 0 / 0.4);
}

/* Rouge (light-error #DC2626) — supprimer / destructif */

.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-danger:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-danger {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-danger:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.btn-danger:focus {
  --tw-ring-color: rgb(220 38 38 / 0.4);
}

/* Navy Concord (light-primary #003566) — imprimer / partager */

.btn-print {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-print:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-print {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-print:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(0 42 82 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-print:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 68 128 / var(--tw-bg-opacity, 1));
}

.btn-print:focus {
  --tw-ring-color: rgb(0 53 102 / 0.4);
}

.btn-print:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 102 204 / var(--tw-bg-opacity, 1));
}

/* ── Variantes light (fond pâle en clair · teinté transparent en sombre) ── */

.btn-primary-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-primary-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-primary-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-primary-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-primary-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.btn-primary-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.btn-primary-light:focus {
  --tw-ring-color: rgb(59 130 246 / 0.3);
}

.btn-primary-light:is(.dark *) {
  border-color: rgb(96 165 250 / 0.3);
  background-color: rgb(30 58 138 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.btn-primary-light:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
}

.btn-accent-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-accent-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-accent-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-accent-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-accent-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}

.btn-accent-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.btn-accent-light:focus {
  --tw-ring-color: rgb(6 182 212 / 0.3);
}

.btn-accent-light:is(.dark *) {
  border-color: rgb(34 211 238 / 0.3);
  background-color: rgb(22 78 99 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.btn-accent-light:hover:is(.dark *) {
  background-color: rgb(22 78 99 / 0.6);
}

.btn-edit-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-edit-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-edit-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-edit-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-edit-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}

.btn-edit-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.btn-edit-light:focus {
  --tw-ring-color: rgb(139 92 246 / 0.3);
}

.btn-edit-light:is(.dark *) {
  border-color: rgb(167 139 250 / 0.3);
  background-color: rgb(76 29 149 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.btn-edit-light:hover:is(.dark *) {
  background-color: rgb(76 29 149 / 0.6);
}

.btn-secondary-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-secondary-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-secondary-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-secondary-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-secondary-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.btn-secondary-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.btn-secondary-light:focus {
  --tw-ring-color: rgb(100 116 139 / 0.3);
}

.btn-secondary-light:is(.dark *) {
  border-color: rgb(148 163 184 / 0.3);
  background-color: rgb(100 116 139 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.btn-secondary-light:hover:is(.dark *) {
  background-color: rgb(100 116 139 / 0.2);
}

.btn-success-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-success-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-success-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-success-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-success-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.btn-success-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.btn-success-light:focus {
  --tw-ring-color: rgb(34 197 94 / 0.3);
}

.btn-success-light:is(.dark *) {
  border-color: rgb(74 222 128 / 0.3);
  background-color: rgb(20 83 45 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.btn-success-light:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6);
}

/* Teintes de groupe (plan READABLE-TABLES, ui_group_palette()) — pastilles de chambre cliquables */

.btn-teal-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-teal-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-teal-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-teal-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-teal-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-teal-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-teal-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}

.btn-teal-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}

.btn-teal-light:focus {
  --tw-ring-color: rgb(20 184 166 / 0.3);
}

.btn-teal-light:is(.dark *) {
  border-color: rgb(45 212 191 / 0.3);
  background-color: rgb(19 78 74 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.btn-teal-light:hover:is(.dark *) {
  background-color: rgb(19 78 74 / 0.6);
}

.btn-lime-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-lime-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-lime-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-lime-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-lime-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-lime-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-lime-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(77 124 15 / var(--tw-text-opacity, 1));
}

.btn-lime-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}

.btn-lime-light:focus {
  --tw-ring-color: rgb(132 204 22 / 0.3);
}

.btn-lime-light:is(.dark *) {
  border-color: rgb(163 230 53 / 0.3);
  background-color: rgb(54 83 20 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}

.btn-lime-light:hover:is(.dark *) {
  background-color: rgb(54 83 20 / 0.6);
}

.btn-indigo-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-indigo-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-indigo-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-indigo-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-indigo-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-indigo-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-indigo-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.btn-indigo-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.btn-indigo-light:focus {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.btn-indigo-light:is(.dark *) {
  border-color: rgb(129 140 248 / 0.3);
  background-color: rgb(49 46 129 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.btn-indigo-light:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.6);
}

.btn-warning-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-warning-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-warning-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-warning-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-warning-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.btn-warning-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.btn-warning-light:focus {
  --tw-ring-color: rgb(245 158 11 / 0.3);
}

.btn-warning-light:is(.dark *) {
  border-color: rgb(251 191 36 / 0.3);
  background-color: rgb(120 53 15 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.btn-warning-light:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
}

.btn-danger-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-danger-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-danger-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-danger-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-danger-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.btn-danger-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.btn-danger-light:focus {
  --tw-ring-color: rgb(239 68 68 / 0.3);
}

.btn-danger-light:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3);
  background-color: rgb(127 29 29 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.btn-danger-light:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
}

.btn-print-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print-light:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-print-light:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-print-light {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-print-light:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print-light:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-print-light {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(12 74 110 / var(--tw-text-opacity, 1));
}

.btn-print-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.btn-print-light:focus {
  --tw-ring-color: rgb(14 165 233 / 0.3);
}

.btn-print-light:is(.dark *) {
  border-color: rgb(56 189 248 / 0.3);
  background-color: rgb(12 74 110 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}

.btn-print-light:hover:is(.dark *) {
  background-color: rgb(12 74 110 / 0.6);
}

/* ── Ghost / Outline ──────────────────────────────────────── */

/* Contour indigo action — alternatif primaire */

/* Blanc — cancel, retour, neutre sur fond coloré */

.btn-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-white:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-white:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-white {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-white:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-white:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-white {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.btn-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.btn-white:focus {
  --tw-ring-color: rgb(209 213 219 / 0.4);
}

.btn-white:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.btn-white:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.btn-outline:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-outline:focus {
  --tw-ring-color: rgb(79 70 229 / 0.4);
}

.btn-outline:is(.dark *) {
  border-color: rgb(99 102 241 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.btn-outline:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Contour indigo action — alternatif edit */

.btn-outline-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-edit:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline-edit:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline-edit {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline-edit:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-edit:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-edit {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.btn-outline-edit:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-outline-edit:focus {
  --tw-ring-color: rgb(126 87 194 / 0.4);
}

.btn-outline-edit:is(.dark *) {
  border-color: rgb(167 139 250 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.btn-outline-edit:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Contour vert — alternatif success */

.btn-outline-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-success:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline-success:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline-success {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline-success:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-success:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-success {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.btn-outline-success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-outline-success:focus {
  --tw-ring-color: rgb(22 163 74 / 0.4);
}

.btn-outline-success:is(.dark *) {
  border-color: rgb(74 222 128 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.btn-outline-success:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Contour or — alternatif warning */

.btn-outline-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-warning:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline-warning:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline-warning {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline-warning:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-warning:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-warning {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.btn-outline-warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.btn-outline-warning:focus {
  --tw-ring-color: rgb(245 183 0 / 0.4);
}

.btn-outline-warning:is(.dark *) {
  border-color: rgb(251 191 36 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.btn-outline-warning:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

/* Contour rouge — alternatif danger */

.btn-outline-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-danger:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline-danger:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline-danger {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline-danger:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-danger:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-danger {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.btn-outline-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-outline-danger:focus {
  --tw-ring-color: rgb(220 38 38 / 0.4);
}

.btn-outline-danger:is(.dark *) {
  border-color: rgb(248 113 113 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.btn-outline-danger:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Contour ardoise — alternatif secondary */

.btn-outline-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-secondary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-outline-secondary:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-outline-secondary {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-outline-secondary:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-secondary:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-outline-secondary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.btn-outline-secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-outline-secondary:focus {
  --tw-ring-color: rgb(100 116 139 / 0.4);
}

.btn-outline-secondary:is(.dark *) {
  border-color: rgb(148 163 184 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.btn-outline-secondary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Contour gris — neutre */

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-ghost:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.btn-ghost:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.btn-ghost {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.btn-ghost:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-ghost:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-ghost {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.btn-ghost:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.btn-ghost:focus {
  --tw-ring-color: rgb(156 163 175 / 0.4);
}

.btn-ghost:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.btn-ghost:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* ── Lien CTA (vrai <a>, pas un bouton) ────────────────────────
     Classe `.link` — utilisée pour les CTA contextuels inline
     (liens "Voir tout" génériques, CTA contextuels dans le contenu).
     PAS un bouton : pas de fond, pas de bordure, pas de shadow,
     pas de translateY hover.
     Icône à droite par défaut via l'ordre du HTML :
        <a class="link"><span>Label</span><icon /></a>
     Variante future `.link--icon-left` à créer quand besoin.    */

.\!link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  text-underline-offset: 2px;
}

.\!link:hover {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
}

.\!link:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.4);
  --tw-ring-offset-width: 1px;
}

.\!link:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.\!link:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  text-underline-offset: 2px;
}

.link:hover {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
}

.link:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.4);
  --tw-ring-offset-width: 1px;
}

.link:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.link:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.\!link {
  transition: color 200ms ease-out !important;
}

.link {
  transition: color 200ms ease-out;
}

/* ── CTA pill pour cards KPI (drill-down) ──────────────────────
     Classe `.cr-card__cta` — utilisée à l'intérieur d'une .cr-card
     en flex-col, alignée à droite via `self-end`.
     Pattern modélisé sur `themes/components/stats/index.php:687`
     (showcase Concord). Sprint DASHBOARD-KPI-ACTIONS 2026-05-05.
     ⚠ Cette classe est utilisée dynamiquement par `ui_kpi_action()`
     dans `app/core/` (non scanné par Tailwind). Safelistée via
     tailwind.config.js pour éviter le purge.                    */

.cr-card__cta {
  margin-top: 0.125rem;
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  align-self: flex-end;
  border-radius: 9999px;
  background-color: rgb(79 70 229 / 0.1);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-card__cta:hover {
  background-color: rgb(79 70 229 / 0.2);
}

.cr-card__cta:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-card__cta:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.25);
}

/* ── Modificateurs de taille ──────────────────────────────── */

.btn-xs {
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.btn-sm {
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.btn-lg {
  border-radius: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.btn-xl {
  border-radius: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
}

/* ── Icône seul (carré) ───────────────────────────────────── */

.btn-square {
  gap: 0px;
  border-radius: 0.5rem;
  padding: 0.5rem;
}

.btn-square-sm {
  gap: 0px;
  border-radius: 0.375rem;
  padding: 0.375rem;
}

.btn-square-xs {
  gap: 0px;
  border-radius: 0.25rem;
  border-width: 0px;
  padding: 0.25rem;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn-square-lg {
  gap: 0px;
  border-radius: 0.75rem;
  padding: 0.75rem;
}

/* ── Socle commun ──────────────────────────────────────────────
     font-medium (archives) · sans leading-none (evite px fraction)
     ring-inset donne un bord net sur les coins arrondis          */

/* ── Variantes pleines ─────────────────────────────────────── */

.badge-primary {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.badge-accent {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.badge-edit {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.badge-secondary {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.badge-success {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.badge-warning {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.badge-danger {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.badge-print {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Variantes light — palette comp (source : tailwind.config.js) ── */

.badge-primary-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.badge-primary-light:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.badge-accent-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.badge-accent-light:is(.dark *) {
  background-color: rgb(22 78 99 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.badge-edit-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.badge-edit-light:is(.dark *) {
  background-color: rgb(76 29 149 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

.badge-secondary-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.badge-secondary-light:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.badge-success-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.badge-success-light:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.badge-warning-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.badge-warning-light:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.badge-danger-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.badge-danger-light:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.badge-print-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.badge-print-light:is(.dark *) {
  background-color: rgb(12 74 110 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

/* ── Variantes light — couleurs Tailwind standard ───────────── */

.badge-green-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.badge-green-light:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.badge-emerald-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.badge-emerald-light:is(.dark *) {
  background-color: rgb(6 78 59 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.badge-red-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.badge-red-light:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.badge-rose-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity, 1));
}

.badge-rose-light:is(.dark *) {
  background-color: rgb(136 19 55 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.badge-blue-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.badge-blue-light:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.badge-indigo-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.badge-indigo-light:is(.dark *) {
  background-color: rgb(49 46 129 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.badge-purple-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}

.badge-purple-light:is(.dark *) {
  background-color: rgb(88 28 135 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.badge-amber-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.badge-amber-light:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.badge-orange-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.badge-orange-light:is(.dark *) {
  background-color: rgb(124 45 18 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.badge-yellow-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.badge-yellow-light:is(.dark *) {
  background-color: rgb(113 63 18 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.badge-gray-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.badge-gray-light:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.badge-slate-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.badge-slate-light:is(.dark *) {
  background-color: rgb(15 23 42 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.badge-teal-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}

.badge-teal-light:is(.dark *) {
  background-color: rgb(19 78 74 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.badge-cyan-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.badge-cyan-light:is(.dark *) {
  background-color: rgb(22 78 99 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.badge-sky-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.badge-sky-light:is(.dark *) {
  background-color: rgb(12 74 110 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.badge-lime-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.badge-lime-light:is(.dark *) {
  background-color: rgb(54 83 20 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}

.badge-pink-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}

.badge-pink-light:is(.dark *) {
  background-color: rgb(131 24 67 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}

.badge-fuchsia-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(250 232 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(134 25 143 / var(--tw-text-opacity, 1));
}

.badge-fuchsia-light:is(.dark *) {
  background-color: rgb(112 26 117 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity, 1));
}

.badge-violet-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.badge-violet-light:is(.dark *) {
  background-color: rgb(76 29 149 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

/* ── Variantes light — couleurs custom ──────────────────────── */

.badge-brown-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(249 232 214 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(98 59 23 / var(--tw-text-opacity, 1));
}

.badge-brown-light:is(.dark *) {
  background-color: rgb(74 44 17 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(232 171 120 / var(--tw-text-opacity, 1));
}

.badge-olive-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(236 239 212 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(72 76 20 / var(--tw-text-opacity, 1));
}

.badge-olive-light:is(.dark *) {
  background-color: rgb(54 57 15 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(191 201 122 / var(--tw-text-opacity, 1));
}

.badge-maroon-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(251 224 224 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(100 23 23 / var(--tw-text-opacity, 1));
}

.badge-maroon-light:is(.dark *) {
  background-color: rgb(74 17 17 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(236 140 140 / var(--tw-text-opacity, 1));
}

.badge-coral-light {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-bg-opacity: 1;
  background-color: rgb(253 227 220 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(144 51 34 / var(--tw-text-opacity, 1));
}

.badge-coral-light:is(.dark *) {
  background-color: rgb(110 39 26 / 0.6);
  --tw-text-opacity: 1;
  color: rgb(247 157 133 / var(--tw-text-opacity, 1));
}

/* ── Modificateurs de taille ──────────────────────────────── */

.badge-sm {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.badge-lg {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* ── Forme tag (rectangle arrondi) ────────────────────────────
     Archives : Design / UX / Marketing → rounded (4px) pas pill  */

.badge-tag {
  border-radius: 0.25rem;
}

/* ── Point coloré (sans texte) ────────────────────────────── */

.badge-dot {
  height: 0.625rem;
  width: 0.625rem;
  min-width: 0.625rem;
  gap: 0px;
  border-radius: 9999px;
  padding: 0px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

/* ── Positionnement en coin ──────────────────────────────────
     Wrapper : badge-anchor (position relative)
     Badge   : badge-corner (absolute top-right)              */

.badge-anchor {
  position: relative;
  display: inline-flex;
}

.badge-corner {
  position: absolute;
  top: -0.375rem;
  right: -0.375rem;
  z-index: 10;
}

.badge-corner-tl {
  position: absolute;
  top: -0.375rem;
  left: -0.375rem;
  z-index: 10;
}

/* ── Socle commun ─────────────────────────────────────────── */

/* ── Sous-éléments internes ────────────────────────────────── */

.alert-icon {
  margin-top: 0.125rem;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
}

.alert-body {
  min-width: 0px;
  flex: 1 1 0%;
}

.alert-title {
  margin-bottom: 0.125rem;
  display: block;
  font-weight: 600;
}

.alert-close {
  margin-top: -0.125rem;
  margin-right: -0.25rem;
  margin-left: auto;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.25rem;
  padding: 0.25rem;
  opacity: 0.6;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.alert-close:hover {
  opacity: 1;
}

.alert-close:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

/* ── Alerte RÉUTILISABLE (ex. erreur d'un formulaire de drawer) ─
     Rendue masquée par le PHP ; le JS pose l'état .is-visible et la
     remasque au × (au lieu de la supprimer), prête pour l'erreur suivante. */

[data-alert-reusable]:not(.is-visible) {
  display: none;
}

.menu-content[data-alert-reusable]:not(.is-visible) {
  opacity: 0;
}

/* ── Barre de progression (auto-close) ────────────────────── */

.alert-progress {
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 3px;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  opacity: 0.3;
  background: currentColor;
}

/* ── Variantes pleines ─────────────────────────────────────── */

.alert-primary {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.alert-accent {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(0 170 216 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.alert-secondary {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.alert-success {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.alert-warning {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(181 137 0 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.alert-danger {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.alert-edit {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(107 70 178 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.alert-print {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(0 42 82 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Variantes light — palette comp + dark mode ───────────── */

.alert-primary-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.alert-primary-light:is(.dark *) {
  border-color: rgb(96 165 250 / 0.3);
  background-color: rgb(30 58 138 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.alert-accent-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.alert-accent-light:is(.dark *) {
  border-color: rgb(34 211 238 / 0.3);
  background-color: rgb(22 78 99 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.alert-secondary-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.alert-secondary-light:is(.dark *) {
  border-color: rgb(148 163 184 / 0.3);
  background-color: rgb(100 116 139 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.alert-success-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.alert-success-light:is(.dark *) {
  border-color: rgb(74 222 128 / 0.3);
  background-color: rgb(20 83 45 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.alert-warning-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.alert-warning-light:is(.dark *) {
  border-color: rgb(251 191 36 / 0.3);
  background-color: rgb(120 53 15 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.alert-danger-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.alert-danger-light:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3);
  background-color: rgb(127 29 29 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.alert-edit-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.alert-edit-light:is(.dark *) {
  border-color: rgb(167 139 250 / 0.3);
  background-color: rgb(76 29 149 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

.alert-print-light {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition: opacity 200ms ease-out,
                transform  200ms ease-out,
                max-height 300ms   ease-out;
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}

.alert-print-light:is(.dark *) {
  border-color: rgb(56 189 248 / 0.3);
  background-color: rgb(12 74 110 / 0.4);
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

/* ── Conteneur ─────────────────────────────────────────────── */

.progress {
  position: relative;
  height: 0.5rem;
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.progress:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* ── Tailles ────────────────────────────────────────────────── */

.progress.progress-xs {
  height: 0.25rem;
}

.progress.progress-sm {
  height: 0.375rem;
}

.progress.progress-lg {
  height: 0.75rem;
}

.progress.progress-xl {
  height: 1rem;
}

/* ── Remplissage ────────────────────────────────────────────── */

.progress-bar {
  height: 100%;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  transition: width 400ms ease-out;
}

/* ── Variantes couleur ──────────────────────────────────────── */

.progress-bar-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.progress-bar-success {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.progress-bar-warning {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.progress-bar-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.progress-bar-info {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

/* ── Rayures ────────────────────────────────────────────────── */

.progress-bar-striped {
  background-image: linear-gradient(
      45deg,
      rgba(255,255,255,.18) 25%, transparent 25%,
      transparent 50%, rgba(255,255,255,.18) 50%,
      rgba(255,255,255,.18) 75%, transparent 75%,
      transparent
    );
  background-size: 1rem 1rem;
}

.progress-bar-animated {
  animation: progressStripes 0.8s linear infinite;
}

/* ── Indéterminé ────────────────────────────────────────────── */

.progress-bar-indeterminate {
  width: 40% !important;
  animation: progressIndeterminate 1.5s ease-in-out infinite;
}

/* ── Cercle (border trick) ─────────────────────────────────── */

.spinner {
  display: inline-block;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.spinner {
  animation: spin 1s linear infinite;
  border-radius: 9999px;
  border: 2px solid currentColor;
  border-top-color: transparent;
}

.spinner.spinner-xs {
  height: 0.75rem;
  width: 0.75rem;
  border-width: 1.5px;
}

.spinner.spinner-sm {
  height: 1rem;
  width: 1rem;
}

.spinner.spinner-lg {
  height: 1.75rem;
  width: 1.75rem;
  border-width: 3px;
}

.spinner.spinner-xl {
  height: 2.5rem;
  width: 2.5rem;
  border-width: 3px;
}

/* ── Variantes couleur ──────────────────────────────────────── */

.spinner-primary {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.spinner-success {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.spinner-warning {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.spinner-danger {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.spinner-info {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.spinner-gray {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.spinner-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Points (dots) ──────────────────────────────────────────── */

.spinner-dots {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.spinner-dots > span {
  display: inline-block;
  height: 0.5rem;
  width: 0.5rem;
  border-radius: 9999px;
  background-color: currentColor;
  animation: spinnerDot 1.4s ease-in-out infinite;
}

.spinner-dots > span:nth-child(2) {
  animation-delay: 0.16s;
}

.spinner-dots > span:nth-child(3) {
  animation-delay: 0.32s;
}

.spinner-dots.spinner-xs > span {
  height: 0.25rem;
  width: 0.25rem;
}

.spinner-dots.spinner-sm > span {
  height: 0.375rem;
  width: 0.375rem;
}

.spinner-dots.spinner-lg > span {
  height: 0.625rem;
  width: 0.625rem;
}

.spinner-dots.spinner-xl > span {
  height: 0.75rem;
  width: 0.75rem;
}

/* ── Conteneur menu ────────────────────────────────────────── */

.dropdown-menu {
  position: fixed;
  z-index: 60;
  max-height: 60vh;
  min-width: 12rem;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dropdown-menu:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dropdown-menu {
  opacity: 0;
  transform: scale(0.96) translateY(-6px);
  transform-origin: top left;
  transition: opacity 150ms ease,
                transform 150ms ease;
  pointer-events: none;
}

.dropdown-menu.dd-open {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}

/* ── Panel (absolute, compatible drawers avec transform) ──── */

.dropdown-panel {
  position: absolute;
  z-index: 60;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dropdown-panel:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Item standard ─────────────────────────────────────────── */

.dd-item {
  display: flex;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.625rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.dd-item:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.dd-item:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.dd-item:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* ── Variantes couleur des items ───────────────────────────── */

.dd-item-danger {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.dd-item-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.dd-item-danger:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dd-item-danger:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}

.dd-item-success {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.dd-item-success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.dd-item-success:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dd-item-success:hover:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2);
}

.dd-item-warning {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.dd-item-warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.dd-item-warning:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dd-item-warning:hover:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2);
}

/* ── Séparateur ────────────────────────────────────────────── */

.dd-divider {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.dd-divider:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

/* ── En-tête de groupe ─────────────────────────────────────── */

.dd-header {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dd-header:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* ── Zone info (non cliquable) ─────────────────────────────── */

.dd-info {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dd-info:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Entrée désactivée avec sa raison (conv 22 §6.5 B10) ─────── */

/*    Le kernel pose des classes sémantiques + l'état .is-disabled ;
        l'apparence est décidée ici, pas dans le PHP ni le JS.        */

.dd-item.is-disabled {
  cursor: not-allowed;
}

.dd-item.is-disabled .dd-item__icon,
  .dd-item.is-disabled .dd-item__label {
  opacity: 0.5;
}

.dd-item__icon {
  display: flex;
  align-items: center;
}

.dd-item__body {
  display: flex;
  flex-direction: column;
}

.dd-item__reason {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dd-item__reason:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Action POST dans un menu : le mini-form prend toute la ligne ─ */

.dropdown-menu form {
  display: block;
}

/* ── Miroir masqué (dropdown.js pose l'état, le thème l'applique) ─ */

.dropdown-menu [data-dd-mirror-hidden] {
  display: none;
}

/* ── Conteneur de base ─────────────────────────────────────── */

.cr-card {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Variante interactive (hover lift) ─────────────────────── */

.cr-card--hover {
  cursor: pointer;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-card--hover:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* ── Variante flat (sans shadow, fond discret) ─────────────── */

.cr-card--flat {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-card--flat:is(.dark *) {
  background-color: rgb(17 24 39 / 0.5);
}

/* ── Variante glass (fond semi-transparent ~85%) ────────────── */

/* Note : @apply interdit avec opacity modifiers → CSS direct    */

.cr-card--glass {
  background-color: rgb(255 255 255 / 0.85);
}

.dark .cr-card--glass {
  background-color: rgb(31 41 55 / 0.85);
  /* gray-800 à 85% */
}

/* ── Header ─────────────────────────────────────────────────── */

.cr-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cr-card__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-card__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-card__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* ── Body ───────────────────────────────────────────────────── */

.cr-card__body {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* ── Footer ─────────────────────────────────────────────────── */

.cr-card__footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  background-color: rgb(249 250 251 / 0.6);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-card__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.5);
}

/* ── Image héro (pleine largeur, hauteur via classe Tailwind) ── */

.cr-card__img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ── Accents bordure gauche (bl = border-left) ───────────────
     Composer avec cr-card : class="cr-card cr-card--bl-primary"  */

.cr-card--bl-primary {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.cr-card--bl-accent {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(0 196 241 / var(--tw-border-opacity, 1));
}

.cr-card--bl-edit {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.cr-card--bl-success {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.cr-card--bl-warning {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-card--bl-danger {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.cr-card--bl-print {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(0 53 102 / var(--tw-border-opacity, 1));
}

/* ── Fonds solides — Groupe A (bg foncé · text-white) ────────
     Même palette que cr-header, convention double tiret BEM      */

.cr-card--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--action {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--gold {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--error {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--dark {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--slate {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--stone {
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--orange {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--amber {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--lime {
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--emerald {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--teal {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--sky {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--purple {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--fuchsia {
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--pink {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--rose {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--brown {
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--olive {
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--maroon {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--coral {
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-card--khaki {
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Groupe B (bg clair · text sombre) */

.cr-card--beige {
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-card--cream {
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-card--silver {
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

/* ── Dark mode — tokens sémantiques uniquement ───────────────
     Tailwind natifs (slate, stone, orange … silver) : inchangés  */

.dark .cr-card--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--action {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--gold {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--success {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.dark .cr-card--error {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

/* ── Fonds teintés — light (pattern badge-*-light, comp-*) ───
     Même 8 couleurs sémantiques que les badges light             */

.cr-card--action-light {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.cr-card--action-light:is(.dark *) {
  background-color: rgb(30 58 138 / 0.2);
}

.cr-card--accent-light {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.cr-card--accent-light:is(.dark *) {
  background-color: rgb(22 78 99 / 0.2);
}

.cr-card--edit-light {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.cr-card--edit-light:is(.dark *) {
  background-color: rgb(76 29 149 / 0.2);
}

.cr-card--success-light {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.cr-card--success-light:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2);
}

.cr-card--warning-light {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.cr-card--warning-light:is(.dark *) {
  background-color: rgb(120 53 15 / 0.2);
}

.cr-card--danger-light {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.cr-card--danger-light:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}

.cr-card--print-light {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}

.cr-card--print-light:is(.dark *) {
  background-color: rgb(12 74 110 / 0.2);
}

.cr-card--secondary-light {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.cr-card--secondary-light:is(.dark *) {
  background-color: rgb(15 23 42 / 0.2);
}

/* ── Base ────────────────────────────────────────────────────── */

.cr-avatar {
  display: inline-flex;
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 9999px;
  font-weight: 700;
}

/* ── Tailles ─────────────────────────────────────────────────── */

.cr-avatar--xs {
  height: 1.5rem;
  width: 1.5rem;
  font-size: 0.5625rem;
  line-height: 0.75rem;
}

.cr-avatar--sm {
  height: 2rem;
  width: 2rem;
  font-size: 0.6875rem;
  line-height: 1rem;
}

.cr-avatar--md {
  height: 2.5rem;
  width: 2.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.cr-avatar--lg {
  height: 3rem;
  width: 3rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-avatar--xl {
  height: 4rem;
  width: 4rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.cr-avatar--2xl {
  height: 5rem;
  width: 5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

/* ── Couleurs — VERSION SOLIDE (fond plein + texte blanc) ───────
     Usage : class="cr-avatar cr-avatar--md cr-avatar--primary"    */

.cr-avatar--gray {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--gray:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.cr-avatar--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--primary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-avatar--accent {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--accent:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.cr-avatar--success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.cr-avatar--warning {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--warning:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.cr-avatar--danger {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--danger:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.cr-avatar--edit {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-avatar--edit:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

/* ── Couleurs — VERSION LIGHT (fond pâle + texte coloré) ─────────
     Usage : class="cr-avatar cr-avatar--md cr-avatar--primary-light" */

.cr-avatar--gray-light {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.cr-avatar--gray-light:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.cr-avatar--primary-light {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.cr-avatar--primary-light:is(.dark *) {
  background-color: rgb(30 58 138 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.cr-avatar--accent-light {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.cr-avatar--accent-light:is(.dark *) {
  background-color: rgb(22 78 99 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.cr-avatar--success-light {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.cr-avatar--success-light:is(.dark *) {
  background-color: rgb(20 83 45 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.cr-avatar--warning-light {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.cr-avatar--warning-light:is(.dark *) {
  background-color: rgb(120 53 15 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.cr-avatar--danger-light {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.cr-avatar--danger-light:is(.dark *) {
  background-color: rgb(127 29 29 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.cr-avatar--edit-light {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}

.cr-avatar--edit-light:is(.dark *) {
  background-color: rgb(76 29 149 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}

/* Teintes de groupe (plan READABLE-TABLES, ui_group_palette()) — mêmes couleurs que .badge-*-light */

.cr-avatar--teal-light {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}

.cr-avatar--teal-light:is(.dark *) {
  background-color: rgb(19 78 74 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}

.cr-avatar--lime-light {
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.cr-avatar--lime-light:is(.dark *) {
  background-color: rgb(54 83 20 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}

.cr-avatar--indigo-light {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.cr-avatar--indigo-light:is(.dark *) {
  background-color: rgb(49 46 129 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

/* ── Formes ──────────────────────────────────────────────────────
     Cercle : rounded-full dans .cr-avatar (défaut)
     Carré  : cr-avatar--square override → rounded-xl             */

.cr-avatar--square {
  border-radius: 0.75rem;
}

/* ── Ring (anneau blanc autour) ─────────────────────────────── */

.cr-avatar--ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.cr-avatar--ring:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1));
}

/* ── Wrapper (requis pour la pastille de statut) ────────────── */

.cr-avatar-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

/* ── Pastille de statut ──────────────────────────────────────── */

.cr-avatar-dot {
  position: absolute;
  bottom: 0px;
  right: 0px;
  height: 0.625rem;
  width: 0.625rem;
  border-radius: 9999px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.cr-avatar-dot:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.cr-avatar-dot--online {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.cr-avatar-dot--away {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.cr-avatar-dot--busy {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.cr-avatar-dot--offline {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.cr-avatar-dot--offline:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

/* ── Groupe d'avatars empilés ────────────────────────────────── */

.cr-avatar-group {
  display: flex;
  align-items: center;
}

.cr-avatar-group > * {
  margin-left: -0.5rem;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.cr-avatar-group > *:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1));
}

.cr-avatar-group > *:first-child {
  margin-left: 0px;
}

/* ── Conteneur ───────────────────────────────────────────────── */

.cr-accordion > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.cr-accordion {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-accordion:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1));
}

.cr-accordion:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Variante flush (sans bordure extérieure ni radius) ──────── */

.cr-accordion--flush {
  border-radius: 0px;
  border-width: 0px;
}

/* ── Déclencheur ─────────────────────────────────────────────── */

.cr-accordion__trigger {
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-accordion__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-accordion__trigger:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-accordion__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-accordion__trigger--open {
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-accordion__trigger--open:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* ── Icône chevron (rotation gérée par JS via rotate-180) ────── */

.cr-accordion__icon {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-accordion__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-accordion__trigger--open .cr-accordion__icon {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-accordion__trigger--open .cr-accordion__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* ── Contenu animé (height + opacity via JS) ─────────────────── */

.cr-accordion__content {
  overflow: hidden;
  transition: height 300ms ease,
                opacity 300ms ease;
}

/* ── Corps du contenu ────────────────────────────────────────── */

.cr-accordion__body {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-accordion__body:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Surcharges flush ────────────────────────────────────────── */

.cr-accordion--flush .cr-accordion__trigger {
  padding-left: 0px;
  padding-right: 0px;
}

.cr-accordion--flush .cr-accordion__body {
  padding-left: 0px;
  padding-right: 0px;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.cr-skeleton {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-skeleton:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-skeleton--circle {
  border-radius: 9999px;
}

/* ── Wrapper plein-écran ─────────────────────────────────────── */

.cr-drawer {
  position: fixed;
  inset: 0px;
  /* Bande des drawers (jeton zIndex.drawer = 51) + niveau d'empilement posé
       par drawer.js (état --cr-drawer-level, 0 à 8) : 51, 52… 59 — toujours
       sous les menus (60), modales (70), toasts (80) et infobulles (90). */
  z-index: calc(51 + var(--cr-drawer-level, 0));
}

/* ── Backdrop ────────────────────────────────────────────────── */

.cr-drawer__backdrop {
  background-color: rgb(0 0 0 / 0.5);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  -webkit-backdrop-filter: blur(4px);
  position: absolute;
  inset: 0px;
  opacity: 0;
  transition: opacity 300ms ease;
}

.cr-drawer--open .cr-drawer__backdrop {
  opacity: 1;
}

/* Variante backdrop transparent (drawers empilés niveau 2+) */

.cr-drawer--transparent-backdrop .cr-drawer__backdrop {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ── Panel commun ────────────────────────────────────────────── */

.cr-drawer__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-drawer__panel:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-drawer__panel {
  will-change: transform;
  transition: transform 300ms cubic-bezier(.4, 0, .2, 1);
}

/* ── Direction : droite (défaut) ─────────────────────────────── */

.cr-drawer--right {
  display: flex;
  justify-content: flex-end;
}

.cr-drawer--right .cr-drawer__panel {
  height: 100%;
  width: 24rem;
  transform: translateX(100%);
}

.cr-drawer--right.cr-drawer--open .cr-drawer__panel {
  transform: translateX(0);
}

/* ── Direction : gauche ──────────────────────────────────────── */

.cr-drawer--left {
  display: flex;
  justify-content: flex-start;
}

.cr-drawer--left .cr-drawer__panel {
  height: 100%;
  width: 24rem;
  transform: translateX(-100%);
}

.cr-drawer--left.cr-drawer--open .cr-drawer__panel {
  transform: translateX(0);
}

/* ── Direction : haut ────────────────────────────────────────── */

.cr-drawer--top {
  display: flex;
  align-items: flex-start;
}

.cr-drawer--top .cr-drawer__panel {
  width: 100%;
  max-height: 18rem;
  transform: translateY(-100%);
}

.cr-drawer--top.cr-drawer--open .cr-drawer__panel {
  transform: translateY(0);
}

/* ── Direction : bas ─────────────────────────────────────────── */

.cr-drawer--bottom {
  display: flex;
  align-items: flex-end;
}

.cr-drawer--bottom .cr-drawer__panel {
  width: 100%;
  max-height: 18rem;
  transform: translateY(100%);
}

.cr-drawer--bottom.cr-drawer--open .cr-drawer__panel {
  transform: translateY(0);
}

/* ── Tailles (gauche / droite) ───────────────────────────────── */

.cr-drawer--right.cr-drawer--sm .cr-drawer__panel,
  .cr-drawer--left.cr-drawer--sm  .cr-drawer__panel {
  width: 18rem;
}

.cr-drawer--right.cr-drawer--lg .cr-drawer__panel,
  .cr-drawer--left.cr-drawer--lg  .cr-drawer__panel {
  width: 32rem;
}

.cr-drawer--right.cr-drawer--xl .cr-drawer__panel,
  .cr-drawer--left.cr-drawer--xl  .cr-drawer__panel {
  width: 42rem;
}

/* ── Tailles (haut / bas) ────────────────────────────────────── */

.cr-drawer--top.cr-drawer--sm    .cr-drawer__panel,
  .cr-drawer--bottom.cr-drawer--sm .cr-drawer__panel {
  max-height: 12rem;
}

.cr-drawer--top.cr-drawer--lg    .cr-drawer__panel,
  .cr-drawer--bottom.cr-drawer--lg .cr-drawer__panel {
  max-height: 28rem;
}

/* ── En-tête ─────────────────────────────────────────────────── */

.cr-drawer__header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cr-drawer__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-drawer__header--primary {
  --tw-border-opacity: 1;
  border-color: rgb(0 42 82 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--primary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 42 82 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--action {
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--action:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--success {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--warning {
  --tw-border-opacity: 1;
  border-color: rgb(220 166 0 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--warning:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--danger {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--danger:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--violet {
  --tw-border-opacity: 1;
  border-color: rgb(107 70 178 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--violet:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--azure {
  --tw-border-opacity: 1;
  border-color: rgb(0 122 204 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--azure:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--secondary {
  --tw-border-opacity: 1;
  border-color: rgb(0 170 216 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--dark {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-drawer__header--dark:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

/* Header variant → white title + close icon */

.cr-drawer__header[class*="cr-drawer__header--"] .cr-drawer__title {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-drawer__header[class*="cr-drawer__header--"] .cr-drawer__close {
  color: rgb(255 255 255 / 0.8);
}

.cr-drawer__header[class*="cr-drawer__header--"] .cr-drawer__close:hover {
  background-color: rgb(255 255 255 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Exception: warning/secondary have dark text */

.cr-drawer__header--warning .cr-drawer__title {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-drawer__header--warning .cr-drawer__close {
  color: rgb(17 24 39 / 0.8);
}

.cr-drawer__header--warning .cr-drawer__close:hover {
  background-color: rgb(17 24 39 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-drawer__header--secondary .cr-drawer__title {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-drawer__header--secondary .cr-drawer__close {
  color: rgb(17 24 39 / 0.8);
}

.cr-drawer__header--secondary .cr-drawer__close:hover {
  background-color: rgb(17 24 39 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

/* Titre « {geste} · {sujet} » (plan DRAWER-TITLES) : une ligne, coupé si trop
     long ; le titre complet est en infobulle (attribut title posé par QuickFormDrawer). */

.cr-drawer__title {
  min-width: 0px;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-drawer__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-drawer__close {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-drawer__close:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-drawer__close:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Corps ───────────────────────────────────────────────────── */

.cr-drawer__body {
  flex: 1 1 0%;
  overflow-y: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-drawer__body:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* Quand le body contient un fragment-view, pas de padding —
     les sections gèrent elles-mêmes leur padding interne */

.cr-drawer__body:has(> .cr-view-fragment) {
  padding: 0px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,.18) transparent;
}

.dark .cr-drawer__body {
  scrollbar-color: rgba(255,255,255,.12) transparent;
}

.cr-drawer__body::-webkit-scrollbar {
  width: 5px;
}

.cr-drawer__body::-webkit-scrollbar-track {
  background: transparent;
}

.cr-drawer__body::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.18);
  border-radius: 4px;
}

.cr-drawer__body::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,.35);
}

.dark .cr-drawer__body::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.12);
}

.dark .cr-drawer__body::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,.25);
}

/* ── Pied ────────────────────────────────────────────────────── */

.cr-drawer__footer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-drawer__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.cr-drawer__footer {
  /* Barre d'actions : repli selon la largeur du PIED, pas de l'écran (B6) */
  container-type: inline-size;
}

/* ── Barre d'actions de droite (conv 22 §6.5, plan ACTION-BAR) ── */

.cr-actbar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cr-actbar__item,
  .cr-actbar__more {
  display: inline-flex;
}

/* B12 — un bouton de la barre ne coupe JAMAIS son libellé sur deux lignes
     (retour recette 27/09) : il garde sa largeur, et c'est le repli @container
     (B6) qui envoie les boutons en trop dans le menu. Les entrées du menu
     (.dd-item) gardent leur retour à la ligne (raison d'action grisée). */

.cr-actbar :is(a, button, span[aria-disabled]):not(.dd-item) {
  white-space: nowrap;
}

/* Déclencheur « Plus » : blanc comme « Retour » (outils de navigation),
     distinct des secondaires outline, sans concurrencer le CTA plein. */

.cr-actbar__trigger {
  /* btn-sm ré-appliqué : cette règle vient après .btn-sm dans la feuille,
       le rembourrage de btn-base (via btn-white) l'écraserait sinon. */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-actbar__trigger:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-offset-width: 1px;
}

.cr-actbar__trigger:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.cr-actbar__trigger {
  transition: background-color 200ms ease-out,
                border-color     200ms ease-out,
                color            200ms ease-out,
                box-shadow       200ms ease-out,
                transform        200ms ease-out,
                opacity          200ms ease-out;
}

.cr-actbar__trigger:not(:disabled):hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-actbar__trigger:not(:disabled):active {
  transform: translateY(0);
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-actbar__trigger {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-actbar__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-actbar__trigger:focus {
  --tw-ring-color: rgb(209 213 219 / 0.4);
}

.cr-actbar__trigger:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-actbar__trigger:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.cr-actbar__trigger {
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

/* Accès rapide de la barre du haut (ACCES-RAPIDE lot 2) — états posés par
     partials/topbar.php (data-quickaccess="on" : le cockpit déclare des raccourcis)
     et components/quick-access.js (data-quickaccess-new : jamais ouvert). Le thème
     décide seul de l'apparence : couleur d'accent + pastille « Nouveau ». */

.cr-header [data-quickaccess="on"] {
  position: relative;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-header [data-quickaccess="on"]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-header [data-quickaccess-new]::after {
  content: attr(data-quickaccess-badge);
  position: absolute;
  top: -0.5rem;
  right: -1rem;
  white-space: nowrap;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  font-size: 10px;
  font-weight: 600;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header [data-quickaccess-new]:is(.dark *)::after {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

/* ── Wrapper ─────────────────────────────────────────────────── */

.cr-tabs {
  width: 100%;
}

/* ── Panel animation ─────────────────────────────────────────── */

.cr-tabs__panel--active {
  animation: cr-tab-in 180ms ease forwards;
}

/* ════════════════════════════
     UNDERLINE (défaut)
     ════════════════════════════ */

.cr-tabs__nav {
  display: flex;
  align-items: flex-end;
  gap: 0px;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-tabs__trigger {
  position: relative;
  margin-bottom: -1px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-bottom-width: 2px;
  border-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-tabs__trigger:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-tabs__trigger:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-tabs__trigger:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-tabs__trigger--active {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tabs__trigger--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* ── Contenu ─────────────────────────────────────────────────── */

.cr-tabs__content {
  margin-top: 1rem;
}

.cr-tabs__panel {
  width: 100%;
}

/* ════════════════════════════
     PILLS
     ════════════════════════════ */

.cr-tabs--pills .cr-tabs__nav {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  border-width: 0px;
}

.cr-tabs--pills .cr-tabs__trigger {
  margin-bottom: 0px;
  border-radius: 9999px;
  border-width: 0px;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.cr-tabs--pills .cr-tabs__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills .cr-tabs__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.cr-tabs--pills .cr-tabs__trigger--active {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills .cr-tabs__trigger--active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills .cr-tabs__trigger--active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills .cr-tabs__trigger--active:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

/* ════════════════════════════
     PILLS LIGHT
     ════════════════════════════ */

.cr-tabs--pills-light .cr-tabs__nav {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  border-width: 0px;
}

.cr-tabs--pills-light .cr-tabs__trigger {
  margin-bottom: 0px;
  border-radius: 0.5rem;
  border-width: 0px;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.cr-tabs--pills-light .cr-tabs__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.cr-tabs--pills-light .cr-tabs__trigger--active {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

/* Variantes couleur — light inactif, solid actif
     Spécificité 3 classes pour override le bg-transparent du trigger de base */

/* Primary (action/indigo) */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--primary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--primary:is(.dark *) {
  border-color: rgb(99 102 241 / 0.3);
  background-color: rgb(99 102 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--primary:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--primary {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--primary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--primary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

/* Success (vert) */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--success {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--success:is(.dark *) {
  border-color: rgb(74 222 128 / 0.3);
  background-color: rgb(74 222 128 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--success:hover:is(.dark *) {
  background-color: rgb(74 222 128 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--success {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--success:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

/* Warning (gold/ambre) */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--warning {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--warning:is(.dark *) {
  border-color: rgb(245 183 0 / 0.3);
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--warning:hover:is(.dark *) {
  background-color: rgb(245 183 0 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--warning {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--warning:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--warning:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

/* Danger (rouge) */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--danger {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--danger:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3);
  background-color: rgb(248 113 113 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--danger:hover:is(.dark *) {
  background-color: rgb(248 113 113 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--danger {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--danger:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--danger:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

/* Violet */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--violet {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--violet:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--violet:is(.dark *) {
  border-color: rgb(126 87 194 / 0.3);
  background-color: rgb(126 87 194 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--violet:hover:is(.dark *) {
  background-color: rgb(126 87 194 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--violet {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--violet:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--violet:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--violet:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

/* Azure */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--azure {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 211 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(230 244 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--azure:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 233 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--azure:is(.dark *) {
  border-color: rgb(0 122 204 / 0.3);
  background-color: rgb(0 122 204 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--azure:hover:is(.dark *) {
  background-color: rgb(0 122 204 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--azure {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--azure:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--azure:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--azure:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

/* Secondary (cyan) */

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--secondary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(153 239 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(230 251 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 144 184 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 247 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--secondary:is(.dark *) {
  border-color: rgb(0 196 241 / 0.3);
  background-color: rgb(0 196 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger.cr-pill--secondary:hover:is(.dark *) {
  background-color: rgb(0 196 241 / 0.2);
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--secondary {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 170 216 / var(--tw-bg-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--pills-light .cr-tabs__trigger--active.cr-pill--secondary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 170 216 / var(--tw-bg-opacity, 1));
}

/* ════════════════════════════
     BOXED
     ════════════════════════════ */

.cr-tabs--boxed .cr-tabs__nav {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  padding: 0.25rem;
}

.cr-tabs--boxed .cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.8);
}

.cr-tabs--boxed .cr-tabs__trigger {
  margin-bottom: 0px;
  flex: 1 1 0%;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 0px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  text-align: center;
}

.cr-tabs--boxed .cr-tabs__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed .cr-tabs__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.cr-tabs--boxed .cr-tabs__trigger--active {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-tabs--boxed .cr-tabs__trigger--active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed .cr-tabs__trigger--active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed .cr-tabs__trigger--active:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* ════════════════════════════
     BOXED LIGHT — fond coloré light inactif, solid actif, dans un conteneur boxed
     ════════════════════════════ */

/* Toujours UNE ligne (BANDEAU-CAISSE étape 2, 13/10) : si les onglets ne tiennent
     pas, la barre défile au doigt (accroche douce) ; largeurs égales quand il y a la
     place (comme avant), jamais plus étroit que le texte. La largeur est mesurée sur
     la BARRE seule (container « tabs ») — jamais sur .cr-tabs, qui engloberait les
     panneaux (le confinement décalerait les menus des tableaux). */

.cr-tabs--boxed-light .cr-tabs__nav {
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.25rem;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding: 0.25rem;
}

.cr-tabs--boxed-light .cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.8);
}

.cr-tabs--boxed-light .cr-tabs__nav {
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  container-type: inline-size;
  container-name: tabs;
}

.cr-tabs--boxed-light .cr-tabs__trigger {
  margin-bottom: 0px;
  justify-content: center;
  white-space: nowrap;
  border-radius: 0.5rem;
  border-width: 0px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  text-align: center;
}

.cr-tabs--boxed-light .cr-tabs__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.cr-tabs--boxed-light .cr-tabs__trigger {
  flex: 1 0 0%;
  min-width: -moz-max-content;
  min-width: max-content;
  scroll-snap-align: start;
}

/* Libellé court (option `shortLabel` du gabarit) : caché par défaut ; la règle
     @container « tabs » (hors @layer) l'échange avec le libellé complet sur barre étroite. */

.cr-tabs__label-short {
  display: none;
}

.menu-content.cr-tabs__label-short {
  opacity: 0;
}

.cr-tabs--boxed-light .cr-tabs__trigger--active {
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

/* Variantes couleur — light inactif, solid actif (dans boxed) */

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--primary:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--primary:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--primary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--primary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--success {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--success:is(.dark *) {
  background-color: rgb(74 222 128 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--success:hover:is(.dark *) {
  background-color: rgb(74 222 128 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--success:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--warning {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--warning:is(.dark *) {
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--warning:hover:is(.dark *) {
  background-color: rgb(245 183 0 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--warning {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--warning:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--warning:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--warning:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--danger {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--danger:is(.dark *) {
  background-color: rgb(248 113 113 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--danger:hover:is(.dark *) {
  background-color: rgb(248 113 113 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--danger {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--danger:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--danger:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--violet {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--violet:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--violet:is(.dark *) {
  background-color: rgb(126 87 194 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--violet:hover:is(.dark *) {
  background-color: rgb(126 87 194 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--violet:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--violet:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--violet:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--azure {
  --tw-bg-opacity: 1;
  background-color: rgb(230 244 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--azure:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 233 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--azure:is(.dark *) {
  background-color: rgb(0 122 204 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--azure:hover:is(.dark *) {
  background-color: rgb(0 122 204 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--azure:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--azure:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--azure:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(230 251 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(0 144 184 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 247 255 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--secondary:is(.dark *) {
  background-color: rgb(0 196 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger.cr-pill--secondary:hover:is(.dark *) {
  background-color: rgb(0 196 241 / 0.2);
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 170 216 / var(--tw-bg-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tabs--boxed-light .cr-tabs__trigger--active.cr-pill--secondary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 170 216 / var(--tw-bg-opacity, 1));
}

/* ════════════════════════════
     HEADER — onglets en-tête de carte
     (onglet actif = levé sur fond gris)
     ════════════════════════════ */

/* ════════════════════════════
     TEXT COLOR — couleur texte sémantique, utilisable sur tout élément
     ════════════════════════════ */

.cr-text--primary {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-text--primary:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-text--success {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-text--success:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-text--warning {
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.cr-text--warning:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-text--danger {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-text--danger:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-text--violet {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-text--violet:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cr-text--azure {
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-text--azure:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-text--secondary {
  --tw-text-opacity: 1;
  color: rgb(0 144 184 / var(--tw-text-opacity, 1));
}

.cr-text--secondary:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--header .cr-tabs__nav {
  align-items: flex-end;
  gap: 0.25rem;
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
}

.cr-tabs--header .cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.6);
}

.cr-tabs--header .cr-tabs__trigger {
  margin-bottom: 0px;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  border-bottom-width: 0px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.cr-tabs--header .cr-tabs__trigger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-tabs--header .cr-tabs__trigger:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.4);
}

.cr-tabs--header .cr-tabs__trigger--active {
  margin-bottom: -1px;
  border-width: 1px;
  border-bottom-width: 0px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-tabs--header .cr-tabs__trigger--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--header .cr-tabs__content {
  margin-top: 0px;
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  border-left-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.cr-tabs--header .cr-tabs__content:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ════════════════════════════
     VERTICAL — gauche
     ════════════════════════════ */

.cr-tabs--vertical-left {
  display: flex;
  align-items: flex-start;
  gap: 0px;
}

.cr-tabs--vertical-left .cr-tabs__nav {
  width: 11rem;
  flex-shrink: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0px;
  border-bottom-width: 0px;
  border-right-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-tabs--vertical-left .cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-tabs--vertical-left .cr-tabs__trigger {
  margin-bottom: 0px;
  margin-right: -1px;
  justify-content: flex-start;
  border-radius: 0px;
  border-bottom-width: 0px;
  border-right-width: 2px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  text-align: left;
}

.cr-tabs--vertical-left .cr-tabs__trigger--active {
  border-bottom-width: 0px;
  border-right-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tabs--vertical-left .cr-tabs__trigger--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--vertical-left .cr-tabs__content {
  margin-top: 0px;
  flex: 1 1 0%;
  padding-left: 1.5rem;
  padding-top: 0px;
}

/* ════════════════════════════
     VERTICAL — droite
     ════════════════════════════ */

.cr-tabs--vertical-right {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0px;
}

.cr-tabs--vertical-right .cr-tabs__nav {
  width: 11rem;
  flex-shrink: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0px;
  border-bottom-width: 0px;
  border-left-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-tabs--vertical-right .cr-tabs__nav:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-tabs--vertical-right .cr-tabs__trigger {
  margin-bottom: 0px;
  margin-left: -1px;
  justify-content: flex-end;
  border-radius: 0px;
  border-bottom-width: 0px;
  border-left-width: 2px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  text-align: right;
}

.cr-tabs--vertical-right .cr-tabs__trigger--active {
  border-bottom-width: 0px;
  border-left-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tabs--vertical-right .cr-tabs__trigger--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tabs--vertical-right .cr-tabs__content {
  margin-top: 0px;
  flex: 1 1 0%;
  padding-right: 1.5rem;
  padding-top: 0px;
}

/* ── Conteneur flottant (positionné par JS) ──────────────────── */

.cr-popover {
  position: fixed;
  z-index: 60;
  width: 18rem;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-shadow-color: rgb(0 0 0 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.cr-popover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-shadow-color: rgb(0 0 0 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

/* ── Animation d'entrée (direction bas = défaut) ─────────────── */

.cr-popover--open {
  animation: cr-popover-in 150ms cubic-bezier(.2, 0, .2, 1) forwards;
}

.cr-popover--open[data-popover-current-pos="top"] {
  animation: cr-popover-in-up 150ms cubic-bezier(.2, 0, .2, 1) forwards;
}

/* ── En-tête optionnel ───────────────────────────────────────── */

.cr-popover__header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-popover__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-popover__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-popover__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-popover__close {
  display: flex;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-popover__close:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-popover__close:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Corps ───────────────────────────────────────────────────── */

.cr-popover__body {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-popover__body:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Pied optionnel ──────────────────────────────────────────── */

.cr-popover__footer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-popover__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

/* ── Wrapper de base ───────────────────────────────────────────── */

.cr-timeline {
  position: relative;
}

/* Trait connecteur vertical (gauche par défaut) */

.cr-timeline::before {
  content: '';
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-timeline:is(.dark *)::before {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-timeline::before {
  left: 1.125rem;
  /* centre du dot (w-9 = 2.25rem / 2 = 1.125rem) */
}

/* ── Item ─────────────────────────────────────────────────────── */

.cr-timeline__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 1.5rem;
}

.cr-timeline__item:last-child {
  padding-bottom: 0px;
}

/* ── Dot (point indicateur) ───────────────────────────────────── */

.cr-timeline__dot {
  position: relative;
  z-index: 10;
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Couleurs pleines ─────────────────────────────────────────── */

.cr-timeline__dot--primary {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--accent {
  --tw-border-opacity: 1;
  border-color: rgb(0 196 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--success {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--warning {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--danger {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--edit {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--print {
  --tw-border-opacity: 1;
  border-color: rgb(0 53 102 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--gray {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--gray:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Couleurs légères ─────────────────────────────────────────── */

.cr-timeline__dot--primary-light {
  border-color: rgb(79 70 229 / 0.3);
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--primary-light:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--success-light {
  border-color: rgb(34 197 94 / 0.3);
  background-color: rgb(34 197 94 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--success-light:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--warning-light {
  border-color: rgb(245 183 0 / 0.3);
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--warning-light:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--danger-light {
  border-color: rgb(220 38 38 / 0.3);
  background-color: rgb(220 38 38 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-timeline__dot--danger-light:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* ── Contenu ──────────────────────────────────────────────────── */

.cr-timeline__content {
  min-width: 0px;
  flex: 1 1 0%;
  padding-top: 0.25rem;
}

/* ── Méta (date + badges) ─────────────────────────────────────── */

.cr-timeline__meta {
  margin-bottom: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cr-timeline__date {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-timeline__date:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* ── Titre ────────────────────────────────────────────────────── */

.cr-timeline__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-timeline__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

/* ── Corps ────────────────────────────────────────────────────── */

.cr-timeline__body {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-timeline__body:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Card (contenu encadré) ───────────────────────────────────── */

.cr-timeline__card {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-timeline__card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Variante compact ──────────────────────────────────────────── */

.cr-timeline--compact::before {
  left: 0.875rem;
  /* centre du dot w-7 (1.75rem / 2 = 0.875rem) */
}

.cr-timeline--compact .cr-timeline__item {
  gap: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-timeline--compact .cr-timeline__dot {
  height: 1.75rem;
  width: 1.75rem;
  border-width: 1px;
  font-size: 0.75rem;
  line-height: 1rem;
}

.cr-timeline--compact .cr-timeline__content {
  padding-top: 0.125rem;
}

/* ── Variante centrée — mobile (gauche par défaut) ───────────── */

.cr-timeline--centered .cr-timeline__side--empty {
  display: none;
}

/* ── Champ dont la liste déroulante est ouverte (PhoneIntl.js pose
     l'état .is-raised) : passe devant les champs voisins. ─────────── */

.form-group.is-raised {
  position: relative;
  z-index: 60;
}

/* ── Conteneur des toasts d'alerte (alerts.js, #concord-toasts) ──
     Apparence et couche décidées ICI (le JS ne pose que la classe). */

.cr-alert-toasts {
  pointer-events: none;
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 80;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 24rem;
  width: calc(100vw - 2rem);
}

/* ── Conteneur positionné (6 coins) ─────────────────────────── */

.cr-toast-container {
  pointer-events: none;
  position: fixed;
  z-index: 80;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 22rem;
}

/* top-20 (5rem) : sous la topbar (h-16) ET les contrôles fenêtre PWA/desktop —
     à top-4 les toasts couvraient la topbar, l'entête des drawers et le bouton
     fermer de l'app (fermetures accidentelles, feedback user 2026-07-13). */

.cr-toast-container--top-right {
  top: 5rem;
  right: 1rem;
  align-items: flex-end;
}

.cr-toast-container--top-left {
  top: 5rem;
  left: 1rem;
  align-items: flex-start;
}

.cr-toast-container--bottom-right {
  bottom: 1rem;
  right: 1rem;
  flex-direction: column-reverse;
  align-items: flex-end;
}

.cr-toast-container--bottom-left {
  bottom: 1rem;
  left: 1rem;
  flex-direction: column-reverse;
  align-items: flex-start;
}

.cr-toast-container--top-center {
  top: 5rem;
  align-items: center;
  left: 50%;
  transform: translateX(-50%);
}

.cr-toast-container--bottom-center {
  bottom: 1rem;
  flex-direction: column-reverse;
  align-items: center;
  left: 50%;
  transform: translateX(-50%);
}

/* ── Toast base ─────────────────────────────────────────────── */

.cr-toast {
  pointer-events: auto;
  position: relative;
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-toast:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Variantes (bande colorée gauche) ───────────────────────── */

.cr-toast--success {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.cr-toast--danger {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.cr-toast--warning {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-toast--info {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.cr-toast--default {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.cr-toast--default:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

/* ── Icône ──────────────────────────────────────────────────── */

.cr-toast__icon {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
}

.cr-toast--success .cr-toast__icon {
  background-color: rgb(34 197 94 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.cr-toast--success .cr-toast__icon:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.cr-toast--danger  .cr-toast__icon {
  background-color: rgb(220 38 38 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-toast--danger  .cr-toast__icon:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-toast--warning .cr-toast__icon {
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.cr-toast--warning .cr-toast__icon:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-toast--info    .cr-toast__icon {
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-toast--info    .cr-toast__icon:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-toast--default .cr-toast__icon {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-toast--default .cr-toast__icon:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Contenu ────────────────────────────────────────────────── */

.cr-toast__content {
  min-width: 0px;
  flex: 1 1 0%;
  padding-top: 0.125rem;
}

.cr-toast__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-toast__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-toast__body {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-toast__body:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-toast__actions {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ── Bouton fermer ───────────────────────────────────────────── */

.cr-toast__close {
  margin-left: auto;
  margin-right: -0.25rem;
  margin-top: -0.125rem;
  display: flex;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  border-radius: 0.375rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-toast__close:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-toast__close:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-toast__close:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Barre de progression (auto-dismiss) ─────────────────────── */

.cr-toast__progress {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 0.125rem;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-toast__progress:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-toast__progress-bar {
  height: 100%;
}

/* La barre EST le compte à rebours : animation CSS de durée --cr-toast-duration
     (posée par toast.js selon le type) ; toast.js ferme le toast à la FIN de
     l'animation (animationend). Survol / focus → pause : le toast ne disparaît
     pas sous les yeux de celui qui le lit. */

.cr-toast__progress-bar.is-running {
  animation: crToastProgress var(--cr-toast-duration, 4000ms) linear forwards;
}

.cr-toast:hover .cr-toast__progress-bar,
  .cr-toast:focus-within .cr-toast__progress-bar {
  animation-play-state: paused;
}

/* Compteur ×N (toast répété) */

.cr-toast__count {
  margin-left: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  opacity: 0.7;
}

.cr-toast--success .cr-toast__progress-bar {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.cr-toast--danger  .cr-toast__progress-bar {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.cr-toast--warning .cr-toast__progress-bar {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.cr-toast--info    .cr-toast__progress-bar {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-toast--default .cr-toast__progress-bar {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.cr-toast--default .cr-toast__progress-bar:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

/* ── Variantes SOLID (fond coloré plein — override bg-white) ─── */

.cr-toast--success-solid {
  border-color: rgb(34 197 94 / 0.6) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--success-solid .cr-toast__icon {
  background-color: rgb(255 255 255 / 0.25) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-solid .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-solid .cr-toast__body {
  color: rgb(255 255 255 / 0.85) !important;
}

.cr-toast--success-solid .cr-toast__close {
  color: rgb(255 255 255 / 0.7) !important;
}

.cr-toast--success-solid .cr-toast__close:hover {
  background-color: rgb(255 255 255 / 0.15) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-solid .cr-toast__progress {
  background-color: rgb(0 0 0 / 0.1) !important;
}

.cr-toast--success-solid .cr-toast__progress-bar {
  background-color: rgb(255 255 255 / 0.5) !important;
}

.cr-toast--danger-solid {
  border-color: rgb(220 38 38 / 0.6) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--danger-solid  .cr-toast__icon {
  background-color: rgb(255 255 255 / 0.25) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-solid  .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-solid  .cr-toast__body {
  color: rgb(255 255 255 / 0.85) !important;
}

.cr-toast--danger-solid  .cr-toast__close {
  color: rgb(255 255 255 / 0.7) !important;
}

.cr-toast--danger-solid  .cr-toast__close:hover {
  background-color: rgb(255 255 255 / 0.15) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-solid  .cr-toast__progress {
  background-color: rgb(0 0 0 / 0.1) !important;
}

.cr-toast--danger-solid  .cr-toast__progress-bar {
  background-color: rgb(255 255 255 / 0.5) !important;
}

.cr-toast--warning-solid {
  border-color: rgb(245 183 0 / 0.6) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__icon {
  background-color: rgb(0 0 0 / 0.1) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__body {
  --tw-text-opacity: 1 !important;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__close {
  --tw-text-opacity: 1 !important;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__close:hover {
  background-color: rgb(0 0 0 / 0.1) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-solid .cr-toast__progress {
  background-color: rgb(0 0 0 / 0.1) !important;
}

.cr-toast--warning-solid .cr-toast__progress-bar {
  background-color: rgb(0 0 0 / 0.25) !important;
}

.cr-toast--info-solid {
  border-color: rgb(79 70 229 / 0.6) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--info-solid    .cr-toast__icon {
  background-color: rgb(255 255 255 / 0.25) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-solid    .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-solid    .cr-toast__body {
  color: rgb(255 255 255 / 0.85) !important;
}

.cr-toast--info-solid    .cr-toast__close {
  color: rgb(255 255 255 / 0.7) !important;
}

.cr-toast--info-solid    .cr-toast__close:hover {
  background-color: rgb(255 255 255 / 0.15) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-solid    .cr-toast__progress {
  background-color: rgb(0 0 0 / 0.1) !important;
}

.cr-toast--info-solid    .cr-toast__progress-bar {
  background-color: rgb(255 255 255 / 0.5) !important;
}

/* ── Variantes LIGHT — palette comp (source : tailwind.config.js) ── */

/* Success light */

.cr-toast--success-light {
  --tw-border-opacity: 1 !important;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--success-light:is(.dark *) {
  border-color: rgb(74 222 128 / 0.3) !important;
  background-color: rgb(20 83 45 / 0.4) !important;
}

.cr-toast--success-light .cr-toast__icon {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__icon:is(.dark *) {
  background-color: rgb(20 83 45 / 0.6) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__title:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__body {
  --tw-text-opacity: 1 !important;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__body:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__progress {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__progress:is(.dark *) {
  background-color: rgb(20 83 45 / 0.4) !important;
}

.cr-toast--success-light .cr-toast__progress-bar {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--success-light .cr-toast__progress-bar:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1)) !important;
}

/* Danger light */

.cr-toast--danger-light {
  --tw-border-opacity: 1 !important;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--danger-light:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3) !important;
  background-color: rgb(127 29 29 / 0.4) !important;
}

.cr-toast--danger-light  .cr-toast__icon {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__icon:is(.dark *) {
  background-color: rgb(127 29 29 / 0.6) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__title:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__body {
  --tw-text-opacity: 1 !important;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__body:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__progress {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__progress:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4) !important;
}

.cr-toast--danger-light  .cr-toast__progress-bar {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--danger-light  .cr-toast__progress-bar:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1)) !important;
}

/* Warning light */

.cr-toast--warning-light {
  --tw-border-opacity: 1 !important;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--warning-light:is(.dark *) {
  border-color: rgb(251 191 36 / 0.3) !important;
  background-color: rgb(120 53 15 / 0.4) !important;
}

.cr-toast--warning-light .cr-toast__icon {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__icon:is(.dark *) {
  background-color: rgb(120 53 15 / 0.6) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__title:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__body {
  --tw-text-opacity: 1 !important;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__body:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__progress {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__progress:is(.dark *) {
  background-color: rgb(120 53 15 / 0.4) !important;
}

.cr-toast--warning-light .cr-toast__progress-bar {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--warning-light .cr-toast__progress-bar:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1)) !important;
}

/* Info light (→ comp-primary) */

.cr-toast--info-light {
  --tw-border-opacity: 1 !important;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--info-light:is(.dark *) {
  border-color: rgb(96 165 250 / 0.3) !important;
  background-color: rgb(30 58 138 / 0.4) !important;
}

.cr-toast--info-light    .cr-toast__icon {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__icon:is(.dark *) {
  background-color: rgb(30 58 138 / 0.6) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__title {
  --tw-text-opacity: 1 !important;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__title:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__body {
  --tw-text-opacity: 1 !important;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__body:is(.dark *) {
  --tw-text-opacity: 1 !important;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__progress {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__progress:is(.dark *) {
  background-color: rgb(30 58 138 / 0.4) !important;
}

.cr-toast--info-light    .cr-toast__progress-bar {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1)) !important;
}

.cr-toast--info-light    .cr-toast__progress-bar:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1)) !important;
}

/* ── Base ────────────────────────────────────────────────────── */

.cr-empty {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  text-align: center;
}

.cr-empty--sm {
  gap: 0.75rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.cr-empty--lg {
  gap: 1.25rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* ── Icône / Illustration ────────────────────────────────────── */

.cr-empty__icon {
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-empty__icon:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-empty--sm .cr-empty__icon {
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 0.75rem;
}

.cr-empty--lg .cr-empty__icon {
  height: 5rem;
  width: 5rem;
  border-radius: 1.5rem;
}

/* Teintes sémantiques de l'icône */

.cr-empty__icon--primary {
  background-color: rgb(0 53 102 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 53 102 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--primary:is(.dark *) {
  background-color: rgb(0 53 102 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--action {
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--action:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--success {
  background-color: rgb(34 197 94 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--success:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--warning {
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--warning:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--error {
  background-color: rgb(220 38 38 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-empty__icon--error:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* ── Titre ───────────────────────────────────────────────────── */

.cr-empty__title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-empty__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-empty--sm .cr-empty__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-empty--lg .cr-empty__title {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

/* ── Description ─────────────────────────────────────────────── */

.cr-empty__body {
  max-width: 24rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-empty__body:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-empty--sm .cr-empty__body {
  max-width: 20rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.cr-empty--lg .cr-empty__body {
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

/* ── Actions / CTA ───────────────────────────────────────────── */

.cr-empty__actions {
  margin-top: 0.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* ── Label ──────────────────────────────────────────────────── */

.form-label {
  margin-bottom: 0.375rem;
  display: block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.form-label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.form-label-sm {
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

/* ── Helper / hint text ─────────────────────────────────────── */

.form-helper {
  margin-top: 0.25rem;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.form-helper:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Message d'erreur ───────────────────────────────────────── */

.form-error-msg {
  margin-top: 0.25rem;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.form-error-msg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* ── Message de succès ──────────────────────────────────────── */

.form-success-msg {
  margin-top: 0.25rem;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.form-success-msg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

/* ── Wrapper label + input + helper ────────────────────────── */

.form-group {
  display: flex;
  flex-direction: column;
}

/* ── Label inline (label et input sur la même ligne) ────────── */

/* Usage champ seul : <div class="form-group-inline">            */

/* Usage multi-champs : <div class="grid grid-cols-[8rem_1fr]"> */

.form-group-inline {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.form-label-inline {
  width: 8rem;
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.form-label-inline:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Input base ─────────────────────────────────────────────── */

.form-input {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.form-input::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-input::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-input {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.form-input:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.form-input:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-input:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-input:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

/* ── Tailles ────────────────────────────────────────────────── */

.form-input-xs {
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-sm {
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-lg {
  border-radius: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

/* ── État erreur ────────────────────────────────────────────── */

.form-input-error {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.form-input-error:focus {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(248 113 113 / 0.3);
}

.form-input-error:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.form-input-error:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(248 113 113 / 0.3);
}

/* ── État succès ────────────────────────────────────────────── */

.form-input-success {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.form-input-success:focus {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(74 222 128 / 0.3);
}

.form-input-success:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

/* ── Textarea ───────────────────────────────────────────────── */

.form-textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-textarea:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-textarea::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-textarea::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-textarea::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-textarea::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-textarea::-webkit-datetime-edit {
  display: inline-flex;
}

.form-textarea::-webkit-datetime-edit,.form-textarea::-webkit-datetime-edit-year-field,.form-textarea::-webkit-datetime-edit-month-field,.form-textarea::-webkit-datetime-edit-day-field,.form-textarea::-webkit-datetime-edit-hour-field,.form-textarea::-webkit-datetime-edit-minute-field,.form-textarea::-webkit-datetime-edit-second-field,.form-textarea::-webkit-datetime-edit-millisecond-field,.form-textarea::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-textarea {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.form-textarea::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-textarea::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-textarea {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.form-textarea:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.form-textarea:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-textarea:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-textarea:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-input-group .form-textarea {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .form-textarea:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .form-textarea:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.form-textarea {
  min-height: 80px;
  resize: vertical;
}

.cr-auth .form-textarea:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .form-textarea:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

/* ── Select ─────────────────────────────────────────────────── */

.form-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-select::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-select::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-select::-webkit-datetime-edit {
  display: inline-flex;
}

.form-select::-webkit-datetime-edit,.form-select::-webkit-datetime-edit-year-field,.form-select::-webkit-datetime-edit-month-field,.form-select::-webkit-datetime-edit-day-field,.form-select::-webkit-datetime-edit-hour-field,.form-select::-webkit-datetime-edit-minute-field,.form-select::-webkit-datetime-edit-second-field,.form-select::-webkit-datetime-edit-millisecond-field,.form-select::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-select {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.form-select::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-select:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.form-select:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.form-select:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-input-group .form-select {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .form-select:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .form-select:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.form-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2.25rem;
}

.cr-auth .form-select:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .form-select:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.form-select-xs {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-select-xs:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-select-xs::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select-xs::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select-xs::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-select-xs::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-select-xs::-webkit-datetime-edit {
  display: inline-flex;
}

.form-select-xs::-webkit-datetime-edit,.form-select-xs::-webkit-datetime-edit-year-field,.form-select-xs::-webkit-datetime-edit-month-field,.form-select-xs::-webkit-datetime-edit-day-field,.form-select-xs::-webkit-datetime-edit-hour-field,.form-select-xs::-webkit-datetime-edit-minute-field,.form-select-xs::-webkit-datetime-edit-second-field,.form-select-xs::-webkit-datetime-edit-millisecond-field,.form-select-xs::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-select-xs {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.form-select-xs::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select-xs::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select-xs {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-select-xs:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.form-select-xs:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.form-select-xs:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select-xs:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select-xs:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-select-xs {
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-group .form-select-xs {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .form-select-xs:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .form-select-xs:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.form-select-xs {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 1.75rem;
}

.cr-auth .form-select-xs:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .form-select-xs:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.form-select-sm {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.form-select-sm:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.form-select-sm::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select-sm::placeholder {
  color: #6b7280;
  opacity: 1;
}

.form-select-sm::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.form-select-sm::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.form-select-sm::-webkit-datetime-edit {
  display: inline-flex;
}

.form-select-sm::-webkit-datetime-edit,.form-select-sm::-webkit-datetime-edit-year-field,.form-select-sm::-webkit-datetime-edit-month-field,.form-select-sm::-webkit-datetime-edit-day-field,.form-select-sm::-webkit-datetime-edit-hour-field,.form-select-sm::-webkit-datetime-edit-minute-field,.form-select-sm::-webkit-datetime-edit-second-field,.form-select-sm::-webkit-datetime-edit-millisecond-field,.form-select-sm::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.form-select-sm {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.form-select-sm::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select-sm::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.form-select-sm {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-select-sm:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.form-select-sm:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.form-select-sm:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select-sm:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.form-select-sm:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-select-sm {
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-group .form-select-sm {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .form-select-sm:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .form-select-sm:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.form-select-sm {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2rem;
}

.cr-auth .form-select-sm:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .form-select-sm:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.filter-select-xs {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.filter-select-xs:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.filter-select-xs::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.filter-select-xs::placeholder {
  color: #6b7280;
  opacity: 1;
}

.filter-select-xs::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.filter-select-xs::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.filter-select-xs::-webkit-datetime-edit {
  display: inline-flex;
}

.filter-select-xs::-webkit-datetime-edit,.filter-select-xs::-webkit-datetime-edit-year-field,.filter-select-xs::-webkit-datetime-edit-month-field,.filter-select-xs::-webkit-datetime-edit-day-field,.filter-select-xs::-webkit-datetime-edit-hour-field,.filter-select-xs::-webkit-datetime-edit-minute-field,.filter-select-xs::-webkit-datetime-edit-second-field,.filter-select-xs::-webkit-datetime-edit-millisecond-field,.filter-select-xs::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.filter-select-xs {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.filter-select-xs::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.filter-select-xs::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.filter-select-xs {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.filter-select-xs:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.filter-select-xs:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.filter-select-xs:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.filter-select-xs:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.filter-select-xs:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.filter-select-xs {
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-group .filter-select-xs {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .filter-select-xs:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .filter-select-xs:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.filter-select-xs {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 1.75rem;
}

.cr-auth .filter-select-xs:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .filter-select-xs:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.filter-select-xs {
  width: auto;
}

.filter-select-sm {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

.filter-select-sm:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-color: #2563eb;
}

.filter-select-sm::-moz-placeholder {
  color: #6b7280;
  opacity: 1;
}

.filter-select-sm::placeholder {
  color: #6b7280;
  opacity: 1;
}

.filter-select-sm::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

.filter-select-sm::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}

.filter-select-sm::-webkit-datetime-edit {
  display: inline-flex;
}

.filter-select-sm::-webkit-datetime-edit,.filter-select-sm::-webkit-datetime-edit-year-field,.filter-select-sm::-webkit-datetime-edit-month-field,.filter-select-sm::-webkit-datetime-edit-day-field,.filter-select-sm::-webkit-datetime-edit-hour-field,.filter-select-sm::-webkit-datetime-edit-minute-field,.filter-select-sm::-webkit-datetime-edit-second-field,.filter-select-sm::-webkit-datetime-edit-millisecond-field,.filter-select-sm::-webkit-datetime-edit-meridiem-field {
  padding-top: 0;
  padding-bottom: 0;
}

.filter-select-sm {
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.filter-select-sm::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.filter-select-sm::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.filter-select-sm {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.filter-select-sm:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.filter-select-sm:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.filter-select-sm:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.filter-select-sm:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.filter-select-sm:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.filter-select-sm {
  border-radius: 0.375rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.form-input-group .filter-select-sm {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .filter-select-sm:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .filter-select-sm:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

.filter-select-sm {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2rem;
}

.cr-auth .filter-select-sm:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .filter-select-sm:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.filter-select-sm {
  width: auto;
}

/* ── Checkbox / Radio wrapper ───────────────────────────────── */

.form-check {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.625rem;
}

.form-check-input {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-check-input:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
  --tw-ring-offset-width: 0px;
}

.form-check-input:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.form-check-input:focus:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-radio-input {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-radio-input:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
  --tw-ring-offset-width: 0px;
}

.form-radio-input:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.form-radio-input:focus:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-radio-input {
  border-radius: 9999px;
}

.form-check-label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.form-check-label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Variantes couleur — form-check-input--{variant} ────────── */

/* Usage : <input class="form-check-input form-check-input--success">
     S'applique aussi sur form-radio-input (qui hérite de form-check-input) */

.form-check-input--success {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.form-check-input--success:focus {
  --tw-ring-color: rgb(22 163 74 / 0.3);
}

.form-check-input--success:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.form-check-input--success:focus:is(.dark *) {
  --tw-ring-color: rgb(74 222 128 / 0.3);
}

.form-check-input--danger {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.form-check-input--danger:focus {
  --tw-ring-color: rgb(220 38 38 / 0.3);
}

.form-check-input--danger:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.form-check-input--danger:focus:is(.dark *) {
  --tw-ring-color: rgb(248 113 113 / 0.3);
}

.form-check-input--warning {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.form-check-input--warning:focus {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.form-check-input--warning:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.form-check-input--warning:focus:is(.dark *) {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.form-check-input--print {
  --tw-text-opacity: 1;
  color: rgb(0 53 102 / var(--tw-text-opacity, 1));
}

.form-check-input--print:focus {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-check-input--print:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 53 102 / var(--tw-text-opacity, 1));
}

.form-check-input--print:focus:is(.dark *) {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-check-input--edit {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.form-check-input--edit:focus {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.form-check-input--edit:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.form-check-input--edit:focus:is(.dark *) {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.form-check-input--accent {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.form-check-input--accent:focus {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.form-check-input--accent:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.form-check-input--accent:focus:is(.dark *) {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

/* ── Toggle switch ─────────────────────────────────────────── */

/* Usage : <label class="form-toggle">
               <input type="checkbox" class="sr-only peer" …>
               <span class="form-toggle__track"></span>
               <span class="form-toggle__label">Label</span>
             </label>                                               */

/* ── Variantes — tokens sémantiques Concord ──────────────── */

.form-toggle--success .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.form-toggle--success .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.form-toggle--success .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(22 163 74 / 0.3);
}

.form-toggle--success .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(74 222 128 / 0.3);
}

.form-toggle--danger .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.form-toggle--danger .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.form-toggle--danger .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(220 38 38 / 0.3);
}

.form-toggle--danger .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(248 113 113 / 0.3);
}

.form-toggle--warning .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-toggle--warning .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-toggle--warning .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.form-toggle--warning .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.form-toggle--violet .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-toggle--violet .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-toggle--violet .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.form-toggle--violet .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.form-toggle--azure .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.form-toggle--azure .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.form-toggle--azure .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(0 122 204 / 0.3);
}

.form-toggle--azure .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(0 122 204 / 0.3);
}

.form-toggle--primary .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.form-toggle--primary .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.form-toggle--primary .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-toggle--primary .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-toggle--secondary .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-toggle--secondary .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-toggle--secondary .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.form-toggle--secondary .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.form-toggle--gold .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-toggle--gold .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-toggle--gold .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.form-toggle--gold .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

/* ── Variantes — couleurs Tailwind générales ─────────────── */

.form-toggle--amber .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.form-toggle--amber .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.form-toggle--amber .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(245 158 11 / 0.3);
}

.form-toggle--amber .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(251 191 36 / 0.3);
}

.form-toggle--orange .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.form-toggle--orange .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}

.form-toggle--orange .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(249 115 22 / 0.3);
}

.form-toggle--orange .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(251 146 60 / 0.3);
}

.form-toggle--brown .peer:checked ~ .form-toggle__track {
  background-color: #92400E;
}

:is(.dark *) .form-toggle--brown .peer:checked ~ .form-toggle__track {
  background-color: #B45309;
}

.form-toggle--brown .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(146 64 14 / 0.3);
}

.form-toggle--teal .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}

.form-toggle--teal .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}

.form-toggle--teal .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(20 184 166 / 0.3);
}

.form-toggle--teal .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(45 212 191 / 0.3);
}

.form-toggle--emerald .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.form-toggle--emerald .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.form-toggle--emerald .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(16 185 129 / 0.3);
}

.form-toggle--emerald .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(52 211 153 / 0.3);
}

.form-toggle--cyan .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.form-toggle--cyan .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}

.form-toggle--cyan .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(6 182 212 / 0.3);
}

.form-toggle--cyan .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(34 211 238 / 0.3);
}

.form-toggle--pink .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}

.form-toggle--pink .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(244 114 182 / var(--tw-bg-opacity, 1));
}

.form-toggle--pink .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(236 72 153 / 0.3);
}

.form-toggle--pink .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(244 114 182 / 0.3);
}

.form-toggle--rose .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}

.form-toggle--rose .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}

.form-toggle--rose .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(244 63 94 / 0.3);
}

.form-toggle--rose .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(251 113 133 / 0.3);
}

.form-toggle--indigo .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.form-toggle--indigo .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}

.form-toggle--indigo .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.form-toggle--indigo .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(129 140 248 / 0.3);
}

.form-toggle--purple .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}

.form-toggle--purple .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

.form-toggle--purple .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(168 85 247 / 0.3);
}

.form-toggle--purple .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(192 132 252 / 0.3);
}

.form-toggle--slate .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.form-toggle--slate .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}

.form-toggle--slate .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(100 116 139 / 0.3);
}

.form-toggle--slate .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(148 163 184 / 0.3);
}

.form-toggle--sky .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}

.form-toggle--sky .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}

.form-toggle--sky .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(14 165 233 / 0.3);
}

.form-toggle--sky .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(56 189 248 / 0.3);
}

.form-toggle--lime .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(132 204 22 / var(--tw-bg-opacity, 1));
}

.form-toggle--lime .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(163 230 53 / var(--tw-bg-opacity, 1));
}

.form-toggle--lime .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(132 204 22 / 0.3);
}

.form-toggle--lime .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(163 230 53 / 0.3);
}

.form-toggle--red .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.form-toggle--red .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.form-toggle--red .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(239 68 68 / 0.3);
}

.form-toggle--red .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(248 113 113 / 0.3);
}

/* ── Aliases (compatibilité noms checkbox) ───────────────── */

.form-toggle--accent .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-toggle--accent .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-toggle--accent .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.form-toggle--accent .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.form-toggle--print .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.form-toggle--print .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.form-toggle--print .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-toggle--print .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(0 53 102 / 0.3);
}

.form-toggle--edit .peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-toggle--edit .peer:checked ~ .form-toggle__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-toggle--edit .peer:focus-visible ~ .form-toggle__track {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.form-toggle--edit .peer:focus-visible ~ .form-toggle__track:is(.dark *) {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

/* ── Card-style sélectionnable (checkbox / radio) ───────────── */

/* Usage : <label class="form-card [form-card--lg]">
               <input type="checkbox|radio" class="sr-only" …>
               …contenu…
               <span class="form-card__badge"></span>  ← optionnel
             </label>                                               */

.form-card {
  position: relative;
  display: flex;
  height: 100%;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.75rem;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 0.75rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-card:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.form-card:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.form-card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.form-card:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.form-card:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.form-card {
  /* bg checked : opacity modifier interdit avec @apply → CSS direct */
}

.form-card:has(:checked) {
  background-color: rgb(79 70 229 / 0.05);
  /* light-action / 5 % */
}

.dark .form-card:has(:checked) {
  background-color: rgb(99 102 241 / 0.10);
  /* dark-action  / 10 % */
}

/* Variante large — radio cards (padding plus grand) */

.form-card--lg {
  padding: 1rem;
}

/* Indicateur de sélection (pastille colorée) */

.form-card__badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  height: 1rem;
  width: 1rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  background-color: transparent;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-card__badge:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.form-card:has(:checked) .form-card__badge {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.form-card:has(:checked) .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

/* ── Sélecteur de chambres, mode « différence » (NAMED-OPS S4b) ─ */

/* « Modifier les chambres » du dossier. Le JS (CheckboxGroupDiff) */

/* pose data-cbg-state = kept | removed | replaced | added | free ; */

/* l'apparence est décidée ICI (js-état / css-apparence).           */

.cbg-diff-item {
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cbg-diff-item:hover {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.cbg-diff-item:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cbg-diff-item:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

/* Dans le dossier, gardée : autre couleur (violet) */

.cbg-diff-item[data-cbg-state="kept"] {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.cbg-diff-item[data-cbg-state="kept"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

/* Dans le dossier, décochée : à retirer (barrée) */

.cbg-diff-item[data-cbg-state="removed"] {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
  text-decoration-line: line-through;
}

.cbg-diff-item[data-cbg-state="removed"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Dans le dossier, décochée ET remplacée : changement de chambre */

.cbg-diff-item[data-cbg-state="replaced"] {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
  text-decoration-line: line-through;
}

.cbg-diff-item[data-cbg-state="replaced"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

/* Libre, cochée : à ajouter */

.cbg-diff-item[data-cbg-state="added"] {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity, 1));
}

.cbg-diff-item[data-cbg-state="added"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}

/* Chambre du dossier non retirable (séjour commencé, facture figée) */

.cbg-diff-item:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.cbg-diff-note {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cbg-diff-note:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cbg-diff-summary {
  margin-top: 0.75rem;
}

.cbg-diff-summary > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.cbg-diff-summary {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cbg-diff-summary:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cbg-diff-empty {
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cbg-diff-empty:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cbg-diff-block h5 {
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cbg-diff-block h5:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cbg-diff-block ul > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.cbg-diff-block li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border-left-width: 2px;
  padding-left: 0.5rem;
}

.cbg-diff-block li[data-cbg-state="removed"] {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="removed"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="replaced"] {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="replaced"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="added"] {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="added"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.cbg-diff-block li[data-cbg-state="removed"] .cbg-diff-code {
  text-decoration-line: line-through;
}

.cbg-diff-code {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cbg-diff-code:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cbg-diff-price {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cbg-diff-price:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cbg-diff-pair {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cbg-diff-pair:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cbg-diff-total {
  display: flex;
  justify-content: space-between;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-top: 0.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cbg-diff-total:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* ── Prix par salle d'un sélecteur (VENUE-DISCOUNT lot C) ────────── */

/* Le champ « Prix convenu » n'apparaît que sur une carte COCHÉE      */

/* (état natif :checked) ; saisie refusée = data-price-error (JS).    */

.cbg-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cbg-item-price {
  display: none;
}

.menu-content.cbg-item-price {
  opacity: 0;
}

.cbg-item:has(input[type="checkbox"]:checked) .cbg-item-price {
  display: block;
}

.cbg-item-price[data-price-error] input {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.cbg-item-price[data-price-error] input:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

/* ── Aperçu du prix en direct — champ `price-preview` ───────────── */

/* (VENUE-DISCOUNT lot B). PricePreview.js pose data-state =         */

/* empty | none | discount | increase | error | unavailable ;        */

/* l'apparence est décidée ICI (js-état / css-apparence).            */

.price-preview {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.price-preview:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.price-preview-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .price-preview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.price-preview-row {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.price-preview-label {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.price-preview-label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.price-preview-value {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.price-preview-value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.price-preview-total {
  font-weight: 600;
}

.price-preview[data-state="discount"] [data-pp-gap] {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.price-preview[data-state="discount"] [data-pp-gap]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.price-preview[data-state="increase"] [data-pp-gap] {
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.price-preview[data-state="increase"] [data-pp-gap]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.price-preview[data-state="error"] {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.price-preview[data-state="error"]:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.price-preview[data-state="empty"] .price-preview-value,
  .price-preview[data-state="unavailable"] .price-preview-value {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.price-preview[data-state="empty"] .price-preview-value:is(.dark *),
  .price-preview[data-state="unavailable"] .price-preview-value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Variantes couleur — form-card--{variant} ───────────────── */

/* Usage : <label class="form-card form-card--success">          */

/* Surcharge : border checked · bg checked · couleur du badge    */

/* Success (vert — light-success / dark-success) */

.form-card--success:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.form-card--success:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.form-card--success:has(:checked)       {
  background-color: rgb(22 163 74  / 0.05);
}

.dark .form-card--success:has(:checked) {
  background-color: rgb(74 222 128 / 0.10);
}

.form-card--success .form-card__badge {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.form-card--success .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.form-card--success .form-card__icon {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.form-card--success .form-card__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

/* Danger (rouge — light-error / dark-error) */

.form-card--danger:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.form-card--danger:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.form-card--danger:has(:checked)       {
  background-color: rgb(220 38 38  / 0.05);
}

.dark .form-card--danger:has(:checked) {
  background-color: rgb(248 113 113 / 0.10);
}

.form-card--danger .form-card__badge {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.form-card--danger .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.form-card--danger .form-card__icon {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.form-card--danger .form-card__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Warning (or — light-gold / dark-gold) */

.form-card--warning:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.form-card--warning:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.form-card--warning:has(:checked)       {
  background-color: rgb(245 183 0 / 0.07);
}

.dark .form-card--warning:has(:checked) {
  background-color: rgb(245 183 0 / 0.12);
}

.form-card--warning .form-card__badge {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-card--warning .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.form-card--warning .form-card__icon {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.form-card--warning .form-card__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

/* Edit (violet — light-violet / dark-violet) */

.form-card--edit:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.form-card--edit:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.form-card--edit:has(:checked)       {
  background-color: rgb(126 87 194 / 0.05);
}

.dark .form-card--edit:has(:checked) {
  background-color: rgb(126 87 194 / 0.10);
}

.form-card--edit .form-card__badge {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-card--edit .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.form-card--edit .form-card__icon {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.form-card--edit .form-card__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

/* Accent (cyan — light-secondary / dark-secondary) */

.form-card--accent:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(0 196 241 / var(--tw-border-opacity, 1));
}

.form-card--accent:has(:checked):is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(0 196 241 / var(--tw-border-opacity, 1));
}

.form-card--accent:has(:checked)       {
  background-color: rgb(0 196 241 / 0.08);
}

.dark .form-card--accent:has(:checked) {
  background-color: rgb(0 196 241 / 0.10);
}

.form-card--accent .form-card__badge {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-card--accent .form-card__badge:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.form-card--accent .form-card__icon {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.form-card--accent .form-card__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

/* ── Switch — track (fond) ──────────────────────────────────── */

.form-switch-track {
  display: block;
  height: 1.25rem;
  width: 2.25rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.form-switch-track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.form-switch-track--sm {
  height: 1rem;
  width: 1.75rem;
}

.form-switch-track--lg {
  height: 1.5rem;
  width: 2.75rem;
}

/* ── Switch — thumb (boule) ─────────────────────────────────── */

.form-switch-thumb {
  position: absolute;
  top: 0.125rem;
  left: 0.125rem;
  height: 1rem;
  width: 1rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: transform;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.form-switch-thumb--sm {
  height: 0.75rem;
  width: 0.75rem;
}

.form-switch-thumb--lg {
  height: 1.25rem;
  width: 1.25rem;
}

/* ================================================================
     CONCORD FORMS — SPRINT 2 : Patterns
     ================================================================ */

/* ── Input Group ─────────────────────────────────────────────── */

.form-input-group {
  display: flex;
  align-items: stretch;
}

/* Addon texte/icône (gauche ou droite) */

.form-input-addon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.form-input-addon:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.form-input-addon:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  border-right-width: 0px;
}

.form-input-addon:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-left-width: 0px;
}

/* Bouton adossé (droite) */

.form-input-addon-btn {
  display: inline-flex;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  gap: 0.375rem;
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  padding-left: 0.875rem;
  padding-right: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.form-input-addon-btn:hover {
  background-color: rgb(79 70 229 / 0.9);
}

.form-input-addon-btn:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.form-input-addon-btn:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.9);
}

/* Input à l'intérieur d'un group */

.form-input-group .form-input {
  border-radius: 0px;
  border-right-width: 0px;
}

.form-input-group .form-input:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.form-input-group .form-input:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  border-right-width: 1px;
}

/* ── Validation extra ────────────────────────────────────────── */

.form-input-warning {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.form-input-warning:focus {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(251 191 36 / 0.3);
}

.form-input-warning:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.form-input-warning:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(251 191 36 / 0.3);
}

.form-warning-msg {
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.form-warning-msg:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

/* ── Layout formulaire ───────────────────────────────────────── */

.form-section {
  margin-bottom: 2rem;
}

.form-section-title {
  margin-bottom: 1rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.form-section-title:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.form-fieldset {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding: 1.25rem;
}

.form-fieldset:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.form-legend {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.form-legend:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.form-col-2 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px) {
  .form-col-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.form-col-3 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px) {
  .form-col-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .form-col-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ================================================================
     CONCORD FORMS — SPRINT 3 : Navigation
     ================================================================ */

/* ── Pagination standalone (étend ct-pager / ct-page-btn / ct-page-nav) ── */

/* Wrapper autonome (hors table) */

.cr-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-pager:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* Infos (ex : "Affichage 1-10 sur 47") */

.cr-pager__info {
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-pager__info:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* Groupe de boutons */

.cr-pager__btns {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}

/* Sélecteur de taille de page */

.cr-pager__size {
  cursor: pointer;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-pager__size:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.cr-pager__size:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* Ellipsis … */

.cr-pager__ellipsis {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  justify-content: center;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-pager__ellipsis:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* ── Wrapper horizontal (défaut) ─────────────────────────────── */

.cr-stepper {
  display: flex;
  width: 100%;
  align-items: flex-start;
}

.cr-step {
  position: relative;
  display: flex;
  min-width: 0px;
  flex: 1 1 0%;
  flex-direction: column;
  align-items: center;
}

/* Connecteur horizontal entre étapes */

.cr-step__connector {
  margin-top: 1.125rem;
  height: 1px;
  min-width: 1rem;
  flex: 1 1 0%;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-step__connector:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-step__connector.is-done {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-step__connector.is-done:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

/* Icône/numéro */

.cr-step__icon {
  position: relative;
  z-index: 10;
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-step__icon:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* États sur .cr-step */

.cr-step.is-done .cr-step__icon {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-step.is-done .cr-step__icon:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-step.is-active .cr-step__icon {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.15);
}

.cr-step.is-active .cr-step__icon:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.2);
}

/* Label */

.cr-step__label {
  margin-top: 0.5rem;
  max-width: 6rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-step__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-step.is-done   .cr-step__label {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-step.is-done   .cr-step__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-step.is-active .cr-step__label {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-step.is-active .cr-step__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* Sous-titre optionnel */

.cr-step__sub {
  margin-top: 0.125rem;
  text-align: center;
  font-size: 0.625rem;
  line-height: 0.875rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-step__sub:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* ── Variante Verticale ──────────────────────────────────────── */

.cr-stepper--vertical {
  flex-direction: column;
  align-items: stretch;
  gap: 0px;
}

.cr-stepper--vertical .cr-step {
  width: 100%;
  flex: none;
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
}

/* Cacher le connecteur horizontal */

.cr-stepper--vertical .cr-step__connector {
  display: none;
}

.menu-content.cr-stepper--vertical .cr-step__connector {
  opacity: 0;
}

/* Track = colonne icône + ligne */

.cr-step__track {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
}

.cr-step__line {
  margin-top: 0.25rem;
  width: 1px;
  flex: 1 1 0%;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-step__line:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-step__line {
  min-height: 2rem;
}

.cr-step.is-done .cr-step__line {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-step.is-done .cr-step__line:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

/* Contenu texte à droite */

.cr-step__content {
  min-width: 0px;
  flex: 1 1 0%;
  padding-bottom: 1.5rem;
}

.cr-stepper--vertical .cr-step__label {
  margin-top: 0.375rem;
  max-width: none;
  text-align: left;
}

.cr-stepper--vertical .cr-step__sub {
  text-align: left;
}

/* Dernier item : pas de ligne */

.cr-stepper--vertical .cr-step:last-child .cr-step__line {
  display: none;
}

.menu-content.cr-stepper--vertical .cr-step:last-child .cr-step__line {
  opacity: 0;
}

.cr-stepper--vertical .cr-step:last-child .cr-step__content {
  padding-bottom: 0px;
}

/* ── Taille compact ──────────────────────────────────────────── */

.cr-stepper--sm .cr-step__icon {
  height: 1.75rem;
  width: 1.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.cr-stepper--sm .cr-step__connector {
  margin-top: 0.875rem;
}

.cr-stepper--sm .cr-step__label {
  font-size: 0.625rem;
  line-height: 0.875rem;
}

/* ── Socle commun ─────────────────────────────────────────────── */

.cr-chip {
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
  border-radius: 9999px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-chip:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* ── Tailles ─────────────────────────────────────────────────── */

.cr-chip--sm {
  gap: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.cr-chip--lg {
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* ── Bouton × suppression ────────────────────────────────────── */

.cr-chip__remove {
  margin-right: -0.125rem;
  display: flex;
  height: 0.875rem;
  width: 0.875rem;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-chip__remove:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-chip__remove:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-chip__remove:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* ── Toggle (filtre on/off cliquable) ────────────────────────── */

.cr-chip--toggle {
  cursor: pointer;
}

.cr-chip--toggle:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-chip--toggle:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.cr-chip--toggle.cr-chip--active {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-chip--toggle.cr-chip--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-chip--toggle.cr-chip--active .cr-chip__remove {
  color: rgb(255 255 255 / 0.7);
}

.cr-chip--toggle.cr-chip--active .cr-chip__remove:hover {
  background-color: rgb(79 70 229 / 0.8);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-chip--toggle.cr-chip--active .cr-chip__remove:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.8);
}

/* ── Couleurs sémantiques ────────────────────────────────────── */

.cr-chip--primary {
  border-color: rgb(79 70 229 / 0.3);
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-chip--primary:is(.dark *) {
  border-color: rgb(99 102 241 / 0.3);
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-chip--success {
  border-color: rgb(34 197 94 / 0.3);
  background-color: rgb(34 197 94 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.cr-chip--success:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.cr-chip--warning {
  border-color: rgb(245 183 0 / 0.3);
  background-color: rgb(245 183 0 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.cr-chip--warning:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-chip--danger {
  border-color: rgb(220 38 38 / 0.3);
  background-color: rgb(220 38 38 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-chip--danger:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3);
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-chip--accent {
  border-color: rgb(0 196 241 / 0.3);
  background-color: rgb(0 196 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.cr-chip--accent:is(.dark *) {
  background-color: rgb(0 196 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

/* ── Désactivé ────────────────────────────────────────────────── */

.cr-chip--disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.4;
}

/* ── Chip avec avatar ─────────────────────────────────────────── */

.cr-chip__avatar {
  margin-left: -0.25rem;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
  -o-object-fit: cover;
     object-fit: cover;
}

.cr-chip__avatar:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

/* ── Tag input (zone de saisie multi-tags) ───────────────────── */

.cr-tag-input-wrap {
  display: flex;
  min-height: 2.5rem;
  width: 100%;
  cursor: text;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-tag-input-wrap:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.cr-tag-input-wrap:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-tag-input-wrap:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.cr-tag-input {
  min-width: 6rem;
  flex: 1 1 0%;
  border-width: 0px;
  background-color: transparent;
  padding: 0px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tag-input::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-tag-input::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-tag-input {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.cr-tag-input:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.cr-tag-input:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-tag-input:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.cr-tag-input:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

/* ── Tag dropdown (suggestions) ─────────────────────────────── */

.cr-tag-dropdown {
  position: absolute;
  left: 0px;
  right: 0px;
  top: calc(100% + 4px);
  z-index: 60;
  max-height: 13rem;
  overflow-y: auto;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-tag-dropdown:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-tag-dropdown__item {
  display: flex;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
}

.cr-tag-dropdown__item:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__item:hover,
  .cr-tag-dropdown__item.is-active {
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__item:hover:is(.dark *),
  .cr-tag-dropdown__item.is-active:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__new-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 0.25rem;
  background-color: rgb(79 70 229 / 0.15);
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__new-badge:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__mark {
  background-color: transparent;
  font-weight: 600;
  font-style: normal;
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tag-dropdown__mark:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* Animation sortie chip */

.cr-chip--removing {
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

/* ═══════════════════════════════════════════════════════════════
     CONCORD UPLOAD
     Zone drag&drop, liste fichiers, progress, prévisualisation
     ═══════════════════════════════════════════════════════════════ */

/* Zone drag & drop ────────────────────────────────────────────── */

.cr-upload-zone {
  position: relative;
  display: flex;
  min-height: 9rem;
  width: 100%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border-radius: 0.75rem;
  border-width: 2px;
  border-style: dashed;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-upload-zone:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-upload-zone:hover,
  .cr-upload-zone.is-dragover {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  background-color: rgb(79 70 229 / 0.05);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-upload-zone:hover:is(.dark *),
  .cr-upload-zone.is-dragover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  background-color: rgb(99 102 241 / 0.05);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-upload-zone input[type="file"] {
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  cursor: pointer;
  opacity: 0;
}

.cr-upload-zone__icon {
  height: 2.5rem;
  width: 2.5rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.group:hover .cr-upload-zone__icon {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-upload-zone__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.group:hover .cr-upload-zone__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-upload-zone__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-upload-zone__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-upload-zone__hint {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-upload-zone__hint:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-upload-zone--sm {
  min-height: 5rem;
  gap: 0.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cr-upload-zone--sm .cr-upload-zone__icon {
  height: 1.75rem;
  width: 1.75rem;
}

/* Liste de fichiers ───────────────────────────────────────────── */

.cr-upload-list {
  margin-top: 0.75rem;
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.375rem;
}

.cr-upload-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-upload-item:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-upload-item__icon {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-upload-item__icon:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-upload-item__meta {
  min-width: 0px;
  flex: 1 1 0%;
}

.cr-upload-item__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-upload-item__name:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-upload-item__size {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-upload-item__size:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-upload-item__remove {
  display: flex;
  height: 1.75rem;
  width: 1.75rem;
  flex-shrink: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-upload-item__remove:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.cr-upload-item__remove:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-upload-item__remove:hover:is(.dark *) {
  background-color: rgb(69 10 10 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-upload-item__status {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.cr-upload-item.is-uploading .cr-upload-item__status {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-upload-item.is-uploading .cr-upload-item__status:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-upload-item.is-done     .cr-upload-item__status {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-upload-item.is-done     .cr-upload-item__status:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-upload-item.is-error    .cr-upload-item__status {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.cr-upload-item.is-error    .cr-upload-item__status:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Barre de progression ────────────────────────────────────────── */

.cr-upload-progress {
  margin-top: 0.25rem;
  height: 0.375rem;
  width: 100%;
  overflow: hidden;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-upload-progress:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-upload-progress__bar {
  height: 100%;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.cr-upload-progress__bar:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

/* Grille prévisualisation images ──────────────────────────────── */

.cr-upload-preview {
  margin-top: 0.75rem;
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

@media (min-width: 640px) {
  .cr-upload-preview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cr-upload-preview {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.cr-upload-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-upload-thumb:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-upload-thumb {
  aspect-ratio: 1 / 1;
}

.cr-upload-thumb img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cr-upload-thumb__remove {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(0 0 0 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.group:hover .cr-upload-thumb__remove {
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════════
     CONCORD EDITOR
     Éditeur de texte riche (contenteditable + barre d'outils)
     ═══════════════════════════════════════════════════════════════ */

.cr-editor {
  display: flex;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-editor:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.25);
}

.cr-editor:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-editor:focus-within:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(99 102 241 / 0.25);
}

/* Barre d'outils ──────────────────────────────────────────────── */

.cr-editor__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.125rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.cr-editor__toolbar:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(17 24 39 / 0.3);
}

.cr-editor__btn {
  display: inline-flex;
  height: 1.75rem;
  width: 1.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
}

.cr-editor__btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-editor__btn:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-editor__btn:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-editor__btn.is-active {
  background-color: rgb(79 70 229 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-editor__btn.is-active:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-editor__separator {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  height: 1.25rem;
  width: 1px;
  flex-shrink: 0;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-editor__separator:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-editor__select {
  height: 1.75rem;
  cursor: pointer;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  background-color: transparent;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
}

.cr-editor__select:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-editor__select:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.4);
}

.cr-editor__select:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-editor__select:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* Zone de contenu ─────────────────────────────────────────────── */

.cr-editor__content {
  min-height: 8rem;
  flex: 1 1 0%;
  overflow-y: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.cr-editor__content:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-editor__content:empty::before {
  content: attr(data-placeholder);
  pointer-events: none;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-editor__content:empty:is(.dark *)::before {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* Styles du contenu riche */

.cr-editor__content b,
  .cr-editor__content strong {
  font-weight: 600;
}

.cr-editor__content i,
  .cr-editor__content em {
  font-style: italic;
}

.cr-editor__content u {
  text-decoration-line: underline;
}

.cr-editor__content s {
  text-decoration-line: line-through;
}

.cr-editor__content a {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
}

.cr-editor__content a:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-editor__content ul {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
  list-style-type: disc;
}

.cr-editor__content ul > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.cr-editor__content ul {
  padding-left: 1.25rem;
}

.cr-editor__content ol {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
  list-style-type: decimal;
}

.cr-editor__content ol > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.cr-editor__content ol {
  padding-left: 1.25rem;
}

.cr-editor__content blockquote {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  border-left-width: 4px;
  border-color: rgb(79 70 229 / 0.3);
  padding-left: 0.75rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-editor__content blockquote:is(.dark *) {
  border-color: rgb(99 102 241 / 0.3);
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-editor__content h1 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.cr-editor__content h2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.cr-editor__content h3 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
}

/* Compte de caractères ────────────────────────────────────────── */

.cr-editor__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-editor__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(17 24 39 / 0.3);
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

/* Plein écran ─────────────────────────────────────────────────── */

.cr-editor--fullscreen {
  position: fixed;
  inset: 0px;
  z-index: 70;
  border-radius: 0px;
  border-width: 0px;
}

.cr-editor--fullscreen .cr-editor__content {
  flex: 1 1 0%;
  min-height: calc(100vh - 8rem);
}

/* Lecture seule ───────────────────────────────────────────────── */

.cr-editor--readonly .cr-editor__toolbar {
  pointer-events: none;
  opacity: 0.5;
}

.cr-editor--readonly .cr-editor__content {
  cursor: default;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-editor--readonly .cr-editor__content:is(.dark *) {
  background-color: rgb(17 24 39 / 0.2);
}

.cr-stat {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.25rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-stat:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-stat__icon {
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-stat__icon:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-stat__value {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-stat__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-stat__label {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-stat__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-stat__trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.cr-stat__trend--up {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.cr-stat__trend--up:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.cr-stat__trend--down {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-stat__trend--down:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Accent couleur — bord gauche + icône */

.cr-stat--primary {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.cr-stat--primary:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.cr-stat--primary .cr-stat__icon {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-stat--primary .cr-stat__icon:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-stat--success {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.cr-stat--success:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.cr-stat--success .cr-stat__icon {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-stat--success .cr-stat__icon:is(.dark *) {
  background-color: rgb(74 222 128 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-stat--warning {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-stat--warning:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-stat--warning .cr-stat__icon {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-stat--warning .cr-stat__icon:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-stat--danger {
  border-left-width: 4px;
  --tw-border-opacity: 1;
  border-left-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.cr-stat--danger:is(.dark *) {
  --tw-border-opacity: 1;
  border-left-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.cr-stat--danger .cr-stat__icon {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-stat--danger .cr-stat__icon:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Layout compact — horizontal */

.cr-stat--compact {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
}

.cr-breadcrumb {
  width: 100%;
}

.cr-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-breadcrumb__item {
  display: flex;
  align-items: center;
}

.cr-breadcrumb__link {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-breadcrumb__link:hover {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__link:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__link:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__current {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__current:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__sep {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-breadcrumb__sep:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-list {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-list:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-list__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-list__icon {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-list__icon:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-list__avatar {
  flex-shrink: 0;
}

.cr-list__content {
  min-width: 0px;
  flex: 1 1 0%;
}

.cr-list__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-list__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-list__desc {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-list__desc:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-list__meta {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-end;
}

.cr-list__action {
  flex-shrink: 0;
}

/* Variantes */

.cr-list--divided .cr-list__item + .cr-list__item {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-list--divided .cr-list__item + .cr-list__item:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-list--striped .cr-list__item:nth-child(even) {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-list--striped .cr-list__item:nth-child(even):is(.dark *) {
  background-color: rgb(17 24 39 / 0.3);
}

.cr-list--hover .cr-list__item {
  cursor: pointer;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-list--hover .cr-list__item:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-list--hover .cr-list__item:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

/* Description list */

.cr-dl {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-dl__term {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-dl__term:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-dl__detail {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-dl__detail:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-dl--horizontal {
  display: grid;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 0.5rem;
  grid-template-columns: auto 1fr;
}

.cr-dl--horizontal .cr-dl__term {
  margin-bottom: 0px;
}

.cr-dl--horizontal .cr-dl__detail {
  margin-bottom: 0px;
}

/* Cellules « libellé | valeur » rangées en colonnes selon la largeur du conteneur
     (BANDEAU-CAISSE, 13/10) : chaque paire est enveloppée dans .cr-dl__cell.
     Modificateur SEUL porteur des colonnes ; .cr-dl et .cr-dl--horizontal inchangés.
     Colonnes 2 / 3 / 4 : règles @container hors @layer (après la barre d'actions). */

.cr-dl--cells {
  margin: 0px;
  display: grid;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 0.25rem;
  grid-template-columns: minmax(0, 1fr);
}

.cr-dl--cells .cr-dl__cell {
  display: flex;
  min-width: 0px;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.cr-dl--cells .cr-dl__term {
  margin-bottom: 0px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-dl--cells .cr-dl__term:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-dl--cells .cr-dl__detail {
  margin-bottom: 0px;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-dl--cells .cr-dl__detail:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* ── Bandeau de caisse (BANDEAU-CAISSE, 13/10) ───────────────────────────
     Vue : Finances/Shifts/Views/widget.php. Repli (mobile / tablette) piloté par
     html[data-shiftband="open|closed"] (avant-rendu de layouts/admin.php +
     shift-band.js) ; seulement si le bandeau a des chiffres (data-shiftband-collapsible).
     Largeur mesurée sur le BANDEAU (container), pas sur l'écran. */

.cr-shiftband {
  container-type: inline-size;
  container-name: shiftband;
}

.cr-shiftband__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.cr-shiftband__head {
  display: flex;
  min-width: 0px;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  row-gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-shiftband__icon {
  display: inline-flex;
  flex-shrink: 0;
}

.cr-shiftband__title {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-shiftband__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team:hover {
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team::before {
  content: '·';
  margin-right: 0.25rem;
}

.cr-shiftband__warning {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.cr-shiftband__warning:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-shiftband__balance {
  margin-left: auto;
  display: inline-flex;
  align-items: baseline;
  gap: 0.375rem;
  white-space: nowrap;
}

.cr-shiftband__balance-label {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband__balance-label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-shiftband__value {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-shiftband__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* Ton d'une valeur : posé par le PHP (data-tone, liste blanche), coloré ici. */

.cr-shiftband [data-tone="success"] {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="success"]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="error"] {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="error"]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="warning"] {
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="warning"]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="muted"] {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband [data-tone="muted"]:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-shiftband__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cr-shiftband__toggle {
  margin-left: auto;
}

.cr-shiftband__toggle-hide {
  display: none;
}

.menu-content.cr-shiftband__toggle-hide {
  opacity: 0;
}

html[data-shiftband="open"] .cr-shiftband__toggle-show {
  display: none;
}

html.menu-content[data-shiftband="open"] .cr-shiftband__toggle-show {
  opacity: 0;
}

html[data-shiftband="open"] .cr-shiftband__toggle-hide {
  display: inline;
}

.cr-shiftband__chevron {
  transition: transform 150ms ease;
}

html[data-shiftband="open"] .cr-shiftband__chevron {
  transform: rotate(180deg);
}

.cr-shiftband__alerts {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-top: 0.5rem;
}

.cr-shiftband__alerts:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

/* Liste « en poste » (menu porté dans <body> : dropdown.js, data-dropdown-portal) */

.cr-shiftband__team-title {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team-title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.cr-shiftband__team-name {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team-name:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team-since {
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-shiftband__team-since:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Conteneur racine ── */

.cr-view {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-view:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-view__inner > * + * {
  border-top: 1px solid rgb(229 231 235 / 0.6);
  /* gray-200/60 */
}

.dark .cr-view__inner > * + * {
  border-top-color: rgb(55 65 81 / 0.5);
  /* gray-700/50 */
}

/* ── Fragment (drawer / modal) ── */

.cr-view-fragment {
  min-width: 0px;
}

/* Séparateurs doux entre sections (même style que __inner) */

.cr-view-fragment > * + * {
  border-top: 1px solid rgb(229 231 235 / 0.6);
  /* gray-200/60 */
}

.dark .cr-view-fragment > * + * {
  border-top-color: rgb(55 65 81 / 0.5);
  /* gray-700/50 */
}

/* Bandeau gris sur les titres de section du fragment */

.cr-view-fragment .cr-view-section__head {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background-color: rgb(249 250 251);
  /* gray-50 */
  border-bottom: 1px solid rgb(229 231 235 / 0.6);
  /* gray-200/60 */
}

.dark .cr-view-fragment .cr-view-section__head {
  background-color: rgb(17 24 39 / 0.4);
  /* gray-900/40 */
  border-bottom-color: rgb(55 65 81 / 0.5);
  /* gray-700/50 */
}

/* ── Header ── */

.cr-view-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 0.75rem;
}

.cr-view-header__left {
  display: flex;
  min-width: 0px;
  align-items: flex-start;
  gap: 1rem;
}

.cr-view-header__media {
  flex-shrink: 0;
}

/* Image de fiche (type `image`, ex. logo) : contenue, jamais déformée ; fond clair
     même en mode sombre (un logo est dessiné pour un fond blanc) */

.cr-view-field__image {
  height: 4rem;
  width: 4rem;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.25rem;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 209 209 / var(--tw-ring-opacity, 1));
}

.cr-view-field__image:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity, 1));
}

.cr-view-header__content {
  min-width: 0px;
}

.cr-view-header__content > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.cr-view-header__topline {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-header__topline:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-header__title-row {
  display: flex;
  min-width: 0px;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 0.375rem;
}

.cr-view-header__title {
  min-width: 0px;
  flex: 1 1 0%;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-header__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-view-header__badges {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cr-view-header__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}

/* Header compact dans le fragment (padding réduit) */

.cr-view-fragment > .cr-view-header {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1rem;
}

/* ── Section ── */

.cr-view-section {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* Bandeau gris sur les titres de section — vue pleine page */

.cr-view__inner .cr-view-section__head {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background-color: rgb(249 250 251 / 0.5);
  /* gray-50/50 */
  border-bottom: 1px solid rgb(229 231 235 / 0.4);
  /* gray-200/40 */
}

.dark .cr-view__inner .cr-view-section__head {
  background-color: rgb(17 24 39 / 0.3);
  /* gray-900/30 */
  border-bottom-color: rgb(55 65 81 / 0.4);
  /* gray-700/40 */
}

.cr-view-section__head {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.cr-view-section__icon {
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
}

.cr-view-section__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-section__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-view-section__help {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-section__help:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-section__help {
  margin-left: calc(0.625rem + 0.625rem);
  /* icon w + gap */
}

/* ── Compact variant (fragment / drawer) ── */

.cr-view-section--compact {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cr-view-section--compact .cr-view-section__head {
  margin-bottom: 0.75rem;
}

.cr-view-section--compact .cr-view-section__title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-section--compact .cr-view-section__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-section--compact .cr-view-section__icon {
  height: 1rem;
  width: 1rem;
}

/* ── Dense variant (métadonnées, secondaire) ── */

.cr-view-section--dense {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-view-section--dense .cr-view-section__grid {
  gap: 1rem;
}

/* Dense dans compact = encore plus serré */

.cr-view-section--compact.cr-view-section--dense {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

/* ── Section grid (colonnes responsives via --cols) ── */

.cr-view-section__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 0.25rem;
}

@media (min-width: 768px) {
  .cr-view-section__grid {
    grid-template-columns: repeat(var(--view-cols, 2), minmax(0, 1fr));
  }
}

/* ── Field (champ individuel) ──
     INLINE PAR DÉFAUT : label gauche, valeur droite, même ligne.
     Utiliser .cr-view-field--block pour repasser en mode bloc (label dessus). */

.cr-view-field {
  display: flex;
  min-width: 0px;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

@media (min-width: 640px) {
  .cr-view-field {
    justify-content: flex-start;
  }
}

.cr-view-field__label {
  flex-shrink: 0;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-field__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-field__value {
  min-width: 0px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-field__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px) {
  .cr-view-field__value {
    text-align: left;
  }
}

/* Bloc : label dessus / valeur dessous (pour list, flags, notes, key-value, stats) */

.cr-view-field--block .cr-view-field__label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.cr-view-field--block .cr-view-field__value {
  white-space: normal;
  text-align: left;
}

/* Modificateurs de champ */

.cr-view-field--mono .cr-view-field__value,
  .cr-view-field__value--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-field--mono .cr-view-field__value:is(.dark *),
  .cr-view-field__value--mono:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-field--muted .cr-view-field__value,
  .cr-view-field__value--muted {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-field--muted .cr-view-field__value:is(.dark *),
  .cr-view-field__value--muted:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-field--empty .cr-view-field__value {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-field--empty .cr-view-field__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-field--xl .cr-view-field__value {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.cr-view-field--lg .cr-view-field__value {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
}

.cr-view-field--currency .cr-view-field__value {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-field--currency .cr-view-field__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* Alias historique : --inline = comportement par défaut maintenant (no-op) */

.cr-view-field--inline {
  /* Champ déjà inline par défaut */
}

/* ── Key-Value ── */

.cr-view-kv > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.cr-view-kv__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-view-kv__row:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-view-kv__row:last-child {
  border-bottom-width: 0px;
}

.cr-view-kv__key {
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-kv__key:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-kv__value {
  text-align: right;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-kv__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* ── Stats ── */

.cr-view-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cr-view-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cr-view-stats__card {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding: 1rem;
}

.cr-view-stats__card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.cr-view-stats__number {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-stats__number:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-view-stats__label {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-stats__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/* ── Notes log ── */

.cr-view-notes > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.cr-view-notes__entry {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-view-notes__entry:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-view-notes__meta {
  margin-bottom: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cr-view-notes__user {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-notes__user:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-view-notes__date {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-view-notes__date:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-view-notes__text {
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-view-notes__text:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* ── List ── */

/* ── Badge slot ── */

/* ── Flags (badges horizontaux) ── */

.cr-divider {
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-divider:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-divider {
  height: 0;
}

.cr-divider--dashed {
  border-top-style: dashed;
}

.cr-divider--dotted {
  border-top-style: dotted;
}

.cr-divider--sm {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.cr-divider--lg {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.cr-divider--label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-width: 0px;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-divider--label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-divider--label {
  height: auto;
}

.cr-divider--label::before,
  .cr-divider--label::after {
  content: '';
  height: 1px;
  flex: 1 1 0%;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-divider--label:is(.dark *)::before,
  .cr-divider--label:is(.dark *)::after {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-divider--icon {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-width: 0px;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-divider--icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-divider--icon {
  height: auto;
}

.cr-divider--icon::before,
  .cr-divider--icon::after {
  content: '';
  height: 1px;
  flex: 1 1 0%;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-divider--icon:is(.dark *)::before,
  .cr-divider--icon:is(.dark *)::after {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-divider--vertical {
  margin-left: 1rem;
  margin-right: 1rem;
  width: 1px;
  align-self: stretch;
  border-top-width: 0px;
  border-left-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.cr-divider--vertical:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-divider--vertical {
  height: auto;
}

.cr-notif-list {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-notif-list:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-notif-list {
  max-height: 24rem;
  overflow-y: auto;
}

.cr-notif-list__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-notif-list__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-notif-list__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-notif-list__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-notif-list__empty {
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-notif-list__empty:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-notif {
  position: relative;
  display: flex;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-notif:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-notif:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-notif--unread {
  background-color: rgb(238 242 255 / 0.5);
}

.cr-notif--unread:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.cr-notif--unread::before {
  content: '';
  position: absolute;
  left: 0.375rem;
  top: 50%;
  height: 0.5rem;
  width: 0.5rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.cr-notif--unread:is(.dark *)::before {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-notif__icon {
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-notif--info .cr-notif__icon {
  background-color: rgb(79 70 229 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-notif--info .cr-notif__icon:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-notif--success .cr-notif__icon {
  background-color: rgb(22 163 74 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-notif--success .cr-notif__icon:is(.dark *) {
  background-color: rgb(74 222 128 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-notif--warning .cr-notif__icon {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-notif--warning .cr-notif__icon:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-notif--danger .cr-notif__icon {
  background-color: rgb(220 38 38 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-notif--danger .cr-notif__icon:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-notif__body {
  min-width: 0px;
  flex: 1 1 0%;
}

.cr-notif__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-notif__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-notif__message {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-notif__message:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-notif__time {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-notif__time:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-notif__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.25rem;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-notif:hover .cr-notif__actions {
  opacity: 1;
}

.cr-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
}

.cr-rating__star {
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-rating__star:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-rating__star--active {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.cr-rating__star--half {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
  clip-path: inset(0 50% 0 0);
}

.cr-rating__value {
  margin-left: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-rating__value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-rating__count {
  margin-left: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-rating__count:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-rating--sm .cr-rating__star {
  height: 1rem;
  width: 1rem;
}

.cr-rating--lg .cr-rating__star {
  height: 1.75rem;
  width: 1.75rem;
}

.cr-rating--readonly .cr-rating__star {
  cursor: default;
}

.cr-rating-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

.cr-rating-bar__label {
  width: 2rem;
  text-align: right;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-rating-bar__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-rating-bar__track {
  height: 0.5rem;
  flex: 1 1 0%;
  overflow: hidden;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.cr-rating-bar__track:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-rating-bar__fill {
  height: 0.5rem;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-rating-bar__pct {
  width: 2.5rem;
  text-align: right;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-rating-bar__pct:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd {
  /* Couche modale (70) : la palette s'ouvre aussi par-dessus un drawer. */
  position: fixed;
  inset: 0px;
  z-index: 70;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background-color: rgb(0 0 0 / 0.5);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  padding-top: 20vh;
}

.cr-cmd[hidden] {
  display: none;
}

.cr-cmd__dialog {
  width: 100%;
  max-width: 32rem;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-cmd__dialog:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-cmd__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
}

.cr-cmd__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-cmd__search-icon {
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__search-icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__input {
  flex: 1 1 0%;
  background-color: transparent;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-cmd__input::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-cmd__input::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-cmd__input {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.cr-cmd__input:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-cmd__input:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.cr-cmd__input:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.cr-cmd__kbd {
  display: inline-flex;
  align-items: center;
  border-radius: 0.25rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 10px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__kbd:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__body {
  overflow-y: auto;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  max-height: 20rem;
}

.cr-cmd__group {
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.cr-cmd__group-title {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__group-title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__item {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-cmd__item:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-cmd__item:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-cmd__item:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-cmd__item--active {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-cmd__item--active:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-cmd__item-icon {
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__item-icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__item--active .cr-cmd__item-icon {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-cmd__item--active .cr-cmd__item-icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-cmd__item-label {
  flex: 1 1 0%;
}

.cr-cmd__item-shortcut {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__item-shortcut:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cmd__empty {
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cmd__empty:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-mega {
  position: relative;
}

.cr-mega__trigger {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-mega__trigger:hover {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-mega__trigger:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-mega__trigger:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-mega__panel {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0px;
  margin-top: 0.5rem;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  opacity: 0;
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-mega__panel:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-mega__panel {
  min-width: 32rem;
}

.cr-mega__panel--open {
  visibility: visible;
  opacity: 1;
}

.cr-mega__grid {
  display: grid;
  gap: 1.5rem;
}

.cr-mega__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cr-mega__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cr-mega__column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cr-mega__heading {
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-mega__heading:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-mega__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-mega__link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-mega__link:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-mega__link:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-mega__link-icon {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-mega__link-icon:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-mega__link-text {
  flex: 1 1 0%;
}

.cr-mega__link-title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-mega__link-title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-mega__desc {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-mega__desc:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-mega__promo {
  border-radius: 0.5rem;
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  --tw-gradient-from: rgb(79 70 229 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(126 87 194 / 0.1) var(--tw-gradient-to-position);
  padding: 1rem;
}

.cr-mega__promo:is(.dark *) {
  --tw-gradient-from: rgb(99 102 241 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(126 87 194 / 0.15) var(--tw-gradient-to-position);
}

.cr-cal {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-cal:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-cal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-cal__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-cal__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-cal__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-cal__nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.cr-cal__nav-btn {
  display: flex;
  height: 2rem;
  width: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-cal__nav-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.cr-cal__nav-btn:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cal__nav-btn:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-cal__weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-cal__weekdays:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-cal__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.cr-cal__day {
  position: relative;
  min-height: 5rem;
  cursor: pointer;
  border-bottom-width: 1px;
  border-right-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
  padding: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-cal__day:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-cal__day:is(.dark *) {
  border-color: rgb(55 65 81 / 0.5);
}

.cr-cal__day:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-cal__day--today .cr-cal__day-number {
  display: flex;
  height: 1.5rem;
  width: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-cal__day--today .cr-cal__day-number:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-cal__day--outside {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-cal__day--outside:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-cal__day--selected {
  background-color: rgb(79 70 229 / 0.05);
}

.cr-cal__day--selected:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.cr-cal__day-number {
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 1;
}

.cr-cal__events {
  margin-top: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.cr-cal__event {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
}

/* Mini calendar (date picker) */

.cr-cal--mini .cr-cal__day {
  min-height: 0px;
  padding: 0.25rem;
  text-align: center;
}

.cr-cal--mini .cr-cal__events {
  margin-top: 0.125rem;
  flex-direction: row;
  justify-content: center;
  gap: 0.125rem;
}

.cr-cal--mini .cr-cal__event {
  height: 0.375rem;
  width: 0.375rem;
  overflow: hidden;
  border-radius: 9999px;
  padding: 0px;
  color: transparent;
}

.cr-kanban {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  min-height: 24rem;
}

.cr-kanban__column {
  display: flex;
  width: 18rem;
  flex-shrink: 0;
  flex-direction: column;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-kanban__column:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.5);
}

.cr-kanban__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.cr-kanban__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-kanban__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-kanban__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-kanban__count {
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-kanban__count:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-kanban__cards {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 0.5rem;
  overflow-y: auto;
  padding: 0.5rem;
  min-height: 4rem;
}

.cr-kanban__card {
  cursor: grab;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 0.75rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-kanban__card:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.cr-kanban__card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-kanban__card.sortable-ghost {
  opacity: 0.5;
}

.cr-kanban__card.sortable-drag {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transform: rotate(2deg);
}

.cr-kanban__card-title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-desc {
  margin-top: 0.25rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-desc:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-meta {
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-meta:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag {
  display: inline-flex;
  border-radius: 0.25rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.cr-kanban__card-tag--action {
  background-color: rgb(79 70 229 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--action:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--success {
  background-color: rgb(22 163 74 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--success:is(.dark *) {
  background-color: rgb(74 222 128 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--warning {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--warning:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--danger {
  background-color: rgb(220 38 38 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-kanban__card-tag--danger:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-kanban__add {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-kanban__add:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.cr-kanban__add:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-kanban__add:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

/* Column accent borders */

.cr-kanban__column--action .cr-kanban__header {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--action .cr-kanban__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--success .cr-kanban__header {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--success .cr-kanban__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--gold .cr-kanban__header {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--gold .cr-kanban__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--violet .cr-kanban__header {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.cr-kanban__column--violet .cr-kanban__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.cr-tree {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-tree__node {
  position: relative;
}

.cr-tree__row {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.5rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-tree__row:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-tree__row:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.cr-tree__row--active {
  background-color: rgb(79 70 229 / 0.05);
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tree__row--active:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tree__row--selected {
  background-color: rgb(79 70 229 / 0.1);
}

.cr-tree__row--selected:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.cr-tree__toggle {
  display: flex;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-tree__toggle:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-tree__toggle--open {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cr-tree__toggle--leaf {
  visibility: hidden;
}

.cr-tree__icon {
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-tree__icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-tree__icon--folder {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.cr-tree__icon--file {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-tree__icon--file:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-tree__label {
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-tree__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-tree__checkbox {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.cr-tree__checkbox:focus {
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.cr-tree__checkbox:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.cr-tree__badge {
  margin-left: auto;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-tree__badge:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-tree__children {
  display: none;
  padding-left: 1rem;
}

.menu-content.cr-tree__children {
  opacity: 0;
}

.cr-tree__children--open {
  display: block;
}

.cr-tree__filter {
  margin-bottom: 0.5rem;
  width: 100%;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-tree__filter::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-tree__filter::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.cr-tree__filter:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.cr-tree__filter:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-tree__filter:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.cr-tree__filter:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.cr-planning {
  overflow: hidden;
  border-radius: 0.5rem;
}

.cr-planning__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cr-planning__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-planning__title {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-planning__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-planning__toolbar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cr-planning__view-btn {
  cursor: pointer;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-planning__view-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.cr-planning__view-btn:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-planning__view-btn:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.cr-planning__view-btn--active {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-planning__view-btn--active:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.cr-planning__body {
  height: clamp(320px, calc(100vh - 280px), 600px);
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Force EC to honour min-width: disable inner scroll containers
     so the natural grid width flows up to .cr-planning__body */

.cr-planning .ec {
  min-width: 960px;
}

.cr-planning .ec-main {
  overflow: visible;
}

/* ── EventCalendar theming — tokens Concord ── */

.cr-planning .ec .ec-resource {
  font-size: 0.6875rem;
  line-height: 1.2;
}

/* Lignes compactes + colonnes uniformes en timeline */

.cr-planning .ec .ec-body {
  overflow-x: visible;
}

.cr-planning .ec .ec-sidebar {
  font-size: 0.6875rem;
}

.cr-planning .ec-timeline .ec-event-title {
  font-size: 0.625rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Colonnes 30px, lignes 30px — override inline EC */

.cr-planning .ec-timeline .ec-main {
  --ec-col-width: 30px !important;
  --ec-slot-height: 30px !important;
}

/* En-têtes jours compacts — 2 lignes : Lun. / 1 */

.cr-planning .ec .ec-col-head {
  font-size: 0.5625rem;
  line-height: 1;
  padding: 2px 0;
  text-align: center;
}

.cr-planning .ec .ec-header {
  font-size: 0.5625rem;
}

.cr-planning .cr-day-wk {
  display: block;
  font-size: 0.5rem;
  opacity: 0.65;
  line-height: 1;
}

.cr-planning .cr-day-num {
  display: block;
  font-weight: 600;
  line-height: 1.15;
}

/* ── Month labels row (year view) ── */

.cr-planning-months {
  display: flex;
  flex-shrink: 0;
  border-bottom: 1px solid #e5e7eb;
}

.dark .cr-planning-months {
  border-bottom-color: #374151;
}

.cr-planning-month {
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 600;
  text-align: center;
  padding: 4px 0;
  color: #374151;
  border-right: 1px solid #e5e7eb;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dark .cr-planning-month {
  color: #d1d5db;
  border-right-color: #374151;
}

.cr-planning-month:last-child {
  border-right: none;
}

/* Year view: hide EC title (replaced by month labels) */

.cr-planning .cr-planning--year .ec-toolbar .ec-title {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

/* Boutons nav EC plus petits */

.cr-planning .ec-toolbar {
  font-size: 0.75rem;
  padding: 4px 8px;
}

.cr-planning .ec-toolbar .ec-button {
  font-size: 0.6875rem;
  padding: 2px 6px;
}

/* ── Dark mode overrides ── */

.cr-carousel {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-carousel:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-carousel__track {
  display: flex;
  transition-property: transform;
  transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  touch-action: pan-y;
}

.cr-carousel__slide {
  position: relative;
  width: 100%;
  flex-shrink: 0;
}

.cr-carousel__slide img {
  height: auto;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cr-carousel__caption {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  background: linear-gradient(transparent, rgba(0,0,0,0.55));
}

/* Nav buttons */

.cr-carousel__prev,
  .cr-carousel__next {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  height: 2.25rem;
  width: 2.25rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(255 255 255 / 0.8);
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.cr-carousel__prev:hover,
  .cr-carousel__next:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.cr-carousel__prev:is(.dark *),
  .cr-carousel__next:is(.dark *) {
  background-color: rgb(31 41 55 / 0.8);
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-carousel__prev:hover:is(.dark *),
  .cr-carousel__next:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.cr-carousel__prev {
  left: 0.75rem;
}

.cr-carousel__next {
  right: 0.75rem;
}

.cr-carousel__prev svg,
  .cr-carousel__next svg {
  height: 1.25rem;
  width: 1.25rem;
}

/* Dots */

.cr-carousel__dots {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  z-index: 10;
  display: flex;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  gap: 0.5rem;
}

.cr-carousel__dot {
  height: 0.625rem;
  width: 0.625rem;
  cursor: pointer;
  border-radius: 9999px;
  background-color: rgb(255 255 255 / 0.5);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-carousel__dot--active {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

/* ── Variante Cards (multi-slides) ────────────────────────── */

.cr-carousel--cards {
  border-width: 0px;
  background-color: transparent;
}

.cr-carousel--cards:is(.dark *) {
  background-color: transparent;
}

.cr-carousel--cards .cr-carousel__track {
  gap: 1rem;
}

.cr-carousel--cards .cr-carousel__slide {
  width: auto;
  flex-shrink: 0;
}

/* ── Variante Fade ────────────────────────────────────────── */

.cr-carousel--fade .cr-carousel__track {
  position: relative;
  transform: none !important;
}

.cr-carousel--fade .cr-carousel__slide {
  position: absolute;
  inset: 0px;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.cr-carousel--fade .cr-carousel__slide--active {
  position: relative;
  opacity: 1;
}

.cr-gallery {
  display: grid;
  gap: 1rem;
}

.cr-gallery--cols-2 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
  .cr-gallery--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cr-gallery--cols-3 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
  .cr-gallery--cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cr-gallery--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cr-gallery--cols-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
  .cr-gallery--cols-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cr-gallery--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.cr-gallery__item {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 0.5rem;
}

.cr-gallery__img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-gallery__item:hover .cr-gallery__img {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cr-gallery__overlay {
  position: absolute;
  inset: 0px;
  display: flex;
  align-items: flex-end;
  background-color: rgb(0 0 0 / 0.4);
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.cr-gallery__item:hover .cr-gallery__overlay {
  opacity: 1;
}

.cr-gallery__caption {
  width: 100%;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* ── Masonry ──────────────────────────────────────────────── */

.cr-gallery--masonry {
  display: columns;
  -moz-columns: 3 240px;
       columns: 3 240px;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.cr-gallery--masonry .cr-gallery__item {
  margin-bottom: 1rem;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

/* ── Lightbox ─────────────────────────────────────────────── */

/* Couche modale (70) : devant les drawers, même empilés (bande 51-59). */

.cr-lightbox {
  pointer-events: none;
  position: fixed;
  inset: 0px;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  background: rgba(0,0,0,0.9);
}

.cr-lightbox--open {
  pointer-events: auto;
  opacity: 1;
}

.cr-lightbox__img {
  max-height: 85vh;
  max-width: 90vw;
  border-radius: 0.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  animation: cr-lightbox-in 300ms ease-out;
}

.cr-lightbox__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 10;
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(255 255 255 / 0.1);
  color: rgb(255 255 255 / 0.8);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-lightbox__close:hover {
  background-color: rgb(255 255 255 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-lightbox__close svg {
  height: 1.5rem;
  width: 1.5rem;
}

.cr-lightbox__prev,
  .cr-lightbox__next {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  height: 2.75rem;
  width: 2.75rem;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(255 255 255 / 0.1);
  color: rgb(255 255 255 / 0.8);
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-lightbox__prev:hover,
  .cr-lightbox__next:hover {
  background-color: rgb(255 255 255 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-lightbox__prev {
  left: 1rem;
}

.cr-lightbox__next {
  right: 1rem;
}

.cr-lightbox__prev svg,
  .cr-lightbox__next svg {
  height: 1.5rem;
  width: 1.5rem;
}

.cr-lightbox__counter {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: rgb(255 255 255 / 0.7);
}

@keyframes cr-lightbox-in {
  from {
    opacity: 0;
    transform: scale(0.92);
  }

  to   {
    opacity: 1;
    transform: scale(1);
  }
}

.cr-header {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 50;
  display: flex;
  height: 3.5rem;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.dark .cr-header {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* Variantes couleur — Groupe A (texte blanc sur fond foncé) */

.cr-header-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-action {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-error {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-slate {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-stone {
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-amber {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-emerald {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-sky {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-fuchsia {
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-rose {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-brown {
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-olive {
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-maroon {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-coral {
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-header-khaki {
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Groupe B (texte sombre sur fond clair) */

.cr-header-beige {
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-header-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-header-silver {
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.dark .cr-header-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-action {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-success {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-error {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-slate {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-stone {
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-amber {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-emerald {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-sky {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-fuchsia {
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-rose {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-brown {
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-olive {
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-maroon {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-coral {
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-khaki {
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-beige {
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
}

.dark .cr-header-silver {
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
}

/* Éléments internes */

.cr-header-title {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.dark .cr-header-title {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-header-subtitle {
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark .cr-header-subtitle {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-header-icon {
  display: inline-flex;
  height: 2.5rem;
  width: 2.5rem;
  align-items: center;
  justify-content: center;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-header-icon:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.dark .cr-header-icon {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-header-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-header-link:hover {
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.dark .cr-header-link {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dark .cr-header-link:hover {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* Surcharges variantes colorées — enfants (Groupe A : blanc) */

.cr-header-primary .cr-header-title,
  .cr-header-action .cr-header-title,
  .cr-header-secondary .cr-header-title,
  .cr-header-violet .cr-header-title,
  .cr-header-azure .cr-header-title,
  .cr-header-gold .cr-header-title,
  .cr-header-success .cr-header-title,
  .cr-header-error .cr-header-title,
  .cr-header-dark .cr-header-title,
  .cr-header-slate .cr-header-title,
  .cr-header-stone .cr-header-title,
  .cr-header-orange .cr-header-title,
  .cr-header-amber .cr-header-title,
  .cr-header-yellow .cr-header-title,
  .cr-header-lime .cr-header-title,
  .cr-header-emerald .cr-header-title,
  .cr-header-teal .cr-header-title,
  .cr-header-cyan .cr-header-title,
  .cr-header-sky .cr-header-title,
  .cr-header-purple .cr-header-title,
  .cr-header-fuchsia .cr-header-title,
  .cr-header-pink .cr-header-title,
  .cr-header-rose .cr-header-title,
  .cr-header-brown .cr-header-title,
  .cr-header-olive .cr-header-title,
  .cr-header-maroon .cr-header-title,
  .cr-header-coral .cr-header-title,
  .cr-header-khaki .cr-header-title {
  color: #ffffff;
}

.cr-header-primary .cr-header-subtitle,
  .cr-header-action .cr-header-subtitle,
  .cr-header-secondary .cr-header-subtitle,
  .cr-header-violet .cr-header-subtitle,
  .cr-header-azure .cr-header-subtitle,
  .cr-header-gold .cr-header-subtitle,
  .cr-header-success .cr-header-subtitle,
  .cr-header-error .cr-header-subtitle,
  .cr-header-dark .cr-header-subtitle,
  .cr-header-slate .cr-header-subtitle,
  .cr-header-stone .cr-header-subtitle,
  .cr-header-orange .cr-header-subtitle,
  .cr-header-amber .cr-header-subtitle,
  .cr-header-yellow .cr-header-subtitle,
  .cr-header-lime .cr-header-subtitle,
  .cr-header-emerald .cr-header-subtitle,
  .cr-header-teal .cr-header-subtitle,
  .cr-header-cyan .cr-header-subtitle,
  .cr-header-sky .cr-header-subtitle,
  .cr-header-purple .cr-header-subtitle,
  .cr-header-fuchsia .cr-header-subtitle,
  .cr-header-pink .cr-header-subtitle,
  .cr-header-rose .cr-header-subtitle,
  .cr-header-brown .cr-header-subtitle,
  .cr-header-olive .cr-header-subtitle,
  .cr-header-maroon .cr-header-subtitle,
  .cr-header-coral .cr-header-subtitle,
  .cr-header-khaki .cr-header-subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.cr-header-primary .cr-header-icon,
  .cr-header-action .cr-header-icon,
  .cr-header-secondary .cr-header-icon,
  .cr-header-violet .cr-header-icon,
  .cr-header-azure .cr-header-icon,
  .cr-header-gold .cr-header-icon,
  .cr-header-success .cr-header-icon,
  .cr-header-error .cr-header-icon,
  .cr-header-dark .cr-header-icon,
  .cr-header-slate .cr-header-icon,
  .cr-header-stone .cr-header-icon,
  .cr-header-orange .cr-header-icon,
  .cr-header-amber .cr-header-icon,
  .cr-header-yellow .cr-header-icon,
  .cr-header-lime .cr-header-icon,
  .cr-header-emerald .cr-header-icon,
  .cr-header-teal .cr-header-icon,
  .cr-header-cyan .cr-header-icon,
  .cr-header-sky .cr-header-icon,
  .cr-header-purple .cr-header-icon,
  .cr-header-fuchsia .cr-header-icon,
  .cr-header-pink .cr-header-icon,
  .cr-header-rose .cr-header-icon,
  .cr-header-brown .cr-header-icon,
  .cr-header-olive .cr-header-icon,
  .cr-header-maroon .cr-header-icon,
  .cr-header-coral .cr-header-icon,
  .cr-header-khaki .cr-header-icon,
  .cr-header-primary .cr-header-link,
  .cr-header-action .cr-header-link,
  .cr-header-secondary .cr-header-link,
  .cr-header-violet .cr-header-link,
  .cr-header-azure .cr-header-link,
  .cr-header-gold .cr-header-link,
  .cr-header-success .cr-header-link,
  .cr-header-error .cr-header-link,
  .cr-header-dark .cr-header-link,
  .cr-header-slate .cr-header-link,
  .cr-header-stone .cr-header-link,
  .cr-header-orange .cr-header-link,
  .cr-header-amber .cr-header-link,
  .cr-header-yellow .cr-header-link,
  .cr-header-lime .cr-header-link,
  .cr-header-emerald .cr-header-link,
  .cr-header-teal .cr-header-link,
  .cr-header-cyan .cr-header-link,
  .cr-header-sky .cr-header-link,
  .cr-header-purple .cr-header-link,
  .cr-header-fuchsia .cr-header-link,
  .cr-header-pink .cr-header-link,
  .cr-header-rose .cr-header-link,
  .cr-header-brown .cr-header-link,
  .cr-header-olive .cr-header-link,
  .cr-header-maroon .cr-header-link,
  .cr-header-coral .cr-header-link,
  .cr-header-khaki .cr-header-link {
  color: rgba(255, 255, 255, 0.7);
}

.cr-header-primary .cr-header-icon:hover,
  .cr-header-action .cr-header-icon:hover,
  .cr-header-secondary .cr-header-icon:hover,
  .cr-header-violet .cr-header-icon:hover,
  .cr-header-azure .cr-header-icon:hover,
  .cr-header-gold .cr-header-icon:hover,
  .cr-header-success .cr-header-icon:hover,
  .cr-header-error .cr-header-icon:hover,
  .cr-header-dark .cr-header-icon:hover,
  .cr-header-slate .cr-header-icon:hover,
  .cr-header-stone .cr-header-icon:hover,
  .cr-header-orange .cr-header-icon:hover,
  .cr-header-amber .cr-header-icon:hover,
  .cr-header-yellow .cr-header-icon:hover,
  .cr-header-lime .cr-header-icon:hover,
  .cr-header-emerald .cr-header-icon:hover,
  .cr-header-teal .cr-header-icon:hover,
  .cr-header-cyan .cr-header-icon:hover,
  .cr-header-sky .cr-header-icon:hover,
  .cr-header-purple .cr-header-icon:hover,
  .cr-header-fuchsia .cr-header-icon:hover,
  .cr-header-pink .cr-header-icon:hover,
  .cr-header-rose .cr-header-icon:hover,
  .cr-header-brown .cr-header-icon:hover,
  .cr-header-olive .cr-header-icon:hover,
  .cr-header-maroon .cr-header-icon:hover,
  .cr-header-coral .cr-header-icon:hover,
  .cr-header-khaki .cr-header-icon:hover,
  .cr-header-primary .cr-header-link:hover,
  .cr-header-action .cr-header-link:hover,
  .cr-header-secondary .cr-header-link:hover,
  .cr-header-violet .cr-header-link:hover,
  .cr-header-azure .cr-header-link:hover,
  .cr-header-gold .cr-header-link:hover,
  .cr-header-success .cr-header-link:hover,
  .cr-header-error .cr-header-link:hover,
  .cr-header-dark .cr-header-link:hover,
  .cr-header-slate .cr-header-link:hover,
  .cr-header-stone .cr-header-link:hover,
  .cr-header-orange .cr-header-link:hover,
  .cr-header-amber .cr-header-link:hover,
  .cr-header-yellow .cr-header-link:hover,
  .cr-header-lime .cr-header-link:hover,
  .cr-header-emerald .cr-header-link:hover,
  .cr-header-teal .cr-header-link:hover,
  .cr-header-cyan .cr-header-link:hover,
  .cr-header-sky .cr-header-link:hover,
  .cr-header-purple .cr-header-link:hover,
  .cr-header-fuchsia .cr-header-link:hover,
  .cr-header-pink .cr-header-link:hover,
  .cr-header-rose .cr-header-link:hover,
  .cr-header-brown .cr-header-link:hover,
  .cr-header-olive .cr-header-link:hover,
  .cr-header-maroon .cr-header-link:hover,
  .cr-header-coral .cr-header-link:hover,
  .cr-header-khaki .cr-header-link:hover {
  color: rgba(255, 255, 255, 1);
}

/* Surcharges variantes colorées — enfants (Groupe B : sombre) */

.cr-header-beige .cr-header-title,
  .cr-header-cream .cr-header-title,
  .cr-header-silver .cr-header-title {
  color: #1F2937;
}

.cr-header-beige .cr-header-subtitle,
  .cr-header-cream .cr-header-subtitle,
  .cr-header-silver .cr-header-subtitle {
  color: rgba(0, 0, 0, 0.6);
}

.cr-header-beige .cr-header-icon,
  .cr-header-cream .cr-header-icon,
  .cr-header-silver .cr-header-icon,
  .cr-header-beige .cr-header-link,
  .cr-header-cream .cr-header-link,
  .cr-header-silver .cr-header-link {
  color: rgba(0, 0, 0, 0.6);
}

.cr-header-beige .cr-header-icon:hover,
  .cr-header-cream .cr-header-icon:hover,
  .cr-header-silver .cr-header-icon:hover,
  .cr-header-beige .cr-header-link:hover,
  .cr-header-cream .cr-header-link:hover,
  .cr-header-silver .cr-header-link:hover {
  color: rgba(0, 0, 0, 0.9);
}

/* ── cr-header-gold : blanc pleine opacité — meilleur ratio que rgba(white,0.7) ── */

.cr-header-gold .cr-header-subtitle,
  .dark .cr-header-gold .cr-header-subtitle {
  color: rgba(255, 255, 255, 1);
}

/* 3.21:1 */

.cr-header-gold .cr-header-icon,
  .cr-header-gold .cr-header-link,
  .dark .cr-header-gold .cr-header-icon,
  .dark .cr-header-gold .cr-header-link  {
  color: rgba(255, 255, 255, 1);
}

/* 3.21:1 */

.cr-header-gold .cr-header-icon:hover,
  .cr-header-gold .cr-header-link:hover,
  .dark .cr-header-gold .cr-header-icon:hover,
  .dark .cr-header-gold .cr-header-link:hover {
  color: rgba(255, 255, 255, 1);
}

.cr-sidebar {
  position: fixed;
  top: 3.5rem;
  left: 0px;
  z-index: 20;
  display: flex;
  height: calc(100vh - 3.5rem);
  width: 16rem;
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  flex-direction: column;
  border-right-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.dark .cr-sidebar {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

/* ── Sidebar state — driven by html.sidebar-open ── */

html.sidebar-open .cr-sidebar {
  transform: translateX(0);
}

/* Push #main on desktop when sidebar is open */

@media (min-width: 1024px) {
  html.sidebar-open #main {
    margin-left: 16rem;
    /* w-64 */
  }
}

/* Overlay never shown on desktop */

@media (min-width: 1024px) {
  #overlaySidebar {
    display: none !important;
  }
}

/* Variantes couleur — Groupe A (texte blanc sur fond foncé) */

.cr-sidebar-primary {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-action {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-secondary {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-violet {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-azure {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-gold {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-success {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-error {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-dark {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-slate {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-stone {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-orange {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-amber {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-yellow {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-lime {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-emerald {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-teal {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-cyan {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-sky {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-purple {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-fuchsia {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-pink {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-rose {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-brown {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-olive {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-maroon {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-coral {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-sidebar-khaki {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Groupe B (texte sombre sur fond clair) */

.cr-sidebar-beige {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-sidebar-cream {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.cr-sidebar-silver {
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.dark .cr-sidebar-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-action {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-success {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-error {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-slate {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-stone {
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-orange {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-amber {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-yellow {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-lime {
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-emerald {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-cyan {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-sky {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-purple {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-fuchsia {
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-rose {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-brown {
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-olive {
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-maroon {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-coral {
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-khaki {
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-beige {
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
}

.dark .cr-sidebar-silver {
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
}

/* ── Nav Link (default : sidebar surface) ── */

.cr-nav-link {
  display: flex;
  width: 100%;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  text-align: left;
  font-size: 13px;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.dark .cr-nav-link {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-nav-link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
}

.dark .cr-nav-link:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
}

.cr-nav-link.active {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.cr-nav-link.\!active {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.dark .cr-nav-link.active {
  background-color: rgb(49 46 129 / 0.2);
}

.dark .cr-nav-link.\!active {
  background-color: rgb(49 46 129 / 0.2) !important;
}

.dark .cr-nav-link.active {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.dark .cr-nav-link.\!active {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

/* ── Nav Button (section toggle) ── */

.cr-nav-btn {
  display: flex;
  width: 100%;
  align-items: center;
  border-radius: 0.375rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 13px;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.dark .cr-nav-btn {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-nav-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
}

.dark .cr-nav-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
}

.cr-nav-btn.active {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-nav-btn.\!active {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.dark .cr-nav-btn.active {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.dark .cr-nav-btn.\!active {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* ── Nav Icon ── */

.cr-nav-icon {
  margin-right: 0.5rem;
  height: 1.25rem;
  width: 1.25rem;
  flex-shrink: 0;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark .cr-nav-icon {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.\!active > .cr-nav-icon {
  color: currentColor !important;
}

.active > .cr-nav-icon {
  color: currentColor;
}

/* ── Nav Divider (séparateur de section) ── */

.cr-nav-divider {
  margin-top: 1rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-top: 1rem;
}

.dark .cr-nav-divider {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

/* ── Bordure verticale sous-menu ── */

.cr-nav-indent {
  position: absolute;
  left: 0px;
  top: 0px;
  bottom: 0px;
  border-left-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
}

.dark .cr-nav-indent {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

/* ── Dark mode default sidebar — white-on-dark (même rendu que sidebar-dark) ── */

.dark .cr-sidebar .cr-nav-link {
  color: rgba(255, 255, 255, 0.7);
}

.dark .cr-sidebar .cr-nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.dark .cr-sidebar .cr-nav-link.active {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.dark .cr-sidebar .cr-nav-link.\!active {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

.dark .cr-sidebar .cr-nav-btn {
  color: rgba(255, 255, 255, 0.85);
}

.dark .cr-sidebar .cr-nav-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.dark .cr-sidebar .cr-nav-btn.active {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.dark .cr-sidebar .cr-nav-btn.\!active {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

.dark .cr-sidebar .cr-nav-icon {
  color: rgba(255, 255, 255, 0.6);
}

.dark .cr-sidebar .active > .cr-nav-icon {
  color: currentColor;
}

.dark .cr-sidebar .\!active > .cr-nav-icon {
  color: currentColor !important;
}

.dark .cr-sidebar .cr-nav-indent,
  .dark .cr-sidebar .cr-nav-divider {
  border-color: rgba(255, 255, 255, 0.15);
}

/* ── Surcharges pour sidebars colorées — Groupe A (blanc sur foncé) ── */

.cr-sidebar-primary .cr-nav-link,
  .cr-sidebar-action .cr-nav-link,
  .cr-sidebar-secondary .cr-nav-link,
  .cr-sidebar-violet .cr-nav-link,
  .cr-sidebar-azure .cr-nav-link,
  .cr-sidebar-gold .cr-nav-link,
  .cr-sidebar-success .cr-nav-link,
  .cr-sidebar-error .cr-nav-link,
  .cr-sidebar-dark .cr-nav-link,
  .cr-sidebar-slate .cr-nav-link,
  .cr-sidebar-stone .cr-nav-link,
  .cr-sidebar-orange .cr-nav-link,
  .cr-sidebar-amber .cr-nav-link,
  .cr-sidebar-yellow .cr-nav-link,
  .cr-sidebar-lime .cr-nav-link,
  .cr-sidebar-emerald .cr-nav-link,
  .cr-sidebar-teal .cr-nav-link,
  .cr-sidebar-cyan .cr-nav-link,
  .cr-sidebar-sky .cr-nav-link,
  .cr-sidebar-purple .cr-nav-link,
  .cr-sidebar-fuchsia .cr-nav-link,
  .cr-sidebar-pink .cr-nav-link,
  .cr-sidebar-rose .cr-nav-link,
  .cr-sidebar-brown .cr-nav-link,
  .cr-sidebar-olive .cr-nav-link,
  .cr-sidebar-maroon .cr-nav-link,
  .cr-sidebar-coral .cr-nav-link,
  .cr-sidebar-khaki .cr-nav-link {
  color: rgba(255, 255, 255, 0.7);
}

.cr-sidebar-primary .cr-nav-link:hover,
  .cr-sidebar-action .cr-nav-link:hover,
  .cr-sidebar-secondary .cr-nav-link:hover,
  .cr-sidebar-violet .cr-nav-link:hover,
  .cr-sidebar-azure .cr-nav-link:hover,
  .cr-sidebar-gold .cr-nav-link:hover,
  .cr-sidebar-success .cr-nav-link:hover,
  .cr-sidebar-error .cr-nav-link:hover,
  .cr-sidebar-dark .cr-nav-link:hover,
  .cr-sidebar-slate .cr-nav-link:hover,
  .cr-sidebar-stone .cr-nav-link:hover,
  .cr-sidebar-orange .cr-nav-link:hover,
  .cr-sidebar-amber .cr-nav-link:hover,
  .cr-sidebar-yellow .cr-nav-link:hover,
  .cr-sidebar-lime .cr-nav-link:hover,
  .cr-sidebar-emerald .cr-nav-link:hover,
  .cr-sidebar-teal .cr-nav-link:hover,
  .cr-sidebar-cyan .cr-nav-link:hover,
  .cr-sidebar-sky .cr-nav-link:hover,
  .cr-sidebar-purple .cr-nav-link:hover,
  .cr-sidebar-fuchsia .cr-nav-link:hover,
  .cr-sidebar-pink .cr-nav-link:hover,
  .cr-sidebar-rose .cr-nav-link:hover,
  .cr-sidebar-brown .cr-nav-link:hover,
  .cr-sidebar-olive .cr-nav-link:hover,
  .cr-sidebar-maroon .cr-nav-link:hover,
  .cr-sidebar-coral .cr-nav-link:hover,
  .cr-sidebar-khaki .cr-nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.cr-sidebar-primary .cr-nav-link.active,
  .cr-sidebar-action .cr-nav-link.active,
  .cr-sidebar-secondary .cr-nav-link.active,
  .cr-sidebar-violet .cr-nav-link.active,
  .cr-sidebar-azure .cr-nav-link.active,
  .cr-sidebar-gold .cr-nav-link.active,
  .cr-sidebar-success .cr-nav-link.active,
  .cr-sidebar-error .cr-nav-link.active,
  .cr-sidebar-dark .cr-nav-link.active,
  .cr-sidebar-slate .cr-nav-link.active,
  .cr-sidebar-stone .cr-nav-link.active,
  .cr-sidebar-orange .cr-nav-link.active,
  .cr-sidebar-amber .cr-nav-link.active,
  .cr-sidebar-yellow .cr-nav-link.active,
  .cr-sidebar-lime .cr-nav-link.active,
  .cr-sidebar-emerald .cr-nav-link.active,
  .cr-sidebar-teal .cr-nav-link.active,
  .cr-sidebar-cyan .cr-nav-link.active,
  .cr-sidebar-sky .cr-nav-link.active,
  .cr-sidebar-purple .cr-nav-link.active,
  .cr-sidebar-fuchsia .cr-nav-link.active,
  .cr-sidebar-pink .cr-nav-link.active,
  .cr-sidebar-rose .cr-nav-link.active,
  .cr-sidebar-brown .cr-nav-link.active,
  .cr-sidebar-olive .cr-nav-link.active,
  .cr-sidebar-maroon .cr-nav-link.active,
  .cr-sidebar-coral .cr-nav-link.active,
  .cr-sidebar-khaki .cr-nav-link.active {
  background-color: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.cr-sidebar-primary .cr-nav-link.\!active,
  .cr-sidebar-action .cr-nav-link.\!active,
  .cr-sidebar-secondary .cr-nav-link.\!active,
  .cr-sidebar-violet .cr-nav-link.\!active,
  .cr-sidebar-azure .cr-nav-link.\!active,
  .cr-sidebar-gold .cr-nav-link.\!active,
  .cr-sidebar-success .cr-nav-link.\!active,
  .cr-sidebar-error .cr-nav-link.\!active,
  .cr-sidebar-dark .cr-nav-link.\!active,
  .cr-sidebar-slate .cr-nav-link.\!active,
  .cr-sidebar-stone .cr-nav-link.\!active,
  .cr-sidebar-orange .cr-nav-link.\!active,
  .cr-sidebar-amber .cr-nav-link.\!active,
  .cr-sidebar-yellow .cr-nav-link.\!active,
  .cr-sidebar-lime .cr-nav-link.\!active,
  .cr-sidebar-emerald .cr-nav-link.\!active,
  .cr-sidebar-teal .cr-nav-link.\!active,
  .cr-sidebar-cyan .cr-nav-link.\!active,
  .cr-sidebar-sky .cr-nav-link.\!active,
  .cr-sidebar-purple .cr-nav-link.\!active,
  .cr-sidebar-fuchsia .cr-nav-link.\!active,
  .cr-sidebar-pink .cr-nav-link.\!active,
  .cr-sidebar-rose .cr-nav-link.\!active,
  .cr-sidebar-brown .cr-nav-link.\!active,
  .cr-sidebar-olive .cr-nav-link.\!active,
  .cr-sidebar-maroon .cr-nav-link.\!active,
  .cr-sidebar-coral .cr-nav-link.\!active,
  .cr-sidebar-khaki .cr-nav-link.\!active {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

.cr-sidebar-primary .cr-nav-btn,
  .cr-sidebar-action .cr-nav-btn,
  .cr-sidebar-secondary .cr-nav-btn,
  .cr-sidebar-violet .cr-nav-btn,
  .cr-sidebar-azure .cr-nav-btn,
  .cr-sidebar-gold .cr-nav-btn,
  .cr-sidebar-success .cr-nav-btn,
  .cr-sidebar-error .cr-nav-btn,
  .cr-sidebar-dark .cr-nav-btn,
  .cr-sidebar-slate .cr-nav-btn,
  .cr-sidebar-stone .cr-nav-btn,
  .cr-sidebar-orange .cr-nav-btn,
  .cr-sidebar-amber .cr-nav-btn,
  .cr-sidebar-yellow .cr-nav-btn,
  .cr-sidebar-lime .cr-nav-btn,
  .cr-sidebar-emerald .cr-nav-btn,
  .cr-sidebar-teal .cr-nav-btn,
  .cr-sidebar-cyan .cr-nav-btn,
  .cr-sidebar-sky .cr-nav-btn,
  .cr-sidebar-purple .cr-nav-btn,
  .cr-sidebar-fuchsia .cr-nav-btn,
  .cr-sidebar-pink .cr-nav-btn,
  .cr-sidebar-rose .cr-nav-btn,
  .cr-sidebar-brown .cr-nav-btn,
  .cr-sidebar-olive .cr-nav-btn,
  .cr-sidebar-maroon .cr-nav-btn,
  .cr-sidebar-coral .cr-nav-btn,
  .cr-sidebar-khaki .cr-nav-btn {
  color: rgba(255, 255, 255, 0.85);
}

.cr-sidebar-primary .cr-nav-btn:hover,
  .cr-sidebar-action .cr-nav-btn:hover,
  .cr-sidebar-secondary .cr-nav-btn:hover,
  .cr-sidebar-violet .cr-nav-btn:hover,
  .cr-sidebar-azure .cr-nav-btn:hover,
  .cr-sidebar-gold .cr-nav-btn:hover,
  .cr-sidebar-success .cr-nav-btn:hover,
  .cr-sidebar-error .cr-nav-btn:hover,
  .cr-sidebar-dark .cr-nav-btn:hover,
  .cr-sidebar-slate .cr-nav-btn:hover,
  .cr-sidebar-stone .cr-nav-btn:hover,
  .cr-sidebar-orange .cr-nav-btn:hover,
  .cr-sidebar-amber .cr-nav-btn:hover,
  .cr-sidebar-yellow .cr-nav-btn:hover,
  .cr-sidebar-lime .cr-nav-btn:hover,
  .cr-sidebar-emerald .cr-nav-btn:hover,
  .cr-sidebar-teal .cr-nav-btn:hover,
  .cr-sidebar-cyan .cr-nav-btn:hover,
  .cr-sidebar-sky .cr-nav-btn:hover,
  .cr-sidebar-purple .cr-nav-btn:hover,
  .cr-sidebar-fuchsia .cr-nav-btn:hover,
  .cr-sidebar-pink .cr-nav-btn:hover,
  .cr-sidebar-rose .cr-nav-btn:hover,
  .cr-sidebar-brown .cr-nav-btn:hover,
  .cr-sidebar-olive .cr-nav-btn:hover,
  .cr-sidebar-maroon .cr-nav-btn:hover,
  .cr-sidebar-coral .cr-nav-btn:hover,
  .cr-sidebar-khaki .cr-nav-btn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.cr-sidebar-primary .cr-nav-btn.active,
  .cr-sidebar-action .cr-nav-btn.active,
  .cr-sidebar-secondary .cr-nav-btn.active,
  .cr-sidebar-violet .cr-nav-btn.active,
  .cr-sidebar-azure .cr-nav-btn.active,
  .cr-sidebar-gold .cr-nav-btn.active,
  .cr-sidebar-success .cr-nav-btn.active,
  .cr-sidebar-error .cr-nav-btn.active,
  .cr-sidebar-dark .cr-nav-btn.active,
  .cr-sidebar-slate .cr-nav-btn.active,
  .cr-sidebar-stone .cr-nav-btn.active,
  .cr-sidebar-orange .cr-nav-btn.active,
  .cr-sidebar-amber .cr-nav-btn.active,
  .cr-sidebar-yellow .cr-nav-btn.active,
  .cr-sidebar-lime .cr-nav-btn.active,
  .cr-sidebar-emerald .cr-nav-btn.active,
  .cr-sidebar-teal .cr-nav-btn.active,
  .cr-sidebar-cyan .cr-nav-btn.active,
  .cr-sidebar-sky .cr-nav-btn.active,
  .cr-sidebar-purple .cr-nav-btn.active,
  .cr-sidebar-fuchsia .cr-nav-btn.active,
  .cr-sidebar-pink .cr-nav-btn.active,
  .cr-sidebar-rose .cr-nav-btn.active,
  .cr-sidebar-brown .cr-nav-btn.active,
  .cr-sidebar-olive .cr-nav-btn.active,
  .cr-sidebar-maroon .cr-nav-btn.active,
  .cr-sidebar-coral .cr-nav-btn.active,
  .cr-sidebar-khaki .cr-nav-btn.active {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.cr-sidebar-primary .cr-nav-btn.\!active,
  .cr-sidebar-action .cr-nav-btn.\!active,
  .cr-sidebar-secondary .cr-nav-btn.\!active,
  .cr-sidebar-violet .cr-nav-btn.\!active,
  .cr-sidebar-azure .cr-nav-btn.\!active,
  .cr-sidebar-gold .cr-nav-btn.\!active,
  .cr-sidebar-success .cr-nav-btn.\!active,
  .cr-sidebar-error .cr-nav-btn.\!active,
  .cr-sidebar-dark .cr-nav-btn.\!active,
  .cr-sidebar-slate .cr-nav-btn.\!active,
  .cr-sidebar-stone .cr-nav-btn.\!active,
  .cr-sidebar-orange .cr-nav-btn.\!active,
  .cr-sidebar-amber .cr-nav-btn.\!active,
  .cr-sidebar-yellow .cr-nav-btn.\!active,
  .cr-sidebar-lime .cr-nav-btn.\!active,
  .cr-sidebar-emerald .cr-nav-btn.\!active,
  .cr-sidebar-teal .cr-nav-btn.\!active,
  .cr-sidebar-cyan .cr-nav-btn.\!active,
  .cr-sidebar-sky .cr-nav-btn.\!active,
  .cr-sidebar-purple .cr-nav-btn.\!active,
  .cr-sidebar-fuchsia .cr-nav-btn.\!active,
  .cr-sidebar-pink .cr-nav-btn.\!active,
  .cr-sidebar-rose .cr-nav-btn.\!active,
  .cr-sidebar-brown .cr-nav-btn.\!active,
  .cr-sidebar-olive .cr-nav-btn.\!active,
  .cr-sidebar-maroon .cr-nav-btn.\!active,
  .cr-sidebar-coral .cr-nav-btn.\!active,
  .cr-sidebar-khaki .cr-nav-btn.\!active {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

.cr-sidebar-primary .cr-nav-icon,
  .cr-sidebar-action .cr-nav-icon,
  .cr-sidebar-secondary .cr-nav-icon,
  .cr-sidebar-violet .cr-nav-icon,
  .cr-sidebar-azure .cr-nav-icon,
  .cr-sidebar-gold .cr-nav-icon,
  .cr-sidebar-success .cr-nav-icon,
  .cr-sidebar-error .cr-nav-icon,
  .cr-sidebar-dark .cr-nav-icon,
  .cr-sidebar-slate .cr-nav-icon,
  .cr-sidebar-stone .cr-nav-icon,
  .cr-sidebar-orange .cr-nav-icon,
  .cr-sidebar-amber .cr-nav-icon,
  .cr-sidebar-yellow .cr-nav-icon,
  .cr-sidebar-lime .cr-nav-icon,
  .cr-sidebar-emerald .cr-nav-icon,
  .cr-sidebar-teal .cr-nav-icon,
  .cr-sidebar-cyan .cr-nav-icon,
  .cr-sidebar-sky .cr-nav-icon,
  .cr-sidebar-purple .cr-nav-icon,
  .cr-sidebar-fuchsia .cr-nav-icon,
  .cr-sidebar-pink .cr-nav-icon,
  .cr-sidebar-rose .cr-nav-icon,
  .cr-sidebar-brown .cr-nav-icon,
  .cr-sidebar-olive .cr-nav-icon,
  .cr-sidebar-maroon .cr-nav-icon,
  .cr-sidebar-coral .cr-nav-icon,
  .cr-sidebar-khaki .cr-nav-icon {
  color: rgba(255, 255, 255, 0.6);
}

/* Active items on colored sidebars — icons match text color */

.cr-sidebar-primary .active > .cr-nav-icon,
  .cr-sidebar-action .active > .cr-nav-icon,
  .cr-sidebar-secondary .active > .cr-nav-icon,
  .cr-sidebar-violet .active > .cr-nav-icon,
  .cr-sidebar-azure .active > .cr-nav-icon,
  .cr-sidebar-gold .active > .cr-nav-icon,
  .cr-sidebar-success .active > .cr-nav-icon,
  .cr-sidebar-error .active > .cr-nav-icon,
  .cr-sidebar-dark .active > .cr-nav-icon,
  .cr-sidebar-slate .active > .cr-nav-icon,
  .cr-sidebar-stone .active > .cr-nav-icon,
  .cr-sidebar-orange .active > .cr-nav-icon,
  .cr-sidebar-amber .active > .cr-nav-icon,
  .cr-sidebar-yellow .active > .cr-nav-icon,
  .cr-sidebar-lime .active > .cr-nav-icon,
  .cr-sidebar-emerald .active > .cr-nav-icon,
  .cr-sidebar-teal .active > .cr-nav-icon,
  .cr-sidebar-cyan .active > .cr-nav-icon,
  .cr-sidebar-sky .active > .cr-nav-icon,
  .cr-sidebar-purple .active > .cr-nav-icon,
  .cr-sidebar-fuchsia .active > .cr-nav-icon,
  .cr-sidebar-pink .active > .cr-nav-icon,
  .cr-sidebar-rose .active > .cr-nav-icon,
  .cr-sidebar-brown .active > .cr-nav-icon,
  .cr-sidebar-olive .active > .cr-nav-icon,
  .cr-sidebar-maroon .active > .cr-nav-icon,
  .cr-sidebar-coral .active > .cr-nav-icon,
  .cr-sidebar-khaki .active > .cr-nav-icon {
  color: currentColor;
}

.cr-sidebar-primary .\!active > .cr-nav-icon,
  .cr-sidebar-action .\!active > .cr-nav-icon,
  .cr-sidebar-secondary .\!active > .cr-nav-icon,
  .cr-sidebar-violet .\!active > .cr-nav-icon,
  .cr-sidebar-azure .\!active > .cr-nav-icon,
  .cr-sidebar-gold .\!active > .cr-nav-icon,
  .cr-sidebar-success .\!active > .cr-nav-icon,
  .cr-sidebar-error .\!active > .cr-nav-icon,
  .cr-sidebar-dark .\!active > .cr-nav-icon,
  .cr-sidebar-slate .\!active > .cr-nav-icon,
  .cr-sidebar-stone .\!active > .cr-nav-icon,
  .cr-sidebar-orange .\!active > .cr-nav-icon,
  .cr-sidebar-amber .\!active > .cr-nav-icon,
  .cr-sidebar-yellow .\!active > .cr-nav-icon,
  .cr-sidebar-lime .\!active > .cr-nav-icon,
  .cr-sidebar-emerald .\!active > .cr-nav-icon,
  .cr-sidebar-teal .\!active > .cr-nav-icon,
  .cr-sidebar-cyan .\!active > .cr-nav-icon,
  .cr-sidebar-sky .\!active > .cr-nav-icon,
  .cr-sidebar-purple .\!active > .cr-nav-icon,
  .cr-sidebar-fuchsia .\!active > .cr-nav-icon,
  .cr-sidebar-pink .\!active > .cr-nav-icon,
  .cr-sidebar-rose .\!active > .cr-nav-icon,
  .cr-sidebar-brown .\!active > .cr-nav-icon,
  .cr-sidebar-olive .\!active > .cr-nav-icon,
  .cr-sidebar-maroon .\!active > .cr-nav-icon,
  .cr-sidebar-coral .\!active > .cr-nav-icon,
  .cr-sidebar-khaki .\!active > .cr-nav-icon {
  color: currentColor !important;
}

.cr-sidebar-primary .cr-nav-indent,
  .cr-sidebar-action .cr-nav-indent,
  .cr-sidebar-secondary .cr-nav-indent,
  .cr-sidebar-violet .cr-nav-indent,
  .cr-sidebar-azure .cr-nav-indent,
  .cr-sidebar-gold .cr-nav-indent,
  .cr-sidebar-success .cr-nav-indent,
  .cr-sidebar-error .cr-nav-indent,
  .cr-sidebar-dark .cr-nav-indent,
  .cr-sidebar-slate .cr-nav-indent,
  .cr-sidebar-stone .cr-nav-indent,
  .cr-sidebar-orange .cr-nav-indent,
  .cr-sidebar-amber .cr-nav-indent,
  .cr-sidebar-yellow .cr-nav-indent,
  .cr-sidebar-lime .cr-nav-indent,
  .cr-sidebar-emerald .cr-nav-indent,
  .cr-sidebar-teal .cr-nav-indent,
  .cr-sidebar-cyan .cr-nav-indent,
  .cr-sidebar-sky .cr-nav-indent,
  .cr-sidebar-purple .cr-nav-indent,
  .cr-sidebar-fuchsia .cr-nav-indent,
  .cr-sidebar-pink .cr-nav-indent,
  .cr-sidebar-rose .cr-nav-indent,
  .cr-sidebar-brown .cr-nav-indent,
  .cr-sidebar-olive .cr-nav-indent,
  .cr-sidebar-maroon .cr-nav-indent,
  .cr-sidebar-coral .cr-nav-indent,
  .cr-sidebar-khaki .cr-nav-indent,
  .cr-sidebar-primary .cr-nav-divider,
  .cr-sidebar-action .cr-nav-divider,
  .cr-sidebar-secondary .cr-nav-divider,
  .cr-sidebar-violet .cr-nav-divider,
  .cr-sidebar-azure .cr-nav-divider,
  .cr-sidebar-gold .cr-nav-divider,
  .cr-sidebar-success .cr-nav-divider,
  .cr-sidebar-error .cr-nav-divider,
  .cr-sidebar-dark .cr-nav-divider,
  .cr-sidebar-slate .cr-nav-divider,
  .cr-sidebar-stone .cr-nav-divider,
  .cr-sidebar-orange .cr-nav-divider,
  .cr-sidebar-amber .cr-nav-divider,
  .cr-sidebar-yellow .cr-nav-divider,
  .cr-sidebar-lime .cr-nav-divider,
  .cr-sidebar-emerald .cr-nav-divider,
  .cr-sidebar-teal .cr-nav-divider,
  .cr-sidebar-cyan .cr-nav-divider,
  .cr-sidebar-sky .cr-nav-divider,
  .cr-sidebar-purple .cr-nav-divider,
  .cr-sidebar-fuchsia .cr-nav-divider,
  .cr-sidebar-pink .cr-nav-divider,
  .cr-sidebar-rose .cr-nav-divider,
  .cr-sidebar-brown .cr-nav-divider,
  .cr-sidebar-olive .cr-nav-divider,
  .cr-sidebar-maroon .cr-nav-divider,
  .cr-sidebar-coral .cr-nav-divider,
  .cr-sidebar-khaki .cr-nav-divider {
  border-color: rgba(255, 255, 255, 0.15);
}

/* ── Surcharges pour sidebars colorées — Groupe B (sombre sur clair) ── */

.cr-sidebar-beige .cr-nav-link,
  .cr-sidebar-cream .cr-nav-link,
  .cr-sidebar-silver .cr-nav-link {
  color: rgba(0, 0, 0, 0.6);
}

.cr-sidebar-beige .cr-nav-link:hover,
  .cr-sidebar-cream .cr-nav-link:hover,
  .cr-sidebar-silver .cr-nav-link:hover {
  background-color: rgba(0, 0, 0, 0.06);
}

.cr-sidebar-beige .cr-nav-link.active,
  .cr-sidebar-cream .cr-nav-link.active,
  .cr-sidebar-silver .cr-nav-link.active {
  background-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.9);
}

.cr-sidebar-beige .cr-nav-link.\!active,
  .cr-sidebar-cream .cr-nav-link.\!active,
  .cr-sidebar-silver .cr-nav-link.\!active {
  background-color: rgba(0, 0, 0, 0.1) !important;
  color: rgba(0, 0, 0, 0.9) !important;
}

.cr-sidebar-beige .cr-nav-btn,
  .cr-sidebar-cream .cr-nav-btn,
  .cr-sidebar-silver .cr-nav-btn {
  color: rgba(0, 0, 0, 0.75);
}

.cr-sidebar-beige .cr-nav-btn:hover,
  .cr-sidebar-cream .cr-nav-btn:hover,
  .cr-sidebar-silver .cr-nav-btn:hover {
  background-color: rgba(0, 0, 0, 0.06);
}

.cr-sidebar-beige .cr-nav-btn.active,
  .cr-sidebar-cream .cr-nav-btn.active,
  .cr-sidebar-silver .cr-nav-btn.active {
  background-color: rgba(0, 0, 0, 0.08);
  color: rgba(0, 0, 0, 0.9);
}

.cr-sidebar-beige .cr-nav-btn.\!active,
  .cr-sidebar-cream .cr-nav-btn.\!active,
  .cr-sidebar-silver .cr-nav-btn.\!active {
  background-color: rgba(0, 0, 0, 0.08) !important;
  color: rgba(0, 0, 0, 0.9) !important;
}

.cr-sidebar-beige .cr-nav-icon,
  .cr-sidebar-cream .cr-nav-icon,
  .cr-sidebar-silver .cr-nav-icon {
  color: rgba(0, 0, 0, 0.5);
}

.cr-sidebar-beige .active > .cr-nav-icon,
  .cr-sidebar-cream .active > .cr-nav-icon,
  .cr-sidebar-silver .active > .cr-nav-icon {
  color: currentColor;
}

.cr-sidebar-beige .\!active > .cr-nav-icon,
  .cr-sidebar-cream .\!active > .cr-nav-icon,
  .cr-sidebar-silver .\!active > .cr-nav-icon {
  color: currentColor !important;
}

.cr-sidebar-beige .cr-nav-indent,
  .cr-sidebar-cream .cr-nav-indent,
  .cr-sidebar-silver .cr-nav-indent,
  .cr-sidebar-beige .cr-nav-divider,
  .cr-sidebar-cream .cr-nav-divider,
  .cr-sidebar-silver .cr-nav-divider {
  border-color: rgba(0, 0, 0, 0.12);
}

.cr-line-cards > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.cr-line-cards__empty {
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: dashed;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-line-cards__empty:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-line-cards__total {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.cr-line-cards__total:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-line-cards__total-label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-line-cards__total-label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-line-cards__total-value {
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-line-cards__total-value:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-line-card {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  padding: 0.75rem;
}

.cr-line-card:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.cr-line-card__head {
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cr-line-card__title {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-line-card__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-line-card__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.cr-line-card__qty {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-line-card__qty:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-line-card__amount {
  white-space: nowrap;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-line-card__amount:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-line-card__remove {
  border-radius: 0.25rem;
  padding: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.cr-line-card__remove:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.cr-line-card__remove:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-line-card__remove:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.cr-line-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 0.5rem;
}

.cr-line-card__field {
  display: block;
  min-width: 0px;
}

.cr-line-card__label {
  margin-bottom: 0.25rem;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-line-card__label:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-40 {
  bottom: -10rem;
}

.-left-24 {
  left: -6rem;
}

.-left-8 {
  left: -2rem;
}

.-right-1 {
  right: -0.25rem;
}

.-right-32 {
  right: -8rem;
}

.-top-1 {
  top: -0.25rem;
}

.-top-32 {
  top: -8rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-2 {
  bottom: 0.5rem;
}

.bottom-20 {
  bottom: 5rem;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-1 {
  left: 0.25rem;
}

.left-1\/2 {
  left: 50%;
}

.left-2 {
  left: 0.5rem;
}

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-1\.5 {
  right: 0.375rem;
}

.right-12 {
  right: 3rem;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.top-0 {
  top: 0px;
}

.top-1 {
  top: 0.25rem;
}

.top-1\/2 {
  top: 50%;
}

.top-1\/3 {
  top: 33.333333%;
}

.top-14 {
  top: 3.5rem;
}

.top-16 {
  top: 4rem;
}

.top-2 {
  top: 0.5rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-\[28px\] {
  top: 28px;
}

.top-full {
  top: 100%;
}

.z-0 {
  z-index: 0;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[9990\] {
  z-index: 9990;
}

.z-\[9999\] {
  z-index: 9999;
}

.z-badge {
  z-index: 10;
}

.z-blocker {
  z-index: 100;
}

.z-dropdown {
  z-index: 60;
}

.z-header {
  z-index: 50;
}

.z-modal {
  z-index: 70;
}

.z-sidebar {
  z-index: 20;
}

.z-toast {
  z-index: 80;
}

.col-span-10 {
  grid-column: span 10 / span 10;
}

.col-span-12 {
  grid-column: span 12 / span 12;
}

.col-span-2 {
  grid-column: span 2 / span 2;
}

.col-span-3 {
  grid-column: span 3 / span 3;
}

.col-span-4 {
  grid-column: span 4 / span 4;
}

.col-span-5 {
  grid-column: span 5 / span 5;
}

.col-span-6 {
  grid-column: span 6 / span 6;
}

.col-span-8 {
  grid-column: span 8 / span 8;
}

.col-start-2 {
  grid-column-start: 2;
}

.col-start-3 {
  grid-column-start: 3;
}

.col-start-5 {
  grid-column-start: 5;
}

.col-start-8 {
  grid-column-start: 8;
}

.-m-1\.5 {
  margin: -0.375rem;
}

.-m-2\.5 {
  margin: -0.625rem;
}

.m-0 {
  margin: 0px;
}

.m-1 {
  margin: 0.25rem;
}

.m-2 {
  margin: 0.5rem;
}

.\!my-0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.-mx-3 {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.-my-6 {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.-mb-px {
  margin-bottom: -1px;
}

.-ml-0\.5 {
  margin-left: -0.125rem;
}

.-ml-2 {
  margin-left: -0.5rem;
}

.mb-0 {
  margin-bottom: 0px;
}

.mb-0\.5 {
  margin-bottom: 0.125rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-10 {
  margin-bottom: 2.5rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.me-2 {
  margin-inline-end: 0.5rem;
}

.ml-0 {
  margin-left: 0px;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

.ml-4 {
  margin-left: 1rem;
}

.ml-6 {
  margin-left: 1.5rem;
}

.ml-64 {
  margin-left: 16rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-1\.5 {
  margin-right: 0.375rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mr-4 {
  margin-right: 1rem;
}

.mt-0 {
  margin-top: 0px;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-14 {
  margin-top: 3.5rem;
}

.mt-16 {
  margin-top: 4rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-auto {
  margin-top: auto;
}

.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.flow-root {
  display: flow-root;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.size-11 {
  width: 2.75rem;
  height: 2.75rem;
}

.size-5 {
  width: 1.25rem;
  height: 1.25rem;
}

.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}

.\!h-7 {
  height: 1.75rem !important;
}

.h-0 {
  height: 0px;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-2\.5 {
  height: 0.625rem;
}

.h-20 {
  height: 5rem;
}

.h-28 {
  height: 7rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-40 {
  height: 10rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-52 {
  height: 13rem;
}

.h-56 {
  height: 14rem;
}

.h-6 {
  height: 1.5rem;
}

.h-64 {
  height: 16rem;
}

.h-7 {
  height: 1.75rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-96 {
  height: 24rem;
}

.h-\[28rem\] {
  height: 28rem;
}

.h-\[300px\] {
  height: 300px;
}

.h-\[400\%\] {
  height: 400%;
}

.h-\[calc\(100vh-3\.5rem\)\] {
  height: calc(100vh - 3.5rem);
}

.h-\[calc\(100vh-4rem\)\] {
  height: calc(100vh - 4rem);
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.max-h-40 {
  max-height: 10rem;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-80 {
  max-height: 20rem;
}

.max-h-96 {
  max-height: 24rem;
}

.max-h-\[500px\] {
  max-height: 500px;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-\[4rem\] {
  min-height: 4rem;
}

.min-h-\[80px\] {
  min-height: 80px;
}

.min-h-screen {
  min-height: 100vh;
}

.\!w-7 {
  width: 1.75rem !important;
}

.w-1 {
  width: 0.25rem;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-1\/2 {
  width: 50%;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-10 {
  width: 2.5rem;
}

.w-11\/12 {
  width: 91.666667%;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-2\.5 {
  width: 0.625rem;
}

.w-2\/3 {
  width: 66.666667%;
}

.w-2\/5 {
  width: 40%;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-28 {
  width: 7rem;
}

.w-3 {
  width: 0.75rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-3\/4 {
  width: 75%;
}

.w-3\/5 {
  width: 60%;
}

.w-32 {
  width: 8rem;
}

.w-4 {
  width: 1rem;
}

.w-4\/5 {
  width: 80%;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-5\/6 {
  width: 83.333333%;
}

.w-52 {
  width: 13rem;
}

.w-56 {
  width: 14rem;
}

.w-6 {
  width: 1.5rem;
}

.w-60 {
  width: 15rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-96 {
  width: 24rem;
}

.w-\[28rem\] {
  width: 28rem;
}

.w-\[32rem\] {
  width: 32rem;
}

.w-\[400\%\] {
  width: 400%;
}

.w-\[42rem\] {
  width: 42rem;
}

.w-\[5px\] {
  width: 5px;
}

.w-\[calc\(100\%-2rem\)\] {
  width: calc(100% - 2rem);
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

.w-screen {
  width: 100vw;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-48 {
  min-width: 12rem;
}

.min-w-\[100px\] {
  min-width: 100px;
}

.min-w-\[120px\] {
  min-width: 120px;
}

.min-w-\[140px\] {
  min-width: 140px;
}

.min-w-\[1500px\] {
  min-width: 1500px;
}

.min-w-\[160px\] {
  min-width: 160px;
}

.min-w-\[170px\] {
  min-width: 170px;
}

.min-w-\[600px\] {
  min-width: 600px;
}

.min-w-\[7\.5rem\] {
  min-width: 7.5rem;
}

.min-w-\[800px\] {
  min-width: 800px;
}

.min-w-\[80px\] {
  min-width: 80px;
}

.min-w-full {
  min-width: 100%;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[140px\] {
  max-width: 140px;
}

.max-w-\[180px\] {
  max-width: 180px;
}

.max-w-\[18rem\] {
  max-width: 18rem;
}

.max-w-\[60\%\] {
  max-width: 60%;
}

.max-w-\[85\%\] {
  max-width: 85%;
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-none {
  max-width: none;
}

.max-w-screen-2xl {
  max-width: 1536px;
}

.max-w-screen-lg {
  max-width: 1024px;
}

.max-w-screen-md {
  max-width: 768px;
}

.max-w-screen-sm {
  max-width: 640px;
}

.max-w-screen-xl {
  max-width: 1280px;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-none {
  flex: none;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.shrink-0 {
  flex-shrink: 0;
}

.flex-grow {
  flex-grow: 1;
}

.table-auto {
  table-layout: auto;
}

.table-fixed {
  table-layout: fixed;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-top-left {
  transform-origin: top left;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-3 {
  --tw-translate-x: 0.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-1 {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-4 {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-0 {
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-\[0\.25\] {
  --tw-scale-x: 0.25;
  --tw-scale-y: 0.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.cursor-default {
  cursor: default;
}

.cursor-grab {
  cursor: grab;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize-none {
  resize: none;
}

.resize {
  resize: both;
}

.list-inside {
  list-style-position: inside;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.grid-cols-\[160px_1fr\] {
  grid-template-columns: 160px 1fr;
}

.grid-cols-\[6rem_5rem_5rem_1fr\] {
  grid-template-columns: 6rem 5rem 5rem 1fr;
}

.grid-cols-\[8rem_1fr\] {
  grid-template-columns: 8rem 1fr;
}

.grid-cols-\[8rem_5rem_1fr\] {
  grid-template-columns: 8rem 5rem 1fr;
}

.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.\!items-start {
  align-items: flex-start !important;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.\!gap-1\.5 {
  gap: 0.375rem !important;
}

.gap-0 {
  gap: 0px;
}

.gap-0\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-16 {
  gap: 4rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-px {
  gap: 1px;
}

.gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

.gap-x-2\.5 {
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-1\.5 {
  row-gap: 0.375rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-2\.5 {
  row-gap: 0.625rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.-space-x-px > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-1px * var(--tw-space-x-reverse));
  margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity, 1));
}

.divide-gray-500\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(107 114 128 / 0.1);
}

.divide-gray-900\/5 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(17 24 39 / 0.05);
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.self-center {
  align-self: center;
}

.self-stretch {
  align-self: stretch;
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-clip {
  overflow-x: clip;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-cr-lg {
  border-radius: 0.75rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-none {
  border-radius: 0px;
}

.rounded-sm {
  border-radius: 0.125rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.rounded-b-xl {
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-l-full {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}

.rounded-l-lg {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-l-md {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.rounded-l-none {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}

.rounded-r-lg {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.rounded-r-md {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.rounded-r-none {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.rounded-r-xl {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.rounded-t-lg {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-tl-sm {
  border-top-left-radius: 0.125rem;
}

.rounded-tr-3xl {
  border-top-right-radius: 1.5rem;
}

.rounded-tr-sm {
  border-top-right-radius: 0.125rem;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-4 {
  border-width: 4px;
}

.border-8 {
  border-width: 8px;
}

.border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}

.border-x-0 {
  border-left-width: 0px;
  border-right-width: 0px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-l-4 {
  border-left-width: 4px;
}

.border-r {
  border-right-width: 1px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-0 {
  border-top-width: 0px;
}

.border-solid {
  border-style: solid;
}

.border-dashed {
  border-style: dashed;
}

.border-none {
  border-style: none;
}

.border-\[\#003366\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 51 102 / var(--tw-border-opacity, 1));
}

.border-\[\#007ACC\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 122 204 / var(--tw-border-opacity, 1));
}

.border-\[\#00B37A\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 179 122 / var(--tw-border-opacity, 1));
}

.border-\[\#00C3FF\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 195 255 / var(--tw-border-opacity, 1));
}

.border-\[\#0A2533\] {
  --tw-border-opacity: 1;
  border-color: rgb(10 37 51 / var(--tw-border-opacity, 1));
}

.border-\[\#15803D\] {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-\[\#22C55E\] {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-\[\#3B82F6\] {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.border-\[\#4338CA\] {
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
}

.border-\[\#475569\] {
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.border-\[\#4A5568\] {
  --tw-border-opacity: 1;
  border-color: rgb(74 85 104 / var(--tw-border-opacity, 1));
}

.border-\[\#64748B\] {
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}

.border-\[\#6B46B2\] {
  --tw-border-opacity: 1;
  border-color: rgb(107 70 178 / var(--tw-border-opacity, 1));
}

.border-\[\#7E57C2\] {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.border-\[\#991B1B\] {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.border-\[\#9C27B0\] {
  --tw-border-opacity: 1;
  border-color: rgb(156 39 176 / var(--tw-border-opacity, 1));
}

.border-\[\#9CA3AF\] {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-\[\#B58900\] {
  --tw-border-opacity: 1;
  border-color: rgb(181 137 0 / var(--tw-border-opacity, 1));
}

.border-\[\#E5B000\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 176 0 / var(--tw-border-opacity, 1));
}

.border-\[\#EF4444\] {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.border-\[\#F59E0B\] {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-\[\#F5B700\] {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.border-\[color\:var\(--sw-ink\)\] {
  border-color: var(--sw-ink);
}

.border-\[color\:var\(--sw-line\)\] {
  border-color: var(--sw-line);
}

.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-black\/10 {
  border-color: rgb(0 0 0 / 0.1);
}

.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}

.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}

.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.border-gray-700 {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.border-gray-800 {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.border-gray-900 {
  --tw-border-opacity: 1;
  border-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-green-600 {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.border-green-800 {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.border-indigo-500 {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.border-light-action {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.border-light-action-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 231 255 / var(--tw-border-opacity, 1));
}

.border-light-action-200 {
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}

.border-light-action-400 {
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1));
}

.border-light-action\/40 {
  border-color: rgb(79 70 229 / 0.4);
}

.border-light-border {
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
}

.border-light-error {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.border-light-error-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-light-error-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.border-light-error\/30 {
  border-color: rgb(220 38 38 / 0.3);
}

.border-light-error\/60 {
  border-color: rgb(220 38 38 / 0.6);
}

.border-light-gold {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.border-light-gold-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.border-light-primary\/30 {
  border-color: rgb(0 53 102 / 0.3);
}

.border-light-success {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.border-light-success-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-light-violet {
  --tw-border-opacity: 1;
  border-color: rgb(126 87 194 / var(--tw-border-opacity, 1));
}

.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}

.border-orange-600 {
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}

.border-pink-500 {
  --tw-border-opacity: 1;
  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}

.border-purple-500 {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.border-purple-600 {
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}

.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.border-red-700 {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.border-rose-500 {
  --tw-border-opacity: 1;
  border-color: rgb(244 63 94 / var(--tw-border-opacity, 1));
}

.border-sky-500 {
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}

.border-teal-500 {
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}

.border-violet-700 {
  --tw-border-opacity: 1;
  border-color: rgb(109 40 217 / var(--tw-border-opacity, 1));
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-yellow-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 249 195 / var(--tw-border-opacity, 1));
}

.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}

.border-l-\[couleur\] {
  border-left-color: couleur;
}

.border-l-light-action {
  --tw-border-opacity: 1;
  border-left-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.\!bg-light-success {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)) !important;
}

.bg-\[\#0052CC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 82 204 / var(--tw-bg-opacity, 1));
}

.bg-\[\#007ACC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00B37A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 179 122 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00C3FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 195 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#06B6D4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0F3D56\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 61 86 / var(--tw-bg-opacity, 1));
}

.bg-\[\#10B981\] {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.bg-\[\#22C55E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-\[\#334155\] {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.bg-\[\#4F46E5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.bg-\[\#64748B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

.bg-\[\#7E57C2\] {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.bg-\[\#9CA3AF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.bg-\[\#B2F5EA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(178 245 234 / var(--tw-bg-opacity, 1));
}

.bg-\[\#C4B5FD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(196 181 253 / var(--tw-bg-opacity, 1));
}

.bg-\[\#CFE8FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(207 232 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#D1FAE5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.bg-\[\#DC2626\] {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.bg-\[\#E5E7EB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.bg-\[\#E6F7FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(230 247 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#E8FFF7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 255 247 / var(--tw-bg-opacity, 1));
}

.bg-\[\#E9D8FD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(233 216 253 / var(--tw-bg-opacity, 1));
}

.bg-\[\#EC4899\] {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}

.bg-\[\#EF4444\] {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F3F6FB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 246 251 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F5B700\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F5B700\]\/10 {
  background-color: rgb(245 183 0 / 0.1);
}

.bg-\[\#F5B700\]\/20 {
  background-color: rgb(245 183 0 / 0.2);
}

.bg-\[\#F5EEFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(245 238 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F7F8FA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 248 250 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F97316\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FACC15\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FECACA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FED7D7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 215 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FEF3C7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FFEFD5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 239 213 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FFF1F1\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 241 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FFF9E6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 249 230 / var(--tw-bg-opacity, 1));
}

.bg-\[couleur\] {
  background-color: couleur;
}

.bg-\[var\(--sw-copper\)\] {
  background-color: var(--sw-copper);
}

.bg-\[var\(--sw-ink\)\] {
  background-color: var(--sw-ink);
}

.bg-\[var\(--sw-ink-light\)\] {
  background-color: var(--sw-ink-light);
}

.bg-\[var\(--sw-page\)\] {
  background-color: var(--sw-page);
}

.bg-\[var\(--sw-white\)\] {
  background-color: var(--sw-white);
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.bg-amber-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.bg-beige {
  --tw-bg-opacity: 1;
  background-color: rgb(212 197 169 / var(--tw-bg-opacity, 1));
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity, 1));
}

.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}

.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}

.bg-blue-500\/20 {
  background-color: rgb(59 130 246 / 0.2);
}

.bg-blue-500\/90 {
  background-color: rgb(59 130 246 / 0.9);
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.bg-brown-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 74 29 / var(--tw-bg-opacity, 1));
}

.bg-coral-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(181 64 42 / var(--tw-bg-opacity, 1));
}

.bg-cream {
  --tw-bg-opacity: 1;
  background-color: rgb(232 220 200 / var(--tw-bg-opacity, 1));
}

.bg-current {
  background-color: currentColor;
}

.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.bg-cyan-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.bg-dark-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}

.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}

.bg-fuchsia-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(162 28 175 / var(--tw-bg-opacity, 1));
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-50\/60 {
  background-color: rgb(249 250 251 / 0.6);
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-500\/30 {
  background-color: rgb(107 114 128 / 0.3);
}

.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(134 239 172 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-50\/50 {
  background-color: rgb(238 242 255 / 0.5);
}

.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.bg-indigo-500\/20 {
  background-color: rgb(99 102 241 / 0.2);
}

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.bg-khaki-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 104 48 / var(--tw-bg-opacity, 1));
}

.bg-light-action {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.bg-light-action-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}

.bg-light-action-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1));
}

.bg-light-action-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(165 180 252 / var(--tw-bg-opacity, 1));
}

.bg-light-action-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}

.bg-light-action-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.bg-light-action-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}

.bg-light-action\/10 {
  background-color: rgb(79 70 229 / 0.1);
}

.bg-light-action\/20 {
  background-color: rgb(79 70 229 / 0.2);
}

.bg-light-action\/30 {
  background-color: rgb(79 70 229 / 0.3);
}

.bg-light-action\/40 {
  background-color: rgb(79 70 229 / 0.4);
}

.bg-light-action\/5 {
  background-color: rgb(79 70 229 / 0.05);
}

.bg-light-azure {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 204 / var(--tw-bg-opacity, 1));
}

.bg-light-azure-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(230 244 255 / var(--tw-bg-opacity, 1));
}

.bg-light-azure-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(0 98 153 / var(--tw-bg-opacity, 1));
}

.bg-light-azure\/10 {
  background-color: rgb(0 122 204 / 0.1);
}

.bg-light-background {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
}

.bg-light-border {
  --tw-bg-opacity: 1;
  background-color: rgb(209 209 209 / var(--tw-bg-opacity, 1));
}

.bg-light-error {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.bg-light-error-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-light-error-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}

.bg-light-error-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-light-error-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-light-error-50\/30 {
  background-color: rgb(254 242 242 / 0.3);
}

.bg-light-error-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.bg-light-error\/10 {
  background-color: rgb(220 38 38 / 0.1);
}

.bg-light-error\/20 {
  background-color: rgb(220 38 38 / 0.2);
}

.bg-light-error\/30 {
  background-color: rgb(220 38 38 / 0.3);
}

.bg-light-error\/5 {
  background-color: rgb(220 38 38 / 0.05);
}

.bg-light-error\/50 {
  background-color: rgb(220 38 38 / 0.5);
}

.bg-light-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-light-gold-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(181 137 0 / var(--tw-bg-opacity, 1));
}

.bg-light-gold\/10 {
  background-color: rgb(245 183 0 / 0.1);
}

.bg-light-gold\/20 {
  background-color: rgb(245 183 0 / 0.2);
}

.bg-light-hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
}

.bg-light-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.bg-light-primary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(230 240 250 / var(--tw-bg-opacity, 1));
}

.bg-light-primary-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.bg-light-primary\/10 {
  background-color: rgb(0 53 102 / 0.1);
}

.bg-light-secondary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.bg-light-secondary-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 247 255 / var(--tw-bg-opacity, 1));
}

.bg-light-secondary-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(153 239 255 / var(--tw-bg-opacity, 1));
}

.bg-light-secondary-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(230 251 255 / var(--tw-bg-opacity, 1));
}

.bg-light-secondary-50\/30 {
  background-color: rgb(230 251 255 / 0.3);
}

.bg-light-secondary-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(0 144 184 / var(--tw-bg-opacity, 1));
}

.bg-light-secondary\/10 {
  background-color: rgb(0 196 241 / 0.1);
}

.bg-light-secondary\/20 {
  background-color: rgb(0 196 241 / 0.2);
}

.bg-light-secondary\/25 {
  background-color: rgb(0 196 241 / 0.25);
}

.bg-light-success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-light-success-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-light-success-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}

.bg-light-success-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-light-success-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-light-success-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-light-success\/10 {
  background-color: rgb(22 163 74 / 0.1);
}

.bg-light-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-light-violet {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.bg-light-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.bg-light-violet-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}

.bg-light-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}

.bg-light-violet-50\/50 {
  background-color: rgb(245 243 255 / 0.5);
}

.bg-light-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(91 58 154 / var(--tw-bg-opacity, 1));
}

.bg-light-violet\/10 {
  background-color: rgb(126 87 194 / 0.1);
}

.bg-light-violet\/20 {
  background-color: rgb(126 87 194 / 0.2);
}

.bg-light-violet\/40 {
  background-color: rgb(126 87 194 / 0.4);
}

.bg-lime-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(77 124 15 / var(--tw-bg-opacity, 1));
}

.bg-maroon-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.bg-olive-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(92 97 25 / var(--tw-bg-opacity, 1));
}

.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}

.bg-orange-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity, 1));
}

.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}

.bg-orange-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}

.bg-pink-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}

.bg-purple-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(216 180 254 / var(--tw-bg-opacity, 1));
}

.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}

.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}

.bg-purple-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.bg-purple-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-red-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 165 165 / var(--tw-bg-opacity, 1));
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}

.bg-rose-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}

.bg-silver {
  --tw-bg-opacity: 1;
  background-color: rgb(184 188 196 / var(--tw-bg-opacity, 1));
}

.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.bg-sky-50\/50 {
  background-color: rgb(240 249 255 / 0.5);
}

.bg-sky-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}

.bg-slate-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

.bg-status-active {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-status-active\/10 {
  background-color: rgb(34 197 94 / 0.1);
}

.bg-status-active\/20 {
  background-color: rgb(34 197 94 / 0.2);
}

.bg-status-default {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.bg-stone-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1));
}

.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}

.bg-teal-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}

.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}

.bg-white\/25 {
  background-color: rgb(255 255 255 / 0.25);
}

.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}

.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}

.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}

.bg-yellow-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1));
}

.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50\/50 {
  background-color: rgb(254 252 232 / 0.5);
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}

.bg-yellow-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.bg-yellow-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.bg-opacity-50 {
  --tw-bg-opacity: 0.5;
}

.bg-\[repeating-linear-gradient\(45deg\2c \#7c3aed_0_10px\2c \#9f7aea_10px_20px\)\] {
  background-image: repeating-linear-gradient(45deg,#7c3aed 0 10px,#9f7aea 10px 20px);
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-indigo-500 {
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-light-action-400 {
  --tw-gradient-from: #818CF8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-light-primary-800 {
  --tw-gradient-from: #002A52 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 42 82 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-rose-500 {
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-indigo-500 {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}

.to-light-secondary {
  --tw-gradient-to: #00C4F1 var(--tw-gradient-to-position);
}

.to-light-violet {
  --tw-gradient-to: #7E57C2 var(--tw-gradient-to-position);
}

.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}

.to-purple-500 {
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}

.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-0 {
  padding: 0px;
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-12 {
  padding: 3rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-cr-section {
  padding: 2rem;
}

.\!px-0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.\!py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-9 {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-2\.5 {
  padding-bottom: 0.625rem;
}

.pb-20 {
  padding-bottom: 5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-11 {
  padding-right: 2.75rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-3\.5 {
  padding-right: 0.875rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pr-9 {
  padding-right: 2.25rem;
}

.ps-1 {
  padding-inline-start: 0.25rem;
}

.ps-2 {
  padding-inline-start: 0.5rem;
}

.ps-3 {
  padding-inline-start: 0.75rem;
}

.ps-4 {
  padding-inline-start: 1rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-0\.5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-top {
  vertical-align: top;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.font-sans {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.font-title {
  font-family: Montserrat, sans-serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl {
  font-size: 3rem;
  line-height: 1;
}

.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}

.text-7xl {
  font-size: 4.5rem;
  line-height: 1;
}

.text-8xl {
  font-size: 6rem;
  line-height: 1;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[8px\] {
  font-size: 8px;
}

.text-\[9px\] {
  font-size: 9px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-base\/7 {
  font-size: 1rem;
  line-height: 1.75rem;
}

.text-cr-2xs {
  font-size: 0.625rem;
  line-height: 0.875rem;
}

.text-cr-3xs {
  font-size: 0.5625rem;
  line-height: 0.75rem;
}

.text-cr-xs {
  font-size: 0.6875rem;
  line-height: 1rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-sm\/6 {
  font-size: 0.875rem;
  line-height: 1.5rem;
}

.text-sm\/7 {
  font-size: 0.875rem;
  line-height: 1.75rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-black {
  font-weight: 900;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-extralight {
  font-weight: 200;
}

.font-light {
  font-weight: 300;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.font-thin {
  font-weight: 100;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.italic {
  font-style: italic;
}

.not-italic {
  font-style: normal;
}

.leading-loose {
  line-height: 2;
}

.leading-none {
  line-height: 1;
}

.leading-normal {
  line-height: 1.5;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-normal {
  letter-spacing: 0em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.text-\[\#003366\] {
  --tw-text-opacity: 1;
  color: rgb(0 51 102 / var(--tw-text-opacity, 1));
}

.text-\[\#0052CC\] {
  --tw-text-opacity: 1;
  color: rgb(0 82 204 / var(--tw-text-opacity, 1));
}

.text-\[\#005C42\] {
  --tw-text-opacity: 1;
  color: rgb(0 92 66 / var(--tw-text-opacity, 1));
}

.text-\[\#007ACC\] {
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.text-\[\#00B37A\] {
  --tw-text-opacity: 1;
  color: rgb(0 179 122 / var(--tw-text-opacity, 1));
}

.text-\[\#00C3FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 195 255 / var(--tw-text-opacity, 1));
}

.text-\[\#047857\] {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-\[\#172B4D\] {
  --tw-text-opacity: 1;
  color: rgb(23 43 77 / var(--tw-text-opacity, 1));
}

.text-\[\#374151\] {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-\[\#4A2E8C\] {
  --tw-text-opacity: 1;
  color: rgb(74 46 140 / var(--tw-text-opacity, 1));
}

.text-\[\#4A5568\] {
  --tw-text-opacity: 1;
  color: rgb(74 85 104 / var(--tw-text-opacity, 1));
}

.text-\[\#7E57C2\] {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.text-\[\#7E57C2\]\/80 {
  color: rgb(126 87 194 / 0.8);
}

.text-\[\#991B1B\] {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-\[\#A37A00\] {
  --tw-text-opacity: 1;
  color: rgb(163 122 0 / var(--tw-text-opacity, 1));
}

.text-\[\#B45309\] {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-\[\#B98A00\] {
  --tw-text-opacity: 1;
  color: rgb(185 138 0 / var(--tw-text-opacity, 1));
}

.text-\[\#D92D20\] {
  --tw-text-opacity: 1;
  color: rgb(217 45 32 / var(--tw-text-opacity, 1));
}

.text-\[\#F5B700\] {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.text-\[\#FFFFFF\] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-\[color\:var\(--sw-copper\)\] {
  color: var(--sw-copper);
}

.text-\[color\:var\(--sw-ink\)\] {
  color: var(--sw-ink);
}

.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}

.text-dark-action {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.text-dark-secondary {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.text-dark-violet {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-gray-100 {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}

.text-light-action {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.text-light-action-700 {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.text-light-azure {
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.text-light-error {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-light-error-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-light-error\/50 {
  color: rgb(220 38 38 / 0.5);
}

.text-light-gold {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.text-light-gold-700 {
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.text-light-gold-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.text-light-muted {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-light-primary {
  --tw-text-opacity: 1;
  color: rgb(0 53 102 / var(--tw-text-opacity, 1));
}

.text-light-secondary {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.text-light-secondary-700 {
  --tw-text-opacity: 1;
  color: rgb(0 144 184 / var(--tw-text-opacity, 1));
}

.text-light-success {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-light-success-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-light-text {
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.text-light-violet {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}

.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}

.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}

.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}

.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}

.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}

.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}

.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.text-status-active {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}

.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}

.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}

.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}

.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}

.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}

.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

.no-underline {
  text-decoration-line: none;
}

.decoration-gray-300 {
  text-decoration-color: #d1d5db;
}

.underline-offset-2 {
  text-underline-offset: 2px;
}

.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-cr {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-cr-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-cr-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-cr-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-cr-xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.outline {
  outline-style: solid;
}

.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-gray-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}

.ring-gray-400\/20 {
  --tw-ring-color: rgb(156 163 175 / 0.2);
}

.ring-gray-900\/5 {
  --tw-ring-color: rgb(17 24 39 / 0.05);
}

.ring-light-action {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity, 1));
}

.ring-light-action\/20 {
  --tw-ring-color: rgb(79 70 229 / 0.2);
}

.ring-light-action\/30 {
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.ring-light-error\/20 {
  --tw-ring-color: rgb(220 38 38 / 0.2);
}

.ring-light-gold\/20 {
  --tw-ring-color: rgb(245 183 0 / 0.2);
}

.ring-light-secondary-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(102 231 255 / var(--tw-ring-opacity, 1));
}

.ring-light-secondary\/20 {
  --tw-ring-color: rgb(0 196 241 / 0.2);
}

.ring-light-success-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(134 239 172 / var(--tw-ring-opacity, 1));
}

.ring-light-success\/20 {
  --tw-ring-color: rgb(22 163 74 / 0.2);
}

.ring-light-violet\/20 {
  --tw-ring-color: rgb(126 87 194 / 0.2);
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.ring-white\/30 {
  --tw-ring-color: rgb(255 255 255 / 0.3);
}

.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[margin-left\] {
  transition-property: margin-left;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ── Backdrop centralisé ──────────────────────────────────────── */

/* Utiliser sur drawer, modal-panel, sidebar-overlay, etc.        */

/* Custom global styles */

body {
  font-family: 'Inter', sans-serif;
}

/* ── Layout responsive — prévention du scroll horizontal ────── */

/* Le wrapper flex-1 (body > div) doit pouvoir rétrécir sous    */

/* sa min-content-width pour que body.scrollWidth = viewport    */

body > div:first-child {
  min-width: 0;
}

/* ── Transition fluide lors du changement de thème dark/light ──────────── */

/* La classe theme-transitioning est ajoutée/retirée par JS (theme-toggle.js). */

/* Elle est absente au chargement → pas de flash au premier rendu (anti-FOUC). */

html.theme-transitioning *,
html.theme-transitioning *::before,
html.theme-transitioning *::after {
  transition: background-color 150ms ease,
              color            150ms ease,
              border-color     150ms ease,
              fill             150ms ease,
              stroke           150ms ease !important;
}

/* On anime la hauteur sur 300 ms par défaut, ici en ease-in-out */

.submenu-transition {
  transition: height 300ms ease,
                opacity 300ms ease;
  overflow: hidden;
  /* important pour masquer le contenu durant la transition */
  opacity: 0;
}

.menu-content.hidden {
  opacity: 0;
}

/* Card designs */

.card {
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.card:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.card {
  padding: 1rem;
  transition: all 300ms ease-in-out;
}

.card:hover {
  transform: translateY(-2px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/*Notification*/

.notification-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.notification-item:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.notification-close {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.notification-close:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.notification-close:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* Button hover animations */

.btn {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition: transform 200ms ease,
                box-shadow 200ms ease;
}

.btn:hover {
  transform: translateY(-1px);
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.btn svg {
  transition: transform 200ms ease-in-out;
}

.btn:hover svg {
  transform: scale(1.1);
}

.btn-icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* sidebar */

/*  #sidebar .active{
    @apply text-gray-800 hover:bg-gray-200;

  }*/

/* utilitaire pour les titres de groupe dans le sidebar */

.sidebar-group-title {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark .sidebar-group-title {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

/*  
  #sidebar .menu-link-l3{
    @apply block px-4 py-2 text-sm rounded-lg hover:bg-blue-200 hover:text-gray-800;
  }
*/

/* BURGER
  Quand le bouton a la classe .open,
  on modifie la position/rotation/opacité des 3 traits 
  pour former une croix (X).
*/

/* IMPORTANT : chaque <path> pivote autour de son centre */

.line1,
  .line2,
  .line3 {
  transform-box: fill-box;
  /* indispensable */
  transform-origin: center;
  /* pivot au centre */
}

/* --- OUVERTURE (burger -> croix) --- */

/* Trait du haut */

#burgerButton.open .line1 {
  animation: topLineOpen 0.45s forwards ease-in-out;
}

/* Trait milieu */

#burgerButton.open .line2 {
  animation: middleLineOpen 0.45s forwards ease-in-out;
}

/* Trait bas */

#burgerButton.open .line3 {
  animation: bottomLineOpen 0.45s forwards ease-in-out;
}

@keyframes topLineOpen {
  0% {
    transform: translateY(0) rotate(0);
  }

  /* Se rapproche du centre vers y=6px */

  50% {
    transform: translateY(6px) rotate(0);
  }

  /* Puis pivot */

  100% {
    transform: translateY(6px) rotate(45deg);
  }
}

@keyframes middleLineOpen {
  0% {
    opacity: 1;
  }

  /* Disparaît avant la rotation (~30%) */

  30% {
    opacity: 1;
  }

  31% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@keyframes bottomLineOpen {
  0% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-6px) rotate(0);
  }

  100% {
    transform: translateY(-6px) rotate(-45deg);
  }
}

/* --- FERMETURE (croix -> burger) --- */

#burgerButton.closing .line1 {
  animation: topLineClose 0.45s forwards ease-in-out;
}

#burgerButton.closing .line2 {
  animation: middleLineClose 0.45s forwards ease-in-out;
}

#burgerButton.closing .line3 {
  animation: bottomLineClose 0.45s forwards ease-in-out;
}

@keyframes topLineClose {
  0% {
    transform: translateY(6px) rotate(45deg);
  }

  50% {
    transform: translateY(6px) rotate(0deg);
  }

  100% {
    transform: translateY(0) rotate(0deg);
  }
}

@keyframes middleLineClose {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  51% {
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

@keyframes bottomLineClose {
  0% {
    transform: translateY(-6px) rotate(-45deg);
  }

  50% {
    transform: translateY(-6px) rotate(0deg);
  }

  100% {
    transform: translateY(0) rotate(0deg);
  }
}

.stat-card {
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.stat-card:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.stat-card:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.metric-positive {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.metric-positive:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.metric-negative {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.metric-negative:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

/* ============================================================
   CONCORD TABLE — classes portables (miroir du TableRenderer.js)
   ============================================================ */

/* ==========================================================================
   CONCORD MODAL — Shared modal system (native <dialog> + showModal)
   Le JS appelle showModal() / close() — aucun CSS show/hide requis.
   ========================================================================== */

.concord-modal {
  border: none;
  padding: 0;
  margin: auto;
  background: transparent;
  max-width: calc(100% - 2rem);
  max-height: calc(100% - 2rem);
}

.concord-modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  z-index: 70;
  visibility: visible;
  opacity: 1;
}

.concord-modal::backdrop {
  background-color: rgb(0 0 0 / 0.5);
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  -webkit-backdrop-filter: blur(4px);
}

@keyframes concord-modal-in {
  from {
    transform: scale(0.96) translateY(10px);
  }

  to   {
    transform: scale(1) translateY(0);
  }
}

.concord-modal[open] .concord-modal__shell {
  animation: concord-modal-in 0.18s ease-out forwards;
}

.concord-modal__shell {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.concord-modal__shell:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.concord-modal__shell {
  width: 32rem;
  max-width: 100%;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.75rem;
}

.concord-modal__shell--wide {
  width: 42rem;
}

.concord-modal__shell--sm   {
  width: 24rem;
}

.concord-modal__shell--lg   {
  width: 56rem;
}

.concord-modal__shell--xl   {
  width: 72rem;
}

.concord-modal__shell--maxh {
  max-height: 50vh;
}

.concord-modal__header {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.concord-modal__header:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.concord-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  flex-shrink: 0;
}

.concord-modal__title {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.concord-modal__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.concord-modal__title  {
  margin: 0;
}

.concord-modal__close {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.concord-modal__close:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.concord-modal__close:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.concord-modal__close:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.concord-modal__close  {
  padding: 0.25rem;
  border-radius: 0.375rem;
  background: none;
  border: none;
  cursor: pointer;
  line-height: 0;
  transition: color 150ms ease;
}

.concord-modal__body {
  flex: 1 1 0%;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem 1.5rem;
}

.concord-modal__footer {
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.concord-modal__footer:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  background-color: rgb(31 41 55 / 0.5);
}

.concord-modal__footer {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  flex-shrink: 0;
}

.concord-modal__btn {
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  flex: 1;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: background 150ms ease,
                opacity    150ms ease;
  text-align: center;
  border: none;
}

.concord-modal__btn--secondary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.concord-modal__btn--secondary:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.concord-modal__btn--secondary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.concord-modal__btn--secondary:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.concord-modal__btn--primary {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.concord-modal__btn--primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.concord-modal__btn--primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.concord-modal__btn--danger {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.concord-modal__btn--danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.concord-modal__loading {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.concord-modal__loading:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.concord-modal__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 2rem 0;
  gap: 0.5rem;
}

.concord-modal__error {
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.concord-modal__error:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.concord-modal__error {
  margin-top: 0.75rem;
  display: none;
}

.concord-modal__error.is-visible {
  display: block;
}

/* Dark mode — handled via dark: variants in the rules above */

.dark .concord-modal__body {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

/* ── Inputs disabled / readonly ── */

/* ═══════════════════════════════════════════════════════════════
   CONCORD BUTTONS — système de boutons centralisé
   Couleurs issues des archives HTML Concord (index.html)
   Usage  : class="btn-primary"  /  class="btn-danger btn-sm"
   Light  : class="btn-primary-light"  (fond pâle, texte foncé)
   Tailles: btn-sm · btn-lg · btn-xl
   Icône  : btn-square · btn-square-sm · btn-square-lg
   ═══════════════════════════════════════════════════════════════ */

/* ── Bouton occupé (conv 22 §6.5 B13, plan BUSY-BUTTON) ─────────────
   État posé par busy-button.js : data-busy="trigger" (bouton utilisé)
   ou "sibling" (autres boutons du même envoi, neutralisés sans animation).
   Le déclencheur garde son libellé ; son icône cède la place à l'animation.
   Un bouton occupé n'est pas un bouton interdit : opacité normale.
   Hors @layer : sélecteurs par attribut, jamais purgés (pas de safelist). */

:is(button, a)[data-busy="trigger"] {
  cursor: progress;
}

:is(button, a)[data-busy="trigger"]:disabled {
  opacity: 1;
  cursor: progress;
}

/* Icône directe (icon()) ou enveloppée (ui_button() : <span><svg></span>). */

:is(button, a)[data-busy="trigger"] > svg,
:is(button, a)[data-busy="trigger"] > span:has(> svg) {
  display: none;
}

:is(button, a)[data-busy="trigger"]::before {
  content: '';
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 9999px;
  animation: crBusySpin 0.7s linear infinite;
}

@keyframes crBusySpin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* Indicateur statique : l'anneau ouvert reste, sans rotation. */

  :is(button, a)[data-busy="trigger"]::before {
    animation: none;
  }
}

/* ── Gabarit d'accès : connexion, lien magique (plan LOGIN-PAGE) ─────
   Vues : private/Themes/Concord/BackOffice/Views/auth/*. Le thème décide
   seul de l'apparence : les vues ne posent que des classes cr-auth*.
   Mise en page : cr-auth--gauche | cr-auth--droite | cr-auth--seul
   (ThemeResolverService::authLayout, liste fermée).
   Teinte « gris Concord » (décision fondateur 01/10) : panneau, bouton plein,
   bouton contour et liens en gris — l'application garde son bleu (B16).
   Fond du côté formulaire = gris clair, champs blancs (contraste).
   Hors @layer : classes toujours émises (app/core n'est pas scanné). */

.cr-auth {
  min-height: 100vh;
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-auth__grid {
  display: grid;
  min-height: 100vh;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 1024px) {
  .cr-auth--gauche .cr-auth__grid,
.cr-auth--droite .cr-auth__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cr-auth__side {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.cr-auth__side:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

@media (min-width: 640px) {
  .cr-auth__side {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.cr-auth__form {
  width: 100%;
  max-width: 24rem;
}

.cr-auth__toolbar {
  position: absolute;
  right: 1rem;
  top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cr-auth__icon-btn {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__icon-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth__icon-btn:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__icon-btn:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-auth__locale {
  width: auto;
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 2rem;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth__locale:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

/* Logo au-dessus du formulaire : toujours en « seul », seulement sous lg sinon. */

.cr-auth__logo {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}

@media (min-width: 1024px) {
  .cr-auth--gauche .cr-auth__logo,
.cr-auth--droite .cr-auth__logo {
    display: none;
  }
}

.cr-auth__logo img {
  height: 2.5rem;
  width: auto;
}

.cr-auth__logo-dark {
  display: none;
}

.menu-content.cr-auth__logo-dark {
  opacity: 0;
}

.cr-auth__logo-dark:is(.dark *) {
  display: block;
}

.cr-auth__logo-light:is(.dark *) {
  display: none;
}

.cr-auth__title {
  text-align: center;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth__title:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-auth__subtitle {
  margin-top: 0.375rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__subtitle:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

@media (min-width: 1024px) {
  .cr-auth--gauche .cr-auth__title,  .cr-auth--droite .cr-auth__title,
.cr-auth--gauche .cr-auth__subtitle, .cr-auth--droite .cr-auth__subtitle {
    text-align: left;
  }
}

.cr-auth__alert {
  margin-top: 1.5rem;
}

.cr-auth__body {
  margin-top: 1.5rem;
}

.cr-auth__body > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.cr-auth__note {
  margin-top: 1.5rem;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__note:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__help,
.cr-auth__footnote {
  margin-top: 2rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__help:is(.dark *),
.cr-auth__footnote:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__footnote {
  margin-top: 1.5rem;
}

/* Champs : icône à gauche, bouton « afficher » à droite. */

.cr-auth__field {
  position: relative;
}

.cr-auth__field-icon {
  pointer-events: none;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  display: flex;
  align-items: center;
  padding-left: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__field-icon:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__input {
  padding-left: 2.5rem;
}

.cr-auth__input--pwd {
  padding-right: 2.75rem;
}

.cr-auth__pwd-toggle {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 0px;
  display: flex;
  align-items: center;
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__pwd-toggle:hover {
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth__pwd-toggle:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__pwd-toggle:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-auth__pwd-toggle .cr-auth__eye-off {
  display: none;
}

.cr-auth__pwd-toggle[aria-pressed="true"] .cr-auth__eye {
  display: none;
}

.cr-auth__pwd-toggle[aria-pressed="true"] .cr-auth__eye-off {
  display: inline-flex;
}

.cr-auth__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.cr-auth__check {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.cr-auth__check:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.cr-auth__check input {
  border-radius: 0.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(209 209 209 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-auth__check input:focus {
  --tw-ring-color: rgb(156 163 175 / 0.4);
}

.cr-auth__check input:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.cr-auth__link {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-auth__link:hover {
  text-decoration-line: underline;
}

.cr-auth__link:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.cr-auth__submit {
  width: 100%;
}

/* « ou » entre le formulaire et le SSO (sans fond : posé sur le gris). */

.cr-auth__divider {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.cr-auth__divider:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.cr-auth__divider::before,
.cr-auth__divider::after {
  content: '';
  height: 1px;
  flex: 1 1 0%;
  --tw-bg-opacity: 1;
  background-color: rgb(209 209 209 / var(--tw-bg-opacity, 1));
}

.cr-auth__divider:is(.dark *)::before,
.cr-auth__divider:is(.dark *)::after {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

/* Teinte gris Concord : boutons plein / contour, à l'intérieur du gabarit seulement. */

.cr-auth .btn-primary {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.cr-auth .btn-primary:focus {
  --tw-ring-color: rgb(156 163 175 / 0.4);
}

.cr-auth .btn-primary:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.cr-auth .btn-primary:not(:disabled):hover {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.cr-auth .btn-primary:not(:disabled):hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.cr-auth .btn-outline {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.cr-auth .btn-outline:focus {
  --tw-ring-color: rgb(156 163 175 / 0.4);
}

.cr-auth .btn-outline:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.cr-auth .btn-outline:not(:disabled):hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.cr-auth .btn-outline:not(:disabled):hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Champs : anneau de focus dans la teinte (gris), pas le bleu de l'application. */

.cr-auth .form-input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.cr-auth .form-input:focus:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

/* Focus visible au clavier sur tout le gabarit. */

.cr-auth a:focus-visible,
.cr-auth button:focus-visible,
.cr-auth select:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #F0F3F7;
}

.cr-auth a:focus-visible:is(.dark *),
.cr-auth button:focus-visible:is(.dark *),
.cr-auth select:focus-visible:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-color: #111827;
}

/* Panneau de marque (gauche / droite) — masqué sous lg. */

.cr-auth__panel {
  position: relative;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
  padding: 3rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.menu-content.cr-auth__panel {
  opacity: 0;
}

.cr-auth__panel:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

@media (min-width: 1024px) {
  .cr-auth__panel {
    display: flex;
  }
}

@media (min-width: 1280px) {
  .cr-auth__panel {
    padding: 4rem;
  }
}

.cr-auth__halo {
  pointer-events: none;
  position: absolute;
  border-radius: 9999px;
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.cr-auth__halo--a {
  right: -8rem;
  top: -8rem;
  height: 24rem;
  width: 24rem;
  background-color: rgb(255 255 255 / 0.1);
}

.cr-auth__halo--b {
  bottom: -10rem;
  left: -6rem;
  height: 28rem;
  width: 28rem;
  background-color: rgb(107 114 128 / 0.3);
}

.cr-auth__ring {
  pointer-events: none;
  position: absolute;
  right: 3rem;
  top: 33.333333%;
  height: 18rem;
  width: 18rem;
  border-radius: 9999px;
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
}

.cr-auth__panel-logo {
  position: relative;
  height: 2.5rem;
  width: auto;
}

.cr-auth__panel-body {
  position: relative;
  max-width: 32rem;
}

.cr-auth__panel-title {
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 600;
  line-height: 1.25;
}

@media (min-width: 1280px) {
  .cr-auth__panel-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

.cr-auth__accent {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-auth__panel-text {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.75);
}

/* « On est ensemble. » : signature du panneau (couleur d'accent, pas une 3ᵉ phrase d'explication). */

.cr-auth__panel-together {
  margin-top: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.cr-auth__panel-foot {
  position: relative;
}

.cr-auth__panel-foot > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.cr-auth__panel-foot {
  font-size: 0.75rem;
  line-height: 1rem;
  color: rgb(255 255 255 / 0.55);
}

.cr-auth__panel-copy {
  color: rgb(255 255 255 / 0.4);
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD BADGES — indicateurs, étiquettes, compteurs
   Couleurs concordantes avec CONCORD BUTTONS
   Usage plein  : class="badge-primary"
   Usage light  : class="badge-primary-light"
   Point seul   : class="badge-danger badge-dot"
   En coin      : <div class="badge-anchor">
                    <button…></button>
                    <span class="badge-danger badge-corner">3</span>
                  </div>
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD ALERTS — bannières inline, toasts programmatiques
   Usage inline  : class="alert-danger-light" data-alert
   Bouton close  : <button data-close-alert>…</button>
   Auto-close    : data-autoclose="5000"  (durée en ms)
   Toast (JS)    : concordAlert({ type:'success-light', message:'Bravo !' })
   ═══════════════════════════════════════════════════════════════ */

@keyframes alertProgress {
  from {
    width: 100%;
  }

  to   {
    width: 0%;
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD MODAL-PANEL — overlay div-based (blur + animation)
   HTML : partials/modal-panel.php  (#concord-modal-panel)
   JS   : concordPanel() / concordPanelClose()
   Cycle ouverture : remove hidden → double-rAF → add .mp-open
   Cycle fermeture : remove .mp-open → transitionend → add hidden
   ═══════════════════════════════════════════════════════════════ */

/* ── Overlay : fade + blur ──────────────────────────────────── */

#concord-modal-panel {
  opacity: 0;
  transition: opacity 200ms ease;
  pointer-events: none;
}

#concord-modal-panel.mp-open {
  opacity: 1;
  pointer-events: auto;
}

/* ── Shell : scale + slide-down (spring) ────────────────────── */

#concord-modal-panel-shell {
  opacity: 0;
  transform: scale(0.95) translateY(-10px);
  transition:
    opacity   200ms ease,
    transform 240ms cubic-bezier(.34, 1.56, .64, 1);
}

#concord-modal-panel.mp-open #concord-modal-panel-shell {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD PROGRESS — barres de progression
   Conteneur  : class="progress [progress-xs|sm|lg|xl]"
   Remplissage: class="progress-bar progress-bar-[couleur]" style="width:X%"
   Rayures    : ajouter progress-bar-striped [progress-bar-animated]
   Indéterminé: ajouter progress-bar-indeterminate (pas de style width)
   ═══════════════════════════════════════════════════════════════ */

@keyframes progressStripes {
  from {
    background-position: 1rem 0;
  }

  to   {
    background-position: 0    0;
  }
}

@keyframes progressIndeterminate {
  0%   {
    transform: translateX(-150%);
  }

  100% {
    transform: translateX(350%);
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD SPINNER — indicateurs de chargement
   Cercle CSS  : class="spinner [spinner-xs|sm|lg|xl] [spinner-*couleur*]"
   Points      : class="spinner-dots [spinner-xs|sm|lg|xl] [spinner-*couleur*]"
                   <span></span><span></span><span></span>
   SVG pattern : <svg class="animate-spin …"> (voir référence)
   ═══════════════════════════════════════════════════════════════ */

@keyframes spinnerDot {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.4;
  }

  40%           {
    transform: scale(1);
    opacity: 1;
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD DROPDOWN — menus contextuels à position automatique
   Trigger : [data-dropdown="id"]
   Menu    : [data-dropdown-menu="id"]  +  class="dropdown-menu hidden"
   Fermer  : [data-dropdown-close]  (optionnel, dans le menu)
   JS      : initDropdown() — dropdown.js (position:fixed calculée)
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD TOOLTIPS — info-bulles légères (position auto)
   HTML : data-tooltip="Texte"
          data-tooltip-pos="auto|top|bottom|left|right"  (défaut: auto)
   JS   : initTooltips() — délégation document, Turbo-safe
   ═══════════════════════════════════════════════════════════════ */

/* ── Base ───────────────────────────────────────────────────── */

.cr-tooltip {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
  font-size: 0.6875rem;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
  position: fixed;
  z-index: 90;
  max-width: 16.25rem;
  padding: 5px 10px;
  border-radius: 0.375rem;
  line-height: 1.375;
  white-space: normal;
  word-break: break-word;
  pointer-events: none;
  box-shadow: 0 4px 10px -2px rgb(0 0 0 / .35), 0 0 0 1px rgb(0 0 0 / .08);
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 100ms ease,
              transform 100ms ease;
}

.cr-tooltip.tt-show {
  opacity: 1;
  transform: scale(1);
}

/* ── Dark mode : fond clair, texte foncé ────────────────────── */

.dark .cr-tooltip {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
  box-shadow: 0 4px 10px -2px rgb(0 0 0 / .5), 0 0 0 1px rgb(148 163 184 / .2);
}

/* ── Flèche ─────────────────────────────────────────────────── */

.cr-tooltip::after {
  content: '';
  position: absolute;
  border: 5px solid transparent;
}

.cr-tooltip[data-tt-pos="top"]::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #1e293b;
}

.dark .cr-tooltip[data-tt-pos="top"]::after    {
  border-top-color: #f8fafc;
}

.cr-tooltip[data-tt-pos="bottom"]::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #1e293b;
}

.dark .cr-tooltip[data-tt-pos="bottom"]::after {
  border-bottom-color: #f8fafc;
}

.cr-tooltip[data-tt-pos="left"]::after {
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-left-color: #1e293b;
}

.dark .cr-tooltip[data-tt-pos="left"]::after   {
  border-left-color: #f8fafc;
}

.cr-tooltip[data-tt-pos="right"]::after {
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-right-color: #1e293b;
}

.dark .cr-tooltip[data-tt-pos="right"]::after  {
  border-right-color: #f8fafc;
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD CARDS — conteneurs de contenu
   Base      : class="cr-card"
   Sections  : cr-card__header / cr-card__body / cr-card__footer
   Image héro: cr-card__img (hauteur libre via classe Tailwind h-*)
   Hover     : cr-card--hover (lift au survol)
   Flat      : cr-card--flat (pas de shadow, fond gris)
   Accents bl: cr-card--bl-primary|bl-accent|bl-edit|bl-success|bl-warning|bl-danger|bl-print
   Solides   : cr-card--primary|action|secondary|violet|azure|gold|success|error|dark|slate…
   Teintés   : cr-card--action-light|accent-light|edit-light|success-light|warning-light…
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD AVATARS — initiales & images de profil
   Base      : class="cr-avatar cr-avatar--md cr-avatar--primary"
   Wrapper   : class="cr-avatar-wrap" (requis pour cr-avatar-dot)
   Groupe    : class="cr-avatar-group"
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD ACCORDION — pliage de contenu
   Base    : .cr-accordion[data-accordion]
   Item    : <div> wrapper direct enfant
   Trigger : .cr-accordion__trigger (button)
   Contenu : .cr-accordion__content + .cr-accordion__body
   Options : data-accordion-multi · cr-accordion--flush
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD SKELETON — placeholders de chargement
   Usage  : class="cr-skeleton" + utilitaires Tailwind (w-*, h-*, rounded-*)
   Variante ronde : class="cr-skeleton cr-skeleton--circle"
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD DRAWERS — tiroirs latéraux / offcanvas
   Wrapper  : .cr-drawer[data-drawer]  (fixed, inset-0, bande zIndex.drawer 51-59)
   Backdrop : .cr-drawer__backdrop
   Panel    : .cr-drawer__panel
   Header   : .cr-drawer__header / __title / __close
   Body     : .cr-drawer__body
   Footer   : .cr-drawer__footer
   Direction: cr-drawer--right (défaut) | --left | --top | --bottom
   Taille   : cr-drawer--sm | --lg | --xl  (gauche/droite)
              cr-drawer--sm | --lg          (haut/bas)
   État     : .hidden → fermé  |  cr-drawer--open → ouvert
   ═══════════════════════════════════════════════════════════════ */

/* Repli de la barre d'actions (B6) — hors @layer : règles @container brutes.
   Seuils = largeur utile du pied (groupe de gauche compris) :
   ≥ 600 px → 3 boutons · 460-599 px → 2 · < 460 px → CTA seul.
   Les boutons repliés réapparaissent dans le menu (miroirs, dropdown.js). */

@container (max-width: 599px) {
  .cr-actbar__item--3 {
    display: none;
  }
}

@container (max-width: 459px) {
  .cr-actbar__item--2 {
    display: none;
  }

  .cr-actbar__more-label {
    display: none;
  }
}

@container (min-width: 600px) {
  .cr-actbar__more--lt600 {
    display: none;
  }
}

@container (min-width: 460px) {
  .cr-actbar__more--lt460 {
    display: none;
  }
}

/* Bandeau de caisse (BANDEAU-CAISSE, 13/10) — hors @layer : règles @container brutes,
   mesurées sur le bandeau (container « shiftband »).
   < 1040 px (mobile, tablette) : lignes empilées, 1 / 2 / 3 / 4 colonnes, repli
   possible ; le solde est dans l'en-tête, pas dans les cellules.
   ≥ 1040 px (PC) : tout sur une ligne, pas de repli ni de bouton.
   Seuil à confirmer en recette (ligne la plus longue : anglais, superviseur,
   montants à 9 chiffres ; portable 1 366 px menu ouvert). */

@container shiftband (min-width: 480px) {
  .cr-dl--cells {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container shiftband (min-width: 720px) {
  .cr-dl--cells {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@container shiftband (min-width: 900px) and (max-width: 1039px) {
  .cr-dl--cells {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@container shiftband (max-width: 1039px) {
  .cr-dl--cells .cr-dl__cell[data-cell="balance"] {
    display: none;
  }

  html:not([data-shiftband="open"]) .cr-shiftband[data-shiftband-collapsible] .cr-dl--cells {
    display: none;
  }
}

@container shiftband (min-width: 1040px) {
  .cr-shiftband__body {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  .cr-shiftband__head {
    flex-wrap: nowrap;
  }

  .cr-shiftband__balance,
  .cr-shiftband__toggle {
    display: none;
  }

  .cr-dl--cells {
    display: flex;
    flex-wrap: nowrap;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    order: 1;
  }

  .cr-dl--cells .cr-dl__cell {
    justify-content: flex-start;
    gap: 0.5rem;
  }

  .cr-shiftband__actions {
    order: 2;
    margin-left: auto;
    flex-wrap: nowrap;
  }

  .cr-shiftband__alerts {
    order: 3;
    flex-basis: 100%;
  }
}

/* Onglets boxed-light sur barre étroite (BANDEAU-CAISSE étape 2) — hors @layer.
   Seuil ≈ 5 onglets complets avec pastilles ; à confirmer en recette.
   Le libellé complet reste dans le HTML (lecteurs d'écran), masqué à l'œil seulement. */

@container tabs (max-width: 759px) {
  .cr-tabs__label {
    /* n'existe que si un libellé court est déclaré (gabarit) */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .cr-tabs__label-short {
    display: inline;
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD TABS — navigation par onglets
   Wrapper  : .cr-tabs[data-tabs]
   Nav      : .cr-tabs__nav
   Trigger  : .cr-tabs__trigger  [data-tabs-trigger="id"]
   Active   : .cr-tabs__trigger--active
   Panels   : .cr-tabs__content
   Panel    : .cr-tabs__panel    [data-tabs-panel="id"]  + .hidden
   Variantes: cr-tabs--pills | cr-tabs--boxed | cr-tabs--header
              cr-tabs--vertical-left | cr-tabs--vertical-right
   ═══════════════════════════════════════════════════════════════ */

/* ── Animation d'entrée de panel ────────────────────────────── */

@keyframes cr-tab-in {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

  to   {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD POPOVERS — bulles flottantes positionnées par JS
   Élément  : .cr-popover[data-popover]  (position: fixed)
   En-tête  : .cr-popover__header (optionnel)
              .cr-popover__title  .cr-popover__close
   Corps    : .cr-popover__body
   État     : .hidden → masqué  |  .cr-popover--open → visible + animé
   JS       : initPopovers()
   Trigger  : data-popover-open + data-popover-id="id"
              data-popover-pos="bottom|top|left|right"  (défaut: bottom)
   Fermer   : data-popover-close (à l'intérieur) | clic dehors | Escape
   ═══════════════════════════════════════════════════════════════ */

@keyframes cr-popover-in {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(4px);
  }

  to   {
    opacity: 1;
    transform: scale(1)    translateY(0);
  }
}

@keyframes cr-popover-in-up {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(-4px);
  }

  to   {
    opacity: 1;
    transform: scale(1)    translateY(0);
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD TIMELINE — ligne de temps verticale
   Wrapper  : .cr-timeline [cr-timeline--compact | cr-timeline--centered]
   Item     : .cr-timeline__item  [cr-timeline__item--left | --right]
   Dot      : .cr-timeline__dot   [--primary|accent|success|warning|danger|edit|print|gray]
   Léger    : cr-timeline__dot--[primary|success|warning|danger]-light
   Contenu  : .cr-timeline__content
   Meta     : .cr-timeline__meta  ·  .cr-timeline__date
   Titre    : .cr-timeline__title
   Corps    : .cr-timeline__body
   Card     : .cr-timeline__card   (wrapper optionnel)
   Centré   : cr-timeline--centered + items --left/--right + .cr-timeline__side
   ═══════════════════════════════════════════════════════════════ */

/* ── Variante centrée — desktop (alternée gauche / droite) ────── */

@media (min-width: 768px) {
  .cr-timeline--centered::before {
    left: 50%;
    transform: translateX(-50%);
  }

  .cr-timeline--centered .cr-timeline__item {
    align-items: flex-start;
    gap: 0;
  }

  .cr-timeline--centered .cr-timeline__side {
    flex: 1;
    min-width: 0;
  }

  .cr-timeline--centered .cr-timeline__side--empty {
    display: block;
    flex: 1;
  }

  /* Item gauche : contenu à droite de la ligne */

  .cr-timeline--centered .cr-timeline__item--left .cr-timeline__side--content {
    text-align: right;
    padding-right: 1.25rem;
    padding-top: 0.375rem;
  }

  .cr-timeline--centered .cr-timeline__item--left .cr-timeline__date {
    justify-content: flex-end;
  }

  .cr-timeline--centered .cr-timeline__item--left .cr-timeline__meta {
    justify-content: flex-end;
  }

  /* Item droit : contenu à gauche de la ligne */

  .cr-timeline--centered .cr-timeline__item--right .cr-timeline__side--content {
    text-align: left;
    padding-left: 1.25rem;
    padding-top: 0.375rem;
  }
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD TOAST — notifications flottantes en coin
   ═══════════════════════════════════════════════════════════════ */

/* ── Animations toast (hors @layer) ─────────────────────────── */

@keyframes crToastIn {
  from {
    opacity: 0;
    transform: translateX(1.25rem) scale(0.95);
  }

  to   {
    opacity: 1;
    transform: translateX(0)       scale(1);
  }
}

@keyframes crToastOut {
  from {
    opacity: 1;
    max-height: 120px;
  }

  to   {
    opacity: 0;
    max-height: 0;
  }
}

@keyframes crToastProgress {
  from {
    width: 100%;
  }

  to   {
    width: 0%;
  }
}

.cr-toast--enter {
  animation: crToastIn  200ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.cr-toast--leave {
  animation: crToastOut 180ms ease-in forwards;
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD EMPTY STATES — état vide, aucun résultat, premier lancement
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD FORMS — Labels, inputs, select, textarea, états, tailles
   Checkbox / Radio / Switch
   Usage  : class="form-input"  /  class="form-label"
   États  : form-input-error · form-input-success
   Tailles: form-input-sm · form-input-lg
   ═══════════════════════════════════════════════════════════════ */

/* ── form-toggle — hors @layer pour eviter purge Tailwind ────── */

.form-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.form-toggle__track {
  position: relative;
  display: inline-flex;
  height: 1.5rem;
  width: 2.75rem;
  flex-shrink: 0;
  border-radius: 9999px;
  border: 2px solid transparent;
  background-color: rgb(209 213 219);
  transition: background-color 200ms ease-in-out;
}

:is(.dark *) .form-toggle__track {
  background-color: rgb(75 85 99);
}

.form-toggle__track::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 1.25rem;
  width: 1.25rem;
  border-radius: 9999px;
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  transition: transform 200ms ease-in-out;
}

.peer:checked ~ .form-toggle__track {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

:is(.dark *) .peer:checked ~ .form-toggle__track {
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .form-toggle__track::after {
  transform: translateX(1.25rem);
}

.peer:focus-visible ~ .form-toggle__track {
  box-shadow: 0 0 0 2px rgb(79 70 229 / 0.3);
}

:is(.dark *) .peer:focus-visible ~ .form-toggle__track {
  box-shadow: 0 0 0 2px rgb(99 102 241 / 0.3);
}

.peer:disabled ~ .form-toggle__track {
  opacity: 0.5;
  cursor: not-allowed;
}

.peer:disabled ~ .form-toggle__label {
  opacity: 0.5;
  cursor: not-allowed;
}

.form-toggle__label {
  font-size: 0.875rem;
  line-height: 1.375;
  color: rgb(55 65 81);
}

:is(.dark *) .form-toggle__label {
  color: rgb(209 213 219);
}

/* ── form-card__icon — hors @layer pour eviter purge Tailwind ── */

.form-card__icon {
  color: #4F46E5;
  transition-property: color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.dark .form-card__icon {
  color: #818CF8;
}

/* ═══════════════════════════════════════════════════════════════
   CONCORD STEPPER — navigation par étapes (formulaire multi-étapes)
   Wrapper    : .cr-stepper  [.cr-stepper--vertical]
   Étape      : .cr-step     [.is-done | .is-active | .is-pending]
   Icône      : .cr-step__icon   Connecteur : .cr-step__connector
   Track vert.: .cr-step__track + .cr-step__line
   Label      : .cr-step__label  Sous-titre : .cr-step__sub
   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   CONCORD CHIPS & TAGS — pastilles de filtre, input multi-valeurs
   Chip         : .cr-chip  [cr-chip--active | cr-chip--disabled]
   Suppression  : .cr-chip__remove  (bouton ×)
   Toggle filtre: .cr-chip--toggle
   Couleurs     : .cr-chip--primary|success|warning|danger|accent
   Tag input    : .cr-tag-input-wrap > .cr-chip + .cr-tag-input
   ═══════════════════════════════════════════════════════════════ */

/* ── Stats / KPI ────────────────────────────────────────────── */

/* Cartes indicateur chiffré : icône, valeur, label, tendance    */

/* ── Breadcrumb ─────────────────────────────────────────────── */

/* Navigation fil d'Ariane                                       */

/* ── Listes & Description lists ─────────────────────────────── */

/* cr-list : liste verticale. cr-dl : paires terme/détail.       */

/* ── View (fiche read-only) ────────────────────────────────── */

/* Rendu structuré des fiches : header, sections, champs,      */

/* key-value, stats, notes. Utilisé par view-renderer.php      */

/* ── Dividers ───────────────────────────────────────────────── */

/* Séparateurs horizontaux, verticaux, avec label/icône          */

/* ══════════════════════════════════════════════════════════════
   SPRINT 2 — Feedback & Nav : Notifications, Rating,
              Command Palette, Mega Menu
   ══════════════════════════════════════════════════════════════ */

/* ── Notifications ─────────────────────────────────────────── */

/* Liste de notifications + items individuels                     */

/* ── Rating ────────────────────────────────────────────────── */

/* Étoiles interactives, read-only, demi-étoiles, barres        */

/* ── Command Palette ───────────────────────────────────────── */

/* Palette de commandes Ctrl+K / Cmd+K                          */

/* ── Mega Menu ─────────────────────────────────────────────── */

/* Panneau de navigation riche en colonnes                       */

/* ═══════════════════════════════════════════════════════════════════════════
   SPRINT 3 — Vues avancées : Calendrier, Kanban, Tree View
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── cr-cal — Calendrier mensuel ─────────────────────────────────────────── */

/* ── cr-kanban — Tableau Kanban ──────────────────────────────────────────── */

/* ── cr-tree — Arborescence ──────────────────────────────────────────────── */

/* ── cr-planning — Planning timeline (EventCalendar) ─────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   cr-carousel — Carrousel
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   cr-gallery — Galerie & Lightbox
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   cr-header — Header / Topbar
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   cr-sidebar — Sidebar navigation
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   cr-nav-* — Navigation items (sidebar)
   ══════════════════════════════════════════════════════════════════ */

/* ========================================================================
   Lignes répétables — mise en page « cartes » (repeatable-lines, Lines::$layout = 'cards')
   Une carte par ligne, deux champs par rang : lisible dans un drawer et sur
   téléphone, là où un tableau de 5-6 colonnes de saisie déborde.
   Premier usage : périodes tarifaires d'un séjour (drawer « Remise »).
   ======================================================================== */

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:left-\[2px\]::after {
  content: var(--tw-content);
  left: 2px;
}

.after\:top-\[2px\]::after {
  content: var(--tw-content);
  top: 2px;
}

.after\:h-4::after {
  content: var(--tw-content);
  height: 1rem;
}

.after\:w-4::after {
  content: var(--tw-content);
  width: 1rem;
}

.after\:rounded-full::after {
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:bg-white::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.after\:transition-all::after {
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.last\:border-0:last-child {
  border-width: 0px;
}

.focus-within\:ring-2:focus-within {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-blue-200:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1));
}

.focus-within\:ring-light-action\/20:focus-within {
  --tw-ring-color: rgb(79 70 229 / 0.2);
}

.focus-within\:ring-light-error\/20:focus-within {
  --tw-ring-color: rgb(220 38 38 / 0.2);
}

.hover\:-translate-y-0:hover {
  --tw-translate-y: -0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-blue-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.hover\:border-light-action:hover {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.hover\:border-light-action\/40:hover {
  border-color: rgb(79 70 229 / 0.4);
}

.hover\:border-light-error:hover {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.hover\:bg-\[\#009761\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 151 97 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#009A68\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 154 104 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#009FD6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 159 214 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00A8E0\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 168 224 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00AEEF\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 174 239 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#0C2F42\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(12 47 66 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#16A34A\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#4338CA\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#475569\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#6A46AC\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(106 70 172 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#6B45AE\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 69 174 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#6B46B2\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(107 70 178 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#B91C1C\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#D0F0FF\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(208 240 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#D1D5DB\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#D8FBEF\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(216 251 239 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#D9A500\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 165 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#DCA600\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 166 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#E0A800\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 168 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#E3A800\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(227 168 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#FFE2E2\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[var\(--sw-ink-light\)\]:hover {
  background-color: var(--sw-ink-light);
}

.hover\:bg-\[var\(--sw-sand\)\]:hover {
  background-color: var(--sw-sand);
}

.hover\:bg-amber-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-50\/30:hover {
  background-color: rgb(239 246 255 / 0.3);
}

.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.hover\:bg-indigo-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-action-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-action-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-action-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-action\/10:hover {
  background-color: rgb(79 70 229 / 0.1);
}

.hover\:bg-light-action\/20:hover {
  background-color: rgb(79 70 229 / 0.2);
}

.hover\:bg-light-action\/5:hover {
  background-color: rgb(79 70 229 / 0.05);
}

.hover\:bg-light-action\/90:hover {
  background-color: rgb(79 70 229 / 0.9);
}

.hover\:bg-light-error-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-hover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 243 247 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-secondary-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 251 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-light-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(91 58 154 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/60:hover {
  background-color: rgb(255 255 255 / 0.6);
}

.hover\:bg-yellow-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.hover\:text-\[\#005A99\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 90 153 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#00845F\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 132 95 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#00B37A\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 179 122 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#00C3FF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 195 255 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#5D3DA5\]:hover {
  --tw-text-opacity: 1;
  color: rgb(93 61 165 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#7E57C2\]:hover {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#B98A00\]:hover {
  --tw-text-opacity: 1;
  color: rgb(185 138 0 / var(--tw-text-opacity, 1));
}

.hover\:text-amber-500:hover {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-400:hover {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-500:hover {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-600:hover {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-900:hover {
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.hover\:text-dark-gold-200:hover {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-500:hover {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

.hover\:text-emerald-600:hover {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-200:hover {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-500:hover {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-800:hover {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-green-500:hover {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.hover\:text-green-600:hover {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.hover\:text-green-900:hover {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-600:hover {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action:hover {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action-400:hover {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action-800:hover {
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action-900:hover {
  --tw-text-opacity: 1;
  color: rgb(30 27 75 / var(--tw-text-opacity, 1));
}

.hover\:text-light-action\/80:hover {
  color: rgb(79 70 229 / 0.8);
}

.hover\:text-light-error:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-light-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.hover\:text-light-gold-700:hover {
  --tw-text-opacity: 1;
  color: rgb(181 137 0 / var(--tw-text-opacity, 1));
}

.hover\:text-light-secondary:hover {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.hover\:text-light-success:hover {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.hover\:text-light-text:hover {
  --tw-text-opacity: 1;
  color: rgb(7 7 10 / var(--tw-text-opacity, 1));
}

.hover\:text-light-violet:hover {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-900:hover {
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-600:hover {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.hover\:text-red-700:hover {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-900:hover {
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}

.hover\:text-rose-500:hover {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-400:hover {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-500:hover {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:no-underline:hover {
  text-decoration-line: none;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:border-\[\#F5B700\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(245 183 0 / var(--tw-border-opacity, 1));
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.focus\:border-indigo-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.focus\:border-light-action:focus {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-\[\#00B37A\]\/50:focus {
  --tw-ring-color: rgb(0 179 122 / 0.5);
}

.focus\:ring-\[\#00C3FF\]\/50:focus {
  --tw-ring-color: rgb(0 195 255 / 0.5);
}

.focus\:ring-\[\#7E57C2\]\/40:focus {
  --tw-ring-color: rgb(126 87 194 / 0.4);
}

.focus\:ring-\[\#F5B700\]:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 183 0 / var(--tw-ring-opacity, 1));
}

.focus\:ring-\[\#F5B700\]\/40:focus {
  --tw-ring-color: rgb(245 183 0 / 0.4);
}

.focus\:ring-\[color\:var\(--sw-copper\)\]:focus {
  --tw-ring-color: var(--sw-copper);
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}

.focus\:ring-gray-400\/30:focus {
  --tw-ring-color: rgb(156 163 175 / 0.3);
}

.focus\:ring-gray-400\/40:focus {
  --tw-ring-color: rgb(156 163 175 / 0.4);
}

.focus\:ring-green-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}

.focus\:ring-indigo-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.focus\:ring-light-action:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity, 1));
}

.focus\:ring-light-action\/30:focus {
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.focus\:ring-light-action\/50:focus {
  --tw-ring-color: rgb(79 70 229 / 0.5);
}

.focus\:ring-purple-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}

.focus\:ring-yellow-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-1:focus {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-light-action\/30:focus-visible {
  --tw-ring-color: rgb(79 70 229 / 0.3);
}

.active\:cursor-grabbing:active {
  cursor: grabbing;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.group:hover .group-hover\:bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-light-action {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.peer:checked ~ .peer-checked\:hidden {
  display: none;
}

.peer:checked ~ .peer-checked\:translate-x-3 {
  --tw-translate-x: 0.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}

.peer:checked ~ .peer-checked\:border-light-action {
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}

.peer:checked ~ .peer-checked\:border-light-error {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-blue-50\/40 {
  background-color: rgb(239 246 255 / 0.4);
}

.peer:checked ~ .peer-checked\:bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-light-action {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-light-action\/5 {
  background-color: rgb(79 70 229 / 0.05);
}

.peer:checked ~ .peer-checked\:bg-light-error {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-light-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-light-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:bg-light-success {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .peer-checked\:ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.peer:checked ~ .peer-checked\:ring-blue-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1));
}

.peer:checked ~ .peer-checked\:ring-light-action\/20 {
  --tw-ring-color: rgb(79 70 229 / 0.2);
}

.peer:checked ~ .peer-checked\:ring-light-error\/20 {
  --tw-ring-color: rgb(220 38 38 / 0.2);
}

.peer:checked ~ .peer-checked\:after\:translate-x-full::after {
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:after\:border-white::after {
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.peer:focus ~ .peer-focus\:ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.peer:focus ~ .peer-focus\:ring-indigo-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity, 1));
}

.group[aria-pressed="true"] .group-aria-pressed\:block {
  display: block;
}

.group[aria-pressed="true"] .group-aria-pressed\:hidden {
  display: none;
}

.group[data-expanded="true"] .group-data-\[expanded\=true\]\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.dark\:block:is(.dark *) {
  display: block;
}

.dark\:hidden:is(.dark *) {
  display: none;
}

.dark\:divide-dark-border:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1));
}

.dark\:divide-gray-600:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-divide-opacity, 1));
}

.dark\:divide-gray-700:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-divide-opacity, 1));
}

.dark\:divide-gray-700\/50:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(55 65 81 / 0.5);
}

.dark\:divide-gray-700\/60:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(55 65 81 / 0.6);
}

.dark\:divide-gray-800:is(.dark *) > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-divide-opacity, 1));
}

.dark\:border-\[color\:var\(--sw-copper\)\]:is(.dark *) {
  border-color: var(--sw-copper);
}

.dark\:border-\[color\:var\(--sw-line\)\]:is(.dark *) {
  border-color: var(--sw-line);
}

.dark\:border-blue-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-action:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-action-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-action-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 48 163 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-action\/20:is(.dark *) {
  border-color: rgb(99 102 241 / 0.2);
}

.dark\:border-dark-action\/40:is(.dark *) {
  border-color: rgb(99 102 241 / 0.4);
}

.dark\:border-dark-border:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-error:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-error-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-error\/30:is(.dark *) {
  border-color: rgb(248 113 113 / 0.3);
}

.dark\:border-dark-error\/50:is(.dark *) {
  border-color: rgb(248 113 113 / 0.5);
}

.dark\:border-dark-gold-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-success-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.dark\:border-dark-success-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-500:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}

.dark\:border-gray-700\/50:is(.dark *) {
  border-color: rgb(55 65 81 / 0.5);
}

.dark\:border-gray-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.dark\:border-green-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.dark\:border-orange-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}

.dark\:border-purple-400:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}

.dark\:border-red-700:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.dark\:\!bg-dark-success:is(.dark *) {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:bg-\[\#003366\]\/40:is(.dark *) {
  background-color: rgb(0 51 102 / 0.4);
}

.dark\:bg-\[\#004D3A\]\/40:is(.dark *) {
  background-color: rgb(0 77 58 / 0.4);
}

.dark\:bg-\[\#2E215A\]\/40:is(.dark *) {
  background-color: rgb(46 33 90 / 0.4);
}

.dark\:bg-\[var\(--sw-copper\)\]:is(.dark *) {
  background-color: var(--sw-copper);
}

.dark\:bg-\[var\(--sw-elevated\)\]:is(.dark *) {
  background-color: var(--sw-elevated);
}

.dark\:bg-amber-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}

.dark\:bg-amber-900\/30:is(.dark *) {
  background-color: rgb(120 53 15 / 0.3);
}

.dark\:bg-amber-950\/10:is(.dark *) {
  background-color: rgb(69 26 3 / 0.1);
}

.dark\:bg-black:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-800\/40:is(.dark *) {
  background-color: rgb(30 64 175 / 0.4);
}

.dark\:bg-blue-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}

.dark\:bg-blue-900\/20:is(.dark *) {
  background-color: rgb(30 58 138 / 0.2);
}

.dark\:bg-blue-900\/30:is(.dark *) {
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:bg-dark-action:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-action-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 48 163 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-action-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-action-900\/30:is(.dark *) {
  background-color: rgb(49 46 129 / 0.3);
}

.dark\:bg-dark-action-900\/40:is(.dark *) {
  background-color: rgb(49 46 129 / 0.4);
}

.dark\:bg-dark-action-900\/50:is(.dark *) {
  background-color: rgb(49 46 129 / 0.5);
}

.dark\:bg-dark-action\/10:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.dark\:bg-dark-action\/15:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
}

.dark\:bg-dark-action\/20:is(.dark *) {
  background-color: rgb(99 102 241 / 0.2);
}

.dark\:bg-dark-action\/5:is(.dark *) {
  background-color: rgb(99 102 241 / 0.05);
}

.dark\:bg-dark-azure\/15:is(.dark *) {
  background-color: rgb(0 122 204 / 0.15);
}

.dark\:bg-dark-background:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-border:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-error:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-error-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-error-900\/10:is(.dark *) {
  background-color: rgb(127 29 29 / 0.1);
}

.dark\:bg-dark-error-900\/30:is(.dark *) {
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:bg-dark-error-900\/40:is(.dark *) {
  background-color: rgb(127 29 29 / 0.4);
}

.dark\:bg-dark-error-900\/50:is(.dark *) {
  background-color: rgb(127 29 29 / 0.5);
}

.dark\:bg-dark-error\/15:is(.dark *) {
  background-color: rgb(248 113 113 / 0.15);
}

.dark\:bg-dark-error\/20:is(.dark *) {
  background-color: rgb(248 113 113 / 0.2);
}

.dark\:bg-dark-error\/5:is(.dark *) {
  background-color: rgb(248 113 113 / 0.05);
}

.dark\:bg-dark-gold:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 183 0 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-gold-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(120 53 15 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-gold-900\/30:is(.dark *) {
  background-color: rgb(120 53 15 / 0.3);
}

.dark\:bg-dark-gold-900\/40:is(.dark *) {
  background-color: rgb(120 53 15 / 0.4);
}

.dark\:bg-dark-gold-900\/50:is(.dark *) {
  background-color: rgb(120 53 15 / 0.5);
}

.dark\:bg-dark-gold\/15:is(.dark *) {
  background-color: rgb(245 183 0 / 0.15);
}

.dark\:bg-dark-hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-primary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 53 102 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-primary\/15:is(.dark *) {
  background-color: rgb(0 53 102 / 0.15);
}

.dark\:bg-dark-secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-secondary-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 92 122 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-secondary-900\/40:is(.dark *) {
  background-color: rgb(0 92 122 / 0.4);
}

.dark\:bg-dark-secondary\/15:is(.dark *) {
  background-color: rgb(0 196 241 / 0.15);
}

.dark\:bg-dark-secondary\/20:is(.dark *) {
  background-color: rgb(0 196 241 / 0.2);
}

.dark\:bg-dark-success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-success-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-success-900\/30:is(.dark *) {
  background-color: rgb(20 83 45 / 0.3);
}

.dark\:bg-dark-success-900\/40:is(.dark *) {
  background-color: rgb(20 83 45 / 0.4);
}

.dark\:bg-dark-success-900\/50:is(.dark *) {
  background-color: rgb(20 83 45 / 0.5);
}

.dark\:bg-dark-success\/15:is(.dark *) {
  background-color: rgb(74 222 128 / 0.15);
}

.dark\:bg-dark-success\/20:is(.dark *) {
  background-color: rgb(74 222 128 / 0.2);
}

.dark\:bg-dark-surface:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-violet:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(126 87 194 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-violet-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(59 31 106 / var(--tw-bg-opacity, 1));
}

.dark\:bg-dark-violet\/15:is(.dark *) {
  background-color: rgb(126 87 194 / 0.15);
}

.dark\:bg-gray-500:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-700:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-700\/30:is(.dark *) {
  background-color: rgb(55 65 81 / 0.3);
}

.dark\:bg-gray-700\/40:is(.dark *) {
  background-color: rgb(55 65 81 / 0.4);
}

.dark\:bg-gray-700\/50:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.dark\:bg-gray-700\/60:is(.dark *) {
  background-color: rgb(55 65 81 / 0.6);
}

.dark\:bg-gray-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-800\/50:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5);
}

.dark\:bg-gray-800\/70:is(.dark *) {
  background-color: rgb(31 41 55 / 0.7);
}

.dark\:bg-gray-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.dark\:bg-gray-900\/40:is(.dark *) {
  background-color: rgb(17 24 39 / 0.4);
}

.dark\:bg-gray-900\/50:is(.dark *) {
  background-color: rgb(17 24 39 / 0.5);
}

.dark\:bg-gray-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-800\/40:is(.dark *) {
  background-color: rgb(22 101 52 / 0.4);
}

.dark\:bg-green-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-900\/20:is(.dark *) {
  background-color: rgb(20 83 45 / 0.2);
}

.dark\:bg-indigo-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}

.dark\:bg-indigo-900\/30:is(.dark *) {
  background-color: rgb(49 46 129 / 0.3);
}

.dark\:bg-light-primary-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 26 51 / var(--tw-bg-opacity, 1));
}

.dark\:bg-light-primary\/20:is(.dark *) {
  background-color: rgb(0 53 102 / 0.2);
}

.dark\:bg-orange-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.dark\:bg-orange-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.dark\:bg-purple-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-900\/20:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:bg-sky-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(12 74 110 / var(--tw-bg-opacity, 1));
}

.dark\:bg-sky-950\/10:is(.dark *) {
  background-color: rgb(8 47 73 / 0.1);
}

.dark\:bg-slate-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.dark\:bg-teal-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(19 78 74 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}

.dark\:bg-yellow-900\/20:is(.dark *) {
  background-color: rgb(113 63 18 / 0.2);
}

.dark\:bg-yellow-950\/10:is(.dark *) {
  background-color: rgb(66 32 6 / 0.1);
}

.dark\:bg-opacity-70:is(.dark *) {
  --tw-bg-opacity: 0.7;
}

.dark\:text-\[color\:var\(--sw-cream\)\]:is(.dark *) {
  color: var(--sw-cream);
}

.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-action:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-action-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-azure:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 122 204 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-error:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-gold:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(245 183 0 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-gold-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-gold-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-muted:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-primary:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 53 102 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-secondary:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-secondary-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(51 223 255 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-success:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-success-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-text:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.dark\:text-dark-violet:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.dark\:text-emerald-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-500:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.dark\:text-gray-600:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.dark\:text-green-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-green-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.dark\:text-indigo-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.dark\:text-light-secondary:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(0 196 241 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-sky-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}

.dark\:text-slate-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.dark\:text-teal-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}

.dark\:text-violet-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.dark\:text-white:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.dark\:placeholder-gray-400:is(.dark *)::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.dark\:opacity-60:is(.dark *) {
  opacity: 0.6;
}

.dark\:shadow-md:is(.dark *) {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.dark\:shadow-gray-700:is(.dark *) {
  --tw-shadow-color: #374151;
  --tw-shadow: var(--tw-shadow-colored);
}

.dark\:ring-dark-action:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.dark\:ring-dark-action\/20:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.2);
}

.dark\:ring-dark-action\/30:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.3);
}

.dark\:ring-dark-action\/40:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.4);
}

.dark\:ring-dark-secondary-700:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 144 184 / var(--tw-ring-opacity, 1));
}

.dark\:ring-dark-success-700:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity, 1));
}

.dark\:ring-gray-500\/30:is(.dark *) {
  --tw-ring-color: rgb(107 114 128 / 0.3);
}

.dark\:ring-gray-600:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));
}

.dark\:ring-gray-800:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1));
}

.dark\:ring-gray-900:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1));
}

.dark\:ring-light-error\/30:is(.dark *) {
  --tw-ring-color: rgb(220 38 38 / 0.3);
}

.dark\:ring-light-gold\/30:is(.dark *) {
  --tw-ring-color: rgb(245 183 0 / 0.3);
}

.dark\:ring-light-secondary\/30:is(.dark *) {
  --tw-ring-color: rgb(0 196 241 / 0.3);
}

.dark\:ring-light-success\/30:is(.dark *) {
  --tw-ring-color: rgb(22 163 74 / 0.3);
}

.dark\:ring-light-violet\/30:is(.dark *) {
  --tw-ring-color: rgb(126 87 194 / 0.3);
}

.dark\:focus-within\:ring-blue-900\/40:focus-within:is(.dark *) {
  --tw-ring-color: rgb(30 58 138 / 0.4);
}

.dark\:focus-within\:ring-dark-action\/20:focus-within:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.2);
}

.dark\:hover\:border-dark-action:hover:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.dark\:hover\:bg-\[var\(--sw-copper-h\)\]:hover:is(.dark *) {
  background-color: var(--sw-copper-h);
}

.dark\:hover\:bg-\[var\(--sw-elevated\)\]:hover:is(.dark *) {
  background-color: var(--sw-elevated);
}

.dark\:hover\:bg-blue-700:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-blue-800:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-blue-900\/30:hover:is(.dark *) {
  background-color: rgb(30 58 138 / 0.3);
}

.dark\:hover\:bg-blue-950\/10:hover:is(.dark *) {
  background-color: rgb(23 37 84 / 0.1);
}

.dark\:hover\:bg-blue-950\/30:hover:is(.dark *) {
  background-color: rgb(23 37 84 / 0.3);
}

.dark\:hover\:bg-dark-action-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-dark-action-900\/20:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.2);
}

.dark\:hover\:bg-dark-action-900\/30:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.3);
}

.dark\:hover\:bg-dark-action\/10:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.dark\:hover\:bg-dark-action\/25:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.25);
}

.dark\:hover\:bg-dark-action\/5:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.05);
}

.dark\:hover\:bg-dark-action\/90:hover:is(.dark *) {
  background-color: rgb(99 102 241 / 0.9);
}

.dark\:hover\:bg-dark-error-900\/20:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.2);
}

.dark\:hover\:bg-dark-error-900\/30:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:hover\:bg-dark-hover:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(47 52 57 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-dark-secondary-900\/20:hover:is(.dark *) {
  background-color: rgb(0 92 122 / 0.2);
}

.dark\:hover\:bg-gray-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-600:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-700:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-700\/30:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.3);
}

.dark\:hover\:bg-gray-700\/40:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.4);
}

.dark\:hover\:bg-gray-700\/50:hover:is(.dark *) {
  background-color: rgb(55 65 81 / 0.5);
}

.dark\:hover\:bg-gray-800:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.dark\:hover\:bg-gray-800\/40:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.4);
}

.dark\:hover\:bg-gray-800\/50:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.5);
}

.dark\:hover\:bg-gray-800\/60:hover:is(.dark *) {
  background-color: rgb(31 41 55 / 0.6);
}

.dark\:hover\:bg-indigo-900\/30:hover:is(.dark *) {
  background-color: rgb(49 46 129 / 0.3);
}

.dark\:hover\:bg-red-900\/30:hover:is(.dark *) {
  background-color: rgb(127 29 29 / 0.3);
}

.dark\:hover\:text-blue-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-blue-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-action:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-action-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(224 231 255 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-action-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-action\/80:hover:is(.dark *) {
  color: rgb(99 102 241 / 0.8);
}

.dark\:hover\:text-dark-error:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-gold-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-text:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 243 247 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-dark-violet:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(126 87 194 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-100:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-gray-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-green-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-indigo-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-orange-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-purple-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-purple-400:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-red-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.dark\:hover\:text-yellow-200:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.dark\:focus\:ring-blue-400:focus:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}

.dark\:focus\:ring-dark-action:focus:is(.dark *) {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));
}

.group:hover .dark\:group-hover\:text-dark-action:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}

.group:hover .dark\:group-hover\:text-gray-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}

.peer:checked ~ .dark\:peer-checked\:border-dark-action:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}

.peer:checked ~ .dark\:peer-checked\:bg-blue-950\/15:is(.dark *) {
  background-color: rgb(23 37 84 / 0.15);
}

.peer:checked ~ .dark\:peer-checked\:bg-dark-action:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .dark\:peer-checked\:bg-dark-action\/10:is(.dark *) {
  background-color: rgb(99 102 241 / 0.1);
}

.peer:checked ~ .dark\:peer-checked\:bg-dark-success:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .dark\:peer-checked\:bg-light-secondary:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(0 196 241 / var(--tw-bg-opacity, 1));
}

.peer:checked ~ .dark\:peer-checked\:ring-blue-900\/40:is(.dark *) {
  --tw-ring-color: rgb(30 58 138 / 0.4);
}

.peer:checked ~ .dark\:peer-checked\:ring-dark-action\/20:is(.dark *) {
  --tw-ring-color: rgb(99 102 241 / 0.2);
}

@media (min-width: 640px) {
  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mr-1\.5 {
    margin-right: 0.375rem;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:h-28 {
    height: 7rem;
  }

  .sm\:w-12 {
    width: 3rem;
  }

  .sm\:w-24 {
    width: 6rem;
  }

  .sm\:w-36 {
    width: 9rem;
  }

  .sm\:w-40 {
    width: 10rem;
  }

  .sm\:w-44 {
    width: 11rem;
  }

  .sm\:w-64 {
    width: 16rem;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

  .sm\:max-w-xs {
    max-width: 20rem;
  }

  .sm\:flex-1 {
    flex: 1 1 0%;
  }

  .sm\:flex-none {
    flex: none;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:self-auto {
    align-self: auto;
  }

  .sm\:rounded-none {
    border-radius: 0px;
  }

  .sm\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

  .sm\:bg-\[radial-gradient\(ellipse_at_top_left\2c _var\(--tw-gradient-stops\)\)\] {
    background-image: radial-gradient(ellipse at top left, var(--tw-gradient-stops));
  }

  .sm\:from-indigo-700 {
    --tw-gradient-from: #4338ca var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(67 56 202 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  }

  .sm\:to-sky-600 {
    --tw-gradient-to: #0284c7 var(--tw-gradient-to-position);
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .sm\:px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .sm\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .sm\:text-white\/90 {
    color: rgb(255 255 255 / 0.9);
  }

  .sm\:shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  .sm\:ring-1 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }

  .sm\:ring-gray-900\/10 {
    --tw-ring-color: rgb(17 24 39 / 0.1);
  }

  .sm\:dark\:bg-gray-800:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  }
}

@media (min-width: 768px) {
  .md\:ml-2 {
    margin-left: 0.5rem;
  }

  .md\:block {
    display: block;
  }

  .md\:inline-block {
    display: inline-block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:table-cell {
    display: table-cell;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-64 {
    width: 16rem;
  }

  .md\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .md\:space-x-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .md\:pb-6 {
    padding-bottom: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .lg\:absolute {
    position: absolute;
  }

  .lg\:sticky {
    position: sticky;
  }

  .lg\:right-0 {
    right: 0px;
  }

  .lg\:top-\[80px\] {
    top: 80px;
  }

  .lg\:top-full {
    top: 100%;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:ml-64 {
    margin-left: 16rem;
  }

  .lg\:mr-1\.5 {
    margin-right: 0.375rem;
  }

  .lg\:mt-2 {
    margin-top: 0.5rem;
  }

  .lg\:inline {
    display: inline;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:table-cell {
    display: table-cell;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-32 {
    height: 8rem;
  }

  .lg\:w-96 {
    width: 24rem;
  }

  .lg\:translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }

  .lg\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_288px\] {
    grid-template-columns: 1fr 288px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-x-8 {
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }

  .lg\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .lg\:text-left {
    text-align: left;
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

@media (min-width: 1280px) {
  .xl\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .xl\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .xl\:table-cell {
    display: table-cell;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .xl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .xl\:p-16 {
    padding: 4rem;
  }

  .xl\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 1536px) {
  .\32xl\:table-cell {
    display: table-cell;
  }
}
