/* ============================================================================
   IMPORTS & TAILWIND DIRECTIVES
   ============================================================================ */

[hidden][hidden] {
  display: none !important;
}

up-wrapper {
  display: inline-block;
}

up-bounds {
  position: absolute;
}

.up-focus-hidden:focus-visible {
  outline-color: transparent !important;
  outline-style: none !important;
}

body.up-scrollbar-away {
  padding-right: calc(var(--up-scrollbar-width) + var(--up-original-padding-right)) !important;
}

body.up-scrollbar-away, html:has(> body.up-scrollbar-away) {
  overflow-y: hidden !important;
  overflow-y: clip !important;
}

body.up-scrollbar-away .up-scrollbar-away {
  right: calc(var(--up-scrollbar-width) + var(--up-original-right)) !important;
}

.up-request-loader {
  display: none;
}

up-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999999;
  height: 3px;
  background-color: #007bff;
}

up-focus-trap {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

up-cover-viewport, up-drawer-viewport, up-modal-viewport, up-drawer-backdrop, up-modal-backdrop, up-cover, up-drawer, up-modal {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

up-drawer-box, up-modal-box {
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.3);
}

up-popup {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
}

up-popup:focus, up-cover-box:focus, up-drawer-box:focus, up-modal-box:focus, up-cover:focus, up-drawer:focus, up-modal:focus, up-popup:focus-visible, up-cover-box:focus-visible, up-drawer-box:focus-visible, up-modal-box:focus-visible, up-cover:focus-visible, up-drawer:focus-visible, up-modal:focus-visible {
  outline: none;
}

up-cover, up-drawer, up-modal {
  z-index: 2000;
  position: fixed;
}

up-drawer-backdrop, up-modal-backdrop {
  position: absolute;
  background: rgba(0, 0, 0, 0.4);
}

up-cover-viewport, up-drawer-viewport, up-modal-viewport {
  position: absolute;
  overflow-y: scroll;
  overflow-x: hidden;
  overscroll-behavior: contain;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

up-popup, up-cover-box, up-drawer-box, up-modal-box {
  position: relative;
  box-sizing: border-box;
  max-width: 100%;
  background-color: #fff;
  padding: 20px;
  overflow-x: hidden;
}

up-popup-content, up-cover-content, up-drawer-content, up-modal-content {
  display: block;
}

up-popup {
  z-index: 1000;
}

up-popup-dismiss, up-cover-dismiss, up-drawer-dismiss, up-modal-dismiss {
  color: #888;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1.7rem;
  line-height: 0.5;
  cursor: pointer;
}

up-modal[nesting="0"] up-modal-viewport {
  padding: 25px 15px;
}

up-modal[nesting="1"] up-modal-viewport {
  padding: 50px 30px;
}

up-modal[nesting="2"] up-modal-viewport {
  padding: 75px 45px;
}

up-modal[nesting="3"] up-modal-viewport {
  padding: 100px 60px;
}

up-modal[nesting="4"] up-modal-viewport {
  padding: 125px 75px;
}

up-modal[size=small] up-modal-box {
  width: 350px;
}

up-modal[size=medium] up-modal-box {
  width: 650px;
}

up-modal[size=large] up-modal-box {
  width: 1000px;
}

up-modal[size=grow] up-modal-box {
  width: auto;
}

up-modal[size=full] up-modal-box {
  width: 100%;
}

up-drawer-viewport {
  justify-content: flex-start;
}

up-drawer[position=right] up-drawer-viewport {
  justify-content: flex-end;
}

up-drawer-box {
  min-height: 100vh;
}

up-drawer[size=small] up-drawer-box {
  width: 150px;
}

up-drawer[size=medium] up-drawer-box {
  width: 340px;
}

up-drawer[size=large] up-drawer-box {
  width: 600px;
}

up-drawer[size=grow] up-drawer-box {
  width: auto;
}

up-drawer[size=full] up-drawer-box {
  width: 100%;
}

up-cover-box {
  width: 100%;
  min-height: 100vh;
  padding: 0;
}

up-popup {
  padding: 15px;
  text-align: left;
}

up-popup[size=small] {
  width: 180px;
}

up-popup[size=medium] {
  width: 300px;
}

up-popup[size=large] {
  width: 550px;
}

up-popup[size=grow] up-popup {
  width: auto;
}

up-popup[size=full] up-popup {
  width: 100%;
}

[up-clickable][role=link] {
  cursor: pointer;
}

[up-expand]:not([role]), [up-expand][role=link] {
  cursor: pointer;
}

/*!
 * FilePond 4.32.10
 * Licensed under MIT, https://opensource.org/licenses/MIT/
 * Please visit https://pqina.nl/filepond/ for details.
 */

/* eslint-disable */

.filepond--assistant {
    position: absolute;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Hard to override styles */

.filepond--browser.filepond--browser {
    /* is positioned absolute so it is focusable for form validation errors */
    position: absolute;
    margin: 0;
    padding: 0;

    /* is positioned ~behind drop label */
    left: 1em;
    top: 1.75em;
    width: calc(100% - 2em);

    /* hide visually */
    opacity: 0;
    font-size: 0; /* removes text cursor in Internet Explorer 11 */
}

.filepond--data {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    margin: 0;
    border: none;
    visibility: hidden;
    pointer-events: none;
    contain: strict;
}

.filepond--drip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    opacity: 0.1;

    /* can't interact with this element */
    pointer-events: none;

    /* inherit border radius from parent (needed for drip-blob cut of) */
    border-radius: 0.5em;

    /* this seems to prevent Chrome from redrawing this layer constantly */
    background: rgba(0, 0, 0, 0.01);
}

.filepond--drip-blob {
    position: absolute;
    transform-origin: center center;
    top: 0;
    left: 0;
    width: 8em;
    height: 8em;
    margin-left: -4em;
    margin-top: -4em;
    background: #292625;
    border-radius: 50%;

    /* will be animated */
    will-change: transform, opacity;
}

.filepond--drop-label {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0;
    color: #4f4f4f;

    /* center contents */
    display: flex;
    justify-content: center;
    align-items: center;

    /* fixes IE11 centering problems (is overruled by label min-height) */
    height: 0px;

    /* dont allow selection */
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    /* will be animated */
    will-change: transform, opacity;
}

/* Hard to override styles on purpose */

.filepond--drop-label.filepond--drop-label label {
    display: block;
    margin: 0;
    padding: 0.5em; /* use padding instead of margin so click area is not impacted */
}

.filepond--drop-label label {
    cursor: default;
    font-size: 0.875em;
    font-weight: normal;
    text-align: center;
    line-height: 1.5;
}

.filepond--label-action {
    text-decoration: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
    text-decoration-color: #a7a4a4;
    cursor: pointer;
}

.filepond--root[data-disabled] .filepond--drop-label label {
    opacity: 0.5;
}

/* Hard to override styles */

.filepond--file-action-button.filepond--file-action-button {
    font-size: 1em;
    width: 1.625em;
    height: 1.625em;

    font-family: inherit;
    line-height: inherit;

    margin: 0;
    padding: 0;
    border: none;
    outline: none;

    will-change: transform, opacity;

    /* hidden label */
}

.filepond--file-action-button.filepond--file-action-button span {
    position: absolute;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
}

.filepond--file-action-button.filepond--file-action-button {
    /* scale SVG to fill button */
}

.filepond--file-action-button.filepond--file-action-button svg {
    width: 100%;
    height: 100%;
}

.filepond--file-action-button.filepond--file-action-button {
    /* bigger touch area */
}

.filepond--file-action-button.filepond--file-action-button::after {
    position: absolute;
    left: -0.75em;
    right: -0.75em;
    top: -0.75em;
    bottom: -0.75em;
    content: '';
}

/* Soft styles */

.filepond--file-action-button {
    /* use default arrow cursor */
    cursor: auto;

    /* reset default button styles */
    color: #fff;

    /* set default look n feel */
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
    background-image: none;

    /* we animate box shadow on focus */
    /* it's only slightly slower than animating */
    /* a pseudo-element with transforms and renders */
    /* a lot better on chrome */
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    transition: box-shadow 0.25s ease-in;
}

.filepond--file-action-button:hover,
.filepond--file-action-button:focus {
    box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.9);
}

.filepond--file-action-button[disabled] {
    color: rgba(255, 255, 255, 0.5);
    background-color: rgba(0, 0, 0, 0.25);
}

.filepond--file-action-button[hidden] {
    display: none;
}

/* edit button */

.filepond--action-edit-item.filepond--action-edit-item {
    width: 2em;
    height: 2em;
    padding: 0.1875em;
}

.filepond--action-edit-item.filepond--action-edit-item[data-align*='center'] {
    margin-left: -0.1875em;
}

.filepond--action-edit-item.filepond--action-edit-item[data-align*='bottom'] {
    margin-bottom: -0.1875em;
}

.filepond--action-edit-item-alt {
    border: none;
    line-height: inherit;
    background: transparent;
    font-family: inherit;
    color: inherit;
    outline: none;
    padding: 0;
    margin: 0 0 0 0.25em;
    pointer-events: all;
    position: absolute;
}

.filepond--action-edit-item-alt svg {
    width: 1.3125em;
    height: 1.3125em;
}

.filepond--action-edit-item-alt span {
    font-size: 0;
    opacity: 0;
}

.filepond--file-info {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
    margin: 0 0.5em 0 0;
    min-width: 0;

    /* will be animated */
    will-change: transform, opacity;

    /* can't do anything with this info */
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    /* no margins on children */
}

.filepond--file-info * {
    margin: 0;
}

.filepond--file-info {
    /* we don't want to have these overrules so these selectors are a bit more specific */
}

.filepond--file-info .filepond--file-info-main {
    font-size: 0.75em;
    line-height: 1.2;

    /* we want ellipsis if this bar gets too wide */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}

.filepond--file-info .filepond--file-info-sub {
    font-size: 0.625em;
    opacity: 0.5;
    transition: opacity 0.25s ease-in-out;
    white-space: nowrap;
}

.filepond--file-info .filepond--file-info-sub:empty {
    display: none;
}

.filepond--file-status {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-grow: 0;
    flex-shrink: 0;

    margin: 0;
    min-width: 2.25em;
    text-align: right;

    /* will be animated */
    will-change: transform, opacity;

    /* can't do anything with this info */
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;

    /* no margins on children */
}

.filepond--file-status * {
    margin: 0;
    white-space: nowrap;
}

.filepond--file-status {
    /* font sizes */
}

.filepond--file-status .filepond--file-status-main {
    font-size: 0.75em;
    line-height: 1.2;
}

.filepond--file-status .filepond--file-status-sub {
    font-size: 0.625em;
    opacity: 0.5;
    transition: opacity 0.25s ease-in-out;
}

/* Hard to override styles */

.filepond--file-wrapper.filepond--file-wrapper {
    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    height: 100%;

    /* hide legend for visual users */
}

.filepond--file-wrapper.filepond--file-wrapper > legend {
    position: absolute;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
}

.filepond--file {
    position: static;
    display: flex;
    height: 100%;
    align-items: flex-start;

    padding: 0.5625em 0.5625em;

    color: #fff;
    border-radius: 0.5em;

    /* control positions */
}

.filepond--file .filepond--file-status {
    margin-left: auto;
    margin-right: 2.25em;
}

.filepond--file .filepond--processing-complete-indicator {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 3;
}

.filepond--file .filepond--processing-complete-indicator,
.filepond--file .filepond--progress-indicator,
.filepond--file .filepond--file-action-button {
    position: absolute;
}

.filepond--file {
    /* .filepond--file-action-button */
}

.filepond--file [data-align*='left'] {
    left: 0.5625em;
}

.filepond--file [data-align*='right'] {
    right: 0.5625em;
}

.filepond--file [data-align*='center'] {
    left: calc(50% - 0.8125em); /* .8125 is half of button width */
}

.filepond--file [data-align*='bottom'] {
    bottom: 1.125em;
}

.filepond--file [data-align='center'] {
    top: calc(50% - 0.8125em);
}

.filepond--file .filepond--progress-indicator {
    margin-top: 0.1875em;
}

.filepond--file .filepond--progress-indicator[data-align*='right'] {
    margin-right: 0.1875em;
}

.filepond--file .filepond--progress-indicator[data-align*='left'] {
    margin-left: 0.1875em;
}

/* make sure text does not overlap */

[data-filepond-item-state='cancelled'] .filepond--file-info,
[data-filepond-item-state*='invalid'] .filepond--file-info,
[data-filepond-item-state*='error'] .filepond--file-info {
    margin-right: 2.25em;
}

[data-filepond-item-state~='processing'] .filepond--file-status-sub {
    opacity: 0;
}

[data-filepond-item-state~='processing']
    .filepond--action-abort-item-processing
    ~ .filepond--file-status
    .filepond--file-status-sub {
    opacity: 0.5;
}

[data-filepond-item-state='processing-error'] .filepond--file-status-sub {
    opacity: 0;
}

[data-filepond-item-state='processing-error']
    .filepond--action-retry-item-processing
    ~ .filepond--file-status
    .filepond--file-status-sub {
    opacity: 0.5;
}

[data-filepond-item-state='processing-complete'] {
    /* busy state */
}

[data-filepond-item-state='processing-complete'] .filepond--action-revert-item-processing svg {
    animation: fall 0.5s 0.125s linear both;
}

[data-filepond-item-state='processing-complete'] {
    /* hide details by default, only show when can revert */
}

[data-filepond-item-state='processing-complete'] .filepond--file-status-sub {
    opacity: 0.5;
}

[data-filepond-item-state='processing-complete']
    .filepond--processing-complete-indicator:not([style*='hidden'])
    ~ .filepond--file-status
    .filepond--file-status-sub {
    opacity: 0;
}

[data-filepond-item-state='processing-complete'] .filepond--file-info-sub {
    opacity: 0;
}

[data-filepond-item-state='processing-complete']
    .filepond--action-revert-item-processing
    ~ .filepond--file-info
    .filepond--file-info-sub {
    opacity: 0.5;
}

/* file state can be invalid or error, both are visually similar but */

/* having them as separate states might be useful */

[data-filepond-item-state*='invalid'] .filepond--panel,
[data-filepond-item-state*='invalid'] .filepond--file-wrapper,
[data-filepond-item-state*='error'] .filepond--panel,
[data-filepond-item-state*='error'] .filepond--file-wrapper {
    animation: shake 0.65s linear both;
}

/* spins progress indicator when file is marked as busy */

[data-filepond-item-state*='busy'] .filepond--progress-indicator svg {
    animation: spin 1s linear infinite;
}

/**
 * States
 */

@keyframes spin {
    0% {
        transform: rotateZ(0deg);
    }

    100% {
        transform: rotateZ(360deg);
    }
}

@keyframes shake {
    10%,
    90% {
        transform: translateX(-0.0625em);
    }

    20%,
    80% {
        transform: translateX(0.125em);
    }

    30%,
    50%,
    70% {
        transform: translateX(-0.25em);
    }

    40%,
    60% {
        transform: translateX(0.25em);
    }
}

@keyframes fall {
    0% {
        opacity: 0;
        transform: scale(0.5);
        animation-timing-function: ease-out;
    }

    70% {
        opacity: 1;
        transform: scale(1.1);
        animation-timing-function: ease-in-out;
    }

    100% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}

/* ignore all other interaction elements while dragging a file */

.filepond--hopper[data-hopper-state='drag-over'] > * {
    pointer-events: none;
}

/* capture all hit tests using a hidden layer, this speeds up the event flow */

.filepond--hopper[data-hopper-state='drag-over']::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
}

