@keyframes notyf-fadeinup{
  0%{
    opacity:0;
    transform:translateY(25%)
  }

  to{
    opacity:1;
    transform:translateY(0)
  }
}

@keyframes notyf-fadeinleft{
  0%{
    opacity:0;
    transform:translateX(25%)
  }

  to{
    opacity:1;
    transform:translateX(0)
  }
}

@keyframes notyf-fadeoutright{
  0%{
    opacity:1;
    transform:translateX(0)
  }

  to{
    opacity:0;
    transform:translateX(25%)
  }
}

@keyframes notyf-fadeoutdown{
  0%{
    opacity:1;
    transform:translateY(0)
  }

  to{
    opacity:0;
    transform:translateY(25%)
  }
}

@keyframes ripple{
  0%{
    transform:scale(0) translateY(-45%) translateX(13%)
  }

  to{
    transform:scale(1) translateY(-45%) translateX(13%)
  }
}

.notyf{
  position:fixed;
  top:0;
  left:0;
  height:100%;
  width:100%;
  color:#fff;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
  box-sizing:border-box;
  padding:20px
}

.notyf__icon--error,.notyf__icon--success{
  height:21px;
  width:21px;
  background:#fff;
  border-radius:50%;
  display:block;
  margin:0 auto;
  position:relative
}

.notyf__icon--error:after,.notyf__icon--error:before{
  content:"";
  background:currentColor;
  display:block;
  position:absolute;
  width:3px;
  border-radius:3px;
  left:9px;
  height:12px;
  top:5px
}

.notyf__icon--error:after{
  transform:rotate(-45deg)
}

.notyf__icon--error:before{
  transform:rotate(45deg)
}

.notyf__icon--success:after,.notyf__icon--success:before{
  content:"";
  background:currentColor;
  display:block;
  position:absolute;
  width:3px;
  border-radius:3px
}

.notyf__icon--success:after{
  height:6px;
  transform:rotate(-45deg);
  top:9px;
  left:6px
}

.notyf__icon--success:before{
  height:11px;
  transform:rotate(45deg);
  top:5px;
  left:10px
}

.notyf__toast{
  display:block;
  overflow:hidden;
  pointer-events:auto;
  animation:notyf-fadeinup .3s ease-in forwards;
  box-shadow:0 3px 7px 0 rgba(0,0,0,.25);
  position:relative;
  padding:0 15px;
  border-radius:2px;
  max-width:300px;
  transform:translateY(25%);
  box-sizing:border-box;
  flex-shrink:0
}

.notyf__toast--disappear{
  transform:translateY(0);
  animation:notyf-fadeoutdown .3s forwards;
  animation-delay:.25s
}

.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{
  animation:notyf-fadeoutdown .3s forwards;
  opacity:1;
  transform:translateY(0)
}

.notyf__toast--disappear .notyf__dismiss{
  animation:notyf-fadeoutright .3s forwards;
  opacity:1;
  transform:translateX(0)
}

.notyf__toast--disappear .notyf__message{
  animation-delay:.05s
}

.notyf__toast--upper{
  margin-bottom:20px
}

.notyf__toast--lower{
  margin-top:20px
}

.notyf__toast--dismissible .notyf__wrapper{
  padding-right:30px
}

.notyf__ripple{
  height:400px;
  width:400px;
  position:absolute;
  transform-origin:bottom right;
  right:0;
  top:0;
  border-radius:50%;
  transform:scale(0) translateY(-51%) translateX(13%);
  z-index:5;
  animation:ripple .4s ease-out forwards
}

.notyf__wrapper{
  display:flex;
  align-items:center;
  padding-top:17px;
  padding-bottom:17px;
  padding-right:15px;
  border-radius:3px;
  position:relative;
  z-index:10
}

.notyf__icon{
  width:22px;
  text-align:center;
  font-size:1.3em;
  opacity:0;
  animation:notyf-fadeinup .3s forwards;
  animation-delay:.3s;
  margin-right:13px
}

.notyf__dismiss{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:26px;
  margin-right:-15px;
  animation:notyf-fadeinleft .3s forwards;
  animation-delay:.35s;
  opacity:0
}

.notyf__dismiss-btn{
  background-color:rgba(0,0,0,.25);
  border:none;
  cursor:pointer;
  transition:opacity .2s ease,background-color .2s ease;
  outline:none;
  opacity:.35;
  height:100%;
  width:100%
}

.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{
  content:"";
  background:#fff;
  height:12px;
  width:2px;
  border-radius:3px;
  position:absolute;
  left:calc(50% - 1px);
  top:calc(50% - 5px)
}

.notyf__dismiss-btn:after{
  transform:rotate(-45deg)
}

.notyf__dismiss-btn:before{
  transform:rotate(45deg)
}

.notyf__dismiss-btn:hover{
  opacity:.7;
  background-color:rgba(0,0,0,.15)
}

.notyf__dismiss-btn:active{
  opacity:.8
}

.notyf__message{
  vertical-align:middle;
  position:relative;
  opacity:0;
  animation:notyf-fadeinup .3s forwards;
  animation-delay:.25s;
  line-height:1.5em
}

@media only screen and (max-width:480px){
  .notyf{
    padding:0
  }

  .notyf__ripple{
    height:600px;
    width:600px;
    animation-duration:.5s
  }

  .notyf__toast{
    max-width:none;
    border-radius:0;
    box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);
    width:100%
  }

  .notyf__dismiss{
    width:56px
  }
}

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

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

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

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

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

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

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

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

