autocasting-ui-library-padimasso 1.6.5 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/components/Actions/Buttons/Button/ButtonRow.js +1 -1
  2. package/dist/components/Actions/Buttons/Button/IconViewSwitcher.js +1 -1
  3. package/dist/components/Brand/Identity/Icon/Icon.js +8 -0
  4. package/dist/components/DataDisplay/Chips/TagChip.js +2 -2
  5. package/dist/components/Feedback/Toast/Toast.js +1 -1
  6. package/dist/components/Feedback/Toast/ToastProvider.js +7 -3
  7. package/dist/components/Forms/Upload/UploadTile/UploadTile.js +1 -1
  8. package/dist/components/Layout/Dashboard/DashboardShell.js +13 -7
  9. package/dist/components/Layout/MasterDetail/MasterDetailShell.js +1 -1
  10. package/dist/components/Overlays/Panels/DetailsView/DetailsView.js +3 -2
  11. package/dist/icons/copy-purple.svg.js +3 -0
  12. package/dist/icons/copy.svg.js +3 -0
  13. package/dist/icons/open-white.svg.js +3 -0
  14. package/dist/index.d.ts +3 -3
  15. package/dist/styles.css +1 -1
  16. package/package.json +1 -1
  17. package/src/components/Actions/Buttons/Button/ButtonRow.tsx +1 -1
  18. package/src/components/Actions/Buttons/Button/IconViewSwitcher.tsx +1 -1
  19. package/src/components/Brand/Identity/Icon/Icon.tsx +9 -0
  20. package/src/components/DataDisplay/Chips/TagChip.tsx +2 -2
  21. package/src/components/Feedback/Toast/Toast.tsx +1 -1
  22. package/src/components/Feedback/Toast/ToastProvider.tsx +10 -1
  23. package/src/components/Forms/Upload/UploadTile/UploadTile.tsx +1 -1
  24. package/src/components/Layout/Dashboard/DashboardShell.tsx +63 -37
  25. package/src/components/Layout/MasterDetail/MasterDetailShell.tsx +1 -1
  26. package/src/components/Overlays/Panels/DetailsView/DetailsView.stories.tsx +5 -0
  27. package/src/components/Overlays/Panels/DetailsView/DetailsView.tsx +24 -15
  28. package/src/icons/copy-purple.svg +4 -0
  29. package/src/icons/copy.svg +4 -0
  30. package/src/icons/open-white.svg +3 -0
@@ -5,7 +5,7 @@ import React__default from 'react';
5
5
  function ButtonRow({ items, className, innerClassName }) {
6
6
  if (!items || items.length === 0)
7
7
  return null;
8
- return (jsx("div", { className: clsx('flex items-center justify-center', className), children: jsx("div", { className: clsx('inline-flex items-center justify-center rounded-lg bg-white h-11 px-3.5 border border-(--color-secondary-outline)', innerClassName), children: items.map((item, index) => (jsxs(React__default.Fragment, { children: [index > 0 && jsx("div", { className: "w-px h-7 mx-4 bg-(--color-secondary-outline)" }), jsx("div", { className: "flex items-center justify-center", children: item })] }, index))) }) }));
8
+ return (jsx("div", { className: clsx('flex items-center justify-center', className), children: jsx("div", { className: clsx('inline-flex items-center justify-center rounded-xl bg-white h-11 px-3.5 border border-(--color-secondary-outline)', innerClassName), children: items.map((item, index) => (jsxs(React__default.Fragment, { children: [index > 0 && jsx("div", { className: "w-px h-7 mx-4 bg-(--color-secondary-outline)" }), jsx("div", { className: "flex items-center justify-center", children: item })] }, index))) }) }));
9
9
  }
10
10
 
11
11
  export { ButtonRow as default };
