/* Entry CSS della shell: token AISF (Fabric rebrand) + base shadcn + Tailwind. */
/* Fabric Design System — Tokens */
/* See .claude/plans/typography-system/spec.md for naming rationale (--aisf- prefix mandatory) */
:root {
    /* Brand palette */
    --aisf-teal: #00CEC9;
    --aisf-deep: #00317D;
    --aisf-blue: #3551F2;
    --aisf-success: #01B62B;
    --aisf-surface-light: #F5FAFF;

    /* Brand gradient */
    --aisf-gradient: linear-gradient(135deg, var(--aisf-deep) 0%, var(--aisf-teal) 100%);
    --aisf-gradient-subtle: linear-gradient(135deg, rgba(0, 49, 125, 0.06) 0%, rgba(0, 206, 201, 0.06) 100%);
    --aisf-gradient-shadow: 0 2px 8px rgba(0, 206, 201, 0.25);
    --aisf-gradient-shadow-hover: 0 4px 12px rgba(0, 206, 201, 0.4);

    /* Neutral scale */
    --aisf-neutral-0: #FFFFFF;
    --aisf-neutral-50: #F7F9FC;
    --aisf-neutral-100: #EEF1F7;
    --aisf-neutral-150: #E4E8F0;
    --aisf-neutral-200: #D6DCE6;
    --aisf-neutral-300: #B8C0CE;
    --aisf-neutral-400: #8F98A8;
    --aisf-neutral-500: #6B7280;
    --aisf-neutral-600: #4B5563;
    --aisf-neutral-700: #333A47;
    --aisf-neutral-800: #1F242E;
    --aisf-neutral-850: #15191F;
    --aisf-neutral-900: #0C0F14;
    --aisf-neutral-950: #06080B;

    /* Semantic — LIGHT */
    --aisf-bg: var(--aisf-neutral-0);
    --aisf-bg-subtle: var(--aisf-neutral-50);
    --aisf-bg-muted: var(--aisf-neutral-100);
    --aisf-surface: var(--aisf-neutral-0);
    --aisf-surface-2: var(--aisf-neutral-50);
    --aisf-surface-3: var(--aisf-neutral-100);
    --aisf-border: var(--aisf-neutral-150);
    --aisf-border-strong: var(--aisf-neutral-200);
    --aisf-text: var(--aisf-neutral-900);
    --aisf-text-muted: var(--aisf-neutral-500);
    --aisf-text-subtle: var(--aisf-neutral-400);
    --aisf-text-label: var(--aisf-neutral-600);
    --aisf-accent: var(--aisf-blue);
    --aisf-accent-soft: rgba(53, 81, 242, 0.10);
    --aisf-warning: #D97706;
    --aisf-danger: #DC2626;
    --aisf-danger-soft: rgba(220, 38, 38, 0.4);

    /* Interactive states */
    --aisf-accent-hover: #2C44D9;
    --aisf-danger-hover: rgba(231, 102, 102, 0.4);;
    --aisf-bg-hover: var(--aisf-neutral-100);
    --aisf-bg-hover-accent: rgba(53, 81, 242, 0.08);

    /* Disabled */
    --aisf-disabled-opacity: 0.5;

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.4);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(53, 81, 242, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);

    /* Button secondary shadow */
    --aisf-shadow-button-secondary: 0 1px 2px rgba(12, 15, 20, 0.12);

    /* Button destructive shadow */
    --aisf-shadow-button-destructive: 0 1px 2px rgba(220, 38, 38, 0.25);

    /* Letter spacing */
    --aisf-letter-spacing-tight: 0.1px;

    /* Font Weights */
    --aisf-font-weight-light: 300;
    --aisf-font-weight-regular: 400;
    --aisf-font-weight-medium: 500;
    --aisf-font-weight-bold: 700;

    /* Type scale */
    --aisf-font-size-11: 0.6875rem;
    --aisf-font-size-12: 0.75rem;
    --aisf-font-size-13: 0.8125rem;
    --aisf-font-size-14: 0.875rem;
    --aisf-font-size-15: 0.9375rem;
    --aisf-font-size-16: 1rem;
    --aisf-font-size-17: 1.0625rem;
    --aisf-font-size-18: 1.125rem;
    --aisf-font-size-19: 1.1875rem;
    --aisf-font-size-20: 1.25rem;
    --aisf-font-size-22: 1.375rem;
    --aisf-font-size-24: 1.5rem;
    --aisf-font-size-26: 1.625rem;
    --aisf-font-size-28: 1.75rem;
    --aisf-font-size-30: 1.875rem;
    --aisf-font-size-32: 2rem;
    --aisf-font-size-34: 2.125rem;
    --aisf-font-size-48: 3rem;

    /* Radii */
    --aisf-radius-xs: 4px;
    --aisf-radius-sm: 6px;
    --aisf-radius-md: 8px;
    --aisf-radius-lg: 12px;
    --aisf-radius-xl: 16px;
    --aisf-radius-2xl: 22px;
    --aisf-radius-full: 999px;

    /* Shadow */
    --aisf-shadow-xs: 0 1px 2px rgba(12, 15, 20, 0.04);
    --aisf-shadow-sm: 0 1px 3px rgba(12, 15, 20, 0.06), 0 1px 2px rgba(12, 15, 20, 0.03);
    --aisf-shadow-md: 0 4px 12px rgba(12, 15, 20, 0.06), 0 2px 4px rgba(12, 15, 20, 0.04);
    --aisf-shadow-lg: 0 12px 32px rgba(12, 15, 20, 0.08), 0 4px 12px rgba(12, 15, 20, 0.04);
    --aisf-shadow-brand: 0 8px 24px rgba(53, 81, 242, 0.22);

    /* Spacing */
    --aisf-space-1: 0.25rem;
    --aisf-space-2: 0.5rem;
    --aisf-space-3: 0.75rem;
    --aisf-space-4: 1rem;
    --aisf-space-5: 1.25rem;
    --aisf-space-6: 1.5rem;
    --aisf-space-8: 2rem;
    --aisf-space-10: 2.5rem;
    --aisf-space-12: 3rem;

    /* Font stacks */
    --aisf-font-ui: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --aisf-font-display: 'Roboto Condensed', 'Roboto', -apple-system, sans-serif;
    --aisf-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;

    /* Status tag palette */
    --aisf-status-blue-fg:    #1E5BCE;
    --aisf-status-blue-bg:    #DCE7FA;

    --aisf-status-teal-fg:    #00857F;
    --aisf-status-teal-bg:    #CDF3F1;

    --aisf-status-purple-fg:  #6B4FBB;
    --aisf-status-purple-bg:  #E6DEFB;

    --aisf-status-green-fg:   #01802A;
    --aisf-status-green-bg:   #D5F1DC;

    --aisf-status-orange-fg:  #B45309;
    --aisf-status-orange-bg:  #FCE6CC;

    --aisf-status-red-fg:     #C03030;
    --aisf-status-red-bg:     #FBDADA;

    --aisf-status-gray-fg:    var(--aisf-neutral-600);
    --aisf-status-gray-bg:    var(--aisf-neutral-100);
}
.dark {
    --aisf-bg: var(--aisf-neutral-950);
    --aisf-bg-subtle: var(--aisf-neutral-900);
    --aisf-bg-muted: var(--aisf-neutral-850);
    --aisf-surface: #0F1319;
    --aisf-surface-2: #151A22;
    --aisf-surface-3: #1C222C;
    --aisf-border: rgba(255, 255, 255, 0.08);
    --aisf-border-strong: rgba(255, 255, 255, 0.14);
    --aisf-text: #ECEEF3;
    --aisf-text-muted: #9AA3B2;
    --aisf-text-subtle: #6B7383;
    --aisf-accent: #5970FF;
    --aisf-accent-soft: rgba(89, 112, 255, 0.16);
    --aisf-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
    --aisf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --aisf-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --aisf-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
    --aisf-shadow-brand: 0 8px 28px rgba(89, 112, 255, 0.35);

    /* Interactive states */
    --aisf-accent-hover: #6B82FF;
    --aisf-danger-hover: #EF4444;
    --aisf-bg-hover: var(--aisf-neutral-800);
    --aisf-bg-hover-accent: rgba(89, 112, 255, 0.18);

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.3);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    /* Status tag palette */
    --aisf-status-blue-fg:    #8FB0FF;
    --aisf-status-blue-bg:    rgba(53, 81, 242, 0.16);

    --aisf-status-teal-fg:    #5FE3DE;
    --aisf-status-teal-bg:    rgba(0, 206, 201, 0.16);

    --aisf-status-purple-fg:  #B7A3FF;
    --aisf-status-purple-bg:  rgba(107, 79, 187, 0.18);

    --aisf-status-green-fg:   #5FD683;
    --aisf-status-green-bg:   rgba(1, 182, 43, 0.16);

    --aisf-status-orange-fg:  #F4B266;
    --aisf-status-orange-bg:  rgba(217, 119, 6, 0.18);

    --aisf-status-red-fg:     #F08585;
    --aisf-status-red-bg:     rgba(220, 38, 38, 0.18);

    --aisf-status-gray-fg:    var(--aisf-neutral-300);
    --aisf-status-gray-bg:    rgba(255, 255, 255, 0.06);

    /* Skeleton shimmer — neutral-100/200 non ridefiniti nel dark portano a shimmer invisibile */
    --aisf-neutral-100: #2A3040;
    --aisf-neutral-200: #1E2535;
}
@keyframes aisf-ellipsis-wave {
  0%, 60%, 100% {
    transform: scale(1);
    background-color: var(--aisf-border-strong);
  }
  30% {
    transform: scale(1.4);
    background-color: var(--aisf-accent);
  }
}
.aisf-ellipsis-dot {
  animation: aisf-ellipsis-wave 1200ms ease-in-out infinite;
  will-change: transform, background-color;
}
@media (prefers-reduced-motion: reduce) {
  .aisf-ellipsis-dot {
    animation: none !important;
    background-color: var(--aisf-accent) !important;
  }
}
/* Slider — native range input */
.aisf-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  height: .375rem;
  cursor: pointer;
}
.aisf-slider:disabled {
  cursor: not-allowed;
  opacity: var(--aisf-disabled-opacity);
}
.aisf-slider::-webkit-slider-runnable-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-moz-range-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  margin-top: -5px;
  cursor: pointer;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  -moz-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.aisf-slider:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
:root {
    /* Enterprise color palette - Professional blues and grays */
    --background: 220 18% 97%;
    --foreground: 222 47% 11%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;

    /* Primary - Deep enterprise blue */
    --primary: 217 91% 45%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 217 91% 38%;
    --primary-light: 217 91% 95%;
    --primary-rgb: 10 90 219;

    /* Secondary - Sophisticated gray */
    --secondary: 220 13% 95%;
    --secondary-foreground: 222 47% 11%;

    /* Muted - Subtle backgrounds */
    --muted: 220 13% 96%;
    --muted-foreground: 220 9% 46%;

    /* Accent - Operations blue */
    --accent: 211 100% 50%;
    --accent-foreground: 0 0% 100%;

    /* Success - Optimization green */
    --success: 142 71% 45%;
    --success-foreground: 0 0% 100%;
    --success-light: 142 71% 96%;

    /* Warning - Alert amber */
    --warning: 38 92% 50%;
    --warning-foreground: 0 0% 100%;
    --warning-light: 38 92% 96%;

    /* Destructive - Critical red */
    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 100%;
    --destructive-light: 0 84% 96%;

    /* Info - Knowledge blue */
    --info: 199 89% 48%;
    --info-foreground: 0 0% 100%;
    --info-light: 199 89% 96%;

    /* Borders and inputs */
    --border: 220 13% 91%;
    --input: 220 13% 91%;
    --ring: 217 91% 45%;

    --radius: 0.5rem;

    /* Sidebar / dock — mapped to Fabric tokens (light + dark via fabric-tokens.css) */
    --sidebar-background: var(--aisf-surface);
    --sidebar-foreground: var(--aisf-text);
    --sidebar-primary: var(--aisf-accent);
    --sidebar-primary-foreground: var(--aisf-neutral-0);
    --sidebar-accent: var(--aisf-accent-soft);
    --sidebar-accent-foreground: var(--aisf-accent);
    --sidebar-border: var(--aisf-border);
    --sidebar-ring: var(--aisf-accent);

    /* Data visualization palette */
    --chart-1: 217 91% 45%;
    --chart-2: 142 71% 45%;
    --chart-3: 38 92% 50%;
    --chart-4: 271 81% 56%;
    --chart-5: 199 89% 48%;
    --chart-6: 0 84% 60%;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, hsl(217 91% 45%) 0%, hsl(217 91% 35%) 100%);
    --gradient-success: linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(142 71% 35%) 100%);
    --gradient-card: linear-gradient(180deg, hsl(0 0% 100%) 0%, hsl(220 18% 99%) 100%);

    /* Shadows - Enterprise depth */
    --shadow-sm: 0 1px 2px 0 hsl(220 13% 91% / 0.5);
    --shadow-md: 0 4px 6px -1px hsl(220 13% 91% / 0.4), 0 2px 4px -1px hsl(220 13% 91% / 0.3);
    --shadow-lg: 0 10px 15px -3px hsl(220 13% 91% / 0.4), 0 4px 6px -2px hsl(220 13% 91% / 0.3);
    --shadow-xl: 0 20px 25px -5px hsl(220 13% 91% / 0.4), 0 10px 10px -5px hsl(220 13% 91% / 0.3);

    /* Transitions */
    --transition-base: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Animation durations */
    --duration-fast: 150ms;
    --duration-normal: 200ms;
    --duration-moderate: 300ms;

    /* Glassmorphism */
    --glass-bg: hsl(0 0% 100% / 0.05);
    --glass-border: hsl(0 0% 100% / 0.1);
    --glass-blur: 12px;

    /* Emoji rendering fallback (Apple first when available) */
    --emoji-font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", sans-serif;
  }
.dark {
    --background: 222 47% 8%;
    --foreground: 220 13% 96%;

    --card: 222 47% 11%;
    --card-foreground: 220 13% 96%;

    --popover: 222 47% 11%;
    --popover-foreground: 220 13% 96%;

    --primary: 217 91% 55%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 217 91% 48%;
    --primary-light: 217 91% 15%;
    --primary-rgb: 36 116 245;

    --secondary: 222 40% 16%;
    --secondary-foreground: 220 13% 96%;

    --muted: 222 40% 14%;
    --muted-foreground: 220 9% 65%;

    --accent: 211 100% 55%;
    --accent-foreground: 0 0% 100%;

    --success: 142 71% 50%;
    --success-foreground: 0 0% 100%;
    --success-light: 142 71% 15%;

    --warning: 38 92% 55%;
    --warning-foreground: 0 0% 100%;
    --warning-light: 38 92% 15%;

    --destructive: 0 84% 65%;
    --destructive-foreground: 0 0% 100%;
    --destructive-light: 0 84% 15%;

    --info: 199 89% 55%;
    --info-foreground: 0 0% 100%;
    --info-light: 199 89% 15%;

    --border: 222 40% 20%;
    --input: 222 40% 20%;
    --ring: 217 91% 55%;

    /* Sidebar / dock dark values are inherited from fabric-tokens.css */

    --gradient-primary: linear-gradient(135deg, hsl(217 91% 55%) 0%, hsl(217 91% 45%) 100%);
    --gradient-success: linear-gradient(135deg, hsl(142 71% 50%) 0%, hsl(142 71% 40%) 100%);
    --gradient-card: linear-gradient(180deg, hsl(222 47% 11%) 0%, hsl(222 47% 9%) 100%);

    --shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.5);
    --shadow-md: 0 4px 6px -1px hsl(0 0% 0% / 0.4), 0 2px 4px -1px hsl(0 0% 0% / 0.3);
    --shadow-lg: 0 10px 15px -3px hsl(0 0% 0% / 0.4), 0 4px 6px -2px hsl(0 0% 0% / 0.3);
    --shadow-xl: 0 20px 25px -5px hsl(0 0% 0% / 0.4), 0 10px 10px -5px hsl(0 0% 0% / 0.3);

    /* Dark mode glassmorphism */
    --glass-bg: hsl(0 0% 0% / 0.2);
    --glass-border: hsl(0 0% 100% / 0.05);
  }
.\!container {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}
.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
}
@media (min-width: 1400px) {
    .\!container {
        max-width: 1400px !important;
    }
    .container {
        max-width: 1400px;
    }
}
/* Shared base for all Fabric typography components */
.aisf-text-base {
        /* color rimosso: ora gestito dall'asse `variant` dei componenti Typography/Button */
        font-family: var(--aisf-font-ui);
        align-content: center;
    }
/* Shared form text styles */
.aisf-text-form {
        font-family: var(--aisf-font-ui);
    }
/* ──────────────────────────────────────────────────────────────────────
     Typography classes — derivate dalla slide "Typography · Roboto"
     (DSTypeArtboard in screens/design-system.jsx).
     Solo proprietà esplicitamente presenti nella sorgente; quelle non
     determinabili sono lasciate commentate senza valore.
     ────────────────────────────────────────────────────────────────────── */
.aisf-text-display {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-48);
        font-weight: 700;
        line-height: 1.05;
        /* letter-spacing: */
        /* text-transform: */
        /* text-decoration: */
        /* margin: */
        /* padding: */
    }
.aisf-text-title-1 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-34);
        font-weight: 600;
        line-height: 1.1;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-2 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-28);
        font-weight: 600;
        line-height: 1.15;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-3 {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-22);
        font-weight: 600;
        line-height: 1.2;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-headline {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-17);
        font-weight: 600;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-body {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-15);
        font-weight: 400;
        line-height: 1.4;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-callout {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-13);
        font-weight: 500;
        line-height: 1.35;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-caption {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-12);
        font-weight: 500;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-label {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-11);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.pointer-events-auto {
    pointer-events: auto;
}
.\!visible {
    visibility: visible !important;
}
.visible {
    visibility: visible;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.-inset-1 {
    inset: -0.25rem;
}
.inset-0 {
    inset: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.-bottom-1 {
    bottom: -0.25rem;
}
.-right-0\.5 {
    right: -0.125rem;
}
.-right-10 {
    right: -2.5rem;
}
.-right-\[10px\] {
    right: -10px;
}
.-right-\[2px\] {
    right: -2px;
}
.-top-0\.5 {
    top: -0.125rem;
}
.-top-1 {
    top: -0.25rem;
}
.-top-10 {
    top: -2.5rem;
}
.-top-\[10px\] {
    top: -10px;
}
.-top-\[2px\] {
    top: -2px;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-6 {
    bottom: 1.5rem;
}
.left-0 {
    left: 0px;
}
.left-1\/2 {
    left: 50%;
}
.left-2 {
    left: 0.5rem;
}
.left-2\.5 {
    left: 0.625rem;
}
.left-3 {
    left: 0.75rem;
}
.left-\[0\.125rem\] {
    left: 0.125rem;
}
.left-\[11px\] {
    left: 11px;
}
.left-\[16px\] {
    left: 16px;
}
.left-\[2px\] {
    left: 2px;
}
.left-\[50\%\] {
    left: 50%;
}
.left-auto {
    left: auto;
}
.right-0 {
    right: 0px;
}
.right-0\.5 {
    right: 0.125rem;
}
.right-2 {
    right: 0.5rem;
}
.right-2\.5 {
    right: 0.625rem;
}
.right-3 {
    right: 0.75rem;
}
.right-4 {
    right: 1rem;
}
.right-6 {
    right: 1.5rem;
}
.top-0 {
    top: 0px;
}
.top-0\.5 {
    top: 0.125rem;
}
.top-1\/2 {
    top: 50%;
}
.top-2 {
    top: 0.5rem;
}
.top-4 {
    top: 1rem;
}
.top-\[2px\] {
    top: 2px;
}
.top-\[50\%\] {
    top: 50%;
}
.top-full {
    top: 100%;
}
.isolate {
    isolation: isolate;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}
.z-\[100\] {
    z-index: 100;
}
.z-\[1\] {
    z-index: 1;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-start-1 {
    grid-column-start: 1;
}
.row-start-1 {
    grid-row-start: 1;
}
.m-0 {
    margin: 0px;
}
.m-1 {
    margin: 0.25rem;
}
.-mx-1 {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
.mx-0\.5 {
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-1\.5 {
    margin-left: 0.375rem;
    margin-right: 0.375rem;
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
}
.mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.-ml-1 {
    margin-left: -0.25rem;
}
.-ml-1\.5 {
    margin-left: -0.375rem;
}
.-ml-2 {
    margin-left: -0.5rem;
}
.-ml-2\.5 {
    margin-left: -0.625rem;
}
.-ml-3 {
    margin-left: -0.75rem;
}
.-ml-3\.5 {
    margin-left: -0.875rem;
}
.-mr-0\.5 {
    margin-right: -0.125rem;
}
.-mr-1\.5 {
    margin-right: -0.375rem;
}
.-mt-1\.5 {
    margin-top: -0.375rem;
}
.mb-0\.5 {
    margin-bottom: 0.125rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-14 {
    margin-bottom: 3.5rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-3\.5 {
    margin-bottom: 0.875rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-5 {
    margin-bottom: 1.25rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mb-\[10px\] {
    margin-bottom: 10px;
}
.mb-\[14px\] {
    margin-bottom: 14px;
}
.mb-\[18px\] {
    margin-bottom: 18px;
}
.mb-\[22px\] {
    margin-bottom: 22px;
}
.mb-\[2px\] {
    margin-bottom: 2px;
}
.mb-\[3px\] {
    margin-bottom: 3px;
}
.mb-\[4px\] {
    margin-bottom: 4px;
}
.mb-\[5px\] {
    margin-bottom: 5px;
}
.mb-\[6px\] {
    margin-bottom: 6px;
}
.mb-\[9px\] {
    margin-bottom: 9px;
}
.ml-0\.5 {
    margin-left: 0.125rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-1\.5 {
    margin-left: 0.375rem;
}
.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;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-1\.5 {
    margin-top: 0.375rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-2\.5 {
    margin-top: 0.625rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-5 {
    margin-top: 1.25rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-7 {
    margin-top: 1.75rem;
}
.mt-\[13px\] {
    margin-top: 13px;
}
.mt-\[1px\] {
    margin-top: 1px;
}
.mt-\[2px\] {
    margin-top: 2px;
}
.mt-\[3px\] {
    margin-top: 3px;
}
.mt-\[5px\] {
    margin-top: 5px;
}
.mt-\[6px\] {
    margin-top: 6px;
}
.mt-auto {
    margin-top: auto;
}
.mt-px {
    margin-top: 1px;
}
.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.\!block {
    display: block !important;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.flow-root {
    display: flow-root;
}
.\!grid {
    display: grid !important;
}
.grid {
    display: grid;
}
.contents {
    display: contents;
}
.hidden {
    display: none;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.size-1 {
    width: 0.25rem;
    height: 0.25rem;
}
.size-1\.5 {
    width: 0.375rem;
    height: 0.375rem;
}
.size-10 {
    width: 2.5rem;
    height: 2.5rem;
}
.size-11 {
    width: 2.75rem;
    height: 2.75rem;
}
.size-12 {
    width: 3rem;
    height: 3rem;
}
.size-16 {
    width: 4rem;
    height: 4rem;
}
.size-2 {
    width: 0.5rem;
    height: 0.5rem;
}
.size-20 {
    width: 5rem;
    height: 5rem;
}
.size-3 {
    width: 0.75rem;
    height: 0.75rem;
}
.size-3\.5 {
    width: 0.875rem;
    height: 0.875rem;
}
.size-4 {
    width: 1rem;
    height: 1rem;
}
.size-40 {
    width: 10rem;
    height: 10rem;
}
.size-5 {
    width: 1.25rem;
    height: 1.25rem;
}
.size-6 {
    width: 1.5rem;
    height: 1.5rem;
}
.size-7 {
    width: 1.75rem;
    height: 1.75rem;
}
.size-8 {
    width: 2rem;
    height: 2rem;
}
.size-9 {
    width: 2.25rem;
    height: 2.25rem;
}
.size-\[5px\] {
    width: 5px;
    height: 5px;
}
.size-\[6px\] {
    width: 6px;
    height: 6px;
}
.h-0 {
    height: 0px;
}
.h-0\.5 {
    height: 0.125rem;
}
.h-1 {
    height: 0.25rem;
}
.h-1\.5 {
    height: 0.375rem;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-12 {
    height: 3rem;
}
.h-14 {
    height: 3.5rem;
}
.h-2 {
    height: 0.5rem;
}
.h-2\.5 {
    height: 0.625rem;
}
.h-20 {
    height: 5rem;
}
.h-3 {
    height: 0.75rem;
}
.h-3\.5 {
    height: 0.875rem;
}
.h-4 {
    height: 1rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-64 {
    height: 16rem;
}
.h-7 {
    height: 1.75rem;
}
.h-8 {
    height: 2rem;
}
.h-9 {
    height: 2.25rem;
}
.h-\[0\.75rem\] {
    height: 0.75rem;
}
.h-\[1\.125rem\] {
    height: 1.125rem;
}
.h-\[1\.25rem\] {
    height: 1.25rem;
}
.h-\[11px\] {
    height: 11px;
}
.h-\[120px\] {
    height: 120px;
}
.h-\[12px\] {
    height: 12px;
}
.h-\[13px\] {
    height: 13px;
}
.h-\[14px\] {
    height: 14px;
}
.h-\[15px\] {
    height: 15px;
}
.h-\[16px\] {
    height: 16px;
}
.h-\[18px\] {
    height: 18px;
}
.h-\[1px\] {
    height: 1px;
}
.h-\[1rem\] {
    height: 1rem;
}
.h-\[2\.125rem\] {
    height: 2.125rem;
}
.h-\[200px\] {
    height: 200px;
}
.h-\[20px\] {
    height: 20px;
}
.h-\[210px\] {
    height: 210px;
}
.h-\[22px\] {
    height: 22px;
}
.h-\[250px\] {
    height: 250px;
}
.h-\[260px\] {
    height: 260px;
}
.h-\[26px\] {
    height: 26px;
}
.h-\[3\.75rem\] {
    height: 3.75rem;
}
.h-\[300px\] {
    height: 300px;
}
.h-\[30px\] {
    height: 30px;
}
.h-\[34px\] {
    height: 34px;
}
.h-\[38px\] {
    height: 38px;
}
.h-\[3px\] {
    height: 3px;
}
.h-\[400px\] {
    height: 400px;
}
.h-\[42px\] {
    height: 42px;
}
.h-\[46px\] {
    height: 46px;
}
.h-\[5px\] {
    height: 5px;
}
.h-\[5rem\] {
    height: 5rem;
}
.h-\[6px\] {
    height: 6px;
}
.h-\[7\.5rem\] {
    height: 7.5rem;
}
.h-\[70vh\] {
    height: 70vh;
}
.h-\[7px\] {
    height: 7px;
}
.h-\[80px\] {
    height: 80px;
}
.h-\[90px\] {
    height: 90px;
}
.h-\[9px\] {
    height: 9px;
}
.h-\[var\(--aisf-space-6\)\] {
    height: var(--aisf-space-6);
}
.h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.h-px {
    height: 1px;
}
.h-screen {
    height: 100vh;
}
.max-h-32 {
    max-height: 8rem;
}
.max-h-40 {
    max-height: 10rem;
}
.max-h-56 {
    max-height: 14rem;
}
.max-h-64 {
    max-height: 16rem;
}
.max-h-96 {
    max-height: 24rem;
}
.max-h-\[160px\] {
    max-height: 160px;
}
.max-h-\[420px\] {
    max-height: 420px;
}
.max-h-\[440px\] {
    max-height: 440px;
}
.max-h-\[45vh\] {
    max-height: 45vh;
}
.max-h-\[480px\] {
    max-height: 480px;
}
.max-h-\[50vh\] {
    max-height: 50vh;
}
.max-h-\[55vh\] {
    max-height: 55vh;
}
.max-h-\[80vh\] {
    max-height: 80vh;
}
.max-h-\[85vh\] {
    max-height: 85vh;
}
.max-h-\[90dvh\] {
    max-height: 90dvh;
}
.max-h-\[90vh\] {
    max-height: 90vh;
}
.max-h-screen {
    max-height: 100vh;
}
.min-h-0 {
    min-height: 0px;
}
.min-h-10 {
    min-height: 2.5rem;
}
.min-h-11 {
    min-height: 2.75rem;
}
.min-h-20 {
    min-height: 5rem;
}
.min-h-7 {
    min-height: 1.75rem;
}
.min-h-8 {
    min-height: 2rem;
}
.min-h-\[1\.125rem\] {
    min-height: 1.125rem;
}
.min-h-\[1\.375rem\] {
    min-height: 1.375rem;
}
.min-h-\[1\.625rem\] {
    min-height: 1.625rem;
}
.min-h-\[120px\] {
    min-height: 120px;
}
.min-h-\[18rem\] {
    min-height: 18rem;
}
.min-h-\[2\.5rem\] {
    min-height: 2.5rem;
}
.min-h-\[220px\] {
    min-height: 220px;
}
.min-h-\[300px\] {
    min-height: 300px;
}
.min-h-\[48px\] {
    min-height: 48px;
}
.min-h-\[80px\] {
    min-height: 80px;
}
.min-h-full {
    min-height: 100%;
}
.min-h-screen {
    min-height: 100vh;
}
.\!w-8 {
    width: 2rem !important;
}
.\!w-auto {
    width: auto !important;
}
.\!w-full {
    width: 100% !important;
}
.w-0\.5 {
    width: 0.125rem;
}
.w-1 {
    width: 0.25rem;
}
.w-1\.5 {
    width: 0.375rem;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-14 {
    width: 3.5rem;
}
.w-16 {
    width: 4rem;
}
.w-2 {
    width: 0.5rem;
}
.w-2\.5 {
    width: 0.625rem;
}
.w-2\/3 {
    width: 66.666667%;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-28 {
    width: 7rem;
}
.w-3 {
    width: 0.75rem;
}
.w-3\.5 {
    width: 0.875rem;
}
.w-3\/4 {
    width: 75%;
}
.w-32 {
    width: 8rem;
}
.w-36 {
    width: 9rem;
}
.w-4 {
    width: 1rem;
}
.w-40 {
    width: 10rem;
}
.w-44 {
    width: 11rem;
}
.w-48 {
    width: 12rem;
}
.w-5 {
    width: 1.25rem;
}
.w-52 {
    width: 13rem;
}
.w-56 {
    width: 14rem;
}
.w-6 {
    width: 1.5rem;
}
.w-60 {
    width: 15rem;
}
.w-64 {
    width: 16rem;
}
.w-7 {
    width: 1.75rem;
}
.w-72 {
    width: 18rem;
}
.w-8 {
    width: 2rem;
}
.w-80 {
    width: 20rem;
}
.w-9 {
    width: 2.25rem;
}
.w-\[100px\] {
    width: 100px;
}
.w-\[110px\] {
    width: 110px;
}
.w-\[11px\] {
    width: 11px;
}
.w-\[120px\] {
    width: 120px;
}
.w-\[12px\] {
    width: 12px;
}
.w-\[13px\] {
    width: 13px;
}
.w-\[140px\] {
    width: 140px;
}
.w-\[14px\] {
    width: 14px;
}
.w-\[150px\] {
    width: 150px;
}
.w-\[15px\] {
    width: 15px;
}
.w-\[160px\] {
    width: 160px;
}
.w-\[16px\] {
    width: 16px;
}
.w-\[18\%\] {
    width: 18%;
}
.w-\[1px\] {
    width: 1px;
}
.w-\[200px\] {
    width: 200px;
}
.w-\[20px\] {
    width: 20px;
}
.w-\[220px\] {
    width: 220px;
}
.w-\[24\%\] {
    width: 24%;
}
.w-\[26px\] {
    width: 26px;
}
.w-\[280px\] {
    width: 280px;
}
.w-\[30px\] {
    width: 30px;
}
.w-\[320px\] {
    width: 320px;
}
.w-\[34px\] {
    width: 34px;
}
.w-\[36\%\] {
    width: 36%;
}
.w-\[380px\] {
    width: 380px;
}
.w-\[38px\] {
    width: 38px;
}
.w-\[400px\] {
    width: 400px;
}
.w-\[40px\] {
    width: 40px;
}
.w-\[420px\] {
    width: 420px;
}
.w-\[42px\] {
    width: 42px;
}
.w-\[440px\] {
    width: 440px;
}
.w-\[460px\] {
    width: 460px;
}
.w-\[46px\] {
    width: 46px;
}
.w-\[480px\] {
    width: 480px;
}
.w-\[54px\] {
    width: 54px;
}
.w-\[5px\] {
    width: 5px;
}
.w-\[60px\] {
    width: 60px;
}
.w-\[640px\] {
    width: 640px;
}
.w-\[64px\] {
    width: 64px;
}
.w-\[6px\] {
    width: 6px;
}
.w-\[74px\] {
    width: 74px;
}
.w-\[7px\] {
    width: 7px;
}
.w-\[80px\] {
    width: 80px;
}
.w-\[90px\] {
    width: 90px;
}
.w-\[9px\] {
    width: 9px;
}
.w-\[calc\(100vw-2rem\)\] {
    width: calc(100vw - 2rem);
}
.w-\[clamp\(20rem\2c 25vw\2c 30rem\)\] {
    width: clamp(20rem, 25vw, 30rem);
}
.w-\[min\(44rem\2c 90vw\)\] {
    width: min(44rem, 90vw);
}
.w-\[var\(--aisf-space-6\)\] {
    width: var(--aisf-space-6);
}
.w-auto {
    width: auto;
}
.w-fit {
    width: -moz-fit-content;
    width: fit-content;
}
.w-full {
    width: 100%;
}
.w-px {
    width: 1px;
}
.min-w-0 {
    min-width: 0px;
}
.min-w-64 {
    min-width: 16rem;
}
.min-w-8 {
    min-width: 2rem;
}
.min-w-\[12ch\] {
    min-width: 12ch;
}
.min-w-\[140px\] {
    min-width: 140px;
}
.min-w-\[14px\] {
    min-width: 14px;
}
.min-w-\[160px\] {
    min-width: 160px;
}
.min-w-\[16rem\] {
    min-width: 16rem;
}
.min-w-\[180px\] {
    min-width: 180px;
}
.min-w-\[18px\] {
    min-width: 18px;
}
.min-w-\[200px\] {
    min-width: 200px;
}
.min-w-\[220px\] {
    min-width: 220px;
}
.min-w-\[240px\] {
    min-width: 240px;
}
.min-w-\[260px\] {
    min-width: 260px;
}
.min-w-\[34px\] {
    min-width: 34px;
}
.min-w-\[420px\] {
    min-width: 420px;
}
.min-w-\[46px\] {
    min-width: 46px;
}
.min-w-\[68px\] {
    min-width: 68px;
}
.min-w-\[720px\] {
    min-width: 720px;
}
.min-w-\[760px\] {
    min-width: 760px;
}
.min-w-\[780px\] {
    min-width: 780px;
}
.min-w-\[820px\] {
    min-width: 820px;
}
.min-w-\[8rem\] {
    min-width: 8rem;
}
.min-w-\[960px\] {
    min-width: 960px;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
}
.min-w-max {
    min-width: -moz-max-content;
    min-width: max-content;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-\[1280px\] {
    max-width: 1280px;
}
.max-w-\[160px\] {
    max-width: 160px;
}
.max-w-\[180px\] {
    max-width: 180px;
}
.max-w-\[220px\] {
    max-width: 220px;
}
.max-w-\[22rem\] {
    max-width: 22rem;
}
.max-w-\[280px\] {
    max-width: 280px;
}
.max-w-\[28rem\] {
    max-width: 28rem;
}
.max-w-\[300px\] {
    max-width: 300px;
}
.max-w-\[320px\] {
    max-width: 320px;
}
.max-w-\[340px\] {
    max-width: 340px;
}
.max-w-\[360px\] {
    max-width: 360px;
}
.max-w-\[380px\] {
    max-width: 380px;
}
.max-w-\[40ch\] {
    max-width: 40ch;
}
.max-w-\[420px\] {
    max-width: 420px;
}
.max-w-\[440px\] {
    max-width: 440px;
}
.max-w-\[480px\] {
    max-width: 480px;
}
.max-w-\[520px\] {
    max-width: 520px;
}
.max-w-\[560px\] {
    max-width: 560px;
}
.max-w-\[60\%\] {
    max-width: 60%;
}
.max-w-\[640px\] {
    max-width: 640px;
}
.max-w-\[85\%\] {
    max-width: 85%;
}
.max-w-\[90vw\] {
    max-width: 90vw;
}
.max-w-\[95vw\] {
    max-width: 95vw;
}
.max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
}
.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;
}
.shrink-0 {
    flex-shrink: 0;
}
.grow {
    flex-grow: 1;
}
.basis-64 {
    flex-basis: 16rem;
}
.basis-full {
    flex-basis: 100%;
}
.table-fixed {
    table-layout: fixed;
}
.caption-bottom {
    caption-side: bottom;
}
.border-collapse {
    border-collapse: collapse;
}
.origin-\[--radix-tooltip-content-transform-origin\] {
    transform-origin: var(--radix-tooltip-content-transform-origin);
}
.origin-center {
    transform-origin: center;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-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-\[-50\%\] {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px {
    --tw-translate-x: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
    --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));
}
.-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));
}
.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-x-0 {
    --tw-scale-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-100 {
    --tw-scale-x: 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));
}
.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 fade-up {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-up {
    animation: fade-up 0.4s ease-out both;
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}
.animate-shimmer {
    animation: shimmer 2s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin {
    animation: spin 1s linear infinite;
}
.cursor-default {
    cursor: default;
}
.cursor-grab {
    cursor: grab;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.touch-none {
    touch-action: none;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize-none {
    resize: none;
}
.resize-y {
    resize: vertical;
}
.resize {
    resize: both;
}
.list-inside {
    list-style-position: inside;
}
.list-disc {
    list-style-type: disc;
}
.list-none {
    list-style-type: none;
}
.appearance-none {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.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-\[1fr_90px_100px_48px\] {
    grid-template-columns: 1fr 90px 100px 48px;
}
.grid-cols-\[1fr_auto_auto_auto\] {
    grid-template-columns: 1fr auto auto auto;
}
.grid-cols-\[4\.5rem_5rem_5\.75rem_2rem\] {
    grid-template-columns: 4.5rem 5rem 5.75rem 2rem;
}
.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
    grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-col-reverse {
    flex-direction: column-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.place-items-center {
    place-items: center;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-center {
    align-items: center;
}
.items-baseline {
    align-items: baseline;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.\!justify-center {
    justify-content: center !important;
}
.justify-center {
    justify-content: center;
}
.\!justify-between {
    justify-content: space-between !important;
}
.justify-between {
    justify-content: space-between;
}
.gap-0 {
    gap: 0px;
}
.gap-0\.5 {
    gap: 0.125rem;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-3\.5 {
    gap: 0.875rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-\[10px\] {
    gap: 10px;
}
.gap-\[11px\] {
    gap: 11px;
}
.gap-\[13px\] {
    gap: 13px;
}
.gap-\[14px\] {
    gap: 14px;
}
.gap-\[18px\] {
    gap: 18px;
}
.gap-\[3px\] {
    gap: 3px;
}
.gap-\[4px\] {
    gap: 4px;
}
.gap-\[5px\] {
    gap: 5px;
}
.gap-\[6px\] {
    gap: 6px;
}
.gap-\[7px\] {
    gap: 7px;
}
.gap-\[8px\] {
    gap: 8px;
}
.gap-\[9px\] {
    gap: 9px;
}
.gap-\[var\(--aisf-space-2\)\] {
    gap: var(--aisf-space-2);
}
.gap-\[var\(--aisf-space-4\)\] {
    gap: var(--aisf-space-4);
}
.gap-x-3 {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
}
.gap-x-4 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.gap-x-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
}
.gap-x-6 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
.gap-y-1 {
    row-gap: 0.25rem;
}
.gap-y-1\.5 {
    row-gap: 0.375rem;
}
.gap-y-2 {
    row-gap: 0.5rem;
}
.gap-y-3\.5 {
    row-gap: 0.875rem;
}
.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.375rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-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\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.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-\[var\(--aisf-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--aisf-border);
}
.divide-\[var\(--wo-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--wo-border);
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
    border-color: hsl(var(--border));
}
.self-start {
    align-self: flex-start;
}
.self-end {
    align-self: flex-end;
}
.self-center {
    align-self: center;
}
.self-stretch {
    align-self: stretch;
}
.overflow-auto {
    overflow: auto;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.overflow-y-hidden {
    overflow-y: hidden;
}
.overscroll-contain {
    overscroll-behavior: contain;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-ellipsis {
    text-overflow: ellipsis;
}
.whitespace-normal {
    white-space: normal;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.whitespace-pre-wrap {
    white-space: pre-wrap;
}
.break-words {
    overflow-wrap: break-word;
}
.break-all {
    word-break: break-all;
}
.\!rounded-2xl {
    border-radius: 1rem !important;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-\[10px\] {
    border-radius: 10px;
}
.rounded-\[11px\] {
    border-radius: 11px;
}
.rounded-\[12px\] {
    border-radius: 12px;
}
.rounded-\[13px\] {
    border-radius: 13px;
}
.rounded-\[14px\] {
    border-radius: 14px;
}
.rounded-\[16px\] {
    border-radius: 16px;
}
.rounded-\[18px\] {
    border-radius: 18px;
}
.rounded-\[4px\] {
    border-radius: 4px;
}
.rounded-\[5px\] {
    border-radius: 5px;
}
.rounded-\[6px\] {
    border-radius: 6px;
}
.rounded-\[7px\] {
    border-radius: 7px;
}
.rounded-\[8px\] {
    border-radius: 8px;
}
.rounded-\[9px\] {
    border-radius: 9px;
}
.rounded-\[inherit\] {
    border-radius: inherit;
}
.rounded-\[var\(--aisf-radius-full\)\] {
    border-radius: var(--aisf-radius-full);
}
.rounded-\[var\(--aisf-radius-lg\)\] {
    border-radius: var(--aisf-radius-lg);
}
.rounded-\[var\(--aisf-radius-md\)\] {
    border-radius: var(--aisf-radius-md);
}
.rounded-\[var\(--aisf-radius-sm\)\] {
    border-radius: var(--aisf-radius-sm);
}
.rounded-\[var\(--aisf-radius-xl\)\] {
    border-radius: var(--aisf-radius-xl);
}
.rounded-\[var\(--aisf-radius-xs\)\] {
    border-radius: var(--aisf-radius-xs);
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: var(--radius);
}
.rounded-md {
    border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
    border-radius: 0px;
}
.rounded-sm {
    border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-t-\[3px\] {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.rounded-t-\[8px\] {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.rounded-t-sm {
    border-top-left-radius: calc(var(--radius) - 4px);
    border-top-right-radius: calc(var(--radius) - 4px);
}
.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-2 {
    border-left-width: 2px;
}
.border-l-4 {
    border-left-width: 4px;
}
.border-r {
    border-right-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-t-2 {
    border-top-width: 2px;
}
.border-solid {
    border-style: solid;
}
.border-dashed {
    border-style: dashed;
}
.border-dotted {
    border-style: dotted;
}
.border-none {
    border-style: none;
}
.border-\[hsl\(217_91\%_45\%\)\] {
    --tw-border-opacity: 1;
    border-color: hsl(217 91% 45% / var(--tw-border-opacity, 1));
}
.border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.border-\[var\(--aisf-accent-soft\)\] {
    border-color: var(--aisf-accent-soft);
}
.border-\[var\(--aisf-border\)\] {
    border-color: var(--aisf-border);
}
.border-\[var\(--aisf-border-strong\)\] {
    border-color: var(--aisf-border-strong);
}
.border-\[var\(--aisf-danger\)\] {
    border-color: var(--aisf-danger);
}
.border-\[var\(--aisf-danger-soft\)\] {
    border-color: var(--aisf-danger-soft);
}
.border-\[var\(--aisf-loading-spinner-track\)\] {
    border-color: var(--aisf-loading-spinner-track);
}
.border-\[var\(--aisf-status-green-bg\)\] {
    border-color: var(--aisf-status-green-bg);
}
.border-\[var\(--aisf-status-orange-bg\)\] {
    border-color: var(--aisf-status-orange-bg);
}
.border-\[var\(--aisf-warning\)\] {
    border-color: var(--aisf-warning);
}
.border-\[var\(--wo-border\)\] {
    border-color: var(--wo-border);
}
.border-\[var\(--wo-border2\)\] {
    border-color: var(--wo-border2);
}
.border-\[var\(--wo-danger\)\] {
    border-color: var(--wo-danger);
}
.border-\[var\(--wo-info\)\] {
    border-color: var(--wo-info);
}
.border-\[var\(--wo-primary\)\] {
    border-color: var(--wo-primary);
}
.border-\[var\(--wo-success\)\] {
    border-color: var(--wo-success);
}
.border-\[var\(--wo-warning\)\] {
    border-color: var(--wo-warning);
}
.border-amber-200 {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-500 {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/30 {
    border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
    border-color: rgb(245 158 11 / 0.4);
}
.border-blue-200 {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-border {
    border-color: hsl(var(--border));
}
.border-border\/50 {
    border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
    border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
    border-color: hsl(var(--border) / 0.7);
}
.border-border\/80 {
    border-color: hsl(var(--border) / 0.8);
}
.border-current {
    border-color: currentColor;
}
.border-cyan-500 {
    --tw-border-opacity: 1;
    border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-destructive {
    border-color: hsl(var(--destructive));
}
.border-destructive\/30 {
    border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
    border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
    border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-500\/30 {
    border-color: rgb(16 185 129 / 0.3);
}
.border-fuchsia-500 {
    --tw-border-opacity: 1;
    border-color: rgb(217 70 239 / var(--tw-border-opacity, 1));
}
.border-green-500 {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-600 {
    --tw-border-opacity: 1;
    border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-info {
    border-color: hsl(var(--info));
}
.border-input {
    border-color: hsl(var(--input));
}
.border-muted {
    border-color: hsl(var(--muted));
}
.border-neutral-800 {
    --tw-border-opacity: 1;
    border-color: rgb(38 38 38 / var(--tw-border-opacity, 1));
}
.border-pink-500 {
    --tw-border-opacity: 1;
    border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-primary {
    border-color: hsl(var(--primary));
}
.border-primary\/20 {
    border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/60 {
    border-color: hsl(var(--primary) / 0.6);
}
.border-purple-600 {
    --tw-border-opacity: 1;
    border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-slate-400\/30 {
    border-color: rgb(148 163 184 / 0.3);
}
.border-transparent {
    border-color: transparent;
}
.border-violet-500 {
    --tw-border-opacity: 1;
    border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.border-warning {
    border-color: hsl(var(--warning));
}
.border-warning\/30 {
    border-color: hsl(var(--warning) / 0.3);
}
.border-warning\/40 {
    border-color: hsl(var(--warning) / 0.4);
}
.border-yellow-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-b-\[var\(--aisf-border\)\] {
    border-bottom-color: var(--aisf-border);
}
.border-l-\[intent\] {
    border-left-color: intent;
}
.border-l-\[var\(--aisf-accent\)\] {
    border-left-color: var(--aisf-accent);
}
.border-l-\[var\(--aisf-status-blue-fg\)\] {
    border-left-color: var(--aisf-status-blue-fg);
}
.border-l-\[var\(--aisf-status-gray-fg\)\] {
    border-left-color: var(--aisf-status-gray-fg);
}
.border-l-\[var\(--aisf-status-green-fg\)\] {
    border-left-color: var(--aisf-status-green-fg);
}
.border-l-\[var\(--aisf-status-orange-fg\)\] {
    border-left-color: var(--aisf-status-orange-fg);
}
.border-l-\[var\(--aisf-status-red-fg\)\] {
    border-left-color: var(--aisf-status-red-fg);
}
.border-l-blue-500 {
    --tw-border-opacity: 1;
    border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-green-500\/60 {
    border-left-color: rgb(34 197 94 / 0.6);
}
.border-l-transparent {
    border-left-color: transparent;
}
.border-r-\[var\(--aisf-border\)\] {
    border-right-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-accent\)\] {
    border-top-color: var(--aisf-accent);
}
.border-t-\[var\(--aisf-border\)\] {
    border-top-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-neutral-0\)\] {
    border-top-color: var(--aisf-neutral-0);
}
.border-t-\[var\(--aisf-neutral-500\)\] {
    border-top-color: var(--aisf-neutral-500);
}
.border-t-transparent {
    border-top-color: transparent;
}
.\!bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card) !important;
}
.bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.bg-\[var\(--aisf-accent-soft\)\] {
    background-color: var(--aisf-accent-soft);
}
.bg-\[var\(--aisf-bg\)\] {
    background-color: var(--aisf-bg);
}
.bg-\[var\(--aisf-bg-hover\)\] {
    background-color: var(--aisf-bg-hover);
}
.bg-\[var\(--aisf-bg-subtle\)\] {
    background-color: var(--aisf-bg-subtle);
}
.bg-\[var\(--aisf-border-strong\)\] {
    background-color: var(--aisf-border-strong);
}
.bg-\[var\(--aisf-danger\)\] {
    background-color: var(--aisf-danger);
}
.bg-\[var\(--aisf-danger-soft\)\] {
    background-color: var(--aisf-danger-soft);
}
.bg-\[var\(--aisf-neutral-0\)\] {
    background-color: var(--aisf-neutral-0);
}
.bg-\[var\(--aisf-neutral-100\)\] {
    background-color: var(--aisf-neutral-100);
}
.bg-\[var\(--aisf-neutral-200\)\] {
    background-color: var(--aisf-neutral-200);
}
.bg-\[var\(--aisf-neutral-900\)\] {
    background-color: var(--aisf-neutral-900);
}
.bg-\[var\(--aisf-status-blue-bg\)\] {
    background-color: var(--aisf-status-blue-bg);
}
.bg-\[var\(--aisf-status-blue-fg\)\] {
    background-color: var(--aisf-status-blue-fg);
}
.bg-\[var\(--aisf-status-gray-bg\)\] {
    background-color: var(--aisf-status-gray-bg);
}
.bg-\[var\(--aisf-status-gray-fg\)\] {
    background-color: var(--aisf-status-gray-fg);
}
.bg-\[var\(--aisf-status-green-bg\)\] {
    background-color: var(--aisf-status-green-bg);
}
.bg-\[var\(--aisf-status-green-fg\)\] {
    background-color: var(--aisf-status-green-fg);
}
.bg-\[var\(--aisf-status-orange-bg\)\] {
    background-color: var(--aisf-status-orange-bg);
}
.bg-\[var\(--aisf-status-orange-fg\)\] {
    background-color: var(--aisf-status-orange-fg);
}
.bg-\[var\(--aisf-status-purple-bg\)\] {
    background-color: var(--aisf-status-purple-bg);
}
.bg-\[var\(--aisf-status-red-bg\)\] {
    background-color: var(--aisf-status-red-bg);
}
.bg-\[var\(--aisf-status-red-fg\)\] {
    background-color: var(--aisf-status-red-fg);
}
.bg-\[var\(--aisf-status-teal-bg\)\] {
    background-color: var(--aisf-status-teal-bg);
}
.bg-\[var\(--aisf-surface\)\] {
    background-color: var(--aisf-surface);
}
.bg-\[var\(--aisf-surface-2\)\] {
    background-color: var(--aisf-surface-2);
}
.bg-\[var\(--aisf-warning\)\] {
    background-color: var(--aisf-warning);
}
.bg-\[var\(--aisf-warning-soft\)\] {
    background-color: var(--aisf-warning-soft);
}
.bg-\[var\(--wo-bg-subtle\)\] {
    background-color: var(--wo-bg-subtle);
}
.bg-\[var\(--wo-border\)\] {
    background-color: var(--wo-border);
}
.bg-\[var\(--wo-border2\)\] {
    background-color: var(--wo-border2);
}
.bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card);
}
.bg-\[var\(--wo-card2\)\] {
    background-color: var(--wo-card2);
}
.bg-\[var\(--wo-danger\)\] {
    background-color: var(--wo-danger);
}
.bg-\[var\(--wo-danger-soft\)\] {
    background-color: var(--wo-danger-soft);
}
.bg-\[var\(--wo-fg3\)\] {
    background-color: var(--wo-fg3);
}
.bg-\[var\(--wo-info\)\] {
    background-color: var(--wo-info);
}
.bg-\[var\(--wo-info-soft\)\] {
    background-color: var(--wo-info-soft);
}
.bg-\[var\(--wo-muted\)\] {
    background-color: var(--wo-muted);
}
.bg-\[var\(--wo-primary\)\] {
    background-color: var(--wo-primary);
}
.bg-\[var\(--wo-primary-soft\)\] {
    background-color: var(--wo-primary-soft);
}
.bg-\[var\(--wo-success\)\] {
    background-color: var(--wo-success);
}
.bg-\[var\(--wo-success-soft\)\] {
    background-color: var(--wo-success-soft);
}
.bg-\[var\(--wo-warning\)\] {
    background-color: var(--wo-warning);
}
.bg-\[var\(--wo-warning-soft\)\] {
    background-color: var(--wo-warning-soft);
}
.bg-amber-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
    background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
    background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
    background-color: rgb(245 158 11 / 0.05);
}
.bg-background {
    background-color: hsl(var(--background));
}
.bg-background\/40 {
    background-color: hsl(var(--background) / 0.4);
}
.bg-background\/60 {
    background-color: hsl(var(--background) / 0.6);
}
.bg-background\/80 {
    background-color: hsl(var(--background) / 0.8);
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-border {
    background-color: hsl(var(--border));
}
.bg-card {
    background-color: hsl(var(--card));
}
.bg-card\/40 {
    background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
    background-color: hsl(var(--card) / 0.5);
}
.bg-current {
    background-color: currentColor;
}
.bg-cyan-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-destructive {
    background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
    background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15 {
    background-color: hsl(var(--destructive) / 0.15);
}
.bg-destructive\/5 {
    background-color: hsl(var(--destructive) / 0.05);
}
.bg-destructive\/70 {
    background-color: hsl(var(--destructive) / 0.7);
}
.bg-emerald-500\/15 {
    background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
    background-color: rgb(16 185 129 / 0.05);
}
.bg-foreground {
    background-color: hsl(var(--foreground));
}
.bg-fuchsia-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-info {
    background-color: hsl(var(--info));
}
.bg-info\/15 {
    background-color: hsl(var(--info) / 0.15);
}
.bg-muted {
    background-color: hsl(var(--muted));
}
.bg-muted-foreground {
    background-color: hsl(var(--muted-foreground));
}
.bg-muted-foreground\/50 {
    background-color: hsl(var(--muted-foreground) / 0.5);
}
.bg-muted\/20 {
    background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
    background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40 {
    background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50 {
    background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
    background-color: hsl(var(--muted) / 0.6);
}
.bg-neutral-900\/95 {
    background-color: rgb(23 23 23 / 0.95);
}
.bg-orange-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-pink-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-popover {
    background-color: hsl(var(--popover));
}
.bg-primary {
    background-color: hsl(var(--primary));
}
.bg-primary\/10 {
    background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/5 {
    background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70 {
    background-color: hsl(var(--primary) / 0.7);
}
.bg-purple-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/15 {
    background-color: rgb(244 63 94 / 0.15);
}
.bg-secondary {
    background-color: hsl(var(--secondary));
}
.bg-sidebar {
    background-color: var(--sidebar-background);
}
.bg-slate-400\/5 {
    background-color: rgb(148 163 184 / 0.05);
}
.bg-success {
    background-color: hsl(var(--success));
}
.bg-success\/15 {
    background-color: hsl(var(--success) / 0.15);
}
.bg-transparent {
    background-color: transparent;
}
.bg-violet-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-warning {
    background-color: hsl(var(--warning));
}
.bg-warning\/10 {
    background-color: hsl(var(--warning) / 0.1);
}
.bg-warning\/15 {
    background-color: hsl(var(--warning) / 0.15);
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(90deg\2c var\(--aisf-neutral-200\)_0\%\2c var\(--aisf-neutral-100\)_50\%\2c var\(--aisf-neutral-200\)_100\%\)\] {
    background-image: linear-gradient(90deg,var(--aisf-neutral-200) 0%,var(--aisf-neutral-100) 50%,var(--aisf-neutral-200) 100%);
}
.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-\[var\(--wo-primary\)\] {
    --tw-gradient-from: var(--wo-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
    --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[40\%\] {
    --tw-gradient-from-position: 40%;
}
.to-\[hsl\(199_89\%_48\%\)\] {
    --tw-gradient-to: hsl(199 89% 48%) var(--tw-gradient-to-position);
}
.to-background {
    --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-primary\/80 {
    --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}
.bg-\[length\:200\%_100\%\] {
    background-size: 200% 100%;
}
.fill-current {
    fill: currentColor;
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.\!p-0 {
    padding: 0px !important;
}
.p-0 {
    padding: 0px;
}
.p-0\.5 {
    padding: 0.125rem;
}
.p-1 {
    padding: 0.25rem;
}
.p-1\.5 {
    padding: 0.375rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-12 {
    padding: 3rem;
}
.p-14 {
    padding: 3.5rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-3\.5 {
    padding: 0.875rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-8 {
    padding: 2rem;
}
.p-9 {
    padding: 2.25rem;
}
.p-\[10px\] {
    padding: 10px;
}
.p-\[11px\] {
    padding: 11px;
}
.p-\[14px\] {
    padding: 14px;
}
.p-\[15px_18px\] {
    padding: 15px 18px;
}
.p-\[18px\] {
    padding: 18px;
}
.p-\[1px\] {
    padding: 1px;
}
.p-\[26px\] {
    padding: 26px;
}
.p-\[34px_38px\] {
    padding: 34px 38px;
}
.p-\[7px\] {
    padding: 7px;
}
.p-\[var\(--aisf-space-4\)\] {
    padding: var(--aisf-space-4);
}
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}
.px-0\.5 {
    padding-left: 0.125rem;
    padding-right: 0.125rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.px-\[1\.125rem\] {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
}
.px-\[10px\] {
    padding-left: 10px;
    padding-right: 10px;
}
.px-\[11px\] {
    padding-left: 11px;
    padding-right: 11px;
}
.px-\[13px\] {
    padding-left: 13px;
    padding-right: 13px;
}
.px-\[14px\] {
    padding-left: 14px;
    padding-right: 14px;
}
.px-\[18px\] {
    padding-left: 18px;
    padding-right: 18px;
}
.px-\[5px\] {
    padding-left: 5px;
    padding-right: 5px;
}
.px-\[6px\] {
    padding-left: 6px;
    padding-right: 6px;
}
.px-\[7px\] {
    padding-left: 7px;
    padding-right: 7px;
}
.px-\[8px\] {
    padding-left: 8px;
    padding-right: 8px;
}
.px-\[9px\] {
    padding-left: 9px;
    padding-right: 9px;
}
.px-\[var\(--aisf-space-3\)\] {
    padding-left: var(--aisf-space-3);
    padding-right: var(--aisf-space-3);
}
.py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-\[0\.0625rem\] {
    padding-top: 0.0625rem;
    padding-bottom: 0.0625rem;
}
.py-\[0\.1875rem\] {
    padding-top: 0.1875rem;
    padding-bottom: 0.1875rem;
}
.py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px;
}
.py-\[11px\] {
    padding-top: 11px;
    padding-bottom: 11px;
}
.py-\[13px\] {
    padding-top: 13px;
    padding-bottom: 13px;
}
.py-\[14px\] {
    padding-top: 14px;
    padding-bottom: 14px;
}
.py-\[1px\] {
    padding-top: 1px;
    padding-bottom: 1px;
}
.py-\[22px\] {
    padding-top: 22px;
    padding-bottom: 22px;
}
.py-\[26px\] {
    padding-top: 26px;
    padding-bottom: 26px;
}
.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px;
}
.py-\[3px\] {
    padding-top: 3px;
    padding-bottom: 3px;
}
.py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px;
}
.py-\[6px\] {
    padding-top: 6px;
    padding-bottom: 6px;
}
.py-\[7px\] {
    padding-top: 7px;
    padding-bottom: 7px;
}
.py-\[8px\] {
    padding-top: 8px;
    padding-bottom: 8px;
}
.py-\[9px\] {
    padding-top: 9px;
    padding-bottom: 9px;
}
.py-px {
    padding-top: 1px;
    padding-bottom: 1px;
}
.pb-1 {
    padding-bottom: 0.25rem;
}
.pb-1\.5 {
    padding-bottom: 0.375rem;
}
.pb-12 {
    padding-bottom: 3rem;
}
.pb-14 {
    padding-bottom: 3.5rem;
}
.pb-2 {
    padding-bottom: 0.5rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pb-\[14px\] {
    padding-bottom: 14px;
}
.pb-\[18px\] {
    padding-bottom: 18px;
}
.pb-\[6px\] {
    padding-bottom: 6px;
}
.pl-2\.5 {
    padding-left: 0.625rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pl-5 {
    padding-left: 1.25rem;
}
.pl-6 {
    padding-left: 1.5rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pl-9 {
    padding-left: 2.25rem;
}
.pl-\[34px\] {
    padding-left: 34px;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pr-10 {
    padding-right: 2.5rem;
}
.pr-2 {
    padding-right: 0.5rem;
}
.pr-3 {
    padding-right: 0.75rem;
}
.pr-4 {
    padding-right: 1rem;
}
.pr-8 {
    padding-right: 2rem;
}
.pr-9 {
    padding-right: 2.25rem;
}
.pt-0 {
    padding-top: 0px;
}
.pt-0\.5 {
    padding-top: 0.125rem;
}
.pt-1 {
    padding-top: 0.25rem;
}
.pt-16 {
    padding-top: 4rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pt-2\.5 {
    padding-top: 0.625rem;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pt-3\.5 {
    padding-top: 0.875rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-5 {
    padding-top: 1.25rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pt-\[13px\] {
    padding-top: 13px;
}
.pt-\[18px\] {
    padding-top: 18px;
}
.pt-\[6px\] {
    padding-top: 6px;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.align-baseline {
    vertical-align: baseline;
}
.align-top {
    vertical-align: top;
}
.align-middle {
    vertical-align: middle;
}
.font-\[\"JetBrains_Mono\"\2c monospace\] {
    font-family: "JetBrains Mono",monospace;
}
.font-\[\'JetBrains_Mono\'\2c monospace\] {
    font-family: 'JetBrains Mono',monospace;
}
.font-\[\'Plus_Jakarta_Sans\'\2c sans-serif\] {
    font-family: 'Plus Jakarta Sans',sans-serif;
}
.font-mono {
    font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace;
}
.font-sans {
    font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif;
}
.\!text-\[10px\] {
    font-size: 10px !important;
}
.\!text-\[11\.5px\] {
    font-size: 11.5px !important;
}
.\!text-\[12px\] {
    font-size: 12px !important;
}
.\!text-\[13px\] {
    font-size: 13px !important;
}
.\!text-\[14px\] {
    font-size: 14px !important;
}
.\!text-\[22px\] {
    font-size: 22px !important;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-\[0\.85em\] {
    font-size: 0.85em;
}
.text-\[10\.5px\] {
    font-size: 10.5px;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11\.5px\] {
    font-size: 11.5px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[12\.5px\] {
    font-size: 12.5px;
}
.text-\[12px\] {
    font-size: 12px;
}
.text-\[13\.5px\] {
    font-size: 13.5px;
}
.text-\[13px\] {
    font-size: 13px;
}
.text-\[14px\] {
    font-size: 14px;
}
.text-\[15\.5px\] {
    font-size: 15.5px;
}
.text-\[15px\] {
    font-size: 15px;
}
.text-\[16px\] {
    font-size: 16px;
}
.text-\[17px\] {
    font-size: 17px;
}
.text-\[18px\] {
    font-size: 18px;
}
.text-\[19px\] {
    font-size: 19px;
}
.text-\[22px\] {
    font-size: 22px;
}
.text-\[24px\] {
    font-size: 24px;
}
.text-\[25px\] {
    font-size: 25px;
}
.text-\[26px\] {
    font-size: 26px;
}
.text-\[27px\] {
    font-size: 27px;
}
.text-\[28px\] {
    font-size: 28px;
}
.text-\[8px\] {
    font-size: 8px;
}
.text-\[9\.5px\] {
    font-size: 9.5px;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-\[length\:inherit\] {
    font-size: inherit;
}
.text-\[length\:var\(--aisf-font-size-11\)\] {
    font-size: var(--aisf-font-size-11);
}
.text-\[length\:var\(--aisf-font-size-12\)\] {
    font-size: var(--aisf-font-size-12);
}
.text-\[length\:var\(--aisf-font-size-13\)\] {
    font-size: var(--aisf-font-size-13);
}
.text-\[length\:var\(--aisf-font-size-14\)\] {
    font-size: var(--aisf-font-size-14);
}
.text-\[length\:var\(--aisf-font-size-15\)\] {
    font-size: var(--aisf-font-size-15);
}
.text-\[length\:var\(--aisf-font-size-16\)\] {
    font-size: var(--aisf-font-size-16);
}
.text-\[length\:var\(--aisf-font-size-17\)\] {
    font-size: var(--aisf-font-size-17);
}
.text-\[length\:var\(--aisf-font-size-18\)\] {
    font-size: var(--aisf-font-size-18);
}
.text-\[length\:var\(--aisf-font-size-20\)\] {
    font-size: var(--aisf-font-size-20);
}
.text-\[length\:var\(--aisf-font-size-22\)\] {
    font-size: var(--aisf-font-size-22);
}
.text-\[length\:var\(--aisf-font-size-24\)\] {
    font-size: var(--aisf-font-size-24);
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-\[500\] {
    font-weight: 500;
}
.font-\[var\(--aisf-font-mono\)\] {
    font-weight: var(--aisf-font-mono);
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.italic {
    font-style: italic;
}
.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
    line-height: 1rem;
}
.leading-5 {
    line-height: 1.25rem;
}
.leading-\[1\.25\] {
    line-height: 1.25;
}
.leading-\[1\.55\] {
    line-height: 1.55;
}
.leading-\[1\.5\] {
    line-height: 1.5;
}
.leading-\[1\.6\] {
    line-height: 1.6;
}
.leading-\[14px\] {
    line-height: 14px;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-snug {
    line-height: 1.375;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-\[-0\.01em\] {
    letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
    letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
    letter-spacing: -0.03em;
}
.tracking-\[\.04em\] {
    letter-spacing: .04em;
}
.tracking-\[0\.03em\] {
    letter-spacing: 0.03em;
}
.tracking-\[0\.04em\] {
    letter-spacing: 0.04em;
}
.tracking-\[0\.05em\] {
    letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
    letter-spacing: 0.06em;
}
.tracking-\[0\.12em\] {
    letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
    letter-spacing: 0.15em;
}
.tracking-\[0\.18em\] {
    letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
    letter-spacing: 0.1em;
}
.tracking-\[var\(--aisf-letter-spacing-tight\)\] {
    letter-spacing: var(--aisf-letter-spacing-tight);
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.text-\[var\(--aisf-font-size-11\)\] {
    color: var(--aisf-font-size-11);
}
.text-\[var\(--aisf-font-size-12\)\] {
    color: var(--aisf-font-size-12);
}
.text-\[var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.text-\[var\(--aisf-status-blue-fg\)\] {
    color: var(--aisf-status-blue-fg);
}
.text-\[var\(--aisf-status-gray-fg\)\] {
    color: var(--aisf-status-gray-fg);
}
.text-\[var\(--aisf-status-green-fg\)\] {
    color: var(--aisf-status-green-fg);
}
.text-\[var\(--aisf-status-orange-fg\)\] {
    color: var(--aisf-status-orange-fg);
}
.text-\[var\(--aisf-status-purple-fg\)\] {
    color: var(--aisf-status-purple-fg);
}
.text-\[var\(--aisf-status-red-fg\)\] {
    color: var(--aisf-status-red-fg);
}
.text-\[var\(--aisf-status-teal-fg\)\] {
    color: var(--aisf-status-teal-fg);
}
.text-\[var\(--aisf-success\)\] {
    color: var(--aisf-success);
}
.text-\[var\(--aisf-text\)\] {
    color: var(--aisf-text);
}
.text-\[var\(--aisf-text-label\)\] {
    color: var(--aisf-text-label);
}
.text-\[var\(--aisf-text-muted\)\] {
    color: var(--aisf-text-muted);
}
.text-\[var\(--aisf-text-subtle\)\] {
    color: var(--aisf-text-subtle);
}
.text-\[var\(--aisf-warning\)\] {
    color: var(--aisf-warning);
}
.text-\[var\(--wo-border\)\] {
    color: var(--wo-border);
}
.text-\[var\(--wo-danger\)\] {
    color: var(--wo-danger);
}
.text-\[var\(--wo-fg\)\] {
    color: var(--wo-fg);
}
.text-\[var\(--wo-fg2\)\] {
    color: var(--wo-fg2);
}
.text-\[var\(--wo-fg3\)\] {
    color: var(--wo-fg3);
}
.text-\[var\(--wo-info\)\] {
    color: var(--wo-info);
}
.text-\[var\(--wo-primary\)\] {
    color: var(--wo-primary);
}
.text-\[var\(--wo-success\)\] {
    color: var(--wo-success);
}
.text-\[var\(--wo-warning\)\] {
    color: var(--wo-warning);
}
.text-accent-foreground {
    color: hsl(var(--accent-foreground));
}
.text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-border {
    color: hsl(var(--border));
}
.text-card-foreground {
    color: hsl(var(--card-foreground));
}
.text-current {
    color: currentColor;
}
.text-cyan-700 {
    --tw-text-opacity: 1;
    color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive {
    color: hsl(var(--destructive));
}
.text-destructive-foreground {
    color: hsl(var(--destructive-foreground));
}
.text-emerald-400 {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground {
    color: hsl(var(--foreground));
}
.text-foreground\/50 {
    color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70 {
    color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/90 {
    color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-700 {
    --tw-text-opacity: 1;
    color: rgb(162 28 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-info {
    color: hsl(var(--info));
}
.text-inherit {
    color: inherit;
}
.text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/30 {
    color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40 {
    color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50 {
    color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60 {
    color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
    color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/90 {
    color: hsl(var(--muted-foreground) / 0.9);
}
.text-neutral-200 {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
    --tw-text-opacity: 1;
    color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
    --tw-text-opacity: 1;
    color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-800 {
    --tw-text-opacity: 1;
    color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
    color: hsl(var(--popover-foreground));
}
.text-primary {
    color: hsl(var(--primary));
}
.text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.text-purple-700 {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800 {
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
    color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
    color: var(--sidebar-foreground);
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-success {
    color: hsl(var(--success));
}
.text-violet-700 {
    --tw-text-opacity: 1;
    color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-warning {
    color: hsl(var(--warning));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/90 {
    color: rgb(255 255 255 / 0.9);
}
.text-yellow-700 {
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.line-through {
    text-decoration-line: line-through;
}
.no-underline {
    text-decoration-line: none;
}
.underline-offset-2 {
    text-underline-offset: 2px;
}
.underline-offset-4 {
    text-underline-offset: 4px;
}
.caret-foreground {
    caret-color: hsl(var(--foreground));
}
.accent-\[hsl\(var\(--primary\)\)\] {
    accent-color: hsl(var(--primary));
}
.accent-\[var\(--aisf-accent\)\] {
    accent-color: var(--aisf-accent);
}
.accent-\[var\(--wo-danger\)\] {
    accent-color: var(--wo-danger);
}
.accent-\[var\(--wo-primary\)\] {
    accent-color: var(--wo-primary);
}
.accent-\[var\(--wo-success\)\] {
    accent-color: var(--wo-success);
}
.opacity-0 {
    opacity: 0;
}
.opacity-100 {
    opacity: 1;
}
.opacity-20 {
    opacity: 0.2;
}
.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-80 {
    opacity: 0.8;
}
.opacity-90 {
    opacity: 0.9;
}
.opacity-\[var\(--aisf-disabled-opacity\)\] {
    opacity: var(--aisf-disabled-opacity);
}
.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-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[var\(--aisf-gradient-shadow\)\] {
    --tw-shadow-color: var(--aisf-gradient-shadow);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-lg\)\] {
    --tw-shadow-color: var(--aisf-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-md\)\] {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-sm\)\] {
    --tw-shadow-color: var(--aisf-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xl\)\] {
    --tw-shadow-color: var(--aisf-shadow-xl);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xs\)\] {
    --tw-shadow-color: var(--aisf-shadow-xs);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-lg\)\] {
    --tw-shadow-color: var(--wo-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-md\)\] {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-sm\)\] {
    --tw-shadow-color: var(--wo-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20 {
    --tw-shadow-color: hsl(var(--primary) / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline {
    outline-style: solid;
}
.ring-0 {
    --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);
}
.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-\[3px\] {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#fff\] {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-\[var\(--aisf-accent\)\] {
    --tw-ring-color: var(--aisf-accent);
}
.ring-\[var\(--aisf-bg\)\] {
    --tw-ring-color: var(--aisf-bg);
}
.ring-\[var\(--wo-danger\)\] {
    --tw-ring-color: var(--wo-danger);
}
.ring-\[var\(--wo-primary\)\] {
    --tw-ring-color: var(--wo-primary);
}
.ring-destructive\/40 {
    --tw-ring-color: hsl(var(--destructive) / 0.4);
}
.ring-primary {
    --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/20 {
    --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-offset-1 {
    --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
    --tw-ring-offset-width: 2px;
}
.ring-offset-\[var\(--aisf-bg\)\] {
    --tw-ring-offset-color: var(--aisf-bg);
}
.ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background));
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[clip-path\] {
    transition-property: clip-path;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[left\] {
    transition-property: left;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\] {
    transition-property: width;
    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-150 {
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.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);
}
.will-change-transform {
    will-change: transform;
}
@keyframes enter {
    from {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
.animate-in {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.fade-in-0 {
    --tw-enter-opacity: 0;
}
.zoom-in-95 {
    --tw-enter-scale: .95;
}
.duration-150 {
    animation-duration: 150ms;
}
.duration-200 {
    animation-duration: 200ms;
}
.duration-300 {
    animation-duration: 300ms;
}
.duration-500 {
    animation-duration: 500ms;
}
.ease-in-out {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\!running {
    animation-play-state: running !important;
}
.running {
    animation-play-state: running;
}
.paused {
    animation-play-state: paused;
}
.\[background\:var\(--aisf-gradient\)\] {
    background: var(--aisf-gradient);
}
.\[box-shadow\:0_0_0_1px_var\(--aisf-accent\)\] {
    box-shadow: 0 0 0 1px var(--aisf-accent);
}
.\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.\[box-shadow\:inset_0_-1px_0_var\(--aisf-border\)\] {
    box-shadow: inset 0 -1px 0 var(--aisf-border);
}
.\[box-shadow\:var\(--aisf-gradient-shadow\)\] {
    box-shadow: var(--aisf-gradient-shadow);
}
.\[box-shadow\:var\(--aisf-shadow-button-destructive\)\] {
    box-shadow: var(--aisf-shadow-button-destructive);
}
.\[box-shadow\:var\(--aisf-shadow-button-primary\)\] {
    box-shadow: var(--aisf-shadow-button-primary);
}
.\[box-shadow\:var\(--aisf-shadow-button-secondary\)\] {
    box-shadow: var(--aisf-shadow-button-secondary);
}
.\[color\:var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.\[font-weight\:inherit\] {
    font-weight: inherit;
}
.\[line-height\:inherit\] {
    line-height: inherit;
}
.\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
}
.\[scrollbar-gutter\:stable\] {
    scrollbar-gutter: stable;
}
html, body, #root { height: 100%; }
body {
  margin: 0;
  background: var(--aisf-bg);
  color: var(--aisf-text);
  /* Niente font-family qui, di proposito: nel monolito Fabric `body{}` imposta solo bg/text (mai
     il font) e lascia che Preflight applichi theme.fontFamily.sans (Inter — vedi preset.ts). Il
     token --aisf-font-ui (Roboto) resta riservato alle classi Typography (.aisf-text-*): forzarlo
     qui lo rendeva involontariamente globale, "rubando" Roboto anche al testo grezzo (es. le voci
     di nav) che nel design di riferimento eredita Inter. */
  -webkit-font-smoothing: antialiased;
}
.file\:mr-3::file-selector-button {
    margin-right: 0.75rem;
}
.file\:rounded-md::file-selector-button {
    border-radius: calc(var(--radius) - 2px);
}
.file\:border::file-selector-button {
    border-width: 1px;
}
.file\:border-0::file-selector-button {
    border-width: 0px;
}
.file\:border-border::file-selector-button {
    border-color: hsl(var(--border));
}
.file\:bg-muted::file-selector-button {
    background-color: hsl(var(--muted));
}
.file\:bg-transparent::file-selector-button {
    background-color: transparent;
}
.file\:px-3::file-selector-button {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.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.25rem;
}
.file\:font-medium::file-selector-button {
    font-weight: 500;
}
.file\:text-foreground::file-selector-button {
    color: hsl(var(--foreground));
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::-moz-placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::-moz-placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-muted-foreground::-moz-placeholder {
    color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
    color: hsl(var(--muted-foreground));
}
.last\:flex-none:last-child {
    flex: none;
}
.last\:border-0:last-child {
    border-width: 0px;
}
.last\:border-b-0:last-child {
    border-bottom-width: 0px;
}
.focus-within\:border-primary\/50:focus-within {
    border-color: hsl(var(--primary) / 0.5);
}
.focus-within\:bg-background:focus-within {
    background-color: hsl(var(--background));
}
.focus-within\:opacity-100:focus-within {
    opacity: 1;
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-\[1px\]:hover {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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\:border-\[var\(--aisf-accent\)\]:hover {
    border-color: var(--aisf-accent);
}
.hover\:border-\[var\(--aisf-border-strong\)\]:hover {
    border-color: var(--aisf-border-strong);
}
.hover\:border-\[var\(--wo-border2\)\]:hover {
    border-color: var(--wo-border2);
}
.hover\:border-\[var\(--wo-danger\)\]:hover {
    border-color: var(--wo-danger);
}
.hover\:border-\[var\(--wo-primary\)\]:hover {
    border-color: var(--wo-primary);
}
.hover\:border-border:hover {
    border-color: hsl(var(--border));
}
.hover\:border-foreground\/30:hover {
    border-color: hsl(var(--foreground) / 0.3);
}
.hover\:border-primary\/40:hover {
    border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-ring:hover {
    border-color: hsl(var(--ring));
}
.hover\:bg-\[var\(--aisf-accent\)\]:hover {
    background-color: var(--aisf-accent);
}
.hover\:bg-\[var\(--aisf-accent-hover\)\]:hover {
    background-color: var(--aisf-accent-hover);
}
.hover\:bg-\[var\(--aisf-bg-hover\)\]:hover {
    background-color: var(--aisf-bg-hover);
}
.hover\:bg-\[var\(--aisf-danger-hover\)\]:hover {
    background-color: var(--aisf-danger-hover);
}
.hover\:bg-\[var\(--aisf-danger-soft\)\]:hover {
    background-color: var(--aisf-danger-soft);
}
.hover\:bg-\[var\(--wo-border\)\]:hover {
    background-color: var(--wo-border);
}
.hover\:bg-\[var\(--wo-danger-soft\)\]:hover {
    background-color: var(--wo-danger-soft);
}
.hover\:bg-\[var\(--wo-muted\)\]:hover {
    background-color: var(--wo-muted);
}
.hover\:bg-\[var\(--wo-primary-soft\)\]:hover {
    background-color: var(--wo-primary-soft);
}
.hover\:bg-accent:hover {
    background-color: hsl(var(--accent));
}
.hover\:bg-background\/60:hover {
    background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-destructive\/10:hover {
    background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover {
    background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
    background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover {
    background-color: hsl(var(--muted));
}
.hover\:bg-muted\/20:hover {
    background-color: hsl(var(--muted) / 0.2);
}
.hover\:bg-muted\/30:hover {
    background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover {
    background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover {
    background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover {
    background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/70:hover {
    background-color: hsl(var(--muted) / 0.7);
}
.hover\:bg-neutral-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary\/80:hover {
    background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
    background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
    background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover {
    background-color: hsl(var(--secondary) / 0.8);
}
.hover\:text-\[var\(--aisf-accent\)\]:hover {
    color: var(--aisf-accent);
}
.hover\:text-\[var\(--aisf-danger\)\]:hover {
    color: var(--aisf-danger);
}
.hover\:text-\[var\(--aisf-text\)\]:hover {
    color: var(--aisf-text);
}
.hover\:text-\[var\(--wo-danger\)\]:hover {
    color: var(--wo-danger);
}
.hover\:text-\[var\(--wo-fg\)\]:hover {
    color: var(--wo-fg);
}
.hover\:text-\[var\(--wo-primary\)\]:hover {
    color: var(--wo-primary);
}
.hover\:text-accent-foreground:hover {
    color: hsl(var(--accent-foreground));
}
.hover\:text-destructive:hover {
    color: hsl(var(--destructive));
}
.hover\:text-foreground:hover {
    color: hsl(var(--foreground));
}
.hover\:text-neutral-100:hover {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
    text-decoration-line: underline;
}
.hover\:opacity-100:hover {
    opacity: 1;
}
.hover\:opacity-70:hover {
    opacity: 0.7;
}
.hover\:opacity-80:hover {
    opacity: 0.8;
}
.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-\[var\(--aisf-shadow-md\)\]:hover {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-\[var\(--wo-shadow-md\)\]:hover {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:brightness-95:hover {
    --tw-brightness: brightness(.95);
    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);
}
.hover\:\[box-shadow\:var\(--aisf-gradient-shadow-hover\)\]:hover {
    box-shadow: var(--aisf-gradient-shadow-hover);
}
.focus\:border-\[var\(--aisf-accent\)\]:focus {
    border-color: var(--aisf-accent);
}
.focus\:border-\[var\(--aisf-danger\)\]:focus {
    border-color: var(--aisf-danger);
}
.focus\:border-\[var\(--wo-primary\)\]:focus {
    border-color: var(--wo-primary);
}
.focus\:border-destructive:focus {
    border-color: hsl(var(--destructive));
}
.focus\:border-ring:focus {
    border-color: hsl(var(--ring));
}
.focus\:bg-accent:focus {
    background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus {
    color: hsl(var(--accent-foreground));
}
.focus\:opacity-100:focus {
    opacity: 1;
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-1:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[var\(--wo-primary\)\]:focus {
    --tw-ring-color: var(--wo-primary);
}
.focus\:ring-ring:focus {
    --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-ring\/30:focus {
    --tw-ring-color: hsl(var(--ring) / 0.3);
}
.focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-1:focus {
    --tw-ring-offset-width: 1px;
}
.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}
.focus\:\[box-shadow\:0_0_0_2px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 2px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-danger-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-danger-soft);
}
.focus\:\[box-shadow\:none\]:focus {
    box-shadow: none;
}
.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
    outline-style: solid;
}
.focus-visible\:outline-1:focus-visible {
    outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
    outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
}
.focus-visible\:outline-offset-\[-2px\]:focus-visible {
    outline-offset: -2px;
}
.focus-visible\:outline-\[var\(--aisf-accent\)\]:focus-visible {
    outline-color: var(--aisf-accent);
}
.focus-visible\:outline-neutral-400:focus-visible {
    outline-color: #a3a3a3;
}
.focus-visible\:outline-primary:focus-visible {
    outline-color: hsl(var(--primary));
}
.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-\[var\(--aisf-accent\)\]:focus-visible {
    --tw-ring-color: var(--aisf-accent);
}
.focus-visible\:ring-primary\/40:focus-visible {
    --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus-visible\:ring-ring:focus-visible {
    --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-ring\/40:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.4);
}
.focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.5);
}
.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
    --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus-visible {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.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));
}
.active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active {
    cursor: grabbing;
}
.disabled\:pointer-events-none:disabled {
    pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.disabled\:opacity-40:disabled {
    opacity: 0.4;
}
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.disabled\:opacity-55:disabled {
    opacity: 0.55;
}
.disabled\:opacity-60:disabled {
    opacity: 0.6;
}
.disabled\:opacity-70:disabled {
    opacity: 0.7;
}
.disabled\:opacity-\[var\(--aisf-disabled-opacity\)\]:disabled {
    opacity: var(--aisf-disabled-opacity);
}
.disabled\:shadow-none:disabled {
    --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);
}
.disabled\:hover\:bg-transparent:hover:disabled {
    background-color: transparent;
}
.disabled\:hover\:text-muted-foreground\/60:hover:disabled {
    color: hsl(var(--muted-foreground) / 0.6);
}
.disabled\:active\:scale-100:active:disabled {
    --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));
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.group:hover .group-hover\:bg-muted {
    background-color: hsl(var(--muted));
}
.group:hover .group-hover\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
.group:focus .group-focus\:opacity-100 {
    opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
    border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
    border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
    background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
    background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
    background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
    color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
    border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
    background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
    color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
    --tw-text-opacity: 1;
    color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
    --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
    --tw-ring-offset-color: #dc2626;
}
.peer:checked ~ .peer-checked\:border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.peer:checked ~ .peer-checked\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.peer:focus-visible ~ .peer-focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
    cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
    opacity: 0.7;
}
.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) {
    cursor: not-allowed;
}
.has-\[\:disabled\]\:opacity-\[var\(--aisf-disabled-opacity\)\]:has(:disabled) {
    opacity: var(--aisf-disabled-opacity);
}
.group:has(:checked) .group-has-\[\:checked\]\:left-auto {
    left: auto;
}
.group:has(:checked) .group-has-\[\:checked\]\:right-\[0\.125rem\] {
    right: 0.125rem;
}
.group:has(:checked) .group-has-\[\:checked\]\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.group:has(:focus-visible) .group-has-\[\:focus-visible\]\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
    --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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --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));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --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));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-indigo-500[data-state="checked"] {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: hsl(var(--primary));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: hsl(var(--accent));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: hsl(var(--input));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: hsl(var(--muted-foreground));
}
.data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 0.5;
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
    --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);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
    --tw-exit-opacity: 0.8;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
    --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
    --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
    --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
    --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
    --tw-enter-translate-y: -100%;
}
@media (prefers-reduced-motion: no-preference) {
    .motion-safe\: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));
    }
    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
    .motion-safe\:animate-spin {
        animation: spin 1s linear infinite;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-\[width\] {
        transition-property: width;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:transition-all {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-transform {
        transition-property: transform;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:duration-200 {
        transition-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        transition-duration: 300ms;
    }
    .motion-safe\:ease-out {
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:duration-200 {
        animation-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        animation-duration: 300ms;
    }
    .motion-safe\:ease-out {
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:data-\[state\=open\]\:animate-in[data-state="open"] {
        animation-name: enter;
        animation-duration: 150ms;
        --tw-enter-opacity: initial;
        --tw-enter-scale: initial;
        --tw-enter-rotate: initial;
        --tw-enter-translate-x: initial;
        --tw-enter-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:animate-out[data-state="closed"] {
        animation-name: exit;
        animation-duration: 150ms;
        --tw-exit-opacity: initial;
        --tw-exit-scale: initial;
        --tw-exit-rotate: initial;
        --tw-exit-translate-x: initial;
        --tw-exit-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
        --tw-exit-opacity: 0;
    }
    .motion-safe\:data-\[state\=open\]\:fade-in-0[data-state="open"] {
        --tw-enter-opacity: 0;
    }
    .motion-safe\:data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
        --tw-exit-scale: .95;
    }
    .motion-safe\:data-\[state\=open\]\:zoom-in-95[data-state="open"] {
        --tw-enter-scale: .95;
    }
    .motion-safe\:data-\[side\=bottom\]\:slide-in-from-top-1[data-side="bottom"] {
        --tw-enter-translate-y: -0.25rem;
    }
    .motion-safe\:data-\[side\=left\]\:slide-in-from-right-1[data-side="left"] {
        --tw-enter-translate-x: 0.25rem;
    }
    .motion-safe\:data-\[side\=right\]\:slide-in-from-left-1[data-side="right"] {
        --tw-enter-translate-x: -0.25rem;
    }
    .motion-safe\:data-\[side\=top\]\:slide-in-from-bottom-1[data-side="top"] {
        --tw-enter-translate-y: 0.25rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .motion-reduce\:animate-none {
        animation: none;
    }
    .motion-reduce\:transition-none {
        transition-property: none;
    }
    .motion-reduce\:duration-0 {
        transition-duration: 0s;
        animation-duration: 0s;
    }
}
.dark\:border-amber-800\/40:is(.dark *) {
    border-color: rgb(146 64 14 / 0.4);
}
.dark\:border-blue-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-destructive:is(.dark *) {
    border-color: hsl(var(--destructive));
}
.dark\:bg-\[var\(--aisf-neutral-0\)\]:is(.dark *) {
    background-color: var(--aisf-neutral-0);
}
.dark\:bg-amber-900\/20:is(.dark *) {
    background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-950\/30:is(.dark *) {
    background-color: rgb(69 26 3 / 0.3);
}
.dark\:bg-blue-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950\/20:is(.dark *) {
    background-color: rgb(23 37 84 / 0.2);
}
.dark\:bg-blue-950\/30:is(.dark *) {
    background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-cyan-950\/30:is(.dark *) {
    background-color: rgb(8 51 68 / 0.3);
}
.dark\:bg-fuchsia-950\/30:is(.dark *) {
    background-color: rgb(74 4 78 / 0.3);
}
.dark\:bg-green-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900\/30:is(.dark *) {
    background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-950\/30:is(.dark *) {
    background-color: rgb(5 46 22 / 0.3);
}
.dark\:bg-indigo-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-950\/30:is(.dark *) {
    background-color: rgb(80 7 36 / 0.3);
}
.dark\:bg-purple-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-950\/30:is(.dark *) {
    background-color: rgb(59 7 100 / 0.3);
}
.dark\:bg-violet-950\/30:is(.dark *) {
    background-color: rgb(46 16 101 / 0.3);
}
.dark\:text-amber-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:\[color\:var\(--aisf-neutral-900\)\]:is(.dark *) {
    color: var(--aisf-neutral-900);
}
@media (min-width: 360px) {
    .min-\[360px\]\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 640px) {
    .sm\:bottom-0 {
        bottom: 0px;
    }
    .sm\:right-0 {
        right: 0px;
    }
    .sm\:top-auto {
        top: auto;
    }
    .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .sm\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .sm\:block {
        display: block;
    }
    .sm\:inline {
        display: inline;
    }
    .sm\:w-44 {
        width: 11rem;
    }
    .sm\:w-64 {
        width: 16rem;
    }
    .sm\:w-\[480px\] {
        width: 480px;
    }
    .sm\:w-auto {
        width: auto;
    }
    .sm\:max-w-2xl {
        max-width: 42rem;
    }
    .sm\:max-w-\[75\%\] {
        max-width: 75%;
    }
    .sm\:max-w-lg {
        max-width: 32rem;
    }
    .sm\:max-w-md {
        max-width: 28rem;
    }
    .sm\:max-w-xl {
        max-width: 36rem;
    }
    .sm\:flex-1 {
        flex: 1 1 0%;
    }
    .sm\:basis-64 {
        flex-basis: 16rem;
    }
    .sm\:basis-auto {
        flex-basis: auto;
    }
    .sm\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .sm\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .sm\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .sm\:grid-cols-\[14rem_1fr_auto\] {
        grid-template-columns: 14rem 1fr auto;
    }
    .sm\:grid-cols-\[1fr_1fr_1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[5rem_1fr_1fr_auto\] {
        grid-template-columns: 5rem 1fr 1fr auto;
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:flex-col {
        flex-direction: column;
    }
    .sm\:flex-wrap {
        flex-wrap: wrap;
    }
    .sm\:items-start {
        align-items: flex-start;
    }
    .sm\:items-end {
        align-items: flex-end;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:justify-end {
        justify-content: flex-end;
    }
    .sm\:justify-between {
        justify-content: space-between;
    }
    .sm\:gap-0 {
        gap: 0px;
    }
    .sm\:gap-4 {
        gap: 1rem;
    }
    .sm\: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)));
    }
    .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
    }
    .sm\:rounded-lg {
        border-radius: var(--radius);
    }
    .sm\:p-6 {
        padding: 1.5rem;
    }
    .sm\:text-left {
        text-align: left;
    }
    .sm\:text-\[32px\] {
        font-size: 32px;
    }
    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
        --tw-enter-translate-y: 100%;
    }
}
@media (min-width: 768px) {
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:flex {
        display: flex;
    }
    .md\:max-w-\[420px\] {
        max-width: 420px;
    }
    .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-\[80px_1fr_1fr_auto\] {
        grid-template-columns: 80px 1fr 1fr auto;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
@media (min-width: 1024px) {
    .lg\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .lg\:block {
        display: block;
    }
    .lg\:flex {
        display: flex;
    }
    .lg\:hidden {
        display: none;
    }
    .lg\:w-\[54\%\] {
        width: 54%;
    }
    .lg\:max-w-\[420px\] {
        max-width: 420px;
    }
    .lg\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[1\.2fr_1fr\] {
        grid-template-columns: 1.2fr 1fr;
    }
    .lg\:grid-cols-\[1\.55fr_1fr\] {
        grid-template-columns: 1.55fr 1fr;
    }
    .lg\:grid-cols-\[1fr_auto_1fr\] {
        grid-template-columns: 1fr auto 1fr;
    }
    .lg\:grid-cols-\[340px_1fr\] {
        grid-template-columns: 340px 1fr;
    }
    .lg\:grid-cols-\[minmax\(220px\2c 1fr\)_minmax\(0\2c 3fr\)\] {
        grid-template-columns: minmax(220px,1fr) minmax(0,3fr);
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:gap-8 {
        gap: 2rem;
    }
    .lg\:p-11 {
        padding: 2.75rem;
    }
    .lg\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}
@media (min-width: 1280px) {
    .xl\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .xl\:grid {
        display: grid;
    }
    .xl\:hidden {
        display: none;
    }
    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.5fr\)\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);
    }
    .xl\:grid-cols-\[minmax\(200px\2c 1\.5fr\)_repeat\(3\2c minmax\(140px\2c 1fr\)\)\] {
        grid-template-columns: minmax(200px,1.5fr) repeat(3,minmax(140px,1fr));
    }
    .xl\:flex-col {
        flex-direction: column;
    }
    .xl\:items-end {
        align-items: flex-end;
    }
    .xl\:justify-start {
        justify-content: flex-start;
    }
    .xl\:gap-6 {
        gap: 1.5rem;
    }
    .xl\:border-t-0 {
        border-top-width: 0px;
    }
    .xl\:px-20 {
        padding-left: 5rem;
        padding-right: 5rem;
    }
    .xl\:pt-0 {
        padding-top: 0px;
    }
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
    padding-right: 0px;
}
.\[\&\>button\]\:w-auto>button {
    width: auto;
}
.\[\&\>button\]\:whitespace-nowrap>button {
    white-space: nowrap;
}
.\[\&\>button\]\:border-\[var\(--wo-border\)\]>button {
    border-color: var(--wo-border);
}
.\[\&\>button\]\:bg-\[var\(--wo-card\)\]>button {
    background-color: var(--wo-card);
}
.\[\&\>button\]\:text-\[var\(--wo-fg2\)\]>button {
    color: var(--wo-fg2);
}
.\[\&\>div\]\:\!block>div {
    display: block !important;
}
.\[\&\>span\]\:line-clamp-1>span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.\[\&\>span\]\:min-w-0>span {
    min-width: 0px;
}
.\[\&\>span\]\:truncate>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.peer:checked ~ .peer-checked\:\[\&\>span\]\:opacity-100>span {
    opacity: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
    --tw-translate-y: -3px;
    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));
}
.\[\&\>svg\]\:absolute>svg {
    position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
    left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
    top: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
    flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
    color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
    color: hsl(var(--foreground));
}
.peer:checked ~ .peer-checked\:\[\&\>svg\]\:opacity-100>svg {
    opacity: 1;
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
    padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
    border-bottom-width: 0px;
}
.\[\&_\[role\=option\]\]\:whitespace-normal [role=option] {
    white-space: normal;
}
.\[\&_\[role\=option\]\]\:break-all [role=option] {
    word-break: break-all;
}
.\[\&_p\]\:leading-relaxed p {
    line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
}
.\[\&_svg\]\:mx-auto svg {
    margin-left: auto;
    margin-right: auto;
}
.\[\&_svg\]\:size-4 svg {
    width: 1rem;
    height: 1rem;
}
.\[\&_svg\]\:h-auto svg {
    height: auto;
}
.\[\&_svg\]\:max-w-full svg {
    max-width: 100%;
}
.\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
    border-bottom-width: 1px;
}
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  cursor: grab;
}
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}
.react-flow__edge-path,
.react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1;
  fill: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge:focus .react-flow__edge-path,
  .react-flow__edge:focus-visible .react-flow__edge-path {
    stroke: #555;
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge-textbg {
    fill: white;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__connectionline {
  z-index: 1001;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: grab;
}
.react-flow__node.dragging {
    cursor: grabbing;
  }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background: #1a192b;
  border: 1px solid white;
  border-radius: 100%;
}
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-top {
    left: 50%;
    top: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-left {
    top: 50%;
    left: -4px;
    transform: translate(0, -50%);
  }
.react-flow__handle-right {
    right: -4px;
    top: 50%;
    transform: translate(0, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.center {
    left: 50%;
    transform: translateX(-50%);
  }
.react-flow__attribution {
  font-size: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-default,
.react-flow__node-input,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: 3px;
  width: 150px;
  font-size: 12px;
  color: #222;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #1a192b;
  background-color: white;
}
.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
    }
.react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: 0 0 0 0.5px #1a192b;
    }
.react-flow__node-group {
  background-color: rgba(240, 240, 240, 0.25);
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: rgba(0, 89, 220, 0.08);
  border: 1px dotted rgba(0, 89, 220, 0.8);
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
}
.react-flow__controls-button {
    border: none;
    background: #fefefe;
    border-bottom: 1px solid #eee;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    padding: 5px;
  }
.react-flow__controls-button:hover {
      background: #f4f4f4;
    }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__minimap {
  background-color: #fff;
}
.react-flow__minimap svg {
  display: block;
}
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 4px;
  height: 4px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: #3367d9;
  transform: translate(-50%, -50%);
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: #3367d9;
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
.agent-studio,.as-modal{--as-ink:var(--aisf-text,#182339);--as-muted:var(--aisf-text-muted,#64748b);--as-border:var(--aisf-border,#e2e8f0);--as-bg:var(--aisf-bg-subtle,#f7f9fc);--as-surface:var(--aisf-surface,#fff);--as-hover:var(--aisf-bg-hover,#f2f4f9);--as-accent:var(--aisf-accent,#5147d9);--as-soft:var(--aisf-accent-soft,#eeedff);--as-link:var(--aisf-status-blue-fg,#3551f2);--as-action:var(--aisf-blue,#3551f2);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--as-ink);font-size:14px;line-height:1.5;color-scheme:inherit}
.agent-studio *,.as-modal *{box-sizing:border-box}.agent-studio{background:var(--as-bg);min-height:calc(100vh - 140px);border:1px solid var(--as-border);border-radius:18px;overflow:hidden}:where(.agent-studio) button:not(.as-ds-nav),.as-modal button{font:inherit;cursor:pointer;border:1px solid var(--as-border);border-radius:9px;background:var(--as-surface);padding:9px 14px;font-weight:550;color:var(--as-ink);transition:background .15s,border-color .15s}:where(.agent-studio) button:not(.as-ds-nav):hover,.as-modal button:hover{background:var(--as-hover);border-color:var(--as-border)}:where(.agent-studio) button:not(.as-ds-nav):disabled,.as-modal button:disabled{opacity:.5;cursor:not-allowed}.agent-studio :focus-visible,.as-modal :focus-visible{outline:3px solid #867beb;outline-offset:3px}.agent-studio h1,.agent-studio h2,.agent-studio h3,.as-modal h2,.as-modal h3{line-height:1.25;letter-spacing:-.025em;color:var(--as-ink);margin:0 0 12px}.agent-studio h1{font-size:30px;font-weight:650}.agent-studio h2{font-size:18px;font-weight:650}.agent-studio h3{font-size:15px;margin-top:25px}.agent-studio p,.as-modal p{margin:0 0 14px}.agent-studio input,.agent-studio select,.agent-studio textarea,.as-modal input,.as-modal textarea,.as-modal select{font:inherit;color:var(--as-ink);background:var(--as-surface);border:1px solid var(--aisf-border-strong,#cdd6e2);border-radius:8px;padding:10px 12px;min-width:0;max-width:100%}.agent-studio textarea,.as-modal textarea{resize:vertical}.agent-studio .as-primary,.as-modal .as-primary{background:var(--as-action);border-color:var(--as-action);color:white;box-shadow:0 3px 7px #5147d921}.agent-studio .as-primary:hover,.as-modal .as-primary:hover{background:#4238c4;border-color:var(--as-border)}.as-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--as-surface);border-bottom:1px solid var(--as-border);padding:19px 26px}.as-wordmark{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:750;letter-spacing:.15em;white-space:nowrap}.as-wordmark>span{font-size:28px;color:var(--as-accent);line-height:1}.as-scope{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--as-muted);flex-wrap:wrap}.as-scope-dot{height:7px;width:7px;border-radius:50%;background:#278468;display:inline-block;flex:none}.as-workspace{display:grid;grid-template-columns:220px minmax(0,1fr)}.as-nav{background:var(--as-surface);border-right:1px solid var(--as-border);padding:26px 14px;display:flex;flex-direction:column;min-height:760px}.as-nav-caption{font-size:10px;letter-spacing:.12em;color:var(--as-muted);font-weight:650;padding:0 12px;margin:8px 0 17px}.as-nav nav{display:flex;flex-direction:column;gap:5px}.as-nav-footer{margin-top:auto;padding:35px 12px 0;color:var(--as-muted);font-size:11px}.as-nav-footer>span{margin-right:7px}.as-nav-footer p{padding-top:10px;font-size:11px;color:var(--as-muted);line-height:1.6}.as-main{padding:32px;min-width:0}.as-page-header{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:30px}.as-page-header>div>p:last-child{color:var(--as-muted);margin:0;font-size:13px}.as-eyebrow{font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--as-muted);margin:0 0 10px!important}.as-page-header button{flex-shrink:0}.as-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.as-metric{background:var(--as-surface);border:1px solid var(--as-border);border-radius:13px;padding:24px;position:relative}.as-metric p{font-size:12px;color:var(--as-muted);margin-bottom:9px}.as-metric strong{display:block;font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.04em;margin:10px 0}.as-metric small{font-size:11px;color:var(--as-muted)}.as-metric-marker{position:absolute;right:22px;top:25px;width:8px;height:8px;border-radius:50%}.as-green{background:#43a48b}.as-violet{background:#8c7ce3}.as-amber{background:#d3a456}.as-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);gap:24px;margin-bottom:24px}.as-start-card{padding:30px;border-radius:14px;border:1px solid var(--as-border);background:linear-gradient(145deg,var(--as-soft),var(--as-surface) 80%);position:relative;overflow:hidden}.as-start-card h2{font-size:26px;font-weight:600;line-height:1.32;margin:18px 0}.as-start-card>p:not(.as-eyebrow){font-size:13px;color:var(--as-muted);max-width:380px;line-height:1.8}.as-start-card button{margin:10px 0 25px}.as-start-card button span{padding-left:18px}.as-steps{display:flex;gap:18px;border-top:1px solid var(--as-border);padding-top:18px;font-size:10px;color:var(--as-muted)}.as-panel{background:var(--as-surface);border:1px solid var(--as-border);border-radius:14px;padding:24px}.as-section-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}.as-section-heading h2,.as-section-heading h3{margin:0}.agent-studio .as-link,.as-modal .as-link{background:transparent;border:0;color:var(--as-link);padding:4px 0;font-size:12px;box-shadow:none}.agent-studio .as-agent-row{background:transparent;border:1px solid transparent;border-radius:12px;display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:16px;margin:6px 0}.agent-studio .as-agent-row:is(:hover,:focus-visible){background:var(--as-hover);border-color:var(--as-border)}.as-agent-row-copy{flex:1;min-width:0;overflow-wrap:anywhere}.as-agent-row>.as-agent-row-arrow{flex:none;color:var(--as-muted)}.as-agent-row>.as-chip{flex-shrink:0}.as-agent-row strong{display:block;font-size:13px;font-weight:600}.as-agent-row small{display:block;font-size:11px;font-weight:400;color:var(--as-muted);margin-top:5px}.as-avatar{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--as-soft);border:1px solid var(--as-border);color:var(--as-accent);font-size:11px;font-weight:650;flex-shrink:0}.as-avatar-large{width:48px;height:48px;border-radius:14px;font-size:14px}.as-chip{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--as-border);background:var(--as-bg);padding:3px 8px;font-size:10px;font-weight:550;line-height:1.5;border-radius:5px;color:var(--as-muted)}.as-chip-green{background:var(--aisf-status-green-bg,#ecf8f3);border-color:var(--as-border);color:var(--aisf-status-green-fg,#287458)}.as-chip-violet{background:var(--aisf-status-purple-bg,#f2efff);border-color:var(--as-border);color:var(--aisf-status-purple-fg,#6a55ae)}.as-chip-amber{background:var(--aisf-status-orange-bg,#fff7e8);border-color:var(--as-border);color:var(--aisf-status-orange-fg,#936523)}.as-filters{display:flex;gap:10px;flex-wrap:wrap}.as-filters>input{flex:1;min-width:180px}.as-filters>select{font-size:12px}.as-result-count{color:var(--as-muted);font-size:11px;margin:20px 0 14px!important}.as-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.agent-studio .as-agent-card{background:var(--as-surface);text-align:left;border:1px solid var(--as-border);border-radius:13px;padding:22px}.agent-studio .as-agent-card:hover{border-color:var(--as-border);box-shadow:0 5px 18px #151b2d06;background:var(--as-surface)}.as-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.as-agent-card h2{font-size:16px;margin-bottom:9px}.as-agent-card p{font-size:12px;color:var(--as-muted);font-weight:400}.as-card-bottom{border-top:1px solid var(--as-border);display:flex;justify-content:space-between;gap:10px;padding-top:14px;margin-top:24px;font-size:10px;color:var(--as-muted);font-weight:400}.as-empty{text-align:center;padding:42px 20px;color:#8290a5;font-size:13px}.as-empty h3{color:#536078;margin:12px 0}.as-empty-symbol{font-size:32px;color:#b2abc9}.as-loading{display:flex;align-items:center;gap:12px;padding:50px 25px;justify-content:center;color:var(--as-muted);font-size:13px}.as-loader{display:inline-block;width:20px;height:20px;border:2px solid #ddd9f0;border-top-color:var(--as-accent);border-radius:50%;animation:as-spin 1s linear infinite}@keyframes as-spin{to{transform:rotate(360deg)}}.as-notice{background:var(--aisf-status-blue-bg,#f0f3fb);border:1px solid var(--as-border);border-radius:9px;padding:14px 18px;font-size:12px;margin-bottom:18px;color:var(--aisf-status-blue-fg,#526480);overflow-wrap:anywhere}.as-notice button{margin-left:10px}.as-error{background:var(--aisf-status-red-bg,#fff3f2);border-color:var(--as-border);color:var(--aisf-status-red-fg,#984b40)}.as-success{background:var(--aisf-status-green-bg,#eff8f3);border-color:var(--as-border);color:var(--aisf-status-green-fg,#337050)}.as-back{margin-bottom:20px}.as-editor-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.as-editor-title{display:flex;gap:14px;align-items:center;min-width:0}.as-editor-title h1{font-size:22px;margin:0;overflow-wrap:anywhere}.as-editor-title p{font-size:11px;color:var(--as-muted);margin:8px 0 0}.as-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.as-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.as-actions button{font-size:12px}.as-tabs{display:flex;border-bottom:1px solid var(--as-border);overflow-x:auto;margin-bottom:24px;gap:20px}.agent-studio .as-tabs button{white-space:nowrap;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:12px;color:var(--as-muted);padding:12px 0}.agent-studio .as-tabs button[aria-selected=true]{color:var(--as-accent);border-bottom-color:var(--as-accent)}.as-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.63fr);gap:24px;align-items:start}.as-editor-content{background:var(--as-surface);border:1px solid var(--as-border);border-radius:14px;padding:26px;min-width:0}.as-fieldset{padding:0;margin:0;border:0;min-width:0}.as-section-intro{margin-bottom:28px}.as-section-intro h2{font-size:20px}.as-section-intro p:last-child{font-size:12px;color:var(--as-muted);line-height:1.7}.as-field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px;font-weight:550;min-width:0}.as-field>small{font-size:11px;font-weight:400;color:var(--as-muted)}.as-field input,.as-field textarea,.as-field select{font-weight:400;width:100%;font-size:13px}.as-prompt-editor{line-height:1.9;min-height:300px}.as-details{border:1px solid var(--as-border);border-radius:8px;padding:15px;margin:18px 0;font-size:12px}.as-details summary{cursor:pointer;font-weight:550}.as-details[open] summary{margin-bottom:18px}.as-check-list{display:flex;flex-direction:column}.as-check-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--as-border);font-size:12px}.as-check-row input{accent-color:var(--as-accent);width:16px;height:16px;flex:none}.as-check-row>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.as-check-row strong{display:block;font-weight:550}.as-check-row small{display:block;color:var(--as-muted);font-size:10px;margin-top:5px}.as-policy-card{border-radius:10px;padding:20px;background:var(--as-bg);margin-top:25px}.as-policy-card p,.as-muted{font-size:12px;color:var(--as-muted);line-height:1.7}.as-playground{background:var(--as-surface);border:1px solid var(--as-border);border-radius:14px;position:sticky;top:18px;overflow:hidden;min-width:0}.as-playground>header{padding:22px 20px 15px;display:flex;gap:10px;align-items:center;justify-content:space-between}.as-playground h2{font-size:15px;margin:6px 0 0}.as-playground-hint{font-size:11px;color:var(--as-muted);padding:0 20px 15px;border-bottom:1px solid var(--as-border);margin-bottom:0!important}.as-conversation{min-height:320px;max-height:550px;overflow:auto;padding:20px;background:var(--as-bg)}.as-conversation .as-empty{padding:65px 10px}.as-bubble{font-size:12px;white-space:pre-wrap;border:1px solid var(--as-border);border-radius:12px;padding:14px;background:var(--as-surface);margin:12px 15px 12px 0;overflow-wrap:anywhere}.as-bubble small{display:block;font-size:10px;color:var(--as-muted);margin-bottom:8px}.as-bubble p{margin:0}.as-user{background:var(--as-soft);border-color:var(--as-border);margin:12px 0 12px 15px}.as-composer{border-top:1px solid var(--as-border);padding:16px}.as-composer textarea{border:0!important;width:100%;font-size:12px!important;min-height:80px}.as-composer>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.as-composer small{font-size:10px;color:var(--as-muted)}.as-composer button{font-size:12px}.as-run-meta{padding:15px 20px;display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--as-muted)}.as-run-meta small{width:100%}.as-version-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--as-border);font-size:12px}.as-version-row small{display:block;color:var(--as-muted);font-size:10px;margin-top:5px}.as-table-scroll{overflow:auto;margin-top:25px}.agent-studio table{width:100%;border-collapse:collapse;background:var(--as-surface);border:1px solid var(--as-border);font-size:12px}.agent-studio th{text-align:left;color:var(--as-muted);font-size:10px;font-weight:550;background:var(--as-bg)}.agent-studio th,.agent-studio td{padding:17px;border-bottom:1px solid var(--as-border)}.as-modal{width:min(750px,calc(100vw - 32px));max-height:90vh;padding:28px;border:1px solid var(--as-border);border-radius:18px;box-shadow:0 25px 100px #121b3540;background:var(--as-surface);overflow:auto}.as-modal::backdrop{background:#18233970;backdrop-filter:blur(4px)}.as-modal>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--as-border);padding-bottom:15px;margin-bottom:22px;gap:15px}.as-modal>header h2{font-size:21px;margin:0}.as-modal>header button{font-size:22px;padding:2px 10px;border:0}.as-modal footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--as-border);padding-top:20px;margin-top:25px}.as-modal>p{color:var(--as-muted);font-size:13px}.as-proposal{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--as-bg);border:1px solid var(--as-border);border-radius:9px;padding:20px;font:13px/1.75 inherit;max-height:400px;overflow:auto}.as-template-list{display:flex;flex-direction:column;gap:10px}.as-template{display:flex;gap:15px;align-items:center;border:1px solid var(--as-border);padding:20px;border-radius:12px;cursor:pointer}.as-template.selected{border-color:var(--as-border);background:var(--as-soft)}.as-template input{accent-color:var(--as-accent)}.as-template strong,.as-template small{display:block}.as-template small{font-size:12px;color:var(--as-muted);margin-top:5px}.as-diff section>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.as-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--aisf-status-red-bg,#f8f6f6);border:1px solid var(--as-border);padding:12px;border-radius:6px;font-size:11px;max-height:250px;overflow:auto}.as-diff pre+pre{background:var(--aisf-status-green-bg,#f1f8f5)}.as-diff h4{margin:18px 0 5px;font-size:12px}.as-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){.as-main{padding:40px}.as-agent-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1250px){.as-workspace{grid-template-columns:185px minmax(0,1fr)}.as-main{padding:24px}.as-editor-grid{grid-template-columns:1fr}.as-playground{position:static}.as-editor-header{align-items:flex-start;flex-direction:column}.as-overview-grid{grid-template-columns:1fr}.as-metric{padding:18px}.as-metric-marker{right:14px;top:22px}}@media(max-width:800px){.agent-studio{border-radius:10px}.as-topline{padding:16px}.as-scope{font-size:10px;justify-content:flex-end}.as-scope .as-chip{display:none}.as-wordmark{font-size:10px}.as-workspace{display:flex;flex-direction:column}.as-nav{min-height:0;padding:8px;border-right:0;border-bottom:1px solid var(--as-border)}.as-nav-caption,.as-nav-footer{display:none}.as-nav nav{flex-direction:row;overflow:auto;gap:5px}.as-main{padding:20px 16px}.as-page-header{gap:12px;align-items:flex-start;margin-bottom:22px}.agent-studio h1{font-size:25px}.as-page-header>div>p:last-child{font-size:12px;max-width:350px}.as-page-header .as-primary{font-size:11px;padding:9px}.as-metrics{gap:8px;margin-bottom:20px}.as-metric{padding:14px}.as-metric p{font-size:10px;min-height:30px}.as-metric strong{font-size:28px}.as-metric small,.as-metric-marker{display:none}.as-start-card{padding:24px}.as-start-card h2{font-size:24px}.as-panel{padding:20px}.as-agent-row .as-chip{font-size:9px}.as-editor-content{padding:20px}.as-editor-grid{gap:20px}.as-tabs{gap:22px}.as-actions{width:100%}.as-actions button{flex:1}.as-modal{padding:20px}.as-modal footer{flex-wrap:wrap}.as-diff section>div{grid-template-columns:1fr}.as-filters>input{flex-basis:100%}.as-filters>select{flex:1 1 140px;min-width:140px;max-width:100%}.as-steps{gap:12px;font-size:9px}.as-editor-title h1{font-size:20px}.as-editor-title .as-chip{font-size:9px}}
@media(prefers-reduced-motion:reduce){.agent-studio *,.as-modal *{animation:none!important;transition:none!important}}
.as-wizard-progress{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:18px 0 24px;color:var(--as-muted);font-size:11px}.as-wizard-progress li{display:flex;align-items:center;gap:5px}.as-wizard-progress span{border:1px solid var(--as-border);border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.as-wizard-progress [aria-current=step]{color:var(--as-accent);font-weight:650}.as-wizard-progress [aria-current=step] span{background:var(--as-soft);border-color:var(--as-accent)}

.agent-studio.as-inline-tools{min-height:0;border:0;border-radius:0;overflow:visible;background:transparent;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.as-inline-select{display:flex;align-items:center;gap:8px;font-size:12px}.as-inline-tools select{max-width:min(320px,65vw);padding:6px 10px}.as-memory-item{padding:14px 0;border-bottom:1px solid var(--as-border);margin-bottom:16px}.as-memory-item p{white-space:pre-wrap;overflow-wrap:anywhere}.as-memory-item>div{display:flex;gap:8px;margin-top:8px}.as-panel+.as-panel{margin-top:20px}.as-panel+.as-section-heading{margin-top:32px}

/* Keep nested workspaces usable when the host rail reduces the available width. */
.agent-studio{container-type:inline-size;min-width:0;width:100%}.as-workspace,.as-main{min-width:0}.as-topline{flex-wrap:wrap}.as-scope{min-width:0;overflow-wrap:anywhere}.as-scope select{max-width:260px}.as-agent-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
@container(max-width:760px){.as-workspace{display:flex;flex-direction:column}.as-nav{min-height:0;padding:8px;border-right:0;border-bottom:1px solid var(--as-border)}.as-nav-caption,.as-nav-footer{display:none}.as-nav nav{flex-direction:row;overflow:auto}.as-main{padding:20px 16px}.as-editor-grid{grid-template-columns:1fr}.as-playground{position:static}.as-page-header{flex-wrap:wrap}}
@media(max-width:480px){.as-page-header{flex-wrap:wrap}.as-metrics{grid-template-columns:1fr}.as-metric{display:grid;grid-template-columns:1fr auto;align-items:center}.as-metric p{min-height:0;margin:0}.as-metric strong{margin:0}.as-editor-title{flex-wrap:wrap}.as-modal footer button{flex:1}.as-check-row{flex-wrap:wrap}.as-steps{flex-wrap:wrap}}

.as-block{display:block}.as-limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px}.as-table-scroll+.as-panel{margin-top:24px}.as-filters+.as-section-heading{margin-top:28px}

.as-tool-choices{display:grid;gap:10px}.as-tool-choice{border:1px solid var(--as-border);border-radius:12px;padding:12px;background:var(--as-surface)}.as-tool-choice .as-check-row{border:0;padding:0;background:transparent}.as-tool-choice details{margin:8px 0 0 28px;font-size:12px;color:var(--as-muted)}.as-tool-choice summary{cursor:pointer}.as-tool-choice dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4px 12px}.as-tool-choice dd{margin:0;overflow-wrap:anywhere}.as-trial-trace ol{padding-left:20px}.as-trial-trace li{margin:12px 0}.as-trial-trace small{display:block}.as-trial-trace pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}

.agent-studio .as-form-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.agent-studio .as-field-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 0 20px; }
.agent-studio .as-usage-totals { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; }
.agent-studio .as-usage-totals dd { margin: 0; font-variant-numeric: tabular-nums; }

.agent-studio.as-memory-panel{padding:0;background:transparent;min-height:0}.agent-studio .as-memory-agents{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.agent-studio .as-memory-agents button{border:1px solid var(--as-border);border-radius:10px;padding:12px 16px;background:var(--as-surface);text-align:left}

/* Capability explorer: semantic buttons and disclosures remain usable without the diagram. */
.as-chip-blue{color:var(--aisf-status-blue-fg,#3356a8);background:var(--aisf-status-blue-bg,#edf3ff)}
.as-provenance{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--as-muted);line-height:1.6}.as-origin-note{font-size:10px;border-left:1px solid var(--as-border);padding-left:7px}
.agent-studio .as-agent-card{padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--as-surface);border:1px solid var(--as-border);border-radius:14px;transition:border-color .2s,box-shadow .2s}.as-agent-card:hover{box-shadow:0 8px 28px #1521460d;border-color:var(--as-accent)}
.agent-studio .as-agent-card-open{display:block;flex:1;width:100%;text-align:left;padding:22px;border:0;background:transparent;border-radius:0}.agent-studio .as-agent-card-open:focus-visible{outline-offset:-4px}.as-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:var(--as-muted)}
.agent-studio .as-card-capabilities{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;border-top:1px solid var(--as-border);border-radius:0;background:var(--as-bg);padding:12px 22px;color:var(--as-accent);font-size:12px}.as-card-capabilities>span:last-child{margin-left:auto}.as-card-capabilities svg{width:17px;height:17px}
.as-modal.as-modal-wide{width:min(1160px,calc(100vw - 32px));max-width:1160px}.as-capabilities{container-type:inline-size;margin:0 0 22px;min-width:0}.as-cap-header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin:0 0 18px}.as-cap-header h2{font-size:24px!important;margin-bottom:8px}.as-cap-header p:not(.as-eyebrow){color:var(--as-muted);font-size:13px}.as-cap-header .as-chip{flex-shrink:0;white-space:normal}.as-cap-canvas{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.9fr) minmax(0,1fr);gap:32px;padding:28px 24px;border:1px solid var(--as-border);border-radius:16px;background:radial-gradient(circle at 50% 50%,var(--as-soft),transparent 60%),radial-gradient(var(--as-border) .8px,transparent .8px);background-size:auto,16px 16px;align-items:center;overflow:hidden;min-height:350px}.as-cap-branch{min-width:0;position:relative;z-index:1}.as-cap-branch-label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--as-muted);margin-bottom:15px!important}.as-cap-branch-label svg{width:16px;height:16px}.as-cap-branch-label>span{margin-left:auto;background:var(--as-surface);border:1px solid var(--as-border);border-radius:20px;min-width:23px;text-align:center;letter-spacing:0}.as-cap-nodes{position:relative;display:flex;flex-direction:column;gap:10px}.as-cap-nodes::after{content:"";position:absolute;pointer-events:none;width:16px;top:36px;bottom:36px;border:1px solid var(--as-border);z-index:-1}.as-cap-branch-tools .as-cap-nodes::after{right:-16px;border-left:0;border-radius:0 12px 12px 0}.as-cap-branch-delegates .as-cap-nodes::after{left:-16px;border-right:0;border-radius:12px 0 0 12px}.as-cap-node{flex-shrink:0;display:flex!important;align-items:center;gap:9px;text-align:left!important;min-height:70px;padding:12px!important;position:relative;width:100%;border-radius:11px!important;box-shadow:0 3px 10px #15214606}.as-cap-node::after{position:absolute;content:"";width:16px;height:1px;top:50%;background:var(--as-border);pointer-events:none}.as-cap-branch-tools .as-cap-node::after{right:-17px}.as-cap-branch-delegates .as-cap-node::after{left:-17px}.as-cap-node>span:nth-child(2){flex:1;min-width:0}.as-cap-node strong{font-size:12px;line-height:1.4;display:block;overflow-wrap:anywhere}.as-cap-node small{font-size:10px;font-weight:400;color:var(--as-muted);display:block;margin-top:4px}.as-cap-node>span:last-child{font-size:12px;color:var(--as-muted)}.as-cap-node-icon,.as-cap-tool-icon{background:var(--as-soft);color:var(--as-accent);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none}.as-cap-sub .as-cap-node-icon{background:var(--aisf-status-green-bg,#e5f5ef);color:var(--aisf-status-green-fg,#217358)}.as-cap-node[aria-pressed=true]{border-color:var(--as-accent)!important;box-shadow:0 0 0 1px var(--as-accent)}.as-cap-sub[aria-pressed=true]{border-color:var(--aisf-status-green-fg,#217358)!important;box-shadow:0 0 0 1px var(--aisf-status-green-fg,#217358)}.as-cap-center{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;z-index:0}.as-cap-center::before,.as-cap-center::after{content:"";position:absolute;width:calc(50% + 18px);height:1px;top:50%;background:var(--as-border);z-index:-1}.as-cap-center::before{right:50%}.as-cap-center::after{left:50%}.as-cap-orbit{position:absolute;width:230px;height:230px;max-width:140%;aspect-ratio:1;border:1px dashed var(--as-border);border-radius:50%;pointer-events:none;z-index:-1}.as-cap-root{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;min-width:0;padding:23px 16px!important;text-align:center;background:var(--as-surface)!important;border:1px solid var(--as-accent)!important;border-radius:18px!important;box-shadow:0 8px 35px #5147d915}.as-cap-avatar{display:inline-flex;padding:12px;background:var(--as-soft);border:1px solid var(--as-border);border-radius:15px;color:var(--as-accent)}.as-cap-avatar svg{height:27px;width:27px}.as-cap-root small{font-size:8px;letter-spacing:.13em;color:var(--as-muted)}.as-cap-root strong{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.as-cap-root>span:last-child{font-size:10px;color:var(--as-muted);font-weight:400}.as-cap-root[aria-pressed=true]{box-shadow:0 0 0 3px var(--as-soft),0 8px 35px #5147d915}.as-cap-none{font-size:12px;color:var(--as-muted);padding:25px 12px;text-align:center;background:var(--as-bg);border:1px dashed var(--as-border);border-radius:10px}
.as-cap-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:13px 2px;font-size:10px;color:var(--as-muted)}.as-cap-legend>span{display:inline-flex;align-items:center;gap:6px}.as-cap-legend>span:last-child{margin-left:auto}.as-cap-legend i{height:6px;width:6px;border-radius:50%}.as-cap-key-tool{background:var(--as-accent)}.as-cap-key-sub{background:var(--aisf-status-green-fg,#217358)}.as-cap-detail{background:var(--as-surface);border:1px solid var(--as-border);padding:24px;border-radius:14px;margin-top:8px;min-width:0}.as-cap-detail h3{font-size:18px;margin:14px 0 10px!important}.as-cap-detail .as-section-heading h3{margin:0!important}.as-cap-detail p{font-size:13px}.as-cap-summary{display:flex;flex-wrap:wrap;gap:24px;padding:12px 0 20px}.as-cap-summary>span{font-size:11px;color:var(--as-muted)}.as-cap-summary strong{font-size:22px;line-height:1.4;display:block;color:var(--as-ink)}.as-cap-description{margin-top:15px!important}.as-cap-tools{display:grid;gap:9px}.as-cap-tool{border:1px solid var(--as-border);border-radius:10px;overflow:hidden}.as-cap-tool summary{padding:13px;display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.as-cap-tool summary::-webkit-details-marker{display:none}.as-cap-tool summary::after{content:"+";color:var(--as-muted);margin-left:3px}.as-cap-tool[open] summary::after{content:"−"}.as-cap-tool[open] summary{border-bottom:1px solid var(--as-border);background:var(--as-bg)}.as-cap-tool summary>span:nth-child(2){flex:1;min-width:0}.as-cap-tool summary strong{font-size:12px;display:block;overflow-wrap:anywhere}.as-cap-tool summary small{font-size:10px;display:block;color:var(--as-muted);overflow-wrap:anywhere}.as-cap-tool-body{padding:16px}.as-cap-tool-body>p{white-space:pre-wrap;overflow-wrap:anywhere}.as-cap-facts{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0 0;font-size:11px}.as-cap-facts>div{min-width:0;flex:1}.as-cap-facts dt{color:var(--as-muted);margin-bottom:3px}.as-cap-facts dd{margin:0;overflow-wrap:anywhere}.as-cap-usage{margin-top:28px;padding-top:24px;border-top:1px solid var(--as-border)}.as-cap-usage h3{display:flex;align-items:center;gap:9px;margin-top:0!important}.as-cap-usage>p{font-size:12px}.as-cap-usage-list{display:grid;gap:8px}.as-cap-usage-list>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 15px;border:1px solid var(--as-border);border-radius:9px;background:var(--as-surface)}.as-cap-usage-list>div>span:first-child{margin-right:auto}.as-cap-usage-list strong{font-size:12px}.as-cap-usage-list small{font-size:10px;color:var(--as-muted);display:block}.as-editor-content:has(.as-capabilities){padding:22px}
@container (max-width:650px){.as-cap-canvas{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 20px;padding:22px 16px}.as-cap-center{grid-column:1/-1;grid-row:1}.as-cap-root{width:230px;max-width:100%;padding:18px!important}.as-cap-center::before{display:none}.as-cap-center::after{left:50%;width:1px;height:35px;top:100%}.as-cap-orbit{display:none}.as-cap-branch-tools .as-cap-nodes::after,.as-cap-branch-delegates .as-cap-nodes::after,.as-cap-node::after{display:none}.as-cap-branch-label{font-size:8px}.as-cap-node{padding:10px!important;gap:7px}.as-cap-node-icon{width:27px;height:27px;border-radius:7px}.as-cap-node-icon svg{width:17px;height:17px}.as-cap-node strong{font-size:11px}.as-cap-header{flex-direction:column;gap:0}.as-cap-legend>span:last-child{margin-left:0}.as-cap-detail{padding:16px}.as-cap-facts{flex-direction:column;gap:10px}}
@container (max-width:350px){.as-cap-canvas{grid-template-columns:1fr;padding:20px 14px}.as-cap-branch-delegates{grid-column:1}.as-cap-node{min-height:60px}.as-cap-header h2{font-size:21px!important}.as-cap-branch-label{font-size:10px}.as-cap-tool summary{flex-wrap:wrap}.as-cap-tool summary>.as-chip{margin-left:44px}.as-cap-detail .as-section-heading{flex-wrap:wrap}}
@media(max-width:600px){.as-modal.as-modal-wide{width:calc(100vw - 16px);padding:18px}.as-provenance{font-size:11px}.as-editor-content:has(.as-capabilities){padding:14px}}
@media(prefers-reduced-motion:reduce){.as-agent-card{transition:none!important}}
.as-cap-tool summary:focus-visible{outline-offset:-3px;border-radius:8px}
@container (max-width:450px){.as-cap-tool summary{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:7px 10px}.as-cap-tool summary>.as-cap-tool-icon{grid-column:1;grid-row:1 / span 2}.as-cap-tool summary>span:nth-child(2){grid-column:2}.as-cap-tool summary>.as-chip{grid-column:2;margin-left:0;justify-self:start}.as-cap-tool summary::after{grid-column:3;grid-row:1}}

/* Dialog chrome never participates in body scrolling. */
.as-modal[open]{display:flex;flex-direction:column;overflow:hidden;padding:0;max-height:90dvh}
.as-modal.as-modal-wide{padding:0}
.as-modal>.as-modal-header{flex:none;margin:0;padding:22px 26px;border-bottom:1px solid var(--as-border);align-items:center;background:var(--as-surface)}
.as-modal-header h2{margin:0;min-width:0;overflow-wrap:anywhere}
.as-modal-header .as-icon-button{flex:none;min-width:44px;min-height:44px}
.as-modal-tabs{flex:none;padding:0 26px;background:var(--as-surface)}
.as-modal-tabs .as-tabs{margin:0}
.as-modal-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 26px;scrollbar-gutter:stable}
.as-modal-actions{flex:none;background:var(--as-surface);border-top:1px solid var(--as-border);padding:16px 26px}
.as-modal .as-modal-actions footer{margin:0;padding:0;border:0;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.as-tool-code{display:block;overflow-wrap:anywhere;font-family:var(--aisf-font-mono,ui-monospace,monospace);font-size:12px;color:var(--as-accent);margin:4px 0}
.as-cap-node code{white-space:normal;overflow-wrap:anywhere;font-size:11px;display:block;color:var(--as-muted);font-weight:400}
.as-cap-tool-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
@media(max-width:600px){
 .as-modal[open],.as-modal.as-modal-wide[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}
 .as-modal>.as-modal-header,.as-modal-body,.as-modal-actions{padding:16px}
 .as-modal-tabs{padding:0 16px}
 .as-modal-header h2{font-size:18px}
}

.as-tool-config-list{max-height:220px;overflow:auto;overscroll-behavior:contain;padding:2px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.as-tool-config-list button{flex-shrink:0;text-align:left;display:flex;flex-direction:column;gap:5px}.as-tool-config-list code{overflow-wrap:anywhere}.as-tool-config-list [aria-pressed=true]{border-color:var(--as-accent);background:var(--as-soft)}.as-tool-config pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.as-tool-config .as-policy-card h3{margin-top:0}

.as-cap-node-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@container (min-width:651px){.as-cap-nodes{max-height:min(340px,32dvh);overflow:auto;overscroll-behavior:contain;padding:2px 7px 2px 2px}.as-cap-center{align-self:center}.as-cap-canvas{align-items:start;min-height:280px;padding:20px}.as-cap-node::after,.as-cap-nodes::after{display:none}}
@container (max-width:650px){.as-cap-canvas{grid-template-columns:1fr}.as-cap-branch-delegates{grid-column:1}.as-cap-node{min-height:80px}}

.as-cap-facts dt small{display:block;font-weight:400;color:var(--as-muted);margin-top:4px}

.as-wizard-navigation{padding:12px 0}.as-wizard-navigation .as-wizard-progress{margin:8px 0 0;overflow-x:auto}.as-summary-list{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:12px}.as-summary-list dt{color:var(--as-muted)}.as-summary-list dd{margin:0;overflow-wrap:anywhere}

.as-instructions{min-width:0}.as-instructions .as-section-heading{flex-wrap:wrap}.as-prompt-search{display:flex;align-items:end;gap:8px;margin-bottom:14px}.as-prompt-search .as-field{margin:0;flex:1}.as-prompt-diff{display:grid;grid-template-columns:1fr 1fr;gap:16px}.as-prompt-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:55dvh;overflow:auto}.as-prompt-references{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow:auto}.as-prompt-references button{display:flex;flex-direction:column;align-items:start}.as-markdown{padding:20px;border:1px solid var(--as-border);border-radius:12px;overflow-wrap:anywhere}.as-markdown pre{white-space:pre-wrap}.as-markdown ul,.as-markdown ol{padding-left:24px}.as-markdown h2,.as-markdown h3{margin:20px 0 10px}.as-markdown p{margin:8px 0}@media(max-width:650px){.as-prompt-diff{grid-template-columns:1fr}.as-prompt-search{flex-wrap:wrap}.as-instructions .as-actions{flex-wrap:wrap}}

.as-model-effective { margin: 1.25rem 0; padding: 1.2rem; border: 1px solid var(--as-border); border-radius: 16px; background: var(--as-surface); }
.as-model-effective ol { display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; margin: 0.75rem 0 0; list-style: none; }
.as-model-effective li { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.as-model-effective li > div { display: grid; min-width: 0; }
.as-model-effective code { white-space: normal; overflow-wrap: anywhere; font-size: .8rem; }
.as-model-order { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #e5eefb; color: #174e9e; font-weight: 700; }
.as-model-edit-chain { padding-left: 1.5rem; }
.as-model-edit-chain li { padding: .5rem 0; }

.as-identity-preview { display: flex; align-items: center; gap: 1rem; margin: 1rem 0; }
.as-map-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; margin-bottom: .8rem; }
.as-map-toolbar .as-field { flex: 1; min-width: 180px; margin: 0; }
.as-flow-viewport { height: 500px; border: 1px solid #bdcce0; border-radius: 16px; overflow: hidden; background: #f4f7fc; }
.agent-studio .as-flow-viewport button.react-flow__controls-button { display: flex; align-items: center; justify-content: center; color: #263651; background: #fff; border: 0; border-bottom: 1px solid #dce2eb; border-radius: 0; padding: 6px; width: 32px; height: 32px; }
.agent-studio .as-flow-viewport .react-flow__controls-button svg { fill: currentColor; width: 16px; height: 16px; max-width: 16px; max-height: 16px; }
.as-flow-resource { width: 244px; min-height: 118px; padding: 12px 15px; border: 1px solid #bdcce0; border-radius: 12px; background: #fff; color: #263651; box-shadow: 0 4px 12px #1c3d6410; display: grid; gap: 3px; }
.as-flow-resource.is-selected { outline: 3px solid #78a5ee; }
.as-flow-resource > small { color: #526987; font-size: 11px; }
.as-flow-resource > strong { line-height: 1.3; }
.as-flow-resource code { font-size: 11px; overflow-wrap: anywhere; }
.as-flow-resource p { margin: 0; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.as-flow-agent { border: 2px solid #2f6fed; background: #edf4ff; }
.as-flow-delegate { border-color: #aa8be4; background: #f9f5ff; }
.as-flow-rag { border-color: #79b6a0; background: #f1fbf6; }
.as-flow-workflow { border-color: #ccae68; background: #fffbef; }
.as-map-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .65rem; }
.as-map-list > button { text-align: left; display: grid; gap: .25rem; min-width: 0; padding: .8rem; }
.as-map-list > button[aria-pressed=true] { outline: 2px solid #2f6fed; }
.as-map-list code { white-space: normal; overflow-wrap: anywhere; font-size: .8rem; }
.as-map-list .as-cap-node-description { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
@media(max-width: 700px) { .as-flow-viewport { height: 360px; } .as-map-toolbar { align-items: stretch; } .as-map-list { grid-template-columns: 1fr; } }

/* Workflow editor: list controls remain equivalent to the visual graph. */
.agent-studio .as-workflow-binding{display:grid;grid-template-columns:minmax(70px,.7fr) 1fr 1fr auto;gap:12px;align-items:center;margin:12px 0}.agent-studio .as-workflow-edge{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--as-border)}.agent-studio .as-workflow-node{min-height:100px}.agent-studio .as-workflow-input,.agent-studio .as-workflow-output{border-color:#66a49a}.agent-studio .as-workflow-approval{border-color:#b98d38}.agent-studio .as-modal pre{overflow:auto;max-height:400px;white-space:pre-wrap;overflow-wrap:anywhere}.agent-studio .as-code-editor{font-family:ui-monospace,monospace;font-size:13px}@media(max-width:700px){.agent-studio .as-workflow-binding{grid-template-columns:1fr}.agent-studio .as-workflow-edge{align-items:flex-start}}
.as-workflow-timeline { margin: 1.25rem 0; padding-left: 1.5rem; }
.as-workflow-timeline > li { padding: 0 0 1.25rem .5rem; border-left: 2px solid var(--as-border, #dce2eb); }
.as-workflow-timeline pre, .as-workflow-runs pre { max-height: 22rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.as-run-summary { display: grid; grid-template-columns: minmax(8rem, auto) 1fr; gap: .5rem 1rem; }
.as-run-summary dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.as-modal .as-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.as-workflow-identity { margin-bottom: 12px; }
.as-workflow-identity summary { color: var(--as-muted); }
.as-modal .as-workflow-identity .as-form-grid { padding-top: 14px; }
@media (max-width: 700px) { .as-modal .as-form-grid { grid-template-columns: 1fr; } .as-run-summary { grid-template-columns: 1fr; } }
.as-workflow-graph .as-flow-viewport { height: 330px; background: var(--as-bg); border-color: var(--as-border); }
.as-workflow-graph .as-flow-resource { background: var(--as-surface); color: var(--as-ink); border-color: var(--as-border); }
.as-workflow-graph .as-flow-resource > small { color: var(--as-muted); }
.as-modal .as-workflow-graph button.react-flow__controls-button { fill: var(--as-ink); background: var(--as-surface); padding: 6px; width: 32px; height: 32px; border-radius: 0; }
.as-modal .as-workflow-graph .react-flow__controls-button svg { fill: currentColor; width: 16px; height: 16px; max-width: 16px; max-height: 16px; }
.as-workflow-graph .react-flow__edge-path { stroke: var(--as-muted); }

.as-trace-timeline { list-style:none; padding:0 0 0 20px; border-left:2px solid var(--as-border); }
.as-trace-timeline>li { position:relative; padding:16px; margin:16px 0; border:1px solid var(--as-border); border-radius:12px; }
.as-trace-timeline>li::before { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:var(--as-accent); left:-26px; top:24px; }
.as-trace-event-map { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; }
.as-trace-event-map>li { min-width:0; border:1px solid var(--as-border); border-radius:12px; padding:16px; }
.as-trace-event-map summary { cursor:pointer; display:grid; gap:8px; overflow-wrap:anywhere; }
.as-trace-event-map summary small { color:var(--as-muted); }
.as-run-graph .as-flow-viewport { background:var(--as-bg); border-color:var(--as-border); height:540px; }
.as-run-graph .react-flow__edge-path { stroke:var(--as-muted); }
.as-run-graph .react-flow__edge-text { fill:var(--as-ink); font-size:11px; }
.as-run-graph .react-flow__edge-textbg { fill:var(--as-surface); }
.as-trace-node { width:250px; min-height:160px; border:1px solid var(--as-border); border-left:4px solid #7188a5; border-radius:14px; background:var(--as-surface); box-shadow:0 5px 18px #10234314; }
.agent-studio .as-trace-node>button { display:grid; gap:6px; width:100%; min-height:160px; padding:14px; border:0; border-radius:12px; background:transparent; text-align:left; color:var(--as-ink); }
.as-trace-node small { color:var(--as-muted); font-size:11px; }
.as-trace-node strong,.as-trace-node code { overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.as-trace-node code { font-size:11px; font-weight:400; }
.as-trace-node span { font-size:12px; }
.as-trace-node.is-selected { outline:3px solid #78a5ee; }
.as-trace-node-run,.as-trace-node-model { border-left-color:#568ef0; }
.as-trace-node-delegate { border-left-color:#a486dd; }
.as-trace-node-plan,.as-trace-node-step,.as-trace-node-rag { border-left-color:#46a68a; }
.as-trace-node-workflow,.as-trace-node-approval { border-left-color:#c7a14d; }
.as-trace-selection { margin-top:20px; overflow-wrap:anywhere; }
.as-trace-selection h4 { margin:0; }
.as-trace-selection>code { display:block; margin:12px 0; font-size:12px; }
.as-trace-breadcrumb { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.as-trace-breadcrumb button { overflow-wrap:anywhere; min-width:0; }
.as-trace-metrics { margin:20px 0; padding:16px; border:1px solid var(--as-border); border-radius:12px; }
@media(max-width:700px) { .as-trace-event-map { grid-template-columns:1fr; } .as-trace-metrics { grid-template-columns:1fr; gap:8px; } }

/* Use the actual shell content width: two shell sidebars can leave a narrow editor. */
@container(max-width:1150px){.as-editor-grid{grid-template-columns:1fr}.as-playground{position:static}}
.as-trial-trace strong,.as-trial-trace code{display:block;overflow-wrap:anywhere}.as-trial-trace code{margin:6px 0;color:var(--as-muted);font-size:11px}

.as-trace-workflow-meta{display:block;overflow-wrap:anywhere;margin:5px 0}

.as-default-diff { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.as-default-diff > div { min-width: 0; }
.as-default-diff pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 320px; overflow: auto; font-size: 12px; }
@media (max-width: 700px) { .as-default-diff { grid-template-columns: 1fr; } }
.as-default-values > div { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--as-border); }
.as-default-values dt { font-weight: 600; }
.as-default-values dt code, .as-default-values dd span { display: block; font-size: 12px; font-weight: 400; color: var(--as-muted); margin-bottom: 4px; }
.as-default-values dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.as-default-values dd strong { font-size: 18px; }
@media (max-width: 700px) { .as-default-values > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }.as-default-values dt { grid-column: 1 / -1; } }

.as-topic-impact { list-style: none; padding: 0; display: grid; gap: .6rem; }
.as-topic-impact li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .75rem; border: 1px solid var(--as-border); border-radius: .65rem; }
.as-topic-impact code { overflow-wrap: anywhere; }

.as-activity-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,440px),1fr)); gap: 16px; }
.as-activity-row { min-width: 0; margin: 0; }
.as-activity-row code { overflow-wrap: anywhere; }
.as-activity-row h3 { margin: 0 0 6px; }
.as-activity-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 18px 0; }
.as-activity-facts dt { color: var(--as-muted); font-size: 12px; margin-bottom: 5px; }
.as-activity-facts dd { margin: 0; font-weight: 600; }
.as-activity-models { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; }
@media (max-width: 600px) { .as-activity-facts { grid-template-columns: 1fr 1fr; } }

.as-activity-search .as-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:0 18px; }
.as-activity-search form > details { margin:6px 0 18px; }
.as-activity-search form > details[open] > .as-form-grid { margin-top:18px; }
.as-activity-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 12px; }
.as-activity-summary > div { padding:18px; background:var(--as-surface); border:1px solid var(--as-border); border-radius:12px; }
.as-activity-summary strong { font-size:26px; line-height:1.2; display:block; margin-bottom:10px; font-variant-numeric:tabular-nums; }
.as-activity-summary p { font-size:12px; color:var(--as-muted); margin:0; }
@media(max-width:900px) { .as-activity-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.as-activity-search .as-section-heading { flex-wrap:wrap; gap:12px; }
.as-activity-search .as-section-heading > div { min-width:0; }
.as-activity-search .as-actions { flex-wrap:wrap; gap:10px; }
.as-activity-search .as-actions label { display:flex; align-items:center; gap:6px; }

.as-tool-description-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.as-source-card { border: 1px solid var(--as-border); border-radius: 14px; padding: 16px; margin: 12px 0; }
.as-source-card h3 { margin-top: 0; }
.as-service-steps { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; }
.as-service-steps button[aria-current="step"] { background: var(--as-accent); color: white; }
.as-service-summary { display: grid; grid-template-columns: minmax(120px, 1fr) 2fr; gap: 12px; }
.as-service-summary dd { margin: 0; overflow-wrap: anywhere; }

.as-activity-controls { display:flex; flex-wrap:wrap; gap:12px 24px; }
.as-activity-controls > * { min-width: min(100%,200px); }
.as-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:18px 0; padding:12px 0; border-top:1px solid var(--as-border); }
.as-pagination p { margin:0; color:var(--as-muted); }
.as-pagination .as-actions { display:flex; flex-wrap:wrap; }
@media(max-width:600px) { .as-pagination .as-actions { width:100%; } .as-pagination button { flex:1 1 auto; } }

/* Editable operational plans: the list remains usable without dragging. */
.as-plan-editor { margin: 18px 0; }
.as-plan-steps { list-style: none; padding: 0; display: grid; gap: 10px; }
.as-plan-steps > li { border: 1px solid var(--as-border, #dbe3ec); border-radius: 14px; background: var(--as-surface, #fff); overflow: hidden; }
.as-plan-steps > li.is-selected { border-color: var(--as-accent); box-shadow: 0 0 0 2px #376ed614; }
.as-plan-select { display: flex !important; text-align: left; align-items: flex-start; gap: 12px; width: 100%; border: 0 !important; background: transparent !important; padding: 15px !important; }
.as-plan-select > span:last-child { flex: 1; min-width: 0; }
.as-plan-select strong, .as-plan-select small { display: block; }
.as-plan-select small { color: var(--as-muted, #53647a); margin-top: 5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.as-plan-number { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--as-soft); color: var(--as-accent); font-weight: 700; }
.as-plan-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.as-plan-tags code { font-size: 12px; overflow-wrap: anywhere; padding: 2px 5px; background: var(--as-bg); border-radius: 5px; }
.as-plan-actions { display: flex; justify-content: flex-end; gap: 6px; padding: 0 12px 12px; }
.as-plan-actions button { padding: 5px 10px !important; font-size: 12px; }
.as-plan-detail, .as-plan-empty { border: 1px solid var(--as-border, #dbe3ec); background: var(--as-bg); padding: 18px; border-radius: 14px; margin: 16px 0; }
.as-plan-choices { border: 0; padding: 0; margin: 16px 0; min-width: 0; }
.as-plan-choices legend { font-weight: 600; margin-bottom: 10px; }
.as-plan-tool-list { max-height: 180px; overflow: auto; }
.as-trial-plan { border-top: 1px solid var(--as-border, #dbe3ec); padding: 16px 0; }
.as-trial-plan > header { align-items: flex-start; }
.as-trial-plan .as-plan-actions { flex-wrap: wrap; }
@media (max-width: 640px) { .as-plan-detail { padding: 12px; } .as-plan-select { padding: 12px !important; } }

/* Module assignments and API services have separate, searchable management pages. */
.as-management-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;padding:24px;border:1px solid var(--as-border);border-radius:14px;background:var(--as-surface)}
.as-management-intro>div:first-child{max-width:620px}.as-management-intro .as-eyebrow{display:block;margin-bottom:10px}.as-management-intro p{margin-bottom:0}.as-management-intro>button{flex-shrink:0}
.as-management-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.as-management-stats>div{display:flex;flex-direction:column;padding:18px 20px;border:1px solid var(--as-border);border-radius:12px;background:var(--as-surface)}.as-management-stats strong{font-size:28px;line-height:1.2;font-weight:650}.as-management-stats span{color:var(--as-muted);font-size:12px;margin-top:6px}
.as-module-switcher{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.as-module-switcher button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:135px}.as-module-switcher span{font-size:11px;color:var(--as-muted)}.agent-studio .as-module-switcher button[aria-pressed=true],.as-modal .as-binding-tabs button[aria-pressed=true]{background:var(--as-soft);border-color:var(--as-accent)}
.as-management-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(2,minmax(145px,1fr));gap:14px;margin:16px 0}.as-service-filters{grid-template-columns:repeat(4,minmax(125px,1fr))}.as-service-filters>.as-field:first-child{grid-column:1/-1}.as-management-filters .as-field{margin:0}
.as-binding-list{display:grid;gap:12px}.as-binding-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px;background:var(--as-surface);border:1px solid var(--as-border);border-radius:12px}.as-binding-point,.as-binding-agent{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.as-binding-point h3{margin:0}.as-binding-card code{font-size:11px;overflow-wrap:anywhere;color:var(--as-muted)}.as-binding-agent small{color:var(--as-muted)}.as-binding-agent strong{overflow-wrap:anywhere}.as-binding-point .as-chip{margin-top:6px}
.as-selection-summary{display:flex;flex-direction:column;gap:6px;padding:18px;margin-bottom:20px;background:var(--as-soft);border-radius:12px}.as-selection-summary span{color:var(--as-muted)}.as-binding-tabs{margin-bottom:14px}.as-assignment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.as-choice-row{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--as-border);border-radius:10px;background:var(--as-surface);cursor:pointer}.as-choice-row:has(input:checked){border-color:var(--as-accent);background:var(--as-soft)}.as-choice-row input{flex:none;margin-top:5px}.as-choice-row>span{display:flex;flex-direction:column;gap:4px;min-width:0}.as-choice-row code{font-size:11px;overflow-wrap:anywhere}.as-choice-row small{color:var(--as-muted)}
.as-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.as-service-card{display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--as-surface);border:1px solid var(--as-border);border-radius:14px;min-width:0}.as-service-card h3{margin:0}.as-service-symbol{display:grid;place-items:center;background:var(--as-soft);color:var(--as-accent);border-radius:10px;width:36px;height:36px;font-size:22px}.agent-studio .as-service-title{font-size:18px;font-weight:650;letter-spacing:-.02em;border:0;padding:0;text-align:left;overflow-wrap:anywhere}.as-service-slug{color:var(--as-muted);font-size:12px;margin-top:-8px;overflow-wrap:anywhere}.as-service-agent{display:flex;flex-direction:column;gap:4px;padding:14px;background:var(--as-bg);border-radius:10px}.as-service-agent small{color:var(--as-muted)}.as-service-agent code{font-size:11px;overflow-wrap:anywhere}.as-service-badges{display:flex;gap:6px;flex-wrap:wrap}.as-service-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:2px 0 10px}.as-service-facts dt{color:var(--as-muted);font-size:11px}.as-service-facts dd{margin:3px 0 0;font-size:12px;overflow-wrap:anywhere}.as-service-card-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--as-border);padding-top:14px;margin-top:auto}.as-service-card-actions button{font-size:12px!important;flex:1;white-space:nowrap}
@media(max-width:1100px){.as-binding-card{grid-template-columns:repeat(2,minmax(0,1fr))}.as-binding-card>button{grid-column:1/-1;justify-self:start}.as-service-grid{grid-template-columns:1fr}.as-management-intro{flex-direction:column}.as-service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.as-management-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.as-management-filters{grid-template-columns:1fr}.as-binding-card{grid-template-columns:1fr;padding:18px}.as-assignment-choices{grid-template-columns:1fr}.as-management-intro{padding:18px}.as-service-card{padding:18px}.as-module-switcher button{flex:1;min-width:130px}.as-management-stats>div{padding:14px}.as-pagination .as-inline{flex-wrap:wrap}}
.as-nav .as-ds-nav>span{white-space:normal;text-overflow:clip;text-align:left;overflow:visible}.as-nav .as-ds-nav{padding-top:10px;padding-bottom:10px}

/* Studio workspace: shared AISF navigation, dense catalogs and roomy editors. */
.agent-studio { border:0; border-radius:0; min-height:100vh; }
.as-workspace { display:grid; grid-template-columns:224px minmax(0,1fr); min-height:100vh; }
.as-workspace.as-nav-collapsed { grid-template-columns:64px minmax(0,1fr); }
.as-nav { padding:0; min-height:100%; }
.as-nav-brand { display:flex; align-items:center; gap:12px; padding:12px 24px 8px; min-height:48px; color:var(--as-muted); }
.as-nav-brand>span { flex:1; font-size:12px!important; }
.agent-studio .as-nav-toggle { display:grid; place-items:center; border:0; background:transparent; padding:0; width:28px; height:28px; flex-shrink:0; color:var(--as-muted); }
.as-nav-collapsed .as-nav-brand { padding:12px 18px 8px; }
.as-nav nav { padding:0 0 16px; }
.as-nav .as-ds-nav { padding-top:0; padding-bottom:0; }
.as-nav .as-ds-nav>span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.as-main { padding:28px 36px 40px; }
.as-main>.as-scope { justify-content:flex-end; min-height:20px; margin-bottom:16px; }
.as-page-header .as-eyebrow { color:var(--as-action); }
.as-catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:20px 0 14px; }
.as-catalog-toolbar select { font-size:12px; padding:8px 10px; }
.as-view-switch { display:flex; padding:3px; background:var(--as-surface); border:1px solid var(--as-border); border-radius:9px; }
.agent-studio .as-view-switch button { display:flex; align-items:center; gap:7px; padding:6px 12px; border:0; font-size:12px; border-radius:6px; }
.agent-studio .as-view-switch button[aria-pressed=true] { background:var(--as-soft); color:var(--as-accent); }
.as-catalog-table { position:relative; overflow:auto; border:1px solid var(--as-border); border-radius:12px; background:var(--as-surface); }
.as-catalog-table table { border:0; }
.as-catalog-table th { text-transform:uppercase; letter-spacing:.06em; padding:13px 18px; }
.as-catalog-table td { vertical-align:middle; padding:16px 18px; }
.as-catalog-table tr:last-child td { border-bottom:0; }
.as-catalog-table tbody tr { cursor:pointer; }
.as-catalog-table tbody tr:is(:hover, :focus-within) { background:var(--as-bg); }
.agent-studio .as-catalog-name { border:0; background:transparent; display:flex; align-items:center; gap:12px; text-align:left; padding:0; min-width:210px; }
.as-catalog-name strong { display:block; font-weight:600; font-size:13px; }
.as-catalog-name code,.as-table-code { display:block; margin-top:5px; font-size:11px; color:var(--as-muted); overflow-wrap:anywhere; font-weight:400; }
.as-catalog-status { display:flex; flex-wrap:wrap; gap:5px; }
.agent-studio .as-map-open { display:flex; align-items:center; gap:6px; font-size:12px; padding:7px 10px; }
.as-editor-grid.as-without-trial { grid-template-columns:minmax(0,1fr); }
.as-editor-grid.as-with-trial { grid-template-columns:minmax(0,1fr) 360px; }
.as-editor-content { container-type:inline-size; }
#as-editor-trial { min-width:0; position:sticky; top:16px; }
.as-trial-settings { padding:18px 20px; border-bottom:1px solid var(--as-border); }
.as-trial-settings .as-field { margin:0; }
.as-trial-settings>p { margin:10px 0 0; }
.as-playground .as-trial-secondary { padding:16px 20px 8px; }
.as-playground>.as-link { margin:12px 20px 20px; }
.as-playground>.as-trial-plan { margin:16px 20px; }
.as-versions { max-width:1100px; margin:auto; }
.as-versions>h3 { padding-top:24px; border-top:1px solid var(--as-border); }
.as-version-row { gap:20px; }
.as-version-row>div:first-child { flex:1; min-width:0; }
.as-version-row small { overflow-wrap:anywhere; }
.as-model-reasoning { padding:20px 24px; background:var(--as-bg); border:1px solid var(--as-border); border-radius:12px; margin:24px 0; }
.as-model-reasoning h3 { margin-top:0; }
.as-active-tools { padding:20px; background:var(--as-bg); border:1px solid var(--as-border); border-radius:12px; }
.as-active-tools h3 { margin:0 0 8px; }
.as-active-tool-list { display:flex; gap:8px; flex-wrap:wrap; }
.agent-studio .as-active-tool-list button { display:flex; gap:12px; align-items:center; font-size:11px; padding:6px 10px; }
.as-active-tool-list code { overflow-wrap:anywhere; min-width:0; }
.as-tool-search { display:grid; grid-template-columns:minmax(0,2fr) minmax(150px,1fr) auto; gap:16px; align-items:center; }
.as-tool-search .as-check-row { border:0; }
.as-tool-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
.as-tool-choice:has(input:checked) { border-color:var(--as-accent); background:var(--as-soft); }
.as-tool-choice { padding:16px; }
.as-module-switcher code { font-size:10px; color:var(--as-muted); font-weight:400; }
/* The map keeps the selected resource's details beside the canvas. */
.as-cap-explorer { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.as-flow-map { min-width:0; }
.as-cap-explorer .as-cap-detail { position:sticky; top:20px; margin:0; padding:18px; max-height:780px; overflow:auto; background:var(--as-bg); }
.as-cap-explorer .as-cap-facts { flex-direction:column; gap:12px; }
.as-cap-explorer .as-cap-tool summary { display:grid; grid-template-columns:34px minmax(0,1fr) 16px; gap:7px 10px; }
.as-cap-explorer .as-cap-tool summary>.as-cap-tool-icon { grid-column:1; grid-row:1 / span 2; }
.as-cap-explorer .as-cap-tool summary>span:nth-child(2) { grid-column:2; }
.as-cap-explorer .as-cap-tool summary>.as-chip { grid-column:2; margin-left:0; justify-self:start; }
.as-cap-explorer .as-cap-tool summary::after { grid-column:3; grid-row:1; }
.as-map-toolbar { gap:8px; }
.as-map-toolbar .as-field { flex:1 1 180px; margin:0; }
.as-map-toolbar button { font-size:11px!important; padding:8px 10px!important; }
.as-map-families { display:flex; gap:6px; flex-wrap:wrap; margin:14px 0; }
.agent-studio .as-map-families button,.as-modal .as-map-families button { display:flex; align-items:center; gap:6px; font-size:11px; padding:7px 9px; border:1px solid var(--as-border); }
.agent-studio .as-map-families button[aria-pressed=true],.as-modal .as-map-families button[aria-pressed=true] { color:var(--as-accent); border-color:var(--as-accent); background:var(--as-soft); }
.as-map-families button>span { font-size:10px; border-radius:5px; padding:0 4px; background:var(--as-bg); }
.as-flow-map .as-flow-viewport { height:520px; background:var(--as-bg); border-color:var(--as-border); }
.as-flow-resource { background:var(--as-surface); color:var(--as-ink); border-color:var(--as-border); padding:16px; min-height:140px; }
.as-flow-resource>small { text-transform:uppercase; font-size:10px; letter-spacing:.06em; }
.as-flow-resource>strong { font-size:14px; }
.as-resource-icon { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; background:var(--as-soft); color:var(--as-accent); }
.as-flow-resource>.as-resource-icon { position:absolute; right:12px; top:10px; }
.as-flow-resource>small { padding-right:28px; }
.as-flow-resource p { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.as-flow-tool { border-top:3px solid var(--as-action); }
.as-flow-delegate { border-top:3px solid #9a69c3; background:var(--as-surface); }
.as-flow-rag { border-top:3px solid #2b967a; background:var(--as-surface); }
.as-flow-workflow { border-top:3px solid #bd8d36; background:var(--as-surface); }
.as-map-pages { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:12px; font-size:11px; }
.as-map-pages button { font-size:11px!important; }
.as-map-list { max-height:600px; overflow:auto; padding:3px; }
.as-map-list>button { position:relative; padding:16px!important; }
.as-map-list .as-resource-icon { margin-bottom:8px; }
/* Workflow is a page with independent palette/canvas/inspector, not a modal. */
.as-main-workflow { padding:12px 20px 24px; }
.as-main-workflow>.as-scope { margin-bottom:8px; }
.as-workflow-editor { min-width:0; }
.as-workflow-editor-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0; background:var(--as-bg); }
.as-workflow-editor-header h1 { font-size:23px; margin:8px 0 0; }
.as-workflow-editor-header>.as-actions { justify-content:flex-end; max-width:65%; align-items:center; }
.as-workflow-editor-header [role=status] { flex-basis:100%; text-align:right; font-size:11px; color:var(--as-muted); }
.as-workflow-editor-tabs { background:var(--as-bg); }
.as-workflow-editor-tabs .as-tabs { margin-bottom:16px; }
.as-workflow-editor-body>div:not(.as-workflow-design) { max-width:1100px; margin:auto; }
.as-workflow-editor-body pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:400px; overflow:auto; }
.as-workflow-identity { margin-top:0; background:var(--as-surface); }
.as-workflow-identity .as-field { margin:12px 0 0; }
.as-workflow-ai { margin:12px 0; background:var(--as-surface); }
.as-workflow-studio { display:grid; grid-template-columns:180px minmax(300px,1fr) 300px; gap:12px; align-items:start; }
.as-workflow-palette,.as-workflow-inspector { min-width:0; background:var(--as-surface); border:1px solid var(--as-border); border-radius:12px; padding:14px; max-height:calc(100vh - 250px); min-height:480px; overflow:auto; }
.as-workflow-palette h3 { margin:0 0 8px; font-size:13px; }
.as-workflow-palette p { color:var(--as-muted); font-size:11px; line-height:1.5; }
.agent-studio .as-workflow-palette button { display:flex; align-items:center; gap:8px; width:100%; padding:10px 8px; margin:6px 0; text-align:left; font-size:11px; }
.as-workflow-palette button>span:nth-child(2) { flex:1; }
.as-workflow-palette button svg { flex:none; color:var(--as-accent); }
.as-workflow-canvas { min-width:0; }
.as-workflow-guide { font-size:11px; padding:12px; border:1px solid var(--as-border); border-radius:9px; background:var(--as-surface); margin-bottom:12px!important; }
.as-workflow-guide span { padding:0 8px; color:var(--as-muted); }
.as-workflow-graph .as-flow-viewport { height:max(480px,calc(100vh - 390px)); }
.as-workflow-graph .as-map-toolbar { margin:0 0 12px; }
.as-workflow-inspector .as-panel { padding:0; border:0; background:transparent; }
.as-workflow-inspector .as-panel>h3 { margin-top:0; }
.as-workflow-inspector .as-field { margin:14px 0; }
.as-workflow-inspector .as-field input,.as-workflow-inspector .as-field select { font-size:12px; }
.as-workflow-inspector .as-workflow-binding { grid-template-columns:1fr; gap:0; border-top:1px solid var(--as-border); padding-top:12px; }
.as-workflow-inspector .as-actions { display:block; }
.as-workflow-connections { margin:16px 0; font-size:12px; }
.as-workflow-connections>summary { cursor:pointer; padding:10px; }
.as-workflow-node>code { display:block; margin-top:6px; }
@container (max-width:1200px) {
  .as-workflow-studio { grid-template-columns:150px minmax(280px,1fr) 270px; }
  .as-main { padding:24px; }
  .as-main-workflow { padding:12px 16px; }
  .as-editor-grid.as-with-trial { grid-template-columns:minmax(0,1fr); }
  #as-editor-trial { position:static; }
  .as-tool-search { grid-template-columns:minmax(0,1fr) minmax(150px,1fr); }
  .as-tool-search>.as-check-row { grid-column:1/-1; margin-bottom:12px; }
}
@container (max-width:950px) {
  .as-cap-explorer { grid-template-columns:minmax(0,1fr); }
  .as-cap-explorer .as-cap-detail { position:static; max-height:none; }
}
@container (max-width:900px) {
  .as-workflow-studio { grid-template-columns:140px minmax(0,1fr); }
  .as-workflow-inspector { grid-column:1/-1; max-height:none; min-height:0; }
  .as-workflow-inspector .as-panel { max-width:700px; margin:auto; }
  .as-workflow-palette { max-height:650px; }
  .as-tool-choices { grid-template-columns:1fr; }
}
@container (max-width:760px) {
  .as-workspace,.as-workspace.as-nav-collapsed { display:flex; flex-direction:column; }
  .as-nav { padding:0; min-height:0; border-right:0; }
  .as-nav-brand { padding:12px 16px; }
  .as-nav-brand .as-nav-toggle { display:none; }
  .as-nav nav { overflow:auto; padding:0 0 8px; }
  .as-nav nav>ul { flex-direction:row; width:-moz-max-content; width:max-content; padding:0 8px; }
  .as-nav nav li { flex-shrink:0; }
  .as-main { padding:20px 16px; }
  .as-main>.as-scope { justify-content:flex-start; }
  .as-catalog-toolbar { flex-wrap:wrap; }
  .as-catalog-toolbar>.as-inline { width:100%; justify-content:space-between; }
  .as-workflow-editor-header { align-items:flex-start; flex-direction:column; }
  .as-workflow-editor-header>.as-actions { max-width:none; justify-content:flex-start; }
  .as-workflow-editor-header [role=status] { text-align:left; }
  .as-workflow-studio { grid-template-columns:minmax(0,1fr); }
  .as-workflow-palette { min-height:0; max-height:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .as-workflow-palette h3,.as-workflow-palette p { grid-column:1/-1; }
  .agent-studio .as-workflow-palette button { margin:0; }
  .as-workflow-graph .as-flow-viewport { height:420px; }
  .as-workflow-inspector { grid-column:auto; }
  .as-version-row { flex-wrap:wrap; }
  .as-tool-search { grid-template-columns:1fr; gap:0; }
  .as-cap-explorer { grid-template-columns:1fr; }
}

.as-module-name { display:flex; align-items:center; gap:8px; }
.as-module-name svg { color:var(--as-accent); }

.as-workflow-name { display:flex; flex-direction:column; gap:4px; }
.as-workflow-name>span { font-size:10px; color:var(--as-muted); }
.as-workflow-name input { font-size:20px; font-weight:650; background:transparent; border:1px solid transparent; padding:4px 6px; margin-left:-6px; width:400px; }
.as-workflow-name input:hover,.as-workflow-name input:focus { border-color:var(--as-border); background:var(--as-surface); }
.as-workflow-editor-header>div:first-child { min-width:0; }
.as-workflow-editor-header { position:sticky; top:0; z-index:5; }
.as-workflow-editor-body .as-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.as-workflow-inspector .as-notice { padding:12px; }
.as-workflow-inspector .as-notice button { margin:0; font-size:11px; }
.as-workflow-design>.as-actions { align-items:center; font-size:12px; }
@container(max-width:760px) {
  .as-workflow-name input { width:100%; }
  .as-workflow-editor-header { position:static; }
  .as-workflow-editor-body .as-form-grid { grid-template-columns:1fr; }
}

.as-delegate-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:12px; }
.as-delegate-choices .as-check-row { border:1px solid var(--as-border); border-radius:12px; padding:16px; }
.as-delegate-choices .as-check-row:has(input:checked) { border-color:var(--as-accent); background:var(--as-soft); }
.as-delegate-choices code { display:block; font-size:11px; color:var(--as-muted); margin-top:6px; }
.agent-studio { overflow:clip; }
.as-nav { position:sticky; top:0; height:100dvh; min-height:0; align-self:start; overflow:auto; }
@container(max-width:760px) { .as-nav { position:static; height:auto; overflow:visible; } }

.as-versions>.as-panel { margin-top:18px; }
@container(max-width:760px) {
  .as-nav { align-self:stretch; width:100%; min-width:0; }
  .as-nav nav { width:100%; min-width:0; }
  .as-pagination .as-inline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); width:100%; gap:8px; font-size:11px; }
  .as-pagination button { padding:8px; font-size:11px; }
}

/* Shared detail pages: the canvas belongs to the workspace; only confirmations are dialogs. */
.as-detail-page { min-width:0; padding-bottom:8px; }
.as-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:0 0 22px; }
.as-detail-header>div { min-width:0; }
.as-detail-header h1 { margin:14px 0 8px; font-size:28px; overflow-wrap:anywhere; }
.as-detail-header p { color:var(--as-muted); font-size:13px; margin:0; }
.as-detail-header>button { flex-shrink:0; }
.as-detail-tabs { position:sticky; top:0; z-index:8; background:var(--as-bg); padding-top:10px; border-bottom:1px solid var(--as-border); margin-bottom:24px; }
.as-detail-tabs>.as-tabs { margin:0; }
.as-detail-body { min-width:0; padding:26px; border:1px solid var(--as-border); border-radius:16px; background:var(--as-surface); }
.as-detail-body>.as-fieldset { max-width:1100px; margin:0 auto; }
.as-detail-body h3:first-child { margin-top:0; }
.as-detail-actions { position:sticky; bottom:0; z-index:9; margin-top:20px; padding:16px 20px; border:1px solid var(--as-border); border-radius:12px; background:var(--as-surface); box-shadow:0 -8px 24px #15214608; }
.as-detail-actions footer,.as-detail-actions>.as-actions { display:flex; justify-content:flex-end; align-items:center; gap:12px; margin:0; flex-wrap:wrap; }
.as-detail-actions footer>button:first-child:not(:last-child) { margin-right:auto; }
.as-detail-page .as-wizard-progress { margin:12px 0; gap:6px; }
.as-detail-page .as-wizard-progress button { display:flex; gap:7px; align-items:center; padding:9px 10px; font-size:11px; background:transparent; border-color:transparent; }
.as-detail-page .as-wizard-progress [aria-current=step] button { background:var(--as-soft); color:var(--as-accent); opacity:1; }
.as-detail-page .as-wizard-progress button:disabled { opacity:.55; }
.as-detail-page .as-template-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin:24px 0; }
.as-detail-page .as-template { min-height:130px; align-items:flex-start; padding:22px; gap:14px; transition:background .15s,border-color .15s; }
.as-template>span { min-width:0; overflow-wrap:anywhere; }
.agent-studio .as-template input[type=radio] { -webkit-appearance:auto; -moz-appearance:auto; appearance:auto; width:18px; height:18px; min-width:18px; padding:0; margin:2px 0 0; flex:0 0 18px; border-radius:50%; accent-color:var(--as-accent); }
.agent-studio .as-template:not(:has(input:disabled)):hover { background:var(--as-hover); border-color:var(--as-accent); }
.agent-studio .as-template.selected { background:var(--as-soft); border-color:var(--as-accent); }
.agent-studio .as-template:has(input:focus-visible) { outline:3px solid var(--as-accent); outline-offset:3px; }
.agent-studio .as-template input:focus-visible { outline:none; }
.as-template:has(input:disabled) { cursor:default; opacity:.65; }
@container (max-width:600px) {
  .agent-studio .as-agent-row:not(.as-agent-row-attention) { display:grid; grid-template-columns:38px minmax(0,1fr) 16px; gap:10px; padding:14px; }
  .as-agent-row:not(.as-agent-row-attention)>.as-avatar { grid-column:1; grid-row:1 / span 2; align-self:start; }
  .as-agent-row:not(.as-agent-row-attention)>.as-agent-row-copy { grid-column:2; grid-row:1; }
  .as-agent-row:not(.as-agent-row-attention)>.as-chip { grid-column:2; grid-row:2; justify-self:start; }
  .as-agent-row:not(.as-agent-row-attention)>.as-agent-row-arrow { grid-column:3; grid-row:1 / span 2; align-self:center; }
}
.as-detail-page .as-service-steps { padding:0 0 14px; }
.as-detail-page .as-service-steps button { display:flex; gap:8px; font-size:12px; padding:12px 16px; }
.as-detail-page form>.as-fieldset { max-width:1000px; margin:0 auto; }
.as-detail-page .as-source-card { padding:22px; margin:18px 0; }
.as-detail-page .as-source-card h3 { margin-top:0; }
.as-detail-page .as-run-summary { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,3fr); gap:10px 20px; margin:24px 0; padding:20px; border:1px solid var(--as-border); border-radius:12px; }
.as-detail-page .as-run-summary dd { margin:0; overflow-wrap:anywhere; }
/* Assignments: stable module navigator and one focused results column. */
.as-assignments { container:assignments / inline-size; }
.as-assignment-workspace { display:grid; grid-template-columns:210px minmax(0,1fr); gap:24px; align-items:start; }
.as-assignment-workspace .as-module-switcher { display:flex; flex-direction:column; flex-wrap:nowrap; gap:4px; padding:8px; margin:0; background:var(--as-surface); border:1px solid var(--as-border); border-radius:14px; max-height:760px; overflow:auto; position:sticky; top:16px; }
.as-assignment-workspace .as-module-switcher button { width:100%; min-width:0; flex-shrink:0; border-color:transparent; border-radius:9px; padding:12px; text-align:left; }
.as-assignment-workspace .as-module-name { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; width:100%; line-height:18px; }
.as-assignment-workspace .as-module-switcher code,.as-assignment-workspace .as-module-switcher>button>span { margin-left:26px; line-height:16px; }
.as-assignment-workspace .as-module-context { font-weight:400; }
.as-assignment-results { min-width:0; container:assignment-results / inline-size; }
.as-assignment-heading { padding:4px 0 8px; }
.as-assignment-heading h2 { margin-bottom:6px; }
.as-assignment-heading p { font-size:12px; color:var(--as-muted); }
.as-assignment-results .as-management-filters { grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)); align-items:end; }
.as-assignment-results .as-management-filters input,.as-assignment-results .as-management-filters select { min-height:42px; }
.as-assignment-results .as-binding-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 208px; align-items:start; gap:24px; padding:22px; }
.as-assignment-results .as-binding-card>button { grid-column:auto; justify-self:stretch; align-self:center; min-height:42px; font-size:12px; }
.as-binding-point>.as-eyebrow,.as-binding-agent>small:first-child { display:block; margin:0; min-height:18px; line-height:18px; }
.as-assignment-results .as-binding-point>.as-eyebrow { margin:0!important; }
.as-assignment-results .as-binding-point h3 { display:flex; align-items:center; min-height:32px; line-height:20px; }
.as-binding-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.as-binding-identity .as-avatar { width:32px; height:32px; }
.as-binding-point code { font-size:10px; }
.as-binding-agent>.as-inline { gap:4px; }
.as-binding-agent .as-chip { font-size:10px; }
.as-assignment-results .as-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px 20px; }
.as-assignment-results .as-pagination>label { display:flex; justify-self:end; align-items:center; gap:8px; margin:0; white-space:nowrap; }
.as-assignment-results .as-pagination>.as-inline { justify-self:end; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.as-assignment-results .as-pagination button { min-height:40px; }
@container assignment-results (max-width:850px) {
  .as-assignment-results .as-management-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .as-assignment-results .as-management-filters>.as-field:first-child { grid-column:1/-1; }
  .as-assignment-results .as-binding-card { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
  .as-assignment-results .as-binding-card>button { grid-column:1/-1; justify-self:end; width:208px; max-width:100%; }
  .as-assignment-results .as-pagination { grid-template-columns:minmax(0,1fr) auto; }
  .as-assignment-results .as-pagination>.as-inline { grid-column:1/-1; }
}
@container assignment-results (max-width:560px) {
  .as-assignment-results .as-management-filters,.as-assignment-results .as-binding-card { grid-template-columns:minmax(0,1fr); }
  .as-assignment-results .as-binding-card { padding:18px; }
  .as-assignment-results .as-binding-agent { border-top:1px solid var(--as-border); padding-top:16px; }
  .as-assignment-results .as-binding-card>button { width:100%; }
  .as-assignment-results .as-pagination>.as-inline { justify-self:stretch; gap:8px; }
  .as-assignment-results .as-pagination button { padding:8px; font-size:11px; }
  .as-assignment-results .as-pagination>.as-inline>span { font-size:11px; white-space:nowrap; }
}
@container assignments (max-width:1050px) {
  .as-assignment-workspace { grid-template-columns:minmax(0,1fr); }
  .as-assignment-workspace .as-module-switcher { position:static; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:8px; max-height:none; overflow:visible; }
  .as-assignment-workspace .as-module-switcher button { height:100%; justify-content:flex-start; }
  .as-assignment-workspace .as-module-name { min-height:36px; }
  .as-assignments .as-management-intro { flex-wrap:wrap; }
}
@container assignments (max-width:600px) {
  .as-assignments .as-management-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .as-assignment-workspace .as-module-switcher { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .as-assignment-workspace .as-module-switcher button { padding:10px 8px; }
  .as-assignment-workspace .as-module-switcher code,.as-assignment-workspace .as-module-switcher>button>span { margin-left:0; overflow-wrap:anywhere; }
}
/* Operational registry and graphs use the same surfaces and spacing as configuration. */
.as-activity-filter-panel { padding:20px 24px; margin-top:20px; }
.as-activity-filter-panel>button { font-size:12px; }
.as-activity-presets { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:20px 0 24px; }
.as-activity-presets>span { font-size:11px; color:var(--as-muted); margin-right:4px; }
.as-activity-presets>button { padding:7px 12px; font-size:12px; }
.as-activity-presets>button[aria-pressed=true] { color:var(--as-accent); background:var(--as-soft); border-color:var(--as-accent); }
.as-activity-table { position:relative; border:1px solid var(--as-border); border-radius:12px; background:var(--as-surface); margin:20px 0; }
.as-activity-table table { width:100%; min-width:760px; border-collapse:collapse; }
.as-activity-table th { text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--as-muted); background:var(--as-bg); }
.as-activity-table td,.as-activity-table th { padding:16px; border-bottom:1px solid var(--as-border); vertical-align:top; }
.as-activity-table tr:last-child td { border:0; }
.as-activity-table td { font-size:12px; }
.as-activity-table td:first-child { min-width:210px; max-width:300px; }
.as-activity-table td>strong,.as-activity-table td>small,.as-activity-table td>code { display:block; margin:0 0 6px; }
.as-activity-table td>small,.as-activity-table td>code { font-size:10px; color:var(--as-muted); overflow-wrap:anywhere; }
.as-activity-table td>details { margin-top:10px; font-size:11px; }
.as-run-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; white-space:nowrap; }
.as-run-actions button { font-size:12px; }
.as-analysis { margin:24px 0; min-width:0; }
.as-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.as-analysis-chart { padding:22px; border:1px solid var(--as-border); border-radius:14px; background:var(--as-surface); min-width:0; }
.as-analysis-chart h3 { margin:0 0 22px; font-size:15px; }
.as-analysis-chart>ol { list-style:none; padding:0; margin:0; max-height:400px; overflow:auto; }
.as-analysis-chart>ol>li { margin-bottom:20px; }
.as-analysis-chart li>div { display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin-bottom:7px; font-size:12px; }
.as-analysis-chart li>div>span,.as-analysis-chart li>div>button { min-width:0; overflow-wrap:anywhere; text-align:left; }
.as-analysis-chart li strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.as-bar-track { display:block; height:9px; border-radius:9px; overflow:hidden; background:var(--as-bg); }
.as-bar-fill { display:block; height:100%; background:var(--as-accent); border-radius:9px; }
.as-bar-green { background:var(--aisf-status-green-fg,#26986f); }
.as-bar-red { background:var(--aisf-status-red-fg,#c25050); }
.as-analysis-chart .as-summary-list { grid-template-columns:1fr auto; font-size:12px; gap:12px; }
@container (max-width:1000px) {
  .as-analysis-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .as-detail-header h1 { font-size:23px; }
  .as-detail-header { gap:12px; }
  .as-detail-header>button { font-size:11px; padding:7px 9px; }
  .as-detail-body { padding:18px 14px; }
  .as-detail-tabs { position:static; }
  .as-detail-actions { padding:12px; }
  .as-detail-actions footer { gap:8px; }
  .as-detail-actions footer>button { flex:1 1 125px; font-size:12px; }
  .as-detail-page .as-wizard-progress { flex-wrap:nowrap; overflow:auto; padding-bottom:8px; }
  .as-detail-page .as-wizard-progress li { flex-shrink:0; }
  .as-detail-page .as-service-steps { flex-wrap:nowrap; overflow:auto; }
  .as-detail-page .as-service-steps button { white-space:nowrap; }
  .as-activity-summary,.as-management-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .as-activity-summary>div { padding:14px; }
  .as-analysis-chart { padding:18px; }
  .as-detail-page .as-run-summary { grid-template-columns:1fr; gap:4px; }
  .as-detail-page .as-run-summary dd { margin-bottom:12px; }
}
.as-service-topology { margin:0 0 28px; }
.as-service-topology>ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:26px; margin:20px 0; padding:0; }
.as-service-topology>ol>li { min-width:0; position:relative; }
.as-service-topology>ol>li:not(:last-child)::after { content:"→"; position:absolute; top:48%; right:-21px; color:var(--as-muted); }
.as-service-topology button { display:flex; flex-direction:column; gap:12px; width:100%; height:100%; padding:20px; text-align:left; min-width:0; }
.as-service-topology button svg { color:var(--as-accent); }
.as-service-topology button code { font-size:10px; overflow-wrap:anywhere; font-weight:400; }
.as-service-topology button[aria-pressed=true] { background:var(--as-soft); border-color:var(--as-accent); }
.as-service-topology .as-panel h4 { margin:0 0 12px; }
.as-service-topology .as-panel code { overflow-wrap:anywhere; }
@container(max-width:900px) { .as-service-topology>ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .as-service-topology>ol>li:nth-child(2)::after { display:none; } }
@media(max-width:480px) { .as-service-topology>ol { grid-template-columns:1fr; gap:22px; } .as-service-topology>ol>li:not(:last-child)::after { display:block; content:"↓"; top:auto; right:50%; bottom:-23px; } }

/* Workflow authoring: compact panels, explicit branches and full-width secondary pages. */
.as-workflow-editor-body>div:not(.as-workflow-design) { max-width:none; margin:0; }
.as-workflow-editor-body>[hidden],.as-workflow-design [hidden] { display:none!important; }
.as-workflow-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }
.as-workflow-toolbar>span { margin-left:auto; color:var(--as-muted); font-size:12px; }
.as-workflow-studio { grid-template-columns:220px minmax(320px,1fr) 310px; }
.as-workflow-studio.as-palette-collapsed { grid-template-columns:48px minmax(320px,1fr) 310px; }
.as-workflow-studio.as-inspector-collapsed { grid-template-columns:220px minmax(320px,1fr) 48px; }
.as-workflow-studio.as-palette-collapsed.as-inspector-collapsed { grid-template-columns:48px minmax(320px,1fr) 48px; }
.as-workflow-palette,.as-workflow-inspector { padding:12px; min-height:0; max-height:calc(100dvh - 210px); position:sticky; top:90px; }
.as-workflow-inspector [tabindex="-1"] { scroll-margin-top:140px; }
.agent-studio .as-panel-toggle { display:flex; align-items:center; gap:8px; width:100%; margin:0 0 12px; padding:8px; font-size:12px; font-weight:600; }
.as-palette-collapsed>.as-workflow-palette,.as-inspector-collapsed>.as-workflow-inspector { padding:4px; }
.as-workflow-palette h4 { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--as-muted); margin:20px 0 8px; }
.agent-studio .as-workflow-palette section>button { align-items:flex-start; padding:10px; }
.as-workflow-palette section>button strong { display:block; font-size:12px; margin-bottom:5px; }
.as-workflow-palette section>button small { display:block; font-size:11px; font-weight:400; line-height:1.5; color:var(--as-muted); }
.as-workflow-palette .as-field { margin:12px 0; }
.as-workflow-palette .as-field input { font-size:12px; padding:8px; }
.as-block-help { color:var(--as-muted); font-size:12px; line-height:1.6; padding:12px; border-radius:8px; background:var(--as-bg); }
.as-workflow-node { width:260px; min-height:190px; padding:16px 16px 46px; box-sizing:border-box; border-left:3px solid var(--as-accent); }
.as-workflow-node>strong { max-width:170px; margin:8px 0; }
.as-workflow-node>code { max-width:165px; overflow:hidden; text-overflow:ellipsis; }
.as-workflow-node>p { font-size:11px; max-width:155px; margin:8px 0; }
.as-workflow-condition { border-left-color:#c28b26; }
.as-workflow-approval { border-left-color:#9361c5; }
.as-workflow-tool,.as-workflow-external { border-left-color:#3989b8; }
.as-node-actions { position:absolute; left:12px; bottom:9px; display:flex; gap:5px; }
.agent-studio .as-node-actions button { display:flex; align-items:center; justify-content:center; padding:5px; min-width:28px; height:28px; font-size:16px; }
.as-node-port { position:absolute; right:0; }
.as-node-port .react-flow__handle { width:11px; height:11px; background:var(--as-accent); border:2px solid var(--as-surface); right:-7px; }
.as-node-port>span { position:absolute; display:flex; align-items:center; gap:2px; right:10px; top:-13px; }
.agent-studio .as-node-port button { padding:5px; font-size:10px; color:var(--as-accent); }
.as-port-true .react-flow__handle { background:#25966d; }.as-port-false .react-flow__handle { background:#bc7c25; }
.agent-studio .as-edge-label { pointer-events:all; position:absolute; font-size:11px; padding:4px 8px; border:1px solid var(--as-border); border-radius:20px; background:var(--as-surface); color:var(--as-ink); }
.agent-studio .as-edge-label.is-selected { border-color:var(--as-accent); background:var(--as-soft); }
.as-selected-edge { margin-top:12px; }
.as-workflow-connections-visual { margin-top:16px; border:1px solid var(--as-border); border-radius:12px; padding:16px; background:var(--as-surface); }
.as-workflow-connections-visual h3 { margin-top:0; font-size:14px; }
.as-workflow-connections-visual>p { font-size:12px; color:var(--as-muted); }
.as-route-list { display:grid; gap:8px; }
.as-route-card { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 30px; gap:8px; align-items:center; border:1px solid var(--as-border); border-left:3px solid var(--as-accent); padding:10px; border-radius:8px; font-size:11px; }
.as-route-card code { display:block; overflow-wrap:anywhere; margin-top:5px; color:var(--as-muted); font-size:10px; }
.as-route-true { border-left-color:#25966d; }.as-route-false { border-left-color:#bc7c25; }
.agent-studio .as-route-card button { padding:8px; font-size:11px; text-align:left; }
.as-route-direction { color:var(--as-muted); font-size:10px; }
.as-workflow-node-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:12px; }
.as-workflow-node-list>div { border:1px solid var(--as-border); border-radius:12px; padding:12px; background:var(--as-surface); }
.as-workflow-node-list>div.is-selected { border-color:var(--as-accent); }
.agent-studio .as-workflow-node-select { width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:8px; border:0; text-align:left; }
.as-workflow-node-list code { overflow-wrap:anywhere; }
.as-workflow-node-list .as-inline { flex-wrap:wrap; margin-top:8px; }
.as-workflow-node-list .as-inline button { font-size:11px; }
.as-workflow-template-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:20px; }
.as-workflow-template-layout>section,.as-workflow-template-layout>aside { min-width:0; }
.as-template-choices { display:flex; flex-direction:column; gap:8px; max-height:650px; overflow:auto; padding:2px; }
.agent-studio .as-template-choices button { text-align:left; padding:14px; display:flex; flex-direction:column; gap:8px; }
.as-template-choices button[aria-pressed=true] { border-color:var(--as-accent); background:var(--as-soft); }
.as-template-choices span { color:var(--as-muted); font-size:12px; font-weight:400; line-height:1.5; }
.as-template-choices small { color:var(--as-accent); font-size:10px; }
.as-workflow-templates { border:1px solid var(--as-border); background:var(--as-surface); border-radius:14px; padding:20px; margin:16px 0; }
.as-workflow-templates .as-flow-viewport { height:400px; }
.as-workflow-checks .as-flow-viewport,.as-workflow-debug .as-flow-viewport { height:480px; }
.as-workflow-checks,.as-workflow-publication { background:var(--as-surface); border:1px solid var(--as-border); border-radius:14px; padding:22px; }
.as-workflow-publication>.as-metrics { margin:24px 0; }
.as-node-status { display:inline-block; margin-top:10px; font-size:11px; }
.as-workflow-node.as-node-completed,.as-workflow-node.as-node-simulated { border-color:#25966d; }.as-workflow-node.as-node-failed,.as-workflow-node.as-node-timed_out { border-color:#c74553; }.as-workflow-node.as-node-waiting { border-color:#bd8b26; }.as-workflow-node.as-node-skipped { border-style:dashed; opacity:.65; }.as-workflow-node.as-node-not_started { border-color:var(--as-border); }
.as-node-issue .as-workflow-node { border-color:#c74553; box-shadow:0 0 0 2px #c7455333; }
.as-debug-legend { display:flex; gap:14px; flex-wrap:wrap; margin:12px 0; font-size:11px; color:var(--as-muted); }
.as-debug-legend span::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#a1a8b2; margin-right:6px; }
.as-debug-legend .as-legend-completed::before,.as-debug-legend .as-legend-simulated::before { background:#25966d; }.as-debug-legend .as-legend-failed::before { background:#c74553; }.as-debug-legend .as-legend-waiting::before { background:#bd8b26; }
@container(max-width:1150px) {
 .as-workflow-studio { grid-template-columns:190px minmax(0,1fr); }
 .as-workflow-studio.as-palette-collapsed { grid-template-columns:48px minmax(0,1fr); }
 .as-workflow-studio.as-inspector-collapsed { grid-template-columns:190px minmax(0,1fr); }
 .as-workflow-studio.as-palette-collapsed.as-inspector-collapsed { grid-template-columns:48px minmax(0,1fr); }
 .as-workflow-inspector { grid-column:1/-1; max-height:none; position:static; }
 .as-workflow-inspector .as-panel { max-width:none; }
 .as-workflow-inspector [hidden] { display:none!important; }
 .as-inspector-collapsed>.as-workflow-inspector { width:-moz-max-content; width:max-content; }
}
@container(max-width:760px) {
 .as-workflow-studio,.as-workflow-studio.as-palette-collapsed,.as-workflow-studio.as-inspector-collapsed,.as-workflow-studio.as-palette-collapsed.as-inspector-collapsed { grid-template-columns:minmax(0,1fr); }
 .as-workflow-palette { display:block; position:static; max-height:none; }
 .as-workflow-palette>div>section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .as-workflow-palette h4 { grid-column:1/-1; }.as-palette-collapsed>.as-workflow-palette { width:-moz-max-content; width:max-content; }
 .as-workflow-template-layout { grid-template-columns:minmax(0,1fr); }.as-template-choices { max-height:240px; }
 .as-route-card { grid-template-columns:minmax(0,1fr) 22px; }.as-route-card>span:first-child { grid-column:1; }.as-route-card .as-route-direction { grid-column:1; }.as-route-card>button:first-of-type { grid-column:1; }.as-route-card>button:last-child { grid-column:2; grid-row:1/4; }
 .as-workflow-checks,.as-workflow-publication,.as-workflow-templates { padding:14px; }
 .as-workflow-toolbar>span { margin-left:0; }
}

/* Resource removal always exposes server-side protection and live dependencies. */
.agent-studio .as-danger-link,.as-modal .as-danger-link { color:var(--aisf-status-red-fg,#b42332); }
.agent-studio .as-danger,.as-modal .as-danger { color:#fff; background:var(--aisf-status-red-fg,#b42332); border-color:var(--aisf-status-red-fg,#b42332); }
.as-catalog-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.as-card-lifecycle { display:flex; justify-content:space-between; gap:10px; padding:12px 20px; border-top:1px solid var(--as-border); }
.as-card-lifecycle button:last-child { margin-left:auto; }
.as-removal-identity { display:grid; gap:6px; margin-bottom:18px; }
.as-removal-identity strong { font-size:18px; overflow-wrap:anywhere; }
.as-removal-identity code { color:var(--as-muted); overflow-wrap:anywhere; }
.as-removal-replacement,.as-removal-confirm { margin-top:22px; }
.as-removal-dependencies ul { display:grid; gap:10px; padding:0; list-style:none; }
.as-removal-dependencies li { display:grid; gap:6px; border:1px solid var(--as-border); padding:16px; border-radius:10px; min-width:0; }
.as-removal-dependencies li code { font-size:11px; color:var(--as-muted); overflow-wrap:anywhere; }
.as-removal-dependencies li p { margin:0; }
.as-removal-dependencies li small { color:var(--as-muted); line-height:1.6; }
.as-core-workflow { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.as-core-workflow>div { flex:1 1 320px; }
.as-core-workflow p { margin:6px 0 0; }
/* Fabric Design System — Tokens */
/* See .claude/plans/typography-system/spec.md for naming rationale (--aisf- prefix mandatory) */
:root {
    /* Brand palette */
    --aisf-teal: #00CEC9;
    --aisf-deep: #00317D;
    --aisf-blue: #3551F2;
    --aisf-success: #01B62B;
    --aisf-surface-light: #F5FAFF;

    /* Brand gradient */
    --aisf-gradient: linear-gradient(135deg, var(--aisf-deep) 0%, var(--aisf-teal) 100%);
    --aisf-gradient-subtle: linear-gradient(135deg, rgba(0, 49, 125, 0.06) 0%, rgba(0, 206, 201, 0.06) 100%);
    --aisf-gradient-shadow: 0 2px 8px rgba(0, 206, 201, 0.25);
    --aisf-gradient-shadow-hover: 0 4px 12px rgba(0, 206, 201, 0.4);

    /* Neutral scale */
    --aisf-neutral-0: #FFFFFF;
    --aisf-neutral-50: #F7F9FC;
    --aisf-neutral-100: #EEF1F7;
    --aisf-neutral-150: #E4E8F0;
    --aisf-neutral-200: #D6DCE6;
    --aisf-neutral-300: #B8C0CE;
    --aisf-neutral-400: #8F98A8;
    --aisf-neutral-500: #6B7280;
    --aisf-neutral-600: #4B5563;
    --aisf-neutral-700: #333A47;
    --aisf-neutral-800: #1F242E;
    --aisf-neutral-850: #15191F;
    --aisf-neutral-900: #0C0F14;
    --aisf-neutral-950: #06080B;

    /* Semantic — LIGHT */
    --aisf-bg: var(--aisf-neutral-0);
    --aisf-bg-subtle: var(--aisf-neutral-50);
    --aisf-bg-muted: var(--aisf-neutral-100);
    --aisf-surface: var(--aisf-neutral-0);
    --aisf-surface-2: var(--aisf-neutral-50);
    --aisf-surface-3: var(--aisf-neutral-100);
    --aisf-border: var(--aisf-neutral-150);
    --aisf-border-strong: var(--aisf-neutral-200);
    --aisf-text: var(--aisf-neutral-900);
    --aisf-text-muted: var(--aisf-neutral-500);
    --aisf-text-subtle: var(--aisf-neutral-400);
    --aisf-text-label: var(--aisf-neutral-600);
    --aisf-accent: var(--aisf-blue);
    --aisf-accent-soft: rgba(53, 81, 242, 0.10);
    --aisf-warning: #D97706;
    --aisf-danger: #DC2626;
    --aisf-danger-soft: rgba(220, 38, 38, 0.4);

    /* Interactive states */
    --aisf-accent-hover: #2C44D9;
    --aisf-danger-hover: rgba(231, 102, 102, 0.4);;
    --aisf-bg-hover: var(--aisf-neutral-100);
    --aisf-bg-hover-accent: rgba(53, 81, 242, 0.08);

    /* Disabled */
    --aisf-disabled-opacity: 0.5;

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.4);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(53, 81, 242, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);

    /* Button secondary shadow */
    --aisf-shadow-button-secondary: 0 1px 2px rgba(12, 15, 20, 0.12);

    /* Button destructive shadow */
    --aisf-shadow-button-destructive: 0 1px 2px rgba(220, 38, 38, 0.25);

    /* Letter spacing */
    --aisf-letter-spacing-tight: 0.1px;

    /* Font Weights */
    --aisf-font-weight-light: 300;
    --aisf-font-weight-regular: 400;
    --aisf-font-weight-medium: 500;
    --aisf-font-weight-bold: 700;

    /* Type scale */
    --aisf-font-size-11: 0.6875rem;
    --aisf-font-size-12: 0.75rem;
    --aisf-font-size-13: 0.8125rem;
    --aisf-font-size-14: 0.875rem;
    --aisf-font-size-15: 0.9375rem;
    --aisf-font-size-16: 1rem;
    --aisf-font-size-17: 1.0625rem;
    --aisf-font-size-18: 1.125rem;
    --aisf-font-size-19: 1.1875rem;
    --aisf-font-size-20: 1.25rem;
    --aisf-font-size-22: 1.375rem;
    --aisf-font-size-24: 1.5rem;
    --aisf-font-size-26: 1.625rem;
    --aisf-font-size-28: 1.75rem;
    --aisf-font-size-30: 1.875rem;
    --aisf-font-size-32: 2rem;
    --aisf-font-size-34: 2.125rem;
    --aisf-font-size-48: 3rem;

    /* Radii */
    --aisf-radius-xs: 4px;
    --aisf-radius-sm: 6px;
    --aisf-radius-md: 8px;
    --aisf-radius-lg: 12px;
    --aisf-radius-xl: 16px;
    --aisf-radius-2xl: 22px;
    --aisf-radius-full: 999px;

    /* Shadow */
    --aisf-shadow-xs: 0 1px 2px rgba(12, 15, 20, 0.04);
    --aisf-shadow-sm: 0 1px 3px rgba(12, 15, 20, 0.06), 0 1px 2px rgba(12, 15, 20, 0.03);
    --aisf-shadow-md: 0 4px 12px rgba(12, 15, 20, 0.06), 0 2px 4px rgba(12, 15, 20, 0.04);
    --aisf-shadow-lg: 0 12px 32px rgba(12, 15, 20, 0.08), 0 4px 12px rgba(12, 15, 20, 0.04);
    --aisf-shadow-brand: 0 8px 24px rgba(53, 81, 242, 0.22);

    /* Spacing */
    --aisf-space-1: 0.25rem;
    --aisf-space-2: 0.5rem;
    --aisf-space-3: 0.75rem;
    --aisf-space-4: 1rem;
    --aisf-space-5: 1.25rem;
    --aisf-space-6: 1.5rem;
    --aisf-space-8: 2rem;
    --aisf-space-10: 2.5rem;
    --aisf-space-12: 3rem;

    /* Font stacks */
    --aisf-font-ui: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --aisf-font-display: 'Roboto Condensed', 'Roboto', -apple-system, sans-serif;
    --aisf-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;

    /* Status tag palette */
    --aisf-status-blue-fg:    #1E5BCE;
    --aisf-status-blue-bg:    #DCE7FA;

    --aisf-status-teal-fg:    #00857F;
    --aisf-status-teal-bg:    #CDF3F1;

    --aisf-status-purple-fg:  #6B4FBB;
    --aisf-status-purple-bg:  #E6DEFB;

    --aisf-status-green-fg:   #01802A;
    --aisf-status-green-bg:   #D5F1DC;

    --aisf-status-orange-fg:  #B45309;
    --aisf-status-orange-bg:  #FCE6CC;

    --aisf-status-red-fg:     #C03030;
    --aisf-status-red-bg:     #FBDADA;

    --aisf-status-gray-fg:    var(--aisf-neutral-600);
    --aisf-status-gray-bg:    var(--aisf-neutral-100);
}
.dark {
    --aisf-bg: var(--aisf-neutral-950);
    --aisf-bg-subtle: var(--aisf-neutral-900);
    --aisf-bg-muted: var(--aisf-neutral-850);
    --aisf-surface: #0F1319;
    --aisf-surface-2: #151A22;
    --aisf-surface-3: #1C222C;
    --aisf-border: rgba(255, 255, 255, 0.08);
    --aisf-border-strong: rgba(255, 255, 255, 0.14);
    --aisf-text: #ECEEF3;
    --aisf-text-muted: #9AA3B2;
    --aisf-text-subtle: #6B7383;
    --aisf-accent: #5970FF;
    --aisf-accent-soft: rgba(89, 112, 255, 0.16);
    --aisf-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
    --aisf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --aisf-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --aisf-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
    --aisf-shadow-brand: 0 8px 28px rgba(89, 112, 255, 0.35);

    /* Interactive states */
    --aisf-accent-hover: #6B82FF;
    --aisf-danger-hover: #EF4444;
    --aisf-bg-hover: var(--aisf-neutral-800);
    --aisf-bg-hover-accent: rgba(89, 112, 255, 0.18);

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.3);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    /* Status tag palette */
    --aisf-status-blue-fg:    #8FB0FF;
    --aisf-status-blue-bg:    rgba(53, 81, 242, 0.16);

    --aisf-status-teal-fg:    #5FE3DE;
    --aisf-status-teal-bg:    rgba(0, 206, 201, 0.16);

    --aisf-status-purple-fg:  #B7A3FF;
    --aisf-status-purple-bg:  rgba(107, 79, 187, 0.18);

    --aisf-status-green-fg:   #5FD683;
    --aisf-status-green-bg:   rgba(1, 182, 43, 0.16);

    --aisf-status-orange-fg:  #F4B266;
    --aisf-status-orange-bg:  rgba(217, 119, 6, 0.18);

    --aisf-status-red-fg:     #F08585;
    --aisf-status-red-bg:     rgba(220, 38, 38, 0.18);

    --aisf-status-gray-fg:    var(--aisf-neutral-300);
    --aisf-status-gray-bg:    rgba(255, 255, 255, 0.06);

    /* Skeleton shimmer — neutral-100/200 non ridefiniti nel dark portano a shimmer invisibile */
    --aisf-neutral-100: #2A3040;
    --aisf-neutral-200: #1E2535;
}
@keyframes aisf-ellipsis-wave {
  0%, 60%, 100% {
    transform: scale(1);
    background-color: var(--aisf-border-strong);
  }
  30% {
    transform: scale(1.4);
    background-color: var(--aisf-accent);
  }
}
.aisf-ellipsis-dot {
  animation: aisf-ellipsis-wave 1200ms ease-in-out infinite;
  will-change: transform, background-color;
}
@media (prefers-reduced-motion: reduce) {
  .aisf-ellipsis-dot {
    animation: none !important;
    background-color: var(--aisf-accent) !important;
  }
}
/* Slider — native range input */
.aisf-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  height: .375rem;
  cursor: pointer;
}
.aisf-slider:disabled {
  cursor: not-allowed;
  opacity: var(--aisf-disabled-opacity);
}
.aisf-slider::-webkit-slider-runnable-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-moz-range-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  margin-top: -5px;
  cursor: pointer;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  -moz-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.aisf-slider:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
:root {
    /* Enterprise color palette - Professional blues and grays */
    --background: 220 18% 97%;
    --foreground: 222 47% 11%;

    --card: 0 0% 100%;
    --card-foreground: 222 47% 11%;

    --popover: 0 0% 100%;
    --popover-foreground: 222 47% 11%;

    /* Primary - Deep enterprise blue */
    --primary: 217 91% 45%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 217 91% 38%;
    --primary-light: 217 91% 95%;
    --primary-rgb: 10 90 219;

    /* Secondary - Sophisticated gray */
    --secondary: 220 13% 95%;
    --secondary-foreground: 222 47% 11%;

    /* Muted - Subtle backgrounds */
    --muted: 220 13% 96%;
    --muted-foreground: 220 9% 46%;

    /* Accent - Operations blue */
    --accent: 211 100% 50%;
    --accent-foreground: 0 0% 100%;

    /* Success - Optimization green */
    --success: 142 71% 45%;
    --success-foreground: 0 0% 100%;
    --success-light: 142 71% 96%;

    /* Warning - Alert amber */
    --warning: 38 92% 50%;
    --warning-foreground: 0 0% 100%;
    --warning-light: 38 92% 96%;

    /* Destructive - Critical red */
    --destructive: 0 84% 60%;
    --destructive-foreground: 0 0% 100%;
    --destructive-light: 0 84% 96%;

    /* Info - Knowledge blue */
    --info: 199 89% 48%;
    --info-foreground: 0 0% 100%;
    --info-light: 199 89% 96%;

    /* Borders and inputs */
    --border: 220 13% 91%;
    --input: 220 13% 91%;
    --ring: 217 91% 45%;

    --radius: 0.5rem;

    /* Sidebar / dock — mapped to Fabric tokens (light + dark via fabric-tokens.css) */
    --sidebar-background: var(--aisf-surface);
    --sidebar-foreground: var(--aisf-text);
    --sidebar-primary: var(--aisf-accent);
    --sidebar-primary-foreground: var(--aisf-neutral-0);
    --sidebar-accent: var(--aisf-accent-soft);
    --sidebar-accent-foreground: var(--aisf-accent);
    --sidebar-border: var(--aisf-border);
    --sidebar-ring: var(--aisf-accent);

    /* Data visualization palette */
    --chart-1: 217 91% 45%;
    --chart-2: 142 71% 45%;
    --chart-3: 38 92% 50%;
    --chart-4: 271 81% 56%;
    --chart-5: 199 89% 48%;
    --chart-6: 0 84% 60%;

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, hsl(217 91% 45%) 0%, hsl(217 91% 35%) 100%);
    --gradient-success: linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(142 71% 35%) 100%);
    --gradient-card: linear-gradient(180deg, hsl(0 0% 100%) 0%, hsl(220 18% 99%) 100%);

    /* Shadows - Enterprise depth */
    --shadow-sm: 0 1px 2px 0 hsl(220 13% 91% / 0.5);
    --shadow-md: 0 4px 6px -1px hsl(220 13% 91% / 0.4), 0 2px 4px -1px hsl(220 13% 91% / 0.3);
    --shadow-lg: 0 10px 15px -3px hsl(220 13% 91% / 0.4), 0 4px 6px -2px hsl(220 13% 91% / 0.3);
    --shadow-xl: 0 20px 25px -5px hsl(220 13% 91% / 0.4), 0 10px 10px -5px hsl(220 13% 91% / 0.3);

    /* Transitions */
    --transition-base: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Animation durations */
    --duration-fast: 150ms;
    --duration-normal: 200ms;
    --duration-moderate: 300ms;

    /* Glassmorphism */
    --glass-bg: hsl(0 0% 100% / 0.05);
    --glass-border: hsl(0 0% 100% / 0.1);
    --glass-blur: 12px;

    /* Emoji rendering fallback (Apple first when available) */
    --emoji-font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", sans-serif;
  }
.dark {
    --background: 222 47% 8%;
    --foreground: 220 13% 96%;

    --card: 222 47% 11%;
    --card-foreground: 220 13% 96%;

    --popover: 222 47% 11%;
    --popover-foreground: 220 13% 96%;

    --primary: 217 91% 55%;
    --primary-foreground: 0 0% 100%;
    --primary-hover: 217 91% 48%;
    --primary-light: 217 91% 15%;
    --primary-rgb: 36 116 245;

    --secondary: 222 40% 16%;
    --secondary-foreground: 220 13% 96%;

    --muted: 222 40% 14%;
    --muted-foreground: 220 9% 65%;

    --accent: 211 100% 55%;
    --accent-foreground: 0 0% 100%;

    --success: 142 71% 50%;
    --success-foreground: 0 0% 100%;
    --success-light: 142 71% 15%;

    --warning: 38 92% 55%;
    --warning-foreground: 0 0% 100%;
    --warning-light: 38 92% 15%;

    --destructive: 0 84% 65%;
    --destructive-foreground: 0 0% 100%;
    --destructive-light: 0 84% 15%;

    --info: 199 89% 55%;
    --info-foreground: 0 0% 100%;
    --info-light: 199 89% 15%;

    --border: 222 40% 20%;
    --input: 222 40% 20%;
    --ring: 217 91% 55%;

    /* Sidebar / dock dark values are inherited from fabric-tokens.css */

    --gradient-primary: linear-gradient(135deg, hsl(217 91% 55%) 0%, hsl(217 91% 45%) 100%);
    --gradient-success: linear-gradient(135deg, hsl(142 71% 50%) 0%, hsl(142 71% 40%) 100%);
    --gradient-card: linear-gradient(180deg, hsl(222 47% 11%) 0%, hsl(222 47% 9%) 100%);

    --shadow-sm: 0 1px 2px 0 hsl(0 0% 0% / 0.5);
    --shadow-md: 0 4px 6px -1px hsl(0 0% 0% / 0.4), 0 2px 4px -1px hsl(0 0% 0% / 0.3);
    --shadow-lg: 0 10px 15px -3px hsl(0 0% 0% / 0.4), 0 4px 6px -2px hsl(0 0% 0% / 0.3);
    --shadow-xl: 0 20px 25px -5px hsl(0 0% 0% / 0.4), 0 10px 10px -5px hsl(0 0% 0% / 0.3);

    /* Dark mode glassmorphism */
    --glass-bg: hsl(0 0% 0% / 0.2);
    --glass-border: hsl(0 0% 100% / 0.05);
  }
.\!container {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}
.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
}
@media (min-width: 1400px) {
    .\!container {
        max-width: 1400px !important;
    }
    .container {
        max-width: 1400px;
    }
}
/* Shared base for all Fabric typography components */
.aisf-text-base {
        /* color rimosso: ora gestito dall'asse `variant` dei componenti Typography/Button */
        font-family: var(--aisf-font-ui);
        align-content: center;
    }
/* Shared form text styles */
.aisf-text-form {
        font-family: var(--aisf-font-ui);
    }
/* ──────────────────────────────────────────────────────────────────────
     Typography classes — derivate dalla slide "Typography · Roboto"
     (DSTypeArtboard in screens/design-system.jsx).
     Solo proprietà esplicitamente presenti nella sorgente; quelle non
     determinabili sono lasciate commentate senza valore.
     ────────────────────────────────────────────────────────────────────── */
.aisf-text-display {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-48);
        font-weight: 700;
        line-height: 1.05;
        /* letter-spacing: */
        /* text-transform: */
        /* text-decoration: */
        /* margin: */
        /* padding: */
    }
.aisf-text-title-1 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-34);
        font-weight: 600;
        line-height: 1.1;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-2 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-28);
        font-weight: 600;
        line-height: 1.15;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-3 {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-22);
        font-weight: 600;
        line-height: 1.2;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-headline {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-17);
        font-weight: 600;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-body {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-15);
        font-weight: 400;
        line-height: 1.4;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-callout {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-13);
        font-weight: 500;
        line-height: 1.35;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-caption {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-12);
        font-weight: 500;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-label {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-11);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }
.chat-prose {
    font-family: 'DM Sans', 'Inter', system-ui, sans-serif;
    /* Gap #2 "Dimensione testo": --chat-font-scale è impostata come inline style sul contenitore
       colonna messaggi (AgentMessageList) dal valore scelto nel popover ChatSettings
       (useChatSettingsStore.fontScale → FONT_SCALE_CSS_VALUE). Fallback "medium" se assente
       (es. contesti di rendering isolato/test). La pill utente (AgentMessageList/UserBubble)
       legge la STESSA custom property per restare alla pari con il testo assistant. */
    font-size: var(--chat-font-scale, 0.9375rem);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
    letter-spacing: -0.01em;
    text-rendering: optimizeLegibility;
    max-width: 68ch;
  }
/* Headings — editorial hierarchy with generous breathing room */
.chat-prose h1 {
    font-size: 1.4em !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;
    margin-top: 1.8em !important;
    margin-bottom: 0.7em !important;
    line-height: 1.2 !important;
    color: hsl(var(--foreground) / 0.92) !important;
    padding-bottom: 0.4em !important;
    border-bottom: 1px solid hsl(var(--border) / 0.2) !important;
  }
.chat-prose h2 {
    font-size: 1.18em !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    margin-top: 1.6em !important;
    margin-bottom: 0.55em !important;
    line-height: 1.25 !important;
    color: hsl(var(--foreground) / 0.88) !important;
  }
.chat-prose h3 {
    font-size: 1.02em !important;
    font-weight: 580 !important;
    letter-spacing: -0.015em !important;
    margin-top: 1.4em !important;
    margin-bottom: 0.45em !important;
    line-height: 1.3 !important;
    color: hsl(var(--foreground) / 0.84) !important;
  }
.chat-prose h4,
  .chat-prose h5,
  .chat-prose h6 {
    font-size: 0.92em !important;
    font-weight: 580 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    margin-top: 1.1em !important;
    margin-bottom: 0.3em !important;
    line-height: 1.35 !important;
    color: hsl(var(--foreground) / 0.78) !important;
  }
/* First heading in a message: no top margin, no border on h1 */
.chat-prose > h1:first-child,
  .chat-prose > h2:first-child,
  .chat-prose > h3:first-child,
  .chat-prose > h4:first-child {
    margin-top: 0 !important;
  }
.chat-prose > h1:first-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }
/* Paragraphs — generous line-height for readability */
.chat-prose p {
    margin-top: 0.6em !important;
    margin-bottom: 0.6em !important;
    line-height: 1.75 !important;
    color: hsl(var(--foreground) / 0.82) !important;
  }
.chat-prose > p:first-child { margin-top: 0 !important; }
.chat-prose > p:last-child  { margin-bottom: 0 !important; }
/* Bold / strong — visual anchor for scanning dense text */
.chat-prose strong {
    font-weight: 620 !important;
    color: hsl(var(--foreground) / 0.92) !important;
    letter-spacing: -0.005em !important;
  }
/* Italic */
.chat-prose em {
    font-style: italic !important;
    color: hsl(var(--foreground) / 0.68) !important;
  }
/* Links — subtle underline that strengthens on hover */
.chat-prose a {
    color: hsl(var(--primary)) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    border-bottom: 1px solid hsl(var(--primary) / 0.3) !important;
    transition: border-color 0.15s ease !important;
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
  }
.chat-prose a:hover {
    border-bottom-color: hsl(var(--primary)) !important;
    color: hsl(var(--primary) / 0.85) !important;
  }
/* Lists — refined spacing with elegant markers */
.chat-prose ul,
  .chat-prose ol {
    margin-top: 0.65em !important;
    margin-bottom: 0.65em !important;
    padding-left: 1.5em !important;
  }
/* Il preflight di Tailwind azzera `list-style` su ul/ol e il plugin `typography` NON è
     installato: senza questo ripristino gli elenchi perdono pallini/numeri (e `li::marker` sotto
     non avrebbe nulla da colorare). `outside` tiene i marker nel padding-left impostato sopra. */
.chat-prose ul {
    list-style-type: disc !important;
    list-style-position: outside !important;
  }
.chat-prose ol {
    list-style-type: decimal !important;
    list-style-position: outside !important;
  }
.chat-prose ul ul { list-style-type: circle !important; }
.chat-prose ul ul ul { list-style-type: square !important; }
.chat-prose li {
    margin-top: 0.3em !important;
    margin-bottom: 0.3em !important;
    line-height: 1.7 !important;
    color: hsl(var(--foreground) / 0.82) !important;
    padding-left: 0.2em !important;
  }
.chat-prose li::marker {
    color: hsl(var(--foreground) / 0.35) !important;
    font-size: 0.85em !important;
  }
.chat-prose ol > li::marker {
    font-weight: 600 !important;
    font-size: 0.82em !important;
    color: hsl(var(--foreground) / 0.45) !important;
  }
.chat-prose li > ul,
  .chat-prose li > ol {
    margin-top: 0.2em !important;
    margin-bottom: 0.2em !important;
  }
.chat-prose li > p {
    margin-top: 0.2em !important;
    margin-bottom: 0.2em !important;
  }
/* Blockquote — refined left accent */
.chat-prose blockquote {
    border-left: 2px solid hsl(var(--primary) / 0.4) !important;
    background: hsl(var(--primary) / 0.03) !important;
    margin: 0.75em 0 !important;
    padding: 0.6em 1em !important;
    border-radius: 0 8px 8px 0 !important;
    font-style: normal !important;
    color: hsl(var(--foreground) / 0.8) !important;
    overflow-wrap: anywhere !important;
  }
.chat-prose blockquote p {
    margin: 0.2em 0 !important;
    line-height: 1.6 !important;
  }
/* Inline code — refined pill */
.chat-prose :not(pre) > code {
    font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace !important;
    font-size: 0.82em !important;
    font-weight: 450 !important;
    background: hsl(var(--foreground) / 0.06) !important;
    color: hsl(var(--foreground) / 0.85) !important;
    padding: 0.15em 0.4em !important;
    border-radius: 4px !important;
    border: 1px solid hsl(var(--border) / 0.4) !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
  }
.chat-prose :not(pre) > code::before,
  .chat-prose :not(pre) > code::after {
    content: '' !important;
  }
/* Tables — clean editorial with soft shadow */
.chat-prose table {
    width: 100% !important;
    margin: 0.8em 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid hsl(var(--border) / 0.35) !important;
    font-size: 0.88em !important;
    box-shadow: 0 1px 3px hsl(var(--foreground) / 0.03) !important;
  }
.chat-prose thead {
    background: hsl(var(--muted) / 0.5) !important;
  }
.chat-prose thead th {
    font-weight: 600 !important;
    font-size: 0.78em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: hsl(var(--foreground) / 0.55) !important;
    padding: 0.65em 0.85em !important;
    border-bottom: 1px solid hsl(var(--border) / 0.35) !important;
    white-space: nowrap !important;
  }
.chat-prose tbody td {
    padding: 0.55em 0.85em !important;
    border-bottom: 1px solid hsl(var(--border) / 0.15) !important;
    color: hsl(var(--foreground) / 0.8) !important;
    vertical-align: top !important;
    line-height: 1.5 !important;
  }
.chat-prose tbody tr:last-child td {
    border-bottom: none !important;
  }
.chat-prose tbody tr:nth-child(even) {
    background: hsl(var(--muted) / 0.15) !important;
  }
/* Horizontal rule */
.chat-prose hr {
    margin-top: 1.2em !important;
    margin-bottom: 1.2em !important;
    border: none !important;
    height: 0 !important;
    border-top: 1px solid hsl(var(--border) / 0.25) !important;
  }
/* Images — soft shadow for depth */
.chat-prose img {
    border-radius: 10px !important;
    margin: 0.6em 0 !important;
    max-width: 100% !important;
    box-shadow: 0 2px 8px hsl(var(--foreground) / 0.06) !important;
  }
/* Task lists (GFM checkboxes) */
.chat-prose input[type="checkbox"] {
    accent-color: hsl(var(--primary)) !important;
    margin-right: 0.45em !important;
    vertical-align: middle !important;
  }
.chat-prose li:has(> input[type="checkbox"]) {
    list-style: none !important;
    margin-left: -1.4em !important;
  }
/* Dark mode adjustments */
.dark .chat-prose :not(pre) > code {
    background: hsl(var(--foreground) / 0.08) !important;
    border-color: hsl(var(--border) / 0.25) !important;
  }
.dark .chat-prose blockquote {
    background: hsl(var(--primary) / 0.05) !important;
  }
.dark .chat-prose thead {
    background: hsl(var(--muted) / 0.35) !important;
  }
.dark .chat-prose h1 {
    border-bottom-color: hsl(var(--border) / 0.15) !important;
  }
/* Dark-background chat bubbles: force light text in prose */
.chat-bubble-dark .chat-prose p,
  .chat-bubble-dark .chat-prose li,
  .chat-bubble-dark .chat-prose td,
  .chat-bubble-dark .chat-prose blockquote {
    color: rgba(241, 245, 249, 0.9) !important; /* slate-100/90% */
  }
.chat-bubble-dark .chat-prose h1,
  .chat-bubble-dark .chat-prose h2,
  .chat-bubble-dark .chat-prose h3,
  .chat-bubble-dark .chat-prose h4,
  .chat-bubble-dark .chat-prose h5,
  .chat-bubble-dark .chat-prose h6,
  .chat-bubble-dark .chat-prose strong {
    color: rgba(248, 250, 252, 0.92) !important; /* slate-50/92% */
  }
.chat-bubble-dark .chat-prose th {
    color: rgba(203, 213, 225, 0.8) !important; /* slate-300/80% */
  }
.chat-bubble-dark .chat-prose :not(pre) > code {
    background: rgba(255, 255, 255, 0.1) !important;
    color: rgba(241, 245, 249, 0.85) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
  }
.chat-bubble-dark .chat-prose li::marker {
    color: rgba(165, 180, 252, 0.6) !important; /* indigo-300/60% */
  }
.chat-bubble-dark .chat-prose a {
    color: rgba(165, 180, 252, 1) !important; /* indigo-300 */
    border-bottom-color: rgba(165, 180, 252, 0.3) !important;
  }
.chat-bubble-dark .chat-prose thead {
    background: rgba(255, 255, 255, 0.06) !important;
  }
.chat-bubble-dark .chat-prose tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.04) !important;
  }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.pointer-events-auto {
    pointer-events: auto;
}
.\!visible {
    visibility: visible !important;
}
.visible {
    visibility: visible;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.-inset-1 {
    inset: -0.25rem;
}
.inset-0 {
    inset: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.-bottom-1 {
    bottom: -0.25rem;
}
.-right-0\.5 {
    right: -0.125rem;
}
.-right-10 {
    right: -2.5rem;
}
.-right-\[10px\] {
    right: -10px;
}
.-right-\[2px\] {
    right: -2px;
}
.-top-0\.5 {
    top: -0.125rem;
}
.-top-1 {
    top: -0.25rem;
}
.-top-10 {
    top: -2.5rem;
}
.-top-\[10px\] {
    top: -10px;
}
.-top-\[2px\] {
    top: -2px;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-6 {
    bottom: 1.5rem;
}
.left-0 {
    left: 0px;
}
.left-1\/2 {
    left: 50%;
}
.left-2 {
    left: 0.5rem;
}
.left-2\.5 {
    left: 0.625rem;
}
.left-3 {
    left: 0.75rem;
}
.left-\[0\.125rem\] {
    left: 0.125rem;
}
.left-\[11px\] {
    left: 11px;
}
.left-\[16px\] {
    left: 16px;
}
.left-\[2px\] {
    left: 2px;
}
.left-\[50\%\] {
    left: 50%;
}
.left-auto {
    left: auto;
}
.right-0 {
    right: 0px;
}
.right-0\.5 {
    right: 0.125rem;
}
.right-2 {
    right: 0.5rem;
}
.right-2\.5 {
    right: 0.625rem;
}
.right-3 {
    right: 0.75rem;
}
.right-4 {
    right: 1rem;
}
.right-6 {
    right: 1.5rem;
}
.top-0 {
    top: 0px;
}
.top-0\.5 {
    top: 0.125rem;
}
.top-1\/2 {
    top: 50%;
}
.top-2 {
    top: 0.5rem;
}
.top-4 {
    top: 1rem;
}
.top-\[2px\] {
    top: 2px;
}
.top-\[50\%\] {
    top: 50%;
}
.top-full {
    top: 100%;
}
.isolate {
    isolation: isolate;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}
.z-\[100\] {
    z-index: 100;
}
.z-\[1\] {
    z-index: 1;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-start-1 {
    grid-column-start: 1;
}
.row-start-1 {
    grid-row-start: 1;
}
.m-0 {
    margin: 0px;
}
.m-1 {
    margin: 0.25rem;
}
.-mx-1 {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
.mx-0\.5 {
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-1\.5 {
    margin-left: 0.375rem;
    margin-right: 0.375rem;
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
}
.mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.-ml-1 {
    margin-left: -0.25rem;
}
.-ml-1\.5 {
    margin-left: -0.375rem;
}
.-ml-2 {
    margin-left: -0.5rem;
}
.-ml-2\.5 {
    margin-left: -0.625rem;
}
.-ml-3 {
    margin-left: -0.75rem;
}
.-ml-3\.5 {
    margin-left: -0.875rem;
}
.-mr-0\.5 {
    margin-right: -0.125rem;
}
.-mr-1\.5 {
    margin-right: -0.375rem;
}
.-mt-1\.5 {
    margin-top: -0.375rem;
}
.mb-0\.5 {
    margin-bottom: 0.125rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-14 {
    margin-bottom: 3.5rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-3\.5 {
    margin-bottom: 0.875rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-5 {
    margin-bottom: 1.25rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mb-\[10px\] {
    margin-bottom: 10px;
}
.mb-\[14px\] {
    margin-bottom: 14px;
}
.mb-\[18px\] {
    margin-bottom: 18px;
}
.mb-\[22px\] {
    margin-bottom: 22px;
}
.mb-\[2px\] {
    margin-bottom: 2px;
}
.mb-\[3px\] {
    margin-bottom: 3px;
}
.mb-\[4px\] {
    margin-bottom: 4px;
}
.mb-\[5px\] {
    margin-bottom: 5px;
}
.mb-\[6px\] {
    margin-bottom: 6px;
}
.mb-\[9px\] {
    margin-bottom: 9px;
}
.ml-0\.5 {
    margin-left: 0.125rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-1\.5 {
    margin-left: 0.375rem;
}
.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;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-1\.5 {
    margin-top: 0.375rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-2\.5 {
    margin-top: 0.625rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-5 {
    margin-top: 1.25rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-7 {
    margin-top: 1.75rem;
}
.mt-\[13px\] {
    margin-top: 13px;
}
.mt-\[1px\] {
    margin-top: 1px;
}
.mt-\[2px\] {
    margin-top: 2px;
}
.mt-\[3px\] {
    margin-top: 3px;
}
.mt-\[5px\] {
    margin-top: 5px;
}
.mt-\[6px\] {
    margin-top: 6px;
}
.mt-auto {
    margin-top: auto;
}
.mt-px {
    margin-top: 1px;
}
.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.\!block {
    display: block !important;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.flow-root {
    display: flow-root;
}
.\!grid {
    display: grid !important;
}
.grid {
    display: grid;
}
.contents {
    display: contents;
}
.hidden {
    display: none;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.size-1 {
    width: 0.25rem;
    height: 0.25rem;
}
.size-1\.5 {
    width: 0.375rem;
    height: 0.375rem;
}
.size-10 {
    width: 2.5rem;
    height: 2.5rem;
}
.size-11 {
    width: 2.75rem;
    height: 2.75rem;
}
.size-12 {
    width: 3rem;
    height: 3rem;
}
.size-16 {
    width: 4rem;
    height: 4rem;
}
.size-2 {
    width: 0.5rem;
    height: 0.5rem;
}
.size-20 {
    width: 5rem;
    height: 5rem;
}
.size-3 {
    width: 0.75rem;
    height: 0.75rem;
}
.size-3\.5 {
    width: 0.875rem;
    height: 0.875rem;
}
.size-4 {
    width: 1rem;
    height: 1rem;
}
.size-40 {
    width: 10rem;
    height: 10rem;
}
.size-5 {
    width: 1.25rem;
    height: 1.25rem;
}
.size-6 {
    width: 1.5rem;
    height: 1.5rem;
}
.size-7 {
    width: 1.75rem;
    height: 1.75rem;
}
.size-8 {
    width: 2rem;
    height: 2rem;
}
.size-9 {
    width: 2.25rem;
    height: 2.25rem;
}
.size-\[5px\] {
    width: 5px;
    height: 5px;
}
.size-\[6px\] {
    width: 6px;
    height: 6px;
}
.h-0 {
    height: 0px;
}
.h-0\.5 {
    height: 0.125rem;
}
.h-1 {
    height: 0.25rem;
}
.h-1\.5 {
    height: 0.375rem;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-12 {
    height: 3rem;
}
.h-14 {
    height: 3.5rem;
}
.h-2 {
    height: 0.5rem;
}
.h-2\.5 {
    height: 0.625rem;
}
.h-20 {
    height: 5rem;
}
.h-3 {
    height: 0.75rem;
}
.h-3\.5 {
    height: 0.875rem;
}
.h-4 {
    height: 1rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-64 {
    height: 16rem;
}
.h-7 {
    height: 1.75rem;
}
.h-8 {
    height: 2rem;
}
.h-9 {
    height: 2.25rem;
}
.h-\[0\.75rem\] {
    height: 0.75rem;
}
.h-\[1\.125rem\] {
    height: 1.125rem;
}
.h-\[1\.25rem\] {
    height: 1.25rem;
}
.h-\[11px\] {
    height: 11px;
}
.h-\[120px\] {
    height: 120px;
}
.h-\[12px\] {
    height: 12px;
}
.h-\[13px\] {
    height: 13px;
}
.h-\[14px\] {
    height: 14px;
}
.h-\[15px\] {
    height: 15px;
}
.h-\[16px\] {
    height: 16px;
}
.h-\[18px\] {
    height: 18px;
}
.h-\[1px\] {
    height: 1px;
}
.h-\[1rem\] {
    height: 1rem;
}
.h-\[2\.125rem\] {
    height: 2.125rem;
}
.h-\[200px\] {
    height: 200px;
}
.h-\[20px\] {
    height: 20px;
}
.h-\[210px\] {
    height: 210px;
}
.h-\[22px\] {
    height: 22px;
}
.h-\[250px\] {
    height: 250px;
}
.h-\[260px\] {
    height: 260px;
}
.h-\[26px\] {
    height: 26px;
}
.h-\[3\.75rem\] {
    height: 3.75rem;
}
.h-\[300px\] {
    height: 300px;
}
.h-\[30px\] {
    height: 30px;
}
.h-\[34px\] {
    height: 34px;
}
.h-\[38px\] {
    height: 38px;
}
.h-\[3px\] {
    height: 3px;
}
.h-\[400px\] {
    height: 400px;
}
.h-\[42px\] {
    height: 42px;
}
.h-\[46px\] {
    height: 46px;
}
.h-\[5px\] {
    height: 5px;
}
.h-\[5rem\] {
    height: 5rem;
}
.h-\[6px\] {
    height: 6px;
}
.h-\[7\.5rem\] {
    height: 7.5rem;
}
.h-\[70vh\] {
    height: 70vh;
}
.h-\[7px\] {
    height: 7px;
}
.h-\[80px\] {
    height: 80px;
}
.h-\[90px\] {
    height: 90px;
}
.h-\[9px\] {
    height: 9px;
}
.h-\[var\(--aisf-space-6\)\] {
    height: var(--aisf-space-6);
}
.h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.h-px {
    height: 1px;
}
.h-screen {
    height: 100vh;
}
.max-h-32 {
    max-height: 8rem;
}
.max-h-40 {
    max-height: 10rem;
}
.max-h-56 {
    max-height: 14rem;
}
.max-h-64 {
    max-height: 16rem;
}
.max-h-96 {
    max-height: 24rem;
}
.max-h-\[160px\] {
    max-height: 160px;
}
.max-h-\[420px\] {
    max-height: 420px;
}
.max-h-\[440px\] {
    max-height: 440px;
}
.max-h-\[45vh\] {
    max-height: 45vh;
}
.max-h-\[480px\] {
    max-height: 480px;
}
.max-h-\[50vh\] {
    max-height: 50vh;
}
.max-h-\[55vh\] {
    max-height: 55vh;
}
.max-h-\[80vh\] {
    max-height: 80vh;
}
.max-h-\[85vh\] {
    max-height: 85vh;
}
.max-h-\[90dvh\] {
    max-height: 90dvh;
}
.max-h-\[90vh\] {
    max-height: 90vh;
}
.max-h-screen {
    max-height: 100vh;
}
.min-h-0 {
    min-height: 0px;
}
.min-h-10 {
    min-height: 2.5rem;
}
.min-h-11 {
    min-height: 2.75rem;
}
.min-h-20 {
    min-height: 5rem;
}
.min-h-7 {
    min-height: 1.75rem;
}
.min-h-8 {
    min-height: 2rem;
}
.min-h-\[1\.125rem\] {
    min-height: 1.125rem;
}
.min-h-\[1\.375rem\] {
    min-height: 1.375rem;
}
.min-h-\[1\.625rem\] {
    min-height: 1.625rem;
}
.min-h-\[120px\] {
    min-height: 120px;
}
.min-h-\[18rem\] {
    min-height: 18rem;
}
.min-h-\[2\.5rem\] {
    min-height: 2.5rem;
}
.min-h-\[220px\] {
    min-height: 220px;
}
.min-h-\[300px\] {
    min-height: 300px;
}
.min-h-\[48px\] {
    min-height: 48px;
}
.min-h-\[80px\] {
    min-height: 80px;
}
.min-h-full {
    min-height: 100%;
}
.min-h-screen {
    min-height: 100vh;
}
.\!w-8 {
    width: 2rem !important;
}
.\!w-auto {
    width: auto !important;
}
.\!w-full {
    width: 100% !important;
}
.w-0\.5 {
    width: 0.125rem;
}
.w-1 {
    width: 0.25rem;
}
.w-1\.5 {
    width: 0.375rem;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-14 {
    width: 3.5rem;
}
.w-16 {
    width: 4rem;
}
.w-2 {
    width: 0.5rem;
}
.w-2\.5 {
    width: 0.625rem;
}
.w-2\/3 {
    width: 66.666667%;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-28 {
    width: 7rem;
}
.w-3 {
    width: 0.75rem;
}
.w-3\.5 {
    width: 0.875rem;
}
.w-3\/4 {
    width: 75%;
}
.w-32 {
    width: 8rem;
}
.w-36 {
    width: 9rem;
}
.w-4 {
    width: 1rem;
}
.w-40 {
    width: 10rem;
}
.w-44 {
    width: 11rem;
}
.w-48 {
    width: 12rem;
}
.w-5 {
    width: 1.25rem;
}
.w-52 {
    width: 13rem;
}
.w-56 {
    width: 14rem;
}
.w-6 {
    width: 1.5rem;
}
.w-60 {
    width: 15rem;
}
.w-64 {
    width: 16rem;
}
.w-7 {
    width: 1.75rem;
}
.w-72 {
    width: 18rem;
}
.w-8 {
    width: 2rem;
}
.w-80 {
    width: 20rem;
}
.w-9 {
    width: 2.25rem;
}
.w-\[100px\] {
    width: 100px;
}
.w-\[110px\] {
    width: 110px;
}
.w-\[11px\] {
    width: 11px;
}
.w-\[120px\] {
    width: 120px;
}
.w-\[12px\] {
    width: 12px;
}
.w-\[13px\] {
    width: 13px;
}
.w-\[140px\] {
    width: 140px;
}
.w-\[14px\] {
    width: 14px;
}
.w-\[150px\] {
    width: 150px;
}
.w-\[15px\] {
    width: 15px;
}
.w-\[160px\] {
    width: 160px;
}
.w-\[16px\] {
    width: 16px;
}
.w-\[18\%\] {
    width: 18%;
}
.w-\[1px\] {
    width: 1px;
}
.w-\[200px\] {
    width: 200px;
}
.w-\[20px\] {
    width: 20px;
}
.w-\[220px\] {
    width: 220px;
}
.w-\[24\%\] {
    width: 24%;
}
.w-\[26px\] {
    width: 26px;
}
.w-\[280px\] {
    width: 280px;
}
.w-\[30px\] {
    width: 30px;
}
.w-\[320px\] {
    width: 320px;
}
.w-\[34px\] {
    width: 34px;
}
.w-\[36\%\] {
    width: 36%;
}
.w-\[380px\] {
    width: 380px;
}
.w-\[38px\] {
    width: 38px;
}
.w-\[400px\] {
    width: 400px;
}
.w-\[40px\] {
    width: 40px;
}
.w-\[420px\] {
    width: 420px;
}
.w-\[42px\] {
    width: 42px;
}
.w-\[440px\] {
    width: 440px;
}
.w-\[460px\] {
    width: 460px;
}
.w-\[46px\] {
    width: 46px;
}
.w-\[480px\] {
    width: 480px;
}
.w-\[54px\] {
    width: 54px;
}
.w-\[5px\] {
    width: 5px;
}
.w-\[60px\] {
    width: 60px;
}
.w-\[640px\] {
    width: 640px;
}
.w-\[64px\] {
    width: 64px;
}
.w-\[6px\] {
    width: 6px;
}
.w-\[74px\] {
    width: 74px;
}
.w-\[7px\] {
    width: 7px;
}
.w-\[80px\] {
    width: 80px;
}
.w-\[90px\] {
    width: 90px;
}
.w-\[9px\] {
    width: 9px;
}
.w-\[calc\(100vw-2rem\)\] {
    width: calc(100vw - 2rem);
}
.w-\[clamp\(20rem\2c 25vw\2c 30rem\)\] {
    width: clamp(20rem, 25vw, 30rem);
}
.w-\[min\(44rem\2c 90vw\)\] {
    width: min(44rem, 90vw);
}
.w-\[var\(--aisf-space-6\)\] {
    width: var(--aisf-space-6);
}
.w-auto {
    width: auto;
}
.w-fit {
    width: -moz-fit-content;
    width: fit-content;
}
.w-full {
    width: 100%;
}
.w-px {
    width: 1px;
}
.min-w-0 {
    min-width: 0px;
}
.min-w-64 {
    min-width: 16rem;
}
.min-w-8 {
    min-width: 2rem;
}
.min-w-\[12ch\] {
    min-width: 12ch;
}
.min-w-\[140px\] {
    min-width: 140px;
}
.min-w-\[14px\] {
    min-width: 14px;
}
.min-w-\[160px\] {
    min-width: 160px;
}
.min-w-\[16rem\] {
    min-width: 16rem;
}
.min-w-\[180px\] {
    min-width: 180px;
}
.min-w-\[18px\] {
    min-width: 18px;
}
.min-w-\[200px\] {
    min-width: 200px;
}
.min-w-\[220px\] {
    min-width: 220px;
}
.min-w-\[240px\] {
    min-width: 240px;
}
.min-w-\[260px\] {
    min-width: 260px;
}
.min-w-\[34px\] {
    min-width: 34px;
}
.min-w-\[420px\] {
    min-width: 420px;
}
.min-w-\[46px\] {
    min-width: 46px;
}
.min-w-\[68px\] {
    min-width: 68px;
}
.min-w-\[720px\] {
    min-width: 720px;
}
.min-w-\[760px\] {
    min-width: 760px;
}
.min-w-\[780px\] {
    min-width: 780px;
}
.min-w-\[820px\] {
    min-width: 820px;
}
.min-w-\[8rem\] {
    min-width: 8rem;
}
.min-w-\[960px\] {
    min-width: 960px;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
}
.min-w-max {
    min-width: -moz-max-content;
    min-width: max-content;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-\[1280px\] {
    max-width: 1280px;
}
.max-w-\[160px\] {
    max-width: 160px;
}
.max-w-\[180px\] {
    max-width: 180px;
}
.max-w-\[220px\] {
    max-width: 220px;
}
.max-w-\[22rem\] {
    max-width: 22rem;
}
.max-w-\[280px\] {
    max-width: 280px;
}
.max-w-\[28rem\] {
    max-width: 28rem;
}
.max-w-\[300px\] {
    max-width: 300px;
}
.max-w-\[320px\] {
    max-width: 320px;
}
.max-w-\[340px\] {
    max-width: 340px;
}
.max-w-\[360px\] {
    max-width: 360px;
}
.max-w-\[380px\] {
    max-width: 380px;
}
.max-w-\[40ch\] {
    max-width: 40ch;
}
.max-w-\[420px\] {
    max-width: 420px;
}
.max-w-\[440px\] {
    max-width: 440px;
}
.max-w-\[480px\] {
    max-width: 480px;
}
.max-w-\[520px\] {
    max-width: 520px;
}
.max-w-\[560px\] {
    max-width: 560px;
}
.max-w-\[60\%\] {
    max-width: 60%;
}
.max-w-\[640px\] {
    max-width: 640px;
}
.max-w-\[85\%\] {
    max-width: 85%;
}
.max-w-\[90vw\] {
    max-width: 90vw;
}
.max-w-\[95vw\] {
    max-width: 95vw;
}
.max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
}
.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;
}
.shrink-0 {
    flex-shrink: 0;
}
.grow {
    flex-grow: 1;
}
.basis-64 {
    flex-basis: 16rem;
}
.basis-full {
    flex-basis: 100%;
}
.table-fixed {
    table-layout: fixed;
}
.caption-bottom {
    caption-side: bottom;
}
.border-collapse {
    border-collapse: collapse;
}
.origin-\[--radix-tooltip-content-transform-origin\] {
    transform-origin: var(--radix-tooltip-content-transform-origin);
}
.origin-center {
    transform-origin: center;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-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-\[-50\%\] {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px {
    --tw-translate-x: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
    --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));
}
.-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));
}
.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-x-0 {
    --tw-scale-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-100 {
    --tw-scale-x: 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));
}
.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 fade-up {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-up {
    animation: fade-up 0.4s ease-out both;
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}
.animate-shimmer {
    animation: shimmer 2s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin {
    animation: spin 1s linear infinite;
}
.cursor-default {
    cursor: default;
}
.cursor-grab {
    cursor: grab;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.touch-none {
    touch-action: none;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize-none {
    resize: none;
}
.resize-y {
    resize: vertical;
}
.resize {
    resize: both;
}
.list-inside {
    list-style-position: inside;
}
.list-disc {
    list-style-type: disc;
}
.list-none {
    list-style-type: none;
}
.appearance-none {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.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-\[1fr_90px_100px_48px\] {
    grid-template-columns: 1fr 90px 100px 48px;
}
.grid-cols-\[1fr_auto_auto_auto\] {
    grid-template-columns: 1fr auto auto auto;
}
.grid-cols-\[4\.5rem_5rem_5\.75rem_2rem\] {
    grid-template-columns: 4.5rem 5rem 5.75rem 2rem;
}
.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
    grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-col-reverse {
    flex-direction: column-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.place-items-center {
    place-items: center;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-center {
    align-items: center;
}
.items-baseline {
    align-items: baseline;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.\!justify-center {
    justify-content: center !important;
}
.justify-center {
    justify-content: center;
}
.\!justify-between {
    justify-content: space-between !important;
}
.justify-between {
    justify-content: space-between;
}
.gap-0 {
    gap: 0px;
}
.gap-0\.5 {
    gap: 0.125rem;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-3\.5 {
    gap: 0.875rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-\[10px\] {
    gap: 10px;
}
.gap-\[11px\] {
    gap: 11px;
}
.gap-\[13px\] {
    gap: 13px;
}
.gap-\[14px\] {
    gap: 14px;
}
.gap-\[18px\] {
    gap: 18px;
}
.gap-\[3px\] {
    gap: 3px;
}
.gap-\[4px\] {
    gap: 4px;
}
.gap-\[5px\] {
    gap: 5px;
}
.gap-\[6px\] {
    gap: 6px;
}
.gap-\[7px\] {
    gap: 7px;
}
.gap-\[8px\] {
    gap: 8px;
}
.gap-\[9px\] {
    gap: 9px;
}
.gap-\[var\(--aisf-space-2\)\] {
    gap: var(--aisf-space-2);
}
.gap-\[var\(--aisf-space-4\)\] {
    gap: var(--aisf-space-4);
}
.gap-x-3 {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
}
.gap-x-4 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.gap-x-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
}
.gap-x-6 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
.gap-y-1 {
    row-gap: 0.25rem;
}
.gap-y-1\.5 {
    row-gap: 0.375rem;
}
.gap-y-2 {
    row-gap: 0.5rem;
}
.gap-y-3\.5 {
    row-gap: 0.875rem;
}
.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.375rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-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\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.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-\[var\(--aisf-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--aisf-border);
}
.divide-\[var\(--wo-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--wo-border);
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
    border-color: hsl(var(--border));
}
.self-start {
    align-self: flex-start;
}
.self-end {
    align-self: flex-end;
}
.self-center {
    align-self: center;
}
.self-stretch {
    align-self: stretch;
}
.overflow-auto {
    overflow: auto;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.overflow-y-hidden {
    overflow-y: hidden;
}
.overscroll-contain {
    overscroll-behavior: contain;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-ellipsis {
    text-overflow: ellipsis;
}
.whitespace-normal {
    white-space: normal;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.whitespace-pre-wrap {
    white-space: pre-wrap;
}
.break-words {
    overflow-wrap: break-word;
}
.break-all {
    word-break: break-all;
}
.\!rounded-2xl {
    border-radius: 1rem !important;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-\[10px\] {
    border-radius: 10px;
}
.rounded-\[11px\] {
    border-radius: 11px;
}
.rounded-\[12px\] {
    border-radius: 12px;
}
.rounded-\[13px\] {
    border-radius: 13px;
}
.rounded-\[14px\] {
    border-radius: 14px;
}
.rounded-\[16px\] {
    border-radius: 16px;
}
.rounded-\[18px\] {
    border-radius: 18px;
}
.rounded-\[4px\] {
    border-radius: 4px;
}
.rounded-\[5px\] {
    border-radius: 5px;
}
.rounded-\[6px\] {
    border-radius: 6px;
}
.rounded-\[7px\] {
    border-radius: 7px;
}
.rounded-\[8px\] {
    border-radius: 8px;
}
.rounded-\[9px\] {
    border-radius: 9px;
}
.rounded-\[inherit\] {
    border-radius: inherit;
}
.rounded-\[var\(--aisf-radius-full\)\] {
    border-radius: var(--aisf-radius-full);
}
.rounded-\[var\(--aisf-radius-lg\)\] {
    border-radius: var(--aisf-radius-lg);
}
.rounded-\[var\(--aisf-radius-md\)\] {
    border-radius: var(--aisf-radius-md);
}
.rounded-\[var\(--aisf-radius-sm\)\] {
    border-radius: var(--aisf-radius-sm);
}
.rounded-\[var\(--aisf-radius-xl\)\] {
    border-radius: var(--aisf-radius-xl);
}
.rounded-\[var\(--aisf-radius-xs\)\] {
    border-radius: var(--aisf-radius-xs);
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: var(--radius);
}
.rounded-md {
    border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
    border-radius: 0px;
}
.rounded-sm {
    border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-t-\[3px\] {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.rounded-t-\[8px\] {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.rounded-t-sm {
    border-top-left-radius: calc(var(--radius) - 4px);
    border-top-right-radius: calc(var(--radius) - 4px);
}
.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-2 {
    border-left-width: 2px;
}
.border-l-4 {
    border-left-width: 4px;
}
.border-r {
    border-right-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-t-2 {
    border-top-width: 2px;
}
.border-solid {
    border-style: solid;
}
.border-dashed {
    border-style: dashed;
}
.border-dotted {
    border-style: dotted;
}
.border-none {
    border-style: none;
}
.border-\[hsl\(217_91\%_45\%\)\] {
    --tw-border-opacity: 1;
    border-color: hsl(217 91% 45% / var(--tw-border-opacity, 1));
}
.border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.border-\[var\(--aisf-accent-soft\)\] {
    border-color: var(--aisf-accent-soft);
}
.border-\[var\(--aisf-border\)\] {
    border-color: var(--aisf-border);
}
.border-\[var\(--aisf-border-strong\)\] {
    border-color: var(--aisf-border-strong);
}
.border-\[var\(--aisf-danger\)\] {
    border-color: var(--aisf-danger);
}
.border-\[var\(--aisf-danger-soft\)\] {
    border-color: var(--aisf-danger-soft);
}
.border-\[var\(--aisf-loading-spinner-track\)\] {
    border-color: var(--aisf-loading-spinner-track);
}
.border-\[var\(--aisf-status-green-bg\)\] {
    border-color: var(--aisf-status-green-bg);
}
.border-\[var\(--aisf-status-orange-bg\)\] {
    border-color: var(--aisf-status-orange-bg);
}
.border-\[var\(--aisf-warning\)\] {
    border-color: var(--aisf-warning);
}
.border-\[var\(--wo-border\)\] {
    border-color: var(--wo-border);
}
.border-\[var\(--wo-border2\)\] {
    border-color: var(--wo-border2);
}
.border-\[var\(--wo-danger\)\] {
    border-color: var(--wo-danger);
}
.border-\[var\(--wo-info\)\] {
    border-color: var(--wo-info);
}
.border-\[var\(--wo-primary\)\] {
    border-color: var(--wo-primary);
}
.border-\[var\(--wo-success\)\] {
    border-color: var(--wo-success);
}
.border-\[var\(--wo-warning\)\] {
    border-color: var(--wo-warning);
}
.border-amber-200 {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-500 {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/30 {
    border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
    border-color: rgb(245 158 11 / 0.4);
}
.border-blue-200 {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-border {
    border-color: hsl(var(--border));
}
.border-border\/50 {
    border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
    border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
    border-color: hsl(var(--border) / 0.7);
}
.border-border\/80 {
    border-color: hsl(var(--border) / 0.8);
}
.border-current {
    border-color: currentColor;
}
.border-cyan-500 {
    --tw-border-opacity: 1;
    border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-destructive {
    border-color: hsl(var(--destructive));
}
.border-destructive\/30 {
    border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
    border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
    border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-500\/30 {
    border-color: rgb(16 185 129 / 0.3);
}
.border-fuchsia-500 {
    --tw-border-opacity: 1;
    border-color: rgb(217 70 239 / var(--tw-border-opacity, 1));
}
.border-green-500 {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-600 {
    --tw-border-opacity: 1;
    border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-info {
    border-color: hsl(var(--info));
}
.border-input {
    border-color: hsl(var(--input));
}
.border-muted {
    border-color: hsl(var(--muted));
}
.border-neutral-800 {
    --tw-border-opacity: 1;
    border-color: rgb(38 38 38 / var(--tw-border-opacity, 1));
}
.border-pink-500 {
    --tw-border-opacity: 1;
    border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-primary {
    border-color: hsl(var(--primary));
}
.border-primary\/20 {
    border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/60 {
    border-color: hsl(var(--primary) / 0.6);
}
.border-purple-600 {
    --tw-border-opacity: 1;
    border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-slate-400\/30 {
    border-color: rgb(148 163 184 / 0.3);
}
.border-transparent {
    border-color: transparent;
}
.border-violet-500 {
    --tw-border-opacity: 1;
    border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.border-warning {
    border-color: hsl(var(--warning));
}
.border-warning\/30 {
    border-color: hsl(var(--warning) / 0.3);
}
.border-warning\/40 {
    border-color: hsl(var(--warning) / 0.4);
}
.border-yellow-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-b-\[var\(--aisf-border\)\] {
    border-bottom-color: var(--aisf-border);
}
.border-l-\[intent\] {
    border-left-color: intent;
}
.border-l-\[var\(--aisf-accent\)\] {
    border-left-color: var(--aisf-accent);
}
.border-l-\[var\(--aisf-status-blue-fg\)\] {
    border-left-color: var(--aisf-status-blue-fg);
}
.border-l-\[var\(--aisf-status-gray-fg\)\] {
    border-left-color: var(--aisf-status-gray-fg);
}
.border-l-\[var\(--aisf-status-green-fg\)\] {
    border-left-color: var(--aisf-status-green-fg);
}
.border-l-\[var\(--aisf-status-orange-fg\)\] {
    border-left-color: var(--aisf-status-orange-fg);
}
.border-l-\[var\(--aisf-status-red-fg\)\] {
    border-left-color: var(--aisf-status-red-fg);
}
.border-l-blue-500 {
    --tw-border-opacity: 1;
    border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-green-500\/60 {
    border-left-color: rgb(34 197 94 / 0.6);
}
.border-l-transparent {
    border-left-color: transparent;
}
.border-r-\[var\(--aisf-border\)\] {
    border-right-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-accent\)\] {
    border-top-color: var(--aisf-accent);
}
.border-t-\[var\(--aisf-border\)\] {
    border-top-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-neutral-0\)\] {
    border-top-color: var(--aisf-neutral-0);
}
.border-t-\[var\(--aisf-neutral-500\)\] {
    border-top-color: var(--aisf-neutral-500);
}
.border-t-transparent {
    border-top-color: transparent;
}
.\!bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card) !important;
}
.bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.bg-\[var\(--aisf-accent-soft\)\] {
    background-color: var(--aisf-accent-soft);
}
.bg-\[var\(--aisf-bg\)\] {
    background-color: var(--aisf-bg);
}
.bg-\[var\(--aisf-bg-hover\)\] {
    background-color: var(--aisf-bg-hover);
}
.bg-\[var\(--aisf-bg-subtle\)\] {
    background-color: var(--aisf-bg-subtle);
}
.bg-\[var\(--aisf-border-strong\)\] {
    background-color: var(--aisf-border-strong);
}
.bg-\[var\(--aisf-danger\)\] {
    background-color: var(--aisf-danger);
}
.bg-\[var\(--aisf-danger-soft\)\] {
    background-color: var(--aisf-danger-soft);
}
.bg-\[var\(--aisf-neutral-0\)\] {
    background-color: var(--aisf-neutral-0);
}
.bg-\[var\(--aisf-neutral-100\)\] {
    background-color: var(--aisf-neutral-100);
}
.bg-\[var\(--aisf-neutral-200\)\] {
    background-color: var(--aisf-neutral-200);
}
.bg-\[var\(--aisf-neutral-900\)\] {
    background-color: var(--aisf-neutral-900);
}
.bg-\[var\(--aisf-status-blue-bg\)\] {
    background-color: var(--aisf-status-blue-bg);
}
.bg-\[var\(--aisf-status-blue-fg\)\] {
    background-color: var(--aisf-status-blue-fg);
}
.bg-\[var\(--aisf-status-gray-bg\)\] {
    background-color: var(--aisf-status-gray-bg);
}
.bg-\[var\(--aisf-status-gray-fg\)\] {
    background-color: var(--aisf-status-gray-fg);
}
.bg-\[var\(--aisf-status-green-bg\)\] {
    background-color: var(--aisf-status-green-bg);
}
.bg-\[var\(--aisf-status-green-fg\)\] {
    background-color: var(--aisf-status-green-fg);
}
.bg-\[var\(--aisf-status-orange-bg\)\] {
    background-color: var(--aisf-status-orange-bg);
}
.bg-\[var\(--aisf-status-orange-fg\)\] {
    background-color: var(--aisf-status-orange-fg);
}
.bg-\[var\(--aisf-status-purple-bg\)\] {
    background-color: var(--aisf-status-purple-bg);
}
.bg-\[var\(--aisf-status-red-bg\)\] {
    background-color: var(--aisf-status-red-bg);
}
.bg-\[var\(--aisf-status-red-fg\)\] {
    background-color: var(--aisf-status-red-fg);
}
.bg-\[var\(--aisf-status-teal-bg\)\] {
    background-color: var(--aisf-status-teal-bg);
}
.bg-\[var\(--aisf-surface\)\] {
    background-color: var(--aisf-surface);
}
.bg-\[var\(--aisf-surface-2\)\] {
    background-color: var(--aisf-surface-2);
}
.bg-\[var\(--aisf-warning\)\] {
    background-color: var(--aisf-warning);
}
.bg-\[var\(--aisf-warning-soft\)\] {
    background-color: var(--aisf-warning-soft);
}
.bg-\[var\(--wo-bg-subtle\)\] {
    background-color: var(--wo-bg-subtle);
}
.bg-\[var\(--wo-border\)\] {
    background-color: var(--wo-border);
}
.bg-\[var\(--wo-border2\)\] {
    background-color: var(--wo-border2);
}
.bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card);
}
.bg-\[var\(--wo-card2\)\] {
    background-color: var(--wo-card2);
}
.bg-\[var\(--wo-danger\)\] {
    background-color: var(--wo-danger);
}
.bg-\[var\(--wo-danger-soft\)\] {
    background-color: var(--wo-danger-soft);
}
.bg-\[var\(--wo-fg3\)\] {
    background-color: var(--wo-fg3);
}
.bg-\[var\(--wo-info\)\] {
    background-color: var(--wo-info);
}
.bg-\[var\(--wo-info-soft\)\] {
    background-color: var(--wo-info-soft);
}
.bg-\[var\(--wo-muted\)\] {
    background-color: var(--wo-muted);
}
.bg-\[var\(--wo-primary\)\] {
    background-color: var(--wo-primary);
}
.bg-\[var\(--wo-primary-soft\)\] {
    background-color: var(--wo-primary-soft);
}
.bg-\[var\(--wo-success\)\] {
    background-color: var(--wo-success);
}
.bg-\[var\(--wo-success-soft\)\] {
    background-color: var(--wo-success-soft);
}
.bg-\[var\(--wo-warning\)\] {
    background-color: var(--wo-warning);
}
.bg-\[var\(--wo-warning-soft\)\] {
    background-color: var(--wo-warning-soft);
}
.bg-amber-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
    background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
    background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
    background-color: rgb(245 158 11 / 0.05);
}
.bg-background {
    background-color: hsl(var(--background));
}
.bg-background\/40 {
    background-color: hsl(var(--background) / 0.4);
}
.bg-background\/60 {
    background-color: hsl(var(--background) / 0.6);
}
.bg-background\/80 {
    background-color: hsl(var(--background) / 0.8);
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-border {
    background-color: hsl(var(--border));
}
.bg-card {
    background-color: hsl(var(--card));
}
.bg-card\/40 {
    background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
    background-color: hsl(var(--card) / 0.5);
}
.bg-current {
    background-color: currentColor;
}
.bg-cyan-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-destructive {
    background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
    background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15 {
    background-color: hsl(var(--destructive) / 0.15);
}
.bg-destructive\/5 {
    background-color: hsl(var(--destructive) / 0.05);
}
.bg-destructive\/70 {
    background-color: hsl(var(--destructive) / 0.7);
}
.bg-emerald-500\/15 {
    background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
    background-color: rgb(16 185 129 / 0.05);
}
.bg-foreground {
    background-color: hsl(var(--foreground));
}
.bg-fuchsia-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-info {
    background-color: hsl(var(--info));
}
.bg-info\/15 {
    background-color: hsl(var(--info) / 0.15);
}
.bg-muted {
    background-color: hsl(var(--muted));
}
.bg-muted-foreground {
    background-color: hsl(var(--muted-foreground));
}
.bg-muted-foreground\/50 {
    background-color: hsl(var(--muted-foreground) / 0.5);
}
.bg-muted\/20 {
    background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
    background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40 {
    background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50 {
    background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
    background-color: hsl(var(--muted) / 0.6);
}
.bg-neutral-900\/95 {
    background-color: rgb(23 23 23 / 0.95);
}
.bg-orange-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-pink-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-popover {
    background-color: hsl(var(--popover));
}
.bg-primary {
    background-color: hsl(var(--primary));
}
.bg-primary\/10 {
    background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/5 {
    background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70 {
    background-color: hsl(var(--primary) / 0.7);
}
.bg-purple-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/15 {
    background-color: rgb(244 63 94 / 0.15);
}
.bg-secondary {
    background-color: hsl(var(--secondary));
}
.bg-sidebar {
    background-color: var(--sidebar-background);
}
.bg-slate-400\/5 {
    background-color: rgb(148 163 184 / 0.05);
}
.bg-success {
    background-color: hsl(var(--success));
}
.bg-success\/15 {
    background-color: hsl(var(--success) / 0.15);
}
.bg-transparent {
    background-color: transparent;
}
.bg-violet-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-warning {
    background-color: hsl(var(--warning));
}
.bg-warning\/10 {
    background-color: hsl(var(--warning) / 0.1);
}
.bg-warning\/15 {
    background-color: hsl(var(--warning) / 0.15);
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(90deg\2c var\(--aisf-neutral-200\)_0\%\2c var\(--aisf-neutral-100\)_50\%\2c var\(--aisf-neutral-200\)_100\%\)\] {
    background-image: linear-gradient(90deg,var(--aisf-neutral-200) 0%,var(--aisf-neutral-100) 50%,var(--aisf-neutral-200) 100%);
}
.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-\[var\(--wo-primary\)\] {
    --tw-gradient-from: var(--wo-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
    --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[40\%\] {
    --tw-gradient-from-position: 40%;
}
.to-\[hsl\(199_89\%_48\%\)\] {
    --tw-gradient-to: hsl(199 89% 48%) var(--tw-gradient-to-position);
}
.to-background {
    --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-primary\/80 {
    --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}
.bg-\[length\:200\%_100\%\] {
    background-size: 200% 100%;
}
.fill-current {
    fill: currentColor;
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.\!p-0 {
    padding: 0px !important;
}
.p-0 {
    padding: 0px;
}
.p-0\.5 {
    padding: 0.125rem;
}
.p-1 {
    padding: 0.25rem;
}
.p-1\.5 {
    padding: 0.375rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-12 {
    padding: 3rem;
}
.p-14 {
    padding: 3.5rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-3\.5 {
    padding: 0.875rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-8 {
    padding: 2rem;
}
.p-9 {
    padding: 2.25rem;
}
.p-\[10px\] {
    padding: 10px;
}
.p-\[11px\] {
    padding: 11px;
}
.p-\[14px\] {
    padding: 14px;
}
.p-\[15px_18px\] {
    padding: 15px 18px;
}
.p-\[18px\] {
    padding: 18px;
}
.p-\[1px\] {
    padding: 1px;
}
.p-\[26px\] {
    padding: 26px;
}
.p-\[34px_38px\] {
    padding: 34px 38px;
}
.p-\[7px\] {
    padding: 7px;
}
.p-\[var\(--aisf-space-4\)\] {
    padding: var(--aisf-space-4);
}
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}
.px-0\.5 {
    padding-left: 0.125rem;
    padding-right: 0.125rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.px-\[1\.125rem\] {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
}
.px-\[10px\] {
    padding-left: 10px;
    padding-right: 10px;
}
.px-\[11px\] {
    padding-left: 11px;
    padding-right: 11px;
}
.px-\[13px\] {
    padding-left: 13px;
    padding-right: 13px;
}
.px-\[14px\] {
    padding-left: 14px;
    padding-right: 14px;
}
.px-\[18px\] {
    padding-left: 18px;
    padding-right: 18px;
}
.px-\[5px\] {
    padding-left: 5px;
    padding-right: 5px;
}
.px-\[6px\] {
    padding-left: 6px;
    padding-right: 6px;
}
.px-\[7px\] {
    padding-left: 7px;
    padding-right: 7px;
}
.px-\[8px\] {
    padding-left: 8px;
    padding-right: 8px;
}
.px-\[9px\] {
    padding-left: 9px;
    padding-right: 9px;
}
.px-\[var\(--aisf-space-3\)\] {
    padding-left: var(--aisf-space-3);
    padding-right: var(--aisf-space-3);
}
.py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-\[0\.0625rem\] {
    padding-top: 0.0625rem;
    padding-bottom: 0.0625rem;
}
.py-\[0\.1875rem\] {
    padding-top: 0.1875rem;
    padding-bottom: 0.1875rem;
}
.py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px;
}
.py-\[11px\] {
    padding-top: 11px;
    padding-bottom: 11px;
}
.py-\[13px\] {
    padding-top: 13px;
    padding-bottom: 13px;
}
.py-\[14px\] {
    padding-top: 14px;
    padding-bottom: 14px;
}
.py-\[1px\] {
    padding-top: 1px;
    padding-bottom: 1px;
}
.py-\[22px\] {
    padding-top: 22px;
    padding-bottom: 22px;
}
.py-\[26px\] {
    padding-top: 26px;
    padding-bottom: 26px;
}
.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px;
}
.py-\[3px\] {
    padding-top: 3px;
    padding-bottom: 3px;
}
.py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px;
}
.py-\[6px\] {
    padding-top: 6px;
    padding-bottom: 6px;
}
.py-\[7px\] {
    padding-top: 7px;
    padding-bottom: 7px;
}
.py-\[8px\] {
    padding-top: 8px;
    padding-bottom: 8px;
}
.py-\[9px\] {
    padding-top: 9px;
    padding-bottom: 9px;
}
.py-px {
    padding-top: 1px;
    padding-bottom: 1px;
}
.pb-1 {
    padding-bottom: 0.25rem;
}
.pb-1\.5 {
    padding-bottom: 0.375rem;
}
.pb-12 {
    padding-bottom: 3rem;
}
.pb-14 {
    padding-bottom: 3.5rem;
}
.pb-2 {
    padding-bottom: 0.5rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pb-\[14px\] {
    padding-bottom: 14px;
}
.pb-\[18px\] {
    padding-bottom: 18px;
}
.pb-\[6px\] {
    padding-bottom: 6px;
}
.pl-2\.5 {
    padding-left: 0.625rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pl-5 {
    padding-left: 1.25rem;
}
.pl-6 {
    padding-left: 1.5rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pl-9 {
    padding-left: 2.25rem;
}
.pl-\[34px\] {
    padding-left: 34px;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pr-10 {
    padding-right: 2.5rem;
}
.pr-2 {
    padding-right: 0.5rem;
}
.pr-3 {
    padding-right: 0.75rem;
}
.pr-4 {
    padding-right: 1rem;
}
.pr-8 {
    padding-right: 2rem;
}
.pr-9 {
    padding-right: 2.25rem;
}
.pt-0 {
    padding-top: 0px;
}
.pt-0\.5 {
    padding-top: 0.125rem;
}
.pt-1 {
    padding-top: 0.25rem;
}
.pt-16 {
    padding-top: 4rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pt-2\.5 {
    padding-top: 0.625rem;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pt-3\.5 {
    padding-top: 0.875rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-5 {
    padding-top: 1.25rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pt-\[13px\] {
    padding-top: 13px;
}
.pt-\[18px\] {
    padding-top: 18px;
}
.pt-\[6px\] {
    padding-top: 6px;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.align-baseline {
    vertical-align: baseline;
}
.align-top {
    vertical-align: top;
}
.align-middle {
    vertical-align: middle;
}
.font-\[\"JetBrains_Mono\"\2c monospace\] {
    font-family: "JetBrains Mono",monospace;
}
.font-\[\'JetBrains_Mono\'\2c monospace\] {
    font-family: 'JetBrains Mono',monospace;
}
.font-\[\'Plus_Jakarta_Sans\'\2c sans-serif\] {
    font-family: 'Plus Jakarta Sans',sans-serif;
}
.font-mono {
    font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace;
}
.font-sans {
    font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif;
}
.\!text-\[10px\] {
    font-size: 10px !important;
}
.\!text-\[11\.5px\] {
    font-size: 11.5px !important;
}
.\!text-\[12px\] {
    font-size: 12px !important;
}
.\!text-\[13px\] {
    font-size: 13px !important;
}
.\!text-\[14px\] {
    font-size: 14px !important;
}
.\!text-\[22px\] {
    font-size: 22px !important;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-\[0\.85em\] {
    font-size: 0.85em;
}
.text-\[10\.5px\] {
    font-size: 10.5px;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11\.5px\] {
    font-size: 11.5px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[12\.5px\] {
    font-size: 12.5px;
}
.text-\[12px\] {
    font-size: 12px;
}
.text-\[13\.5px\] {
    font-size: 13.5px;
}
.text-\[13px\] {
    font-size: 13px;
}
.text-\[14px\] {
    font-size: 14px;
}
.text-\[15\.5px\] {
    font-size: 15.5px;
}
.text-\[15px\] {
    font-size: 15px;
}
.text-\[16px\] {
    font-size: 16px;
}
.text-\[17px\] {
    font-size: 17px;
}
.text-\[18px\] {
    font-size: 18px;
}
.text-\[19px\] {
    font-size: 19px;
}
.text-\[22px\] {
    font-size: 22px;
}
.text-\[24px\] {
    font-size: 24px;
}
.text-\[25px\] {
    font-size: 25px;
}
.text-\[26px\] {
    font-size: 26px;
}
.text-\[27px\] {
    font-size: 27px;
}
.text-\[28px\] {
    font-size: 28px;
}
.text-\[8px\] {
    font-size: 8px;
}
.text-\[9\.5px\] {
    font-size: 9.5px;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-\[length\:inherit\] {
    font-size: inherit;
}
.text-\[length\:var\(--aisf-font-size-11\)\] {
    font-size: var(--aisf-font-size-11);
}
.text-\[length\:var\(--aisf-font-size-12\)\] {
    font-size: var(--aisf-font-size-12);
}
.text-\[length\:var\(--aisf-font-size-13\)\] {
    font-size: var(--aisf-font-size-13);
}
.text-\[length\:var\(--aisf-font-size-14\)\] {
    font-size: var(--aisf-font-size-14);
}
.text-\[length\:var\(--aisf-font-size-15\)\] {
    font-size: var(--aisf-font-size-15);
}
.text-\[length\:var\(--aisf-font-size-16\)\] {
    font-size: var(--aisf-font-size-16);
}
.text-\[length\:var\(--aisf-font-size-17\)\] {
    font-size: var(--aisf-font-size-17);
}
.text-\[length\:var\(--aisf-font-size-18\)\] {
    font-size: var(--aisf-font-size-18);
}
.text-\[length\:var\(--aisf-font-size-20\)\] {
    font-size: var(--aisf-font-size-20);
}
.text-\[length\:var\(--aisf-font-size-22\)\] {
    font-size: var(--aisf-font-size-22);
}
.text-\[length\:var\(--aisf-font-size-24\)\] {
    font-size: var(--aisf-font-size-24);
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-\[500\] {
    font-weight: 500;
}
.font-\[var\(--aisf-font-mono\)\] {
    font-weight: var(--aisf-font-mono);
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.italic {
    font-style: italic;
}
.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
    line-height: 1rem;
}
.leading-5 {
    line-height: 1.25rem;
}
.leading-\[1\.25\] {
    line-height: 1.25;
}
.leading-\[1\.55\] {
    line-height: 1.55;
}
.leading-\[1\.5\] {
    line-height: 1.5;
}
.leading-\[1\.6\] {
    line-height: 1.6;
}
.leading-\[14px\] {
    line-height: 14px;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-snug {
    line-height: 1.375;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-\[-0\.01em\] {
    letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
    letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
    letter-spacing: -0.03em;
}
.tracking-\[\.04em\] {
    letter-spacing: .04em;
}
.tracking-\[0\.03em\] {
    letter-spacing: 0.03em;
}
.tracking-\[0\.04em\] {
    letter-spacing: 0.04em;
}
.tracking-\[0\.05em\] {
    letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
    letter-spacing: 0.06em;
}
.tracking-\[0\.12em\] {
    letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
    letter-spacing: 0.15em;
}
.tracking-\[0\.18em\] {
    letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
    letter-spacing: 0.1em;
}
.tracking-\[var\(--aisf-letter-spacing-tight\)\] {
    letter-spacing: var(--aisf-letter-spacing-tight);
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.text-\[var\(--aisf-font-size-11\)\] {
    color: var(--aisf-font-size-11);
}
.text-\[var\(--aisf-font-size-12\)\] {
    color: var(--aisf-font-size-12);
}
.text-\[var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.text-\[var\(--aisf-status-blue-fg\)\] {
    color: var(--aisf-status-blue-fg);
}
.text-\[var\(--aisf-status-gray-fg\)\] {
    color: var(--aisf-status-gray-fg);
}
.text-\[var\(--aisf-status-green-fg\)\] {
    color: var(--aisf-status-green-fg);
}
.text-\[var\(--aisf-status-orange-fg\)\] {
    color: var(--aisf-status-orange-fg);
}
.text-\[var\(--aisf-status-purple-fg\)\] {
    color: var(--aisf-status-purple-fg);
}
.text-\[var\(--aisf-status-red-fg\)\] {
    color: var(--aisf-status-red-fg);
}
.text-\[var\(--aisf-status-teal-fg\)\] {
    color: var(--aisf-status-teal-fg);
}
.text-\[var\(--aisf-success\)\] {
    color: var(--aisf-success);
}
.text-\[var\(--aisf-text\)\] {
    color: var(--aisf-text);
}
.text-\[var\(--aisf-text-label\)\] {
    color: var(--aisf-text-label);
}
.text-\[var\(--aisf-text-muted\)\] {
    color: var(--aisf-text-muted);
}
.text-\[var\(--aisf-text-subtle\)\] {
    color: var(--aisf-text-subtle);
}
.text-\[var\(--aisf-warning\)\] {
    color: var(--aisf-warning);
}
.text-\[var\(--wo-border\)\] {
    color: var(--wo-border);
}
.text-\[var\(--wo-danger\)\] {
    color: var(--wo-danger);
}
.text-\[var\(--wo-fg\)\] {
    color: var(--wo-fg);
}
.text-\[var\(--wo-fg2\)\] {
    color: var(--wo-fg2);
}
.text-\[var\(--wo-fg3\)\] {
    color: var(--wo-fg3);
}
.text-\[var\(--wo-info\)\] {
    color: var(--wo-info);
}
.text-\[var\(--wo-primary\)\] {
    color: var(--wo-primary);
}
.text-\[var\(--wo-success\)\] {
    color: var(--wo-success);
}
.text-\[var\(--wo-warning\)\] {
    color: var(--wo-warning);
}
.text-accent-foreground {
    color: hsl(var(--accent-foreground));
}
.text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-border {
    color: hsl(var(--border));
}
.text-card-foreground {
    color: hsl(var(--card-foreground));
}
.text-current {
    color: currentColor;
}
.text-cyan-700 {
    --tw-text-opacity: 1;
    color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive {
    color: hsl(var(--destructive));
}
.text-destructive-foreground {
    color: hsl(var(--destructive-foreground));
}
.text-emerald-400 {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground {
    color: hsl(var(--foreground));
}
.text-foreground\/50 {
    color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70 {
    color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/90 {
    color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-700 {
    --tw-text-opacity: 1;
    color: rgb(162 28 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-info {
    color: hsl(var(--info));
}
.text-inherit {
    color: inherit;
}
.text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/30 {
    color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40 {
    color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50 {
    color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60 {
    color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
    color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/90 {
    color: hsl(var(--muted-foreground) / 0.9);
}
.text-neutral-200 {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
    --tw-text-opacity: 1;
    color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
    --tw-text-opacity: 1;
    color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-800 {
    --tw-text-opacity: 1;
    color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
    color: hsl(var(--popover-foreground));
}
.text-primary {
    color: hsl(var(--primary));
}
.text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.text-purple-700 {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800 {
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
    color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
    color: var(--sidebar-foreground);
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-success {
    color: hsl(var(--success));
}
.text-violet-700 {
    --tw-text-opacity: 1;
    color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-warning {
    color: hsl(var(--warning));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/90 {
    color: rgb(255 255 255 / 0.9);
}
.text-yellow-700 {
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.line-through {
    text-decoration-line: line-through;
}
.no-underline {
    text-decoration-line: none;
}
.underline-offset-2 {
    text-underline-offset: 2px;
}
.underline-offset-4 {
    text-underline-offset: 4px;
}
.caret-foreground {
    caret-color: hsl(var(--foreground));
}
.accent-\[hsl\(var\(--primary\)\)\] {
    accent-color: hsl(var(--primary));
}
.accent-\[var\(--aisf-accent\)\] {
    accent-color: var(--aisf-accent);
}
.accent-\[var\(--wo-danger\)\] {
    accent-color: var(--wo-danger);
}
.accent-\[var\(--wo-primary\)\] {
    accent-color: var(--wo-primary);
}
.accent-\[var\(--wo-success\)\] {
    accent-color: var(--wo-success);
}
.opacity-0 {
    opacity: 0;
}
.opacity-100 {
    opacity: 1;
}
.opacity-20 {
    opacity: 0.2;
}
.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-80 {
    opacity: 0.8;
}
.opacity-90 {
    opacity: 0.9;
}
.opacity-\[var\(--aisf-disabled-opacity\)\] {
    opacity: var(--aisf-disabled-opacity);
}
.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-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[var\(--aisf-gradient-shadow\)\] {
    --tw-shadow-color: var(--aisf-gradient-shadow);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-lg\)\] {
    --tw-shadow-color: var(--aisf-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-md\)\] {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-sm\)\] {
    --tw-shadow-color: var(--aisf-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xl\)\] {
    --tw-shadow-color: var(--aisf-shadow-xl);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xs\)\] {
    --tw-shadow-color: var(--aisf-shadow-xs);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-lg\)\] {
    --tw-shadow-color: var(--wo-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-md\)\] {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-sm\)\] {
    --tw-shadow-color: var(--wo-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20 {
    --tw-shadow-color: hsl(var(--primary) / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline {
    outline-style: solid;
}
.ring-0 {
    --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);
}
.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-\[3px\] {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#fff\] {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-\[var\(--aisf-accent\)\] {
    --tw-ring-color: var(--aisf-accent);
}
.ring-\[var\(--aisf-bg\)\] {
    --tw-ring-color: var(--aisf-bg);
}
.ring-\[var\(--wo-danger\)\] {
    --tw-ring-color: var(--wo-danger);
}
.ring-\[var\(--wo-primary\)\] {
    --tw-ring-color: var(--wo-primary);
}
.ring-destructive\/40 {
    --tw-ring-color: hsl(var(--destructive) / 0.4);
}
.ring-primary {
    --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/20 {
    --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-offset-1 {
    --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
    --tw-ring-offset-width: 2px;
}
.ring-offset-\[var\(--aisf-bg\)\] {
    --tw-ring-offset-color: var(--aisf-bg);
}
.ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background));
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[clip-path\] {
    transition-property: clip-path;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[left\] {
    transition-property: left;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\] {
    transition-property: width;
    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-150 {
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.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);
}
.will-change-transform {
    will-change: transform;
}
@keyframes enter {
    from {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
.animate-in {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.fade-in-0 {
    --tw-enter-opacity: 0;
}
.zoom-in-95 {
    --tw-enter-scale: .95;
}
.duration-150 {
    animation-duration: 150ms;
}
.duration-200 {
    animation-duration: 200ms;
}
.duration-300 {
    animation-duration: 300ms;
}
.duration-500 {
    animation-duration: 500ms;
}
.ease-in-out {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\!running {
    animation-play-state: running !important;
}
.running {
    animation-play-state: running;
}
.paused {
    animation-play-state: paused;
}
.\[background\:var\(--aisf-gradient\)\] {
    background: var(--aisf-gradient);
}
.\[box-shadow\:0_0_0_1px_var\(--aisf-accent\)\] {
    box-shadow: 0 0 0 1px var(--aisf-accent);
}
.\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.\[box-shadow\:inset_0_-1px_0_var\(--aisf-border\)\] {
    box-shadow: inset 0 -1px 0 var(--aisf-border);
}
.\[box-shadow\:var\(--aisf-gradient-shadow\)\] {
    box-shadow: var(--aisf-gradient-shadow);
}
.\[box-shadow\:var\(--aisf-shadow-button-destructive\)\] {
    box-shadow: var(--aisf-shadow-button-destructive);
}
.\[box-shadow\:var\(--aisf-shadow-button-primary\)\] {
    box-shadow: var(--aisf-shadow-button-primary);
}
.\[box-shadow\:var\(--aisf-shadow-button-secondary\)\] {
    box-shadow: var(--aisf-shadow-button-secondary);
}
.\[color\:var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.\[font-weight\:inherit\] {
    font-weight: inherit;
}
.\[line-height\:inherit\] {
    line-height: inherit;
}
.\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
}
.\[scrollbar-gutter\:stable\] {
    scrollbar-gutter: stable;
}
body { margin: 0; background: var(--aisf-bg); color: var(--aisf-text); font-family: var(--aisf-font-ui); }
/* ── Animazioni streaming (portate da AISF) ─────────────────────────────── */
@keyframes typing-cursor { 0%, 50% { opacity: 0.6; } 50.01%, 100% { opacity: 0; } }
/* Cursore lampeggiante in coda all'ultimo blocco mentre il testo è in streaming. */
.streaming-text-active > .chat-prose > :last-child::after {
  content: '';
  display: inline-block;
  width: 0.5em;
  height: 1.05em;
  margin-left: 2px;
  background-color: hsl(var(--primary));
  opacity: 0.6;
  border-radius: 1px;
  animation: typing-cursor 0.9s step-end infinite;
  vertical-align: text-bottom;
}
/* ── Indicatore "sto pensando" (ThinkingMessage) — 3 dot pulsanti sfalsati ──────────────── */
@keyframes thinking-dot-pulse {
  0%, 80%, 100% { opacity: 0.25; transform: scale(0.85); }
  40% { opacity: 0.8; transform: scale(1.1); }
}
.thinking-dot { animation: thinking-dot-pulse 1.6s ease-in-out infinite; }
/* Sfondo superficie chat — replica FEDELE del monolite AISF (terzo giro, 2026-09-16).
   Le opacità "quasi-candide" introdotte in questo repo (solo `--foreground`, scala 20-240px,
   ferme) NON erano quelle del monolite: erano state riscritte, e male — l'utente l'ha segnalato
   dal vivo ("su vecchia architettura erano perfetti, dobbiamo replicare quelli") e il coordinatore
   l'ha verificato sul file sorgente. Fonte di verità, letta direttamente (non trascritta):
   `ai-solution-fabric-frontend/src/app/index.css` — le sei regole (`.chat-bg-atlas` 208-216,
   `.chat-bg-breeze` 218-226, `.chat-bg-linen` 228-236, `.chat-bg-tide` 238-246, `.chat-bg-graphite`
   248-256, `.chat-dot-grid` 267-276), i due filtri dark SEPARATI (le cinque varianti 258-265,
   `.chat-dot-grid` 278-281 — valori diversi fra loro, non un filtro unico), le due animazioni
   `chat-pattern-drift`/`chat-grain-float` (198-206). Quello che distingueva il monolite dalla
   riscrittura piatta: usa `--primary` (colore di marchio) oltre a `--foreground`, scala FINE
   (8-14px, non 20-240px), ed è ANIMATO (deriva lenta 30-40s) — non fermo.
   **`.chat-dot-grid` (Default) stavolta è incluso nella replica**, al contrario del giro
   precedente (dove era stato lasciato intoccato): decisione esplicita dell'utente, con la
   conseguenza accettata che l'aspetto della chat cambia anche per chi non apre mai le impostazioni.
   Unica differenza voluta rispetto alla fonte: **`!important` su ogni dichiarazione** — obbligatorio
   in questo repo perché sotto Module Federation l'ordine degli stylesheet a runtime non è
   garantito (il monolite non è federato, non gli serve); il monolite dichiara le keyframes dentro
   `@layer utilities` (Tailwind), qui sono fuori da un `@layer` come tutte le altre keyframes di
   questo file — `@layer` incide sull'ordine di cascata fra dichiarazioni concorrenti, non su come
   una `@keyframes` viene risolta per nome: nessuna differenza di resa. Nessun'altra differenza
   voluta: stessi gradienti, stesse dimensioni, stesse opacità, stesse animazioni. */
@keyframes chat-pattern-drift {
  0% { background-position: 0 0, 0 0, 4px 4px; }
  100% { background-position: 10px 10px, 8px 6px, 14px 14px; }
}
@keyframes chat-grain-float {
  0% { background-position: 0 0, 0 0, 0 0; }
  100% { background-position: 0 0, 10px 14px, 14px 10px; }
}
/* ── Default: dot grid animata, colore di marchio ────────────────────────────────────── */
.chat-dot-grid {
  background-color: hsl(var(--card)) !important;
  background-image:
    radial-gradient(circle, hsl(var(--primary) / 0.08) 0%, hsl(var(--primary) / 0.03) 1px, transparent 1.5px),
    radial-gradient(circle, hsl(var(--foreground) / 0.02) 0.35px, transparent 0.6px),
    linear-gradient(0deg, hsl(var(--foreground) / 0.01), hsl(var(--foreground) / 0.01)) !important;
  background-size: 12px 12px, 8px 8px, 100% 100% !important;
  background-position: 0 0, 0 0, 4px 4px !important;
  animation: chat-pattern-drift 30s ease-in-out infinite alternate !important;
}
/* ── Atlas ────────────────────────────────────────────────────────────────────────────── */
.chat-bg-atlas {
  background-color: hsl(var(--card)) !important;
  background-image:
    radial-gradient(circle, hsl(var(--primary) / 0.07) 0.8px, transparent 1px),
    radial-gradient(circle, hsl(var(--foreground) / 0.035) 0.45px, transparent 0.7px),
    linear-gradient(0deg, hsl(var(--foreground) / 0.012), hsl(var(--foreground) / 0.012)) !important;
  background-size: 13px 13px, 8px 8px, 100% 100% !important;
  animation: chat-pattern-drift 30s ease-in-out infinite alternate !important;
}
/* ── Breeze ───────────────────────────────────────────────────────────────────────────── */
.chat-bg-breeze {
  background-color: hsl(var(--card)) !important;
  background-image:
    radial-gradient(circle at 14% 24%, hsl(var(--primary) / 0.05) 0 11%, transparent 34%),
    radial-gradient(circle, hsl(var(--foreground) / 0.03) 0.5px, transparent 0.8px),
    repeating-linear-gradient(140deg, hsl(var(--foreground) / 0.02) 0 1px, transparent 1px 12px) !important;
  background-size: auto, 10px 10px, auto !important;
  animation: chat-grain-float 34s linear infinite !important;
}
/* ── Linen ────────────────────────────────────────────────────────────────────────────── */
.chat-bg-linen {
  background-color: hsl(var(--card)) !important;
  background-image:
    repeating-linear-gradient(90deg, hsl(var(--foreground) / 0.022) 0 1px, transparent 1px 10px),
    repeating-linear-gradient(0deg, hsl(var(--foreground) / 0.018) 0 1px, transparent 1px 12px),
    radial-gradient(circle, hsl(var(--primary) / 0.03) 0.6px, transparent 0.9px) !important;
  background-size: auto, auto, 14px 14px !important;
  animation: chat-pattern-drift 40s ease-in-out infinite alternate !important;
}
/* ── Tide ─────────────────────────────────────────────────────────────────────────────── */
.chat-bg-tide {
  background-color: hsl(var(--card)) !important;
  background-image:
    radial-gradient(circle at 22% 78%, hsl(var(--primary) / 0.08) 0 10%, transparent 36%),
    repeating-radial-gradient(circle at 30% 30%, hsl(var(--foreground) / 0.028) 0 1.8px, transparent 1.8px 10px),
    linear-gradient(0deg, hsl(var(--foreground) / 0.01), hsl(var(--foreground) / 0.01)) !important;
  background-size: auto, auto, 100% 100% !important;
  animation: chat-grain-float 36s ease-in-out infinite alternate !important;
}
/* ── Graphite ─────────────────────────────────────────────────────────────────────────── */
.chat-bg-graphite {
  background-color: hsl(var(--card)) !important;
  background-image:
    repeating-linear-gradient(135deg, hsl(var(--foreground) / 0.026) 0 1px, transparent 1px 9px),
    radial-gradient(circle, hsl(var(--foreground) / 0.03) 0.55px, transparent 0.8px),
    linear-gradient(0deg, hsl(var(--foreground) / 0.012), hsl(var(--foreground) / 0.012)) !important;
  background-size: auto, 11px 11px, 100% 100% !important;
  animation: chat-pattern-drift 32s ease-in-out infinite alternate !important;
}
/* Dark mode: due filtri SEPARATI, come nel monolite (non un filtro unico per tutte e sei). */
.dark .chat-bg-atlas,
.dark .chat-bg-breeze,
.dark .chat-bg-linen,
.dark .chat-bg-tide,
.dark .chat-bg-graphite {
  background-color: hsl(var(--card)) !important;
  filter: saturate(0.75) brightness(0.94) !important;
}
.dark .chat-dot-grid {
  background-color: hsl(var(--card)) !important;
  filter: saturate(0.82) brightness(0.92) !important;
}
/* ── Transizione stato vuoto ⇄ conversazione (Part 1) — CSS puro, nessuna dipendenza da
   framer-motion: un ingresso leggero quando la lista messaggi/composer agganciato compaiono. ── */
@keyframes chat-fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes chat-dock-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Apertura pannello prompt (ChatSuggestions): stesso pattern delle due sopra, direzione
   invertita (il pannello compare SOTTO la riga chip, quindi entra scendendo leggermente
   dall'alto, non risalendo dal basso). Sostituisce l'uso di framer-motion in quel componente
   (mai altrimenti usato in questo bundle: 128KB/42.7KB gzip per una tendina). */
@keyframes chat-suggestions-panel-in {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.animate-chat-fade-in { animation: chat-fade-in 0.25s ease-out both; }
.animate-chat-dock-in { animation: chat-dock-in 0.25s ease-out both; }
.animate-chat-suggestions-panel-in { animation: chat-suggestions-panel-in 0.25s ease-out both; }
/* Le sei classi di sfondo chat (.chat-dot-grid + le 5 varianti) sono ANIMATE (`chat-pattern-drift`/
   `chat-grain-float`, 30-40s, infinite — replica fedele del monolite, vedi il commento sopra
   `.chat-dot-grid`): stanno per questo anche in questo elenco, altrimenti chi ha "riduci
   animazioni" attivo nel sistema operativo vedrebbe comunque lo sfondo muoversi. Chi aggiunge una
   SETTIMA classe animata in questo file deve aggiungerla anche qui. */
@media (prefers-reduced-motion: reduce) {
  .thinking-dot,
  .animate-chat-fade-in,
  .animate-chat-dock-in,
  .animate-chat-suggestions-panel-in,
  .streaming-text-active > .chat-prose > :last-child::after,
  .chat-dot-grid,
  .chat-bg-atlas,
  .chat-bg-breeze,
  .chat-bg-linen,
  .chat-bg-tide,
  .chat-bg-graphite {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.file\:mr-3::file-selector-button {
    margin-right: 0.75rem;
}
.file\:rounded-md::file-selector-button {
    border-radius: calc(var(--radius) - 2px);
}
.file\:border::file-selector-button {
    border-width: 1px;
}
.file\:border-0::file-selector-button {
    border-width: 0px;
}
.file\:border-border::file-selector-button {
    border-color: hsl(var(--border));
}
.file\:bg-muted::file-selector-button {
    background-color: hsl(var(--muted));
}
.file\:bg-transparent::file-selector-button {
    background-color: transparent;
}
.file\:px-3::file-selector-button {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.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.25rem;
}
.file\:font-medium::file-selector-button {
    font-weight: 500;
}
.file\:text-foreground::file-selector-button {
    color: hsl(var(--foreground));
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::-moz-placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::-moz-placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-muted-foreground::-moz-placeholder {
    color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
    color: hsl(var(--muted-foreground));
}
.last\:flex-none:last-child {
    flex: none;
}
.last\:border-0:last-child {
    border-width: 0px;
}
.last\:border-b-0:last-child {
    border-bottom-width: 0px;
}
.focus-within\:border-primary\/50:focus-within {
    border-color: hsl(var(--primary) / 0.5);
}
.focus-within\:bg-background:focus-within {
    background-color: hsl(var(--background));
}
.focus-within\:opacity-100:focus-within {
    opacity: 1;
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-\[1px\]:hover {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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\:border-\[var\(--aisf-accent\)\]:hover {
    border-color: var(--aisf-accent);
}
.hover\:border-\[var\(--aisf-border-strong\)\]:hover {
    border-color: var(--aisf-border-strong);
}
.hover\:border-\[var\(--wo-border2\)\]:hover {
    border-color: var(--wo-border2);
}
.hover\:border-\[var\(--wo-danger\)\]:hover {
    border-color: var(--wo-danger);
}
.hover\:border-\[var\(--wo-primary\)\]:hover {
    border-color: var(--wo-primary);
}
.hover\:border-border:hover {
    border-color: hsl(var(--border));
}
.hover\:border-foreground\/30:hover {
    border-color: hsl(var(--foreground) / 0.3);
}
.hover\:border-primary\/40:hover {
    border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-ring:hover {
    border-color: hsl(var(--ring));
}
.hover\:bg-\[var\(--aisf-accent\)\]:hover {
    background-color: var(--aisf-accent);
}
.hover\:bg-\[var\(--aisf-accent-hover\)\]:hover {
    background-color: var(--aisf-accent-hover);
}
.hover\:bg-\[var\(--aisf-bg-hover\)\]:hover {
    background-color: var(--aisf-bg-hover);
}
.hover\:bg-\[var\(--aisf-danger-hover\)\]:hover {
    background-color: var(--aisf-danger-hover);
}
.hover\:bg-\[var\(--aisf-danger-soft\)\]:hover {
    background-color: var(--aisf-danger-soft);
}
.hover\:bg-\[var\(--wo-border\)\]:hover {
    background-color: var(--wo-border);
}
.hover\:bg-\[var\(--wo-danger-soft\)\]:hover {
    background-color: var(--wo-danger-soft);
}
.hover\:bg-\[var\(--wo-muted\)\]:hover {
    background-color: var(--wo-muted);
}
.hover\:bg-\[var\(--wo-primary-soft\)\]:hover {
    background-color: var(--wo-primary-soft);
}
.hover\:bg-accent:hover {
    background-color: hsl(var(--accent));
}
.hover\:bg-background\/60:hover {
    background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-destructive\/10:hover {
    background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover {
    background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
    background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover {
    background-color: hsl(var(--muted));
}
.hover\:bg-muted\/20:hover {
    background-color: hsl(var(--muted) / 0.2);
}
.hover\:bg-muted\/30:hover {
    background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover {
    background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover {
    background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover {
    background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/70:hover {
    background-color: hsl(var(--muted) / 0.7);
}
.hover\:bg-neutral-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary\/80:hover {
    background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
    background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
    background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover {
    background-color: hsl(var(--secondary) / 0.8);
}
.hover\:text-\[var\(--aisf-accent\)\]:hover {
    color: var(--aisf-accent);
}
.hover\:text-\[var\(--aisf-danger\)\]:hover {
    color: var(--aisf-danger);
}
.hover\:text-\[var\(--aisf-text\)\]:hover {
    color: var(--aisf-text);
}
.hover\:text-\[var\(--wo-danger\)\]:hover {
    color: var(--wo-danger);
}
.hover\:text-\[var\(--wo-fg\)\]:hover {
    color: var(--wo-fg);
}
.hover\:text-\[var\(--wo-primary\)\]:hover {
    color: var(--wo-primary);
}
.hover\:text-accent-foreground:hover {
    color: hsl(var(--accent-foreground));
}
.hover\:text-destructive:hover {
    color: hsl(var(--destructive));
}
.hover\:text-foreground:hover {
    color: hsl(var(--foreground));
}
.hover\:text-neutral-100:hover {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
    text-decoration-line: underline;
}
.hover\:opacity-100:hover {
    opacity: 1;
}
.hover\:opacity-70:hover {
    opacity: 0.7;
}
.hover\:opacity-80:hover {
    opacity: 0.8;
}
.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-\[var\(--aisf-shadow-md\)\]:hover {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-\[var\(--wo-shadow-md\)\]:hover {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:brightness-95:hover {
    --tw-brightness: brightness(.95);
    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);
}
.hover\:\[box-shadow\:var\(--aisf-gradient-shadow-hover\)\]:hover {
    box-shadow: var(--aisf-gradient-shadow-hover);
}
.focus\:border-\[var\(--aisf-accent\)\]:focus {
    border-color: var(--aisf-accent);
}
.focus\:border-\[var\(--aisf-danger\)\]:focus {
    border-color: var(--aisf-danger);
}
.focus\:border-\[var\(--wo-primary\)\]:focus {
    border-color: var(--wo-primary);
}
.focus\:border-destructive:focus {
    border-color: hsl(var(--destructive));
}
.focus\:border-ring:focus {
    border-color: hsl(var(--ring));
}
.focus\:bg-accent:focus {
    background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus {
    color: hsl(var(--accent-foreground));
}
.focus\:opacity-100:focus {
    opacity: 1;
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-1:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[var\(--wo-primary\)\]:focus {
    --tw-ring-color: var(--wo-primary);
}
.focus\:ring-ring:focus {
    --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-ring\/30:focus {
    --tw-ring-color: hsl(var(--ring) / 0.3);
}
.focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-1:focus {
    --tw-ring-offset-width: 1px;
}
.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}
.focus\:\[box-shadow\:0_0_0_2px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 2px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-danger-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-danger-soft);
}
.focus\:\[box-shadow\:none\]:focus {
    box-shadow: none;
}
.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
    outline-style: solid;
}
.focus-visible\:outline-1:focus-visible {
    outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
    outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
}
.focus-visible\:outline-offset-\[-2px\]:focus-visible {
    outline-offset: -2px;
}
.focus-visible\:outline-\[var\(--aisf-accent\)\]:focus-visible {
    outline-color: var(--aisf-accent);
}
.focus-visible\:outline-neutral-400:focus-visible {
    outline-color: #a3a3a3;
}
.focus-visible\:outline-primary:focus-visible {
    outline-color: hsl(var(--primary));
}
.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-\[var\(--aisf-accent\)\]:focus-visible {
    --tw-ring-color: var(--aisf-accent);
}
.focus-visible\:ring-primary\/40:focus-visible {
    --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus-visible\:ring-ring:focus-visible {
    --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-ring\/40:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.4);
}
.focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.5);
}
.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
    --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus-visible {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.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));
}
.active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active {
    cursor: grabbing;
}
.disabled\:pointer-events-none:disabled {
    pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.disabled\:opacity-40:disabled {
    opacity: 0.4;
}
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.disabled\:opacity-55:disabled {
    opacity: 0.55;
}
.disabled\:opacity-60:disabled {
    opacity: 0.6;
}
.disabled\:opacity-70:disabled {
    opacity: 0.7;
}
.disabled\:opacity-\[var\(--aisf-disabled-opacity\)\]:disabled {
    opacity: var(--aisf-disabled-opacity);
}
.disabled\:shadow-none:disabled {
    --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);
}
.disabled\:hover\:bg-transparent:hover:disabled {
    background-color: transparent;
}
.disabled\:hover\:text-muted-foreground\/60:hover:disabled {
    color: hsl(var(--muted-foreground) / 0.6);
}
.disabled\:active\:scale-100:active:disabled {
    --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));
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.group:hover .group-hover\:bg-muted {
    background-color: hsl(var(--muted));
}
.group:hover .group-hover\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
.group:focus .group-focus\:opacity-100 {
    opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
    border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
    border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
    background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
    background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
    background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
    color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
    border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
    background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
    color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
    --tw-text-opacity: 1;
    color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
    --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
    --tw-ring-offset-color: #dc2626;
}
.peer:checked ~ .peer-checked\:border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.peer:checked ~ .peer-checked\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.peer:focus-visible ~ .peer-focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
    cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
    opacity: 0.7;
}
.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) {
    cursor: not-allowed;
}
.has-\[\:disabled\]\:opacity-\[var\(--aisf-disabled-opacity\)\]:has(:disabled) {
    opacity: var(--aisf-disabled-opacity);
}
.group:has(:checked) .group-has-\[\:checked\]\:left-auto {
    left: auto;
}
.group:has(:checked) .group-has-\[\:checked\]\:right-\[0\.125rem\] {
    right: 0.125rem;
}
.group:has(:checked) .group-has-\[\:checked\]\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.group:has(:focus-visible) .group-has-\[\:focus-visible\]\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
    --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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --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));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --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));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-indigo-500[data-state="checked"] {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: hsl(var(--primary));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: hsl(var(--accent));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: hsl(var(--input));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: hsl(var(--muted-foreground));
}
.data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 0.5;
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
    --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);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
    --tw-exit-opacity: 0.8;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
    --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
    --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
    --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
    --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
    --tw-enter-translate-y: -100%;
}
@media (prefers-reduced-motion: no-preference) {
    .motion-safe\: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));
    }
    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
    .motion-safe\:animate-spin {
        animation: spin 1s linear infinite;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-\[width\] {
        transition-property: width;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:transition-all {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-transform {
        transition-property: transform;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:duration-200 {
        transition-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        transition-duration: 300ms;
    }
    .motion-safe\:ease-out {
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:duration-200 {
        animation-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        animation-duration: 300ms;
    }
    .motion-safe\:ease-out {
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:data-\[state\=open\]\:animate-in[data-state="open"] {
        animation-name: enter;
        animation-duration: 150ms;
        --tw-enter-opacity: initial;
        --tw-enter-scale: initial;
        --tw-enter-rotate: initial;
        --tw-enter-translate-x: initial;
        --tw-enter-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:animate-out[data-state="closed"] {
        animation-name: exit;
        animation-duration: 150ms;
        --tw-exit-opacity: initial;
        --tw-exit-scale: initial;
        --tw-exit-rotate: initial;
        --tw-exit-translate-x: initial;
        --tw-exit-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
        --tw-exit-opacity: 0;
    }
    .motion-safe\:data-\[state\=open\]\:fade-in-0[data-state="open"] {
        --tw-enter-opacity: 0;
    }
    .motion-safe\:data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
        --tw-exit-scale: .95;
    }
    .motion-safe\:data-\[state\=open\]\:zoom-in-95[data-state="open"] {
        --tw-enter-scale: .95;
    }
    .motion-safe\:data-\[side\=bottom\]\:slide-in-from-top-1[data-side="bottom"] {
        --tw-enter-translate-y: -0.25rem;
    }
    .motion-safe\:data-\[side\=left\]\:slide-in-from-right-1[data-side="left"] {
        --tw-enter-translate-x: 0.25rem;
    }
    .motion-safe\:data-\[side\=right\]\:slide-in-from-left-1[data-side="right"] {
        --tw-enter-translate-x: -0.25rem;
    }
    .motion-safe\:data-\[side\=top\]\:slide-in-from-bottom-1[data-side="top"] {
        --tw-enter-translate-y: 0.25rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .motion-reduce\:animate-none {
        animation: none;
    }
    .motion-reduce\:transition-none {
        transition-property: none;
    }
    .motion-reduce\:duration-0 {
        transition-duration: 0s;
        animation-duration: 0s;
    }
}
.dark\:border-amber-800\/40:is(.dark *) {
    border-color: rgb(146 64 14 / 0.4);
}
.dark\:border-blue-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-destructive:is(.dark *) {
    border-color: hsl(var(--destructive));
}
.dark\:bg-\[var\(--aisf-neutral-0\)\]:is(.dark *) {
    background-color: var(--aisf-neutral-0);
}
.dark\:bg-amber-900\/20:is(.dark *) {
    background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-950\/30:is(.dark *) {
    background-color: rgb(69 26 3 / 0.3);
}
.dark\:bg-blue-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950\/20:is(.dark *) {
    background-color: rgb(23 37 84 / 0.2);
}
.dark\:bg-blue-950\/30:is(.dark *) {
    background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-cyan-950\/30:is(.dark *) {
    background-color: rgb(8 51 68 / 0.3);
}
.dark\:bg-fuchsia-950\/30:is(.dark *) {
    background-color: rgb(74 4 78 / 0.3);
}
.dark\:bg-green-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900\/30:is(.dark *) {
    background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-950\/30:is(.dark *) {
    background-color: rgb(5 46 22 / 0.3);
}
.dark\:bg-indigo-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-950\/30:is(.dark *) {
    background-color: rgb(80 7 36 / 0.3);
}
.dark\:bg-purple-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-950\/30:is(.dark *) {
    background-color: rgb(59 7 100 / 0.3);
}
.dark\:bg-violet-950\/30:is(.dark *) {
    background-color: rgb(46 16 101 / 0.3);
}
.dark\:text-amber-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:\[color\:var\(--aisf-neutral-900\)\]:is(.dark *) {
    color: var(--aisf-neutral-900);
}
@media (min-width: 360px) {
    .min-\[360px\]\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 640px) {
    .sm\:bottom-0 {
        bottom: 0px;
    }
    .sm\:right-0 {
        right: 0px;
    }
    .sm\:top-auto {
        top: auto;
    }
    .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .sm\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .sm\:block {
        display: block;
    }
    .sm\:inline {
        display: inline;
    }
    .sm\:w-44 {
        width: 11rem;
    }
    .sm\:w-64 {
        width: 16rem;
    }
    .sm\:w-\[480px\] {
        width: 480px;
    }
    .sm\:w-auto {
        width: auto;
    }
    .sm\:max-w-2xl {
        max-width: 42rem;
    }
    .sm\:max-w-\[75\%\] {
        max-width: 75%;
    }
    .sm\:max-w-lg {
        max-width: 32rem;
    }
    .sm\:max-w-md {
        max-width: 28rem;
    }
    .sm\:max-w-xl {
        max-width: 36rem;
    }
    .sm\:flex-1 {
        flex: 1 1 0%;
    }
    .sm\:basis-64 {
        flex-basis: 16rem;
    }
    .sm\:basis-auto {
        flex-basis: auto;
    }
    .sm\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .sm\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .sm\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .sm\:grid-cols-\[14rem_1fr_auto\] {
        grid-template-columns: 14rem 1fr auto;
    }
    .sm\:grid-cols-\[1fr_1fr_1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[5rem_1fr_1fr_auto\] {
        grid-template-columns: 5rem 1fr 1fr auto;
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:flex-col {
        flex-direction: column;
    }
    .sm\:flex-wrap {
        flex-wrap: wrap;
    }
    .sm\:items-start {
        align-items: flex-start;
    }
    .sm\:items-end {
        align-items: flex-end;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:justify-end {
        justify-content: flex-end;
    }
    .sm\:justify-between {
        justify-content: space-between;
    }
    .sm\:gap-0 {
        gap: 0px;
    }
    .sm\:gap-4 {
        gap: 1rem;
    }
    .sm\: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)));
    }
    .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
    }
    .sm\:rounded-lg {
        border-radius: var(--radius);
    }
    .sm\:p-6 {
        padding: 1.5rem;
    }
    .sm\:text-left {
        text-align: left;
    }
    .sm\:text-\[32px\] {
        font-size: 32px;
    }
    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
        --tw-enter-translate-y: 100%;
    }
}
@media (min-width: 768px) {
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:flex {
        display: flex;
    }
    .md\:max-w-\[420px\] {
        max-width: 420px;
    }
    .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-\[80px_1fr_1fr_auto\] {
        grid-template-columns: 80px 1fr 1fr auto;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
@media (min-width: 1024px) {
    .lg\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .lg\:block {
        display: block;
    }
    .lg\:flex {
        display: flex;
    }
    .lg\:hidden {
        display: none;
    }
    .lg\:w-\[54\%\] {
        width: 54%;
    }
    .lg\:max-w-\[420px\] {
        max-width: 420px;
    }
    .lg\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[1\.2fr_1fr\] {
        grid-template-columns: 1.2fr 1fr;
    }
    .lg\:grid-cols-\[1\.55fr_1fr\] {
        grid-template-columns: 1.55fr 1fr;
    }
    .lg\:grid-cols-\[1fr_auto_1fr\] {
        grid-template-columns: 1fr auto 1fr;
    }
    .lg\:grid-cols-\[340px_1fr\] {
        grid-template-columns: 340px 1fr;
    }
    .lg\:grid-cols-\[minmax\(220px\2c 1fr\)_minmax\(0\2c 3fr\)\] {
        grid-template-columns: minmax(220px,1fr) minmax(0,3fr);
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:gap-8 {
        gap: 2rem;
    }
    .lg\:p-11 {
        padding: 2.75rem;
    }
    .lg\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}
@media (min-width: 1280px) {
    .xl\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .xl\:grid {
        display: grid;
    }
    .xl\:hidden {
        display: none;
    }
    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.5fr\)\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);
    }
    .xl\:grid-cols-\[minmax\(200px\2c 1\.5fr\)_repeat\(3\2c minmax\(140px\2c 1fr\)\)\] {
        grid-template-columns: minmax(200px,1.5fr) repeat(3,minmax(140px,1fr));
    }
    .xl\:flex-col {
        flex-direction: column;
    }
    .xl\:items-end {
        align-items: flex-end;
    }
    .xl\:justify-start {
        justify-content: flex-start;
    }
    .xl\:gap-6 {
        gap: 1.5rem;
    }
    .xl\:border-t-0 {
        border-top-width: 0px;
    }
    .xl\:px-20 {
        padding-left: 5rem;
        padding-right: 5rem;
    }
    .xl\:pt-0 {
        padding-top: 0px;
    }
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
    padding-right: 0px;
}
.\[\&\>button\]\:w-auto>button {
    width: auto;
}
.\[\&\>button\]\:whitespace-nowrap>button {
    white-space: nowrap;
}
.\[\&\>button\]\:border-\[var\(--wo-border\)\]>button {
    border-color: var(--wo-border);
}
.\[\&\>button\]\:bg-\[var\(--wo-card\)\]>button {
    background-color: var(--wo-card);
}
.\[\&\>button\]\:text-\[var\(--wo-fg2\)\]>button {
    color: var(--wo-fg2);
}
.\[\&\>div\]\:\!block>div {
    display: block !important;
}
.\[\&\>span\]\:line-clamp-1>span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.\[\&\>span\]\:min-w-0>span {
    min-width: 0px;
}
.\[\&\>span\]\:truncate>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.peer:checked ~ .peer-checked\:\[\&\>span\]\:opacity-100>span {
    opacity: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
    --tw-translate-y: -3px;
    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));
}
.\[\&\>svg\]\:absolute>svg {
    position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
    left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
    top: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
    flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
    color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
    color: hsl(var(--foreground));
}
.peer:checked ~ .peer-checked\:\[\&\>svg\]\:opacity-100>svg {
    opacity: 1;
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
    padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
    border-bottom-width: 0px;
}
.\[\&_\[role\=option\]\]\:whitespace-normal [role=option] {
    white-space: normal;
}
.\[\&_\[role\=option\]\]\:break-all [role=option] {
    word-break: break-all;
}
.\[\&_p\]\:leading-relaxed p {
    line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
}
.\[\&_svg\]\:mx-auto svg {
    margin-left: auto;
    margin-right: auto;
}
.\[\&_svg\]\:size-4 svg {
    width: 1rem;
    height: 1rem;
}
.\[\&_svg\]\:h-auto svg {
    height: auto;
}
.\[\&_svg\]\:max-w-full svg {
    max-width: 100%;
}
.\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
    border-bottom-width: 1px;
}
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}/* Fabric Design System — Tokens */
/* See .claude/plans/typography-system/spec.md for naming rationale (--aisf- prefix mandatory) */
:root {
    /* Brand palette */
    --aisf-teal: #00CEC9;
    --aisf-deep: #00317D;
    --aisf-blue: #3551F2;
    --aisf-success: #01B62B;
    --aisf-surface-light: #F5FAFF;

    /* Brand gradient */
    --aisf-gradient: linear-gradient(135deg, var(--aisf-deep) 0%, var(--aisf-teal) 100%);
    --aisf-gradient-subtle: linear-gradient(135deg, rgba(0, 49, 125, 0.06) 0%, rgba(0, 206, 201, 0.06) 100%);
    --aisf-gradient-shadow: 0 2px 8px rgba(0, 206, 201, 0.25);
    --aisf-gradient-shadow-hover: 0 4px 12px rgba(0, 206, 201, 0.4);

    /* Neutral scale */
    --aisf-neutral-0: #FFFFFF;
    --aisf-neutral-50: #F7F9FC;
    --aisf-neutral-100: #EEF1F7;
    --aisf-neutral-150: #E4E8F0;
    --aisf-neutral-200: #D6DCE6;
    --aisf-neutral-300: #B8C0CE;
    --aisf-neutral-400: #8F98A8;
    --aisf-neutral-500: #6B7280;
    --aisf-neutral-600: #4B5563;
    --aisf-neutral-700: #333A47;
    --aisf-neutral-800: #1F242E;
    --aisf-neutral-850: #15191F;
    --aisf-neutral-900: #0C0F14;
    --aisf-neutral-950: #06080B;

    /* Semantic — LIGHT */
    --aisf-bg: var(--aisf-neutral-0);
    --aisf-bg-subtle: var(--aisf-neutral-50);
    --aisf-bg-muted: var(--aisf-neutral-100);
    --aisf-surface: var(--aisf-neutral-0);
    --aisf-surface-2: var(--aisf-neutral-50);
    --aisf-surface-3: var(--aisf-neutral-100);
    --aisf-border: var(--aisf-neutral-150);
    --aisf-border-strong: var(--aisf-neutral-200);
    --aisf-text: var(--aisf-neutral-900);
    --aisf-text-muted: var(--aisf-neutral-500);
    --aisf-text-subtle: var(--aisf-neutral-400);
    --aisf-text-label: var(--aisf-neutral-600);
    --aisf-accent: var(--aisf-blue);
    --aisf-accent-soft: rgba(53, 81, 242, 0.10);
    --aisf-warning: #D97706;
    --aisf-danger: #DC2626;
    --aisf-danger-soft: rgba(220, 38, 38, 0.4);

    /* Interactive states */
    --aisf-accent-hover: #2C44D9;
    --aisf-danger-hover: rgba(231, 102, 102, 0.4);;
    --aisf-bg-hover: var(--aisf-neutral-100);
    --aisf-bg-hover-accent: rgba(53, 81, 242, 0.08);

    /* Disabled */
    --aisf-disabled-opacity: 0.5;

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.4);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(53, 81, 242, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);

    /* Button secondary shadow */
    --aisf-shadow-button-secondary: 0 1px 2px rgba(12, 15, 20, 0.12);

    /* Button destructive shadow */
    --aisf-shadow-button-destructive: 0 1px 2px rgba(220, 38, 38, 0.25);

    /* Letter spacing */
    --aisf-letter-spacing-tight: 0.1px;

    /* Font Weights */
    --aisf-font-weight-light: 300;
    --aisf-font-weight-regular: 400;
    --aisf-font-weight-medium: 500;
    --aisf-font-weight-bold: 700;

    /* Type scale */
    --aisf-font-size-11: 0.6875rem;
    --aisf-font-size-12: 0.75rem;
    --aisf-font-size-13: 0.8125rem;
    --aisf-font-size-14: 0.875rem;
    --aisf-font-size-15: 0.9375rem;
    --aisf-font-size-16: 1rem;
    --aisf-font-size-17: 1.0625rem;
    --aisf-font-size-18: 1.125rem;
    --aisf-font-size-19: 1.1875rem;
    --aisf-font-size-20: 1.25rem;
    --aisf-font-size-22: 1.375rem;
    --aisf-font-size-24: 1.5rem;
    --aisf-font-size-26: 1.625rem;
    --aisf-font-size-28: 1.75rem;
    --aisf-font-size-30: 1.875rem;
    --aisf-font-size-32: 2rem;
    --aisf-font-size-34: 2.125rem;
    --aisf-font-size-48: 3rem;

    /* Radii */
    --aisf-radius-xs: 4px;
    --aisf-radius-sm: 6px;
    --aisf-radius-md: 8px;
    --aisf-radius-lg: 12px;
    --aisf-radius-xl: 16px;
    --aisf-radius-2xl: 22px;
    --aisf-radius-full: 999px;

    /* Shadow */
    --aisf-shadow-xs: 0 1px 2px rgba(12, 15, 20, 0.04);
    --aisf-shadow-sm: 0 1px 3px rgba(12, 15, 20, 0.06), 0 1px 2px rgba(12, 15, 20, 0.03);
    --aisf-shadow-md: 0 4px 12px rgba(12, 15, 20, 0.06), 0 2px 4px rgba(12, 15, 20, 0.04);
    --aisf-shadow-lg: 0 12px 32px rgba(12, 15, 20, 0.08), 0 4px 12px rgba(12, 15, 20, 0.04);
    --aisf-shadow-brand: 0 8px 24px rgba(53, 81, 242, 0.22);

    /* Spacing */
    --aisf-space-1: 0.25rem;
    --aisf-space-2: 0.5rem;
    --aisf-space-3: 0.75rem;
    --aisf-space-4: 1rem;
    --aisf-space-5: 1.25rem;
    --aisf-space-6: 1.5rem;
    --aisf-space-8: 2rem;
    --aisf-space-10: 2.5rem;
    --aisf-space-12: 3rem;

    /* Font stacks */
    --aisf-font-ui: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --aisf-font-display: 'Roboto Condensed', 'Roboto', -apple-system, sans-serif;
    --aisf-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;

    /* Status tag palette */
    --aisf-status-blue-fg:    #1E5BCE;
    --aisf-status-blue-bg:    #DCE7FA;

    --aisf-status-teal-fg:    #00857F;
    --aisf-status-teal-bg:    #CDF3F1;

    --aisf-status-purple-fg:  #6B4FBB;
    --aisf-status-purple-bg:  #E6DEFB;

    --aisf-status-green-fg:   #01802A;
    --aisf-status-green-bg:   #D5F1DC;

    --aisf-status-orange-fg:  #B45309;
    --aisf-status-orange-bg:  #FCE6CC;

    --aisf-status-red-fg:     #C03030;
    --aisf-status-red-bg:     #FBDADA;

    --aisf-status-gray-fg:    var(--aisf-neutral-600);
    --aisf-status-gray-bg:    var(--aisf-neutral-100);
}
.dark {
    --aisf-bg: var(--aisf-neutral-950);
    --aisf-bg-subtle: var(--aisf-neutral-900);
    --aisf-bg-muted: var(--aisf-neutral-850);
    --aisf-surface: #0F1319;
    --aisf-surface-2: #151A22;
    --aisf-surface-3: #1C222C;
    --aisf-border: rgba(255, 255, 255, 0.08);
    --aisf-border-strong: rgba(255, 255, 255, 0.14);
    --aisf-text: #ECEEF3;
    --aisf-text-muted: #9AA3B2;
    --aisf-text-subtle: #6B7383;
    --aisf-accent: #5970FF;
    --aisf-accent-soft: rgba(89, 112, 255, 0.16);
    --aisf-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
    --aisf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --aisf-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --aisf-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
    --aisf-shadow-brand: 0 8px 28px rgba(89, 112, 255, 0.35);

    /* Interactive states */
    --aisf-accent-hover: #6B82FF;
    --aisf-danger-hover: #EF4444;
    --aisf-bg-hover: var(--aisf-neutral-800);
    --aisf-bg-hover-accent: rgba(89, 112, 255, 0.18);

    /* Loading spinner */
    --aisf-loading-spinner-track: rgba(255, 255, 255, 0.3);

    /* Button primary shadow */
    --aisf-shadow-button-primary:
        0 1px 2px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    /* Status tag palette */
    --aisf-status-blue-fg:    #8FB0FF;
    --aisf-status-blue-bg:    rgba(53, 81, 242, 0.16);

    --aisf-status-teal-fg:    #5FE3DE;
    --aisf-status-teal-bg:    rgba(0, 206, 201, 0.16);

    --aisf-status-purple-fg:  #B7A3FF;
    --aisf-status-purple-bg:  rgba(107, 79, 187, 0.18);

    --aisf-status-green-fg:   #5FD683;
    --aisf-status-green-bg:   rgba(1, 182, 43, 0.16);

    --aisf-status-orange-fg:  #F4B266;
    --aisf-status-orange-bg:  rgba(217, 119, 6, 0.18);

    --aisf-status-red-fg:     #F08585;
    --aisf-status-red-bg:     rgba(220, 38, 38, 0.18);

    --aisf-status-gray-fg:    var(--aisf-neutral-300);
    --aisf-status-gray-bg:    rgba(255, 255, 255, 0.06);

    /* Skeleton shimmer — neutral-100/200 non ridefiniti nel dark portano a shimmer invisibile */
    --aisf-neutral-100: #2A3040;
    --aisf-neutral-200: #1E2535;
}
@keyframes aisf-ellipsis-wave {
  0%, 60%, 100% {
    transform: scale(1);
    background-color: var(--aisf-border-strong);
  }
  30% {
    transform: scale(1.4);
    background-color: var(--aisf-accent);
  }
}
.aisf-ellipsis-dot {
  animation: aisf-ellipsis-wave 1200ms ease-in-out infinite;
  will-change: transform, background-color;
}
@media (prefers-reduced-motion: reduce) {
  .aisf-ellipsis-dot {
    animation: none !important;
    background-color: var(--aisf-accent) !important;
  }
}
/* Slider — native range input */
.aisf-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  height: .375rem;
  cursor: pointer;
}
.aisf-slider:disabled {
  cursor: not-allowed;
  opacity: var(--aisf-disabled-opacity);
}
.aisf-slider::-webkit-slider-runnable-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-moz-range-track {
  height: 0.375rem;
  border-radius: 9999px;
}
.aisf-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  margin-top: -5px;
  cursor: pointer;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--aisf-neutral-0);
  border: 2px solid var(--aisf-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  -moz-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}
.aisf-slider:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.aisf-slider:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}
.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 2rem;
    padding-left: 2rem;
}
@media (min-width: 1400px) {
    .\!container {
        max-width: 1400px !important;
    }
    .container {
        max-width: 1400px;
    }
}
/* Shared base for all Fabric typography components */
.aisf-text-base {
        /* color rimosso: ora gestito dall'asse `variant` dei componenti Typography/Button */
        font-family: var(--aisf-font-ui);
        align-content: center;
    }
/* Shared form text styles */
.aisf-text-form {
        font-family: var(--aisf-font-ui);
    }
/* ──────────────────────────────────────────────────────────────────────
     Typography classes — derivate dalla slide "Typography · Roboto"
     (DSTypeArtboard in screens/design-system.jsx).
     Solo proprietà esplicitamente presenti nella sorgente; quelle non
     determinabili sono lasciate commentate senza valore.
     ────────────────────────────────────────────────────────────────────── */
.aisf-text-display {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-48);
        font-weight: 700;
        line-height: 1.05;
        /* letter-spacing: */
        /* text-transform: */
        /* text-decoration: */
        /* margin: */
        /* padding: */
    }
.aisf-text-title-1 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-34);
        font-weight: 600;
        line-height: 1.1;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-2 {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-28);
        font-weight: 600;
        line-height: 1.15;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-title-3 {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-22);
        font-weight: 600;
        line-height: 1.2;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-headline {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-17);
        font-weight: 600;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-body {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-15);
        font-weight: 400;
        line-height: 1.4;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-callout {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-13);
        font-weight: 500;
        line-height: 1.35;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-caption {
        font-family: var(--aisf-font-ui);
        font-size: var(--aisf-font-size-12);
        font-weight: 500;
        line-height: 1.3;
        /* letter-spacing: */
        /* text-transform: */
    }
.aisf-text-label {
        font-family: var(--aisf-font-display);
        font-size: var(--aisf-font-size-11);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.pointer-events-auto {
    pointer-events: auto;
}
.\!visible {
    visibility: visible !important;
}
.visible {
    visibility: visible;
}
.collapse {
    visibility: collapse;
}
.static {
    position: static;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.sticky {
    position: sticky;
}
.-inset-1 {
    inset: -0.25rem;
}
.inset-0 {
    inset: 0px;
}
.inset-x-0 {
    left: 0px;
    right: 0px;
}
.inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.-bottom-1 {
    bottom: -0.25rem;
}
.-right-0\.5 {
    right: -0.125rem;
}
.-right-10 {
    right: -2.5rem;
}
.-right-\[10px\] {
    right: -10px;
}
.-right-\[2px\] {
    right: -2px;
}
.-top-0\.5 {
    top: -0.125rem;
}
.-top-1 {
    top: -0.25rem;
}
.-top-10 {
    top: -2.5rem;
}
.-top-\[10px\] {
    top: -10px;
}
.-top-\[2px\] {
    top: -2px;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-6 {
    bottom: 1.5rem;
}
.left-0 {
    left: 0px;
}
.left-1\/2 {
    left: 50%;
}
.left-2 {
    left: 0.5rem;
}
.left-2\.5 {
    left: 0.625rem;
}
.left-3 {
    left: 0.75rem;
}
.left-\[0\.125rem\] {
    left: 0.125rem;
}
.left-\[11px\] {
    left: 11px;
}
.left-\[16px\] {
    left: 16px;
}
.left-\[2px\] {
    left: 2px;
}
.left-\[50\%\] {
    left: 50%;
}
.left-auto {
    left: auto;
}
.right-0 {
    right: 0px;
}
.right-0\.5 {
    right: 0.125rem;
}
.right-2 {
    right: 0.5rem;
}
.right-2\.5 {
    right: 0.625rem;
}
.right-3 {
    right: 0.75rem;
}
.right-4 {
    right: 1rem;
}
.right-6 {
    right: 1.5rem;
}
.top-0 {
    top: 0px;
}
.top-0\.5 {
    top: 0.125rem;
}
.top-1\/2 {
    top: 50%;
}
.top-2 {
    top: 0.5rem;
}
.top-4 {
    top: 1rem;
}
.top-\[2px\] {
    top: 2px;
}
.top-\[50\%\] {
    top: 50%;
}
.top-full {
    top: 100%;
}
.isolate {
    isolation: isolate;
}
.z-10 {
    z-index: 10;
}
.z-20 {
    z-index: 20;
}
.z-30 {
    z-index: 30;
}
.z-40 {
    z-index: 40;
}
.z-50 {
    z-index: 50;
}
.z-\[100\] {
    z-index: 100;
}
.z-\[1\] {
    z-index: 1;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-start-1 {
    grid-column-start: 1;
}
.row-start-1 {
    grid-row-start: 1;
}
.m-0 {
    margin: 0px;
}
.m-1 {
    margin: 0.25rem;
}
.-mx-1 {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
}
.mx-0\.5 {
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}
.mx-1 {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-1\.5 {
    margin-left: 0.375rem;
    margin-right: 0.375rem;
}
.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
}
.mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}
.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}
.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.-ml-1 {
    margin-left: -0.25rem;
}
.-ml-1\.5 {
    margin-left: -0.375rem;
}
.-ml-2 {
    margin-left: -0.5rem;
}
.-ml-2\.5 {
    margin-left: -0.625rem;
}
.-ml-3 {
    margin-left: -0.75rem;
}
.-ml-3\.5 {
    margin-left: -0.875rem;
}
.-mr-0\.5 {
    margin-right: -0.125rem;
}
.-mr-1\.5 {
    margin-right: -0.375rem;
}
.-mt-1\.5 {
    margin-top: -0.375rem;
}
.mb-0\.5 {
    margin-bottom: 0.125rem;
}
.mb-1 {
    margin-bottom: 0.25rem;
}
.mb-1\.5 {
    margin-bottom: 0.375rem;
}
.mb-12 {
    margin-bottom: 3rem;
}
.mb-14 {
    margin-bottom: 3.5rem;
}
.mb-2 {
    margin-bottom: 0.5rem;
}
.mb-3 {
    margin-bottom: 0.75rem;
}
.mb-3\.5 {
    margin-bottom: 0.875rem;
}
.mb-4 {
    margin-bottom: 1rem;
}
.mb-5 {
    margin-bottom: 1.25rem;
}
.mb-6 {
    margin-bottom: 1.5rem;
}
.mb-8 {
    margin-bottom: 2rem;
}
.mb-\[10px\] {
    margin-bottom: 10px;
}
.mb-\[14px\] {
    margin-bottom: 14px;
}
.mb-\[18px\] {
    margin-bottom: 18px;
}
.mb-\[22px\] {
    margin-bottom: 22px;
}
.mb-\[2px\] {
    margin-bottom: 2px;
}
.mb-\[3px\] {
    margin-bottom: 3px;
}
.mb-\[4px\] {
    margin-bottom: 4px;
}
.mb-\[5px\] {
    margin-bottom: 5px;
}
.mb-\[6px\] {
    margin-bottom: 6px;
}
.mb-\[9px\] {
    margin-bottom: 9px;
}
.ml-0\.5 {
    margin-left: 0.125rem;
}
.ml-1 {
    margin-left: 0.25rem;
}
.ml-1\.5 {
    margin-left: 0.375rem;
}
.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;
}
.mt-0\.5 {
    margin-top: 0.125rem;
}
.mt-1 {
    margin-top: 0.25rem;
}
.mt-1\.5 {
    margin-top: 0.375rem;
}
.mt-2 {
    margin-top: 0.5rem;
}
.mt-2\.5 {
    margin-top: 0.625rem;
}
.mt-3 {
    margin-top: 0.75rem;
}
.mt-4 {
    margin-top: 1rem;
}
.mt-5 {
    margin-top: 1.25rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-7 {
    margin-top: 1.75rem;
}
.mt-\[13px\] {
    margin-top: 13px;
}
.mt-\[1px\] {
    margin-top: 1px;
}
.mt-\[2px\] {
    margin-top: 2px;
}
.mt-\[3px\] {
    margin-top: 3px;
}
.mt-\[5px\] {
    margin-top: 5px;
}
.mt-\[6px\] {
    margin-top: 6px;
}
.mt-auto {
    margin-top: auto;
}
.mt-px {
    margin-top: 1px;
}
.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.\!block {
    display: block !important;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.inline {
    display: inline;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.table {
    display: table;
}
.flow-root {
    display: flow-root;
}
.\!grid {
    display: grid !important;
}
.grid {
    display: grid;
}
.contents {
    display: contents;
}
.hidden {
    display: none;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.size-1 {
    width: 0.25rem;
    height: 0.25rem;
}
.size-1\.5 {
    width: 0.375rem;
    height: 0.375rem;
}
.size-10 {
    width: 2.5rem;
    height: 2.5rem;
}
.size-11 {
    width: 2.75rem;
    height: 2.75rem;
}
.size-12 {
    width: 3rem;
    height: 3rem;
}
.size-16 {
    width: 4rem;
    height: 4rem;
}
.size-2 {
    width: 0.5rem;
    height: 0.5rem;
}
.size-20 {
    width: 5rem;
    height: 5rem;
}
.size-3 {
    width: 0.75rem;
    height: 0.75rem;
}
.size-3\.5 {
    width: 0.875rem;
    height: 0.875rem;
}
.size-4 {
    width: 1rem;
    height: 1rem;
}
.size-40 {
    width: 10rem;
    height: 10rem;
}
.size-5 {
    width: 1.25rem;
    height: 1.25rem;
}
.size-6 {
    width: 1.5rem;
    height: 1.5rem;
}
.size-7 {
    width: 1.75rem;
    height: 1.75rem;
}
.size-8 {
    width: 2rem;
    height: 2rem;
}
.size-9 {
    width: 2.25rem;
    height: 2.25rem;
}
.size-\[5px\] {
    width: 5px;
    height: 5px;
}
.size-\[6px\] {
    width: 6px;
    height: 6px;
}
.h-0 {
    height: 0px;
}
.h-0\.5 {
    height: 0.125rem;
}
.h-1 {
    height: 0.25rem;
}
.h-1\.5 {
    height: 0.375rem;
}
.h-10 {
    height: 2.5rem;
}
.h-11 {
    height: 2.75rem;
}
.h-12 {
    height: 3rem;
}
.h-14 {
    height: 3.5rem;
}
.h-2 {
    height: 0.5rem;
}
.h-2\.5 {
    height: 0.625rem;
}
.h-20 {
    height: 5rem;
}
.h-3 {
    height: 0.75rem;
}
.h-3\.5 {
    height: 0.875rem;
}
.h-4 {
    height: 1rem;
}
.h-5 {
    height: 1.25rem;
}
.h-6 {
    height: 1.5rem;
}
.h-64 {
    height: 16rem;
}
.h-7 {
    height: 1.75rem;
}
.h-8 {
    height: 2rem;
}
.h-9 {
    height: 2.25rem;
}
.h-\[0\.75rem\] {
    height: 0.75rem;
}
.h-\[1\.125rem\] {
    height: 1.125rem;
}
.h-\[1\.25rem\] {
    height: 1.25rem;
}
.h-\[11px\] {
    height: 11px;
}
.h-\[120px\] {
    height: 120px;
}
.h-\[12px\] {
    height: 12px;
}
.h-\[13px\] {
    height: 13px;
}
.h-\[14px\] {
    height: 14px;
}
.h-\[15px\] {
    height: 15px;
}
.h-\[16px\] {
    height: 16px;
}
.h-\[18px\] {
    height: 18px;
}
.h-\[1px\] {
    height: 1px;
}
.h-\[1rem\] {
    height: 1rem;
}
.h-\[2\.125rem\] {
    height: 2.125rem;
}
.h-\[200px\] {
    height: 200px;
}
.h-\[20px\] {
    height: 20px;
}
.h-\[210px\] {
    height: 210px;
}
.h-\[22px\] {
    height: 22px;
}
.h-\[250px\] {
    height: 250px;
}
.h-\[260px\] {
    height: 260px;
}
.h-\[26px\] {
    height: 26px;
}
.h-\[3\.75rem\] {
    height: 3.75rem;
}
.h-\[300px\] {
    height: 300px;
}
.h-\[30px\] {
    height: 30px;
}
.h-\[34px\] {
    height: 34px;
}
.h-\[38px\] {
    height: 38px;
}
.h-\[3px\] {
    height: 3px;
}
.h-\[400px\] {
    height: 400px;
}
.h-\[42px\] {
    height: 42px;
}
.h-\[46px\] {
    height: 46px;
}
.h-\[5px\] {
    height: 5px;
}
.h-\[5rem\] {
    height: 5rem;
}
.h-\[6px\] {
    height: 6px;
}
.h-\[7\.5rem\] {
    height: 7.5rem;
}
.h-\[70vh\] {
    height: 70vh;
}
.h-\[7px\] {
    height: 7px;
}
.h-\[80px\] {
    height: 80px;
}
.h-\[90px\] {
    height: 90px;
}
.h-\[9px\] {
    height: 9px;
}
.h-\[var\(--aisf-space-6\)\] {
    height: var(--aisf-space-6);
}
.h-\[var\(--radix-select-trigger-height\)\] {
    height: var(--radix-select-trigger-height);
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.h-px {
    height: 1px;
}
.h-screen {
    height: 100vh;
}
.max-h-32 {
    max-height: 8rem;
}
.max-h-40 {
    max-height: 10rem;
}
.max-h-56 {
    max-height: 14rem;
}
.max-h-64 {
    max-height: 16rem;
}
.max-h-96 {
    max-height: 24rem;
}
.max-h-\[160px\] {
    max-height: 160px;
}
.max-h-\[420px\] {
    max-height: 420px;
}
.max-h-\[440px\] {
    max-height: 440px;
}
.max-h-\[45vh\] {
    max-height: 45vh;
}
.max-h-\[480px\] {
    max-height: 480px;
}
.max-h-\[50vh\] {
    max-height: 50vh;
}
.max-h-\[55vh\] {
    max-height: 55vh;
}
.max-h-\[80vh\] {
    max-height: 80vh;
}
.max-h-\[85vh\] {
    max-height: 85vh;
}
.max-h-\[90dvh\] {
    max-height: 90dvh;
}
.max-h-\[90vh\] {
    max-height: 90vh;
}
.max-h-screen {
    max-height: 100vh;
}
.min-h-0 {
    min-height: 0px;
}
.min-h-10 {
    min-height: 2.5rem;
}
.min-h-11 {
    min-height: 2.75rem;
}
.min-h-20 {
    min-height: 5rem;
}
.min-h-7 {
    min-height: 1.75rem;
}
.min-h-8 {
    min-height: 2rem;
}
.min-h-\[1\.125rem\] {
    min-height: 1.125rem;
}
.min-h-\[1\.375rem\] {
    min-height: 1.375rem;
}
.min-h-\[1\.625rem\] {
    min-height: 1.625rem;
}
.min-h-\[120px\] {
    min-height: 120px;
}
.min-h-\[18rem\] {
    min-height: 18rem;
}
.min-h-\[2\.5rem\] {
    min-height: 2.5rem;
}
.min-h-\[220px\] {
    min-height: 220px;
}
.min-h-\[300px\] {
    min-height: 300px;
}
.min-h-\[48px\] {
    min-height: 48px;
}
.min-h-\[80px\] {
    min-height: 80px;
}
.min-h-full {
    min-height: 100%;
}
.min-h-screen {
    min-height: 100vh;
}
.\!w-8 {
    width: 2rem !important;
}
.\!w-auto {
    width: auto !important;
}
.\!w-full {
    width: 100% !important;
}
.w-0\.5 {
    width: 0.125rem;
}
.w-1 {
    width: 0.25rem;
}
.w-1\.5 {
    width: 0.375rem;
}
.w-10 {
    width: 2.5rem;
}
.w-11 {
    width: 2.75rem;
}
.w-12 {
    width: 3rem;
}
.w-14 {
    width: 3.5rem;
}
.w-16 {
    width: 4rem;
}
.w-2 {
    width: 0.5rem;
}
.w-2\.5 {
    width: 0.625rem;
}
.w-2\/3 {
    width: 66.666667%;
}
.w-20 {
    width: 5rem;
}
.w-24 {
    width: 6rem;
}
.w-28 {
    width: 7rem;
}
.w-3 {
    width: 0.75rem;
}
.w-3\.5 {
    width: 0.875rem;
}
.w-3\/4 {
    width: 75%;
}
.w-32 {
    width: 8rem;
}
.w-36 {
    width: 9rem;
}
.w-4 {
    width: 1rem;
}
.w-40 {
    width: 10rem;
}
.w-44 {
    width: 11rem;
}
.w-48 {
    width: 12rem;
}
.w-5 {
    width: 1.25rem;
}
.w-52 {
    width: 13rem;
}
.w-56 {
    width: 14rem;
}
.w-6 {
    width: 1.5rem;
}
.w-60 {
    width: 15rem;
}
.w-64 {
    width: 16rem;
}
.w-7 {
    width: 1.75rem;
}
.w-72 {
    width: 18rem;
}
.w-8 {
    width: 2rem;
}
.w-80 {
    width: 20rem;
}
.w-9 {
    width: 2.25rem;
}
.w-\[100px\] {
    width: 100px;
}
.w-\[110px\] {
    width: 110px;
}
.w-\[11px\] {
    width: 11px;
}
.w-\[120px\] {
    width: 120px;
}
.w-\[12px\] {
    width: 12px;
}
.w-\[13px\] {
    width: 13px;
}
.w-\[140px\] {
    width: 140px;
}
.w-\[14px\] {
    width: 14px;
}
.w-\[150px\] {
    width: 150px;
}
.w-\[15px\] {
    width: 15px;
}
.w-\[160px\] {
    width: 160px;
}
.w-\[16px\] {
    width: 16px;
}
.w-\[18\%\] {
    width: 18%;
}
.w-\[1px\] {
    width: 1px;
}
.w-\[200px\] {
    width: 200px;
}
.w-\[20px\] {
    width: 20px;
}
.w-\[220px\] {
    width: 220px;
}
.w-\[24\%\] {
    width: 24%;
}
.w-\[26px\] {
    width: 26px;
}
.w-\[280px\] {
    width: 280px;
}
.w-\[30px\] {
    width: 30px;
}
.w-\[320px\] {
    width: 320px;
}
.w-\[34px\] {
    width: 34px;
}
.w-\[36\%\] {
    width: 36%;
}
.w-\[380px\] {
    width: 380px;
}
.w-\[38px\] {
    width: 38px;
}
.w-\[400px\] {
    width: 400px;
}
.w-\[40px\] {
    width: 40px;
}
.w-\[420px\] {
    width: 420px;
}
.w-\[42px\] {
    width: 42px;
}
.w-\[440px\] {
    width: 440px;
}
.w-\[460px\] {
    width: 460px;
}
.w-\[46px\] {
    width: 46px;
}
.w-\[480px\] {
    width: 480px;
}
.w-\[54px\] {
    width: 54px;
}
.w-\[5px\] {
    width: 5px;
}
.w-\[60px\] {
    width: 60px;
}
.w-\[640px\] {
    width: 640px;
}
.w-\[64px\] {
    width: 64px;
}
.w-\[6px\] {
    width: 6px;
}
.w-\[74px\] {
    width: 74px;
}
.w-\[7px\] {
    width: 7px;
}
.w-\[80px\] {
    width: 80px;
}
.w-\[90px\] {
    width: 90px;
}
.w-\[9px\] {
    width: 9px;
}
.w-\[calc\(100vw-2rem\)\] {
    width: calc(100vw - 2rem);
}
.w-\[clamp\(20rem\2c 25vw\2c 30rem\)\] {
    width: clamp(20rem, 25vw, 30rem);
}
.w-\[min\(44rem\2c 90vw\)\] {
    width: min(44rem, 90vw);
}
.w-\[var\(--aisf-space-6\)\] {
    width: var(--aisf-space-6);
}
.w-auto {
    width: auto;
}
.w-fit {
    width: -moz-fit-content;
    width: fit-content;
}
.w-full {
    width: 100%;
}
.w-px {
    width: 1px;
}
.min-w-0 {
    min-width: 0px;
}
.min-w-64 {
    min-width: 16rem;
}
.min-w-8 {
    min-width: 2rem;
}
.min-w-\[12ch\] {
    min-width: 12ch;
}
.min-w-\[140px\] {
    min-width: 140px;
}
.min-w-\[14px\] {
    min-width: 14px;
}
.min-w-\[160px\] {
    min-width: 160px;
}
.min-w-\[16rem\] {
    min-width: 16rem;
}
.min-w-\[180px\] {
    min-width: 180px;
}
.min-w-\[18px\] {
    min-width: 18px;
}
.min-w-\[200px\] {
    min-width: 200px;
}
.min-w-\[220px\] {
    min-width: 220px;
}
.min-w-\[240px\] {
    min-width: 240px;
}
.min-w-\[260px\] {
    min-width: 260px;
}
.min-w-\[34px\] {
    min-width: 34px;
}
.min-w-\[420px\] {
    min-width: 420px;
}
.min-w-\[46px\] {
    min-width: 46px;
}
.min-w-\[68px\] {
    min-width: 68px;
}
.min-w-\[720px\] {
    min-width: 720px;
}
.min-w-\[760px\] {
    min-width: 760px;
}
.min-w-\[780px\] {
    min-width: 780px;
}
.min-w-\[820px\] {
    min-width: 820px;
}
.min-w-\[8rem\] {
    min-width: 8rem;
}
.min-w-\[960px\] {
    min-width: 960px;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
    min-width: var(--radix-select-trigger-width);
}
.min-w-max {
    min-width: -moz-max-content;
    min-width: max-content;
}
.max-w-2xl {
    max-width: 42rem;
}
.max-w-3xl {
    max-width: 48rem;
}
.max-w-4xl {
    max-width: 56rem;
}
.max-w-5xl {
    max-width: 64rem;
}
.max-w-6xl {
    max-width: 72rem;
}
.max-w-\[1280px\] {
    max-width: 1280px;
}
.max-w-\[160px\] {
    max-width: 160px;
}
.max-w-\[180px\] {
    max-width: 180px;
}
.max-w-\[220px\] {
    max-width: 220px;
}
.max-w-\[22rem\] {
    max-width: 22rem;
}
.max-w-\[280px\] {
    max-width: 280px;
}
.max-w-\[28rem\] {
    max-width: 28rem;
}
.max-w-\[300px\] {
    max-width: 300px;
}
.max-w-\[320px\] {
    max-width: 320px;
}
.max-w-\[340px\] {
    max-width: 340px;
}
.max-w-\[360px\] {
    max-width: 360px;
}
.max-w-\[380px\] {
    max-width: 380px;
}
.max-w-\[40ch\] {
    max-width: 40ch;
}
.max-w-\[420px\] {
    max-width: 420px;
}
.max-w-\[440px\] {
    max-width: 440px;
}
.max-w-\[480px\] {
    max-width: 480px;
}
.max-w-\[520px\] {
    max-width: 520px;
}
.max-w-\[560px\] {
    max-width: 560px;
}
.max-w-\[60\%\] {
    max-width: 60%;
}
.max-w-\[640px\] {
    max-width: 640px;
}
.max-w-\[85\%\] {
    max-width: 85%;
}
.max-w-\[90vw\] {
    max-width: 90vw;
}
.max-w-\[95vw\] {
    max-width: 95vw;
}
.max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
}
.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;
}
.shrink-0 {
    flex-shrink: 0;
}
.grow {
    flex-grow: 1;
}
.basis-64 {
    flex-basis: 16rem;
}
.basis-full {
    flex-basis: 100%;
}
.table-fixed {
    table-layout: fixed;
}
.caption-bottom {
    caption-side: bottom;
}
.border-collapse {
    border-collapse: collapse;
}
.origin-\[--radix-tooltip-content-transform-origin\] {
    transform-origin: var(--radix-tooltip-content-transform-origin);
}
.origin-center {
    transform-origin: center;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-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-\[-50\%\] {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-px {
    --tw-translate-x: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\] {
    --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));
}
.-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));
}
.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-x-0 {
    --tw-scale-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-100 {
    --tw-scale-x: 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));
}
.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 fade-up {
    0% {
        opacity: 0;
        transform: translateY(8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-up {
    animation: fade-up 0.4s ease-out both;
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}
.animate-shimmer {
    animation: shimmer 2s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin {
    animation: spin 1s linear infinite;
}
.cursor-default {
    cursor: default;
}
.cursor-grab {
    cursor: grab;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.touch-none {
    touch-action: none;
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize-none {
    resize: none;
}
.resize-y {
    resize: vertical;
}
.resize {
    resize: both;
}
.list-inside {
    list-style-position: inside;
}
.list-disc {
    list-style-type: disc;
}
.list-none {
    list-style-type: none;
}
.appearance-none {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.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-\[1fr_90px_100px_48px\] {
    grid-template-columns: 1fr 90px 100px 48px;
}
.grid-cols-\[1fr_auto_auto_auto\] {
    grid-template-columns: 1fr auto auto auto;
}
.grid-cols-\[4\.5rem_5rem_5\.75rem_2rem\] {
    grid-template-columns: 4.5rem 5rem 5.75rem 2rem;
}
.grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
    grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
}
.flex-row {
    flex-direction: row;
}
.flex-row-reverse {
    flex-direction: row-reverse;
}
.flex-col {
    flex-direction: column;
}
.flex-col-reverse {
    flex-direction: column-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.place-items-center {
    place-items: center;
}
.items-start {
    align-items: flex-start;
}
.items-end {
    align-items: flex-end;
}
.items-center {
    align-items: center;
}
.items-baseline {
    align-items: baseline;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.\!justify-center {
    justify-content: center !important;
}
.justify-center {
    justify-content: center;
}
.\!justify-between {
    justify-content: space-between !important;
}
.justify-between {
    justify-content: space-between;
}
.gap-0 {
    gap: 0px;
}
.gap-0\.5 {
    gap: 0.125rem;
}
.gap-1 {
    gap: 0.25rem;
}
.gap-1\.5 {
    gap: 0.375rem;
}
.gap-2 {
    gap: 0.5rem;
}
.gap-2\.5 {
    gap: 0.625rem;
}
.gap-3 {
    gap: 0.75rem;
}
.gap-3\.5 {
    gap: 0.875rem;
}
.gap-4 {
    gap: 1rem;
}
.gap-5 {
    gap: 1.25rem;
}
.gap-6 {
    gap: 1.5rem;
}
.gap-8 {
    gap: 2rem;
}
.gap-\[10px\] {
    gap: 10px;
}
.gap-\[11px\] {
    gap: 11px;
}
.gap-\[13px\] {
    gap: 13px;
}
.gap-\[14px\] {
    gap: 14px;
}
.gap-\[18px\] {
    gap: 18px;
}
.gap-\[3px\] {
    gap: 3px;
}
.gap-\[4px\] {
    gap: 4px;
}
.gap-\[5px\] {
    gap: 5px;
}
.gap-\[6px\] {
    gap: 6px;
}
.gap-\[7px\] {
    gap: 7px;
}
.gap-\[8px\] {
    gap: 8px;
}
.gap-\[9px\] {
    gap: 9px;
}
.gap-\[var\(--aisf-space-2\)\] {
    gap: var(--aisf-space-2);
}
.gap-\[var\(--aisf-space-4\)\] {
    gap: var(--aisf-space-4);
}
.gap-x-3 {
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
}
.gap-x-4 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.gap-x-5 {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
}
.gap-x-6 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
.gap-y-1 {
    row-gap: 0.25rem;
}
.gap-y-1\.5 {
    row-gap: 0.375rem;
}
.gap-y-2 {
    row-gap: 0.5rem;
}
.gap-y-3\.5 {
    row-gap: 0.875rem;
}
.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(-0.375rem * var(--tw-space-x-reverse));
    margin-left: calc(-0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-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\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.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-\[var\(--aisf-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--aisf-border);
}
.divide-\[var\(--wo-border\)\] > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--wo-border);
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
    border-color: hsl(var(--border));
}
.self-start {
    align-self: flex-start;
}
.self-end {
    align-self: flex-end;
}
.self-center {
    align-self: center;
}
.self-stretch {
    align-self: stretch;
}
.overflow-auto {
    overflow: auto;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.overflow-y-hidden {
    overflow-y: hidden;
}
.overscroll-contain {
    overscroll-behavior: contain;
}
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-ellipsis {
    text-overflow: ellipsis;
}
.whitespace-normal {
    white-space: normal;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.whitespace-pre-wrap {
    white-space: pre-wrap;
}
.break-words {
    overflow-wrap: break-word;
}
.break-all {
    word-break: break-all;
}
.\!rounded-2xl {
    border-radius: 1rem !important;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: 1rem;
}
.rounded-\[10px\] {
    border-radius: 10px;
}
.rounded-\[11px\] {
    border-radius: 11px;
}
.rounded-\[12px\] {
    border-radius: 12px;
}
.rounded-\[13px\] {
    border-radius: 13px;
}
.rounded-\[14px\] {
    border-radius: 14px;
}
.rounded-\[16px\] {
    border-radius: 16px;
}
.rounded-\[18px\] {
    border-radius: 18px;
}
.rounded-\[4px\] {
    border-radius: 4px;
}
.rounded-\[5px\] {
    border-radius: 5px;
}
.rounded-\[6px\] {
    border-radius: 6px;
}
.rounded-\[7px\] {
    border-radius: 7px;
}
.rounded-\[8px\] {
    border-radius: 8px;
}
.rounded-\[9px\] {
    border-radius: 9px;
}
.rounded-\[inherit\] {
    border-radius: inherit;
}
.rounded-\[var\(--aisf-radius-full\)\] {
    border-radius: var(--aisf-radius-full);
}
.rounded-\[var\(--aisf-radius-lg\)\] {
    border-radius: var(--aisf-radius-lg);
}
.rounded-\[var\(--aisf-radius-md\)\] {
    border-radius: var(--aisf-radius-md);
}
.rounded-\[var\(--aisf-radius-sm\)\] {
    border-radius: var(--aisf-radius-sm);
}
.rounded-\[var\(--aisf-radius-xl\)\] {
    border-radius: var(--aisf-radius-xl);
}
.rounded-\[var\(--aisf-radius-xs\)\] {
    border-radius: var(--aisf-radius-xs);
}
.rounded-full {
    border-radius: 9999px;
}
.rounded-lg {
    border-radius: var(--radius);
}
.rounded-md {
    border-radius: calc(var(--radius) - 2px);
}
.rounded-none {
    border-radius: 0px;
}
.rounded-sm {
    border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
    border-radius: 0.75rem;
}
.rounded-t-\[3px\] {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}
.rounded-t-\[8px\] {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.rounded-t-sm {
    border-top-left-radius: calc(var(--radius) - 4px);
    border-top-right-radius: calc(var(--radius) - 4px);
}
.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-2 {
    border-left-width: 2px;
}
.border-l-4 {
    border-left-width: 4px;
}
.border-r {
    border-right-width: 1px;
}
.border-t {
    border-top-width: 1px;
}
.border-t-2 {
    border-top-width: 2px;
}
.border-solid {
    border-style: solid;
}
.border-dashed {
    border-style: dashed;
}
.border-dotted {
    border-style: dotted;
}
.border-none {
    border-style: none;
}
.border-\[hsl\(217_91\%_45\%\)\] {
    --tw-border-opacity: 1;
    border-color: hsl(217 91% 45% / var(--tw-border-opacity, 1));
}
.border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.border-\[var\(--aisf-accent-soft\)\] {
    border-color: var(--aisf-accent-soft);
}
.border-\[var\(--aisf-border\)\] {
    border-color: var(--aisf-border);
}
.border-\[var\(--aisf-border-strong\)\] {
    border-color: var(--aisf-border-strong);
}
.border-\[var\(--aisf-danger\)\] {
    border-color: var(--aisf-danger);
}
.border-\[var\(--aisf-danger-soft\)\] {
    border-color: var(--aisf-danger-soft);
}
.border-\[var\(--aisf-loading-spinner-track\)\] {
    border-color: var(--aisf-loading-spinner-track);
}
.border-\[var\(--aisf-status-green-bg\)\] {
    border-color: var(--aisf-status-green-bg);
}
.border-\[var\(--aisf-status-orange-bg\)\] {
    border-color: var(--aisf-status-orange-bg);
}
.border-\[var\(--aisf-warning\)\] {
    border-color: var(--aisf-warning);
}
.border-\[var\(--wo-border\)\] {
    border-color: var(--wo-border);
}
.border-\[var\(--wo-border2\)\] {
    border-color: var(--wo-border2);
}
.border-\[var\(--wo-danger\)\] {
    border-color: var(--wo-danger);
}
.border-\[var\(--wo-info\)\] {
    border-color: var(--wo-info);
}
.border-\[var\(--wo-primary\)\] {
    border-color: var(--wo-primary);
}
.border-\[var\(--wo-success\)\] {
    border-color: var(--wo-success);
}
.border-\[var\(--wo-warning\)\] {
    border-color: var(--wo-warning);
}
.border-amber-200 {
    --tw-border-opacity: 1;
    border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-500 {
    --tw-border-opacity: 1;
    border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/30 {
    border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
    border-color: rgb(245 158 11 / 0.4);
}
.border-blue-200 {
    --tw-border-opacity: 1;
    border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-border {
    border-color: hsl(var(--border));
}
.border-border\/50 {
    border-color: hsl(var(--border) / 0.5);
}
.border-border\/60 {
    border-color: hsl(var(--border) / 0.6);
}
.border-border\/70 {
    border-color: hsl(var(--border) / 0.7);
}
.border-border\/80 {
    border-color: hsl(var(--border) / 0.8);
}
.border-current {
    border-color: currentColor;
}
.border-cyan-500 {
    --tw-border-opacity: 1;
    border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-destructive {
    border-color: hsl(var(--destructive));
}
.border-destructive\/30 {
    border-color: hsl(var(--destructive) / 0.3);
}
.border-destructive\/40 {
    border-color: hsl(var(--destructive) / 0.4);
}
.border-destructive\/50 {
    border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-500\/30 {
    border-color: rgb(16 185 129 / 0.3);
}
.border-fuchsia-500 {
    --tw-border-opacity: 1;
    border-color: rgb(217 70 239 / var(--tw-border-opacity, 1));
}
.border-green-500 {
    --tw-border-opacity: 1;
    border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-600 {
    --tw-border-opacity: 1;
    border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-info {
    border-color: hsl(var(--info));
}
.border-input {
    border-color: hsl(var(--input));
}
.border-muted {
    border-color: hsl(var(--muted));
}
.border-neutral-800 {
    --tw-border-opacity: 1;
    border-color: rgb(38 38 38 / var(--tw-border-opacity, 1));
}
.border-pink-500 {
    --tw-border-opacity: 1;
    border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-primary {
    border-color: hsl(var(--primary));
}
.border-primary\/20 {
    border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/60 {
    border-color: hsl(var(--primary) / 0.6);
}
.border-purple-600 {
    --tw-border-opacity: 1;
    border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-slate-400\/30 {
    border-color: rgb(148 163 184 / 0.3);
}
.border-transparent {
    border-color: transparent;
}
.border-violet-500 {
    --tw-border-opacity: 1;
    border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.border-warning {
    border-color: hsl(var(--warning));
}
.border-warning\/30 {
    border-color: hsl(var(--warning) / 0.3);
}
.border-warning\/40 {
    border-color: hsl(var(--warning) / 0.4);
}
.border-yellow-200 {
    --tw-border-opacity: 1;
    border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-b-\[var\(--aisf-border\)\] {
    border-bottom-color: var(--aisf-border);
}
.border-l-\[intent\] {
    border-left-color: intent;
}
.border-l-\[var\(--aisf-accent\)\] {
    border-left-color: var(--aisf-accent);
}
.border-l-\[var\(--aisf-status-blue-fg\)\] {
    border-left-color: var(--aisf-status-blue-fg);
}
.border-l-\[var\(--aisf-status-gray-fg\)\] {
    border-left-color: var(--aisf-status-gray-fg);
}
.border-l-\[var\(--aisf-status-green-fg\)\] {
    border-left-color: var(--aisf-status-green-fg);
}
.border-l-\[var\(--aisf-status-orange-fg\)\] {
    border-left-color: var(--aisf-status-orange-fg);
}
.border-l-\[var\(--aisf-status-red-fg\)\] {
    border-left-color: var(--aisf-status-red-fg);
}
.border-l-blue-500 {
    --tw-border-opacity: 1;
    border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-green-500\/60 {
    border-left-color: rgb(34 197 94 / 0.6);
}
.border-l-transparent {
    border-left-color: transparent;
}
.border-r-\[var\(--aisf-border\)\] {
    border-right-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-accent\)\] {
    border-top-color: var(--aisf-accent);
}
.border-t-\[var\(--aisf-border\)\] {
    border-top-color: var(--aisf-border);
}
.border-t-\[var\(--aisf-neutral-0\)\] {
    border-top-color: var(--aisf-neutral-0);
}
.border-t-\[var\(--aisf-neutral-500\)\] {
    border-top-color: var(--aisf-neutral-500);
}
.border-t-transparent {
    border-top-color: transparent;
}
.\!bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card) !important;
}
.bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.bg-\[var\(--aisf-accent-soft\)\] {
    background-color: var(--aisf-accent-soft);
}
.bg-\[var\(--aisf-bg\)\] {
    background-color: var(--aisf-bg);
}
.bg-\[var\(--aisf-bg-hover\)\] {
    background-color: var(--aisf-bg-hover);
}
.bg-\[var\(--aisf-bg-subtle\)\] {
    background-color: var(--aisf-bg-subtle);
}
.bg-\[var\(--aisf-border-strong\)\] {
    background-color: var(--aisf-border-strong);
}
.bg-\[var\(--aisf-danger\)\] {
    background-color: var(--aisf-danger);
}
.bg-\[var\(--aisf-danger-soft\)\] {
    background-color: var(--aisf-danger-soft);
}
.bg-\[var\(--aisf-neutral-0\)\] {
    background-color: var(--aisf-neutral-0);
}
.bg-\[var\(--aisf-neutral-100\)\] {
    background-color: var(--aisf-neutral-100);
}
.bg-\[var\(--aisf-neutral-200\)\] {
    background-color: var(--aisf-neutral-200);
}
.bg-\[var\(--aisf-neutral-900\)\] {
    background-color: var(--aisf-neutral-900);
}
.bg-\[var\(--aisf-status-blue-bg\)\] {
    background-color: var(--aisf-status-blue-bg);
}
.bg-\[var\(--aisf-status-blue-fg\)\] {
    background-color: var(--aisf-status-blue-fg);
}
.bg-\[var\(--aisf-status-gray-bg\)\] {
    background-color: var(--aisf-status-gray-bg);
}
.bg-\[var\(--aisf-status-gray-fg\)\] {
    background-color: var(--aisf-status-gray-fg);
}
.bg-\[var\(--aisf-status-green-bg\)\] {
    background-color: var(--aisf-status-green-bg);
}
.bg-\[var\(--aisf-status-green-fg\)\] {
    background-color: var(--aisf-status-green-fg);
}
.bg-\[var\(--aisf-status-orange-bg\)\] {
    background-color: var(--aisf-status-orange-bg);
}
.bg-\[var\(--aisf-status-orange-fg\)\] {
    background-color: var(--aisf-status-orange-fg);
}
.bg-\[var\(--aisf-status-purple-bg\)\] {
    background-color: var(--aisf-status-purple-bg);
}
.bg-\[var\(--aisf-status-red-bg\)\] {
    background-color: var(--aisf-status-red-bg);
}
.bg-\[var\(--aisf-status-red-fg\)\] {
    background-color: var(--aisf-status-red-fg);
}
.bg-\[var\(--aisf-status-teal-bg\)\] {
    background-color: var(--aisf-status-teal-bg);
}
.bg-\[var\(--aisf-surface\)\] {
    background-color: var(--aisf-surface);
}
.bg-\[var\(--aisf-surface-2\)\] {
    background-color: var(--aisf-surface-2);
}
.bg-\[var\(--aisf-warning\)\] {
    background-color: var(--aisf-warning);
}
.bg-\[var\(--aisf-warning-soft\)\] {
    background-color: var(--aisf-warning-soft);
}
.bg-\[var\(--wo-bg-subtle\)\] {
    background-color: var(--wo-bg-subtle);
}
.bg-\[var\(--wo-border\)\] {
    background-color: var(--wo-border);
}
.bg-\[var\(--wo-border2\)\] {
    background-color: var(--wo-border2);
}
.bg-\[var\(--wo-card\)\] {
    background-color: var(--wo-card);
}
.bg-\[var\(--wo-card2\)\] {
    background-color: var(--wo-card2);
}
.bg-\[var\(--wo-danger\)\] {
    background-color: var(--wo-danger);
}
.bg-\[var\(--wo-danger-soft\)\] {
    background-color: var(--wo-danger-soft);
}
.bg-\[var\(--wo-fg3\)\] {
    background-color: var(--wo-fg3);
}
.bg-\[var\(--wo-info\)\] {
    background-color: var(--wo-info);
}
.bg-\[var\(--wo-info-soft\)\] {
    background-color: var(--wo-info-soft);
}
.bg-\[var\(--wo-muted\)\] {
    background-color: var(--wo-muted);
}
.bg-\[var\(--wo-primary\)\] {
    background-color: var(--wo-primary);
}
.bg-\[var\(--wo-primary-soft\)\] {
    background-color: var(--wo-primary-soft);
}
.bg-\[var\(--wo-success\)\] {
    background-color: var(--wo-success);
}
.bg-\[var\(--wo-success-soft\)\] {
    background-color: var(--wo-success-soft);
}
.bg-\[var\(--wo-warning\)\] {
    background-color: var(--wo-warning);
}
.bg-\[var\(--wo-warning-soft\)\] {
    background-color: var(--wo-warning-soft);
}
.bg-amber-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
    background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
    background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/5 {
    background-color: rgb(245 158 11 / 0.05);
}
.bg-background {
    background-color: hsl(var(--background));
}
.bg-background\/40 {
    background-color: hsl(var(--background) / 0.4);
}
.bg-background\/60 {
    background-color: hsl(var(--background) / 0.6);
}
.bg-background\/80 {
    background-color: hsl(var(--background) / 0.8);
}
.bg-black\/30 {
    background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
    background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/80 {
    background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-border {
    background-color: hsl(var(--border));
}
.bg-card {
    background-color: hsl(var(--card));
}
.bg-card\/40 {
    background-color: hsl(var(--card) / 0.4);
}
.bg-card\/50 {
    background-color: hsl(var(--card) / 0.5);
}
.bg-current {
    background-color: currentColor;
}
.bg-cyan-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-destructive {
    background-color: hsl(var(--destructive));
}
.bg-destructive\/10 {
    background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/15 {
    background-color: hsl(var(--destructive) / 0.15);
}
.bg-destructive\/5 {
    background-color: hsl(var(--destructive) / 0.05);
}
.bg-destructive\/70 {
    background-color: hsl(var(--destructive) / 0.7);
}
.bg-emerald-500\/15 {
    background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
    background-color: rgb(16 185 129 / 0.05);
}
.bg-foreground {
    background-color: hsl(var(--foreground));
}
.bg-fuchsia-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 244 255 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-indigo-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-info {
    background-color: hsl(var(--info));
}
.bg-info\/15 {
    background-color: hsl(var(--info) / 0.15);
}
.bg-muted {
    background-color: hsl(var(--muted));
}
.bg-muted-foreground {
    background-color: hsl(var(--muted-foreground));
}
.bg-muted-foreground\/50 {
    background-color: hsl(var(--muted-foreground) / 0.5);
}
.bg-muted\/20 {
    background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30 {
    background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40 {
    background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/50 {
    background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60 {
    background-color: hsl(var(--muted) / 0.6);
}
.bg-neutral-900\/95 {
    background-color: rgb(23 23 23 / 0.95);
}
.bg-orange-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-pink-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-popover {
    background-color: hsl(var(--popover));
}
.bg-primary {
    background-color: hsl(var(--primary));
}
.bg-primary\/10 {
    background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/5 {
    background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70 {
    background-color: hsl(var(--primary) / 0.7);
}
.bg-purple-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-red-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/15 {
    background-color: rgb(244 63 94 / 0.15);
}
.bg-secondary {
    background-color: hsl(var(--secondary));
}
.bg-sidebar {
    background-color: var(--sidebar-background);
}
.bg-slate-400\/5 {
    background-color: rgb(148 163 184 / 0.05);
}
.bg-success {
    background-color: hsl(var(--success));
}
.bg-success\/15 {
    background-color: hsl(var(--success) / 0.15);
}
.bg-transparent {
    background-color: transparent;
}
.bg-violet-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-warning {
    background-color: hsl(var(--warning));
}
.bg-warning\/10 {
    background-color: hsl(var(--warning) / 0.1);
}
.bg-warning\/15 {
    background-color: hsl(var(--warning) / 0.15);
}
.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-\[linear-gradient\(90deg\2c var\(--aisf-neutral-200\)_0\%\2c var\(--aisf-neutral-100\)_50\%\2c var\(--aisf-neutral-200\)_100\%\)\] {
    background-image: linear-gradient(90deg,var(--aisf-neutral-200) 0%,var(--aisf-neutral-100) 50%,var(--aisf-neutral-200) 100%);
}
.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-\[var\(--wo-primary\)\] {
    --tw-gradient-from: var(--wo-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
    --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
    --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[40\%\] {
    --tw-gradient-from-position: 40%;
}
.to-\[hsl\(199_89\%_48\%\)\] {
    --tw-gradient-to: hsl(199 89% 48%) var(--tw-gradient-to-position);
}
.to-background {
    --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-primary\/80 {
    --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}
.bg-\[length\:200\%_100\%\] {
    background-size: 200% 100%;
}
.fill-current {
    fill: currentColor;
}
.object-contain {
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.\!p-0 {
    padding: 0px !important;
}
.p-0 {
    padding: 0px;
}
.p-0\.5 {
    padding: 0.125rem;
}
.p-1 {
    padding: 0.25rem;
}
.p-1\.5 {
    padding: 0.375rem;
}
.p-10 {
    padding: 2.5rem;
}
.p-12 {
    padding: 3rem;
}
.p-14 {
    padding: 3.5rem;
}
.p-2 {
    padding: 0.5rem;
}
.p-2\.5 {
    padding: 0.625rem;
}
.p-3 {
    padding: 0.75rem;
}
.p-3\.5 {
    padding: 0.875rem;
}
.p-4 {
    padding: 1rem;
}
.p-5 {
    padding: 1.25rem;
}
.p-6 {
    padding: 1.5rem;
}
.p-8 {
    padding: 2rem;
}
.p-9 {
    padding: 2.25rem;
}
.p-\[10px\] {
    padding: 10px;
}
.p-\[11px\] {
    padding: 11px;
}
.p-\[14px\] {
    padding: 14px;
}
.p-\[15px_18px\] {
    padding: 15px 18px;
}
.p-\[18px\] {
    padding: 18px;
}
.p-\[1px\] {
    padding: 1px;
}
.p-\[26px\] {
    padding: 26px;
}
.p-\[34px_38px\] {
    padding: 34px 38px;
}
.p-\[7px\] {
    padding: 7px;
}
.p-\[var\(--aisf-space-4\)\] {
    padding: var(--aisf-space-4);
}
.px-0 {
    padding-left: 0px;
    padding-right: 0px;
}
.px-0\.5 {
    padding-left: 0.125rem;
    padding-right: 0.125rem;
}
.px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}
.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}
.px-\[1\.125rem\] {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
}
.px-\[10px\] {
    padding-left: 10px;
    padding-right: 10px;
}
.px-\[11px\] {
    padding-left: 11px;
    padding-right: 11px;
}
.px-\[13px\] {
    padding-left: 13px;
    padding-right: 13px;
}
.px-\[14px\] {
    padding-left: 14px;
    padding-right: 14px;
}
.px-\[18px\] {
    padding-left: 18px;
    padding-right: 18px;
}
.px-\[5px\] {
    padding-left: 5px;
    padding-right: 5px;
}
.px-\[6px\] {
    padding-left: 6px;
    padding-right: 6px;
}
.px-\[7px\] {
    padding-left: 7px;
    padding-right: 7px;
}
.px-\[8px\] {
    padding-left: 8px;
    padding-right: 8px;
}
.px-\[9px\] {
    padding-left: 9px;
    padding-right: 9px;
}
.px-\[var\(--aisf-space-3\)\] {
    padding-left: var(--aisf-space-3);
    padding-right: var(--aisf-space-3);
}
.py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-\[0\.0625rem\] {
    padding-top: 0.0625rem;
    padding-bottom: 0.0625rem;
}
.py-\[0\.1875rem\] {
    padding-top: 0.1875rem;
    padding-bottom: 0.1875rem;
}
.py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px;
}
.py-\[11px\] {
    padding-top: 11px;
    padding-bottom: 11px;
}
.py-\[13px\] {
    padding-top: 13px;
    padding-bottom: 13px;
}
.py-\[14px\] {
    padding-top: 14px;
    padding-bottom: 14px;
}
.py-\[1px\] {
    padding-top: 1px;
    padding-bottom: 1px;
}
.py-\[22px\] {
    padding-top: 22px;
    padding-bottom: 22px;
}
.py-\[26px\] {
    padding-top: 26px;
    padding-bottom: 26px;
}
.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px;
}
.py-\[3px\] {
    padding-top: 3px;
    padding-bottom: 3px;
}
.py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px;
}
.py-\[6px\] {
    padding-top: 6px;
    padding-bottom: 6px;
}
.py-\[7px\] {
    padding-top: 7px;
    padding-bottom: 7px;
}
.py-\[8px\] {
    padding-top: 8px;
    padding-bottom: 8px;
}
.py-\[9px\] {
    padding-top: 9px;
    padding-bottom: 9px;
}
.py-px {
    padding-top: 1px;
    padding-bottom: 1px;
}
.pb-1 {
    padding-bottom: 0.25rem;
}
.pb-1\.5 {
    padding-bottom: 0.375rem;
}
.pb-12 {
    padding-bottom: 3rem;
}
.pb-14 {
    padding-bottom: 3.5rem;
}
.pb-2 {
    padding-bottom: 0.5rem;
}
.pb-3 {
    padding-bottom: 0.75rem;
}
.pb-4 {
    padding-bottom: 1rem;
}
.pb-5 {
    padding-bottom: 1.25rem;
}
.pb-\[14px\] {
    padding-bottom: 14px;
}
.pb-\[18px\] {
    padding-bottom: 18px;
}
.pb-\[6px\] {
    padding-bottom: 6px;
}
.pl-2\.5 {
    padding-left: 0.625rem;
}
.pl-4 {
    padding-left: 1rem;
}
.pl-5 {
    padding-left: 1.25rem;
}
.pl-6 {
    padding-left: 1.5rem;
}
.pl-8 {
    padding-left: 2rem;
}
.pl-9 {
    padding-left: 2.25rem;
}
.pl-\[34px\] {
    padding-left: 34px;
}
.pr-1 {
    padding-right: 0.25rem;
}
.pr-10 {
    padding-right: 2.5rem;
}
.pr-2 {
    padding-right: 0.5rem;
}
.pr-3 {
    padding-right: 0.75rem;
}
.pr-4 {
    padding-right: 1rem;
}
.pr-8 {
    padding-right: 2rem;
}
.pr-9 {
    padding-right: 2.25rem;
}
.pt-0 {
    padding-top: 0px;
}
.pt-0\.5 {
    padding-top: 0.125rem;
}
.pt-1 {
    padding-top: 0.25rem;
}
.pt-16 {
    padding-top: 4rem;
}
.pt-2 {
    padding-top: 0.5rem;
}
.pt-2\.5 {
    padding-top: 0.625rem;
}
.pt-3 {
    padding-top: 0.75rem;
}
.pt-3\.5 {
    padding-top: 0.875rem;
}
.pt-4 {
    padding-top: 1rem;
}
.pt-5 {
    padding-top: 1.25rem;
}
.pt-6 {
    padding-top: 1.5rem;
}
.pt-\[13px\] {
    padding-top: 13px;
}
.pt-\[18px\] {
    padding-top: 18px;
}
.pt-\[6px\] {
    padding-top: 6px;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.align-baseline {
    vertical-align: baseline;
}
.align-top {
    vertical-align: top;
}
.align-middle {
    vertical-align: middle;
}
.font-\[\"JetBrains_Mono\"\2c monospace\] {
    font-family: "JetBrains Mono",monospace;
}
.font-\[\'JetBrains_Mono\'\2c monospace\] {
    font-family: 'JetBrains Mono',monospace;
}
.font-\[\'Plus_Jakarta_Sans\'\2c sans-serif\] {
    font-family: 'Plus Jakarta Sans',sans-serif;
}
.font-mono {
    font-family: JetBrains Mono, ui-monospace, SF Mono, Menlo, monospace;
}
.font-sans {
    font-family: Inter, Helvetica Neue, Helvetica, Arial, system-ui, sans-serif;
}
.\!text-\[10px\] {
    font-size: 10px !important;
}
.\!text-\[11\.5px\] {
    font-size: 11.5px !important;
}
.\!text-\[12px\] {
    font-size: 12px !important;
}
.\!text-\[13px\] {
    font-size: 13px !important;
}
.\!text-\[14px\] {
    font-size: 14px !important;
}
.\!text-\[22px\] {
    font-size: 22px !important;
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-\[0\.85em\] {
    font-size: 0.85em;
}
.text-\[10\.5px\] {
    font-size: 10.5px;
}
.text-\[10px\] {
    font-size: 10px;
}
.text-\[11\.5px\] {
    font-size: 11.5px;
}
.text-\[11px\] {
    font-size: 11px;
}
.text-\[12\.5px\] {
    font-size: 12.5px;
}
.text-\[12px\] {
    font-size: 12px;
}
.text-\[13\.5px\] {
    font-size: 13.5px;
}
.text-\[13px\] {
    font-size: 13px;
}
.text-\[14px\] {
    font-size: 14px;
}
.text-\[15\.5px\] {
    font-size: 15.5px;
}
.text-\[15px\] {
    font-size: 15px;
}
.text-\[16px\] {
    font-size: 16px;
}
.text-\[17px\] {
    font-size: 17px;
}
.text-\[18px\] {
    font-size: 18px;
}
.text-\[19px\] {
    font-size: 19px;
}
.text-\[22px\] {
    font-size: 22px;
}
.text-\[24px\] {
    font-size: 24px;
}
.text-\[25px\] {
    font-size: 25px;
}
.text-\[26px\] {
    font-size: 26px;
}
.text-\[27px\] {
    font-size: 27px;
}
.text-\[28px\] {
    font-size: 28px;
}
.text-\[8px\] {
    font-size: 8px;
}
.text-\[9\.5px\] {
    font-size: 9.5px;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-\[length\:inherit\] {
    font-size: inherit;
}
.text-\[length\:var\(--aisf-font-size-11\)\] {
    font-size: var(--aisf-font-size-11);
}
.text-\[length\:var\(--aisf-font-size-12\)\] {
    font-size: var(--aisf-font-size-12);
}
.text-\[length\:var\(--aisf-font-size-13\)\] {
    font-size: var(--aisf-font-size-13);
}
.text-\[length\:var\(--aisf-font-size-14\)\] {
    font-size: var(--aisf-font-size-14);
}
.text-\[length\:var\(--aisf-font-size-15\)\] {
    font-size: var(--aisf-font-size-15);
}
.text-\[length\:var\(--aisf-font-size-16\)\] {
    font-size: var(--aisf-font-size-16);
}
.text-\[length\:var\(--aisf-font-size-17\)\] {
    font-size: var(--aisf-font-size-17);
}
.text-\[length\:var\(--aisf-font-size-18\)\] {
    font-size: var(--aisf-font-size-18);
}
.text-\[length\:var\(--aisf-font-size-20\)\] {
    font-size: var(--aisf-font-size-20);
}
.text-\[length\:var\(--aisf-font-size-22\)\] {
    font-size: var(--aisf-font-size-22);
}
.text-\[length\:var\(--aisf-font-size-24\)\] {
    font-size: var(--aisf-font-size-24);
}
.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.font-\[500\] {
    font-weight: 500;
}
.font-\[var\(--aisf-font-mono\)\] {
    font-weight: var(--aisf-font-mono);
}
.font-bold {
    font-weight: 700;
}
.font-extrabold {
    font-weight: 800;
}
.font-medium {
    font-weight: 500;
}
.font-normal {
    font-weight: 400;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}
.italic {
    font-style: italic;
}
.ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-4 {
    line-height: 1rem;
}
.leading-5 {
    line-height: 1.25rem;
}
.leading-\[1\.25\] {
    line-height: 1.25;
}
.leading-\[1\.55\] {
    line-height: 1.55;
}
.leading-\[1\.5\] {
    line-height: 1.5;
}
.leading-\[1\.6\] {
    line-height: 1.6;
}
.leading-\[14px\] {
    line-height: 14px;
}
.leading-none {
    line-height: 1;
}
.leading-relaxed {
    line-height: 1.625;
}
.leading-snug {
    line-height: 1.375;
}
.leading-tight {
    line-height: 1.25;
}
.tracking-\[-0\.01em\] {
    letter-spacing: -0.01em;
}
.tracking-\[-0\.02em\] {
    letter-spacing: -0.02em;
}
.tracking-\[-0\.03em\] {
    letter-spacing: -0.03em;
}
.tracking-\[\.04em\] {
    letter-spacing: .04em;
}
.tracking-\[0\.03em\] {
    letter-spacing: 0.03em;
}
.tracking-\[0\.04em\] {
    letter-spacing: 0.04em;
}
.tracking-\[0\.05em\] {
    letter-spacing: 0.05em;
}
.tracking-\[0\.06em\] {
    letter-spacing: 0.06em;
}
.tracking-\[0\.12em\] {
    letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
    letter-spacing: 0.15em;
}
.tracking-\[0\.18em\] {
    letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
    letter-spacing: 0.1em;
}
.tracking-\[var\(--aisf-letter-spacing-tight\)\] {
    letter-spacing: var(--aisf-letter-spacing-tight);
}
.tracking-tight {
    letter-spacing: -0.025em;
}
.tracking-wide {
    letter-spacing: 0.025em;
}
.tracking-wider {
    letter-spacing: 0.05em;
}
.tracking-widest {
    letter-spacing: 0.1em;
}
.text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.text-\[var\(--aisf-font-size-11\)\] {
    color: var(--aisf-font-size-11);
}
.text-\[var\(--aisf-font-size-12\)\] {
    color: var(--aisf-font-size-12);
}
.text-\[var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.text-\[var\(--aisf-status-blue-fg\)\] {
    color: var(--aisf-status-blue-fg);
}
.text-\[var\(--aisf-status-gray-fg\)\] {
    color: var(--aisf-status-gray-fg);
}
.text-\[var\(--aisf-status-green-fg\)\] {
    color: var(--aisf-status-green-fg);
}
.text-\[var\(--aisf-status-orange-fg\)\] {
    color: var(--aisf-status-orange-fg);
}
.text-\[var\(--aisf-status-purple-fg\)\] {
    color: var(--aisf-status-purple-fg);
}
.text-\[var\(--aisf-status-red-fg\)\] {
    color: var(--aisf-status-red-fg);
}
.text-\[var\(--aisf-status-teal-fg\)\] {
    color: var(--aisf-status-teal-fg);
}
.text-\[var\(--aisf-success\)\] {
    color: var(--aisf-success);
}
.text-\[var\(--aisf-text\)\] {
    color: var(--aisf-text);
}
.text-\[var\(--aisf-text-label\)\] {
    color: var(--aisf-text-label);
}
.text-\[var\(--aisf-text-muted\)\] {
    color: var(--aisf-text-muted);
}
.text-\[var\(--aisf-text-subtle\)\] {
    color: var(--aisf-text-subtle);
}
.text-\[var\(--aisf-warning\)\] {
    color: var(--aisf-warning);
}
.text-\[var\(--wo-border\)\] {
    color: var(--wo-border);
}
.text-\[var\(--wo-danger\)\] {
    color: var(--wo-danger);
}
.text-\[var\(--wo-fg\)\] {
    color: var(--wo-fg);
}
.text-\[var\(--wo-fg2\)\] {
    color: var(--wo-fg2);
}
.text-\[var\(--wo-fg3\)\] {
    color: var(--wo-fg3);
}
.text-\[var\(--wo-info\)\] {
    color: var(--wo-info);
}
.text-\[var\(--wo-primary\)\] {
    color: var(--wo-primary);
}
.text-\[var\(--wo-success\)\] {
    color: var(--wo-success);
}
.text-\[var\(--wo-warning\)\] {
    color: var(--wo-warning);
}
.text-accent-foreground {
    color: hsl(var(--accent-foreground));
}
.text-amber-400 {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-600 {
    --tw-text-opacity: 1;
    color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700 {
    --tw-text-opacity: 1;
    color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800 {
    --tw-text-opacity: 1;
    color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
    --tw-text-opacity: 1;
    color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800 {
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-border {
    color: hsl(var(--border));
}
.text-card-foreground {
    color: hsl(var(--card-foreground));
}
.text-current {
    color: currentColor;
}
.text-cyan-700 {
    --tw-text-opacity: 1;
    color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive {
    color: hsl(var(--destructive));
}
.text-destructive-foreground {
    color: hsl(var(--destructive-foreground));
}
.text-emerald-400 {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-500 {
    --tw-text-opacity: 1;
    color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600 {
    --tw-text-opacity: 1;
    color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
    --tw-text-opacity: 1;
    color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-foreground {
    color: hsl(var(--foreground));
}
.text-foreground\/50 {
    color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70 {
    color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/90 {
    color: hsl(var(--foreground) / 0.9);
}
.text-fuchsia-700 {
    --tw-text-opacity: 1;
    color: rgb(162 28 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-green-500 {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600 {
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
    --tw-text-opacity: 1;
    color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-indigo-800 {
    --tw-text-opacity: 1;
    color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-info {
    color: hsl(var(--info));
}
.text-inherit {
    color: inherit;
}
.text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/30 {
    color: hsl(var(--muted-foreground) / 0.3);
}
.text-muted-foreground\/40 {
    color: hsl(var(--muted-foreground) / 0.4);
}
.text-muted-foreground\/50 {
    color: hsl(var(--muted-foreground) / 0.5);
}
.text-muted-foreground\/60 {
    color: hsl(var(--muted-foreground) / 0.6);
}
.text-muted-foreground\/70 {
    color: hsl(var(--muted-foreground) / 0.7);
}
.text-muted-foreground\/90 {
    color: hsl(var(--muted-foreground) / 0.9);
}
.text-neutral-200 {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
    --tw-text-opacity: 1;
    color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-orange-800 {
    --tw-text-opacity: 1;
    color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
    --tw-text-opacity: 1;
    color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-800 {
    --tw-text-opacity: 1;
    color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-popover-foreground {
    color: hsl(var(--popover-foreground));
}
.text-primary {
    color: hsl(var(--primary));
}
.text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.text-purple-700 {
    --tw-text-opacity: 1;
    color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800 {
    --tw-text-opacity: 1;
    color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-red-500 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-rose-600 {
    --tw-text-opacity: 1;
    color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground {
    color: hsl(var(--secondary-foreground));
}
.text-sidebar-foreground {
    color: var(--sidebar-foreground);
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-success {
    color: hsl(var(--success));
}
.text-violet-700 {
    --tw-text-opacity: 1;
    color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-warning {
    color: hsl(var(--warning));
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/90 {
    color: rgb(255 255 255 / 0.9);
}
.text-yellow-700 {
    --tw-text-opacity: 1;
    color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.underline {
    text-decoration-line: underline;
}
.line-through {
    text-decoration-line: line-through;
}
.no-underline {
    text-decoration-line: none;
}
.underline-offset-2 {
    text-underline-offset: 2px;
}
.underline-offset-4 {
    text-underline-offset: 4px;
}
.caret-foreground {
    caret-color: hsl(var(--foreground));
}
.accent-\[hsl\(var\(--primary\)\)\] {
    accent-color: hsl(var(--primary));
}
.accent-\[var\(--aisf-accent\)\] {
    accent-color: var(--aisf-accent);
}
.accent-\[var\(--wo-danger\)\] {
    accent-color: var(--wo-danger);
}
.accent-\[var\(--wo-primary\)\] {
    accent-color: var(--wo-primary);
}
.accent-\[var\(--wo-success\)\] {
    accent-color: var(--wo-success);
}
.opacity-0 {
    opacity: 0;
}
.opacity-100 {
    opacity: 1;
}
.opacity-20 {
    opacity: 0.2;
}
.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-80 {
    opacity: 0.8;
}
.opacity-90 {
    opacity: 0.9;
}
.opacity-\[var\(--aisf-disabled-opacity\)\] {
    opacity: var(--aisf-disabled-opacity);
}
.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-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[var\(--aisf-gradient-shadow\)\] {
    --tw-shadow-color: var(--aisf-gradient-shadow);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-lg\)\] {
    --tw-shadow-color: var(--aisf-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-md\)\] {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-sm\)\] {
    --tw-shadow-color: var(--aisf-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xl\)\] {
    --tw-shadow-color: var(--aisf-shadow-xl);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--aisf-shadow-xs\)\] {
    --tw-shadow-color: var(--aisf-shadow-xs);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-lg\)\] {
    --tw-shadow-color: var(--wo-shadow-lg);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-md\)\] {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--wo-shadow-sm\)\] {
    --tw-shadow-color: var(--wo-shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-primary\/20 {
    --tw-shadow-color: hsl(var(--primary) / 0.2);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline {
    outline-style: solid;
}
.ring-0 {
    --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);
}
.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-\[3px\] {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#fff\] {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-\[var\(--aisf-accent\)\] {
    --tw-ring-color: var(--aisf-accent);
}
.ring-\[var\(--aisf-bg\)\] {
    --tw-ring-color: var(--aisf-bg);
}
.ring-\[var\(--wo-danger\)\] {
    --tw-ring-color: var(--wo-danger);
}
.ring-\[var\(--wo-primary\)\] {
    --tw-ring-color: var(--wo-primary);
}
.ring-destructive\/40 {
    --tw-ring-color: hsl(var(--destructive) / 0.4);
}
.ring-primary {
    --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/20 {
    --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-offset-1 {
    --tw-ring-offset-width: 1px;
}
.ring-offset-2 {
    --tw-ring-offset-width: 2px;
}
.ring-offset-\[var\(--aisf-bg\)\] {
    --tw-ring-offset-color: var(--aisf-bg);
}
.ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background));
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl {
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[clip-path\] {
    transition-property: clip-path;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[left\] {
    transition-property: left;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[width\] {
    transition-property: width;
    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-150 {
    transition-duration: 150ms;
}
.duration-200 {
    transition-duration: 200ms;
}
.duration-300 {
    transition-duration: 300ms;
}
.duration-500 {
    transition-duration: 500ms;
}
.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);
}
.will-change-transform {
    will-change: transform;
}
@keyframes enter {
    from {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
    }
}
@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
    }
}
.animate-in {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.fade-in-0 {
    --tw-enter-opacity: 0;
}
.zoom-in-95 {
    --tw-enter-scale: .95;
}
.duration-150 {
    animation-duration: 150ms;
}
.duration-200 {
    animation-duration: 200ms;
}
.duration-300 {
    animation-duration: 300ms;
}
.duration-500 {
    animation-duration: 500ms;
}
.ease-in-out {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\!running {
    animation-play-state: running !important;
}
.running {
    animation-play-state: running;
}
.paused {
    animation-play-state: paused;
}
.\[background\:var\(--aisf-gradient\)\] {
    background: var(--aisf-gradient);
}
.\[box-shadow\:0_0_0_1px_var\(--aisf-accent\)\] {
    box-shadow: 0 0 0 1px var(--aisf-accent);
}
.\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.\[box-shadow\:inset_0_-1px_0_var\(--aisf-border\)\] {
    box-shadow: inset 0 -1px 0 var(--aisf-border);
}
.\[box-shadow\:var\(--aisf-gradient-shadow\)\] {
    box-shadow: var(--aisf-gradient-shadow);
}
.\[box-shadow\:var\(--aisf-shadow-button-destructive\)\] {
    box-shadow: var(--aisf-shadow-button-destructive);
}
.\[box-shadow\:var\(--aisf-shadow-button-primary\)\] {
    box-shadow: var(--aisf-shadow-button-primary);
}
.\[box-shadow\:var\(--aisf-shadow-button-secondary\)\] {
    box-shadow: var(--aisf-shadow-button-secondary);
}
.\[color\:var\(--aisf-neutral-0\)\] {
    color: var(--aisf-neutral-0);
}
.\[font-weight\:inherit\] {
    font-weight: inherit;
}
.\[line-height\:inherit\] {
    line-height: inherit;
}
.\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
}
.\[scrollbar-gutter\:stable\] {
    scrollbar-gutter: stable;
}
.agenda {
  height: 100%;
  overflow: auto;
  padding: 28px;
  background: var(--aisf-bg);
  color: var(--aisf-text);
  font-family: var(--aisf-font-family, Arial, sans-serif);
}
.agenda h1 {
  font-size: 25px;
  font-weight: 650;
  margin: 0;
}
.agenda h2 {
  font-size: 18px;
  font-weight: 600;
}
.agenda h3 {
  font-size: 15px;
  font-weight: 600;
}
.agenda p {
  color: var(--aisf-text-muted);
  font-size: 14px;
  line-height: 1.55;
}
.agenda-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.agenda-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.agenda-actions > button {
  width: auto;
  white-space: nowrap;
}
.agenda-card {
  border: 1px solid var(--aisf-border);
  border-radius: 12px;
  background: var(--aisf-bg-surface, var(--aisf-bg));
  padding: 20px;
}
.agenda-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}
.agenda-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin-bottom: 20px;
}
.agenda-filters > label,
.agenda-filters > div {
  flex: 1;
  min-width: 150px;
}
.agenda-filters .search {
  flex: 2;
  min-width: 240px;
}
.agenda-filters input,
.agenda-filters select {
  width: 100%;
}
.agenda-table {
  overflow: auto;
  border: 1px solid var(--aisf-border);
  border-radius: 12px;
}
.agenda table {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
.agenda th {
  text-align: left;
  color: var(--aisf-text-muted);
  font-weight: 500;
  background: var(--aisf-bg-subtle);
  padding: 12px 16px;
  white-space: nowrap;
}
.agenda td {
  padding: 15px 16px;
  border-top: 1px solid var(--aisf-border);
}
.agenda small {
  display: block;
  font-size: 12px;
  color: var(--aisf-text-muted);
  margin-top: 4px;
}
.agenda-pill {
  border-radius: 99px;
  padding: 4px 9px;
  font-size: 12px;
  background: var(--aisf-success-soft, #e9f4ec);
  color: var(--aisf-success, #277044);
  white-space: nowrap;
}
.agenda-pill.off {
  background: var(--aisf-bg-subtle);
  color: var(--aisf-text-muted);
}
.agenda-notice {
  border: 1px solid var(--aisf-border);
  padding: 12px 16px;
  border-radius: 8px;
  margin: 12px 0;
  color: var(--aisf-text-muted);
}
.agenda-error {
  border-color: var(--aisf-danger);
  color: var(--aisf-danger);
}
.agenda-empty {
  text-align: center;
  padding: 48px 24px;
  border: 1px dashed var(--aisf-border);
  border-radius: 12px;
}
.agenda-editor {
  min-width: min(720px, 80vw);
  max-width: 840px;
  max-height: 80vh;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--aisf-text);
}
.agenda-editor h2 {
  font-size: 21px;
  font-weight: 600;
}
.agenda-editor label {
  font-size: 13px;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.agenda-editor .fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.agenda-editor .fields .wide {
  grid-column: 1/-1;
}
.agenda-editor .row {
  display: flex;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
}
.agenda-editor .row > * {
  flex: 1;
  min-width: 0;
}
.agenda-editor .row > button {
  flex: 0;
  min-width: 76px;
}
.agenda-editor footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--aisf-border);
}
.agenda-editor footer > button {
  width: auto;
}
.agenda-tabs {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid var(--aisf-border);
  padding-bottom: 10px;
}
.agenda-tabs > button {
  width: auto;
}
.agenda-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  max-height: 220px;
  overflow: auto;
}
.agenda-slot {
  border: 1px solid var(--aisf-border);
  border-radius: 8px;
  padding: 10px;
  text-align: left;
  font-size: 13px;
}
.agenda-slot[aria-pressed="true"] {
  border-color: var(--aisf-accent);
  background: var(--aisf-accent-soft, #eef5ff);
}
.agenda-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(145px, 1fr));
  gap: 8px;
  overflow: auto;
}
.agenda-day {
  border: 1px solid var(--aisf-border);
  border-radius: 10px;
  padding: 12px;
  min-height: 240px;
}
.agenda-day article {
  border-left: 3px solid var(--aisf-accent);
  padding: 8px;
  margin-top: 10px;
  background: var(--aisf-bg-subtle);
  font-size: 13px;
}
.agenda-stats {
  display: flex;
  gap: 24px;
  margin: 14px 0 24px;
  color: var(--aisf-text-muted);
}
.agenda-stats strong {
  display: block;
  color: var(--aisf-text);
  font-size: 23px;
  font-weight: 600;
}
.agenda-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}
.agenda-pagination button {
  width: auto;
}
@media (max-width: 760px) {
  .agenda {
    padding: 16px;
  }
  .agenda-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .agenda-editor .fields {
    grid-template-columns: 1fr;
  }
  .agenda-editor .row {
    flex-wrap: wrap;
  }
  .agenda-slots {
    grid-template-columns: 1fr 1fr;
  }
}
.agenda-select {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
}
.agenda-select select {
  min-height: 35px;
  padding: 7px 10px;
  border: 1px solid var(--aisf-border);
  border-radius: 7px;
  background: var(--aisf-bg);
  color: var(--aisf-text);
}
.file\:mr-3::file-selector-button {
    margin-right: 0.75rem;
}
.file\:rounded-md::file-selector-button {
    border-radius: calc(var(--radius) - 2px);
}
.file\:border::file-selector-button {
    border-width: 1px;
}
.file\:border-0::file-selector-button {
    border-width: 0px;
}
.file\:border-border::file-selector-button {
    border-color: hsl(var(--border));
}
.file\:bg-muted::file-selector-button {
    background-color: hsl(var(--muted));
}
.file\:bg-transparent::file-selector-button {
    background-color: transparent;
}
.file\:px-3::file-selector-button {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.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.25rem;
}
.file\:font-medium::file-selector-button {
    font-weight: 500;
}
.file\:text-foreground::file-selector-button {
    color: hsl(var(--foreground));
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::-moz-placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--aisf-text-subtle\)\]::placeholder {
    color: var(--aisf-text-subtle);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::-moz-placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-\[var\(--wo-fg3\)\]::placeholder {
    color: var(--wo-fg3);
}
.placeholder\:text-muted-foreground::-moz-placeholder {
    color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder {
    color: hsl(var(--muted-foreground));
}
.last\:flex-none:last-child {
    flex: none;
}
.last\:border-0:last-child {
    border-width: 0px;
}
.last\:border-b-0:last-child {
    border-bottom-width: 0px;
}
.focus-within\:border-primary\/50:focus-within {
    border-color: hsl(var(--primary) / 0.5);
}
.focus-within\:bg-background:focus-within {
    background-color: hsl(var(--background));
}
.focus-within\:opacity-100:focus-within {
    opacity: 1;
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-\[1px\]:hover {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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\:border-\[var\(--aisf-accent\)\]:hover {
    border-color: var(--aisf-accent);
}
.hover\:border-\[var\(--aisf-border-strong\)\]:hover {
    border-color: var(--aisf-border-strong);
}
.hover\:border-\[var\(--wo-border2\)\]:hover {
    border-color: var(--wo-border2);
}
.hover\:border-\[var\(--wo-danger\)\]:hover {
    border-color: var(--wo-danger);
}
.hover\:border-\[var\(--wo-primary\)\]:hover {
    border-color: var(--wo-primary);
}
.hover\:border-border:hover {
    border-color: hsl(var(--border));
}
.hover\:border-foreground\/30:hover {
    border-color: hsl(var(--foreground) / 0.3);
}
.hover\:border-primary\/40:hover {
    border-color: hsl(var(--primary) / 0.4);
}
.hover\:border-ring:hover {
    border-color: hsl(var(--ring));
}
.hover\:bg-\[var\(--aisf-accent\)\]:hover {
    background-color: var(--aisf-accent);
}
.hover\:bg-\[var\(--aisf-accent-hover\)\]:hover {
    background-color: var(--aisf-accent-hover);
}
.hover\:bg-\[var\(--aisf-bg-hover\)\]:hover {
    background-color: var(--aisf-bg-hover);
}
.hover\:bg-\[var\(--aisf-danger-hover\)\]:hover {
    background-color: var(--aisf-danger-hover);
}
.hover\:bg-\[var\(--aisf-danger-soft\)\]:hover {
    background-color: var(--aisf-danger-soft);
}
.hover\:bg-\[var\(--wo-border\)\]:hover {
    background-color: var(--wo-border);
}
.hover\:bg-\[var\(--wo-danger-soft\)\]:hover {
    background-color: var(--wo-danger-soft);
}
.hover\:bg-\[var\(--wo-muted\)\]:hover {
    background-color: var(--wo-muted);
}
.hover\:bg-\[var\(--wo-primary-soft\)\]:hover {
    background-color: var(--wo-primary-soft);
}
.hover\:bg-accent:hover {
    background-color: hsl(var(--accent));
}
.hover\:bg-background\/60:hover {
    background-color: hsl(var(--background) / 0.6);
}
.hover\:bg-destructive\/10:hover {
    background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover {
    background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
    background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover {
    background-color: hsl(var(--muted));
}
.hover\:bg-muted\/20:hover {
    background-color: hsl(var(--muted) / 0.2);
}
.hover\:bg-muted\/30:hover {
    background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover {
    background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover {
    background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover {
    background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/70:hover {
    background-color: hsl(var(--muted) / 0.7);
}
.hover\:bg-neutral-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary\/80:hover {
    background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
    background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
    background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover {
    background-color: hsl(var(--secondary) / 0.8);
}
.hover\:text-\[var\(--aisf-accent\)\]:hover {
    color: var(--aisf-accent);
}
.hover\:text-\[var\(--aisf-danger\)\]:hover {
    color: var(--aisf-danger);
}
.hover\:text-\[var\(--aisf-text\)\]:hover {
    color: var(--aisf-text);
}
.hover\:text-\[var\(--wo-danger\)\]:hover {
    color: var(--wo-danger);
}
.hover\:text-\[var\(--wo-fg\)\]:hover {
    color: var(--wo-fg);
}
.hover\:text-\[var\(--wo-primary\)\]:hover {
    color: var(--wo-primary);
}
.hover\:text-accent-foreground:hover {
    color: hsl(var(--accent-foreground));
}
.hover\:text-destructive:hover {
    color: hsl(var(--destructive));
}
.hover\:text-foreground:hover {
    color: hsl(var(--foreground));
}
.hover\:text-neutral-100:hover {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
    text-decoration-line: underline;
}
.hover\:opacity-100:hover {
    opacity: 1;
}
.hover\:opacity-70:hover {
    opacity: 0.7;
}
.hover\:opacity-80:hover {
    opacity: 0.8;
}
.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-\[var\(--aisf-shadow-md\)\]:hover {
    --tw-shadow-color: var(--aisf-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-\[var\(--wo-shadow-md\)\]:hover {
    --tw-shadow-color: var(--wo-shadow-md);
    --tw-shadow: var(--tw-shadow-colored);
}
.hover\:brightness-95:hover {
    --tw-brightness: brightness(.95);
    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);
}
.hover\:\[box-shadow\:var\(--aisf-gradient-shadow-hover\)\]:hover {
    box-shadow: var(--aisf-gradient-shadow-hover);
}
.focus\:border-\[var\(--aisf-accent\)\]:focus {
    border-color: var(--aisf-accent);
}
.focus\:border-\[var\(--aisf-danger\)\]:focus {
    border-color: var(--aisf-danger);
}
.focus\:border-\[var\(--wo-primary\)\]:focus {
    border-color: var(--wo-primary);
}
.focus\:border-destructive:focus {
    border-color: hsl(var(--destructive));
}
.focus\:border-ring:focus {
    border-color: hsl(var(--ring));
}
.focus\:bg-accent:focus {
    background-color: hsl(var(--accent));
}
.focus\:text-accent-foreground:focus {
    color: hsl(var(--accent-foreground));
}
.focus\:opacity-100:focus {
    opacity: 1;
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus\:ring-0:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-1:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[var\(--wo-primary\)\]:focus {
    --tw-ring-color: var(--wo-primary);
}
.focus\:ring-ring:focus {
    --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-ring\/30:focus {
    --tw-ring-color: hsl(var(--ring) / 0.3);
}
.focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
}
.focus\:ring-offset-1:focus {
    --tw-ring-offset-width: 1px;
}
.focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}
.focus\:\[box-shadow\:0_0_0_2px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 2px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.focus\:\[box-shadow\:0_0_0_3px_var\(--aisf-danger-soft\)\]:focus {
    box-shadow: 0 0 0 3px var(--aisf-danger-soft);
}
.focus\:\[box-shadow\:none\]:focus {
    box-shadow: none;
}
.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus-visible\:outline:focus-visible {
    outline-style: solid;
}
.focus-visible\:outline-1:focus-visible {
    outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
    outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
}
.focus-visible\:outline-offset-\[-2px\]:focus-visible {
    outline-offset: -2px;
}
.focus-visible\:outline-\[var\(--aisf-accent\)\]:focus-visible {
    outline-color: var(--aisf-accent);
}
.focus-visible\:outline-neutral-400:focus-visible {
    outline-color: #a3a3a3;
}
.focus-visible\:outline-primary:focus-visible {
    outline-color: hsl(var(--primary));
}
.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-\[var\(--aisf-accent\)\]:focus-visible {
    --tw-ring-color: var(--aisf-accent);
}
.focus-visible\:ring-primary\/40:focus-visible {
    --tw-ring-color: hsl(var(--primary) / 0.4);
}
.focus-visible\:ring-ring:focus-visible {
    --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-ring\/40:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.4);
}
.focus-visible\:ring-ring\/50:focus-visible {
    --tw-ring-color: hsl(var(--ring) / 0.5);
}
.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
    --tw-ring-offset-color: hsl(var(--background));
}
.focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\]:focus-visible {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.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));
}
.active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active {
    cursor: grabbing;
}
.disabled\:pointer-events-none:disabled {
    pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}
.disabled\:opacity-40:disabled {
    opacity: 0.4;
}
.disabled\:opacity-50:disabled {
    opacity: 0.5;
}
.disabled\:opacity-55:disabled {
    opacity: 0.55;
}
.disabled\:opacity-60:disabled {
    opacity: 0.6;
}
.disabled\:opacity-70:disabled {
    opacity: 0.7;
}
.disabled\:opacity-\[var\(--aisf-disabled-opacity\)\]:disabled {
    opacity: var(--aisf-disabled-opacity);
}
.disabled\:shadow-none:disabled {
    --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);
}
.disabled\:hover\:bg-transparent:hover:disabled {
    background-color: transparent;
}
.disabled\:hover\:text-muted-foreground\/60:hover:disabled {
    color: hsl(var(--muted-foreground) / 0.6);
}
.disabled\:active\:scale-100:active:disabled {
    --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));
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:focus-within .group-focus-within\:text-\[var\(--aisf-danger\)\] {
    color: var(--aisf-danger);
}
.group:hover .group-hover\:bg-muted {
    background-color: hsl(var(--muted));
}
.group:hover .group-hover\:text-\[var\(--aisf-accent\)\] {
    color: var(--aisf-accent);
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}
.group:focus .group-focus\:opacity-100 {
    opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
    border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
    border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
    background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
    background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
    background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
    --tw-text-opacity: 1;
    color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
    color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
    color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
    color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
    border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
    background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
    color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
    --tw-text-opacity: 1;
    color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
    --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
    --tw-ring-offset-color: #dc2626;
}
.peer:checked ~ .peer-checked\:border-\[var\(--aisf-accent\)\] {
    border-color: var(--aisf-accent);
}
.peer:checked ~ .peer-checked\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.peer:focus-visible ~ .peer-focus-visible\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
    cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
    opacity: 0.7;
}
.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled) {
    cursor: not-allowed;
}
.has-\[\:disabled\]\:opacity-\[var\(--aisf-disabled-opacity\)\]:has(:disabled) {
    opacity: var(--aisf-disabled-opacity);
}
.group:has(:checked) .group-has-\[\:checked\]\:left-auto {
    left: auto;
}
.group:has(:checked) .group-has-\[\:checked\]\:right-\[0\.125rem\] {
    right: 0.125rem;
}
.group:has(:checked) .group-has-\[\:checked\]\:bg-\[var\(--aisf-accent\)\] {
    background-color: var(--aisf-accent);
}
.group:has(:focus-visible) .group-has-\[\:focus-visible\]\:\[box-shadow\:0_0_0_3px_var\(--aisf-accent-soft\)\] {
    box-shadow: 0 0 0 3px var(--aisf-accent-soft);
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
    --tw-translate-x: 0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
    --tw-translate-y: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
    --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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
    --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));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
    --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));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
    --tw-translate-x: var(--radix-toast-swipe-end-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
    --tw-translate-x: var(--radix-toast-swipe-move-x);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
    background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-indigo-500[data-state="checked"] {
    --tw-bg-opacity: 1;
    background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
    background-color: hsl(var(--primary));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
    background-color: hsl(var(--accent));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
    background-color: hsl(var(--input));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
    color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
    color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
    color: hsl(var(--muted-foreground));
}
.data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 0.5;
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
    --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);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
    transition-property: none;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
    animation-name: enter;
    animation-duration: 150ms;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
    animation-name: exit;
    animation-duration: 150ms;
    --tw-exit-opacity: initial;
    --tw-exit-scale: initial;
    --tw-exit-rotate: initial;
    --tw-exit-translate-x: initial;
    --tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
    --tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
    --tw-exit-opacity: 0.8;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
    --tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
    --tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
    --tw-enter-scale: .95;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
    --tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
    --tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
    --tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
    --tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
    --tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
    --tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
    --tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
    --tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
    --tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
    --tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
    --tw-enter-translate-y: -100%;
}
@media (prefers-reduced-motion: no-preference) {
    .motion-safe\: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));
    }
    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
    .motion-safe\:animate-spin {
        animation: spin 1s linear infinite;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-\[width\] {
        transition-property: width;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:transition-all {
        transition-property: all;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\: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;
    }
    .motion-safe\:transition-transform {
        transition-property: transform;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }
    .motion-safe\:duration-200 {
        transition-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        transition-duration: 300ms;
    }
    .motion-safe\:ease-out {
        transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:duration-200 {
        animation-duration: 200ms;
    }
    .motion-safe\:duration-300 {
        animation-duration: 300ms;
    }
    .motion-safe\:ease-out {
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .motion-safe\:data-\[state\=open\]\:animate-in[data-state="open"] {
        animation-name: enter;
        animation-duration: 150ms;
        --tw-enter-opacity: initial;
        --tw-enter-scale: initial;
        --tw-enter-rotate: initial;
        --tw-enter-translate-x: initial;
        --tw-enter-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:animate-out[data-state="closed"] {
        animation-name: exit;
        animation-duration: 150ms;
        --tw-exit-opacity: initial;
        --tw-exit-scale: initial;
        --tw-exit-rotate: initial;
        --tw-exit-translate-x: initial;
        --tw-exit-translate-y: initial;
    }
    .motion-safe\:data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
        --tw-exit-opacity: 0;
    }
    .motion-safe\:data-\[state\=open\]\:fade-in-0[data-state="open"] {
        --tw-enter-opacity: 0;
    }
    .motion-safe\:data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
        --tw-exit-scale: .95;
    }
    .motion-safe\:data-\[state\=open\]\:zoom-in-95[data-state="open"] {
        --tw-enter-scale: .95;
    }
    .motion-safe\:data-\[side\=bottom\]\:slide-in-from-top-1[data-side="bottom"] {
        --tw-enter-translate-y: -0.25rem;
    }
    .motion-safe\:data-\[side\=left\]\:slide-in-from-right-1[data-side="left"] {
        --tw-enter-translate-x: 0.25rem;
    }
    .motion-safe\:data-\[side\=right\]\:slide-in-from-left-1[data-side="right"] {
        --tw-enter-translate-x: -0.25rem;
    }
    .motion-safe\:data-\[side\=top\]\:slide-in-from-bottom-1[data-side="top"] {
        --tw-enter-translate-y: 0.25rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .motion-reduce\:animate-none {
        animation: none;
    }
    .motion-reduce\:transition-none {
        transition-property: none;
    }
    .motion-reduce\:duration-0 {
        transition-duration: 0s;
        animation-duration: 0s;
    }
}
.dark\:border-amber-800\/40:is(.dark *) {
    border-color: rgb(146 64 14 / 0.4);
}
.dark\:border-blue-800:is(.dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-destructive:is(.dark *) {
    border-color: hsl(var(--destructive));
}
.dark\:bg-\[var\(--aisf-neutral-0\)\]:is(.dark *) {
    background-color: var(--aisf-neutral-0);
}
.dark\:bg-amber-900\/20:is(.dark *) {
    background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-950\/30:is(.dark *) {
    background-color: rgb(69 26 3 / 0.3);
}
.dark\:bg-blue-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950\/20:is(.dark *) {
    background-color: rgb(23 37 84 / 0.2);
}
.dark\:bg-blue-950\/30:is(.dark *) {
    background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-cyan-950\/30:is(.dark *) {
    background-color: rgb(8 51 68 / 0.3);
}
.dark\:bg-fuchsia-950\/30:is(.dark *) {
    background-color: rgb(74 4 78 / 0.3);
}
.dark\:bg-green-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900\/30:is(.dark *) {
    background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-950\/30:is(.dark *) {
    background-color: rgb(5 46 22 / 0.3);
}
.dark\:bg-indigo-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(131 24 67 / var(--tw-bg-opacity, 1));
}
.dark\:bg-pink-950\/30:is(.dark *) {
    background-color: rgb(80 7 36 / 0.3);
}
.dark\:bg-purple-900:is(.dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-950\/30:is(.dark *) {
    background-color: rgb(59 7 100 / 0.3);
}
.dark\:bg-violet-950\/30:is(.dark *) {
    background-color: rgb(46 16 101 / 0.3);
}
.dark\:text-amber-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-300:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is(.dark *) {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:\[color\:var\(--aisf-neutral-900\)\]:is(.dark *) {
    color: var(--aisf-neutral-900);
}
@media (min-width: 360px) {
    .min-\[360px\]\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 640px) {
    .sm\:bottom-0 {
        bottom: 0px;
    }
    .sm\:right-0 {
        right: 0px;
    }
    .sm\:top-auto {
        top: auto;
    }
    .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .sm\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .sm\:block {
        display: block;
    }
    .sm\:inline {
        display: inline;
    }
    .sm\:w-44 {
        width: 11rem;
    }
    .sm\:w-64 {
        width: 16rem;
    }
    .sm\:w-\[480px\] {
        width: 480px;
    }
    .sm\:w-auto {
        width: auto;
    }
    .sm\:max-w-2xl {
        max-width: 42rem;
    }
    .sm\:max-w-\[75\%\] {
        max-width: 75%;
    }
    .sm\:max-w-lg {
        max-width: 32rem;
    }
    .sm\:max-w-md {
        max-width: 28rem;
    }
    .sm\:max-w-xl {
        max-width: 36rem;
    }
    .sm\:flex-1 {
        flex: 1 1 0%;
    }
    .sm\:basis-64 {
        flex-basis: 16rem;
    }
    .sm\:basis-auto {
        flex-basis: auto;
    }
    .sm\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .sm\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .sm\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .sm\:grid-cols-\[14rem_1fr_auto\] {
        grid-template-columns: 14rem 1fr auto;
    }
    .sm\:grid-cols-\[1fr_1fr_1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[1fr_1fr_auto_auto\] {
        grid-template-columns: 1fr 1fr auto auto;
    }
    .sm\:grid-cols-\[5rem_1fr_1fr_auto\] {
        grid-template-columns: 5rem 1fr 1fr auto;
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:flex-col {
        flex-direction: column;
    }
    .sm\:flex-wrap {
        flex-wrap: wrap;
    }
    .sm\:items-start {
        align-items: flex-start;
    }
    .sm\:items-end {
        align-items: flex-end;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:justify-end {
        justify-content: flex-end;
    }
    .sm\:justify-between {
        justify-content: space-between;
    }
    .sm\:gap-0 {
        gap: 0px;
    }
    .sm\:gap-4 {
        gap: 1rem;
    }
    .sm\: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)));
    }
    .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
    }
    .sm\:rounded-lg {
        border-radius: var(--radius);
    }
    .sm\:p-6 {
        padding: 1.5rem;
    }
    .sm\:text-left {
        text-align: left;
    }
    .sm\:text-\[32px\] {
        font-size: 32px;
    }
    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
        --tw-enter-translate-y: 100%;
    }
}
@media (min-width: 768px) {
    .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .md\:flex {
        display: flex;
    }
    .md\:max-w-\[420px\] {
        max-width: 420px;
    }
    .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-\[80px_1fr_1fr_auto\] {
        grid-template-columns: 80px 1fr 1fr auto;
    }
    .md\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:text-sm {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
@media (min-width: 1024px) {
    .lg\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .lg\:block {
        display: block;
    }
    .lg\:flex {
        display: flex;
    }
    .lg\:hidden {
        display: none;
    }
    .lg\:w-\[54\%\] {
        width: 54%;
    }
    .lg\:max-w-\[420px\] {
        max-width: 420px;
    }
    .lg\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-\[1\.2fr_1fr\] {
        grid-template-columns: 1.2fr 1fr;
    }
    .lg\:grid-cols-\[1\.55fr_1fr\] {
        grid-template-columns: 1.55fr 1fr;
    }
    .lg\:grid-cols-\[1fr_auto_1fr\] {
        grid-template-columns: 1fr auto 1fr;
    }
    .lg\:grid-cols-\[340px_1fr\] {
        grid-template-columns: 340px 1fr;
    }
    .lg\:grid-cols-\[minmax\(220px\2c 1fr\)_minmax\(0\2c 3fr\)\] {
        grid-template-columns: minmax(220px,1fr) minmax(0,3fr);
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:gap-8 {
        gap: 2rem;
    }
    .lg\:p-11 {
        padding: 2.75rem;
    }
    .lg\:px-16 {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}
@media (min-width: 1280px) {
    .xl\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .xl\:grid {
        display: grid;
    }
    .xl\:hidden {
        display: none;
    }
    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .xl\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.4fr\)_11rem\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) 11rem;
    }
    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1\.5fr\)\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1.5fr);
    }
    .xl\:grid-cols-\[minmax\(200px\2c 1\.5fr\)_repeat\(3\2c minmax\(140px\2c 1fr\)\)\] {
        grid-template-columns: minmax(200px,1.5fr) repeat(3,minmax(140px,1fr));
    }
    .xl\:flex-col {
        flex-direction: column;
    }
    .xl\:items-end {
        align-items: flex-end;
    }
    .xl\:justify-start {
        justify-content: flex-start;
    }
    .xl\:gap-6 {
        gap: 1.5rem;
    }
    .xl\:border-t-0 {
        border-top-width: 0px;
    }
    .xl\:px-20 {
        padding-left: 5rem;
        padding-right: 5rem;
    }
    .xl\:pt-0 {
        padding-top: 0px;
    }
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
    padding-right: 0px;
}
.\[\&\>button\]\:w-auto>button {
    width: auto;
}
.\[\&\>button\]\:whitespace-nowrap>button {
    white-space: nowrap;
}
.\[\&\>button\]\:border-\[var\(--wo-border\)\]>button {
    border-color: var(--wo-border);
}
.\[\&\>button\]\:bg-\[var\(--wo-card\)\]>button {
    background-color: var(--wo-card);
}
.\[\&\>button\]\:text-\[var\(--wo-fg2\)\]>button {
    color: var(--wo-fg2);
}
.\[\&\>div\]\:\!block>div {
    display: block !important;
}
.\[\&\>span\]\:line-clamp-1>span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.\[\&\>span\]\:min-w-0>span {
    min-width: 0px;
}
.\[\&\>span\]\:truncate>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.peer:checked ~ .peer-checked\:\[\&\>span\]\:opacity-100>span {
    opacity: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
    --tw-translate-y: -3px;
    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));
}
.\[\&\>svg\]\:absolute>svg {
    position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
    left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
    top: 1rem;
}
.\[\&\>svg\]\:shrink-0>svg {
    flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
    color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
    color: hsl(var(--foreground));
}
.peer:checked ~ .peer-checked\:\[\&\>svg\]\:opacity-100>svg {
    opacity: 1;
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
    padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
    border-bottom-width: 0px;
}
.\[\&_\[role\=option\]\]\:whitespace-normal [role=option] {
    white-space: normal;
}
.\[\&_\[role\=option\]\]\:break-all [role=option] {
    word-break: break-all;
}
.\[\&_p\]\:leading-relaxed p {
    line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
    pointer-events: none;
}
.\[\&_svg\]\:mx-auto svg {
    margin-left: auto;
    margin-right: auto;
}
.\[\&_svg\]\:size-4 svg {
    width: 1rem;
    height: 1rem;
}
.\[\&_svg\]\:h-auto svg {
    height: auto;
}
.\[\&_svg\]\:max-w-full svg {
    max-width: 100%;
}
.\[\&_svg\]\:shrink-0 svg {
    flex-shrink: 0;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
    border-bottom-width: 1px;
}
.knowledge-documents {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 4px 0 12px;
}
.knowledge-documents__intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.knowledge-documents h2 {
  margin: 0 0 6px;
  font-size: var(--aisf-font-size-16, 16px);
  font-weight: 600;
}
.knowledge-documents h3 {
  margin: 0 0 4px;
  font-size: var(--aisf-font-size-14, 14px);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.knowledge-documents button {
  flex-shrink: 0;
  width: auto;
  white-space: nowrap;
}
.knowledge-documents__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.knowledge-documents__summary > button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--aisf-border);
  border-radius: var(--aisf-radius-lg, 12px);
  background: var(--aisf-surface);
  color: var(--aisf-text-muted);
}
.knowledge-documents__summary > button[aria-pressed="true"] {
  border-color: var(--aisf-accent);
  background: var(--aisf-accent-soft);
}
.knowledge-documents__summary strong {
  font-size: 22px;
  line-height: 1.2;
  color: var(--aisf-text);
}
.knowledge-documents__filters {
  display: grid;
  grid-template-columns: minmax(200px, 2fr) repeat(2, minmax(150px, 1fr));
  gap: 12px;
  align-items: end;
}
.knowledge-documents__list {
  border: 1px solid var(--aisf-border);
  border-radius: var(--aisf-radius-lg, 12px);
  overflow: hidden;
}
.knowledge-documents__row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid var(--aisf-border);
}
.knowledge-documents__row:last-child {
  border-bottom: none;
}
.knowledge-documents__details {
  flex: 1;
  min-width: 0;
}
.knowledge-documents__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.knowledge-documents__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 32px 20px;
  text-align: center;
  color: var(--aisf-text-muted);
}
.knowledge-documents__pagination,
.knowledge-documents__pagination > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.knowledge-documents__notice {
  padding: 12px 16px;
  background: var(--aisf-accent-soft);
  border-radius: var(--aisf-radius-md, 8px);
}
@media (max-width: 1100px) {
  .knowledge-documents__row {
    flex-wrap: wrap;
  }
  .knowledge-documents__actions {
    width: 100%;
    padding-left: 36px;
  }
}
@media (max-width: 700px) {
  .knowledge-documents__filters {
    grid-template-columns: 1fr;
  }
  .knowledge-documents__summary {
    gap: 6px;
  }
  .knowledge-documents__summary > button {
    padding: 10px;
    white-space: normal;
    text-align: left;
  }
  .knowledge-documents__intro {
    flex-wrap: wrap;
  }
  .knowledge-documents__pagination {
    flex-wrap: wrap;
  }
  .knowledge-documents__actions {
    padding-left: 0;
    justify-content: flex-start;
  }
}
.lc-module,
.documents-dialog {
  --lc-line: var(--aisf-border, #e0e5eb);
  --lc-muted: var(--aisf-text-muted, #6a7585);
  --lc-bg: var(--aisf-bg, #f5f7fa);
  --lc-card: var(--aisf-surface, #fff);
  --lc-accent: var(--aisf-accent, #3551f2);
  color: var(--aisf-text, #202a3b);
  font-family: var(--aisf-font-ui, Inter, system-ui, sans-serif);
  font-size: var(--aisf-font-size-14, 14px);
  line-height: 1.5;
}
.lc-module {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  color: var(--aisf-text, #202a3b);
  font-family: var(--aisf-font-ui, Inter, system-ui, sans-serif);
  font-size: var(--aisf-font-size-14, 14px);
  background: var(--lc-bg);
}
.lc-module * {
  box-sizing: border-box;
}
.lc-module h1,
.lc-module h2,
.lc-module h3,
.lc-module p {
  margin: 0;
}
.lc-module h1 {
  font-size: var(--aisf-font-size-24, 24px);
  font-weight: 600;
  letter-spacing: -0.4px;
  line-height: 1.3;
}
.lc-module h2 {
  font-size: var(--aisf-font-size-16, 16px);
  font-weight: 600;
}
.lc-module h3 {
  font-size: var(--aisf-font-size-14, 14px);
  font-weight: 600;
}
.lc-module small {
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
  display: block;
}
.lc-module button:not(:disabled),
.lc-module summary {
  cursor: pointer;
}
.lc-module button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.lc-module button:focus-visible,
.lc-module a:focus-visible,
.lc-module input:focus-visible,
.lc-module textarea:focus-visible,
.lc-module select:focus-visible {
  outline: 2px solid var(--lc-accent);
  outline-offset: 2px;
}
.lc-module a {
  color: var(--lc-accent);
}
.lc-nav {
  width: 280px;
  flex-shrink: 0;
  min-height: 0;
  background: var(--lc-card);
  border-right: 1px solid var(--lc-line);
  display: flex;
  flex-direction: column;
  padding: 12px 0 16px;
}
.lc-nav-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 16px 8px;
  font-size: var(--aisf-font-size-11, 11px);
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--aisf-text-subtle, #8f98a8);
}
.lc-nav-create {
  padding: 0 16px 16px;
}
.lc-module .lc-nav-create > .lc-button {
  width: 100%;
}
.lc-nav-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 8px;
  overflow-y: auto;
  min-height: 0;
}
.lc-nav-links > a {
  color: var(--lc-muted);
  min-height: 40px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: var(--aisf-radius-md, 8px);
  font-size: var(--aisf-font-size-14, 14px);
  text-decoration: none;
  white-space: nowrap;
}
.lc-nav-links > a svg {
  flex-shrink: 0;
}
.lc-nav-links > a:hover {
  background: var(--aisf-bg-hover, #eef1f7);
}
.lc-nav-links > a.active {
  color: var(--lc-accent);
  background: var(--aisf-accent-soft, #edf0fe);
  font-weight: 500;
}
.lc-nav-note {
  margin-top: auto;
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 24px 20px 0;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.6;
}
.lc-nav-note svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.lc-menu-bar {
  border-bottom: 1px solid var(--lc-line);
  padding: 8px 16px;
  background: var(--lc-card);
}
.lc-module .lc-button,
.documents-dialog .lc-button {
  width: auto;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-module .lc-menu-toggle {
  width: 28px;
  height: 28px;
  padding: 0;
}
.lc-button > span {
  white-space: inherit;
}
.lc-module button svg,
.documents-dialog button svg {
  flex-shrink: 0;
}
.lc-module .lc-actions > button {
  width: auto;
  white-space: nowrap;
}
.lc-module .lc-page-head > button {
  align-self: flex-start;
}
.lc-content {
  min-width: 0;
  flex: 1;
  overflow: auto;
  min-height: 0;
}
.lc-page {
  padding: 32px;
  max-width: 1500px;
  margin: auto;
}
.lc-page-head {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 26px;
}
.lc-eyebrow {
  font-size: var(--aisf-font-size-12, 12px);
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--lc-accent);
  display: block;
  margin-bottom: 7px;
}
.lc-page-head p {
  color: var(--lc-muted);
  margin-top: 8px;
  line-height: 1.7;
}
.lc-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 26px;
}
.lc-stats > div {
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 10px;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lc-stats span {
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-14, 14px);
}
.lc-stats strong {
  font-size: var(--aisf-font-size-24, 24px);
  font-weight: 600;
}
.lc-card {
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 10px;
  overflow: hidden;
}
.lc-pad {
  padding: 22px;
}
.lc-card-head {
  display: flex;
  justify-content: space-between;
  padding: 20px;
  align-items: center;
  border-bottom: 1px solid var(--lc-line);
}
.lc-card-head input {
  max-width: 240px;
}
.lc-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: var(--aisf-font-size-14, 14px);
}
.lc-table th {
  font-size: var(--aisf-font-size-12, 12px);
  text-transform: uppercase;
  color: var(--lc-muted);
  font-weight: 600;
  letter-spacing: 0.6px;
  background: var(--lc-bg);
}
.lc-table th,
.lc-table td {
  padding: 15px 18px;
  border-bottom: 1px solid var(--lc-line);
}
.lc-table td > a {
  display: block;
  text-decoration: none;
}
.lc-table small {
  margin-top: 5px;
}
.lc-table tbody tr:hover {
  background: var(--lc-bg);
}
.lc-pill {
  display: inline-block;
  border-radius: 5px;
  padding: 4px 7px;
  font-size: var(--aisf-font-size-12, 12px);
  font-weight: 600;
  background: var(--aisf-accent-soft, #efedff);
  color: var(--lc-accent);
  white-space: nowrap;
}
.lc-pill.draft,
.lc-pill.unverified {
  background: var(--aisf-neutral-100, #eef1f5);
  color: var(--lc-muted);
}
.lc-pill.closed,
.lc-pill.green {
  background: var(--aisf-status-green-bg, #e9f6f0);
  color: var(--aisf-status-green-fg, #21715a);
}
.lc-pill.yellow {
  background: var(--aisf-status-yellow-bg, #fff4db);
  color: var(--aisf-status-yellow-fg, #96631b);
}
.lc-pill.red {
  background: var(--aisf-status-red-bg, #fcecec);
  color: var(--aisf-status-red-fg, #b64545);
}
.lc-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  padding: 70px 35px;
  text-align: center;
  color: var(--lc-muted);
}
.lc-empty p {
  max-width: 410px;
  font-size: var(--aisf-font-size-14, 14px);
  line-height: 1.8;
}
.lc-empty h2 {
  color: var(--aisf-text, #263347);
}
.lc-empty svg {
  color: var(--lc-accent);
}
.lc-empty.compact {
  padding: 40px 18px;
}
.lc-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 60px;
}
.lc-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: var(--aisf-font-size-14, 14px);
  min-width: 0;
  margin: 14px 0;
}
.lc-field > span {
  font-weight: 550;
}
.lc-module input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.lc-module textarea,
.lc-module select,
.documents-dialog input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.documents-dialog textarea,
.documents-dialog select {
  font: inherit;
  background: var(--lc-card);
  color: inherit;
  border: 1px solid var(--lc-line);
  border-radius: 6px;
  padding: 9px 10px;
  min-width: 0;
  width: 100%;
}
.lc-module select[multiple],
.documents-dialog select[multiple] {
  min-height: 90px;
}
.lc-module textarea,
.documents-dialog textarea {
  resize: vertical;
  line-height: 1.65;
}
.lc-module input[type="file"],
.documents-dialog input[type="file"] {
  font-size: var(--aisf-font-size-13, 13px);
  max-width: 100%;
}
.lc-checkbox {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
}
.lc-checkbox input {
  accent-color: var(--lc-accent);
  flex-shrink: 0;
}
.lc-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}
.lc-intake-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.lc-intake-progress { padding: 24px 0; }
.lc-intake-progress > p { color: var(--lc-muted); font-size: 13px; line-height: 1.6; margin-top: 16px; }
.lc-upload {
  border: 1px dashed var(--lc-line);
  border-radius: 9px;
  background: var(--lc-bg);
  padding: 20px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  text-align: center;
}
.lc-upload > span {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-upload svg {
  color: var(--lc-accent);
}
.lc-notice {
  background: var(--aisf-accent-soft, #eeedff);
  padding: 12px 15px;
  color: var(--lc-accent);
  font-size: var(--aisf-font-size-14, 14px);
  line-height: 1.7;
  margin: 10px 0;
  border-radius: 6px;
}
.lc-notice a,
.lc-notice button {
  margin: 5px 8px;
}
.lc-error {
  background: var(--aisf-status-red-bg, #ffefed);
  border-left: 3px solid var(--aisf-status-red-fg, #ad3838);
  padding: 12px 16px;
  color: var(--aisf-status-red-fg, #ad3838);
  font-size: var(--aisf-font-size-14, 14px);
  line-height: 1.6;
  margin: 10px;
  overflow-wrap: anywhere;
}
.lc-resource-grid {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(320px, 1.2fr);
  gap: 24px;
}
.lc-resource {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid var(--lc-line);
}
.lc-resource small {
  margin-top: 5px;
}
.lc-resource details {
  width: 100%;
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
}
.lc-resource pre {
  white-space: pre-wrap;
  max-height: 300px;
  overflow: auto;
  margin-top: 10px;
}
.lc-code {
  font-family: monospace !important;
  font-size: 11px !important;
}
.lc-knowledge {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.lc-knowledge-head {
  padding: 26px 26px 0;
}
.lc-knowledge-head p {
  color: var(--lc-muted);
  margin: 8px 0 16px;
}
.lc-canvas {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}
.lc-canvas-head {
  padding: 20px 23px 18px;
  background: var(--lc-card);
  display: flex;
  gap: 15px;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--lc-line);
}
.lc-canvas-head > div:first-child {
  flex: 1 1 260px;
  min-width: 0;
}
.lc-canvas-head > .lc-actions {
  justify-content: flex-end;
  margin-left: auto;
}
.lc-canvas-head h1 {
  font-size: var(--aisf-font-size-20, 20px);
  margin: 6px 0;
}
.lc-canvas-head > div > span,
.lc-canvas-head a {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-actions {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}
.lc-canvas-head .lc-actions > button {
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-canvas-grid {
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(300px, 1fr) minmax(
      265px,
      320px
    );
  min-height: 0;
  flex: 1;
}
.lc-sources {
  background: var(--lc-card);
  border-right: 1px solid var(--lc-line);
  padding: 18px 14px;
  overflow: auto;
}
.lc-panel-title {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
}
.lc-panel-title h2 {
  font-size: var(--aisf-font-size-14, 14px);
}
.lc-sources h3 {
  color: var(--lc-muted);
  margin: 18px 0 10px;
  font-size: var(--aisf-font-size-12, 12px);
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.lc-file {
  display: flex;
  gap: 9px;
  align-items: center;
  border: 1px solid transparent;
  width: 100%;
  text-align: left;
  padding: 10px 9px;
  margin: 5px 0;
  border-radius: 6px;
  background: transparent;
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.4;
}
.lc-file svg {
  color: var(--lc-muted);
  flex-shrink: 0;
}
.lc-file small {
  font-size: var(--aisf-font-size-11, 11px);
  margin-top: 3px;
}
.lc-file.selected {
  background: var(--aisf-accent-soft, #efedff);
  border-color: var(--lc-line);
  color: var(--lc-accent);
}
.lc-file-upload {
  display: block;
  position: relative;
  overflow: hidden;
  border: 1px dashed var(--lc-line);
  border-radius: 6px;
  padding: 9px 8px;
  margin: 10px 0;
  text-align: center;
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  cursor: pointer;
}
.lc-file-upload input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
}
.lc-case-resources {
  border-top: 1px solid var(--lc-line);
  padding-top: 17px;
  font-size: var(--aisf-font-size-13, 13px);
  margin-top: 20px;
}
.lc-case-resources select {
  margin: 10px 0;
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-case-resources p {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  margin-top: 10px;
}
.lc-source-preview {
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.7;
}
.lc-source-preview blockquote {
  border-left: 2px solid var(--lc-accent);
  margin: 12px 0;
  padding: 10px 12px;
  background: var(--lc-bg);
}
.lc-source-preview blockquote button {
  font-size: var(--aisf-font-size-12, 12px);
  margin-top: 8px;
  color: var(--lc-accent);
}
.lc-source-preview details > p {
  margin-top: 12px;
  white-space: pre-wrap;
}
.lc-document {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: auto;
}
.lc-document-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 13px 18px;
  border-bottom: 1px solid var(--lc-line);
  background: var(--lc-card);
}
.lc-document-toolbar > span {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-segment {
  display: flex;
  gap: 2px;
  padding: 3px;
  background: var(--lc-bg);
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  width: -moz-fit-content;
  width: fit-content;
}
.lc-segment > button {
  padding: 6px 10px;
  border-radius: 5px;
  background: transparent;
  border: 0;
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
}
.lc-segment > button.active {
  background: var(--lc-card);
  color: var(--lc-accent);
  box-shadow: 0 1px 3px #16223815;
  font-weight: 600;
}
.lc-document-scroll {
  overflow: auto;
  padding: 26px;
  min-height: 260px;
  flex: 1;
}
.lc-paper {
  background: white;
  color: #273246;
  max-width: 800px;
  margin: 0 auto;
  min-height: 580px;
  padding: 28px 35px;
  box-shadow: 0 2px 10px #24365312;
  border: 1px solid #e3e7ed;
}
.lc-paper-header {
  font:
    9px/1.5 system-ui,
    sans-serif;
  letter-spacing: 0.4px;
  color: #7c8795;
  display: flex;
  justify-content: space-between;
  padding-bottom: 24px;
  border-bottom: 1px solid #edf0f4;
  margin-bottom: 18px;
}
.lc-block {
  display: flex;
  position: relative;
  gap: 12px;
  padding: 13px 9px;
  border-left: 3px solid transparent;
  cursor: default;
  line-height: 1.85;
  font-size: var(--aisf-font-size-14, 14px);
}
.lc-paper .lc-block > div {
  font-family: Georgia, serif;
  font-size: var(--aisf-font-size-14, 14px);
  white-space: pre-wrap;
}
.lc-block > small {
  font:
    8px/2 system-ui,
    sans-serif;
  min-width: 20px;
  color: #a3adba;
}
.lc-block > div {
  flex: 1;
  overflow-wrap: anywhere;
}
.lc-block.selected {
  background: #f4f1ff;
  border-left-color: #7564db;
}
.lc-block.red {
  border-left-color: #ce7777;
}
.lc-block.yellow {
  border-left-color: #deb365;
}
.lc-block.green {
  border-left-color: #75b698;
}
.lc-block del {
  display: block;
  background: #fceced;
  color: #a44141;
  text-decoration: line-through;
}
.lc-block ins {
  display: block;
  background: #ebf7ef;
  color: #286340;
  text-decoration: none;
}
.lc-proposed {
  border-top: 1px dashed #cabef0;
  margin-top: 10px;
  padding-top: 9px;
  color: #5d4689;
}
.lc-proposed > span {
  display: block;
  font:
    9px/1.6 system-ui,
    sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.lc-edit-block {
  display: none;
  position: absolute;
  right: 5px;
  top: 2px;
  font:
    9px system-ui,
    sans-serif;
  color: var(--lc-accent);
  background: var(--lc-card);
  padding: 3px 5px;
  border: 1px solid var(--lc-line);
  border-radius: 3px;
}
.lc-block:hover .lc-edit-block,
.lc-block:focus-within .lc-edit-block {
  display: block;
}
.lc-inline-edit {
  padding: 15px 22px;
  background: var(--lc-card);
  border-top: 1px solid var(--lc-line);
}
.lc-inline-edit p {
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
  margin-bottom: 10px;
}
.lc-inline-edit button {
  margin-right: 8px;
}
.lc-revision-map {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 18px;
  border-top: 1px solid var(--lc-line);
  background: var(--lc-card);
  overflow: auto;
  min-height: 42px;
}
.lc-revision-map > button {
  width: 23px;
  height: 20px;
  border-radius: 4px;
  background: #e7eaf0;
  color: #516078;
  border: 1px solid transparent;
  font-size: var(--aisf-font-size-11, 11px);
  flex-shrink: 0;
}
.lc-revision-map > button.red {
  background: #f3d8d8;
}
.lc-revision-map > button.yellow {
  background: #f5e5bf;
}
.lc-revision-map > button.green {
  background: #cfe9dc;
}
.lc-revision-map > button.active {
  border: 2px solid var(--lc-accent);
}
.lc-revision-map > span {
  margin-left: auto;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-11, 11px);
  white-space: nowrap;
}
.lc-review {
  border-left: 1px solid var(--lc-line);
  padding: 14px;
  background: var(--lc-card);
  overflow: auto;
}
.lc-review > .lc-segment {
  margin-bottom: 17px;
}
.lc-findings-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 230px;
  overflow: auto;
  border-bottom: 1px solid var(--lc-line);
  padding-bottom: 14px;
}
.lc-findings-list > button {
  display: flex;
  gap: 8px;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 10px 8px;
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.6;
}
.lc-findings-list > button.selected {
  background: var(--lc-bg);
  border-color: var(--lc-line);
}
.lc-findings-list small {
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
  background: #a6aebc;
}
.lc-dot.red {
  background: #c56565;
}
.lc-dot.yellow {
  background: #dca54d;
}
.lc-dot.green {
  background: #5b9d80;
}
.lc-finding-detail {
  padding: 17px 2px;
}
.lc-finding-detail h2 {
  font-size: var(--aisf-font-size-16, 16px);
  line-height: 1.6;
  margin: 12px 0;
}
.lc-finding-detail > p {
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.8;
  margin-bottom: 10px;
}
.lc-finding-detail > small {
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-finding-detail .lc-field {
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-finding-detail .lc-actions > button {
  font-size: var(--aisf-font-size-12, 12px);
  padding: 6px 10px;
  min-height: 30px;
}
.lc-text-button {
  font: inherit;
  color: var(--lc-accent);
  background: transparent;
  border: 0;
  text-align: left;
  font-size: var(--aisf-font-size-12, 12px);
  padding: 8px 0;
}
.lc-finding-detail h3 {
  margin-top: 25px;
  margin-bottom: 9px;
}
.lc-muted {
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-assign {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 14px;
}
.lc-assign select {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-assign button {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-assignment {
  padding: 12px;
  background: var(--lc-bg);
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  margin-top: 10px;
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.7;
}
.lc-assignment > span {
  display: block;
  color: var(--lc-muted);
}
.lc-assignment textarea {
  margin: 8px 0;
}
.lc-assignment button {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-history article {
  padding: 14px 0;
  border-bottom: 1px solid var(--lc-line);
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.6;
}
.lc-history strong {
  display: block;
  margin: 5px 0;
}
.lc-history p {
  margin-top: 7px;
}
.lc-origin {
  font-size: var(--aisf-font-size-11, 11px);
  padding: 2px 5px;
  border-radius: 4px;
  background: var(--lc-bg);
}
.lc-origin.agent {
  color: var(--lc-accent);
  background: var(--aisf-accent-soft, #efedff);
}
.lc-history h3 {
  margin: 20px 0;
}
.lc-download {
  display: block;
  padding: 10px 0;
  font-size: var(--aisf-font-size-13, 13px);
  border-bottom: 1px solid var(--lc-line);
}
.lc-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 23px;
  background: var(--lc-card);
  border-bottom: 1px solid var(--lc-line);
}
.lc-toolbar > .lc-field {
  flex: 1;
}
.lc-toolbar > span {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-conversation {
  background: var(--lc-card);
  border-top: 1px solid var(--lc-line);
  padding: 12px 18px;
}
.lc-conversation-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--aisf-font-size-13, 13px);
  margin-bottom: 9px;
  color: var(--lc-accent);
}
.lc-conversation-title > span {
  font-size: var(--aisf-font-size-11, 11px);
  color: var(--lc-muted);
  margin-left: auto;
}
.lc-conversation-title button {
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-messages {
  max-height: 260px;
  overflow: auto;
  margin-bottom: 12px;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-messages article {
  padding: 11px 13px;
  margin: 7px 0;
  border-radius: 6px;
  background: var(--lc-bg);
  line-height: 1.8;
  white-space: pre-wrap;
}
.lc-messages article.user {
  margin-left: 25px;
  background: var(--aisf-accent-soft, #f0edff);
}
.lc-messages article.assistant {
  margin-right: 15px;
}
.lc-messages small {
  font-weight: 600;
  font-size: var(--aisf-font-size-11, 11px);
  margin-bottom: 4px;
}
.lc-messages details {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  padding: 7px;
}
.lc-messages ol {
  padding-left: 16px;
}
.lc-composer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  gap: 10px;
}
.lc-composer-actions button {
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-composer-actions label {
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-sheets {
  display: flex;
  gap: 3px;
  padding: 10px 15px;
  background: var(--lc-card);
}
.lc-sheets button {
  padding: 6px 15px;
  font-size: var(--aisf-font-size-13, 13px);
  border-bottom: 2px solid transparent;
}
.lc-sheets button.active {
  border-color: var(--lc-accent);
  color: var(--lc-accent);
}
.lc-spreadsheet {
  border-collapse: collapse;
  font-size: var(--aisf-font-size-13, 13px);
  background: var(--lc-card);
}
.lc-spreadsheet td,
.lc-spreadsheet th {
  border: 1px solid var(--lc-line);
  min-width: 140px;
  vertical-align: top;
}
.lc-spreadsheet th {
  min-width: 35px;
  padding: 10px;
  background: var(--lc-bg);
  color: var(--lc-muted);
}
.lc-spreadsheet .lc-block {
  padding: 8px;
  font-size: var(--aisf-font-size-13, 13px);
  min-height: 55px;
  min-width: 130px;
  max-width: 300px;
}
.lc-spreadsheet .lc-block small {
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-document-scroll.is-sheet {
  padding: 15px;
}
.lc-excel-ops {
  padding: 13px 18px;
  background: var(--lc-card);
  border-top: 1px solid var(--lc-line);
}
.lc-excel-ops > summary {
  font-size: var(--aisf-font-size-13, 13px);
  font-weight: 600;
}
.lc-excel-ops p {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  line-height: 1.7;
  margin-bottom: 10px;
}
.lc-preview-table {
  overflow: auto;
  max-height: 240px;
  margin-top: 12px;
}
.lc-preview-table td {
  font-size: var(--aisf-font-size-12, 12px);
  padding: 8px;
}
@media (max-width: 1250px) {
  .lc-canvas-grid {
    grid-template-columns: 190px minmax(280px, 1fr) 290px;
  }
  .lc-paper {
    padding: 20px;
  }
  .lc-document-scroll {
    padding: 18px;
  }
  .lc-canvas-head {
    align-items: flex-start;
  }
  .lc-page {
    padding: 24px;
  }
}
@media (max-width: 1180px) {
  .lc-module {
    min-width: 0;
  }
  .lc-canvas {
    height: auto;
    min-height: 100%;
  }
  .lc-canvas-grid {
    grid-template-columns: 190px minmax(260px, 1fr);
  }
  .lc-review {
    grid-column: 1/-1;
    max-height: 650px;
    border-top: 1px solid var(--lc-line);
  }
  .lc-document-scroll {
    max-height: 600px;
  }
  .lc-review .lc-findings-list {
    max-height: 160px;
  }
  .lc-resource-grid {
    grid-template-columns: 1fr;
  }
  .lc-page-head {
    align-items: flex-start;
  }
  .lc-stats {
    gap: 8px;
  }
  .lc-stats > div {
    padding: 15px;
  }
  .lc-canvas-head h1 {
    font-size: var(--aisf-font-size-18, 18px);
  }
}
@media (max-width: 700px) {
  .lc-module {
    flex-direction: column;
  }
  .lc-nav {
    width: 100%;
    padding: 8px;
    border-right: 0;
    border-bottom: 1px solid var(--lc-line);
  }
  .lc-nav-links {
    flex-direction: row;
    overflow-x: auto;
    padding: 0;
  }
  .lc-nav-links > a {
    padding: 8px 10px;
  }
  .lc-nav-heading,
  .lc-nav-create,
  .lc-nav-note {
    display: none;
  }
  .lc-canvas-grid {
    display: flex;
    flex-direction: column;
  }
  .lc-sources {
    max-height: 260px;
    border-bottom: 1px solid var(--lc-line);
  }
  .lc-page {
    padding: 18px;
  }
  .lc-page-head {
    flex-direction: column;
  }
  .lc-stats {
    grid-template-columns: 1fr;
  }
  .lc-card {
    overflow: auto;
  }
  .lc-form-grid,
  .lc-intake-columns {
    grid-template-columns: 1fr;
  }
  .lc-canvas-head {
    padding: 14px;
    flex-direction: column;
  }
  .lc-canvas-head .lc-actions {
    max-width: none;
  }
  .lc-conversation-title > span {
    display: none;
  }
  .lc-paper {
    padding: 16px;
  }
  .lc-document-toolbar {
    flex-wrap: wrap;
  }
}

.lc-resource-editor fieldset {
  border: 1px solid var(--aisf-border, #ddd);
  border-radius: 10px;
  padding: 16px;
  margin: 16px 0;
}
.lc-resource-editor legend {
  font-weight: 600;
  padding: 0 6px;
}
.lc-resource-editor dt,
.lc-resource dt {
  font-weight: 600;
  font-size: var(--aisf-font-size-14, 14px);
  margin-top: 10px;
}
.lc-resource dd {
  margin: 4px 0;
}
.lc-resource-editor input,
.lc-resource-editor select,
.lc-resource-editor textarea {
  max-width: 100%;
}

/* Forms stay readable in the shared AISF modal, including portaled content. */
.documents-dialog h3 {
  font-size: var(--aisf-font-size-16, 16px);
  font-weight: 600;
}
.documents-dialog small {
  display: block;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.6;
}
.documents-dialog form {
  margin: 0;
}
.lc-field small {
  line-height: 1.6;
  font-weight: 400;
}
.lc-section-heading {
  border-top: 1px solid var(--lc-line);
  padding-top: 20px;
  margin-top: 16px;
}
.lc-section-heading p {
  color: var(--lc-muted);
  margin-top: 5px;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-team-options {
  display: grid;
  gap: 8px;
  max-height: 170px;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid var(--lc-line);
  border-radius: 8px;
}
.lc-team-options .lc-checkbox {
  align-items: flex-start;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-team-options .lc-checkbox input {
  margin-top: 4px;
}
.lc-actions {
  row-gap: 8px;
}
.lc-finding-detail .lc-actions > button,
.lc-canvas-head .lc-actions > button,
.lc-assign button {
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-editor > p {
  margin: 8px 0 16px;
  color: var(--lc-muted);
  line-height: 1.6;
}
.lc-upload {
  min-height: 172px;
  justify-content: center;
}
.lc-module input[type="file"]::file-selector-button,
.documents-dialog input[type="file"]::file-selector-button {
  font: inherit;
  padding: 6px 10px;
  margin-right: 8px;
  color: var(--lc-accent);
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 6px;
  cursor: pointer;
}
@media (max-width: 900px) and (min-width: 701px) {
  .lc-nav {
    width: 250px;
  }
  .lc-canvas-grid {
    display: flex;
    flex-direction: column;
  }
  .lc-sources {
    max-height: 300px;
  }
  .lc-canvas .lc-toolbar {
    flex-wrap: wrap;
  }
  .lc-canvas .lc-toolbar > .lc-field {
    flex-basis: 100%;
  }
}
@media (max-width: 700px) {
  .lc-content {
    min-height: 0;
  }
  .lc-card-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .lc-card-head input {
    max-width: none;
  }
  .lc-table {
    min-width: 620px;
  }
  .lc-card:has(> .lc-table) {
    overflow-x: auto;
  }
  .lc-canvas-head > .lc-actions {
    margin-left: 0;
    justify-content: flex-start;
  }
  .lc-canvas-head > div:first-child {
    flex-basis: auto;
  }
  .lc-form-grid,
  .lc-intake-columns {
    grid-template-columns: minmax(0, 1fr);
  }
}

fieldset.lc-field {
  padding: 0;
  border: 0;
}
fieldset.lc-field > legend {
  font-weight: 500;
  margin-bottom: 8px;
}

.lc-case-resources .lc-team-options {
  margin: 12px 0;
}

/* Assistant output keeps semantic Markdown without inheriting chat-message pre-wrap. */
.lc-markdown {
  white-space: normal;
  overflow-wrap: anywhere;
}
.lc-markdown > * + * {
  margin-top: 0.75em;
}
.lc-markdown h1,
.lc-markdown h2,
.lc-markdown h3,
.lc-markdown h4 {
  font-size: var(--aisf-font-size-16, 16px);
  line-height: 1.5;
  font-weight: 600;
}
.lc-markdown ul,
.lc-markdown ol {
  padding-left: 1.5em;
}
.lc-markdown ul {
  list-style: disc;
}
.lc-markdown ol {
  list-style: decimal;
}
.lc-markdown li + li {
  margin-top: 0.3em;
}
.lc-markdown li > p {
  margin: 0.25em 0;
}
.lc-markdown blockquote {
  border-left: 3px solid var(--lc-line);
  padding-left: 12px;
  color: var(--lc-muted);
}
.lc-markdown a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.lc-markdown pre {
  overflow-x: auto;
  white-space: pre;
  padding: 12px;
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 6px;
}
.lc-markdown code {
  font-family: var(--aisf-font-mono, monospace);
  font-size: 0.95em;
}
.lc-markdown table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}
.lc-markdown th,
.lc-markdown td {
  border: 1px solid var(--lc-line);
  padding: 8px 10px;
  text-align: left;
}
.lc-markdown th {
  font-weight: 600;
}
.lc-export-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 8px;
}
.lc-export-links a {
  margin: 0;
  text-decoration: underline;
  overflow-wrap: anywhere;
}

/* The review workspace keeps evidence and the corresponding passage in one scroll flow. */
.lc-content:has(.lc-canvas) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lc-content:has(.lc-canvas) > .lc-menu-bar {
  flex-shrink: 0;
}
.lc-canvas {
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  container-type: inline-size;
  container-name: legal-canvas;
  flex: 1 1 0;
}
.lc-canvas .lc-canvas-head {
  min-height: 58px;
  flex: 0 0 auto;
  padding: 8px 16px;
  gap: 8px 14px;
  flex-direction: row;
  align-items: center;
}
.lc-canvas .lc-canvas-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 260px;
  min-width: 0;
}
.lc-canvas-identity > div {
  min-width: 0;
}
.lc-canvas .lc-canvas-head h1 {
  font-size: var(--aisf-font-size-16, 16px);
  line-height: 1.4;
  margin: 0;
  letter-spacing: -0.15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lc-canvas-identity small {
  font-size: var(--aisf-font-size-11, 11px);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lc-canvas .lc-canvas-head .lc-actions {
  gap: 6px;
  margin-left: auto;
  justify-content: flex-end;
}
.lc-canvas .lc-canvas-head .lc-button {
  min-height: 30px;
  padding: 5px 10px;
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 5px;
}
.lc-back-link:hover {
  background: var(--lc-bg);
}
.lc-canvas-identity > .lc-pill {
  flex-shrink: 0;
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-canvas > .lc-notice,
.lc-canvas > .lc-error {
  margin: 0;
  border-radius: 0;
  flex-shrink: 0;
}
.lc-canvas .lc-document-toolbar {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 4px 12px;
  gap: 12px;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.lc-document-toolbar .lc-button {
  min-height: 28px;
  padding: 4px 8px;
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-canvas .lc-document-toolbar .lc-segment {
  padding: 2px;
  border: 0;
  background: transparent;
}
.lc-canvas .lc-document-toolbar .lc-segment > button {
  padding: 5px 10px;
  font-size: var(--aisf-font-size-12, 12px);
  white-space: nowrap;
}
.lc-canvas .lc-document-toolbar .lc-segment > button.active {
  box-shadow: none;
  background: var(--aisf-accent-soft, #edf0fe);
}
.lc-document-toolbar .lc-history-toggle {
  margin-left: auto;
}
.lc-document-meta {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lc-canvas .lc-canvas-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  min-height: 0;
  flex: 1 1 0;
  overflow: hidden;
}
.lc-canvas.context-open .lc-canvas-grid {
  grid-template-columns: 218px minmax(0, 1fr) 54px;
}
.lc-canvas .lc-context-panel {
  min-width: 0;
  min-height: 0;
  max-height: none;
  padding: 12px;
  z-index: 3;
  padding-bottom: 220px;
}
.lc-context-panel .lc-panel-title {
  margin: 0 0 12px;
  gap: 4px;
  justify-content: space-between;
}
.lc-context-panel .lc-panel-title h2 {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-context-panel .lc-panel-title > button {
  width: 25px;
  min-height: 25px;
  padding: 3px;
}
.lc-context-panel .lc-context-section,
.lc-context-panel .lc-case-resources {
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid var(--lc-line);
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-context-panel details > summary {
  font-weight: 600;
  font-size: var(--aisf-font-size-12, 12px);
  cursor: pointer;
  line-height: 1.6;
}
.lc-context-section > summary > span {
  margin-left: 6px;
  color: var(--lc-muted);
  font-weight: 400;
}
.lc-context-section > p {
  color: var(--lc-muted);
  margin: 8px 0;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.lc-context-panel .lc-file {
  font-size: var(--aisf-font-size-12, 12px);
  padding: 8px 5px;
}
.lc-context-panel .lc-file > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.lc-canvas .lc-document {
  overflow: hidden;
  container-type: inline-size;
  container-name: legal-document;
}
.lc-view-description {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 8px 18px;
  font-size: var(--aisf-font-size-11, 11px);
  color: var(--lc-muted);
  flex: 0 0 auto;
}
.lc-diff-legend {
  display: inline-flex;
  gap: 6px;
}
.lc-diff-legend del,
.lc-diff-legend ins {
  border-radius: 3px;
  padding: 0 4px;
}
.lc-diff-legend del {
  color: #994143;
  background: #fbe9e9;
}
.lc-diff-legend ins {
  color: #246343;
  background: #e4f3e9;
  text-decoration: none;
}
.lc-canvas .lc-document-scroll {
  min-height: 0;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
  scroll-padding: 20px 0 240px;
  padding: 10px 20px 240px;
  flex: 1 1 0;
  background: var(--lc-bg);
}
.lc-review-spread {
  --lc-evidence-width: 300px;
  --lc-evidence-gap: 22px;
  position: relative;
  display: grid;
  grid-template-columns: var(--lc-evidence-width) minmax(0, 1fr);
  -moz-column-gap: var(--lc-evidence-gap);
       column-gap: var(--lc-evidence-gap);
  max-width: 1120px;
  align-content: start;
  min-height: 640px;
  margin: 0 auto;
  padding-bottom: 32px;
  isolation: isolate;
}
.lc-paper-surface {
  position: absolute;
  inset: 0 0 0 calc(var(--lc-evidence-width) + var(--lc-evidence-gap));
  border: 1px solid #e1e5ec;
  background: #fff;
  box-shadow:
    0 2px 8px #2732460d,
    0 8px 24px #27324606;
  z-index: -1;
}
.lc-review-spread > .lc-paper-header {
  grid-column: 2;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 28px 10px;
  padding: 20px 0 14px;
  border-bottom: 1px solid #edf0f4;
  color: #778190;
  font: 11px/1.5 var(--aisf-font-ui, Inter, system-ui, sans-serif);
  letter-spacing: 0;
}
.lc-paper-header > span:first-child {
  overflow-wrap: anywhere;
}
.lc-paper-header > span:last-child {
  flex-shrink: 0;
}
.lc-document-passage {
  grid-column: 2;
  min-width: 0;
  padding: 0 26px 12px;
  color: #273246;
}
.lc-evidence-margin {
  grid-column: 1;
  min-width: 0;
  position: relative;
  height: 0;
}
.lc-review-margin-content { position: absolute; top: 8px; left: 0; width: 100%; padding-bottom: 220px; }
.lc-review-card {
  border: 1px solid var(--lc-line);
  border-left: 3px solid var(--lc-accent);
  border-radius: 9px;
  background: var(--lc-card);
  padding: 14px;
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}
.lc-canvas .lc-review-card .lc-finding-detail { border-top: 0; padding: 0; }
.lc-evidence-card {
  border: 1px solid var(--lc-line);
  border-radius: 9px;
  background: var(--lc-card);
  padding: 14px;
  box-shadow: 0 3px 10px #27324606;
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.lc-evidence-eyebrow {
  display: flex;
  gap: 7px;
  align-items: center;
  font-weight: 600;
  color: var(--lc-accent);
  font-size: var(--aisf-font-size-11, 11px);
}
.lc-evidence-card blockquote {
  margin: 12px 0 0;
  padding: 0;
}
.lc-evidence-card blockquote + blockquote {
  border-top: 1px solid var(--lc-line);
  padding-top: 12px;
}
.lc-evidence-card strong {
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-evidence-card small {
  font-size: var(--aisf-font-size-11, 11px);
  margin-top: 3px;
}
.lc-evidence-card blockquote > p {
  border-left: 2px solid #cbd4e3;
  padding-left: 10px;
  margin: 12px 0;
}
.lc-evidence-card > p {
  margin-top: 12px;
}
.lc-canvas .lc-block {
  display: block;
  border-left: 3px solid transparent;
  padding: 8px 12px 12px;
  border-radius: 5px;
  line-height: 1.75;
  scroll-margin: 25px 0 240px;
}
.lc-canvas .lc-block.selected {
  border-left-color: var(--lc-accent);
  background: #f6f7ff;
}
.lc-canvas .lc-block.red:not(.selected) {
  border-left-color: #d89292;
}
.lc-canvas .lc-block.yellow:not(.selected) {
  border-left-color: #ddb978;
}
.lc-canvas .lc-block.green:not(.selected) {
  border-left-color: #91b9a4;
}
.lc-canvas .lc-block > .lc-block-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  font-family: var(--aisf-font-ui, Inter, system-ui, sans-serif);
  font-size: var(--aisf-font-size-11, 11px);
  line-height: 1.5;
}
.lc-block-heading > small {
  display: inline;
  font-size: var(--aisf-font-size-11, 11px);
  color: #7c8795;
}
.lc-block-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.lc-block-actions > button,
.lc-canvas .lc-edit-block {
  display: inline-flex;
  position: static;
  font: inherit;
  line-height: 1.4;
  border: 1px solid #dfe5ee;
  border-radius: 5px;
  padding: 3px 6px;
  background: #fff;
  color: var(--lc-accent);
  white-space: nowrap;
}
.lc-block-actions > button:hover {
  border-color: var(--lc-accent);
  background: #eef1ff;
}
.lc-canvas .lc-block-text {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: #273246;
}
.lc-canvas .lc-block-text del,
.lc-canvas .lc-block-text ins {
  display: inline;
  border-radius: 2px;
  padding: 1px 0;
}
.lc-canvas .lc-block-text del {
  color: #a04445;
  background: #fae7e7;
  text-decoration-thickness: 1px;
}
.lc-canvas .lc-block-text ins {
  color: #256744;
  background: #e5f3e9;
}
.lc-preview-badge,
.lc-applied-badge {
  display: inline-block;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.5;
  padding: 2px 5px;
  color: #795b24;
  background: #fff3d6;
  white-space: nowrap;
}
.lc-applied-badge {
  color: #35684b;
  background: #e7f3eb;
}
.lc-empty-text {
  color: #7c8795;
  font-style: italic;
}
.lc-block-findings {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  font: 12px/1.5 var(--aisf-font-ui, Inter, system-ui, sans-serif);
}
.lc-block-findings > button {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  text-align: left;
  color: #526178;
  background: transparent;
  border: 1px solid transparent;
  padding: 5px 7px;
  border-radius: 5px;
  font: inherit;
}
.lc-block-findings > button.active {
  color: var(--lc-accent);
  background: #ecefff;
}
.lc-finding-state {
  margin-left: auto;
  color: #7c8795;
  font-size: 10px;
  flex-shrink: 0;
}
.lc-inline-finding {
  padding: 0 12px 14px 15px;
  border-left: 3px solid var(--lc-accent);
  border-radius: 0 0 6px 6px;
  background: #f6f7ff;
  margin-top: -3px;
}
.lc-canvas .lc-finding-detail {
  padding: 12px 0 0;
  border-top: 1px solid #e0e5f5;
  font-family: var(--aisf-font-ui, Inter, system-ui, sans-serif);
  color: #3e4b60;
}
.lc-canvas .lc-finding-detail h2 {
  font-size: var(--aisf-font-size-14, 14px);
  line-height: 1.5;
  margin: 7px 0;
}
.lc-canvas .lc-finding-detail > p {
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.75;
}
.lc-finding-detail .lc-actions {
  margin: 12px 0 8px;
}
.lc-proposal-editor,
.lc-expert-review {
  font-size: var(--aisf-font-size-12, 12px);
  margin-top: 12px;
}
.lc-proposal-editor > summary,
.lc-expert-review > summary {
  color: var(--lc-accent);
  font-weight: 500;
  padding: 5px 0;
  cursor: pointer;
}
.lc-expert-review {
  border-top: 1px solid #e0e5f5;
  padding-top: 8px;
}
.lc-expert-review > p {
  margin: 8px 0 12px;
  line-height: 1.7;
}
.lc-proposal-editor .lc-field {
  margin-top: 8px;
}
.lc-canvas .lc-revision-rail {
  border-left: 1px solid var(--lc-line);
  background: var(--lc-card);
  padding: 12px 8px 235px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-height: 0;
  overflow-y: auto;
}
.lc-rail-title {
  font-size: 10px;
  font-weight: 600;
  color: var(--lc-muted);
}
.lc-revision-rail > small {
  font-size: 10px;
  margin-top: -7px;
}
.lc-revision-rail > button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 32px;
  min-height: 47px;
  padding: 5px 2px;
  flex-shrink: 0;
  border: 1px solid #dce2eb;
  border-top: 3px solid #a2adbd;
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
  color: #536175;
}
.lc-revision-rail > button.red {
  border-top-color: #cb7778;
}
.lc-revision-rail > button.yellow {
  border-top-color: #d3ad62;
}
.lc-revision-rail > button.green {
  border-top-color: #6ea18a;
}
.lc-revision-rail > button.active {
  outline: 2px solid var(--lc-accent);
  outline-offset: 2px;
  background: #f0f2ff;
  color: var(--lc-accent);
}
.lc-revision-rail > button > small {
  font-size: 9px;
  line-height: 1;
}
.lc-revision-rail > button.dismissed {
  opacity: 0.6;
}
.lc-source-reading p {
  white-space: pre-wrap;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.85;
  margin: 0 0 18px;
}
.lc-edit-textarea {
  font-size: 16px;
  line-height: 1.8;
  min-height: 220px;
}
.lc-sheet-scroll {
  overflow: auto;
  max-width: 100%;
}
.lc-canvas .lc-spreadsheet .lc-block-text {
  font-family: var(--aisf-font-ui, Inter, system-ui, sans-serif);
  font-size: 13px;
}
.lc-sheet-review {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 20px;
  margin: 20px 0;
}
.lc-sheet-review > div {
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 8px;
  padding: 14px;
}
.lc-unanchored-label {
  padding-top: 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--lc-muted);
}
@container legal-canvas (max-width: 1040px) {
  .lc-canvas.context-open .lc-canvas-grid {
    grid-template-columns: minmax(0, 1fr) 54px;
  }
  .lc-canvas .lc-context-panel {
    position: absolute;
    inset: 0 auto 0 0;
    width: 240px;
    box-shadow: 8px 0 24px #26354b1c;
    padding-bottom: 200px;
  }
}
@container legal-canvas (max-width: 780px) {
  .lc-canvas .lc-canvas-head {
    padding: 7px 12px;
  }
  .lc-canvas .lc-canvas-identity {
    flex-basis: 100%;
  }
  .lc-canvas .lc-canvas-head .lc-actions {
    margin-left: 35px;
    justify-content: flex-start;
  }
  .lc-canvas .lc-document-meta {
    display: none;
  }
  .lc-canvas .lc-document-toolbar {
    gap: 5px;
    padding-inline: 8px;
  }
}
@container legal-document (max-width: 820px) {
  .lc-review-spread {
    --lc-evidence-width: 244px;
    --lc-evidence-gap: 14px;
  }
  .lc-canvas .lc-document-scroll {
    padding-inline: 12px;
  }
  .lc-document-passage {
    padding-inline: 16px;
  }
  .lc-review-spread > .lc-paper-header {
    margin-inline: 20px;
  }
  .lc-evidence-card {
    padding: 11px;
  }
}
@container legal-document (max-width: 640px) {
  .lc-review-spread {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .lc-paper-surface {
    inset: 0;
  }
  .lc-evidence-margin:empty {
    display: none;
  }
  .lc-evidence-margin {
    height: auto;
    padding: 12px 20px 8px;
  }
  .lc-review-margin-content { position: static; padding-bottom: 0; }
  .lc-evidence-card {
    border-left: 3px solid var(--lc-accent);
    box-shadow: none;
  }
  .lc-sheet-review {
    grid-template-columns: minmax(0, 1fr);
  }
  .lc-block-heading .lc-preview-badge,
  .lc-block-heading .lc-applied-badge {
    order: 3;
  }
}
@container legal-canvas (max-width: 500px) {
  .lc-canvas .lc-canvas-grid,
  .lc-canvas.context-open .lc-canvas-grid {
    grid-template-columns: minmax(0, 1fr) 40px;
  }
  .lc-canvas .lc-revision-rail {
    padding-inline: 4px;
  }
  .lc-revision-rail > button {
    width: 26px;
  }
  .lc-canvas .lc-document-toolbar {
    flex-wrap: wrap;
  }
  .lc-canvas .lc-document-toolbar .lc-segment {
    order: 3;
    flex-basis: 100%;
  }
  .lc-canvas-identity > .lc-pill {
    display: none;
  }
  .lc-canvas .lc-canvas-head .lc-actions {
    margin-left: 0;
    gap: 4px;
  }
  .lc-canvas .lc-canvas-head .lc-actions > button {
    padding-inline: 8px;
    font-size: 11px;
  }
  .lc-document-passage {
    padding-inline: 9px;
  }
  .lc-canvas .lc-document-scroll {
    padding-inline: 7px;
  }
  .lc-canvas .lc-block-text {
    font-size: 15px;
  }
  .lc-block-findings > button {
    flex-wrap: wrap;
  }
  .lc-finding-state {
    display: none;
  }
}

/* Quiet reading by default; a passage exposes its commands when selected or reached by keyboard. */
.lc-module-canvas > .lc-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.lc-module-canvas .lc-canvas {
  height: auto;
  min-height: 0;
  flex: 1 1 0;
}
.lc-canvas .lc-canvas-menu {
  flex-shrink: 0;
  min-height: 30px;
  padding: 5px 6px;
  font-size: 12px;
}
.lc-canvas .lc-block > .lc-block-heading {
  display: none;
}
.lc-canvas .lc-block:hover > .lc-block-heading {
  position: absolute;
  display: flex;
  z-index: 2;
  top: -17px;
  right: 8px;
  max-width: calc(100% - 16px);
  padding: 3px 5px;
  border: 1px solid #dfe5ee;
  border-radius: 5px;
  box-shadow: 0 2px 8px #24365314;
  background: #fff;
}
.lc-canvas
  .lc-block:is(.selected, .editing, :focus-within)
  > .lc-block-heading {
  position: static;
  display: flex;
  max-width: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  background: transparent;
}
.lc-canvas .lc-block:focus-visible {
  outline: 2px solid var(--lc-accent);
  outline-offset: 2px;
}
.lc-canvas .lc-document-passage {
  padding-bottom: 4px;
}
.lc-canvas .lc-block {
  padding-block: 7px 10px;
}
.lc-canvas .lc-block.is-title .lc-block-text {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.3px;
  margin: 5px 0 14px;
}
.lc-canvas .lc-block.is-heading .lc-block-text {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin: 8px 0 2px;
}
.lc-resource-evidence {
  border-top: 1px solid var(--lc-line);
  margin-top: 12px;
  padding-top: 9px;
}
.lc-resource-evidence > summary {
  color: var(--lc-accent);
  cursor: pointer;
}
.lc-resource-evidence .lc-preview-table {
  max-height: 260px;
}
@container legal-canvas (max-width: 780px) {
  .lc-canvas .lc-canvas-head .lc-actions {
    margin-left: 0;
  }
}
@container legal-document (max-width: 640px) {
  .lc-canvas .lc-block.is-title .lc-block-text {
    font-size: 23px;
  }
  .lc-canvas .lc-block.is-heading .lc-block-text {
    font-size: 17px;
  }
}

.lc-agent-text { background: #e6ddff !important; color: #462e77 !important; -webkit-text-decoration: underline dotted #7952b3 !important; text-decoration: underline dotted #7952b3 !important; text-underline-offset: 3px; }
.lc-agent-badge { color: #563889; background: #f0eaff; border: 1px solid #d6c5f2; border-radius: 5px; padding: 2px 6px; font-size: 11px; }
.lc-editing-hint { display: block; color: var(--lc-muted, #5d6675); margin: 6px 0; }
.lc-cases-page {
  container-name: legal-cases;
  container-type: inline-size;
}
.lc-cases-page .lc-cases-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
.lc-cases-page .lc-cases-title-col { width: 44%; }
.lc-cases-page .lc-cases-flow-col { width: 15%; }
.lc-cases-page .lc-cases-area-col { width: 15%; }
.lc-cases-page .lc-cases-status-col { width: 13%; }
.lc-cases-page .lc-cases-date-col { width: 13%; }
.lc-cases-page .lc-cases-table th,
.lc-cases-page .lc-cases-table td {
  padding: 12px;
  vertical-align: top;
  line-height: 1.5;
}
.lc-cases-page .lc-cases-table th { letter-spacing: .35px; }
.lc-cases-page .lc-cases-title {
  display: block;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.lc-cases-page .lc-cases-counts {
  display: block;
  margin-top: 4px;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-cases-page .lc-cases-inline-meta,
.lc-cases-page .lc-cases-inline-flow,
.lc-cases-page .lc-cases-inline-status { display: none; }
.lc-cases-page .lc-cases-flow-cell,
.lc-cases-page .lc-cases-area-cell { overflow-wrap: anywhere; }
.lc-cases-page .lc-cases-date-cell,
.lc-cases-page .lc-cases-status-cell .lc-pill { white-space: nowrap; }
.lc-cases-page .lc-cases-title-cell > a:focus-visible {
  outline: 2px solid var(--lc-accent);
  outline-offset: 4px;
  border-radius: 3px;
}

/* React to the available module width, including when the navigation is open. */
@container legal-cases (max-width: 900px) {
  .lc-cases-page .lc-cases-area-col,
  .lc-cases-page .lc-cases-date-col,
  .lc-cases-page .lc-cases-area-cell,
  .lc-cases-page .lc-cases-date-cell { display: none; }
  .lc-cases-page .lc-cases-title-col { width: 58%; }
  .lc-cases-page .lc-cases-flow-col { width: 23%; }
  .lc-cases-page .lc-cases-status-col { width: 19%; }
  .lc-cases-page .lc-cases-inline-meta {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 2px;
    margin-top: 3px;
    color: var(--lc-muted);
    font-size: var(--aisf-font-size-12, 12px);
    line-height: 1.5;
  }
  .lc-cases-page .lc-cases-inline-meta > span { overflow-wrap: anywhere; }
  .lc-cases-page .lc-cases-inline-meta time { white-space: nowrap; }
}

@container legal-cases (max-width: 640px) {
  .lc-cases-page .lc-cases-flow-col,
  .lc-cases-page .lc-cases-flow-cell { display: none; }
  .lc-cases-page .lc-cases-inline-flow { display: inline; }
  .lc-cases-page .lc-cases-title-col { width: 75%; }
  .lc-cases-page .lc-cases-status-col { width: 25%; }
  .lc-cases-page .lc-cases-table th,
  .lc-cases-page .lc-cases-table td { padding: 12px 10px; }
  .lc-cases-page .lc-card-head { gap: 12px; }
  .lc-cases-page .lc-card-head input { min-width: 0; width: min(240px, 48%); }
}

@container legal-cases (max-width: 460px) {
  .lc-cases-page .lc-cases-status-col,
  .lc-cases-page .lc-cases-status-cell { display: none; }
  .lc-cases-page .lc-cases-title-col { width: 100%; }
  .lc-cases-page .lc-cases-inline-status { display: inline-block; margin-top: 7px; }
  .lc-cases-page .lc-card-head { flex-direction: column; align-items: stretch; }
  .lc-cases-page .lc-card-head input { width: 100%; max-width: none; }
  .lc-cases-page .lc-stats > div { flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px; }
}
.lc-canvas { position: relative; }
.lc-assistant-dock.lc-conversation {
  position: absolute;
  z-index: 35;
  left: 18px;
  right: 18px;
  bottom: 12px;
  width: auto;
  max-width: 980px;
  margin: 0 auto;
  padding: 10px 14px;
  border: 1px solid var(--lc-line);
  border-radius: 16px;
  background: var(--lc-card);
  box-shadow: 0 12px 40px #1b315426, 0 2px 8px #1b31540d;
  font-family: var(--aisf-font-ui, inherit);
}
.lc-assistant-dock .lc-conversation-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 7px;
  font-size: 12px;
}
.lc-assistant-dock .lc-conversation-title strong { font-size: 13px; }
.lc-assistant-dock .lc-conversation-title > svg { color: var(--lc-accent); }
.lc-assistant-dock .lc-conversation-title .lc-text-button { white-space: nowrap; }
.lc-assistant-controls { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.lc-assistant-minimize { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; background: var(--lc-bg); color: var(--lc-muted); border: 1px solid var(--lc-line); border-radius: 7px; cursor: pointer; font-size: 20px; }
.lc-assistant-minimize:hover { color: var(--lc-accent); border-color: var(--lc-accent); }
.lc-assistant-dock.lc-conversation.is-minimized { padding: 7px 12px; max-width: 760px; border-radius: 12px; }
.lc-assistant-dock.is-minimized .lc-conversation-title { margin: 0; min-height: 26px; }
.lc-assistant-dock .lc-assistant-status { color: var(--lc-muted); font-size: 12px; }
.lc-assistant-dock .lc-messages {
  max-height: min(46dvh, 480px);
  overflow: auto;
  overscroll-behavior: contain;
  border-block: 1px solid var(--lc-line);
  margin: 8px -2px 10px;
  padding: 12px 7px;
  scrollbar-width: thin;
}
.lc-assistant-dock .lc-messages article { margin: 0 0 12px; padding: 12px 14px; border-radius: 10px; }
.lc-assistant-dock .lc-messages article.user { margin-left: 12%; background: var(--lc-bg); }
.lc-assistant-dock .lc-messages article.assistant { background: transparent; padding-left: 2px; }
.lc-assistant-dock .lc-messages article > small { display: block; font-size: 11px; font-weight: 600; color: var(--lc-muted); margin-bottom: 5px; }
.lc-assistant-dock .lc-messages article p { white-space: pre-wrap; font-size: 13px; line-height: 1.65; }
.lc-assistant-dock .lc-messages details { font-size: 12px; color: var(--lc-muted); }
.lc-assistant-dock .lc-messages details ol { padding-left: 20px; line-height: 1.7; }
.lc-assistant-dock .lc-assistant-welcome { padding: 7px 5px 12px; font-size: 13px; line-height: 1.65; }
.lc-assistant-dock .lc-assistant-welcome p { margin: 4px 0 0; color: var(--lc-muted); }
.lc-assistant-dock form { display: grid; gap: 7px; }
.lc-assistant-dock textarea {
  width: 100%;
  min-height: 36px;
  max-height: 140px;
  resize: vertical;
  padding: 9px 10px;
  border: 1px solid var(--lc-line);
  border-radius: 9px;
  background: var(--lc-card);
  color: var(--aisf-text, #344258);
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
}
.lc-assistant-dock textarea:focus { outline: 2px solid var(--lc-accent); outline-offset: 1px; }
.lc-assistant-dock .lc-composer-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lc-assistant-dock .lc-checkbox { font-size: 12px; }
.lc-assistant-dock .lc-button { min-height: 30px; padding: 5px 12px; font-size: 12px; }
.lc-assistant-context { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--lc-muted); }
.lc-assistant-context button { border: 0; background: transparent; padding: 3px 6px; color: var(--lc-accent); text-decoration: underline; cursor: pointer; margin-left: auto; }
.lc-thinking { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--lc-accent) 5%, var(--lc-card)); border: 1px solid color-mix(in srgb, var(--lc-accent) 15%, var(--lc-line)); }
.lc-thinking strong { display: block; color: var(--aisf-text); font-size: 12px; font-weight: 600; }
.lc-thinking p { margin: 3px 0 0; color: var(--lc-muted); font-size: 12px; line-height: 1.5; }
.lc-thinking-time { margin-left: auto; white-space: nowrap; color: var(--lc-muted); font-size: 11px; padding-top: 2px; font-variant-numeric: tabular-nums; }
.lc-thinking-dots { display: flex; gap: 3px; padding-top: 6px; }
.lc-thinking-dots i, .lc-assistant-busy-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--lc-accent); animation: lc-thinking-pulse 1.4s ease-in-out infinite; }
.lc-thinking-dots i:nth-child(2) { animation-delay: .18s; }
.lc-thinking-dots i:nth-child(3) { animation-delay: .36s; }
.lc-assistant-busy-dot { width: 6px; height: 6px; margin: 0 6px 1px 0; }
@keyframes lc-thinking-pulse { 0%, 80%, 100% { opacity: .35; } 40% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .lc-thinking-dots i, .lc-assistant-busy-dot { animation: none; } }
@media (max-width: 700px) {
  .lc-assistant-dock.lc-conversation { left: 8px; right: 8px; bottom: 8px; padding: 9px 10px; }
  .lc-assistant-dock .lc-assistant-status { display: none; }
  .lc-assistant-dock .lc-messages { max-height: 40dvh; }
  .lc-assistant-dock .lc-composer-actions { gap: 6px; }
}

.lc-draft-prompts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.lc-draft-prompts button { text-align: left; border: 1px solid var(--lc-line); border-radius: 18px; padding: 7px 11px; color: var(--lc-accent); background: var(--lc-card); font-size: 12px; }

/* The conversation stays quiet around the document; activity carries the accent. */
.lc-assistant-dock.lc-conversation { padding: 14px; border-color: color-mix(in srgb, var(--lc-accent) 12%, var(--lc-line)); box-shadow: 0 14px 44px #18274b1c, 0 2px 8px #18274b0a; }
.lc-assistant-dock .lc-conversation-title { gap: 10px; margin-bottom: 10px; min-height: 30px; }
.lc-chat-avatar, .lc-message-avatar { display: inline-grid; place-items: center; flex: 0 0 auto; color: var(--lc-accent); background: color-mix(in srgb, var(--lc-accent) 9%, var(--lc-card)); border: 1px solid color-mix(in srgb, var(--lc-accent) 16%, var(--lc-line)); border-radius: 10px; width: 30px; height: 30px; font-size: 19px; }
.lc-chat-avatar.is-working { animation: lc-avatar-glow 2s ease-in-out infinite; }
.lc-assistant-dock .lc-conversation-title > .lc-chat-avatar { margin-left: 0; display: inline-grid; color: var(--lc-accent); font-size: 19px; }
.lc-message-avatar { width: 22px; height: 22px; border-radius: 7px; font-size: 14px; }
.lc-assistant-dock .lc-messages { padding: 18px 6px 8px; border-bottom: 0; margin-bottom: 4px; scroll-behavior: smooth; }
.lc-assistant-dock .lc-messages article { margin-bottom: 22px; border-radius: 16px; animation: lc-message-enter .22s ease-out; }
.lc-assistant-dock .lc-messages article.user { margin-left: 14%; padding: 11px 14px; border: 1px solid color-mix(in srgb, var(--lc-accent) 10%, var(--lc-line)); border-bottom-right-radius: 5px; background: color-mix(in srgb, var(--lc-accent) 4%, var(--lc-card)); }
.lc-assistant-dock .lc-messages article.assistant { padding: 0 3px 0 0; }
.lc-assistant-dock .lc-messages article > .lc-message-author { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: var(--lc-muted); font-size: 11px; font-weight: 600; }
.lc-assistant-dock .lc-messages article.user > .lc-message-author { margin-bottom: 4px; }
.lc-assistant-dock .lc-messages article p { margin: 0 0 9px; font-size: 13px; line-height: 1.7; }
.lc-assistant-dock .lc-messages article.user p:last-child, .lc-assistant-dock .lc-markdown > :last-child { margin-bottom: 0; }
.lc-assistant-dock .lc-markdown { font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.lc-assistant-dock .lc-markdown :is(h1,h2,h3,h4) { font-size: 14px; line-height: 1.5; margin: 18px 0 7px; }
.lc-assistant-dock .lc-markdown :is(ul,ol) { padding-left: 20px; margin: 8px 0 12px; }
.lc-assistant-dock .lc-markdown li { padding-left: 2px; margin: 5px 0; }
.lc-assistant-dock .lc-markdown blockquote { padding: 9px 12px; border-left: 2px solid var(--lc-accent); background: color-mix(in srgb, var(--lc-accent) 4%, var(--lc-card)); border-radius: 0 8px 8px 0; }
.lc-streaming-label { display: inline-flex; align-items: center; gap: 3px; margin-left: auto; font-size: 10px; font-weight: 500; color: var(--lc-accent); }
.lc-streaming-label span { animation: lc-thinking-pulse 1s ease-in-out infinite; }
.lc-assistant-dock form { gap: 9px; padding-top: 10px; border-top: 1px solid var(--lc-line); }
.lc-assistant-dock textarea { background: var(--lc-bg); border-radius: 12px; padding: 12px; min-height: 66px; transition: border-color .15s, box-shadow .15s; }
.lc-assistant-dock textarea:focus { outline: none; border-color: var(--lc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--lc-accent) 12%, transparent); }
.lc-assistant-dock .lc-editing-hint { font-size: 10px; line-height: 1.5; color: var(--lc-muted); }
.lc-assistant-dock .lc-composer-actions .lc-button { min-height: 34px; border-radius: 10px; white-space: nowrap; }
.lc-assistant-dock .lc-composer-actions .lc-checkbox { font-size: 11px; line-height: 1.4; }
.lc-assistant-dock.is-working::before { content: ""; position: absolute; top: -1px; left: 16px; right: 16px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--lc-accent), #a78bfa, transparent); background-size: 200% 100%; animation: lc-agent-flow 2.5s linear infinite; }
.lc-assistant-dock.is-minimized .lc-assistant-status { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.lc-assistant-dock.is-minimized .lc-assistant-controls { flex: 0 0 auto; }
.lc-canvas:has(.lc-assistant-dock.is-minimized) .lc-document-scroll { scroll-padding-bottom: 100px; padding-bottom: 120px; }

.lc-activity { margin: 2px 0 20px; border: 1px solid var(--lc-line); border-radius: 14px; background: color-mix(in srgb, var(--lc-accent) 2%, var(--lc-card)); overflow: hidden; }
.lc-activity.is-active { border-color: color-mix(in srgb, var(--lc-accent) 22%, var(--lc-line)); }
.lc-activity .lc-thinking { margin: 0; border: 0; border-radius: 0; padding: 14px 12px; gap: 10px; background: transparent; }
.lc-thinking > div { min-width: 0; flex: 1; }
.lc-thinking-eyebrow { display: block; color: var(--lc-accent); font-size: 10px; font-weight: 600; margin-bottom: 4px; }
.lc-thinking strong { font-size: 13px; line-height: 1.5; }
.lc-thinking p { font-size: 11px; }
.lc-thinking-time { font-size: 10px; padding-top: 3px; }
.lc-agent-orb { position: relative; display: inline-grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: color-mix(in srgb, var(--lc-accent) 9%, var(--lc-card)); color: var(--lc-accent); }
.lc-agent-orb::before { content: ""; position: absolute; inset: 0; border: 1.5px solid color-mix(in srgb, var(--lc-accent) 18%, transparent); border-top-color: var(--lc-accent); border-right-color: #a78bfa; border-radius: inherit; animation: lc-orbit 1.6s linear infinite; }
.lc-agent-orb > span { font-size: 19px; animation: lc-thinking-pulse 2s ease-in-out infinite; }
.lc-activity-body { padding: 0 14px 12px; }
.lc-activity-more { background: transparent; border: 0; padding: 4px 0 10px 28px; color: var(--lc-muted); font: inherit; font-size: 10px; cursor: pointer; text-align: left; }
.lc-activity-steps { margin: 0; padding: 0; list-style: none; }
.lc-activity-steps > li { position: relative; display: flex; align-items: flex-start; gap: 10px; min-height: 34px; padding-bottom: 13px; }
.lc-activity-steps > li:last-child { padding-bottom: 0; }
.lc-activity-steps > li:not(:last-child)::before { content: ""; position: absolute; left: 8px; top: 21px; bottom: 3px; width: 1px; background: var(--lc-line); }
.lc-step-icon { position: relative; display: inline-grid; place-items: center; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; font-size: 11px; font-weight: 700; color: var(--lc-muted); background: var(--lc-bg); }
.lc-step-icon.done { color: #26765e; background: color-mix(in srgb, #389577 11%, var(--lc-card)); }
.lc-step-icon.running { border: 2px solid color-mix(in srgb, var(--lc-accent) 18%, var(--lc-card)); border-top-color: var(--lc-accent); background: transparent; animation: lc-orbit 1s linear infinite; }
.lc-step-icon.error, .lc-step-icon.waiting { color: #9b6620; background: color-mix(in srgb, #c68630 12%, var(--lc-card)); }
.lc-step-icon.waiting::after { content: "·"; }
.lc-activity-steps > li > div { flex: 1; min-width: 0; line-height: 1.4; }
.lc-step-title { font-size: 11px; color: var(--lc-muted); }
.lc-activity-steps .is-running .lc-step-title { color: var(--lc-accent); font-weight: 600; }
.lc-activity-steps small { display: inline-block; margin-left: 8px; font-size: 9px; color: var(--lc-muted); }
.lc-activity-steps p { font-size: 11px; color: var(--lc-muted); line-height: 1.5; margin: 4px 0 0; }
.lc-activity-summary { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; background: transparent; color: var(--lc-muted); padding: 10px 12px; text-align: left; cursor: pointer; font: inherit; font-size: 11px; }
.lc-activity-summary > span:nth-child(2) { flex: 1; }
.lc-activity-summary small { display: inline-block; margin-left: 8px; font-size: 10px; opacity: .8; }

.lc-editor-activity { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid color-mix(in srgb, var(--lc-accent) 18%, var(--lc-line)); background: color-mix(in srgb, var(--lc-accent) 5%, var(--lc-card)); animation: lc-message-enter .25s ease-out; }
.lc-editor-activity > div { min-width: 0; flex: 1; }
.lc-editor-activity strong { display: block; font-size: 12px; color: var(--lc-accent); }
.lc-editor-activity small { display: block; margin-top: 3px; font-size: 11px; color: var(--lc-muted); }
.lc-editor-activity .lc-text-button { white-space: nowrap; padding: 8px; }
.lc-editor-saved { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 10px; color: var(--lc-accent); background: color-mix(in srgb, var(--lc-accent) 10%, var(--lc-card)); }
.lc-editor-dismiss { border: 0; background: transparent; color: var(--lc-muted); padding: 6px; font-size: 20px; cursor: pointer; }
.lc-review-spread.is-agent-focused { --lc-evidence-width: 0px; --lc-evidence-gap: 0px; max-width: 880px; }
.lc-review-spread.is-agent-focused > .lc-evidence-margin { display: none; }
.lc-block.lc-agent-target { position: relative; border-radius: 4px; outline: 2px solid color-mix(in srgb, var(--lc-accent) 38%, transparent); outline-offset: 2px; }
.lc-block.lc-agent-target.is-applying::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--lc-accent) 10%, transparent) 45%, transparent 70%); background-size: 240% 100%; animation: lc-agent-flow 2s linear infinite; }
.lc-block.lc-agent-target.is-applied { animation: lc-edit-reveal 1.6s ease-out 2; }
.lc-canvas .lc-block-text .lc-live-added { color: inherit; text-decoration: none; background: color-mix(in srgb, var(--lc-accent) 18%, transparent); border-bottom: 2px solid color-mix(in srgb, var(--lc-accent) 65%, transparent); border-radius: 2px; animation: lc-message-enter .4s ease-out; }
.lc-canvas .lc-block-text .lc-live-removed { background: #b83b4712; color: #965561; text-decoration-color: #ad6570; margin-right: 2px; }
@keyframes lc-orbit { to { transform: rotate(360deg); } }
.lc-segment > button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.lc-segment > button svg { flex-shrink: 0; }
.lc-source-card { border: 1px solid var(--lc-line); border-radius: 10px; padding: 8px; margin: 8px 0; background: var(--lc-card); }
.lc-source-card .lc-file { border: 0; margin: 0; padding: 4px; width: 100%; }
.lc-source-name { display: block; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
.lc-source-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.lc-source-actions button { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; border: 1px solid var(--lc-line); border-radius: 6px; background: transparent; color: var(--lc-muted); font: inherit; font-size: 11px; cursor: pointer; }
.lc-source-actions button svg { width: 14px; height: 14px; }
.lc-source-actions button:hover { color: var(--lc-accent); background: var(--lc-bg); }
.lc-source-actions .is-destructive:hover { color: #ae3546; background: #ae354608; }
.lc-source-actions button:disabled { opacity: .5; cursor: default; }
.lc-inactive-sources { margin-top: 14px; border-top: 1px solid var(--lc-line); padding-top: 10px; }
.lc-inactive-sources summary { font-size: 12px; cursor: pointer; }
.lc-source-card.is-inactive { background: var(--lc-bg); }
@keyframes lc-agent-flow { from { background-position: 180% 0; } to { background-position: -80% 0; } }
@keyframes lc-avatar-glow { 0%,100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--lc-accent) 10%, transparent); } 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--lc-accent) 5%, transparent); } }
@keyframes lc-message-enter { from { opacity: .4; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lc-edit-reveal { 0% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--lc-accent) 16%, transparent); background: color-mix(in srgb, var(--lc-accent) 9%, transparent); } 100% { box-shadow: 0 0 0 0 transparent; background: transparent; } }
@media (max-width: 700px) {
  .lc-assistant-dock.lc-conversation { padding: 10px; }
  .lc-assistant-dock .lc-conversation-title { gap: 7px; flex-wrap: wrap; }
  .lc-assistant-dock .lc-conversation-title strong { font-size: 12px; }
  .lc-assistant-controls { gap: 7px; }
  .lc-assistant-dock.is-minimized .lc-assistant-status { display: block; order: 3; width: 100%; padding-left: 37px; font-size: 10px; }
  .lc-assistant-dock .lc-messages { max-height: 44dvh; padding-inline: 1px; }
  .lc-assistant-dock .lc-messages article.user { margin-left: 8%; }
  .lc-assistant-dock .lc-composer-actions { align-items: flex-end; }
  .lc-editor-activity { padding: 9px 10px; gap: 7px; }
  .lc-editor-activity small { font-size: 10px; }
  .lc-editor-activity .lc-agent-orb { width: 26px; height: 26px; flex-basis: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .lc-assistant-dock *, .lc-assistant-dock::before, .lc-agent-orb::before, .lc-agent-orb > span, .lc-editor-activity, .lc-block.lc-agent-target, .lc-block.lc-agent-target::after, .lc-live-added { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.lc-resource-library {
  max-width: 1320px;
  container-type: inline-size;
  container-name: resource-library;
}
.lc-resource-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.lc-resource-page-head p {
  color: var(--lc-muted);
  line-height: 1.7;
  margin-top: 9px;
  max-width: 720px;
}
.lc-resource-page-head > .lc-button {
  margin-top: 24px;
}
.lc-resource-process {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  border: 1px solid var(--lc-line);
  border-radius: 9px;
  padding: 12px 15px;
  margin-bottom: 24px;
  background: var(--lc-card);
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-resource-process > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--aisf-text, #28364b);
  white-space: nowrap;
}
.lc-resource-process b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: var(--aisf-accent-soft, #eef0ff);
  color: var(--lc-accent);
  font-size: 11px;
  font-weight: 600;
}
.lc-resource-process > p {
  margin-left: auto;
}
.lc-resource-category {
  padding-top: 18px;
}
.lc-resource-category-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-category-head p {
  max-width: 740px;
  line-height: 1.7;
}
.lc-resource-category-head > span {
  white-space: nowrap;
  padding-top: 2px;
  font-size: var(--aisf-font-size-12, 12px);
}
.lc-resource-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.lc-resource-search {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  background: var(--lc-card);
  padding: 0 12px;
  flex: 1 1 240px;
  min-width: 170px;
  color: var(--lc-muted);
}
.lc-resource-search:focus-within {
  outline: 2px solid var(--lc-accent);
  outline-offset: 1px;
}
.lc-resource-search input {
  width: 100%;
  min-width: 0;
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-search input:focus-visible {
  outline: none;
}
.lc-resource-state-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-resource-state-filter select {
  width: auto;
  min-height: 38px;
  padding: 7px 28px 7px 10px;
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  color: var(--aisf-text, #28364b);
}
.lc-resource-filters .lc-checkbox {
  margin: 0;
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  white-space: nowrap;
}
.lc-resource-list {
  border: 1px solid var(--lc-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--lc-card);
}
.lc-resource-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 18px;
}
.lc-resource-row + .lc-resource-row {
  border-top: 1px solid var(--lc-line);
}
.lc-resource-row:hover {
  background: var(--aisf-bg-hover, #fafbfe);
}
.lc-resource-row-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 42px;
  border-radius: 7px;
  border: 1px solid var(--lc-line);
  background: var(--lc-bg);
  color: var(--lc-muted);
}
.lc-resource-row-title {
  min-width: 0;
}
.lc-resource-row-title > button {
  font-size: var(--aisf-font-size-14, 14px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--aisf-text, #28364b);
  background: transparent;
  border: 0;
  text-align: left;
  padding: 0;
  overflow-wrap: anywhere;
}
.lc-resource-row-title > button:hover {
  color: var(--lc-accent);
}
.lc-resource-row-title > p {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
  margin-top: 4px;
  line-height: 1.7;
}
.lc-resource-row-state {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-resource-status {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 5px;
  background: var(--aisf-accent-soft, #eef0ff);
  color: #5b6490;
  font-size: var(--aisf-font-size-11, 11px);
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.6;
}
.lc-resource-status.published {
  background: #e8f4ec;
  color: #2e7250;
}
.lc-resource-list-note {
  margin-top: 12px !important;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
  line-height: 1.7;
}
.lc-resource-empty,
.lc-resource-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 42px 24px;
  background: var(--lc-card);
  border: 1px solid var(--lc-line);
  border-radius: 10px;
  text-align: center;
  color: var(--lc-muted);
}
.lc-resource-empty h2 {
  color: var(--aisf-text, #28364b);
}
.lc-resource-empty p {
  max-width: 540px;
  line-height: 1.7;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-empty .lc-button {
  margin-top: 5px;
}
.lc-resource-error,
.lc-resource-warning,
.lc-resource-success {
  border: 1px solid #efd7b4;
  border-radius: 7px;
  padding: 11px 14px;
  color: #856229;
  background: #fffaee;
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.65;
  margin-bottom: 16px;
}
.lc-resource-error {
  border-color: #e5c0c0;
  background: #fff3f3;
  color: #934749;
}
.lc-resource-success {
  border-color: #cbe6d6;
  background: #f0f9f4;
  color: #356c4c;
}
.lc-resource-detail-status {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 14px;
  background: var(--lc-bg);
  border-radius: 8px;
  margin-bottom: 18px;
}
.lc-resource-detail-status p {
  margin: 0;
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.7;
}
.lc-resource-version-picker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: var(--aisf-font-size-13, 13px);
  margin-bottom: 20px;
}
.lc-resource-version-picker select {
  width: auto;
  padding: 7px 28px 7px 10px;
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  background: var(--lc-card);
}
.lc-resource-preview {
  border-top: 1px solid var(--lc-line);
  padding-top: 18px;
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.75;
}
.lc-resource-preview > div > p {
  white-space: pre-wrap;
  margin: 0 0 14px;
}
.lc-resource-preview dl {
  display: grid;
  grid-template-columns: minmax(160px, 0.7fr) minmax(0, 1fr);
  gap: 8px 20px;
  margin: 12px 0;
}
.lc-resource-preview dt {
  color: var(--lc-muted);
  font-weight: 500;
}
.lc-resource-preview dd {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.lc-resource-criteria-preview > details {
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  padding: 13px 15px;
  margin-bottom: 10px;
}
.lc-resource-criteria-preview summary {
  cursor: pointer;
  color: var(--aisf-text, #28364b);
}
.lc-resource-criteria-preview summary > span {
  display: inline-block;
  margin-right: 10px;
  color: var(--lc-muted);
  font-size: 12px;
}
.lc-resource-criteria-preview summary + p {
  margin: 12px 0 0;
}
.lc-resource-steps {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.lc-resource-steps li {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 1;
  border-bottom: 2px solid var(--lc-line);
  padding: 0 0 12px;
  font-size: var(--aisf-font-size-13, 13px);
  color: var(--lc-muted);
}
.lc-resource-steps b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--lc-bg);
  font-size: 12px;
}
.lc-resource-steps li.active {
  color: var(--lc-accent);
  border-color: var(--lc-accent);
  font-weight: 600;
}
.lc-resource-steps li.active b {
  background: var(--aisf-accent-soft, #eef0ff);
}
.lc-resource-steps li.done {
  color: #367450;
  border-color: #99c5ab;
}
.lc-resource-method {
  border: 0;
  padding: 0;
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.lc-resource-method legend {
  font-weight: 500;
  font-size: var(--aisf-font-size-13, 13px);
  padding: 0 0 10px;
}
.lc-resource-method > label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 15px;
  border: 1px solid var(--lc-line);
  border-radius: 8px;
  cursor: pointer;
}
.lc-resource-method > label.selected {
  background: var(--aisf-accent-soft, #f2f4ff);
  border-color: var(--lc-accent);
}
.lc-resource-method > label.disabled {
  opacity: 0.6;
  cursor: default;
}
.lc-resource-method input {
  margin-top: 4px;
  flex-shrink: 0;
}
.lc-resource-method strong {
  font-size: var(--aisf-font-size-13, 13px);
  font-weight: 500;
}
.lc-resource-method small {
  margin-top: 5px;
}
.lc-resource-upload {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 25px 18px;
  border: 1px dashed #b9c5d8;
  border-radius: 9px;
  background: var(--lc-bg);
  text-align: center;
  min-height: 165px;
  cursor: pointer;
}
.lc-resource-upload strong {
  font-size: var(--aisf-font-size-14, 14px);
  overflow-wrap: anywhere;
}
.lc-resource-upload span {
  font-size: var(--aisf-font-size-12, 12px);
  color: var(--lc-muted);
}
.lc-resource-upload input {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.lc-resource-upload:focus-within {
  outline: 2px solid var(--lc-accent);
  outline-offset: 2px;
}
.lc-resource-check-heading {
  margin-bottom: 22px;
}
.lc-resource-check-heading p {
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
  margin: 5px 0 0;
}
.lc-resource-mapping {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}
.lc-resource-editor .lc-preview-table {
  max-height: 230px;
  border: 1px solid var(--lc-line);
  border-radius: 7px;
  margin-bottom: 14px;
}
.lc-resource-editor caption {
  text-align: left;
  font-size: 12px;
  padding: 8px 12px;
  color: var(--lc-muted);
  background: var(--lc-bg);
}
.lc-resource-criterion {
  border: 1px solid var(--lc-line);
  border-radius: 8px;
  margin: 12px 0;
  overflow: hidden;
}
.lc-resource-criterion-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  background: var(--lc-bg);
  border: 0;
  text-align: left;
  cursor: pointer;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-criterion-toggle > span:first-child {
  color: var(--lc-muted);
  font-size: 12px;
}
.lc-resource-criterion-toggle > strong {
  flex: 1;
  font-weight: 500;
}
.lc-resource-criterion-toggle > span:last-child {
  color: var(--lc-accent);
  font-size: 12px;
}
.lc-resource-editor .lc-resource-criterion fieldset {
  border: 0;
  margin: 0;
  border-radius: 0;
  padding: 16px;
}
.lc-resource-criterion legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.lc-resource-data-row {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) auto;
  gap: 12px;
  align-items: center;
}
.lc-resource-validation {
  font-size: var(--aisf-font-size-12, 12px);
  color: #7f6031;
  background: #fff9ee;
  border-radius: 6px;
  padding: 10px 12px;
  margin: 18px 0 0;
}
.lc-resource-complete {
  text-align: center;
  padding: 24px 26px 30px;
}
.lc-resource-complete > svg {
  color: #4a7d60;
  margin: 0 auto 16px;
}
.lc-resource-complete h3 {
  margin: 0 0 10px;
}
.lc-resource-complete p {
  font-size: var(--aisf-font-size-13, 13px);
  line-height: 1.8;
  color: var(--lc-muted);
  margin: 12px auto;
  max-width: 550px;
}
.lc-resource-complete-summary {
  color: var(--lc-muted);
  font-size: var(--aisf-font-size-12, 12px);
  margin-top: 18px;
}
@container resource-library (max-width: 650px) {
  .lc-resource-page-head {
    flex-direction: column;
    gap: 14px;
  }
  .lc-resource-page-head > .lc-button {
    margin-top: 0;
  }
  .lc-resource-process > p {
    margin-left: 0;
    flex-basis: 100%;
  }
  .lc-resource-row {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px 12px;
    padding: 15px;
  }
  .lc-resource-row-icon {
    width: 34px;
    height: 38px;
  }
  .lc-resource-row-state {
    grid-column: 2;
    grid-row: 2;
  }
  .lc-resource-row > .lc-button {
    grid-column: 2;
    justify-self: start;
    margin-top: 3px;
  }
  .lc-resource-category-head > span {
    display: none;
  }
}
@media (max-width: 640px) {
  .lc-resource-method,
  .lc-resource-mapping,
  .lc-resource-preview dl {
    grid-template-columns: minmax(0, 1fr);
  }
  .lc-resource-preview dl {
    gap: 3px;
  }
  .lc-resource-preview dd {
    margin-bottom: 12px;
  }
  .lc-resource-detail-status {
    flex-direction: column;
  }
  .lc-resource-data-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-bottom: 1px solid var(--lc-line);
    padding-bottom: 12px;
  }
  .lc-resource-data-row > button {
    justify-self: start;
  }
  .lc-resource-steps {
    gap: 7px;
  }
  .lc-resource-steps li {
    font-size: 12px;
  }
  .lc-resource-complete {
    padding-inline: 4px;
  }
}

/* Keep native choice/search controls compact inside the shared form defaults. */
.documents-dialog .lc-resource-wizard .lc-resource-method input[type="radio"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  padding: 0;
  margin: 3px 0 0;
  accent-color: var(--lc-accent);
}
.lc-module .lc-resource-library .lc-resource-search input[type="search"] {
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: var(--aisf-font-size-13, 13px);
}
.lc-resource-edit-fields {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.lc-guided { color: var(--foreground, #17243b); font-size: 14px; line-height: 1.55; }
.lc-guided-steps { display: flex; gap: 12px; padding: 0; margin: 0 0 24px; list-style: none; }
.lc-guided-steps li { flex: 1; display: flex; align-items: center; gap: 7px; padding-bottom: 12px; border-bottom: 2px solid #dbe1e9; color: #596579; font-size: 13px; }
.lc-guided-steps li[aria-current] { color: #184dac; border-color: #2563eb; font-weight: 650; }
.lc-guided-steps li span { display: grid; place-items: center; border-radius: 50%; width: 24px; height: 24px; flex-shrink: 0; background: #edf2f9; }
.lc-guided-body { border: 0; padding: 0; min-width: 0; display: grid; gap: 18px; }
.lc-guided h2 { font-size: 22px; font-weight: 650; line-height: 1.3; margin: 0; outline: none; }
.lc-guided p { margin: 0; }
.lc-guided-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lc-guided-choices label { display: flex; align-items: flex-start; gap: 10px; padding: 16px; border: 1px solid #dbe1e9; border-radius: 10px; cursor: pointer; }
.lc-guided-choices label.selected { border-color: #2563eb; background: #f3f7ff; }
.lc-guided-choices input { margin-top: 5px; }
.lc-guided-choices strong,.lc-guided-choices small { display: block; }
.lc-guided-choices small { color: #596579; margin-top: 5px; }
.lc-guided-field { display: grid; gap: 6px; min-width: 0; }
.lc-guided-field > span { font-weight: 600; }
.lc-guided-field small, .lc-guided-upload small, .lc-guided-material > small { display: block; color: #596579; }
.lc-guided-field :is(input,select,textarea) { width: 100%; min-width: 0; max-width: 100%; border: 1px solid #bbc5d4; border-radius: 7px; background: white; color: #17243b; padding: 10px 12px; font: inherit; }
.lc-guided-field textarea { resize: vertical; }
.lc-guided :is(input,select,textarea,button,a):focus-visible { outline: 2px solid #2563eb; outline-offset: 3px; }
.lc-guided-upload { padding: 22px; border: 1px dashed #9aacbf; border-radius: 10px; background: #f8fafc; display: grid; gap: 10px; }
.lc-guided-upload input { max-width: 100%; }
.lc-guided-saved { display: flex; align-items: center; gap: 7px; color: #41604e; margin-bottom: 18px !important; font-size: 12px; }
.lc-guided-error { color: #8a2424; background: #fff5f4; padding: 14px; border-radius: 8px; margin: 12px 0; }
.lc-guided-error button { margin: 8px 8px 0 0; }
.lc-guided-progress { display: flex; align-items: center; gap: 10px; padding: 12px 0 20px; }
.lc-guided-materials,.lc-guided-fields,.lc-guided-tender { display: grid; gap: 16px; }
.lc-guided-material { border-bottom: 1px solid #dbe1e9; padding: 0 0 18px; display: grid; gap: 9px; overflow-wrap: anywhere; }
.lc-guided a { color: #164fa8; text-decoration: underline; }
.lc-guided details > summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.lc-guided details > :not(summary) { margin-top: 9px; }
.lc-guided-suggestions { display: flex; flex-wrap: wrap; gap: 8px; }
.lc-guided-suggestions button { border: 1px solid #cbd5e1; border-radius: 20px; padding: 7px 12px; text-align: left; font-size: 12px; }
.lc-guided-inspection,.lc-guided-hint,.lc-guided-warnings { color: #5c573e; background: #fcfaf2; border-radius: 8px; padding: 12px; }
.lc-guided-warnings { padding-left: 30px; margin-bottom: 16px; }
.lc-guided-source-text { max-height: 280px; overflow: auto; white-space: pre-wrap; }
.lc-guided-source-text p + p { margin-top: 12px; }
.lc-guided-candidate { border: 1px solid #dbe1e9; border-radius: 10px; padding: 18px; display: grid; gap: 10px; }
.lc-guided-candidate-title { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; }
.lc-guided-candidate-title input { margin-top: 5px; }
.lc-guided-evidence { font-size: 12px; color: #596579; }
.lc-guided-evidence blockquote { border-left: 2px solid #b6c5d9; padding: 4px 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-guided-result { display: grid; justify-items: start; gap: 16px; padding: 24px; background: #f3f7ff; border-radius: 10px; overflow-wrap: anywhere; }
.lc-guided .lc-guided-download { display: inline-flex; background: #174fb0; color: white; padding: 10px 18px; border-radius: 8px; text-decoration: none; }
@media (max-width: 640px) { .lc-guided-choices { grid-template-columns: 1fr; } .lc-guided-steps { gap: 4px; } .lc-guided-steps li { flex-direction: column; gap: 5px; font-size: 11px; } .lc-guided-candidate,.lc-guided-result { padding: 14px; } }

.lc-native-word { margin: 16px; padding: 24px; background: white; color: #17243b; box-shadow: 0 2px 12px #17243b12; }
.lc-native-word > header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 12px; margin-bottom: 10px; overflow-wrap: anywhere; }
.lc-native-hint { font-size: 12px; color: #596579; margin: 0 0 18px; }
.lc-native-table-scroll { overflow-x: auto; margin-bottom: 24px; }
.lc-native-word table { width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 680px; }
.lc-native-word td { border: 2px solid white; vertical-align: top; padding: 4px; }
.lc-native-word tr:first-child td { font-weight: 600; }
.lc-canvas .lc-native-word .lc-block { min-width: 0; padding: 5px; font-size: 12px; }
.lc-canvas .lc-native-word .lc-block-text,
.lc-canvas .lc-native-word .lc-block.is-heading .lc-block-text { font-size: 13px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; font-weight: inherit; font-family: Arial, sans-serif; }
.lc-native-word .lc-block-heading { flex-wrap: wrap; }
.lc-native-word .lc-block-actions { flex-wrap: wrap; }
.lc-native-review { border-top: 1px solid #dbe1e9; padding-top: 18px; }
@media (max-width: 640px) { .lc-native-word { margin: 4px; padding: 12px; } }

/* Controls belong above the native table: narrow cells must retain readable text. */
.lc-canvas .lc-native-word .lc-block > .lc-block-heading { display: none; }
.lc-native-selection-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; font: 12px/1.5 var(--aisf-font-ui, Inter, system-ui, sans-serif); }
.lc-native-selection-actions > button { padding: 4px 8px; border: 1px solid #dbe1e9; border-radius: 6px; background: white; color: var(--lc-accent); }
.lc-native-word .lc-block-findings { margin-top: 6px; }
.lc-native-word .lc-block-findings > button { padding: 2px; gap: 3px; flex-wrap: wrap; max-width: 100%; }
.lc-native-word .lc-finding-title { display: none; }
.lc-native-word .lc-finding-state { margin: 0; font-size: 10px; white-space: nowrap; }
.lc-insert-table,.lc-table-bar button { display:flex;align-items:center;gap:6px;border:1px solid #dce5ee;border-radius:6px;background:#fff;color:#385779;padding:7px 9px;font-size:11px;cursor:pointer; }
.lc-insert-table:disabled,.lc-word-table button:disabled { opacity:.45;cursor:default; }
.lc-word-table { margin:12px 0 24px;min-width:0; }
.lc-table-bar { display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;color:#47617c;font-size:12px; }
.lc-table-bar > span { display:flex;align-items:center;gap:7px;font-weight:600; }.lc-table-bar small { font-weight:400;color:#7d8fa4; }
.lc-table-bar button { margin-left:auto; }
.lc-word-table .lc-native-table-scroll { margin-bottom:0;padding:0 6px 7px 0; }
.lc-native-word .lc-word-table table { table-layout:fixed;border-collapse:collapse;min-width:0;max-width:none; }
.lc-native-word .lc-word-table td { position:relative;min-width:24px;overflow-wrap:anywhere;border:1px solid #d9e2ec; }
.lc-table-ruler { display:grid;height:25px;background:#f3f6fa;border:1px solid #e0e7ee;box-sizing:border-box;color:#7b8da1;font-size:10px; }
.lc-table-ruler>div { position:relative;display:grid;place-items:center;min-width:0; }
.lc-table-resize { position:absolute;z-index:5;border:0;background:transparent;touch-action:none;padding:0; }
.lc-table-resize.is-column { top:0;right:-4px;width:9px;height:100%;cursor:col-resize;border-right:2px solid #95acc5; }
.lc-table-resize.is-row { right:0;bottom:-4px;width:30px;height:9px;cursor:row-resize;border-bottom:2px solid #95acc5; }
.lc-table-resize:hover,.lc-table-resize:focus-visible { background:#6694c855;outline:2px solid #6384a8; }
.lc-table-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.lc-table-fields label { display:grid;gap:6px;font-size:12px;color:#496179; }
.lc-table-fields fieldset { display:flex;flex-direction:column;gap:10px;border:1px solid #e0e6ee;border-radius:9px;padding:12px;min-width:0; }.lc-table-fields legend { font-weight:600;font-size:13px; }
.lc-table-fields input,.lc-table-fields select { width:100%;box-sizing:border-box;min-width:0;padding:8px;border:1px solid #d7e0ea;border-radius:6px; }
.lc-table-fields button,.lc-table-confirm button,.lc-table-delete { padding:7px 9px;border:1px solid #dce5ee;border-radius:6px;background:#f8fafc;color:#355573;font-size:12px;cursor:pointer; }
.lc-table-fields small { font-size:11px;color:#7b8ea1; }.lc-table-actions { display:flex;flex-wrap:wrap;gap:6px; }
.lc-table-preview { display:grid;gap:3px;margin:18px 0;max-width:280px; }.lc-table-preview span { height:22px;border:1px solid #adc0d3;border-radius:2px;background:#eef4fa; }
.lc-table-delete { margin:18px 0 0;color:#994646; }.lc-table-confirm { margin-top:12px;padding:12px;border:1px solid #e6c8c8;border-radius:8px;font-size:12px; }.lc-table-confirm button { margin-right:7px; }
@media(max-width:600px) { .lc-table-fields { grid-template-columns:1fr;gap:12px; }.lc-table-bar button { margin-left:0; }.lc-table-fields fieldset { gap:7px; } }
/* Document navigation and persistent paragraph formatting. */
.lc-document-manager{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #e3e8ed;background:#f8fafc;min-width:0}
.lc-document-tabs{display:flex;gap:8px;overflow:auto;flex:1;min-width:0;padding:2px}
.lc-document-tabs>button{display:flex;align-items:center;gap:9px;flex:0 0 auto;max-width:260px;text-align:left;padding:9px 12px;border:1px solid #e0e5eb;border-radius:10px;background:white;color:#536173;font:inherit;font-size:12px;cursor:pointer}
.lc-document-tabs>button[aria-selected=true]{border-color:#7598b9;background:#edf4fb;color:#183d64;box-shadow:0 2px 5px #2843610c}
.lc-document-tabs>button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-document-tabs small{display:block;font-size:10px;color:#718096;margin-top:2px}
.lc-document-add,.lc-document-remove{display:flex;align-items:center;gap:5px;border:1px solid #dce4ec;background:white;border-radius:8px;padding:8px;color:#405c78;font-size:12px;cursor:pointer}.lc-document-add input{position:absolute;width:1px;height:1px;opacity:0}.lc-document-add:focus-within{outline:2px solid #426d97}.lc-document-add.is-disabled{opacity:.5;cursor:default}.lc-document-remove:disabled{opacity:.4}.lc-document-remove:hover:not(:disabled){background:#fff0ed;color:#a54036}
.lc-removed-documents{padding:8px 16px;font-size:12px;color:#58697c;border-bottom:1px solid #e5e9ee}.lc-removed-documents>div{display:flex;justify-content:space-between;padding:7px;gap:12px}.lc-removed-documents button{color:#235b91;background:transparent;border:0;cursor:pointer}
.lc-editor-formatting{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px 14px;background:white;border-bottom:1px solid #e5e9ee}.lc-editor-formatting>small{font-size:10px;color:#738195;margin-left:auto}.lc-format-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.lc-format-toolbar button{display:grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:5px;background:transparent;color:#42536a;font:inherit;cursor:pointer}.lc-format-toolbar button>svg{width:18px;height:18px}.lc-format-toolbar button:hover:not(:disabled){background:#edf3f8}.lc-format-toolbar button[aria-pressed=true]{background:#e3edf8;border-color:#a9bfd6;color:#204b78}.lc-format-toolbar button:disabled,.lc-format-toolbar select:disabled{opacity:.4;cursor:default}.lc-format-toolbar>label{display:flex;align-items:center;flex:0 0 auto}.lc-format-toolbar select{height:32px;width:152px;min-width:152px;padding:4px 10px;line-height:20px;border:1px solid #e0e6ed;background:white;border-radius:5px;color:#45566b;font-size:12px;max-width:100%}.lc-tool-divider{height:17px;width:1px;background:#e1e6ec;margin:0 4px}.lc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lc-format-hint{font-size:12px;color:#62748a}.lc-list-marker{display:inline-block;min-width:1.6em;margin-right:.2em;font-variant-numeric:tabular-nums}
/* A compact action surface follows the passage without changing table geometry. */
.lc-block{position:relative}.lc-passage-trigger{position:absolute;right:3px;top:2px;z-index:2;border:1px solid #dae4ee;border-radius:5px;background:#ffffffee;color:#536b85;line-height:1;padding:3px;opacity:0;cursor:pointer}.lc-block:hover>.lc-passage-trigger,.lc-block:focus-within>.lc-passage-trigger,.lc-block.selected>.lc-passage-trigger{opacity:1}.lc-passage-popover{position:fixed;z-index:1600;width:324px;max-width:calc(100vw - 16px);padding:9px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;box-shadow:0 8px 36px #243c5826;font-family:inherit;color:#32475e}.lc-passage-popover>strong{display:block;margin:0 4px 6px;font-size:10px;font-weight:600;color:#7b8999;text-transform:uppercase;letter-spacing:.07em}.lc-passage-popover>div{display:flex;gap:3px}.lc-passage-popover button{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;border:0;border-radius:7px;background:transparent;color:#365978;padding:5px 4px;font-size:10px;cursor:pointer}.lc-passage-popover button:hover,.lc-passage-popover button:focus-visible{background:#edf4fb}.lc-passage-popover button:nth-child(3),.lc-passage-popover button:nth-child(4){color:#6953a0}
.lc-note-number,.lc-note-anchor>span:first-child{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:6px;background:#e7eef8;color:#315c89;font-size:11px;font-weight:700}.lc-note-anchor{display:flex;align-items:center;gap:8px;margin-bottom:12px;border:0;background:none;text-align:left;color:#446b91;font-size:11px;font-weight:600;cursor:pointer}.lc-linked-note{position:relative;border-left:3px solid #7e9dbd!important;background:#f7faff!important}.lc-evidence-margin .lc-linked-note:after{content:"";position:absolute;right:-26px;top:28px;width:25px;border-top:2px solid #91acc6}.lc-native-part.has-linked-note{border-left:2px solid #96adc7;padding-left:10px;margin-left:-12px}.lc-native-part>.lc-linked-note{margin:12px 0 22px;padding:14px 18px;border-radius:9px;box-shadow:none}.lc-native-part>.lc-linked-note:before{content:"";position:absolute;left:16px;top:-13px;height:12px;border-left:2px solid #91acc6}.lc-native-word .lc-block.selected{background:#eaf2fc;box-shadow:inset 3px 0 #739ac0}.lc-native-word .lc-block-findings button .lc-note-number{display:inline-grid!important}
/* Assistant dock: scope and sources stay visible alongside the request. */
.lc-assistant-dock.lc-conversation{border:1px solid #dce4ed;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #20364d0a;background:#fcfdff}.lc-conversation-title{padding:10px 18px!important}.lc-assistant-dock form{margin:0 12px 10px;padding:10px 12px!important;border:1px solid #dce5ef!important;border-radius:12px;background:#fff!important;box-shadow:0 2px 8px #273e5610;display:block!important}.lc-composer-context{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:5px}.lc-context-scope{display:flex;gap:3px;flex-wrap:wrap}.lc-context-scope button,.lc-composer-sources{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid transparent;border-radius:6px;color:#6b7a8e;padding:5px 7px;font-size:11px;cursor:pointer}.lc-context-scope button[aria-pressed=true]{background:#edf3fa;border-color:#d9e5f1;color:#315c86}.lc-composer-sources:hover{background:#f0f5fa}.lc-composer-target{font-size:10px;color:#7b8a9d;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 7px}.lc-assistant-dock form textarea{width:100%;border:0!important;border-radius:6px!important;box-shadow:none!important;resize:vertical;background:transparent!important;padding:10px 7px!important;font-size:13px;min-height:44px;max-height:160px}.lc-assistant-dock form textarea:focus{outline:2px solid #aac4df}.lc-assistant-dock .lc-editing-hint{display:block;margin:0 7px;color:#8290a1;font-size:10px}.lc-assistant-dock .lc-composer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:0 3px;gap:10px}.lc-composer-options{position:relative;color:#738197;font-size:11px}.lc-composer-options>summary{cursor:pointer}.lc-composer-options .lc-checkbox{position:absolute;bottom:25px;left:0;width:250px;box-shadow:0 4px 20px #243c5826;background:white;border:1px solid #dce5ef;border-radius:8px;padding:12px;z-index:5}.lc-composer-actions button[type=submit]{border-radius:8px!important;min-height:34px!important;font-size:12px!important}
/* Intake, upload feedback and real processing events. */
.lc-guided-body[hidden]{display:none!important}.lc-intake-documents{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.lc-intake-documents>div{display:flex;gap:10px;align-items:center;border:1px solid #dee6ee;background:#f8fafc;border-radius:10px;padding:12px}.lc-intake-documents>div>span{flex:1;min-width:0;overflow-wrap:anywhere}.lc-intake-documents small{display:block;color:#788699;margin-top:3px;font-size:11px}.lc-intake-documents button{border:0;background:transparent;color:#7d6370;cursor:pointer;font-size:11px}.lc-upload-queue{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#f4f8fc;border-radius:8px}.lc-upload-queue>span,.lc-upload-queue>div{display:flex;gap:12px;align-items:center;max-width:100%;overflow-wrap:anywhere;font-size:12px;background:white;border:1px solid #e3ebf3;border-radius:6px;padding:7px 9px}.lc-upload-queue small{color:#6c8197;font-size:10px}.lc-upload-queue>button{margin-left:auto;border:0;background:none;color:#6e7f92;cursor:pointer}
.lc-preparation{padding:26px clamp(18px,4vw,58px) 20px;background:radial-gradient(ellipse at 50% 10%,#edf3ff 0,transparent 55%),#fff}.lc-preparation-heading{text-align:center;max-width:520px;margin:0 auto 22px}.lc-preparation-heading>span{color:#748eb3;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.lc-preparation-heading h2{font-size:24px;letter-spacing:-.035em;color:#263f61;line-height:1.2;margin:10px 0}.lc-preparation-heading p{font-size:13px;color:#7c899b;line-height:1.6}.lc-preparation-visual{position:relative;width:110px;height:120px;margin:0 auto 20px}.lc-preparation-page{position:absolute;left:15px;top:8px;width:77px;height:99px;border:1px solid #cbd9ec;background:white;border-radius:8px;box-shadow:0 7px 24px #34537a12;padding:16px 12px;overflow:hidden}.lc-preparation-page.back{transform:rotate(-12deg) translate(-8px,2px);background:#edf3fd}.lc-preparation-page>i{display:block;height:3px;background:#e1e9f4;margin:7px 0}.lc-preparation-page>span{display:block;width:25px;height:5px;border-radius:2px;background:#9fb6d7}.lc-preparation-page>div{height:15px;background:#eef3fa;border-radius:3px}.lc-preparation-page:not(.back):after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#b4cffa55 50%,transparent 75%);transform:translateY(-100%);animation:lc-page-scan 3s ease-in-out infinite}.lc-preparation-spark{position:absolute;right:-5px;bottom:4px;display:grid;place-items:center;width:38px;height:38px;border:5px solid #f5f8ff;border-radius:50%;background:#6886b5;color:white;font-size:21px;animation:lc-spark-breathe 2s ease-in-out infinite}.lc-preparation-files{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px 0 24px}.lc-preparation-files>span{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e1e7f0;border-radius:7px;background:white;font-size:10px;color:#7c8da3;max-width:220px}.lc-preparation-files>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-preparation .lc-review-activity{max-width:620px;margin:0 auto}.lc-preparation-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #edf0f5;padding-top:16px;margin-top:24px;font-size:10px;color:#8795a8}.lc-preparation-footer>span{display:flex;align-items:center;gap:5px}.lc-preparation-footer button{border:0;background:transparent;color:#4b729d;cursor:pointer;font-size:11px}
@keyframes lc-page-scan{to{transform:translateY(100%)}}@keyframes lc-spark-breathe{50%{box-shadow:0 0 0 8px #879fc015}}
@media(max-width:700px){.lc-editor-formatting{padding:5px 8px}.lc-editor-formatting>small{margin-left:0;width:100%}.lc-format-toolbar{gap:1px}.lc-format-toolbar button{width:28px}.lc-tool-divider{margin:0 2px}.lc-document-manager{padding:7px}.lc-document-add>span{display:none}.lc-passage-trigger{opacity:1}.lc-assistant-dock form{margin:0 6px 6px;padding:8px!important}.lc-composer-context{gap:4px}.lc-context-scope button{padding:5px;font-size:10px}.lc-composer-sources{font-size:10px}.lc-preparation-heading h2{font-size:21px}.lc-note-anchor{flex-wrap:wrap}.lc-conversation-title{padding:8px 10px!important}}
@media(prefers-reduced-motion:reduce){.lc-preparation-page:after,.lc-preparation-spark{animation:none!important}}
.lc-upload-queue{list-style:none}.lc-upload-queue>li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e0e9f3;border-radius:7px;background:white;font-size:12px;max-width:100%;overflow-wrap:anywhere}.lc-upload-queue>li.is-error{border-color:#e4bdb6}.lc-upload-queue>li small{margin-left:auto}
.lc-preparation{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px 22px;padding:20px 26px}.lc-preparation-visual{grid-column:1;width:92px;height:110px;margin:0}.lc-preparation-heading{grid-column:2;max-width:none;margin:0;text-align:left}.lc-preparation-heading h2{margin:6px 0!important;font-size:21px}.lc-preparation-heading p{font-size:12px;line-height:1.5}.lc-preparation-files{grid-column:1/-1;justify-content:flex-start;margin:0}.lc-preparation>.lc-activity{grid-column:1/-1;margin:0;width:100%}.lc-preparation-footer{grid-column:1/-1;margin-top:0;padding-top:10px}.lc-preparation-footer>span{font-size:10px}
@media(max-width:700px){.lc-preparation{grid-template-columns:1fr;padding:12px;gap:12px}.lc-preparation-visual{display:none}.lc-preparation-heading{grid-column:1}.lc-preparation-heading h2{font-size:19px}.lc-preparation-heading>span{font-size:9px}.lc-preparation .lc-activity-steps li{font-size:12px}.lc-preparation-files>span{max-width:100%}}
.lc-preparation-footer-status{display:flex;align-items:center;gap:8px;color:#6e829e;font-size:12px;margin-right:auto}
/* A shared material card in intake and the working canvas. */
.lc-file-context { min-width: 0; border: 1px solid #dce6ee; border-radius: 10px; background: #f8fafc; color: #354c64; overflow: hidden; }
.lc-file-context-toggle { display: flex; width: 100%; align-items: center; gap: 7px; padding: 10px 12px; border: 0; background: transparent; text-align: left; cursor: pointer; font: inherit; font-size: 11px; color: inherit; }
.lc-file-context-toggle strong { font-size: 11px; flex: 1; }
.lc-file-context-toggle > span { font-size: 10px; color: #708095; }
.lc-file-context-summary { margin: 0 !important; padding: 0 12px 10px; color: #62758a; font-size: 11px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.lc-file-context-fields { padding: 0 12px 12px; display: grid; gap: 12px; }
.lc-file-context-fields p { font-size: 11px; line-height: 1.6; margin: 0; color: #62758a; }
.lc-file-context-fields label { display: grid; gap: 5px; }
.lc-file-context-fields label > span { font-size: 12px; font-weight: 600; }
.lc-file-context-fields textarea { width: 100%; min-width: 0; resize: vertical; padding: 9px 10px; border: 1px solid #cbd7e3; border-radius: 7px; background: white; color: #293f58; font: inherit; font-size: 12px; line-height: 1.55; }
.lc-file-context-fields label > small { text-align: right; color: #8190a2; font-size: 10px; }
.lc-file-context-fields p[role=alert] { color: #93493e; padding: 9px; border-radius: 7px; background: #fff0ec; }
.lc-file-context-actions { display: flex; justify-content: flex-end; gap: 8px; }
.lc-file-context-actions button { font: inherit; font-size: 11px; cursor: pointer; border-radius: 7px; padding: 8px 10px; background: white; border: 1px solid #d6e1ed; color: #506c89; }
.lc-file-context-actions button:last-child { background: #315d87; color: white; border-color: #315d87; }
.lc-file-context-actions button:disabled { opacity: .45; cursor: default; }
.lc-file-context :focus-visible { outline: 2px solid #5485b7; outline-offset: 2px; }
.lc-context-saved { display: block; padding: 0 12px 10px; font-size: 10px; color: #39745d; }
.lc-active-document-context { padding: 6px 14px; border-bottom: 1px solid #e4ebf2; }
.lc-active-document-context .lc-file-context { max-height: 290px; overflow-y: auto; }
.lc-active-document-context .lc-file-context-toggle { padding-block: 7px; }
.lc-active-document-context .lc-file-context-summary { padding-bottom: 6px; -webkit-line-clamp: 1; }
.lc-source-card .lc-file-context { margin: 5px 0; }
.lc-context-pending,.lc-guided-draft-notice { padding: 9px 14px; background: #fdf5e9; color: #816240; font-size: 11px; }
.lc-document-search { display: flex; align-items: center; gap: 8px; padding: 6px 14px; color: #7b8da3; background: #f7fafc; }
.lc-document-search input { flex: 1; min-width: 0; background: transparent; border: 0; font-size: 12px; padding: 5px; }
.lc-document-search small { font-size: 10px; }

/* The journey describes actual capabilities, including PDF extraction limits. */
.lc-choice-formats { display: inline-block; margin-top: 10px; font-size: 10px; font-style: normal; color: #53708f; }
.lc-guided-choices label { transition: border-color .15s, box-shadow .15s; background: white; border-radius: 13px; }
.lc-guided-choices label:hover { border-color: #87a7c4; box-shadow: 0 4px 16px #244c7510; }
.lc-guided-choices label.selected { border-color: #799bbf; background: linear-gradient(135deg,#f0f6fc,white); box-shadow: inset 3px 0 #6486ae; }
.lc-format-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.lc-format-guide > div { padding: 14px; border: 1px solid #dde6ed; border-radius: 12px; background: white; }
.lc-format-guide b,.lc-format-badge { display: inline-grid; place-items: center; padding: 6px; min-width: 35px; border-radius: 7px; color: #426b9a; background: #eaf1fa; font-size: 9px; letter-spacing: .05em; font-weight: 700; }
.lc-format-guide [data-format=pdf] b,.lc-format-badge.is-pdf { background: #f9eee7; color: #986340; }
.lc-format-guide [data-format=xlsx] b,.lc-format-badge.is-xlsx { background: #e8f3ee; color: #497660; }
.lc-format-guide strong { margin-left: 8px; font-size: 13px; }
.lc-format-guide p { margin: 10px 0 8px; font-size: 12px; line-height: 1.55; color: #667b90; }
.lc-format-guide small { color: #7a8da0; font-size: 10px; }
.lc-paste-document { padding: 12px 16px; border: 1px solid #dce6ee; border-radius: 12px; background: #fbfcfe; }
.lc-paste-document summary { display: flex; align-items: center; gap: 7px; color: #466c94; }
.lc-paste-document p { font-size: 12px; color: #6d7e91; line-height: 1.6; }
.lc-paste-document > div { display: flex; gap: 6px; }
.lc-intake-documents { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); align-items: start; }
.lc-intake-file { padding: 13px; border: 1px solid #dde6ef; border-radius: 13px; background: white; min-width: 0; }
.lc-intake-file header { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.lc-intake-file header > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lc-intake-file header strong { font-size: 12px; }
.lc-intake-file header button { color: #8b6870; }
.lc-intake-file header button:disabled { opacity: .4; }
.lc-file-preview { font-size: 11px; color: #6a7e93; margin-bottom: 10px; }
.lc-file-preview p { font-size: 12px; white-space: pre-wrap; max-height: 170px; overflow: auto; border-left: 2px solid #a9bfd4; padding-left: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.lc-guided-material { padding: 16px; border: 1px solid #dfe7ef; border-radius: 13px; background: white; }
.lc-guided-material > strong { font-size: 13px; }
.lc-guided-material > a { font-size: 11px; }
.lc-journey-summary { display: flex; gap: 14px; flex-wrap: wrap; padding: 15px; border: 1px solid #dce7f1; border-radius: 12px; background: #f4f8fc; }
.lc-journey-summary > span { font-size: 11px; color: #708398; }
.lc-journey-summary b { color: #3e6085; font-size: 20px; margin-right: 5px; }
.lc-intake-checklist { padding: 16px; border: 1px solid #dfe6ee; border-radius: 12px; }
.lc-intake-checklist > strong { font-size: 13px; }
.lc-intake-checklist > div { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid #edf1f6; }
.lc-intake-checklist > div:last-child { border: 0; padding-bottom: 0; }
.lc-intake-checklist span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lc-intake-checklist span strong { font-size: 12px; }
.lc-intake-checklist small { display: block; font-size: 10px; color: #7a8b9b; margin-top: 3px; }
.lc-intake-checklist p { margin-top: 5px; font-size: 11px; color: #5f7993; }
.lc-intake-checklist button { border: 0; background: transparent; color: #416c94; font-size: 11px; cursor: pointer; }

/* Collapsed means a single 38px strip, including on phones. */
.lc-assistant-dock.lc-conversation.is-minimized { max-width: 590px; padding: 0 10px; border-radius: 12px; box-shadow: 0 5px 24px #263f5c20; }
.lc-assistant-dock.is-minimized .lc-conversation-title { min-height: 38px; height: 38px; padding: 0 !important; gap: 7px; flex-wrap: nowrap; }
.lc-assistant-dock.is-minimized .lc-chat-avatar { width: 23px; height: 23px; min-width: 23px; font-size: 15px; }
.lc-assistant-dock.is-minimized .lc-conversation-title strong { font-size: 11px; white-space: nowrap; }
.lc-assistant-dock.is-minimized .lc-assistant-status { display: block; order: initial; width: auto; padding: 0; font-size: 10px; flex: 1; }
.lc-assistant-dock.is-minimized .lc-assistant-controls { gap: 8px; }
.lc-assistant-dock.is-minimized .lc-text-button { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; padding: 5px; }
.lc-canvas:has(.lc-assistant-dock.is-minimized) .lc-document-scroll { padding-bottom: 65px; scroll-padding-bottom: 65px; }
.lc-document-prompts { display: flex; gap: 6px; margin: 0 12px 8px; overflow-x: auto; }
.lc-document-prompts button { display: inline-flex; align-items: center; gap: 5px; text-align: left; border: 1px solid #dee7ef; border-radius: 7px; background: #f5f8fc; padding: 6px 9px; font-size: 10px; color: #587797; cursor: pointer; }
.lc-document-prompts button:disabled { opacity: .45; }
@media(max-width:700px) {
  .lc-format-guide { grid-template-columns: 1fr; }
  .lc-format-guide > div { padding: 10px 12px; }
  .lc-format-guide p { margin: 6px 0 4px; }
  .lc-active-document-context { padding: 4px 7px; }
  .lc-active-document-context .lc-file-context { max-height: 220px; }
  .lc-active-document-context .lc-file-context-summary { display: none; }
  .lc-assistant-dock.lc-conversation.is-minimized { left: 6px; right: 6px; bottom: 6px; }
  .lc-assistant-dock.is-minimized .lc-conversation-title strong { display: none; }
  .lc-journey-summary { gap: 10px; }
}
@media(prefers-reduced-motion:reduce) { .lc-guided-choices label { transition: none; } }
/* Keep the open assistant header on one line, with space reserved for controls. */
.lc-assistant-dock.lc-conversation:not(.is-minimized) { padding: 6px 10px 8px; }
.lc-assistant-dock:not(.is-minimized) .lc-conversation-title {
  height: 36px; min-height: 36px; flex: 0 0 36px; flex-wrap: nowrap;
  gap: 7px; padding: 0 2px !important; margin: 0; border-bottom: 1px solid #e9eef4;
}
.lc-assistant-dock:not(.is-minimized) .lc-conversation-title > strong {
  font-size: 12px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lc-assistant-dock:not(.is-minimized) .lc-conversation-title > .lc-chat-avatar {
  width: 24px; height: 24px; border-radius: 7px; font-size: 15px;
}
.lc-assistant-dock:not(.is-minimized) .lc-assistant-status {
  min-width: 0; font-size: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.lc-assistant-dock .lc-assistant-controls { gap: 4px; flex-shrink: 0; }
.lc-assistant-dock:not(.is-minimized) .lc-assistant-controls > button {
  display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0;
  border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; color: #617b97;
}
.lc-chat-toggle-icon { display: grid; place-items: center; transform: rotate(180deg); }
.lc-chat-toggle-icon.is-expanded { transform: none; }
.lc-assistant-dock .lc-messages { margin-top: 6px; padding-top: 10px; }

/* A finding title must never consume a column one letter at a time. */
.lc-block-findings .lc-finding-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lc-block-findings .lc-note-number,.lc-block-findings .lc-dot { flex-shrink: 0; }
.lc-sheet-reading-tools { display: flex; align-items: center; gap: 12px; justify-content: space-between; margin-bottom: 10px; color: #526c87; font-size: 11px; }
.lc-sheet-reading-tools > span { min-width: 0; }
.lc-sheet-reading-tools small { display: block; font-size: 10px; color: #8190a2; margin-top: 3px; }
.lc-sheet-reading-tools button { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; border: 1px solid #dce5ee; border-radius: 7px; padding: 7px 10px; background: #fff; color: #4c6b8b; font: inherit; cursor: pointer; }
.lc-sheet-scroll { border: 1px solid #e0e7ef; border-radius: 8px; scrollbar-gutter: stable; }
.lc-sheet-scroll:focus-visible { outline: 2px solid #799abf; outline-offset: 2px; }
.lc-spreadsheet { table-layout: fixed; }
.lc-spreadsheet :is(td,th) { min-width: 0; }
.lc-spreadsheet thead th { height: 28px; padding: 4px 8px; text-align: center; font-size: 10px; font-weight: 600; }
.lc-spreadsheet tbody th { position: sticky; left: 0; z-index: 3; padding: 10px 6px; text-align: center; font-size: 10px; box-shadow: 1px 0 #e0e7ef; }
.lc-canvas .lc-spreadsheet .lc-block { min-width: 0; max-width: none; min-height: 36px; padding: 9px 11px; }
.lc-canvas .lc-spreadsheet .lc-block > .lc-block-heading { display: none; }
.lc-canvas .lc-spreadsheet .lc-block-text { font-size: 13px; line-height: 1.55; word-break: normal; overflow-wrap: anywhere; }
.lc-canvas .lc-spreadsheet .lc-block-text.is-cell-collapsed { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.lc-cell-expand { display: flex; align-items: center; gap: 8px; margin-top: 6px; padding: 2px 0; border: 0; background: transparent; color: #4c6e95; font: inherit; font-size: 10px; cursor: pointer; }
.lc-spreadsheet .lc-block-findings { margin-top: 8px; gap: 5px; }
.lc-spreadsheet .lc-block-findings > button { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; padding: 4px 6px; width: -moz-fit-content; width: fit-content; max-width: 100%; border: 1px solid #e1e8f1; background: #f4f7fb; cursor: pointer; }
.lc-spreadsheet .lc-block-findings .lc-finding-title { display: none; }
.lc-spreadsheet .lc-block-findings .lc-finding-state { display: block; margin: 0; white-space: nowrap; font-size: 10px; }
.lc-spreadsheet .lc-block-findings .lc-note-number { width: 20px; height: 20px; min-width: 20px; font-size: 10px; }
.lc-sheet-note-preview { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.lc-sheet-note-preview > p { margin: 14px 0; white-space: pre-wrap; }
.lc-sheet-note-preview blockquote { margin-top: 12px; padding: 10px 14px; border-left: 2px solid #a1b7d0; background: #f6f9fc; border-radius: 4px; }
.lc-sheet-note-preview blockquote small { color: #70849a; font-size: 11px; }
.lc-sheet-note-preview blockquote p { margin: 5px 0 0; white-space: pre-wrap; }
@media(max-width:700px) {
  .lc-sheet-reading-tools { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .lc-sheet-review { grid-template-columns: minmax(0,1fr); }
}
.lc-material-drawer { min-width: 0; max-width: 100%; flex: 0 0 auto; border-bottom: 1px solid #e0e7ef; background: #f8fafc; }
.lc-material-drawer-toggle { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 36px; padding: 5px 12px; border: 0; background: transparent; color: #4b6480; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.lc-material-title { display: flex; align-items: center; gap: 7px; flex-shrink: 0; white-space: nowrap; }
.lc-material-title > strong { font-size: 11px; }
.lc-material-current { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #6c7e92; }
.lc-material-counts { display: flex; flex-shrink: 0; gap: 4px; }
.lc-material-counts > small { padding: 2px 6px; border: 1px solid #e0e7ef; border-radius: 5px; background: white; white-space: nowrap; color: #657b92; font-size: 10px; }
.lc-material-disclosure { display: flex; align-items: center; flex-shrink: 0; gap: 4px; padding: 3px 6px; border-radius: 5px; color: #365f89; font-weight: 600; }
.lc-material-disclosure-suffix { margin-left: -4px; white-space: pre; }
.lc-material-disclosure > svg { transition: transform .18s ease; }
.lc-material-drawer.is-open .lc-material-disclosure > svg { transform: rotate(180deg); }
.lc-material-pending { color: #956218; font-size: 10px; }
.lc-material-drawer-toggle:hover { background: #edf3f9; }
.lc-material-drawer-toggle:hover .lc-material-disclosure { background: #dfeaf5; }
.lc-material-drawer-body { max-height: min(40dvh, 340px); overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid #e5ebf2; padding-bottom: 4px; scrollbar-width: thin; }
.lc-material-drawer-body[hidden] { display: none; }
.lc-material-drawer .lc-document-manager { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 6px 12px; border-bottom: 0; }
.lc-material-rail { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 5px; min-width: 0; }
.lc-material-viewport { min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #a9bed4 transparent; container-type: inline-size; border-radius: 7px; }
.lc-material-rail .lc-document-tabs { width: -moz-max-content; width: max-content; min-width: 100%; overflow: visible; padding: 3px; gap: 5px; }
.lc-material-rail .lc-document-tabs > button { width: min(208px, calc(100cqw - 6px)); max-width: none; min-width: 0; min-height: 42px; gap: 7px; padding: 5px 8px; border-radius: 7px; font-size: 11px; }
.lc-material-rail .lc-document-tabs > button > svg { flex-shrink: 0; }
.lc-material-rail .lc-document-tabs > button > span { min-width: 0; }
.lc-material-rail .lc-document-tabs small { margin-top: 1px; font-size: 9px; }
.lc-rail-arrow { display: grid; place-items: center; width: 32px; height: 36px; padding: 0; border: 1px solid #c5d6e8; border-radius: 7px; background: #edf4fc; color: #365f89; cursor: pointer; box-shadow: 0 1px 3px #2843610a; }
.lc-rail-arrow:disabled { color: #a8b7c7; border-color: #e4ebf3; background: #f8fafc; box-shadow: none; cursor: default; }
.lc-rail-arrow:hover:not(:disabled) { background: #eaf2fb; border-color: #91adc8; }
.lc-material-drawer :is(button,input,[tabindex]):focus-visible { outline: 2px solid #668fba; outline-offset: 2px; }
.lc-document-manager-actions { display: flex; align-items: center; gap: 5px; padding-left: 7px; border-left: 1px solid #e0e7ef; }
.lc-material-drawer :is(.lc-document-add,.lc-document-remove) { min-height: 32px; padding: 6px; font-size: 11px; white-space: nowrap; }
.lc-material-drawer .lc-document-remove:hover:not(:disabled) { color: #ac4040; background: #fff2f2; border-color: #e8bcbc; }
.lc-material-drawer .lc-document-add:focus-within { outline: 2px solid #668fba; outline-offset: 2px; }
.lc-material-sources { padding: 4px 12px 8px; }
.lc-material-sources-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 5px; color: #6f8297; font-size: 10px; }
.lc-material-sources-heading > button { border: 0; background: transparent; padding: 4px 0; color: #496f99; font: inherit; cursor: pointer; }
.lc-material-empty { margin: 3px 0; color: #8493a4; font-size: 11px; }
.lc-material-drawer .lc-active-document-context { border-bottom: 0; padding: 4px 12px 8px; }
.lc-material-drawer .lc-active-document-context .lc-file-context { max-height: none; overflow: visible; }
.lc-canvas .lc-document-toolbar { gap: 10px; }
.lc-canvas .lc-document-toolbar .lc-segment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: clamp(300px, 34%, 420px); flex: 0 0 auto; gap: 3px; padding: 3px; border: 1px solid #e0e7f0; border-radius: 9px; background: #f5f7fb; }
.lc-canvas .lc-document-toolbar .lc-segment > button { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 30px; padding: 5px 8px; border-radius: 6px; }
.lc-canvas .lc-document-toolbar .lc-segment > button > svg { flex-shrink: 0; }
.lc-canvas .lc-document-toolbar .lc-segment > button.active { background: white; color: var(--lc-accent); box-shadow: 0 1px 4px #263e5a14; }
@container legal-canvas (max-width: 700px) {
  .lc-canvas .lc-document-toolbar { flex-wrap: wrap; gap: 4px 8px; padding: 5px 8px; }
  .lc-canvas .lc-document-toolbar .lc-segment { order: -1; flex: 0 0 100%; width: 100%; }
  .lc-canvas .lc-document-toolbar > .lc-button { flex-shrink: 0; }
  .lc-material-drawer-toggle { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 5px 8px; gap: 4px 8px; }
  .lc-material-current { grid-row: 2; font-size: 10px; }
  .lc-material-disclosure { grid-row: 1; grid-column: 2; justify-self: end; }
  .lc-material-counts { grid-row: 2; grid-column: 2; justify-self: end; }
  .lc-material-counts > small { border: 0; padding: 0 2px; background: transparent; font-size: 9px; }
  .lc-material-pending { grid-column: 1 / -1; }
  .lc-material-disclosure-suffix { display: none; }
  .lc-material-drawer .lc-document-manager { padding: 7px; gap: 6px; }
  .lc-material-rail { gap: 4px; }
  .lc-material-drawer .lc-document-add > span { display: none; }
  .lc-document-manager-actions { padding-left: 5px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { .lc-material-disclosure > svg { transition: none; } }
.lc-format-toolbar .lc-font-size { width: 58px; min-width: 58px; }
.lc-format-toolbar .lc-color-tool { position: relative; font-weight: 650; flex-direction: column; gap: 0; }
.lc-color-tool > i { display: block; width: 17px; height: 4px; border: 1px solid #7b8da355; border-radius: 1px; }
.lc-format-toolbar .lc-format-more { display: flex; align-items: center; width: auto; padding: 0 6px; gap: 4px; font-size: 10px; }
.lc-format-extra { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; width: 100%; padding-top: 6px; border-top: 1px solid #e5eaf0; margin-top: 4px; }
.lc-format-extra > label { display: flex; align-items: center; gap: 4px; color: #6c8097; font-size: 10px; }
.lc-format-extra select { width: 82px; min-width: 82px; height: 30px; font-size: 11px; }
.lc-format-toolbar .lc-format-reset { width: auto; height: 30px; padding: 0 7px; font-size: 10px; color: #496c94; }
.lc-color-palette { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 10px 0; }
.lc-color-palette button { display: grid; place-items: center; height: 36px; border: 1px solid #b5c2d0; border-radius: 6px; cursor: pointer; }
.lc-color-palette button[aria-pressed=true] { outline: 2px solid #416e99; outline-offset: 2px; }
.lc-color-palette button > span { display: grid; place-items: center; width: 20px; height: 20px; background: #fff; color: #183654; border-radius: 50%; }
.lc-custom-color { display: flex; align-items: center; gap: 10px; padding: 12px 0; font-size: 12px; }
.lc-custom-color input { width: 42px; height: 30px; padding: 2px; }
.lc-passage-popover { width: 352px; }
.lc-passage-popover .lc-passage-assign { display: flex; width: 100%; flex-direction: row; align-items: center; justify-content: flex-start; gap: 7px; margin-top: 6px; border-top: 1px solid #e2e9f1; padding: 8px 4px 2px; color: #4b6690; }
.lc-passage-assign > svg:last-child { margin-left: auto; }
.lc-team-picker,.lc-collaboration-dialog { display: grid; gap: 12px; font-size: 13px; color: #425c77; }
.lc-people-search { display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid #d5dfea; border-radius: 8px; }
.documents-dialog .lc-people-search input { border: 0; background: transparent; box-shadow: none; flex: 1; min-width: 0; padding: 10px 0; font: inherit; }
.lc-people-search:focus-within { outline: 2px solid #799abc; outline-offset: 2px; }
.lc-people-filters,.lc-collaboration-kinds { display: flex; flex-wrap: wrap; gap: 6px; }
.lc-people-filters button,.lc-collaboration-kinds button { display: flex; align-items: center; gap: 7px; border: 1px solid #dce5ef; border-radius: 8px; background: #fff; color: #5c7592; padding: 8px 10px; font: inherit; font-size: 12px; cursor: pointer; }
.lc-people-filters button[aria-pressed=true],.lc-collaboration-kinds button[aria-pressed=true] { background: #eaf2fb; border-color: #9fb8d2; color: #294e77; }
.lc-people-filters span { font-size: 10px; opacity: .75; }
.lc-people-summary { margin: 0; color: #7a8ca1; font-size: 11px; }
.lc-people-list { max-height: 260px; overflow-y: auto; border: 1px solid #e0e6ef; border-radius: 9px; padding: 4px; }
.lc-person-row { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 6px; cursor: pointer; }
.lc-person-row.is-selected { background: #f0f5fb; }
.lc-person-row > input { flex: 0 0 16px; width: 16px; height: 16px; accent-color: #50759f; }
.lc-person-row > span:not(.lc-person-avatar) { display: grid; min-width: 0; gap: 3px; }
.lc-person-row strong { font-size: 12px; overflow-wrap: anywhere; }
.lc-person-row small { font-size: 11px; color: #7f8da0; overflow-wrap: anywhere; }
.lc-person-row em { margin-left: auto; color: #7a8da4; font-size: 10px; font-style: normal; }
.lc-person-avatar { display: grid; place-items: center; flex: 0 0 30px; height: 30px; background: #e8eff7; color: #557ba4; border-radius: 50%; }
.lc-people-empty { padding: 12px; text-align: center; color: #7a8ea5; }
.lc-team-picker > small,.lc-collaboration-dialog > small { color: #7b8da0; font-size: 11px; line-height: 1.5; }
.lc-collaboration-target { padding: 10px 12px; border: 1px solid #e0e8f1; border-radius: 9px; background: #f6f9fc; }
.lc-collaboration-target strong { font-size: 12px; overflow-wrap: anywhere; }
.lc-collaboration-target p { max-height: 80px; overflow-y: auto; font-size: 12px; line-height: 1.5; margin: 7px 0 0; }
.lc-collaboration-dialog > label { display: grid; gap: 6px; }
.lc-collaboration-dialog textarea,.lc-collaboration-dialog select { width: 100%; padding: 10px; border: 1px solid #d8e2ed; border-radius: 7px; font: inherit; }
.lc-agent-recipient { display: flex; align-items: center; gap: 10px; padding: 12px; background: #eff3ff; border-radius: 9px; }
.lc-agent-recipient > div { display: grid; gap: 4px; }
.lc-agent-recipient small { font-size: 11px; color: #7487a0; }
@media(max-width:700px) { .lc-person-row { flex-wrap: wrap; }.lc-person-row em { width: 100%; padding-left: 25px; } }
.lc-assistant-controls > .lc-assistant-position {
  display: inline-grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px;
  padding: 0; border: 1px solid #dce5ef; border-radius: 6px; background: #fff; color: #527395; cursor: pointer;
}
.lc-assistant-controls > .lc-assistant-position:hover:not(:disabled) { background: #edf4fc; border-color: #91adc8; color: #315d88; }
.lc-assistant-controls > .lc-assistant-position:disabled { opacity: .4; cursor: default; }
.lc-assistant-position:focus-visible { outline: 2px solid #668fba; outline-offset: 2px; }

/* A single conversation stays mounted in both positions, preserving drafts and streams. */
.lc-canvas-grid > .lc-assistant-dock[data-placement="bottom"] {
  max-height: calc(100% - 24px); display: flex; flex-direction: column;
}
.lc-assistant-dock[data-placement="bottom"] .lc-conversation-title,
.lc-assistant-dock[data-placement="bottom"] > form { flex-shrink: 0; }
.lc-assistant-dock[data-placement="bottom"] .lc-messages { min-height: 0; flex: 0 1 auto; }
.lc-canvas .lc-canvas-grid:has(> [data-placement="right"]) {
  --lc-assistant-width: clamp(320px, 32cqw, 400px);
  grid-template-columns: minmax(0, 1fr) 54px var(--lc-assistant-width);
}
.lc-canvas.context-open .lc-canvas-grid:has(> [data-placement="right"]) {
  grid-template-columns: 218px minmax(0, 1fr) 54px var(--lc-assistant-width);
}
.lc-canvas .lc-canvas-grid:has(> [data-placement="right"].is-minimized) { --lc-assistant-width: 48px; }
.lc-canvas-grid > .lc-assistant-dock[data-placement="right"] {
  position: relative; inset: auto; width: 100%; max-width: none; min-width: 0; min-height: 0;
  margin: 0; border: 0; border-left: 1px solid #dce5ef; border-radius: 0; box-shadow: none;
  display: flex; flex-direction: column; overflow: hidden; z-index: 4;
}
.lc-assistant-dock[data-placement="right"] .lc-conversation-title { flex-shrink: 0; }
.lc-assistant-dock[data-placement="right"]:not(.is-minimized) .lc-assistant-status { display: none; }
.lc-assistant-dock[data-placement="right"] .lc-messages {
  flex: 1 1 0; min-height: 0; max-height: none; margin-bottom: 8px; overflow: auto;
}
.lc-assistant-dock[data-placement="right"] > form { flex-shrink: 0; margin: auto 0 0; }
.lc-assistant-dock[data-placement="right"] .lc-composer-context { gap: 4px; }
.lc-assistant-dock[data-placement="right"] .lc-context-scope button { padding-inline: 5px; }
.lc-assistant-dock[data-placement="right"] .lc-composer-target { max-width: 100%; }
.lc-canvas .lc-canvas-grid:has(> [data-placement="right"]) .lc-document-scroll {
  padding-bottom: 30px; scroll-padding-bottom: 30px;
}
.lc-canvas-grid > .lc-assistant-dock[data-placement="right"].is-minimized { padding: 8px 5px; }
.lc-assistant-dock[data-placement="right"].is-minimized .lc-conversation-title {
  height: auto; flex-direction: column; gap: 10px; align-items: center;
}
.lc-assistant-dock[data-placement="right"].is-minimized .lc-conversation-title > strong {
  display: block; writing-mode: vertical-rl; order: 2; padding-top: 4px;
}
.lc-assistant-dock[data-placement="right"].is-minimized .lc-assistant-status { display: none; }
.lc-assistant-dock[data-placement="right"].is-minimized .lc-assistant-controls { flex-direction: column; margin: 0; gap: 6px; }
.lc-assistant-dock[data-placement="right"].is-minimized .lc-assistant-controls .lc-text-button span { display: none; }
.lc-assistant-dock[data-placement="right"].is-minimized .lc-assistant-controls .lc-text-button { white-space: normal; overflow-wrap: anywhere; max-width: 36px; }

@container legal-canvas (max-width: 1200px) {
  .lc-canvas.context-open .lc-canvas-grid:has(> [data-placement="right"]) {
    grid-template-columns: minmax(0, 1fr) 54px var(--lc-assistant-width);
  }
  .lc-canvas-grid:has(> [data-placement="right"]) > .lc-context-panel {
    position: absolute; inset: 0 auto 0 0; width: 240px; box-shadow: 8px 0 24px #26354b1c;
  }
}
@container legal-canvas (max-width: 899px) {
  .lc-assistant-controls > .lc-assistant-position { display: none !important; }
}
.lc-inline-editor { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 36px; max-height: 360px; padding: 4px 5px; border: 1px solid transparent; border-radius: 5px; resize: none; overflow-y: auto; background: transparent; color: inherit; font: inherit; line-height: 1.65; }
.lc-inline-editor:hover:not(:disabled) { border-color: #c9d8e8; background: #fff9; }
.lc-inline-editor:focus { outline: 2px solid #729bc3; outline-offset: 1px; border-color: transparent; background: #fff; }
.lc-inline-editor:disabled { opacity: 1; }
.lc-spreadsheet .lc-inline-editor { max-height: 200px; font-size: 13px; }
.lc-draft-status { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; padding: 6px 16px; border-bottom: 1px solid #e6ecf3; color: #6d8096; font-size: 11px; background: #fbfcfe; }
.lc-draft-status > svg { flex-shrink: 0; }
.lc-draft-status.is-pending { color: #845e20; background: #fff9eb; }
.lc-draft-status > button { margin-left: auto; flex-shrink: 0; border: 0; background: transparent; text-decoration: underline; color: inherit; font: inherit; cursor: pointer; }
.lc-draft-conflicts { flex: 0 0 auto; max-height: 220px; overflow: auto; padding: 12px 16px; background: #fff7ed; border-bottom: 1px solid #e5c59c; font-size: 12px; }
.lc-draft-conflicts > div { margin-top: 10px; }
.lc-draft-conflicts p { margin: 5px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lc-draft-conflicts button { margin-right: 8px; padding: 5px 9px; border: 1px solid #d8c3a5; border-radius: 6px; background: white; cursor: pointer; }
.lc-export-menu { position: relative; font-size: 12px; }
.lc-export-menu > summary { display: flex; align-items: center; gap: 6px; list-style: none; padding: 8px 10px; border: 1px solid #dce5ef; border-radius: 7px; cursor: pointer; background: white; white-space: nowrap; }
.lc-export-menu > summary::-webkit-details-marker { display: none; }
.lc-export-menu > div { position: absolute; right: 0; top: calc(100% + 5px); z-index: 80; width: 245px; padding: 5px; border: 1px solid #dce5ef; border-radius: 9px; background: white; box-shadow: 0 8px 30px #19314f25; }
.lc-export-menu button { display: block; width: 100%; text-align: left; padding: 10px; border: 0; border-radius: 5px; background: white; color: #355775; cursor: pointer; font: inherit; }
.lc-export-menu button:hover:not(:disabled) { background: #edf4fb; }
.lc-export-menu button:disabled { opacity: .45; cursor: default; }
.lc-export-menu small { display: block; padding: 8px; color: #845e20; }
.lc-preview-toolbar { position: sticky; top: -16px; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 8px; background: #f5f8fc; border: 1px solid #dce5ef; border-radius: 8px; font-size: 12px; }
.lc-preview-toolbar button { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #dce5ef; background: white; border-radius: 6px; cursor: pointer; }
.lc-preview-toolbar button:disabled { opacity: .4; cursor: default; }
.lc-preview-toolbar label { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.lc-preview-toolbar select { padding: 5px; border: 1px solid #dce5ef; border-radius: 5px; background: white; }
.lc-preview-page { margin-top: 12px; overflow: auto; background: #e8edf3; padding: 12px; border-radius: 8px; }
.lc-preview-page img { display: block; height: auto; margin: auto; box-shadow: 0 2px 9px #19314f24; }
.lc-preview-loading { padding: 60px 20px; text-align: center; color: #617b97; }
.lc-preview-download { display: inline-flex; align-items: center; gap: 6px; border-radius: 7px; padding: 8px 12px; background: #eff4ff; color: #3d59ab; text-decoration: none; font-size: 13px; }
.lc-preview-error { padding: 20px; color: #854343; }
@container legal-canvas (max-width: 700px) { .lc-draft-status { padding: 5px 9px; font-size: 10px; flex-wrap: wrap; } }
.lc-history-dialog { display: flex; flex-direction: column; gap: 1.25rem; color: var(--aisf-text, #202a3b); font-size: var(--aisf-font-size-14, 14px); }
.lc-history-dialog h3 { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: var(--aisf-font-size-16, 16px); font-weight: 600; }
.lc-history-dialog button { width: auto; white-space: nowrap; }
.lc-history-exports { padding: 1rem; border: 1px solid var(--aisf-border, #e0e5eb); border-radius: var(--aisf-radius-lg, 12px); background: var(--aisf-bg, #f5f7fa); }
.lc-history-exports > p { color: var(--aisf-text-muted, #6a7585); margin: .65rem 0 0; line-height: 1.5; }
.lc-history-exports ul { list-style: none; margin: .75rem 0 0; padding: 0; max-height: 9rem; overflow-y: auto; }
.lc-history-exports a { display: flex; align-items: center; gap: .7rem; padding: .6rem .25rem; color: var(--aisf-accent, #3551f2); text-decoration: none; }
.lc-history-exports a > span { min-width: 0; overflow-wrap: anywhere; }
.lc-history-exports a:hover { text-decoration: underline; }
.lc-history-exports small { display: block; margin-top: .2rem; color: var(--aisf-text-muted, #6a7585); font-size: var(--aisf-font-size-12, 12px); }
.lc-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lc-history-heading p { margin: .35rem 0 0; color: var(--aisf-text-muted, #6a7585); font-size: var(--aisf-font-size-12, 12px); }
.lc-history-scroll { min-height: 8rem; max-height: min(48dvh, 30rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: .15rem .8rem .5rem .1rem; }
.lc-history-scroll:focus-visible { outline: 2px solid var(--aisf-accent, #3551f2); outline-offset: 3px; border-radius: .5rem; }
.lc-history-timeline { list-style: none; margin: 0; padding: 0; }
.lc-history-day { margin: 1.2rem 0 .8rem; color: var(--aisf-text-muted, #6a7585); font-size: var(--aisf-font-size-12, 12px); font-weight: 600; text-transform: capitalize; }
.lc-history-timeline > li:first-child .lc-history-day { margin-top: 0; }
.lc-history-event { position: relative; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; padding-bottom: 1.2rem; }
.lc-history-event::before { content: ""; position: absolute; left: 15px; top: 2rem; bottom: 0; width: 1px; background: var(--aisf-border, #e0e5eb); }
.lc-history-timeline > li:last-child .lc-history-event::before { display: none; }
.lc-history-event-icon { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border: 1px solid var(--aisf-border, #e0e5eb); border-radius: 50%; background: var(--aisf-bg, #f5f7fa); color: var(--aisf-text-muted, #6a7585); }
.lc-history-event.is-agent .lc-history-event-icon { background: color-mix(in srgb, var(--aisf-accent, #3551f2) 9%, transparent); color: var(--aisf-accent, #3551f2); }
.lc-history-event-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding-top: .3rem; }
.lc-history-event-heading strong { font-weight: 600; line-height: 1.45; }
.lc-history-event-heading > span { color: var(--aisf-text-muted, #6a7585); font-size: 11px; border: 1px solid var(--aisf-border, #e0e5eb); border-radius: 99px; padding: .05rem .4rem; }
.lc-history-event-meta { margin: .25rem 0 0; color: var(--aisf-text-muted, #6a7585); font-size: var(--aisf-font-size-12, 12px); line-height: 1.5; }
.lc-history-event-detail { margin: .55rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.lc-history-more, .lc-history-empty { display: flex; flex-direction: column; align-items: center; gap: .6rem; padding: .9rem; color: var(--aisf-text-muted, #6a7585); text-align: center; }
.lc-history-more p, .lc-history-empty p { margin: 0; line-height: 1.5; }
.lc-history-error { padding: .8rem; border: 1px solid var(--aisf-border, #e0e5eb); border-radius: .5rem; }
.lc-history-error p { margin: 0 0 .6rem; line-height: 1.5; }
@media (max-width: 640px) { .lc-history-scroll { max-height: 43dvh; padding-right: .3rem; } .lc-history-event { gap: .55rem; } .lc-history-exports { padding: .8rem; } }
.lc-expert-dialog { display: grid; gap: 14px; font: 13px/1.55 var(--aisf-font-ui, inherit); }
.lc-expert-subject { display: grid; gap: 3px; background: var(--lc-bg); border: 1px solid var(--lc-line); border-radius: 10px; padding: 12px 14px; }
.lc-expert-subject > span, .lc-expert-subject > small { color: var(--lc-muted); font-size: 12px; }
.lc-expert-subject > strong { font-size: 14px; }
.lc-expert-search { display: grid; gap: 6px; font-weight: 500; }
.lc-expert-search > div { display: flex; align-items: center; gap: 8px; border: 1px solid var(--lc-line); border-radius: 8px; padding: 0 10px; color: var(--lc-muted); }
.documents-dialog .lc-expert-dialog .lc-expert-search input[type="search"] { border: 0; background: transparent; min-width: 0; width: 100%; padding: 10px 0; box-shadow: none; color: var(--aisf-text); outline: none; }
.lc-expert-search > div:focus-within { outline: 2px solid var(--lc-accent); outline-offset: 2px; }
.lc-expert-search textarea { width: 100%; padding: 10px; border: 1px solid var(--lc-line); border-radius: 8px; font: inherit; resize: vertical; }
.lc-expert-help { margin: 0; color: var(--lc-muted); font-size: 12px; }
.lc-expert-people { border: 1px solid var(--lc-line); border-radius: 10px; padding: 4px; min-width: 0; max-height: 230px; overflow-y: auto; }
.lc-expert-person { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 7px; cursor: pointer; }
.lc-expert-person:hover, .lc-expert-person.is-selected { background: color-mix(in srgb, var(--lc-accent) 6%, var(--lc-card)); }
.lc-expert-person input[type="radio"] { accent-color: var(--lc-accent); width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
.lc-expert-avatar { display: grid; place-items: center; flex: 0 0 34px; height: 34px; background: var(--lc-bg); border: 1px solid var(--lc-line); border-radius: 50%; font-size: 11px; color: var(--lc-accent); }
.lc-expert-person-name { display: grid; min-width: 0; gap: 2px; }
.lc-expert-person-name small { color: var(--lc-muted); overflow-wrap: anywhere; }
.lc-expert-state { margin-left: auto; font-size: 11px; color: var(--lc-muted); background: var(--lc-bg); border-radius: 5px; padding: 3px 7px; }
.lc-expert-empty { color: var(--lc-muted); text-align: center; padding: 18px 10px; }
.lc-expert-feedback { border-top: 1px solid var(--lc-line); padding-top: 14px; }
.lc-expert-feedback h3 { font-size: 13px; margin: 0 0 12px; }
.lc-expert-feedback h3 span { color: var(--lc-muted); margin-left: 6px; font-weight: 400; }
.lc-expert-feedback article { display: grid; gap: 10px; border: 1px solid var(--lc-line); padding: 12px; border-radius: 10px; margin-bottom: 10px; }
.lc-expert-feedback article header { display: flex; gap: 10px; align-items: center; }
.lc-expert-feedback article > button { justify-self: start; }
.lc-expert-comment { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.lc-expert-open { width: 100%; display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--lc-line); padding: 12px 0 0; margin-top: 14px; background: transparent; color: var(--lc-accent); text-align: left; font: 500 12px var(--aisf-font-ui, inherit); cursor: pointer; }
.lc-expert-open > span { margin-left: auto; color: var(--lc-muted); font-size: 11px; }
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  cursor: grab;
}
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}
.react-flow__edge-path,
.react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1;
  fill: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge:focus .react-flow__edge-path,
  .react-flow__edge:focus-visible .react-flow__edge-path {
    stroke: #555;
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge-textbg {
    fill: white;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__connectionline {
  z-index: 1001;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: grab;
}
.react-flow__node.dragging {
    cursor: grabbing;
  }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background: #1a192b;
  border: 1px solid white;
  border-radius: 100%;
}
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-top {
    left: 50%;
    top: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-left {
    top: 50%;
    left: -4px;
    transform: translate(0, -50%);
  }
.react-flow__handle-right {
    right: -4px;
    top: 50%;
    transform: translate(0, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.center {
    left: 50%;
    transform: translateX(-50%);
  }
.react-flow__attribution {
  font-size: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-default,
.react-flow__node-input,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: 3px;
  width: 150px;
  font-size: 12px;
  color: #222;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #1a192b;
  background-color: white;
}
.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
    }
.react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: 0 0 0 0.5px #1a192b;
    }
.react-flow__node-group {
  background-color: rgba(240, 240, 240, 0.25);
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: rgba(0, 89, 220, 0.08);
  border: 1px dotted rgba(0, 89, 220, 0.8);
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
}
.react-flow__controls-button {
    border: none;
    background: #fefefe;
    border-bottom: 1px solid #eee;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    padding: 5px;
  }
.react-flow__controls-button:hover {
      background: #f4f4f4;
    }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__minimap {
  background-color: #fff;
}
.react-flow__minimap svg {
  display: block;
}
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 4px;
  height: 4px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: #3367d9;
  transform: translate(-50%, -50%);
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: #3367d9;
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}
/*
 * Workforce — Design token locali del modulo (prefisso --wo-).
 * Portati 1:1 dal MFE vecchio (aisf-workforce-optimization/src/styles/wo-tokens.css) — usati dai
 * componenti liftati (WoKpiCard, WoFilterBar, AreaCard, WoCharts, pagine Dashboard/Aree/Dettaglio).
 * Light = default; dark = via `.dark` (la shell/@aisf/ui usano `darkMode:["class"]`, stesso selettore).
 * NB: questi token sono ADDITIVI rispetto ai token di piattaforma --aisf-* (che restano l'autorità
 * cromatica dello shell); qui si copre solo ciò che serve alle superfici grafiche di questo cluster.
 * Riconciliazione con la palette --aisf-* rimandata (eventuale W5.c2/c3).
 */

:root {
  /* Backgrounds */
  --wo-bg: hsl(220 18% 97%);
  --wo-bg-subtle: hsl(220 16% 95%);
  --wo-card: hsl(0 0% 100%);
  --wo-card2: hsl(220 18% 99%);
  --wo-muted: hsl(220 13% 96%);

  /* Foreground */
  --wo-fg: hsl(222 47% 11%);
  --wo-fg2: hsl(220 9% 46%);
  --wo-fg3: hsl(220 10% 62%);

  /* Borders */
  --wo-border: hsl(220 13% 91%);
  --wo-border2: hsl(220 14% 85%);
  --wo-grid: hsl(220 14% 92%);

  /* Brand / primary */
  --wo-primary: hsl(217 91% 45%);
  --wo-primary-h: hsl(217 91% 38%);
  --wo-primary-soft: hsl(217 91% 95%);
  --wo-primary-fg: hsl(0 0% 100%);

  /* Status */
  --wo-success: hsl(142 71% 38%);
  --wo-success-soft: hsl(142 60% 94%);
  --wo-warning: hsl(38 92% 42%);
  --wo-warning-soft: hsl(38 92% 94%);
  --wo-danger: hsl(0 74% 51%);
  --wo-danger-soft: hsl(0 84% 96%);
  --wo-info: hsl(199 89% 43%);
  --wo-info-soft: hsl(199 89% 94%);

  /* Chart palette */
  --wo-c1: hsl(217 91% 50%);
  --wo-c2: hsl(142 64% 42%);
  --wo-c3: hsl(38 92% 50%);
  --wo-c4: hsl(271 70% 56%);
  --wo-c5: hsl(199 89% 48%);
  --wo-c6: hsl(0 74% 55%);

  /* Shadows */
  --wo-shadow-sm: 0 1px 2px hsl(220 30% 20% / 0.06), 0 1px 3px hsl(220 30% 20% / 0.05);
  --wo-shadow-md: 0 4px 12px hsl(220 30% 20% / 0.08), 0 2px 5px hsl(220 30% 20% / 0.05);
  --wo-shadow-lg: 0 14px 34px hsl(220 30% 20% / 0.14), 0 6px 12px hsl(220 30% 20% / 0.07);
}

/* Dark mode — mirrors .dark class from the shell ThemeProvider */
.dark {
  --wo-bg: hsl(222 47% 8%);
  --wo-bg-subtle: hsl(222 44% 10%);
  --wo-card: hsl(222 44% 12%);
  --wo-card2: hsl(222 44% 13%);
  --wo-muted: hsl(222 40% 16%);

  --wo-fg: hsl(220 18% 95%);
  --wo-fg2: hsl(220 12% 62%);
  --wo-fg3: hsl(220 10% 48%);

  --wo-border: hsl(222 34% 20%);
  --wo-border2: hsl(222 30% 26%);
  --wo-grid: hsl(222 32% 19%);

  --wo-primary: hsl(217 91% 60%);
  --wo-primary-h: hsl(217 91% 66%);
  --wo-primary-soft: hsl(217 70% 18%);

  --wo-success: hsl(142 64% 52%);
  --wo-success-soft: hsl(142 50% 16%);
  --wo-warning: hsl(38 92% 58%);
  --wo-warning-soft: hsl(38 70% 16%);
  --wo-danger: hsl(0 84% 66%);
  --wo-danger-soft: hsl(0 60% 18%);
  --wo-info: hsl(199 89% 58%);
  --wo-info-soft: hsl(199 70% 16%);

  --wo-c1: hsl(217 91% 62%);
  --wo-c2: hsl(142 60% 52%);
  --wo-c3: hsl(38 92% 60%);
  --wo-c4: hsl(271 76% 68%);
  --wo-c5: hsl(199 89% 60%);
  --wo-c6: hsl(0 84% 68%);

  --wo-shadow-sm: 0 1px 2px hsl(0 0% 0% / 0.4);
  --wo-shadow-md: 0 4px 14px hsl(0 0% 0% / 0.45);
  --wo-shadow-lg: 0 16px 40px hsl(0 0% 0% / 0.55);
}

/* ---- Page fade-in animation (used by .wo-page-enter) ---------------------- */
@keyframes wo-fade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.wo-page-enter {
  animation: wo-fade 0.25s ease forwards;
}
/*
 * Stili del modulo Exploration Hub, importati da `module.tsx` (arrivano quindi anche nella shell).
 * Regole:
 *  - SOLO design token --aisf-* (tema chiaro/scuro e personalizzazioni del tenant passano dalle
 *    custom properties): nessun colore letterale;
 *  - CSS semplice (niente @tailwind/@layer/@apply): il file viene elaborato anche dalla pipeline
 *    PostCSS della shell, e deve restare indipendente dalla sua configurazione Tailwind;
 *  - classi prefissate `hub-` per non collidere con la shell né con altri moduli.
 */

/*
 * `.hub-page` è lo SCROLLER: a tutta larghezza/altezza del riquadro del modulo (il genitore
 * `full-bleed` della shell, `AppShell.tsx`, non è un flex container, quindi un `flex: 1 1 auto`
 * qui non avrebbe effetto — serve `height: 100%` esplicito). La colonna leggibile resta centrata
 * SENZA restringere la larghezza della scrollbar: `padding-inline` calcolato invece di
 * `max-width` + `margin: auto` sull'elemento scrollabile stesso.
 * `position: relative` (B-32): gli `sr-only` (position absolute) si posizionano QUI e scorrono con
 * lo scroller; senza, si agganciavano al documento, lo allungavano e l'intera shell scorreva.
 */
.hub-page { position: relative; box-sizing: border-box; display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; padding-block: 1.5rem; padding-inline: max(1.5rem, calc((100% - 64rem) / 2)); overflow-y: auto; }
.hub-search { padding-inline: max(1.5rem, calc((100% - 60rem) / 2)); }
.hub-page :focus-visible { outline: 2px solid var(--aisf-accent); outline-offset: 2px; border-radius: var(--aisf-radius-sm); }

/* Hero */
.hub-hero { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 2.5rem 0; }
.hub-hero-mark { display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: var(--aisf-radius-xl); background: var(--aisf-accent-soft); color: var(--aisf-accent); }

/* Campo domanda */
.hub-query { box-sizing: border-box; display: flex; align-items: flex-end; gap: 0.5rem; width: 100%; max-width: 48rem; padding: 0.5rem; border: 1px solid var(--aisf-border-strong); border-radius: var(--aisf-radius-lg); background: var(--aisf-surface); box-shadow: var(--aisf-shadow-sm); }
.hub-query:focus-within { border-color: var(--aisf-accent); box-shadow: 0 0 0 3px var(--aisf-accent-soft); }
.hub-query-large { padding: 0.75rem; }
.hub-query-input { flex: 1 1 auto; min-height: 2.25rem; padding: 0.375rem 0.5rem; resize: none; border: 0; outline: none; background: transparent; color: var(--aisf-text); font: inherit; font-size: var(--aisf-font-size-15); }
.hub-query-input::-moz-placeholder { color: var(--aisf-text-subtle); }
.hub-query-input::placeholder { color: var(--aisf-text-subtle); }
.hub-page .hub-query-input:focus-visible { outline: none; }

.hub-quick { display: flex; align-items: center; gap: 0.5rem; width: 100%; padding: 0.5rem 0.75rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); background: var(--aisf-surface); color: var(--aisf-text); font-size: var(--aisf-font-size-14); text-align: left; cursor: pointer; }
.hub-quick:hover:not(:disabled) { background: var(--aisf-bg-hover); border-color: var(--aisf-border-strong); }
.hub-quick:disabled, .hub-related-item:disabled { opacity: var(--aisf-disabled-opacity); cursor: not-allowed; }

.hub-related-item { display: flex; align-items: center; gap: 0.5rem; width: 100%; padding: 0.375rem 0.5rem; border: 0; border-radius: var(--aisf-radius-sm); background: transparent; color: var(--aisf-text); font-size: var(--aisf-font-size-14); text-align: left; cursor: pointer; }
.hub-related-item:hover:not(:disabled) { background: var(--aisf-bg-hover); color: var(--aisf-accent); }
.hub-related { padding: 0.75rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); background: var(--aisf-bg-subtle); }

/*
 * Thread e schede. Barra in alto e campo in basso restano fermi (B-32) e arrivano fino al bordo
 * dello scroller: il margine negativo assorbe il `padding-block` di `.hub-page` (1.5rem), così il
 * testo che scorre non si vede sopra la barra né sotto il campo. Sfondo = `--background` dei token
 * shadcn di aisf-ui, lo stesso `bg-background` della shell: nessun `--aisf-*` coincide col fondo
 * della shell, e in tema scuro la differenza si vede (unica eccezione alla regola dei token).
 */
.hub-toolbar { position: sticky; top: -1.5rem; z-index: 10; display: flex; align-items: center; gap: 0.5rem; margin: -1.5rem 0 0.5rem; padding: 1.5rem 0 0.5rem; background: hsl(var(--background)); }
.hub-thread { display: flex; flex-direction: column; gap: 1.25rem; padding-bottom: 1rem; }
.hub-followup { position: sticky; bottom: -1.5rem; display: flex; justify-content: center; margin-bottom: -1.5rem; padding: 0.75rem 0 2rem; background: linear-gradient(to bottom, transparent, hsl(var(--background)) 35%); }
.hub-followup .hub-query { max-width: none; }

.hub-card { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-lg); background: var(--aisf-surface); box-shadow: var(--aisf-shadow-xs); }
.hub-card-compact { gap: 0.5rem; padding: 0.75rem; }
.hub-card-head { display: flex; flex-direction: column; gap: 0.25rem; }
.hub-card-question { margin: 0; color: var(--aisf-text); font-family: var(--aisf-font-display); font-size: var(--aisf-font-size-20); font-weight: var(--aisf-font-weight-medium); line-height: 1.3; }
.hub-card-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; padding-top: 0.75rem; border-top: 1px solid var(--aisf-border); }

.hub-text-sm .hub-prose { font-size: var(--aisf-font-size-13); }
.hub-text-md .hub-prose { font-size: var(--aisf-font-size-15); }
.hub-text-lg .hub-prose { font-size: var(--aisf-font-size-17); }

/* Fasi */
.hub-phases { color: var(--aisf-text-muted); font-size: var(--aisf-font-size-13); }
.hub-phases ol { margin: 0; padding: 0; list-style: none; }
.hub-phase { display: inline-flex; align-items: center; gap: 0.375rem; }
.hub-phase-dot { display: inline-block; width: 0.5rem; height: 0.5rem; border-radius: var(--aisf-radius-full); background: var(--aisf-border-strong); }
.hub-phase-active { color: var(--aisf-text); font-weight: var(--aisf-font-weight-medium); }
.hub-phase-active .hub-phase-dot { background: var(--aisf-accent); animation: hub-pulse 1.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .hub-phase-active .hub-phase-dot { animation: none; } }
@keyframes hub-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

/* Fonti e citazioni */
.hub-sources ul, .hub-related ul { margin: 0; padding: 0; list-style: none; }
.hub-source-pill { display: inline-flex; align-items: center; gap: 0.375rem; max-width: 20rem; padding: 0.25rem 0.625rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-full); background: var(--aisf-bg-subtle); color: var(--aisf-text); font-size: var(--aisf-font-size-12); text-decoration: none; cursor: pointer; }
span.hub-source-pill { cursor: default; }
button.hub-source-pill:hover, a.hub-source-pill:hover { background: var(--aisf-bg-hover); border-color: var(--aisf-border-strong); }
.hub-source-cited { border-color: var(--aisf-accent); }

.hub-cite { display: inline-flex; align-items: center; justify-content: center; min-width: 1.15rem; height: 1.15rem; margin: 0 0.125rem; padding: 0 0.25rem; border: 0; border-radius: var(--aisf-radius-full); background: var(--aisf-accent-soft); color: var(--aisf-accent); font-size: 0.68rem; font-weight: var(--aisf-font-weight-bold); line-height: 1; vertical-align: super; cursor: pointer; }
button.hub-cite:hover { background: var(--aisf-accent); color: var(--aisf-neutral-0); }
.hub-cite-static { margin: 0; vertical-align: middle; cursor: inherit; }

/* Tipografia della risposta */
.hub-answer { display: flex; flex-direction: column; }
.hub-prose { color: var(--aisf-text); line-height: 1.65; overflow-wrap: anywhere; }
.hub-prose > * { margin: 0; }
.hub-prose > * + * { margin-top: 0.75em; }
.hub-prose h1, .hub-prose h2, .hub-prose h3, .hub-prose h4 { margin-top: 1.1em; font-family: var(--aisf-font-display); font-weight: var(--aisf-font-weight-medium); line-height: 1.3; }
.hub-prose h1 { font-size: 1.35em; }
.hub-prose h2 { font-size: 1.2em; }
.hub-prose h3 { font-size: 1.08em; }
.hub-prose h4 { font-size: 1em; }
.hub-prose ul { padding-left: 1.4em; list-style: disc; }
.hub-prose ol { padding-left: 1.4em; list-style: decimal; }
.hub-prose li + li { margin-top: 0.25em; }
.hub-prose strong { font-weight: var(--aisf-font-weight-bold); }
.hub-prose a { color: var(--aisf-accent); text-decoration: underline; }
.hub-prose code { padding: 0.1em 0.3em; border-radius: var(--aisf-radius-xs); background: var(--aisf-bg-muted); font-family: var(--aisf-font-mono); font-size: 0.9em; }
.hub-prose pre { padding: 0.75em; overflow-x: auto; border-radius: var(--aisf-radius-md); background: var(--aisf-bg-muted); font-family: var(--aisf-font-mono); }
.hub-prose pre code { padding: 0; background: transparent; }
.hub-prose blockquote { padding-left: 0.8em; border-left: 3px solid var(--aisf-border-strong); color: var(--aisf-text-muted); }
.hub-table-wrap { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); }
.hub-prose table, .hub-table { width: 100%; border-collapse: collapse; font-size: 0.92em; }
.hub-prose th, .hub-prose td, .hub-table th, .hub-table td { padding: 0.45em 0.7em; border-bottom: 1px solid var(--aisf-border); text-align: left; vertical-align: top; }
.hub-prose th, .hub-table th { background: var(--aisf-bg-subtle); color: var(--aisf-text-label); font-weight: var(--aisf-font-weight-medium); }
.hub-table tbody tr:hover { background: var(--aisf-bg-hover); }
/* Le etichette delle option non devono determinare la larghezza della tabella.
 * Su schermi stretti scorre solo la tabella, dentro la sezione raggiungibile da tastiera. */
.hub-model-table { table-layout: fixed; min-width: 44rem; }
.hub-model-table th, .hub-model-table td { overflow-wrap: anywhere; }
.hub-model-table th:nth-child(1) { width: 20%; }
.hub-model-table th:nth-child(2) { width: 24%; }
.hub-model-table th:nth-child(3) { width: 34%; }
.hub-model-table th:nth-child(4) { width: 22%; }

/* Blocchi schema/procedura */
.hub-block { margin: 1rem 0; overflow: hidden; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); background: var(--aisf-bg-subtle); }
.hub-block-head { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--aisf-border); background: var(--aisf-surface); color: var(--aisf-text); font-size: var(--aisf-font-size-14); }
.hub-block-fallback { margin: 0; padding: 0.75rem; color: var(--aisf-text); font-family: var(--aisf-font-mono); font-size: var(--aisf-font-size-13); white-space: pre-wrap; }
.hub-flow-svg svg { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.hub-circuit { display: block; background: var(--aisf-bg-subtle); }

/* Avvisi */
.hub-notice { margin: 0; padding: 0.5rem 0.75rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-sm); background: var(--aisf-bg-subtle); color: var(--aisf-text); font-size: var(--aisf-font-size-14); }
.hub-notice-error { border-color: var(--aisf-danger-soft); background: var(--aisf-status-red-bg); color: var(--aisf-status-red-fg); }

/* Popover opzioni vista */
.hub-popover { position: absolute; top: 100%; right: 0; z-index: 20; box-sizing: border-box; width: 18rem; margin-top: 0.5rem; padding: 1rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); background: var(--aisf-surface); box-shadow: var(--aisf-shadow-lg); color: var(--aisf-text); }
.hub-popover fieldset { margin: 0 0 0.75rem; padding: 0; border: 0; }
.hub-seg { flex: 1 1 0; padding: 0.25rem 0.5rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-sm); background: transparent; color: var(--aisf-text); font-size: var(--aisf-font-size-13); cursor: pointer; }
.hub-seg-on { border-color: var(--aisf-accent); background: var(--aisf-accent-soft); color: var(--aisf-accent); font-weight: var(--aisf-font-weight-medium); }

/* Modale: sostituisce la classe del Modal del DS (layout + superficie a token, anche in tema scuro). */
.hub-modal { box-sizing: border-box; display: flex; flex-direction: column; gap: 1rem; max-width: 90vw; max-height: 90vh; padding: 1.5rem; overflow: auto; border-radius: var(--aisf-radius-lg); background: var(--aisf-surface); color: var(--aisf-text); box-shadow: var(--aisf-shadow-lg); }
.hub-snippet { margin: 0; padding: 0.5rem 0.75rem; border-left: 4px solid var(--aisf-accent); border-radius: var(--aisf-radius-sm); background: var(--aisf-accent-soft); color: var(--aisf-text); font-size: var(--aisf-font-size-14); }
.hub-preview-text { max-height: 50vh; padding: 0.75rem 0.875rem; overflow-y: auto; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-sm); background: var(--aisf-bg-subtle); color: var(--aisf-text); font-size: var(--aisf-font-size-14); line-height: 1.6; white-space: pre-wrap; }

/* Liste e form */
.hub-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-md); background: var(--aisf-surface); }
.hub-list-row { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; }
.hub-list-row + .hub-list-row { border-top: 1px solid var(--aisf-border); }
.hub-upload { display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem; border: 1px dashed var(--aisf-border-strong); border-radius: var(--aisf-radius-md); background: var(--aisf-bg-subtle); }
.hub-file { color: var(--aisf-text); font-size: var(--aisf-font-size-14); }
.hub-select { box-sizing: border-box; width: 100%; height: 2.125rem; padding: 0 0.75rem; border: 1px solid var(--aisf-border-strong); border-radius: var(--aisf-radius-md); background: var(--aisf-bg); color: var(--aisf-text); font: inherit; font-size: var(--aisf-font-size-14); }
.hub-select:disabled { opacity: var(--aisf-disabled-opacity); cursor: not-allowed; }
.hub-inherited { padding: 0.5rem 0.75rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-sm); background: var(--aisf-bg-subtle); }

/* Dashboard */
.hub-kpi { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem; border: 1px solid var(--aisf-border); border-radius: var(--aisf-radius-lg); background: var(--aisf-surface); }
.hub-kpi-value { color: var(--aisf-text); font-family: var(--aisf-font-display); font-size: var(--aisf-font-size-28); font-weight: var(--aisf-font-weight-medium); line-height: 1.1; }
.hub-meter { width: 100%; height: 0.5rem; overflow: hidden; border-radius: var(--aisf-radius-full); background: var(--aisf-bg-muted); }
.hub-meter-fill { height: 100%; border-radius: var(--aisf-radius-full); background: var(--aisf-accent); }
.hub-bars { display: block; }

/* Stampa del thread (Opzioni vista → Stampa): solo le schede. */
@media print {
  .hub-toolbar, .hub-followup, .hub-card-foot, .hub-popover { display: none !important; }
  .hub-page { height: auto !important; padding-inline: 1.5rem !important; overflow: visible !important; }
  .hub-card { box-shadow: none !important; -moz-column-break-inside: avoid; break-inside: avoid; }
}
/* ============================================================================
   AISF Studio · Login — "La Fabric · Atelier"
   Presentation-only styling for the login shell page.
   Colors / radii / shadows / fonts are token-driven (--aisf-*).
   Decorative layers are aria-hidden + pointer-events:none in the markup.
   ========================================================================== */

/* ─────────────────────────────  Keyframes  ──────────────────────────────── */

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

@keyframes loginAlertIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.99); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Info notice — gentle expand + fade (guidance, not failure) */
@keyframes loginNoticeIn {
  from { opacity: 0; transform: translateY(-6px) scaleY(0.94); }
  to   { opacity: 1; transform: translateY(0) scaleY(1); }
}

/* Kicker rule + value-prop thread — grow from origin */
@keyframes loginRuleGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@keyframes loginThreadGrow {
  from { opacity: 0; transform: scaleY(0); }
  to   { opacity: 1; transform: scaleY(1); }
}

/* Woven mesh — one-time draw-in via dash offset */
@keyframes loginMeshDraw {
  to { stroke-dashoffset: 0; }
}

/* Skeleton shimmer for the providers-loading placeholders */
@keyframes loginShimmer {
  from { background-position: 200% 0; }
  to   { background-position: -200% 0; }
}

/* Ambient aurora — slow, elegant drift (brand panel) */
@keyframes loginAurora1 {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50%      { transform: translate3d(6%, -5%, 0) scale(1.12); }
}
@keyframes loginAurora2 {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1.05); }
  50%      { transform: translate3d(-7%, 6%, 0) scale(0.95); }
}

/* Woven-network breathing + node pulse */
@keyframes loginMeshBreathe {
  0%, 100% { opacity: 0.82; }
  50%      { opacity: 1; }
}
@keyframes loginNodePulse {
  0%, 100% { opacity: 0.25; transform: scale(0.72); }
  50%      { opacity: 0.9;  transform: scale(1.12); }
}

/* ───────────────────────────  Choreography  ─────────────────────────────── */
/* One orchestrated entrance — a single easing curve across every piece. */

.login-reveal {
  opacity: 0;
  animation: loginRise 0.64s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ─────────────────────────  Brand panel (left)  ─────────────────────────── */

.login-brand {
  /* Deep navy → near-black, the intrinsically-dark stage for the fabric */
  background:
    linear-gradient(
      158deg,
      var(--aisf-deep) 0%,
      var(--aisf-neutral-900) 58%,
      var(--aisf-neutral-950) 100%
    );
  isolation: isolate;
}

.login-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Aurora glows */
.login-aurora {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  mix-blend-mode: screen;
  will-change: transform;
}
.login-aurora-teal {
  width: 46rem;
  height: 46rem;
  top: -14rem;
  left: -10rem;
  background: radial-gradient(circle at center, var(--aisf-teal) 0%, transparent 62%);
  opacity: 0.42;
  animation: loginAurora1 26s ease-in-out infinite;
}
.login-aurora-blue {
  width: 40rem;
  height: 40rem;
  bottom: -16rem;
  right: -12rem;
  background: radial-gradient(circle at center, var(--aisf-blue) 0%, transparent 60%);
  opacity: 0.38;
  animation: loginAurora2 32s ease-in-out infinite;
}

/* Woven lattice — fine interlaced threads (textile weave) */
.login-lattice {
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(
      26deg,
      rgba(255, 255, 255, 0.045) 0px,
      rgba(255, 255, 255, 0.045) 1px,
      transparent 1px,
      transparent 26px
    ),
    repeating-linear-gradient(
      -26deg,
      rgba(255, 255, 255, 0.035) 0px,
      rgba(255, 255, 255, 0.035) 1px,
      transparent 1px,
      transparent 26px
    );
  mask-image: radial-gradient(120% 100% at 30% 20%, #000 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(120% 100% at 30% 20%, #000 20%, transparent 78%);
}

/* Woven-network SVG (fabric as network of nodes) */
.login-weave {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: loginMeshBreathe 20s ease-in-out infinite;
}
.login-mesh-lines {
  stroke: var(--aisf-teal);
  stroke-width: 1;
  opacity: 0.24;
}
/* Threads draw themselves once on load, staggered per path, then rest drawn. */
.login-mesh-lines line {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: loginMeshDraw 2.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.login-mesh-nodes circle {
  fill: var(--aisf-teal);
  opacity: 0.55;
}
.login-mesh-glow circle {
  fill: url(#loginGlow);
  transform-box: fill-box;
  transform-origin: center;
  animation: loginNodePulse 6.5s ease-in-out infinite;
}

/* Fine film grain for a premium, non-flat surface */
.login-grain {
  position: absolute;
  inset: 0;
  opacity: 0.06;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Edge vignette for depth */
.login-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(125% 120% at 50% 28%, transparent 52%, rgba(0, 0, 0, 0.5) 100%);
}

/* Brand typography */
.login-kicker {
  font-family: var(--aisf-font-display);
  font-weight: 600;
  font-size: var(--aisf-font-size-12);
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--aisf-teal);
}
.login-kicker-rule {
  display: inline-block;
  width: 2rem;
  height: 1px;
  background: linear-gradient(90deg, var(--aisf-teal), transparent);
  vertical-align: middle;
  transform-origin: left center;
  animation: loginRuleGrow 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 90ms;
}

.login-headline {
  font-family: var(--aisf-font-display);
  font-weight: 600;
  font-size: clamp(2.4rem, 3.2vw, 3.4rem);
  line-height: 1.04;
  letter-spacing: -0.015em;
  color: #ffffff;
}
.login-headline-line {
  display: block;
}
.login-headline-accent { color: var(--aisf-teal); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .login-headline-accent {
    background: linear-gradient(96deg, var(--aisf-teal) 10%, var(--aisf-blue) 95%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
}

/* Value-prop rows — nodes threaded on a luminous vertical line */
.login-vp-list {
  position: relative;
}
/* The thread — a 1px teal gradient hairline, fading both ends, behind the tiles */
.login-vp-list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.25rem;
  width: 1px;
  margin-left: -0.5px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    color-mix(in srgb, var(--aisf-teal) 70%, transparent) 16%,
    color-mix(in srgb, var(--aisf-teal) 70%, transparent) 84%,
    transparent 100%
  );
  box-shadow: 0 0 7px color-mix(in srgb, var(--aisf-teal) 34%, transparent);
  transform-origin: top center;
  animation: loginThreadGrow 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: 320ms;
  pointer-events: none;
}
.login-vp {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.9rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.login-vp:first-child { border-top: 0; }
.login-vp-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: var(--aisf-radius-lg);
  color: var(--aisf-teal);
  background: color-mix(in srgb, var(--aisf-teal) 10%, transparent);
  border: 1px solid rgba(255, 255, 255, 0.10);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 0 14px color-mix(in srgb, var(--aisf-teal) 22%, transparent);
}
.login-vp-title {
  font-family: var(--aisf-font-ui);
  font-weight: 500;
  font-size: var(--aisf-font-size-15);
  color: rgba(255, 255, 255, 0.94);
  line-height: 1.25;
}
.login-vp-hint {
  font-family: var(--aisf-font-ui);
  font-weight: 400;
  font-size: var(--aisf-font-size-12);
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.3;
  margin-top: 0.1rem;
}

/* Trust strip — three compact guarantees, hairline dots between */
.login-trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.login-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--aisf-font-ui);
  font-size: var(--aisf-font-size-12);
  font-weight: 400;
}
.login-trust-item svg {
  color: var(--aisf-teal);
  opacity: 0.85;
}
.login-trust-sep {
  width: 3px;
  height: 3px;
  flex-shrink: 0;
  border-radius: var(--aisf-radius-full);
  background: rgba(255, 255, 255, 0.32);
}

/* Mobile brand header logo tile */
.login-logo-tile {
  display: grid;
  place-items: center;
  border-radius: var(--aisf-radius-lg);
  color: #fff;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), var(--aisf-gradient-shadow);
  backdrop-filter: blur(8px);
}

/* ─────────────────────────  Auth panel (right)  ─────────────────────────── */

.login-auth {
  position: relative;
  overflow: hidden;
  background: var(--aisf-bg);
}
/* Ultra-subtle accent tint — works in both themes via accent-soft token */
.login-auth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(110% 70% at 50% -18%, var(--aisf-accent-soft), transparent 55%),
    radial-gradient(90% 60% at 90% 108%, color-mix(in srgb, var(--aisf-teal) 6%, transparent), transparent 60%);
}
/* Faint dot field + whisper-quiet diagonal weave, radially masked toward center */
.login-auth::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    radial-gradient(var(--aisf-border) 1px, transparent 1.4px),
    repeating-linear-gradient(
      24deg,
      color-mix(in srgb, var(--aisf-border-strong) 55%, transparent) 0,
      color-mix(in srgb, var(--aisf-border-strong) 55%, transparent) 1px,
      transparent 1px,
      transparent 26px
    ),
    repeating-linear-gradient(
      -24deg,
      color-mix(in srgb, var(--aisf-border-strong) 45%, transparent) 0,
      color-mix(in srgb, var(--aisf-border-strong) 45%, transparent) 1px,
      transparent 1px,
      transparent 26px
    );
  background-size: 24px 24px, auto, auto;
  opacity: 0.42;
  mask-image: radial-gradient(80% 70% at 50% 42%, transparent 34%, #000 96%);
  -webkit-mask-image: radial-gradient(80% 70% at 50% 42%, transparent 34%, #000 96%);
}
.login-auth-inner {
  position: relative;
  z-index: 1;
}

/* The card — precise, luxurious */
.login-card {
  position: relative;
  z-index: 1;
  background: var(--aisf-surface);
  border: 1px solid var(--aisf-border);
  border-radius: var(--aisf-radius-2xl);
  box-shadow:
    var(--aisf-shadow-lg),
    0 2px 10px color-mix(in srgb, var(--aisf-accent) 8%, transparent);
}
/* Gradient hairline — teal at top-left, blue at bottom-right, border elsewhere */
.login-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    140deg,
    color-mix(in srgb, var(--aisf-teal) 62%, transparent) 0%,
    transparent 34%,
    transparent 66%,
    color-mix(in srgb, var(--aisf-accent) 62%, transparent) 100%
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* Loom thread — a 2px teal→blue accent along the top inside edge + glowing node */
.login-loom {
  position: absolute;
  top: 0.7rem;
  left: 1.75rem;
  right: 1.75rem;
  height: 2px;
  border-radius: var(--aisf-radius-full);
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--aisf-teal) 24%,
    var(--aisf-accent) 76%,
    transparent 100%
  );
  opacity: 0.85;
  pointer-events: none;
}
.login-loom::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30%;
  width: 5px;
  height: 5px;
  margin-top: -2.5px;
  margin-left: -2.5px;
  border-radius: var(--aisf-radius-full);
  background: var(--aisf-teal);
  box-shadow: 0 0 8px 1px color-mix(in srgb, var(--aisf-teal) 70%, transparent);
}

/* Card header — gradient logomark tile inline with the kicker */
.login-card-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.login-logomark {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  border-radius: var(--aisf-radius-md);
  color: var(--aisf-neutral-0);
  background: var(--aisf-gradient);
  box-shadow: var(--aisf-gradient-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}
.login-card-kicker {
  font-family: var(--aisf-font-display);
  font-weight: 600;
  font-size: var(--aisf-font-size-11);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--aisf-accent);
}

/* Interactive buttons — smooth lift + accent focus ring */
.login-btn {
  transition: transform 0.18s ease, box-shadow 0.2s ease, background-color 0.18s ease, border-color 0.18s ease;
}
.login-btn:hover { transform: translateY(-1px); }
.login-btn:active { transform: translateY(0); }
/* SSO buttons: labels must wrap gracefully (long provider names, many
   providers, narrow 360–430px viewports) instead of overflowing the card and
   being clipped by the auth panel. Height grows to fit multi-line labels while
   staying visually identical to the lg size on a single line. */
.login-btn.login-sso-btn {
  height: auto;
  min-height: 2.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.3;
  text-align: center;
  /* 15px: i label provider lunghi ("Continua con OpenAuth (Keycloak)") devono stare su una riga nella card desktop */
  font-size: var(--aisf-font-size-15);
}
.login-sso-btn:hover {
  box-shadow: var(--aisf-shadow-lg);
  border-color: var(--aisf-accent) !important;
}
.login-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--aisf-accent-soft), var(--aisf-shadow-sm);
}
.login-brand-btn:focus-visible {
  box-shadow: 0 0 0 3px var(--aisf-accent-soft), var(--aisf-gradient-shadow-hover);
}

/* Provider icon inside a small rounded tinted tile at the left */
.login-sso-ico {
  display: grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  border-radius: var(--aisf-radius-md);
  color: var(--aisf-accent);
  background: var(--aisf-accent-soft);
  transition: background-color 0.18s ease, color 0.18s ease;
}
.login-sso-btn:hover .login-sso-ico {
  background: color-mix(in srgb, var(--aisf-accent) 20%, transparent);
}
/* On the brand (gradient) button the tile reads as frosted glass */
.login-sso-ico-brand {
  color: var(--aisf-neutral-0);
  background: rgba(255, 255, 255, 0.18);
}

/* Brand submit — CSS-only sheen sweep on hover */
.login-brand-btn {
  position: relative;
  overflow: hidden;
}
.login-brand-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 32%,
    rgba(255, 255, 255, 0.28) 50%,
    transparent 68%
  );
  transform: translateX(-130%);
  transition: transform 0.75s ease;
}
.login-brand-btn:hover::after { transform: translateX(130%); }

/* Providers-loading — shimmer skeletons (dark-safe via neutral-100/200 tokens) */
.login-skeleton-btn {
  display: block;
  width: 100%;
  height: 2.75rem;
  border-radius: var(--aisf-radius-lg);
  background: linear-gradient(
    100deg,
    var(--aisf-neutral-100) 30%,
    var(--aisf-neutral-200) 50%,
    var(--aisf-neutral-100) 70%
  );
  background-size: 200% 100%;
  animation: loginShimmer 1.4s ease-in-out infinite;
}
.login-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Entra step panel — paired with the info banner (accent-blue family tint) */
.login-entra {
  border: 1px solid var(--aisf-accent-soft);
  border: 1px solid color-mix(in srgb, var(--aisf-status-blue-fg) 22%, transparent);
  border-radius: var(--aisf-radius-lg);
  background: var(--aisf-surface-2);
  background: color-mix(in srgb, var(--aisf-status-blue-bg) 55%, var(--aisf-surface));
  padding: 1rem;
}

/* Info notice — guidance banner, blue family, NOT an error */
.login-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: var(--aisf-radius-lg);
  padding: 0.75rem 0.875rem;
  transform-origin: top center;
  background: var(--aisf-status-blue-bg);
  border: 1px solid var(--aisf-status-blue-fg);
  border: 1px solid color-mix(in srgb, var(--aisf-status-blue-fg) 28%, transparent);
  animation: loginNoticeIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.login-notice-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.05rem;
  color: var(--aisf-status-blue-fg);
}
.login-notice-text {
  font-family: var(--aisf-font-ui);
  font-weight: 500;
  font-size: var(--aisf-font-size-14);
  line-height: 1.35;
  color: var(--aisf-status-blue-fg);
}

/* Error banner — refined danger treatment */
.login-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: var(--aisf-radius-lg);
  padding: 0.75rem 0.875rem;
  /* Fallbacks first, then theme-aware soft-danger via color-mix */
  background: var(--aisf-surface);
  background: color-mix(in srgb, var(--aisf-danger) 9%, var(--aisf-surface));
  border: 1px solid var(--aisf-danger-soft);
  border: 1px solid color-mix(in srgb, var(--aisf-danger) 32%, transparent);
  animation: loginAlertIn 0.32s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.login-alert-badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.05rem;
  border-radius: var(--aisf-radius-full);
  background: var(--aisf-danger);
  color: #fff;
  font-family: var(--aisf-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  line-height: 1;
}
.login-alert-text {
  font-family: var(--aisf-font-ui);
  font-weight: 500;
  font-size: var(--aisf-font-size-14);
  line-height: 1.35;
  /* Theme-aware danger foreground: darker red on light, brighter on dark (AA both) */
  color: var(--aisf-status-red-fg);
}

.login-foot {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--aisf-text-subtle);
}

/* ─────────────────────────  Reduced motion  ─────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .login-reveal,
  .login-card,
  .login-alert,
  .login-notice,
  .login-kicker-rule,
  .login-vp-list::before {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  .login-aurora,
  .login-weave,
  .login-mesh-glow circle,
  .login-skeleton-btn {
    animation: none !important;
  }
  /* Mesh threads: rest fully drawn, no draw-in */
  .login-mesh-lines line {
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }
  .login-btn:hover,
  .login-btn:active {
    transform: none !important;
  }
  .login-brand-btn::after,
  .login-brand-btn:hover::after {
    display: none !important;
  }
}