code,
kbd,
samp,
pre {
  font-family: Menlo, Consolas, Monaco, Adwaita Mono, Liberation Mono, Lucida Console, monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

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

:disabled {
  cursor: default;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

select{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position:right 0.5rem center;
  background-repeat:no-repeat;
  background-size:1.5em 1.5em;
  padding-right:2.5rem;
  -webkit-print-color-adjust:exact;
          print-color-adjust:exact
}

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

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

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

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

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

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

[type='checkbox']:checked{
  background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

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

[type='radio']:checked{
  background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

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

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

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

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

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

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

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

/* CSS Custom Properties for Focus Management */

/* Dark mode adjustments */

@media (prefers-color-scheme: dark) {
  :root {
    --focus-ring-color: #60a5fa;
  }
}

/* High contrast mode support */

@media (prefers-contrast: high) {
  :root {
    --focus-ring-color: #facc15;
    --focus-ring-width: 3px;
    --focus-shadow-base: var(--focus-shadow-high-contrast);
  }
}

/* Reduced motion support */

@media (prefers-reduced-motion: reduce) {
  :root {
    --focus-transition-duration: 0ms;
  }
}

/* Mobile viewport optimizations */

@media (max-width: 768px) {
  :root {
    --focus-ring-width: var(--mobile-focus-ring-width);
    --focus-ring-offset: var(--mobile-focus-ring-offset);
  }
}

/* Windows High Contrast Mode */

@media (forced-colors: active) {
  :root {
    --focus-ring-color: Highlight;
    --focus-ring-width: 3px;
    --focus-shadow-base: 0 0 0 3px Highlight;
  }
}

/* Base focus styles for all interactive elements */

*:focus {
  outline: none;
  box-shadow: var(--focus-shadow-base);
  transition: box-shadow var(--focus-transition-duration) var(--focus-transition-timing);
}

/* Enhanced focus for keyboard users */

body.using-keyboard *:focus {
  box-shadow: var(--focus-shadow-enhanced);
}

/* Subtle focus for mouse users */

body.using-mouse *:focus {
  box-shadow: var(--focus-shadow-base);
  opacity: 0.8;
}

/* Keyboard-focused class for temporary enhancement */

.keyboard-focused {
  box-shadow: var(--focus-shadow-enhanced) !important;
  animation: focusEnhance 0.3s ease-out;
}

@keyframes focusEnhance {
  0% {
    transform: scale(1);
    box-shadow: var(--focus-shadow-base);
  }

  50% {
    transform: scale(1.02);
    box-shadow: var(--focus-shadow-enhanced);
  }

  100% {
    transform: scale(1);
    box-shadow: var(--focus-shadow-enhanced);
  }
}

/* Mobile Touch Target Enhancements */

@media (max-width: 768px) {
  /* Ensure all interactive elements meet touch target size */

  button,
    a,
    input,
    select,
    textarea,
    [role="button"],
    [tabindex="0"] {
    min-height: var(--mobile-touch-target-size);
    min-width: var(--mobile-touch-target-size);
  }

  /* Enhanced focus for mobile */

  *:focus {
    box-shadow: var(--focus-shadow-enhanced);
    transform: scale(1.02);
  }

  /* Larger focus rings on mobile */

  .btn-primary:focus,
    .btn-secondary:focus,
    .btn-danger:focus {
    box-shadow: 0 0 0 3px var(--focus-ring-color), 0 0 12px rgba(59, 130, 246, 0.4);
  }
}

/* Touch device optimizations */

@media (hover: none) and (pointer: coarse) {
  /* Remove hover effects on touch devices */

  *:hover {
    /* Reset hover styles for touch devices */
  }

  /* Enhanced focus for touch navigation */

  *:focus {
    box-shadow: var(--focus-shadow-enhanced);
  }
}

/* Print media - remove focus indicators */

@media print {
  *:focus {
    box-shadow: none !important;
    outline: none !important;
  }
}

/* Accessibility preference optimizations */

@media (prefers-reduced-motion: reduce) {
  /* Remove animations for users who prefer reduced motion */

  .keyboard-focused {
    animation: none;
  }

  .skip-link:focus {
    animation: none;
  }

  * {
    transition-duration: 0ms !important;
  }
}

/* High contrast mode enhancements */

@media (forced-colors: active) {
  /* Windows High Contrast Mode */

  .table-cell-focused {
    background-color: Highlight;
    color: HighlightText;
    forced-color-adjust: none;
  }

  .modal.focus-trapped::before {
    border-color: Highlight;
  }

  .skip-link:focus {
    background-color: Highlight;
    color: HighlightText;
  }
}

/* PDF Viewer Component Styles */

.pdf-viewer-modal .modal-content{
  max-height:100vh
}

.pdf-iframe-container{
  position:relative;
  overflow:hidden;
  border-radius:0.5rem
}

.pdf-iframe{
  width:100%;
  border-radius:0.5rem;
  border-width:0px;
  --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);
  background-color: #f8f9fa
}

/* PDF Loading Animation */

.pdf-loading-state .loading-spinner svg{
  --tw-text-opacity:1;
  color:rgb(15 23 42 / var(--tw-text-opacity, 1))
}

/* Mobile PDF Controls Enhancement */

.pdf-mobile-controls{
  margin-top:1rem;
  border-top-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));
  padding-top:1rem
}

@media (max-width: 640px) {
  .pdf-controls{
    width:100%;
    flex-direction:column;
    gap:0.5rem
  }

  .pdf-controls > *{
    width:100%;
    justify-content:center;
    min-height: 48px
    /* UI/UX expert recommendation */
  }

  .pdf-iframe {
    height: 60vh !important;
    min-height: 400px !important;
  }
}

/* Fullscreen PDF mode optimizations */

.pdf-viewer-modal[data-size="full"] .pdf-iframe {
  height: 85vh;
  min-height: 600px;
}

.pdf-viewer-modal[data-size="full"] .pdf-mobile-controls{
  position:fixed;
  bottom:1rem;
  left:1rem;
  right:1rem;
  z-index:10;
  border-radius:0.5rem;
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding:1rem;
  --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)
}

/* Focus management for PDF viewer */

.pdf-viewer-modal .modal-content: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);
  --tw-ring-opacity:1;
  --tw-ring-color:rgb(15 23 42 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width:2px
}

/* Error state styling */

.pdf-error-state{
  border-radius:0.5rem;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(254 202 202 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));
  padding:1.5rem;
  text-align:center
}

.pdf-fallback{
  border-radius:0.5rem;
  border-width:2px;
  border-style:dashed;
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));
  padding:2rem;
  text-align:center
}

/* Base body styles */

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

footer{
  height:6rem
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.prose-lg{
  font-size:1.125rem;
  line-height:1.7777778;
}

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

.prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:1.2222222em;
  line-height:1.4545455;
  margin-top:1.0909091em;
  margin-bottom:1.0909091em
}

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

.prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:2.6666667em;
  margin-top:0;
  margin-bottom:0.8333333em;
  line-height:1
}

.prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:1.6666667em;
  margin-top:1.8666667em;
  margin-bottom:1.0666667em;
  line-height:1.3333333
}

.prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:1.3333333em;
  margin-top:1.6666667em;
  margin-bottom:0.6666667em;
  line-height:1.5
}

.prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top:1.7777778em;
  margin-bottom:0.4444444em;
  line-height:1.5555556
}

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

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

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

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

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

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

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

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

.prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:0.8888889em;
  line-height:1.75;
  margin-top:2em;
  margin-bottom:2em;
  border-radius:0.375rem;
  padding-top:1em;
  padding-inline-end:1.5em;
  padding-bottom:1em;
  padding-inline-start:1.5em
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-size:0.8888889em;
  line-height:1.5;
  margin-top:1em
}

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

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

.navbar-brand{
  float:left;
  --tw-text-opacity:1;
  color:rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.navbar-brand .logo{
  float:left;
  padding-right:0.625rem
}

.navbar-brand .brand-title{
  float:left;
  font-size:1.125rem;
  line-height:1.75rem
}

.navbar-brand .brand-subtitle{
  font-size:0.875rem;
  line-height:1.25rem;
  --tw-text-opacity:1;
  color:rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.nav-item{
  border-radius:0.25rem;
  padding-left:0.625rem;
  padding-right:0.625rem;
  font-weight:700
}

.nav-item.active{
  --tw-bg-opacity:1;
  background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))
}

.login-container{
  margin-top:11rem
}

.students ul{
  padding-left:0.875rem
}

.invalid-feedback{
  display:block
}

.actions{
  margin-top:0.625rem
}

.actions a.btn{
  margin-right:0.375rem
}

.required{
  font-weight:700
}

.member-list .actions{
  visibility:hidden
}

.member-list > div:hover .actions{
  visibility:visible
}

.class-card{
  margin-bottom:0.5rem
}

.class-card a{
  text-decoration-line:none
}

.avatar{
  margin-right:0.5rem;
  display:inline-block;
  height:2.5rem;
  width:2.5rem;
  border-radius:9999px;
  text-align:center;
  vertical-align:middle;
  font-size:1rem;
  font-weight:700;
  line-height:2.5rem;
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1));
  content: attr(data-avatar-initials);
  background-color: var(--avatar-color)
}

/* Enhanced Button Components with Custom Focus Properties */

.btn-primary{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:0.375rem;
  border-width:1px;
  border-color:transparent;
  --tw-bg-opacity:1;
  background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1));
  padding-left:1rem;
  padding-right:1rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  font-size:0.875rem;
  line-height:1.25rem;
  font-weight:500;
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1));
  --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);
  outline:2px solid transparent;
  outline-offset:2px
}

.btn-primary:hover{
  --tw-bg-opacity:1;
  background-color:rgb(49 46 129 / var(--tw-bg-opacity, 1))
}

.btn-primary {
  min-height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-primary:focus {
  --focus-ring-color: #2563eb;
  box-shadow: var(--focus-shadow-base);
}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:0.375rem;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left:1rem;
  padding-right:1rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  font-size:0.875rem;
  line-height:1.25rem;
  font-weight:500;
  --tw-text-opacity:1;
  color:rgb(55 65 81 / var(--tw-text-opacity, 1));
  --tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline:2px solid transparent;
  outline-offset:2px
}

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

.btn-secondary {
  min-height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-secondary:focus {
  --focus-ring-color: #4f46e5;
  box-shadow: var(--focus-shadow-base);
}

.btn-danger{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:0.375rem;
  border-width:1px;
  border-color:transparent;
  --tw-bg-opacity:1;
  background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));
  padding-left:1rem;
  padding-right:1rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  font-size:0.875rem;
  line-height:1.25rem;
  font-weight:500;
  --tw-text-opacity:1;
  color:rgb(255 255 255 / var(--tw-text-opacity, 1));
  --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);
  outline:2px solid transparent;
  outline-offset:2px
}

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

.btn-danger {
  min-height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-danger:focus {
  --focus-ring-color: #dc2626;
  box-shadow: var(--focus-shadow-base);
}

/* Enhanced Icon Button Components with Touch Targets */

.btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9999px;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity:1;
  color:rgb(156 163 175 / var(--tw-text-opacity, 1));
  outline:2px solid transparent;
  outline-offset:2px;
  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
}

.btn-icon:hover{
  --tw-bg-opacity:1;
  background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));
  --tw-text-opacity:1;
  color:rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.btn-icon {
  width: var(--mobile-touch-target-size);
  height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-icon:focus {
  --focus-ring-color: #2563eb;
  box-shadow: var(--focus-shadow-base);
}

.btn-success-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9999px;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(134 239 172 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));
  --tw-text-opacity:1;
  color:rgb(22 163 74 / var(--tw-text-opacity, 1));
  outline:2px solid transparent;
  outline-offset:2px;
  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
}

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

.btn-success-outline {
  width: var(--mobile-touch-target-size);
  height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-success-outline:focus {
  --focus-ring-color: #16a34a;
  box-shadow: var(--focus-shadow-base);
}

.btn-danger-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9999px;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(252 165 165 / var(--tw-border-opacity, 1));
  --tw-bg-opacity:1;
  background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));
  --tw-text-opacity:1;
  color:rgb(248 113 113 / var(--tw-text-opacity, 1));
  outline:2px solid transparent;
  outline-offset:2px;
  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
}

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

.btn-danger-outline {
  width: var(--mobile-touch-target-size);
  height: var(--mobile-touch-target-size);
  transition: all var(--focus-transition-duration) var(--focus-transition-timing);
}

.btn-danger-outline:focus {
  --focus-ring-color: #dc2626;
  box-shadow: var(--focus-shadow-base);
}

/* Selection states for list items */

.selectable-item{
  cursor:pointer;
  padding:1rem;
  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
}

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

.selectable-item.selected{
  border-left-width:4px !important;
  --tw-border-opacity:1 !important;
  border-color:rgb(59 130 246 / var(--tw-border-opacity, 1)) !important;
  --tw-bg-opacity:1 !important;
  background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1)) !important
}

/* TipTap Editor Styles */