.filepond--progress-indicator {
    z-index: 103;
}

.filepond--file-action-button {
    z-index: 102;
}

.filepond--file-status {
    z-index: 101;
}

.filepond--file-info {
    z-index: 100;
}

.filepond--item {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;

    padding: 0;
    margin: 0.25em;

    will-change: transform, opacity;

    touch-action: auto;

    /* item children order */
}

.filepond--item > .filepond--panel {
    z-index: -1;
}

/* has a slight shadow */

.filepond--item > .filepond--panel .filepond--panel-bottom {
    box-shadow: 0 0.0625em 0.125em -0.0625em rgba(0, 0, 0, 0.25);
}

.filepond--item {
    /* drag related */
}

.filepond--item > .filepond--file-wrapper,
.filepond--item > .filepond--panel {
    transition: opacity 0.15s ease-out;
}

.filepond--item[data-drag-state] {
    cursor: grab;
}

.filepond--item[data-drag-state] > .filepond--panel {
    transition: box-shadow 0.125s ease-in-out;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.filepond--item[data-drag-state='drag'] {
    cursor: grabbing;
}

.filepond--item[data-drag-state='drag'] > .filepond--panel {
    box-shadow: 0 0.125em 0.3125em rgba(0, 0, 0, 0.325);
}

.filepond--item[data-drag-state]:not([data-drag-state='idle']) {
    z-index: 2;
}

/* states */

.filepond--item-panel {
    background-color: #64605e;
}

[data-filepond-item-state='processing-complete'] .filepond--item-panel {
    background-color: #369763;
}

[data-filepond-item-state*='invalid'] .filepond--item-panel,
[data-filepond-item-state*='error'] .filepond--item-panel {
    background-color: #c44e47;
}

/* style of item panel */

.filepond--item-panel {
    border-radius: 0.5em;
    transition: background-color 0.25s;
}

/* normal mode */

.filepond--list-scroller {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    will-change: transform;
}

/* scroll mode */

.filepond--list-scroller[data-state='overflow'] .filepond--list {
    bottom: 0;
    right: 0;
}

.filepond--list-scroller[data-state='overflow'] {
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-mask: linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%);
    mask: linear-gradient(to bottom, #000 calc(100% - 0.5em), transparent 100%);
}

/* style scrollbar */

.filepond--list-scroller::-webkit-scrollbar {
    background: transparent;
}

.filepond--list-scroller::-webkit-scrollbar:vertical {
    width: 1em;
}

.filepond--list-scroller::-webkit-scrollbar:horizontal {
    height: 0;
}

.filepond--list-scroller::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 99999px;
    border: 0.3125em solid transparent;
    background-clip: content-box;
}

/* hard to overide styles on purpose */

.filepond--list.filepond--list {
    position: absolute;
    top: 0;
    margin: 0;
    padding: 0;
    list-style-type: none;

    /* prevents endless paint calls on filepond--list-scroller */
    will-change: transform;
}

/* used for padding so allowed to be restyled */

.filepond--list {
    left: 0.75em;
    right: 0.75em;
}