@@ -9,7 +9,7 @@ function IconViewSwitcher({ items, onChange, className, innerClassName, itemClas
9
9
  const initial = defaultSelected && items.includes(defaultSelected) ? defaultSelected : items[0];
10
10
  const [selected, setSelected] = useState(initial);
11
11
  const [hovered, setHovered] = useState(null);
12
- return (jsx("div", { className: clsx('flex items-center justify-center', className), children: jsx("div", { role: "tablist", "aria-orientation": "horizontal", className: clsx('inline-flex items-center justify-center rounded-2xl bg-white shadow-sm h-11 p-1', innerClassName), children: items.map((item) => {
12
+ return (jsx("div", { className: clsx('flex items-center justify-center', className), children: jsx("div", { role: "tablist", "aria-orientation": "horizontal", className: clsx('inline-flex items-center justify-center rounded-xl bg-white shadow-sm h-11 p-1', innerClassName), children: items.map((item) => {
13
13
  const isActive = item === selected;
14
14
  const isDisabled = disabled;
15
15
  return (jsx("button", { type: "button", role: "tab", "aria-selected": isActive, disabled: isDisabled, onMouseEnter: () => setHovered(item), onMouseLeave: () => setHovered(null), onClick: () => {
@@ -25,6 +25,8 @@ import ClockIconPurple from '../../../../icons/clock-purple.svg.js';
25
25
  import ClockIcon from '../../../../icons/clock.svg.js';
26
26
  import CopyLinkIconDisabled from '../../../../icons/copy-link-disabled.svg.js';
27
27
  import CopyLinkIconPurple from '../../../../icons/copy-link-purple.svg.js';
28
+ import CopyIcon from '../../../../icons/copy.svg.js';
29
+ import CopyIconPurple from '../../../../icons/copy-purple.svg.js';
28
30
  import CopyLinkIcon from '../../../../icons/copy-link.svg.js';
29
31
  import CrossIconPurple from '../../../../icons/cross-purple.svg.js';
30
32
  import CrossIcon from '../../../../icons/cross.svg.js';
@@ -53,6 +55,7 @@ import MailIcon from '../../../../icons/message.svg.js';
53
55
  import OGIcon from '../../../../icons/og-image.svg.js';
54
56
  import OpenIconDisabled from '../../../../icons/open-disabled.svg.js';
55
57
  import OpenIconPurple from '../../../../icons/open-purple.svg.js';
58
+ import OpenIconWhite from '../../../../icons/open-white.svg.js';
56
59
  import OpenIcon from '../../../../icons/open.svg.js';
57
60
  import OverflowMenuIconPurple from '../../../../icons/overflowmenu-purple.svg.js';
58
61
  import OverflowMenuIcon from '../../../../icons/overflowmenu.svg.js';
@@ -117,6 +120,7 @@ const ICONS = {
117
120
  default: OpenIcon,
118
121
  primary: OpenIconPurple,
119
122
  disabled: OpenIconDisabled,
123
+ white: OpenIconWhite,
120
124
  },
121
125
  burger: {
122
126
  default: BurgerIcon,
@@ -150,6 +154,10 @@ const ICONS = {
150
154
  default: CrossIcon,
151
155
  primary: CrossIconPurple,
152
156
  },
157
+ copy: {
158
+ default: CopyIcon,
159
+ primary: CopyIconPurple,
160
+ },
153
161
  copyLink: {
154
162
  default: CopyLinkIcon,
155
163
  primary: CopyLinkIconPurple,
@@ -3,9 +3,9 @@ import { clsx } from 'clsx';
3
3
  import { Icon } from '../../Brand/Identity/Icon/Icon.js';
4
4
 
5
5
  function TagChip({ label, onRemove, newItem = false, className, style }) {
6
- return (jsxs("span", { className: clsx('inline-flex items-center gap-2 rounded-full border-1 bg-(--color-primary-white) px-4 py-1 text-sm lg:text-[14px]', newItem
6
+ return (jsxs("span", { className: clsx('inline-flex items-center gap-2 rounded-full border-1 bg-(--color-primary-white) px-3.5 py-1 text-sm', newItem
7
7
  ? 'border-(--color-primary-purple) text-(--color-primary-purple)'
8
- : 'border-(--color-secondary-outline) text-(--color-secondary-grey-fonts)', className), style: style, children: [jsx("span", { children: label }), onRemove && jsx(Icon, { name: "cross", variant: newItem ? 'primary' : 'default', size: 11, onClick: onRemove })] }));
8
+ : 'border-(--color-secondary-outline) text-(--color-secondary-grey-fonts)', className), style: style, children: [jsx("span", { children: label }), onRemove && jsx(Icon, { name: "cross", variant: newItem ? 'primary' : 'default', size: 10, onClick: onRemove })] }));
9
9
  }
10
10
 
11
11
  export { TagChip as default };
@@ -25,7 +25,7 @@ const TOAST_ICON_BY_TYPE = {
25
25
  function Toast({ title, description, type = 'default', className, titleClassName, descriptionClassName, iconClassName, role, ...rest }) {
26
26
  const styles = TYPE_STYLES[type];
27
27
  const icon = TOAST_ICON_BY_TYPE[type];
28
- return (jsxs("article", { "data-toast-type": type, "data-toast-part": "root", role: role ?? (type === 'danger' ? 'alert' : 'status'), className: clsx('flex flex-row items-center w-full gap-3 rounded-lg p-3 shadow-md max-w-[330px]', styles.container, className), ...rest, children: [jsx(Icon, { name: icon.name, variant: icon.variant, "aria-hidden": "true", className: clsx('cursor-default', iconClassName) }), jsxs("div", { "data-toast-part": "content", className: "flex-1", children: [jsx("p", { "data-toast-part": "title", className: clsx('text-sm font-semibold', titleClassName), children: title }), description ? (jsx("p", { "data-toast-part": "description", className: clsx('text-sm font-light text-(--color-secondary-gray)', descriptionClassName), children: description })) : null] })] }));
28
+ return (jsxs("article", { "data-toast-type": type, "data-toast-part": "root", role: role ?? (type === 'danger' ? 'alert' : 'status'), className: clsx('flex w-full max-w-[330px] flex-row items-center gap-3 rounded-lg p-3 shadow-md', styles.container, className), ...rest, children: [jsx(Icon, { name: icon.name, variant: icon.variant, "aria-hidden": "true", className: clsx('cursor-default', iconClassName) }), jsxs("div", { "data-toast-part": "content", className: "flex-1", children: [jsx("p", { "data-toast-part": "title", className: clsx('text-sm font-semibold', titleClassName), children: title }), description ? (jsx("p", { "data-toast-part": "description", className: clsx('text-sm font-light text-(--color-secondary-gray)', descriptionClassName), children: description })) : null] })] }));
29
29
  }
30
30
 
31
31
  export { Toast as default };
@@ -42,7 +42,7 @@ function registerToastApi(api) {
42
42
  }
43
43
  };
44
44
  }
45
- function ToastViewportItem({ toast, toastClassName, onDismiss, }) {
45
+ function ToastViewportItem({ toast, position, toastClassName, onDismiss, }) {
46
46
  useEffect(() => {
47
47
  if (!Number.isFinite(toast.durationMs) || toast.durationMs <= 0)
48
48
  return;
@@ -53,7 +53,11 @@ function ToastViewportItem({ toast, toastClassName, onDismiss, }) {
53
53
  window.clearTimeout(timeoutId);
54
54
  };
55
55
  }, [onDismiss, toast.durationMs, toast.id]);
56
- return (jsx("div", { className: "pointer-events-auto w-full", children: jsx(Toast, { title: toast.title, description: toast.description, type: toast.type, className: clsx(toastClassName, toast.className) }) }));
56
+ return (jsx("div", { className: clsx('pointer-events-auto flex w-full', {
57
+ 'justify-start': position === 'top-left' || position === 'bottom-left',
58
+ 'justify-center': position === 'top-center' || position === 'bottom-center',
59
+ 'justify-end': position === 'top-right' || position === 'bottom-right',
60
+ }), children: jsx(Toast, { title: toast.title, description: toast.description, type: toast.type, className: clsx(toastClassName, toast.className) }) }));
57
61
  }
58
62
  function showToast(options) {
59
63
  const toastId = options.id ?? nextToastId();
@@ -113,7 +117,7 @@ function ToastProvider({ children, defaultDurationMs = 2500, maxToasts = 5, view
113
117
  const positionedToasts = toasts.filter((toast) => toast.position === position);
114
118
  if (positionedToasts.length === 0)
115
119
  return null;
116
- return (jsx("div", { "aria-live": "polite", "aria-atomic": "false", "data-toast-position": position, "data-toast-part": "viewport", className: clsx('pointer-events-none fixed z-[1100] flex w-[calc(100%-2rem)] max-w-sm flex-col gap-3', VIEWPORT_POSITION_CLASSES[position], viewportClassName), children: positionedToasts.map((toast) => (jsx(ToastViewportItem, { toast: toast, toastClassName: toastClassName, onDismiss: dismissToastInternal }, toast.id))) }, position));
120
+ return (jsx("div", { "aria-live": "polite", "aria-atomic": "false", "data-toast-position": position, "data-toast-part": "viewport", className: clsx('pointer-events-none fixed z-[1100] flex w-[calc(100%-2rem)] max-w-sm flex-col gap-3', VIEWPORT_POSITION_CLASSES[position], viewportClassName), children: positionedToasts.map((toast) => (jsx(ToastViewportItem, { toast: toast, position: position, toastClassName: toastClassName, onDismiss: dismissToastInternal }, toast.id))) }, position));
117
121
  }) }), document.body)
118
122
  : null] }));
119
123
  }
@@ -81,7 +81,7 @@ const UploadTile = forwardRef(function UploadTile({ label, value, previewUrl, on
81
81
  e.preventDefault();
82
82
  openDialog();
83
83
  }
84
- }, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop, children: [jsx("div", { className: clsx('h-full w-full flex items-center justify-center', baseBorder, roundedClassName, dragCls, disabled && 'opacity-50 pointer-events-none', classes?.inner), children: displayUrl ? (renderPreview ? (renderPreview(displayUrl)) : (jsx("img", { src: displayUrl, alt: "", loading: "lazy", decoding: "async", crossOrigin: "anonymous", className: clsx('h-full w-full', roundedClassName, classes?.preview), style: { objectFit } }))) : renderEmpty ? (renderEmpty()) : (jsxs("div", { className: clsx('flex flex-col items-center gap-2 text-gray-400', classes?.empty), children: [jsx("div", { className: clsx('h-10 w-10 grid place-items-center justify-center rounded-full bg-gray-200 text-xl', classes?.icon), children: jsx("span", { className: "mb-[2px] mx-[1px]", children: "+" }) }), label && jsx("span", { className: clsx('text-xs', classes?.label), children: label })] })) }), busy && (jsx("div", { className: clsx('absolute inset-0 grid place-items-center', roundedClassName, classes?.overlay), style: { pointerEvents: 'none', background: 'rgba(0,0,0,0.25)' }, children: jsxs("div", { className: "flex items-center gap-2 text-white text-sm", children: [jsxs("svg", { className: "h-5 w-5 animate-spin", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [jsx("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeWidth: "2", opacity: "0.25" }), jsx("path", { d: "M21 12a9 9 0 0 0-9-9", stroke: "currentColor", strokeWidth: "2" })] }), jsx("span", { children: busyText })] }) })), hasImage && !busy && (jsx("div", { className: clsx('absolute left-0 right-0 bottom-0 px-3 py-2 lg:px-4 lg:py-2 bg-black/45 z-10 pointer-events-auto', roundedClassName, classes?.actionsBar), style: { borderTopLeftRadius: 0, borderTopRightRadius: 0 }, onClick: (e) => e.stopPropagation(), children: jsxs("div", { className: "flex flex-row justify-between items-center", children: [jsx("button", { type: "button", className: clsx('w-12 h-12 rounded-full bg-(--color-primary-light-grey) grid place-items-center', 'lg:w-10 lg:h-10', classes?.actionBtn), style: { cursor: 'pointer' }, "aria-label": "Editar imagen", onClick: (e) => {
84
+ }, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop, children: [jsx("div", { className: clsx('h-full w-full flex items-center justify-center', baseBorder, roundedClassName, dragCls, disabled && 'opacity-50 pointer-events-none', classes?.inner), children: displayUrl ? (renderPreview ? (renderPreview(displayUrl)) : (jsx("img", { src: displayUrl, alt: "", loading: "lazy", decoding: "async", crossOrigin: "anonymous", className: clsx('h-full w-full', roundedClassName, classes?.preview), style: { objectFit } }))) : renderEmpty ? (renderEmpty()) : (jsxs("div", { className: clsx('flex flex-col items-center gap-2 text-gray-400', classes?.empty), children: [jsx("div", { className: clsx('h-10 w-10 grid place-items-center justify-center rounded-full bg-gray-200 text-xl', classes?.icon), children: jsx("span", { className: "mb-[2px] mx-[1px]", children: "+" }) }), label && jsx("span", { className: clsx('text-xs', classes?.label), children: label })] })) }), busy && (jsx("div", { className: clsx('absolute inset-0 grid place-items-center', roundedClassName, classes?.overlay), style: { pointerEvents: 'none', background: 'rgba(0,0,0,0.25)' }, children: jsxs("div", { className: "flex items-center gap-2 text-white text-sm", children: [jsxs("svg", { className: "h-5 w-5 animate-spin", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [jsx("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeWidth: "2", opacity: "0.25" }), jsx("path", { d: "M21 12a9 9 0 0 0-9-9", stroke: "currentColor", strokeWidth: "2" })] }), jsx("span", { children: busyText })] }) })), hasImage && !busy && (jsx("div", { className: clsx('absolute left-0 right-0 bottom-0 px-3 py-2 lg:px-4 lg:py-2 bg-black/45 z-2 pointer-events-auto', roundedClassName, classes?.actionsBar), style: { borderTopLeftRadius: 0, borderTopRightRadius: 0 }, onClick: (e) => e.stopPropagation(), children: jsxs("div", { className: "flex flex-row justify-between items-center", children: [jsx("button", { type: "button", className: clsx('w-12 h-12 rounded-full bg-(--color-primary-light-grey) grid place-items-center', 'lg:w-10 lg:h-10', classes?.actionBtn), style: { cursor: 'pointer' }, "aria-label": "Editar imagen", onClick: (e) => {
85
85
  e.stopPropagation();
86
86
  if (onEditClick)
87
87
  onEditClick();
@@ -9,10 +9,13 @@ import { useChromeBoxHeights } from '../../../hooks/useChromeBoxHeights.js';
9
9
  import { useMedia, LG_SCREEN_SIZE } from '../../../hooks/useMedia.js';
10
10
  import { createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
11
11
 
12
- function DashboardShellTitle({ title, actions, className }) {
12
+ function DashboardShellTitle({ title, actions, className, size = 'lg' }) {
13
13
  if (!title && !actions)
14
14
  return null;
15
- return (jsxs("header", { className: ['w-full flex items-center justify-between', className ?? ''].filter(Boolean).join(' '), children: [jsx("div", { className: "min-w-0", children: typeof title === 'string' ? (jsx("h1", { className: "text-lg font-bold text-(--color-primary-black) leading-tight", children: title })) : (title) }), actions && jsx("div", { className: "shrink-0 flex items-center gap-3", children: actions })] }));
15
+ const titleClassName = size === 'xl'
16
+ ? 'text-2xl font-bold text-(--color-primary-black) leading-tight'
17
+ : 'text-lg font-bold text-(--color-primary-black) leading-tight';
18
+ return (jsxs("header", { className: ['w-full flex items-center justify-between', className ?? ''].filter(Boolean).join(' '), children: [jsx("div", { className: "min-w-0", children: typeof title === 'string' ? jsx("h1", { className: titleClassName, children: title }) : title }), actions && jsx("div", { className: "shrink-0 flex items-center gap-3", children: actions })] }));
16
19
  }
17
20
  function DashboardShell({ title, sections, initialKey, activeKey: controlledActiveKey, onActiveSectionChange, children, bottomSection, contentHeader, mobileNavBottomBar, titleActions, }) {
18
21
  const isDesktop = useMedia(LG_SCREEN_SIZE);
@@ -118,7 +121,7 @@ function DashboardShell({ title, sections, initialKey, activeKey: controlledActi
118
121
  const mobileSectionHeader = currentSection && sectionUsesShellLayout && (jsxs("div", { className: currentSection.sectionActions
119
122
  ? 'flex flex-col gap-3 mb-4'
120
123
  : 'flex flex-row gap-4 items-center justify-between mb-4', children: [jsx("div", { className: "flex items-center gap-2 min-w-0", children: jsxs("button", { type: "button", onClick: goToNav, className: "cursor-pointer flex items-center gap-1", children: [jsx(ChevronLeft, {}), typeof currentSection.sectionTitle === 'string' ? (jsx("h2", { className: "text-lg font-semibold truncate", children: currentSection.sectionTitle })) : (currentSection.sectionTitle)] }) }), currentSection.sectionActions ? (jsx("div", { className: "w-full [&>*]:w-full", children: currentSection.sectionActions })) : null] }));
121
- const desktopSectionContent = currentSection && (jsxs("div", { className: "flex w-full flex-col gap-4 lg:h-full lg:min-h-0", children: [contentHeader, sectionUsesShellLayout ? (jsx("article", { className: "flex flex-1 min-h-0 flex-col overflow-hidden rounded-xl border border-(--color-secondary-outline) bg-(--color-primary-white)", children: jsxs("div", { ref: contentScrollRef, className: "flex-1 min-h-0 overflow-y-auto", children: [jsx("header", { className: "h-[76px] shrink-0 border-b border-(--color-secondary-outline) px-6 flex items-center lg:sticky lg:top-0 lg:z-10 bg-(--color-primary-white)", children: jsx(DashboardShellTitle, { title: currentSection.sectionTitle, actions: currentSection.sectionActions }) }), jsx("div", { className: "p-6", children: currentSection.render() })] }) })) : (currentSection.render())] }));
124
+ const desktopSectionContent = currentSection && (jsxs("div", { className: "flex w-full flex-col gap-4 lg:h-full lg:min-h-0", children: [contentHeader ? jsx("div", { className: "relative z-4", children: contentHeader }) : null, sectionUsesShellLayout ? (jsx("article", { className: "flex flex-1 min-h-0 flex-col overflow-hidden rounded-xl border border-(--color-secondary-outline) bg-(--color-primary-white)", children: jsxs("div", { ref: contentScrollRef, className: "flex-1 min-h-0 overflow-y-auto", children: [jsx("header", { className: "h-[76px] shrink-0 border-b border-(--color-secondary-outline) px-6 flex items-center lg:sticky lg:top-0 lg:z-20 bg-(--color-primary-white)", children: jsx(DashboardShellTitle, { title: currentSection.sectionTitle, actions: currentSection.sectionActions, size: "lg" }) }), jsx("div", { className: "p-6", children: currentSection.render() })] }) })) : (currentSection.render())] }));
122
125
  // No Sections
123
126
  if (!hasSections) {
124
127
  return (jsx(DashboardShellContext.Provider, { value: ctxValue, children: jsx("section", { className: "w-full flex flex-col bg-(--color-secondary-white)", children: jsx("article", { className: "min-w-0", children: jsx("div", { className: "w-full max-w-[1500px] mx-auto lg:pb-0", children: children }) }) }) }));
@@ -126,10 +129,13 @@ function DashboardShell({ title, sections, initialKey, activeKey: controlledActi
126
129
  // Mobile Navbar
127
130
  if (!isDesktop && mobileView === 'nav') {
128
131
  const bottomPad = mobileNavBottomBar ? 'pb-28' : '';
129
- return (jsx(DashboardShellContext.Provider, { value: ctxValue, children: jsxs("section", { className: "w-full bg-(--color-secondary-white) relative", children: [jsxs("div", { className: ['w-full max-w-[550px] mx-auto', bottomPad].filter(Boolean).join(' '), children: [title && typeof title === 'string' && (jsx("h1", { className: "my-6 text-2xl font-semibold text-(--color-primary-black) text-center", children: title })), title && typeof title !== 'string' && jsx("div", { className: "my-6", children: title }), jsx("div", { className: "w-full bg-(--color-primary-white) rounded-xl border border-(--color-secondary-outline) shadow-[0_4px_14px_rgba(16,24,40,0.06)] overflow-hidden", children: sections.map((item, index) => {
132
+ return (jsx(DashboardShellContext.Provider, { value: ctxValue, children: jsxs("section", { className: "w-full bg-(--color-secondary-white) relative", children: [jsxs("div", { className: ['w-full max-w-[550px] mx-auto', bottomPad].filter(Boolean).join(' '), children: [title && typeof title === 'string' && (jsx("h1", { className: "my-6 text-xl font-semibold text-(--color-primary-black) text-center", children: title })), title && typeof title !== 'string' && jsx("div", { className: "my-6", children: title }), jsx("div", { className: "flex w-[90%] m-auto flex-col gap-2", children: sections.map((item) => {
130
133
  const hasNestedMobileList = Boolean(item.menuAction && item.menuItems);
131
134
  const nestedMobileEntries = hasNestedMobileList ? getNestedSectionEntries(item) : [];
132
- return (jsxs("div", { className: index !== sections.length - 1 ? 'border-b border-(--color-secondary-outline)' : '', children: [jsxs("button", { type: "button", onClick: () => activateSection(item), className: "cursor-pointer w-full flex items-center justify-between px-6 py-4 text-[15px] leading-5 font-medium", children: [jsx("span", { children: item.label }), jsx(ChevronRight, { sizePx: 24 })] }), hasNestedMobileList ? (jsx("div", { className: "flex flex-col px-2 pb-3", children: nestedMobileEntries.map((entry) => (jsxs("div", { className: "flex items-center gap-2 px-4 py-2", children: [jsx("button", { type: "button", onClick: entry.onClick, className: "cursor-pointer min-w-0 flex-1 text-left text-[15px] leading-5 font-medium", children: jsx("span", { className: "block truncate", children: entry.label }) }), entry.leadingIconName ? (jsx("button", { type: "button", onClick: entry.onClick, "aria-label": typeof entry.label === 'string' ? entry.label : undefined, className: "cursor-pointer inline-flex items-center justify-center", children: jsx(Icon, { name: entry.leadingIconName, size: 14 }) })) : null, entry.overflowMenuItems && entry.overflowMenuItems.length > 0 ? (jsx(OverflowMenu, { items: entry.overflowMenuItems, align: "end", side: "bottom", triggerIconSize: 14 })) : null] }, entry.key))) })) : null] }, item.key));
135
+ if (hasNestedMobileList) {
136
+ return (jsxs("div", { className: "rounded-xl border overflow-hidden border-(--color-secondary-outline) bg-(--color-primary-white) text-(--color-primary-black)", children: [jsxs("button", { type: "button", onClick: () => activateSection(item), className: "flex items-center justify-between gap-2 rounded-none border-none px-5 pt-5 pb-2 text-sm font-semibold cursor-pointer w-full text-left", children: [jsxs("span", { className: "flex items-center gap-2", children: [item.icon && jsx("span", { className: "w-5 h-5", children: item.icon }), jsx("span", { children: item.label })] }), jsx("span", { className: "text-(--color-primary-black)", children: jsx(ChevronRight, { sizePx: 24 }) })] }), jsx("div", { className: "flex flex-col px-2 pb-4", children: nestedMobileEntries.map((entry) => (jsxs("div", { className: "flex items-center rounded-xl px-4 py-2", children: [jsx("button", { type: "button", onClick: entry.onClick, className: "cursor-pointer min-w-0 flex-1 text-left text-(--color-primary-black)", children: jsx("span", { className: "block truncate text-sm leading-none font-semibold", children: entry.label }) }), entry.leadingIconName ? (jsx("button", { type: "button", onClick: entry.onClick, "aria-label": typeof entry.label === 'string' ? entry.label : undefined, className: "cursor-pointer inline-flex items-center justify-center", children: jsx(Icon, { name: entry.leadingIconName, size: 14, variant: "default" }) })) : null, entry.overflowMenuItems && entry.overflowMenuItems.length > 0 ? (jsx(OverflowMenu, { items: entry.overflowMenuItems, align: "end", side: "bottom", triggerIconSize: 14 })) : null] }, entry.key))) })] }, item.key));
137
+ }
138
+ return (jsxs("button", { type: "button", onClick: () => activateSection(item), className: "flex items-center justify-between gap-2 rounded-xl border border-(--color-secondary-outline) bg-(--color-primary-white) px-5 py-5 text-sm font-semibold text-(--color-primary-black) cursor-pointer w-full text-left", children: [jsxs("span", { className: "flex items-center gap-2", children: [item.icon && jsx("span", { className: "w-5 h-5", children: item.icon }), jsx("span", { children: item.label })] }), jsx("span", { className: "text-(--color-primary-black)", children: jsx(ChevronRight, { sizePx: 24 }) })] }, item.key));
133
139
  }) })] }), mobileNavBottomBar && (jsx(MobileBottomBar, { className: "border-t border-(--color-secondary-outline) bg-(--color-primary-white)", children: mobileNavBottomBar }))] }) }));
134
140
  }
135
141
  // Mobile (Content Only) & Desktop (Title + Content)
@@ -139,7 +145,7 @@ function DashboardShell({ title, sections, initialKey, activeKey: controlledActi
139
145
  maxHeight: desktopViewportHeight,
140
146
  overflow: 'hidden',
141
147
  }
142
- : undefined, children: [jsx("div", { className: "w-full shrink-0", children: isDesktop && jsx(DashboardShellTitle, { title: title, actions: titleActions, className: "pb-4" }) }), jsxs("div", { className: "w-full flex flex-col lg:flex-row gap-0 flex-1 min-h-0", children: [isDesktop && (jsx("aside", { className: "hidden lg:flex lg:basis-[250px] lg:min-w-[250px] lg:max-w-[250px] shrink-0 self-stretch min-h-0 bg-transparent overflow-hidden", children: jsxs("div", { className: "w-full flex-1 min-h-0 flex flex-col", children: [jsx("nav", { className: "flex-1 min-h-0 overflow-y-auto flex flex-col gap-2 w-full", children: sections.map((item) => {
148
+ : undefined, children: [jsx("div", { className: "w-full shrink-0", children: isDesktop && jsx(DashboardShellTitle, { title: title, actions: titleActions, className: "pb-4", size: "xl" }) }), jsxs("div", { className: "w-full flex flex-col lg:flex-row gap-0 flex-1 min-h-0", children: [isDesktop && (jsx("aside", { className: "hidden lg:flex lg:basis-[250px] lg:min-w-[250px] lg:max-w-[250px] shrink-0 self-stretch min-h-0 bg-transparent overflow-hidden", children: jsxs("div", { className: "w-full flex-1 min-h-0 flex flex-col", children: [jsx("nav", { className: "flex-1 min-h-0 overflow-y-auto flex flex-col gap-2 w-full", children: sections.map((item) => {
143
149
  const selected = item.key === activeKey;
144
150
  const hasNestedDesktopList = Boolean(item.menuAction && item.menuItems);
145
151
  const nestedDesktopEntries = hasNestedDesktopList ? getNestedSectionEntries(item) : [];
@@ -163,7 +169,7 @@ function DashboardShell({ title, sections, initialKey, activeKey: controlledActi
163
169
  ? 'shadow-sm border-(--color-primary-purple) text-(--color-primary-purple) bg-(--color-primary-white)'
164
170
  : 'border-(--color-secondary-outline) bg-(--color-primary-white) text-(--color-primary-black)',
165
171
  ].join(' '), children: [jsxs("span", { className: "flex items-center gap-2", children: [item.icon && jsx("span", { className: "w-5 h-5", children: item.icon }), jsx("span", { children: item.label })] }), jsx("span", { className: selected ? 'text-(--color-primary-purple)' : 'text-(--color-primary-black)', children: selected ? jsx(ChevronRight, { sizePx: 24 }) : jsx(ChevronUpDown, { open: false, sizePx: 24 }) })] }, item.key));
166
- }) }), bottomSection && jsx("footer", { className: "mt-auto shrink-0", children: bottomSection })] }) })), jsx("article", { className: "flex-1 min-w-0 min-h-0 lg:flex lg:flex-col lg:overflow-hidden", children: jsxs("div", { className: "w-full max-w-[1500px] mx-auto lg:flex lg:h-full lg:min-h-0 lg:flex-col lg:pl-4 lg:py-0", children: [!isDesktop && mobileView === 'content' && currentSection && (jsxs("div", { ref: contentScrollRef, className: mobileNavBottomBar ? 'pb-28' : '', children: [contentHeader, sectionUsesShellLayout ? (jsxs(Fragment, { children: [mobileSectionHeader, jsx("article", { className: "bg-(--color-primary-white) rounded-xl border border-(--color-secondary-outline)", children: jsx("div", { className: "p-6", children: currentSection.render() }) })] })) : (currentSection.render())] })), isDesktop && desktopSectionContent, children] }) })] })] }) }));
172
+ }) }), bottomSection && jsx("footer", { className: "mt-auto shrink-0", children: bottomSection })] }) })), jsx("article", { className: "flex-1 min-w-0 min-h-0 lg:flex lg:flex-col lg:overflow-hidden", children: jsxs("div", { className: "w-full max-w-[1500px] mx-auto pb-6 lg:pb-0 lg:flex lg:h-full lg:min-h-0 lg:flex-col lg:pl-4 lg:py-0", children: [!isDesktop && mobileView === 'content' && currentSection && (jsxs("div", { ref: contentScrollRef, className: mobileNavBottomBar ? 'pb-28' : '', children: [contentHeader ? jsx("div", { className: "relative z-4", children: contentHeader }) : null, sectionUsesShellLayout ? (jsxs(Fragment, { children: [mobileSectionHeader, jsx("article", { className: "bg-(--color-primary-white) rounded-xl border border-(--color-secondary-outline)", children: jsx("div", { className: "p-6", children: currentSection.render() }) })] })) : (currentSection.render())] })), isDesktop && desktopSectionContent, children] }) })] })] }) }));
167
173
  }
168
174
  const DashboardShellContext = createContext(undefined);
169
175
  function useDashboardShell() {
@@ -7,7 +7,7 @@ function MasterDetailShell({ menu, content, contentHeader, contentActions, menuC
7
7
  const isDesktop = useMedia(LG_SCREEN_SIZE);
8
8
  const { header, footer } = useChromeBoxHeights();
9
9
  const desktopViewportHeight = desktopPaneHeight ?? `calc(var(--app-vh, 1vh) * 100 - ${header + footer}px)`;
10
- return (jsx("section", { className: "w-full h-full min-h-0 bg-transparent", children: jsx("div", { className: "flex h-full min-h-0 w-full flex-col", children: jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-4 lg:flex-row lg:items-stretch", style: isDesktop ? { height: desktopViewportHeight } : undefined, children: [jsx("aside", { className: "flex min-h-0 flex-col overflow-hidden rounded-none border-0 bg-transparent lg:w-[350px]", children: jsx("div", { ref: menuContentRef, className: "scrollbar-hide min-h-0 flex-1 overflow-y-auto", children: menu }) }), jsx(SectionCard, { className: "flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", withContentWrapper: false, children: jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: jsxs("div", { className: "flex min-h-full flex-col", children: [(contentHeader || contentActions) && (jsxs("header", { className: "sticky top-0 z-10 flex items-center justify-between gap-4 border-b border-(--color-secondary-outline) bg-(--color-primary-white) px-6 py-5", children: [contentHeader ? jsx("div", { className: "min-w-0", children: contentHeader }) : jsx("div", {}), contentActions ? jsx("div", { className: "shrink-0", children: contentActions }) : null] })), jsx("div", { className: "flex-1 p-6", children: content })] }) }) })] }) }) }));
10
+ return (jsx("section", { className: "w-full h-full min-h-0 bg-transparent", children: jsx("div", { className: "flex h-full min-h-0 w-full flex-col", children: jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-4 lg:flex-row lg:items-stretch", style: isDesktop ? { height: desktopViewportHeight } : undefined, children: [jsx("aside", { className: "flex min-h-0 flex-col overflow-hidden rounded-none border-0 bg-transparent lg:w-[365px]", children: jsx("div", { ref: menuContentRef, className: "scrollbar-hide min-h-0 flex-1 overflow-y-auto", children: menu }) }), jsx(SectionCard, { className: "flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden", withContentWrapper: false, children: jsx("div", { className: "min-h-0 flex-1 overflow-y-auto", children: jsxs("div", { className: "flex min-h-full flex-col", children: [(contentHeader || contentActions) && (jsxs("header", { className: "sticky top-0 z-10 flex items-center justify-between gap-4 border-b border-(--color-secondary-outline) bg-(--color-primary-white) px-6 py-5", children: [contentHeader ? jsx("div", { className: "min-w-0", children: contentHeader }) : jsx("div", {}), contentActions ? jsx("div", { className: "shrink-0", children: contentActions }) : null] })), jsx("div", { className: "flex-1 p-6", children: content })] }) }) })] }) }) }));
11
11
  }
12
12
 
13
13
  export { MasterDetailShell as default };
@@ -1,10 +1,11 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import clsx from 'clsx';
3
3
  import { useRef, useEffect } from 'react';
4
+ import { createPortal } from 'react-dom';
4
5
  import { Icon } from '../../../Brand/Identity/Icon/Icon.js';
5
6
  import Spinner from '../../../Feedback/Loading/Spinner/Spinner.js';
6
7
 
7
- function DetailsView({ open, onClose, headerLeft: navigation, headerRight, children, className, loading = false, isLoading = false, loadingHeaderHeightClassName = 'h-8', }) {
8
+ function DetailsView({ open, onClose, headerLeft: navigation, bottomBar, children, className, loading = false, isLoading = false, loadingHeaderHeightClassName = 'h-8', }) {
8
9
  const bodyRef = useRef(null);
9
10
  useEffect(() => {
10
11
  if (!open)
@@ -34,7 +35,7 @@ function DetailsView({ open, onClose, headerLeft: navigation, headerRight, child
34
35
  const resolvedHeaderLeft = showLoading ? jsx("div", { className: loadingHeaderHeightClassName }) : navigation;
35
36
  if (!open)
36
37
  return null;
37
- return (jsxs("div", { className: "fixed inset-0 z-[140] flex justify-end items-stretch", children: [jsx("button", { type: "button", "aria-label": "Cerrar", onClick: onClose, className: "absolute inset-0 bg-black/60" }), jsxs("aside", { className: clsx('relative ml-auto h-full w-full max-w-[550px] bg-(--color-secondary-white) shadow-xl flex flex-col', className), children: [jsxs("header", { className: "flex items-center justify-between p-5 border-b border-(--color-secondary-outline) bg-(--color-primary-white)", children: [resolvedHeaderLeft, jsxs("div", { className: "flex items-center gap-4", children: [headerRight, jsx(Icon, { name: "burgerClose", onClick: onClose })] })] }), jsx("div", { ref: bodyRef, className: "flex-1 min-h-0 overflow-auto px-8 py-10", children: showLoading ? (jsx("div", { className: "w-full h-full min-h-[220px] flex items-center justify-center", children: jsx(Spinner, { className: "h-8 w-8" }) })) : (children) })] })] }));
38
+ return createPortal(jsxs("div", { className: "fixed inset-0 z-200", style: { overscrollBehavior: 'contain' }, children: [jsx("button", { type: "button", "aria-label": "Cerrar", onClick: onClose, className: "absolute inset-0 bg-black/40" }), jsxs("aside", { className: clsx('fixed right-[10px] top-[10px] bottom-[10px] left-[10px] flex flex-col overflow-hidden rounded-xl bg-white lg:left-auto lg:w-full lg:max-w-[550px]', className), children: [jsxs("header", { className: "py-4 px-6 flex items-start justify-between gap-6 border-b border-(--color-secondary-outline) bg-(--color-primary-white)", children: [jsx("div", { className: "min-w-0 flex-1", children: resolvedHeaderLeft }), jsx("button", { type: "button", "aria-label": "Cerrar", onClick: onClose, className: "cursor-pointer", children: jsx(Icon, { name: "burgerClose" }) })] }), jsx("div", { ref: bodyRef, className: "px-6 py-6 flex-1 min-h-0 overflow-auto bg-[var(--color-secondary-white)]", children: showLoading ? (jsx("div", { className: "w-full h-full min-h-[220px] flex items-center justify-center", children: jsx(Spinner, { className: "h-8 w-8" }) })) : (children) }), bottomBar ? (jsx("footer", { className: "shrink-0 bg-(--color-primary-white) px-6 py-4 shadow-[0_-2px_3px_rgba(0,0,0,0.1)]", children: bottomBar })) : null] })] }), document.body);
38
39
  }
39
40
 
40
41
  export { DetailsView as default };
@@ -0,0 +1,3 @@
1
+ var CopyIconPurple = "data:image/svg+xml,%3Csvg width=%2214%22 height=%2216%22 viewBox=%220 0 14 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M4.27231 4.24041H2.55577C1.85005 4.24045 1.27789 4.80746 1.27789 5.5069V13.467C1.27799 14.1664 1.85012 14.7335 2.55577 14.7335H8.21453C8.92023 14.7335 9.49232 14.1664 9.49242 13.467V11.5735H10.7703V13.467C10.7702 14.8659 9.62598 16 8.21453 16H2.55577C1.14436 16 0.000104279 14.8658 0 13.467V5.5069C7.40954e-07 4.108 1.1443 2.97396 2.55577 2.97391H4.27231V4.24041Z%22 fill=%22%236F2DF3%22/%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M8.41483 0C8.87208 0 9.3142 0.162247 9.66152 0.457002L12.9299 3.23055C13.3551 3.59144 13.6 4.11844 13.6 4.67329V10.7652C13.5999 11.8143 12.7417 12.6649 11.6832 12.6649H5.29374C4.2353 12.6648 3.37706 11.8142 3.37691 10.7652V1.89974C3.37691 0.850613 4.2352 0.000113629 5.29374 0H8.41483ZM5.29374 1.26649C4.94096 1.26661 4.6548 1.55008 4.6548 1.89974V10.7652C4.65495 11.1147 4.94105 11.3983 5.29374 11.3984H11.6832C12.036 11.3984 12.322 11.1148 12.3221 10.7652V5.5069H10.0097C8.95108 5.5069 8.0929 4.65632 8.09286 3.60716V1.26649H5.29374ZM9.37075 3.60716C9.37079 3.95686 9.65684 4.24041 10.0097 4.24041H12.1499C12.1339 4.22343 12.1167 4.20744 12.0987 4.19217L9.37075 1.87686V3.60716Z%22 fill=%22%236F2DF3%22/%3E%3C/svg%3E";
2
+
3
+ export { CopyIconPurple as default };
@@ -0,0 +1,3 @@
1
+ var CopyIcon = "data:image/svg+xml,%3Csvg width=%2214%22 height=%2216%22 viewBox=%220 0 14 16%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M4.27231 4.24041H2.55577C1.85005 4.24045 1.27789 4.80746 1.27789 5.5069V13.467C1.27799 14.1664 1.85012 14.7335 2.55577 14.7335H8.21453C8.92023 14.7335 9.49232 14.1664 9.49242 13.467V11.5735H10.7703V13.467C10.7702 14.8659 9.62598 16 8.21453 16H2.55577C1.14436 16 0.000104279 14.8658 0 13.467V5.5069C7.40954e-07 4.108 1.1443 2.97396 2.55577 2.97391H4.27231V4.24041Z%22 fill=%22%23070707%22/%3E%3Cpath fill-rule=%22evenodd%22 clip-rule=%22evenodd%22 d=%22M8.41483 0C8.87208 0 9.3142 0.162247 9.66152 0.457002L12.9299 3.23055C13.3551 3.59144 13.6 4.11844 13.6 4.67329V10.7652C13.5999 11.8143 12.7417 12.6649 11.6832 12.6649H5.29374C4.2353 12.6648 3.37706 11.8142 3.37691 10.7652V1.89974C3.37691 0.850613 4.2352 0.000113629 5.29374 0H8.41483ZM5.29374 1.26649C4.94096 1.26661 4.6548 1.55008 4.6548 1.89974V10.7652C4.65495 11.1147 4.94105 11.3983 5.29374 11.3984H11.6832C12.036 11.3984 12.322 11.1148 12.3221 10.7652V5.5069H10.0097C8.95108 5.5069 8.0929 4.65632 8.09286 3.60716V1.26649H5.29374ZM9.37075 3.60716C9.37079 3.95686 9.65684 4.24041 10.0097 4.24041H12.1499C12.1339 4.22343 12.1167 4.20744 12.0987 4.19217L9.37075 1.87686V3.60716Z%22 fill=%22%23070707%22/%3E%3C/svg%3E";
2
+
3
+ export { CopyIcon as default };
@@ -0,0 +1,3 @@
1
+ var OpenIconWhite = "data:image/svg+xml,%3Csvg width=%2217%22 height=%2217%22 viewBox=%220 0 17 17%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M6.16309 0C6.57709 0.000222815 6.91306 0.335945 6.91309 0.75C6.91309 1.16408 6.57711 1.49978 6.16309 1.5H3.75C2.50748 1.50012 1.50003 2.50746 1.5 3.75V12.2617C1.50003 13.5043 2.50749 14.5116 3.75 14.5117H12.2617C13.5043 14.5117 14.5117 13.5043 14.5117 12.2617V9.58691C14.5117 9.1728 14.8476 8.83704 15.2617 8.83691C15.6759 8.83695 16.0117 9.17274 16.0117 9.58691V12.2617C16.0117 14.3327 14.3327 16.0117 12.2617 16.0117H3.75C1.67906 16.0116 3.34996e-05 14.3327 0 12.2617V3.75C2.53166e-05 1.67903 1.67905 0.000123593 3.75 0H6.16309ZM15.2393 0.0478516C15.6173 0.0862986 15.9129 0.405857 15.9131 0.793945V6.49512C15.9128 6.90893 15.5769 7.24485 15.1631 7.24512C14.749 7.24512 14.4123 6.90916 14.4121 6.49512L14.4131 2.60449L8.85156 8.16602C8.5587 8.45827 8.08374 8.45848 7.79102 8.16602C7.49837 7.8733 7.4987 7.39839 7.79102 7.10547L13.3525 1.54395H9.46191C9.04783 1.54385 8.71201 1.20802 8.71191 0.793945C8.71215 0.379989 9.04792 0.0450134 9.46191 0.0449219H15.1631L15.2393 0.0478516Z%22 fill=%22white%22/%3E%3C/svg%3E";
2
+
3
+ export { OpenIconWhite as default };
package/dist/index.d.ts CHANGED
@@ -58,7 +58,7 @@ type Props$b = {
58
58
  };
59
59
  declare function FullscreenCenter({ zIndex, lockBodyScroll, className, children }: Props$b): React$1.ReactPortal;
60
60
 
61
- type IconName = 'ogIcon' | 'switcher' | 'tick' | 'view' | 'viewHide' | 'open' | 'burger' | 'burgerClose' | 'arrowLongLeft' | 'catalog' | 'copyLink' | 'clapper' | 'clapperManage' | 'clapperCreate' | 'clock' | 'file' | 'filter' | 'profile' | 'settings' | 'cross' | 'edit' | 'mail' | 'location' | 'calendar' | 'behance' | 'imdb' | 'plus' | 'whatsapp' | 'vimeo' | 'instagram' | 'x' | 'tikTok' | 'linkedin' | 'delete' | 'save' | 'publish' | 'overflowmenu' | 'applicants' | 'search' | 'info' | 'play' | 'web' | 'table' | 'gallery' | 'warning' | 'duplicate' | 'logout';
61
+ type IconName = 'ogIcon' | 'switcher' | 'tick' | 'view' | 'viewHide' | 'open' | 'burger' | 'burgerClose' | 'arrowLongLeft' | 'catalog' | 'copy' | 'copyLink' | 'clapper' | 'clapperManage' | 'clapperCreate' | 'clock' | 'file' | 'filter' | 'profile' | 'settings' | 'cross' | 'edit' | 'mail' | 'location' | 'calendar' | 'behance' | 'imdb' | 'plus' | 'whatsapp' | 'vimeo' | 'instagram' | 'x' | 'tikTok' | 'linkedin' | 'delete' | 'save' | 'publish' | 'overflowmenu' | 'applicants' | 'search' | 'info' | 'play' | 'web' | 'table' | 'gallery' | 'warning' | 'duplicate' | 'logout';
62
62
  type IconVariant = 'default' | 'primary' | 'white' | 'success' | 'danger' | 'disabled';
63
63
  type IconProps = Omit<ImgHTMLAttributes<HTMLImageElement>, 'src'> & {
64
64
  name: IconName;
@@ -881,14 +881,14 @@ type DetailsViewProps = {
881
881
  open: boolean;
882
882
  onClose: () => void;
883
883
  headerLeft: ReactNode;
884
- headerRight?: ReactNode;
884
+ bottomBar?: ReactNode;
885
885
  children?: ReactNode;
886
886
  className?: string;
887
887
  loading?: boolean;
888
888
  isLoading?: boolean;
889
889
  loadingHeaderHeightClassName?: string;
890
890
  };
891
- declare function DetailsView({ open, onClose, headerLeft: navigation, headerRight, children, className, loading, isLoading, loadingHeaderHeightClassName, }: DetailsViewProps): react_jsx_runtime.JSX.Element | null;
891
+ declare function DetailsView({ open, onClose, headerLeft: navigation, bottomBar, children, className, loading, isLoading, loadingHeaderHeightClassName, }: DetailsViewProps): React$1.ReactPortal | null;
892
892
 
893
893
  type WizardProps = {
894
894
  children: ReactNode;
package/dist/styles.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
- @layer properties,theme,base,components,utilities;@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-950:oklch(28.3% .141 291.089);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-primary-white:#fff;--color-primary-black:#070707;--color-primary-light-grey:#f3f4f9;--color-primary-greenyellow:#aeff00;--color-primary-purple:#6f2df3;--color-secondary-white:#f8f8fe;--color-secondary-white-nav:#fafafa;--color-secondary-offwhite:#ebedfd;--color-secondary-outline:#e0e0e0;--color-secondary-gray:#73737d;--color-secondary-disabled-grey:#a1a3b2;--color-secondary-grey:#767680;--color-secondary-grey-fonts:#6c6e7c;--color-alert-error:#ef0c0c;--color-toast-default-bg:#f7f3ff;--color-toast-success-bg:#f1fff7;--color-toast-warning-bg:#fffbed;--color-toast-danger-bg:#fff0f0;--hover-color-primary:#8752f1;--hover-color-danger:#f84a4a;--hover-color-primary-outline:#8752f1;--hover-color-outline:#73737d;--font-inter:"Inter", sans-serif;--font-serif:"Source Serif 4", serif;--casting-status-draft:#a1a3b2;--casting-status-published:#008856;--casting-status-paused:#fdc200;--casting-status-closed:#ef0c0c;--casting-status-archived:#73737d;--casting-application-status-blank:#e9ebee;--casting-application-status-preselected:#0083e6;--casting-application-status-selected:#008856;--casting-application-status-not-proceeding:#ef0c0c;--casting-application-status-viewed:#a1a3b2}body{background-color:var(--color-primary-white);color:var(--color-primary-black);font-family:var(--font-inter);list-style-type:none}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.z-1000{z-index:1000}.z-\[20\]{z-index:20}.z-\[120\]{z-index:120}.z-\[140\]{z-index:140}.z-\[300\]{z-index:300}.z-\[999\]{z-index:999}.z-\[1000\]{z-index:1000}.z-\[1100\]{z-index:1100}.z-\[1200\]{z-index:1200}.col-\[1\]{grid-column:1}.col-\[2\]{grid-column:2}.container{width:100%}@media (min-width:28rem){.container{max-width:28rem}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-\[1px\]{margin-inline:1px}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-10{margin-block:calc(var(--spacing) * 10)}.my-auto{margin-block:auto}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[2px\]{margin-bottom:2px}.mb-\[10\%\]{margin-bottom:10%}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[8\/10\]{aspect-ratio:8/10}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-40{height:calc(var(--spacing) * 40)}.h-\[76px\]{height:76px}.h-\[90\%\]{height:90%}.h-\[100svh\]{height:100svh}.h-\[420px\]{height:420px}.h-\[440px\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[700px\]{max-height:700px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-6\.25{min-height:calc(var(--spacing) * 6.25)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-\[25px\]{min-height:25px}.min-h-\[100svh\]{min-height:100svh}.min-h-\[120px\]{min-height:120px}.min-h-\[180px\]{min-height:180px}.min-h-\[220px\]{min-height:220px}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-\[645px\]{min-height:645px}.min-h-\[calc\(var\(--app-vh\,1vh\)\*100\)\]{min-height:calc(var(--app-vh,1vh) * 100)}.min-h-\[min\(645px\,100\%\)\]{min-height:min(645px,100%)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-48{width:calc(var(--spacing) * 48)}.w-\[24px\]{width:24px}.w-\[72px\]{width:72px}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[100svw\]{width:100svw}.w-\[120px\]{width:120px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[320px\]{width:320px}.w-\[720px\]{width:720px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[330px\]{max-width:330px}.max-w-\[350px\]{max-width:350px}.max-w-\[460px\]{max-width:460px}.max-w-\[550px\]{max-width:550px}.max-w-\[600px\]{max-width:600px}.max-w-\[1366px\]{max-width:1366px}.max-w-\[1500px\]{max-width:1500px}.max-w-\[1650px\]{max-width:1650px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-\[168px\]{min-width:168px}.min-w-\[210px\]{min-width:210px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.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-\[1fr_130px\]{grid-template-columns:1fr 130px}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[10px\]{gap:10px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-20{column-gap:calc(var(--spacing) * 20)}.gap-y-14{row-gap:calc(var(--spacing) * 14)}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-primary-black\){border-color:var(--color-primary-black)}.border-\(--color-primary-purple\){border-color:var(--color-primary-purple)}.border-\(--color-secondary-outline\){border-color:var(--color-secondary-outline)}.border-\[var\(--color-primary-light-grey\)\]{border-color:var(--color-primary-light-grey)}.border-\[var\(--color-secondary-outline\)\]{border-color:var(--color-secondary-outline)}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-red-500{border-color:var(--color-red-500)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-zinc-200{border-color:var(--color-zinc-200)}.bg-\(--color-alert-error\){background-color:var(--color-alert-error)}.bg-\(--color-primary-black\){background-color:var(--color-primary-black)}.bg-\(--color-primary-light-grey\){background-color:var(--color-primary-light-grey)}.bg-\(--color-primary-purple\){background-color:var(--color-primary-purple)}.bg-\(--color-primary-white\){background-color:var(--color-primary-white)}.bg-\(--color-secondary-disabled-grey\){background-color:var(--color-secondary-disabled-grey)}.bg-\(--color-secondary-offwhite\){background-color:var(--color-secondary-offwhite)}.bg-\(--color-secondary-outline\){background-color:var(--color-secondary-outline)}.bg-\(--color-secondary-white\){background-color:var(--color-secondary-white)}.bg-\(--color-toast-danger-bg\){background-color:var(--color-toast-danger-bg)}.bg-\(--color-toast-default-bg\){background-color:var(--color-toast-default-bg)}.bg-\(--color-toast-success-bg\){background-color:var(--color-toast-success-bg)}.bg-\(--color-toast-warning-bg\){background-color:var(--color-toast-warning-bg)}.bg-\[var\(--color-primary-light-grey\)\]{background-color:var(--color-primary-light-grey)}.bg-\[var\(--color-primary-purple\)\]{background-color:var(--color-primary-purple)}.bg-\[var\(--color-primary-white\)\]{background-color:var(--color-primary-white)}.bg-\[var\(--color-secondary-white\)\]{background-color:var(--color-secondary-white)}.bg-\[var\(--primary-color-white\)\]{background-color:var(--primary-color-white)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-inherit{background-color:inherit}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-zinc-100{--tw-gradient-from:var(--color-zinc-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-violet-100{--tw-gradient-to:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-\[var\(--color-primary-black\)\]{fill:var(--color-primary-black)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-\(--color-alert-error\){color:var(--color-alert-error)}.text-\(--color-primary-black\){color:var(--color-primary-black)}.text-\(--color-primary-purple\){color:var(--color-primary-purple)}.text-\(--color-primary-white\){color:var(--color-primary-white)}.text-\(--color-secondary-gray\){color:var(--color-secondary-gray)}.text-\(--color-secondary-grey\){color:var(--color-secondary-grey)}.text-\(--color-secondary-grey-fonts\){color:var(--color-secondary-grey-fonts)}.text-\[var\(--color-primary-black\)\]{color:var(--color-primary-black)}.text-\[var\(--color-primary-purple\)\]{color:var(--color-primary-purple)}.text-\[var\(--color-secondary-grey\)\]{color:var(--color-secondary-grey)}.text-\[var\(--color-secondary-grey-fonts\)\]{color:var(--color-secondary-grey-fonts)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-neutral-600{color:var(--color-neutral-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-violet-950{color:var(--color-violet-950)}.text-violet-950\/80{color:#2f0d68cc}@supports (color:color-mix(in lab, red, red)){.text-violet-950\/80{color:color-mix(in oklab, var(--color-violet-950) 80%, transparent)}}.text-white{color:var(--color-white)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-4px_12px_rgba\(0\,0\,0\,0\.07\)\]{--tw-shadow:0 -4px 12px var(--tw-shadow-color,#00000012);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_14px_rgba\(16\,24\,40\,0\.06\)\]{--tw-shadow:0 4px 14px var(--tw-shadow-color,#1018280f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_80px_-40px_rgba\(15\,23\,42\,0\.35\)\]{--tw-shadow:0 24px 80px -40px var(--tw-shadow-color,#0f172a59);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--color-secondary-outline\)\]{--tw-ring-color:var(--color-secondary-outline)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}.peer-checked\:scale-100:is(:where(.peer):checked~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.peer-checked\:opacity-100:is(:where(.peer):checked~*){opacity:1}.placeholder\:text-base::placeholder{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.placeholder\:text-sm::placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.placeholder\:font-light::placeholder{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.placeholder\:font-normal::placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\:text-\(--color-secondary-grey\)::placeholder,.placeholder\:text-\[var\(--color-secondary-grey\)\]::placeholder{color:var(--color-secondary-grey)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\:border-\(--color-primary-purple\):checked,.checked\:border-\[var\(--color-primary-purple\)\]:checked{border-color:var(--color-primary-purple)}.checked\:bg-\[var\(--color-primary-white\)\]:checked{background-color:var(--color-primary-white)}@media (hover:hover){.hover\:border-\(--color-primary-purple\):hover{border-color:var(--color-primary-purple)}.hover\:border-\(--hover-color-outline\):hover{border-color:var(--hover-color-outline)}.hover\:border-\(--hover-color-primary-outline\):hover{border-color:var(--hover-color-primary-outline)}.hover\:bg-\(--color-secondary-white\):hover{background-color:var(--color-secondary-white)}.hover\:bg-\(--hover-color-danger\):hover{background-color:var(--hover-color-danger)}.hover\:bg-\(--hover-color-primary\):hover{background-color:var(--hover-color-primary)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\(--color-primary-purple\):hover{color:var(--color-primary-purple)}.hover\:text-\(--hover-color-outline\):hover{color:var(--hover-color-outline)}.hover\:text-\(--hover-color-primary-outline\):hover{color:var(--hover-color-primary-outline)}.hover\:text-\[var\(--color-primary-purple\)\]:hover{color:var(--color-primary-purple)}}.focus\:border-0:focus{border-style:var(--tw-border-style);border-width:0}.focus\:border-\(--color-primary-black\):focus{border-color:var(--color-primary-black)}.focus\:border-\(--color-primary-purple\):focus{border-color:var(--color-primary-purple)}.focus\:border-\[var\(--color-primary-black\)\]:focus{border-color:var(--color-primary-black)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\(--color-primary-purple\):focus{--tw-ring-color:var(--color-primary-purple)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\(--color-secondary-offwhite\):disabled,.disabled\:bg-\[var\(--color-secondary-offwhite\)\]:disabled{background-color:var(--color-secondary-offwhite)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-inherit:disabled:hover{color:inherit}}@media (min-width:40rem){.sm\:top-6{top:calc(var(--spacing) * 6)}.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:bottom-6{bottom:calc(var(--spacing) * 6)}.sm\:left-6{left:calc(var(--spacing) * 6)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}}@media (min-width:48rem){.md\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:z-10{z-index:10}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-10{height:calc(var(--spacing) * 10)}.lg\:h-\[100dvh\]{height:100dvh}.lg\:h-full{height:100%}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:min-h-\[100dvh\]{min-height:100dvh}.lg\:w-10{width:calc(var(--spacing) * 10)}.lg\:w-\[100dvw\]{width:100dvw}.lg\:w-\[350px\]{width:350px}.lg\:max-w-\[250px\]{max-width:250px}.lg\:max-w-\[350px\]{max-width:350px}.lg\:min-w-\[250px\]{min-width:250px}.lg\:flex-1{flex:1}.lg\:basis-\[250px\]{flex-basis:250px}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:overflow-hidden{overflow:hidden}.lg\:p-0{padding:calc(var(--spacing) * 0)}.lg\:px-4{padding-inline:calc(var(--spacing) * 4)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:py-0{padding-block:calc(var(--spacing) * 0)}.lg\:py-2{padding-block:calc(var(--spacing) * 2)}.lg\:py-6{padding-block:calc(var(--spacing) * 6)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pl-4{padding-left:calc(var(--spacing) * 4)}.lg\:text-\[14px\]{font-size:14px}}@media not all and (min-width:40rem){.max-sm\:\[\&_\.modal-actions\]\:flex-col .modal-actions{flex-direction:column}.max-sm\:\[\&_\.modal-actions\]\:items-stretch .modal-actions{align-items:stretch}.max-sm\:\[\&_\.modal-actions_\.modal-action\]\:w-full .modal-actions .modal-action{width:100%}}.\[\&\>\*\]\:w-full>*{width:100%}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:auto}.scrollbar-hide::-webkit-scrollbar{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}
2
+ @layer properties,theme,base,components,utilities;@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-950:oklch(28.3% .141 291.089);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--color-primary-white:#fff;--color-primary-black:#070707;--color-primary-light-grey:#f3f4f9;--color-primary-greenyellow:#aeff00;--color-primary-purple:#6f2df3;--color-secondary-white:#f8f8fe;--color-secondary-white-nav:#fafafa;--color-secondary-offwhite:#ebedfd;--color-secondary-outline:#e0e0e0;--color-secondary-gray:#73737d;--color-secondary-disabled-grey:#a1a3b2;--color-secondary-grey:#767680;--color-secondary-grey-fonts:#6c6e7c;--color-alert-error:#ef0c0c;--color-toast-default-bg:#f7f3ff;--color-toast-success-bg:#f1fff7;--color-toast-warning-bg:#fffbed;--color-toast-danger-bg:#fff0f0;--hover-color-primary:#8752f1;--hover-color-danger:#f84a4a;--hover-color-primary-outline:#8752f1;--hover-color-outline:#73737d;--font-inter:"Inter", sans-serif;--font-serif:"Source Serif 4", serif;--casting-status-draft:#a1a3b2;--casting-status-published:#008856;--casting-status-paused:#fdc200;--casting-status-closed:#ef0c0c;--casting-status-archived:#73737d;--casting-application-status-blank:#e9ebee;--casting-application-status-preselected:#0083e6;--casting-application-status-selected:#008856;--casting-application-status-not-proceeding:#ef0c0c;--casting-application-status-viewed:#a1a3b2}body{background-color:var(--color-primary-white);color:var(--color-primary-black);font-family:var(--font-inter);list-style-type:none}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-\[10px\]{top:10px}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.right-\[10px\]{right:10px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\[10px\]{bottom:10px}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.left-\[10px\]{left:10px}.z-0{z-index:0}.z-2{z-index:2}.z-4{z-index:4}.z-10{z-index:10}.z-50{z-index:50}.z-200{z-index:200}.z-1000{z-index:1000}.z-\[20\]{z-index:20}.z-\[120\]{z-index:120}.z-\[300\]{z-index:300}.z-\[999\]{z-index:999}.z-\[1000\]{z-index:1000}.z-\[1100\]{z-index:1100}.z-\[1200\]{z-index:1200}.col-\[1\]{grid-column:1}.col-\[2\]{grid-column:2}.container{width:100%}@media (min-width:28rem){.container{max-width:28rem}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-\[1px\]{margin-inline:1px}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-10{margin-block:calc(var(--spacing) * 10)}.my-auto{margin-block:auto}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[2px\]{margin-bottom:2px}.mb-\[10\%\]{margin-bottom:10%}.ml-1{margin-left:calc(var(--spacing) * 1)}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[8\/10\]{aspect-ratio:8/10}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-40{height:calc(var(--spacing) * 40)}.h-\[76px\]{height:76px}.h-\[90\%\]{height:90%}.h-\[100svh\]{height:100svh}.h-\[420px\]{height:420px}.h-\[440px\]{height:440px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[700px\]{max-height:700px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-6\.25{min-height:calc(var(--spacing) * 6.25)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-\[25px\]{min-height:25px}.min-h-\[100svh\]{min-height:100svh}.min-h-\[120px\]{min-height:120px}.min-h-\[180px\]{min-height:180px}.min-h-\[220px\]{min-height:220px}.min-h-\[280px\]{min-height:280px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.min-h-\[645px\]{min-height:645px}.min-h-\[calc\(var\(--app-vh\,1vh\)\*100\)\]{min-height:calc(var(--app-vh,1vh) * 100)}.min-h-\[min\(645px\,100\%\)\]{min-height:min(645px,100%)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-48{width:calc(var(--spacing) * 48)}.w-\[24px\]{width:24px}.w-\[72px\]{width:72px}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[100svw\]{width:100svw}.w-\[120px\]{width:120px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[320px\]{width:320px}.w-\[720px\]{width:720px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[330px\]{max-width:330px}.max-w-\[350px\]{max-width:350px}.max-w-\[460px\]{max-width:460px}.max-w-\[550px\]{max-width:550px}.max-w-\[600px\]{max-width:600px}.max-w-\[1366px\]{max-width:1366px}.max-w-\[1500px\]{max-width:1500px}.max-w-\[1650px\]{max-width:1650px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-\[168px\]{min-width:168px}.min-w-\[210px\]{min-width:210px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.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-\[1fr_130px\]{grid-template-columns:1fr 130px}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[10px\]{gap:10px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-20{column-gap:calc(var(--spacing) * 20)}.gap-y-14{row-gap:calc(var(--spacing) * 14)}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-primary-black\){border-color:var(--color-primary-black)}.border-\(--color-primary-purple\){border-color:var(--color-primary-purple)}.border-\(--color-secondary-outline\){border-color:var(--color-secondary-outline)}.border-\[var\(--color-primary-light-grey\)\]{border-color:var(--color-primary-light-grey)}.border-\[var\(--color-secondary-outline\)\]{border-color:var(--color-secondary-outline)}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-red-500{border-color:var(--color-red-500)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-zinc-200{border-color:var(--color-zinc-200)}.bg-\(--color-alert-error\){background-color:var(--color-alert-error)}.bg-\(--color-primary-black\){background-color:var(--color-primary-black)}.bg-\(--color-primary-light-grey\){background-color:var(--color-primary-light-grey)}.bg-\(--color-primary-purple\){background-color:var(--color-primary-purple)}.bg-\(--color-primary-white\){background-color:var(--color-primary-white)}.bg-\(--color-secondary-disabled-grey\){background-color:var(--color-secondary-disabled-grey)}.bg-\(--color-secondary-offwhite\){background-color:var(--color-secondary-offwhite)}.bg-\(--color-secondary-outline\){background-color:var(--color-secondary-outline)}.bg-\(--color-secondary-white\){background-color:var(--color-secondary-white)}.bg-\(--color-toast-danger-bg\){background-color:var(--color-toast-danger-bg)}.bg-\(--color-toast-default-bg\){background-color:var(--color-toast-default-bg)}.bg-\(--color-toast-success-bg\){background-color:var(--color-toast-success-bg)}.bg-\(--color-toast-warning-bg\){background-color:var(--color-toast-warning-bg)}.bg-\[var\(--color-primary-light-grey\)\]{background-color:var(--color-primary-light-grey)}.bg-\[var\(--color-primary-purple\)\]{background-color:var(--color-primary-purple)}.bg-\[var\(--color-primary-white\)\]{background-color:var(--color-primary-white)}.bg-\[var\(--color-secondary-white\)\]{background-color:var(--color-secondary-white)}.bg-\[var\(--primary-color-white\)\]{background-color:var(--primary-color-white)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-inherit{background-color:inherit}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.from-zinc-100{--tw-gradient-from:var(--color-zinc-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-violet-100{--tw-gradient-to:var(--color-violet-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-\[var\(--color-primary-black\)\]{fill:var(--color-primary-black)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-\(--color-alert-error\){color:var(--color-alert-error)}.text-\(--color-primary-black\){color:var(--color-primary-black)}.text-\(--color-primary-purple\){color:var(--color-primary-purple)}.text-\(--color-primary-white\){color:var(--color-primary-white)}.text-\(--color-secondary-gray\){color:var(--color-secondary-gray)}.text-\(--color-secondary-grey\){color:var(--color-secondary-grey)}.text-\(--color-secondary-grey-fonts\){color:var(--color-secondary-grey-fonts)}.text-\[var\(--color-primary-black\)\]{color:var(--color-primary-black)}.text-\[var\(--color-primary-purple\)\]{color:var(--color-primary-purple)}.text-\[var\(--color-secondary-grey\)\]{color:var(--color-secondary-grey)}.text-\[var\(--color-secondary-grey-fonts\)\]{color:var(--color-secondary-grey-fonts)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-neutral-600{color:var(--color-neutral-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-violet-950{color:var(--color-violet-950)}.text-violet-950\/80{color:#2f0d68cc}@supports (color:color-mix(in lab, red, red)){.text-violet-950\/80{color:color-mix(in oklab, var(--color-violet-950) 80%, transparent)}}.text-white{color:var(--color-white)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-2px_3px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 -2px 3px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_-4px_12px_rgba\(0\,0\,0\,0\.07\)\]{--tw-shadow:0 -4px 12px var(--tw-shadow-color,#00000012);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_80px_-40px_rgba\(15\,23\,42\,0\.35\)\]{--tw-shadow:0 24px 80px -40px var(--tw-shadow-color,#0f172a59);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--color-secondary-outline\)\]{--tw-ring-color:var(--color-secondary-outline)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}.peer-checked\:scale-100:is(:where(.peer):checked~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.peer-checked\:opacity-100:is(:where(.peer):checked~*){opacity:1}.placeholder\:text-base::placeholder{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.placeholder\:text-sm::placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.placeholder\:font-light::placeholder{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.placeholder\:font-normal::placeholder{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.placeholder\:text-\(--color-secondary-grey\)::placeholder,.placeholder\:text-\[var\(--color-secondary-grey\)\]::placeholder{color:var(--color-secondary-grey)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\:border-\(--color-primary-purple\):checked,.checked\:border-\[var\(--color-primary-purple\)\]:checked{border-color:var(--color-primary-purple)}.checked\:bg-\[var\(--color-primary-white\)\]:checked{background-color:var(--color-primary-white)}@media (hover:hover){.hover\:border-\(--color-primary-purple\):hover{border-color:var(--color-primary-purple)}.hover\:border-\(--hover-color-outline\):hover{border-color:var(--hover-color-outline)}.hover\:border-\(--hover-color-primary-outline\):hover{border-color:var(--hover-color-primary-outline)}.hover\:bg-\(--color-secondary-white\):hover{background-color:var(--color-secondary-white)}.hover\:bg-\(--hover-color-danger\):hover{background-color:var(--hover-color-danger)}.hover\:bg-\(--hover-color-primary\):hover{background-color:var(--hover-color-primary)}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\(--color-primary-purple\):hover{color:var(--color-primary-purple)}.hover\:text-\(--hover-color-outline\):hover{color:var(--hover-color-outline)}.hover\:text-\(--hover-color-primary-outline\):hover{color:var(--hover-color-primary-outline)}.hover\:text-\[var\(--color-primary-purple\)\]:hover{color:var(--color-primary-purple)}}.focus\:border-0:focus{border-style:var(--tw-border-style);border-width:0}.focus\:border-\(--color-primary-black\):focus{border-color:var(--color-primary-black)}.focus\:border-\(--color-primary-purple\):focus{border-color:var(--color-primary-purple)}.focus\:border-\[var\(--color-primary-black\)\]:focus{border-color:var(--color-primary-black)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\(--color-primary-purple\):focus{--tw-ring-color:var(--color-primary-purple)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-\(--color-secondary-offwhite\):disabled,.disabled\:bg-\[var\(--color-secondary-offwhite\)\]:disabled{background-color:var(--color-secondary-offwhite)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-inherit:disabled:hover{color:inherit}}@media (min-width:40rem){.sm\:top-6{top:calc(var(--spacing) * 6)}.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:bottom-6{bottom:calc(var(--spacing) * 6)}.sm\:left-6{left:calc(var(--spacing) * 6)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-6{padding:calc(var(--spacing) * 6)}}@media (min-width:48rem){.md\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:left-auto{left:auto}.lg\:z-20{z-index:20}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-10{height:calc(var(--spacing) * 10)}.lg\:h-\[100dvh\]{height:100dvh}.lg\:h-full{height:100%}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:min-h-\[100dvh\]{min-height:100dvh}.lg\:w-10{width:calc(var(--spacing) * 10)}.lg\:w-\[100dvw\]{width:100dvw}.lg\:w-\[365px\]{width:365px}.lg\:w-full{width:100%}.lg\:max-w-\[250px\]{max-width:250px}.lg\:max-w-\[350px\]{max-width:350px}.lg\:max-w-\[550px\]{max-width:550px}.lg\:min-w-\[250px\]{min-width:250px}.lg\:flex-1{flex:1}.lg\:basis-\[250px\]{flex-basis:250px}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:items-stretch{align-items:stretch}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:overflow-hidden{overflow:hidden}.lg\:p-0{padding:calc(var(--spacing) * 0)}.lg\:px-4{padding-inline:calc(var(--spacing) * 4)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:py-0{padding-block:calc(var(--spacing) * 0)}.lg\:py-2{padding-block:calc(var(--spacing) * 2)}.lg\:py-6{padding-block:calc(var(--spacing) * 6)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pl-4{padding-left:calc(var(--spacing) * 4)}.lg\:text-\[14px\]{font-size:14px}}@media not all and (min-width:40rem){.max-sm\:\[\&_\.modal-actions\]\:flex-col .modal-actions{flex-direction:column}.max-sm\:\[\&_\.modal-actions\]\:items-stretch .modal-actions{align-items:stretch}.max-sm\:\[\&_\.modal-actions_\.modal-action\]\:w-full .modal-actions .modal-action{width:100%}}.\[\&\>\*\]\:w-full>*{width:100%}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:auto}.scrollbar-hide::-webkit-scrollbar{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autocasting-ui-library-padimasso",
3
- "version": "1.6.5",
3
+ "version": "1.6.7",
4
4
  "description": "UI Library para el ecosistema de Auto Casting by Padimasso",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@ export default function ButtonRow({ items, className, innerClassName }: ButtonRo
14
14
  <div className={clsx('flex items-center justify-center', className)}>
15
15
  <div
16
16
  className={clsx(
17
- 'inline-flex items-center justify-center rounded-lg bg-white h-11 px-3.5 border border-(--color-secondary-outline)',
17
+ 'inline-flex items-center justify-center rounded-xl bg-white h-11 px-3.5 border border-(--color-secondary-outline)',
18
18
  innerClassName
19
19
  )}
20
20
  >
@@ -34,7 +34,7 @@ export default function IconViewSwitcher<T extends IconName>({
34
34
  role="tablist"
35
35
  aria-orientation="horizontal"
36
36
  className={clsx(
37
- 'inline-flex items-center justify-center rounded-2xl bg-white shadow-sm h-11 p-1',
37
+ 'inline-flex items-center justify-center rounded-xl bg-white shadow-sm h-11 p-1',
38
38
  innerClassName
39
39
  )}
40
40
  >
@@ -26,6 +26,8 @@ import ClockIconPurple from '../../../../icons/clock-purple.svg';
26
26
  import ClockIcon from '../../../../icons/clock.svg';
27
27
  import CopyLinkIconDisabled from '../../../../icons/copy-link-disabled.svg';
28
28
  import CopyLinkIconPurple from '../../../../icons/copy-link-purple.svg';
29
+ import CopyIcon from '../../../../icons/copy.svg';
30
+ import CopyIconPurple from '../../../../icons/copy-purple.svg';
29
31
  import CopyLinkIcon from '../../../../icons/copy-link.svg';
30
32
  import CrossIconPurple from '../../../../icons/cross-purple.svg';
31
33
  import CrossIcon from '../../../../icons/cross.svg';
@@ -54,6 +56,7 @@ import MailIcon from '../../../../icons/message.svg';
54
56
  import OGIcon from '../../../../icons/og-image.svg';
55
57
  import OpenIconDisabled from '../../../../icons/open-disabled.svg';
56
58
  import OpenIconPurple from '../../../../icons/open-purple.svg';
59
+ import OpenIconWhite from '../../../../icons/open-white.svg';
57
60
  import OpenIcon from '../../../../icons/open.svg';
58
61
  import OverflowMenuIconPurple from '../../../../icons/overflowmenu-purple.svg';
59
62
  import OverflowMenuIcon from '../../../../icons/overflowmenu.svg';
@@ -111,6 +114,7 @@ export type IconName =
111
114
  | 'burgerClose'
112
115
  | 'arrowLongLeft'
113
116
  | 'catalog'
117
+ | 'copy'
114
118
  | 'copyLink'
115
119
  | 'clapper'
116
120
  | 'clapperManage'
@@ -178,6 +182,7 @@ const ICONS: Record<IconName, BaseIconConfig> = {
178
182
  default: OpenIcon,
179
183
  primary: OpenIconPurple,
180
184
  disabled: OpenIconDisabled,
185
+ white: OpenIconWhite,
181
186
  },
182
187
  burger: {
183
188
  default: BurgerIcon,
@@ -211,6 +216,10 @@ const ICONS: Record<IconName, BaseIconConfig> = {
211
216
  default: CrossIcon,
212
217
  primary: CrossIconPurple,
213
218
  },
219
+ copy: {
220
+ default: CopyIcon,
221
+ primary: CopyIconPurple,
222
+ },
214
223
  copyLink: {
215
224
  default: CopyLinkIcon,
216
225
  primary: CopyLinkIconPurple,
@@ -14,7 +14,7 @@ export default function TagChip({ label, onRemove, newItem = false, className, s
14
14
  return (
15
15
  <span
16
16
  className={clsx(
17
- 'inline-flex items-center gap-2 rounded-full border-1 bg-(--color-primary-white) px-4 py-1 text-sm lg:text-[14px]',
17
+ 'inline-flex items-center gap-2 rounded-full border-1 bg-(--color-primary-white) px-3.5 py-1 text-sm',
18
18
  newItem
19
19
  ? 'border-(--color-primary-purple) text-(--color-primary-purple)'
20
20
  : 'border-(--color-secondary-outline) text-(--color-secondary-grey-fonts)',
@@ -23,7 +23,7 @@ export default function TagChip({ label, onRemove, newItem = false, className, s
23
23
  style={style}
24
24
  >
25
25
  <span>{label}</span>
26
- {onRemove && <Icon name="cross" variant={newItem ? 'primary' : 'default'} size={11} onClick={onRemove} />}
26
+ {onRemove && <Icon name="cross" variant={newItem ? 'primary' : 'default'} size={10} onClick={onRemove} />}
27
27
  </span>
28
28
  );
29
29
  }
@@ -59,7 +59,7 @@ export default function Toast({
59
59
  data-toast-part="root"
60
60
  role={role ?? (type === 'danger' ? 'alert' : 'status')}
61
61
  className={clsx(
62
- 'flex flex-row items-center w-full gap-3 rounded-lg p-3 shadow-md max-w-[330px]',
62
+ 'flex w-full max-w-[330px] flex-row items-center gap-3 rounded-lg p-3 shadow-md',
63
63
  styles.container,
64
64
  className
65
65
  )}
@@ -60,10 +60,12 @@ function registerToastApi(api: ToastContextValue) {
60
60
 
61
61
  function ToastViewportItem({
62
62
  toast,
63
+ position,
63
64
  toastClassName,
64
65
  onDismiss,
65
66
  }: {
66
67
  toast: ToastRecord;
68
+ position: ToastPosition;
67
69
  toastClassName?: string;
68
70
  onDismiss: (id: string) => void;
69
71
  }) {
@@ -80,7 +82,13 @@ function ToastViewportItem({
80
82
  }, [onDismiss, toast.durationMs, toast.id]);
81
83
 
82
84
  return (
83
- <div className="pointer-events-auto w-full">
85
+ <div
86
+ className={clsx('pointer-events-auto flex w-full', {
87
+ 'justify-start': position === 'top-left' || position === 'bottom-left',
88
+ 'justify-center': position === 'top-center' || position === 'bottom-center',
89
+ 'justify-end': position === 'top-right' || position === 'bottom-right',
90
+ })}
91
+ >
84
92
  <Toast
85
93
  title={toast.title}
86
94
  description={toast.description}
@@ -207,6 +215,7 @@ export function ToastProvider({
207
215
  <ToastViewportItem
208
216
  key={toast.id}
209
217
  toast={toast}
218
+ position={position}
210
219
  toastClassName={toastClassName}
211
220
  onDismiss={dismissToastInternal}
212
221
  />
@@ -240,7 +240,7 @@ const UploadTile = forwardRef<HTMLDivElement, UploadTileProps>(function UploadTi
240
240
  {hasImage && !busy && (
241
241
  <div
242
242
  className={clsx(
243
- 'absolute left-0 right-0 bottom-0 px-3 py-2 lg:px-4 lg:py-2 bg-black/45 z-10 pointer-events-auto',
243
+ 'absolute left-0 right-0 bottom-0 px-3 py-2 lg:px-4 lg:py-2 bg-black/45 z-2 pointer-events-auto',
244
244
  roundedClassName,
245
245
  classes?.actionsBar
246
246
  )}
@@ -69,20 +69,20 @@ type DashboardShellTitleProps = {
69
69
  title?: ReactNode;
70
70
  actions?: ReactNode;
71
71
  className?: string;
72
+ size?: 'lg' | 'xl';
72
73
  };
73
74
 
74
- export function DashboardShellTitle({ title, actions, className }: DashboardShellTitleProps) {
75
+ export function DashboardShellTitle({ title, actions, className, size = 'lg' }: DashboardShellTitleProps) {
75
76
  if (!title && !actions) return null;
76
77
 
78
+ const titleClassName =
79
+ size === 'xl'
80
+ ? 'text-2xl font-bold text-(--color-primary-black) leading-tight'
81
+ : 'text-lg font-bold text-(--color-primary-black) leading-tight';
82
+
77
83
  return (
78
84
  <header className={['w-full flex items-center justify-between', className ?? ''].filter(Boolean).join(' ')}>
79
- <div className="min-w-0">
80
- {typeof title === 'string' ? (
81
- <h1 className="text-lg font-bold text-(--color-primary-black) leading-tight">{title}</h1>
82
- ) : (
83
- title
84
- )}
85
- </div>
85
+ <div className="min-w-0">{typeof title === 'string' ? <h1 className={titleClassName}>{title}</h1> : title}</div>
86
86
  {actions && <div className="shrink-0 flex items-center gap-3">{actions}</div>}
87
87
  </header>
88
88
  );
@@ -250,12 +250,16 @@ function DashboardShell<Key extends string = string>({
250
250
 
251
251
  const desktopSectionContent = currentSection && (
252
252
  <div className="flex w-full flex-col gap-4 lg:h-full lg:min-h-0">
253
- {contentHeader}
253
+ {contentHeader ? <div className="relative z-4">{contentHeader}</div> : null}
254
254
  {sectionUsesShellLayout ? (
255
255
  <article className="flex flex-1 min-h-0 flex-col overflow-hidden rounded-xl border border-(--color-secondary-outline) bg-(--color-primary-white)">
256
256
  <div ref={contentScrollRef} className="flex-1 min-h-0 overflow-y-auto">
257
- <header className="h-[76px] shrink-0 border-b border-(--color-secondary-outline) px-6 flex items-center lg:sticky lg:top-0 lg:z-10 bg-(--color-primary-white)">
258
- <DashboardShellTitle title={currentSection.sectionTitle} actions={currentSection.sectionActions} />
257
+ <header className="h-[76px] shrink-0 border-b border-(--color-secondary-outline) px-6 flex items-center lg:sticky lg:top-0 lg:z-20 bg-(--color-primary-white)">
258
+ <DashboardShellTitle
259
+ title={currentSection.sectionTitle}
260
+ actions={currentSection.sectionActions}
261
+ size="lg"
262
+ />
259
263
  </header>
260
264
  <div className="p-6">{currentSection.render()}</div>
261
265
  </div>
@@ -288,40 +292,45 @@ function DashboardShell<Key extends string = string>({
288
292
  <section className="w-full bg-(--color-secondary-white) relative">
289
293
  <div className={['w-full max-w-[550px] mx-auto', bottomPad].filter(Boolean).join(' ')}>
290
294
  {title && typeof title === 'string' && (
291
- <h1 className="my-6 text-2xl font-semibold text-(--color-primary-black) text-center">{title}</h1>
295
+ <h1 className="my-6 text-xl font-semibold text-(--color-primary-black) text-center">{title}</h1>
292
296
  )}
293
297
  {title && typeof title !== 'string' && <div className="my-6">{title}</div>}
294
298
 
295
299
  {/* Mobile: Buttons per Section */}
296
- <div className="w-full bg-(--color-primary-white) rounded-xl border border-(--color-secondary-outline) shadow-[0_4px_14px_rgba(16,24,40,0.06)] overflow-hidden">
297
- {sections!.map((item, index) => {
300
+ <div className="flex w-[90%] m-auto flex-col gap-2">
301
+ {sections!.map((item) => {
298
302
  const hasNestedMobileList = Boolean(item.menuAction && item.menuItems);
299
303
  const nestedMobileEntries = hasNestedMobileList ? getNestedSectionEntries(item) : [];
300
304
 
301
- return (
302
- <div
303
- key={item.key}
304
- className={index !== sections!.length - 1 ? 'border-b border-(--color-secondary-outline)' : ''}
305
- >
306
- <button
307
- type="button"
308
- onClick={() => activateSection(item)}
309
- className="cursor-pointer w-full flex items-center justify-between px-6 py-4 text-[15px] leading-5 font-medium"
305
+ if (hasNestedMobileList) {
306
+ return (
307
+ <div
308
+ key={item.key}
309
+ className="rounded-xl border overflow-hidden border-(--color-secondary-outline) bg-(--color-primary-white) text-(--color-primary-black)"
310
310
  >
311
- <span>{item.label}</span>
312
- <ChevronRight sizePx={24} />
313
- </button>
311
+ <button
312
+ type="button"
313
+ onClick={() => activateSection(item)}
314
+ className="flex items-center justify-between gap-2 rounded-none border-none px-5 pt-5 pb-2 text-sm font-semibold cursor-pointer w-full text-left"
315
+ >
316
+ <span className="flex items-center gap-2">
317
+ {item.icon && <span className="w-5 h-5">{item.icon}</span>}
318
+ <span>{item.label}</span>
319
+ </span>
320
+ <span className="text-(--color-primary-black)">
321
+ <ChevronRight sizePx={24} />
322
+ </span>
323
+ </button>
314
324
 
315
- {hasNestedMobileList ? (
316
- <div className="flex flex-col px-2 pb-3">
325
+ <div className="flex flex-col px-2 pb-4">
317
326
  {nestedMobileEntries.map((entry) => (
318
- <div key={entry.key} className="flex items-center gap-2 px-4 py-2">
327
+ <div key={entry.key} className="flex items-center rounded-xl px-4 py-2">
319
328
  <button
320
329
  type="button"
321
330
  onClick={entry.onClick}
322
- className="cursor-pointer min-w-0 flex-1 text-left text-[15px] leading-5 font-medium"
331
+ className="cursor-pointer min-w-0 flex-1 text-left text-(--color-primary-black)"
323
332
  >
324
- <span className="block truncate">{entry.label}</span>
333
+ <span className="block truncate text-sm leading-none font-semibold">{entry.label}</span>
325
334
  </button>
326
335
  {entry.leadingIconName ? (
327
336
  <button
@@ -330,7 +339,7 @@ function DashboardShell<Key extends string = string>({
330
339
  aria-label={typeof entry.label === 'string' ? entry.label : undefined}
331
340
  className="cursor-pointer inline-flex items-center justify-center"
332
341
  >
333
- <Icon name={entry.leadingIconName} size={14} />
342
+ <Icon name={entry.leadingIconName} size={14} variant="default" />
334
343
  </button>
335
344
  ) : null}
336
345
  {entry.overflowMenuItems && entry.overflowMenuItems.length > 0 ? (
@@ -344,8 +353,25 @@ function DashboardShell<Key extends string = string>({
344
353
  </div>
345
354
  ))}
346
355
  </div>
347
- ) : null}
348
- </div>
356
+ </div>
357
+ );
358
+ }
359
+
360
+ return (
361
+ <button
362
+ key={item.key}
363
+ type="button"
364
+ onClick={() => activateSection(item)}
365
+ className="flex items-center justify-between gap-2 rounded-xl border border-(--color-secondary-outline) bg-(--color-primary-white) px-5 py-5 text-sm font-semibold text-(--color-primary-black) cursor-pointer w-full text-left"
366
+ >
367
+ <span className="flex items-center gap-2">
368
+ {item.icon && <span className="w-5 h-5">{item.icon}</span>}
369
+ <span>{item.label}</span>
370
+ </span>
371
+ <span className="text-(--color-primary-black)">
372
+ <ChevronRight sizePx={24} />
373
+ </span>
374
+ </button>
349
375
  );
350
376
  })}
351
377
  </div>
@@ -379,7 +405,7 @@ function DashboardShell<Key extends string = string>({
379
405
  >
380
406
  {/* Desktop Title */}
381
407
  <div className="w-full shrink-0">
382
- {isDesktop && <DashboardShellTitle title={title} actions={titleActions} className="pb-4" />}
408
+ {isDesktop && <DashboardShellTitle title={title} actions={titleActions} className="pb-4" size="xl" />}
383
409
  </div>
384
410
 
385
411
  <div className="w-full flex flex-col lg:flex-row gap-0 flex-1 min-h-0">
@@ -504,10 +530,10 @@ function DashboardShell<Key extends string = string>({
504
530
 
505
531
  <article className="flex-1 min-w-0 min-h-0 lg:flex lg:flex-col lg:overflow-hidden">
506
532
  {/* Container: MAIN CONTENT */}
507
- <div className="w-full max-w-[1500px] mx-auto lg:flex lg:h-full lg:min-h-0 lg:flex-col lg:pl-4 lg:py-0">
533
+ <div className="w-full max-w-[1500px] mx-auto pb-6 lg:pb-0 lg:flex lg:h-full lg:min-h-0 lg:flex-col lg:pl-4 lg:py-0">
508
534
  {!isDesktop && mobileView === 'content' && currentSection && (
509
535
  <div ref={contentScrollRef} className={mobileNavBottomBar ? 'pb-28' : ''}>
510
- {contentHeader}
536
+ {contentHeader ? <div className="relative z-4">{contentHeader}</div> : null}
511
537
  {sectionUsesShellLayout ? (
512
538
  <>
513
539
  {mobileSectionHeader}
@@ -31,7 +31,7 @@ export default function MasterDetailShell({
31
31
  className="flex min-h-0 flex-1 flex-col gap-4 lg:flex-row lg:items-stretch"
32
32
  style={isDesktop ? { height: desktopViewportHeight } : undefined}
33
33
  >
34
- <aside className="flex min-h-0 flex-col overflow-hidden rounded-none border-0 bg-transparent lg:w-[350px]">
34
+ <aside className="flex min-h-0 flex-col overflow-hidden rounded-none border-0 bg-transparent lg:w-[365px]">
35
35
  <div ref={menuContentRef} className="scrollbar-hide min-h-0 flex-1 overflow-y-auto">
36
36
  {menu}
37
37
  </div>
@@ -20,6 +20,11 @@ const meta: Meta<typeof DetailsView> = {
20
20
  open: true,
21
21
  headerLeft: <h2>Name</h2>,
22
22
  headerRight: <Icon name="open" variant="primary"></Icon>,
23
+ bottomBar: (
24
+ <div className="flex justify-end">
25
+ <Button variant="primary">Primary action</Button>
26
+ </div>
27
+ ),
23
28
  loading: false,
24
29
  isLoading: false,
25
30
  loadingHeaderHeightClassName: 'h-8',
@@ -1,5 +1,6 @@
1
1
  import clsx from 'clsx';
2
2
  import { type ReactNode, useEffect, useRef } from 'react';
3
+ import { createPortal } from 'react-dom';
3
4
  import { Icon } from '../../../Brand/Identity/Icon';
4
5
  import { Spinner } from '../../../Feedback/Loading/Spinner';
5
6
 
@@ -7,7 +8,7 @@ type DetailsViewProps = {
7
8
  open: boolean;
8
9
  onClose: () => void;
9
10
  headerLeft: ReactNode;
10
- headerRight?: ReactNode;
11
+ bottomBar?: ReactNode;
11
12
  children?: ReactNode;
12
13
  className?: string;
13
14
  loading?: boolean;
@@ -19,7 +20,7 @@ export default function DetailsView({
19
20
  open,
20
21
  onClose,
21
22
  headerLeft: navigation,
22
- headerRight,
23
+ bottomBar,
23
24
  children,
24
25
  className,
25
26
  loading = false,
@@ -60,29 +61,30 @@ export default function DetailsView({
60
61
 
61
62
  if (!open) return null;
62
63
 
63
- return (
64
- <div className="fixed inset-0 z-[140] flex justify-end items-stretch">
64
+ return createPortal(
65
+ <div className="fixed inset-0 z-200" style={{ overscrollBehavior: 'contain' }}>
65
66
  {/* Overlay */}
66
- <button type="button" aria-label="Cerrar" onClick={onClose} className="absolute inset-0 bg-black/60" />
67
+ <button type="button" aria-label="Cerrar" onClick={onClose} className="absolute inset-0 bg-black/40" />
67
68
 
68
- {/* Panel derecho */}
69
+ {/* Panel */}
69
70
  <aside
70
71
  className={clsx(
71
- 'relative ml-auto h-full w-full max-w-[550px] bg-(--color-secondary-white) shadow-xl flex flex-col',
72
+ 'fixed right-[10px] top-[10px] bottom-[10px] left-[10px] flex flex-col overflow-hidden rounded-xl bg-white lg:left-auto lg:w-full lg:max-w-[550px]',
72
73
  className
73
74
  )}
74
75
  >
76
+ {/* Each element handles own paddings: General rule p-6 */}
77
+
75
78
  {/* Header */}
76
- <header className="flex items-center justify-between p-5 border-b border-(--color-secondary-outline) bg-(--color-primary-white)">
77
- {resolvedHeaderLeft}
78
- <div className="flex items-center gap-4">
79
- {headerRight}
80
- <Icon name="burgerClose" onClick={onClose} />
81
- </div>
79
+ <header className="py-4 px-6 flex items-start justify-between gap-6 border-b border-(--color-secondary-outline) bg-(--color-primary-white)">
80
+ <div className="min-w-0 flex-1">{resolvedHeaderLeft}</div>
81
+ <button type="button" aria-label="Cerrar" onClick={onClose} className="cursor-pointer">
82
+ <Icon name="burgerClose" />
83
+ </button>
82
84
  </header>
83
85
 
84
86
  {/* Body scrolleable */}
85
- <div ref={bodyRef} className="flex-1 min-h-0 overflow-auto px-8 py-10">
87
+ <div ref={bodyRef} className="px-6 py-6 flex-1 min-h-0 overflow-auto bg-[var(--color-secondary-white)]">
86
88
  {showLoading ? (
87
89
  <div className="w-full h-full min-h-[220px] flex items-center justify-center">
88
90
  <Spinner className="h-8 w-8" />
@@ -91,7 +93,14 @@ export default function DetailsView({
91
93
  children
92
94
  )}
93
95
  </div>
96
+
97
+ {bottomBar ? (
98
+ <footer className="shrink-0 bg-(--color-primary-white) px-6 py-4 shadow-[0_-2px_3px_rgba(0,0,0,0.1)]">
99
+ {bottomBar}
100
+ </footer>
101
+ ) : null}
94
102
  </aside>
95
- </div>
103
+ </div>,
104
+ document.body
96
105
  );
97
106
  }
@@ -0,0 +1,4 @@
1
+ <svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.27231 4.24041H2.55577C1.85005 4.24045 1.27789 4.80746 1.27789 5.5069V13.467C1.27799 14.1664 1.85012 14.7335 2.55577 14.7335H8.21453C8.92023 14.7335 9.49232 14.1664 9.49242 13.467V11.5735H10.7703V13.467C10.7702 14.8659 9.62598 16 8.21453 16H2.55577C1.14436 16 0.000104279 14.8658 0 13.467V5.5069C7.40954e-07 4.108 1.1443 2.97396 2.55577 2.97391H4.27231V4.24041Z" fill="#6F2DF3"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.41483 0C8.87208 0 9.3142 0.162247 9.66152 0.457002L12.9299 3.23055C13.3551 3.59144 13.6 4.11844 13.6 4.67329V10.7652C13.5999 11.8143 12.7417 12.6649 11.6832 12.6649H5.29374C4.2353 12.6648 3.37706 11.8142 3.37691 10.7652V1.89974C3.37691 0.850613 4.2352 0.000113629 5.29374 0H8.41483ZM5.29374 1.26649C4.94096 1.26661 4.6548 1.55008 4.6548 1.89974V10.7652C4.65495 11.1147 4.94105 11.3983 5.29374 11.3984H11.6832C12.036 11.3984 12.322 11.1148 12.3221 10.7652V5.5069H10.0097C8.95108 5.5069 8.0929 4.65632 8.09286 3.60716V1.26649H5.29374ZM9.37075 3.60716C9.37079 3.95686 9.65684 4.24041 10.0097 4.24041H12.1499C12.1339 4.22343 12.1167 4.20744 12.0987 4.19217L9.37075 1.87686V3.60716Z" fill="#6F2DF3"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M4.27231 4.24041H2.55577C1.85005 4.24045 1.27789 4.80746 1.27789 5.5069V13.467C1.27799 14.1664 1.85012 14.7335 2.55577 14.7335H8.21453C8.92023 14.7335 9.49232 14.1664 9.49242 13.467V11.5735H10.7703V13.467C10.7702 14.8659 9.62598 16 8.21453 16H2.55577C1.14436 16 0.000104279 14.8658 0 13.467V5.5069C7.40954e-07 4.108 1.1443 2.97396 2.55577 2.97391H4.27231V4.24041Z" fill="#070707"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.41483 0C8.87208 0 9.3142 0.162247 9.66152 0.457002L12.9299 3.23055C13.3551 3.59144 13.6 4.11844 13.6 4.67329V10.7652C13.5999 11.8143 12.7417 12.6649 11.6832 12.6649H5.29374C4.2353 12.6648 3.37706 11.8142 3.37691 10.7652V1.89974C3.37691 0.850613 4.2352 0.000113629 5.29374 0H8.41483ZM5.29374 1.26649C4.94096 1.26661 4.6548 1.55008 4.6548 1.89974V10.7652C4.65495 11.1147 4.94105 11.3983 5.29374 11.3984H11.6832C12.036 11.3984 12.322 11.1148 12.3221 10.7652V5.5069H10.0097C8.95108 5.5069 8.0929 4.65632 8.09286 3.60716V1.26649H5.29374ZM9.37075 3.60716C9.37079 3.95686 9.65684 4.24041 10.0097 4.24041H12.1499C12.1339 4.22343 12.1167 4.20744 12.0987 4.19217L9.37075 1.87686V3.60716Z" fill="#070707"/>
4
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6.16309 0C6.57709 0.000222815 6.91306 0.335945 6.91309 0.75C6.91309 1.16408 6.57711 1.49978 6.16309 1.5H3.75C2.50748 1.50012 1.50003 2.50746 1.5 3.75V12.2617C1.50003 13.5043 2.50749 14.5116 3.75 14.5117H12.2617C13.5043 14.5117 14.5117 13.5043 14.5117 12.2617V9.58691C14.5117 9.1728 14.8476 8.83704 15.2617 8.83691C15.6759 8.83695 16.0117 9.17274 16.0117 9.58691V12.2617C16.0117 14.3327 14.3327 16.0117 12.2617 16.0117H3.75C1.67906 16.0116 3.34996e-05 14.3327 0 12.2617V3.75C2.53166e-05 1.67903 1.67905 0.000123593 3.75 0H6.16309ZM15.2393 0.0478516C15.6173 0.0862986 15.9129 0.405857 15.9131 0.793945V6.49512C15.9128 6.90893 15.5769 7.24485 15.1631 7.24512C14.749 7.24512 14.4123 6.90916 14.4121 6.49512L14.4131 2.60449L8.85156 8.16602C8.5587 8.45827 8.08374 8.45848 7.79102 8.16602C7.49837 7.8733 7.4987 7.39839 7.79102 7.10547L13.3525 1.54395H9.46191C9.04783 1.54385 8.71201 1.20802 8.71191 0.793945C8.71215 0.379989 9.04792 0.0450134 9.46191 0.0449219H15.1631L15.2393 0.0478516Z" fill="white"/>
3
+ </svg>