.tiptap-editor{
  overflow:hidden;
  border-radius:0.375rem;
  border-width:1px;
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tiptap-editor .ProseMirror{
  font-size:0.875rem;
  line-height:1.7142857;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tiptap-editor .ProseMirror{
  min-height:200px;
  max-width:none;
  padding:1rem;
  outline:2px solid transparent;
  outline-offset:2px
}

/* Override prose styles for better editing experience */

.tiptap-editor .ProseMirror:focus{
  outline:2px solid transparent;
  outline-offset:2px
}

/* Ensure consistent spacing in editor */

.tiptap-editor .ProseMirror > *:first-child{
  margin-top:0px
}

.tiptap-editor .ProseMirror > *:last-child{
  margin-bottom:0px
}

/* Flash to Toast integration styles */

/* Hide flash fallbacks when JavaScript is available and replace with toast */

.flash-fallback{
  display:block
}

/* When FlashToast hook is active, hide fallback alerts */

[phx-hook="FlashToast"] .flash-fallback{
  display:none
}

/* Upload drag and drop styles */

.upload-drop-area.drag-over{
  --tw-border-opacity:1;
  border-color:rgb(15 23 42 / var(--tw-border-opacity, 1));
  background-color:rgb(15 23 42 / 0.05)
}

/* Modal styles */

/* Modal animations */

/* Enhanced Modal focus styles with custom properties */

.modal [tabindex="0"]:focus,
  .modal button:focus,
  .modal input:focus,
  .modal textarea:focus,
  .modal select:focus {
  --focus-ring-color: #2563eb;
  outline: none;
  box-shadow: var(--focus-shadow-enhanced);
}

/* Modal trap visual indicator */

.modal.focus-trapped {
  position: relative;
}

.modal.focus-trapped::before {
  content: '';
  position: absolute;
  inset: -2px;
  border: 2px solid var(--focus-ring-color);
  border-radius: inherit;
  opacity: 0.3;
  pointer-events: none;
}

/* Prevent body scroll when modal is open */

/* Enhanced CSS-Only Responsive Navigation with Accessibility */

/* Mobile navigation dropdown container */

.mobile-nav-container {
  position: relative;
}

/* Mobile menu hidden by default with proper sizing */

.mobile-menu{
  display:none;
  transition-property:all;
  transition-duration:300ms;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 16rem
  /* Ensure adequate width */
}

/* Only show menu when explicitly opened via JavaScript */

.mobile-nav-container.menu-open .mobile-menu{
  display:block;
  animation: accessibleDropdown 0.3s ease-out
}

/* Fallback: show on focus-within only if JavaScript fails */

.mobile-nav-container:not(.js-enhanced):focus-within .mobile-menu{
  display:block;
  animation: accessibleDropdown 0.3s ease-out
}

/* Accessible dropdown animation with proper easing */

@keyframes accessibleDropdown {
  from {
    transform: translateY(-12px) scale(0.95);
    opacity: 0;
  }

  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* Mobile menu toggle button with enhanced accessibility */

.mobile-menu-toggle{
  transition-property:all;
  transition-duration:200ms;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 44px;
  /* WCAG minimum touch target */
  min-height: 44px
  /* WCAG minimum touch target */
}

.mobile-menu-toggle:hover {
  transform: scale(1.05);
}

/* Enhanced focus states for better visibility */

.mobile-menu-toggle:focus {
  --focus-ring-color: white;
  outline: none;
  box-shadow: var(--focus-shadow-base);
  transform: scale(1.02);
}

/* Ensure menu items have proper touch targets */

.mobile-menu .nav-item {
  min-height: 44px;
  /* WCAG 2.1 minimum target size */
  display:flex;
  align-items:center;
}

/* Enhanced focus states for menu items */

.mobile-menu .nav-item:focus{
  --tw-bg-opacity:1;
  background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1));
  outline:2px solid transparent;
  outline-offset:2px;
  --focus-ring-color: white;
  box-shadow: var(--focus-shadow-base), inset 0 0 0 2px rgba(255, 255, 255, 0.5)
}

/* Visual indicator for open state */

.mobile-nav-container:focus-within .mobile-menu-toggle{
  --tw-bg-opacity:1;
  background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1));
  transform: rotate(90deg) scale(1.02)
}

/* User menu CSS-only dropdown */

.user-menu{
  display:none
}

/* Show user menu on focus-within */

.user-menu-container:focus-within .user-menu{
  display:block
}

/* User menu button focus states */

.user-menu-toggle:focus {
  --focus-ring-color: white;
  outline: none;
  box-shadow: var(--focus-shadow-base);
}

/* Enhanced focus visibility for navigation items */

.nav-item:focus {
  --focus-ring-color: white;
  outline: none;
  box-shadow: var(--focus-shadow-base);
}

/* Smooth transitions for navigation interactions */

.nav-item,
  .user-menu-toggle,
  .mobile-menu{
  transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:200ms
}

/* Data Table Focus Management */

.table-cell-focused {
  --focus-ring-color: #4f46e5;
  background-color: rgba(59, 130, 246, 0.1);
  box-shadow: var(--focus-shadow-enhanced);
  position: relative;
}

.table-cell-focused::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid var(--focus-ring-color);
  border-radius: 4px;
  pointer-events: none;
}

/* Upload Area Focus Enhancement */

.upload-drop-area.keyboard-focused {
  --focus-ring-color: #2563eb;
  border-color: var(--focus-ring-color);
  box-shadow: var(--focus-shadow-enhanced);
  background-color: rgba(59, 130, 246, 0.05);
}

/* Form Field Focus Enhancement */

input:focus,
  select:focus,
  textarea:focus {
  --focus-ring-color: #2563eb;
  box-shadow: var(--focus-shadow-base);
  border-color: var(--focus-ring-color);
}

/* Skip Link Enhanced Styling */

@keyframes skipLinkAppear {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border-width:0
}

.visible{
  visibility:visible
}

.invisible{
  visibility:hidden
}

.static{
  position:static
}

.fixed{
  position:fixed
}

.absolute{
  position:absolute
}

.relative{
  position:relative
}

.sticky{
  position:sticky
}

.inset-0{
  inset:0px
}

.bottom-2{
  bottom:0.5rem
}

.bottom-4{
  bottom:1rem
}

.left-1\/2{
  left:50%
}

.left-2{
  left:0.5rem
}

.right-0{
  right:0px
}

.right-2{
  right:0.5rem
}

.right-4{
  right:1rem
}

.top-0{
  top:0px
}

.top-2{
  top:0.5rem
}

.top-4{
  top:1rem
}