.filepond--root[data-style-panel-layout~='integrated'] {
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--panel-root,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--panel-root {
    border-radius: 0;
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--panel-root > *,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--panel-root > * {
    display: none;
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--drop-label,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--drop-label {
    bottom: 0;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 7;
}

.filepond--root[data-style-panel-layout~='circle'],
.filepond--root[data-style-panel-layout~='integrated'] {
    /* we're only loading one item, this makes the intro animation a bit nicer */
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--item-panel,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--item-panel {
    display: none;
}

.filepond--root[data-style-panel-layout~='compact'] .filepond--list-scroller,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--list-scroller {
    overflow: hidden;
    height: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.filepond--root[data-style-panel-layout~='compact'] .filepond--list,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--list {
    left: 0;
    right: 0;
    height: 100%;
}

.filepond--root[data-style-panel-layout~='compact'] .filepond--item,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--item {
    margin: 0;
}

.filepond--root[data-style-panel-layout~='compact'] .filepond--file-wrapper,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--file-wrapper {
    height: 100%;
}

.filepond--root[data-style-panel-layout~='compact'] .filepond--drop-label,
.filepond--root[data-style-panel-layout~='integrated'] .filepond--drop-label {
    z-index: 7;
}

.filepond--root[data-style-panel-layout~='circle'] {
    border-radius: 99999rem;
    overflow: hidden;
}

.filepond--root[data-style-panel-layout~='circle'] > .filepond--panel {
    border-radius: inherit;
}

.filepond--root[data-style-panel-layout~='circle'] > .filepond--panel > * {
    display: none;
}

.filepond--root[data-style-panel-layout~='circle'] {
    /* circle cuts of this info, so best to hide it */
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--file-info {
    display: none;
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--file-status {
    display: none;
}

.filepond--root[data-style-panel-layout~='circle'] .filepond--action-edit-item {
    opacity: 1 !important;
    visibility: visible !important;
}

/* dirfty way to fix circular overflow issue on safari 11+ */

@media not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) and (stroke-color: transparent) {
        .filepond--root[data-style-panel-layout~='circle'] {
            will-change: transform;
        }
    }
}

.filepond--panel-root {
    border-radius: 0.5em;
    background-color: #f1f0ef;
}

.filepond--panel {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    margin: 0;

    /* defaults to 100% height (fixed height mode) this fixes problem with panel height in IE11 */
    height: 100% !important;

    /* no interaction possible with panel */
    pointer-events: none;
}

.filepond-panel:not([data-scalable='false']) {
    height: auto !important;
}

.filepond--panel[data-scalable='false'] > div {
    display: none;
}

.filepond--panel[data-scalable='true'] {
    /* this seems to fix Chrome performance issues */
    /* - when box-shadow is enabled */
    /* - when multiple ponds are active on the same page */
    transform-style: preserve-3d;

    /* prevent borders and backgrounds */
    background-color: transparent !important;
    border: none !important;
}

.filepond--panel-top,
.filepond--panel-bottom,
.filepond--panel-center {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
}

.filepond--panel-top,
.filepond--panel-bottom {
    height: 0.5em;
}

.filepond--panel-top {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom: none !important;

    /* fixes tiny transparant line between top and center panel */
}

.filepond--panel-top::after {
    content: '';
    position: absolute;
    height: 2px;
    left: 0;
    right: 0;
    bottom: -1px;
    background-color: inherit;
}

.filepond--panel-center,
.filepond--panel-bottom {
    will-change: transform;
    backface-visibility: hidden;
    transform-origin: left top;
    transform: translate3d(0, 0.5em, 0);
}

.filepond--panel-bottom {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none !important;

    /* fixes tiny transparant line between bottom and center of panel */
}

.filepond--panel-bottom::before {
    content: '';
    position: absolute;
    height: 2px;
    left: 0;
    right: 0;
    top: -1px;
    background-color: inherit;
}

.filepond--panel-center {
    /* the center panel is scaled using scale3d to fit the correct height */
    /* we use 100px instead of 1px as scaling 1px to a huge height is really laggy on chrome */
    height: 100px !important;
    border-top: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;

    /* hide if not transformed, prevents a little flash when the panel is at 100px height while attached for first time */
}

.filepond--panel-center:not([style]) {
    visibility: hidden;
}

.filepond--progress-indicator {
    position: static;
    width: 1.25em;
    height: 1.25em;

    color: #fff;

    /* can't have margins */
    margin: 0;

    /* no interaction possible with progress indicator */
    pointer-events: none;

    /* will be animated */
    will-change: transform, opacity;
}

.filepond--progress-indicator svg {
    width: 100%;
    height: 100%;
    vertical-align: top;
    transform-box: fill-box; /* should center the animation correctly when zoomed in */
}

.filepond--progress-indicator path {
    fill: none;
    stroke: currentColor;
}

.filepond--list-scroller {
    z-index: 6;
}

.filepond--drop-label {
    z-index: 5;
}

.filepond--drip {
    z-index: 3;
}

.filepond--root > .filepond--panel {
    z-index: 2;
}

.filepond--browser {
    z-index: 1;
}

.filepond--root {
    /* layout*/
    box-sizing: border-box;
    position: relative;
    margin-bottom: 1em;

    /* base font size for whole component */
    font-size: 1rem;

    /* base line height */
    line-height: normal;

    /* up uses default system font family */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
        'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';

    /* will increase font weight a bit on Safari */
    font-weight: 450;

    /* default text alignment */
    text-align: left;

    /* better text rendering on Safari */
    text-rendering: optimizeLegibility;

    /* text direction is ltr for now */
    direction: ltr;

    /* optimize rendering */
    /* https://developer.mozilla.org/en-US/docs/Web/CSS/contain */
    contain: layout style size;

    /* correct box sizing, line-height and positioning on child elements */
}

.filepond--root * {
    box-sizing: inherit;
    line-height: inherit;
}

.filepond--root *:not(text) {
    font-size: inherit;
}

.filepond--root {
    /* block everything */
}

.filepond--root[data-disabled] {
    pointer-events: none;
}

.filepond--root[data-disabled] .filepond--list-scroller {
    pointer-events: all;
}

.filepond--root[data-disabled] .filepond--list {
    pointer-events: none;
}

/**
 * Root element children layout
 */

.filepond--root .filepond--drop-label {
    min-height: 4.75em;
}

.filepond--root .filepond--list-scroller {
    margin-top: 1em;
    margin-bottom: 1em;
}

.filepond--root .filepond--credits {
    position: absolute;
    right: 0;
    opacity: 0.4;
    line-height: 0.85;
    font-size: 11px;
    color: inherit;
    text-decoration: none;
    z-index: 3;
    bottom: -14px;
}

.filepond--root .filepond--credits[style] {
    top: 0;
    bottom: auto;
    margin-top: 14px;
}

/*!
 * FilePondPluginImagePreview 4.6.12
 * Licensed under MIT, https://opensource.org/licenses/MIT/
 * Please visit https://pqina.nl/filepond/ for details.
 */

/* eslint-disable */

.filepond--image-preview-markup {
  position: absolute;
  left: 0;
  top: 0;
}

.filepond--image-preview-wrapper {
  z-index: 2;
}

.filepond--image-preview-overlay {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 5rem;
  max-height: 7rem;
  margin: 0;
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.filepond--image-preview-overlay svg {
  width: 100%;
  height: auto;
  color: inherit;
  max-height: inherit;
}

.filepond--image-preview-overlay-idle {
  mix-blend-mode: multiply;
  color: rgba(40, 40, 40, 0.85);
}

.filepond--image-preview-overlay-success {
  mix-blend-mode: normal;
  color: rgba(54, 151, 99, 1);
}

.filepond--image-preview-overlay-failure {
  mix-blend-mode: normal;
  color: rgba(196, 78, 71, 1);
}

/* disable for Safari as mix-blend-mode causes the overflow:hidden of the parent container to not work */

@supports (-webkit-marquee-repetition: infinite) and
  ((-o-object-fit: fill) or (object-fit: fill)) {
  .filepond--image-preview-overlay-idle {
    mix-blend-mode: normal;
  }
}

.filepond--image-preview-wrapper {
  /* no interaction */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;

  /* have preview fill up all available space */
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 100%;
  margin: 0;

  /* radius is .05em less to prevent the panel background color from shining through */
  border-radius: 0.45em;
  overflow: hidden;

  /* this seems to prevent Chrome from redrawing this layer constantly */
  background: rgba(0, 0, 0, 0.01);
}

.filepond--image-preview {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: flex; /* this aligns the graphic vertically if the panel is higher than the image */
  align-items: center;
  height: 100%;
  width: 100%;
  pointer-events: none;
  background: #222;

  /* will be animated */
  will-change: transform, opacity;
}

.filepond--image-clip {
  position: relative;
  overflow: hidden;
  margin: 0 auto;

  /* transparency indicator (currently only supports grid or basic color) */
}

.filepond--image-clip[data-transparency-indicator='grid'] img,
.filepond--image-clip[data-transparency-indicator='grid'] canvas {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E");
  background-size: 1.25em 1.25em;
}

.filepond--image-bitmap,
.filepond--image-vector {
  position: absolute;
  left: 0;
  top: 0;
  will-change: transform;
}

.filepond--root[data-style-panel-layout~='integrated']
  .filepond--image-preview-wrapper {
  border-radius: 0;
}

.filepond--root[data-style-panel-layout~='integrated']
  .filepond--image-preview {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--image-preview-wrapper {
  border-radius: 99999rem;
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--image-preview-overlay {
  top: auto;
  bottom: 0;
  transform: scaleY(-1);
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--file
  .filepond--file-action-button[data-align*='bottom']:not([data-align*='center']) {
  margin-bottom: 0.325em;
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--file
  [data-align*='left'] {
  left: calc(50% - 3em);
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--file
  [data-align*='right'] {
  right: calc(50% - 3em);
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--progress-indicator[data-align*='bottom'][data-align*='left'],
.filepond--root[data-style-panel-layout~='circle']
  .filepond--progress-indicator[data-align*='bottom'][data-align*='right'] {
  margin-bottom: calc(0.325em + 0.1875em);
}

.filepond--root[data-style-panel-layout~='circle']
  .filepond--progress-indicator[data-align*='bottom'][data-align*='center'] {
  margin-top: 0;
  margin-bottom: 0.1875em;
  margin-left: 0.1875em;
}

/* ! tailwindcss v3.3.1 | 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.
*/

html {
  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: Nunito, Inter, Arial, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
}

/*
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. Correct the odd `em` font sizing in all browsers.
*/

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

/*
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-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: 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,
[type='button'],
[type='reset'],
[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;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

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

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

/*
Set the default cursor for buttons.
*/

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

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

:disabled {
  cursor: default;
}

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

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

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

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

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

[hidden] {
  display: none;
}

[type='text'],[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, [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;
}

::-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] {
  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");
}

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

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

[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 Variables */

:root {
    --ae-purple: 132 82 161;
    /* rgb components */
  }

/* Nunito Font Faces */

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-ExtraLight.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-ExtraLightItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Light.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-LightItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Regular.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Italic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Medium.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-MediumItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-SemiBold.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-SemiBoldItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Bold.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-BoldItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-ExtraBold.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-ExtraBoldItalic.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-Black.ttf') format('truetype');
  }

@font-face {
    font-family: 'Nunito';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/Nunito/Nunito-BlackItalic.ttf') format('truetype');
  }

/* Body */

body {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
    font-family: 'Nunito', 'Inter', Arial, sans-serif;
    min-width: 1024px;
    font-size: 1.0625rem;
    line-height: 1.5625rem;
}

/* Typography - Links */

a {
  --tw-text-opacity: 1;
  color: rgb(107 66 128 / var(--tw-text-opacity));
}

a:hover {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

/* Ensure clickable anchors show pointer cursor even without href */

a[up-back],
  a[up-follow],
  a[up-layer],
  a[up-target],
  a[onclick] {
    cursor: pointer;
  }

/* Typography - Headings */

h1,
  h2,
  h3,
  h4 {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

/* Typography - Lists */

ul,
  ol {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity));
}

ul > li::marker,
  ol > li::marker {
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

/* Unordered lists - better spacing and markers */

ul {
  margin-left: 1.5rem;
  list-style-position: outside;
  list-style-type: disc;
}

ul > :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));
}

/* Ordered lists - better spacing and numbers */

ol {
  margin-left: 1.5rem;
  list-style-position: outside;
  list-style-type: decimal;
}

ol > :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));
}

/* List items - proper spacing */

li {
  line-height: 1.625;
}

/* Nested lists - proper indentation */

ul ul,
  ol ol,
  ul ol,
  ol ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

/* Nested unordered lists - use circle markers */

ul ul {
    list-style-type: circle;
  }

/* Nested ordered lists - use lowercase letters */

ol ol {
    list-style-type: lower-alpha;
  }

/* Remove default margins from list items when they contain paragraphs */

li > p {
  margin-bottom: 0px;
}

li > p + p {
  margin-top: 0.5rem;
}

strong {
  font-weight: 800;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

/* Custom Scrollbar - WebKit (Chrome, Safari, Edge) */

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }

::-webkit-scrollbar-track {
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

::-webkit-scrollbar-thumb {
  border-radius: 9999px;
  background-color: rgb(132 82 161 / 0.4);
  -webkit-transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  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;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgb(132 82 161 / 0.6);
}

/* Custom Scrollbar - Firefox */

* {
    scrollbar-width: thin;
    scrollbar-color: rgb(107 59 118 / 0.4) rgb(243 244 246);
  }

*, ::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-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:  ;
}

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

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

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

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

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

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

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

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

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

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

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

.form-radio {
  border-radius: 100%;
}

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

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

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

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

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

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

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

/* ========================================================================
     LAYOUT - Page structure and containers
     ======================================================================== */

/* Filter cards - responsive spacing */

.ae-filter-card {
  max-width: 100%;
}

/* Optimized layout for 1024-1280px (site minimum is 1024px) */

@media (min-width: 1024px) and (max-width: 1280px) {
    .ae-filter-card {
      padding: 10px 12px;
    }

    .ae-filter-card .ae-filter-row {
      gap: 8px !important;
    }

    .ae-filter-card .ae-filter-row>* {
      min-width: 0;
      flex: 1 1 180px;
    }

    /* Tighter button styling */
    .ae-filter-card .ae-btn {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */
    .ae-filter-card input[type="date"] {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px;
  }

    /* Compact radio tabs */
    .ae-filter-card [class*="radio-group-tabs"] label,
    .ae-filter-card .peer-checked\:bg-white {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 4px 8px;
  }

    /* Tighter select inputs */
    .ae-filter-card select {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px;
  }

    /* Reduce separator margin */
    .ae-filter-card .border-t {
      margin-bottom: 12px !important;
    }

    /* Compact search input within tabs */
    .ae-filter-card input[type="search"] {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px 6px 32px;
  }

    /* Constrain widths of date inputs */
    .ae-filter-card input[type="date"] {
      max-width: 90%;
    }

    /* Compact radio group spacing */
    .ae-filter-card .form-radio+span {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      margin-left: 4px;
  }

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.font-medium {
      padding: 0 2px;
    }

    /* Constrain select width */
    .ae-filter-card select {
      max-width: 90%;
    }
  }

/* Fallback for screens <= 1280px (catches edge cases) */

@media (max-width: 1280px) {
    .ae-filter-card {
      padding: 12px;
    }

    .ae-filter-card .ae-filter-row>* {
      min-width: 0;
      flex: 1 1 200px;
    }
  }

.ae-page-shell {
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
  padding: 1rem;
}

@media (min-width: 768px) {

  .ae-page-shell {
    padding: 1.5rem;
  }
}

.ae-section-header {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ae-section-title {
  font-size: 1.0625rem;
  line-height: 1.5625rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
}

/* ========================================================================
     CARDS - Card containers and components
     ======================================================================== */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-card.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-card {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --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);
}

.ae-card-body {
  padding: 1.5rem;
}

.ae-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.ae-card-spacing > :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));
}

.ae-card-title {
  font-size: 1.0625rem;
  line-height: 1.5625rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

/* ========================================================================
     STICKY FOOTER - Form action bar that sticks to bottom
     Uses Alpine.js to detect "resting" state (at natural position vs stuck)
     ======================================================================== */

.ae-sticky-footer {
  position: relative;
  margin-top: 1.25rem;
  overflow: hidden;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 40;
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    /* Entrance animation - start hidden */
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

/* Mounted state - animate in */

.ae-sticky-footer.is-mounted {
    opacity: 1;
    transform: translateY(0);
  }

.ae-sticky-footer-bar {
  position: relative;
  overflow: hidden;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --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);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Resting state: footer at natural position, not stuck to viewport */

.ae-sticky-footer.is-resting .ae-sticky-footer-bar {
  border-radius: 1rem;
  --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: white;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-sticky-footer-content.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-sticky-footer-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-sticky-footer-status {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-sticky-footer-status {
  min-width: 0px;
  flex: 1 1 0%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

@media (max-width: 1280px) {

    /* Topbar stays fixed at top */

    /* Main content scrolls independently */

    /* Show gutter when sidebar is closed */

    /* Hide gutter when sidebar is open */
    .ae-sidebar-gutter.ae-sticky-footer-status {
      display: none;
    }

    /* Pin button inside sidebar when open */

    /* Close button inside sidebar when open */
  }

.ae-sticky-footer-status {
  display: none;
}

@media (min-width: 640px) {

  .ae-sticky-footer-status {
    display: block;
  }
}

.ae-sticky-footer-actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
}

/* Cancel Button */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-sticky-footer-cancel.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-sticky-footer-cancel {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-sticky-footer-cancel.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-sticky-footer-cancel {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-sticky-footer-cancel {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-sticky-footer-cancel {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-sticky-footer-cancel {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
  cursor: pointer;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.ae-sticky-footer-cancel:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}

.ae-sticky-footer-cancel:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity));
  --tw-ring-offset-width: 2px;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .ae-sticky-footer-cancel svg.font-medium {
      padding: 0 2px;
    }

    /* Constrain select width */
  }

.ae-sticky-footer-cancel svg {
  height: 1rem;
  width: 1rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
  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;
}

.ae-sticky-footer-cancel:hover svg {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

/* Submit Button */

.ae-sticky-footer-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-sticky-footer-submit {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-sticky-footer-submit {
  border-radius: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.ae-sticky-footer-submit:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
  --tw-ring-offset-width: 2px;
}

.ae-sticky-footer-submit:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.ae-sticky-footer-submit {
    background: linear-gradient(135deg, rgb(132 82 161), rgb(107 59 118));
    box-shadow: 0 4px 12px -2px rgba(132, 82, 161, 0.3);
  }

.ae-sticky-footer-submit:hover:not(:disabled) {
    background: linear-gradient(135deg, rgb(145 95 175), rgb(120 72 132));
    box-shadow: 0 6px 16px -2px rgba(132, 82, 161, 0.4);
    transform: translateY(-1px);
  }

.ae-sticky-footer-submit:active:not(:disabled) {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 2px 8px -2px rgba(132, 82, 161, 0.3);
  }

.ae-sticky-footer-submit svg {
  height: 1rem;
  width: 1rem;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.ae-sticky-footer-submit:hover:not(:disabled) svg {
    transform: scale(1.1);
  }

/* ========================================================================
     BUTTONS - Button variants and sizes
     ======================================================================== */

/* Base button (no focus ring, variants set their own) */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-btn {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-btn.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

/* Button variants */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */
    .ae-filter-card .ae-btn-ghost {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter button styling */
    .ae-filter-card .ae-btn-ghost {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-btn-ghost {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-btn-ghost.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-ghost {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-ghost {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
  }

.ae-btn-ghost {
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-btn-ghost:hover {
  background-color: rgb(132 82 161 / 0.05);
}

.ae-btn-ghost:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */
    .ae-filter-card .ae-btn-primary {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter button styling */
    .ae-filter-card .ae-btn-primary {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-btn-primary {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-btn-primary.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-primary {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-primary {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
  }

.ae-btn-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(132 82 161 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-btn-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(82 51 95 / var(--tw-bg-opacity));
}

.ae-btn-primary:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */
    .ae-filter-card .ae-btn-secondary {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter button styling */
    .ae-filter-card .ae-btn-secondary {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-btn-secondary {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-btn-secondary.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-secondary {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-secondary {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-btn-secondary.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

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

.ae-btn-secondary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-btn-secondary:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */
    .ae-filter-card .ae-btn-success {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter button styling */
    .ae-filter-card .ae-btn-success {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-btn-success {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-btn-success.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-success {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */
    table .ae-btn-success {
      padding: 4px 8px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
  }

.ae-btn-success {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-btn-success:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity));
}

.ae-btn-success:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity));
}

/* Button sizes */

.ae-btn-sm {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
}

.ae-btn-xs {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
}

/* ========================================================================
     ACTION LINKS - Inline action links (simpler than full buttons)
     ======================================================================== */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-action-link-danger {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-action-link-danger {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-action-link-danger {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 500;
  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;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.ae-action-link-danger:hover {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-action-link-muted {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-action-link-muted {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-action-link-muted {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 500;
  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;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.ae-action-link-muted:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-action-link-primary {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-action-link-primary {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-action-link-primary {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 500;
  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;
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-action-link-primary:hover {
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-action-link-success {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-action-link-success {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-action-link-success {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  font-weight: 500;
  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;
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}

.ae-action-link-success:hover {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity));
}

/* ========================================================================
     FORMS - Form controls and validation states
     ======================================================================== */

.ae-form-label {
  margin-bottom: 0.5rem;
  display: block;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.ae-form-input {
  display: block;
  width: 100%;
  border-radius: 0.375rem;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --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);
}

.ae-form-input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.ae-form-help {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.ae-form-error {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.ae-input-error {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity));
}

.ae-input-error::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(252 165 165 / var(--tw-placeholder-opacity));
}

.ae-input-error::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(252 165 165 / var(--tw-placeholder-opacity));
}

.ae-input-error:focus {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));
}

/* ========================================================================
     BADGES - Status badges and labels
     ======================================================================== */

.ae-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 600;
}

/* ========================================================================
     TABLES - Table styling
     ======================================================================== */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-table-shell.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-table-shell {
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --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);
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-table {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
  }

.ae-table {
  min-width: 100%;
}

.ae-table > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity));
}

.ae-table {
  font-size: 0.875rem;
  line-height: 1.1875rem;
  line-height: 1.25;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-table thead th {
      padding: 0 2px;
    }

    /* Constrain select width */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-table thead th.py-3.border-t {
      padding: 8px 12px;
    }

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.px-4.ae-table thead th.border-t {
      padding: 8px 12px;
    }
  }

.ae-table thead th {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    [x-show="selectedCount > 0"] .ae-table tbody td {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-table tbody td.py-3.border-t {
      padding: 8px 12px;
    }

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.px-4.ae-table tbody td.border-t {
      padding: 8px 12px;
    }
  }

.ae-table tbody td {
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.1875rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

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

.ae-table tbody tr:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

/* Table compactness for 1024-1280px resolution */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */
    table thead th {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    table tbody td {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
    table th:first-child,
    table td:first-child {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
    table .ae-btn,
    table a[up-layer],
    table button {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
    table th a svg {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
    [x-show="selectedCount > 0"] {
      padding: 8px 12px !important;
    }

    [x-show="selectedCount > 0"] .text-sm {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
    .bg-white.px-4.py-3.border-t {
      padding: 8px 12px !important;
    }
  }

/* ========================================================================
     UNPOLY MODALS - Modal styling for Unpoly framework

     Two modal types:
     1. STANDARD - Default white box with padding, shadows, scrolling
        Usage: up-layer="new" (no special class needed)

     2. BARE - Strips all Unpoly styling, content provides its own
        Usage: up-layer="new" up-class="ae-modal--bare"
        Use for: image viewers, custom styled overlays
     ======================================================================== */

/* ------------------------------------------------------------------------
     STANDARD MODAL - Default styling for most modals
     - White background, rounded corners, shadow
     - Scrollable content area
     - Visible dismiss button
     ------------------------------------------------------------------------ */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    up-modal-box.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

up-modal-box {
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    width: auto;
    min-width: 320px;
    max-width: min(1200px, 95vw);
    max-height: 95vh;
    overflow: visible;
    /* Allow dropdowns to escape */
}

up-modal-content {
  padding: 1.5rem;
    max-height: 85vh;
    overflow-y: auto;
    overflow-x: visible;
    /* Allow dropdowns to escape horizontally */
}

up-modal-backdrop {
  background-color: rgb(17 24 39 / 0.7);
}

up-modal-dismiss {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 50;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
  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;
}

up-modal-dismiss:hover {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

/* Size variants - explicit widths */

up-modal[size="small"] up-modal-box {
    width: min(400px, 95vw);
  }

up-modal[size="medium"] up-modal-box {
    width: min(600px, 95vw);
  }

up-modal[size="large"] up-modal-box {
    width: min(900px, 95vw);
  }

/* Grow - content determines width up to max */

up-modal[size="grow"] up-modal-box {
    width: auto;
    max-width: min(1400px, 95vw);
  }

up-modal[size="full"] up-modal-box {
    width: 95vw;
    max-width: 95vw;
  }

/* ------------------------------------------------------------------------
     BARE MODAL - Stripped styling for viewers and custom content
     - Transparent background, no padding/shadow
     - Content provides all styling
     - Dismiss button hidden (content has its own)
     ------------------------------------------------------------------------ */

up-modal.ae-modal--bare up-modal-viewport {
    align-items: center !important;
    padding: 0;
  }

up-modal.ae-modal--bare up-modal-box {
    background: transparent;
    padding: 0;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
  }

up-modal.ae-modal--bare up-modal-content {
    padding: 0;
    overflow: visible;
  }

up-modal.ae-modal--bare up-modal-dismiss {
    display: none;
  }

up-modal.ae-modal--bare up-modal-backdrop {
    background: rgb(2 6 23 / 0.8);
    backdrop-filter: blur(8px);
  }

/* ------------------------------------------------------------------------
     LIVEBIND DROPDOWNS - Styling for search result dropdowns
     - Positioned absolutely within their container
     - High z-index to appear above modal content
     ------------------------------------------------------------------------ */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    [data-live-dropdown].px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

[data-live-dropdown] {
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --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);
    max-height: 280px;
    overflow-y: auto;
    z-index: 100;
}

/* Inside modals, dropdowns need even higher z-index */

up-modal [data-live-dropdown] {
    z-index: 99999;
  }

/* ========================================================================
     ADMIN LAYOUT - Main layout grid structure
     ======================================================================== */

.ae-admin-layout {
  display: grid;
  min-height: 100vh;
    grid-template-columns: 180px 1fr;
    grid-template-rows: 48px 1fr;
    grid-template-areas:
      "sidebar topbar"
      "sidebar main";
}

.ae-admin-main {
    grid-area: main;
    --tw-bg-opacity: 1;
    background-color: rgb(241 245 249 / var(--tw-bg-opacity));
    padding: 1rem;
    /* NOTE: Do NOT add overflow-y-auto here - it breaks position: sticky for descendants */
  }

/* Loading state during navigation - blur current content as "skeleton" */

.ae-admin-main.is-loading {
    filter: blur(3px) saturate(0.7);
    opacity: 0.6;
    pointer-events: none;
    transition: filter 0.1s ease-out, opacity 0.1s ease-out;
  }

/* ========================================================================
     SIDEBAR - Navigation sidebar styling
     ======================================================================== */

.ae-admin-sidebar {
    grid-area: sidebar;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    border-right-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(248 250 252 / var(--tw-bg-opacity));
    transition: transform 0.3s ease-in-out;
    position: sticky;
    top: 0;
    height: 100vh;
    align-self: start;
  }

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-sidebar-logo.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-sidebar-logo {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding: 1rem;
  text-align: center;
}

.ae-sidebar-logo img {
  height: auto;
  width: 100%;
  max-width: 120px;
}

.ae-sidebar-nav {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem;
}

/* Sidebar item - base styles */

.ae-sidebar-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-sidebar-item {
      padding: 0 2px;
    }

    /* Constrain select width */
  }

.ae-sidebar-item {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 13px;
  font-weight: 500;
  text-decoration-line: none;
  border-radius: 0.375rem;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
    background: transparent;
    box-shadow: none;
    padding-left: 1.1rem;
    /* rail gutter */
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    transition: background-color 120ms ease-out, transform 120ms ease-out;
}

/* Sidebar item - rail indicator */

.ae-sidebar-item::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 1px;
    border-radius: 1px;
    /* crisp, not pill-y */
    background: transparent;
    transition: background-color 120ms ease-out, width 120ms ease-out;
  }

/* Sidebar item - hover state */

.ae-sidebar-item:hover {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
    background-color: #fff;
    transform: translateX(0.5px);
}

.ae-sidebar-item:hover::before {
  --tw-bg-opacity: 1;
  background-color: rgb(82 51 95 / var(--tw-bg-opacity));
}

/* Sidebar item - active state */

.ae-sidebar-item.up-current,
  .ae-sidebar-item[aria-current="page"] {
  --tw-bg-opacity: 1;
  background-color: rgb(132 82 161 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-sidebar-item.up-current::before,
  .ae-sidebar-item[aria-current="page"]::before {
    background: #fff;
    width: 2px;
  }

/* Sidebar item - deep/child active state */

.ae-sidebar-item.up-current.is-deep {
  font-weight: 600;
    background-color: #fff;
    color: rgb(var(--ae-purple) / 1);
    outline: 1px solid rgb(var(--ae-purple) / 1);
    outline-offset: -1px;
    border-left: 3px solid rgb(var(--ae-purple) / 1);
    /* the "left pop" */
    margin-left: 3px;
}

.ae-sidebar-item.up-current.is-deep svg,
  .ae-sidebar-item.up-current.is-deep span {
    margin-left: 3px;
    transition: margin 0.2s;
  }

.ae-sidebar-item svg,
  .ae-sidebar-item span {
    margin-left: 0px;
    transition: margin 0.2s;
  }

.ae-sidebar-item.up-current.is-deep::after {
    content: "x";
    margin-left: auto;
    font-weight: 900;
    color: rgb(var(--ae-purple) / 1);
    opacity: 1;
    transform: translateY(-1px);
  }

.ae-sidebar-item.up-current.is-deep:hover,
  .ae-sidebar-item.up-current.is-deep:hover::after {
    background-color: rgb(var(--ae-purple) /1);
    color: #fff;
    transition: none;
  }

/* Sidebar item - focus state */

.ae-sidebar-item:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgb(var(--ae-purple));
  }

/* Sidebar item - icon sizing */

.ae-sidebar-item svg {
  height: 18px;
  width: 18px;
  flex-shrink: 0;
    transition: transform 0.2s ease-out;
}

/* Icon bounce on hover */

.ae-sidebar-item:hover svg {
    transform: scale(1.1);
  }

/* Sidebar item entrance animation */

/* Section label entrance */

/* Sidebar - section labels and dividers */

.ae-sidebar-section-label {
  margin: 0px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

.ae-sidebar-divider {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  height: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity));
}

/* Sidebar - gutter toggle button */

.ae-sidebar-gutter {
    position: fixed;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 60;
    width: 24px;
    height: 64px;
    background-color: rgb(132 82 161);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    display: none;
    /* Hidden by default (above 1280px) */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
    border: none;
  }

.ae-sidebar-gutter:hover {
    background-color: rgb(107 66 133);
    width: 28px;
  }

.ae-sidebar-gutter svg {
    width: 16px;
    height: 16px;
    color: white;
  }

/* Sidebar - backdrop (hidden, not needed with gutter) */

/* ========================================================================
     TOPBAR - Top navigation bar styling
     ======================================================================== */

.ae-admin-topbar {
    grid-area: topbar;
  }

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-admin-topbar.px-4.py-3.border-t {
      padding: 8px 12px;
    }

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .bg-white.ae-admin-topbar.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 1rem;
  padding-right: 1rem;
    position: sticky;
    top: 0;
    z-index: 40;
}

.ae-topbar-left {
  display: flex;
  min-width: 0px;
  flex: 1 1 0%;
  align-items: center;
  gap: 0.5rem;
    justify-content: flex-start;
}

.ae-topbar-right {
  display: flex;
  align-items: center;
  gap: 0px;
    justify-content: flex-end;
}

/* Topbar - dividers between buttons */

.ae-topbar-divider {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  height: 1.5rem;
  width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity));
    flex-shrink: 0;
}

/* Hide divider if it's followed by the last button (last divider) */

.ae-topbar-right>.ae-topbar-divider:has(+ .ae-topbar-btn:last-child),
  .ae-topbar-right>.ae-topbar-divider:has(+ .ae-topbar-status-btn:last-child) {
    display: none;
  }

/* Fallback for browsers without :has() support */

.ae-topbar-right>.ae-topbar-divider:last-of-type {
    display: none;
  }

/* Topbar - buttons */

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-topbar-btn {
      padding: 0 2px;
    }

    /* Constrain select width */
  }

.ae-topbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity));
  text-decoration-line: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */

    /* Compact checkbox column */

    /* Tighter action buttons inside tables */

    /* Compact sort indicators */

    /* Bulk action toolbar at top of table */

    /* Pagination bar */
    .ae-topbar-btn:hover.px-4.py-3.border-t {
      padding: 8px 12px;
    }
  }

.ae-topbar-btn:hover {
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-topbar-btn svg {
  height: 0.875rem;
  width: 0.875rem;
}

.ae-topbar-btn-danger {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-topbar-btn-danger:hover {
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-topbar-btn-primary {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity));
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-topbar-btn-primary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(103 232 249 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

/* Topbar - status button (Log Hours / Check In) */

.ae-topbar-status-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border-radius: 9999px;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  font-weight: 600;
  text-decoration-line: none;
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.ae-topbar-status-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.ae-topbar-status-btn.is-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-topbar-status-btn.is-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.ae-topbar-status-btn.is-hot {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
    animation: pulse 2s infinite;
}

.ae-topbar-status-btn.is-hot:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

/* Topbar - badge */

.ae-topbar-badge {
  margin-left: 0.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
    min-width: 18px;
}

/* Topbar - legacy alerts (can be removed after migration) */

/* ========================================================================
     BREADCRUMBS - Navigation breadcrumb styling
     ======================================================================== */

.ae-topbar-breadcrumbs {
  font-size: 0.8125rem;
  line-height: 1.0625rem;
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
    max-width: 100%;
    overflow: hidden;
}

.ae-breadcrumb-nav {
  width: 100%;
}

.ae-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ae-breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ae-breadcrumb-separator {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}

.ae-breadcrumb-link {
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
  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;
}

.ae-breadcrumb-link:hover {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-breadcrumb-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
    text-decoration: none;
}

.ae-breadcrumb-link:hover {
  text-decoration-line: underline;
}

.ae-breadcrumb-home {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.ae-breadcrumb-home:hover {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity));
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter button styling */

    /* Smaller date inputs */

    /* Compact radio tabs */

    /* Tighter select inputs */

    /* Reduce separator margin */

    /* Compact search input within tabs */

    /* Constrain widths of date inputs */

    /* Compact radio group spacing */

    /* Arrow between dates */
    .ae-filter-card .text-gray-400.ae-breadcrumb-current {
      padding: 0 2px;
    }

    /* Constrain select width */
  }

.ae-breadcrumb-current {
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ae-breadcrumb-icon {
  display: inline-flex;
  align-items: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.ae-breadcrumb-icon svg {
  height: 100%;
  width: 100%;
}

/* Ellipsis for mobile breadcrumb truncation - hidden by default, shown on mobile */

@media (max-width: 1280px) {

    /* Topbar stays fixed at top */

    /* Main content scrolls independently */

    /* Show gutter when sidebar is closed */

    /* Hide gutter when sidebar is open */
    .ae-sidebar-gutter.ae-breadcrumb-ellipsis {
      display: none;
    }

    /* Pin button inside sidebar when open */

    /* Close button inside sidebar when open */
  }

.ae-breadcrumb-ellipsis {
  display: none;
  align-items: center;
}

/* ========================================================================
     CALENDAR - Calendar-specific overrides
     ======================================================================== */

.calendar-page {
    min-width: 0 !important;
  }

.calendar-page body {
    min-width: 0 !important;
  }

/* ========================================================================
     ANIMATIONS - Utility animation classes
     ======================================================================== */

/* ========================================================================
     RESPONSIVE - Media queries for mobile/tablet breakpoints
     ======================================================================== */

/* Sidebar slide-out at 1280px */

@media (max-width: 1280px) {
    .ae-admin-layout {
      grid-template-columns: 1fr;
      grid-template-rows: 48px 1fr;
      grid-template-areas:
        "topbar"
        "main";
      height: 100vh;
      overflow: hidden;
    }

    /* Topbar stays fixed at top */
    .ae-admin-topbar {
      position: sticky;
      top: 0;
      z-index: 40;
    }

    /* Main content scrolls independently */
    .ae-admin-main {
      grid-area: main;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      min-width: 0;
      width: 100%;
      /* Ensure main area constrains its children (like tables) */
    }

    .ae-admin-sidebar {
      position: fixed;
      left: 0;
      top: 0;
      height: 100vh;
      height: 100dvh;
      /* Use dynamic viewport height for mobile */
      width: 180px;
      z-index: 50;
      transform: translateX(-100%);
      box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s ease-in-out;
      /* Prevent sidebar from affecting layout reflow */
      will-change: transform;
    }

    .ae-admin-sidebar.open {
      transform: translateX(0);
    }

    /* Show gutter when sidebar is closed */
    .ae-sidebar-gutter {
      display: flex;
    }

    /* Hide gutter when sidebar is open */
    .ae-sidebar-gutter.hidden {
      display: none;
    }

    /* Pin button inside sidebar when open */
    .ae-sidebar-pin {
      position: absolute;
      right: 36px;
      top: 8px;
      width: 24px;
      height: 24px;
      display: none;
      align-items: center;
      justify-content: center;
      background-color: rgba(0, 0, 0, 0.1);
      border-radius: 4px;
      cursor: pointer;
      transition: background-color 0.2s;
      border: none;
      z-index: 10;
    }

    .ae-sidebar-pin:hover {
      background-color: rgba(0, 0, 0, 0.2);
    }

    .ae-admin-sidebar.open .ae-sidebar-pin {
      display: flex;
    }

    .ae-sidebar-pin svg {
      width: 14px;
      height: 14px;
      color: rgb(55 65 81);
    }

    /* Close button inside sidebar when open */
    .ae-sidebar-close {
      position: absolute;
      right: 8px;
      top: 8px;
      width: 24px;
      height: 24px;
      display: none;
      align-items: center;
      justify-content: center;
      background-color: rgba(0, 0, 0, 0.1);
      border-radius: 4px;
      cursor: pointer;
      transition: background-color 0.2s;
      border: none;
      z-index: 10;
    }

    .ae-sidebar-close:hover {
      background-color: rgba(0, 0, 0, 0.2);
    }

    .ae-admin-sidebar.open .ae-sidebar-close {
      display: flex;
    }

    .ae-sidebar-close svg {
      width: 14px;
      height: 14px;
      color: rgb(55 65 81);
    }
     {
      grid-template-columns: 1fr !important;
      grid-template-rows: 48px 1fr !important;
      grid-template-areas:
        "topbar"
        "main" !important;
      height: 100vh !important;
      overflow: hidden !important;
    }

    /* Topbar stays fixed at top */
     {
      position: sticky !important;
      top: 0 !important;
      z-index: 40 !important;
    }

    /* Main content scrolls independently */
     {
      grid-area: main !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
      min-width: 0 !important;
      width: 100% !important;
      /* Ensure main area constrains its children (like tables) */
      position: fixed !important;
      left: 0 !important;
      top: 0 !important;
      height: 100vh !important;
      height: 100dvh !important;
      /* Use dynamic viewport height for mobile */
      width: 180px !important;
      z-index: 50 !important;
      transform: translateX(-100%) !important;
      box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1) !important;
      transition: transform 0.3s ease-in-out !important;
      /* Prevent sidebar from affecting layout reflow */
      will-change: transform !important;
    }

    .ae-admin-sidebar.\!open {
      transform: translateX(0) !important;
    }

    /* Show gutter when sidebar is closed */
     {
      display: flex !important;
    }

    /* Hide gutter when sidebar is open */
     {
      display: none !important;
    }

    /* Pin button inside sidebar when open */
     {
      position: absolute !important;
      right: 36px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-pin {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
    }

    /* Close button inside sidebar when open */
     {
      position: absolute !important;
      right: 8px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-close {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
      grid-template-columns: 1fr !important;
      grid-template-rows: 48px 1fr !important;
      grid-template-areas:
        "topbar"
        "main" !important;
      height: 100vh !important;
      overflow: hidden !important;
    }

    /* Topbar stays fixed at top */
     {
      position: sticky !important;
      top: 0 !important;
      z-index: 40 !important;
    }

    /* Main content scrolls independently */
     {
      grid-area: main !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
      min-width: 0 !important;
      width: 100% !important;
      /* Ensure main area constrains its children (like tables) */
      position: fixed !important;
      left: 0 !important;
      top: 0 !important;
      height: 100vh !important;
      height: 100dvh !important;
      /* Use dynamic viewport height for mobile */
      width: 180px !important;
      z-index: 50 !important;
      transform: translateX(-100%) !important;
      box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1) !important;
      transition: transform 0.3s ease-in-out !important;
      /* Prevent sidebar from affecting layout reflow */
      will-change: transform !important;
      transform: translateX(0) !important;
    }

    /* Show gutter when sidebar is closed */
     {
      display: flex !important;
    }

    /* Hide gutter when sidebar is open */
    .ae-sidebar-gutter.\!hidden {
      display: none !important;
    }

    /* Pin button inside sidebar when open */
     {
      position: absolute !important;
      right: 36px !important;
      top: 8px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
      display: flex !important;
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
    }

    /* Close button inside sidebar when open */
     {
      position: absolute !important;
      right: 8px !important;
      top: 8px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
      display: flex !important;
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
      grid-template-columns: 1fr !important;
      grid-template-rows: 48px 1fr !important;
      grid-template-areas:
        "topbar"
        "main" !important;
      height: 100vh !important;
      overflow: hidden !important;
    }

    /* Topbar stays fixed at top */
     {
      position: sticky !important;
      top: 0 !important;
      z-index: 40 !important;
    }

    /* Main content scrolls independently */
     {
      grid-area: main !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
      min-width: 0 !important;
      width: 100% !important;
      /* Ensure main area constrains its children (like tables) */
      position: fixed !important;
      left: 0 !important;
      top: 0 !important;
      height: 100vh !important;
      height: 100dvh !important;
      /* Use dynamic viewport height for mobile */
      width: 180px !important;
      z-index: 50 !important;
      transform: translateX(-100%) !important;
      box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1) !important;
      transition: transform 0.3s ease-in-out !important;
      /* Prevent sidebar from affecting layout reflow */
      will-change: transform !important;
    }

    .ae-admin-sidebar.\!open {
      transform: translateX(0) !important;
    }

    /* Show gutter when sidebar is closed */
     {
      display: flex !important;
    }

    /* Hide gutter when sidebar is open */
     {
      display: none !important;
    }

    /* Pin button inside sidebar when open */
     {
      position: absolute !important;
      right: 36px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-pin {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
    }

    /* Close button inside sidebar when open */
     {
      position: absolute !important;
      right: 8px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-close {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
      grid-template-columns: 1fr !important;
      grid-template-rows: 48px 1fr !important;
      grid-template-areas:
        "topbar"
        "main" !important;
      height: 100vh !important;
      overflow: hidden !important;
    }

    /* Topbar stays fixed at top */
     {
      position: sticky !important;
      top: 0 !important;
      z-index: 40 !important;
    }

    /* Main content scrolls independently */
     {
      grid-area: main !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
      min-width: 0 !important;
      width: 100% !important;
      /* Ensure main area constrains its children (like tables) */
      position: fixed !important;
      left: 0 !important;
      top: 0 !important;
      height: 100vh !important;
      height: 100dvh !important;
      /* Use dynamic viewport height for mobile */
      width: 180px !important;
      z-index: 50 !important;
      transform: translateX(-100%) !important;
      box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1) !important;
      transition: transform 0.3s ease-in-out !important;
      /* Prevent sidebar from affecting layout reflow */
      will-change: transform !important;
    }

    .ae-admin-sidebar.\!open {
      transform: translateX(0) !important;
    }

    /* Show gutter when sidebar is closed */
     {
      display: flex !important;
    }

    /* Hide gutter when sidebar is open */
     {
      display: none !important;
    }

    /* Pin button inside sidebar when open */
     {
      position: absolute !important;
      right: 36px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-pin {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
    }

    /* Close button inside sidebar when open */
     {
      position: absolute !important;
      right: 8px !important;
      top: 8px !important;
      width: 24px !important;
      height: 24px !important;
      display: none !important;
      align-items: center !important;
      justify-content: center !important;
      background-color: rgba(0, 0, 0, 0.1) !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: background-color 0.2s !important;
      border: none !important;
      z-index: 10 !important;
      background-color: rgba(0, 0, 0, 0.2) !important;
    }

    .ae-admin-sidebar.\!open .ae-sidebar-close {
      display: flex !important;
    }

     {
      width: 14px !important;
      height: 14px !important;
      color: rgb(55 65 81) !important;
    }
  }

/* Ensure gutter and close button are hidden above 1280px */

@media (min-width: 1281px) {
    .ae-sidebar-gutter {
      display: none !important;
    }

    .ae-sidebar-close {
      display: none !important;
    }

    .ae-sidebar-pin {
      display: none !important;
    }
  }

/* Responsive breadcrumbs - show home and current on mobile */

@media (max-width: 1200px) {
    .ae-breadcrumb-list {
    gap: 0.125rem;
      min-width: 0;
      overflow: hidden;
  }

    .ae-breadcrumb-separator {
    margin-left: 0.125rem;
    margin-right: 0.125rem;
    flex-shrink: 0;
  }

    /* Show ellipsis on mobile when there are multiple breadcrumbs */
    .ae-breadcrumb-ellipsis {
    display: flex;
    align-items: center;
  }

    /* Hide middle breadcrumbs (not home, not current) on mobile */
    .ae-breadcrumb-item:not(:first-child):not(:last-child) {
      display: none;
    }

    /* Hide separators that are between hidden items */
    .ae-breadcrumb-item:not(:first-child):not(:last-child)~.ae-breadcrumb-separator {
      display: none;
    }

    /* Ensure home icon is always visible and never truncates */
    .ae-breadcrumb-item:first-child {
    flex-shrink: 0;
  }

    .ae-breadcrumb-home {
    flex-shrink: 0;
  }

    /* Current page should be visible but can truncate if very long */
    .ae-breadcrumb-item:last-child {
    min-width: 0px;
    flex-shrink: 1;
      overflow: visible;
  }

    .ae-breadcrumb-current {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
      display: inline-block;
      max-width: 180px;
      min-width: 0;
  }
  }

/* Calendar-specific mobile styles - allow horizontal scroll + pinch zoom */

@media (max-width: 1024px) {
    .ae-admin-main.calendar-page {
      padding-left: 0;
      padding-right: 0;
    }

    .calendar-page #calendar-container {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      /* Allow the container to be scrollable */
    }

    .calendar-page #calendar-container>div {
      min-width: 1000px;
      /* Force full desktop width - staff can scroll/pinch zoom */
    }

    .calendar-page .grid-cols-7 {
      min-width: 1000px;
      /* Ensure calendar grid stays full width */
    }

    .calendar-page .grid-cols-3 {
      min-width: 1000px;
      /* Header row also needs full width */
    }
  }

/* Prevent iOS zoom on focus by enforcing 16px font size on touch devices */

@media only screen and (hover: none) and (pointer: coarse) {

    input,
    select,
    textarea {
    font-size: 1.0625rem;
    line-height: 1.5625rem;
  }
  }

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

.pointer-events-none {
  pointer-events: none;
}

.visible {
  visibility: visible;
}

.collapse {
  visibility: collapse;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-1 {
  bottom: 0.25rem;
}

.left-0 {
  left: 0px;
}

.left-0\.5 {
  left: 0.125rem;
}

.left-2 {
  left: 0.5rem;
}

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

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-4 {
  right: 1rem;
}

.top-0 {
  top: 0px;
}

.top-0\.5 {
  top: 0.125rem;
}

.top-1\/2 {
  top: 50%;
}

.top-4 {
  top: 1rem;
}

.z-0 {
  z-index: 0;
}

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

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

.z-\[9999\] {
  z-index: 9999;
}

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

.col-span-5 {
  grid-column: span 5 / span 5;
}

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

.-my-1 {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem;
}

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

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

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

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

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

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-\[-10px\] {
  margin-top: -10px;
  margin-bottom: -10px;
}

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

.-mt-4 {
  margin-top: -1rem;
}

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

.mb-1\.5 {
  margin-bottom: 0.375rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

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

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

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

.mb-5 {
  margin-bottom: 1.25rem;
}

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

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

.ml-0 {
  margin-left: 0px;
}

.ml-0\.5 {
  margin-left: 0.125rem;
}

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

.ml-1\.5 {
  margin-left: 0.375rem;
}

.ml-14 {
  margin-left: 3.5rem;
}

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

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

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

.ml-auto {
  margin-left: auto;
}

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

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

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

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

.mt-0 {
  margin-top: 0px;
}

.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-6 {
  margin-top: 1.5rem;
}

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

.mt-\[-10px\] {
  margin-top: -10px;
}

.mt-\[-30px\] {
  margin-top: -30px;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

.aspect-video {
  aspect-ratio: 16 / 9;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-12 {
  height: 3rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-\[38px\] {
  height: 38px;
}

.h-\[80vh\] {
  height: 80vh;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-64 {
  max-height: 16rem;
}

.max-h-\[50vh\] {
  max-height: 50vh;
}

.max-h-\[75vh\] {
  max-height: 75vh;
}

.max-h-\[90vh\] {
  max-height: 90vh;
}

.min-h-\[100dvh\] {
  min-height: 100dvh;
}

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

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

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

.min-h-\[2\.75rem\] {
  min-height: 2.75rem;
}

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

.min-h-\[60vh\] {
  min-height: 60vh;
}

.min-h-full {
  min-height: 100%;
}

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

.w-1 {
  width: 0.25rem;
}

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-3 {
  width: 0.75rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-32 {
  width: 8rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.w-64 {
  width: 16rem;
}

.w-7 {
  width: 1.75rem;
}

.w-8 {
  width: 2rem;
}

.w-9 {
  width: 2.25rem;
}

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

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

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

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

.min-w-\[140px\] {
  min-width: 140px;
}

.min-w-\[160px\] {
  min-width: 160px;
}

.min-w-\[280px\] {
  min-width: 280px;
}

.min-w-\[300px\] {
  min-width: 300px;
}

.min-w-\[60vw\] {
  min-width: 60vw;
}

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

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

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

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

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

.max-w-\[180px\] {
  max-width: 180px;
}

.max-w-\[240px\] {
  max-width: 240px;
}

.max-w-\[280px\] {
  max-width: 280px;
}

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

.max-w-lg {
  max-width: 32rem;
}

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

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

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

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

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

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

.grow {
  flex-grow: 1;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-bottom {
  transform-origin: bottom;
}

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

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

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

.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

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

.-rotate-6 {
  --tw-rotate: -6deg;
  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-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

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

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

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

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

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

.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 spin {

  to {
    transform: rotate(360deg);
  }
}

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

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

.cursor-pointer {
  cursor: pointer;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

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

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

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

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

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

.flex-wrap {
  flex-wrap: wrap;
}

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

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-stretch {
  align-items: stretch;
}

.justify-start {
  justify-content: flex-start;
}

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

.justify-center {
  justify-content: center;
}

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

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-2 {
  gap: 0.5rem;
}

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

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

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

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

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

.space-y-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-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity));
}

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

.justify-self-end {
  justify-self: end;
}

.overflow-auto {
  overflow: auto;
}

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

.whitespace-pre-line {
  white-space: pre-line;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: 0.25rem;
}

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

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

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

.rounded-none {
  border-radius: 0px;
}

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

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

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

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

.rounded-t-none {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.border {
  border-width: 1px;
}

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

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

.border-4 {
  border-width: 4px;
}

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

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

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

.border-l-4 {
  border-left-width: 4px;
}

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

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

.border-t-0 {
  border-top-width: 0px;
}

.border-dashed {
  border-style: dashed;
}

.border-none {
  border-style: none;
}

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

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

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

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

.border-brand-500 {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
}

.border-brand-500\/20 {
  border-color: rgb(132 82 161 / 0.2);
}

.border-brand-500\/30 {
  border-color: rgb(132 82 161 / 0.3);
}

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

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

.border-gray-200\/60 {
  border-color: rgb(229 231 235 / 0.6);
}

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

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

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

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

.border-purple-200 {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity));
}

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

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

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

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

.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity));
}

.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
}

.border-slate-700\/60 {
  border-color: rgb(51 65 85 / 0.6);
}

.border-transparent {
  border-color: transparent;
}

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

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}

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

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

.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity));
}

.bg-admin-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 130 150 / var(--tw-bg-opacity));
}

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

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

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity));
}

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

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

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

.bg-blue-50\/50 {
  background-color: rgb(239 246 255 / 0.5);
}

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

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

.bg-brand-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(132 82 161 / var(--tw-bg-opacity));
}

.bg-brand-500\/10 {
  background-color: rgb(132 82 161 / 0.1);
}

.bg-brand-500\/5 {
  background-color: rgb(132 82 161 / 0.05);
}

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

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

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

.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}

.bg-gray-50\/80 {
  background-color: rgb(249 250 251 / 0.8);
}

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

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

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

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

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

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

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

.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity));
}

.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity));
}

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

.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity));
}

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

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

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

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

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

.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}

.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}

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

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

.bg-slate-900\/90 {
  background-color: rgb(15 23 42 / 0.9);
}

.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity));
}

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

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

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}

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

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

.bg-yellow-50\/50 {
  background-color: rgb(254 252 232 / 0.5);
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity));
}

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

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

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

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-brand-500 {
  --tw-gradient-from: #8452A1 var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(132 82 161 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-500\/10 {
  --tw-gradient-from: rgb(132 82 161 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(132 82 161 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-500\/20 {
  --tw-gradient-from: rgb(132 82 161 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(132 82 161 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-500\/90 {
  --tw-gradient-from: rgb(132 82 161 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(132 82 161 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-100 {
  --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(243 244 246 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900 {
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-from-position:  ;
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-from-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-brand-500\/5 {
  --tw-gradient-via-position:  ;
  --tw-gradient-to: rgb(132 82 161 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), rgb(132 82 161 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-800 {
  --tw-gradient-via-position:  ;
  --tw-gradient-to: rgb(31 41 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
  --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-brand-500 {
  --tw-gradient-to: #8452A1 var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-brand-500\/10 {
  --tw-gradient-to: rgb(132 82 161 / 0.1) var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-gray-50 {
  --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-gray-900 {
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-purple-700 {
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
  --tw-gradient-to-position:  ;
}

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

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

.p-0 {
  padding: 0px;
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

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

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

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

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

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

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

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

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

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

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

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

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

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

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

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

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

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

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

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

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

.pl-10 {
  padding-left: 2.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-20 {
  padding-right: 5rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

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

.pr-8 {
  padding-right: 2rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

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

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

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-top {
  vertical-align: top;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

.text-3xl {
  font-size: 1.9375rem;
  line-height: 2.3125rem;
}

.text-base {
  font-size: 0.9375rem;
  line-height: 1.3125rem;
}

.text-lg {
  font-size: 1.0625rem;
  line-height: 1.5625rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.1875rem;
}

.text-xl {
  font-size: 1.3125rem;
  line-height: 1.6875rem;
}

.text-xs {
  font-size: 0.8125rem;
  line-height: 1.0625rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.italic {
  font-style: italic;
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

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

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

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

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

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

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

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

.text-brand-500 {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.text-brand-500\/50 {
  color: rgb(132 82 161 / 0.5);
}

.text-brand-500\/60 {
  color: rgb(132 82 161 / 0.6);
}

.text-brand-600 {
  --tw-text-opacity: 1;
  color: rgb(107 66 128 / var(--tw-text-opacity));
}

.text-brand-700 {
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}

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

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

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

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

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

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

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

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

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

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

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

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

.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity));
}

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

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

.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity));
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity));
}

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

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

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

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

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

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

.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity));
}

.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}

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

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

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

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

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

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

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity));
}

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

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

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

.text-yellow-900 {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity));
}

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

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

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-90 {
  opacity: 0.9;
}

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

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

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

.ring-inset {
  --tw-ring-inset: inset;
}

.ring-black\/10 {
  --tw-ring-color: rgb(0 0 0 / 0.1);
}

.ring-brand-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

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

.ring-gray-500\/10 {
  --tw-ring-color: rgb(107 114 128 / 0.1);
}

.ring-gray-900\/5 {
  --tw-ring-color: rgb(17 24 39 / 0.05);
}

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

.ring-slate-700\/60 {
  --tw-ring-color: rgb(51 65 85 / 0.6);
}

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

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

.ring-offset-gray-100 {
  --tw-ring-offset-color: #f3f4f6;
}

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

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

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, 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-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

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

.duration-100 {
  transition-duration: 100ms;
}

.duration-150 {
  transition-duration: 150ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-75 {
  transition-duration: 75ms;
}

.ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ============================================================================
   BASE LAYER - Global styles, CSS variables, and element defaults
   ============================================================================ */

/* ============================================================================
   COMPONENTS LAYER - Reusable component classes
   ============================================================================ */

/* ============================================================================
   KEYFRAMES - Animation keyframes (must be outside @layer)
   ============================================================================ */

@keyframes pulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.7;
  }
}

@keyframes pulse-slow {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.85;
    transform: scale(1.02);
  }
}

/* ============================================================================
   FILEPOND OVERRIDES - Brand-tinted, accessible, upgrade-friendly
   Load AFTER filepond.css / filepond-plugin-image-preview.css
   ============================================================================ */

/* ----------------------------------------------------------------------------
   Tokens (expects --ae-purple as "R G B", e.g. 132 82 161; falls back if missing)
   ---------------------------------------------------------------------------- */

.filepond--root {
  --ae-filepond-accent-rgb: var(--ae-purple, 132 82 161);
  --ae-filepond-border-rgb: 209 213 219;
  /* gray-300 */
  --ae-filepond-muted: rgb(107 114 128 / 1);
  /* gray-500 */
  --ae-filepond-bg: rgb(250 250 250 / 1);
  --ae-filepond-radius: 0.5rem;
  --ae-filepond-ring: none;

  font-family: inherit;
}

/* Wrapper - allow overflow for avatar buttons (your custom wrapper) */

.filepond-wrapper {
  overflow: visible !important;
}

/* ----------------------------------------------------------------------------
   Panel (drop area)
   ---------------------------------------------------------------------------- */

.filepond--root .filepond--panel-root {
  background-color: var(--ae-filepond-bg);
  border: 2px dashed rgb(var(--ae-filepond-border-rgb) / 1);
  border-radius: var(--ae-filepond-radius);
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

/* Hover */

.filepond--root:hover .filepond--panel-root {
  border-color: rgb(var(--ae-filepond-accent-rgb) / 0.45);
}

/* Keyboard focus (focus within the pond) */

.filepond--root:focus-within .filepond--panel-root {
  border-color: rgb(var(--ae-filepond-accent-rgb) / 0.65);
  box-shadow: none;
}

/* Drag-over state (FilePond toggles data-hopper-state like "drag-over") */

.filepond--root[data-hopper-state="drag-over"] .filepond--panel-root,
.filepond--root .filepond--hopper[data-hopper-state="drag-over"] .filepond--panel-root {
  background-color: rgb(var(--ae-filepond-accent-rgb) / 0.05);
  border-color: rgb(var(--ae-filepond-accent-rgb) / 0.75);
  box-shadow: none;
}

/* ----------------------------------------------------------------------------
   Label + browse link
   ---------------------------------------------------------------------------- */

.filepond--root .filepond--drop-label {
  color: var(--ae-filepond-muted);
}

.filepond--root .filepond--label-action {
  color: rgb(var(--ae-filepond-accent-rgb) / 1);
  font-weight: 600;
  text-decoration-thickness: 2px;
  text-decoration-color: transparent;
  text-underline-offset: 2px;
}

.filepond--root .filepond--label-action:hover {
  text-decoration-color: rgb(var(--ae-filepond-accent-rgb) / 1);
}

/* ----------------------------------------------------------------------------
   Progress
   ---------------------------------------------------------------------------- */

.filepond--root .filepond--progress-indicator {
  color: rgb(var(--ae-filepond-accent-rgb) / 1);
}

/* ----------------------------------------------------------------------------
   File item panel (keep default dark, just refine radius)
   ---------------------------------------------------------------------------- */

.filepond--root .filepond--item-panel {
  border-radius: 0.375rem;
}

/* Optional: subtle status feedback (supported selectors in FilePond docs) */

.filepond--root [data-filepond-item-state*="error"] .filepond--item-panel,
.filepond--root [data-filepond-item-state*="invalid"] .filepond--item-panel {
  box-shadow: none;
}

.filepond--root [data-filepond-item-state="processing-complete"] .filepond--item-panel {
  box-shadow: none;
}

/* ----------------------------------------------------------------------------
   Action buttons (hover + focus-visible ring)
   ---------------------------------------------------------------------------- */

.filepond--root .filepond--file-action-button {
  cursor: pointer;
  transition: background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
  overflow: visible !important;
}

.filepond--root .filepond--file-action-button:hover {
  background-color: rgb(var(--ae-filepond-accent-rgb) / 1);
}

.filepond--root .filepond--file-action-button:focus-visible {
  outline: none;
  box-shadow: none;
}

/* ----------------------------------------------------------------------------
   AVATAR STYLE - Circle layout fixes
   ---------------------------------------------------------------------------- */

.filepond--root[data-style-panel-layout*="circle"] {
  width: var(--ae-filepond-avatar-size, 120px) !important;
  height: var(--ae-filepond-avatar-size, 120px) !important;
  overflow: visible !important;
}

/* Circle panel */

.filepond--root[data-style-panel-layout*="circle"] .filepond--panel-root {
  border-radius: 50%;
}

/* CRITICAL: Allow overflow on ALL parent containers so action button is not clipped */

.filepond--root[data-style-panel-layout*="circle"] .filepond--list-scroller,
.filepond--root[data-style-panel-layout*="circle"] .filepond--list,
.filepond--root[data-style-panel-layout*="circle"] .filepond--item,
.filepond--root[data-style-panel-layout*="circle"] .filepond--file-wrapper,
.filepond--root[data-style-panel-layout*="circle"] .filepond--file,
.filepond--root[data-style-panel-layout*="circle"] .filepond--file-info-main,
.filepond--root[data-style-panel-layout*="circle"] .filepond--image-preview-overlay,
.filepond--root[data-style-panel-layout*="circle"] .filepond--image-preview {
  overflow: visible !important;
}

.filepond--root[data-style-panel-layout*="circle"] .filepond--image-preview-wrapper {
  overflow: hidden !important;
}

/* Circle the preview image only (use clip-path to avoid clipping children) */

.filepond--root[data-style-panel-layout*="circle"] .filepond--image-preview-wrapper {
  border-radius: 50%;
}

.filepond--root[data-style-panel-layout*="circle"] .filepond--image-preview {
  border-radius: 50%;
  clip-path: circle(50%);
}

/* Hide file info in avatar mode */

.filepond--root[data-style-panel-layout*="circle"] .filepond--file-info,
.filepond--root[data-style-panel-layout*="circle"] .filepond--file-status {
  display: none;
}

/* Drop label styling */

.filepond--root[data-style-panel-layout*="circle"] .filepond--drop-label label {
  font-size: 0.75rem;
  padding: 0.25rem;
  line-height: 1.1;
}

/* ----------------------------------------------------------------------------
   Reduced motion
   ---------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

  .filepond--root .filepond--panel-root,
  .filepond--root .filepond--file-action-button {
    transition: none;
  }
}

/* ----------------------------------------------------------------------------
   Optional: dark mode (Tailwind-style .dark class)
   ---------------------------------------------------------------------------- */

.dark .filepond--root .filepond--panel-root {
  background-color: rgb(17 24 39 / 0.35);
  /* gray-900-ish */
  border-color: rgb(75 85 99 / 1);
  /* gray-600 */
}

.dark .filepond--root .filepond--drop-label {
  color: rgb(156 163 175 / 1);
  /* gray-400 */
}

@media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
    }

    [x-show="selectedCount > 0"] .file\:text-sm::file-selector-button {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
  }

    /* Pagination bar */
     {
      padding: 8px 12px !important;
    }

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Pagination bar */
    .file\:px-4.bg-white.py-3.border-t::file-selector-button {
      padding: 8px 12px !important;
    }
     {
      padding: 10px 12px;
      gap: 8px !important;
      min-width: 0;
      flex: 1 1 180px;
    }

    /* Tighter button styling */
     {
      padding: 6px 12px;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Smaller date inputs */
     {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px;
  }

    /* Compact radio tabs */
     {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 4px 8px;
  }

    /* Tighter select inputs */
     {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px;
  }

    /* Reduce separator margin */
     {
      margin-bottom: 12px !important;
    }

    /* Compact search input within tabs */
     {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      padding: 6px 8px 6px 32px;
  }

    /* Constrain widths of date inputs */
     {
      max-width: 90%;
    }

    /* Compact radio group spacing */
     {
    font-size: 0.8125rem;
    line-height: 1.0625rem;
      margin-left: 4px;
  }

    /* Arrow between dates */
    .ae-filter-card .placeholder\:text-gray-400.font-medium::-moz-placeholder {
      padding: 0 2px;
    }
    .ae-filter-card .placeholder\:text-gray-400.font-medium::placeholder {
      padding: 0 2px;
    }

    /* Constrain select width */
     {
      max-width: 90%;
    }

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Pagination bar */
    .peer:checked ~ .peer-checked\:bg-white.px-4.py-3.border-t {
      padding: 8px 12px !important;
    }
  }

@media (min-width: 640px) {
  @media (min-width: 1024px) and (max-width: 1280px) {

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
    }

    [x-show="selectedCount > 0"] .sm\:text-sm {
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Pagination bar */
     {
      padding: 8px 12px !important;
    }

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Pagination bar */
    .sm\:px-4.bg-white.py-3.border-t {
      padding: 8px 12px !important;
    }

    /* Tighter table cell padding */
     {
      padding: 8px 10px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact checkbox column */
     {
      padding-left: 8px !important;
      padding-right: 4px !important;
    }

    /* Tighter action buttons inside tables */
     {
      padding: 4px 8px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Compact sort indicators */
     {
      width: 12px !important;
      height: 12px !important;
    }

    /* Bulk action toolbar at top of table */
     {
      padding: 8px 12px !important;
      font-size: 0.8125rem;
      line-height: 1.0625rem;
    }

    /* Pagination bar */
    .sm\:py-3.bg-white.px-4.border-t {
      padding: 8px 12px !important;
    }
  }
}

@media (min-width: 768px) {
  @media (max-width: 1024px) {
     {
      padding-left: 0;
      padding-right: 0;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      /* Allow the container to be scrollable */
      /* Force full desktop width - staff can scroll/pinch zoom */
      min-width: 1000px;
      /* Ensure calendar grid stays full width */
    }

    .calendar-page .md\:grid-cols-3 {
      min-width: 1000px;
      /* Header row also needs full width */
    }
  }
}

@media (min-width: 1024px) {
  @media (max-width: 1024px) {
     {
      padding-left: 0;
      padding-right: 0;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      /* Allow the container to be scrollable */
      /* Force full desktop width - staff can scroll/pinch zoom */
      min-width: 1000px;
      /* Ensure calendar grid stays full width */
    }

    .calendar-page .lg\:grid-cols-3 {
      min-width: 1000px;
      /* Header row also needs full width */
    }
  }
}

.file\:mr-3::file-selector-button {
  margin-right: 0.75rem;
}

.file\:mr-4::file-selector-button {
  margin-right: 1rem;
}

.file\:rounded-lg::file-selector-button {
  border-radius: 0.5rem;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-brand-500::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(132 82 161 / var(--tw-bg-opacity));
}

.file\:px-4::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-2::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.1875rem;
}

.file\:font-semibold::file-selector-button {
  font-weight: 600;
}

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

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

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

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

.even\:bg-gray-50\/50:nth-child(even) {
  background-color: rgb(249 250 251 / 0.5);
}

.focus-within\:border-brand-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
}

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

.focus-within\:ring-brand-500:focus-within {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.focus-within\:ring-brand-500\/20:focus-within {
  --tw-ring-color: rgb(132 82 161 / 0.2);
}

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

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

.hover\:border-brand-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
}

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

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

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

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

.hover\:bg-amber-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity));
}

.hover\:bg-amber-50\/30:hover {
  background-color: rgb(255 251 235 / 0.3);
}

.hover\:bg-amber-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity));
}

.hover\:bg-blue-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity));
}

.hover\:bg-brand-500\/10:hover {
  background-color: rgb(132 82 161 / 0.1);
}

.hover\:bg-brand-500\/5:hover {
  background-color: rgb(132 82 161 / 0.05);
}

.hover\:bg-brand-500\/90:hover {
  background-color: rgb(132 82 161 / 0.9);
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity));
}

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

.hover\:bg-gray-100\/80:hover {
  background-color: rgb(243 244 246 / 0.8);
}

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

.hover\:bg-gray-200\/50:hover {
  background-color: rgb(229 231 235 / 0.5);
}

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

.hover\:bg-gray-50\/60:hover {
  background-color: rgb(249 250 251 / 0.6);
}

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

.hover\:bg-green-50\/30:hover {
  background-color: rgb(240 253 244 / 0.3);
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity));
}

.hover\:bg-purple-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity));
}

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

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity));
}

