From 88eb4358ea206854bd3aad63cb5d444414bc45d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Pacho=C5=82ek?= Date: Thu, 22 Oct 2026 20:22:08 +0000 Subject: [PATCH] Sidebar: the released version below the menu's last item, never over it The version badge sat after the menu's scrolling box, pinned to the bottom of the sidebar, so under a long menu it covered the end of the menu (recomaty-panel#650). It is now the last thing in the box (`adminata_sidebar_release` moved into `.adm-sidebar-nav`, after the menu and before the place script): - under a menu taller than the box it comes right after the last item and scrolls with the menu, out of sight until the menu is scrolled to its end; - under a shorter one it sits at the bottom of the sidebar: the box now takes the rest of the sidebar's height (`flex: 1 1 auto; min-height: 0`), and the badge's `margin-top: auto` takes the free space above it. Tests: the demo's browser environment (APP_ENV=browser, the Panther suites) gets a version, and DashboardPantherTest measures where the badge lands, folded in a 900 px window and unfolded in a 420 px one, before and after scrolling to the end; DemoSmokeTest pins it inside the box, after the menu and before the place script. The demo, the fixtures' content and the screenshot baselines show no version, as before. CHANGELOG entry updated (unreleased, same day). --- CHANGELOG.md | 9 +- assets/css/components/sidebar.css | 17 ++-- src/Resources/public/app.css | 2 +- src/Resources/views/standard_layout.html.twig | 39 +++++---- tests-adminata/App/config/packages.yaml | 7 ++ .../Functional/DashboardPantherTest.php | 84 +++++++++++++++++++ tests-adminata/Functional/DemoSmokeTest.php | 15 ++-- tests-adminata/fixtures/js/category-list.html | 3 +- tests-adminata/fixtures/js/dashboard.html | 3 +- tests-adminata/fixtures/js/dialog.html | 3 +- .../fixtures/js/product-create.html | 3 +- tests-adminata/fixtures/js/product-edit.html | 3 +- tests-adminata/fixtures/js/product-list.html | 3 +- tests-adminata/fixtures/js/reveal.html | 3 +- 14 files changed, 156 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f03b5c7f..822f4001d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -156,9 +156,12 @@ mosaic and tree list modes, global search, the tab menu and four dashboard block out. Moved here from recomaty-panel#648/#649, which carried it in its layout override. - The application's released version at the foot of the sidebar (2026-10-22): the new `options.released_version` (default `null`) is shown as it comes, in one neutral `adm-badge`, - in the new additive `adminata_sidebar_release` block (`adm-sidebar-release`), after - `.adm-sidebar-nav` — at the bottom of the rail under a short menu, below the scrolling menu under - a long one, hidden on the collapsed rail. Empty or `null` renders nothing. adminata does not read + in the new additive `adminata_sidebar_release` block (`adm-sidebar-release`), the last thing in + the menu's scrolling box (`.adm-sidebar-nav`, which now takes the rest of the sidebar's height): + right after the last item under a menu taller than the box, scrolling with it, and at the bottom + of the sidebar under a shorter one; hidden on the collapsed rail. It never covers an entry: it + first sat after the box, pinned to the bottom over the end of a long menu, and moved into it the + same day (recomaty-panel#650). Empty or `null` renders nothing. adminata does not read the environment: the application passes the value in, typically from its deploy, as `released_version: '%env(default::RELEASED_VERSION)%'`. One key, `sidebar_release` (the badge's screen-reader label), is translated in `en` and `pl` and ships as `needs-translation` in the diff --git a/assets/css/components/sidebar.css b/assets/css/components/sidebar.css index def83233e..4d544aa93 100644 --- a/assets/css/components/sidebar.css +++ b/assets/css/components/sidebar.css @@ -173,22 +173,29 @@ } } +/* + * The menu's scrolling box takes the rest of the sidebar's height (its minimum is 0, so a long menu + * scrolls inside it instead of pushing it past the window), so that what ends it — the released + * version — can sit at the bottom of the sidebar under a short menu. + */ @utility adm-sidebar-nav { display: flex; + flex: 1 1 auto; flex-direction: column; + min-height: 0; overflow-y: auto; padding-bottom: 1.5rem; } /* - * The application's released version (`adminata_sidebar_release`), the rail's last child. The rail - * is a flex column and the menu's box does not grow, so under a short menu `margin-top: auto` takes - * the space below it and the line sits at the foot; under a long one the menu's box (a scroll - * container, so its minimum height is 0) shrinks and scrolls, and the line stays in view below it. + * The application's released version (`adminata_sidebar_release`), the last thing in the menu's + * box. Under a menu taller than the box `margin-top: auto` is nothing and the line comes right + * after the last item, scrolling with the menu; under a shorter one it takes the box's free space, + * and the line sits at the bottom of the sidebar. Inside the box, so it never covers an entry. */ @utility adm-sidebar-release { margin-top: auto; - padding-block: 1rem 1.5rem; + padding-top: 1rem; text-align: center; /* The rail shows the menu's icons only. */ diff --git a/src/Resources/public/app.css b/src/Resources/public/app.css index 922e7ffcf..3df06fcbb 100644 --- a/src/Resources/public/app.css +++ b/src/Resources/public/app.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ -@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight: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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-orange-50:#fff6ed;--color-orange-100:#ffead5;--color-orange-200:#fddcab;--color-orange-300:#feb273;--color-orange-400:#fd853a;--color-orange-500:#fb6514;--color-orange-600:#ec4a0a;--color-orange-700:#c4320a;--color-orange-800:#9c2a10;--color-orange-900:#7e2410;--color-orange-950:#511c10;--color-gray-50:#f9fafb;--color-gray-100:#f2f4f7;--color-gray-200:#e4e7ec;--color-gray-300:#d0d5dd;--color-gray-400:#98a2b3;--color-gray-500:#667085;--color-gray-600:#475467;--color-gray-700:#344054;--color-gray-800:#1d2939;--color-gray-900:#101828;--color-gray-950:#0c111d;--color-black:#101828;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--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);--font-outfit:"Outfit Variable", Outfit, ui-sans-serif, system-ui, sans-serif;--breakpoint-2xsm:375px;--breakpoint-xsm:425px;--breakpoint-3xl:2000px;--text-title-2xl:72px;--text-title-2xl--line-height:90px;--text-title-xl:60px;--text-title-xl--line-height:72px;--text-title-lg:48px;--text-title-lg--line-height:60px;--text-title-md:36px;--text-title-md--line-height:44px;--text-title-sm:30px;--text-title-sm--line-height:38px;--text-theme-xl:20px;--text-theme-xl--line-height:30px;--text-theme-sm:14px;--text-theme-sm--line-height:20px;--text-theme-xs:12px;--text-theme-xs--line-height:18px;--color-current:currentColor;--color-transparent:transparent;--color-brand-25:#f2f7ff;--color-brand-50:#ecf3ff;--color-brand-100:#dde9ff;--color-brand-200:#c2d6ff;--color-brand-300:#9cb9ff;--color-brand-400:#7592ff;--color-brand-500:#465fff;--color-brand-600:#3641f5;--color-brand-700:#2a31d8;--color-brand-800:#252dae;--color-brand-900:#262e89;--color-brand-950:#161950;--color-blue-light-25:#f5fbff;--color-blue-light-50:#f0f9ff;--color-blue-light-100:#e0f2fe;--color-blue-light-200:#b9e6fe;--color-blue-light-300:#7cd4fd;--color-blue-light-400:#36bffa;--color-blue-light-500:#0ba5ec;--color-blue-light-600:#0086c9;--color-blue-light-700:#026aa2;--color-blue-light-800:#065986;--color-blue-light-900:#0b4a6f;--color-blue-light-950:#062c41;--color-gray-25:#fcfcfd;--color-gray-dark:#1a2231;--color-orange-25:#fffaf5;--color-success-25:#f6fef9;--color-success-50:#ecfdf3;--color-success-100:#d1fadf;--color-success-200:#a6f4c5;--color-success-300:#6ce9a6;--color-success-400:#32d583;--color-success-500:#12b76a;--color-success-600:#039855;--color-success-700:#027a48;--color-success-800:#05603a;--color-success-900:#054f31;--color-success-950:#053321;--color-error-25:#fffbfa;--color-error-50:#fef3f2;--color-error-100:#fee4e2;--color-error-200:#fecdca;--color-error-300:#fda29b;--color-error-400:#f97066;--color-error-500:#f04438;--color-error-600:#d92d20;--color-error-700:#b42318;--color-error-800:#912018;--color-error-900:#7a271a;--color-error-950:#55160c;--color-warning-25:#fffcf5;--color-warning-50:#fffaeb;--color-warning-100:#fef0c7;--color-warning-200:#fedf89;--color-warning-300:#fec84b;--color-warning-400:#fdb022;--color-warning-500:#f79009;--color-warning-600:#dc6803;--color-warning-700:#b54708;--color-warning-800:#93370d;--color-warning-900:#7a2e0e;--color-warning-950:#4e1d09;--color-theme-pink-500:#ee46bc;--color-theme-purple-500:#7a5af8;--shadow-theme-md:0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f;--shadow-theme-lg:0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808;--shadow-theme-sm:0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f;--shadow-theme-xs:0px 1px 2px 0px #1018280d;--shadow-theme-xl:0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808;--shadow-datepicker:-5px 0 0 #262d3c, 5px 0 0 #262d3c;--shadow-focus-ring:0px 0px 0px 4px #465fff1f;--shadow-slider-navigation:0px 1px 2px 0px #1018281a, 0px 1px 3px 0px #1018281a;--shadow-tooltip:0px 4px 6px -2px #1018280d, -8px 0px 20px 8px #1018280d;--drop-shadow-4xl:0 35px 35px #00000040, 0 45px 65px #00000026;--z-index-1:1;--z-index-9:9;--z-index-99:99;--z-index-999:999;--z-index-9999:9999;--z-index-99999:99999;--z-index-999999:999999;--radius-control:.5rem;--radius-card:1rem;--radius-panel:.75rem;--radius-modal:1rem;--z-index-base:1;--z-index-overlay:10;--z-index-sticky:20;--z-index-dropdown:30;--z-index-sidebar:40;--z-index-skip-link:100000;--z-index-header:50;--z-index-modal:60;--z-index-popover:70;--z-index-toast:80;--z-index-loader:90}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentcolor)}::file-selector-button{border-color:var(--color-gray-200,currentcolor)}.dark *,.dark :after,.dark :before,.dark ::backdrop{border-color:var(--color-gray-800,currentcolor)}.dark ::file-selector-button{border-color:var(--color-gray-800,currentcolor)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-gray-50);color:var(--color-gray-700);font-family:var(--font-outfit);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);-webkit-font-smoothing:antialiased}.dark body{background-color:var(--color-gray-900);color:var(--color-gray-400)}}@layer components{.dark .adm-select option{background-color:var(--color-gray-900);color:#ffffffe6}.adm-alert__body{flex:auto;min-width:0}.adm-alert__dismiss{color:inherit;opacity:.6;flex-shrink:0;margin-inline-start:auto}.adm-alert__dismiss:hover{opacity:1}.adm-alert__more{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.adm-alert__more~.adm-alert__body{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adm-alert__more:checked~.adm-alert__body{display:block;overflow:visible}.adm-alert__more-label{cursor:pointer;align-items:center;gap:.5rem;margin-top:.5rem;font-weight:500;display:inline-flex}.adm-alert__more~* .adm-alert__more-less,.adm-alert__more:checked~* .adm-alert__more-more{display:none}.adm-alert__more:checked~* .adm-alert__more-less{display:inline}.adm-dropdown__menu ul>li>a{border-radius:var(--radius-control);color:var(--color-gray-700);font-size:var(--text-theme-sm);align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-dropdown__menu ul>li>a:hover{background-color:var(--color-gray-100)}.dark .adm-dropdown__menu ul>li>a{color:var(--color-gray-400)}.dark .adm-dropdown__menu ul>li>a:hover{color:var(--color-gray-300);background-color:#ffffff0d}.adm-table thead th{padding-inline:var(--adm-cell-px);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);text-align:start;white-space:nowrap;padding-block:.75rem;font-weight:500}.adm-table tbody tr{border-top:1px solid var(--color-gray-100)}.adm-table tbody tr:hover{background-color:var(--color-gray-50)}.adm-table tbody td{padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);vertical-align:middle}.adm-table tbody tr.adminata-list-row-selected{background-color:var(--color-brand-50)}.dark .adm-table thead th{border-bottom-color:var(--color-gray-800);color:var(--color-gray-400)}.dark .adm-table tbody tr{border-top-color:var(--color-gray-800)}.dark .adm-table tbody tr:hover{background-color:#ffffff08}.dark .adm-table tbody td{color:var(--color-gray-300)}.dark .adm-table tbody tr.adminata-list-row-selected{background-color:#465fff1f}.adm-pagination>li>a,.adm-pagination>li>span{border-radius:var(--radius-control);min-width:2.25rem;height:2.25rem;color:var(--color-gray-600);font-size:var(--text-theme-sm);justify-content:center;align-items:center;padding-inline:.5rem;font-weight:500;display:inline-flex}.adm-pagination>li>a:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}.adm-pagination>li.active>a,.adm-pagination>li.active>span{background-color:var(--color-brand-500);color:var(--color-white)}.adm-pagination>li.disabled>a,.adm-pagination>li.disabled>span{cursor:not-allowed;opacity:.5}.dark .adm-pagination>li>a,.dark .adm-pagination>li>span{color:var(--color-gray-400)}.dark .adm-pagination>li>a:hover{color:var(--color-gray-200);background-color:#ffffff0d}.menu-item-arrow{margin-inline-start:auto;transition:transform .15s ease-out}.menu-item[aria-expanded=true] .menu-item-arrow{transform:rotate(180deg)}.menu-item-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .menu-item-text{display:none}.adm-shell[data-sidebar=collapsed] .menu-dropdown .menu-item-text{display:block}.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item>.menu-item-text{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;display:block;position:absolute;overflow:hidden}.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item>.menu-item-arrow{display:none}}.adm-sidebar a:focus-visible,.adm-sidebar button:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px}@media (width>=1024px){.adm-main{margin-inline-start:var(--adm-sidebar-w);transition:margin-inline-start .2s ease-out}.adm-shell[data-sidebar=collapsed] .adm-main{margin-inline-start:var(--adm-sidebar-collapsed-w)}}@media (prefers-reduced-motion:reduce){.adm-main{transition:none}}.adm-breadcrumb li+li:before{content:"";border-top:1.5px solid var(--color-gray-400);border-inline-end:1.5px solid var(--color-gray-400);width:.375rem;height:.375rem;margin-inline:.375rem;transform:rotate(45deg)}[dir=rtl] .adm-breadcrumb li+li:before{transform:rotate(-135deg)}.adm-breadcrumb li{align-items:center;display:flex}.adm-breadcrumb a{color:var(--color-gray-500);font-size:var(--text-theme-sm)}.adm-breadcrumb a:hover{color:var(--color-gray-700)}.adm-breadcrumb .active{color:var(--color-gray-800);font-size:var(--text-theme-sm)}.adm-sticky.stuck{z-index:var(--z-index-sticky);border-top:1px solid var(--color-gray-200);background-color:var(--color-white);box-shadow:var(--shadow-theme-lg);position:sticky;bottom:0}.dark .adm-breadcrumb .active{color:#ffffffe6}.dark .adm-breadcrumb a{color:var(--color-gray-400)}.dark .adm-breadcrumb a:hover{color:var(--color-gray-200)}.dark .adm-sticky.stuck{border-top-color:var(--color-gray-800);background-color:var(--color-gray-900)}.adminata-list-field-readmore{max-width:100%;display:inline-block}.adminata-readmore-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adminata-readmore-content[data-expanded=true]{display:block;overflow:visible}.adminata-list-field-actions .adm-btn-icon{border:1px solid var(--color-gray-200);background-color:var(--color-white)}.adminata-list-field-actions .adm-btn-icon:disabled{cursor:not-allowed;opacity:.5}.dark .adminata-list-field-actions .adm-btn-icon{border-color:var(--color-gray-700);background-color:#ffffff08}.adm-table th.adminata-list-field-header-batch,.adm-table td.adminata-list-field-batch,.adm-table th.adminata-list-field-header-select,.adm-table td.adminata-list-field-select,.adm-table th.adminata-list-field-header-actions,.adm-table td.adminata-list-field-actions{white-space:nowrap;width:1%}.adm-table tbody tr.adminata-list-row-link{cursor:pointer}.adm-show-table tr{border-top:1px solid var(--color-gray-100)}.adm-show-table tr:first-child{border-top:0}.adm-show-table th{width:30%;padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-500);font-size:var(--text-theme-sm);text-align:start;vertical-align:top;font-weight:500}.adm-show-table td{padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-800);font-size:var(--text-theme-sm);vertical-align:top}.dark .adm-show-table tr{border-top-color:var(--color-gray-800)}.dark .adm-show-table th{color:var(--color-gray-400)}.dark .adm-show-table td{color:#ffffffe6}@keyframes adm-spin{to{transform:rotate(360deg)}}}@layer utilities{.adm-sidebar-filter{margin-bottom:1rem;position:relative}.adm-sidebar-filter>.adm-input{padding-inline-start:2.5rem}.adm-sidebar-filter>.fa-magnifying-glass{inset-inline-start:.875rem;top:calc(var(--adm-control-h) / 2);color:var(--color-gray-400);pointer-events:none;position:absolute;translate:0 -50%}.adm-sidebar-filter>[role=status]>span{color:var(--color-gray-500);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);margin-top:.75rem;padding-inline:.75rem;display:block}.adm-sidebar-filter>[role=status]>span:where(.dark,.dark *){color:var(--color-gray-400)}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-filter{display:none}}.collapse{visibility:collapse}.visible{visibility:visible}.adm-overlay{z-index:var(--z-index-overlay);background-color:#10182880;position:fixed;inset:0}.adm-shell[data-sidebar-mobile=open] .adm-overlay{z-index:calc(var(--z-index-modal) - 1)}.adm-combobox__listbox{z-index:var(--z-index-popover);border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-white);max-height:16rem;box-shadow:var(--shadow-theme-lg);margin-top:.25rem;padding:.25rem;position:absolute;inset-inline:0;overflow-y:auto}.adm-combobox__listbox:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}.adm-sidebar{z-index:var(--z-index-sidebar);width:var(--adm-sidebar-w);border-inline-end:1px solid var(--color-gray-200);background-color:var(--color-white);flex-direction:column;padding-inline:1.25rem;transition:transform .2s ease-out,width .2s ease-out;display:flex;position:fixed;inset-block:0;inset-inline-start:0}@media (prefers-reduced-motion:reduce){.adm-shell .adm-sidebar{transition:none}}.adm-sidebar:where(.dark,.dark *){border-inline-end-color:var(--color-gray-800);background-color:var(--color-black)}@media not all and (width>=1024px){.adm-shell .adm-sidebar{transform:translate(-100%)}[dir=rtl] .adm-shell .adm-sidebar{transform:translate(100%)}.adm-shell[data-sidebar-mobile=open] .adm-sidebar{z-index:var(--z-index-modal);transform:translate(0)}}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar{width:var(--adm-sidebar-collapsed-w)}.adm-shell[data-sidebar=collapsed] .adm-sidebar:has([data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]){z-index:calc(var(--z-index-header) + 1)}}.adm-skip-link{z-index:var(--z-index-skip-link);border-radius:var(--radius-control);background-color:var(--color-brand-600);color:var(--color-white);font-size:var(--text-theme-sm);inset-inline-start:-9999px;padding:.75rem 1rem;font-weight:500;position:absolute;top:0}.adm-skip-link:focus{inset-inline-start:.5rem;top:.5rem}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-dropdown{display:none}}.menu-dropdown{flex-direction:column;gap:.25rem;margin-top:.5rem;padding-inline-start:2.25rem;display:flex}.menu-item[aria-expanded=false]+.menu-dropdown{display:none}.menu-dropdown[data-sliding]{transition:height .5s ease-in-out;overflow:hidden}@media (prefers-reduced-motion:reduce){.menu-dropdown[data-sliding]{transition:none}}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown{top:var(--adm-menu-popup-top,.5rem);width:max-content;min-width:12rem;max-width:var(--adm-sidebar-w);border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);max-height:calc(100vh - 1rem);box-shadow:var(--shadow-theme-lg);margin:0;padding:.5rem;display:flex;position:fixed;inset-inline-start:calc(var(--adm-menu-popup-start,var(--adm-sidebar-collapsed-w)) + .5rem);overflow-y:auto}.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}}.adm-dropdown__menu{z-index:var(--z-index-dropdown);border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);width:max-content;min-width:12rem;max-width:min(92vw,60rem);box-shadow:var(--shadow-theme-lg);margin-top:.5rem;padding:.5rem;position:absolute;inset-inline-end:0}.adm-dropdown__menu:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}.adm-header{z-index:var(--z-index-header);width:100%;height:var(--adm-header-h);border-bottom:1px solid var(--color-gray-200);background-color:var(--color-white);align-items:center;gap:1rem;padding-inline:1rem;display:flex;position:sticky;top:0}.adm-header:where(.dark,.dark *){border-bottom-color:var(--color-gray-800);background-color:var(--color-gray-900)}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu-item{border-radius:var(--radius-control);width:100%;font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);text-align:start;align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex;position:relative}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item{justify-content:center}}.adm-table-scroll{max-width:100%;position:relative;overflow-x:auto}.adm-table-wrap{border-radius:calc(var(--radius-card) - 1px);position:relative;overflow:hidden}.absolute{position:absolute}.adm-combobox,.adm-dropdown{position:relative}.static{position:static}.adm-dropdown__menu-start{inset-inline:0 auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.container{width:100%}@media (width>=375px){.container{max-width:375px}}@media (width>=425px){.container{max-width:425px}}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}@media (width>=2000px){.container{max-width:2000px}}.adm-list-legend{border-top:1px solid var(--color-gray-100);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);color:var(--color-gray-500);flex-wrap:wrap;gap:.75rem 2rem;margin:0;padding:.75rem 1.5rem;display:flex}.adm-list-legend:where(.dark,.dark *){border-top-color:var(--color-gray-800);color:var(--color-gray-400)}.adm-list-legend__item{margin:0}.adm-dropdown__divider{border-top:1px solid var(--color-gray-200);margin-block:.5rem}.adm-dropdown__divider:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-empty-layout .adm-main{margin-inline-start:0}.adm-empty-layout .adm-content{padding:0}.adm-required{color:var(--color-error-500);margin-inline-start:.125rem}.ms-auto{margin-inline-start:auto}.adm-file{border:1px solid var(--color-gray-300);border-radius:var(--radius-control);width:100%;color:var(--color-gray-500);font-size:var(--text-theme-sm);box-shadow:var(--shadow-theme-xs);padding:0;display:block}.adm-file::file-selector-button{padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:0;border-inline-end:1px solid var(--color-gray-300);background-color:var(--color-gray-50);color:var(--color-gray-700);font-size:var(--text-theme-sm);cursor:pointer;border-start-start-radius:var(--radius-control);border-end-start-radius:var(--radius-control);margin-inline-end:.75rem}.adm-file:focus-within{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-file:where(.dark,.dark *){border-color:var(--color-gray-700);color:var(--color-gray-400)}.adm-file:where(.dark,.dark *)::file-selector-button{border-inline-end-color:var(--color-gray-700);background-color:var(--color-gray-800);color:var(--color-gray-400)}.adm-sidebar-release{text-align:center;margin-top:auto;padding-block:1rem 1.5rem}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-release{display:none}}.adm-combobox__status{color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-combobox__status:where(.dark,.dark *){color:var(--color-gray-400)}.adm-combobox__status:empty{display:none}.adm-help{color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-help:where(.dark,.dark *){color:var(--color-gray-400)}.adm-error{color:var(--color-error-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-card-subtitle{font-size:var(--text-theme-sm);color:var(--color-gray-500);margin-top:.25rem}.adm-card-subtitle:where(.dark,.dark *){color:var(--color-gray-400)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.adm-tab{color:var(--color-gray-500);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.625rem 1rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.adm-tab:hover{color:var(--color-gray-700)}.adm-tab[aria-selected=true]{border-bottom-color:var(--color-brand-500);color:var(--color-brand-500)}.adm-tab:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px;border-radius:var(--radius-control)}.adm-tab:where(.dark,.dark *){color:var(--color-gray-400)}.adm-tab:where(.dark,.dark *):hover{color:var(--color-gray-200)}.adm-tab:where(.dark,.dark *)[aria-selected=true]{border-bottom-color:var(--color-brand-400);color:var(--color-brand-400)}.adm-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.adm-combobox__chips{flex-wrap:wrap;gap:.375rem;display:flex}.adm-combobox__chips:not(:empty){margin-bottom:.375rem}.adm-sidebar-toolbar{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.adm-sidebar-toolbar:where(.dark,.dark *){border-bottom-color:var(--color-gray-800)}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-toolbar{display:none}}.adm-menu-popup-title{border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;padding-block:.5rem;padding-inline:.75rem;font-weight:600;display:none;overflow:hidden}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown>.adm-menu-popup-title{display:block}}.adm-menu-popup-title:where(.dark,.dark *){border-bottom-color:var(--color-gray-800);color:#ffffffe6}.adm-label{color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);margin-bottom:.375rem;font-weight:500;display:block}.adm-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-form-row{margin-bottom:1.25rem}.adm-form-row:last-child,.mb-0{margin-bottom:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.box-content{box-sizing:content-box}.adm-spinner{border:2px solid var(--color-brand-500);border-top-color:#0000;border-radius:9999px;width:1.25rem;height:1.25rem;animation:.7s linear infinite adm-spin;display:inline-block}.adm-select{width:100%;height:var(--adm-control-h);padding-inline:var(--adm-control-px) 2.5rem;padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;display:block}.adm-select:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-select:disabled{cursor:not-allowed;background-color:var(--color-gray-50);color:var(--color-gray-500)}.adm-select:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-input{width:100%;height:var(--adm-control-h);padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);background-color:#0000;transition:border-color .15s,box-shadow .15s;display:block}.adm-input::placeholder{color:var(--color-gray-400)}.adm-input:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-input:disabled{cursor:not-allowed;background-color:var(--color-gray-50);color:var(--color-gray-500)}.adm-input:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-input:where(.dark,.dark *)::placeholder{color:#ffffff4d}.adm-input:where(.dark,.dark *):focus{border-color:var(--color-brand-800)}.adm-input:where(.dark,.dark *):disabled{background-color:var(--color-gray-800)}.adm-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.adm-input::-webkit-calendar-picker-indicator:hover{opacity:1}.adm-chip__remove{width:1rem;height:1rem;color:var(--color-gray-500);border-radius:9999px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.adm-chip__remove:hover{background-color:var(--color-gray-200);color:var(--color-gray-700)}.adm-chip__remove:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:1px}.adm-chip__remove:where(.dark,.dark *){color:var(--color-gray-400)}.adm-chip__remove:where(.dark,.dark *):hover{color:var(--color-gray-200);background-color:#ffffff1a}.adm-btn-icon{border-radius:var(--radius-control);width:2.25rem;height:2.25rem;color:var(--color-gray-500);justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.adm-btn-icon:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.adm-btn-icon:where(.dark,.dark *){color:var(--color-gray-400)}.adm-btn-icon:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-btn-icon:where(.dark,.dark *):hover{color:var(--color-gray-200);background-color:#ffffff0d}.adm-btn{height:var(--adm-control-h);padding-inline:var(--adm-control-px);border-radius:var(--radius-control);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.adm-btn:disabled,.adm-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5}.adm-btn:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-textarea{width:100%;min-height:6rem;padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);background-color:#0000;display:block}.adm-textarea::placeholder{color:var(--color-gray-400)}.adm-textarea:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-textarea:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-textarea:where(.dark,.dark *)::placeholder{color:#ffffff4d}.adm-dialog{border:1px solid var(--color-gray-200);border-radius:var(--radius-modal);background-color:var(--color-white);width:100%;max-width:32rem;color:var(--color-gray-700);box-shadow:var(--shadow-theme-xl);padding:0}.adm-dialog:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark);color:var(--color-gray-300)}.adm-dialog::backdrop{background-color:#10182880}.adm-dialog:not([open]){display:none}.adm-dropdown__item{border-radius:var(--radius-control);width:100%;color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);text-align:start;align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-dropdown__item:hover{background-color:var(--color-gray-100)}.adm-dropdown__item:where(.dark,.dark *){color:var(--color-gray-400)}.adm-dropdown__item:where(.dark,.dark *):hover{color:var(--color-gray-300);background-color:#ffffff0d}.adm-dropdown__item:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px}.adm-btn-block{width:100%;display:flex}.adm-sidebar-header{align-items:center;gap:.5rem;min-width:0;padding-block:2rem 1.75rem;display:flex;overflow:hidden}.adm-sidebar-header img{max-width:calc(var(--adm-sidebar-w) - 2.5rem);object-fit:contain}.adm-input-group{align-items:stretch;display:flex}.adm-input-group>.adm-input{flex:auto;min-width:0}.adm-input-group>.adm-input:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.adm-input-group>.adm-input:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.adm-tablist{border-bottom:1px solid var(--color-gray-200);scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.adm-tablist:where(.dark,.dark *){border-bottom-color:var(--color-gray-800)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.adm-filters{grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem;display:grid}.adm-list-empty{font-size:var(--text-theme-sm);color:var(--color-gray-500);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding-block:3rem;display:flex}.adm-list-empty:where(.dark,.dark *){color:var(--color-gray-400)}.adm-error-list{color:var(--color-error-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);flex-direction:column;gap:.25rem;display:flex}.adm-error-list>li{align-items:baseline;gap:.375rem;display:flex}.adm-collection{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.adm-list-footer{border-top:1px solid var(--color-gray-100);flex-direction:column;gap:1rem;padding:1rem 1.5rem;display:flex}.adm-list-footer:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-choice-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.adm-menu{flex-direction:column;gap:1rem;display:flex}.adm-tabs{flex-direction:column;gap:1.5rem;display:flex}.adm-sidebar-nav{flex-direction:column;padding-bottom:1.5rem;display:flex;overflow-y:auto}.adm-card-footer{padding-inline:var(--adm-card-p);border-top:1px solid var(--color-gray-100);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding-block:1rem;display:flex}.adm-card-footer:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-card-success .adm-card-footer{border-top-color:var(--color-success-200)}.adm-card-error .adm-card-footer{border-top-color:var(--color-error-200)}.adm-card-warning .adm-card-footer{border-top-color:var(--color-warning-200)}.adm-card-info .adm-card-footer{border-top-color:var(--color-blue-light-200)}.adm-card-success .adm-card-footer:where(.dark,.dark *){border-top-color:#12b76a4d}.adm-card-error .adm-card-footer:where(.dark,.dark *){border-top-color:#f044384d}.adm-card-warning .adm-card-footer:where(.dark,.dark *){border-top-color:#f790094d}.adm-card-info .adm-card-footer:where(.dark,.dark *){border-top-color:#0ba5ec4d}.adm-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.adm-list-legend__group{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:inline-flex}.adm-dialog__footer{border-top:1px solid var(--color-gray-100);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.adm-dialog__footer:where(.dark,.dark *){border-color:var(--color-gray-800)}.adm-dialog__header{border-bottom:1px solid var(--color-gray-100);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.adm-dialog__header:where(.dark,.dark *){border-color:var(--color-gray-800)}.adm-card-header{padding-inline:var(--adm-card-p);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.adm-alert{border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-white);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.adm-alert:where(.dark,.dark *){border-color:var(--color-gray-800);color:var(--color-gray-300);background-color:#ffffff08}.adm-badge{font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);background-color:var(--color-gray-100);color:var(--color-gray-700);border-radius:9999px;align-items:center;gap:.25rem;padding-block:.125rem;padding-inline:.5rem;font-weight:500;display:inline-flex}.adm-badge:where(.dark,.dark *){color:var(--color-gray-300);background-color:#ffffff0d}.adm-chip{border-radius:var(--radius-control);background-color:var(--color-gray-100);color:var(--color-gray-700);font-size:var(--text-theme-xs);align-items:center;gap:.375rem;padding-block:.125rem;padding-inline:.5rem;display:inline-flex}.adm-chip:where(.dark,.dark *){color:var(--color-gray-300);background-color:#ffffff0d}.menu-dropdown-item{border-radius:var(--radius-control);font-size:var(--text-theme-sm);align-items:center;gap:.75rem;padding-block:.375rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-checkbox-label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);color:var(--color-gray-700);align-items:center;gap:.75rem;display:inline-flex}.adm-checkbox-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-radio-label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);color:var(--color-gray-700);align-items:center;gap:.75rem;display:inline-flex}.adm-radio-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-breadcrumb{align-items:center;gap:.375rem;list-style:none;display:flex}.adm-pagination{align-items:center;gap:.25rem;list-style:none;display:flex}.adm-icon-enum{align-items:center;gap:.5rem;display:inline-flex}.adm-input-affix{padding-inline:var(--adm-control-px);border:1px solid var(--color-gray-300);background-color:var(--color-gray-50);color:var(--color-gray-500);font-size:var(--text-theme-sm);white-space:nowrap;align-items:center;display:inline-flex}.adm-input-affix:first-child{border-inline-end:0;border-start-start-radius:var(--radius-control);border-end-start-radius:var(--radius-control)}.adm-input-affix:last-child{border-inline-start:0;border-start-end-radius:var(--radius-control);border-end-end-radius:var(--radius-control)}.adm-input-affix:where(.dark,.dark *){border-color:var(--color-gray-700);color:var(--color-gray-400);background-color:#ffffff08}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu-group-title{display:none}}.adm-menu-group-title{color:var(--color-gray-500);font-size:var(--text-theme-xs);text-transform:uppercase;line-height:20px}.adm-menu-group-title:where(.dark,.dark *){color:var(--color-gray-400)}.block{display:block}.contents{display:contents}.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}.adm-select-multiple{height:auto;min-height:8rem;padding-right:var(--adm-control-px);background-image:none}.adm-radio{border:1px solid var(--color-gray-300);background-color:var(--color-white);appearance:none;border-radius:9999px;flex-shrink:0;width:1.25rem;height:1.25rem;transition:background-color .15s,border-color .15s}.adm-radio:checked{border-width:6px;border-color:var(--color-brand-500);background-color:var(--color-white)}.adm-radio:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-radio:disabled{cursor:not-allowed;background-color:var(--color-gray-100)}.adm-radio:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:#0000}.adm-radio:where(.dark,.dark *):checked{background-color:var(--color-gray-900)}.adm-checkbox{border:1px solid var(--color-gray-300);background-color:var(--color-white);appearance:none;border-radius:.25rem;flex-shrink:0;width:1.25rem;height:1.25rem;transition:background-color .15s,border-color .15s}.adm-checkbox:checked,.adm-checkbox:indeterminate{border-color:var(--color-brand-500);background-color:var(--color-brand-500);background-position:50%;background-repeat:no-repeat}.adm-checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11.667 3.5-6.417 6.417L2.333 7'/%3E%3C/svg%3E")}.adm-checkbox:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-width='2' d='M3.5 7h7'/%3E%3C/svg%3E")}.adm-checkbox:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-checkbox:disabled{cursor:not-allowed;background-color:var(--color-gray-100)}.adm-checkbox:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:#0000}.adm-checkbox:where(.dark,.dark *):checked,.adm-checkbox:where(.dark,.dark *):indeterminate{border-color:var(--color-brand-500);background-color:var(--color-brand-500)}.adm-badge-icon{border-radius:var(--radius-control);width:2.25rem;height:2.25rem;font-size:inherit;justify-content:center;gap:0;padding:0;line-height:1;text-decoration:none}.adm-btn-icon-round{border:1px solid var(--color-gray-200);background-color:var(--color-white);border-radius:9999px;width:2.75rem;height:2.75rem}.adm-btn-icon-round:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-900)}.adm-btn-sm{height:2.25rem;font-size:var(--text-theme-xs);padding-inline:.75rem}.h-8{height:calc(var(--spacing) * 8)}.max-h-\[75vh\]{max-height:75vh}.adm-shell{min-height:100vh}.adm-show-table{border-collapse:collapse;width:100%}.adm-collection-row{border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-gray-50);width:100%;padding:.75rem}.adm-collection-row:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:#ffffff08}.w-auto{width:auto}.adm-dialog-lg{max-width:48rem}.adm-dialog-list{max-width:64rem}.adm-dialog-sm{max-width:24rem}.adm-table{border-collapse:collapse;text-align:start;min-width:100%}.min-w-0{min-width:0}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-40{min-width:calc(var(--spacing) * 40)}.flex-1{flex:1}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.adm-combobox__option{border-radius:var(--radius-control);color:var(--color-gray-700);font-size:var(--text-theme-sm);cursor:pointer;padding-block:.5rem;padding-inline:.75rem}.adm-combobox__option:where(.dark,.dark *){color:var(--color-gray-300)}.adm-combobox__option[aria-selected=true],.adm-combobox__option:hover{background-color:var(--color-brand-50);color:var(--color-brand-600)}.adm-combobox__option:where(.dark,.dark *)[aria-selected=true],.adm-combobox__option:where(.dark,.dark *):hover{color:var(--color-brand-400);background-color:#465fff1f}.resize{resize:both}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.adm-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);overflow:visible}.adm-card:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:#ffffff08}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.adm-callout{border-left:4px solid var(--color-gray-300);border-radius:var(--radius-control);background-color:var(--color-gray-50);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);padding:1rem}.adm-callout:where(.dark,.dark *){border-left-color:var(--color-gray-700);color:var(--color-gray-300);background-color:#ffffff08}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border-none{--tw-border-style:none;border-style:none}.adm-btn-secondary{border:1px solid var(--color-gray-300);background-color:var(--color-white);color:var(--color-gray-700)}.adm-btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50)}.adm-btn-secondary:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:var(--color-gray-800);color:var(--color-gray-300)}.adm-btn-secondary:where(.dark,.dark *):hover:not(:disabled){background-color:var(--color-gray-700)}.adm-alert-error{border-color:var(--color-error-200);background-color:var(--color-error-50);color:var(--color-error-700)}.adm-alert-error:where(.dark,.dark *){color:var(--color-error-300);background-color:#f044381f;border-color:#f044384d}.adm-alert-info{border-color:var(--color-blue-light-200);background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-alert-info:where(.dark,.dark *){color:var(--color-blue-light-300);background-color:#0ba5ec1f;border-color:#0ba5ec4d}.adm-alert-success{border-color:var(--color-success-200);background-color:var(--color-success-50);color:var(--color-success-700)}.adm-alert-success:where(.dark,.dark *){color:var(--color-success-300);background-color:#12b76a1f;border-color:#12b76a4d}.adm-alert-warning{border-color:var(--color-warning-200);background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-alert-warning:where(.dark,.dark *){color:var(--color-warning-300);background-color:#f790091f;border-color:#f790094d}.adm-card-error{border-color:var(--color-error-200);background-color:var(--color-error-50)}.adm-card-error:where(.dark,.dark *){background-color:#f044381f;border-color:#f044384d}.adm-card-info{border-color:var(--color-blue-light-200);background-color:var(--color-blue-light-50)}.adm-card-info:where(.dark,.dark *){background-color:#0ba5ec1f;border-color:#0ba5ec4d}.adm-card-success{border-color:var(--color-success-200);background-color:var(--color-success-50)}.adm-card-success:where(.dark,.dark *){background-color:#12b76a1f;border-color:#12b76a4d}.adm-card-warning{border-color:var(--color-warning-200);background-color:var(--color-warning-50)}.adm-card-warning:where(.dark,.dark *){background-color:#f790091f;border-color:#f790094d}.adm-input-error{border-color:var(--color-error-500)}.adm-input-error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 4px #f044381f}.border-error-200{border-color:var(--color-error-200)}.adm-card-body{padding:var(--adm-card-p);border-top:1px solid var(--color-gray-100)}.adm-card-body:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-card-body:first-child{border-top:0}.adm-card-success .adm-card-body{border-top-color:var(--color-success-200)}.adm-card-error .adm-card-body{border-top-color:var(--color-error-200)}.adm-card-warning .adm-card-body{border-top-color:var(--color-warning-200)}.adm-card-info .adm-card-body{border-top-color:var(--color-blue-light-200)}.adm-card-success .adm-card-body:where(.dark,.dark *){border-top-color:#12b76a4d}.adm-card-error .adm-card-body:where(.dark,.dark *){border-top-color:#f044384d}.adm-card-warning .adm-card-body:where(.dark,.dark *){border-top-color:#f790094d}.adm-card-info .adm-card-body:where(.dark,.dark *){border-top-color:#0ba5ec4d}.adm-callout-danger{border-left-color:var(--color-error-500);background-color:var(--color-error-50);color:var(--color-error-700)}.adm-callout-danger:where(.dark,.dark *){border-left-color:var(--color-error-500);color:var(--color-error-300);background-color:#f044381f}.adm-callout-info{border-left-color:var(--color-blue-light-500);background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-callout-info:where(.dark,.dark *){border-left-color:var(--color-blue-light-500);color:var(--color-blue-light-300);background-color:#0ba5ec1f}.adm-callout-success{border-left-color:var(--color-success-500);background-color:var(--color-success-50);color:var(--color-success-700)}.adm-callout-success:where(.dark,.dark *){border-left-color:var(--color-success-500);color:var(--color-success-300);background-color:#12b76a1f}.adm-callout-warning{border-left-color:var(--color-warning-500);background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-callout-warning:where(.dark,.dark *){border-left-color:var(--color-warning-500);color:var(--color-warning-300);background-color:#f790091f}.adm-btn-ghost{color:var(--color-gray-600)}.adm-btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-gray-800)}.adm-btn-ghost:where(.dark,.dark *){color:var(--color-gray-400)}.adm-btn-ghost:where(.dark,.dark *):hover:not(:disabled){color:var(--color-gray-200);background-color:#ffffff0d}.menu-item-inactive{color:var(--color-gray-700)}.menu-item-inactive:hover{background-color:var(--color-gray-100)}.menu-item-inactive:where(.dark,.dark *){color:var(--color-gray-300)}.menu-item-inactive:where(.dark,.dark *):hover{background-color:#ffffff0d}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item-inactive[aria-expanded=true]{background-color:var(--color-gray-100)}.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item-inactive[aria-expanded=true]:where(.dark,.dark *){background-color:#ffffff0d}}.adm-badge-brand{background-color:var(--color-brand-50);color:var(--color-brand-600)}.adm-badge-brand:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff26}.adm-badge-error{background-color:var(--color-error-50);color:var(--color-error-700)}.adm-badge-error:where(.dark,.dark *){color:var(--color-error-400);background-color:#f0443826}.adm-badge-info{background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-badge-info:where(.dark,.dark *){color:var(--color-blue-light-400);background-color:#0ba5ec26}.adm-badge-success{background-color:var(--color-success-50);color:var(--color-success-700)}.adm-badge-success:where(.dark,.dark *){color:var(--color-success-400);background-color:#12b76a26}.adm-badge-warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-badge-warning:where(.dark,.dark *){color:var(--color-orange-400);background-color:#f7900926}.menu-dropdown-item-active{background-color:var(--color-brand-50);color:var(--color-brand-600)}.menu-dropdown-item-active:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff1f}.menu-dropdown-item-inactive{color:var(--color-gray-500)}.menu-dropdown-item-inactive:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.menu-dropdown-item-inactive:where(.dark,.dark *){color:var(--color-gray-400)}.menu-item-active{background-color:var(--color-brand-50);color:var(--color-brand-600)}.menu-item-active:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff1f}.adm-btn-danger{background-color:var(--color-error-600);color:var(--color-white)}.adm-btn-danger:hover:not(:disabled){background-color:var(--color-error-700)}.adm-btn-primary{background-color:var(--color-brand-500);color:var(--color-white)}.adm-btn-primary:hover:not(:disabled){background-color:var(--color-brand-600)}.adm-btn-success{background-color:var(--color-success-700);color:var(--color-white)}.adm-btn-success:hover:not(:disabled){background-color:var(--color-success-800)}.adm-btn-warning{background-color:var(--color-warning-700);color:var(--color-white)}.adm-btn-warning:hover:not(:disabled){background-color:var(--color-warning-800)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.adm-card-flush{border-top:0;padding:0}.adm-content{padding:1rem}@media (width>=768px){.adm-content{padding:1.5rem}}.adm-dialog__body{padding:1.5rem}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-5{padding-block:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-right{text-align:right}.adm-icon-enum__label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-theme-sm{font-size:var(--text-theme-sm);line-height:var(--tw-leading,var(--text-theme-sm--line-height))}.text-theme-xs{font-size:var(--text-theme-xs);line-height:var(--tw-leading,var(--text-theme-xs--line-height))}.adm-card-title{color:var(--color-gray-800);font-size:1rem;font-weight:500}.adm-card-title:where(.dark,.dark *){color:#ffffffe6}.adm-card-success .adm-card-title{color:var(--color-success-700)}.adm-card-error .adm-card-title{color:var(--color-error-700)}.adm-card-warning .adm-card-title{color:var(--color-warning-700)}.adm-card-info .adm-card-title{color:var(--color-blue-light-700)}.adm-card-success .adm-card-title:where(.dark,.dark *){color:var(--color-success-300)}.adm-card-error .adm-card-title:where(.dark,.dark *){color:var(--color-error-300)}.adm-card-warning .adm-card-title:where(.dark,.dark *){color:var(--color-warning-300)}.adm-card-info .adm-card-title:where(.dark,.dark *){color:var(--color-blue-light-300)}.adm-page-title{color:var(--color-gray-800);font-size:1.25rem;font-weight:600}.adm-page-title:where(.dark,.dark *){color:#ffffffe6}.adm-list-legend__term{text-transform:uppercase;letter-spacing:.02em;font-weight:500}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.adm-btn-icon-delete{color:var(--color-error-500)}.adm-btn-icon-edit{color:var(--color-brand-500)}.adm-btn-icon-history{color:var(--color-gray-500)}.adm-btn-icon-show{color:var(--color-blue-light-500)}.adm-tab-errors{color:var(--color-error-500)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow-theme-xs{--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#1018280d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}@media (hover:hover){.hover\:text-gray-700:hover{color:var(--color-gray-700)}}@media (width>=640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:block{display:block}.sm\:hidden{display:none}}@media (width>=768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.md\:block{display:block}.md\:hidden{display:none}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}}@media (width>=1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:w-\[430px\]{width:430px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:inline-block:where(.dark,.dark *){display:inline-block}:where(.dark\:divide-gray-800:where(.dark,.dark *)>:not(:last-child)){border-color:var(--color-gray-800)}.dark\:border-error-500\/30:where(.dark,.dark *){border-color:#f044384d}@supports (color:color-mix(in lab, red, red)){.dark\:border-error-500\/30:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-error-500) 30%, transparent)}}.dark\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:where(.dark,.dark *){background-color:var(--color-gray-900)}.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-white\/90:where(.dark,.dark *){color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.dark\:text-white\/90:where(.dark,.dark *){color:color-mix(in oklab, var(--color-white) 90%, transparent)}}@media (hover:hover){.dark\:hover\:text-gray-200:where(.dark,.dark *):hover{color:var(--color-gray-200)}}}:root{--adm-control-h:2.75rem;--adm-control-px:1rem;--adm-control-py:.625rem;--adm-cell-px:1rem;--adm-cell-py:.75rem;--adm-card-p:1.5rem;--adm-sidebar-w:290px;--adm-sidebar-collapsed-w:90px;--adm-header-h:4rem}html[data-density=compact]{--adm-control-h:2.25rem;--adm-control-px:.75rem;--adm-control-py:.375rem;--adm-cell-px:.75rem;--adm-cell-py:.5rem;--adm-card-p:1rem;--adm-header-h:3.25rem}html.no-js [data-requires-js]{display:none}@font-face{font-family:Outfit Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fonts/outfit-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fonts/outfit-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} +@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight: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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-orange-50:#fff6ed;--color-orange-100:#ffead5;--color-orange-200:#fddcab;--color-orange-300:#feb273;--color-orange-400:#fd853a;--color-orange-500:#fb6514;--color-orange-600:#ec4a0a;--color-orange-700:#c4320a;--color-orange-800:#9c2a10;--color-orange-900:#7e2410;--color-orange-950:#511c10;--color-gray-50:#f9fafb;--color-gray-100:#f2f4f7;--color-gray-200:#e4e7ec;--color-gray-300:#d0d5dd;--color-gray-400:#98a2b3;--color-gray-500:#667085;--color-gray-600:#475467;--color-gray-700:#344054;--color-gray-800:#1d2939;--color-gray-900:#101828;--color-gray-950:#0c111d;--color-black:#101828;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--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);--font-outfit:"Outfit Variable", Outfit, ui-sans-serif, system-ui, sans-serif;--breakpoint-2xsm:375px;--breakpoint-xsm:425px;--breakpoint-3xl:2000px;--text-title-2xl:72px;--text-title-2xl--line-height:90px;--text-title-xl:60px;--text-title-xl--line-height:72px;--text-title-lg:48px;--text-title-lg--line-height:60px;--text-title-md:36px;--text-title-md--line-height:44px;--text-title-sm:30px;--text-title-sm--line-height:38px;--text-theme-xl:20px;--text-theme-xl--line-height:30px;--text-theme-sm:14px;--text-theme-sm--line-height:20px;--text-theme-xs:12px;--text-theme-xs--line-height:18px;--color-current:currentColor;--color-transparent:transparent;--color-brand-25:#f2f7ff;--color-brand-50:#ecf3ff;--color-brand-100:#dde9ff;--color-brand-200:#c2d6ff;--color-brand-300:#9cb9ff;--color-brand-400:#7592ff;--color-brand-500:#465fff;--color-brand-600:#3641f5;--color-brand-700:#2a31d8;--color-brand-800:#252dae;--color-brand-900:#262e89;--color-brand-950:#161950;--color-blue-light-25:#f5fbff;--color-blue-light-50:#f0f9ff;--color-blue-light-100:#e0f2fe;--color-blue-light-200:#b9e6fe;--color-blue-light-300:#7cd4fd;--color-blue-light-400:#36bffa;--color-blue-light-500:#0ba5ec;--color-blue-light-600:#0086c9;--color-blue-light-700:#026aa2;--color-blue-light-800:#065986;--color-blue-light-900:#0b4a6f;--color-blue-light-950:#062c41;--color-gray-25:#fcfcfd;--color-gray-dark:#1a2231;--color-orange-25:#fffaf5;--color-success-25:#f6fef9;--color-success-50:#ecfdf3;--color-success-100:#d1fadf;--color-success-200:#a6f4c5;--color-success-300:#6ce9a6;--color-success-400:#32d583;--color-success-500:#12b76a;--color-success-600:#039855;--color-success-700:#027a48;--color-success-800:#05603a;--color-success-900:#054f31;--color-success-950:#053321;--color-error-25:#fffbfa;--color-error-50:#fef3f2;--color-error-100:#fee4e2;--color-error-200:#fecdca;--color-error-300:#fda29b;--color-error-400:#f97066;--color-error-500:#f04438;--color-error-600:#d92d20;--color-error-700:#b42318;--color-error-800:#912018;--color-error-900:#7a271a;--color-error-950:#55160c;--color-warning-25:#fffcf5;--color-warning-50:#fffaeb;--color-warning-100:#fef0c7;--color-warning-200:#fedf89;--color-warning-300:#fec84b;--color-warning-400:#fdb022;--color-warning-500:#f79009;--color-warning-600:#dc6803;--color-warning-700:#b54708;--color-warning-800:#93370d;--color-warning-900:#7a2e0e;--color-warning-950:#4e1d09;--color-theme-pink-500:#ee46bc;--color-theme-purple-500:#7a5af8;--shadow-theme-md:0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f;--shadow-theme-lg:0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808;--shadow-theme-sm:0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f;--shadow-theme-xs:0px 1px 2px 0px #1018280d;--shadow-theme-xl:0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808;--shadow-datepicker:-5px 0 0 #262d3c, 5px 0 0 #262d3c;--shadow-focus-ring:0px 0px 0px 4px #465fff1f;--shadow-slider-navigation:0px 1px 2px 0px #1018281a, 0px 1px 3px 0px #1018281a;--shadow-tooltip:0px 4px 6px -2px #1018280d, -8px 0px 20px 8px #1018280d;--drop-shadow-4xl:0 35px 35px #00000040, 0 45px 65px #00000026;--z-index-1:1;--z-index-9:9;--z-index-99:99;--z-index-999:999;--z-index-9999:9999;--z-index-99999:99999;--z-index-999999:999999;--radius-control:.5rem;--radius-card:1rem;--radius-panel:.75rem;--radius-modal:1rem;--z-index-base:1;--z-index-overlay:10;--z-index-sticky:20;--z-index-dropdown:30;--z-index-sidebar:40;--z-index-skip-link:100000;--z-index-header:50;--z-index-modal:60;--z-index-popover:70;--z-index-toast:80;--z-index-loader:90}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentcolor)}::file-selector-button{border-color:var(--color-gray-200,currentcolor)}.dark *,.dark :after,.dark :before,.dark ::backdrop{border-color:var(--color-gray-800,currentcolor)}.dark ::file-selector-button{border-color:var(--color-gray-800,currentcolor)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-gray-50);color:var(--color-gray-700);font-family:var(--font-outfit);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);-webkit-font-smoothing:antialiased}.dark body{background-color:var(--color-gray-900);color:var(--color-gray-400)}}@layer components{.dark .adm-select option{background-color:var(--color-gray-900);color:#ffffffe6}.adm-alert__body{flex:auto;min-width:0}.adm-alert__dismiss{color:inherit;opacity:.6;flex-shrink:0;margin-inline-start:auto}.adm-alert__dismiss:hover{opacity:1}.adm-alert__more{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.adm-alert__more~.adm-alert__body{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adm-alert__more:checked~.adm-alert__body{display:block;overflow:visible}.adm-alert__more-label{cursor:pointer;align-items:center;gap:.5rem;margin-top:.5rem;font-weight:500;display:inline-flex}.adm-alert__more~* .adm-alert__more-less,.adm-alert__more:checked~* .adm-alert__more-more{display:none}.adm-alert__more:checked~* .adm-alert__more-less{display:inline}.adm-dropdown__menu ul>li>a{border-radius:var(--radius-control);color:var(--color-gray-700);font-size:var(--text-theme-sm);align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-dropdown__menu ul>li>a:hover{background-color:var(--color-gray-100)}.dark .adm-dropdown__menu ul>li>a{color:var(--color-gray-400)}.dark .adm-dropdown__menu ul>li>a:hover{color:var(--color-gray-300);background-color:#ffffff0d}.adm-table thead th{padding-inline:var(--adm-cell-px);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);text-align:start;white-space:nowrap;padding-block:.75rem;font-weight:500}.adm-table tbody tr{border-top:1px solid var(--color-gray-100)}.adm-table tbody tr:hover{background-color:var(--color-gray-50)}.adm-table tbody td{padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);vertical-align:middle}.adm-table tbody tr.adminata-list-row-selected{background-color:var(--color-brand-50)}.dark .adm-table thead th{border-bottom-color:var(--color-gray-800);color:var(--color-gray-400)}.dark .adm-table tbody tr{border-top-color:var(--color-gray-800)}.dark .adm-table tbody tr:hover{background-color:#ffffff08}.dark .adm-table tbody td{color:var(--color-gray-300)}.dark .adm-table tbody tr.adminata-list-row-selected{background-color:#465fff1f}.adm-pagination>li>a,.adm-pagination>li>span{border-radius:var(--radius-control);min-width:2.25rem;height:2.25rem;color:var(--color-gray-600);font-size:var(--text-theme-sm);justify-content:center;align-items:center;padding-inline:.5rem;font-weight:500;display:inline-flex}.adm-pagination>li>a:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}.adm-pagination>li.active>a,.adm-pagination>li.active>span{background-color:var(--color-brand-500);color:var(--color-white)}.adm-pagination>li.disabled>a,.adm-pagination>li.disabled>span{cursor:not-allowed;opacity:.5}.dark .adm-pagination>li>a,.dark .adm-pagination>li>span{color:var(--color-gray-400)}.dark .adm-pagination>li>a:hover{color:var(--color-gray-200);background-color:#ffffff0d}.menu-item-arrow{margin-inline-start:auto;transition:transform .15s ease-out}.menu-item[aria-expanded=true] .menu-item-arrow{transform:rotate(180deg)}.menu-item-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .menu-item-text{display:none}.adm-shell[data-sidebar=collapsed] .menu-dropdown .menu-item-text{display:block}.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item>.menu-item-text{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;display:block;position:absolute;overflow:hidden}.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item>.menu-item-arrow{display:none}}.adm-sidebar a:focus-visible,.adm-sidebar button:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px}@media (width>=1024px){.adm-main{margin-inline-start:var(--adm-sidebar-w);transition:margin-inline-start .2s ease-out}.adm-shell[data-sidebar=collapsed] .adm-main{margin-inline-start:var(--adm-sidebar-collapsed-w)}}@media (prefers-reduced-motion:reduce){.adm-main{transition:none}}.adm-breadcrumb li+li:before{content:"";border-top:1.5px solid var(--color-gray-400);border-inline-end:1.5px solid var(--color-gray-400);width:.375rem;height:.375rem;margin-inline:.375rem;transform:rotate(45deg)}[dir=rtl] .adm-breadcrumb li+li:before{transform:rotate(-135deg)}.adm-breadcrumb li{align-items:center;display:flex}.adm-breadcrumb a{color:var(--color-gray-500);font-size:var(--text-theme-sm)}.adm-breadcrumb a:hover{color:var(--color-gray-700)}.adm-breadcrumb .active{color:var(--color-gray-800);font-size:var(--text-theme-sm)}.adm-sticky.stuck{z-index:var(--z-index-sticky);border-top:1px solid var(--color-gray-200);background-color:var(--color-white);box-shadow:var(--shadow-theme-lg);position:sticky;bottom:0}.dark .adm-breadcrumb .active{color:#ffffffe6}.dark .adm-breadcrumb a{color:var(--color-gray-400)}.dark .adm-breadcrumb a:hover{color:var(--color-gray-200)}.dark .adm-sticky.stuck{border-top-color:var(--color-gray-800);background-color:var(--color-gray-900)}.adminata-list-field-readmore{max-width:100%;display:inline-block}.adminata-readmore-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adminata-readmore-content[data-expanded=true]{display:block;overflow:visible}.adminata-list-field-actions .adm-btn-icon{border:1px solid var(--color-gray-200);background-color:var(--color-white)}.adminata-list-field-actions .adm-btn-icon:disabled{cursor:not-allowed;opacity:.5}.dark .adminata-list-field-actions .adm-btn-icon{border-color:var(--color-gray-700);background-color:#ffffff08}.adm-table th.adminata-list-field-header-batch,.adm-table td.adminata-list-field-batch,.adm-table th.adminata-list-field-header-select,.adm-table td.adminata-list-field-select,.adm-table th.adminata-list-field-header-actions,.adm-table td.adminata-list-field-actions{white-space:nowrap;width:1%}.adm-table tbody tr.adminata-list-row-link{cursor:pointer}.adm-show-table tr{border-top:1px solid var(--color-gray-100)}.adm-show-table tr:first-child{border-top:0}.adm-show-table th{width:30%;padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-500);font-size:var(--text-theme-sm);text-align:start;vertical-align:top;font-weight:500}.adm-show-table td{padding-inline:var(--adm-cell-px);padding-block:var(--adm-cell-py);color:var(--color-gray-800);font-size:var(--text-theme-sm);vertical-align:top}.dark .adm-show-table tr{border-top-color:var(--color-gray-800)}.dark .adm-show-table th{color:var(--color-gray-400)}.dark .adm-show-table td{color:#ffffffe6}@keyframes adm-spin{to{transform:rotate(360deg)}}}@layer utilities{.adm-sidebar-filter{margin-bottom:1rem;position:relative}.adm-sidebar-filter>.adm-input{padding-inline-start:2.5rem}.adm-sidebar-filter>.fa-magnifying-glass{inset-inline-start:.875rem;top:calc(var(--adm-control-h) / 2);color:var(--color-gray-400);pointer-events:none;position:absolute;translate:0 -50%}.adm-sidebar-filter>[role=status]>span{color:var(--color-gray-500);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);margin-top:.75rem;padding-inline:.75rem;display:block}.adm-sidebar-filter>[role=status]>span:where(.dark,.dark *){color:var(--color-gray-400)}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-filter{display:none}}.collapse{visibility:collapse}.visible{visibility:visible}.adm-overlay{z-index:var(--z-index-overlay);background-color:#10182880;position:fixed;inset:0}.adm-shell[data-sidebar-mobile=open] .adm-overlay{z-index:calc(var(--z-index-modal) - 1)}.adm-combobox__listbox{z-index:var(--z-index-popover);border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-white);max-height:16rem;box-shadow:var(--shadow-theme-lg);margin-top:.25rem;padding:.25rem;position:absolute;inset-inline:0;overflow-y:auto}.adm-combobox__listbox:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}.adm-sidebar{z-index:var(--z-index-sidebar);width:var(--adm-sidebar-w);border-inline-end:1px solid var(--color-gray-200);background-color:var(--color-white);flex-direction:column;padding-inline:1.25rem;transition:transform .2s ease-out,width .2s ease-out;display:flex;position:fixed;inset-block:0;inset-inline-start:0}@media (prefers-reduced-motion:reduce){.adm-shell .adm-sidebar{transition:none}}.adm-sidebar:where(.dark,.dark *){border-inline-end-color:var(--color-gray-800);background-color:var(--color-black)}@media not all and (width>=1024px){.adm-shell .adm-sidebar{transform:translate(-100%)}[dir=rtl] .adm-shell .adm-sidebar{transform:translate(100%)}.adm-shell[data-sidebar-mobile=open] .adm-sidebar{z-index:var(--z-index-modal);transform:translate(0)}}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar{width:var(--adm-sidebar-collapsed-w)}.adm-shell[data-sidebar=collapsed] .adm-sidebar:has([data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]){z-index:calc(var(--z-index-header) + 1)}}.adm-skip-link{z-index:var(--z-index-skip-link);border-radius:var(--radius-control);background-color:var(--color-brand-600);color:var(--color-white);font-size:var(--text-theme-sm);inset-inline-start:-9999px;padding:.75rem 1rem;font-weight:500;position:absolute;top:0}.adm-skip-link:focus{inset-inline-start:.5rem;top:.5rem}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-dropdown{display:none}}.menu-dropdown{flex-direction:column;gap:.25rem;margin-top:.5rem;padding-inline-start:2.25rem;display:flex}.menu-item[aria-expanded=false]+.menu-dropdown{display:none}.menu-dropdown[data-sliding]{transition:height .5s ease-in-out;overflow:hidden}@media (prefers-reduced-motion:reduce){.menu-dropdown[data-sliding]{transition:none}}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown{top:var(--adm-menu-popup-top,.5rem);width:max-content;min-width:12rem;max-width:var(--adm-sidebar-w);border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);max-height:calc(100vh - 1rem);box-shadow:var(--shadow-theme-lg);margin:0;padding:.5rem;display:flex;position:fixed;inset-inline-start:calc(var(--adm-menu-popup-start,var(--adm-sidebar-collapsed-w)) + .5rem);overflow-y:auto}.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}}.adm-dropdown__menu{z-index:var(--z-index-dropdown);border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);width:max-content;min-width:12rem;max-width:min(92vw,60rem);box-shadow:var(--shadow-theme-lg);margin-top:.5rem;padding:.5rem;position:absolute;inset-inline-end:0}.adm-dropdown__menu:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark)}.adm-header{z-index:var(--z-index-header);width:100%;height:var(--adm-header-h);border-bottom:1px solid var(--color-gray-200);background-color:var(--color-white);align-items:center;gap:1rem;padding-inline:1rem;display:flex;position:sticky;top:0}.adm-header:where(.dark,.dark *){border-bottom-color:var(--color-gray-800);background-color:var(--color-gray-900)}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu-item{border-radius:var(--radius-control);width:100%;font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);text-align:start;align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex;position:relative}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu>li>.menu-item{justify-content:center}}.adm-table-scroll{max-width:100%;position:relative;overflow-x:auto}.adm-table-wrap{border-radius:calc(var(--radius-card) - 1px);position:relative;overflow:hidden}.absolute{position:absolute}.adm-combobox,.adm-dropdown{position:relative}.static{position:static}.adm-dropdown__menu-start{inset-inline:0 auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.container{width:100%}@media (width>=375px){.container{max-width:375px}}@media (width>=425px){.container{max-width:425px}}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}@media (width>=2000px){.container{max-width:2000px}}.adm-list-legend{border-top:1px solid var(--color-gray-100);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);color:var(--color-gray-500);flex-wrap:wrap;gap:.75rem 2rem;margin:0;padding:.75rem 1.5rem;display:flex}.adm-list-legend:where(.dark,.dark *){border-top-color:var(--color-gray-800);color:var(--color-gray-400)}.adm-list-legend__item{margin:0}.adm-dropdown__divider{border-top:1px solid var(--color-gray-200);margin-block:.5rem}.adm-dropdown__divider:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-empty-layout .adm-main{margin-inline-start:0}.adm-empty-layout .adm-content{padding:0}.adm-required{color:var(--color-error-500);margin-inline-start:.125rem}.ms-auto{margin-inline-start:auto}.adm-file{border:1px solid var(--color-gray-300);border-radius:var(--radius-control);width:100%;color:var(--color-gray-500);font-size:var(--text-theme-sm);box-shadow:var(--shadow-theme-xs);padding:0;display:block}.adm-file::file-selector-button{padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:0;border-inline-end:1px solid var(--color-gray-300);background-color:var(--color-gray-50);color:var(--color-gray-700);font-size:var(--text-theme-sm);cursor:pointer;border-start-start-radius:var(--radius-control);border-end-start-radius:var(--radius-control);margin-inline-end:.75rem}.adm-file:focus-within{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-file:where(.dark,.dark *){border-color:var(--color-gray-700);color:var(--color-gray-400)}.adm-file:where(.dark,.dark *)::file-selector-button{border-inline-end-color:var(--color-gray-700);background-color:var(--color-gray-800);color:var(--color-gray-400)}.adm-sidebar-release{text-align:center;margin-top:auto;padding-top:1rem}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-release{display:none}}.adm-combobox__status{color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-combobox__status:where(.dark,.dark *){color:var(--color-gray-400)}.adm-combobox__status:empty{display:none}.adm-help{color:var(--color-gray-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-help:where(.dark,.dark *){color:var(--color-gray-400)}.adm-error{color:var(--color-error-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);margin-top:.375rem}.adm-card-subtitle{font-size:var(--text-theme-sm);color:var(--color-gray-500);margin-top:.25rem}.adm-card-subtitle:where(.dark,.dark *){color:var(--color-gray-400)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.adm-tab{color:var(--color-gray-500);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.625rem 1rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.adm-tab:hover{color:var(--color-gray-700)}.adm-tab[aria-selected=true]{border-bottom-color:var(--color-brand-500);color:var(--color-brand-500)}.adm-tab:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px;border-radius:var(--radius-control)}.adm-tab:where(.dark,.dark *){color:var(--color-gray-400)}.adm-tab:where(.dark,.dark *):hover{color:var(--color-gray-200)}.adm-tab:where(.dark,.dark *)[aria-selected=true]{border-bottom-color:var(--color-brand-400);color:var(--color-brand-400)}.adm-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.adm-combobox__chips{flex-wrap:wrap;gap:.375rem;display:flex}.adm-combobox__chips:not(:empty){margin-bottom:.375rem}.adm-sidebar-toolbar{border-bottom:1px solid var(--color-gray-200);justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.adm-sidebar-toolbar:where(.dark,.dark *){border-bottom-color:var(--color-gray-800)}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-sidebar-toolbar{display:none}}.adm-menu-popup-title{border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;padding-block:.5rem;padding-inline:.75rem;font-weight:600;display:none;overflow:hidden}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item[aria-expanded=true]+.menu-dropdown>.adm-menu-popup-title{display:block}}.adm-menu-popup-title:where(.dark,.dark *){border-bottom-color:var(--color-gray-800);color:#ffffffe6}.adm-label{color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);margin-bottom:.375rem;font-weight:500;display:block}.adm-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-form-row{margin-bottom:1.25rem}.adm-form-row:last-child,.mb-0{margin-bottom:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.box-content{box-sizing:content-box}.adm-spinner{border:2px solid var(--color-brand-500);border-top-color:#0000;border-radius:9999px;width:1.25rem;height:1.25rem;animation:.7s linear infinite adm-spin;display:inline-block}.adm-select{width:100%;height:var(--adm-control-h);padding-inline:var(--adm-control-px) 2.5rem;padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23667085' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;display:block}.adm-select:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-select:disabled{cursor:not-allowed;background-color:var(--color-gray-50);color:var(--color-gray-500)}.adm-select:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-input{width:100%;height:var(--adm-control-h);padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);background-color:#0000;transition:border-color .15s,box-shadow .15s;display:block}.adm-input::placeholder{color:var(--color-gray-400)}.adm-input:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-input:disabled{cursor:not-allowed;background-color:var(--color-gray-50);color:var(--color-gray-500)}.adm-input:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-input:where(.dark,.dark *)::placeholder{color:#ffffff4d}.adm-input:where(.dark,.dark *):focus{border-color:var(--color-brand-800)}.adm-input:where(.dark,.dark *):disabled{background-color:var(--color-gray-800)}.adm-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.adm-input::-webkit-calendar-picker-indicator:hover{opacity:1}.adm-chip__remove{width:1rem;height:1rem;color:var(--color-gray-500);border-radius:9999px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.adm-chip__remove:hover{background-color:var(--color-gray-200);color:var(--color-gray-700)}.adm-chip__remove:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:1px}.adm-chip__remove:where(.dark,.dark *){color:var(--color-gray-400)}.adm-chip__remove:where(.dark,.dark *):hover{color:var(--color-gray-200);background-color:#ffffff1a}.adm-btn-icon{border-radius:var(--radius-control);width:2.25rem;height:2.25rem;color:var(--color-gray-500);justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.adm-btn-icon:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.adm-btn-icon:where(.dark,.dark *){color:var(--color-gray-400)}.adm-btn-icon:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-btn-icon:where(.dark,.dark *):hover{color:var(--color-gray-200);background-color:#ffffff0d}.adm-btn{height:var(--adm-control-h);padding-inline:var(--adm-control-px);border-radius:var(--radius-control);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.adm-btn:disabled,.adm-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5}.adm-btn:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-textarea{width:100%;min-height:6rem;padding-inline:var(--adm-control-px);padding-block:var(--adm-control-py);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--color-gray-800);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);box-shadow:var(--shadow-theme-xs);background-color:#0000;display:block}.adm-textarea::placeholder{color:var(--color-gray-400)}.adm-textarea:focus{border-color:var(--color-brand-300);box-shadow:var(--shadow-focus-ring);outline:none}.adm-textarea:where(.dark,.dark *){border-color:var(--color-gray-700);color:#ffffffe6;background-color:#ffffff08}.adm-textarea:where(.dark,.dark *)::placeholder{color:#ffffff4d}.adm-sidebar-nav{flex-direction:column;flex:auto;min-height:0;padding-bottom:1.5rem;display:flex;overflow-y:auto}.adm-dialog{border:1px solid var(--color-gray-200);border-radius:var(--radius-modal);background-color:var(--color-white);width:100%;max-width:32rem;color:var(--color-gray-700);box-shadow:var(--shadow-theme-xl);padding:0}.adm-dialog:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-dark);color:var(--color-gray-300)}.adm-dialog::backdrop{background-color:#10182880}.adm-dialog:not([open]){display:none}.adm-dropdown__item{border-radius:var(--radius-control);width:100%;color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);text-align:start;align-items:center;gap:.75rem;padding-block:.5rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-dropdown__item:hover{background-color:var(--color-gray-100)}.adm-dropdown__item:where(.dark,.dark *){color:var(--color-gray-400)}.adm-dropdown__item:where(.dark,.dark *):hover{color:var(--color-gray-300);background-color:#ffffff0d}.adm-dropdown__item:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:-2px}.adm-btn-block{width:100%;display:flex}.adm-sidebar-header{align-items:center;gap:.5rem;min-width:0;padding-block:2rem 1.75rem;display:flex;overflow:hidden}.adm-sidebar-header img{max-width:calc(var(--adm-sidebar-w) - 2.5rem);object-fit:contain}.adm-input-group{align-items:stretch;display:flex}.adm-input-group>.adm-input{flex:auto;min-width:0}.adm-input-group>.adm-input:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.adm-input-group>.adm-input:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.adm-tablist{border-bottom:1px solid var(--color-gray-200);scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.adm-tablist:where(.dark,.dark *){border-bottom-color:var(--color-gray-800)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.adm-filters{grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem;display:grid}.adm-list-empty{font-size:var(--text-theme-sm);color:var(--color-gray-500);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding-block:3rem;display:flex}.adm-list-empty:where(.dark,.dark *){color:var(--color-gray-400)}.adm-error-list{color:var(--color-error-500);font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);flex-direction:column;gap:.25rem;display:flex}.adm-error-list>li{align-items:baseline;gap:.375rem;display:flex}.adm-collection{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.adm-list-footer{border-top:1px solid var(--color-gray-100);flex-direction:column;gap:1rem;padding:1rem 1.5rem;display:flex}.adm-list-footer:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-choice-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.adm-menu{flex-direction:column;gap:1rem;display:flex}.adm-tabs{flex-direction:column;gap:1.5rem;display:flex}.adm-card-footer{padding-inline:var(--adm-card-p);border-top:1px solid var(--color-gray-100);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding-block:1rem;display:flex}.adm-card-footer:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-card-success .adm-card-footer{border-top-color:var(--color-success-200)}.adm-card-error .adm-card-footer{border-top-color:var(--color-error-200)}.adm-card-warning .adm-card-footer{border-top-color:var(--color-warning-200)}.adm-card-info .adm-card-footer{border-top-color:var(--color-blue-light-200)}.adm-card-success .adm-card-footer:where(.dark,.dark *){border-top-color:#12b76a4d}.adm-card-error .adm-card-footer:where(.dark,.dark *){border-top-color:#f044384d}.adm-card-warning .adm-card-footer:where(.dark,.dark *){border-top-color:#f790094d}.adm-card-info .adm-card-footer:where(.dark,.dark *){border-top-color:#0ba5ec4d}.adm-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.adm-list-legend__group{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:inline-flex}.adm-dialog__footer{border-top:1px solid var(--color-gray-100);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.adm-dialog__footer:where(.dark,.dark *){border-color:var(--color-gray-800)}.adm-dialog__header{border-bottom:1px solid var(--color-gray-100);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.adm-dialog__header:where(.dark,.dark *){border-color:var(--color-gray-800)}.adm-card-header{padding-inline:var(--adm-card-p);justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.adm-alert{border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-white);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.adm-alert:where(.dark,.dark *){border-color:var(--color-gray-800);color:var(--color-gray-300);background-color:#ffffff08}.adm-badge{font-size:var(--text-theme-xs);line-height:var(--text-theme-xs--line-height);background-color:var(--color-gray-100);color:var(--color-gray-700);border-radius:9999px;align-items:center;gap:.25rem;padding-block:.125rem;padding-inline:.5rem;font-weight:500;display:inline-flex}.adm-badge:where(.dark,.dark *){color:var(--color-gray-300);background-color:#ffffff0d}.adm-chip{border-radius:var(--radius-control);background-color:var(--color-gray-100);color:var(--color-gray-700);font-size:var(--text-theme-xs);align-items:center;gap:.375rem;padding-block:.125rem;padding-inline:.5rem;display:inline-flex}.adm-chip:where(.dark,.dark *){color:var(--color-gray-300);background-color:#ffffff0d}.menu-dropdown-item{border-radius:var(--radius-control);font-size:var(--text-theme-sm);align-items:center;gap:.75rem;padding-block:.375rem;padding-inline:.75rem;font-weight:500;display:flex}.adm-checkbox-label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);color:var(--color-gray-700);align-items:center;gap:.75rem;display:inline-flex}.adm-checkbox-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-radio-label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);color:var(--color-gray-700);align-items:center;gap:.75rem;display:inline-flex}.adm-radio-label:where(.dark,.dark *){color:var(--color-gray-400)}.adm-breadcrumb{align-items:center;gap:.375rem;list-style:none;display:flex}.adm-pagination{align-items:center;gap:.25rem;list-style:none;display:flex}.adm-icon-enum{align-items:center;gap:.5rem;display:inline-flex}.adm-input-affix{padding-inline:var(--adm-control-px);border:1px solid var(--color-gray-300);background-color:var(--color-gray-50);color:var(--color-gray-500);font-size:var(--text-theme-sm);white-space:nowrap;align-items:center;display:inline-flex}.adm-input-affix:first-child{border-inline-end:0;border-start-start-radius:var(--radius-control);border-end-start-radius:var(--radius-control)}.adm-input-affix:last-child{border-inline-start:0;border-start-end-radius:var(--radius-control);border-end-end-radius:var(--radius-control)}.adm-input-affix:where(.dark,.dark *){border-color:var(--color-gray-700);color:var(--color-gray-400);background-color:#ffffff08}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] .adm-menu-group-title{display:none}}.adm-menu-group-title{color:var(--color-gray-500);font-size:var(--text-theme-xs);text-transform:uppercase;line-height:20px}.adm-menu-group-title:where(.dark,.dark *){color:var(--color-gray-400)}.block{display:block}.contents{display:contents}.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}.adm-select-multiple{height:auto;min-height:8rem;padding-right:var(--adm-control-px);background-image:none}.adm-radio{border:1px solid var(--color-gray-300);background-color:var(--color-white);appearance:none;border-radius:9999px;flex-shrink:0;width:1.25rem;height:1.25rem;transition:background-color .15s,border-color .15s}.adm-radio:checked{border-width:6px;border-color:var(--color-brand-500);background-color:var(--color-white)}.adm-radio:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-radio:disabled{cursor:not-allowed;background-color:var(--color-gray-100)}.adm-radio:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:#0000}.adm-radio:where(.dark,.dark *):checked{background-color:var(--color-gray-900)}.adm-checkbox{border:1px solid var(--color-gray-300);background-color:var(--color-white);appearance:none;border-radius:.25rem;flex-shrink:0;width:1.25rem;height:1.25rem;transition:background-color .15s,border-color .15s}.adm-checkbox:checked,.adm-checkbox:indeterminate{border-color:var(--color-brand-500);background-color:var(--color-brand-500);background-position:50%;background-repeat:no-repeat}.adm-checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11.667 3.5-6.417 6.417L2.333 7'/%3E%3C/svg%3E")}.adm-checkbox:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 14 14'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-width='2' d='M3.5 7h7'/%3E%3C/svg%3E")}.adm-checkbox:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.adm-checkbox:disabled{cursor:not-allowed;background-color:var(--color-gray-100)}.adm-checkbox:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:#0000}.adm-checkbox:where(.dark,.dark *):checked,.adm-checkbox:where(.dark,.dark *):indeterminate{border-color:var(--color-brand-500);background-color:var(--color-brand-500)}.adm-badge-icon{border-radius:var(--radius-control);width:2.25rem;height:2.25rem;font-size:inherit;justify-content:center;gap:0;padding:0;line-height:1;text-decoration:none}.adm-btn-icon-round{border:1px solid var(--color-gray-200);background-color:var(--color-white);border-radius:9999px;width:2.75rem;height:2.75rem}.adm-btn-icon-round:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:var(--color-gray-900)}.adm-btn-sm{height:2.25rem;font-size:var(--text-theme-xs);padding-inline:.75rem}.h-8{height:calc(var(--spacing) * 8)}.max-h-\[75vh\]{max-height:75vh}.adm-shell{min-height:100vh}.adm-show-table{border-collapse:collapse;width:100%}.adm-collection-row{border:1px solid var(--color-gray-200);border-radius:var(--radius-control);background-color:var(--color-gray-50);width:100%;padding:.75rem}.adm-collection-row:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:#ffffff08}.w-auto{width:auto}.adm-dialog-lg{max-width:48rem}.adm-dialog-list{max-width:64rem}.adm-dialog-sm{max-width:24rem}.adm-table{border-collapse:collapse;text-align:start;min-width:100%}.min-w-0{min-width:0}.min-w-20{min-width:calc(var(--spacing) * 20)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-40{min-width:calc(var(--spacing) * 40)}.flex-1{flex:1}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.adm-combobox__option{border-radius:var(--radius-control);color:var(--color-gray-700);font-size:var(--text-theme-sm);cursor:pointer;padding-block:.5rem;padding-inline:.75rem}.adm-combobox__option:where(.dark,.dark *){color:var(--color-gray-300)}.adm-combobox__option[aria-selected=true],.adm-combobox__option:hover{background-color:var(--color-brand-50);color:var(--color-brand-600)}.adm-combobox__option:where(.dark,.dark *)[aria-selected=true],.adm-combobox__option:where(.dark,.dark *):hover{color:var(--color-brand-400);background-color:#465fff1f}.resize{resize:both}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.adm-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-card);background-color:var(--color-white);overflow:visible}.adm-card:where(.dark,.dark *){border-color:var(--color-gray-800);background-color:#ffffff08}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.adm-callout{border-left:4px solid var(--color-gray-300);border-radius:var(--radius-control);background-color:var(--color-gray-50);color:var(--color-gray-700);font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height);padding:1rem}.adm-callout:where(.dark,.dark *){border-left-color:var(--color-gray-700);color:var(--color-gray-300);background-color:#ffffff08}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border-none{--tw-border-style:none;border-style:none}.adm-btn-secondary{border:1px solid var(--color-gray-300);background-color:var(--color-white);color:var(--color-gray-700)}.adm-btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50)}.adm-btn-secondary:where(.dark,.dark *){border-color:var(--color-gray-700);background-color:var(--color-gray-800);color:var(--color-gray-300)}.adm-btn-secondary:where(.dark,.dark *):hover:not(:disabled){background-color:var(--color-gray-700)}.adm-alert-error{border-color:var(--color-error-200);background-color:var(--color-error-50);color:var(--color-error-700)}.adm-alert-error:where(.dark,.dark *){color:var(--color-error-300);background-color:#f044381f;border-color:#f044384d}.adm-alert-info{border-color:var(--color-blue-light-200);background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-alert-info:where(.dark,.dark *){color:var(--color-blue-light-300);background-color:#0ba5ec1f;border-color:#0ba5ec4d}.adm-alert-success{border-color:var(--color-success-200);background-color:var(--color-success-50);color:var(--color-success-700)}.adm-alert-success:where(.dark,.dark *){color:var(--color-success-300);background-color:#12b76a1f;border-color:#12b76a4d}.adm-alert-warning{border-color:var(--color-warning-200);background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-alert-warning:where(.dark,.dark *){color:var(--color-warning-300);background-color:#f790091f;border-color:#f790094d}.adm-card-error{border-color:var(--color-error-200);background-color:var(--color-error-50)}.adm-card-error:where(.dark,.dark *){background-color:#f044381f;border-color:#f044384d}.adm-card-info{border-color:var(--color-blue-light-200);background-color:var(--color-blue-light-50)}.adm-card-info:where(.dark,.dark *){background-color:#0ba5ec1f;border-color:#0ba5ec4d}.adm-card-success{border-color:var(--color-success-200);background-color:var(--color-success-50)}.adm-card-success:where(.dark,.dark *){background-color:#12b76a1f;border-color:#12b76a4d}.adm-card-warning{border-color:var(--color-warning-200);background-color:var(--color-warning-50)}.adm-card-warning:where(.dark,.dark *){background-color:#f790091f;border-color:#f790094d}.adm-input-error{border-color:var(--color-error-500)}.adm-input-error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 4px #f044381f}.border-error-200{border-color:var(--color-error-200)}.adm-card-body{padding:var(--adm-card-p);border-top:1px solid var(--color-gray-100)}.adm-card-body:where(.dark,.dark *){border-top-color:var(--color-gray-800)}.adm-card-body:first-child{border-top:0}.adm-card-success .adm-card-body{border-top-color:var(--color-success-200)}.adm-card-error .adm-card-body{border-top-color:var(--color-error-200)}.adm-card-warning .adm-card-body{border-top-color:var(--color-warning-200)}.adm-card-info .adm-card-body{border-top-color:var(--color-blue-light-200)}.adm-card-success .adm-card-body:where(.dark,.dark *){border-top-color:#12b76a4d}.adm-card-error .adm-card-body:where(.dark,.dark *){border-top-color:#f044384d}.adm-card-warning .adm-card-body:where(.dark,.dark *){border-top-color:#f790094d}.adm-card-info .adm-card-body:where(.dark,.dark *){border-top-color:#0ba5ec4d}.adm-callout-danger{border-left-color:var(--color-error-500);background-color:var(--color-error-50);color:var(--color-error-700)}.adm-callout-danger:where(.dark,.dark *){border-left-color:var(--color-error-500);color:var(--color-error-300);background-color:#f044381f}.adm-callout-info{border-left-color:var(--color-blue-light-500);background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-callout-info:where(.dark,.dark *){border-left-color:var(--color-blue-light-500);color:var(--color-blue-light-300);background-color:#0ba5ec1f}.adm-callout-success{border-left-color:var(--color-success-500);background-color:var(--color-success-50);color:var(--color-success-700)}.adm-callout-success:where(.dark,.dark *){border-left-color:var(--color-success-500);color:var(--color-success-300);background-color:#12b76a1f}.adm-callout-warning{border-left-color:var(--color-warning-500);background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-callout-warning:where(.dark,.dark *){border-left-color:var(--color-warning-500);color:var(--color-warning-300);background-color:#f790091f}.adm-btn-ghost{color:var(--color-gray-600)}.adm-btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-gray-800)}.adm-btn-ghost:where(.dark,.dark *){color:var(--color-gray-400)}.adm-btn-ghost:where(.dark,.dark *):hover:not(:disabled){color:var(--color-gray-200);background-color:#ffffff0d}.menu-item-inactive{color:var(--color-gray-700)}.menu-item-inactive:hover{background-color:var(--color-gray-100)}.menu-item-inactive:where(.dark,.dark *){color:var(--color-gray-300)}.menu-item-inactive:where(.dark,.dark *):hover{background-color:#ffffff0d}@media (width>=1024px){.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item-inactive[aria-expanded=true]{background-color:var(--color-gray-100)}.adm-shell[data-sidebar=collapsed] [data-adminata-menu-rail]>.adm-menu>li>.menu-item-inactive[aria-expanded=true]:where(.dark,.dark *){background-color:#ffffff0d}}.adm-badge-brand{background-color:var(--color-brand-50);color:var(--color-brand-600)}.adm-badge-brand:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff26}.adm-badge-error{background-color:var(--color-error-50);color:var(--color-error-700)}.adm-badge-error:where(.dark,.dark *){color:var(--color-error-400);background-color:#f0443826}.adm-badge-info{background-color:var(--color-blue-light-50);color:var(--color-blue-light-700)}.adm-badge-info:where(.dark,.dark *){color:var(--color-blue-light-400);background-color:#0ba5ec26}.adm-badge-success{background-color:var(--color-success-50);color:var(--color-success-700)}.adm-badge-success:where(.dark,.dark *){color:var(--color-success-400);background-color:#12b76a26}.adm-badge-warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.adm-badge-warning:where(.dark,.dark *){color:var(--color-orange-400);background-color:#f7900926}.menu-dropdown-item-active{background-color:var(--color-brand-50);color:var(--color-brand-600)}.menu-dropdown-item-active:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff1f}.menu-dropdown-item-inactive{color:var(--color-gray-500)}.menu-dropdown-item-inactive:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.menu-dropdown-item-inactive:where(.dark,.dark *){color:var(--color-gray-400)}.menu-item-active{background-color:var(--color-brand-50);color:var(--color-brand-600)}.menu-item-active:where(.dark,.dark *){color:var(--color-brand-400);background-color:#465fff1f}.adm-btn-danger{background-color:var(--color-error-600);color:var(--color-white)}.adm-btn-danger:hover:not(:disabled){background-color:var(--color-error-700)}.adm-btn-primary{background-color:var(--color-brand-500);color:var(--color-white)}.adm-btn-primary:hover:not(:disabled){background-color:var(--color-brand-600)}.adm-btn-success{background-color:var(--color-success-700);color:var(--color-white)}.adm-btn-success:hover:not(:disabled){background-color:var(--color-success-800)}.adm-btn-warning{background-color:var(--color-warning-700);color:var(--color-white)}.adm-btn-warning:hover:not(:disabled){background-color:var(--color-warning-800)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white{background-color:var(--color-white)}.adm-card-flush{border-top:0;padding:0}.adm-content{padding:1rem}@media (width>=768px){.adm-content{padding:1.5rem}}.adm-dialog__body{padding:1.5rem}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-5{padding-block:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-right{text-align:right}.adm-icon-enum__label{font-size:var(--text-theme-sm);line-height:var(--text-theme-sm--line-height)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-theme-sm{font-size:var(--text-theme-sm);line-height:var(--tw-leading,var(--text-theme-sm--line-height))}.text-theme-xs{font-size:var(--text-theme-xs);line-height:var(--tw-leading,var(--text-theme-xs--line-height))}.adm-card-title{color:var(--color-gray-800);font-size:1rem;font-weight:500}.adm-card-title:where(.dark,.dark *){color:#ffffffe6}.adm-card-success .adm-card-title{color:var(--color-success-700)}.adm-card-error .adm-card-title{color:var(--color-error-700)}.adm-card-warning .adm-card-title{color:var(--color-warning-700)}.adm-card-info .adm-card-title{color:var(--color-blue-light-700)}.adm-card-success .adm-card-title:where(.dark,.dark *){color:var(--color-success-300)}.adm-card-error .adm-card-title:where(.dark,.dark *){color:var(--color-error-300)}.adm-card-warning .adm-card-title:where(.dark,.dark *){color:var(--color-warning-300)}.adm-card-info .adm-card-title:where(.dark,.dark *){color:var(--color-blue-light-300)}.adm-page-title{color:var(--color-gray-800);font-size:1.25rem;font-weight:600}.adm-page-title:where(.dark,.dark *){color:#ffffffe6}.adm-list-legend__term{text-transform:uppercase;letter-spacing:.02em;font-weight:500}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.adm-btn-icon-delete{color:var(--color-error-500)}.adm-btn-icon-edit{color:var(--color-brand-500)}.adm-btn-icon-history{color:var(--color-gray-500)}.adm-btn-icon-show{color:var(--color-blue-light-500)}.adm-tab-errors{color:var(--color-error-500)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow-theme-xs{--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#1018280d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}@media (hover:hover){.hover\:text-gray-700:hover{color:var(--color-gray-700)}}@media (width>=640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:block{display:block}.sm\:hidden{display:none}}@media (width>=768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.md\:block{display:block}.md\:hidden{display:none}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}}@media (width>=1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:w-\[430px\]{width:430px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:inline-block:where(.dark,.dark *){display:inline-block}:where(.dark\:divide-gray-800:where(.dark,.dark *)>:not(:last-child)){border-color:var(--color-gray-800)}.dark\:border-error-500\/30:where(.dark,.dark *){border-color:#f044384d}@supports (color:color-mix(in lab, red, red)){.dark\:border-error-500\/30:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-error-500) 30%, transparent)}}.dark\:bg-gray-800:where(.dark,.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-900:where(.dark,.dark *){background-color:var(--color-gray-900)}.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-white\/90:where(.dark,.dark *){color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.dark\:text-white\/90:where(.dark,.dark *){color:color-mix(in oklab, var(--color-white) 90%, transparent)}}@media (hover:hover){.dark\:hover\:text-gray-200:where(.dark,.dark *):hover{color:var(--color-gray-200)}}}:root{--adm-control-h:2.75rem;--adm-control-px:1rem;--adm-control-py:.625rem;--adm-cell-px:1rem;--adm-cell-py:.75rem;--adm-card-p:1.5rem;--adm-sidebar-w:290px;--adm-sidebar-collapsed-w:90px;--adm-header-h:4rem}html[data-density=compact]{--adm-control-h:2.25rem;--adm-control-px:.75rem;--adm-control-py:.375rem;--adm-cell-px:.75rem;--adm-cell-py:.5rem;--adm-card-p:1rem;--adm-header-h:3.25rem}html.no-js [data-requires-js]{display:none}@font-face{font-family:Outfit Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fonts/outfit-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fonts/outfit-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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:"";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:"";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:"";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:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} diff --git a/src/Resources/views/standard_layout.html.twig b/src/Resources/views/standard_layout.html.twig index b91e23c0c..4b2ea48f5 100644 --- a/src/Resources/views/standard_layout.html.twig +++ b/src/Resources/views/standard_layout.html.twig @@ -262,6 +262,28 @@ file that was distributed with this source code. {% block side_bar_after_nav_content %}{% endblock %} {% endblock adminata_side_nav %} + {# + The application's released version (`options.released_version`), at the + end of the sidebar: a deploy passes it in from its environment through the + application's configuration, and adminata shows it as it comes, in one quiet + badge. Nothing at all when it is empty. It is the last thing in the menu's + scrolling box, so it never covers an entry: under a menu taller than the box + it comes right after the last item, out of sight until the menu is scrolled + to its end; under a shorter one the box's free space goes above it and it + sits at the bottom of the sidebar. Before the place script below, so the box + already has its full height when the menu is put back in place. The + collapsed rail hides it with the rest of the text. + #} + {% block adminata_sidebar_release %} + {% set _released_version = adminata_config.getOption('released_version') %} + {% if _released_version is not empty %} +

+ {{ 'sidebar_release'|trans({}, 'AdminataBundle') }} + {{ _released_version }} +

+ {% endif %} + {% endblock adminata_sidebar_release %} + {# The sidebar keeps its place across page loads. The menu scrolls inside this box, and a page load used to start the box at the top, so the entry @@ -362,23 +384,6 @@ file that was distributed with this source code. {% endblock adminata_sidebar_place %} - {# - The application's released version (`options.released_version`), at the foot - of the rail: a deploy passes it in from its environment through the - application's configuration, and adminata shows it as it comes, in one quiet - badge. Nothing at all when it is empty. It sits after `.adm-sidebar-nav`, not - in it, so a short menu leaves it at the bottom and a long one scrolls above it. - The collapsed rail hides it with the rest of the text. - #} - {% block adminata_sidebar_release %} - {% set _released_version = adminata_config.getOption('released_version') %} - {% if _released_version is not empty %} -

- {{ 'sidebar_release'|trans({}, 'AdminataBundle') }} - {{ _released_version }} -

- {% endif %} - {% endblock adminata_sidebar_release %} {% endblock adminata_left_side %} diff --git a/tests-adminata/App/config/packages.yaml b/tests-adminata/App/config/packages.yaml index db9b14a06..6c8bf8cfe 100644 --- a/tests-adminata/App/config/packages.yaml +++ b/tests-adminata/App/config/packages.yaml @@ -7,6 +7,13 @@ parameters: env(ADMINATA_DEMO_SIDEBAR_LOGOUT): 'true' env(ADMINATA_DEMO_RELEASED_VERSION): '' +# The browser suites (APP_ENV=browser, Adminata\Tests\Support\DemoServer) see a released version, +# so that DashboardPantherTest can check where the badge lands on screen; the demo, the screenshot +# baselines and the other suites show none. +when@browser: + parameters: + env(ADMINATA_DEMO_RELEASED_VERSION): 'v10.1.0+3·demo' + framework: secret: adminata-demo http_method_override: false diff --git a/tests-adminata/Functional/DashboardPantherTest.php b/tests-adminata/Functional/DashboardPantherTest.php index 5a9ab8a96..a0f50c791 100644 --- a/tests-adminata/Functional/DashboardPantherTest.php +++ b/tests-adminata/Functional/DashboardPantherTest.php @@ -19,6 +19,7 @@ use Adminata\Tests\App\EventListener\BrowserConsoleRecorderListener; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\WebDriverBy; +use Facebook\WebDriver\WebDriverDimension; use Facebook\WebDriver\WebDriverElement; use Facebook\WebDriver\WebDriverExpectedCondition; use Facebook\WebDriver\WebDriverKeys; @@ -180,6 +181,52 @@ public function testAnOpenedMenuGroupSurvivesNavigation(): void $this->client->executeScript('window.localStorage.removeItem("adminata_sidebar_open");'); } + /** + * The released version ends the sidebar without ever covering the menu (recomaty-panel#650): + * it is the last thing in the menu's scrolling box. Under a menu shorter than the box it sits + * at the bottom of the sidebar; under one taller than the box it comes right after the last + * item, out of sight until the menu is scrolled to its end. The browser environment gives the + * demo a version (tests-adminata/App/config/packages.yaml). + */ + public function testTheReleasedVersionEndsTheSidebarWithoutCoveringTheMenu(): void + { + $window = $this->client->manage()->window(); + $size = $window->getSize(); + + try { + $window->setSize(new WebDriverDimension(1280, 900)); + $this->client->request('GET', $this->url('/admin/dashboard')); + if ('collapsed' === $this->sidebarState()) { + $this->client->executeScript('document.querySelector(\'[data-adminata-layout-target="collapseOnly"]\').click();'); + } + $this->client->executeScript('document.querySelector(\'[data-adminata-sidebar-toolbar-target="collapse"]\').click();'); + + $short = $this->releaseGeometry(); + static::assertFalse($short['overflows'], 'The demo menu, folded, should fit a 900 px window.'); + static::assertLessThanOrEqual(32, $short['belowRelease'], 'Under a short menu the version is not at the bottom of the sidebar.'); + static::assertGreaterThan(40, $short['gapAboveRelease'], 'Under a short menu the version did not move down to the bottom.'); + + $window->setSize(new WebDriverDimension(1280, 420)); + $this->client->executeScript('document.querySelector(\'[data-adminata-sidebar-toolbar-target="expand"]\').click();'); + $this->client->wait(5)->until(fn (): bool => true === $this->client->executeScript( + 'return null === document.querySelector(".adm-sidebar-nav [data-sliding]");' + )); + + $long = $this->releaseGeometry(); + static::assertTrue($long['overflows'], 'The demo menu, unfolded, should overflow a 420 px window.'); + static::assertGreaterThanOrEqual(0, $long['gapAboveRelease'], 'The version covers the end of the menu.'); + static::assertLessThanOrEqual(40, $long['gapAboveRelease'], 'Under a long menu the version is not right after the last item.'); + static::assertGreaterThanOrEqual(0, $long['releaseBelowBox'], 'Under a long menu the version is in view before the menu is scrolled to its end.'); + + $this->client->executeScript('const box = document.querySelector(".adm-sidebar-nav"); box.scrollTop = box.scrollHeight;'); + $end = $this->releaseGeometry(); + static::assertLessThanOrEqual(0, $end['releaseBottomPastBox'], 'Scrolled to its end, the menu does not show the version.'); + static::assertGreaterThanOrEqual(0, $end['gapAboveRelease'], 'Scrolled to its end, the version covers the last item.'); + } finally { + $window->setSize($size); + } + } + /** * The row above the menu: the dashboard and sign-out are plain links, and the two buttons that * fold and unfold every group appear once `adminata-sidebar-toolbar` has found the menu. What @@ -1099,6 +1146,43 @@ private function isDark(): bool return true === $this->client->executeScript('return document.documentElement.classList.contains("dark");'); } + /** + * Where the released version is, against the menu's box, its last visible entry and the + * sidebar, in CSS pixels. + * + * @return array{overflows: bool, belowRelease: int, gapAboveRelease: int, releaseBelowBox: int, releaseBottomPastBox: int} + */ + private function releaseGeometry(): array + { + $geometry = $this->client->executeScript(<<<'JS' + const box = document.querySelector('.adm-sidebar-nav'); + const release = box.querySelector('.adm-sidebar-release'); + const entries = [...box.querySelectorAll('nav a[href], nav [data-adminata-menu-target~="toggle"]')] + .filter((entry) => 0 < entry.getClientRects().length); + const last = entries[entries.length - 1].getBoundingClientRect(); + const shown = release.getBoundingClientRect(); + const frame = box.getBoundingClientRect(); + const sidebar = document.querySelector('aside.adm-sidebar').getBoundingClientRect(); + + return { + overflows: box.scrollHeight > box.clientHeight + 1, + belowRelease: Math.round(sidebar.bottom - shown.bottom), + gapAboveRelease: Math.round(shown.top - last.bottom), + releaseBelowBox: Math.round(shown.top - frame.bottom), + releaseBottomPastBox: Math.round(shown.bottom - frame.bottom), + }; + JS); + static::assertIsArray($geometry); + + return [ + 'overflows' => true === $geometry['overflows'], + 'belowRelease' => (int) $geometry['belowRelease'], + 'gapAboveRelease' => (int) $geometry['gapAboveRelease'], + 'releaseBelowBox' => (int) $geometry['releaseBelowBox'], + 'releaseBottomPastBox' => (int) $geometry['releaseBottomPastBox'], + ]; + } + private function sidebarState(): string { return (string) $this->client->executeScript('return document.body.dataset.sidebar;'); diff --git a/tests-adminata/Functional/DemoSmokeTest.php b/tests-adminata/Functional/DemoSmokeTest.php index 552feda3c..86fbd0f7c 100644 --- a/tests-adminata/Functional/DemoSmokeTest.php +++ b/tests-adminata/Functional/DemoSmokeTest.php @@ -140,8 +140,11 @@ public function testTheSidebarSignOutCanBeTurnedOff(): void /** * `options.released_version` is the application's released version, shown as it comes in one - * badge at the foot of the rail, after the menu's scrolling box, with a screen-reader label - * before it. The value is the application's text, so it is escaped like any other. + * badge at the end of the sidebar, with a screen-reader label before it: the last thing in the + * menu's scrolling box, after the menu, so it never covers an entry (recomaty-panel#650) — and + * before the place script, which needs the box at its full height. The value is the + * application's text, so it is escaped like any other. Where it lands on screen, under a short + * menu and a long one, is DashboardPantherTest's. */ public function testTheReleasedVersionIsShownAtTheFootOfTheSidebar(): void { @@ -154,9 +157,11 @@ public function testTheReleasedVersionIsShownAtTheFootOfTheSidebar(): void $crawler = $client->request('GET', '/admin/dashboard'); static::assertResponseIsSuccessful(); - $release = $crawler->filter('aside.adm-sidebar > p.adm-sidebar-release'); - static::assertCount(1, $release, 'The released version is not at the foot of the sidebar.'); - static::assertCount(1, $crawler->filter('aside.adm-sidebar > .adm-sidebar-nav + p.adm-sidebar-release'), 'The version is not right after the menu.'); + $release = $crawler->filter('aside.adm-sidebar > .adm-sidebar-nav > p.adm-sidebar-release'); + static::assertCount(1, $release, 'The released version is not in the menu\'s scrolling box.'); + static::assertCount(1, $crawler->filter('.adm-sidebar-nav > nav[data-controller~="adminata-menu"] ~ p.adm-sidebar-release'), 'The version is not after the menu.'); + static::assertCount(1, $crawler->filter('.adm-sidebar-nav > p.adm-sidebar-release ~ script[data-adminata-sidebar-place]'), 'The version is not before the place script.'); + static::assertCount(0, $crawler->filter('aside.adm-sidebar > p.adm-sidebar-release'), 'The version is outside the box again, over the end of a long menu.'); static::assertSame('v10.1.0+3·ab12cd3', $release->filter('.adm-badge')->text(), 'The version is not shown as it was configured.'); static::assertSame('Version', $release->filter('.sr-only')->text()); static::assertStringNotContainsString('ab12cd3', (string) $client->getResponse()->getContent(), 'The version was not escaped.'); diff --git a/tests-adminata/fixtures/js/category-list.html b/tests-adminata/fixtures/js/category-list.html index 81ccd6cd9..96ba34a92 100644 --- a/tests-adminata/fixtures/js/category-list.html +++ b/tests-adminata/fixtures/js/category-list.html @@ -151,6 +151,7 @@ + - + - + - + - + - + - + - +