.top-full{
  top:100%
}

.z-10{
  z-index:10
}

.z-50{
  z-index:50
}

.col-span-2{
  grid-column:span 2 / span 2
}

.mx-0{
  margin-left:0px;
  margin-right:0px
}

.mx-2{
  margin-left:0.5rem;
  margin-right:0.5rem
}

.mx-auto{
  margin-left:auto;
  margin-right:auto
}

.-mb-px{
  margin-bottom:-1px
}

.-ml-1{
  margin-left:-0.25rem
}

.-ml-2{
  margin-left:-0.5rem
}

.mb-0{
  margin-bottom:0px
}

.mb-1{
  margin-bottom:0.25rem
}

.mb-2{
  margin-bottom:0.5rem
}

.mb-3{
  margin-bottom:0.75rem
}

.mb-4{
  margin-bottom:1rem
}

.mb-6{
  margin-bottom:1.5rem
}

.mb-8{
  margin-bottom:2rem
}

.ml-1{
  margin-left:0.25rem
}

.ml-2{
  margin-left:0.5rem
}

.ml-3{
  margin-left:0.75rem
}

.ml-4{
  margin-left:1rem
}

.ml-6{
  margin-left:1.5rem
}

.ml-9{
  margin-left:2.25rem
}

.ml-auto{
  margin-left:auto
}

.mr-1{
  margin-right:0.25rem
}

.mr-1\.5{
  margin-right:0.375rem
}

.mr-12{
  margin-right:3rem
}

.mr-2{
  margin-right:0.5rem
}

.mr-3{
  margin-right:0.75rem
}

.mr-4{
  margin-right:1rem
}

.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-5{
  margin-top:1.25rem
}

.mt-6{
  margin-top:1.5rem
}

.mt-8{
  margin-top:2rem
}

.line-clamp-2{
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
}

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

.contents{
  display:contents
}

.hidden{
  display:none
}

.aspect-\[4\/3\]{
  aspect-ratio:4/3
}

.h-1{
  height:0.25rem
}

.h-10{
  height:2.5rem
}

.h-12{
  height:3rem
}

.h-16{
  height:4rem
}

.h-2{
  height:0.5rem
}

.h-20{
  height:5rem
}

.h-3{
  height:0.75rem
}

.h-32{
  height:8rem
}

.h-4{
  height:1rem
}

.h-5{
  height:1.25rem
}

.h-6{
  height:1.5rem
}

.h-8{
  height:2rem
}

.h-96{
  height:24rem
}

.h-auto{
  height:auto
}

.h-full{
  height:100%
}

.h-px{
  height:1px
}

.max-h-32{
  max-height:8rem
}

.max-h-48{
  max-height:12rem
}

.min-h-96{
  min-height:24rem
}

.min-h-\[24px\]{
  min-height:24px
}

.min-h-screen{
  min-height:100vh
}

.w-0{
  width:0px
}

.w-10{
  width:2.5rem
}

.w-12{
  width:3rem
}

.w-16{
  width:4rem
}

.w-2{
  width:0.5rem
}

.w-20{
  width:5rem
}

.w-3{
  width:0.75rem
}

.w-32{
  width:8rem
}

.w-4{
  width:1rem
}

.w-48{
  width:12rem
}

.w-5{
  width:1.25rem
}

.w-6{
  width:1.5rem
}

.w-64{
  width:16rem
}

.w-8{
  width:2rem
}

.w-full{
  width:100%
}

.min-w-0{
  min-width:0px
}

.min-w-\[2\.5rem\]{
  min-width:2.5rem
}

.min-w-\[3rem\]{
  min-width:3rem
}

.min-w-\[4rem\]{
  min-width:4rem
}

.min-w-\[6rem\]{
  min-width:6rem
}

.min-w-full{
  min-width:100%
}

.max-w-2xl{
  max-width:42rem
}

.max-w-32{
  max-width:8rem
}

.max-w-4xl{
  max-width:56rem
}

.max-w-7xl{
  max-width:80rem
}

.max-w-full{
  max-width:100%
}

.max-w-md{
  max-width:28rem
}

.max-w-none{
  max-width:none
}

.max-w-xs{
  max-width:20rem
}

.flex-1{
  flex:1 1 0%
}

.flex-shrink-0{
  flex-shrink:0
}

.shrink-0{
  flex-shrink:0
}

.flex-grow{
  flex-grow:1
}

.grow{
  flex-grow:1
}

.origin-top-right{
  transform-origin:top right
}

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

.rotate-180{
  --tw-rotate:180deg;
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform{
  transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes pulse{
  50%{
    opacity:.5
  }
}

.animate-pulse{
  animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
}

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

.animate-spin{
  animation:spin 1s linear infinite
}

.cursor-not-allowed{
  cursor:not-allowed
}

.cursor-pointer{
  cursor:pointer
}

.list-inside{
  list-style-position:inside
}

.list-disc{
  list-style-type:disc
}

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

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

.flex-col{
  flex-direction:column
}

.flex-col-reverse{
  flex-direction:column-reverse
}

.flex-wrap{
  flex-wrap:wrap
}

.items-start{
  align-items:flex-start
}

.items-center{
  align-items:center
}

.items-stretch{
  align-items:stretch
}

.justify-end{
  justify-content:flex-end
}

.justify-center{
  justify-content:center
}

.justify-between{
  justify-content:space-between
}

.justify-stretch{
  justify-content:stretch
}

.gap-1{
  gap:0.25rem
}

.gap-2{
  gap:0.5rem
}

.gap-3{
  gap:0.75rem
}

.gap-4{
  gap:1rem
}

.gap-6{
  gap:1.5rem
}

.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(0.25rem * var(--tw-space-x-reverse));
  margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(0.5rem * var(--tw-space-x-reverse));
  margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(0.75rem * var(--tw-space-x-reverse));
  margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(1rem * var(--tw-space-x-reverse));
  margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(2rem * var(--tw-space-x-reverse));
  margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(0.25rem * var(--tw-space-y-reverse))
}

.space-y-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-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(1rem * var(--tw-space-y-reverse))
}

.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))
}

.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(2rem * var(--tw-space-y-reverse))
}

.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse:0;
  border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width:calc(1px * var(--tw-divide-y-reverse))
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity:1;
  border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))
}