.hover\:bg-slate-700\/50:hover {
  background-color: rgb(51 65 85 / 0.5);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

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

.hover\:bg-yellow-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity));
}

.hover\:font-semibold:hover {
  font-weight: 600;
}

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

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

.hover\:text-brand-500:hover {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

.hover\:text-brand-700:hover {
  --tw-text-opacity: 1;
  color: rgb(82 51 95 / var(--tw-text-opacity));
}

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

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

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

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

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

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

.hover\:text-purple-700:hover {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity));
}

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

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

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

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

.hover\:text-slate-100:hover {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity));
}

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

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

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

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

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

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

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

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

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

.hover\:ring-offset-1:hover {
  --tw-ring-offset-width: 1px;
}

.focus\:border-0:focus {
  border-width: 0px;
}

.focus\:border-brand-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
}

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

.focus\:bg-brand-500\/10:focus {
  background-color: rgb(132 82 161 / 0.1);
}

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

.focus\:ring: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(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);
}

.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-admin-teal-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(39 130 150 / var(--tw-ring-opacity));
}

.focus\:ring-amber-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity));
}

.focus\:ring-brand-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.focus\:ring-brand-500\/20:focus {
  --tw-ring-color: rgb(132 82 161 / 0.2);
}

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

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

.focus\:ring-white\/50:focus {
  --tw-ring-color: rgb(255 255 255 / 0.5);
}

