@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

@layer tailwind-base, primevue, tailwind-utilities;

@layer tailwind-base
{
  *, ::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.13 | 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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 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] {
  display: none;
}
}

@layer tailwind-utilities
{
  .container{
    width: 100%;
  }
  @media (min-width: 640px){

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

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

    .container{
      max-width: 1024px;
    }
  }
  @media (min-width: 1280px){

    .container{
      max-width: 1280px;
    }
  }
  @media (min-width: 1536px){

    .container{
      max-width: 1536px;
    }
  }
  .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;
  }
  .pointer-events-auto{
    pointer-events: auto;
  }
  .visible{
    visibility: visible;
  }
  .invisible{
    visibility: hidden;
  }
  .collapse{
    visibility: collapse;
  }
  .static{
    position: static;
  }
  .\!fixed{
    position: fixed !important;
  }
  .fixed{
    position: fixed;
  }
  .\!absolute{
    position: absolute !important;
  }
  .absolute{
    position: absolute;
  }
  .relative{
    position: relative;
  }
  .\!sticky{
    position: sticky !important;
  }
  .sticky{
    position: sticky;
  }
  .inset-0{
    inset: 0px;
  }
  .\!left-0{
    left: 0px !important;
  }
  .\!top-0{
    top: 0px !important;
  }
  .bottom-0{
    bottom: 0px;
  }
  .bottom-\[-0\.75rem\]{
    bottom: -0.75rem;
  }
  .bottom-\[20px\]{
    bottom: 20px;
  }
  .left-0{
    left: 0px;
  }
  .left-1\/2{
    left: 50%;
  }
  .left-2\/4{
    left: 50%;
  }
  .left-\[167px\]{
    left: 167px;
  }
  .left-\[50\%\]{
    left: 50%;
  }
  .left-\[8px\]{
    left: 8px;
  }
  .right-0{
    right: 0px;
  }
  .right-12{
    right: 3rem;
  }
  .right-2\.5{
    right: 0.625rem;
  }
  .right-3{
    right: 0.75rem;
  }
  .right-\[0\.5rem\]{
    right: 0.5rem;
  }
  .right-\[20px\]{
    right: 20px;
  }
  .right-\[50\%\]{
    right: 50%;
  }
  .right-px{
    right: 1px;
  }
  .top-0{
    top: 0px;
  }
  .top-1\/2{
    top: 50%;
  }
  .top-\[50\%\]{
    top: 50%;
  }
  .top-\[8px\]{
    top: 8px;
  }
  .top-full{
    top: 100%;
  }
  .top-px{
    top: 1px;
  }
  .z-0{
    z-index: 0;
  }
  .z-10{
    z-index: 10;
  }
  .z-20{
    z-index: 20;
  }
  .z-30{
    z-index: 30;
  }
  .z-40{
    z-index: 40;
  }
  .z-50{
    z-index: 50;
  }
  .z-\[1000\]{
    z-index: 1000;
  }
  .z-\[1\]{
    z-index: 1;
  }
  .order-1{
    order: 1;
  }
  .order-2{
    order: 2;
  }
  .order-3{
    order: 3;
  }
  .float-left{
    float: left;
  }
  .\!m-0{
    margin: 0px !important;
  }
  .m-0{
    margin: 0px;
  }
  .m-2{
    margin: 0.5rem;
  }
  .m-\[0\.143rem\]{
    margin: 0.143rem;
  }
  .m-auto{
    margin: auto;
  }
  .mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }
  .mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
  .mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
  .mx-4{
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .mx-auto{
    margin-left: auto;
    margin-right: auto;
  }
  .my-0{
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .my-1{
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-5{
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
  .my-\[2px\]{
    margin-top: 2px;
    margin-bottom: 2px;
  }
  .my-auto{
    margin-top: auto;
    margin-bottom: auto;
  }
  .-mb-\[10px\]{
    margin-bottom: -10px;
  }
  .-mb-px{
    margin-bottom: -1px;
  }
  .-ml-2{
    margin-left: -0.5rem;
  }
  .-ml-3{
    margin-left: -0.75rem;
  }
  .-ml-4{
    margin-left: -1rem;
  }
  .-ml-\[10px\]{
    margin-left: -10px;
  }
  .-ml-\[2px\]{
    margin-left: -2px;
  }
  .-ml-\[5px\]{
    margin-left: -5px;
  }
  .-ml-px{
    margin-left: -1px;
  }
  .-mr-2{
    margin-right: -0.5rem;
  }
  .-ms-1\.5{
    margin-inline-start: -0.375rem;
  }
  .-mt-2{
    margin-top: -0.5rem;
  }
  .-mt-3{
    margin-top: -0.75rem;
  }
  .-mt-\[10px\]{
    margin-top: -10px;
  }
  .-mt-\[5px\]{
    margin-top: -5px;
  }
  .mb-0{
    margin-bottom: 0px;
  }
  .mb-1{
    margin-bottom: 0.25rem;
  }
  .mb-1\.5{
    margin-bottom: 0.375rem;
  }
  .mb-2{
    margin-bottom: 0.5rem;
  }
  .mb-3{
    margin-bottom: 0.75rem;
  }
  .mb-3\.5{
    margin-bottom: 0.875rem;
  }
  .mb-4{
    margin-bottom: 1rem;
  }
  .mb-5{
    margin-bottom: 1.25rem;
  }
  .mb-6{
    margin-bottom: 1.5rem;
  }
  .mb-9{
    margin-bottom: 2.25rem;
  }
  .mb-\[0\.375rem\]{
    margin-bottom: 0.375rem;
  }
  .mb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{
    margin-bottom: calc(0.75rem + env(safe-area-inset-bottom));
  }
  .me-1\.5{
    margin-inline-end: 0.375rem;
  }
  .ml-0{
    margin-left: 0px;
  }
  .ml-2{
    margin-left: 0.5rem;
  }
  .ml-4{
    margin-left: 1rem;
  }
  .ml-\[-1px\]{
    margin-left: -1px;
  }
  .ml-auto{
    margin-left: auto;
  }
  .mr-0{
    margin-right: 0px;
  }
  .mr-1{
    margin-right: 0.25rem;
  }
  .mr-2{
    margin-right: 0.5rem;
  }
  .mr-4{
    margin-right: 1rem;
  }
  .mr-auto{
    margin-right: auto;
  }
  .mt-0\.5{
    margin-top: 0.125rem;
  }
  .mt-1{
    margin-top: 0.25rem;
  }
  .mt-2{
    margin-top: 0.5rem;
  }
  .mt-3{
    margin-top: 0.75rem;
  }
  .mt-4{
    margin-top: 1rem;
  }
  .mt-8{
    margin-top: 2rem;
  }
  .mt-\[-0\.5rem\]{
    margin-top: -0.5rem;
  }
  .mt-\[2px\]{
    margin-top: 2px;
  }
  .box-border{
    box-sizing: border-box;
  }
  .block{
    display: block;
  }
  .inline-block{
    display: inline-block;
  }
  .inline{
    display: inline;
  }
  .flex{
    display: flex;
  }
  .inline-flex{
    display: inline-flex;
  }
  .table{
    display: table;
  }
  .grid{
    display: grid;
  }
  .hidden{
    display: none;
  }
  .\!h-screen{
    height: 100vh !important;
  }
  .h-0{
    height: 0px;
  }
  .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-24{
    height: 6rem;
  }
  .h-28{
    height: 7rem;
  }
  .h-3{
    height: 0.75rem;
  }
  .h-4{
    height: 1rem;
  }
  .h-5{
    height: 1.25rem;
  }
  .h-6{
    height: 1.5rem;
  }
  .h-7{
    height: 1.75rem;
  }
  .h-72{
    height: 18rem;
  }
  .h-8{
    height: 2rem;
  }
  .h-9{
    height: 2.25rem;
  }
  .h-\[0\.875rem\]{
    height: 0.875rem;
  }
  .h-\[1\.125rem\]{
    height: 1.125rem;
  }
  .h-\[1\.25rem\]{
    height: 1.25rem;
  }
  .h-\[1\.5rem\]{
    height: 1.5rem;
  }
  .h-\[1\.70rem\]{
    height: 1.70rem;
  }
  .h-\[10px\]{
    height: 10px;
  }
  .h-\[150px\]{
    height: 150px;
  }
  .h-\[166px\]{
    height: 166px;
  }
  .h-\[2\.25rem\]{
    height: 2.25rem;
  }
  .h-\[20px\]{
    height: 20px;
  }
  .h-\[2px\]{
    height: 2px;
  }
  .h-\[3px\]{
    height: 3px;
  }
  .h-\[3rem\]{
    height: 3rem;
  }
  .h-\[9px\]{
    height: 9px;
  }
  .h-\[calc\(100\%\+18px\)\]{
    height: calc(100% + 18px);
  }
  .h-\[calc\(100\%-2px\)\]{
    height: calc(100% - 2px);
  }
  .h-\[calc\(100vh-2rem\)\]{
    height: calc(100vh - 2rem);
  }
  .h-auto{
    height: auto;
  }
  .h-full{
    height: 100%;
  }
  .h-screen{
    height: 100vh;
  }
  .\!max-h-full{
    max-height: 100% !important;
  }
  .max-h-0{
    max-height: 0px;
  }
  .max-h-40{
    max-height: 10rem;
  }
  .max-h-\[1000px\]{
    max-height: 1000px;
  }
  .max-h-\[200px\]{
    max-height: 200px;
  }
  .max-h-\[85vh\]{
    max-height: 85vh;
  }
  .max-h-\[90vh\]{
    max-height: 90vh;
  }
  .min-h-0{
    min-height: 0px;
  }
  .min-h-\[70px\]{
    min-height: 70px;
  }
  .min-h-full{
    min-height: 100%;
  }
  .\!w-16{
    width: 4rem !important;
  }
  .\!w-screen{
    width: 100vw !important;
  }
  .w-0{
    width: 0px;
  }
  .w-1\/2{
    width: 50%;
  }
  .w-1\/3{
    width: 33.333333%;
  }
  .w-10{
    width: 2.5rem;
  }
  .w-12{
    width: 3rem;
  }
  .w-14{
    width: 3.5rem;
  }
  .w-16{
    width: 4rem;
  }
  .w-2{
    width: 0.5rem;
  }
  .w-20{
    width: 5rem;
  }
  .w-24{
    width: 6rem;
  }
  .w-28{
    width: 7rem;
  }
  .w-3{
    width: 0.75rem;
  }
  .w-4{
    width: 1rem;
  }
  .w-48{
    width: 12rem;
  }
  .w-5{
    width: 1.25rem;
  }
  .w-56{
    width: 14rem;
  }
  .w-6{
    width: 1.5rem;
  }
  .w-6\/12{
    width: 50%;
  }
  .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-\[0\.875rem\]{
    width: 0.875rem;
  }
  .w-\[1\%\]{
    width: 1%;
  }
  .w-\[1\.125rem\]{
    width: 1.125rem;
  }
  .w-\[1\.70rem\]{
    width: 1.70rem;
  }
  .w-\[10px\]{
    width: 10px;
  }
  .w-\[150px\]{
    width: 150px;
  }
  .w-\[17px\]{
    width: 17px;
  }
  .w-\[193px\]{
    width: 193px;
  }
  .w-\[20px\]{
    width: 20px;
  }
  .w-\[21px\]{
    width: 21px;
  }
  .w-\[2px\]{
    width: 2px;
  }
  .w-\[3px\]{
    width: 3px;
  }
  .w-\[3rem\]{
    width: 3rem;
  }
  .w-\[9px\]{
    width: 9px;
  }
  .w-\[calc\(100\%\+18px\)\]{
    width: calc(100% + 18px);
  }
  .w-auto{
    width: auto;
  }
  .w-full{
    width: 100%;
  }
  .w-px{
    width: 1px;
  }
  .min-w-0{
    min-width: 0px;
  }
  .min-w-\[1\.25rem\]{
    min-width: 1.25rem;
  }
  .min-w-\[1\.5rem\]{
    min-width: 1.5rem;
  }
  .min-w-\[12\.5rem\]{
    min-width: 12.5rem;
  }
  .min-w-\[12rem\]{
    min-width: 12rem;
  }
  .min-w-\[2\.25rem\]{
    min-width: 2.25rem;
  }
  .min-w-\[2\.5rem\]{
    min-width: 2.5rem;
  }
  .min-w-\[3rem\]{
    min-width: 3rem;
  }
  .min-w-\[80vw\]{
    min-width: 80vw;
  }
  .min-w-full{
    min-width: 100%;
  }
  .max-w-2xl{
    max-width: 42rem;
  }
  .max-w-3xl{
    max-width: 48rem;
  }
  .max-w-full{
    max-width: 100%;
  }
  .max-w-lg{
    max-width: 32rem;
  }
  .max-w-sm{
    max-width: 24rem;
  }
  .flex-1{
    flex: 1 1 0%;
  }
  .flex-\[2\]{
    flex: 2;
  }
  .flex-auto{
    flex: 1 1 auto;
  }
  .flex-initial{
    flex: 0 1 auto;
  }
  .flex-shrink{
    flex-shrink: 1;
  }
  .shrink{
    flex-shrink: 1;
  }
  .shrink-0{
    flex-shrink: 0;
  }
  .grow{
    flex-grow: 1;
  }
  .grow-0{
    flex-grow: 0;
  }
  .basis-2\/4{
    flex-basis: 50%;
  }
  .table-fixed{
    table-layout: fixed;
  }
  .border-collapse{
    border-collapse: collapse;
  }
  .border-separate{
    border-collapse: separate;
  }
  .border-spacing-0{
    --tw-border-spacing-x: 0px;
    --tw-border-spacing-y: 0px;
    border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
  }
  .origin-bottom{
    transform-origin: bottom;
  }
  .origin-center{
    transform-origin: center;
  }
  .origin-left{
    transform-origin: left;
  }
  .origin-right{
    transform-origin: right;
  }
  .origin-top{
    transform-origin: top;
  }
  .-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-2\/4{
    --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-y-full{
    --tw-translate-y: -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-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));
  }
  .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-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-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-2\/4{
    --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-y-full{
    --tw-translate-y: 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));
  }
  .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-45{
    --tw-rotate: 45deg;
    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{
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    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-100{
    --tw-scale-x: 1;
    --tw-scale-y: 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));
  }
  .scale-75{
    --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));
  }
  .scale-\[0\.1\]{
    --tw-scale-x: 0.1;
    --tw-scale-y: 0.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));
  }
  .scale-\[1\2c 1\]{
    --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));
  }
  .scale-y-\[0\.8\]{
    --tw-scale-y: 0.8;
    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));
  }
  .\!transform-none{
    transform: none !important;
  }
  .transform-none{
    transform: none;
  }
  @keyframes fadeinright{

    0%{
      opacity: 0;
      transform: translateX(100%);
      transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
    }

    100%{
      opacity: 1;
      transform: translateX(0%);
    }
  }
  .animate-fadeinright{
    animation: fadeinright 0.15s linear;
  }
  @keyframes fadeoutright{

    0%{
      opacity: 1;
      transform: translateX(0%);
      transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
    }

    100%{
      opacity: 0;
      transform: translateX(100%);
    }
  }
  .animate-fadeoutright{
    animation: fadeoutright 0.15s linear;
  }
  @keyframes pulse{

    50%{
      opacity: .5;
    }
  }
  .animate-pulse{
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }
  @keyframes slidedown{

    0%{
      max-height: 0;
    }

    100%{
      max-height: auto;
    }
  }
  .animate-slidedown{
    animation: slidedown 0.45s ease-in-out;
  }
  @keyframes slideup{

    0%{
      max-height: 1000px;
    }

    100%{
      max-height: 0;
    }
  }
  .animate-slideup{
    animation: slideup 0.45s cubic-bezier(0, 1, 0, 1);
  }
  @keyframes spin{

    to{
      transform: rotate(360deg);
    }
  }
  .animate-spin{
    animation: spin 1s linear infinite;
  }
  .cursor-auto{
    cursor: auto;
  }
  .cursor-col-resize{
    cursor: col-resize;
  }
  .cursor-default{
    cursor: default;
  }
  .cursor-grab{
    cursor: grab;
  }
  .cursor-pointer{
    cursor: pointer;
  }
  .cursor-row-resize{
    cursor: row-resize;
  }
  .cursor-text{
    cursor: text;
  }
  .touch-manipulation{
    touch-action: manipulation;
  }
  .select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  .resize{
    resize: both;
  }
  .list-none{
    list-style-type: none;
  }
  .appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .auto-rows-fr{
    grid-auto-rows: minmax(0, 1fr);
  }
  .grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 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;
  }
  .items-end{
    align-items: flex-end;
  }
  .items-center{
    align-items: center;
  }
  .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;
  }
  .gap-0{
    gap: 0px;
  }
  .gap-0\.5{
    gap: 0.125rem;
  }
  .gap-1{
    gap: 0.25rem;
  }
  .gap-1\.5{
    gap: 0.375rem;
  }
  .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-\[2px\]{
    gap: 2px;
  }
  .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-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-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));
  }
  .self-center{
    align-self: center;
  }
  .overflow-auto{
    overflow: auto;
  }
  .overflow-hidden{
    overflow: hidden;
  }
  .overflow-scroll{
    overflow: scroll;
  }
  .overflow-x-auto{
    overflow-x: auto;
  }
  .overflow-y-auto{
    overflow-y: auto;
  }
  .overflow-x-hidden{
    overflow-x: hidden;
  }
  .overflow-y-hidden{
    overflow-y: hidden;
  }
  .truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-ellipsis{
    text-overflow: ellipsis;
  }
  .whitespace-nowrap{
    white-space: nowrap;
  }
  .whitespace-pre-line{
    white-space: pre-line;
  }
  .break-words{
    overflow-wrap: break-word;
  }
  .break-all{
    word-break: break-all;
  }
  .rounded{
    border-radius: 0.25rem;
  }
  .rounded-2xl{
    border-radius: 1rem;
  }
  .rounded-\[0\.71rem\]{
    border-radius: 0.71rem;
  }
  .rounded-\[12px\]{
    border-radius: 12px;
  }
  .rounded-\[16px\]{
    border-radius: 16px;
  }
  .rounded-\[4px\]{
    border-radius: 4px;
  }
  .rounded-\[50\%\]{
    border-radius: 50%;
  }
  .rounded-full{
    border-radius: 9999px;
  }
  .rounded-lg{
    border-radius: 0.5rem;
  }
  .rounded-md{
    border-radius: 0.375rem;
  }
  .rounded-none{
    border-radius: 0px;
  }
  .rounded-xl{
    border-radius: 0.75rem;
  }
  .\!rounded-r-none{
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
  }
  .rounded-b-lg{
    border-bottom-right-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-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-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }
  .rounded-t-md{
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
  }
  .rounded-bl-lg{
    border-bottom-left-radius: 0.5rem;
  }
  .rounded-bl-none{
    border-bottom-left-radius: 0px;
  }
  .rounded-br-lg{
    border-bottom-right-radius: 0.5rem;
  }
  .rounded-br-none{
    border-bottom-right-radius: 0px;
  }
  .rounded-tl-lg{
    border-top-left-radius: 0.5rem;
  }
  .rounded-tl-md{
    border-top-left-radius: 0.375rem;
  }
  .rounded-tl-none{
    border-top-left-radius: 0px;
  }
  .rounded-tr-lg{
    border-top-right-radius: 0.5rem;
  }
  .rounded-tr-md{
    border-top-right-radius: 0.375rem;
  }
  .rounded-tr-none{
    border-top-right-radius: 0px;
  }
  .\!border-2{
    border-width: 2px !important;
  }
  .border{
    border-width: 1px;
  }
  .border-0{
    border-width: 0px;
  }
  .border-2{
    border-width: 2px;
  }
  .border-x{
    border-left-width: 1px;
    border-right-width: 1px;
  }
  .border-x-0{
    border-left-width: 0px;
    border-right-width: 0px;
  }
  .border-x-\[10px\]{
    border-left-width: 10px;
    border-right-width: 10px;
  }
  .border-y{
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .border-y-\[10px\]{
    border-top-width: 10px;
    border-bottom-width: 10px;
  }
  .border-b{
    border-bottom-width: 1px;
  }
  .border-b-0{
    border-bottom-width: 0px;
  }
  .border-b-2{
    border-bottom-width: 2px;
  }
  .border-b-\[10px\]{
    border-bottom-width: 10px;
  }
  .border-l{
    border-left-width: 1px;
  }
  .border-l-0{
    border-left-width: 0px;
  }
  .border-l-2{
    border-left-width: 2px;
  }
  .border-l-\[10px\]{
    border-left-width: 10px;
  }
  .border-r{
    border-right-width: 1px;
  }
  .border-r-0{
    border-right-width: 0px;
  }
  .border-r-\[10px\]{
    border-right-width: 10px;
  }
  .border-t{
    border-top-width: 1px;
  }
  .border-t-0{
    border-top-width: 0px;
  }
  .border-t-\[10px\]{
    border-top-width: 10px;
  }
  .border-solid{
    border-style: solid;
  }
  .border-dashed{
    border-style: dashed;
  }
  .border-dotted{
    border-style: dotted;
  }
  .border-none{
    border-style: none;
  }
  .border-amber-100{
    --tw-border-opacity: 1;
    border-color: rgb(254 243 199 / var(--tw-border-opacity));
  }
  .border-amber-200{
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity));
  }
  .border-amber-300{
    --tw-border-opacity: 1;
    border-color: rgb(252 211 77 / var(--tw-border-opacity));
  }
  .border-blue-200{
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity));
  }
  .border-blue-300{
    --tw-border-opacity: 1;
    border-color: rgb(147 197 253 / var(--tw-border-opacity));
  }
  .border-blue-400{
    --tw-border-opacity: 1;
    border-color: rgb(96 165 250 / var(--tw-border-opacity));
  }
  .border-blue-500{
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity));
  }
  .border-blue-500\/20{
    border-color: rgb(59 130 246 / 0.2);
  }
  .border-gray-500{
    --tw-border-opacity: 1;
    border-color: rgb(107 114 128 / var(--tw-border-opacity));
  }
  .border-gray-600{
    --tw-border-opacity: 1;
    border-color: rgb(75 85 99 / var(--tw-border-opacity));
  }
  .border-green-200{
    --tw-border-opacity: 1;
    border-color: rgb(187 247 208 / var(--tw-border-opacity));
  }
  .border-green-300{
    --tw-border-opacity: 1;
    border-color: rgb(134 239 172 / var(--tw-border-opacity));
  }
  .border-green-400{
    --tw-border-opacity: 1;
    border-color: rgb(74 222 128 / var(--tw-border-opacity));
  }
  .border-green-500{
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity));
  }
  .border-green-500\/20{
    border-color: rgb(34 197 94 / 0.2);
  }
  .border-orange-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 215 170 / var(--tw-border-opacity));
  }
  .border-orange-300{
    --tw-border-opacity: 1;
    border-color: rgb(253 186 116 / var(--tw-border-opacity));
  }
  .border-orange-400{
    --tw-border-opacity: 1;
    border-color: rgb(251 146 60 / var(--tw-border-opacity));
  }
  .border-orange-500{
    --tw-border-opacity: 1;
    border-color: rgb(249 115 22 / var(--tw-border-opacity));
  }
  .border-orange-500\/20{
    border-color: rgb(249 115 22 / 0.2);
  }
  .border-primary{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-primary-100{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-primary-100) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-primary-200{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-primary-200) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-primary-300{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-primary-emphasis{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-purple-300{
    --tw-border-opacity: 1;
    border-color: rgb(216 180 254 / var(--tw-border-opacity));
  }
  .border-purple-400{
    --tw-border-opacity: 1;
    border-color: rgb(192 132 252 / var(--tw-border-opacity));
  }
  .border-purple-500{
    --tw-border-opacity: 1;
    border-color: rgb(168 85 247 / var(--tw-border-opacity));
  }
  .border-red-200{
    --tw-border-opacity: 1;
    border-color: rgb(254 202 202 / var(--tw-border-opacity));
  }
  .border-red-300{
    --tw-border-opacity: 1;
    border-color: rgb(252 165 165 / var(--tw-border-opacity));
  }
  .border-red-400{
    --tw-border-opacity: 1;
    border-color: rgb(248 113 113 / var(--tw-border-opacity));
  }
  .border-red-500{
    --tw-border-opacity: 1;
    border-color: rgb(239 68 68 / var(--tw-border-opacity));
  }
  .border-red-500\/20{
    border-color: rgb(239 68 68 / 0.2);
  }
  .border-surface-0{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-0\/20{
    border-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.2), transparent);
  }
  .border-surface-100{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-200{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-300{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-500{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-500\/20{
    border-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
  }
  .border-surface-600{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-700{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-800{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-900{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-surface-950{
    --tw-border-opacity: 1;
    border-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-transparent{
    border-color: transparent;
  }
  .border-white{
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));
  }
  .border-b-surface-700{
    --tw-border-opacity: 1;
    border-bottom-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-l-surface-700{
    --tw-border-opacity: 1;
    border-left-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-r-surface-700{
    --tw-border-opacity: 1;
    border-right-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .border-t-surface-700{
    --tw-border-opacity: 1;
    border-top-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
  }
  .bg-amber-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 243 199 / var(--tw-bg-opacity));
  }
  .bg-amber-200{
    --tw-bg-opacity: 1;
    background-color: rgb(253 230 138 / var(--tw-bg-opacity));
  }
  .bg-amber-50{
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity));
  }
  .bg-amber-500{
    --tw-bg-opacity: 1;
    background-color: rgb(245 158 11 / var(--tw-bg-opacity));
  }
  .bg-black\/40{
    background-color: rgb(0 0 0 / 0.4);
  }
  .bg-black\/50{
    background-color: rgb(0 0 0 / 0.5);
  }
  .bg-black\/90{
    background-color: rgb(0 0 0 / 0.9);
  }
  .bg-blue-100{
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity));
  }
  .bg-blue-100\/70{
    background-color: rgb(219 234 254 / 0.7);
  }
  .bg-blue-300\/10{
    background-color: rgb(147 197 253 / 0.1);
  }
  .bg-blue-400{
    --tw-bg-opacity: 1;
    background-color: rgb(96 165 250 / var(--tw-bg-opacity));
  }
  .bg-blue-50\/90{
    background-color: rgb(239 246 255 / 0.9);
  }
  .bg-blue-500{
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity));
  }
  .bg-blue-500\/20{
    background-color: rgb(59 130 246 / 0.2);
  }
  .bg-emerald-100{
    --tw-bg-opacity: 1;
    background-color: rgb(209 250 229 / var(--tw-bg-opacity));
  }
  .bg-gray-200{
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity));
  }
  .bg-gray-500{
    --tw-bg-opacity: 1;
    background-color: rgb(107 114 128 / var(--tw-bg-opacity));
  }
  .bg-green-100{
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity));
  }
  .bg-green-100\/70{
    background-color: rgb(220 252 231 / 0.7);
  }
  .bg-green-300\/10{
    background-color: rgb(134 239 172 / 0.1);
  }
  .bg-green-400{
    --tw-bg-opacity: 1;
    background-color: rgb(74 222 128 / var(--tw-bg-opacity));
  }
  .bg-green-400\/50{
    background-color: rgb(74 222 128 / 0.5);
  }
  .bg-green-50\/90{
    background-color: rgb(240 253 244 / 0.9);
  }
  .bg-green-500{
    --tw-bg-opacity: 1;
    background-color: rgb(34 197 94 / var(--tw-bg-opacity));
  }
  .bg-green-500\/20{
    background-color: rgb(34 197 94 / 0.2);
  }
  .bg-indigo-100{
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / var(--tw-bg-opacity));
  }
  .bg-inherit{
    background-color: inherit;
  }
  .bg-orange-100{
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity));
  }
  .bg-orange-100\/70{
    background-color: rgb(255 237 213 / 0.7);
  }
  .bg-orange-300\/10{
    background-color: rgb(253 186 116 / 0.1);
  }
  .bg-orange-400{
    --tw-bg-opacity: 1;
    background-color: rgb(251 146 60 / var(--tw-bg-opacity));
  }
  .bg-orange-400\/50{
    background-color: rgb(251 146 60 / 0.5);
  }
  .bg-orange-50\/90{
    background-color: rgb(255 247 237 / 0.9);
  }
  .bg-orange-500{
    --tw-bg-opacity: 1;
    background-color: rgb(249 115 22 / var(--tw-bg-opacity));
  }
  .bg-orange-500\/20{
    background-color: rgb(249 115 22 / 0.2);
  }
  .bg-primary{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-primary-100{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-primary-100) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-primary-300\/10{
    background-color: color-mix(in srgb, var(--p-primary-300) calc(100% * 0.1), transparent);
  }
  .bg-primary-50{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-primary-50) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-primary-emphasis{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-purple-100{
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity));
  }
  .bg-purple-300\/10{
    background-color: rgb(216 180 254 / 0.1);
  }
  .bg-purple-400{
    --tw-bg-opacity: 1;
    background-color: rgb(192 132 252 / var(--tw-bg-opacity));
  }
  .bg-purple-500{
    --tw-bg-opacity: 1;
    background-color: rgb(168 85 247 / var(--tw-bg-opacity));
  }
  .bg-red-100{
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity));
  }
  .bg-red-100\/70{
    background-color: rgb(254 226 226 / 0.7);
  }
  .bg-red-300\/10{
    background-color: rgb(252 165 165 / 0.1);
  }
  .bg-red-400{
    --tw-bg-opacity: 1;
    background-color: rgb(248 113 113 / var(--tw-bg-opacity));
  }
  .bg-red-400\/50{
    background-color: rgb(248 113 113 / 0.5);
  }
  .bg-red-50\/90{
    background-color: rgb(254 242 242 / 0.9);
  }
  .bg-red-500{
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity));
  }
  .bg-red-500\/20{
    background-color: rgb(239 68 68 / 0.2);
  }
  .bg-surface-0{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-0\/10{
    background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.1), transparent);
  }
  .bg-surface-100{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-100\/40{
    background-color: color-mix(in srgb, var(--p-surface-100) calc(100% * 0.4), transparent);
  }
  .bg-surface-100\/70{
    background-color: color-mix(in srgb, var(--p-surface-100) calc(100% * 0.7), transparent);
  }
  .bg-surface-200{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-300{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-300\/10{
    background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * 0.1), transparent);
  }
  .bg-surface-400{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-50{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-50) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-500{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-500\/10{
    background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.1), transparent);
  }
  .bg-surface-500\/20{
    background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
  }
  .bg-surface-600{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-600\/60{
    background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * 0.6), transparent);
  }
  .bg-surface-600\/90{
    background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * 0.9), transparent);
  }
  .bg-surface-700{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-800{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-800\/50{
    background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * 0.5), transparent);
  }
  .bg-surface-900{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-surface-950{
    --tw-bg-opacity: 1;
    background-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-bg-opacity)), transparent);
  }
  .bg-transparent{
    background-color: transparent;
  }
  .bg-white{
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  }
  .bg-clip-padding{
    background-clip: padding-box;
  }
  .fill-none{
    fill: none;
  }
  .fill-surface-600{
    fill: color-mix(in srgb, var(--p-surface-600) calc(100% * 1), transparent);
  }
  .fill-surface-700{
    fill: color-mix(in srgb, var(--p-surface-700) calc(100% * 1), transparent);
  }
  .stroke-current{
    stroke: currentColor;
  }
  .stroke-primary{
    stroke: color-mix(in srgb, var(--p-primary-color) calc(100% * 1), transparent);
  }
  .stroke-surface-200{
    stroke: color-mix(in srgb, var(--p-surface-200) calc(100% * 1), transparent);
  }
  .p-0{
    padding: 0px;
  }
  .p-1{
    padding: 0.25rem;
  }
  .p-10{
    padding: 2.5rem;
  }
  .p-2{
    padding: 0.5rem;
  }
  .p-3{
    padding: 0.75rem;
  }
  .p-4{
    padding: 1rem;
  }
  .p-5{
    padding: 1.25rem;
  }
  .p-6{
    padding: 1.5rem;
  }
  .p-\[1\.125rem\]{
    padding: 1.125rem;
  }
  .px-0{
    padding-left: 0px;
    padding-right: 0px;
  }
  .px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  .px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }
  .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-3\.5{
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  .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-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .px-\[0\.4rem\]{
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }
  .px-\[1\.125rem\]{
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }
  .py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .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-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .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-\[0\.375rem\]{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }
  .py-\[0\.6rem\]{
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
  .py-\[0\.9375rem\]{
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
  }
  .pb-0{
    padding-bottom: 0px;
  }
  .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-4{
    padding-bottom: 1rem;
  }
  .pb-6{
    padding-bottom: 1.5rem;
  }
  .pb-8{
    padding-bottom: 2rem;
  }
  .pb-\[18px\]{
    padding-bottom: 18px;
  }
  .pb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
  }
  .pl-0{
    padding-left: 0px;
  }
  .pl-14{
    padding-left: 3.5rem;
  }
  .pl-3{
    padding-left: 0.75rem;
  }
  .pl-4{
    padding-left: 1rem;
  }
  .pl-5{
    padding-left: 1.25rem;
  }
  .pl-9{
    padding-left: 2.25rem;
  }
  .pr-0{
    padding-right: 0px;
  }
  .pr-10{
    padding-right: 2.5rem;
  }
  .pr-7{
    padding-right: 1.75rem;
  }
  .pr-8{
    padding-right: 2rem;
  }
  .pr-9{
    padding-right: 2.25rem;
  }
  .pr-\[18px\]{
    padding-right: 18px;
  }
  .pt-0{
    padding-top: 0px;
  }
  .pt-1{
    padding-top: 0.25rem;
  }
  .pt-2{
    padding-top: 0.5rem;
  }
  .pt-4{
    padding-top: 1rem;
  }
  .pt-5{
    padding-top: 1.25rem;
  }
  .text-left{
    text-align: left;
  }
  .text-center{
    text-align: center;
  }
  .text-right{
    text-align: right;
  }
  .align-top{
    vertical-align: top;
  }
  .align-middle{
    vertical-align: middle;
  }
  .align-bottom{
    vertical-align: bottom;
  }
  .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-\[0\.625rem\]{
    font-size: 0.625rem;
  }
  .text-\[10px\]{
    font-size: 10px;
  }
  .text-\[11px\]{
    font-size: 11px;
  }
  .text-\[13px\]{
    font-size: 13px;
  }
  .text-\[15px\]{
    font-size: 15px;
  }
  .text-\[2rem\]{
    font-size: 2rem;
  }
  .text-\[9px\]{
    font-size: 9px;
  }
  .text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .font-bold{
    font-weight: 700;
  }
  .font-medium{
    font-weight: 500;
  }
  .font-normal{
    font-weight: 400;
  }
  .font-semibold{
    font-weight: 600;
  }
  .uppercase{
    text-transform: uppercase;
  }
  .italic{
    font-style: italic;
  }
  .leading-4{
    line-height: 1rem;
  }
  .leading-5{
    line-height: 1.25rem;
  }
  .leading-6{
    line-height: 1.5rem;
  }
  .leading-7{
    line-height: 1.75rem;
  }
  .leading-\[1\.25rem\]{
    line-height: 1.25rem;
  }
  .leading-\[1\.5rem\]{
    line-height: 1.5rem;
  }
  .leading-\[2\.25rem\]{
    line-height: 2.25rem;
  }
  .leading-\[3rem\]{
    line-height: 3rem;
  }
  .leading-\[normal\]{
    line-height: normal;
  }
  .leading-none{
    line-height: 1;
  }
  .leading-normal{
    line-height: 1.5;
  }
  .leading-relaxed{
    line-height: 1.625;
  }
  .leading-snug{
    line-height: 1.375;
  }
  .tracking-wide{
    letter-spacing: 0.025em;
  }
  .tracking-wider{
    letter-spacing: 0.05em;
  }
  .\!text-transparent{
    color: transparent !important;
  }
  .text-amber-400{
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity));
  }
  .text-amber-500{
    --tw-text-opacity: 1;
    color: rgb(245 158 11 / var(--tw-text-opacity));
  }
  .text-amber-600{
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity));
  }
  .text-amber-700{
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity));
  }
  .text-amber-800{
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity));
  }
  .text-amber-900{
    --tw-text-opacity: 1;
    color: rgb(120 53 15 / var(--tw-text-opacity));
  }
  .text-blue-300{
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity));
  }
  .text-blue-400{
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity));
  }
  .text-blue-500{
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity));
  }
  .text-blue-700{
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / var(--tw-text-opacity));
  }
  .text-blue-800{
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity));
  }
  .text-emerald-800{
    --tw-text-opacity: 1;
    color: rgb(6 95 70 / var(--tw-text-opacity));
  }
  .text-green-300{
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity));
  }
  .text-green-400{
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity));
  }
  .text-green-500{
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity));
  }
  .text-green-600{
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity));
  }
  .text-green-700{
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity));
  }
  .text-green-800{
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity));
  }
  .text-green-900{
    --tw-text-opacity: 1;
    color: rgb(20 83 45 / var(--tw-text-opacity));
  }
  .text-indigo-800{
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / var(--tw-text-opacity));
  }
  .text-inherit{
    color: inherit;
  }
  .text-orange-300{
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity));
  }
  .text-orange-400{
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity));
  }
  .text-orange-500{
    --tw-text-opacity: 1;
    color: rgb(249 115 22 / var(--tw-text-opacity));
  }
  .text-orange-700{
    --tw-text-opacity: 1;
    color: rgb(194 65 12 / var(--tw-text-opacity));
  }
  .text-primary{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-300{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-400{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-500{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-600{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-600) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-700{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-700) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-primary-contrast{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-primary-contrast-color) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-purple-400{
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity));
  }
  .text-purple-500{
    --tw-text-opacity: 1;
    color: rgb(168 85 247 / var(--tw-text-opacity));
  }
  .text-purple-800{
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / var(--tw-text-opacity));
  }
  .text-red-300{
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity));
  }
  .text-red-400{
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity));
  }
  .text-red-500{
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity));
  }
  .text-red-600{
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity));
  }
  .text-red-700{
    --tw-text-opacity: 1;
    color: rgb(185 28 28 / var(--tw-text-opacity));
  }
  .text-red-800{
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity));
  }
  .text-surface-0{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-0\/80{
    color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.8), transparent);
  }
  .text-surface-100{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-300{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-400{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-500{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-600{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-700{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-800{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-900{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-surface-950{
    --tw-text-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-text-opacity)), transparent);
  }
  .text-transparent{
    color: transparent;
  }
  .text-white{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
  }
  .text-white\/60{
    color: rgb(255 255 255 / 0.6);
  }
  .text-white\/70{
    color: rgb(255 255 255 / 0.7);
  }
  .text-white\/80{
    color: rgb(255 255 255 / 0.8);
  }
  .underline{
    text-decoration-line: underline;
  }
  .no-underline{
    text-decoration-line: none;
  }
  .placeholder-surface-400::-moz-placeholder{
    --tw-placeholder-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-placeholder-opacity)), transparent);
  }
  .placeholder-surface-400::placeholder{
    --tw-placeholder-opacity: 1;
    color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-placeholder-opacity)), transparent);
  }
  .opacity-0{
    opacity: 0;
  }
  .opacity-100{
    opacity: 1;
  }
  .opacity-40{
    opacity: 0.4;
  }
  .opacity-50{
    opacity: 0.5;
  }
  .opacity-60{
    opacity: 0.6;
  }
  .opacity-85{
    opacity: 0.85;
  }
  .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-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;
  }
  .outline-offset-0{
    outline-offset: 0px;
  }
  .outline-blue-200{
    outline-color: #bfdbfe;
  }
  .outline-blue-500\/20{
    outline-color: rgb(59 130 246 / 0.2);
  }
  .outline-green-200{
    outline-color: #bbf7d0;
  }
  .outline-green-500\/20{
    outline-color: rgb(34 197 94 / 0.2);
  }
  .outline-orange-200{
    outline-color: #fed7aa;
  }
  .outline-orange-500\/20{
    outline-color: rgb(249 115 22 / 0.2);
  }
  .outline-red-200{
    outline-color: #fecaca;
  }
  .outline-red-500\/20{
    outline-color: rgb(239 68 68 / 0.2);
  }
  .outline-surface-0{
    outline-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 1), transparent);
  }
  .outline-surface-200{
    outline-color: color-mix(in srgb, var(--p-surface-200) calc(100% * 1), transparent);
  }
  .outline-surface-500\/20{
    outline-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
  }
  .outline-surface-950{
    outline-color: color-mix(in srgb, var(--p-surface-950) calc(100% * 1), transparent);
  }
  .outline-transparent{
    outline-color: transparent;
  }
  .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-inset{
    --tw-ring-inset: inset;
  }
  .ring-blue-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity));
  }
  .ring-green-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity));
  }
  .ring-orange-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity));
  }
  .ring-primary{
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-ring-opacity)), transparent);
  }
  .ring-primary-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
  }
  .ring-primary-500{
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-ring-opacity)), transparent);
  }
  .ring-primary-500\/50{
    --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * 0.5), transparent);
  }
  .ring-purple-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity));
  }
  .ring-red-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity));
  }
  .ring-surface-400{
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-ring-opacity)), transparent);
  }
  .ring-surface-950{
    --tw-ring-opacity: 1;
    --tw-ring-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-ring-opacity)), transparent);
  }
  .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);
  }
  .drop-shadow{
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    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);
  }
  .grayscale{
    --tw-grayscale: grayscale(100%);
    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-\[10px\]{
    --tw-backdrop-blur: blur(10px);
    -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);
  }
  .backdrop-filter{
    -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-\[max-height_\.45s_cubic-bezier\(0\2c 1\2c 0\2c 1\)\2c opacity_\.3s\2c margin-bottom_\.3s\]{
    transition-property: max-height .45s cubic-bezier(0,1,0,1),opacity .3s,margin-bottom .3s !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
  }
  .\!transition-none{
    transition-property: none !important;
  }
  .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-\[background-color\2c transform\]{
    transition-property: background-color,transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .transition-\[max-height\]{
    transition-property: max-height;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .transition-\[transform\2c opacity\]{
    transition-property: transform,opacity;
    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-none{
    transition-property: none;
  }
  .transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .transition-shadow{
    transition-property: box-shadow;
    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;
  }
  .delay-1000{
    transition-delay: 1000ms;
  }
  .delay-200{
    transition-delay: 200ms;
  }
  .duration-100{
    transition-duration: 100ms;
  }
  .duration-1000{
    transition-duration: 1000ms;
  }
  .duration-150{
    transition-duration: 150ms;
  }
  .duration-200{
    transition-duration: 200ms;
  }
  .duration-300{
    transition-duration: 300ms;
  }
  .duration-\[120ms\]{
    transition-duration: 120ms;
  }
  .duration-\[250ms\]{
    transition-duration: 250ms;
  }
  .duration-\[400ms\]{
    transition-duration: 400ms;
  }
  .duration-\[450ms\]{
    transition-duration: 450ms;
  }
  .ease-\[cubic-bezier\(0\2c 0\2c 0\.2\2c 1\)\]{
    transition-timing-function: cubic-bezier(0,0,0.2,1);
  }
  .ease-\[cubic-bezier\(0\2c 1\2c 0\2c 1\)\]{
    transition-timing-function: cubic-bezier(0,1,0,1);
  }
  .ease-\[cubic-bezier\(0\.42\2c 0\2c 0\.58\2c 1\)\]{
    transition-timing-function: cubic-bezier(0.42,0,0.58,1);
  }
  .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-linear{
    transition-timing-function: linear;
  }
  .ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
  .backface-hidden{
    backface-visibility: hidden;
  }
  .animate-duration-150{
    animation-duration: 150ms;
  }
  .animate-ease-in-out{
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
  .bg-highlight{
    background: var(--p-highlight-background);
    color: var(--p-highlight-color);
  }
  .bg-highlight-emphasis{
    background: var(--p-highlight-focus-background);
    color: var(--p-highlight-focus-color);
  }
  .rounded-border{
    border-radius: var(--p-content-border-radius);
  }
  .\[contain\:size_layout_paint\]{
    contain: size layout paint;
  }
}

body
{
  font-family: Inter;
}

/*
  Regla del Suelo de 14px: en las vistas marcadas con .ofertas-readable el
  texto de contenido nunca baja de 14px. Normaliza al alza las utilidades de
  texto diminuto (9-13px) que genera Tailwind. Documentado en DESIGN.md.
*/

.ofertas-readable .text-xs,
.ofertas-readable .text-\[9px\],
.ofertas-readable .text-\[10px\],
.ofertas-readable .text-\[11px\],
.ofertas-readable .text-\[13px\] {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}

/* Drag & drop: chosen = when held down, grows to show it's grabbed */

.drag-chosen {
  scale: 1.04 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22) !important;
  border-color: #004379 !important;
  z-index: 50;
  transition: scale 0.15s ease, box-shadow 0.15s ease !important;
}

/* Drag & drop: ghost = semi-transparent clone in the list showing where it will land */

.drag-ghost.drag-chosen,
.drag-ghost {
  scale: 1 !important;
  opacity: 0.35 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* Drag & drop: fallback clone that follows the finger/cursor */

.drag-fallback {
  opacity: 1 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22) !important;
  border-color: #004379 !important;
  background: white !important;
  z-index: 9999 !important;
  transition: none !important;
  scale: 1.04 !important;
}

/* Smooth animation when items reposition during drag */

.sortable-fallback {
  transition: none !important;
}

/* Landing animation when item is dropped */

.drag-land {
  animation: land 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

@keyframes land {
  0% { transform: scale(1.04); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22); border-color: #004379; }
  100% { transform: scale(1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); border-color: #e2e8f0; }
}

/* Shimmer skeleton loading effect */

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.skeleton-shimmer {
  background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Staggered card fade-in */

@keyframes card-appear {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.card-animate-in {
  animation: card-appear 0.3s ease-out both;
}

/* Fade-in for end-of-list messages */

@keyframes fade-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-up {
  animation: fade-up 0.4s ease-out both;
}

/* Prevent text selection on draggable items */

.cursor-grab {
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
}

/* Accessibility: screen-reader only utility */

.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;
}

/* Accessibility: respect reduced motion preference */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Driver.js tour theme overrides */

.driver-popover.tour-popover {
  font-family: 'Inter', sans-serif;
  border-radius: 12px;
  box-shadow: 0 12px 40px color-mix(in srgb, var(--p-primary-500) 15%, transparent);
}

.driver-popover.tour-popover .driver-popover-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--p-primary-500);
}

.driver-popover.tour-popover .driver-popover-description {
  font-size: 13px;
  color: var(--p-surface-600);
  line-height: 1.5;
}

.driver-popover.tour-popover .driver-popover-progress-text {
  font-size: 11px;
  color: var(--p-surface-400);
}

.driver-popover.tour-popover .driver-popover-next-btn,
.driver-popover.tour-popover .driver-popover-close-btn-text {
  background-color: var(--p-primary-500);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  text-shadow: none;
}

.driver-popover.tour-popover .driver-popover-next-btn:hover,
.driver-popover.tour-popover .driver-popover-close-btn-text:hover {
  background-color: var(--p-primary-700);
}

.driver-popover.tour-popover .driver-popover-prev-btn {
  background: transparent;
  color: var(--p-surface-500);
  border: 1px solid var(--p-surface-200);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 14px;
  text-shadow: none;
}

.driver-popover.tour-popover .driver-popover-prev-btn:hover {
  background-color: var(--p-surface-50);
}

/* Primary and Surface Palettes - copiadas del Host (intranet-360) */

:root
{
  --p-primary-50: #f2f6f8;
  --p-primary-100: #c2d2df;
  --p-primary-200: #91aec5;
  --p-primary-300: #618aac;
  --p-primary-400: #306792;
  --p-primary-500: #004379;
  --p-primary-600: #003967;
  --p-primary-700: #002f55;
  --p-primary-800: #002543;
  --p-primary-900: #001b30;
  --p-primary-950: #00111e;
  --p-surface-0: #ffffff;
  --p-surface-50: #f8fafc;
  --p-surface-100: #f1f5f9;
  --p-surface-200: #e2e8f0;
  --p-surface-300: #cbd5e1;
  --p-surface-400: #94a3b8;
  --p-surface-500: #64748b;
  --p-surface-600: #475569;
  --p-surface-700: #334155;
  --p-surface-800: #1e293b;
  --p-surface-900: #0f172a;
  --p-surface-950: #020617;
  --p-content-border-radius: 6px;
  --p-primary-color: var(--p-primary-500);
  --p-primary-contrast-color: var(--p-surface-0);
  --p-primary-hover-color: var(--p-primary-600);
  --p-primary-active-color: var(--p-primary-700);
  --p-content-border-color: var(--p-surface-200);
  --p-content-hover-background: var(--p-surface-100);
  --p-content-hover-color: var(--p-surface-800);
  --p-highlight-background: var(--p-primary-50);
  --p-highlight-color: var(--p-primary-700);
  --p-highlight-focus-background: var(--p-primary-100);
  --p-highlight-focus-color: var(--p-primary-800);
  --p-text-color: var(--p-surface-700);
  --p-text-hover-color: var(--p-surface-800);
  --p-text-muted-color: var(--p-surface-500);
  --p-text-hover-muted-color: var(--p-surface-600);
}

/*
:root
{
  --p-button-border-radius: var(--p-form-field-border-radius);
  --p-button-rounded-border-radius: 2rem;
  --p-button-gap: 0.5rem;
  --p-button-padding-x: var(--p-form-field-padding-x);
  --p-button-padding-y: var(--p-form-field-padding-y);
  --p-button-icon-only-width: 2.5rem;
  --p-button-sm-font-size: 0.875rem;
  --p-button-sm-padding-x: 0.625rem;
  --p-button-sm-padding-y: 0.375rem;
  --p-button-lg-font-size: 1.125rem;
  --p-button-lg-padding-x: 0.875rem;
  --p-button-lg-padding-y: 0.625rem;
  --p-button-label-font-weight: 500;
  --p-button-raised-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  --p-button-focus-ring-width: var(--p-focus-ring-width);
  --p-button-focus-ring-style: var(--p-focus-ring-style);
  --p-button-focus-ring-offset: var(--p-focus-ring-offset);
  --p-button-badge-size: 1rem;
  --p-button-transition-duration: var(--p-form-field-transition-duration);
  --p-button-primary-background: var(--p-primary-color);
  --p-button-primary-hover-background: var(--p-primary-hover-color);
  --p-button-primary-active-background: var(--p-primary-active-color);
  --p-button-primary-border-color: var(--p-primary-color);
  --p-button-primary-hover-border-color: var(--p-primary-hover-color);
  --p-button-primary-active-border-color: var(--p-primary-active-color);
  --p-button-primary-color: var(--p-primary-contrast-color);
  --p-button-primary-hover-color: var(--p-primary-contrast-color);
  --p-button-primary-active-color: var(--p-primary-contrast-color);
  --p-button-primary-focus-ring-color: var(--p-primary-color);
  --p-button-primary-focus-ring-shadow: none;
  --p-button-secondary-background: var(--p-surface-100);
  --p-button-secondary-hover-background: var(--p-surface-200);
  --p-button-secondary-active-background: var(--p-surface-300);
  --p-button-secondary-border-color: var(--p-surface-100);
  --p-button-secondary-hover-border-color: var(--p-surface-200);
  --p-button-secondary-active-border-color: var(--p-surface-300);
  --p-button-secondary-color: var(--p-surface-600);
  --p-button-secondary-hover-color: var(--p-surface-700);
  --p-button-secondary-active-color: var(--p-surface-800);
  --p-button-secondary-focus-ring-color: var(--p-surface-600);
  --p-button-secondary-focus-ring-shadow: none;
  --p-button-info-background: var(--p-sky-500);
  --p-button-info-hover-background: var(--p-sky-600);
  --p-button-info-active-background: var(--p-sky-700);
  --p-button-info-border-color: var(--p-sky-500);
  --p-button-info-hover-border-color: var(--p-sky-600);
  --p-button-info-active-border-color: var(--p-sky-700);
  --p-button-info-color: #ffffff;
  --p-button-info-hover-color: #ffffff;
  --p-button-info-active-color: #ffffff;
  --p-button-info-focus-ring-color: var(--p-sky-500);
  --p-button-info-focus-ring-shadow: none;
  --p-button-success-background: var(--p-green-500);
  --p-button-success-hover-background: var(--p-green-600);
  --p-button-success-active-background: var(--p-green-700);
  --p-button-success-border-color: var(--p-green-500);
  --p-button-success-hover-border-color: var(--p-green-600);
  --p-button-success-active-border-color: var(--p-green-700);
  --p-button-success-color: #ffffff;
  --p-button-success-hover-color: #ffffff;
  --p-button-success-active-color: #ffffff;
  --p-button-success-focus-ring-color: var(--p-green-500);
  --p-button-success-focus-ring-shadow: none;
  --p-button-warn-background: var(--p-orange-500);
  --p-button-warn-hover-background: var(--p-orange-600);
  --p-button-warn-active-background: var(--p-orange-700);
  --p-button-warn-border-color: var(--p-orange-500);
  --p-button-warn-hover-border-color: var(--p-orange-600);
  --p-button-warn-active-border-color: var(--p-orange-700);
  --p-button-warn-color: #ffffff;
  --p-button-warn-hover-color: #ffffff;
  --p-button-warn-active-color: #ffffff;
  --p-button-warn-focus-ring-color: var(--p-orange-500);
  --p-button-warn-focus-ring-shadow: none;
  --p-button-help-background: var(--p-purple-500);
  --p-button-help-hover-background: var(--p-purple-600);
  --p-button-help-active-background: var(--p-purple-700);
  --p-button-help-border-color: var(--p-purple-500);
  --p-button-help-hover-border-color: var(--p-purple-600);
  --p-button-help-active-border-color: var(--p-purple-700);
  --p-button-help-color: #ffffff;
  --p-button-help-hover-color: #ffffff;
  --p-button-help-active-color: #ffffff;
  --p-button-help-focus-ring-color: var(--p-purple-500);
  --p-button-help-focus-ring-shadow: none;
  --p-button-danger-background: var(--p-red-500);
  --p-button-danger-hover-background: var(--p-red-600);
  --p-button-danger-active-background: var(--p-red-700);
  --p-button-danger-border-color: var(--p-red-500);
  --p-button-danger-hover-border-color: var(--p-red-600);
  --p-button-danger-active-border-color: var(--p-red-700);
  --p-button-danger-color: #ffffff;
  --p-button-danger-hover-color: #ffffff;
  --p-button-danger-active-color: #ffffff;
  --p-button-danger-focus-ring-color: var(--p-red-500);
  --p-button-danger-focus-ring-shadow: none;
  --p-button-contrast-background: var(--p-surface-950);
  --p-button-contrast-hover-background: var(--p-surface-900);
  --p-button-contrast-active-background: var(--p-surface-800);
  --p-button-contrast-border-color: var(--p-surface-950);
  --p-button-contrast-hover-border-color: var(--p-surface-900);
  --p-button-contrast-active-border-color: var(--p-surface-800);
  --p-button-contrast-color: var(--p-surface-0);
  --p-button-contrast-hover-color: var(--p-surface-0);
  --p-button-contrast-active-color: var(--p-surface-0);
  --p-button-contrast-focus-ring-color: var(--p-surface-950);
  --p-button-contrast-focus-ring-shadow: none;
  --p-button-outlined-primary-hover-background: var(--p-primary-50);
  --p-button-outlined-primary-active-background: var(--p-primary-100);
  --p-button-outlined-primary-border-color: var(--p-primary-200);
  --p-button-outlined-primary-color: var(--p-primary-color);
  --p-button-outlined-secondary-hover-background: var(--p-surface-50);
  --p-button-outlined-secondary-active-background: var(--p-surface-100);
  --p-button-outlined-secondary-border-color: var(--p-surface-200);
  --p-button-outlined-secondary-color: var(--p-surface-500);
  --p-button-outlined-success-hover-background: var(--p-green-50);
  --p-button-outlined-success-active-background: var(--p-green-100);
  --p-button-outlined-success-border-color: var(--p-green-200);
  --p-button-outlined-success-color: var(--p-green-500);
  --p-button-outlined-info-hover-background: var(--p-sky-50);
  --p-button-outlined-info-active-background: var(--p-sky-100);
  --p-button-outlined-info-border-color: var(--p-sky-200);
  --p-button-outlined-info-color: var(--p-sky-500);
  --p-button-outlined-warn-hover-background: var(--p-orange-50);
  --p-button-outlined-warn-active-background: var(--p-orange-100);
  --p-button-outlined-warn-border-color: var(--p-orange-200);
  --p-button-outlined-warn-color: var(--p-orange-500);
  --p-button-outlined-help-hover-background: var(--p-purple-50);
  --p-button-outlined-help-active-background: var(--p-purple-100);
  --p-button-outlined-help-border-color: var(--p-purple-200);
  --p-button-outlined-help-color: var(--p-purple-500);
  --p-button-outlined-danger-hover-background: var(--p-red-50);
  --p-button-outlined-danger-active-background: var(--p-red-100);
  --p-button-outlined-danger-border-color: var(--p-red-200);
  --p-button-outlined-danger-color: var(--p-red-500);
  --p-button-outlined-contrast-hover-background: var(--p-surface-50);
  --p-button-outlined-contrast-active-background: var(--p-surface-100);
  --p-button-outlined-contrast-border-color: var(--p-surface-700);
  --p-button-outlined-contrast-color: var(--p-surface-950);
  --p-button-outlined-plain-hover-background: var(--p-surface-50);
  --p-button-outlined-plain-active-background: var(--p-surface-100);
  --p-button-outlined-plain-border-color: var(--p-surface-200);
  --p-button-outlined-plain-color: var(--p-surface-700);
  --p-button-text-primary-hover-background: var(--p-primary-50);
  --p-button-text-primary-active-background: var(--p-primary-100);
  --p-button-text-primary-color: var(--p-primary-color);
  --p-button-text-secondary-hover-background: var(--p-surface-50);
  --p-button-text-secondary-active-background: var(--p-surface-100);
  --p-button-text-secondary-color: var(--p-surface-500);
  --p-button-text-success-hover-background: var(--p-green-50);
  --p-button-text-success-active-background: var(--p-green-100);
  --p-button-text-success-color: var(--p-green-500);
  --p-button-text-info-hover-background: var(--p-sky-50);
  --p-button-text-info-active-background: var(--p-sky-100);
  --p-button-text-info-color: var(--p-sky-500);
  --p-button-text-warn-hover-background: var(--p-orange-50);
  --p-button-text-warn-active-background: var(--p-orange-100);
  --p-button-text-warn-color: var(--p-orange-500);
  --p-button-text-help-hover-background: var(--p-purple-50);
  --p-button-text-help-active-background: var(--p-purple-100);
  --p-button-text-help-color: var(--p-purple-500);
  --p-button-text-danger-hover-background: var(--p-red-50);
  --p-button-text-danger-active-background: var(--p-red-100);
  --p-button-text-danger-color: var(--p-red-500);
  --p-button-text-plain-hover-background: var(--p-surface-50);
  --p-button-text-plain-active-background: var(--p-surface-100);
  --p-button-text-plain-color: var(--p-surface-700);
  --p-button-link-color: var(--p-primary-color);
  --p-button-link-hover-color: var(--p-primary-color);
  --p-button-link-active-color: var(--p-primary-color);
}
*/

/*@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');*/

/**, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }*/

/*body {*/

/*  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;*/

/*  background: #f1f5f9;*/

/*  color: #1e293b;*/

/*  min-height: 100vh;*/

/*}*/

/* ── Header ─────────────────────────── */

.app-header {
  background: #0c2340;
  height: 58px;
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid #1a3a6e;
}

.header-logo-text  { color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .3px; }

.header-logo-sub   { color: rgba(255,255,255,.55); font-size: 10px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; }

.header-right      { display: flex; align-items: center; gap: 10px; }

.header-titulacion { color: rgba(255,255,255,.85); font-size: 11px; }

.header-divider    { width: 1px; height: 12px; background: rgba(255,255,255,.3); }

.header-curso-label{ color: rgba(255,255,255,.85); font-size: 11px; }

.header-select {
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 5px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  font-family: inherit;
  transition: all .2s;
}

.header-select option { color: #0c2340; background: #fff; }

.header-select:disabled {
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.5);
  cursor: not-allowed;
}

.header-bloqueado { font-size: 10px; color: rgba(255,255,255,.45); font-style: italic; display: inline-flex; align-items: center; }

/* ── Página ─────────────────────────── */

/* Padding solo vertical: el wrapper externo (MainWrapper o el div de ofertas
   en ListadoRotatoriosView) ya aporta el padding lateral. Si dejamos también
   padding lateral aquí, el contenido queda más estrecho que las tabs del menú
   horizontal (que cuelgan directas del wrapper a width:100%). */

.page { width: 100%; max-width: none; margin: 0; padding: 1.5rem 0 2rem; }

.page-title    { font-size: 20px; font-weight: 700; color: #1e293b; margin-bottom: 2px; letter-spacing: -.3px; }

.page-subtitle { font-size: 12px; color: #94a3b8; margin-bottom: 20px; font-weight: 500; }

/* ── Barra de filtros ───────────────── */

.toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }

.filter-bar {
  display: flex; align-items: center; gap: 10px; flex: 1; flex-wrap: wrap;
  background: transparent; border-radius: 0; padding: 0;
  border: none; box-shadow: none;
}

.filter-label {
  font-size: 11px; font-weight: 600; color: #94a3b8;
  text-transform: uppercase; letter-spacing: .5px; margin-right: 2px;
}

.filter-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0 32px 0 14px; height: 40px;
  border: 1px solid #e2e8f0; border-radius: 8px;
  font-size: 13px; color: #475569; background: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
  cursor: pointer; outline: none;
  font-family: inherit; transition: border-color .15s, background-color .15s;
}

.filter-select:hover { border-color: #cbd5e1; }

.filter-select:focus { border-color: #004379; }

.filter-count {
  font-size: 12px; color: #94a3b8; margin-left: auto;
  font-weight: 500;
}

.filter-divider {
  width: 1px; height: 24px; background: #e2e8f0; margin: 0 4px;
}

.btn-limpiar {
  background: transparent; border: 1px solid #e2e8f0; color: #64748b;
  font-size: 12px; font-weight: 500; cursor: pointer;
  height: 40px; padding: 0 12px; border-radius: 8px; text-decoration: none;
  font-family: inherit; transition: all .15s;
  display: inline-flex; align-items: center; gap: 6px;
}

.btn-limpiar:hover { background: #f8fafc; color: #334155; border-color: #cbd5e1; }

/* ── Botones ────────────────────────── */

.btn-primary {
  background: #004379; color: #fff; border: none; border-radius: 8px;
  padding: 0 18px; height: 40px; font-size: 13px; font-weight: 600;
  cursor: pointer; letter-spacing: .1px;
  transition: background .15s, box-shadow .15s;
  white-space: nowrap; font-family: inherit;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 1px 2px rgba(0,67,121,.2);
}

.btn-primary:hover { background: #003663; box-shadow: 0 2px 6px rgba(0,67,121,.3); }

.btn-primary:disabled { background: #cbd5e1; box-shadow: none; cursor: not-allowed; }

.btn-secondary {
  background: #fff; color: #475569; border: 1px solid #e2e8f0;
  border-radius: 8px; padding: 0 16px; height: 40px;
  font-size: 13px; font-weight: 500;
  cursor: pointer; transition: all .15s; font-family: inherit;
  display: inline-flex; align-items: center; gap: 8px;
}

.btn-secondary:hover { background: #f8fafc; border-color: #cbd5e1; color: #1e293b; }

.btn-secondary:disabled { opacity: .55; color: #94a3b8; cursor: not-allowed; }

.btn-secondary:disabled:hover { background: #fff; border-color: #e2e8f0; color: #94a3b8; }

/* ── Animación de entrada para dropdowns ─────────────────────────────────── */

@keyframes menuDropIn {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

.menu-dropdown {
  animation: menuDropIn .14s cubic-bezier(.22, .61, .36, 1);
}

.btn-danger {
  background: #ef4444; color: #fff; border: none; border-radius: 8px;
  padding: 0 18px; height: 40px; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: background .15s; font-family: inherit;
  display: inline-flex; align-items: center; gap: 6px;
}

.btn-danger:hover { background: #dc2626; }

.btn-icon {
  background: none; border: none; cursor: pointer; padding: 4px;
  line-height: 1; font-family: inherit; transition: color .15s;
}

/* ── Tabla ──────────────────────────── */

.tabla-wrap {
  width: 100%; border-collapse: collapse;
  background: #fff; border: 1px solid #e2e8f0;
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,23,42,.03);
}

.tabla-wrap th {
  padding: 14px 16px; color: #fff;
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .7px; text-align: left;
  background: #1a3a6e; border-bottom: 1px solid #1a3a6e;
}

.tabla-wrap td { padding: 14px 16px; font-size: 13px; vertical-align: middle; color: #334155; }

.tabla-fila {
  border-bottom: 1px solid #f1f5f9;
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: background .12s, border-color .12s;
}

/* Cebra sutil para diferenciar filas: filas impares blancas, pares con un gris
   apenas perceptible pero más fuerte que #f8fafc para que la separación de
   filas se note. El hover pisa ambas para dejar el feedback visual prioritario. */

.tabla-wrap tbody tr.tabla-fila:nth-child(odd) { background: #fff; }

.tabla-wrap tbody tr.tabla-fila:nth-child(even) { background: #f5f7fa; }

.tabla-fila:hover,
.tabla-wrap tbody tr.tabla-fila:nth-child(odd):hover,
.tabla-wrap tbody tr.tabla-fila:nth-child(even):hover {
  background: #e0eaff; border-left-color: #004379;
}

.tabla-wrap tbody tr:last-child { border-bottom: none; }

.badge {
  display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 600;
  background: #eff6ff; color: #1d4ed8; border: 1px solid #dbeafe;
}

.badge-campus {
  display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 600; background: #004379; color: #fff;
}

.empty-state {
  text-align: center; padding: 64px 0; color: #94a3b8; font-size: 13px;
  background: #fff; border: 1px dashed #e2e8f0; border-radius: 12px;
}

.fila-num { color: #cbd5e1; font-weight: 500; font-size: 12px; }

.fila-flecha { color: #cbd5e1; font-size: 20px; font-weight: 400; line-height: 1; }

/* ── Papelera ───────────────────────── */

.papelera-btn {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .18s;
  background: none; border: none; color: #94a3b8;
}

.papelera-btn:hover { background: #fff1f2; color: #dc2626; }

/* ── Formulario ─────────────────────── */

.form-card {
  background: #fff; border-radius: 12px; padding: 1.5rem 1.75rem;
  border: 1px solid #e2e8f0; box-shadow: 0 1px 2px rgba(15,23,42,.03);
  margin-bottom: 16px;
}

.form-section {
  font-weight: 600; color: #94a3b8; font-size: 11px;
  margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 1px solid #f1f5f9;
  text-transform: uppercase; letter-spacing: .6px;
}

.form-grid  { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 16px; margin-bottom: 18px; }

.form-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.form-label { display: block; font-size: 12px; font-weight: 500; color: #64748b; margin-bottom: 6px; }

.form-req   { color: #ef4444; font-weight: 700; }

.form-input, .form-select {
  width: 100%; height: 40px; padding: 0 14px;
  border: 1px solid #e2e8f0; border-radius: 8px;
  font-size: 13px; color: #1e293b; background: #fff;
  outline: none; font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}

.form-input::-moz-placeholder { color: #cbd5e1; }

.form-input::placeholder { color: #cbd5e1; }

.form-select { cursor: pointer; padding-right: 34px; -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}

.form-select:hover { border-color: #cbd5e1; }

.form-input:focus, .form-select:focus {
  border-color: #004379;
  box-shadow: 0 0 0 3px rgba(0,67,121,.15);
}

.form-input.error  { border-color: #ef4444; }

.form-input.error:focus { box-shadow: 0 0 0 3px rgba(239,68,68,.12); }

.form-input.valid  { border-color: #22c55e; }

.form-hint  { font-size: 11px; color: #94a3b8; margin-top: 5px; }

.form-error { font-size: 11.5px; color: #ef4444; margin-top: 4px; font-weight: 500; }

.form-ok    { font-size: 11.5px; color: #22c55e; margin-top: 4px; font-weight: 500; }

.form-periodo { font-size: 11.5px; color: #64748b; margin-top: 5px; }

.form-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }

.form-actions .btn-primary {
  background: #004379;
  box-shadow: 0 1px 2px rgba(0,67,121,.2);
}

.form-actions .btn-primary:hover { background: #003663; box-shadow: 0 2px 6px rgba(0,67,121,.3); }

.form-actions .btn-primary:disabled { background: #cbd5e1; box-shadow: none; }

/* ── Entrada card ───────────────────── */

.entrada-card {
  border: 1px solid #e2e8f0; border-left: 3px solid #004379;
  border-radius: 12px; padding: 1.25rem 1.5rem;
  background: #fff; margin-bottom: 16px;
  transition: border-color .15s, box-shadow .15s;
}

.entrada-card:hover { box-shadow: 0 2px 8px rgba(15,23,42,.05); }

.entrada-card.has-error { border-color: #fca5a5; border-left-color: #ef4444; }

.entrada-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }

.entrada-title  { font-size: 13px; font-weight: 600; color: #334155; letter-spacing: .1px; }

.remove-btn     {
  background: transparent; border: 1px solid transparent; color: #94a3b8;
  font-size: 12px; cursor: pointer; padding: 6px 10px; border-radius: 6px;
  line-height: 1; transition: all .15s; font-family: inherit;
  display: inline-flex; align-items: center; gap: 6px;
}

.remove-btn:hover { color: #ef4444; background: #fef2f2; border-color: #fecaca; }

.add-row-btn {
  background: #fff; border: 1px dashed #cbd5e1; border-radius: 12px;
  color: #64748b; padding: 14px; width: 100%; font-size: 13px;
  font-weight: 600; cursor: pointer; transition: all .15s; margin-top: 4px;
  font-family: inherit;
  position: sticky; bottom: 16px; z-index: 10;
}

.add-row-btn:hover { background: #f8fafc; color: #004379; border-color: #004379; }

/* ── Chips de grupos ────────────────── */

.grupos-wrap { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }

.grupo-chip {
  padding: 6px 14px; border-radius: 999px; font-size: 12px; font-weight: 600;
  cursor: pointer; border: 1px solid #e2e8f0;
  background: #fff; color: #64748b;
  transition: all .15s; font-family: inherit;
}

.grupo-chip.activo { background: #004379; color: #fff; border-color: #004379; }

.grupo-chip:not(.activo):hover { background: #f8fafc; border-color: #cbd5e1; color: #1e293b; }

.grupo-chip.activo:hover { background: #003663; border-color: #003663; }

/* ── Breadcrumb ─────────────────────── */

.breadcrumb     {
  font-size: 12px; color: #94a3b8; margin-bottom: 16px;
  display: flex; gap: 8px; align-items: center;
}

.breadcrumb-link{
  color: #004379; cursor: pointer; font-weight: 500; text-decoration: none;
  transition: color .15s;
}

.breadcrumb-link:hover { color: #003663; }

/* ── Banner errores ─────────────────── */

.banner-error {
  background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px;
  padding: 10px 16px; margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: #b91c1c; font-weight: 500;
}

.banner-ok {
  background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;
  padding: 10px 16px; margin-bottom: 12px;
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: #15803d; font-weight: 500;
}

/* ── Modal ──────────────────────────── */

.modal-overlay {
  position: fixed; inset: 0; background: rgba(12,35,64,.45);
  display: flex; align-items: center; justify-content: center;
  z-index: 1000; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  animation: fadeIn .15s ease;
}

.modal-box {
  background: #fff; border-radius: 10px; padding: 1.75rem 2rem;
  max-width: 400px; width: 90%;
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
  border: 1px solid #e2e8f0;
  animation: slideUp .18s ease;
}

.modal-header  { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }

.modal-icon    { width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 20px; }

.modal-icon.rojo    { background: #fff1f2; }

.modal-icon.amarillo{ background: #fffbeb; }

.modal-title   { font-weight: 700; font-size: 15px; color: #0f172a; }

.modal-subtitle{ font-size: 12px; color: #64748b; margin-top: 3px; }

.modal-info    { background: #f8fafc; border-radius: 6px; padding: 10px 14px; margin-bottom: 20px; border: 1px solid #e2e8f0; }

.modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 8px; }

/* ── Toast ──────────────────────────── */

.toast-curso {
  position: fixed; top: 76px; left: 50%; transform: translateX(-50%);
  background: #0c2340; color: #fff; border-radius: 6px; padding: 9px 16px;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 4px 20px rgba(12,35,64,.35); z-index: 1100;
  border: 1px solid rgba(255,255,255,.08);
  animation: slideDown .2s ease; white-space: nowrap;
  font-size: 13px; font-weight: 500;
}

.toast-deshacer {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  background: #0c2340; color: #fff; border-radius: 8px;
  padding: 12px 18px; display: flex; align-items: center; gap: 14px;
  box-shadow: 0 4px 20px rgba(12,35,64,.35); z-index: 1100; min-width: 340px;
  border: 1px solid rgba(255,255,255,.08);
  animation: slideUp2 .25s ease;
}

.toast-deshacer-text { flex: 1; font-size: 14px; font-weight: 600; }

.toast-progress { margin-top: 7px; height: 2px; background: rgba(255,255,255,.15); border-radius: 2px; overflow: hidden; }

.toast-progress-bar { height: 100%; background: #004379; border-radius: 2px; transition: width 1s linear; }

.toast-deshacer-btn {
  background: rgba(255,255,255,.12); color: #fff;
  border: 1px solid rgba(255,255,255,.18); border-radius: 5px;
  padding: 6px 14px; font-size: 12px; font-weight: 600;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
  transition: background .15s; font-family: inherit;
}

.toast-deshacer-btn:hover { background: rgba(255,255,255,.22); }

.toast-close {
  background: none; border: none; color: rgba(255,255,255,.3);
  font-size: 18px; cursor: pointer; padding: 0 4px; line-height: 1; flex-shrink: 0;
  transition: color .15s; font-family: inherit;
}

.toast-close:hover { color: rgba(255,255,255,.8); }

.toast-lista {
  position: fixed; top: 76px; left: 50%; transform: translateX(-50%);
  border-radius: 6px; padding: 9px 16px;
  display: flex; align-items: center; gap: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2); z-index: 1100;
  animation: slideDown .2s ease; white-space: nowrap;
  font-size: 13px; font-weight: 600;
  border: 1px solid rgba(255,255,255,.1);
}

.toast-lista.ok    { background: #0c2340; color: #fff; }

.toast-lista.error { background: #7f1d1d; color: #fff; }

.toast-guardado {
  position: fixed; top: 76px; left: 50%; transform: translateX(-50%);
  background: #0c2340; color: #fff; border-radius: 6px; padding: 9px 16px;
  display: flex; align-items: center; gap: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2); z-index: 1100;
  animation: slideDown .2s ease; white-space: nowrap;
  font-size: 13px; font-weight: 600;
  border: 1px solid rgba(255,255,255,.1);
}

/* ── Spinner ────────────────────────── */

.spinner {
  display: inline-block; width: 12px; height: 12px;
  border: 2px solid #e2e8f0; border-top-color: #004379;
  border-radius: 50%; animation: spin .7s linear infinite;
}

/* ── Papelera (override moderno) ─────── */

.papelera-btn:hover { background: #fef2f2; color: #ef4444; }

/* ── Animaciones ────────────────────── */

@keyframes fadeIn  { from { opacity: 0 } to { opacity: 1 } }

@keyframes slideUp { from { transform: translateY(16px); opacity: 0 } to { transform: translateY(0); opacity: 1 } }

@keyframes slideUp2{ from { transform: translateX(-50%) translateY(20px); opacity: 0 } to { transform: translateX(-50%) translateY(0); opacity: 1 } }

@keyframes slideDown{ from { transform: translateX(-50%) translateY(-10px); opacity: 0 } to { transform: translateX(-50%) translateY(0); opacity: 1 } }

@keyframes spin    { to { transform: rotate(360deg) } }

@keyframes tabFadeIn { from { opacity:0; transform:translateY(6px) } to { opacity:1; transform:translateY(0) } }

/* ── Sidebar ────────────────────────── */

.app-layout { display: flex; min-height: calc(100vh - 58px); }

.sidebar {
  width: 200px; min-width: 200px; background: #0c2340;
  display: flex; flex-direction: column; padding: 16px 0;
  transition: width .25s ease, min-width .25s ease;
  overflow: hidden;
}

.sidebar.collapsed { width: 0; min-width: 0; padding: 0; }

.sidebar-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 20px; color: rgba(255,255,255,.75);
  font-size: 13px; font-weight: 500; cursor: pointer;
  transition: all .15s; text-decoration: none; border: none; background: none;
  width: 100%; text-align: left; font-family: inherit; white-space: nowrap;
}

.sidebar-item:hover { color: #fff; background: rgba(255,255,255,.06); }

.sidebar-item.active { color: #fff; background: #1a3a6e; font-weight: 600; }

.sidebar-content { flex: 1; min-width: 0; }

.sidebar-toggle {
  position: fixed; top: 50%; left: 200px; z-index: 100;
  width: 20px; height: 54px;
  background: #1a3a6e; color: #fff; border: none;
  border-radius: 0 8px 8px 0;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; line-height: 1;
  transition: left .25s ease, background .15s;
  box-shadow: 2px 0 8px rgba(0,0,0,.2);
  transform: translateY(-50%);
}

.sidebar-toggle.collapsed { left: 0; }

.sidebar-toggle:hover { background: #2a4f8e; }

/* ── Ofertas tabs ──────────────────── */

.ofertas-tabs {
  display: inline-flex; gap: 2px; background: transparent;
  padding: 0; margin-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
  width: 100%;
}

.ofertas-tab {
  padding: 10px 18px; border: none; cursor: pointer;
  font-size: 13px; font-weight: 600; border-radius: 0;
  transition: all .15s ease; font-family: inherit;
  background: transparent; color: #64748b;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.ofertas-tab:hover:not(.ofertas-tab-active) {
  color: #1e293b;
  background: #f8fafc;
  border-bottom-color: #cbd5e1;
}

.ofertas-tab-active {
  background: transparent; color: #004379;
  box-shadow: none;
  border-bottom-color: #004379;
}

/* ── Ofertas page layout ──────────── */

.page-ofertas {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1.25rem 0 1rem;
}

.ofertas-tab-content {
  animation: tabFadeIn .3s ease;
}

/* ── Handsontable wrapper ──────────── */

.hot-wrapper {
  background: #fff; border: 1px solid #e2e8f0;
  border-radius: 8px; overflow: visible;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

/* ── Handsontable theme overrides ─── */

.hot-wrapper .handsontable {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 12.5px; color: #1e293b;
}

.hot-wrapper .handsontable thead th {
  background: #0c2340 !important; color: #fff !important;
  font-size: 10.5px; font-weight: 600; text-transform: uppercase;
  letter-spacing: .7px; padding: 0 !important;
  border-color: #1a3a6e !important; overflow: visible !important;
}

.hot-wrapper .handsontable thead th > div {
  display: flex !important; align-items: center !important;
  width: 100% !important; padding: 0 !important;
}

.hot-wrapper .handsontable thead th .colHeader {
  flex: 1; white-space: nowrap;
  padding: 9px 4px 9px 10px; color: #fff;
}

/* Indicador de ordenación siempre visible.
   Por defecto Handsontable solo pinta la flecha cuando el usuario hace click;
   aquí añadimos una flecha doble (neutra) como afford visual permanente para
   que se vea que la columna es ordenable. Usamos el mismo enfoque SVG-mask
   que el theme HT ya emplea para .ascending/.descending: así nuestra flecha
   queda automáticamente reemplazada por la direccional cuando se ordena, sin
   pelear especificidades. */

.hot-wrapper .handsontable .colHeader.columnSorting.sortAction {
  padding-inline-end: calc(var(--ht-icon-size, 16px) + 2px) !important;
  min-width: calc(var(--ht-icon-size, 16px) + 8px);
}

.hot-wrapper .handsontable .colHeader.columnSorting.sortAction:not(.ascending):not(.descending)::before {
  content: '' !important;
  display: block;
  width: var(--ht-icon-size, 16px);
  height: var(--ht-icon-size, 16px);
  position: absolute;
  top: 50%;
  right: 2px;
  transform: translateY(-50%);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3v10M5.5 5.5L8 3l2.5 2.5M5.5 10.5L8 13l2.5-2.5' stroke='currentColor' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3v10M5.5 5.5L8 3l2.5 2.5M5.5 10.5L8 13l2.5-2.5' stroke='currentColor' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color: currentColor;
  opacity: .45;
}

.hot-wrapper .handsontable thead th .relative { color: #fff; }

.hot-wrapper .handsontable th.ht__highlight,
.hot-wrapper .handsontable thead th.ht__highlight { background: #0a1f44 !important; }

.hot-wrapper .handsontable tbody th {
  background: #f8fafc !important; color: #94a3b8 !important;
  font-size: 11px; font-weight: 500; border-color: #e2e8f0 !important;
}

.hot-wrapper .handsontable td {
  padding: 8px 12px !important; border-color: #f1f5f9 !important;
  vertical-align: middle;
}

/* La cebra se pinta desde el <style scoped> de HotOfertasProfesor.vue
   (usando .ht__row_even/.ht__row_odd) porque allí hay un !important blanco
   que pisaría cualquier intento desde aquí. Aquí solo el hover. */

.hot-wrapper .handsontable tbody tr:hover td { background: #e0eaff !important; }

.hot-wrapper .handsontable td.area { background: rgba(26,58,110,.08) !important; }

.hot-wrapper .handsontable td.current { border-color: #1a3a6e !important; }

.hot-wrapper .htDropdownMenu .handsontable td,
.hot-wrapper .htFiltersConditionOperationSpace { font-family: 'DM Sans', sans-serif; }

.hot-wrapper .handsontable .wtHolder::-webkit-scrollbar { width: 6px; height: 6px; }

.hot-wrapper .handsontable .wtHolder::-webkit-scrollbar-track { background: #f1f5f9; }

.hot-wrapper .handsontable .wtHolder::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

.hot-wrapper .handsontable .wtHolder::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* ── Pagination ────────────────────── */

.hot-pagination {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px; background: #f8fafc;
  border-top: 1px solid #e2e8f0; font-size: 12px; color: #64748b;
  font-family: 'DM Sans', sans-serif;
}

.hot-pagination-btns { display: flex; align-items: center; gap: 4px; }

.hot-pagination-btn {
  padding: 5px 10px; border: 1px solid #e2e8f0; border-radius: 5px;
  background: #fff; color: #475569; font-size: 12px; font-weight: 500;
  cursor: pointer; font-family: inherit; transition: all .15s;
}

.hot-pagination-btn:hover:not(:disabled) { border-color: #1a3a6e; color: #004379; background: #f8fafc; }

.hot-pagination-btn:disabled { opacity: .35; cursor: not-allowed; }

.hot-pagination-btn.active { background: #1a3a6e; color: #fff; border-color: #1a3a6e; }

.hot-page-size {
  padding: 4px 8px; border: 1px solid #e2e8f0; border-radius: 5px;
  font-size: 12px; font-family: inherit; cursor: pointer; outline: none;
  background: #fff; color: #475569; transition: border-color .15s;
}

.hot-page-size:hover { border-color: #1a3a6e; }

/* ── Tab hover ─────────────────────── */

.tab-btn:hover:not(.tab-active) { background: #e2e8f0 !important; color: #004379 !important; }

/* ── PrimeVue overrides ─────────────── */

.p-component { font-family: 'DM Sans', sans-serif !important; }

.htDropdownMenu {
  z-index: 9999 !important;
}

.htFiltersConditionsMenu {
  z-index: 9999 !important;
}

.placeholder\:text-surface-400::-moz-placeholder{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-text-opacity)), transparent);
}

.placeholder\:text-surface-400::placeholder{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-text-opacity)), transparent);
}

.placeholder\:text-transparent::-moz-placeholder{
  color: transparent;
}

.placeholder\:text-transparent::placeholder{
  color: transparent;
}

.before\:absolute::before{
  content: var(--tw-content);
  position: absolute;
}

.before\:-top-3::before{
  content: var(--tw-content);
  top: -0.75rem;
}

.before\:bottom-0::before{
  content: var(--tw-content);
  bottom: 0px;
}

.before\:left-0::before{
  content: var(--tw-content);
  left: 0px;
}

.before\:left-1::before{
  content: var(--tw-content);
  left: 0.25rem;
}

.before\:left-1\/2::before{
  content: var(--tw-content);
  left: 50%;
}

.before\:top-0::before{
  content: var(--tw-content);
  top: 0px;
}

.before\:top-1::before{
  content: var(--tw-content);
  top: 0.25rem;
}

.before\:top-1\/2::before{
  content: var(--tw-content);
  top: 50%;
}

.before\:z-0::before{
  content: var(--tw-content);
  z-index: 0;
}

.before\:-mt-2::before{
  content: var(--tw-content);
  margin-top: -0.5rem;
}

.before\:ml-\[10px\]::before{
  content: var(--tw-content);
  margin-left: 10px;
}

.before\:block::before{
  content: var(--tw-content);
  display: block;
}

.before\:h-0::before{
  content: var(--tw-content);
  height: 0px;
}

.before\:h-4::before{
  content: var(--tw-content);
  height: 1rem;
}

.before\:h-\[0\.375rem\]::before{
  content: var(--tw-content);
  height: 0.375rem;
}

.before\:h-\[16px\]::before{
  content: var(--tw-content);
  height: 16px;
}

.before\:h-\[calc\(100\%-0\.5rem\)\]::before{
  content: var(--tw-content);
  height: calc(100% - 0.5rem);
}

.before\:min-h-full::before{
  content: var(--tw-content);
  min-height: 100%;
}

.before\:w-0::before{
  content: var(--tw-content);
  width: 0px;
}

.before\:w-4::before{
  content: var(--tw-content);
  width: 1rem;
}

.before\:w-\[0\.375rem\]::before{
  content: var(--tw-content);
  width: 0.375rem;
}

.before\:w-\[16px\]::before{
  content: var(--tw-content);
  width: 16px;
}

.before\:w-\[calc\(100\%-0\.5rem\)\]::before{
  content: var(--tw-content);
  width: calc(100% - 0.5rem);
}

.before\:w-full::before{
  content: var(--tw-content);
  width: 100%;
}

.before\:-translate-x-1\/2::before{
  content: var(--tw-content);
  --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));
}

.before\:translate-x-4::before{
  content: var(--tw-content);
  --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));
}

.before\:transform::before{
  content: var(--tw-content);
  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));
}

.before\:rounded-\[4px\]::before{
  content: var(--tw-content);
  border-radius: 4px;
}

.before\:rounded-full::before{
  content: var(--tw-content);
  border-radius: 9999px;
}

.before\:border-x-\[10px\]::before{
  content: var(--tw-content);
  border-left-width: 10px;
  border-right-width: 10px;
}

.before\:border-b-\[10px\]::before{
  content: var(--tw-content);
  border-bottom-width: 10px;
}

.before\:border-l::before{
  content: var(--tw-content);
  border-left-width: 1px;
}

.before\:border-t::before{
  content: var(--tw-content);
  border-top-width: 1px;
}

.before\:border-t-0::before{
  content: var(--tw-content);
  border-top-width: 0px;
}

.before\:border-solid::before{
  content: var(--tw-content);
  border-style: solid;
}

.before\:border-dashed::before{
  content: var(--tw-content);
  border-style: dashed;
}

.before\:border-dotted::before{
  content: var(--tw-content);
  border-style: dotted;
}

.before\:border-surface-200::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.before\:border-transparent::before{
  content: var(--tw-content);
  border-color: transparent;
}

.before\:border-b-surface-200::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-bottom-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.before\:bg-inherit::before{
  content: var(--tw-content);
  background-color: inherit;
}

.before\:bg-primary::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-bg-opacity)), transparent);
}

.before\:bg-surface-0::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-bg-opacity)), transparent);
}

.before\:bg-transparent::before{
  content: var(--tw-content);
  background-color: transparent;
}

.before\:shadow-md::before{
  content: var(--tw-content);
  --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);
}

.before\:duration-200::before{
  content: var(--tw-content);
  transition-duration: 200ms;
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:-top-\[0\.54rem\]::after{
  content: var(--tw-content);
  top: -0.54rem;
}

.after\:bottom-0::after{
  content: var(--tw-content);
  bottom: 0px;
}

.after\:left-0::after{
  content: var(--tw-content);
  left: 0px;
}

.after\:left-\[4px\]::after{
  content: var(--tw-content);
  left: 4px;
}

.after\:top-0::after{
  content: var(--tw-content);
  top: 0px;
}

.after\:ml-\[8px\]::after{
  content: var(--tw-content);
  margin-left: 8px;
}

.after\:h-0::after{
  content: var(--tw-content);
  height: 0px;
}

.after\:h-full::after{
  content: var(--tw-content);
  height: 100%;
}

.after\:w-0::after{
  content: var(--tw-content);
  width: 0px;
}

.after\:w-full::after{
  content: var(--tw-content);
  width: 100%;
}

.after\:rounded-full::after{
  content: var(--tw-content);
  border-radius: 9999px;
}

.after\:border-x-\[8px\]::after{
  content: var(--tw-content);
  border-left-width: 8px;
  border-right-width: 8px;
}

.after\:border-b-\[8px\]::after{
  content: var(--tw-content);
  border-bottom-width: 8px;
}

.after\:border-t-0::after{
  content: var(--tw-content);
  border-top-width: 0px;
}

.after\:border-solid::after{
  content: var(--tw-content);
  border-style: solid;
}

.after\:border-transparent::after{
  content: var(--tw-content);
  border-color: transparent;
}

.after\:border-b-surface-0::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-bottom-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-border-opacity)), transparent);
}

.after\:bg-inherit::after{
  content: var(--tw-content);
  background-color: inherit;
}

.after\:shadow-sm::after{
  content: var(--tw-content);
  --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);
}

.after\:delay-1000::after{
  content: var(--tw-content);
  transition-delay: 1000ms;
}

.first\:mb-2:first-child{
  margin-bottom: 0.5rem;
}

.first\:ml-0:first-child{
  margin-left: 0px;
}

.first\:ml-2:first-child{
  margin-left: 0.5rem;
}

.first\:mr-2:first-child{
  margin-right: 0.5rem;
}

.first\:mt-0:first-child{
  margin-top: 0px;
}

.first\:mt-2:first-child{
  margin-top: 0.5rem;
}

.first\:rounded-l-lg:first-child{
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.first\:rounded-l-md:first-child{
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.first\:rounded-t-lg:first-child{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.first\:border-l:first-child{
  border-left-width: 1px;
}

.first\:border-l-0:first-child{
  border-left-width: 0px;
}

.last\:mb-0:last-child{
  margin-bottom: 0px;
}

.last\:mr-0:last-child{
  margin-right: 0px;
}

.last\:rounded-b-lg:last-child{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.last\:rounded-r-lg:last-child{
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.last\:rounded-r-md:last-child{
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.last\:rounded-bl-md:last-child{
  border-bottom-left-radius: 0.375rem;
}

.last\:rounded-br-md:last-child{
  border-bottom-right-radius: 0.375rem;
}

.last\:border-b:last-child{
  border-bottom-width: 1px;
}

.last\:border-b-0:last-child{
  border-bottom-width: 0px;
}

.last\:border-r:last-child{
  border-right-width: 1px;
}

.odd\:bg-surface-0:nth-child(odd){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-bg-opacity)), transparent);
}

.odd\:text-surface-600:nth-child(odd){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-text-opacity)), transparent);
}

.even\:bg-surface-50:nth-child(even){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-50) calc(100% * var(--tw-bg-opacity)), transparent);
}

.even\:text-surface-600:nth-child(even){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-text-opacity)), transparent);
}

.focus-within\:border-primary:focus-within{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-border-opacity)), transparent);
}

.focus-within\:bg-white:focus-within{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.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-primary-200:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-200) calc(100% * var(--tw-ring-opacity)), transparent);
}

.hover\:cursor-pointer:hover{
  cursor: pointer;
}

.hover\:border-blue-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity));
}

.hover\:border-gray-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity));
}

.hover\:border-green-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity));
}

.hover\:border-orange-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity));
}

.hover\:border-primary:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-primary-200:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-primary-300:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-primary-emphasis:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-purple-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity));
}

.hover\:border-red-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity));
}

.hover\:border-surface-200:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-surface-300:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-surface-400:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:border-surface-800:hover{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-border-opacity)), transparent);
}

.hover\:bg-amber-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
}

.hover\:bg-black\/50:hover{
  background-color: rgb(0 0 0 / 0.5);
}

.hover\:bg-blue-300\/10:hover{
  background-color: rgb(147 197 253 / 0.1);
}

.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}

.hover\:bg-gray-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity));
}

.hover\:bg-green-300\/10:hover{
  background-color: rgb(134 239 172 / 0.1);
}

.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity));
}

.hover\:bg-orange-300\/10:hover{
  background-color: rgb(253 186 116 / 0.1);
}

.hover\:bg-orange-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity));
}

.hover\:bg-primary-100:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-100) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-primary-200:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-200) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-primary-300\/10:hover{
  background-color: color-mix(in srgb, var(--p-primary-300) calc(100% * 0.1), transparent);
}

.hover\:bg-primary-50:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-50) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-primary-600:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-600) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-primary-emphasis:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-purple-300\/10:hover{
  background-color: rgb(216 180 254 / 0.1);
}

.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity));
}

.hover\:bg-red-300\/10:hover{
  background-color: rgb(252 165 165 / 0.1);
}

.hover\:bg-red-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}

.hover\:bg-red-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
}

.hover\:bg-surface-0\/10:hover{
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.1), transparent);
}

.hover\:bg-surface-0\/30:hover{
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.3), transparent);
}

.hover\:bg-surface-100:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-200:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-200\/20:hover{
  background-color: color-mix(in srgb, var(--p-surface-200) calc(100% * 0.2), transparent);
}

.hover\:bg-surface-300:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-300\/10:hover{
  background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * 0.1), transparent);
}

.hover\:bg-surface-300\/20:hover{
  background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * 0.2), transparent);
}

.hover\:bg-surface-50:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-50) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-600:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-800:hover{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-bg-opacity)), transparent);
}

.hover\:bg-surface-900\/10:hover{
  background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.1), transparent);
}

.hover\:bg-opacity-50:hover{
  --tw-bg-opacity: 0.5;
}

.hover\:text-amber-600:hover{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity));
}

.hover\:text-primary:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-primary-500:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-primary-600:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-600) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}

.hover\:text-surface-600:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-surface-700:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-surface-800:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-surface-900:hover{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-text-opacity)), transparent);
}

.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:underline:hover{
  text-decoration-line: underline;
}

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:shadow-sm:hover{
  --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);
}

.hover\:bg-highlight-emphasis:hover{
  background: var(--p-highlight-focus-background);
  color: var(--p-highlight-focus-color);
}

.invalid\:hover\:border-red-500:hover:invalid{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}

.focus\:z-10:focus{
  z-index: 10;
}

.focus\:border-primary:focus{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-border-opacity)), transparent);
}

.focus\:shadow-none:focus{
  --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);
}

.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:outline-offset-0:focus{
  outline-offset: 0px;
}

.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-inset:focus{
  --tw-ring-inset: inset;
}

.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
}

.focus\:ring-green-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity));
}

.focus\:ring-orange-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity));
}

.focus\:ring-primary:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-color) calc(100% * var(--tw-ring-opacity)), transparent);
}

.focus\:ring-primary-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-ring-opacity)), transparent);
}

.focus\:ring-primary\/15:focus{
  --tw-ring-color: color-mix(in srgb, var(--p-primary-color) calc(100% * 0.15), transparent);
}

.focus\:ring-purple-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity));
}

.focus\:ring-red-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
}

.focus\:ring-surface-0:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-ring-opacity)), transparent);
}

.focus\:ring-surface-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-ring-opacity)), transparent);
}

.invalid\:focus\:ring-red-200:focus:invalid{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity));
}

.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:outline-offset-0:focus-visible{
  outline-offset: 0px;
}

.focus-visible\:ring-1: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(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-visible\:ring-inset:focus-visible{
  --tw-ring-inset: inset;
}

.focus-visible\:ring-primary-300:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-ring-opacity)), transparent);
}

.focus-visible\:ring-primary-400:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.focus-visible\:ring-primary-500:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-ring-opacity)), transparent);
}

.active\:translate-y-px:active{
  --tw-translate-y: 1px;
  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));
}

.active\:cursor-grabbing:active{
  cursor: grabbing;
}

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled{
  cursor: wait;
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-60:disabled{
  opacity: 0.6;
}

.disabled\:hover\:border-surface-300:hover:disabled{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-border-opacity)), transparent);
}

.disabled\:active\:translate-y-0:active:disabled{
  --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));
}

.group:hover .group-hover\:opacity-100{
  opacity: 1;
}

.peer:hover ~ .peer-hover\:border-primary-emphasis{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-border-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:border-surface-400{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-border-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:border-surface-600{
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:bg-primary-emphasis{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-hover-color) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:bg-surface-400{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:bg-surface-700{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:focus-visible ~ .peer-focus-visible\:z-10{
  z-index: 10;
}

.peer:focus-visible ~ .peer-focus-visible\:outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.peer:focus-visible ~ .peer-focus-visible\:outline-offset-0{
  outline-offset: 0px;
}

.peer:focus-visible ~ .peer-focus-visible\: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);
}

.peer:focus-visible ~ .peer-focus-visible\:ring-primary-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.peer:focus-visible ~ .peer-focus-visible\:ring-primary-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-ring-opacity)), transparent);
}

.has-\[\[data-pc-name\=stepitem\]\]\:flex:has([data-pc-name=stepitem]){
  display: flex;
}

.has-\[\[data-pc-name\=stepitem\]\]\:flex-col:has([data-pc-name=stepitem]){
  flex-direction: column;
}

.has-\[\.mask-active\]\:bg-transparent:has(.mask-active){
  background-color: transparent;
}

@media (min-width: 640px){

  .sm\:absolute{
    position: absolute;
  }

  .sm\:relative{
    position: relative;
  }

  .sm\:left-auto{
    left: auto;
  }

  .sm\:left-full{
    left: 100%;
  }

  .sm\:top-0{
    top: 0px;
  }

  .sm\:top-auto{
    top: auto;
  }

  .sm\:ml-2{
    margin-left: 0.5rem;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:w-1\/2{
    width: 50%;
  }

  .sm\:w-48{
    width: 12rem;
  }

  .sm\:w-\[50\%\]{
    width: 50%;
  }

  .sm\:w-auto{
    width: auto;
  }

  .sm\:min-w-\[14rem\]{
    min-width: 14rem;
  }

  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:flex-row{
    flex-direction: row;
  }

  .sm\:flex-nowrap{
    flex-wrap: nowrap;
  }

  .sm\:bg-transparent{
    background-color: transparent;
  }

  .sm\:p-0{
    padding: 0px;
  }

  .sm\:py-0{
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .sm\:pl-5{
    padding-left: 1.25rem;
  }

  .sm\: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);
  }

  .sm\: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);
  }
}

@media (min-width: 768px){

  .md\:mx-5{
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  .md\:block{
    display: block;
  }

  .md\:inline{
    display: inline;
  }

  .md\:flex{
    display: flex;
  }

  .md\:hidden{
    display: none;
  }

  .md\:w-\[25\%\]{
    width: 25%;
  }

  .md\:w-\[33\.333333333333336\%\]{
    width: 33.333333333333336%;
  }

  .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\:gap-1\.5{
    gap: 0.375rem;
  }

  .md\:gap-2\.5{
    gap: 0.625rem;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .md\:opacity-0{
    opacity: 0;
  }

  .group:hover .md\:group-hover\:opacity-100{
    opacity: 1;
  }
}

@media (min-width: 1024px){

  .lg\:static{
    position: static;
  }

  .lg\:w-\[20\%\]{
    width: 20%;
  }
}

@media (min-width: 1280px){

  .xl\:w-24{
    width: 6rem;
  }

  .xl\:w-40{
    width: 10rem;
  }

  .xl\:flex-col{
    flex-direction: column;
  }
}

.dark\:border:where(.dark, .dark *){
  border-width: 1px;
}

.dark\:border-blue-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity));
}

.dark\:border-blue-500\/20:where(.dark, .dark *){
  border-color: rgb(59 130 246 / 0.2);
}

.dark\:border-green-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity));
}

.dark\:border-green-500\/20:where(.dark, .dark *){
  border-color: rgb(34 197 94 / 0.2);
}

.dark\:border-orange-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity));
}

.dark\:border-orange-500\/20:where(.dark, .dark *){
  border-color: rgb(249 115 22 / 0.2);
}

.dark\:border-purple-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity));
}

.dark\:border-red-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity));
}

.dark\:border-red-500\/20:where(.dark, .dark *){
  border-color: rgb(239 68 68 / 0.2);
}

.dark\:border-surface-0:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:border-surface-500\/20:where(.dark, .dark *){
  border-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
}

.dark\:border-surface-600:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:border-surface-700:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:border-surface-800:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:border-surface-950:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:bg-blue-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity));
}

.dark\:bg-blue-500\/20:where(.dark, .dark *){
  background-color: rgb(59 130 246 / 0.2);
}

.dark\:bg-gray-700:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity));
}

.dark\:bg-green-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity));
}

.dark\:bg-green-400\/50:where(.dark, .dark *){
  background-color: rgb(74 222 128 / 0.5);
}

.dark\:bg-green-500\/20:where(.dark, .dark *){
  background-color: rgb(34 197 94 / 0.2);
}

.dark\:bg-orange-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity));
}

.dark\:bg-orange-400\/50:where(.dark, .dark *){
  background-color: rgb(251 146 60 / 0.5);
}

.dark\:bg-orange-500\/20:where(.dark, .dark *){
  background-color: rgb(249 115 22 / 0.2);
}

.dark\:bg-purple-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity));
}

.dark\:bg-red-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
}

.dark\:bg-red-400\/50:where(.dark, .dark *){
  background-color: rgb(248 113 113 / 0.5);
}

.dark\:bg-red-500\/20:where(.dark, .dark *){
  background-color: rgb(239 68 68 / 0.2);
}

.dark\:bg-surface-0:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:bg-surface-0\/10:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.1), transparent);
}

.dark\:bg-surface-400:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:bg-surface-500\/20:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
}

.dark\:bg-surface-600\/60:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * 0.6), transparent);
}

.dark\:bg-surface-600\/90:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * 0.9), transparent);
}

.dark\:bg-surface-700:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:bg-surface-800:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:bg-surface-800\/40:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * 0.4), transparent);
}

.dark\:bg-surface-800\/50:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * 0.5), transparent);
}

.dark\:bg-surface-900:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:bg-surface-900\/20:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.2), transparent);
}

.dark\:bg-surface-900\/40:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.4), transparent);
}

.dark\:bg-surface-950:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:fill-surface-200:where(.dark, .dark *){
  fill: color-mix(in srgb, var(--p-surface-200) calc(100% * 1), transparent);
}

.dark\:fill-white\/70:where(.dark, .dark *){
  fill: rgb(255 255 255 / 0.7);
}

.dark\:stroke-surface-700:where(.dark, .dark *){
  stroke: color-mix(in srgb, var(--p-surface-700) calc(100% * 1), transparent);
}

.dark\:\!text-transparent:where(.dark, .dark *){
  color: transparent !important;
}

.dark\:text-blue-300:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}

.dark\:text-blue-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity));
}

.dark\:text-green-300:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity));
}

.dark\:text-green-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity));
}

.dark\:text-green-900:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity));
}

.dark\:text-orange-300:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}

.dark\:text-orange-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity));
}

.dark\:text-primary-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-purple-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity));
}

.dark\:text-red-300:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.dark\:text-red-400:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity));
}

.dark\:text-surface-0:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-0\/60:where(.dark, .dark *){
  color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.6), transparent);
}

.dark\:text-surface-0\/70:where(.dark, .dark *){
  color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.7), transparent);
}

.dark\:text-surface-0\/80:where(.dark, .dark *){
  color: color-mix(in srgb, var(--p-surface-0) calc(100% * 0.8), transparent);
}

.dark\:text-surface-200:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-300:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-500:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-600:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-900:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-surface-950:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:text-white:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.dark\:text-white\/60:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.6);
}

.dark\:text-white\/70:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.7);
}

.dark\:text-white\/80:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.8);
}

.dark\:outline-blue-500\/20:where(.dark, .dark *){
  outline-color: rgb(59 130 246 / 0.2);
}

.dark\:outline-green-500\/20:where(.dark, .dark *){
  outline-color: rgb(34 197 94 / 0.2);
}

.dark\:outline-orange-500\/20:where(.dark, .dark *){
  outline-color: rgb(249 115 22 / 0.2);
}

.dark\:outline-red-500\/20:where(.dark, .dark *){
  outline-color: rgb(239 68 68 / 0.2);
}

.dark\:outline-surface-0:where(.dark, .dark *){
  outline-color: color-mix(in srgb, var(--p-surface-0) calc(100% * 1), transparent);
}

.dark\:outline-surface-500\/20:where(.dark, .dark *){
  outline-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
}

.dark\:ring-primary-400:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:ring-primary-500:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-500) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:placeholder\:text-surface-500:where(.dark, .dark *)::-moz-placeholder{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:placeholder\:text-surface-500:where(.dark, .dark *)::placeholder{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:placeholder\:text-transparent:where(.dark, .dark *)::-moz-placeholder{
  color: transparent;
}

.dark\:placeholder\:text-transparent:where(.dark, .dark *)::placeholder{
  color: transparent;
}

.before\:dark\:border-surface-600:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:before\:border-b-surface-700:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-bottom-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.before\:dark\:bg-surface-500:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * var(--tw-bg-opacity)), transparent);
}

.before\:dark\:bg-surface-950:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:before\:bg-surface-800:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:before\:bg-surface-950:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:after\:border-b-surface-900:where(.dark, .dark *)::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-bottom-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:odd\:bg-surface-900:nth-child(odd):where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:even\:bg-surface-800\/50:nth-child(even):where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * 0.5), transparent);
}

.dark\:hover\:border-blue-300:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity));
}

.dark\:hover\:border-green-300:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity));
}

.dark\:hover\:border-orange-300:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity));
}

.dark\:hover\:border-purple-300:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity));
}

.dark\:hover\:border-red-300:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity));
}

.dark\:hover\:border-surface-100:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:hover\:border-surface-600:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:hover\:border-surface-700:hover:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:hover\:bg-\[rgba\(255\2c 255\2c 255\2c 0\.03\)\]:hover:where(.dark, .dark *){
  background-color: rgba(255,255,255,0.03);
}

.dark\:hover\:bg-blue-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-green-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(134 239 172 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-orange-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-purple-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(216 180 254 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-red-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(252 165 165 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-surface-100:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:hover\:bg-surface-300:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-300) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:hover\:bg-surface-500\/10:hover:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.1), transparent);
}

.dark\:hover\:bg-surface-500\/20:hover:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-500) calc(100% * 0.2), transparent);
}

.dark\:hover\:bg-surface-600:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:hover\:bg-surface-800:hover:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:hover\:bg-surface-800\/50:hover:where(.dark, .dark *){
  background-color: color-mix(in srgb, var(--p-surface-800) calc(100% * 0.5), transparent);
}

.dark\:hover\:text-primary-300:hover:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:hover\:text-primary-400:hover:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:hover\:text-surface-0:hover:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:hover\:text-surface-100:hover:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-surface-100) calc(100% * var(--tw-text-opacity)), transparent);
}

.dark\:hover\:text-white:hover:where(.dark, .dark *){
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.dark\:hover\:text-white\/60:hover:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.6);
}

.dark\:hover\:text-white\/80:hover:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.8);
}

.dark\:focus\:ring-blue-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity));
}

.dark\:focus\:ring-green-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity));
}

.dark\:focus\:ring-orange-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity));
}

.dark\:focus\:ring-primary-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:focus\:ring-purple-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity));
}

.dark\:focus\:ring-red-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity));
}

.dark\:focus\:ring-surface-400:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:focus\:ring-surface-950:focus:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-surface-950) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:focus-visible\:ring-primary-300:focus-visible:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-ring-opacity)), transparent);
}

.dark\:focus-visible\:ring-primary-400:focus-visible:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

.peer:hover ~ .dark\:peer-hover\:border-surface-400:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-border-opacity)), transparent);
}

.peer:hover ~ .dark\:peer-hover\:border-surface-600:where(.dark, .dark *){
  --tw-border-opacity: 1;
  border-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-border-opacity)), transparent);
}

.peer:hover ~ .dark\:peer-hover\:bg-surface-700:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:focus-visible ~ .dark\:peer-focus-visible\:ring-primary-400:where(.dark, .dark *){
  --tw-ring-opacity: 1;
  --tw-ring-color: color-mix(in srgb, var(--p-primary-400) calc(100% * var(--tw-ring-opacity)), transparent);
}

@media (min-width: 640px){

  .dark\:sm\:bg-transparent:where(.dark, .dark *){
    background-color: transparent;
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{
  display: none;
}

.\[\&\:first-child\]\:mt-0:first-child{
  margin-top: 0px;
}

.\[\&\:last-child\]\:border-b:last-child{
  border-bottom-width: 1px;
}

.\[\&\:not\(\:last-child\)\]\:flex-1:not(:last-child){
  flex: 1 1 0%;
}

.\[\&\:not\(ul\)\]\:my-\[2px\]:not(ul){
  margin-top: 2px;
  margin-bottom: 2px;
}

.\[\&\:not\(ul\)\]\:pl-0:not(ul){
  padding-left: 0px;
}

.\[\&\>\*\:first-child\]\:bg-surface-600>*:first-child{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-600) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:hover ~ .peer-hover\:\[\&\>\*\:first-child\]\:bg-primary-600>*:first-child{
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-600) calc(100% * var(--tw-bg-opacity)), transparent);
}

.dark\:\[\&\>\*\:first-child\]\:bg-surface-400>*:first-child:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-surface-400) calc(100% * var(--tw-bg-opacity)), transparent);
}

.peer:hover ~ .dark\:peer-hover\:\[\&\>\*\:first-child\]\:bg-primary-300>*:first-child:where(.dark, .dark *){
  --tw-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--p-primary-300) calc(100% * var(--tw-bg-opacity)), transparent);
}

.\[\&\>\*\:last-child\]\:pointer-events-none>*:last-child{
  pointer-events: none;
}

.\[\&\>\*\:last-child\]\:absolute>*:last-child{
  position: absolute;
}

.\[\&\>\*\:last-child\]\:left-3>*:last-child{
  left: 0.75rem;
}

.\[\&\>\*\:last-child\]\:text-surface-900\/60>*:last-child{
  color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.6), transparent);
}

.\[\&\>\*\:last-child\]\:transition-all>*:last-child{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.\[\&\>\*\:last-child\]\:duration-200>*:last-child{
  transition-duration: 200ms;
}

.\[\&\>\*\:last-child\]\:has-\[\.filled\]\:-top-3:has(.filled)>*:last-child{
  top: -0.75rem;
}

.\[\&\>\*\:last-child\]\:has-\[\:focus\]\:-top-3:has(:focus)>*:last-child{
  top: -0.75rem;
}

.\[\&\>\*\:last-child\]\:has-\[\.filled\]\:z-10:has(.filled)>*:last-child{
  z-index: 10;
}

.\[\&\>\*\:last-child\]\:has-\[\:focus\]\:z-10:has(:focus)>*:last-child{
  z-index: 10;
}

.\[\&\>\*\:last-child\]\:has-\[\.filled\]\:text-sm:has(.filled)>*:last-child{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.\[\&\>\*\:last-child\]\:has-\[\:focus\]\:text-sm:has(:focus)>*:last-child{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.dark\:\[\&\>\*\:last-child\]\:text-white\/60>*:last-child:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.6);
}

.\[\&\>\:not\(textarea\)\~label\]\:top-1\/2>:not(textarea)~label{
  top: 50%;
}

.\[\&\>\:not\(textarea\)\~label\]\:-translate-y-1\/2>:not(textarea)~label{
  --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));
}

.\[\&\>\[data-pc-extend\=button\]\]\:self-center>[data-pc-extend=button]{
  align-self: center;
}

.\[\&\>\[data-pc-extend\=inputicon\]\:first-child\]\:left-3>[data-pc-extend=inputicon]:first-child{
  left: 0.75rem;
}

.\[\&\>\[data-pc-extend\=inputicon\]\:last-child\]\:right-3>[data-pc-extend=inputicon]:last-child{
  right: 0.75rem;
}

.\[\&\>\[data-pc-extend\=inputicon\]\]\:absolute>[data-pc-extend=inputicon]{
  position: absolute;
}

.\[\&\>\[data-pc-extend\=inputicon\]\]\:top-1\/2>[data-pc-extend=inputicon]{
  top: 50%;
}

.\[\&\>\[data-pc-extend\=inputicon\]\]\:-mt-2>[data-pc-extend=inputicon]{
  margin-top: -0.5rem;
}

.\[\&\>\[data-pc-extend\=inputicon\]\]\:text-surface-900\/60>[data-pc-extend=inputicon]{
  color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.6), transparent);
}

.dark\:\[\&\>\[data-pc-extend\=inputicon\]\]\:text-white\/60>[data-pc-extend=inputicon]:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.6);
}

.\[\&\>\[data-pc-name\=badge\]\]\:h-4>[data-pc-name=badge]{
  height: 1rem;
}

.\[\&\>\[data-pc-name\=badge\]\]\:min-w-4>[data-pc-name=badge]{
  min-width: 1rem;
}

.\[\&\>\[data-pc-name\=badge\]\]\:leading-4>[data-pc-name=badge]{
  line-height: 1rem;
}

.\[\&\>\[data-pc-name\=inputicon\]\:first-child\]\:left-3>[data-pc-name=inputicon]:first-child{
  left: 0.75rem;
}

.\[\&\>\[data-pc-name\=inputicon\]\:last-child\]\:right-3>[data-pc-name=inputicon]:last-child{
  right: 0.75rem;
}

.\[\&\>\[data-pc-name\=inputicon\]\]\:absolute>[data-pc-name=inputicon]{
  position: absolute;
}

.\[\&\>\[data-pc-name\=inputicon\]\]\:top-1\/2>[data-pc-name=inputicon]{
  top: 50%;
}

.\[\&\>\[data-pc-name\=inputicon\]\]\:-mt-2>[data-pc-name=inputicon]{
  margin-top: -0.5rem;
}

.\[\&\>\[data-pc-name\=inputicon\]\]\:text-surface-900\/60>[data-pc-name=inputicon]{
  color: color-mix(in srgb, var(--p-surface-900) calc(100% * 0.6), transparent);
}

.dark\:\[\&\>\[data-pc-name\=inputicon\]\]\:text-white\/60>[data-pc-name=inputicon]:where(.dark, .dark *){
  color: rgb(255 255 255 / 0.6);
}

.\[\&\>\[data-pc-name\=inputtext\]\:first-child\]\:pr-10>[data-pc-name=inputtext]:first-child{
  padding-right: 2.5rem;
}

.\[\&\>\[data-pc-name\=inputtext\]\:last-child\]\:pl-10>[data-pc-name=inputtext]:last-child{
  padding-left: 2.5rem;
}

.\[\&\>\[data-pc-name\=pcbutton\]\]\:rounded-br-none>[data-pc-name=pcbutton]{
  border-bottom-right-radius: 0px;
}

.\[\&\>\[data-pc-name\=pcbutton\]\]\:rounded-tr-none>[data-pc-name=pcbutton]{
  border-top-right-radius: 0px;
}

.\[\&\>\[data-pc-name\=pcdropdown\]\]\:rounded-bl-none>[data-pc-name=pcdropdown]{
  border-bottom-left-radius: 0px;
}

.\[\&\>\[data-pc-name\=pcdropdown\]\]\:rounded-tl-none>[data-pc-name=pcdropdown]{
  border-top-left-radius: 0px;
}

.\[\&\>\[data-pc-name\=pcfilteraddrulebutton\]\]\:w-full>[data-pc-name=pcfilteraddrulebutton]{
  width: 100%;
}

.\[\&\>\[data-pc-name\=pcfilteroperatordropdown\]\]\:w-full>[data-pc-name=pcfilteroperatordropdown]{
  width: 100%;
}

.\[\&\>\[data-pc-name\=pcmenu\]\]\:min-w-full>[data-pc-name=pcmenu]{
  min-width: 100%;
}

.\[\&\>\[data-pc-name\=pcprogressbar\]\]\:absolute>[data-pc-name=pcprogressbar]{
  position: absolute;
}

.\[\&\>\[data-pc-name\=pcprogressbar\]\]\:left-0>[data-pc-name=pcprogressbar]{
  left: 0px;
}

.\[\&\>\[data-pc-name\=pcprogressbar\]\]\:top-0>[data-pc-name=pcprogressbar]{
  top: 0px;
}

.\[\&\>\[data-pc-name\=pcprogressbar\]\]\:h-1>[data-pc-name=pcprogressbar]{
  height: 0.25rem;
}

.\[\&\>\[data-pc-name\=pcprogressbar\]\]\:w-full>[data-pc-name=pcprogressbar]{
  width: 100%;
}

.\[\&\>\[data-pc-name\=tablist\]\]\:overflow-hidden>[data-pc-name=tablist]{
  overflow: hidden;
}

.\[\&\>\[data-pc-section\=label\]\]\:invisible>[data-pc-section=label]{
  visibility: hidden;
}

.\[\&\>\[data-pc-section\=label\]\]\:w-0>[data-pc-section=label]{
  width: 0px;
}

.\[\&\>button\:first-child\]\:rounded-l-none>button:first-child{
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.\[\&\>button\:first-child\]\:rounded-r-none>button:first-child{
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.\[\&\>button\:first-child\]\:rounded-bl-md>button:first-child{
  border-bottom-left-radius: 0.375rem;
}

.\[\&\>button\:first-child\]\:rounded-tl-md>button:first-child{
  border-top-left-radius: 0.375rem;
}

.\[\&\>button\:last-child\]\:rounded-br-md>button:last-child{
  border-bottom-right-radius: 0.375rem;
}

.\[\&\>button\:last-child\]\:rounded-tr-md>button:last-child{
  border-top-right-radius: 0.375rem;
}

.\[\&\>button\]\:rounded-none>button{
  border-radius: 0px;
}

.\[\&\>button\]\:border-none>button{
  border-style: none;
}

.\[\&\>input\]\:w-full>input{
  width: 100%;
}

.\[\&\>input\]\:\!rounded-r-none>input{
  border-top-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

.\[\&\>input\]\:pr-10>input{
  padding-right: 2.5rem;
}

.\[\&\>svg\]\:h-\[0\.875rem\]>svg{
  height: 0.875rem;
}

.\[\&\>svg\]\:w-\[0\.875rem\]>svg{
  width: 0.875rem;
}

.\[\&\>svg\]\:text-primary-contrast>svg{
  --tw-text-opacity: 1;
  color: color-mix(in srgb, var(--p-primary-contrast-color) calc(100% * var(--tw-text-opacity)), transparent);
}

.\[\&\>textarea\~label\]\:top-4>textarea~label{
  top: 1rem;
}

.\[\&\[data-p-active\=\"true\"\]\]\:opacity-100[data-p-active="true"]{
  opacity: 1;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:-mt-3[data-p-confirmpopup-flipped="true"]{
  margin-top: -0.75rem;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:mb-3[data-p-confirmpopup-flipped="true"]{
  margin-bottom: 0.75rem;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:-bottom-3[data-p-confirmpopup-flipped="true"]::before{
  content: var(--tw-content);
  bottom: -0.75rem;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:top-auto[data-p-confirmpopup-flipped="true"]::before{
  content: var(--tw-content);
  top: auto;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:border-b-0[data-p-confirmpopup-flipped="true"]::before{
  content: var(--tw-content);
  border-bottom-width: 0px;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:border-t-\[10px\][data-p-confirmpopup-flipped="true"]::before{
  content: var(--tw-content);
  border-top-width: 10px;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:border-t-surface-200[data-p-confirmpopup-flipped="true"]::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:-bottom-\[0\.54rem\][data-p-confirmpopup-flipped="true"]::after{
  content: var(--tw-content);
  bottom: -0.54rem;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:top-auto[data-p-confirmpopup-flipped="true"]::after{
  content: var(--tw-content);
  top: auto;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:border-b-0[data-p-confirmpopup-flipped="true"]::after{
  content: var(--tw-content);
  border-bottom-width: 0px;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:border-t-\[8px\][data-p-confirmpopup-flipped="true"]::after{
  content: var(--tw-content);
  border-top-width: 8px;
}

.\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:border-t-surface-0[data-p-confirmpopup-flipped="true"]::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:before\:border-t-surface-700[data-p-confirmpopup-flipped="true"]:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:\[\&\[data-p-confirmpopup-flipped\=\"true\"\]\]\:after\:border-t-surface-900[data-p-confirmpopup-flipped="true"]:where(.dark, .dark *)::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-border-opacity)), transparent);
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:-mt-3[data-p-popover-flipped="true"]{
  margin-top: -0.75rem;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:mb-3[data-p-popover-flipped="true"]{
  margin-bottom: 0.75rem;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:-bottom-3[data-p-popover-flipped="true"]::before{
  content: var(--tw-content);
  bottom: -0.75rem;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:top-auto[data-p-popover-flipped="true"]::before{
  content: var(--tw-content);
  top: auto;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:border-b-0[data-p-popover-flipped="true"]::before{
  content: var(--tw-content);
  border-bottom-width: 0px;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:border-t-\[10px\][data-p-popover-flipped="true"]::before{
  content: var(--tw-content);
  border-top-width: 10px;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:border-t-surface-200[data-p-popover-flipped="true"]::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-200) calc(100% * var(--tw-border-opacity)), transparent);
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:-bottom-\[0\.54rem\][data-p-popover-flipped="true"]::after{
  content: var(--tw-content);
  bottom: -0.54rem;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:top-auto[data-p-popover-flipped="true"]::after{
  content: var(--tw-content);
  top: auto;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:border-b-0[data-p-popover-flipped="true"]::after{
  content: var(--tw-content);
  border-bottom-width: 0px;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:border-t-\[8px\][data-p-popover-flipped="true"]::after{
  content: var(--tw-content);
  border-top-width: 8px;
}

.\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:border-t-surface-0[data-p-popover-flipped="true"]::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-0) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:\[\&\[data-p-popover-flipped\=\"true\"\]\]\:before\:border-t-surface-700[data-p-popover-flipped="true"]:where(.dark, .dark *)::before{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.dark\:\[\&\[data-p-popover-flipped\=\"true\"\]\]\:after\:border-t-surface-900[data-p-popover-flipped="true"]:where(.dark, .dark *)::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-900) calc(100% * var(--tw-border-opacity)), transparent);
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:left-1\/2[data-p-position="top"]>[data-pc-section=arrow]{
  left: 50%;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:top-auto[data-p-position="top"]>[data-pc-section=arrow]{
  top: auto;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:-ml-\[10px\][data-p-position="top"]>[data-pc-section=arrow]{
  margin-left: -10px;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:mt-auto[data-p-position="top"]>[data-pc-section=arrow]{
  margin-top: auto;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-x-\[10px\][data-p-position="top"]>[data-pc-section=arrow]{
  border-left-width: 10px;
  border-right-width: 10px;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-y-0[data-p-position="top"]>[data-pc-section=arrow]{
  border-top-width: 0px;
  border-bottom-width: 0px;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-b-0[data-p-position="top"]>[data-pc-section=arrow]{
  border-bottom-width: 0px;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-t-\[10px\][data-p-position="top"]>[data-pc-section=arrow]{
  border-top-width: 10px;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-x-transparent[data-p-position="top"]>[data-pc-section=arrow]{
  border-left-color: transparent;
  border-right-color: transparent;
}

.\[\&\[data-p-position\=\"top\"\]\>\[data-pc-section\=arrow\]\]\:border-t-surface-700[data-p-position="top"]>[data-pc-section=arrow]{
  --tw-border-opacity: 1;
  border-top-color: color-mix(in srgb, var(--p-surface-700) calc(100% * var(--tw-border-opacity)), transparent);
}

.\[\&\[data-p-position\=\"top\"\]\]\:px-0[data-p-position="top"]{
  padding-left: 0px;
  padding-right: 0px;
}

.\[\&\[data-p-position\=\"top\"\]\]\:py-1[data-p-position="top"]{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.\[\&_\[data-pc-name\=pcbutton\]\]\:rotate-0 [data-pc-name=pcbutton]{
  --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));
}

.\[\&_\[data-pc-name\=pcbutton\]\]\:rotate-45 [data-pc-name=pcbutton]{
  --tw-rotate: 45deg;
  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));
}

.\[\&_\[data-pc-name\=pcfilter\]\]\:w-full [data-pc-name=pcfilter]{
  width: 100%;
}

.\[\&_\[data-pc-name\=pcfiltercontainer\]\]\:\!flex-auto [data-pc-name=pcfiltercontainer]{
  flex: 1 1 auto !important;
}

.\[\&_\[data-pc-name\=pcinput\]\]\:w-10 [data-pc-name=pcinput]{
  width: 2.5rem;
}

.\[\&_\[data-pc-name\=pclist\]\]\:h-full [data-pc-name=pclist]{
  height: 100%;
}
@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url('/assets/primeicons-DMOk5skT.eot');
    src: url('/assets/primeicons-DMOk5skT.eot?#iefix') format('embedded-opentype'), url('/assets/primeicons-C6QP2o4f.woff2') format('woff2'), url('/assets/primeicons-WjwUDZjB.woff') format('woff'), url('/assets/primeicons-MpK4pl85.ttf') format('truetype'), url('/assets/primeicons-Dr5RGzOO.svg?#primeicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    animation-delay: -1ms;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}.v-toast--fade-out{animation-name:fadeOut}@keyframes fadeInDown{from{opacity:0;transform:translate3d(0, -100%, 0)}to{opacity:1;transform:none}}.v-toast--fade-in-down{animation-name:fadeInDown}@keyframes fadeInUp{from{opacity:0;transform:translate3d(0, 100%, 0)}to{opacity:1;transform:none}}.v-toast--fade-in-up{animation-name:fadeInUp}.fade-enter-active,.fade-leave-active{transition:opacity 150ms ease-out}.fade-enter,.fade-leave-to{opacity:0}.v-toast{position:fixed;display:flex;top:0;bottom:0;left:0;right:0;padding:2em;overflow:hidden;z-index:1090;pointer-events:none}.v-toast__item{display:inline-flex;align-items:center;animation-duration:150ms;margin:.5em 0;box-shadow:0 1px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04);border-radius:.25em;pointer-events:auto;opacity:.92;color:#fff;min-height:3em;cursor:pointer}.v-toast__item--success{background-color:#47d78a}.v-toast__item--info{background-color:#1c85d5}.v-toast__item--warning{background-color:#febc22}.v-toast__item--error{background-color:#f7471c}.v-toast__item--default{background-color:#343a40}.v-toast__item--warning{color:#000}.v-toast__item.v-toast__item--top,.v-toast__item.v-toast__item--bottom{align-self:center}.v-toast__item.v-toast__item--top-right,.v-toast__item.v-toast__item--bottom-right{align-self:flex-end}.v-toast__item.v-toast__item--top-left,.v-toast__item.v-toast__item--bottom-left{align-self:flex-start}.v-toast__text{margin:0;padding:.5em 1em;word-break:break-word}.v-toast__icon{display:none}.v-toast.v-toast--top{flex-direction:column}.v-toast.v-toast--bottom{flex-direction:column-reverse}.v-toast.v-toast--custom-parent{position:absolute}@media screen and (max-width: 768px){.v-toast{padding:0;position:fixed !important}}.v-toast__item{opacity:1;min-height:4em}.v-toast__item .v-toast__text{padding:1.5em 1em}.v-toast__item .v-toast__icon{display:block;width:27px;min-width:27px;height:27px;margin-left:1em;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 45.999 45.999'%3e %3cpath fill='%23fff' d='M39.264 6.736c-8.982-8.981-23.545-8.982-32.528 0-8.982 8.982-8.981 23.545 0 32.528 8.982 8.98 23.545 8.981 32.528 0 8.981-8.983 8.98-23.545 0-32.528zM25.999 33a3 3 0 11-6 0V21a3 3 0 116 0v12zm-3.053-17.128c-1.728 0-2.88-1.224-2.844-2.735-.036-1.584 1.116-2.771 2.879-2.771 1.764 0 2.88 1.188 2.917 2.771-.001 1.511-1.152 2.735-2.952 2.735z'/%3e %3c/svg%3e") no-repeat}[dir=rtl] .v-toast__item .v-toast__icon{margin-left:unset;margin-right:1em}.v-toast__item.v-toast__item--success .v-toast__icon{background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3e %3cpath fill='%23fff' d='M26 0C11.664 0 0 11.663 0 26s11.664 26 26 26 26-11.663 26-26S40.336 0 26 0zm14.495 17.329l-16 18a1.997 1.997 0 01-2.745.233l-10-8a2 2 0 012.499-3.124l8.517 6.813L37.505 14.67a2.001 2.001 0 012.99 2.659z'/%3e %3c/svg%3e") no-repeat}.v-toast__item.v-toast__item--error .v-toast__icon{background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51.976 51.976'%3e %3cpath fill='%23fff' d='M44.373 7.603c-10.137-10.137-26.632-10.138-36.77 0-10.138 10.138-10.137 26.632 0 36.77s26.632 10.138 36.77 0c10.137-10.138 10.137-26.633 0-36.77zm-8.132 28.638a2 2 0 01-2.828 0l-7.425-7.425-7.778 7.778a2 2 0 11-2.828-2.828l7.778-7.778-7.425-7.425a2 2 0 112.828-2.828l7.425 7.425 7.071-7.071a2 2 0 112.828 2.828l-7.071 7.071 7.425 7.425a2 2 0 010 2.828z'/%3e %3c/svg%3e") no-repeat}.v-toast__item.v-toast__item--warning .v-toast__icon{background:url("data:image/svg+xml,%3csvg viewBox='0 0 52 52' xmlns='http://www.w3.org/2000/svg'%3e %3cpath fill='%23000' d='M49.466 41.26L29.216 6.85c-.69-1.16-1.89-1.85-3.22-1.85-1.32 0-2.53.69-3.21 1.85L2.536 41.26c-.71 1.2-.72 2.64-.03 3.85.68 1.18 1.89 1.89 3.24 1.89h40.51c1.35 0 2.56-.71 3.23-1.89.7-1.21.69-2.65-.02-3.85zm-25.53-21.405h3.381v3.187l-.724 8.92H24.66l-.725-8.92v-3.187zm2.97 17.344a1.712 1.712 0 01-1.267.543c-.491 0-.914-.181-1.268-.543a1.788 1.788 0 01-.531-1.297c0-.502.176-.935.53-1.297a1.712 1.712 0 011.269-.544c.49 0 .914.181 1.268.544s.53.795.53 1.297c0 .503-.176.934-.53 1.297z'/%3e %3c/svg%3e") no-repeat}

/* Estilos para el botón seleccionado */
[data-pc-name="selectbutton"] button[data-p-checked="true"]
{
    color: white !important;
}

/* Estilos para el botón seleccionado */
[data-pc-name="selectbutton"] button[data-p-checked="true"]::before
{
    background-color: var(--p-primary-500) !important;
}

/* El cuadro es enfocable (tabindex) solo para captar el teclado; sin borde. */
.modal-box[data-v-97a78ad3]:focus,
.modal-box[data-v-97a78ad3]:focus-visible { outline: none;
}
/* Feedback de "clic" al confirmar con Enter. */
.modal-actions button[data-v-97a78ad3] {
  transition: transform .1s ease, filter .1s ease, background-color .15s ease, box-shadow .15s ease;
}
.modal-actions button.is-pressed[data-v-97a78ad3] {
  transform: scale(.95);
  filter: brightness(.9);
}

.sp-wrap[data-v-faeb3dc0] { position: relative; display: inline-flex;
}
.sp-btn[data-v-faeb3dc0] {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 40px;
  padding: 0 12px 0 14px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: border-color .15s;
}
.sp-btn[data-v-faeb3dc0]:hover:not(.is-disabled) { border-color: #cbd5e1;
}
.sp-btn.is-open[data-v-faeb3dc0] { border-color: #004379;
}
.sp-btn.is-disabled[data-v-faeb3dc0] { cursor: not-allowed; opacity: .6; background: #f8fafc; color: #64748b;
}
.sp-label[data-v-faeb3dc0] { flex: 1; text-align: left; overflow: hidden; text-overflow: ellipsis;
}
.sp-caret[data-v-faeb3dc0] { color: #94a3b8; flex-shrink: 0; transition: transform .15s;
}
.sp-lock[data-v-faeb3dc0] { color: #94a3b8; flex-shrink: 0;
}
.sp-panel[data-v-faeb3dc0] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1200;
  min-width: 100%;
  max-height: 320px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .18);
  padding: 4px;
}
.sp-option[data-v-faeb3dc0] {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  font-size: 13px;
  color: #334155;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
}
.sp-option[data-v-faeb3dc0]:hover { background: #f1f5f9;
}
.sp-option.is-selected[data-v-faeb3dc0] { background: #e0f2fe; color: #004379; font-weight: 600;
}
/* Opción de acción (p. ej. "Añadir curso nuevo"): separada del resto y con acento. */
.sp-option.is-action[data-v-faeb3dc0] {
  margin-top: 4px;
  border-top: 1px solid #e2e8f0;
  border-radius: 0 0 6px 6px;
  color: #004379;
  font-weight: 600;
}
.sp-option.is-action[data-v-faeb3dc0]:hover { background: #e0f2fe;
}

/* ── Card ─────────────────────────────────────────────────────────────── */
.pe-card[data-v-151fc212] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 10px;
  font-feature-settings: 'cv11', 'ss01';
}
/* La tarjeta ya no se pliega: sin efecto de "levantar" al pasar el ratón. */
.pe-card--open[data-v-151fc212] {
  border-color: #cbd5e1;
  box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.06);
}

/* ── Cabecera ─────────────────────────────────────────────────────────── */
.pe-card-header[data-v-151fc212] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 22px;
  background: transparent;
  border: none;
  cursor: default;
  text-align: left;
  font-family: inherit;
}
.pe-card--open .pe-card-header[data-v-151fc212] {
  /* Mismo azul de cabecera que las tablas de la app (.tabla-wrap th en
     Rotatorios), más oscuro que el primario de los botones. */
  background: #1a3a6e;
  border-bottom: none;
}
.pe-card-left[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.pe-card-right[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.pe-name[data-v-151fc212] {
  flex: 0 0 100px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -.15px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Badge de sede invertido (fondo blanco, texto azul) para que destaque sobre
   la cabecera azul. */
.pe-sede[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 700;
  background: #fff;
  color: #004379;
  min-width: 86px;
}
.pe-summary[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .9);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.pe-summary--empty[data-v-151fc212] {
  color: rgba(255, 255, 255, .7);
  font-style: italic;
  font-weight: 400;
}
.pe-dot[data-v-151fc212] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.pe-dot--activo[data-v-151fc212] {
  background: #16a34a;
  box-shadow: 0 0 0 4px rgba(22,163,74,.16);
  animation: pe-pulse-151fc212 2.4s ease-in-out infinite;
}
.pe-dot--pendiente[data-v-151fc212] {
  background: #ca8a04;
  box-shadow: 0 0 0 4px rgba(202,138,4,.14);
}
.pe-dot--finalizado[data-v-151fc212] { background: #cbd5e1;
}
@keyframes pe-pulse-151fc212 {
0%, 100% { box-shadow: 0 0 0 4px rgba(22,163,74,.16);
}
50%      { box-shadow: 0 0 0 4px rgba(22,163,74,.28);
}
}
.pe-chevron[data-v-151fc212] {
  color: #94a3b8;
  transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), color .15s;
}
.pe-card--open .pe-chevron[data-v-151fc212] {
  transform: rotate(180deg);
  color: #004379;
}

/* ── Animación de despliegue: grid-template-rows trick ─────────────────── */
.pe-collapse[data-v-151fc212] {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .28s cubic-bezier(.22, .61, .36, 1),
              opacity .22s ease-out;
}
.pe-collapse--open[data-v-151fc212] {
  grid-template-rows: 1fr;
  opacity: 1;
}
.pe-collapse-inner[data-v-151fc212] { overflow: hidden; min-height: 0;
}

/* ── Body ─────────────────────────────────────────────────────────────── */
.pe-body[data-v-151fc212] { padding: 6px 22px 18px;
}
.pe-empty[data-v-151fc212] {
  font-size: 13.5px;
  color: #64748b;
  padding: 16px 0;
  line-height: 1.55;
}
.pe-empty strong[data-v-151fc212] { color: #004379; font-weight: 600;
}
.pe-list[data-v-151fc212] {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pe-row[data-v-151fc212] {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 20px;
  align-items: center;
  padding: 16px 12px;
  margin: 0 -12px;
  border-radius: 8px;
  border-bottom: 1px solid #eef2f7;
  transition: background-color .15s ease;
}
.pe-row[data-v-151fc212]:last-child { border-bottom: none;
}
/* Hover: solo el fondo azul (sin movimiento). No aplica a la fila "nuevo".
   El cursor se mantiene por defecto (la fila en sí no es clicable); solo los
   inputs de fecha muestran el puntero de mano (ver .pe-input). */
.pe-row[data-v-151fc212]:hover:not(.pe-row--nuevo) {
  background: #eef4fb;
}

/* Fila "nuevo": indicador izquierdo azul en vez de fondo, más editorial */
.pe-row--nuevo[data-v-151fc212] {
  position: relative;
  background: #fbfcfd;
  margin: 6px -14px;
  padding: 16px 14px 16px 18px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.pe-row--nuevo[data-v-151fc212]::before {
  content: '';
  position: absolute;
  left: 0; top: 12px; bottom: 12px;
  width: 3px;
  background: #004379;
  border-radius: 0 2px 2px 0;
}
.pe-row-info[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.pe-tipo[data-v-151fc212] {
  font-size: 13.5px;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -.1px;
}
/* Pill redondeado, mismo patrón que los estados del resto de la app
   (TabPeriodosEdicion, FormRotatorio, etc.). */
/* Pill redondeado, mismo patrón que los estados del resto de la app
   (TabPeriodosEdicion, FormRotatorio, etc.). */
.pe-estado[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
}
.pe-estado--activo[data-v-151fc212]     { background: #dcfce7; color: #16a34a;
}
.pe-estado--pendiente[data-v-151fc212]  { background: #fef9c3; color: #ca8a04;
}
.pe-estado--finalizado[data-v-151fc212] { background: #f1f5f9; color: #64748b;
}
.pe-tipo-select[data-v-151fc212] {
  height: 36px;
  font-size: 13.5px;
  font-weight: 600;
  color: #0f172a;
  min-width: 240px;
  padding-right: 32px;
  cursor: pointer;
}
.pe-row-dates[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-variant-numeric: tabular-nums;
}
/* Ancho fijo de los inputs de fecha para que coincidan con los labels de fecha
   de los marcos (.pe-marco-fecha) y ambas columnas cuadren. */
.pe-row-dates .pe-input[data-v-151fc212] { width: 140px;
}
.pe-arrow[data-v-151fc212] {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 600;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.pe-input[data-v-151fc212] {
  height: 36px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  font-size: 13px;
  color: #0f172a;
  background: #fff;
  outline: none;
  font-family: inherit;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.pe-input[data-v-151fc212]:hover { border-color: #cbd5e1;
}
.pe-input[data-v-151fc212]:focus {
  border-color: #004379;
  box-shadow: 0 0 0 3px rgba(0,67,121,.14);
  background: #fff;
}
.pe-row-actions[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pe-save-btn[data-v-151fc212] {
  height: 34px;
  padding: 0 16px;
  background: #004379;
  color: #fff;
  border: none;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2px;
  font-family: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background .12s, transform .08s, box-shadow .12s;
  box-shadow: 0 1px 2px rgba(0,67,121,.18);
}
.pe-save-btn[data-v-151fc212]:hover:not(:disabled) {
  background: #003967;
  box-shadow: 0 2px 6px rgba(0,67,121,.28);
}
.pe-save-btn[data-v-151fc212]:active:not(:disabled) { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,67,121,.18);
}
.pe-save-btn[data-v-151fc212]:disabled { opacity: .45; cursor: not-allowed; box-shadow: none;
}
.pe-icon-btn[data-v-151fc212] {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 7px;
  cursor: pointer;
  color: #64748b;
  transition: all .15s;
}
.pe-icon-btn[data-v-151fc212]:hover:not(:disabled) { background: #f1f5f9; color: #1e293b;
}
.pe-icon-btn[data-v-151fc212]:disabled { opacity: .35; cursor: not-allowed;
}
.pe-icon-btn--delete[data-v-151fc212]:hover:not(:disabled) {
  background: #fef2f2;
  color: #dc2626;
}
.pe-icon-btn--cancel[data-v-151fc212]:hover:not(:disabled) { background: #f1f5f9; color: #475569;
}
.pe-error[data-v-151fc212] {
  grid-column: 1 / -1;
  font-size: 12px;
  color: #dc2626;
  font-weight: 500;
  margin-top: 6px;
  padding: 6px 10px;
  background: #fef2f2;
  border-radius: 6px;
  border-left: 2px solid #dc2626;
}

/* Enlace "Añadir período" — botón secundario sutil */
.pe-add-link[data-v-151fc212] {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px 7px 10px;
  background: transparent;
  border: 1px solid #e5e7eb;
  color: #475569;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  border-radius: 7px;
  letter-spacing: .1px;
  transition: all .15s;
}
.pe-add-link[data-v-151fc212]:hover {
  color: #004379;
  border-color: #004379;
  background: #f0f5fa;
}
.pe-add-link svg[data-v-151fc212] { color: currentColor;
}

/* ── Contador de marcos en la cabecera ─────────────────────────────────── */
.pe-summary--marco[data-v-151fc212] { color: rgba(255,255,255,.9);
}
.pe-dot--marco[data-v-151fc212] { background: #004379; box-shadow: 0 0 0 4px rgba(0,67,121,.2);
}

/* ── Marcos temporales (filas azul suave, desplegables) ────────────────── */
.pe-marco-list[data-v-151fc212] {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* Paleta azul suave (el azul corporativo #004379 de la app). Sin franja lateral:
   el fondo tintado y el borde ya diferencian la fila de los períodos. */
.pe-marco[data-v-151fc212] {
  position: relative;
  background: #f1f6fb;
  border: 1px solid #cbdcec;
  border-radius: 10px;
  /* Misma geometría horizontal que .pe-row (margin -12) para que los iconos
     de acción caigan en la misma columna que los de los períodos. */
  margin: 0 -12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,67,121,.06);
}
.pe-marco-head[data-v-151fc212] {
  display: grid;
  /* Misma plantilla de columnas que .pe-row (info | fechas | acciones) para que
     las fechas y los iconos caigan en las mismas columnas que los períodos de
     arriba. 11px lateral = 12px del período − 1px del borde del marco. */
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 20px;
  align-items: center;
  padding: 12px 11px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background .16s ease;
}
.pe-marco-head[data-v-151fc212]:hover { background: #e6eff7;
}
.pe-marco-head-left[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.pe-marco-chevron[data-v-151fc212] {
  color: #004379;
  flex-shrink: 0;
  transition: transform .24s cubic-bezier(.22,.61,.36,1);
}
.pe-marco-chevron--open[data-v-151fc212] { transform: rotate(180deg);
}
.pe-marco-nombre[data-v-151fc212] {
  font-size: 13.5px;
  font-weight: 600;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pe-marco-estado[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.pe-marco-estado--activo[data-v-151fc212]      { background: #dcfce7; color: #16a34a;
}
.pe-marco-estado--pendiente[data-v-151fc212]   { background: #fef9c3; color: #ca8a04;
}
.pe-marco-estado--finalizado[data-v-151fc212]  { background: #f1f5f9; color: #64748b;
}
.pe-marco-head-actions[data-v-151fc212] {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-self: end;
}
/* Rango de fechas en la cabecera: dos labels (inicio → fin) como los dos inputs
   de fecha del período, pero de SOLO LECTURA — misma forma que .pe-input (alto/
   radio) con aspecto atenuado y cursor normal, para que cuadre visualmente sin
   dar a entender que se edita ahí (la edición real está en el desplegable). */
.pe-marco-rango[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.pe-marco-fecha[data-v-151fc212] {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* Mismo ancho fijo que los inputs de fecha del período (ver .pe-row-dates
     .pe-input) para que las dos columnas de fechas cuadren exactamente. */
  width: 140px;
  min-height: 36px;
  padding: 4px 12px;
  border: 1px solid #eef2f7;
  border-radius: 7px;
  background: #f8fafc;
  font-variant-numeric: tabular-nums;
  cursor: default;
  line-height: 1.15;
}
.pe-marco-fecha-dia[data-v-151fc212] { font-size: 12.5px; color: #475569;
}
.pe-marco-fecha-hora[data-v-151fc212] { font-size: 10.5px; font-weight: 600; color: #94a3b8;
}

/* Colapso con el mismo truco grid-template-rows que las cards. */
.pe-marco-collapse[data-v-151fc212] {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .26s cubic-bezier(.22,.61,.36,1);
}
.pe-marco-collapse--open[data-v-151fc212] { grid-template-rows: 1fr;
}
.pe-marco-collapse-inner[data-v-151fc212] { overflow: hidden; min-height: 0;
}
.pe-marco-detalle[data-v-151fc212] {
  padding: 4px 16px 14px 16px;
  border-top: 1px dashed #cbdcec;
  margin-top: 2px;
}
.pe-marco-campo-label[data-v-151fc212] {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #4a6d8c;
}
/* Formulario de edición inline del marco (dentro del desplegable). */
.pe-marco-field[data-v-151fc212] { display: flex; flex-direction: column; gap: 6px; margin-top: 12px;
}
.pe-marco-field[data-v-151fc212]:first-child { margin-top: 10px;
}
.pe-marco-input[data-v-151fc212] { width: 100%; cursor: text;
}
.pe-marco-textarea[data-v-151fc212] {
  height: auto;
  min-height: 58px;
  padding: 8px 12px;
  resize: vertical;
  line-height: 1.5;
}
.pe-marco-fechas[data-v-151fc212] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.pe-marco-form-actions[data-v-151fc212] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}
/* Chips de practicums (activo en el azul de la app, como los del modal). */
.pe-marco-chips[data-v-151fc212] { display: flex; flex-wrap: wrap; gap: 8px;
}
.pe-marco-chip[data-v-151fc212] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 9999px;
  border: 1px solid #cbdcec;
  background: #fff;
  color: #004379;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
}
.pe-marco-chip[data-v-151fc212]:hover:not(:disabled) { border-color: #a9c7e0; background: #f1f6fb;
}
.pe-marco-chip[data-v-151fc212]:disabled { opacity: .55; cursor: not-allowed;
}
.pe-marco-chip--active[data-v-151fc212] {
  background: #004379;
  color: #fff;
  border-color: #004379;
  box-shadow: 0 1px 2px rgba(0,67,121,.25);
}
.pe-marco-chip--active[data-v-151fc212]:hover:not(:disabled) { background: #003967; border-color: #003967;
}
.pe-marco-chips-nota[data-v-151fc212] { margin-top: 2px; font-size: 11px; color: #4a6d8c;
}
.pe-marco-descartar[data-v-151fc212] {
  height: 34px;
  padding: 0 14px;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  font-family: inherit;
}
.pe-marco-descartar[data-v-151fc212]:hover:not(:disabled) { background: #fff; border-color: #cbd5e1;
}
.pe-marco-descartar[data-v-151fc212]:disabled { opacity: .45; cursor: not-allowed;
}
@media (max-width: 700px) {
.pe-row[data-v-151fc212] { grid-template-columns: 1fr; gap: 10px;
}
.pe-row-actions[data-v-151fc212] { justify-content: flex-end;
}
}

/* ── Aviso de marco guardado (mismo estilo que el toast de carga de alumnos) ── */
.toast-import[data-v-bbae790b] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-bbae790b] { animation: slideDown .2s ease;
}
.toast-fade-leave-active[data-v-bbae790b] { animation: slideDown .2s ease reverse;
}

/* ── Estados vacíos ────────────────────────────────────────────────────── */
.pe-state[data-v-bbae790b] {
  text-align: center;
  padding: 48px 24px;
  color: #64748b;
  font-size: 13.5px;
  background: #fafbfc;
  border: 1px dashed #e2e8f0;
  border-radius: 12px;
  margin-top: 4px;
}
.pe-state--loading[data-v-bbae790b] { color: #94a3b8; font-style: italic;
}
.pe-state-title[data-v-bbae790b] {
  font-size: 15px;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 6px;
  letter-spacing: -.1px;
}
.pe-state-sub[data-v-bbae790b] { color: #64748b;
}
.pe-state-sub strong[data-v-bbae790b] { color: #004379; font-weight: 600;
}

/* ── Modal nuevo período ───────────────────────────────────────────────── */
.pe-modal-backdrop[data-v-bbae790b] {
  position: fixed; inset: 0;
  background: rgba(15, 23, 42, .45);
  display: flex; align-items: center; justify-content: center;
  z-index: 1200;
  animation: fadeIn-bbae790b .15s ease;
}
.pe-modal[data-v-bbae790b] {
  background: #fff;
  border-radius: 14px;
  width: 100%; max-width: 500px;
  /* Nunca más alto que la pantalla: el cuerpo hace scroll si hace falta. */
  max-height: 90vh;
  box-shadow: 0 4px 12px rgba(15,23,42,.08), 0 20px 60px rgba(15,23,42,.18);
  display: flex; flex-direction: column;
  animation: modalIn-bbae790b .24s cubic-bezier(.22, .61, .36, 1);
  font-feature-settings: 'cv11', 'ss01';
}
@keyframes fadeIn-bbae790b {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes modalIn-bbae790b {
from { opacity: 0; transform: translateY(-12px) scale(.97);
}
to   { opacity: 1; transform: none;
}
}
.pe-modal-header[data-v-bbae790b] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 22px 16px;
  border-bottom: 1px solid #eef2f7;
}
.pe-modal-title[data-v-bbae790b] {
  margin: 0;
  font-size: 15.5px; font-weight: 600;
  color: #0f172a;
  letter-spacing: -.2px;
}
.pe-modal-close[data-v-bbae790b] {
  background: transparent; border: none;
  width: 30px; height: 30px; border-radius: 7px;
  cursor: pointer; color: #94a3b8;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all .15s;
}
.pe-modal-close[data-v-bbae790b]:hover { background: #f1f5f9; color: #1e293b;
}
.pe-modal-body[data-v-bbae790b] {
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 16px;
  /* Con el tope de altura del modal, el cuerpo es lo que scrollea. */
  overflow-y: auto;
}
.pe-modal-field[data-v-bbae790b] { display: flex; flex-direction: column; gap: 7px;
}
.pe-modal-row[data-v-bbae790b] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.pe-modal-label[data-v-bbae790b] {
  font-size: 10.5px; font-weight: 700; color: #475569;
  letter-spacing: .6px; text-transform: uppercase;
}
.pe-modal-input[data-v-bbae790b] {
  height: 40px; padding: 0 13px;
  border: 1px solid #e2e8f0; border-radius: 8px;
  font-size: 13.5px; color: #0f172a; background: #fff;
  outline: none; font-family: inherit;
  font-variant-numeric: tabular-nums;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.pe-modal-input[data-v-bbae790b]:hover { border-color: #cbd5e1;
}
.pe-modal-input[data-v-bbae790b]:focus { border-color: #004379; box-shadow: 0 0 0 3px rgba(0,67,121,.14);
}
.pe-modal-input[data-v-bbae790b]:disabled { background: #f8fafc; cursor: not-allowed; color: #94a3b8; border-color: #eef2f7;
}
select.pe-modal-input[data-v-bbae790b] { cursor: pointer;
}
.pe-modal-textarea[data-v-bbae790b] {
  height: auto;
  min-height: 68px;
  /* Tope de altura + solo redimensionable en vertical para que no se salga de
     la pantalla al estirarlo; el ancho queda fijo al del modal. */
  max-height: 220px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 13px;
  line-height: 1.5;
  resize: vertical;
  font-family: inherit;
}
.pe-modal-hint[data-v-bbae790b] { font-size: 11.5px; color: #94a3b8; margin-top: 2px; line-height: 1.5;
}
.pe-modal-error[data-v-bbae790b] {
  font-size: 12px; color: #dc2626; font-weight: 500;
  padding: 8px 12px;
  background: #fef2f2;
  border-radius: 7px;
  border-left: 2px solid #dc2626;
}
.pe-modal-footer[data-v-bbae790b] {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 14px 22px 18px;
  border-top: 1px solid #eef2f7;
}

/* ── Dropdown del botón primario "Nuevo período" ───────────────────────── */
/* Mismos estilos que .menu-container/.menu-dropdown/.menu-item de
   Alumnos.vue, replicados aquí porque ese fichero los tiene scoped. */
.menu-container[data-v-bbae790b] { position: relative;
}
.menu-dropdown[data-v-bbae790b] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-bbae790b] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-bbae790b]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item svg[data-v-bbae790b] { flex-shrink: 0; color: #64748b;
}
.menu-group-label[data-v-bbae790b] {
  padding: 6px 12px 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #94a3b8;
}
.menu-separator[data-v-bbae790b] {
  height: 1px;
  background: #eef2f7;
  margin: 4px 0;
}

/* ── Chips de selección de sede ─────────────────────────────────────────── */
/* Pill toggleable. Reutiliza la paleta de .pe-sede para que el chip activo
   "se sienta" igual que la insignia de sede en las cards. */
.pe-chip-row[data-v-bbae790b] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pe-chip[data-v-bbae790b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border-radius: 9999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .1px;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
  min-width: 86px;
}
.pe-chip[data-v-bbae790b]:hover:not(:disabled) { border-color: #cbd5e1; color: #0f172a;
}
.pe-chip[data-v-bbae790b]:disabled { opacity: .55; cursor: not-allowed;
}
.pe-chip--active[data-v-bbae790b] {
  background: #004379;
  color: #fff;
  border-color: #004379;
  box-shadow: 0 1px 2px rgba(0,67,121,.18);
}
.pe-chip--active[data-v-bbae790b]:hover:not(:disabled) {
  background: #003967;
  border-color: #003967;
  color: #fff;
}

/* ── Resumen tras aplicar masivo ────────────────────────────────────────── */
.pe-modal-resumen[data-v-bbae790b] {
  font-size: 12.5px;
  color: #0f172a;
  padding: 10px 12px;
  background: #f0f9f4;
  border-radius: 7px;
  border-left: 2px solid #16a34a;
  line-height: 1.55;
}
.pe-modal-resumen-fallos[data-v-bbae790b] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #cbd5e1;
  color: #475569;
}
.pe-modal-resumen-fallos ul[data-v-bbae790b] {
  margin: 6px 0 0;
  padding-left: 18px;
}
.pe-modal-resumen-fallos li[data-v-bbae790b] { margin-bottom: 2px;
}
/*!
 * Copyright (c) HANDSONCODE sp. z o. o.
 *
 * HANDSONTABLE is a software distributed by HANDSONCODE sp. z o. o., a Polish corporation based in
 * Gdynia, Poland, at Aleja Zwyciestwa 96-98, registered by the District Court in Gdansk under number
 * 538651, EU tax ID number: PL5862294002, share capital: PLN 62,800.00.
 *
 * This software is protected by applicable copyright laws, including international treaties, and dual-
 * licensed - depending on whether your use for commercial purposes, meaning intended for or
 * resulting in commercial advantage or monetary compensation, or not.
 *
 * If your use is strictly personal or solely for evaluation purposes, meaning for the purposes of testing
 * the suitability, performance, and usefulness of this software outside the production environment,
 * you agree to be bound by the terms included in the "handsontable-non-commercial-license.pdf" file.
 *
 * Your use of this software for commercial purposes is subject to the terms included in an applicable
 * license agreement.
 *
 * In any case, you must not make any such use of this software as to develop software which may be
 * considered competitive with this software.
 *
 * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO
 * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
 * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
 * USE OR INABILITY TO USE THIS SOFTWARE.
 *
 * Version: 17.0.1
 * Release date: 25/03/2026 (built at 25/03/2026 09:28:45)
 */
.ht-root-wrapper {
  font-family: var(--ht-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.htFocusCatcher {
  display: block !important;
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  z-index: -1;
}

.ht-grid {
  flex: 1 1 auto;
  min-height: 0;
}

.htScrollbarTest {
  scrollbar-width: auto;
  scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
}

.htScrollbarSafariTest::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.handsontable {
  font-family: var(--ht-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  letter-spacing: var(--ht-letter-spacing);
  color: var(--ht-foreground-color);
  /* Miscellaneous */
  touch-action: manipulation;
}
.handsontable .wtHolder {
  scrollbar-width: auto;
  scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
}
.handsontable .wtHolder::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.handsontable .wtHolder::-webkit-scrollbar-track {
  background: var(--ht-scrollbar-track-color);
  border-radius: var(--ht-scrollbar-border-radius);
}
.handsontable .wtHolder::-webkit-scrollbar-thumb {
  background-color: var(--ht-scrollbar-thumb-color);
  border-radius: var(--ht-scrollbar-border-radius);
}
.handsontable .wtHolder::-webkit-scrollbar-corner {
  background: var(--ht-scrollbar-track-color);
  border-end-end-radius: var(--ht-scrollbar-border-radius);
}
.handsontable.ht-wrapper {
  border-radius: var(--ht-wrapper-border-radius, 0);
  height: 100%;
  width: 100%;
}
.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type {
  border-inline-start-width: 1px;
}
.handsontable.ht-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border: var(--ht-wrapper-border-width) solid var(--ht-wrapper-border-color);
  border-radius: var(--ht-wrapper-border-radius, 0);
  z-index: 999;
  pointer-events: none;
  overflow: hidden;
}
.handsontable.htGhostTable.htNestedHeaders table {
  border-spacing: 0;
  border-collapse: collapse;
}
.handsontable.htGhostTable table thead th {
  border-bottom-width: 0;
}
.handsontable.htGhostTable table tbody tr:first-of-type th:first-child,
.handsontable.htGhostTable table tbody tr:first-of-type td:first-child {
  height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
}
.handsontable.htGhostTable table tbody tr th,
.handsontable.htGhostTable table tbody tr td {
  border-top-width: 0;
  height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
}
.handsontable.htHasScrollX:not(.htHorizontallyScrollableByWindow):not(.htScrollbarHidden) .ht_master .wtHolder, .handsontable.htHasScrollY:not(.htVerticallyScrollableByWindow):not(.htScrollbarHidden) .ht_master .wtHolder {
  border-radius: var(--ht-wrapper-border-radius, 0);
}
.handsontable:not(.htHorizontallyScrollableByWindow).htPagination .ht_master .wtHolder, .handsontable:not(.htHorizontallyScrollableByWindow).htHasScrollX .ht_master .wtHolder, .handsontable:not(.htHorizontallyScrollableByWindow).htHasScrollY .ht_master .wtHolder, .handsontable:not(.htVerticallyScrollableByWindow).htPagination .ht_master .wtHolder, .handsontable:not(.htVerticallyScrollableByWindow).htHasScrollX .ht_master .wtHolder, .handsontable:not(.htVerticallyScrollableByWindow).htHasScrollY .ht_master .wtHolder {
  background-color: var(--ht-background-color);
}
.handsontable tr.ht__row_even th {
  background-color: var(--ht-row-header-even-background-color);
}
.handsontable tr.ht__row_even td {
  background-color: var(--ht-row-cell-even-background-color);
}
.handsontable tr.ht__row_odd th {
  background-color: var(--ht-row-header-odd-background-color);
}
.handsontable tr.ht__row_odd td {
  background-color: var(--ht-row-cell-odd-background-color);
}
.handsontable th,
.handsontable td {
  height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
  padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
  vertical-align: top;
  border-top-width: 0;
  border-inline-start-width: 0;
  border-inline-end-width: 1px;
  border-bottom-width: 1px;
  border-style: solid;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  white-space: pre-wrap;
  overflow: hidden;
  outline: none;
  outline-width: 0;
  empty-cells: show;
  box-sizing: border-box;
  color: var(--ht-foreground-color);
  border-top-color: var(--ht-cell-vertical-border-color);
  border-bottom-color: var(--ht-cell-vertical-border-color);
  border-inline-start-color: var(--ht-cell-horizontal-border-color);
  border-inline-end-color: var(--ht-cell-horizontal-border-color);
}
.handsontable th.invisibleSelection,
.handsontable td.invisibleSelection {
  outline: none;
}
.handsontable th.invisibleSelection::-moz-selection, .handsontable td.invisibleSelection::-moz-selection {
  background: transparent;
}
.handsontable th.invisibleSelection::selection,
.handsontable td.invisibleSelection::selection {
  background: transparent;
}
.handsontable th {
  position: relative;
  overflow: visible;
  text-align: center;
  font-weight: var(--ht-header-font-weight);
  white-space: nowrap;
  color: var(--ht-header-foreground-color);
  background-color: var(--ht-header-background-color);
}
.handsontable th:last-child {
  /* Foundation framework fix */
  border-inline-start-width: 0;
  border-inline-end-width: 1px;
  border-bottom-width: 1px;
  border-inline-end-color: var(--ht-border-color);
}
.handsontable th:last-child.ht__active_highlight {
  border-inline-end-color: var(--ht-header-active-border-color);
}
.handsontable th:first-child {
  border-inline-start-color: var(--ht-border-color);
}
.handsontable th:first-child.ht__active_highlight {
  border-inline-start-color: var(--ht-header-active-border-color);
}
.handsontable th:first-child, .handsontable th:nth-child(2) {
  border-inline-start-width: 1px;
}
.handsontable th.current {
  box-shadow: inset 0 0 0 1px var(--ht-cell-selection-border-color);
}
.handsontable th.active {
  color: var(--ht-header-active-foreground-color);
  background-color: var(--ht-header-active-background-color);
}
.handsontable th.ht__highlight {
  color: var(--ht-header-highlighted-foreground-color);
  background-color: var(--ht-header-highlighted-background-color);
}
.handsontable th.ht__active_highlight {
  border-color: var(--ht-header-active-border-color);
  color: var(--ht-header-active-foreground-color);
  background-color: var(--ht-header-active-background-color);
}
.handsontable tbody tr.ht__row_odd th.ht__highlight, .handsontable tbody tr.ht__row_even th.ht__highlight {
  color: var(--ht-header-row-highlighted-foreground-color);
  background-color: var(--ht-header-row-highlighted-background-color);
}
.handsontable tbody tr.ht__row_odd th.ht__active_highlight, .handsontable tbody tr.ht__row_even th.ht__active_highlight {
  color: var(--ht-header-row-active-foreground-color);
  background-color: var(--ht-header-row-active-background-color);
}
.handsontable tbody tr:first-of-type th:first-child:empty::after,
.handsontable tbody tr:first-of-type td:first-child:empty::after {
  content: "";
  display: block;
  min-height: var(--ht-line-height);
}
.handsontable tbody tr th {
  padding: 0;
  color: var(--ht-header-row-foreground-color);
  background-color: var(--ht-header-row-background-color);
}
.handsontable tbody tr th.ht__active_highlight {
  box-shadow: 0 -1px 0 0 var(--ht-header-active-border-color);
}
.handsontable tbody tr th .relative {
  padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
  min-height: 100%;
}
.handsontable tbody tr td:first-child {
  border-inline-start-color: var(--ht-border-color);
}
.handsontable tbody tr td:last-child {
  border-inline-end-color: var(--ht-border-color);
}
.handsontable thead tr th {
  padding: 0;
}
.handsontable thead tr th.ht__active_highlight {
  box-shadow: -1px 0 0 0 var(--ht-header-active-border-color);
}
.handsontable thead tr th .relative {
  padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
}
.handsontable thead tr th .relative .colHeader {
  text-overflow: ellipsis;
  overflow: hidden;
  vertical-align: top;
  max-width: calc(100% + 1px);
}
.handsontable thead tr th .relative:has(.collapsibleIndicator, .changeType) .colHeader {
  max-width: calc(100% - (var(--ht-icon-size) + var(--ht-gap-size)) - 1px);
}
.handsontable tr:first-child th,
.handsontable tr:first-child td {
  border-top-color: var(--ht-border-color);
  border-top-width: 1px;
}
.handsontable tr:first-child th.ht__active_highlight,
.handsontable tr:first-child td.ht__active_highlight {
  border-top-color: var(--ht-header-active-border-color);
}
.handsontable tr:last-child th,
.handsontable tr:last-child td {
  border-bottom-color: var(--ht-border-color);
}
.handsontable tr:last-child th.ht__active_highlight,
.handsontable tr:last-child td.ht__active_highlight {
  border-bottom-color: var(--ht-header-active-border-color);
}
.handsontable div[class^=ht_clone] thead .ht__highlight .relative::after {
  content: "";
  display: block;
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  height: var(--ht-header-highlighted-shadow-size);
  background-color: var(--ht-accent-color);
}
.handsontable div[class^=ht_clone] thead tr:only-of-type .ht__highlight .relative::after {
  bottom: 0;
}
.handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  width: var(--ht-header-highlighted-shadow-size);
  background-color: var(--ht-accent-color);
}
.handsontable div[class^=ht_clone] td:first-of-type {
  border-inline-start-width: 1px;
}
.handsontable thead tr:not(:last-child) th {
  /* Fix for - nested columns with hidden column  */
  overflow: hidden;
}
.handsontable .hide {
  display: none;
}
.handsontable .relative {
  position: relative;
  box-sizing: border-box;
}
.handsontable .wtHider {
  width: 0;
}
.handsontable .wtSpreader {
  position: relative;
  /* must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */
  width: 0;
  height: auto;
}
.handsontable .htAutoSize {
  position: absolute;
  left: -99000px;
  top: -99000px;
  visibility: hidden;
}
.handsontable .htTextEllipsis {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.handsontable table,
.handsontable tbody,
.handsontable thead,
.handsontable input,
.handsontable textarea,
.handsontable div {
  box-sizing: content-box;
}
.handsontable input,
.handsontable textarea {
  min-height: initial;
}
.handsontable .htCore {
  width: 0;
  margin: 0;
  border-width: 0;
  border-spacing: 0;
  border-collapse: separate;
  outline-width: 0;
  table-layout: fixed;
  cursor: default;
  background-color: var(--ht-background-color);
}
.handsontable col {
  width: 64px;
}
.handsontable col.rowHeader {
  width: 64px;
}
.handsontable col.hidden {
  width: 0 !important;
}
.handsontable span.colHeader, .handsontable span.rowHeader {
  display: inline-block;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
}
.handsontable tr.hidden {
  display: none;
}
.handsontable tr.hidden td,
.handsontable tr.hidden th {
  display: none;
}
.handsontable a {
  color: var(--ht-link-color);
}
.handsontable a:hover {
  color: var(--ht-link-hover-color);
}
.handsontable .ht_clone_top th:nth-child(2) {
  border-inline-start-width: 0;
  border-inline-end-width: 1px;
}
.handsontable.htRowHeaders thead tr th:nth-child(2) {
  border-inline-start-width: 1px;
}
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) tbody tr th,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) thead tr th:first-child,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.htGhostTable) tbody tr th,
.handsontable .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top):not(.htGhostTable) thead tr th:first-child {
  border-inline-end-width: 0;
  border-inline-start-width: 1px;
}
.handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr:last-child th, .handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) ~ .handsontable thead tr:last-child th,
.handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th, .handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) ~ .handsontable thead tr.lastChild th {
  border-bottom-width: 0;
}
.handsontable.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child th,
.handsontable.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child td {
  border-top-width: 0;
}
.handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child th,
.handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child td {
  border-top-width: 0;
}
.handsontable .ht_master table.htCore > thead,
.handsontable .ht_master table.htCore > tbody > tr > th,
.handsontable .ht_clone_inline_start table.htCore > thead {
  visibility: hidden;
}

.ht_master,
.ht_clone_inline_start,
.ht_clone_top,
.ht_clone_bottom {
  overflow: hidden;
}
.ht_master .wtHolder,
.ht_clone_inline_start .wtHolder,
.ht_clone_top .wtHolder,
.ht_clone_bottom .wtHolder {
  overflow: hidden;
}

.ht_master .wtHolder {
  overflow: auto;
}

[dir=rtl].handsontable td[dir=ltr] {
  border-inline-end-width: 0;
  border-inline-start-width: 1px;
}
[dir=rtl].handsontable tbody tr td[dir=ltr]:last-child {
  border-inline-start-color: var(--ht-border-color);
}
[dir=rtl].handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
  right: auto;
  left: -1px;
}

.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:last-child {
  border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top_inline_start_corner .htCore tbody tr:first-child td:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:last-child {
  border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child th:first-child,
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child td:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore {
  border-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:first-child th:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:first-child th:last-child {
  border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:first-child {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:last-child {
  border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:first-child {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:last-child {
  border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore thead tr:first-child th:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore {
  border-start-start-radius: var(--ht-wrapper-border-radius);
  border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore thead tr:first-child th:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_top .htCore thead tr:first-child th:last-child {
  border-start-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore {
  border-start-start-radius: var(--ht-wrapper-border-radius);
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore thead tr:first-child th:first-child {
  border-start-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child td:first-child {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child td:first-child {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore {
  border-end-start-radius: var(--ht-wrapper-border-radius);
  border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:first-child,
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:first-child {
  border-end-start-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:last-child,
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:last-child {
  border-end-end-radius: var(--ht-wrapper-border-radius);
}
.handsontable.ht-wrapper.htHasScrollX .htCore {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:first-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:first-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:first-child {
  border-end-start-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:last-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:last-child,
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:last-child {
  border-end-end-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore thead tr:first-child th:last-child,
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:first-child td:last-child,
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:first-child th:last-child {
  border-start-end-radius: 0 !important;
}
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore thead tr:last-child th:last-child,
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:last-child td:last-child,
.handsontable.ht-wrapper.htHasScrollY:not(.htVerticallyScrollableByWindow) .htCore tbody tr:last-child th:last-child {
  border-end-end-radius: 0 !important;
}

.handsontable.mobile {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
}
.handsontable.mobile .wtHolder {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
}
.handsontable.mobile .handsontableInput:focus {
  box-shadow: inset 0 0 0 2px var(--ht-accent-color);
  -webkit-appearance: none;
}
.handsontable .topSelectionHandle,
.handsontable .topSelectionHandle-HitArea,
.handsontable .bottomSelectionHandle,
.handsontable .bottomSelectionHandle-HitArea {
  inset-inline-start: -10000px;
  inset-inline-end: unset;
  top: -10000px;
  z-index: 9999;
}
.handsontable.hide-tween {
  animation: opacity-hide 0.2s;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}
.handsontable.show-tween {
  animation: opacity-show 0.3s;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

.ht_clone_master {
  z-index: 100;
}

.ht_clone_inline_start {
  z-index: 120;
}

.ht_clone_bottom {
  z-index: 130;
}

.ht_clone_bottom_inline_start_corner {
  z-index: 150;
}

.ht_clone_top {
  z-index: 160;
}

.ht_clone_top_inline_start_corner {
  z-index: 180;
}

.ht_editor_hidden {
  z-index: -1;
}

.ht_editor_visible {
  z-index: 200;
}

.handsontable td.area {
  position: relative;
}
.handsontable td.area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-1 {
  position: relative;
}
.handsontable td.area-1::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-2 {
  position: relative;
}
.handsontable td.area-2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-3 {
  position: relative;
}
.handsontable td.area-3::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-4 {
  position: relative;
}
.handsontable td.area-4::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-5 {
  position: relative;
}
.handsontable td.area-5::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-6 {
  position: relative;
}
.handsontable td.area-6::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area-7 {
  position: relative;
}
.handsontable td.area-7::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ht-cell-selection-background-color, #1a42e8);
}
.handsontable td.area::before {
  opacity: 0.14;
}
.handsontable td.area-1::before {
  opacity: 0.21;
}
.handsontable td.area-2::before {
  opacity: 0.28;
}
.handsontable td.area-3::before {
  opacity: 0.35;
}
.handsontable td.area-4::before {
  opacity: 0.42;
}
.handsontable td.area-5::before {
  opacity: 0.49;
}
.handsontable td.area-6::before {
  opacity: 0.56;
}
.handsontable td.area-7::before {
  opacity: 0.63;
}
.handsontable td.area {
  border-color: color-mix(in srgb, var(--ht-border-color), var(--ht-foreground-color) 10%);
}
.handsontable .wtBorder {
  position: absolute;
  font-size: 0;
}
.handsontable .wtBorder:nth-child(1), .handsontable .wtBorder:nth-child(3) {
  z-index: 2;
}
.handsontable .wtBorder:nth-child(2), .handsontable .wtBorder:nth-child(4) {
  z-index: 1;
}
.handsontable .wtBorder.hidden {
  display: none !important;
}
.handsontable .wtBorder.current {
  z-index: 10;
  background-color: var(--ht-cell-selection-border-color) !important;
}
.handsontable .wtBorder.area {
  z-index: 8;
  background-color: var(--ht-cell-selection-border-color) !important;
}
.handsontable .wtBorder.fill {
  z-index: 6;
  background-color: var(--ht-cell-autofill-fill-border-color, #68696c) !important;
}
.handsontable .wtBorder.corner {
  border-radius: var(--ht-cell-autofill-border-radius) !important;
  background-color: var(--ht-cell-autofill-background-color, #1a42e8) !important;
  border-color: var(--ht-cell-autofill-border-color) !important;
  font-size: 0;
  cursor: crosshair;
  z-index: 10;
}
.handsontable .wtBorder.corner::after {
  content: "";
  position: absolute;
  border-radius: var(--ht-cell-autofill-border-radius);
  inset: min(0px, (var(--ht-cell-autofill-size) - var(--ht-cell-autofill-hit-area-size)) / 2);
  background: transparent;
}
.handsontable .wtBorder.corner.wtCornerInlineEndEdge::after {
  inset-inline-end: 0;
}
.handsontable .wtBorder.corner.wtCornerBlockEndEdge::after {
  inset-block-end: 0;
}

.hot-display-license-info {
  font-family: var(--ht-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  padding: var(--ht-license-vertical-padding, 16px) var(--ht-license-horizontal-padding, 16px);
  font-size: var(--ht-font-size-small);
  line-height: var(--ht-line-height-small);
  color: var(--ht-license-foreground-color);
  background-color: var(--ht-license-background-color, #f7f7f9);
  text-align: left;
  border: 1px solid var(--ht-border-color, #f7f7f9);
  margin-top: 10px;
  border-radius: var(--ht-wrapper-border-radius);
}
.hot-display-license-info a {
  font-size: var(--ht-license-font-size);
  color: var(--ht-link-color);
}
.hot-display-license-info a:hover {
  color: var(--ht-link-hover-color);
}

.handsontable .htAutocompleteArrow {
  position: relative;
  cursor: default;
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  font-size: 0;
  float: right;
  top: calc((var(--ht-line-height) - var(--ht-icon-size)) / 2);
  margin-inline-start: calc(var(--ht-gap-size) * 2);
  margin-inline-end: 1px;
}
.handsontable .htAutocompleteArrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
}

[dir=rtl].handsontable .htAutocompleteArrow {
  float: left;
}

.handsontable .htCheckboxRendererInput {
  position: relative;
  display: inline-block;
  width: var(--ht-checkbox-size);
  height: var(--ht-checkbox-size);
  margin: 0;
  vertical-align: middle;
  cursor: pointer;
  margin-top: -2px;
  outline: none;
}
.handsontable .htCheckboxRendererInput:first-child {
  margin-inline-end: var(--ht-gap-size);
}
.handsontable .htCheckboxRendererInput:last-child {
  margin-inline-start: var(--ht-gap-size);
}
.handsontable .htCheckboxRendererInput::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: var(--ht-checkbox-size);
  height: var(--ht-checkbox-size);
  border-radius: var(--ht-checkbox-border-radius);
  border: 1px solid var(--ht-checkbox-border-color);
  background-color: var(--ht-checkbox-background-color);
  box-sizing: border-box;
  pointer-events: none;
  transition: all var(--ht-table-transition) ease-in-out;
}
.handsontable .htCheckboxRendererInput::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: var(--ht-checkbox-icon-color);
  pointer-events: none;
  width: var(--ht-checkbox-size) !important;
  height: var(--ht-checkbox-size) !important;
}
.handsontable .htCheckboxRendererInput:checked::before {
  border-color: var(--ht-checkbox-checked-border-color);
  background-color: var(--ht-checkbox-checked-background-color);
}
.handsontable .htCheckboxRendererInput:checked::after {
  color: var(--ht-checkbox-checked-icon-color);
}
.handsontable .htCheckboxRendererInput:checked:disabled::before {
  border-color: var(--ht-checkbox-checked-disabled-border-color);
  background-color: var(--ht-checkbox-checked-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:checked:disabled::after {
  color: var(--ht-checkbox-checked-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:checked:focus::before {
  border-color: var(--ht-checkbox-checked-focus-border-color);
  background-color: var(--ht-checkbox-checked-focus-background-color);
}
.handsontable .htCheckboxRendererInput:checked:focus::after {
  color: var(--ht-checkbox-checked-focus-icon-color);
}
.handsontable .htCheckboxRendererInput:focus::before {
  border-color: var(--ht-checkbox-focus-border-color);
  background-color: var(--ht-checkbox-focus-background-color);
  outline: 1px solid var(--ht-checkbox-focus-ring-color);
}
.handsontable .htCheckboxRendererInput:focus::after {
  color: var(--ht-checkbox-focus-icon-color);
}
.handsontable .htCheckboxRendererInput:disabled {
  cursor: initial;
}
.handsontable .htCheckboxRendererInput:disabled::before {
  border-color: var(--ht-checkbox-disabled-border-color);
  background-color: var(--ht-checkbox-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:disabled::after {
  color: var(--ht-checkbox-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate::before {
  border-color: var(--ht-checkbox-indeterminate-border-color);
  background-color: var(--ht-checkbox-indeterminate-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate::after {
  color: var(--ht-checkbox-indeterminate-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:disabled::before {
  border-color: var(--ht-checkbox-indeterminate-disabled-border-color);
  background-color: var(--ht-checkbox-indeterminate-disabled-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:disabled::after {
  color: var(--ht-checkbox-indeterminate-disabled-icon-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:focus::before {
  border-color: var(--ht-checkbox-indeterminate-focus-border-color);
  background-color: var(--ht-checkbox-indeterminate-focus-background-color);
}
.handsontable .htCheckboxRendererInput:indeterminate:focus::after {
  color: var(--ht-checkbox-indeterminate-focus-icon-color);
}
.handsontable .htCheckboxRendererInput.noValue {
  opacity: 0.5;
}
.handsontable .htCheckboxRendererLabel {
  display: inline-block;
  position: relative;
  font-size: inherit;
  line-height: inherit;
  cursor: pointer;
  color: inherit;
  margin: 0;
}
.handsontable .htCheckboxRendererLabel.fullWidth {
  width: 100%;
}

.handsontable .htPlaceholder {
  color: var(--ht-placeholder-color);
}
.handsontable .htDimmed {
  color: var(--ht-read-only-color) !important;
  background-color: var(--ht-cell-read-only-background-color) !important;
}
.handsontable .htLeft {
  text-align: left;
}
.handsontable .htCenter {
  text-align: center;
}
.handsontable .htRight {
  text-align: right;
}
.handsontable .htJustify {
  text-align: justify;
}
.handsontable .htTop {
  vertical-align: top;
}
.handsontable .htMiddle {
  vertical-align: middle;
}
.handsontable .htBottom {
  vertical-align: bottom;
}
.handsontable .htInvalid {
  /* gives priority over td.area selection background */
  background-color: var(--ht-cell-error-background-color) !important;
}
.handsontable .htNoWrap {
  white-space: nowrap;
}
.handsontable .htSearchResult {
  background-color: var(--ht-cell-success-background-color) !important;
}

.handsontable .ht-multi-select-renderer {
  padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
  overflow: hidden;
}
.handsontable .ht-multi-select-chips-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--ht-gap-size);
  overflow: hidden;
  max-width: 100%;
}
.handsontable .ht-multi-select-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ht-gap-size);
  padding: var(--ht-chip-vertical-padding) calc((var(--ht-line-height) - var(--ht-icon-size)) / 2) var(--ht-chip-vertical-padding) var(--ht-chip-horizontal-padding);
  border-radius: var(--ht-chip-border-radius);
  background: var(--ht-chip-background);
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 100px;
  box-sizing: border-box;
}
.handsontable .ht-multi-select-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--ht-foreground-color);
  font-style: normal;
  font-weight: var(--ht-font-weight);
  line-height: var(--ht-line-height, 40px);
  letter-spacing: var(--ht-letter-spacing, 0);
  padding: 0 var(--ht-chip-gap);
}
.handsontable .ht-multi-select-chip-remove {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--ht-icon-size) !important;
  height: var(--ht-icon-size) !important;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  color: var(--ht-icon-button-icon-color);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.handsontable .ht-multi-select-chip-remove::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.handsontable .ht-multi-select-chip-remove:hover {
  background-color: var(--ht-icon-button-hover-background-color);
}
.handsontable .ht-multi-select-overflow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--ht-gap-size) * 2);
  background: var(--ht-chip-background);
  border-radius: var(--ht-chip-border-radius);
  color: var(--ht-foreground-color);
  white-space: nowrap;
  flex-shrink: 0;
}

.handsontableInputHolder {
  position: absolute;
  top: 0;
  left: 0;
}
.handsontableInputHolder .handsontableInput {
  display: block;
  margin: 0;
  padding: calc(var(--ht-cell-vertical-padding, 4px) + 1px) calc(var(--ht-cell-horizontal-padding, 8px) + 1px);
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: var(--ht-cell-editor-foreground-color);
  background-color: var(--ht-cell-editor-background-color, #ffffff);
  box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
  border: none;
  border-radius: 0;
  -webkit-appearance: none !important;
  box-sizing: border-box;
  /* Miscellaneous */
  outline-width: 0;
  /* overwrite styles potentially made by a framework */
}
.handsontableInputHolder .handsontableInput:focus {
  outline: none;
}

.htSelectEditor {
  position: absolute;
}
.htSelectEditor select {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: calc(var(--ht-cell-vertical-padding, 4px) + 1px) calc(var(--ht-cell-horizontal-padding, 8px) + 1px);
  padding-inline-end: 26px;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--ht-cell-editor-foreground-color);
  background-color: var(--ht-cell-editor-background-color, #ffffff);
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  -webkit-appearance: none !important;
}
.htSelectEditor select:focus {
  outline: none;
}
.htSelectEditor .htAutocompleteArrow {
  top: 50%;
  transform: translateY(-50%);
  margin-inline-end: 4px;
  z-index: 1;
  pointer-events: none;
}

.handsontable.listbox {
  box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) color-mix(in srgb, var(--ht-menu-shadow-color, rgb(0, 0, 0)) var(--ht-menu-shadow-opacity, 100%), transparent);
  margin: 0;
  border: var(--ht-menu-border-width, 1px) solid var(--ht-menu-border-color, #e5e5e9);
}
.handsontable.listbox .ht_master {
  overflow: hidden;
  background-color: var(--ht-background-color);
}
.handsontable.listbox .wtHolder {
  overflow: auto;
  border-radius: 0 !important;
}
.handsontable.listbox .wtHider, .handsontable.listbox .htCore {
  border-radius: 0 !important;
}
.handsontable.listbox table {
  overflow: hidden;
}
.handsontable.listbox table th,
.handsontable.listbox table tr:first-child th,
.handsontable.listbox table tr:last-child th,
.handsontable.listbox table tr:first-child td,
.handsontable.listbox table td {
  border-color: transparent !important;
}
.handsontable.listbox table th,
.handsontable.listbox table td {
  white-space: nowrap;
  text-overflow: ellipsis;
  border-radius: 0 !important;
}
.handsontable.listbox table .wtBorder {
  visibility: hidden;
}
.handsontable.listbox table strong {
  font-weight: bold;
  color: inherit;
}
.handsontable.listbox table tr td:hover td {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent) !important;
  cursor: pointer;
  box-shadow: none !important;
}
.handsontable.listbox table td {
  transition: var(--ht-table-transition) background ease-in-out;
}
.handsontable.listbox table td:hover {
  background-color: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent) !important;
  cursor: pointer;
}
.handsontable.listbox table td.current:not([aria-expanded=true]) {
  box-shadow: inset 0 0 0 1px var(--ht-accent-color);
}
.handsontable.listbox table td.htDimmed {
  cursor: default;
  font-style: inherit;
  color: inherit !important;
}
.handsontable.listbox table td.htDimmed:not(.handsontable.listbox table td:hover) {
  background-color: inherit !important;
}
.handsontable.listbox table thead th {
  height: auto !important;
  text-align: left;
}
.handsontable.listbox table thead th .relative {
  padding-top: calc(var(--ht-cell-vertical-padding) + var(--ht-gap-size));
  padding-bottom: calc(var(--ht-cell-vertical-padding) + var(--ht-gap-size));
}
.handsontable.listbox .ht_clone_top .wtHider {
  overflow: hidden;
}
.handsontable.listbox .ht_clone_top table {
  border-radius: 0;
}
.handsontable.listbox .htBorders div {
  background: none !important;
}
.handsontable.autocompleteEditor tr.ht__row_even th,
.handsontable.autocompleteEditor tr.ht__row_even td {
  background-color: var(--ht-background-color, #ffffff);
}
.handsontable.autocompleteEditor tr.ht__row_odd th,
.handsontable.autocompleteEditor tr.ht__row_odd td {
  background-color: var(--ht-background-color, #ffffff);
}

[dir=rtl].handsontable.listbox table thead th {
  text-align: right;
}

.pika-single {
  font-family: var(--ht-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) color-mix(in srgb, var(--ht-menu-shadow-color, rgb(0, 0, 0)) var(--ht-menu-shadow-opacity, 100%), transparent);
  position: relative;
  display: block;
  padding: 10px;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  color: var(--ht-foreground-color);
  background: var(--ht-background-color, #ffffff);
  border: var(--ht-menu-border-width, 1px) solid var(--ht-menu-border-color, #e5e5e9);
  border-radius: var(--ht-menu-border-radius);
  z-index: 9999;
}
.pika-single.is-hidden {
  display: none;
}
.pika-single .pika-row {
  background-color: transparent;
}
.pika-single .pika-title {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pika-single .pika-label {
  position: relative;
  order: 2;
  padding: 5px;
  color: var(--ht-accent-color);
}
.pika-single .pika-label .pika-select {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.pika-single .pika-prev,
.pika-single .pika-next {
  width: 20px;
  height: 20px;
  white-space: nowrap;
  text-indent: -9999px;
  cursor: pointer;
  color: var(--ht-accent-color);
  background: none;
  border: none;
  padding: 0;
}
.pika-single .pika-prev {
  order: 1;
  margin-right: auto;
}
.pika-single .pika-next {
  order: 3;
  margin-left: auto;
}
.pika-single .pika-table thead {
  height: 50px;
}
.pika-single .pika-table th {
  padding: 1px;
  vertical-align: middle;
}
.pika-single .pika-table th abbr {
  text-decoration: none;
  font-weight: normal;
  border: none;
  cursor: initial;
}
.pika-single .pika-table td {
  padding: 1px;
  vertical-align: middle;
}
.pika-single .pika-table td.is-disabled .pika-button {
  pointer-events: none;
  opacity: 0.5;
}
.pika-single .pika-table td.is-today .pika-button {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent);
}
.pika-single .pika-table td.is-selected .pika-button {
  background: var(--ht-accent-color, #1a42e8);
  color: var(--ht-primary-button-foreground-color, #ffffff);
}
.pika-single .pika-table td.pika-week {
  width: 12.5%;
  text-align: center;
}
.pika-single .pika-table .pika-button {
  width: 100%;
  aspect-ratio: 1/1;
  background: transparent;
  color: var(--ht-foreground-color);
  border: none;
  border-radius: var(--ht-button-border-radius);
  margin: 0;
  padding: 10px;
  cursor: pointer;
  font-size: inherit;
}
.pika-single .pika-table .pika-button:hover {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent);
}

[dir=rtl].htDatepickerHolder .pika-single .pika-next {
  transform: rotate(180deg);
  margin-left: 0;
  margin-right: auto;
}
[dir=rtl].htDatepickerHolder .pika-single .pika-prev {
  transform: rotate(180deg);
  margin-left: auto;
  margin-right: 0;
}

.handsontableEditor {
  position: absolute;
}
.handsontableEditor .ht-multi-select-editor {
  box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) color-mix(in srgb, var(--ht-menu-shadow-color, rgb(0, 0, 0)) var(--ht-menu-shadow-opacity, 100%), transparent);
  scrollbar-width: auto;
  scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
  overflow-y: auto;
  border-radius: 0 0 var(--ht-menu-border-radius) var(--ht-menu-border-radius);
  border: var(--ht-menu-border-width) solid var(--ht-menu-border-color);
  background: var(--ht-background-color);
  width: -moz-max-content;
  width: max-content;
  min-width: 120px;
  padding: var(--ht-menu-vertical-padding) var(--ht-menu-horizontal-padding);
}
.handsontableEditor .ht-multi-select-editor .ht-multi-select-editor-search-input-wrapper {
  display: flex;
  padding: var(--ht-menu-item-vertical-padding) var(--ht-menu-item-horizontal-padding);
  align-items: center;
  gap: var(--ht-gap-size);
  align-self: stretch;
  position: relative;
}
.handsontableEditor .ht-multi-select-editor .ht-multi-select-editor-search-icon {
  position: absolute;
  left: calc(var(--ht-menu-item-horizontal-padding) + 10px);
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input {
  box-sizing: border-box;
  width: 100%;
  border-radius: var(--ht-input-border-radius);
  color: var(--ht-input-foreground-color);
  background-color: var(--ht-input-background-color);
  border: 1px solid var(--ht-input-border-color);
  transition: var(--ht-table-transition) all ease-in-out;
  line-height: var(--ht-line-height);
  font-size: var(--ht-font-size);
  padding: var(--ht-input-vertical-padding) var(--ht-menu-item-horizontal-padding) var(--ht-input-vertical-padding) 32px;
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input:hover {
  border-color: var(--ht-input-hover-border-color);
  color: var(--ht-input-hover-foreground-color);
  background-color: var(--ht-input-hover-background-color);
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input:disabled {
  border-color: var(--ht-input-disabled-border-color);
  color: var(--ht-input-disabled-foreground-color);
  background-color: var(--ht-input-disabled-background-color);
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input:focus {
  border-color: var(--ht-input-focus-border-color);
  color: var(--ht-input-focus-foreground-color);
  background-color: var(--ht-input-focus-background-color);
  outline: none;
  outline-offset: 0;
  box-shadow: none;
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input::-moz-placeholder {
  color: var(--ht-foreground-color);
  opacity: 0.6;
}
.handsontableEditor .ht-multi-select-editor input.ht-multi-select-editor-search-input::placeholder {
  color: var(--ht-foreground-color);
  opacity: 0.6;
}
.handsontableEditor .ht-multi-select-editor .ht-multi-select-editor-separator {
  width: 100%;
  height: 1px;
  background-color: var(--ht-menu-border-color);
  margin: var(--ht-menu-vertical-padding) 0 var(--ht-menu-vertical-padding) 0;
  padding: 0;
}
.handsontableEditor .ht-multi-select-editor ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: var(--ht-gap-size) var(--ht-menu-horizontal-padding);
}
.handsontableEditor .ht-multi-select-editor ul li {
  display: flex;
  align-items: center;
  align-self: stretch;
  background: var(--ht-background-color);
  padding: var(--ht-menu-item-vertical-padding) var(--ht-menu-item-horizontal-padding);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}
.handsontableEditor .ht-multi-select-editor ul li * {
  cursor: pointer;
}
.handsontableEditor .ht-multi-select-editor ul li.ht-multi-select-editor-item-selected {
  background: color-mix(in srgb, var(--ht-menu-item-active-color) var(--ht-menu-item-active-color-opacity, 100%), transparent);
}
.handsontableEditor .ht-multi-select-editor ul li div {
  display: flex;
  align-items: center;
  flex: 1 0 0;
}
.handsontableEditor .ht-multi-select-editor ul li div input {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  width: var(--ht-checkbox-size);
  height: var(--ht-checkbox-size);
  display: flex;
}
.handsontableEditor .ht-multi-select-editor ul li div input::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.handsontableEditor .ht-multi-select-editor ul li div input::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: var(--ht-checkbox-size);
  height: var(--ht-checkbox-size);
  border-radius: var(--ht-checkbox-border-radius);
  border: 1px solid var(--ht-checkbox-border-color);
  background: var(--ht-checkbox-background-color);
  background-repeat: no-repeat;
  background-position: center;
}
.handsontableEditor .ht-multi-select-editor ul li div input:checked::before {
  border-color: var(--ht-checkbox-checked-border-color);
  background: var(--ht-checkbox-checked-background-color);
}
.handsontableEditor .ht-multi-select-editor ul li div input:checked::after {
  color: var(--ht-checkbox-checked-icon-color);
  background-color: currentColor;
}
.handsontableEditor .ht-multi-select-editor ul li div input:focus {
  outline: none;
}
.handsontableEditor .ht-multi-select-editor ul li div label {
  overflow: hidden;
  color: var(--ht-foreground-color);
  text-overflow: ellipsis;
  font-size: var(--ht-font-size);
  font-style: normal;
  font-weight: 400;
  line-height: var(--ht-line-height);
  letter-spacing: var(--ht-letter-spacing);
  width: 100%;
  padding: 0 0 0 calc(var(--ht-gap-size) * 2);
}
.handsontableEditor .ht-multi-select-editor ul li:hover {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent);
}
.handsontableEditor .ht-multi-select-editor ul li:has(input:focus) {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent);
}

.handsontable .htUISelectCaption {
  width: 100%;
  padding: var(--ht-input-vertical-padding) var(--ht-input-horizontal-padding);
  padding-inline-end: calc(var(--ht-input-horizontal-padding) + var(--ht-icon-size));
  margin: 0;
  font-family: inherit;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  border-radius: var(--ht-input-border-radius);
  box-sizing: border-box;
  cursor: pointer;
  outline: none !important;
  border: var(--ht-input-border-width) solid var(--ht-input-border-color);
  color: var(--ht-input-foreground-color);
  background-color: var(--ht-input-background-color);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htUISelectCaption::after {
  content: "";
  display: block;
  position: absolute;
  right: calc(var(--ht-input-horizontal-padding) - var(--ht-icon-size) / 4);
  top: 50%;
  transform: translateY(-50%);
}
.handsontable .htUISelectCaption:hover {
  border-color: var(--ht-input-hover-border-color);
  color: var(--ht-input-hover-foreground-color);
  background-color: var(--ht-input-hover-background-color);
}
.handsontable .htUISelectCaption:disabled {
  border-color: var(--ht-input-disabled-border-color);
  color: var(--ht-input-disabled-foreground-color);
  background-color: var(--ht-input-disabled-background-color);
}
.handsontable .htUISelectCaption:focus {
  border-color: var(--ht-input-focus-border-color);
  color: var(--ht-input-focus-foreground-color);
  background-color: var(--ht-input-focus-background-color);
}
.handsontable .htUISelect {
  cursor: pointer;
  position: relative;
  outline: none !important;
}
.handsontable .htUISelect:focus .htUISelectCaption {
  border-color: var(--ht-input-focus-border-color);
  color: var(--ht-input-focus-foreground-color);
  background-color: var(--ht-input-focus-background-color);
}

[dir=rtl].handsontable .htUISelectCaption::after {
  right: auto;
  left: calc(var(--ht-input-horizontal-padding) - var(--ht-icon-size) / 4);
}

.handsontable .htFiltersMenuCondition .htUIInput input,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input {
  width: 100%;
  padding: var(--ht-input-vertical-padding) var(--ht-input-horizontal-padding);
  font-family: inherit;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  border-radius: var(--ht-input-border-radius);
  box-sizing: border-box;
  cursor: pointer;
  outline: none !important;
  border: var(--ht-input-border-width) solid var(--ht-input-border-color);
  color: var(--ht-input-foreground-color);
  background-color: var(--ht-input-background-color);
  transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htFiltersMenuCondition .htUIInput input:hover,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:hover {
  border-color: var(--ht-input-hover-border-color);
  color: var(--ht-input-hover-foreground-color);
  background-color: var(--ht-input-hover-background-color);
}
.handsontable .htFiltersMenuCondition .htUIInput input:disabled,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:disabled {
  border-color: var(--ht-input-disabled-border-color);
  color: var(--ht-input-disabled-foreground-color);
  background-color: var(--ht-input-disabled-background-color);
}
.handsontable .htFiltersMenuCondition .htUIInput input:focus,
.handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input:focus {
  border-color: var(--ht-input-focus-border-color);
  color: var(--ht-input-focus-foreground-color);
  background-color: var(--ht-input-focus-background-color);
}
.handsontable .htUIInput {
  position: relative;
  padding: 0;
  outline: none !important;
  text-align: center;
}
.handsontable .htUIInputIcon {
  position: absolute;
}

.handsontable .htUIInput.htUIButton input, .handsontable .ht-button {
  min-width: 64px;
  padding: var(--ht-button-vertical-padding) var(--ht-button-horizontal-padding);
  font-family: inherit;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  border-radius: var(--ht-button-border-radius);
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
  outline: none !important;
  cursor: pointer;
  transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .htUIInput.htUIButtonCancel input, .handsontable .ht-button--secondary {
  border-color: var(--ht-secondary-button-border-color);
  background-color: var(--ht-secondary-button-background-color);
  color: var(--ht-secondary-button-foreground-color);
}
.handsontable .htUIInput.htUIButtonCancel input:hover, .handsontable .ht-button--secondary:hover {
  border-color: var(--ht-secondary-button-hover-border-color);
  background-color: var(--ht-secondary-button-hover-background-color);
  color: var(--ht-secondary-button-hover-foreground-color);
}
.handsontable .htUIInput.htUIButtonCancel input:disabled, .handsontable .ht-button--secondary:disabled {
  border-color: var(--ht-secondary-button-disabled-border-color);
  background-color: var(--ht-secondary-button-disabled-background-color);
  color: var(--ht-secondary-button-disabled-foreground-color);
}
.handsontable .htUIInput.htUIButtonCancel input:focus, .handsontable .ht-button--secondary:focus {
  border-color: var(--ht-secondary-button-focus-border-color);
  background-color: var(--ht-secondary-button-focus-background-color);
  color: var(--ht-secondary-button-focus-foreground-color);
  box-shadow: 0 0 0 1px var(--ht-accent-color);
}

.htUIInput.htUIButtonOK input, .ht-button--primary {
  border-color: var(--ht-primary-button-border-color);
  background-color: var(--ht-primary-button-background-color);
  color: var(--ht-primary-button-foreground-color);
}
.htUIInput.htUIButtonOK input:hover, .ht-button--primary:hover {
  border-color: var(--ht-primary-button-hover-border-color);
  background-color: var(--ht-primary-button-hover-background-color);
  color: var(--ht-primary-button-hover-foreground-color);
}
.htUIInput.htUIButtonOK input:disabled, .ht-button--primary:disabled {
  border-color: var(--ht-primary-button-disabled-border-color);
  background-color: var(--ht-primary-button-disabled-background-color);
  color: var(--ht-primary-button-disabled-foreground-color);
}
.htUIInput.htUIButtonOK input:focus, .ht-button--primary:focus {
  border-color: var(--ht-primary-button-focus-border-color);
  background-color: var(--ht-primary-button-focus-background-color);
  color: var(--ht-primary-button-focus-foreground-color);
  box-shadow: 0 0 0 1px var(--ht-accent-color);
}

.handsontable .htUIRadio {
  position: relative;
  display: inline-flex;
  margin: 0;
  padding: var(--ht-gap-size) calc(2 * var(--ht-gap-size));
  padding-bottom: 0;
  align-items: center;
  gap: var(--ht-gap-size);
  cursor: pointer;
}
.handsontable .htUIRadio:first-child {
  padding-inline-start: 0;
}
.handsontable .htUIRadio > input[type=radio] {
  position: relative;
  width: var(--ht-radio-size);
  height: var(--ht-radio-size);
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  border-radius: calc(0.5 * var(--ht-radio-size));
  outline: none;
}
.handsontable .htUIRadio > input[type=radio]::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: calc(0.5 * var(--ht-radio-size));
  border: 1px solid var(--ht-radio-border-color);
  background-color: var(--ht-radio-background-color);
}
.handsontable .htUIRadio > input[type=radio]::after {
  content: "";
  display: block;
  position: absolute;
  color: var(--ht-radio-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked::before {
  border-color: var(--ht-radio-checked-border-color);
  background-color: var(--ht-radio-checked-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked::after {
  color: var(--ht-radio-checked-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled {
  cursor: initial;
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled::before {
  border-color: var(--ht-radio-checked-disabled-border-color);
  background-color: var(--ht-radio-checked-disabled-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:disabled::after {
  color: var(--ht-radio-checked-disabled-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:focus::before {
  border-color: var(--ht-radio-checked-focus-border-color);
  background-color: var(--ht-radio-checked-focus-background-color);
}
.handsontable .htUIRadio > input[type=radio]:checked:focus::after {
  color: var(--ht-radio-checked-focus-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:disabled {
  cursor: initial;
}
.handsontable .htUIRadio > input[type=radio]:disabled::before {
  border-color: var(--ht-radio-disabled-border-color);
  background-color: var(--ht-radio-disabled-background-color);
}
.handsontable .htUIRadio > input[type=radio]:disabled::after {
  color: var(--ht-radio-disabled-icon-color);
}
.handsontable .htUIRadio > input[type=radio]:focus::before {
  border-color: var(--ht-radio-focus-border-color);
  background-color: var(--ht-radio-focus-background-color);
  outline: 1px solid var(--ht-radio-focus-ring-color);
}
.handsontable .htUIRadio > input[type=radio]:focus::after {
  color: var(--ht-radio-focus-icon-color);
}
.handsontable .htUIRadio label {
  vertical-align: middle;
  cursor: pointer;
  color: inherit;
}
.handsontable .htUIRadio label::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
}

.handsontable .collapsibleIndicator {
  top: calc((var(--ht-line-height) - var(--ht-icon-size)) / 2);
  margin-inline-start: var(--ht-gap-size);
  margin-inline-end: 1px;
}
.handsontable .collapsibleIndicator,
.handsontable .ht_nestingButton {
  position: relative;
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  box-sizing: border-box;
  border-radius: var(--ht-collapse-button-border-radius);
  overflow: hidden;
  cursor: pointer;
  /* hide text */
  text-indent: -100px;
  font-size: 0;
  float: right;
}
.handsontable .collapsibleIndicator::before,
.handsontable .ht_nestingButton::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transition: var(--ht-table-transition) all ease-in-out;
}
.handsontable .collapsibleIndicator.expanded, .handsontable .collapsibleIndicator.ht_nestingCollapse,
.handsontable .ht_nestingButton.expanded,
.handsontable .ht_nestingButton.ht_nestingCollapse {
  background-color: var(--ht-collapse-button-open-background-color);
  box-shadow: 0 0 0 1px var(--ht-collapse-button-open-border-color);
}
.handsontable .collapsibleIndicator.expanded::before, .handsontable .collapsibleIndicator.ht_nestingCollapse::before,
.handsontable .ht_nestingButton.expanded::before,
.handsontable .ht_nestingButton.ht_nestingCollapse::before {
  color: var(--ht-collapse-button-open-icon-color);
}
.handsontable .collapsibleIndicator.expanded:hover, .handsontable .collapsibleIndicator.ht_nestingCollapse:hover,
.handsontable .ht_nestingButton.expanded:hover,
.handsontable .ht_nestingButton.ht_nestingCollapse:hover {
  background-color: var(--ht-collapse-button-open-hover-background-color);
  box-shadow: 0 0 0 1px var(--ht-collapse-button-open-hover-border-color);
}
.handsontable .collapsibleIndicator.expanded:hover::before, .handsontable .collapsibleIndicator.ht_nestingCollapse:hover::before,
.handsontable .ht_nestingButton.expanded:hover::before,
.handsontable .ht_nestingButton.ht_nestingCollapse:hover::before {
  color: var(--ht-collapse-button-open-hover-icon-color);
}
.handsontable .collapsibleIndicator.collapsed, .handsontable .collapsibleIndicator.ht_nestingExpand,
.handsontable .ht_nestingButton.collapsed,
.handsontable .ht_nestingButton.ht_nestingExpand {
  background-color: var(--ht-collapse-button-close-background-color);
  box-shadow: 0 0 0 1px var(--ht-collapse-button-close-border-color);
}
.handsontable .collapsibleIndicator.collapsed::before, .handsontable .collapsibleIndicator.ht_nestingExpand::before,
.handsontable .ht_nestingButton.collapsed::before,
.handsontable .ht_nestingButton.ht_nestingExpand::before {
  color: var(--ht-collapse-button-close-icon-color);
}
.handsontable .collapsibleIndicator.collapsed:hover, .handsontable .collapsibleIndicator.ht_nestingExpand:hover,
.handsontable .ht_nestingButton.collapsed:hover,
.handsontable .ht_nestingButton.ht_nestingExpand:hover {
  background-color: var(--ht-collapse-button-close-hover-background-color);
  box-shadow: 0 0 0 1px var(--ht-collapse-button-close-hover-border-color);
}
.handsontable .collapsibleIndicator.collapsed:hover::before, .handsontable .collapsibleIndicator.ht_nestingExpand:hover::before,
.handsontable .ht_nestingButton.collapsed:hover::before,
.handsontable .ht_nestingButton.ht_nestingExpand:hover::before {
  color: var(--ht-collapse-button-close-hover-icon-color);
}
.handsontable th.ht__active_highlight .collapsibleIndicator.collapsed::before, .handsontable th.ht__active_highlight .collapsibleIndicator.ht_nestingExpand::before,
.handsontable th.ht__active_highlight .ht_nestingButton.collapsed::before,
.handsontable th.ht__active_highlight .ht_nestingButton.ht_nestingExpand::before {
  color: var(--ht-collapse-button-close-icon-active-color);
}
.handsontable th.ht__active_highlight .collapsibleIndicator.collapsed:hover::before, .handsontable th.ht__active_highlight .collapsibleIndicator.ht_nestingExpand:hover::before,
.handsontable th.ht__active_highlight .ht_nestingButton.collapsed:hover::before,
.handsontable th.ht__active_highlight .ht_nestingButton.ht_nestingExpand:hover::before {
  color: var(--ht-collapse-button-close-hover-icon-active-color);
}
.handsontable th.ht__active_highlight .collapsibleIndicator.expanded::before, .handsontable th.ht__active_highlight .collapsibleIndicator.ht_nestingCollapse::before,
.handsontable th.ht__active_highlight .ht_nestingButton.expanded::before,
.handsontable th.ht__active_highlight .ht_nestingButton.ht_nestingCollapse::before {
  color: var(--ht-collapse-button-open-icon-active-color);
}
.handsontable th.ht__active_highlight .collapsibleIndicator.expanded:hover::before, .handsontable th.ht__active_highlight .collapsibleIndicator.ht_nestingCollapse:hover::before,
.handsontable th.ht__active_highlight .ht_nestingButton.expanded:hover::before,
.handsontable th.ht__active_highlight .ht_nestingButton.ht_nestingCollapse:hover::before {
  color: var(--ht-collapse-button-open-hover-icon-active-color);
}

[dir=rtl].handsontable .collapsibleIndicator,
[dir=rtl].handsontable .ht_nestingButton {
  float: left;
}

.handsontable thead th.hiddenHeader:not(:first-of-type) {
  display: none;
}
.handsontable thead th.hiddenHeaderText .colHeader {
  opacity: 0;
}

.handsontable th.ht_nestingLevels > .relative {
  display: flex;
  align-items: center;
  gap: 5px;
}
.handsontable th.ht_nestingLevels span:last-child {
  padding-left: calc(var(--ht-icon-size) + 5px);
}
.handsontable th.ht_nestingLevels span.ht_nestingLevel {
  display: inline-block;
}
.handsontable th.ht_nestingLevels span.ht_nestingLevel_empty {
  position: relative;
  display: inline-block;
  width: 5px;
  height: 1px;
  order: -2;
}
.handsontable th.ht_nestingLevels .ht_nestingButton {
  position: relative;
  cursor: pointer;
  order: -1;
}

.handsontable th.beforeHiddenColumn, .handsontable th.afterHiddenColumn {
  position: relative;
}
.handsontable th.beforeHiddenColumn::before, .handsontable th.beforeHiddenColumn::after, .handsontable th.afterHiddenColumn::before, .handsontable th.afterHiddenColumn::after {
  position: absolute;
  top: 50%;
  width: 10px !important;
  height: 10px !important;
  transform: translateY(-50%);
  color: var(--ht-hidden-indicator-color);
}
.handsontable th.beforeHiddenColumn::after {
  content: "";
  display: block;
  right: -2px;
}
.handsontable th.afterHiddenColumn::before {
  content: "";
  display: block;
  left: -2px;
}
.handsontable th.ht__active_highlight.beforeHiddenColumn::before, .handsontable th.ht__active_highlight.beforeHiddenColumn::after, .handsontable th.ht__active_highlight.afterHiddenColumn::before, .handsontable th.ht__active_highlight.afterHiddenColumn::after {
  color: var(--ht-icon-button-active-icon-color, var(--ht-icon-active-button-icon-color));
}

[dir=rtl].handsontable th.beforeHiddenColumn::after {
  right: initial;
  left: -2px;
  transform: translateY(-50%) rotate(180deg);
}
[dir=rtl].handsontable th.afterHiddenColumn::before {
  right: -2px;
  left: initial;
  transform: translateY(-50%) rotate(180deg);
}

.handsontable th.beforeHiddenRow, .handsontable th.afterHiddenRow {
  position: relative;
}
.handsontable th.beforeHiddenRow::before, .handsontable th.beforeHiddenRow::after, .handsontable th.afterHiddenRow::before, .handsontable th.afterHiddenRow::after {
  position: absolute;
  left: 50%;
  width: 10px !important;
  height: 10px !important;
  transform: translateX(-50%);
  color: var(--ht-hidden-indicator-color);
}
.handsontable th.beforeHiddenRow::after {
  content: "";
  display: block;
  bottom: -2px;
}
.handsontable th.afterHiddenRow::before {
  content: "";
  display: block;
  top: -2px;
}
.handsontable th.ht__active_highlight.beforeHiddenRow::before, .handsontable th.ht__active_highlight.beforeHiddenRow::after, .handsontable th.ht__active_highlight.afterHiddenRow::before, .handsontable th.ht__active_highlight.afterHiddenRow::after {
  color: var(--ht-icon-button-active-icon-color, var(--ht-icon-active-button-icon-color));
}

.handsontable .changeType {
  position: relative;
  box-sizing: border-box;
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  border-radius: var(--ht-icon-button-border-radius);
  box-shadow: 0 0 0 1px var(--ht-icon-button-border-color);
  border: none;
  color: inherit;
  padding: 0;
  margin: 0;
  background-color: var(--ht-icon-button-background-color);
  order: 1;
  z-index: 1;
  float: right;
  top: calc((var(--ht-line-height) - var(--ht-icon-size)) / 2);
  margin-inline-start: var(--ht-gap-size);
  margin-inline-end: 1px;
}
.handsontable .changeType::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: var(--ht-icon-button-icon-color);
}
.handsontable .changeType:hover {
  cursor: pointer;
  box-shadow: 0 0 0 1px var(--ht-icon-button-hover-border-color);
  background-color: var(--ht-icon-button-hover-background-color);
}
.handsontable .changeType:hover::before {
  color: var(--ht-icon-button-hover-icon-color);
}
.handsontable .ht__active_highlight .changeType {
  box-shadow: 0 0 0 1px var(--ht-icon-button-active-border-color, var(--ht-icon-active-button-border-color));
  background-color: var(--ht-icon-button-active-background-color, var(--ht-icon-active-button-background-color));
}
.handsontable .ht__active_highlight .changeType::before {
  color: var(--ht-icon-button-active-icon-color, var(--ht-icon-active-button-icon-color));
}
.handsontable .ht__active_highlight .changeType:hover {
  box-shadow: 0 0 0 1px var(--ht-icon-button-active-hover-border-color, var(--ht-icon-active-button-hover-border-color));
  background-color: var(--ht-icon-button-active-hover-background-color, var(--ht-icon-active-button-hover-background-color));
}
.handsontable .ht__active_highlight .changeType:hover::before {
  color: var(--ht-icon-button-active-hover-icon-color, var(--ht-icon-active-button-hover-icon-color));
}
.handsontable th.htFiltersActive {
  background-color: var(--ht-header-filter-background-color);
}
.handsontable th.htFiltersActive.ht__active_highlight {
  background-color: color-mix(in srgb, var(--ht-header-active-background-color), var(--ht-header-filter-background-color) 20%);
}
.handsontable th.htFiltersActive.ht__active_highlight .changeType::after {
  background-color: var(--ht-header-active-foreground-color);
}
.handsontable.htDropdownMenu > .ht_master, .handsontable.htContextMenu > .ht_master, .handsontable.htFiltersConditionsMenu > .ht_master {
  box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) color-mix(in srgb, var(--ht-menu-shadow-color, rgb(0, 0, 0)) var(--ht-menu-shadow-opacity, 100%), transparent);
  border: var(--ht-menu-border-width, 1px) solid var(--ht-menu-border-color, #e5e5e9);
  border-radius: var(--ht-menu-border-radius);
  overflow: hidden;
  padding: var(--ht-menu-vertical-padding, 8px) var(--ht-menu-horizontal-padding, 0);
  background-color: var(--ht-background-color, #ffffff);
}
.handsontable.htDropdownMenu:not(.htGhostTable), .handsontable.htContextMenu:not(.htGhostTable), .handsontable.htFiltersConditionsMenu:not(.htGhostTable) {
  display: none;
  position: absolute;
  /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
  z-index: 1060;
}
.handsontable.htDropdownMenu .ht_clone_top,
.handsontable.htDropdownMenu .ht_clone_bottom,
.handsontable.htDropdownMenu .ht_clone_inline_start,
.handsontable.htDropdownMenu .ht_clone_top_inline_start_corner,
.handsontable.htDropdownMenu .ht_clone_bottom_inline_start_corner, .handsontable.htContextMenu .ht_clone_top,
.handsontable.htContextMenu .ht_clone_bottom,
.handsontable.htContextMenu .ht_clone_inline_start,
.handsontable.htContextMenu .ht_clone_top_inline_start_corner,
.handsontable.htContextMenu .ht_clone_bottom_inline_start_corner, .handsontable.htFiltersConditionsMenu .ht_clone_top,
.handsontable.htFiltersConditionsMenu .ht_clone_bottom,
.handsontable.htFiltersConditionsMenu .ht_clone_inline_start,
.handsontable.htFiltersConditionsMenu .ht_clone_top_inline_start_corner,
.handsontable.htFiltersConditionsMenu .ht_clone_bottom_inline_start_corner {
  display: none;
}
.handsontable.htDropdownMenu table.htCore, .handsontable.htContextMenu table.htCore, .handsontable.htFiltersConditionsMenu table.htCore {
  overflow: hidden;
}
.handsontable.htDropdownMenu .htCustomMenuRenderer .table.htCore, .handsontable.htContextMenu .htCustomMenuRenderer .table.htCore, .handsontable.htFiltersConditionsMenu .htCustomMenuRenderer .table.htCore {
  box-shadow: none;
}
.handsontable.htDropdownMenu.handsontable:focus, .handsontable.htContextMenu.handsontable:focus, .handsontable.htFiltersConditionsMenu.handsontable:focus {
  outline: none;
}
.handsontable.htDropdownMenu .wtBorder, .handsontable.htContextMenu .wtBorder, .handsontable.htFiltersConditionsMenu .wtBorder {
  visibility: hidden;
}
.handsontable.htDropdownMenu tbody tr:first-of-type td:first-child, .handsontable.htDropdownMenu tbody tr:first-of-type th:first-child, .handsontable.htContextMenu tbody tr:first-of-type td:first-child, .handsontable.htContextMenu tbody tr:first-of-type th:first-child, .handsontable.htFiltersConditionsMenu tbody tr:first-of-type td:first-child, .handsontable.htFiltersConditionsMenu tbody tr:first-of-type th:first-child {
  height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
}
.handsontable.htDropdownMenu table tbody tr td, .handsontable.htContextMenu table tbody tr td, .handsontable.htFiltersConditionsMenu table tbody tr td {
  position: relative;
  padding: var(--ht-menu-item-vertical-padding, 4px) var(--ht-menu-item-horizontal-padding, 8px);
  border-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: var(--ht-background-color, #ffffff);
  cursor: pointer;
  transition: var(--ht-table-transition) background ease-in-out;
}
.handsontable.htDropdownMenu table tbody tr td:first-child, .handsontable.htContextMenu table tbody tr td:first-child, .handsontable.htFiltersConditionsMenu table tbody tr td:first-child {
  border-top-width: 0;
  border-inline-end-width: 0;
  border-bottom-width: 0;
  border-inline-start-width: 0;
}
.handsontable.htDropdownMenu table tbody tr td.htDimmed, .handsontable.htContextMenu table tbody tr td.htDimmed, .handsontable.htFiltersConditionsMenu table tbody tr td.htDimmed {
  font-style: normal;
  color: inherit !important;
  background-color: inherit !important;
}
.handsontable.htDropdownMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled):hover, .handsontable.htContextMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled):hover, .handsontable.htFiltersConditionsMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled):hover {
  background: color-mix(in srgb, var(--ht-menu-item-hover-color) var(--ht-menu-item-hover-color-opacity, 100%), transparent) !important;
  cursor: pointer;
}
.handsontable.htDropdownMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled).current:not([aria-expanded=true]), .handsontable.htContextMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled).current:not([aria-expanded=true]), .handsontable.htFiltersConditionsMenu table tbody tr td:not(.handsontable.htDropdownMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htCustomMenuRenderer, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled).current:not([aria-expanded=true]) {
  box-shadow: inset 0 0 0 1px var(--ht-accent-color);
}
.handsontable.htDropdownMenu table tbody tr td.htSubmenu .htItemWrapper, .handsontable.htContextMenu table tbody tr td.htSubmenu .htItemWrapper, .handsontable.htFiltersConditionsMenu table tbody tr td.htSubmenu .htItemWrapper {
  margin-inline-end: calc(2 * var(--ht-gap-size, 4px) + var(--ht-icon-size));
}
.handsontable.htDropdownMenu table tbody tr td.htSubmenu .htItemWrapper::after, .handsontable.htContextMenu table tbody tr td.htSubmenu .htItemWrapper::after, .handsontable.htFiltersConditionsMenu table tbody tr td.htSubmenu .htItemWrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: calc(var(--ht-menu-item-horizontal-padding) + var(--ht-gap-size) * 2);
  transform: translateY(-50%);
}
.handsontable.htDropdownMenu table tbody tr td.htSeparator, .handsontable.htContextMenu table tbody tr td.htSeparator, .handsontable.htFiltersConditionsMenu table tbody tr td.htSeparator {
  border-top: 1px solid var(--ht-border-color);
  height: 0;
  padding: 0;
  cursor: default;
}
.handsontable.htDropdownMenu table tbody tr td.htDisabled, .handsontable.htContextMenu table tbody tr td.htDisabled, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled {
  color: var(--ht-disabled-color);
  cursor: default;
}
.handsontable.htDropdownMenu table tbody tr td.htDisabled:hover, .handsontable.htContextMenu table tbody tr td.htDisabled:hover, .handsontable.htFiltersConditionsMenu table tbody tr td.htDisabled:hover {
  background: var(--ht-background-color);
  color: var(--ht-disabled-color);
}
.handsontable.htDropdownMenu table tbody tr td.htHidden, .handsontable.htContextMenu table tbody tr td.htHidden, .handsontable.htFiltersConditionsMenu table tbody tr td.htHidden {
  display: none;
}
.handsontable.htDropdownMenu table tbody tr td:has(.htItemWrapper .selected), .handsontable.htContextMenu table tbody tr td:has(.htItemWrapper .selected), .handsontable.htFiltersConditionsMenu table tbody tr td:has(.htItemWrapper .selected) {
  background-color: color-mix(in srgb, var(--ht-menu-item-active-color) var(--ht-menu-item-active-color-opacity, 100%), transparent);
}
.handsontable.htDropdownMenu table tbody tr td .htItemWrapper, .handsontable.htContextMenu table tbody tr td .htItemWrapper, .handsontable.htFiltersConditionsMenu table tbody tr td .htItemWrapper {
  margin-inline: calc(2 * var(--ht-gap-size, 4px));
}
.handsontable.htDropdownMenu table tbody tr td .htItemWrapper::before, .handsontable.htContextMenu table tbody tr td .htItemWrapper::before, .handsontable.htFiltersConditionsMenu table tbody tr td .htItemWrapper::before {
  vertical-align: text-bottom;
  margin-right: 12px;
}
.handsontable.htDropdownMenu table tbody tr td .htItemWrapper span.selected, .handsontable.htContextMenu table tbody tr td .htItemWrapper span.selected, .handsontable.htFiltersConditionsMenu table tbody tr td .htItemWrapper span.selected {
  font-size: 0;
  inset: 0;
}
.handsontable.htDropdownMenu table tbody tr td .htItemWrapper span.selected::after, .handsontable.htContextMenu table tbody tr td .htItemWrapper span.selected::after, .handsontable.htFiltersConditionsMenu table tbody tr td .htItemWrapper span.selected::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: calc(var(--ht-menu-item-horizontal-padding) + var(--ht-gap-size) * 2);
  color: var(--ht-accent-color);
  transform: translateY(-50%);
}
.handsontable.htDropdownMenu table tbody tr td div span.selected, .handsontable.htContextMenu table tbody tr td div span.selected, .handsontable.htFiltersConditionsMenu table tbody tr td div span.selected {
  position: absolute;
  inset-inline-end: 0;
}
.handsontable.htDropdownMenu table tbody tr td .htUIButton, .handsontable.htContextMenu table tbody tr td .htUIButton, .handsontable.htFiltersConditionsMenu table tbody tr td .htUIButton {
  width: calc(50% - var(--ht-gap-size));
}
.handsontable.htDropdownMenu table tbody tr td .htUIButton input, .handsontable.htContextMenu table tbody tr td .htUIButton input, .handsontable.htFiltersConditionsMenu table tbody tr td .htUIButton input {
  width: 100%;
}
.handsontable .htUIClearAll a,
.handsontable .htUISelectAll a {
  padding: var(--ht-gap-size);
  display: inline-block;
  text-decoration: none;
}
.handsontable .htUIMultipleSelect .ht_master .wtHolder {
  overflow-y: scroll !important;
  background: transparent;
  border-radius: 0 !important;
}
.handsontable .htUIMultipleSelect .ht_master .wtHolder .htCore {
  box-shadow: none;
}

[dir=rtl].handsontable.htDropdownMenu table tbody tr td.htSubmenu .htItemWrapper::after, [dir=rtl].handsontable.htContextMenu table tbody tr td.htSubmenu .htItemWrapper::after, [dir=rtl].handsontable.htFiltersConditionsMenu table tbody tr td.htSubmenu .htItemWrapper::after {
  left: calc(4 * var(--ht-gap-size));
  right: auto;
  transform: translateY(-50%) rotate(180deg);
}
[dir=rtl].handsontable.htDropdownMenu table tbody tr td .htItemWrapper span.selected::after, [dir=rtl].handsontable.htContextMenu table tbody tr td .htItemWrapper span.selected::after, [dir=rtl].handsontable.htFiltersConditionsMenu table tbody tr td .htItemWrapper span.selected::after {
  left: calc(4 * var(--ht-gap-size));
  right: auto;
}
[dir=rtl].handsontable .changeType {
  float: left;
}

.handsontable.htFiltersConditionsMenu:not(.htGhostTable) {
  z-index: 1070;
}
.handsontable .ht_master table td.htCustomMenuRenderer {
  cursor: auto;
}
.handsontable .ht_master table td.htCustomMenuRenderer.htFiltersMenuActionBar {
  padding-top: calc(var(--ht-menu-item-vertical-padding, 4px) * 2);
}
.handsontable .htFiltersMenuLabel {
  font-size: var(--ht-font-size-small);
  line-height: var(--ht-line-height-small);
  font-weight: var(--ht-font-weight);
  margin-bottom: calc(var(--ht-gap-size, 2px) * 2);
}
.handsontable .htFiltersMenuLabel:empty {
  display: none;
}
.handsontable .htFiltersMenuCondition {
  padding-top: calc(var(--ht-gap-size, 2px) * 3) !important;
  padding-bottom: 0 !important;
}
.handsontable .htFiltersMenuCondition .border {
  border-bottom: 1px solid var(--ht-border-color) !important;
}
.handsontable .htFiltersMenuCondition .htUIInput {
  margin-top: calc(var(--ht-gap-size, 2px) * 2);
}
.handsontable .htFiltersMenuValue {
  padding-top: calc(var(--ht-gap-size, 2px) * 3) !important;
  padding-bottom: 0 !important;
  border-bottom: 1px solid var(--ht-border-color) !important;
}
.handsontable .htFiltersMenuOperators {
  padding-top: calc(var(--ht-gap-size, 2px) * 2) !important;
  padding-bottom: 0 !important;
}
.handsontable .htUISelectionControls {
  padding-top: calc(var(--ht-gap-size, 2px) * 2) !important;
  padding-bottom: var(--ht-gap-size, 2px) !important;
  margin: 0 calc(var(--ht-gap-size, 2px) * -1);
}
.handsontable .htUIMultipleSelectHot {
  --ht-cell-horizontal-padding: calc(
          var(--ht-menu-item-horizontal-padding, 2px) +
          var(--ht-gap-size, 2px) * 2);
  overflow: initial !important;
  width: calc(100% + var(--ht-menu-item-horizontal-padding, 2px) * 2 + var(--ht-gap-size, 2px) * 4);
  margin: 0 calc((var(--ht-menu-item-horizontal-padding, 2px) + var(--ht-gap-size, 2px) * 2) * -1);
}
.handsontable .htUIMultipleSelectHot::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--ht-border-color);
}
.handsontable .htUIMultipleSelectHot .wtHolder {
  padding: 0;
  overflow-x: hidden;
  box-sizing: border-box;
}
.handsontable .htUIMultipleSelectHot .wtHolder .wtSpreader {
  padding: calc(var(--ht-gap-size) * 2) 0;
}
.handsontable .htUIMultipleSelectHot .wtHolder td {
  height: auto !important;
  padding: 4px var(--ht-cell-horizontal-padding);
}
.handsontable .htUIClearAll,
.handsontable .htUISelectAll {
  display: inline-block;
  margin-right: var(--ht-gap-size, 4px);
  margin-bottom: var(--ht-gap-size, 4px);
}
.handsontable .htUIClearAll a,
.handsontable .htUISelectAll a {
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  color: var(--ht-link-color);
  border-radius: var(--ht-button-border-radius);
}
.handsontable .htUIClearAll a:hover,
.handsontable .htUISelectAll a:hover {
  color: var(--ht-link-hover-color);
}
.handsontable .htUIClearAll a:focus,
.handsontable .htUISelectAll a:focus {
  outline: 1px solid var(--ht-link-hover-color);
}
.handsontable .htUIMultipleSelect .ht_master .wtHolder {
  overflow: auto;
}
.handsontable .htUIMultipleSelect .ht_master .wtHolder .wtHider,
.handsontable .htUIMultipleSelect .ht_master .wtHolder .htCore,
.handsontable .htUIMultipleSelect .ht_master .wtHolder tr,
.handsontable .htUIMultipleSelect .ht_master .wtHolder td {
  background: none;
}
.handsontable .htUIInput.htUIButton {
  cursor: pointer;
  display: inline-block;
}
.handsontable .htUIInput.htUIButtonOK {
  margin-inline-start: 0;
  margin-inline-end: calc(2 * var(--ht-gap-size, 2px));
}

.handsontable .htCommentCell {
  position: relative;
}
.handsontable .htCommentCell::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  inset-inline-start: unset;
  border-inline-start: var(--ht-comments-indicator-size, 4px) solid transparent;
  border-inline-end: none;
  border-top: var(--ht-comments-indicator-size, 4px) solid var(--ht-comments-indicator-color, #1a42e8);
}

.htCommentsContainer .htComments {
  display: none;
  z-index: 1059;
  position: absolute;
}
.htCommentsContainer .htCommentTextArea {
  font-family: var(--ht-font-family), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: var(--ht-menu-shadow-x, 0) var(--ht-menu-shadow-y, 0) var(--ht-menu-shadow-blur, 8px) color-mix(in srgb, var(--ht-menu-shadow-color, rgb(0, 0, 0)) var(--ht-menu-shadow-opacity, 100%), transparent);
  width: 240px;
  height: 88px;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  font-weight: var(--ht-font-weight);
  margin: 0 -1px;
  padding: var(--ht-comments-textarea-vertical-padding) var(--ht-comments-textarea-horizontal-padding);
  border: var(--ht-comments-textarea-border-width, 1px) solid var(--ht-comments-textarea-border-color, transparent);
  border-inline-start: var(--ht-comments-textarea-border-width, 1px) solid var(--ht-comments-textarea-border-color, #1a42e8);
  color: var(--ht-comments-textarea-foreground-color);
  background-color: var(--ht-comments-textarea-background-color, #ffffff);
  outline: 0 !important;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.htCommentsContainer .htCommentTextArea:focus {
  border: var(--ht-comments-textarea-focus-border-width, 1px) solid var(--ht-comments-textarea-focus-border-color, #1a42e8);
  color: var(--ht-comments-textarea-focus-foreground-color);
  background-color: var(--ht-comments-textarea-focus-background-color, #ffffff);
}

.htBorders .wtBorder.ht-border-style-dashed-vertical {
  background-image: repeating-linear-gradient(to bottom, var(--ht-custom-border-color) 0 5px, transparent 0 10px);
}
.htBorders .wtBorder.ht-border-style-dashed-horizontal {
  background-image: repeating-linear-gradient(to right, var(--ht-custom-border-color) 0 5px, transparent 0 10px);
}
.htBorders .wtBorder.ht-border-style-dotted-horizontal {
  background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0);
  background-size: calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);
  background-repeat: repeat-x;
}
.htBorders .wtBorder.ht-border-style-dotted-vertical {
  background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0);
  background-size: var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);
  background-repeat: repeat-y;
}

.handsontable .columnSorting:not(.indicatorDisabled) {
  position: relative;
}
.handsontable .columnSorting:not(.indicatorDisabled).sortAction {
  min-width: calc(var(--ht-icon-size, 16px) + 8px);
}
.handsontable .columnSorting:not(.indicatorDisabled).sortAction.ascending, .handsontable .columnSorting:not(.indicatorDisabled).sortAction.descending {
  padding-inline-end: calc(var(--ht-icon-size, 16px) + 2px);
  max-width: calc(100% - (var(--ht-icon-size, 16px) * 2 + var(--ht-gap-size, 4px) + 3px)) !important;
}
.handsontable .columnSorting:not(.indicatorDisabled).sortAction:hover {
  text-decoration: none;
  cursor: pointer;
}
.handsontable .columnSorting:not(.indicatorDisabled).sortAction::before {
  content: "";
  display: block;
  width: var(--ht-icon-size, 16px);
  position: absolute;
  top: 50%;
  right: 2px;
  transform: translateY(-50%);
  text-align: right;
}
.handsontable .htRight .columnSorting.sortAction.ascending, .handsontable .htRight .columnSorting.sortAction.descending {
  padding-inline-start: calc(var(--ht-icon-size, 16px) + 2px);
  padding-inline-end: 0;
}
.handsontable .htRight .columnSorting.sortAction::before {
  left: 2px;
  right: auto;
  text-align: left;
}

[dir=rtl] .handsontable .columnSorting.sortAction::before {
  left: 2px;
  right: auto;
  text-align: left;
}
[dir=rtl] .handsontable .htRight .columnSorting.sortAction.ascending, [dir=rtl] .handsontable .htRight .columnSorting.sortAction.descending {
  padding-inline-start: 0;
  padding-inline-end: calc(var(--ht-icon-size, 16px) + 2px);
}
[dir=rtl] .handsontable .htLeft .columnSorting.sortAction.ascending, [dir=rtl] .handsontable .htLeft .columnSorting.sortAction.descending {
  padding-inline-start: calc(var(--ht-icon-size, 16px) + 2px);
  padding-inline-end: 0;
}
[dir=rtl] .handsontable .htLeft .columnSorting.sortAction::before {
  left: auto;
  right: 2px;
  text-align: right;
}

.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled)::before {
  content: "*";
  display: inline-block;
  position: relative;
  /* The multi-line header and header with longer text need more padding to not hide arrow,
      we make header wider in `GhostTable` to make some space for arrow which is positioned absolutely in the main table */
  padding-inline-end: calc(var(--ht-icon-size, 16px) + 2px);
}

.handsontable .colHeader.columnSorting::after {
  content: "";
  display: block;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  margin-top: 4px;
  font-size: 8px;
  text-align: right;
}
.handsontable .colHeader.columnSorting[class^=sort-]::after, .handsontable .colHeader.columnSorting[class*=" sort-"]::after {
  content: "+";
}
.handsontable .colHeader.columnSorting.sort-1::after {
  content: "1";
}
.handsontable .colHeader.columnSorting.sort-2::after {
  content: "2";
}
.handsontable .colHeader.columnSorting.sort-3::after {
  content: "3";
}
.handsontable .colHeader.columnSorting.sort-4::after {
  content: "4";
}
.handsontable .colHeader.columnSorting.sort-5::after {
  content: "5";
}
.handsontable .colHeader.columnSorting.sort-6::after {
  content: "6";
}
.handsontable .colHeader.columnSorting.sort-7::after {
  content: "7";
}
.handsontable .htRight .colHeader.columnSorting::after {
  left: 0;
  right: auto;
  text-align: left;
}

[dir=rtl] .handsontable .colHeader.columnSorting::after {
  left: 0;
  right: auto;
  text-align: left;
}
[dir=rtl] .handsontable .htLeft .colHeader.columnSorting::after {
  left: auto;
  right: 0;
  text-align: right;
}

.htGhostTable th div button.changeType + span.colHeader.columnSorting:not(.indicatorDisabled) {
  padding-right: var(--ht-gap-size);
}

.handsontable .htRowHeaders .ht_master.innerBorderInlineStart ~ .ht_clone_top_inline_start_corner th:nth-child(2), .handsontable .htRowHeaders .ht_master.innerBorderInlineStart ~ .ht_clone_inline_start td:first-of-type {
  border-left: 0 none;
}
.handsontable .ht_clone_top_inline_start_corner th.ht__active_highlight {
  box-shadow: none;
}

.handsontable .manualColumnResizer {
  position: absolute;
  top: 0;
  width: 10px;
  margin: 0;
  cursor: col-resize;
  background: none;
  opacity: 0;
  z-index: 210;
}
.handsontable .manualColumnResizer::before, .handsontable .manualColumnResizer::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1px;
  width: 2px;
  height: calc(100% - 12px);
  max-height: 16px;
  margin-top: 0.5px;
  background: var(--ht-resize-indicator-color);
  border-radius: 2px;
  transform: translateY(-50%);
}
.handsontable .manualColumnResizer::after {
  left: auto;
  right: 0;
}
.handsontable .manualColumnResizer:hover, .handsontable .manualColumnResizer.active {
  opacity: 1;
}
.handsontable .manualColumnResizerGuide {
  position: absolute;
  inset-inline-end: unset;
  top: 0;
  width: 0;
  margin-inline-start: 5px;
  margin-inline-end: unset;
  display: none;
  border-inline-end: 1px solid var(--ht-accent-color);
  border-inline-start: none;
}
.handsontable .manualColumnResizerGuide.active {
  display: block;
  z-index: 209;
}

.handsontable .manualRowResizer {
  position: absolute;
  left: 0;
  z-index: 210;
  height: 10px;
  margin: 0;
  cursor: row-resize;
  background: none;
  opacity: 0;
}
.handsontable .manualRowResizer::before, .handsontable .manualRowResizer::after {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 50%;
  width: calc(100% - 12px);
  max-width: 16px;
  height: 2px;
  background: var(--ht-resize-indicator-color);
  border-radius: 2px;
  transform: translateX(-50%);
}
.handsontable .manualRowResizer::after {
  top: auto;
  bottom: 0;
}
.handsontable .manualRowResizer:hover, .handsontable .manualRowResizer.active {
  opacity: 1;
}
.handsontable .manualRowResizerGuide {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0;
  margin-top: 5px;
  display: none;
  border-bottom: 1px solid var(--ht-accent-color);
  border-top: none;
}
.handsontable .manualRowResizerGuide.active {
  display: block;
  z-index: 209;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell])::before {
  opacity: 0;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]::before {
  opacity: 0.14;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before {
  opacity: 0.14;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before {
  opacity: 0.21;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before {
  opacity: 0.28;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before {
  opacity: 0.35;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before {
  opacity: 0.42;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before {
  opacity: 0.49;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before {
  opacity: 0.56;
}

.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before {
  opacity: 0.63;
}

.handsontable .wtHider {
  position: relative;
}
.handsontable .ht__manualColumnMove.after-selection--columns thead th.ht__highlight, .handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight {
  cursor: move;
  cursor: grab;
}
.handsontable .ht__manualColumnMove.on-moving--columns *,
.handsontable .ht__manualColumnMove.on-moving--columns thead th.ht__highlight, .handsontable.ht__manualColumnMove.on-moving--columns *,
.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight {
  cursor: move;
  cursor: grabbing;
}
.handsontable .ht__manualColumnMove.on-moving--columns .manualColumnResizer, .handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer {
  display: none;
}
.handsontable .ht__manualColumnMove--guideline, .handsontable .ht__manualColumnMove--backlight, .handsontable.ht__manualColumnMove--guideline, .handsontable.ht__manualColumnMove--backlight {
  position: absolute;
  height: 100%;
  display: none;
}
.handsontable .ht__manualColumnMove--guideline, .handsontable.ht__manualColumnMove--guideline {
  width: 1px;
  top: 0;
  margin-inline-start: -0.5px;
  margin-inline-end: 0;
  z-index: 205;
  background: var(--ht-move-indicator-color, #1a42e8);
}
.handsontable .ht__manualColumnMove--backlight, .handsontable.ht__manualColumnMove--backlight {
  display: none;
  z-index: 205;
  pointer-events: none;
  background: color-mix(in srgb, var(--ht-move-backlight-color) var(--ht-move-backlight-opacity, 100%), transparent);
}
.handsontable .on-moving--columns.show-ui .ht__manualColumnMove--guideline,
.handsontable .on-moving--columns .ht__manualColumnMove--backlight, .handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,
.handsontable.on-moving--columns .ht__manualColumnMove--backlight {
  display: block;
}

.handsontable .wtHider {
  position: relative;
}
.handsontable .ht__manualRowMove.after-selection--rows tbody th.ht__highlight, .handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight {
  cursor: move;
  cursor: grab;
}
.handsontable .ht__manualRowMove.on-moving--rows *,
.handsontable .ht__manualRowMove.on-moving--rows tbody th.ht__highlight, .handsontable.ht__manualRowMove.on-moving--rows *,
.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight {
  cursor: move;
  cursor: grabbing;
}
.handsontable .ht__manualRowMove.on-moving--rows .manualRowResizer, .handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer {
  display: none;
}
.handsontable .ht__manualRowMove--guideline, .handsontable .ht__manualRowMove--backlight, .handsontable.ht__manualRowMove--guideline, .handsontable.ht__manualRowMove--backlight {
  position: absolute;
  width: 100%;
  display: none;
}
.handsontable .ht__manualRowMove--guideline, .handsontable.ht__manualRowMove--guideline {
  border-top: 1px solid var(--ht-move-indicator-color);
  left: 0;
  z-index: 205;
}
.handsontable .ht__manualRowMove--backlight, .handsontable.ht__manualRowMove--backlight {
  display: none;
  z-index: 205;
  pointer-events: none;
  background: color-mix(in srgb, var(--ht-move-backlight-color) var(--ht-move-backlight-opacity, 100%), transparent);
}
.handsontable .on-moving--rows.show-ui .ht__manualRowMove--guideline,
.handsontable .on-moving--rows .ht__manualRowMove--backlight, .handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,
.handsontable.on-moving--rows .ht__manualRowMove--backlight {
  display: block;
}

.ht-dialog {
  scrollbar-width: auto;
  scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  letter-spacing: var(--ht-letter-spacing);
  width: 100%;
  height: 100%;
  z-index: 1060;
  opacity: 0;
  overflow-y: auto;
  border-radius: var(--ht-wrapper-border-radius);
  border: 1px solid var(--ht-border-color);
  box-sizing: border-box !important;
}
.ht-dialog[dir=rtl] {
  left: auto;
  right: 0;
}
.ht-dialog:focus {
  border: 1px solid var(--ht-accent-color);
  outline: none;
}
.ht-dialog:has(.htFocusCatcher:focus) {
  border: 1px solid var(--ht-accent-color);
  outline: none;
}
.ht-dialog * {
  box-sizing: border-box !important;
}
.ht-dialog--background-solid {
  background-color: var(--ht-dialog-solid-background-color);
}
.ht-dialog--background-semi-transparent {
  background-color: color-mix(in srgb, var(--ht-dialog-semi-transparent-background-color) var(--ht-dialog-semi-transparent-background-opacity, 100%), transparent);
}
.ht-dialog--animation {
  transition: opacity var(--ht-table-transition) ease-in-out;
}
.ht-dialog--show {
  opacity: 1;
}
.ht-dialog__content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: calc(var(--ht-gap-size) * 4);
  border-radius: var(--ht-wrapper-border-radius);
}
.ht-dialog__content {
  position: relative;
  padding: var(--ht-dialog-content-padding-horizontal) var(--ht-dialog-content-padding-vertical);
  max-width: 480px;
  color: var(--ht-foreground-color);
}
.ht-dialog__content--background {
  box-shadow: var(--ht-shadow-x, 0) var(--ht-shadow-y, 0) var(--ht-shadow-blur, 8px) color-mix(in srgb, var(--ht-shadow-color, rgb(0, 0, 0)) var(--ht-shadow-opacity, 100%), transparent);
  border-radius: var(--ht-dialog-content-border-radius);
  background-color: var(--ht-dialog-content-background-color);
}
.ht-dialog--confirm .ht-dialog__content-wrapper {
  text-align: center;
  padding: calc(var(--ht-gap-size) * 2);
}
.ht-dialog--confirm .ht-dialog__content-wrapper-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 480px;
  padding: calc(var(--ht-gap-size) * 2);
  border-radius: var(--ht-wrapper-border-radius);
}
.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background {
  box-shadow: var(--ht-shadow-x, 0) var(--ht-shadow-y, 0) var(--ht-shadow-blur, 8px) color-mix(in srgb, var(--ht-shadow-color, rgb(0, 0, 0)) var(--ht-shadow-opacity, 100%), transparent);
  border-radius: var(--ht-dialog-content-border-radius);
  background-color: var(--ht-dialog-content-background-color);
}
.ht-dialog--confirm .ht-dialog__content-wrapper-inner:focus {
  outline: none;
  box-shadow: 0 0 0 1px var(--ht-accent-color);
}
.ht-dialog--confirm .ht-dialog__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ht-gap-size);
}
.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons) {
  gap: calc(var(--ht-gap-size) * 2);
}
.ht-dialog--confirm .ht-dialog__title {
  margin: 0;
  font-size: var(--ht-font-size);
  font-weight: var(--ht-font-weight);
  line-height: var(--ht-line-height);
}
.ht-dialog--confirm .ht-dialog__description {
  margin: 0;
  color: var(--ht-foreground-secondary-color);
  font-size: var(--ht-font-size-small);
  line-height: var(--ht-line-height-small);
  font-weight: var(--ht-font-weight);
}
.ht-dialog--confirm .ht-dialog__buttons {
  display: flex;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: calc(var(--ht-gap-size) * 2);
}

.handsontable.ht-pagination {
  color: var(--ht-pagination-bar-foreground-color);
  background: var(--ht-pagination-bar-background-color);
  border: 1px solid var(--ht-wrapper-border-color);
  border-top-color: transparent;
  border-radius: 0 0 var(--ht-wrapper-border-radius) var(--ht-wrapper-border-radius);
  font-size: var(--ht-font-size);
  line-height: var(--ht-line-height);
  box-sizing: border-box;
  overflow-x: auto;
}
.handsontable.ht-pagination--bordered {
  border-top-color: var(--ht-wrapper-border-color);
}
.handsontable.ht-pagination .ht-pagination__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--ht-gap-size) * 4);
  border-radius: 0 0 var(--ht-wrapper-border-radius) var(--ht-wrapper-border-radius);
  padding-inline: var(--ht-pagination-bar-horizontal-padding);
  padding-block: var(--ht-pagination-bar-vertical-padding);
  min-width: 230px;
}
.handsontable.ht-pagination .ht-page-size-section {
  display: flex;
  align-items: center;
  gap: calc(var(--ht-gap-size) * 2);
}
.handsontable.ht-pagination .ht-page-size-section__label {
  white-space: nowrap;
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper {
  position: relative;
  border-radius: var(--ht-input-border-radius);
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper select {
  padding-inline-start: var(--ht-gap-size);
  padding-inline-end: calc(var(--ht-gap-size) + var(--ht-icon-size));
  padding-top: var(--ht-gap-size);
  padding-bottom: var(--ht-gap-size);
  border-radius: var(--ht-input-border-radius);
  color: var(--ht-input-foreground-color);
  background-color: var(--ht-input-background-color);
  border: 1px solid var(--ht-input-border-color);
  line-height: calc(var(--ht-line-height) - 4px);
  -webkit-appearance: none;
  font-size: inherit;
  cursor: pointer;
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper select:disabled {
  opacity: 0.4;
  cursor: default;
  color: var(--ht-input-disabled-foreground-color);
  background-color: var(--ht-input-disabled-background-color);
  border-color: var(--ht-input-disabled-border-color);
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper select:hover:not(:disabled) {
  color: var(--ht-input-hover-foreground-color);
  background-color: var(--ht-input-hover-background-color);
  border-color: var(--ht-input-hover-border-color);
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper select:focus {
  color: var(--ht-input-focus-foreground-color);
  background-color: var(--ht-input-focus-background-color);
  border-color: var(--ht-input-focus-border-color);
  outline: none;
}
.handsontable.ht-pagination .ht-page-size-section__select-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-end: var(--ht-gap-size);
  inset-block-end: 50%;
  transform: translateY(50%);
  background-color: var(--ht-foreground-color);
  pointer-events: none;
}
.handsontable.ht-pagination .ht-page-counter-section {
  margin-inline-end: auto;
}
.handsontable.ht-pagination .ht-page-navigation-section {
  display: flex;
  align-items: center;
  gap: 1px;
}
.handsontable.ht-pagination .ht-page-navigation-section__button {
  font-size: inherit;
  border: 1px solid var(--ht-pagination-bar-background-color);
  color: var(--ht-secondary-button-foreground-color);
  background-color: var(--ht-pagination-bar-background-color);
  border-radius: var(--ht-icon-button-large-border-radius);
  padding: var(--ht-icon-button-large-padding);
  cursor: pointer;
}
.handsontable.ht-pagination .ht-page-navigation-section__button::before {
  content: "";
  display: block;
}
.handsontable.ht-pagination .ht-page-navigation-section__button--disabled {
  cursor: default;
  pointer-events: none;
  color: var(--ht-secondary-button-disabled-foreground-color);
}
.handsontable.ht-pagination .ht-page-navigation-section__button:hover:not(:disabled) {
  background-color: var(--ht-secondary-button-hover-background-color);
}
.handsontable.ht-pagination .ht-page-navigation-section__button:focus {
  outline: none;
  border: 1px solid var(--ht-accent-color);
}
.handsontable.ht-pagination .ht-page-navigation-section__label {
  white-space: nowrap;
  min-width: 100px;
  text-align: center;
}
.handsontable.ht-wrapper.htPagination {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htPagination .htCore {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.handsontable.ht-wrapper.htPagination .htCore thead tr:last-child th:first-child,
.handsontable.ht-wrapper.htPagination .htCore tbody tr:last-child td:first-child,
.handsontable.ht-wrapper.htPagination .htCore tbody tr:last-child th:first-child {
  border-end-start-radius: 0 !important;
}
.handsontable.ht-wrapper.htPagination .htCore thead tr:last-child th:last-child,
.handsontable.ht-wrapper.htPagination .htCore tbody tr:last-child td:last-child,
.handsontable.ht-wrapper.htPagination .htCore tbody tr:last-child th:last-child {
  border-end-end-radius: 0 !important;
}

.ht-loading__icon-svg {
  display: block;
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  color: var(--ht-accent-color);
  animation: ht-loading-spin 1s linear infinite;
  transform-origin: 50% 50%;
}
.ht-loading__content {
  display: flex;
  align-items: center;
  gap: calc(var(--ht-gap-size) * 2);
}
.ht-loading__title {
  margin: 0;
  font-size: var(--ht-font-size);
  font-weight: var(--ht-font-weight);
  line-height: var(--ht-line-height);
}
.ht-loading__description {
  margin: 0;
  color: var(--ht-foreground-secondary-color);
  font-size: var(--ht-font-size-small);
  line-height: var(--ht-line-height-small);
  font-weight: var(--ht-font-weight);
}

@keyframes ht-loading-spin {
  to {
    transform: rotate(360deg);
  }
}
.ht-empty-data-state {
  scrollbar-width: auto;
  scrollbar-color: var(--ht-scrollbar-thumb-color) var(--ht-scrollbar-track-color);
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 999;
  overflow-y: auto;
  border: 1px solid var(--ht-border-color);
  border-radius: var(--ht-wrapper-border-radius);
  box-sizing: border-box;
  background-color: var(--ht-background-color);
}
.ht-empty-data-state * {
  box-sizing: border-box !important;
}
.ht-empty-data-state__content-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 100%;
  padding: calc(var(--ht-gap-size) * 2);
  border-radius: var(--ht-wrapper-border-radius);
}
.ht-empty-data-state__content-wrapper-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 480px;
  padding: calc(var(--ht-gap-size) * 2);
  border-radius: var(--ht-wrapper-border-radius);
}
.ht-empty-data-state__content-wrapper-inner:focus {
  outline: none;
  box-shadow: 0 0 0 1px var(--ht-accent-color);
}
.ht-empty-data-state__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--ht-gap-size);
}
.ht-empty-data-state__title {
  margin: 0;
  font-size: var(--ht-font-size);
  font-weight: var(--ht-font-weight);
  line-height: var(--ht-line-height);
}
.ht-empty-data-state__description {
  margin: 0;
  color: var(--ht-foreground-secondary-color);
  font-size: var(--ht-font-size-small);
  line-height: var(--ht-line-height-small);
  font-weight: var(--ht-font-weight);
}
.ht-empty-data-state__buttons {
  display: flex;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: calc(var(--ht-gap-size) * 2);
}
.ht-empty-data-state__buttons--has-buttons {
  margin-top: calc(var(--ht-gap-size) * 2);
}
.ht-empty-data-state--disable-top-border {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-top-width: 0;
}
.ht-empty-data-state--disable-inline-border {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-inline-start-width: 0;
}
.ht-empty-data-state--disable-bottom-border, .ht-empty-data-state:has(~ .ht-pagination) {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
  border-bottom-width: 0;
}
.ht-theme-main,
.ht-theme-main-dark,
.ht-theme-main-dark-auto {
  --ht-sizing-size-0: 0px;
  --ht-sizing-size-0-5: 2px;
  --ht-sizing-size-1: 4px;
  --ht-sizing-size-2: 8px;
  --ht-sizing-size-1-5: 6px;
  --ht-sizing-size-3: 12px;
  --ht-sizing-size-4: 16px;
  --ht-sizing-size-5: 20px;
  --ht-sizing-size-6: 24px;
  --ht-sizing-size-7: 28px;
  --ht-sizing-size-8: 32px;
  --ht-sizing-size-9: 36px;
  --ht-sizing-size-10: 40px;
  --ht-sizing-size-0-25: 1px;
  --ht-density-cell-vertical: var(--ht-sizing-size-1);
  --ht-density-cell-horizontal: var(--ht-sizing-size-2);
  --ht-density-bars-horizontal: var(--ht-sizing-size-4);
  --ht-density-bars-vertical: var(--ht-sizing-size-2);
  --ht-density-gap: var(--ht-sizing-size-1);
  --ht-density-button-horizontal: var(--ht-sizing-size-3);
  --ht-density-button-vertical: var(--ht-sizing-size-1-5);
  --ht-density-dialog-horizontal: var(--ht-sizing-size-2);
  --ht-density-dialog-vertical: var(--ht-sizing-size-2);
  --ht-density-input-horizontal: var(--ht-sizing-size-3);
  --ht-density-input-vertical: var(--ht-sizing-size-1-5);
  --ht-density-menu-vertical: var(--ht-sizing-size-2);
  --ht-density-menu-horizontal: var(--ht-sizing-size-0);
  --ht-density-menu-item-vertical: var(--ht-sizing-size-1);
  --ht-density-menu-item-horizontal: var(--ht-sizing-size-3);
  --ht-colors-white: #ffffffff;
  --ht-colors-black: #000000ff;
  --ht-colors-primary-100: #6180ffff;
  --ht-colors-primary-200: #5573f0ff;
  --ht-colors-primary-300: #4669f6ff;
  --ht-colors-primary-400: #2e56fcff;
  --ht-colors-primary-500: #1a42e8ff;
  --ht-colors-primary-600: #1535bcff;
  --ht-colors-palette-50: #f7f7f9ff;
  --ht-colors-palette-100: #e7e7e9ff;
  --ht-colors-palette-200: #b9b9bbff;
  --ht-colors-palette-300: #a3a3a3ff;
  --ht-colors-palette-400: #68696cff;
  --ht-colors-palette-500: #404144ff;
  --ht-colors-palette-600: #313132ff;
  --ht-colors-palette-700: #282829ff;
  --ht-colors-palette-800: #222222ff;
  --ht-colors-palette-900: #1e1e1fff;
  --ht-colors-palette-950: #050506ff;
  --ht-colors-transparent: #ffffff00;
  --ht-font-family: Inter;
  --ht-font-size: 14px;
  --ht-font-size-small: 12px;
  --ht-line-height: 20px;
  --ht-line-height-small: 18px;
  --ht-font-weight: 400;
  --ht-letter-spacing: 0px;
  --ht-border-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-accent-color: light-dark(var(--ht-colors-primary-500), var(--ht-colors-primary-300));
  --ht-foreground-color: light-dark(var(--ht-colors-palette-800), var(--ht-colors-palette-200));
  --ht-foreground-secondary-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-background-color: light-dark(var(--ht-colors-white), var(--ht-colors-palette-950));
  --ht-background-secondary-color: light-dark(var(--ht-colors-palette-50), var(--ht-colors-palette-900));
  --ht-placeholder-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-read-only-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-disabled-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-gap-size: var(--ht-density-gap);
  --ht-icon-size: var(--ht-sizing-size-4);
  --ht-table-transition: 0.15s;
  --ht-wrapper-border-width: 0px;
  --ht-wrapper-border-radius: var(--ht-sizing-size-1);
  --ht-wrapper-border-color: var(--ht-border-color);
  --ht-bar-foreground-color: var(--ht-foreground-color);
  --ht-bar-background-color: var(--ht-background-secondary-color);
  --ht-bar-horizontal-padding: var(--ht-density-bars-horizontal);
  --ht-bar-vertical-padding: var(--ht-density-bars-vertical);
  --ht-shadow-color: light-dark(var(--ht-colors-palette-800), var(--ht-colors-palette-200));
  --ht-shadow-x: var(--ht-sizing-size-0);
  --ht-shadow-y: var(--ht-sizing-size-2);
  --ht-shadow-blur: var(--ht-sizing-size-4);
  --ht-shadow-opacity: 8%;
  --ht-cell-horizontal-padding: var(--ht-density-cell-horizontal);
  --ht-cell-vertical-padding: var(--ht-density-cell-vertical);
  --ht-cell-horizontal-border-color: var(--ht-border-color);
  --ht-cell-vertical-border-color: var(--ht-border-color);
  --ht-cell-selection-border-color: var(--ht-accent-color);
  --ht-cell-selection-background-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-cell-success-background-color: #37bc6c33;
  --ht-cell-error-background-color: #fa4d3233;
  --ht-cell-read-only-background-color: var(--ht-background-secondary-color);
  --ht-cell-autofill-size: var(--ht-sizing-size-1-5);
  --ht-cell-autofill-hit-area-size: var(--ht-sizing-size-3);
  --ht-cell-autofill-border-width: var(--ht-sizing-size-0-25);
  --ht-cell-autofill-border-radius: var(--ht-sizing-size-1);
  --ht-cell-autofill-border-color: var(--ht-background-color);
  --ht-cell-autofill-background-color: var(--ht-accent-color);
  --ht-cell-autofill-fill-border-color: var(--ht-foreground-color);
  --ht-cell-editor-border-width: 2px;
  --ht-cell-editor-border-color: var(--ht-accent-color);
  --ht-cell-editor-foreground-color: light-dark(var(--ht-colors-palette-950), var(--ht-colors-white));
  --ht-cell-editor-background-color: var(--ht-background-color);
  --ht-cell-editor-shadow-blur-radius: 0px;
  --ht-cell-editor-shadow-color: var(--ht-accent-color);
  --ht-cell-mobile-handle-size: var(--ht-sizing-size-3);
  --ht-cell-mobile-handle-border-width: var(--ht-sizing-size-0-25);
  --ht-cell-mobile-handle-border-radius: var(--ht-sizing-size-3);
  --ht-cell-mobile-handle-border-color: var(--ht-accent-color);
  --ht-cell-mobile-handle-background-color: var(--ht-accent-color);
  --ht-cell-mobile-handle-background-opacity: 40%;
  --ht-header-font-weight: var(--ht-font-weight);
  --ht-header-foreground-color: var(--ht-foreground-color);
  --ht-header-background-color: var(--ht-background-secondary-color);
  --ht-header-highlighted-shadow-size: 0px;
  --ht-header-highlighted-foreground-color: light-dark(var(--ht-colors-palette-950), var(--ht-colors-white));
  --ht-header-highlighted-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-header-active-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-header-active-foreground-color: var(--ht-colors-white);
  --ht-header-active-background-color: var(--ht-accent-color);
  --ht-header-filter-background-color: var(--ht-cell-success-background-color);
  --ht-header-row-foreground-color: var(--ht-foreground-color);
  --ht-header-row-background-color: var(--ht-background-secondary-color);
  --ht-header-row-highlighted-foreground-color: light-dark(var(--ht-colors-palette-950), var(--ht-colors-white));
  --ht-header-row-highlighted-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-header-row-active-foreground-color: var(--ht-colors-white);
  --ht-header-row-active-background-color: var(--ht-accent-color);
  --ht-row-header-odd-background-color: var(--ht-background-secondary-color);
  --ht-row-header-even-background-color: var(--ht-background-secondary-color);
  --ht-row-cell-odd-background-color: var(--ht-background-color);
  --ht-row-cell-even-background-color: var(--ht-background-color);
  --ht-button-border-radius: var(--ht-sizing-size-1);
  --ht-button-horizontal-padding: var(--ht-density-button-horizontal);
  --ht-button-vertical-padding: var(--ht-density-button-vertical);
  --ht-primary-button-border-color: var(--ht-colors-transparent);
  --ht-primary-button-foreground-color: var(--ht-colors-white);
  --ht-primary-button-background-color: var(--ht-accent-color);
  --ht-primary-button-disabled-border-color: var(--ht-colors-transparent);
  --ht-primary-button-disabled-foreground-color: var(--ht-disabled-color);
  --ht-primary-button-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-primary-button-hover-border-color: var(--ht-colors-transparent);
  --ht-primary-button-hover-foreground-color: var(--ht-background-color);
  --ht-primary-button-hover-background-color: light-dark(var(--ht-colors-primary-600), var(--ht-colors-primary-100));
  --ht-primary-button-focus-border-color: var(--ht-background-color);
  --ht-primary-button-focus-foreground-color: var(--ht-background-color);
  --ht-primary-button-focus-background-color: var(--ht-accent-color);
  --ht-secondary-button-border-color: var(--ht-border-color);
  --ht-secondary-button-foreground-color: var(--ht-foreground-color);
  --ht-secondary-button-background-color: var(--ht-background-color);
  --ht-secondary-button-disabled-border-color: var(--ht-border-color);
  --ht-secondary-button-disabled-foreground-color: var(--ht-disabled-color);
  --ht-secondary-button-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-secondary-button-hover-border-color: var(--ht-border-color);
  --ht-secondary-button-hover-foreground-color: var(--ht-foreground-color);
  --ht-secondary-button-hover-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-secondary-button-focus-border-color: var(--ht-border-color);
  --ht-secondary-button-focus-foreground-color: var(--ht-foreground-color);
  --ht-secondary-button-focus-background-color: var(--ht-background-color);
  --ht-icon-button-border-radius: var(--ht-sizing-size-0-5);
  --ht-icon-button-large-border-radius: var(--ht-sizing-size-1);
  --ht-icon-button-large-padding: var(--ht-sizing-size-1);
  --ht-icon-button-border-color: light-dark(var(--ht-colors-palette-50), var(--ht-colors-palette-900));
  --ht-icon-button-background-color: var(--ht-background-secondary-color);
  --ht-icon-button-icon-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-icon-button-hover-border-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-icon-button-hover-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-icon-button-hover-icon-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-icon-button-active-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-icon-button-active-background-color: var(--ht-accent-color);
  --ht-icon-button-active-icon-color: var(--ht-colors-white);
  --ht-icon-button-active-hover-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-icon-button-active-hover-background-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-icon-button-active-hover-icon-color: var(--ht-colors-white);
  --ht-collapse-button-border-radius: var(--ht-sizing-size-1);
  --ht-collapse-button-open-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-collapse-button-open-background-color: light-dark(var(--ht-colors-white), var(--ht-colors-palette-950));
  --ht-collapse-button-open-icon-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-open-icon-active-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-open-hover-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-collapse-button-open-hover-background-color: light-dark(var(--ht-colors-palette-50), var(--ht-colors-palette-900));
  --ht-collapse-button-open-hover-icon-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-open-hover-icon-active-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-close-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-collapse-button-close-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-collapse-button-close-icon-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-close-icon-active-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-close-hover-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-collapse-button-close-hover-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-collapse-button-close-hover-icon-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-collapse-button-close-hover-icon-active-color: light-dark(var(--ht-colors-palette-400), var(--ht-colors-palette-300));
  --ht-link-color: light-dark(var(--ht-colors-primary-600), var(--ht-colors-primary-100));
  --ht-link-hover-color: var(--ht-accent-color);
  --ht-input-border-width: 1px;
  --ht-input-border-radius: var(--ht-sizing-size-1);
  --ht-input-horizontal-padding: var(--ht-density-input-horizontal);
  --ht-input-vertical-padding: var(--ht-density-input-vertical);
  --ht-input-border-color: var(--ht-border-color);
  --ht-input-foreground-color: var(--ht-foreground-color);
  --ht-input-background-color: var(--ht-background-secondary-color);
  --ht-input-hover-border-color: var(--ht-border-color);
  --ht-input-hover-foreground-color: var(--ht-foreground-color);
  --ht-input-hover-background-color: var(--ht-background-color);
  --ht-input-disabled-border-color: var(--ht-border-color);
  --ht-input-disabled-foreground-color: var(--ht-disabled-color);
  --ht-input-disabled-background-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-input-focus-border-color: var(--ht-accent-color);
  --ht-input-focus-foreground-color: var(--ht-foreground-color);
  --ht-input-focus-background-color: var(--ht-background-color);
  --ht-checkbox-size: var(--ht-icon-size);
  --ht-checkbox-border-radius: var(--ht-sizing-size-1);
  --ht-checkbox-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-checkbox-background-color: var(--ht-background-color);
  --ht-checkbox-icon-color: var(--ht-colors-transparent);
  --ht-checkbox-focus-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-checkbox-focus-background-color: var(--ht-background-color);
  --ht-checkbox-focus-icon-color: var(--ht-colors-transparent);
  --ht-checkbox-focus-ring-color: var(--ht-accent-color);
  --ht-checkbox-disabled-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-checkbox-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-checkbox-disabled-icon-color: var(--ht-colors-transparent);
  --ht-checkbox-checked-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-checkbox-checked-background-color: var(--ht-accent-color);
  --ht-checkbox-checked-icon-color: var(--ht-colors-white);
  --ht-checkbox-checked-focus-border-color: var(--ht-background-color);
  --ht-checkbox-checked-focus-background-color: var(--ht-accent-color);
  --ht-checkbox-checked-focus-icon-color: var(--ht-colors-white);
  --ht-checkbox-checked-disabled-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-checkbox-checked-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-checkbox-checked-disabled-icon-color: var(--ht-disabled-color);
  --ht-checkbox-indeterminate-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-checkbox-indeterminate-background-color: var(--ht-accent-color);
  --ht-checkbox-indeterminate-icon-color: var(--ht-colors-white);
  --ht-checkbox-indeterminate-focus-border-color: var(--ht-background-color);
  --ht-checkbox-indeterminate-focus-background-color: var(--ht-accent-color);
  --ht-checkbox-indeterminate-focus-icon-color: var(--ht-colors-white);
  --ht-checkbox-indeterminate-disabled-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-600));
  --ht-checkbox-indeterminate-disabled-background-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-checkbox-indeterminate-disabled-icon-color: var(--ht-disabled-color);
  --ht-radio-size: var(--ht-icon-size);
  --ht-radio-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-radio-background-color: var(--ht-background-color);
  --ht-radio-icon-color: var(--ht-colors-transparent);
  --ht-radio-focus-border-color: var(--ht-border-color);
  --ht-radio-focus-background-color: var(--ht-background-color);
  --ht-radio-focus-icon-color: var(--ht-colors-transparent);
  --ht-radio-focus-ring-color: var(--ht-accent-color);
  --ht-radio-disabled-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-radio-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-radio-disabled-icon-color: var(--ht-colors-transparent);
  --ht-radio-checked-border-color: var(--ht-accent-color);
  --ht-radio-checked-background-color: var(--ht-background-color);
  --ht-radio-checked-icon-color: var(--ht-accent-color);
  --ht-radio-checked-focus-border-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-radio-checked-focus-background-color: var(--ht-background-color);
  --ht-radio-checked-focus-icon-color: light-dark(var(--ht-colors-primary-400), var(--ht-colors-primary-200));
  --ht-radio-checked-disabled-border-color: light-dark(var(--ht-colors-palette-200), var(--ht-colors-palette-500));
  --ht-radio-checked-disabled-background-color: light-dark(var(--ht-colors-palette-100), var(--ht-colors-palette-700));
  --ht-radio-checked-disabled-icon-color: var(--ht-disabled-color);
  --ht-move-backlight-color: light-dark(var(--ht-colors-palette-800), var(--ht-colors-palette-200));
  --ht-move-backlight-opacity: 8%;
  --ht-move-indicator-color: var(--ht-accent-color);
  --ht-resize-indicator-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-hidden-indicator-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
  --ht-menu-border-width: 1px;
  --ht-menu-border-radius: var(--ht-sizing-size-1);
  --ht-menu-horizontal-padding: var(--ht-density-menu-horizontal);
  --ht-menu-vertical-padding: var(--ht-density-menu-vertical);
  --ht-menu-item-horizontal-padding: var(--ht-density-menu-item-horizontal);
  --ht-menu-item-vertical-padding: var(--ht-density-menu-item-vertical);
  --ht-menu-border-color: var(--ht-border-color);
  --ht-menu-shadow-x: var(--ht-shadow-x);
  --ht-menu-shadow-y: var(--ht-shadow-y);
  --ht-menu-shadow-blur: var(--ht-shadow-blur);
  --ht-menu-shadow-color: light-dark(var(--ht-colors-palette-950), var(--ht-colors-white));
  --ht-menu-shadow-opacity: 8%;
  --ht-menu-item-hover-color: light-dark(var(--ht-colors-palette-800), var(--ht-colors-palette-200));
  --ht-menu-item-hover-color-opacity: 4%;
  --ht-menu-item-active-color: var(--ht-accent-color);
  --ht-menu-item-active-color-opacity: 8%;
  --ht-comments-textarea-horizontal-padding: var(--ht-density-cell-horizontal);
  --ht-comments-textarea-vertical-padding: var(--ht-density-cell-vertical);
  --ht-comments-textarea-border-width: 1px;
  --ht-comments-textarea-border-color: var(--ht-colors-transparent);
  --ht-comments-textarea-foreground-color: var(--ht-foreground-color);
  --ht-comments-textarea-background-color: var(--ht-background-secondary-color);
  --ht-comments-textarea-focus-border-width: 1px;
  --ht-comments-textarea-focus-border-color: var(--ht-accent-color);
  --ht-comments-textarea-focus-foreground-color: var(--ht-foreground-color);
  --ht-comments-textarea-focus-background-color: var(--ht-background-color);
  --ht-comments-indicator-size: var(--ht-sizing-size-1-5);
  --ht-comments-indicator-color: var(--ht-accent-color);
  --ht-license-horizontal-padding: var(--ht-bar-horizontal-padding);
  --ht-license-vertical-padding: var(--ht-bar-vertical-padding);
  --ht-license-foreground-color: var(--ht-bar-foreground-color);
  --ht-license-background-color: var(--ht-bar-background-color);
  --ht-pagination-bar-foreground-color: var(--ht-bar-foreground-color);
  --ht-pagination-bar-background-color: var(--ht-bar-background-color);
  --ht-pagination-bar-horizontal-padding: var(--ht-bar-horizontal-padding);
  --ht-pagination-bar-vertical-padding: var(--ht-bar-vertical-padding);
  --ht-dialog-semi-transparent-background-color: light-dark(var(--ht-colors-white), var(--ht-colors-palette-950));
  --ht-dialog-semi-transparent-background-opacity: 80%;
  --ht-dialog-solid-background-color: light-dark(var(--ht-colors-white), var(--ht-colors-palette-950));
  --ht-dialog-content-padding-horizontal: var(--ht-density-dialog-horizontal);
  --ht-dialog-content-padding-vertical: var(--ht-density-dialog-vertical);
  --ht-dialog-content-border-radius: var(--ht-sizing-size-2);
  --ht-dialog-content-background-color: var(--ht-background-secondary-color);
  --ht-chip-background: var(--ht-background-secondary-color);
  --ht-chip-border-radius: var(--ht-sizing-size-0-5);
  --ht-chip-vertical-padding: var(--ht-sizing-size-0);
  --ht-chip-horizontal-padding: var(--ht-sizing-size-0-5);
  --ht-chip-gap: var(--ht-sizing-size-1);
  --ht-scrollbar-border-radius: var(--ht-sizing-size-2);
  --ht-scrollbar-track-color: var(--ht-background-secondary-color);
  --ht-scrollbar-thumb-color: light-dark(var(--ht-colors-palette-300), var(--ht-colors-palette-400));
}

.ht-theme-main {
  color-scheme: light;
}

.ht-theme-main-dark {
  color-scheme: dark;
}

.ht-theme-main-dark-auto {
  color-scheme: light dark;
}

[class*=ht-theme-main] .htDropdownMenu table tbody tr td.htSubmenu .htItemWrapper::after,
[class*=ht-theme-main] .htContextMenu table tbody tr td.htSubmenu .htItemWrapper::after,
[class*=ht-theme-main] .htFiltersConditionsMenu table tbody tr td.htSubmenu .htItemWrapper::after,
[class*=ht-theme-main] .pika-single .pika-next {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64648 10.9393L9.93938 7.64644L6.64648 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .pika-single .pika-prev {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.93933 10.9393L6.64644 7.64644L9.93933 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-page-size-section__select-wrapper::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.6'%3E%3Cpath d='M11.5859 6L8.29304 9.29289L5.00015 6' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] .changeType::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0002 6.66663C11.4262 6.66663 11.6487 7.15963 11.3917 7.47813L11.3537 7.52013L8.35372 10.5201C8.26762 10.6062 8.15307 10.6579 8.03156 10.6656C7.91005 10.6732 7.78992 10.6363 7.69372 10.5616L7.64672 10.5201L4.64672 7.52013L4.60522 7.47313L4.57822 7.43463L4.55122 7.38663L4.54272 7.36863L4.52922 7.33513L4.51322 7.28113L4.50822 7.25463L4.50322 7.22463L4.50122 7.19613V7.13713L4.50372 7.10813L4.50822 7.07813L4.51322 7.05213L4.52922 6.99813L4.54272 6.96463L4.57772 6.89863L4.61022 6.85363L4.64672 6.81313L4.69372 6.77163L4.73222 6.74463L4.78022 6.71763L4.79822 6.70913L4.83172 6.69563L4.88572 6.67963L4.91222 6.67463L4.94222 6.66963L4.97072 6.66763L11.0002 6.66663Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .htUISelectCaption::after,
.htAutocompleteArrow::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0002 6.66663C11.4262 6.66663 11.6487 7.15963 11.3917 7.47813L11.3537 7.52013L8.35372 10.5201C8.26762 10.6062 8.15307 10.6579 8.03156 10.6656C7.91005 10.6732 7.78992 10.6363 7.69372 10.5616L7.64672 10.5201L4.64672 7.52013L4.60522 7.47313L4.57822 7.43463L4.55122 7.38663L4.54272 7.36863L4.52922 7.33513L4.51322 7.28113L4.50822 7.25463L4.50322 7.22463L4.50122 7.19613V7.13713L4.50372 7.10813L4.50822 7.07813L4.51322 7.05213L4.52922 6.99813L4.54272 6.96463L4.57772 6.89863L4.61022 6.85363L4.64672 6.81313L4.69372 6.77163L4.73222 6.74463L4.78022 6.71763L4.79822 6.70913L4.83172 6.69563L4.88572 6.67963L4.91222 6.67463L4.94222 6.66963L4.97072 6.66763L11.0002 6.66663Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .columnSorting.sortAction.ascending::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.00008 12.6667L8.00008 3.33335M8.00008 3.33335L5.33342 6.00002M8.00008 3.33335L10.6667 6.00002' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .columnSorting.sortAction.descending::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.00004 3.33331V12.6666M8.00004 12.6666L10.6667 9.99998M8.00004 12.6666L5.33337 9.99998' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-page-navigation-section .ht-page-first::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0713 4.64188L7.72115 7.99203L11.0713 11.3422M4.92936 4.08353L4.92936 11.3422' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] [dir="rtl"] .ht-page-navigation-section .ht-page-first::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.9292 4.64188L8.27934 7.99203L4.9292 11.3422M11.0711 4.08353V11.3422' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-page-navigation-section .ht-page-prev::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.93933 10.9393L6.64644 7.64644L9.93933 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] [dir="rtl"] .ht-page-navigation-section .ht-page-prev::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64648 10.9393L9.93938 7.64644L6.64648 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-page-navigation-section .ht-page-next::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.64648 10.9393L9.93938 7.64644L6.64648 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] [dir="rtl"] .ht-page-navigation-section .ht-page-next::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.93933 10.9393L6.64644 7.64644L9.93933 4.35354' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-page-navigation-section .ht-page-last::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.9292 4.64188L8.27934 7.99203L4.9292 11.3422M11.0711 4.08353V11.3422' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] [dir="rtl"] .ht-page-navigation-section .ht-page-last::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0713 4.64188L7.72115 7.99203L11.0713 11.3422M4.92936 4.08353L4.92936 11.3422' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] .htDropdownMenu table tbody tr td .htItemWrapper span.selected::after,
[class*=ht-theme-main] .htContextMenu table tbody tr td .htItemWrapper span.selected::after,
[class*=ht-theme-main] .htFiltersConditionsMenu table tbody tr td .htItemWrapper span.selected::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.33337 8.00002L6.66671 11.3334L13.3334 4.66669' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .htCheckboxRendererInput {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

[class*=ht-theme-main] .htCheckboxRendererInput::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8L7 10L11 6' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] th.beforeHiddenColumn::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.08482 1.35771L6.11503 1.3551H6.17649L6.2067 1.35771L6.23795 1.36239L6.26503 1.3676L6.32128 1.38427L6.35618 1.39833L6.42493 1.43479L6.4718 1.46864L6.51399 1.50667L6.55722 1.55562L6.58534 1.59573L6.61347 1.64573L6.62232 1.66448L6.63639 1.69937L6.65305 1.75562L6.65826 1.78323L6.66347 1.81448L6.66555 1.84417L6.66659 1.87489V8.12489C6.66659 8.56864 6.15305 8.80042 5.82128 8.53271L5.77753 8.49312L2.65253 5.36812C2.56286 5.27844 2.50899 5.15912 2.50103 5.03254C2.49307 4.90596 2.53157 4.78083 2.6093 4.68062L2.65253 4.63167L5.77753 1.50667L5.82649 1.46344L5.86659 1.43531L5.91659 1.40719L5.93534 1.39833L5.97024 1.38427L6.02649 1.3676L6.05409 1.36239L6.08482 1.35771Z' fill='currentColor'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] th.afterHiddenColumn::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.33337 1.87499C3.33337 1.43124 3.84692 1.19947 4.17869 1.46718L4.22244 1.50676L7.34744 4.63176C7.43711 4.72145 7.49098 4.84077 7.49894 4.96735C7.5069 5.09392 7.4684 5.21905 7.39067 5.31926L7.34744 5.36822L4.22244 8.49322L4.17348 8.53645L4.13337 8.56457L4.08337 8.5927L4.06462 8.60155L4.02973 8.61562L3.97348 8.63228L3.94587 8.63749L3.91462 8.6427L3.88494 8.64478L3.85421 8.64582L3.82348 8.64478L3.79327 8.64218L3.76202 8.63749L3.73494 8.63228L3.67869 8.61562L3.64379 8.60155L3.57504 8.5651L3.52817 8.53124L3.48598 8.49322L3.44275 8.44426L3.41462 8.40416L3.3865 8.35416L3.37764 8.33541L3.36358 8.30051L3.34692 8.24426L3.34171 8.21666L3.3365 8.18541L3.33442 8.15572L3.33337 1.87499Z' fill='currentColor'/%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] th.beforeHiddenRow::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.76425 2.43099C3.82165 2.3736 3.89801 2.33913 3.97902 2.33403C4.06003 2.32894 4.14012 2.35358 4.20425 2.40333L4.23558 2.43099L6.23558 4.43099L6.26325 4.46233L6.28125 4.48799L6.29925 4.51999L6.30492 4.53199L6.31392 4.55433L6.32458 4.59033L6.32792 4.60799L6.33125 4.62799L6.33258 4.64699L6.33325 4.66666L6.33258 4.68633L6.33092 4.70566L6.32792 4.72566L6.32458 4.74299L6.31392 4.77899L6.30492 4.80133L6.28158 4.84533L6.25992 4.87533L6.23558 4.90233L6.20425 4.92999L6.17858 4.94799L6.14658 4.96599L6.13458 4.97166L6.11225 4.98066L6.07625 4.99133L6.05858 4.99466L6.03858 4.99799L6.01958 4.99933L5.99992 4.99999H1.99992C1.71592 4.99999 1.56758 4.67133 1.73892 4.45899L1.76425 4.43099L3.76425 2.43099Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] th.afterHiddenRow::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.9999 3C6.2839 3 6.43224 3.32867 6.2609 3.541L6.23557 3.569L4.23557 5.569C4.17817 5.62639 4.10181 5.66087 4.0208 5.66596C3.93979 5.67106 3.8597 5.64642 3.79557 5.59667L3.76424 5.569L1.76424 3.569L1.73657 3.53767L1.71857 3.512L1.70057 3.48L1.6949 3.468L1.6859 3.44567L1.67524 3.40967L1.6719 3.392L1.66857 3.372L1.66724 3.353V3.31367L1.6689 3.29433L1.6719 3.27433L1.67524 3.257L1.6859 3.221L1.6949 3.19867L1.71824 3.15467L1.7399 3.12467L1.76424 3.09767L1.79557 3.07L1.82124 3.052L1.85324 3.034L1.86524 3.02833L1.88757 3.01933L1.92357 3.00867L1.94124 3.00533L1.96124 3.002L1.98024 3.00067L5.9999 3Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .collapsibleIndicator::before,
[class*=ht-theme-main] .ht_nestingButton::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.33325 8H11.6666' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .collapsibleIndicator.collapsed::before,
[class*=ht-theme-main] .ht_nestingButton.ht_nestingExpand::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.49988 11.6667C7.49988 11.9428 7.72374 12.1667 7.99988 12.1667C8.27602 12.1667 8.49988 11.9428 8.49988 11.6667V8.50002H11.6666C11.9427 8.50002 12.1666 8.27616 12.1666 8.00002C12.1666 7.72388 11.9427 7.50002 11.6666 7.50002H8.49988V4.33337C8.49988 4.05723 8.27602 3.83337 7.99988 3.83337C7.72374 3.83337 7.49988 4.05723 7.49988 4.33337V7.50002H4.33325C4.05711 7.50002 3.83325 7.72388 3.83325 8.00002C3.83325 8.27616 4.05711 8.50002 4.33325 8.50002H7.49988V11.6667Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .htUIRadio > input[type="radio"]::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-multi-select-chip-remove::before {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 4L4 12M4 4L12 12' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-multi-select-editor-search-icon {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'%3E%3Cg opacity='0.5'%3E%3Cpath d='M28 28L20 20M4 13.3333C4 14.559 4.24141 15.7727 4.71046 16.905C5.1795 18.0374 5.86699 19.0663 6.73367 19.933C7.60035 20.7997 8.62925 21.4872 9.76162 21.9562C10.894 22.4253 12.1077 22.6667 13.3333 22.6667C14.559 22.6667 15.7727 22.4253 16.905 21.9562C18.0374 21.4872 19.0663 20.7997 19.933 19.933C20.7997 19.0663 21.4872 18.0374 21.9562 16.905C22.4253 15.7727 22.6667 14.559 22.6667 13.3333C22.6667 12.1077 22.4253 10.894 21.9562 9.76162C21.4872 8.62925 20.7997 7.60035 19.933 6.73367C19.0663 5.86699 18.0374 5.1795 16.905 4.71046C15.7727 4.24141 14.559 4 13.3333 4C12.1077 4 10.894 4.24141 9.76162 4.71046C8.62925 5.1795 7.60035 5.86699 6.73367 6.73367C5.86699 7.60035 5.1795 8.62925 4.71046 9.76162C4.24141 10.894 4 12.1077 4 13.3333Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/svg%3E");
  background-color: currentColor;
}

[class*=ht-theme-main] .ht-multi-select-editor-item-selected input::after {
  width: var(--ht-icon-size);
  height: var(--ht-icon-size);
  -webkit-mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 8L7 10L11 6' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-color: currentColor;
}

/* ── Contenedor (estilo tabla OfertasView) ── */
.hot-pretty {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: visible;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
  background: #fff;
}
.hot-pretty .handsontable .wtHolder {
  border-radius: 0 0 12px 12px;
}

/* ── Tipografía general ───────────────── */
.hot-pretty .handsontable {
  font-family: inherit;
  color: #334155;
  font-size: 13px;
}

/* ── Contenedores thead (evita huecos junto al scroll) ─ */
.hot-pretty .handsontable .ht_clone_top,
.hot-pretty .handsontable .ht_clone_top_inline_start_corner,
.hot-pretty .handsontable .ht_clone_top_left_corner,
.hot-pretty .handsontable thead {
  background: #f8fafc !important;
}

/* ── Cabeceras de columna (thead) ─────── */
.hot-pretty .handsontable thead th,
.hot-pretty .handsontable .ht_clone_top thead th,
.hot-pretty .handsontable .ht_clone_top_inline_start_corner thead th,
.hot-pretty .handsontable .ht_clone_top_left_corner thead th {
  background: #f8fafc !important;
  color: #64748b !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-bottom: 1px solid #f1f5f9 !important;
  border-right-color: #f1f5f9 !important;
  height: 48px !important;
  vertical-align: middle !important;
  padding: 0 !important;
}
.hot-pretty .handsontable thead th .colHeader {
  color: #64748b !important;
  font-size: 13px !important;
  cursor: pointer;
  /* Hueco a la izquierda para la chincheta de fijar columnas (alinea además
     mejor el texto de cabecera con el de las celdas, que llevan 16px) y a la
     derecha para la flecha de ordenación. */
  padding-left: 18px;
  padding-right: 16px;
}

/* ── Chincheta 📌 para fijar columnas (aparece al hover de la cabecera) ── */
.hot-pretty .handsontable thead th .hot-col-pin {
  position: absolute;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  filter: grayscale(.5);
  transition: opacity .12s, transform .12s, filter .12s;
  z-index: 3;
}
.hot-pretty .handsontable thead th:hover .hot-col-pin {
  opacity: .75;
}
.hot-pretty .handsontable thead th .hot-col-pin:hover {
  opacity: 1 !important;
  filter: none;
  transform: translateY(-50%) scale(1.18);
}
/* Columna que marca el límite de lo fijado: chincheta siempre visible. */
.hot-pretty .handsontable thead th .hot-col-pin.is-frozen {
  opacity: 1;
  filter: none;
}

/* ── Flecha de ordenación (control real, siempre visible para que se descubra).
   ↕ sin orden (tenue) · ↑/↓ cuando está ordenada (.is-active, en primary).
   Clic → cicla el orden (montarHintOrden). ── */
.hot-pretty .handsontable thead th .hot-col-sort {
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  line-height: 1;
  color: #94a3b8;
  cursor: pointer;
  opacity: .6;
  transition: opacity .12s, color .12s, transform .12s;
  z-index: 3;
}
.hot-pretty .handsontable thead th:hover .hot-col-sort {
  opacity: .95;
}
.hot-pretty .handsontable thead th .hot-col-sort:hover {
  opacity: 1 !important;
  color: #004379;
  transform: translateY(-50%) scale(1.2);
}
/* Columna ordenada: flecha siempre destacada en primary. */
.hot-pretty .handsontable thead th .hot-col-sort.is-active {
  opacity: 1;
  color: #004379;
  font-weight: 700;
}
/* Colores del botón dropdown (conserva posición nativa de HT) */
.hot-pretty .handsontable thead th .changeType {
  color: #64748b !important;
}
.hot-pretty .handsontable thead th .changeType::before,
.hot-pretty .handsontable thead th .changeType::after {
  border-top-color: #64748b !important;
  color: #64748b !important;
}
.hot-pretty .handsontable thead th.ht__highlight .changeType::before,
.hot-pretty .handsontable thead th.ht__highlight .changeType::after {
  border-top-color: #004379 !important;
  color: #004379 !important;
}

/* ── Columna de números de fila (rowHeader) ── */
.hot-pretty .handsontable tbody th,
.hot-pretty .handsontable .ht_clone_left tbody th,
.hot-pretty .handsontable .ht_clone_inline_start tbody th {
  background: #fff !important;
  color: #cbd5e1 !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  border-right: 1px solid #f1f5f9 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

/* Uniformidad de th */
.hot-pretty .handsontable th {
  border-color: #f1f5f9 !important;
}

/* ── Celdas ───────────────────────────── */
/* Cebra estable: HT 17 añade .ht__row_even/.ht__row_odd a los <tr> por índice
   lógico (sobrevive al scroll virtual). El background va con !important
   porque arriba del árbol el theme HT lo intenta pisar por variable CSS. */
.hot-pretty .handsontable tbody tr > td {
  color: #334155;
  font-size: 13px;
  border-color: #f1f5f9 !important;
  padding: 0 16px !important;
  vertical-align: middle;
}
.hot-pretty .handsontable tbody tr.ht__row_odd > td {
  background-color: #ffffff !important;
}
.hot-pretty .handsontable tbody tr.ht__row_even > td {
  background-color: #f5f7fa !important;
}

/* ── Hover de fila (mismo azul que el listado de rotatorios) ── */
.hot-pretty .handsontable tbody tr:hover > td {
  background-color: #e0eaff !important;
}
.hot-pretty .handsontable tbody tr:hover > th {
  background: #e0eaff !important;
  color: #475569 !important;
}

/* ── Primera columna con tono primary (tipo "código") ── */
.hot-pretty .handsontable tbody tr > td:first-of-type {
  color: #004379;
  font-weight: 600;
}

/* ── Celda seleccionada ───────────────── */
.hot-pretty .handsontable td.current {
  background-color: #eff6ff !important;
  border: 1px solid #004379 !important;
}
.hot-pretty .handsontable td.area {
  background-color: #eff6ff !important;
}

/* ── Scrollbars finos (coherente con resto) ─ */
/* ── Celdas de URL clicable (columna URL de Centros) ── */
.hot-pretty .handsontable td.ht-url-cell a.ht-url-link {
  color: #004379;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.hot-pretty .handsontable td.ht-url-cell a.ht-url-link:hover {
  color: #0c2340;
}

/* ── Celda de la columna ACCIONES (botón eliminar por fila) ── */
.hot-pretty .handsontable td.ht-action-cell { text-align: center;
}
.hot-pretty .handsontable td.ht-action-cell .ht-row-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
}
.hot-pretty .handsontable td.ht-action-cell .ht-row-action-btn:hover { background: #fee2e2; color: #dc2626;
}
.hot-pretty .handsontable .wtHolder::-webkit-scrollbar { width: 10px; height: 10px;
}
.hot-pretty .handsontable .wtHolder::-webkit-scrollbar-track { background: transparent;
}
.hot-pretty .handsontable .wtHolder::-webkit-scrollbar-thumb {
  background: #e2e8f0; border-radius: 999px;
  border: 2px solid #fff;
}
.hot-pretty .handsontable .wtHolder::-webkit-scrollbar-thumb:hover { background: #cbd5e1;
}

/* Destello en las filas afectadas tras insertar/duplicar/eliminar. No
   animamos el background directamente (los fondos están marcados
   !important); pintamos un pseudo-elemento ::after que se solapa a la celda
   y se desvanece. pointer-events:none deja pasar los clicks normalmente. */
.hot-pretty .handsontable td.row-moved-highlight {
  position: relative;
}
.hot-pretty .handsontable td.row-moved-highlight::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #004379;
  opacity: .22;
  pointer-events: none;
  animation: rowMovedFlashFade .85s ease-out forwards;
  z-index: 2;
}
@keyframes rowMovedFlashFade {
0%   { opacity: .22;
}
100% { opacity: 0;
}
}

/* ── Celdas de columnas solo lectura (atenuadas) ──
   El color/cursor son comunes; el background lo desdobla en par/impar
   para que la cebra siga notándose en columnas readonly (importante en
   Alumnos, donde 6 de las columnas son readonly y antes se veían todas
   con el mismo gris plano). Las readonly viven un escalón más oscuras que
   las editables para mantener la diferenciación visual. */
.hot-pretty .handsontable tbody tr > td.cell-readonly {
  color: #64748b !important;
  cursor: not-allowed;
}
.hot-pretty .handsontable tbody tr.ht__row_odd > td.cell-readonly {
  background-color: #eef2f7 !important;
}
.hot-pretty .handsontable tbody tr.ht__row_even > td.cell-readonly {
  background-color: #e5eaf1 !important;
}
.hot-pretty .handsontable tbody tr:hover > td.cell-readonly {
  background-color: #d8e3f3 !important;
}
.hot-pretty .handsontable tbody tr > td.cell-readonly.current {
  background-color: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
}

/* ── Menú contextual propio (click derecho sobre fila) ── */
.row-ctx-menu {
  position: fixed;
  min-width: 220px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .12), 0 2px 4px rgba(15, 23, 42, .04);
  padding: 4px;
  /* Por encima de los clones sticky de Handsontable (~100-103) y de cualquier
     dropdown propio de la app (1000). */
  z-index: 2000;
  font-family: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.row-ctx-header {
  padding: 8px 12px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 4px;
}
.row-ctx-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
  transition: background-color .12s, color .12s;
}
.row-ctx-item svg {
  flex-shrink: 0;
  color: #64748b;
  transition: color .12s;
}
.row-ctx-item:hover {
  background: #eff6ff;
  color: #004379;
}
.row-ctx-item:hover svg {
  color: #004379;
}
.row-ctx-item.danger {
  color: #b91c1c;
}
.row-ctx-item.danger svg {
  color: #b91c1c;
}
.row-ctx-item.danger:hover {
  background: #fef2f2;
  color: #991b1b;
}
.row-ctx-item.danger:hover svg {
  color: #991b1b;
}
.row-ctx-separator {
  height: 1px;
  background: #f1f5f9;
  margin: 4px 6px;
}
.rowctx-fade-enter-active,
.rowctx-fade-leave-active {
  transition: opacity .12s ease, transform .12s ease;
  transform-origin: top left;
}
.rowctx-fade-enter-from,
.rowctx-fade-leave-to {
  opacity: 0;
  transform: scale(.96);
}

/* ── Panel multi-selección (SEDE / PRACTICUM) ── */
.ht-multiselect-panel {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .12), 0 2px 4px rgba(15, 23, 42, .04);
  padding: 4px;
  max-height: 280px;
  overflow-y: auto;
  font-family: inherit;
  display: none;
}
.ht-multiselect-panel::-webkit-scrollbar { width: 6px;
}
.ht-multiselect-panel::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 999px;
}
.ht-multiselect-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color .1s;
}
.ht-multiselect-item:hover,
.ht-multiselect-item.is-highlight {
  background: #eff6ff;
  color: #004379;
}
.ht-multiselect-item input[type="checkbox"] {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  accent-color: #004379;
  cursor: pointer;
}
.ht-multiselect-item.is-selected {
  background: #eff6ff;
  color: #004379;
  font-weight: 600;
}
.ht-multiselect-empty-opt {
  color: #94a3b8;
  font-style: italic;
  font-weight: 400 !important;
}
/* Acción "Quitar alias/selección": destacada en rojo, con su icono. Mantiene
   el rojo también en hover/resaltado (por eso pisa la regla azul de arriba). */
.ht-multiselect-item.ht-multiselect-quitar {
  gap: 8px;
  color: #dc2626;
  font-weight: 600;
  border-bottom: 1px solid #f1f5f9;
}
.ht-multiselect-item.ht-multiselect-quitar svg { flex-shrink: 0;
}
.ht-multiselect-item.ht-multiselect-quitar:hover,
.ht-multiselect-item.ht-multiselect-quitar.is-highlight {
  background: #fef2f2;
  color: #dc2626;
}

/* Barra de búsqueda del modo single-select */
.ht-multiselect-search-wrap {
  padding: 6px 8px;
  border-bottom: 1px solid #f1f5f9;
}
.ht-multiselect-search {
  width: 100%;
  height: 32px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  color: #334155;
  outline: none;
  box-sizing: border-box;
  background: #fff;
}
.ht-multiselect-search:focus { border-color: #004379;
}
.ht-multiselect-search::-moz-placeholder { color: #94a3b8;
}
.ht-multiselect-search::placeholder { color: #94a3b8;
}
.ht-multiselect-list {
  max-height: 220px;
  overflow-y: auto;
}
.ht-multiselect-list::-webkit-scrollbar { width: 6px;
}
.ht-multiselect-list::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 999px;
}
.ht-multiselect-empty {
  padding: 10px 14px;
  font-size: 13px;
  color: #94a3b8;
  font-family: inherit;
}

.orden-wrap[data-v-a048f2a4] {
  position: relative;
  display: inline-flex;
}
.orden-btn[data-v-a048f2a4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
}
.orden-btn[data-v-a048f2a4]:hover:not(:disabled) { border-color: #94a3b8;
}
.orden-btn[data-v-a048f2a4]:disabled { opacity: .5; cursor: not-allowed;
}
.orden-btn.is-active[data-v-a048f2a4] { border-color: #004379; color: #004379;
}
.orden-caret[data-v-a048f2a4] { opacity: .6; transition: transform .15s;
}
.orden-badge[data-v-a048f2a4] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #004379;
  border-radius: 9px;
}
.orden-panel[data-v-a048f2a4] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1200;
  width: 300px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .18);
  padding: 12px;
}
.orden-panel-title[data-v-a048f2a4] {
  font-size: 12px;
  font-weight: 700;
  color: #1e293b;
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-bottom: 8px;
}
.orden-vacio[data-v-a048f2a4] {
  font-size: 13px;
  color: #94a3b8;
  padding: 6px 2px 10px;
}
.orden-lista[data-v-a048f2a4] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}
.orden-fila[data-v-a048f2a4] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
}
.orden-handle[data-v-a048f2a4] {
  cursor: grab;
  color: #94a3b8;
  font-size: 14px;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.orden-num[data-v-a048f2a4] {
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
}
.orden-nombre[data-v-a048f2a4] {
  flex: 1;
  font-size: 13px;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.orden-dir[data-v-a048f2a4] {
  display: inline-flex;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  overflow: hidden;
}
.orden-dir-btn[data-v-a048f2a4] {
  width: 24px;
  height: 24px;
  font-size: 13px;
  color: #64748b;
  background: #fff;
  border: none;
  cursor: pointer;
}
.orden-dir-btn + .orden-dir-btn[data-v-a048f2a4] { border-left: 1px solid #cbd5e1;
}
.orden-dir-btn.is-on[data-v-a048f2a4] { background: #004379; color: #fff;
}
.orden-quitar[data-v-a048f2a4] {
  width: 22px;
  height: 22px;
  font-size: 16px;
  line-height: 1;
  color: #94a3b8;
  background: transparent;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.orden-quitar[data-v-a048f2a4]:hover { color: #ef4444; background: #fef2f2;
}
.orden-add[data-v-a048f2a4] { margin-bottom: 10px;
}
.orden-add-select[data-v-a048f2a4] {
  width: 100%;
  height: 32px;
  padding: 0 8px;
  font-size: 13px;
  color: #334155;
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.orden-acciones[data-v-a048f2a4] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid #f1f5f9;
  padding-top: 10px;
}
.orden-limpiar[data-v-a048f2a4] {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  cursor: pointer;
}
.orden-limpiar[data-v-a048f2a4]:disabled { opacity: .5; cursor: not-allowed;
}
.orden-aplicar[data-v-a048f2a4] {
  height: 32px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: #004379;
  border: 1px solid #004379;
  border-radius: 6px;
  cursor: pointer;
}
.orden-aplicar[data-v-a048f2a4]:hover { background: #003057;
}

.mt-wrap[data-v-3700dcc9] { position: relative; display: inline-flex;
}

/* Botón del marco temporal: es el contexto de trabajo (la fase activa) y debe
   verse siempre, por eso es el único control relleno de color de la barra. Rojo
   ladrillo apagado (no chillón) + sombra neutra, para que destaque sin cansar. */
.mt-btn[data-v-3700dcc9] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 42px;
  padding: 0 12px 0 10px;
  color: #fff;
  background: linear-gradient(135deg, #b93f3f 0%, #9a2e2e 100%);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(30, 20, 20, .18), 0 4px 10px rgba(90, 40, 40, .14);
  transition: filter .15s, box-shadow .15s, transform .05s;
}
.mt-btn[data-v-3700dcc9]:hover:not(:disabled) {
  filter: brightness(1.05);
  box-shadow: 0 2px 4px rgba(30, 20, 20, .2), 0 6px 16px rgba(90, 40, 40, .18);
}
.mt-btn[data-v-3700dcc9]:active:not(:disabled) { transform: translateY(1px);
}
.mt-btn[data-v-3700dcc9]:focus-visible { outline: 2px solid #e7a3a3; outline-offset: 2px;
}
.mt-btn[data-v-3700dcc9]:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; filter: grayscale(.3);
}
/* Solo lectura (marco anterior): burdeos apagado y sin brillo — contexto congelado. */
.mt-btn--readonly[data-v-3700dcc9] {
  background: linear-gradient(135deg, #7c3030 0%, #5e2020 100%);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}

/* Icono de calendario en una pastilla translúcida, para un acabado más cuidado. */
.mt-ico[data-v-3700dcc9] {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .16);
  flex-shrink: 0;
}
.mt-btn-label[data-v-3700dcc9] { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; min-width: 0;
}
.mt-btn-tag[data-v-3700dcc9] {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .9px;
  opacity: .8;
}
.mt-btn-nombre[data-v-3700dcc9] {
  font-size: 13px;
  font-weight: 600;
  max-width: 190px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Punto de estado: aporta el color informativo (y un respiro cromático sobre el rojo). */
.mt-dot[data-v-3700dcc9] {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .16);
}
.mt-dot--activo[data-v-3700dcc9] { background: #4ade80; animation: mt-pulse-3700dcc9 2s ease-in-out infinite;
}
.mt-dot--pendiente[data-v-3700dcc9] { background: #fbbf24;
}
.mt-dot--finalizado[data-v-3700dcc9] { background: #d1d5db;
}
@keyframes mt-pulse-3700dcc9 {
0%, 100% { box-shadow: 0 0 0 3px rgba(255, 255, 255, .16);
}
50% { box-shadow: 0 0 0 5px rgba(255, 255, 255, .05);
}
}
@media (prefers-reduced-motion: reduce) {
.mt-dot--activo[data-v-3700dcc9] { animation: none;
}
}
.mt-lock[data-v-3700dcc9] { opacity: .95; flex-shrink: 0;
}
.mt-sep[data-v-3700dcc9] { width: 1px; height: 20px; background: rgba(255, 255, 255, .22); flex-shrink: 0;
}
.mt-caret[data-v-3700dcc9] { opacity: .9; transition: transform .18s; flex-shrink: 0;
}
.mt-panel[data-v-3700dcc9] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1200;
  width: 340px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .18);
  padding: 10px;
}
.mt-panel-title[data-v-3700dcc9] {
  font-size: 12px;
  font-weight: 700;
  color: #1e293b;
  text-transform: uppercase;
  letter-spacing: .3px;
  margin: 2px 4px 8px;
}
.mt-list[data-v-3700dcc9] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px;
}
.mt-item[data-v-3700dcc9] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.mt-item[data-v-3700dcc9]:hover { background: #f8fafc; border-color: #cbd5e1;
}
.mt-item--sel[data-v-3700dcc9] { border-color: #dc2626; background: #fef2f2;
}
.mt-item-main[data-v-3700dcc9] { display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.mt-item-nombre[data-v-3700dcc9] {
  font-size: 13px; font-weight: 600; color: #0f172a;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mt-item-rango[data-v-3700dcc9] { font-size: 11.5px; color: #64748b; font-variant-numeric: tabular-nums;
}
.mt-item-right[data-v-3700dcc9] { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
}
.mt-editable[data-v-3700dcc9] { color: #16a34a; font-size: 13px;
}
.mt-estado[data-v-3700dcc9] {
  display: inline-flex; align-items: center;
  padding: 2px 9px; border-radius: 9999px;
  font-size: 10.5px; font-weight: 600;
}
.mt-estado--activo[data-v-3700dcc9]      { background: #dcfce7; color: #16a34a;
}
.mt-estado--pendiente[data-v-3700dcc9]   { background: #fef9c3; color: #ca8a04;
}
.mt-estado--finalizado[data-v-3700dcc9]  { background: #f1f5f9; color: #64748b;
}
.mt-panel-hint[data-v-3700dcc9] {
  margin: 8px 4px 2px;
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.45;
}

.fp-wrap[data-v-547d5d3d] { position: relative; display: inline-flex;
}
.fp-btn[data-v-547d5d3d] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
}
.fp-btn[data-v-547d5d3d]:hover { border-color: #94a3b8;
}
.fp-btn.is-active[data-v-547d5d3d] { border-color: #004379; color: #004379;
}
.fp-label[data-v-547d5d3d] { font-variant-numeric: tabular-nums;
}
.fp-dot[data-v-547d5d3d] { width: 7px; height: 7px; border-radius: 50%; background: #004379;
}
.fp-caret[data-v-547d5d3d] { opacity: .6; transition: transform .15s;
}
.fp-panel[data-v-547d5d3d] {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1200;
  width: 240px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .18);
  padding: 12px;
}
.fp-panel-title[data-v-547d5d3d] {
  font-size: 12px;
  font-weight: 700;
  color: #1e293b;
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-bottom: 10px;
}
.fp-field[data-v-547d5d3d] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px;
}
.fp-field-label[data-v-547d5d3d] { font-size: 12.5px; font-weight: 600; color: #475569;
}
.fp-input[data-v-547d5d3d] {
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
  color: #0f172a;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  background: #fff;
  outline: none;
  font-variant-numeric: tabular-nums;
}
.fp-input[data-v-547d5d3d]:focus { border-color: #004379; box-shadow: 0 0 0 3px rgba(0,67,121,.14);
}
.fp-acciones[data-v-547d5d3d] { display: flex; justify-content: flex-end; border-top: 1px solid #f1f5f9; padding-top: 10px; margin-top: 4px;
}
.fp-limpiar[data-v-547d5d3d] {
  height: 30px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: #64748b;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  cursor: pointer;
}
.fp-limpiar[data-v-547d5d3d]:disabled { opacity: .5; cursor: not-allowed;
}

.banner-solo-lectura[data-v-62c4f86c] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px 14px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #991b1b;
  font-size: 13px;
}
.banner-solo-lectura__icon[data-v-62c4f86c] { flex-shrink: 0;
}
.banner-solo-lectura__texto[data-v-62c4f86c] { flex: 1;
}
.banner-solo-lectura__close[data-v-62c4f86c] {
  flex-shrink: 0;
  margin-left: 4px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  color: inherit;
  background: transparent;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  opacity: .6;
}
.banner-solo-lectura__close[data-v-62c4f86c]:hover { opacity: 1; background: rgba(153, 27, 27, .1);
}

.filter-search[data-v-b4bedcba] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-b4bedcba]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-b4bedcba]:focus { border-color: #004379;
}
.filter-search[data-v-b4bedcba]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-b4bedcba]::placeholder { color: #94a3b8;
}
.filter-date[data-v-b4bedcba] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
}
.filter-date[data-v-b4bedcba]:hover { border-color: #cbd5e1;
}
.filter-date[data-v-b4bedcba]:focus { border-color: #004379;
}
.filter-date[data-v-b4bedcba]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .6;
}
.filter-date[data-v-b4bedcba]::-webkit-calendar-picker-indicator:hover { opacity: 1;
}
.acciones-derecha[data-v-b4bedcba] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.cargar-bloque[data-v-b4bedcba] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.ultima-carga[data-v-b4bedcba] {
  font-size: 11px;
  color: #94a3b8;
  white-space: nowrap;
  font-weight: 500;
}

/* ── Menú desplegable ── */
.menu-container[data-v-b4bedcba] { position: relative;
}
.menu-dropdown[data-v-b4bedcba] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 260px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  /* Handsontable usa z-index ~100-103 para sus clones sticky de cabecera y
     columna izquierda; el dropdown tiene que pasar por encima. */
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-b4bedcba] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-b4bedcba]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item[data-v-b4bedcba]:disabled { color: #cbd5e1; cursor: not-allowed;
}
.menu-item svg[data-v-b4bedcba] { flex-shrink: 0; color: #64748b;
}
.menu-item:disabled svg[data-v-b4bedcba] { color: #cbd5e1;
}
.menu-separator[data-v-b4bedcba] {
  height: 1px;
  background: #f1f5f9;
  margin: 4px 6px;
}

/* ── Banner de resumen tras borrar (solo se usa si hubo fallos; el éxito
   completo va por el toast verde de OfertasPage). ── */
.banner-eliminar[data-v-b4bedcba] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  margin-bottom: 12px;
  font-size: 13px;
  border: 1px solid;
}
.banner-eliminar.mixto[data-v-b4bedcba] {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}
.banner-eliminar ul[data-v-b4bedcba] { color: inherit;
}
.banner-eliminar strong[data-v-b4bedcba] { font-weight: 600;
}
.banner-close[data-v-b4bedcba] {
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 4px;
  flex-shrink: 0;
}
.banner-close[data-v-b4bedcba]:hover { background: rgba(0,0,0,.06);
}

/* Modal "duplicar del marco anterior". Usa .modal-overlay global como fondo. */
.dup-modal[data-v-bfae0e44] {
  background: #fff;
  border-radius: 12px;
  width: 92%;
  max-width: 500px;
  padding: 30px 32px 24px;
  box-shadow: 0 4px 24px rgba(0,0,0,.14);
  border: 1px solid #e2e8f0;
  animation: slideUp .18s ease;
}
.dup-modal-head[data-v-bfae0e44] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.dup-modal-head h3[data-v-bfae0e44] {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
}
.dup-x[data-v-bfae0e44] {
  background: none;
  border: none;
  font-size: 15px;
  color: #94a3b8;
  cursor: pointer;
  line-height: 1;
  padding: 2px 4px;
  flex-shrink: 0;
}
.dup-x[data-v-bfae0e44]:hover { color: #1e293b;
}
.dup-modal-body p[data-v-bfae0e44] {
  margin: 0 0 14px;
  font-size: 14px;
  color: #334155;
  line-height: 1.6;
}
.dup-primary[data-v-bfae0e44] {
  width: 100%;
  min-height: 46px;
  padding: 10px 18px;
  margin: 8px 0 20px;
  background: #004379;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 1px 2px rgba(0,67,121,.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  line-height: 1.3;
}
.dup-primary[data-v-bfae0e44]:hover { background: #003663; box-shadow: 0 2px 6px rgba(0,67,121,.3);
}
.dup-aviso[data-v-bfae0e44] {
  font-size: 13px;
  color: #92400e;
  line-height: 1.6;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 22px;
}
.dup-modal-actions[data-v-bfae0e44] {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid #eef2f7;
}
.dup-modal-actions .btn-secondary[data-v-bfae0e44] {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.dup-modal-actions .btn-secondary svg[data-v-bfae0e44],
.dup-primary svg[data-v-bfae0e44] {
  flex-shrink: 0;
}
.dup-primary[data-v-bfae0e44]:disabled { cursor: default; opacity: .9;
}
.dup-modal-actions .btn-secondary[data-v-bfae0e44]:disabled,
.dup-x[data-v-bfae0e44]:disabled { cursor: default; opacity: .5;
}
/* Spinner claro para que se vea sobre el fondo azul del botón primario
   (el .spinner global tiene la traza azul, invisible aquí). */
.spinner-claro[data-v-bfae0e44] {
  border-color: rgba(255, 255, 255, .4);
  border-top-color: #fff;
}
.toast-import[data-v-bfae0e44] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-bfae0e44] { animation: slideDown-bfae0e44 .2s ease;
}
.toast-fade-leave-active[data-v-bfae0e44] { animation: slideDown-bfae0e44 .2s ease reverse;
}
@keyframes slideDown-bfae0e44 {
from { opacity: 0; transform: translate(-50%, -8px);
}
to { opacity: 1; transform: translate(-50%, 0);
}
}

/* Banner amarillo periodo cerrado */
.banner-aviso[data-v-bfae0e44] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  background: #fefce8;
  border: 1px solid #fde68a;
  border-radius: 8px;
  color: #854d0e;
  font-size: 13px;
  line-height: 1.5;
}

/* Botón × para cerrar el banner de errores */
.banner-close[data-v-bfae0e44] {
  flex-shrink: 0;
  align-self: flex-start;
  background: transparent;
  border: none;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  padding: 0 2px;
  cursor: pointer;
  opacity: .55;
}
.banner-close[data-v-bfae0e44]:hover { opacity: 1;
}

/* Inputs del filtro (mismos estilos que en OfertaPública). */
.filter-search[data-v-bfae0e44] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-bfae0e44]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-bfae0e44]:focus { border-color: #004379;
}
.filter-search[data-v-bfae0e44]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-bfae0e44]::placeholder { color: #94a3b8;
}
.filter-date[data-v-bfae0e44] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
}
.filter-date[data-v-bfae0e44]:hover { border-color: #cbd5e1;
}
.filter-date[data-v-bfae0e44]:focus { border-color: #004379;
}
.filter-date[data-v-bfae0e44]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .6;
}
.filter-date[data-v-bfae0e44]::-webkit-calendar-picker-indicator:hover { opacity: 1;
}

/* ── Menú desplegable ── */
.menu-container[data-v-bfae0e44] { position: relative;
}
.menu-dropdown[data-v-bfae0e44] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 280px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  /* Handsontable usa z-index ~100-103 para sus clones sticky de cabecera y
     columna izquierda; el dropdown tiene que pasar por encima. */
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-bfae0e44] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-bfae0e44]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item[data-v-bfae0e44]:disabled { color: #cbd5e1; cursor: not-allowed;
}
.menu-item svg[data-v-bfae0e44] { flex-shrink: 0; color: #64748b;
}
.menu-item:disabled svg[data-v-bfae0e44] { color: #cbd5e1;
}
.menu-separator[data-v-bfae0e44] {
  height: 1px;
  background: #f1f5f9;
  margin: 4px 6px;
}

.empty-state[data-v-c354fea5] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  text-align: center;
  color: #64748b;
  background: #fff;
  border: 1px dashed #e2e8f0;
  border-radius: 12px;
}
.empty-icon[data-v-c354fea5] { font-size: 36px; margin-bottom: 12px;
}
.empty-title[data-v-c354fea5] { font-size: 15px; font-weight: 600; color: #334155; margin-bottom: 4px;
}
.empty-subtitle[data-v-c354fea5] { font-size: 13px; color: #94a3b8;
}
.alias-table[data-v-c354fea5] {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.alias-row[data-v-c354fea5] {
  display: grid;
  grid-template-columns: 1fr 200px 64px;
  align-items: center;
  min-height: 56px;
  padding: 0 16px;
  border-bottom: 1px solid #f1f5f9;
  transition: background-color .15s;
}
.alias-row[data-v-c354fea5]:last-child { border-bottom: none;
}
/* Cebra sutil para diferenciar filas (mismo patrón que tabla-wrap y los Hot).
   El header es el primer hijo, así que las filas datos empiezan en nth-child(2):
   par lógico → nth-child(even) blanco, impar lógico → nth-child(odd) gris suave. */
.alias-row[data-v-c354fea5]:not(.alias-row-header):nth-child(even) { background: #fff;
}
.alias-row[data-v-c354fea5]:not(.alias-row-header):nth-child(odd) { background: #f5f7fa;
}
.alias-row[data-v-c354fea5]:not(.alias-row-header):hover { background: #e0eaff;
}
.alias-row-header[data-v-c354fea5] {
  background: #004379;
  min-height: 48px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .5px;
}
/* Todas las celdas del header en blanco sobre el azul corporativo; forzado
   porque .alias-cell-name fija su propio azul y taparía el texto "ALIAS". */
.alias-row-header .alias-cell[data-v-c354fea5] { color: #fff;
}
.alias-cell[data-v-c354fea5] { padding: 0 8px; font-size: 14px; color: #334155;
}
.alias-cell-name[data-v-c354fea5] { color: #004379; font-weight: 600;
}
.alias-cell-usos[data-v-c354fea5] { text-align: center;
}
.alias-cell-actions[data-v-c354fea5] { text-align: right;
}
.alias-row-header .alias-cell-actions[data-v-c354fea5] { display: none;
}
.alias-name[data-v-c354fea5] {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color .15s;
}
.alias-name[data-v-c354fea5]:hover { background: #eff6ff;
}
.alias-input[data-v-c354fea5] {
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #004379;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #004379;
  font-family: inherit;
  outline: none;
  background: #fff;
}
.usos-badge[data-v-c354fea5] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #004379;
  background: #eff6ff;
  border: 1px solid #dbeafe;
}
.usos-badge-zero[data-v-c354fea5] {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
}
.btn-icon[data-v-c354fea5] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  transition: all .15s;
}
.btn-icon[data-v-c354fea5]:hover { color: #334155; background: #f1f5f9;
}
.btn-icon-danger[data-v-c354fea5]:hover { color: #dc2626; background: #fef2f2; border-color: #fecaca;
}
.filter-search[data-v-c354fea5] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-c354fea5]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-c354fea5]:focus { border-color: #004379;
}
.filter-search[data-v-c354fea5]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-c354fea5]::placeholder { color: #94a3b8;
}

/* Mismos estilos scoped que usa Alumnos.vue para su toolbar (no son globales). */
.filter-search[data-v-6b1758ac] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-6b1758ac]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-6b1758ac]:focus { border-color: #004379;
}
.filter-search[data-v-6b1758ac]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-6b1758ac]::placeholder { color: #94a3b8;
}
.banner-close[data-v-6b1758ac] {
  background: none;
  border: none;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: .6;
  padding: 0 2px;
}
.banner-close[data-v-6b1758ac]:hover { opacity: 1;
}

/* ── Menú desplegable (igual que Alumnos.vue: la posición absoluta evita que
   el panel empuje la tabla al abrirse) ── */
.menu-container[data-v-6b1758ac] { position: relative;
}
.menu-dropdown[data-v-6b1758ac] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  /* Handsontable usa z-index ~100-103 para sus clones sticky de cabecera y
     columna izquierda; el dropdown tiene que pasar por encima. */
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-6b1758ac] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-6b1758ac]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item[data-v-6b1758ac]:disabled { color: #cbd5e1; cursor: not-allowed;
}
.menu-item svg[data-v-6b1758ac] { flex-shrink: 0; color: #64748b;
}
.menu-item:disabled svg[data-v-6b1758ac] { color: #cbd5e1;
}
.toast-import[data-v-6b1758ac] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-6b1758ac] { animation: slideDown .2s ease;
}
.toast-fade-leave-active[data-v-6b1758ac] { animation: slideDown .2s ease reverse;
}

/* Mismos estilos scoped que usa Centros/Alumnos para su toolbar. */
.filter-search[data-v-2360770a] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-2360770a]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-2360770a]:focus { border-color: #004379;
}
.filter-search[data-v-2360770a]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-2360770a]::placeholder { color: #94a3b8;
}
.banner-close[data-v-2360770a] {
  background: none;
  border: none;
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  opacity: .6;
  padding: 0 2px;
}
.banner-close[data-v-2360770a]:hover { opacity: 1;
}

/* ── Menú desplegable Excel (igual que Centros/Alumnos) ── */
.menu-container[data-v-2360770a] { position: relative;
}
.menu-dropdown[data-v-2360770a] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-2360770a] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-2360770a]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item svg[data-v-2360770a] { flex-shrink: 0; color: #64748b;
}
.toast-import[data-v-2360770a] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-2360770a] { animation: slideDown .2s ease;
}
.toast-fade-leave-active[data-v-2360770a] { animation: slideDown .2s ease reverse;
}

.progreso-box[data-v-4fa04181] {
  max-width: 620px;
  width: 92%;
}
.modal-icon.azul[data-v-4fa04181]  { background: #eff6ff;
}
.modal-icon.verde[data-v-4fa04181] { background: #f0fdf4; color: #16a34a;
}
.modal-icon.rojo[data-v-4fa04181]  { color: #dc2626;
}
.progreso-barra-zona[data-v-4fa04181] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0 14px;
}
.progreso-barra[data-v-4fa04181] {
  flex: 1;
  height: 8px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
}
.progreso-relleno[data-v-4fa04181] {
  height: 100%;
  background: #004379;
  border-radius: 4px;
  transition: width .4s ease;
}
.progreso-relleno.error[data-v-4fa04181] { background: #dc2626;
}
.progreso-cifra[data-v-4fa04181] {
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  min-width: 38px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.progreso-log[data-v-4fa04181] {
  max-height: 260px;
  min-height: 120px;
  overflow-y: auto;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 16px;
  font-size: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.progreso-log-vacio[data-v-4fa04181] { color: #94a3b8;
}
.progreso-log-linea[data-v-4fa04181] {
  display: flex;
  gap: 8px;
  padding: 1px 0;
  color: #475569;
}
.progreso-log-hora[data-v-4fa04181] {
  color: #94a3b8;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.progreso-log-msg[data-v-4fa04181] { word-break: break-word;
}
.progreso-log-linea.nivel-aviso .progreso-log-msg[data-v-4fa04181] { color: #b45309;
}
.progreso-log-linea.nivel-error .progreso-log-msg[data-v-4fa04181] { color: #dc2626; font-weight: 600;
}

.detalle-fila[data-v-05b9e984] {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
  font-size: 13px;
}
.detalle-fila span[data-v-05b9e984] { color: #64748b;
}
.banner-historico[data-v-05b9e984] {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fef3c7;
  color: #92400e;
  font-size: 13px;
  line-height: 1.4;
}

.modal-asistente[data-v-038a9285] { max-width: 640px; width: 92vw;
}

/* .azul no está en los estilos globales (solo rojo/amarillo en style.css):
   se define aquí igual que en ModalProgresoAsignacion.vue para los modales
   informativos. */
.modal-icon.azul[data-v-038a9285] { background: #eff6ff;
}

/* .filter-search tampoco es una clase global: cada componente que la usa
   define su propio aspecto (igual que en OfertaAsignaciones.vue). */
.filter-search[data-v-038a9285] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
}
.filter-search[data-v-038a9285]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-038a9285]:focus { border-color: #004379;
}
.filter-search[data-v-038a9285]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-038a9285]::placeholder { color: #94a3b8;
}
.pasos[data-v-038a9285] {
  display: flex;
  gap: 8px;
  padding: 0 24px 12px;
  font-size: 12px;
  color: #94a3b8;
}
.paso.activo[data-v-038a9285] { color: #004379; font-weight: 600;
}
.paso.hecho[data-v-038a9285] { color: #16a34a;
}
.contenido[data-v-038a9285] { padding: 0 24px; max-height: 50vh; overflow-y: auto;
}
.lista-seleccion[data-v-038a9285] { display: flex; flex-direction: column; gap: 4px; margin-top: 10px;
}
.item-seleccion[data-v-038a9285] {
  text-align: left;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-family: inherit;
}
.item-seleccion[data-v-038a9285]:hover:not(:disabled) { border-color: #94a3b8;
}
.item-seleccion.seleccionado[data-v-038a9285] { border-color: #004379; background: #eff6ff;
}
.item-seleccion.deshabilitado[data-v-038a9285] { opacity: .55; cursor: not-allowed;
}
.ya-asignada[data-v-038a9285] { font-size: 12px; color: #b45309; margin-top: 2px;
}
.fechas[data-v-038a9285] { color: #64748b; font-size: 12px; margin-left: 6px;
}
/* Línea principal de cada plaza: centro + tipo + plazas, destacados */
.linea-plaza[data-v-038a9285] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.badge-tipo[data-v-038a9285] { font-size: 11px; font-weight: 600; border-radius: 999px; padding: 2px 10px;
}
.badge-tipo.publica[data-v-038a9285] { background: #eff6ff; color: #004379; border: 1px solid #bfdbfe;
}
.badge-tipo.privada[data-v-038a9285] { background: #fef3c7; color: #b45309; border: 1px solid #fde68a;
}
.badge-plazas[data-v-038a9285] { font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 10px; background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0;
}
.detalle-plaza[data-v-038a9285] { font-size: 12px; color: #475569; margin-top: 2px;
}
.fechas-plaza[data-v-038a9285] { font-size: 12px; color: #64748b; margin-top: 2px;
}
.estado-carga[data-v-038a9285] { padding: 24px; text-align: center; color: #64748b; font-size: 13px;
}
.estado-vacio[data-v-038a9285] { padding: 24px; text-align: center; color: #94a3b8; font-size: 13px;
}
.detalle-fila[data-v-038a9285] { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; font-size: 13px;
}
.detalle-fila span[data-v-038a9285] { color: #64748b;
}

/* ── Aviso de asignación (mismo estilo que el toast de carga de alumnos) ── */
.toast-import[data-v-3ce4ee1e] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-3ce4ee1e] { animation: slideDown .2s ease;
}
.toast-fade-leave-active[data-v-3ce4ee1e] { animation: slideDown .2s ease reverse;
}
.filter-search[data-v-3ce4ee1e] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 260px;
}
.filter-search[data-v-3ce4ee1e]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-3ce4ee1e]:focus { border-color: #004379;
}
.filter-search[data-v-3ce4ee1e]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-3ce4ee1e]::placeholder { color: #94a3b8;
}
.filter-date[data-v-3ce4ee1e] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
}
.filter-date[data-v-3ce4ee1e]:hover { border-color: #cbd5e1;
}
.filter-date[data-v-3ce4ee1e]:focus { border-color: #004379;
}
.filter-date[data-v-3ce4ee1e]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .6;
}
.filter-date[data-v-3ce4ee1e]::-webkit-calendar-picker-indicator:hover { opacity: 1;
}

/* ── Overlay de carga (filtro/sort/scroll infinito) ── */
.loading-overlay[data-v-3ce4ee1e] {
  position: absolute;
  inset: 0;
  background: rgba(248, 250, 252, 0.6);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
  border-radius: 12px;
}
.loading-overlay-spinner[data-v-3ce4ee1e] {
  width: 32px;
  height: 32px;
  filter: drop-shadow(0 2px 6px rgba(0, 67, 121, 0.18));
}
.loading-overlay-fade-enter-active[data-v-3ce4ee1e],
.loading-overlay-fade-leave-active[data-v-3ce4ee1e] {
  transition: opacity .18s ease;
}
.loading-overlay-fade-enter-from[data-v-3ce4ee1e],
.loading-overlay-fade-leave-to[data-v-3ce4ee1e] {
  opacity: 0;
}

/* ── Desplegable Excel (mismo patrón que la pestaña de alumnos) ── */
.menu-container[data-v-3ce4ee1e] { position: relative;
}
.menu-dropdown[data-v-3ce4ee1e] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-3ce4ee1e] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-3ce4ee1e]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item[data-v-3ce4ee1e]:disabled { color: #cbd5e1; cursor: not-allowed;
}
.menu-item svg[data-v-3ce4ee1e] { flex-shrink: 0; color: #64748b;
}
.menu-item:disabled svg[data-v-3ce4ee1e] { color: #cbd5e1;
}

.filter-search[data-v-26ef74f7] {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  color: #475569;
  background: #fff;
  outline: none;
  font-family: inherit;
  transition: border-color .15s;
  min-width: 320px;
}
.filter-search[data-v-26ef74f7]:hover { border-color: #cbd5e1;
}
.filter-search[data-v-26ef74f7]:focus { border-color: #004379;
}
.filter-search[data-v-26ef74f7]::-moz-placeholder { color: #94a3b8;
}
.filter-search[data-v-26ef74f7]::placeholder { color: #94a3b8;
}

/* Botón × para cerrar el banner de errores (mismo patrón que Oferta Privada) */
.banner-close[data-v-26ef74f7] {
  flex-shrink: 0;
  align-self: flex-start;
  background: transparent;
  border: none;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  padding: 0 2px;
  cursor: pointer;
  opacity: .55;
}
.banner-close[data-v-26ef74f7]:hover { opacity: 1;
}

/* ── Menú desplegable ── */
.menu-container[data-v-26ef74f7] { position: relative;
}
.menu-dropdown[data-v-26ef74f7] {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  /* Handsontable usa z-index ~100-103 para sus clones sticky de cabecera y
     columna izquierda; el dropdown tiene que pasar por encima. */
  z-index: 1000;
  padding: 4px;
}
.menu-item[data-v-26ef74f7] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #334155;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  white-space: nowrap;
}
.menu-item[data-v-26ef74f7]:hover:not(:disabled) { background: #f8fafc; color: #1e293b;
}
.menu-item[data-v-26ef74f7]:disabled { color: #cbd5e1; cursor: not-allowed;
}
.menu-item svg[data-v-26ef74f7] { flex-shrink: 0; color: #64748b;
}
.menu-item:disabled svg[data-v-26ef74f7] { color: #cbd5e1;
}

.modos[data-v-b54bb3a2] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 14px 0 4px;
}
.modo[data-v-b54bb3a2] {
  text-align: left;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  font-family: inherit;
  transition: border-color .15s, background .15s;
}
.modo[data-v-b54bb3a2]:hover {
  border-color: #004379;
  background: #f8fafc;
}
.modo-peligro[data-v-b54bb3a2]:hover {
  border-color: #dc2626;
  background: #fef2f2;
}
.modo-titulo[data-v-b54bb3a2] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 4px;
}
.modo-peligro .modo-titulo[data-v-b54bb3a2] { color: #b91c1c;
}
.modo-badge[data-v-b54bb3a2] {
  font-size: 11px;
  font-weight: 600;
  color: #047857;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 999px;
  padding: 1px 8px;
}
.badge-peligro[data-v-b54bb3a2] {
  color: #b91c1c;
  background: #fef2f2;
  border-color: #fecaca;
}
.modo-desc[data-v-b54bb3a2] {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.45;
}

.banda-ok[data-v-a2f0555a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: #047857;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}
.banda-ok svg[data-v-a2f0555a] { flex-shrink: 0; color: #059669;
}
.banda-nada[data-v-a2f0555a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: #475569;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}
.banda-nada svg[data-v-a2f0555a] { flex-shrink: 0; color: #64748b;
}
.lista-filas[data-v-a2f0555a] {
  margin: 0 0 6px;
  padding: 0;
  list-style: none;
  max-height: 280px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fila[data-v-a2f0555a] {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-left: 3px solid #f59e0b;
  border-radius: 8px;
  padding: 9px 12px;
}
.fila-nia[data-v-a2f0555a] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
}
.fila-nia svg[data-v-a2f0555a] { color: #92400e;
}
.fila-motivo[data-v-a2f0555a] {
  font-size: 12.5px;
  color: #92400e;
  line-height: 1.45;
  margin-top: 3px;
}
.lista-filas[data-v-a2f0555a]::-webkit-scrollbar { width: 8px;
}
.lista-filas[data-v-a2f0555a]::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 4px;
}

/* El modal nunca crece más allá de la pantalla: el cuerpo hace scroll y la
   cabecera/botonera quedan fijas (sin esto, un informe largo empujaba los
   botones fuera de la vista y, al no cerrarse con clic fuera, no había salida). */
.modal-box[data-v-c7bdd22b] {
  max-height: 85vh;
  display: flex;
  flex-direction: column;
}
.cuerpo[data-v-c7bdd22b] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}
.cuerpo[data-v-c7bdd22b]::-webkit-scrollbar { width: 8px;
}
.cuerpo[data-v-c7bdd22b]::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 4px;
}
.modal-actions[data-v-c7bdd22b] { flex-shrink: 0;
}
.banda-bloqueo[data-v-c7bdd22b] {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-left: 3px solid #dc2626;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.banda-bloqueo-titulo[data-v-c7bdd22b] {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  color: #b91c1c;
  margin-bottom: 4px;
}
.banda-bloqueo-titulo svg[data-v-c7bdd22b] { flex-shrink: 0;
}
.banda-aviso[data-v-c7bdd22b] {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 12px;
}
.banda-lista[data-v-c7bdd22b] {
  margin: 0;
  padding-left: 4px;
  list-style: none;
  font-size: 12.5px;
  color: #475569;
  line-height: 1.5;
}
.banda-bloqueo .banda-lista[data-v-c7bdd22b] { color: #991b1b;
}
.banda-aviso .banda-lista[data-v-c7bdd22b] { color: #92400e;
}
.resumen[data-v-c7bdd22b] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 4px 0 6px;
}
.linea[data-v-c7bdd22b] {
  font-size: 13px;
  color: #475569;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 12px;
}
.linea-ok[data-v-c7bdd22b] {
  color: #047857;
  background: #ecfdf5;
  border-color: #a7f3d0;
}
.linea-nada[data-v-c7bdd22b] {
  color: #64748b;
  font-style: italic;
}
.num[data-v-c7bdd22b] {
  font-weight: 700;
  font-size: 14px;
}
.detalle[data-v-c7bdd22b] {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}
.detalle summary[data-v-c7bdd22b] {
  cursor: pointer;
  font-size: 13px;
  color: #475569;
  padding: 8px 12px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.detalle-aviso[data-v-c7bdd22b] {
  background: #fffbeb;
  border-color: #fde68a;
}
.detalle-aviso summary[data-v-c7bdd22b] { color: #92400e;
}
.detalle-peligro[data-v-c7bdd22b] {
  background: #fef2f2;
  border-color: #fecaca;
}
.detalle-peligro summary[data-v-c7bdd22b] { color: #b91c1c;
}
.detalle-lista[data-v-c7bdd22b] {
  margin: 0;
  padding: 4px 12px 10px;
  list-style: none;
  max-height: 200px;
  overflow-y: auto;
  font-size: 12.5px;
  color: #475569;
  line-height: 1.6;
}
.detalle-lista strong[data-v-c7bdd22b] { color: #1e293b;
}
.detalle-lista .motivo[data-v-c7bdd22b] {
  display: block;
  color: #92400e;
}
.detalle-lista[data-v-c7bdd22b]::-webkit-scrollbar { width: 8px;
}
.detalle-lista[data-v-c7bdd22b]::-webkit-scrollbar-thumb { background: #e2e8f0; border-radius: 4px;
}
.btn-danger[data-v-c7bdd22b]:disabled,
.btn-primary[data-v-c7bdd22b]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.privada-actions[data-v-ac67afa4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  margin-top: 12px;
  border-top: 1px solid #e2e8f0;
}
.privada-actions-left[data-v-ac67afa4] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.privada-dirty-badge[data-v-ac67afa4] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #d97706;
  background: #fffbeb;
  border: 1px solid #fde68a;
  padding: 4px 12px;
  border-radius: 6px;
}
.toast-import[data-v-ac67afa4] {
  position: fixed;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  background: #0c2340;
  color: #fff;
  border-radius: 6px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
  z-index: 1100;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
}
.toast-fade-enter-active[data-v-ac67afa4] { animation: slideDown .2s ease;
}
.toast-fade-leave-active[data-v-ac67afa4] { animation: slideDown .2s ease reverse;
}

/* Slot de cada pestaña: replica el layout flex de la página para que la grid
   (que espera un contenedor flex con altura) se dimensione igual que antes. Al
   ocultarse con v-show (display:none) no ocupa espacio y su grid conserva la
   última altura calculada (el ResizeObserver la re-ajusta al volver a mostrarse). */
.ofertas-tab-slot[data-v-ac67afa4] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
/* Overlay opaco mientras se monta la pestaña destino (ver script). Se superpone
   al contenido saliente para que el botón se marque al instante sin parpadeo. */
.page-ofertas[data-v-ac67afa4] {
  position: relative;
}
.tab-loading[data-v-ac67afa4] {
  position: absolute;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.tab-loading__spinner[data-v-ac67afa4] {
  width: 28px;
  height: 28px;
  border-width: 3px;
}

/* El set global solo define iconos rojo/amarillo; aquí añadimos el azul informativo. */
.modal-icon.azul[data-v-2a47a7ef] { background: #eff6ff;
}
.cc-label[data-v-2a47a7ef] { display: block; font-size: 13px; font-weight: 600; color: #334155; margin-bottom: 6px;
}
.cc-input[data-v-2a47a7ef] {
  width: 100%; height: 40px; padding: 0 12px; font-size: 14px; color: #1e293b;
  border: 1px solid #e2e8f0; border-radius: 8px; font-family: inherit; box-sizing: border-box;
}
.cc-input[data-v-2a47a7ef]:focus { outline: none; border-color: #004379;
}
.cc-preview[data-v-2a47a7ef] { margin: 12px 0 0; font-size: 13px; color: #475569;
}
.cc-preview strong[data-v-2a47a7ef] { color: #0f172a;
}
.cc-error[data-v-2a47a7ef] { margin: 8px 0 0; font-size: 13px; color: #dc2626;
}

/* ── Selector de curso ── */
.curso-selector[data-v-e78e7eca] {
  display: inline-flex;
  align-items: center;
  position: relative;
  transition: opacity .15s;
}
.curso-selector--bloqueado[data-v-e78e7eca] {
  cursor: not-allowed;
}


.exito-check[data-v-ab0de037] {
  position: relative;
  width: 3.5rem;
  height: 3.5rem;
}

/* Disco verde con el pop de entrada y el halo de un solo disparo. */
.disco[data-v-ab0de037] {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: var(--p-green-100, #dcfce7);
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.82);
  opacity: 0;
  animation: disco-pop-ab0de037 0.32s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Halo que se expande y desvanece tras el disco, una sola vez. */
.disco[data-v-ab0de037]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: var(--p-green-100, #dcfce7);
  z-index: -1;
  transform: scale(1);
  opacity: 0;
  animation: halo-ab0de037 0.9s ease-out 0.12s forwards;
}
.trazo[data-v-ab0de037] {
  width: 1.85rem;
  height: 1.85rem;
}
.trazo path[data-v-ab0de037] {
  fill: none;
  stroke: var(--p-green-600, #16a34a);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 26;
  stroke-dashoffset: 26;
  animation: dibujar-check-ab0de037 0.4s cubic-bezier(0.65, 0, 0.35, 1) 0.22s forwards;
}

/* Anillos concéntricos en azul UCAM: solo en el hito de completar el orden. */
.anillo[data-v-ab0de037] {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 2px solid var(--p-primary-color, #004379);
  transform: scale(0.9);
  opacity: 0;
  pointer-events: none;
}
.anillo-1[data-v-ab0de037] { animation: expandir-anillo-ab0de037 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards;
}
.anillo-2[data-v-ab0de037] { animation: expandir-anillo-ab0de037 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.28s forwards;
}
.anillo-3[data-v-ab0de037] { animation: expandir-anillo-ab0de037 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.46s forwards;
}
@keyframes disco-pop-ab0de037 {
from { transform: scale(0.82); opacity: 0;
}
to   { transform: scale(1);    opacity: 1;
}
}
@keyframes halo-ab0de037 {
from { transform: scale(1);   opacity: 0.55;
}
to   { transform: scale(1.9); opacity: 0;
}
}
@keyframes dibujar-check-ab0de037 {
to { stroke-dashoffset: 0;
}
}
@keyframes expandir-anillo-ab0de037 {
from { transform: scale(0.9); opacity: 0.5;
}
to   { transform: scale(2.4); opacity: 0;
}
}

/* Accesibilidad: sin movimiento, estado final estático. */
@media (prefers-reduced-motion: reduce) {
.disco[data-v-ab0de037] {
    transform: scale(1);
    opacity: 1;
    animation: none;
}
.disco[data-v-ab0de037]::after { animation: none; opacity: 0;
}
.trazo path[data-v-ab0de037] {
    stroke-dashoffset: 0;
    animation: none;
}
.anillo[data-v-ab0de037] { display: none;
}
}

.confirm-fade-enter-active[data-v-afef2623], .confirm-fade-leave-active[data-v-afef2623] { transition: all 0.2s ease;
}
.confirm-fade-enter-from[data-v-afef2623], .confirm-fade-leave-to[data-v-afef2623] { opacity: 0;
}
.confirm-fade-enter-from .relative[data-v-afef2623], .confirm-fade-leave-to .relative[data-v-afef2623] { transform: scale(0.95);
}

.aviso-fade-enter-active[data-v-1b45dd6c], .aviso-fade-leave-active[data-v-1b45dd6c] { transition: all 0.2s ease;
}
.aviso-fade-enter-from[data-v-1b45dd6c], .aviso-fade-leave-to[data-v-1b45dd6c] { opacity: 0;
}
.aviso-fade-enter-from .relative[data-v-1b45dd6c], .aviso-fade-leave-to .relative[data-v-1b45dd6c] { transform: scale(0.95);
}
.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}

.modal-fade-enter-active[data-v-a2d71e3d], .modal-fade-leave-active[data-v-a2d71e3d] { transition: opacity 0.2s ease;
}
.modal-fade-enter-from[data-v-a2d71e3d], .modal-fade-leave-to[data-v-a2d71e3d] { opacity: 0;
}
.skeleton-shimmer[data-v-a2d71e3d] {
  background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 50%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: shimmer-a2d71e3d 1.4s infinite;
}
@keyframes shimmer-a2d71e3d {
0% { background-position: -200% 0;
}
100% { background-position: 200% 0;
}
}

.fade-enter-active[data-v-8a174236], .fade-leave-active[data-v-8a174236] { transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-8a174236], .fade-leave-to[data-v-8a174236] { opacity: 0;
}

.bienvenida-fade-enter-active[data-v-aafbac8a], .bienvenida-fade-leave-active[data-v-aafbac8a] { transition: all 0.2s ease;
}
.bienvenida-fade-enter-from[data-v-aafbac8a], .bienvenida-fade-leave-to[data-v-aafbac8a] { opacity: 0;
}
.bienvenida-fade-enter-from .relative[data-v-aafbac8a], .bienvenida-fade-leave-to .relative[data-v-aafbac8a] { transform: scale(0.95);
}

/* Estado de foco visible (Regla de foco del DESIGN.md): reemplaza el outline
   del navegador por el anillo azul del sistema. Solo en foco de teclado. */
button[data-v-2de52697]:focus-visible,
select[data-v-2de52697]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 67, 121, 0.15);
}
/* En el buscador el anillo va en el contenedor: el input vive sin borde dentro. */
.campo-busqueda[data-v-2de52697]:focus-within {
  border-color: var(--p-primary-500);
  box-shadow: 0 0 0 3px rgba(0, 67, 121, 0.15);
}

/* Banner collapse animation */
.banner-collapse-enter-active[data-v-2de52697] { transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.banner-collapse-leave-active[data-v-2de52697] { transition: opacity 0.25s ease-in, transform 0.25s ease-in;
}
.banner-collapse-enter-from[data-v-2de52697], .banner-collapse-leave-to[data-v-2de52697] {
  opacity: 0;
  transform: translateY(-100%);
}

/* Snackbar floating */
.snackbar-shadow[data-v-2de52697] {
  box-shadow: 0 -6px 40px 4px rgba(0, 67, 121, 0.12), 0 -2px 8px rgba(0, 67, 121, 0.06);
}
.snackbar-float-enter-active[data-v-2de52697] { transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.snackbar-float-leave-active[data-v-2de52697] { transition: all 0.2s ease-in;
}
.snackbar-float-enter-from[data-v-2de52697], .snackbar-float-leave-to[data-v-2de52697] {
  opacity: 0;
  transform: translateY(100%);
}
.fade-menu-enter-active[data-v-2de52697], .fade-menu-leave-active[data-v-2de52697] { transition: opacity 0.15s ease, transform 0.15s ease;
}
.fade-menu-enter-from[data-v-2de52697], .fade-menu-leave-to[data-v-2de52697] { opacity: 0; transform: translateY(-4px);
}

/* Estado de foco visible (Regla de foco del DESIGN.md): reemplaza el outline
   del navegador por el anillo azul del sistema. Solo en foco de teclado. */
button[data-v-9f8a437c]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 67, 121, 0.15);
}
.order-input[data-v-9f8a437c] {
  -moz-appearance: textfield;
}
.order-input[data-v-9f8a437c]::-webkit-outer-spin-button,
.order-input[data-v-9f8a437c]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.warning-slide-enter-active[data-v-9f8a437c], .warning-slide-leave-active[data-v-9f8a437c] { transition: all 0.25s ease;
}
.warning-slide-enter-from[data-v-9f8a437c], .warning-slide-leave-to[data-v-9f8a437c] { opacity: 0; transform: translateY(8px);
}

/* Pulso del badge de orden al teclear un número nuevo: confirma qué tarjeta se
   ha movido sin robar la atención. */
.order-pulse[data-v-9f8a437c] {
  animation: order-pulse-9f8a437c 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes order-pulse-9f8a437c {
0%   { transform: scale(1);
}
35%  { transform: scale(1.16);
}
100% { transform: scale(1);
}
}

/* Hito "listo para enviar": el badge de estado celebra el cruce del mínimo con
   un pop + anillo verde de un solo disparo. */
.badge-listo[data-v-9f8a437c] {
  animation: badge-listo-9f8a437c 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes badge-listo-9f8a437c {
0%   { transform: scale(1);    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45);
}
40%  { transform: scale(1.12); box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
}
100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
}
}

/* El botón de enviar acompaña el hito con un anillo azul UCAM expansivo, una
   sola vez, para invitar a la acción recién habilitada. */
.btn-listo[data-v-9f8a437c] {
  animation: btn-listo-9f8a437c 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes btn-listo-9f8a437c {
0%   { box-shadow: 0 0 0 0 rgba(0, 67, 121, 0.5);
}
100% { box-shadow: 0 0 0 10px rgba(0, 67, 121, 0);
}
}
@media (prefers-reduced-motion: reduce) {
.order-pulse[data-v-9f8a437c], .badge-listo[data-v-9f8a437c], .btn-listo[data-v-9f8a437c] { animation: none;
}
}

.chips-overflow[data-v-33f754d5] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}
.chips-overflow__lista[data-v-33f754d5] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  overflow: hidden;
  max-height: 24px; /* una línea de chips */
  flex: 1 1 auto;
  min-width: 0;
}
.chips-overflow__chip[data-v-33f754d5] {
  display: inline-flex;
  align-items: center;
  height: 22px;
  line-height: 1;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
  white-space: nowrap;
}
.chips-overflow__mas[data-v-33f754d5] {
  flex: 0 0 auto;
  margin-left: 6px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
}

.barra[data-v-58d1a876] {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
.toggle[data-v-58d1a876] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 0;
  background: transparent;
  border: none;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.chevron[data-v-58d1a876] { color: #b45309; font-size: 11px; transition: transform 0.15s ease-out;
}
.barra.open .chevron[data-v-58d1a876] { transform: rotate(90deg);
}
.label[data-v-58d1a876] {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #92400e;
}
.pill[data-v-58d1a876] {
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 600;
  background: #fef3c7;
  color: #92400e;
}
.hint[data-v-58d1a876] { font-size: 13px; color: #64748b;
}
.cuerpo[data-v-58d1a876] { margin-top: 10px;
}
.vacio[data-v-58d1a876] { font-size: 13px; color: #94a3b8;
}
.chips[data-v-58d1a876] { display: flex; flex-wrap: wrap; gap: 8px;
}
.chip[data-v-58d1a876] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #c2d2df;
  color: #004379;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.chip[data-v-58d1a876]:hover { background: #f2f6f8; border-color: #004379;
}
.plus[data-v-58d1a876] { font-size: 15px; line-height: 1; margin-top: -1px;
}

.fila-huerfana[data-v-18385fe4] { background: #fffbeb;
}
.fila-huerfana[data-v-18385fe4]:hover { background: #fef3c7;
}
.badge-huerfana[data-v-18385fe4] {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #fde68a;
  background: #ffffff;
  color: #b45309;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: middle;
}