.overflow-hidden{
  overflow:hidden
}

.overflow-x-auto{
  overflow-x:auto
}

.overflow-y-auto{
  overflow-y:auto
}

.truncate{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}

.whitespace-nowrap{
  white-space:nowrap
}

.rounded{
  border-radius:0.25rem
}

.rounded-full{
  border-radius:9999px
}

.rounded-lg{
  border-radius:0.5rem
}

.rounded-md{
  border-radius:0.375rem
}

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

.rounded-t-md{
  border-top-left-radius:0.375rem;
  border-top-right-radius:0.375rem
}

.border{
  border-width:1px
}

.border-0{
  border-width:0px
}

.border-2{
  border-width:2px
}

.border-b{
  border-bottom-width:1px
}

.border-b-2{
  border-bottom-width:2px
}

.border-l-2{
  border-left-width:2px
}

.border-t{
  border-top-width:1px
}

.border-dashed{
  border-style:dashed
}

.border-amber-200{
  --tw-border-opacity:1;
  border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))
}

.border-blue-200{
  --tw-border-opacity:1;
  border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))
}

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

.border-gray-100{
  --tw-border-opacity:1;
  border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))
}

.border-gray-200{
  --tw-border-opacity:1;
  border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))
}

.border-gray-300{
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))
}

.border-gray-400{
  --tw-border-opacity:1;
  border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))
}

.border-gray-500{
  --tw-border-opacity:1;
  border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))
}

.border-green-200{
  --tw-border-opacity:1;
  border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))
}

.border-primary{
  --tw-border-opacity:1;
  border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))
}

.border-primary\/30{
  border-color:rgb(15 23 42 / 0.3)
}

.border-red-200{
  --tw-border-opacity:1;
  border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))
}

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

.border-slate-700{
  --tw-border-opacity:1;
  border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))
}

.border-transparent{
  border-color:transparent
}

.border-yellow-200{
  --tw-border-opacity:1;
  border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))
}

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

.bg-amber-50{
  --tw-bg-opacity:1;
  background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))
}

.bg-amber-600{
  --tw-bg-opacity:1;
  background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))
}

.bg-black{
  --tw-bg-opacity:1;
  background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.bg-blue-100{
  --tw-bg-opacity:1;
  background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))
}

.bg-blue-50{
  --tw-bg-opacity:1;
  background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))
}

.bg-blue-500{
  --tw-bg-opacity:1;
  background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))
}

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

.bg-gray-100{
  --tw-bg-opacity:1;
  background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))
}

.bg-gray-200{
  --tw-bg-opacity:1;
  background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))
}

.bg-gray-300{
  --tw-bg-opacity:1;
  background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))
}

.bg-gray-400{
  --tw-bg-opacity:1;
  background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))
}

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

.bg-gray-500{
  --tw-bg-opacity:1;
  background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))
}

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

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

.bg-gray-800{
  --tw-bg-opacity:1;
  background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.bg-gray-900{
  --tw-bg-opacity:1;
  background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))
}

.bg-green-100{
  --tw-bg-opacity:1;
  background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))
}

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

.bg-green-50{
  --tw-bg-opacity:1;
  background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))
}

.bg-green-500{
  --tw-bg-opacity:1;
  background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))
}

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

.bg-primary{
  --tw-bg-opacity:1;
  background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))
}

.bg-purple-100{
  --tw-bg-opacity:1;
  background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))
}

.bg-red-100{
  --tw-bg-opacity:1;
  background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))
}

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

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

.bg-red-500{
  --tw-bg-opacity:1;
  background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))
}

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

.bg-red-900{
  --tw-bg-opacity:1;
  background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))
}

.bg-slate-800{
  --tw-bg-opacity:1;
  background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))
}

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

.bg-yellow-100{
  --tw-bg-opacity:1;
  background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))
}

.bg-yellow-400{
  --tw-bg-opacity:1;
  background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))
}

.bg-yellow-50{
  --tw-bg-opacity:1;
  background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))
}

.bg-opacity-50{
  --tw-bg-opacity:0.5
}

.bg-opacity-70{
  --tw-bg-opacity:0.7
}

.bg-opacity-75{
  --tw-bg-opacity:0.75
}

.object-cover{
  -o-object-fit:cover;
     object-fit:cover
}

.p-0{
  padding:0px
}

.p-1{
  padding:0.25rem
}

.p-12{
  padding:3rem
}

.p-2{
  padding:0.5rem
}

.p-3{
  padding:0.75rem
}

.p-4{
  padding:1rem
}

.p-6{
  padding:1.5rem
}

.p-8{
  padding:2rem
}

.px-1{
  padding-left:0.25rem;
  padding-right:0.25rem
}

.px-2{
  padding-left:0.5rem;
  padding-right:0.5rem
}

.px-2\.5{
  padding-left:0.625rem;
  padding-right:0.625rem
}

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

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

.px-6{
  padding-left:1.5rem;
  padding-right:1.5rem
}

.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-12{
  padding-top:3rem;
  padding-bottom:3rem
}

.py-2{
  padding-top:0.5rem;
  padding-bottom:0.5rem
}

.py-3{
  padding-top:0.75rem;
  padding-bottom:0.75rem
}

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

.py-5{
  padding-top:1.25rem;
  padding-bottom:1.25rem
}

.py-6{
  padding-top:1.5rem;
  padding-bottom:1.5rem
}

.py-8{
  padding-top:2rem;
  padding-bottom:2rem
}

.pb-20{
  padding-bottom:5rem
}

.pb-4{
  padding-bottom:1rem
}

.pl-4{
  padding-left:1rem
}

.pr-4{
  padding-right:1rem
}

.pt-4{
  padding-top:1rem
}

.pt-5{
  padding-top:1.25rem
}

.pt-6{
  padding-top:1.5rem
}

.pt-8{
  padding-top:2rem
}

.text-left{
  text-align:left
}

.text-center{
  text-align:center
}

.text-right{
  text-align:right
}

.align-bottom{
  vertical-align:bottom
}

.font-mono{
  font-family:Menlo, Consolas, Monaco, Adwaita Mono, Liberation Mono, Lucida Console, monospace
}

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

.text-3xl{
  font-size:1.875rem;
  line-height:2.25rem
}

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

.capitalize{
  text-transform:capitalize
}

.italic{
  font-style:italic
}