.focus\:ring-offset-1:focus {
  --tw-ring-offset-width: 1px;
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

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

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

.focus-visible\:ring-brand-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.focus-visible\:ring-brand-500\/40:focus-visible {
  --tw-ring-color: rgb(132 82 161 / 0.4);
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

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

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.group:hover .group-hover\:scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-brand-500 {
  --tw-border-opacity: 1;
  border-color: rgb(132 82 161 / var(--tw-border-opacity));
}

.group:hover .group-hover\:text-brand-500 {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

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

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

.group:hover .group-hover\:opacity-80 {
  opacity: 0.8;
}

.group:hover .group-hover\:opacity-90 {
  opacity: 0.9;
}

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

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

.group:hover .group-hover\:ring-brand-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.peer:checked ~ .peer-checked\:translate-x-5 {
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.peer:checked ~ .peer-checked\:bg-brand-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(132 82 161 / var(--tw-bg-opacity));
}

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

.peer:checked ~ .peer-checked\:text-brand-500 {
  --tw-text-opacity: 1;
  color: rgb(132 82 161 / var(--tw-text-opacity));
}

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

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

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

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

.peer:checked ~ .peer-checked\:ring-gray-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity));
}

.peer:checked ~ .peer-checked\:ring-gray-900\/5 {
  --tw-ring-color: rgb(17 24 39 / 0.05);
}

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

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