.leading-4{
  line-height:1rem
}

.leading-6{
  line-height:1.5rem
}

.leading-tight{
  line-height:1.25
}

.tracking-wider{
  letter-spacing:0.05em
}

.text-amber-400{
  --tw-text-opacity:1;
  color:rgb(251 191 36 / var(--tw-text-opacity, 1))
}

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

.text-amber-700{
  --tw-text-opacity:1;
  color:rgb(180 83 9 / var(--tw-text-opacity, 1))
}

.text-amber-800{
  --tw-text-opacity:1;
  color:rgb(146 64 14 / var(--tw-text-opacity, 1))
}

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

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

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

.text-blue-700{
  --tw-text-opacity:1;
  color:rgb(29 78 216 / var(--tw-text-opacity, 1))
}

.text-blue-800{
  --tw-text-opacity:1;
  color:rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.text-blue-900{
  --tw-text-opacity:1;
  color:rgb(30 58 138 / var(--tw-text-opacity, 1))
}

.text-gray-300{
  --tw-text-opacity:1;
  color:rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.text-gray-400{
  --tw-text-opacity:1;
  color:rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.text-gray-500{
  --tw-text-opacity:1;
  color:rgb(107 114 128 / var(--tw-text-opacity, 1))
}

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

.text-gray-700{
  --tw-text-opacity:1;
  color:rgb(55 65 81 / var(--tw-text-opacity, 1))
}

.text-gray-800{
  --tw-text-opacity:1;
  color:rgb(31 41 55 / var(--tw-text-opacity, 1))
}

.text-gray-900{
  --tw-text-opacity:1;
  color:rgb(17 24 39 / var(--tw-text-opacity, 1))
}

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

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

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

.text-green-700{
  --tw-text-opacity:1;
  color:rgb(21 128 61 / var(--tw-text-opacity, 1))
}

.text-green-800{
  --tw-text-opacity:1;
  color:rgb(22 101 52 / var(--tw-text-opacity, 1))
}

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

.text-primary{
  --tw-text-opacity:1;
  color:rgb(15 23 42 / var(--tw-text-opacity, 1))
}

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

.text-purple-800{
  --tw-text-opacity:1;
  color:rgb(107 33 168 / var(--tw-text-opacity, 1))
}

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

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

.text-red-600{
  --tw-text-opacity:1;
  color:rgb(220 38 38 / var(--tw-text-opacity, 1))
}

.text-red-700{
  --tw-text-opacity:1;
  color:rgb(185 28 28 / var(--tw-text-opacity, 1))
}

.text-red-800{
  --tw-text-opacity:1;
  color:rgb(153 27 27 / var(--tw-text-opacity, 1))
}

.text-red-900{
  --tw-text-opacity:1;
  color:rgb(127 29 29 / var(--tw-text-opacity, 1))
}

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

.text-yellow-400{
  --tw-text-opacity:1;
  color:rgb(250 204 21 / var(--tw-text-opacity, 1))
}

.text-yellow-600{
  --tw-text-opacity:1;
  color:rgb(202 138 4 / var(--tw-text-opacity, 1))
}

.text-yellow-700{
  --tw-text-opacity:1;
  color:rgb(161 98 7 / var(--tw-text-opacity, 1))
}

.text-yellow-800{
  --tw-text-opacity:1;
  color:rgb(133 77 14 / var(--tw-text-opacity, 1))
}

.underline{
  text-decoration-line:underline
}

.line-through{
  text-decoration-line:line-through
}

.placeholder-gray-500::-moz-placeholder{
  --tw-placeholder-opacity:1;
  color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))
}

.placeholder-gray-500::placeholder{
  --tw-placeholder-opacity:1;
  color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))
}

.placeholder-red-300::-moz-placeholder{
  --tw-placeholder-opacity:1;
  color:rgb(252 165 165 / var(--tw-placeholder-opacity, 1))
}

.placeholder-red-300::placeholder{
  --tw-placeholder-opacity:1;
  color:rgb(252 165 165 / var(--tw-placeholder-opacity, 1))
}

.opacity-0{
  opacity:0
}

.opacity-25{
  opacity:0.25
}

.opacity-75{
  opacity:0.75
}

.shadow{
  --tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-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-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{
  outline-style:solid
}

.ring{
  --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

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

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

.ring-black{
  --tw-ring-opacity:1;
  --tw-ring-color:rgb(0 0 0 / var(--tw-ring-opacity, 1))
}

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

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

.ring-opacity-5{
  --tw-ring-opacity:0.05
}

.ring-opacity-50{
  --tw-ring-opacity:0.5
}

.ring-offset-2{
  --tw-ring-offset-width:2px
}

.blur{
  --tw-blur:blur(8px);
  filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.invert{
  --tw-invert:invert(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)
}

.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-all{
  transition-property:all;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

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

.transition-opacity{
  transition-property:opacity;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.transition-transform{
  transition-property:transform;
  transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration:150ms
}

.duration-200{
  transition-duration:200ms
}

.duration-300{
  transition-duration:300ms
}

/* Component styles */

/* Enhanced Focus Indicator System */

.hover\:border-gray-300:hover{
  --tw-border-opacity:1;
  border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))
}

.hover\:border-gray-400:hover{
  --tw-border-opacity:1;
  border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))
}

.hover\:bg-amber-700:hover{
  --tw-bg-opacity:1;
  background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))
}

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

.hover\:bg-blue-700:hover{
  --tw-bg-opacity:1;
  background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-100:hover{
  --tw-bg-opacity:1;
  background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-200:hover{
  --tw-bg-opacity:1;
  background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))
}

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

.hover\:bg-gray-500:hover{
  --tw-bg-opacity:1;
  background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))
}

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

.hover\:bg-green-50:hover{
  --tw-bg-opacity:1;
  background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))
}

.hover\:bg-green-700:hover{
  --tw-bg-opacity:1;
  background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))
}

.hover\:bg-primary-dark:hover{
  --tw-bg-opacity:1;
  background-color:rgb(49 46 129 / var(--tw-bg-opacity, 1))
}

.hover\:bg-primary\/10:hover{
  background-color:rgb(15 23 42 / 0.1)
}

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

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

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

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

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

.hover\:bg-opacity-90:hover{
  --tw-bg-opacity:0.9
}

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

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

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

.hover\:text-blue-800:hover{
  --tw-text-opacity:1;
  color:rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-300:hover{
  --tw-text-opacity:1;
  color:rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-700:hover{
  --tw-text-opacity:1;
  color:rgb(55 65 81 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-900:hover{
  --tw-text-opacity:1;
  color:rgb(17 24 39 / var(--tw-text-opacity, 1))
}

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

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

.hover\:text-primary:hover{
  --tw-text-opacity:1;
  color:rgb(15 23 42 / var(--tw-text-opacity, 1))
}

.hover\:text-primary-dark:hover{
  --tw-text-opacity:1;
  color:rgb(49 46 129 / var(--tw-text-opacity, 1))
}

.hover\:text-primary-light:hover{
  --tw-text-opacity:1;
  color:rgb(79 70 229 / var(--tw-text-opacity, 1))
}

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

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

.hover\:text-red-700:hover{
  --tw-text-opacity:1;
  color:rgb(185 28 28 / var(--tw-text-opacity, 1))
}

.hover\:shadow-md:hover{
  --tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.focus\:not-sr-only:focus{
  position:static;
  width:auto;
  height:auto;
  padding:0;
  margin:0;
  overflow:visible;
  clip:auto;
  white-space:normal
}

.focus\:absolute:focus{
  position:absolute
}

.focus\:left-0:focus{
  left:0px
}

.focus\:left-40:focus{
  left:10rem
}

.focus\:left-8:focus{
  left:2rem
}

.focus\:top-0:focus{
  top:0px
}

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

.focus\:border-primary:focus{
  --tw-border-opacity:1;
  border-color:rgb(15 23 42 / var(--tw-border-opacity, 1))
}

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

.focus\:bg-red-700:focus{
  --tw-bg-opacity:1;
  background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))
}

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

.focus\:ring-0:focus{
  --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.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-blue-500:focus{
  --tw-ring-opacity:1;
  --tw-ring-color:rgb(59 130 246 / var(--tw-ring-opacity, 1))
}

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

.focus\:ring-primary:focus{
  --tw-ring-opacity:1;
  --tw-ring-color:rgb(15 23 42 / var(--tw-ring-opacity, 1))
}

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

.focus\:ring-white:focus{
  --tw-ring-opacity:1;
  --tw-ring-color:rgb(255 255 255 / var(--tw-ring-opacity, 1))
}

.focus\:ring-offset-2:focus{
  --tw-ring-offset-width:2px
}

.focus\:ring-offset-primary:focus{
  --tw-ring-offset-color:#0f172a
}

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

.disabled\:opacity-50:disabled{
  opacity:0.5
}

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

@media (min-width: 640px){
  .sm\:not-sr-only{
    position:static;
    width:auto;
    height:auto;
    padding:0;
    margin:0;
    overflow:visible;
    clip:auto;
    white-space:normal
  }

  .sm\:mx-0{
    margin-left:0px;
    margin-right:0px
  }

  .sm\:mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .sm\:my-8{
    margin-top:2rem;
    margin-bottom:2rem
  }

  .sm\:ml-1{
    margin-left:0.25rem
  }

  .sm\:ml-3{
    margin-left:0.75rem
  }

  .sm\:ml-4{
    margin-left:1rem
  }

  .sm\:mt-0{
    margin-top:0px
  }

  .sm\:mt-4{
    margin-top:1rem
  }

  .sm\:block{
    display:block
  }

  .sm\:flex{
    display:flex
  }

  .sm\:hidden{
    display:none
  }

  .sm\:h-10{
    height:2.5rem
  }

  .sm\:w-10{
    width:2.5rem
  }

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

  .sm\:w-full{
    width:100%
  }

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

  .sm\:max-w-lg{
    max-width:32rem
  }

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

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

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

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

  .sm\:items-start{
    align-items:flex-start
  }

  .sm\:items-center{
    align-items:center
  }

  .sm\:gap-4{
    gap:1rem
  }

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

  .sm\:rounded-lg{
    border-radius:0.5rem
  }

  .sm\:rounded-md{
    border-radius:0.375rem
  }

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

  .sm\:p-6{
    padding:1.5rem
  }

  .sm\:px-6{
    padding-left:1.5rem;
    padding-right:1.5rem
  }

  .sm\:py-20{
    padding-top:5rem;
    padding-bottom:5rem
  }

  .sm\:text-left{
    text-align:left
  }

  .sm\:align-middle{
    vertical-align:middle
  }

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

@media (min-width: 768px){
  .md\:col-span-2{
    grid-column:span 2 / span 2
  }

  .md\:mb-4{
    margin-bottom:1rem
  }

  .md\:inline{
    display:inline
  }

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

  .md\:grid-cols-3{
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }

  .md\:grid-cols-4{
    grid-template-columns:repeat(4, minmax(0, 1fr))
  }

  .md\:flex-row{
    flex-direction:row
  }
}

@media (min-width: 1024px){
  .lg\:col-span-1{
    grid-column:span 1 / span 1
  }

  .lg\:col-span-2{
    grid-column:span 2 / span 2
  }

  .lg\:col-span-3{
    grid-column:span 3 / span 3
  }

  .lg\:col-span-4{
    grid-column:span 4 / span 4
  }

  .lg\:mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .lg\:ml-auto{
    margin-left:auto
  }

  .lg\:mr-auto{
    margin-right:auto
  }

  .lg\:flex{
    display:flex
  }

  .lg\:hidden{
    display:none
  }

  .lg\:w-1\/3{
    width:33.333333%
  }

  .lg\:w-10\/12{
    width:83.333333%
  }

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

  .lg\:grid-cols-3{
    grid-template-columns:repeat(3, minmax(0, 1fr))
  }

  .lg\:grid-cols-4{
    grid-template-columns:repeat(4, minmax(0, 1fr))
  }

  .lg\:flex-row{
    flex-direction:row
  }

  .lg\:items-center{
    align-items:center
  }

  .lg\:gap-1{
    gap:0.25rem
  }

  .lg\:space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse:0;
    margin-right:calc(0.25rem * var(--tw-space-x-reverse));
    margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))
  }

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

@media (min-width: 1280px){
  .xl\:w-8\/12{
    width:66.666667%
  }

  .xl\:grid-cols-4{
    grid-template-columns:repeat(4, minmax(0, 1fr))
  }
}