.peer:focus ~ .peer-focus\:ring-brand-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

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

.peer:focus-visible ~ .peer-focus-visible\:ring-brand-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 82 161 / var(--tw-ring-opacity));
}

.peer:focus-visible ~ .peer-focus-visible\:ring-offset-1 {
  --tw-ring-offset-width: 1px;
}

@media (min-width: 640px) {

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

  .sm\:right-4 {
    right: 1rem;
  }

  .sm\:mx-8 {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }

  .sm\:mt-6 {
    margin-top: 1.5rem;
  }

  .sm\:h-24 {
    height: 6rem;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

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

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

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

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

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

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:rounded-lg {
    border-radius: 0.5rem;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

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

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

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

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

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

  .sm\:pb-4 {
    padding-bottom: 1rem;
  }

  .sm\:pt-4 {
    padding-top: 1rem;
  }

  .sm\:pt-6 {
    padding-top: 1.5rem;
  }

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

  .sm\:text-xl {
    font-size: 1.3125rem;
    line-height: 1.6875rem;
  }
}

@media (min-width: 768px) {

  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:ml-auto {
    margin-left: auto;
  }

  .md\:inline-block {
    display: inline-block;
  }

  .md\:h-24 {
    height: 6rem;
  }

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

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

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

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

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

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

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

  .md\:flex-wrap {
    flex-wrap: wrap;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-center {
    justify-content: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

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

  .md\:text-3xl {
    font-size: 1.9375rem;
    line-height: 2.3125rem;
  }
}

@media (min-width: 1024px) {

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-12 {
    grid-column: span 12 / span 12;
  }

  .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\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .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-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

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

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-2 {
    gap: 0.5rem;
  }

  .lg\:gap-x-3 {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }

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

  .lg\:pt-6 {
    padding-top: 1.5rem;
  }
}

@media (min-width: 1280px) {

  .xl\:mb-6 {
    margin-bottom: 1.5rem;
  }

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

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

  .xl\:gap-4 {
    gap: 1rem;
  }

  .xl\:gap-x-6 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }

  .xl\:gap-y-4 {
    row-gap: 1rem;
  }
}
