').append($content).find(options.selector);
- if(options.replace) $target.replaceWith($content);
- else $target.empty().append($content);
- }
- else
- {
- loadError = new Error(`ZIN: Target "${target}" not found.`);
- if(options.error) options.error(data, loadError);
- }
- },
- error: (xhr, type, error) =>
- {
- loadError = error;
- if(options.error) options.error(error, options);
- if(DEBUG) console.error('[ZIN] ', 'Fetch data failed from ' + url, {xhr, type, error});
- zui.Messager.show('ZIN: Fetch data failed from ' + url);
- },
- complete: () =>
- {
- toggleLoading(target, false);
- if(options.complete) options.complete(remoteData, loadError, options);
- }
- };
- return $.ajax(ajaxOptions);
- }
-
- function postAndLoadPage(url, data, selector, options)
- {
- if(typeof selector === 'object')
- {
- options = selector;
- selector = null;
- }
- options = $.extend({url: url, selector: selector, method: 'POST', data, contentType: false}, options);
- if(options.app) openPage(url, options.app, options);
- else loadPage(options);
- }
-
- function loadCurrentPage(options)
- {
- if(typeof options === 'string') options = {selector: options};
- return loadPage($.extend({url: currentAppUrl}, options));
- }
-
- function reloadPage()
- {
- loadPage({url: currentAppUrl, selector: 'body>*,title>*,#configJS'});
- }
-
- function openPage(url, appCode, options)
- {
- if(DEBUG) console.log('[APP] ', 'open:', url, appCode);
- if(!window.config.zin)
- {
- location.href = $.createLink('index', 'app', 'url=' + btoa(url));
- return;
- }
- $.apps.openApp(url, $.extend({code: appCode, forceReload: true}, options));
- }
-
- /**
- * Search history and go back to specified path.
- *
- * @param {string} target Back target, can be app name or module-method path.
- * @param {string} url Fallback url.
- * @returns {void}
- */
- function goBack(target, url)
- {
- if(!target || target === 'APP' || target === true) target = currentCode;
- else if(target === 'GLOBAL') target = '';
-
- if(target && target.includes('-'))
- {
- const parts = target.split('-');
- return loadPage($.createLink(parts[0], parts[1]));
- }
- if(url) return loadPage(url);
-
- window.history.back();
- }
-
- /**
- * Open url in app.
- * @param {string} url
- * @param {Object} options
- * @param {string} options.url
- * @param {string} options.app
- * @param {string} options.load
- * @param {string} options.back
- * @param {Event} event
- */
- function openUrl(url, options, event)
- {
- if(typeof url === 'object')
- {
- options = url;
- url = options.url;
- }
- else
- {
- options = options || {};
- options.url = url;
- }
-
- if(is18version) return $.apps.open(options.url, options.app); // 18+zin.
-
- if(DEBUG) console.log('[APP] open url', url, options);
-
- if(options.confirm)
- {
- return zui.Modal.confirm(options.confirm).then(confirmed =>
- {
- if(!confirmed) return;
- openUrl(url, $.extend({}, options, {confirm: false}), event);
- });
- }
-
- const load = options.load;
- if(typeof load === 'string' || load)
- {
- if(!options.target) options.target = options.loadId;
- if(url) options.url = url;
- if(load)
- {
- if(load === 'table')
- {
- if(!options.target && event) options.target = $(event.target).closest('.dtable').attr('id');
- return loadTable(options.url, options.target, options);
- }
- if(load === 'modal')
- {
- if(!options.target && event) options.target = $(event.target).closest('.modal').attr('id');
- return loadModal(options.url, options.target, options);
- }
- if(load === 'target') return loadTarget(options);
- if(load !== 'APP' && typeof load === 'string') options.selector = load;
- delete options.load;
- }
- return loadPage(options);
- }
-
- if(typeof options.back === 'string') return goBack(options.back, url);
-
- openPage(url, options.app);
- }
-
- /**
- * Parse wg selector.
- * @param {string} selector
- * @return {object|null}
- */
- function parseSelector(selector)
- {
- selector = selector.trim();
- let len = selector.length;
-
- if(len < 1) return null;
-
- const result = {class: [], id: '', tag: '', inner: false, name: '', first: false, selector: selector};
- if(selector.includes('/'))
- {
- const parts = selector.split('/', 2);
- result.name = parts[0];
- selector = parts[1];
- len = selector.length;
- }
- selector = selector.replace('> *', '>*');
- if(selector.endsWith('>*'))
- {
- result.inner = true;
- selector = selector.substring(0, selector.length - 2);
- len = selector.length;
- }
-
- let type = 'tag';
- let current = '';
- let updateResult = function(result, current, type)
- {
- if(!current.length) return;
-
- if(type === 'class')
- {
- result[type].push(current);
- }
- else if(type === 'option')
- {
- current.split('&').forEach(function(option)
- {
- const parts = option.split('=');
- result[parts[0]] = parts[1] || true;
- });
- }
- else
- {
- result[type] = current;
- }
- };
-
- for(let i = 0; i < len; i++)
- {
- let c = selector[i];
- let t = '';
-
- if(c === '#' && type !== 'option')
- {
- t = 'id';
- }
- else if(c === '.' && type !== 'option')
- {
- t = 'class';
- }
- else if(c === '(' && type !== 'option' && selector.endsWith(')'))
- {
- let command = selector.substring(i + 1, selector.length - 1);
- if(!command) command = current;
- result.command = command;
- break;
- }
- else if(c === ':')
- {
- t = 'option';
- }
-
- if(!t)
- {
- current += c;
- }
- else
- {
- updateResult(result, current, type);
- current = '';
- type = t;
- }
- }
- updateResult(result, current, type);
-
- if(!result.name.length)
- {
- if(result.id.length) result.name = result.id;
- else if(result.tag) result.name = result.tag;
- else result.name = selector;
- }
- result.select = [result.tag, result.id.length ? '#' + result.id : '', result.class.length ? '.' + result.class.join('.') : ''].join('');
-
- return result;
- }
-
- function handleClickLinkIn18(e) // 18+zin.
- {
- var $link = $(e.target).closest('a,.open-url');
- if(!$link.length) return;
-
- if(!$link.length || $link.hasClass('ajax-submit') || $link.hasClass('not-open-url') || ($link.attr('target') || '')[0] === '_') return;
-
- const options = $link.dataset();
- const url = options.url || $link.attr('href');
- if(options.toggle)
- {
- if(options.toggle === 'iframeModal')
- {
- var modalTrigger = $link.data('zui.modaltrigger');
- if(!modalTrigger)
- {
- delete options.toggle;
- if(url) options.url = url;
- options.type = 'iframe';
- modalTrigger = new window.parent.$.zui.ModalTrigger(options);
- $link.data('zui.modaltrigger', modalTrigger);
- }
- modalTrigger.show();
- }
- e.preventDefault();
- return;
- }
-
- if(typeof options.back === 'string') return goBack(options.back, url);
-
- var appCode = options.app;
- if(url)
- {
- if(appCode === 'help') return $.apps.openUrl(url, {app: appCode});
- if(url.indexOf('javascript:') === 0 || url[0] === '#') return;
- var urlInfo = $.parseLink(url);
- if(urlInfo.external || (urlInfo.moduleName === 'file' && urlInfo.methodName === 'download')) return;
- if(urlInfo.moduleName === 'index' && urlInfo.methodName === 'index')
- {
- window.location.reload();
- e.preventDefault();
- return;
- }
- }
- else
- {
- if(!appCode) return;
- }
- if(!appCode) appCode = $.apps.getAppCode(url);
- if(!appCode) return;
-
- $.apps.openUrl(url, {app: appCode});
- e.preventDefault();
- }
-
- function handleClickIn18(event) // 18+zin.
- {
- handleClickLinkIn18(event);
-
- var iframe = parent.document.getElementById(window.name);
- if(!iframe) return;
- var iframeContainer = parent.document.getElementById(iframe.name) || iframe;
- if(!iframeContainer) return;
-
- var customEvent;
- if(typeof Event === 'function') {
- customEvent = new Event(event.type, {bubbles: true});
- } else {
- customEvent = document.createEvent('Event');
- customEvent.initEvent(event.type, true, true);
- }
- iframeContainer.dispatchEvent(customEvent);
- }
-
- /**
- * Ajax send score to server.
- * @param {string} method
- */
- function ajaxSendScore(method)
- {
- $.get($.createLink('score', 'ajax', 'method=' + method));
- }
-
- /**
- * Change current app language.
- * @param {string} lang
- */
- function changeAppLang(lang)
- {
- if($('html').attr('lang') === lang) return;
- reloadPage();
- $('html').attr('lang', lang);
- }
-
- /**
- * Change current app theme.
- * @param {string} lang
- */
- function changeAppTheme(theme)
- {
- const classList = $('html').attr('class').split(' ').filter(x => x.length && !x.startsWith('theme-'));
- classList.push('theme-' + theme);
- $('html').attr('class', classList.join(' '));
- const $theme = $('#zuiTheme');
- const oldPath = $theme.attr('href').split('/');
- oldPath.pop();
- oldPath.push(theme + '.css');
- $theme.attr('href', oldPath.join('/'));
- const userMenu = $('#userMenu-toggle').zui();
- if(!userMenu) return;
- const themeItem = userMenu.options.menu.items.find(x => x.key === 'theme');
- themeItem.items.forEach(item => {item.active = item['data-value'] === theme;});
- userMenu.render({menu: userMenu.options.menu});
- }
-
- /**
- * Select UI language.
- * @param {string} lang
- */
- function selectLang(lang)
- {
- parent.selectLang(lang);
- }
-
- /**
- * Select UI theme.
- * @param {string} theme
- */
- function selectTheme(theme)
- {
- parent.selectTheme(theme);
- }
-
- $.extend(window, {registerRender: registerRender, fetchContent: fetchContent, loadTable: loadTable, loadPage: loadPage, postAndLoadPage: postAndLoadPage, loadCurrentPage: loadCurrentPage, parseSelector: parseSelector, toggleLoading: toggleLoading, openUrl: openUrl, goBack: goBack, registerTimer: registerTimer, loadModal: loadModal, loadTarget: loadTarget, loadComponent: loadComponent, loadPartial: loadPartial, reloadPage: reloadPage, selectLang: selectLang, selectTheme: selectTheme, changeAppLang, changeAppTheme: changeAppTheme});
- $.extend($.apps, {openUrl: openUrl});
- $.extend($, {ajaxSendScore: ajaxSendScore, selectLang: selectLang});
-
- /* Transfer click event to parent */
- $(document).on('click', (e) =>
- {
- if(is18version) return handleClickIn18(e); // 18+zin.
-
- if(isInAppTab) window.parent.$('body').trigger('click');
-
- const $link = $(e.target).closest('a,.open-url');
- if(!$link.length || $link.hasClass('ajax-submit') || $link.hasClass('not-open-url') || ($link.attr('target') || '')[0] === '_') return;
-
- const options = $link.dataset();
- if(options.toggle) return;
-
- const url = options.url || $link.attr('href');
- const $modal = $link.closest('.modal');
- if(options.loadId)
- {
- options.target = options.loadId;
- delete options.loadId;
- }
- if($modal.length)
- {
- if(!options.load)
- {
- if(!url) return;
- options.load = 'modal';
- }
- if(options.load === 'modal' && !options.target) options.target = $modal.attr('id');
- if(options.load === 'table')
- {
- options.partial = true;
- if(!options.url) options.url = $modal.data('zui.Modal').options.url;
- }
- }
- else
- {
- if(options.load === 'modal' && !options.target) delete options.load;
- }
- if(url && (/^(https?|javascript):/.test(url) || url.startsWith('#'))) return;
- if(!url && $link.is('a') && !options.back && !options.load) return;
-
- openUrl(url, options, e);
- e.preventDefault();
- }).on('locate.zt', (_e, data) =>
- {
- if(!data) return;
- if(data === true) return loadCurrentPage();
- if(typeof data === 'string')
- {
- if(data === 'table') return loadTable();
- if(data === 'modal') return loadModal();
- data = {url: data};
- }
-
- if(data.confirm)
- {
- return zui.Modal.confirm(data.confirm).then(confirmed =>
- {
- if(confirmed) $(document).trigger('locate.zt', data.confirmed);
- else $(document).trigger('locate.zt', data.cancelled);
- });
- }
- if(data.load) return openUrl(data);
- if(data.app) return openPage(data.url + (data.selector ? (' ' + data.selector) : ''), data.app);
- loadPage(data.url, data.selector);
- });
-
- if(!isInAppTab)
- {
- $(window).on('popstate', function(event)
- {
- const state = event.state;
- if(DEBUG) console.log('[APP]', 'popstate:', state);
- openPage(state.url);
- });
- }
-
- $(() =>
- {
- initZinbar();
-
- if(window.defaultAppUrl) loadPage(window.defaultAppUrl);
- if(isInAppTab)
- {
- const frameElement = window.frameElement;
- if(frameElement && parent.window.$) parent.window.$(frameElement).trigger('ready.app');
- }
-
- if(is18version) // 18+zin.
- {
- if(window.afterPageUpdate) window.afterPageUpdate($('body'));
-
- if(isInAppTab && parent.$.apps)
- {
- var windowName = window.name;
- if(windowName && windowName.startsWith('app-'))
- {
- var appCode = windowName.substring(4);
- var currentApp = parent.$.apps.openedApps[appCode];
- if(currentApp) currentApp.$app.removeClass('loading');
- }
- }
- }
-
- if(DEBUG)
- {
- if(window.zinDebug)
- {
- let requestBegin = startTime;
- if(performance.timing) requestBegin -= ((performance.timing.loadEventStart || Date.now()) - (performance.timing.navigationStart || Date.now()));
- else if(window.zinDebug.trace && window.zinDebug.trace.request) requestBegin -= window.zinDebug.trace.request.timeUsed;
- updatePerfInfo({id: 'page'}, 'renderEnd', {id: 'page', perf: {requestBegin: Math.max(0, requestBegin), requestEnd: startTime, renderBegin: startTime}});
- showZinDebugInfo(window.zinDebug, {id: 'page'});
- }
- if(!isInAppTab && !zui.store.get('Zinbar:hidden')) loadCurrentPage();
- }
- });
-}());
diff --git a/www/js/zui3/zui.zentao.css b/www/js/zui3/zui.zentao.css
index 09e422328b..90dccb73e9 100644
--- a/www/js/zui3/zui.zentao.css
+++ b/www/js/zui3/zui.zentao.css
@@ -1 +1 @@
-/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgb(var(--color-gray-200-rgb));border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:rgb(var(--color-gray-400-rgb));opacity:1}input::placeholder,textarea::placeholder{color:rgb(var(--color-gray-400-rgb));opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--color-gray-50:#fafafa;--color-gray-100:#f6f7f9;--color-gray-200:#eee;--color-gray-300:#d8dbde;--color-gray-400:#c4c4c4;--color-gray-500:#898b90;--color-gray-600:#53575b;--color-gray-700:#3d4349;--color-gray-800:#2e343a;--color-gray-900:#000;--color-gray-50-rgb:250,250,250;--color-gray-100-rgb:246,247,249;--color-gray-200-rgb:238,238,238;--color-gray-300-rgb:216,219,222;--color-gray-400-rgb:196,196,196;--color-gray-500-rgb:137,139,144;--color-gray-600-rgb:83,87,91;--color-gray-700-rgb:61,67,73;--color-gray-800-rgb:46,52,58;--color-gray-900-rgb:0,0,0;--color-slate-50:#fcfdfe;--color-slate-100:#f4f5f7;--color-slate-200:#edeef2;--color-slate-300:#e6eaf1;--color-slate-400:#e3e4e9;--color-slate-500:#9ea3b0;--color-slate-600:#838a9d;--color-slate-700:#5e626d;--color-slate-800:#313c52;--color-slate-900:#0b0f18;--color-slate-50-rgb:252,253,254;--color-slate-100-rgb:244,245,247;--color-slate-200-rgb:237,238,242;--color-slate-300-rgb:230,234,241;--color-slate-400-rgb:227,228,233;--color-slate-500-rgb:158,163,176;--color-slate-600-rgb:131,138,157;--color-slate-700-rgb:94,98,109;--color-slate-800-rgb:49,60,82;--color-slate-900-rgb:11,15,24;--color-primary-50:#e6f0ff;--color-primary-100:#d5e5ff;--color-primary-200:#a4c7ff;--color-primary-300:#66a2ff;--color-primary-400:#3785ff;--color-primary-500:#2e7fff;--color-primary-600:#1e6aeb;--color-primary-700:#2463c7;--color-primary-800:#1b54ad;--color-primary-900:#063072;--color-primary-50-rgb:230,240,255;--color-primary-100-rgb:213,229,255;--color-primary-200-rgb:164,199,255;--color-primary-300-rgb:102,162,255;--color-primary-400-rgb:55,133,255;--color-primary-500-rgb:46,127,255;--color-primary-600-rgb:30,106,235;--color-primary-700-rgb:36,99,199;--color-primary-800-rgb:27,84,173;--color-primary-900-rgb:6,48,114;--color-secondary-50:#e7f6ff;--color-secondary-100:#cdecff;--color-secondary-200:#9bd9ff;--color-secondary-300:#77cbff;--color-secondary-400:#60c2ff;--color-secondary-500:#37b2fe;--color-secondary-600:#18a6fd;--color-secondary-700:#1099ed;--color-secondary-800:#078ada;--color-secondary-900:#046bab;--color-secondary-50-rgb:231,246,255;--color-secondary-100-rgb:205,236,255;--color-secondary-200-rgb:155,217,255;--color-secondary-300-rgb:119,203,255;--color-secondary-400-rgb:96,194,255;--color-secondary-500-rgb:55,178,254;--color-secondary-600-rgb:24,166,253;--color-secondary-700-rgb:16,153,237;--color-secondary-800-rgb:7,138,218;--color-secondary-900-rgb:4,107,171;--color-success-50:#ecfff8;--color-success-100:#d0f6e8;--color-success-200:#b1ecd6;--color-success-300:#7adfba;--color-success-400:#48d1a0;--color-success-500:#22c98d;--color-success-600:#0dbb7d;--color-success-700:#0ca76f;--color-success-800:#0e8d60;--color-success-900:#186c4e;--color-success-50-rgb:236,255,248;--color-success-100-rgb:208,246,232;--color-success-200-rgb:177,236,214;--color-success-300-rgb:122,223,186;--color-success-400-rgb:72,209,160;--color-success-500-rgb:34,201,141;--color-success-600-rgb:13,187,125;--color-success-700-rgb:12,167,111;--color-success-800-rgb:14,141,96;--color-success-900-rgb:24,108,78;--color-warning-50:#fff4ea;--color-warning-100:#ffecdb;--color-warning-200:#ffd2a9;--color-warning-300:#ffbc7e;--color-warning-400:#ffaf65;--color-warning-500:#ff9f46;--color-warning-600:#f38f19;--color-warning-700:#ed8307;--color-warning-800:#d17100;--color-warning-900:#af5f01;--color-warning-50-rgb:255,244,234;--color-warning-100-rgb:255,236,219;--color-warning-200-rgb:255,210,169;--color-warning-300-rgb:255,188,126;--color-warning-400-rgb:255,175,101;--color-warning-500-rgb:255,159,70;--color-warning-600-rgb:243,143,25;--color-warning-700-rgb:237,131,7;--color-warning-800-rgb:209,113,0;--color-warning-900-rgb:175,95,1;--color-danger-50:#ffebeb;--color-danger-100:#ffd5d5;--color-danger-200:#ffb1b1;--color-danger-300:#ff9292;--color-danger-400:#ff7c7c;--color-danger-500:#fc5959;--color-danger-600:#fb2b2b;--color-danger-700:#d91b1b;--color-danger-800:#ba1313;--color-danger-900:#a20606;--color-danger-50-rgb:255,235,235;--color-danger-100-rgb:255,213,213;--color-danger-200-rgb:255,177,177;--color-danger-300-rgb:255,146,146;--color-danger-400-rgb:255,124,124;--color-danger-500-rgb:252,89,89;--color-danger-600-rgb:251,43,43;--color-danger-700-rgb:217,27,27;--color-danger-800-rgb:186,19,19;--color-danger-900-rgb:162,6,6;--color-important-50:#fff8f5;--color-important-100:#ffe2d9;--color-important-200:#ffcebf;--color-important-300:#ffb29b;--color-important-400:#ff8c68;--color-important-500:#ff8058;--color-important-600:#ff6f42;--color-important-700:#ff4912;--color-important-800:#c83509;--color-important-900:#611700;--color-important-50-rgb:255,248,245;--color-important-100-rgb:255,226,217;--color-important-200-rgb:255,206,191;--color-important-300-rgb:255,178,155;--color-important-400-rgb:255,140,104;--color-important-500-rgb:255,128,88;--color-important-600-rgb:255,111,66;--color-important-700-rgb:255,73,18;--color-important-800-rgb:200,53,9;--color-important-900-rgb:97,23,0;--color-special-50:#efecfa;--color-special-100:#e4dff7;--color-special-200:#c4b6ff;--color-special-300:#a38cff;--color-special-400:#8a6ff5;--color-special-500:#8166ee;--color-special-600:#7055df;--color-special-700:#513baa;--color-special-800:#452da5;--color-special-900:#30216e;--color-special-50-rgb:239,236,250;--color-special-100-rgb:228,223,247;--color-special-200-rgb:196,182,255;--color-special-300-rgb:163,140,255;--color-special-400-rgb:138,111,245;--color-special-500-rgb:129,102,238;--color-special-600-rgb:112,85,223;--color-special-700-rgb:81,59,170;--color-special-800-rgb:69,45,165;--color-special-900-rgb:48,33,110;--color-inherit:inherit;--color-transparent:transparent;--color-current:currentColor;--color-black:#000;--color-white:#fff;--color-canvas:#fff;--color-inverse:#000;--color-surface:#f6f7f9;--color-fore:#313c52;--color-focus:#9bd9ff;--color-link:#1e6aeb;--color-link-hover:#2e7fff;--color-link-visited:#1b54ad;--color-placeholder:#c4c4c4;--color-border:#e3e4e9;--color-border-strong:#d8dbde;--color-border-light:#eee;--color-black-rgb:0,0,0;--color-white-rgb:255,255,255;--color-canvas-rgb:255,255,255;--color-inverse-rgb:0,0,0;--color-surface-rgb:246,247,249;--color-fore-rgb:49,60,82;--color-focus-rgb:155,217,255;--color-link-rgb:30,106,235;--color-link-hover-rgb:46,127,255;--color-link-visited-rgb:27,84,173;--color-placeholder-rgb:196,196,196;--color-border-rgb:227,228,233;--color-border-strong-rgb:216,219,222;--color-border-light-rgb:238,238,238;--radius-none:0px;--radius-sm:.0625rem;--radius:.125rem;--radius-md:.25rem;--radius-lg:.375rem;--radius-xl:.5rem;--radius-2xl:.75rem;--radius-3xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.1),0 0 2px -1px rgba(0,0,0,.05);--shadow:0 1px 4px 0 rgba(0,0,0,.15),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 2px 6px -1px rgba(0,0,0,.2),0 1px 4px -2px rgba(0,0,0,.15);--shadow-lg:0 5px 15px -3px rgba(0,0,0,.2),0 2px 6px -4px rgba(0,0,0,.15);--shadow-xl:0 10px 25px -5px rgba(0,0,0,.2),0 4px 10px -6px rgba(0,0,0,.15);--shadow-2xl:0 10px 50px -10px rgba(0,0,0,.4),0 8px 20px -10px rgba(0,0,0,.3);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--shadow-none:none;--space:.25rem;--font-size-root:16px;--font-size-page:.8125rem,[object Object]}body{--btn-bg:var(--color-slate-50)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }html{font-size:var(--font-size-root)}body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));color:rgba(var(--color-fore-rgb),var(--tw-text-opacity));font-size:.8125rem;line-height:1.5384615385}a{color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}a,a:hover{--tw-text-opacity:1}a:hover{color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}a:focus-visible{outline-color:rgb(var(--color-focus-rgb));outline-offset:2px;outline-width:2px}:root{--breadcrumb-divider:"/";--breadcrumb-divider-color:var(--color-gray-500);--breadcrumb-color-active:var(--color-gray-500)}.breadcrumb{display:flex;gap:1.25rem}.breadcrumb>li{position:relative}.breadcrumb>li+li:before{color:var(--breadcrumb-divider-color);content:var(--breadcrumb-divider);display:block;left:-1.25rem;position:absolute;text-align:center;width:1.25rem}.breadcrumb>.active{color:var(--breadcrumb-color-active)}:root{--btn-radius:var(--radius);--btn-bg:var(--color-surface);--btn-border-color:var(--color-gray-300)}.btn{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--btn-border-color);align-items:center;background-color:var(--btn-bg);border-radius:var(--btn-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:inline-flex;gap:.375rem;height:2rem;justify-content:center;padding-left:.75rem;padding-right:.75rem;white-space:nowrap}.btn-default,.btn-default:hover{color:var(--color-inherit)}.btn-link{--tw-text-opacity:1;--tw-ring-color:var(--color-transparent);color:rgba(var(--color-link-rgb),var(--tw-text-opacity));text-decoration-line:underline;text-underline-offset:2px}.btn-link:visited{color:rgba(var(--color-link-visited-rgb),var(--tw-text-opacity))}.btn-link:hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.btn-link{--btn-bg:transparent}.checkbox,.radio{align-items:center;cursor:pointer;display:flex;gap:.375rem}.checkbox>input[type=checkbox],.radio>input[type=radio]{accent-color:rgb(var(--color-primary-500-rgb));border-radius:var(--radius-lg)}.checkbox-primary,.radio-primary{display:flex;gap:.375rem;min-height:20px;position:relative}.checkbox-primary>input[type=checkbox],.radio-primary>input[type=radio]{inset:0;opacity:0;position:absolute}.checkbox-primary>label,.radio-primary>label{cursor:pointer;padding-left:1.25rem;position:relative}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{content:" ";display:block;height:.75rem;left:0;position:absolute;top:.25rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:.75rem}.checkbox-primary>label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-gray-400-rgb),var(--tw-border-opacity));border-radius:var(--radius-sm);border-width:1px}.checkbox-primary>label:after{--tw-scale-x:.9;--tw-scale-y:.9;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTkgMjAuNDItNi4yMS02LjIxIDIuODMtMi44M0w5IDE0Ljc3bDkuODgtOS44OSAyLjgzIDIuODNMOSAyMC40MloiLz48L3N2Zz4=);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.checkbox-primary>input[type=checkbox]:indeterminate+label:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMjA0OCAyMDQ4Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTUzNiA1MTJ2MTAyNEg1MTJWNTEyaDEwMjR6Ii8+PC9zdmc+);background-size:cover;opacity:1}.radio-primary>label:before{--tw-border-opacity:1;border-color:rgba(var(--color-gray-400-rgb),var(--tw-border-opacity));border-radius:var(--radius-full);border-width:1px}.radio-primary>label:after{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-radius:var(--radius-full);height:.5rem;left:.125rem;opacity:0;top:.375rem;width:.5rem}.checkbox-primary>label:hover:before,.radio-primary>label:hover:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400-rgb),var(--tw-border-opacity))}.checkbox-primary.focus>label:before,.checkbox-primary>input[type=checkbox]:focus+label:before,.radio-primary.focus>label:before,.radio-primary>input[type=radio]:focus+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity));outline-color:rgb(var(--color-focus-rgb));outline-style:solid;outline-width:2px}.checkbox-primary.checked>label:before,.checkbox-primary>input[type=checkbox]:checked+label:before,.checkbox-primary>input[type=checkbox]:indeterminate+label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.radio-primary.checked>label:before,.radio-primary>input[type=radio]:checked+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.checkbox-primary.checked>label:after,.checkbox-primary>input[type=checkbox]:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input[type=radio]:checked+label:after{opacity:1}.checkbox-primary.disabled>label,.checkbox-primary>input[type=checkbox]:disabled+label,.radio-primary.disabled>label,.radio-primary>input[type=radio]:disabled+label{--tw-grayscale:grayscale(100%);cursor:not-allowed;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);opacity:.7;pointer-events:none}.check-list{flex-direction:column;gap:.5rem}.check-list,.check-list-inline{display:flex;padding-bottom:.375rem;padding-top:.375rem}.check-list-inline{align-items:center;-moz-column-gap:1rem;column-gap:1rem;flex-direction:row;flex-wrap:wrap;row-gap:.5rem}.switch{display:flex;gap:.375rem;min-height:20px;padding-left:2.5rem;position:relative}.switch>input[type=checkbox]{inset:0;opacity:0;position:absolute}.switch>label:after,.switch>label:before{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-border-light-rgb),var(--tw-border-opacity));border-radius:var(--radius-full);border-width:1px;content:var(--tw-content);height:1rem;left:0;position:absolute;top:.125rem;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.switch>label:before{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer}.switch>label:hover:before{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity))}.switch>label:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-canvas-rgb),var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);height:.75rem;left:.125rem;top:.25rem;width:.75rem}.switch>input[type=checkbox]:checked+label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-primary-600-rgb),var(--tw-border-opacity))}.switch>input[type=checkbox]:checked+label:after{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity));left:18px}.switch.focus>label:before,.switch>input[type=checkbox]:focus+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity));outline-color:rgb(var(--color-focus-rgb));outline-style:solid;outline-width:2px}:root{--form-control-radius:var(--radius);--form-control-border:var(--color-border-strong);--form-control-focus:var(--color-primary-500);--form-control-disabled:var(--color-surface);--form-control-readonly:var(--color-surface)}input::-moz-placeholder,textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-placeholder-opacity))}input::placeholder,textarea::placeholder{--tw-placeholder-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-placeholder-opacity))}.form-control{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--form-control-border);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--form-control-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:block;height:2rem;outline-color:var(--color-transparent);outline-style:solid;outline-width:1px;padding:.25rem .5rem;transition-duration:.15s;transition-property:outline,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.form-control.focus,.form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-focus-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.5;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline-color:var(--form-control-focus)}.form-control.disabled,.form-control[disabled]{background-color:var(--form-control-disabled);opacity:1}.form-control.readonly,.form-control[readonly]{background-color:var(--form-control-readonly)}select{-webkit-appearance:none;background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-position:right 8px top 50%;background-repeat:no-repeat;background-size:8px auto;padding-right:1rem}select.form-control[multiple]{background-image:none}textarea.form-control{height:auto;min-height:32px}input[type=file].form-control{padding:.125rem}input[type=file].form-control::-webkit-file-upload-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:inherit;border-style:none;cursor:pointer;height:1.75rem;padding-left:.5rem;padding-right:.5rem}input[type=file].form-control::-webkit-file-upload-button:hover{background-color:rgba(var(--color-black-rgb),.1)}.has-error .form-control,.has-error.form-control{--tw-ring-color:rgba(var(--color-danger-500-rgb),.2)}.has-error .form-control.focus,.has-error .form-control:focus,.has-error.form-control.focus,.has-error.form-control:focus{outline-color:rgb(var(--color-danger-500-rgb))}.has-warning .form-control,.has-warning.form-control{--tw-ring-color:rgba(var(--color-warning-500-rgb),.6)}.has-warning .form-control.focus,.has-warning .form-control:focus,.has-warning.form-control.focus,.has-warning.form-control:focus{outline-color:rgb(var(--color-warning-500-rgb))}.has-success .form-control,.has-success.form-control{--tw-ring-color:rgba(var(--color-success-500-rgb),.6)}.has-success .form-control.focus,.has-success .form-control:focus,.has-success.form-control.focus,.has-success.form-control:focus{outline-color:rgb(var(--color-success-500-rgb))}.form-control.size-sm{font-size:.75rem;height:1.5rem;line-height:1rem;padding-left:.5rem;padding-right:.5rem}.form-control.size-md{height:1.75rem;padding-left:.5rem;padding-right:.5rem}.form-control.size-lg{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}:root{--input-group-addon-bg:var(--color-gray-100)}.input-group{align-items:stretch;display:flex}.input-group>.form-control,.input-group>.input-control{flex:1 1 auto;z-index:1}.input-group-addon{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--form-control-border);align-items:center;background-color:var(--input-group-addon-bg);border-radius:var(--form-control-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;flex:none;height:2rem;padding-left:.5rem;padding-right:.5rem;z-index:0}.input-group-control{flex:1 1 auto}.input-group>*+*,.input-group>*+.input-group-control>*{border-bottom-left-radius:var(--radius-none);border-top-left-radius:var(--radius-none)}.input-group>.input-group-control:not(:last-child)>*,.input-group>:not(:last-child){border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none)}.input-group .btn:focus-visible,.input-group .form-control:focus{z-index:2}:root{--form-tip-color:var(--color-slate-600);--form-label-color:var(--color-slate-700);--form-grid-label-width:6rem}.form>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.form-label{align-items:center;color:var(--form-label-color);display:flex;flex-direction:row;height:2rem;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.form-label.required:after{--tw-translate-y:.125rem;--tw-scale-x:1.25;--tw-scale-y:1.25;--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity));content:"*";display:inline-block;margin-left:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.form-tip{color:var(--form-tip-color);margin-top:.25rem}.has-error .form-tip{--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.has-warning .form-tip{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.has-success .form-tip{--tw-text-opacity:1;color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.form-grid>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.form-row{align-items:flex-start;display:flex;flex-direction:row}.form-grid .form-group{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:wrap;min-height:32px;padding-left:var(--form-grid-label-width);position:relative}.form-grid .form-group.no-label{padding-left:0}.form-grid .form-group.no-label>.check-list-inline{padding-left:1rem;padding-right:1rem}.form-grid .form-label{justify-content:flex-end;left:0;padding-left:1rem;padding-right:.5rem;position:absolute;top:0;width:var(--form-grid-label-width)}.form-grid .form-label.required:after{margin-left:0;margin-right:.25rem;order:-9999}.form-grid .form-tip{width:100%}.form-grid .form-tip,.form-grid .input-control,.form-grid .input-group{flex:1 1 auto}.form .form-group-wrapper,.form-grid .form-group-wrapper{flex:1 1 auto;width:100%;z-index:1}.form fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.form fieldset{padding-bottom:1rem;padding-left:1rem}.form-grid fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.form legend{--tw-border-opacity:1;border-bottom-color:rgba(var(--color-primary-100-rgb),var(--tw-border-opacity));border-bottom-width:1px;display:flex;justify-content:flex-start;margin-left:-1rem;width:100%;width:calc(100% + 1rem)}.form-title{align-items:center;background-color:rgba(var(--color-primary-50-rgb),.5);display:flex;font-weight:700;height:1.75rem;padding-left:.75rem;padding-right:.75rem}:root{--input-control-fix-width-sm:2rem;--input-control-fix-width:4.375rem;--input-control-fix-width-lg:6.75rem}.input-control{--input-control-prefix:8px;--input-control-suffix:8px;position:relative}.input-control-prefix,.input-control-suffix{align-items:center;display:flex;height:100%;left:0;opacity:.5;padding-left:.5rem;padding-right:.5rem;position:absolute;top:0;white-space:nowrap;width:var(--input-control-prefix)}.input-control-suffix{justify-content:flex-end;left:auto;right:0;width:var(--input-control-suffix)}.form-control:focus+.input-control-prefix,.form-control:focus+.input-control-suffix{opacity:1}.input-control>.form-control{padding-left:var(--input-control-prefix);padding-right:var(--input-control-suffix)}.input-control>select.form-control{background-position-x:calc(100% - var(--input-control-suffix) - 8px);padding-right:calc(var(--input-control-suffix) + 20px)}.has-prefix{--input-control-prefix:var(--input-control-fix-width)}.has-suffix{--input-control-suffix:var(--input-control-fix-width)}.has-prefix-sm{--input-control-prefix:var(--input-control-fix-width-sm)}.has-suffix-sm{--input-control-suffix:var(--input-control-fix-width-sm)}.has-prefix-lg{--input-control-prefix:var(--input-control-fix-width-lg)}.has-suffix-lg{--input-control-suffix:var(--input-control-fix-width-lg)}.has-prefix-icon{--input-control-prefix:32px}.has-suffix-icon{--input-control-suffix:32px}.input-control.has-prefix-icon>.input-control-prefix,.input-control.has-suffix-icon>.input-control-suffix{justify-content:center;width:2rem}.input-control.size-sm>.form-control,.input-control.size-sm>.input-control-prefix,.input-control.size-sm>.input-control-suffix{font-size:.75rem;line-height:1rem}.input-control.size-lg>.form-control,.input-control.size-lg>.input-control-prefix,.input-control.size-lg>.input-control-suffix{font-size:1rem;line-height:1.5rem}:root{--label-bg:var(--color-gray-50);--label-border-color:var(--color-gray-500);--label-color:var(--color-gray-500);--label-radius:var(--radius)}.label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--label-border-color);align-items:center;background-color:var(--label-bg);border-radius:var(--label-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:var(--label-color);display:inline-flex;font-size:.75rem;height:1.25rem;line-height:1rem;padding-left:.25rem;padding-right:.25rem;white-space:pre-line}.label.size-lg{font-size:.8125rem;height:1.5rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem}.label.size-sm{height:1rem}.label-dot{aspect-ratio:1/1;border-radius:var(--radius-full);height:.5rem;padding-left:0;padding-right:0}:root{--menu-bg:var(--color-canvas);--menu-hover-bg:var(--color-primary-500);--menu-hover-color:var(--color-canvas);--menu-active-bg:var(--color-primary-50);--menu-active-color:var(--color-primary-500);--menu-icon-opacity:.5;--menu-icon-margin:1.75rem;--menu-min-width:3rem;--menu-heading-color:var(--color-gray-500)}.menu{background:var(--menu-bg);min-width:var(--menu-min-width);padding:.25rem}.menu-item>a{align-items:center;border-radius:var(--radius);color:var(--color-inherit);cursor:pointer;display:flex;gap:.25rem;justify-content:space-between;margin:.25rem;overflow:hidden;padding:.125rem .5rem;position:relative;text-overflow:ellipsis;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);white-space:nowrap}.menu-item>.active{background:var(--menu-active-bg);color:var(--menu-active-color)}.menu-item>a.hover,.menu-item>a:hover{background:var(--menu-hover-bg);color:var(--menu-hover-color)}.menu-item>a>.text{flex:1 1 auto}.menu-divider{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));height:1px;margin:.5rem}.menu-heading{align-items:center;color:var(--menu-heading-color);display:flex;font-size:.75rem;font-weight:700;height:1.5rem;line-height:1rem;padding-left:.5rem;padding-right:.5rem}.has-icons>.menu-item>a,.menu-item.has-icon>a{padding-left:var(--menu-icon-margin)}.has-icons>.menu-item>a>.icon:first-child,.menu-item.has-icon>a>.icon:first-child{align-items:center;display:flex;height:1.5rem;justify-content:center;left:0;opacity:var(--menu-icon-opacity);position:absolute;top:0;width:1.5rem}.menu-nested{--menu-indent:1.5rem}.has-nested-menu>.menu-nested{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none);border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-left:var(--menu-indent)}.menu-nested .menu-toggle-icon{left:.25rem;position:absolute}.menu .menu-nested{margin-top:-.5rem}.menu-nested.has-nested-items>.menu-item>a{padding-left:1rem}.menu-nested.has-nested-items.has-icons>.menu-item>a{padding-left:2.25rem}.menu-nested.has-nested-items.has-icons>.menu-item>a>.icon:first-child{left:.75rem}:root{--alert-bg:var(--color-surface)}.alert{align-items:center;background-color:var(--alert-bg);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem 1rem}.alert-content{display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem}.alert-close{align-self:flex-start;flex:none;margin-bottom:-.5rem;margin-right:-.5rem;margin-top:-.5rem}.alert-link{color:var(--color-inherit);font-weight:700}.alert-link:hover{color:var(--color-inherit);text-decoration-line:underline}.alert-icon{margin-left:.5rem;margin-right:1rem}.alert-heading{font-weight:700;margin:0}.alert-text{white-space:pre-line}.alert-actions{align-items:center;display:flex;gap:.5rem}.messagers{align-items:flex-end;display:flex;flex-direction:column;inset:0;justify-content:flex-end;padding:1rem;pointer-events:none;position:absolute;z-index:1900}.messagers-top-left,.messagers-top-right{justify-content:flex-start}.messagers-bottom-left,.messagers-top-left{align-items:flex-start}.messagers-bottom,.messagers-center,.messagers-top{align-items:center}.messagers-top,.messagers-top-left,.messagers-top-right{justify-content:flex-start}.messagers-center{justify-content:center}.messager{--tw-text-opacity:1;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:rgba(var(--color-inverse-rgb),.8);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));pointer-events:auto;transition-duration:.3s}.toolbar{align-items:center;display:flex;position:relative}.toolbar-divider{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));height:1rem;margin-left:.5rem;margin-right:.5rem;width:1px}.toolbar-space{flex:1 1 auto;width:1rem}.toolbar>.dropdown{align-items:center;display:flex;position:relative}.btn-group{display:flex;gap:1px}.btn-group>.btn:focus-within,.btn-group>.btn:hover{z-index:1}.btn-group>.btn.disabled,.btn-group>.btn:disabled{z-index:-1}.btn-group>.btn:not(:first-child){border-bottom-left-radius:var(--radius-none);border-left-color:rgba(var(--color-canvas-rgb),.5);border-left-width:1px;border-top-left-radius:var(--radius-none)}.btn-group>.btn:not(:last-child){border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none)}.btn.size-xs{height:1.25rem;padding-left:.25rem;padding-right:.25rem}.btn.size-sm,.btn.size-xs{font-size:.75rem;line-height:1rem}.btn.size-sm{height:1.5rem}.btn.size-md,.btn.size-sm{padding-left:.5rem;padding-right:.5rem}.btn.size-md{height:1.75rem}.btn.size-lg{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}.btn.size-xl{font-size:1.125rem;height:3rem;line-height:1.75rem;padding-left:1.25rem;padding-right:1.25rem}.btn.square{aspect-ratio:1/1;gap:.125rem;padding-left:0;padding-right:0}.btn.btn-caret{padding-left:.25rem;padding-right:.25rem}.btn.btn-wide{min-width:80px}.btn-group.size-xs .btn{height:1.25rem;padding-left:.25rem;padding-right:.25rem}.btn-group.size-sm .btn,.btn-group.size-xs .btn{font-size:.75rem;line-height:1rem}.btn-group.size-sm .btn{height:1.5rem;padding-left:.5rem;padding-right:.5rem}.btn-group.size-lg .btn{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}.btn-group.size-xl .btn{font-size:1.125rem;height:3rem;line-height:1.75rem;padding-left:1.25rem;padding-right:1.25rem}.btn-group.rounded-none .btn{border-radius:var(--radius-none)}.btn-group.rounded-sm .btn{border-radius:var(--radius-sm)}.btn-group.rounded .btn{border-radius:var(--radius)}.btn-group.rounded-md .btn{border-radius:var(--radius-md)}.btn-group.rounded-lg .btn{border-radius:var(--radius-lg)}.btn-group.rounded-xl .btn{border-radius:var(--radius-xl)}.btn-group.circle .btn{border-radius:var(--radius-full)}:root{--progress-radius:var(--radius);--progress-striped-size:40px;--progress-bg:var(--color-surface);--progress-bar-color:var(--color-primary-500)}.progress{background:var(--progress-bg);border-radius:var(--progress-radius);display:flex;height:1.25rem}.progress-bar{background:var(--progress-bar-color);height:100%}.progress-striped>.progress-bar{background-image:linear-gradient(45deg,rgba(var(--color-canvas-rgb),.15) 25%,transparent 25%,transparent 50%,rgba(var(--color-canvas-rgb),.15) 50%,rgba(var(--color-canvas-rgb),.15) 75%,transparent 75%,transparent);background-size:var(--progress-striped-size) var(--progress-striped-size)}.progress>.progress-bar:first-child{border-bottom-left-radius:inherit;border-top-left-radius:inherit}.progress>.progress-bar:last-child{border-bottom-right-radius:inherit;border-top-right-radius:inherit}.progress.active .progress-bar{animation:progress-bar-stripes 2s linear infinite}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}::-webkit-scrollbar{height:var(--scrollbar-size);width:var(--scrollbar-size)}::-webkit-scrollbar-track{box-shadow:var(--scrollbar-shadow);-webkit-transition:background-color var(--scrollbar-duration);transition:background-color var(--scrollbar-duration)}::-webkit-scrollbar-track:hover,:hover::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-bar-bg);border-radius:var(--scrollbar-radius);min-height:var(--scrollbar-size);-webkit-transition:var(--scrollbar-duration);transition:var(--scrollbar-duration);-webkit-transition-property:background-color;transition-property:background-color}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover-bg)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-drag-bg)}.scrollbar-thin::-webkit-scrollbar{height:calc(var(--scrollbar-size)/2);width:calc(var(--scrollbar-size)/2)}.scrollbar-hover::-webkit-scrollbar,.scrollbar-hover::-webkit-scrollbar-thumb,.scrollbar-hover::-webkit-scrollbar-track{visibility:hidden}.scrollbar-hover:hover::-webkit-scrollbar,.scrollbar-hover:hover::-webkit-scrollbar-thumb,.scrollbar-hover:hover::-webkit-scrollbar-track{visibility:visible}.article-h1{font-size:1rem;line-height:1.5rem}.article-h1,.article-h2{color:var(--color-slate-900);font-weight:600}.article-h2{font-size:14px;line-height:1.25rem}.article-h3{color:var(--color-slate-800);font-weight:600}.article-h3,.article-h4{font-size:.8125rem;line-height:1.25rem}.article-h4{color:var(--color-slate-600)}.article-content{color:var(--color-slate-800);font-size:.8125rem;line-height:1.25rem}.form{position:relative}.form .input-group:not(.input-group-segment)>*+*,.form .input-group:not(.input-group-segment)>:not(:last-child){border-radius:var(--form-control-radius)}.form .input-group:not(.input-group-segment) .input-group-addon{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.form-actions{gap:1rem;justify-content:center}.form-actions .btn{min-width:96px}.form-control-static{min-height:32px;padding-bottom:.375rem;padding-top:.375rem}@font-face{font-family:ZentaoIcon;font-style:normal;font-weight:400;src:url(./@zentao/icons/ZentaoIcon.eot);src:url(./@zentao/icons/ZentaoIcon.woff) format("woff"),url(./@zentao/icons/ZentaoIcon.ttf) format("truetype"),url(./@zentao/icons/ZentaoIcon.svg#regular) format("svg")}.icon,[class*=" icon-"],[class^=icon-]{speak:none;display:inline-block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.icon:before{display:inline-block;min-width:14px;text-align:center}.icon-sm:before{font-size:3/4em}.icon-lg:before{font-size:4/3em;vertical-align:-10%}.icon-2x{font-size:28px}.icon-3x{font-size:42px}.icon-4x{font-size:56px}.icon-5x{font-size:70px}.icon-zentao:before{content:""}.icon-zentao-alt:before{content:""}.icon-help:before{content:""}.icon-download:before,.icon-import:before{content:""}.icon-export:before{content:""}.icon-lightbulb:before{content:""}.icon-close:before{content:""}.icon-check:before{content:""}.icon-minus:before{content:""}.icon-expand-alt:before{content:""}.icon-collapse-alt:before{content:""}.icon-fullscreen:before{content:""}.icon-star-empty:before{content:""}.icon-star:before{content:""}.icon-exclamation-sign:before{content:""}.icon-info-sign:before{content:""}.icon-flag:before{content:""}.icon-check-circle:before{content:""}.icon-check-sign:before{content:""}.icon-chart-pie:before{content:""}.icon-history:before{content:""}.icon-pencil:before{content:""}.icon-search:before{content:""}.icon-restart:before{content:""}.icon-cog:before{content:""}.icon-chart-line:before{content:""}.icon-bar-chart:before,.icon-chart-bar:before{content:""}.icon-exchange:before{content:""}.icon-severity:before{content:""}.icon-book:before{content:""}.icon-treemap-alt:before{content:""}.icon-severity-solid:before{content:""}.icon-chat-line:before{content:""}.icon-stack:before{content:""}.icon-cube:before{content:""}.icon-minus-sign:before{content:""}.icon-bars-sign:before{content:""}.icon-chat:before,.icon-message:before{content:""}.icon-more:before{content:""}.icon-certificate:before{content:""}.icon-bell:before{content:""}.icon-columns:before{content:""}.icon-envelope-o:before{content:""}.icon-unfold-all:before{content:""}.icon-fold-all:before{content:""}.icon-bars:before{content:""}.icon-cards-view:before{content:""}.icon-ellipsis-v:before{content:""}.icon-spinner-indicator:before{content:""}.icon-up-circle:before{content:""}.icon-right-circle:before{content:""}.icon-down-circle:before{content:""}.icon-left-circle:before{content:""}.icon-angle-double-right:before{content:""}.icon-angle-down:before{content:""}.icon-angle-left:before{content:""}.icon-angle-right:before{content:""}.icon-angle-top:before{content:""}.icon-first-page:before{content:""}.icon-last-page:before{content:""}.icon-caret-down:before{content:""}.icon-caret-up:before{content:""}.icon-caret-left:before{content:""}.icon-caret-right:before{content:""}.icon-sort:before{content:""}.icon-sort-down:before{content:""}.icon-sort-up:before{content:""}.icon-arrow-up:before{content:""}.icon-arrow-down:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-chevron-left:before{content:""}.icon-chevron-right:before{content:""}.icon-chevron-double-up:before{content:""}.icon-chevron-double-down:before{content:""}.icon-folder-account:before{content:""}.icon-folder-move:before{content:""}.icon-folder-plus:before{content:""}.icon-folder-upload:before{content:""}.icon-folder-star:before{content:""}.icon-folder-edit:before{content:""}.icon-folder-download:before{content:""}.icon-folder-outline:before{content:""}.icon-folder:before{content:""}.icon-folder-o:before{content:""}.icon-folder-open-o:before{content:""}.icon-folder-open:before{content:""}.icon-color:before{content:""}.icon-paper-clip:before{content:""}.icon-text:before{content:""}.icon-share:before{content:""}.icon-format-list-bulleted:before{content:""}.icon-format-bold:before{content:""}.icon-format-header-pound:before{content:""}.icon-format-italic:before{content:""}.icon-format-list-numbers:before{content:""}.icon-format-quote-close:before{content:""}.icon-image:before{content:""}.icon-table-large:before{content:""}.icon-aiux:before{content:""}.icon-qc:before{content:""}.icon-qc-q:before{content:""}.icon-qc-c:before{content:""}.icon-sonarqube:before{content:""}.icon-college:before{content:""}.icon-ztool:before{content:""}.icon-contacts:before{content:""}.icon-chats:before{content:""}.icon-home:before,.icon-menu-my:before{content:""}.icon-program:before{content:""}.icon-lightbulb-alt:before,.icon-product:before{content:""}.icon-project:before,.icon-rocket:before{content:""}.icon-run:before{content:""}.icon-test:before{content:""}.icon-devops:before,.icon-infinite:before{content:""}.icon-ops:before{content:""}.icon-doc:before,.icon-menu-doc:before{content:""}.icon-statistic:before{content:""}.icon-menu-backend:before{content:""}.icon-assets:before,.icon-diamond:before{content:""}.icon-feedback:before{content:""}.icon-flow:before{content:""}.icon-oa:before{content:""}.icon-more-circle:before{content:""}.icon-controls:before{content:""}.icon-account:before{content:""}.icon-about:before,.icon-info:before{content:""}.icon-backend:before,.icon-cog-outline:before{content:""}.icon-exit:before{content:""}.icon-theme:before{content:""}.icon-globe:before,.icon-lang:before{content:""}.icon-seal:before{color:#ff8936;content:""}.icon-menu-arrow-left:before{content:""}.icon-menu-arrow-right:before{content:""}.icon-add-directory:before{content:""}.icon-design:before{content:""}.icon-download-alt:before{content:""}.icon-blame:before{content:""}.icon-draft-edit:before{content:""}.icon-sub-review-user:before{content:""}.icon-sub-review:before{content:""}.icon-ztf:before{content:""}.icon-save:before{content:""}.icon-list-box:before{content:""}.icon-usecase:before{content:""}.icon-code:before{content:""}.icon-summary:before{content:""}.icon-more-alt:before{content:""}.icon-customer:before{content:""}.icon-ipd:before{content:""}.icon-wiki-lib:before{content:""}.icon-annex-lib:before{content:""}.icon-interface-lib:before{content:""}.icon-has-authority-pack:before{content:""}.icon-without-authority-pack:before{content:""}.icon-data-structure:before{content:""}.icon-waterfallplus:before{content:""}.icon-agileplus:before{content:""}.icon-horn:before{content:""}.icon-resume:before{content:""}.icon-mirror:before{content:""}.icon-remote:before{content:""}.icon-moon:before{content:""}.icon-ticket:before{content:""}.icon-gantt-alt:before{content:""}.icon-tree:before{content:""}.icon-list:before{content:""}.icon-gantt:before{content:""}.icon-group-view:before{content:""}.icon-inherit-space:before{content:""}.icon-card-archive:before{content:""}.icon-col-archive:before{content:""}.icon-col-add-right:before{content:""}.icon-col-add-left:before{content:""}.icon-col-split:before{content:""}.icon-waterfall:before{content:""}.icon-manual:before{content:""}.icon-kanban:before{content:""}.icon-lane:before{content:""}.icon-snap-house:before{content:""}.icon-wrench:before{content:""}.icon-desktop:before{content:""}.icon-back-circle:before{content:""}.icon-back:before{content:""}.icon-shield:before{content:""}.icon-meh:before{content:""}.icon-frown:before{content:""}.icon-smile:before{content:""}.icon-unlock-solid:before{content:""}.icon-lock-solid:before{content:""}.icon-ver:before{content:""}.icon-publish:before,.icon-send:before{content:""}.icon-tag:before{content:""}.icon-tag-lock:before{content:""}.icon-code-fork:before{content:""}.icon-branch-lock:before{content:""}.icon-groups:before{content:""}.icon-thumbs-up:before{content:""}.icon-thumbs-down:before{content:""}.icon-thumbs-up-solid:before{content:""}.icon-thumbs-down-solid:before{content:""}.icon-hash:before,.icon-version:before{content:""}.icon-p-square:before{content:""}.icon-video-play:before{content:""}.icon-plus-solid-circle:before{content:""}.icon-minuse-solid-circle:before{content:""}.icon-s:before{content:""}.icon-c:before{content:""}.icon-t:before{content:""}.icon-guide:before{content:""}.icon-todo:before{content:""}.icon-plus:before{content:""}.icon-side-left:before{content:""}.icon-side-right:before{content:""}.icon-fullscreen-exit:before{content:""}.icon-alert:before{content:""}.icon-undo:before{content:""}.icon-redo:before{content:""}.icon-swap:before{content:""}.icon-chat-solid:before{content:""}.icon-clock:before{content:""}.icon-cost:before{content:""}.icon-pencil-alt:before{content:""}.icon-size-height:before{content:""}.icon-file-log:before{content:""}.icon-rich-text:before{content:""}.icon-markdown:before{content:""}.icon-excel:before{content:""}.icon-text-link:before{content:""}.icon-ppt:before{content:""}.icon-word:before{content:""}.icon-doc-lib:before{content:""}.icon-file-empty:before,.icon-file:before{content:""}.icon-file-text:before{content:""}.icon-file-alt:before{content:""}.icon-file-text-alt:before{content:""}.icon-file-pdf:before{content:""}.icon-file-word:before{content:""}.icon-file-excel:before{content:""}.icon-file-powerpoint:before{content:""}.icon-file-image:before{content:""}.icon-file-archive:before{content:""}.icon-file-audio:before{content:""}.icon-file-video:before{content:""}.icon-file-code:before{content:""}.icon-menu-collapse:before{content:""}.icon-menu-expand:before{content:""}.icon-group:before,.icon-menu-users:before,.icon-persons:before,.icon-team:before{content:""}.icon-estimate:before{content:""}.icon-sprint:before{content:""}.icon-shield-check:before{content:""}.icon-ok:before{content:""}.icon-printer:before{content:""}.icon-bullhorn:before{content:""}.icon-person:before{content:""}.icon-fields:before{content:""}.icon-trigger:before{content:""}.icon-layout:before{content:""}.icon-audit:before{content:""}.icon-ban-circle:before,.icon-cancel:before{content:""}.icon-eye:before{content:""}.icon-eye-off:before{content:""}.icon-unlock:before{content:""}.icon-lock:before,.icon-private:before{content:""}.icon-move:before{content:""}.icon-hand-right:before{content:""}.icon-checked:before{content:""}.icon-off:before{content:""}.icon-play:before,.icon-start:before{content:""}.icon-time:before{content:""}.icon-edit:before{content:""}.icon-trash:before{content:""}.icon-link:before{content:""}.icon-unlink:before{content:""}.icon-bug:before{content:""}.icon-list-alt:before{content:""}.icon-alter:before,.icon-change:before{content:""}.icon-glasses:before,.icon-review:before{content:""}.icon-sitemap:before,.icon-testcase:before{content:""}.icon-pluses:before{content:""}.icon-report-list:before{content:""}.icon-active:before,.icon-magic:before{content:""}.icon-treemap:before{content:""}.icon-confirm:before{content:""}.icon-split:before{content:""}.icon-calendar:before,.icon-delay:before{content:""}.icon-pause:before{content:""}.icon-ban:before{content:""}.icon-plus-bold:before{content:""}.icon-copy:before{content:""}.icon-refresh:before{content:""}.icon-diff:before{content:""}.status-active,.status-asked,.status-normal,.status-unconfirmed,.status-wait{color:#313c52}.status-active.status-issue,.status-checking,.status-commenting,.status-confirmed,.status-doing{color:#ff6f42}.status-blocked,.status-hangup,.status-pause,.status-suspended{color:#b89664}.status-clarify,.status-draft{color:#8166ee}.status-noreview,.status-reviewing,.status-wait.status-testcase{color:#18a6fd}.status-active.status-risk,.status-changed,.status-changing,.status-fail{color:#fb2b2b}.status-checked,.status-done,.status-pass,.status-replied,.status-resolved,.status-success{color:#0dbb7d}.status-cancel,.status-canceled,.status-investigate{color:#838a9d}.status-canceled,.status-closed,.status-testtask.status-done{color:#9ea3b0}.pri,[class*=" pri-"],[class^=pri-]{--tw-text-opacity:1;border-color:var(--color-current);border-radius:var(--radius-full);border-width:1px;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity));display:inline-block;font-size:.75rem;height:1rem;line-height:1rem;line-height:14px;max-width:54px;min-width:16px;overflow:hidden;padding-left:.125rem;padding-right:.125rem;text-align:center;white-space:nowrap}.pri-1{color:rgb(255 73 18/var(--tw-text-opacity))}.pri-1,.pri-2{--tw-text-opacity:1}.pri-2{color:rgba(var(--color-warning-600-rgb),var(--tw-text-opacity))}.pri-3{color:rgb(59 130 246/var(--tw-text-opacity))}.pri-3,.pri-4{--tw-text-opacity:1}.pri-4{color:rgb(149 211 224/var(--tw-text-opacity))}.severity{--tw-text-opacity:1;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity));display:inline-block;font-size:.75rem;height:1rem;line-height:1rem;line-height:14px;max-width:54px;min-width:16px;overflow:hidden;padding-left:.125rem;padding-right:.125rem;position:relative;text-align:center;white-space:nowrap}.severity:before{--tw-content:attr(data-severity);background-color:var(--color-current);background-repeat:no-repeat;content:var(--tw-content);height:100%;left:0;-webkit-mask:url('data:image/svg+xml;charset=utf-8,
');mask:url('data:image/svg+xml;charset=utf-8,
');-webkit-mask-size:100% 100%;mask-size:100% 100%;position:absolute;top:0;width:100%;z-index:0}.severity:after,.severity:before{display:inline-block}.severity:after{--tw-scale-x:.75;--tw-scale-y:.75;content:attr(data-severity);line-height:20px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.severity[data-severity="1"]{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.severity[data-severity="2"]{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.severity[data-severity="3"]{--tw-text-opacity:1;color:rgb(250 174 26/var(--tw-text-opacity))}.severity[data-severity="4"]{--tw-text-opacity:1;color:rgb(184 150 100/var(--tw-text-opacity))}.severity[data-severity="5"]{--tw-text-opacity:1;color:rgb(158 163 176/var(--tw-text-opacity))}.severity-label{background-color:var(--color-transparent)}.severity-label:after,.severity-label:before{--tw-content:none;content:var(--tw-content)}.risk-high{color:rgb(220 38 38/var(--tw-text-opacity))}.risk-high,.risk-middle{--tw-text-opacity:1}.risk-middle{color:rgb(234 179 8/var(--tw-text-opacity))}.nav-feature{--nav-active-bg:rgba(var(--color-primary-800-rgb),.07)}.nav-feature .nav-checkbox>.checkbox,.nav-feature .nav-checkbox>.checkbox-primary,.nav-feature .nav-item>a{align-items:center;border-radius:var(--radius);height:2rem;padding-left:.625rem;padding-right:.625rem}.nav-feature .nav-item>a>.icon{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}:root{--avatar-radius:12.5%;--avatar-bg:var(--color-surface)}.avatar{align-items:center;aspect-ratio:1/1;background:var(--avatar-bg);border-radius:var(--avatar-radius);display:inline-flex;justify-content:center;overflow:hidden;width:2rem}.avatar>img{height:100%;margin:0;-o-object-fit:cover;object-fit:cover;width:100%}.avatar.size-xs{width:1.25rem}.avatar.size-sm,.avatar.size-xs{font-size:.75rem;line-height:1rem}.avatar.size-sm{width:1.5rem}.avatar.size-lg{font-size:1.5rem;line-height:2rem;width:3rem}.avatar.size-xl{font-size:2.25rem;line-height:2.5rem;width:5rem}.avatar-group{display:flex;gap:.625rem}.avatar-group>.avatar{box-shadow:0 0 0 1px var(--color-canvas)}.avatar-group>*+*{margin-left:-1rem}.avatar-group.size-xs>*+*{margin-left:-.75rem}.avatar-group.size-sm>*+*{margin-left:-.875rem}.avatar-group.size-lg>*+*{margin-left:-1.25rem}.avatar-group.size-xl>*+*{margin-left:-1.5rem}.color-picker-heading{align-items:center;font-weight:700;justify-content:space-between;margin-bottom:-.25rem}.color-picker-heading,.color-picker-row{display:flex;flex-direction:row;padding:.5rem}.color-picker-row{flex-wrap:wrap;gap:.5rem}.color-picker-item{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;border-radius:var(--radius-full);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));display:flex;height:1.25rem;justify-content:center;padding-left:.125rem;padding-right:.125rem;width:1.25rem}.pick-container{left:0;pointer-events:none;position:absolute;top:0;z-index:1600}.pick-pop{display:flex;flex-direction:column;opacity:0;pointer-events:auto;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:1200}.pick-pop.in{opacity:1}.date-picker-menu .mini-calendar{margin-top:-.75rem}.date-pick-menu-month,.date-pick-menu-years{display:flex;flex-direction:row;flex-wrap:wrap;gap:1px;max-height:237px;padding-bottom:.5rem;padding-left:.5rem;padding-right:.5rem}.date-pick-menu-years>.btn{width:2.5rem}.date-pick-menu-years>.btn.is-current{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.date-pick-menu-month>.btn.active,.date-pick-menu-years>.btn.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.date-pick-menu-month>.btn{width:3rem}.date-picker-menu-footer{border-top-width:1px;display:flex;flex-direction:row;padding:.25rem}.date-picker-menu-footer>.toolbar{flex:1 1 auto;justify-content:center}.date-picker-menu>.menu{border-right-width:1px}.date-picker-menu .menu-item{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.time-picker-menu{max-height:inherit}.time-picker-menu .menu-item>a{justify-content:center}.mini-calendar{padding:.5rem}.mini-calendar>.row>.col{align-items:center;justify-content:center;width:14.2857%}.mini-calendar-day{height:2rem}.mini-calendar-day>a{width:2rem}.mini-calendar-day.is-weekend>a{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.mini-calendar-day.active>a,.mini-calendar-day.is-today>a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.mini-calendar-day.selected>a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.mini-calendar-day.is-out-month{opacity:.5}.i-calendar{border-radius:var(--radius);display:inline-block;height:.79em;margin-top:.16em;position:relative;width:1em}.i-calendar,.i-calendar:after,.i-calendar:before{border-color:var(--color-current);border-width:.08em}.i-calendar:after,.i-calendar:before{--tw-content:"";content:var(--tw-content);position:absolute}:root{--modal-radius:var(--radius-lg);--modal-bg:rgba(0,0,0,.4);--modal-sm:37.5rem;--modal-base:50rem;--modal-lg:75rem;--modal-xl:90rem}.modal{align-items:center;background-color:var(--modal-bg);display:none;inset:0;justify-content:center;overflow:hidden;position:fixed;z-index:1500}.modal.load-indicator:before{background-color:var(--color-inherit);transition-property:none}.modal.loading:after{--tw-text-opacity:1;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.modal.show{display:flex}.modal-no-backdrop{background-color:var(--color-transparent);pointer-events:none}.modal-dialog{--tw-bg-opacity:1;--tw-shadow:var(--shadow-2xl);--tw-shadow-colored:var(--shadow-2xl);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--modal-radius);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);pointer-events:auto;position:relative;width:var(--modal-base)}.modal-content,.modal-dialog{max-height:100vh}.modal-content{display:flex;flex-direction:column;height:100%}.loading>.modal-dialog>.modal-content{opacity:0;visibility:hidden}.modal-header{align-items:center;display:flex;flex:none;flex-wrap:nowrap;gap:1rem;padding:1rem 1.25rem;position:relative}.modal-title{flex:1 1 auto;font-size:1rem;font-weight:700;line-height:1.5rem}.modal-actions{position:absolute;right:.75rem;top:.75rem}.modal-body{flex:1 1 auto;overflow:auto;padding:.75rem 1.25rem}.modal-footer{align-items:center;display:flex;flex:none;gap:.75rem;padding:1.25rem}.modal-dialog[data-size=full]{height:100vh;width:100vw}.modal-dialog[data-size=sm]{width:var(--modal-sm)}.modal-dialog[data-size=lg]{width:var(--modal-lg)}.modal-dialog[data-size=xl]{width:var(--modal-xl)}.modal-iframe{width:100%}.modal-trans{opacity:0;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal-trans.in{opacity:1}.modal-trans>.modal-dialog{--tw-scale-x:.95;--tw-scale-y:.95;opacity:0;transition-duration:.3s;transition-property:transform,opacity}.modal-trans.in>.modal-dialog,.modal-trans>.modal-dialog{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.modal-trans.in>.modal-dialog{--tw-scale-x:1;--tw-scale-y:1;opacity:1}.modal-alert .modal-footer{justify-content:flex-end}.modal-alert .modal-header{margin-bottom:-1rem}.modal-alert .modal-body{white-space:pre-line}.modal-alert .modal-footer{margin-top:-.75rem}.modal-alert .modal-actions+.modal-body{padding-right:3rem}.modal-alert .modal-header+.modal-actions+.modal-body{padding-right:1.25rem}:root{--nav-radius:var(--radius);--nav-active-color:var(--color-primary-500);--nav-active-bg:var(--color-inherit);--nav-heading-color:var(--color-gray-500)}.nav,.nav-item{align-items:center;display:flex;position:relative}.nav-item{gap:.75rem}.nav-item>a{align-items:center;color:var(--color-inherit);display:flex;gap:.25rem;height:2rem;justify-content:center;padding-left:1rem;padding-right:1rem}.nav-item>.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:700}.nav-item>.disabled{opacity:1}.nav-item>.disabled>*{opacity:var(--disabled-opacity)}.nav-divider{background-color:var(--color-current);height:1rem;margin-left:.5rem;margin-right:.5rem;opacity:.3;width:1px}.nav-heading{align-items:center;color:var(--nav-heading-color);display:flex;font-weight:700;gap:.25rem;height:2rem;justify-content:center;padding-left:1rem;padding-right:1rem}.nav-space{flex:1 1 auto;width:1rem}.nav-primary>.nav-item{position:relative}.nav-primary>.nav-item:hover{z-index:10}.nav-primary>.nav-item+.nav-item{margin-left:-1px}.nav-primary>.nav-item>a{border-radius:var(--radius-none);border-width:1px}.nav-primary>.nav-item:first-child>a,.nav-primary>.nav-item:has(.nav-heading)+.nav-item>a{border-bottom-left-radius:var(--nav-radius);border-top-left-radius:var(--nav-radius)}.nav-primary>.nav-item:last-child>a{border-bottom-right-radius:var(--nav-radius);border-top-right-radius:var(--nav-radius)}.nav-primary>.nav-item>.active{--tw-text-opacity:1;background:var(--nav-active-color);border-color:var(--nav-active-color);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.nav-primary>.nav-divider{display:none}.nav-secondary>.nav-item>a{border-radius:var(--radius-none);position:relative}.nav-secondary>.nav-item>a:after{--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:-2px;content:var(--tw-content);display:block;height:2px;left:0;position:absolute;right:0}.nav-secondary>.nav-item>.active:after{background-color:var(--color-current)}.nav-secondary>.nav-divider{margin:0 0 0 -1px}.nav-tabs>.nav-item>a{border-bottom-left-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none);position:relative}.nav-tabs>.nav-item>a:after{--tw-border-opacity:1;--tw-content:"";border-color:var(--color-transparent);border-bottom-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-top-left-radius:inherit;border-top-right-radius:inherit;border-width:1px;content:var(--tw-content);display:block;inset:-1px;pointer-events:none;position:absolute}.nav-tabs>.nav-item>.active:after{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-bottom-color:var(--color-transparent)}.nav-tabs>.nav-divider{margin:0 0 0 -1px}.nav-pills>.nav-item>a{border-radius:var(--radius-full)}.nav-pills>.nav-item>.active{--tw-text-opacity:1;background:var(--nav-active-color);border-color:var(--nav-active-color);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.nav-stacked{flex-direction:column}.nav-stacked>.nav-item{width:100%}.nav-stacked>.nav-heading,.nav-stacked>.nav-item>a{justify-content:flex-start;width:100%}.nav-stacked>.nav-divider{height:1px;margin:.5rem 0;width:100%}.nav-primary.nav-stacked>.nav-item>a{height:2.5rem}.nav-primary.nav-stacked>.nav-item+.nav-item{margin-left:0;margin-top:-1px}.nav-primary.nav-stacked>.nav-item:first-child>a{border-bottom-left-radius:0;border-top-left-radius:var(--nav-radius);border-top-right-radius:var(--nav-radius)}.nav-primary.nav-stacked>.nav-item:last-child>a{border-bottom-left-radius:var(--nav-radius);border-bottom-right-radius:var(--nav-radius);border-top-right-radius:0}.nav-secondary.nav-stacked>.nav-item>a:after{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:0;height:100%;left:auto;right:0;top:0;width:2px}.nav-secondary.nav-stacked>.nav-item>.active:after{background-color:var(--color-current)}.nav-secondary.nav-stacked>.nav-divider{margin:0}.nav-tabs.nav-stacked>.nav-item>a{border-bottom-left-radius:var(--nav-radius);border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none);position:relative}.nav-tabs.nav-stacked>.nav-item>a:after{--tw-border-opacity:1;border-bottom-color:var(--color-transparent);border-bottom-left-radius:inherit;border-right-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-top-left-radius:inherit}.nav-tabs.nav-stacked>.nav-item>a.active:after{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-right-color:var(--color-transparent)}.nav-tabs.nav-stacked>.nav-divider{margin:0}.nav-pills.nav-stacked>.nav-item+.nav-item{margin-top:.25rem}.nav-justified>.nav-item:not(.flex-none,.nav-divider){flex:1 1 auto}.nav-justified>.nav-item>a{width:100%}.pager{align-items:center;display:flex;gap:.25rem}.menu.pager-size-menu{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.menu.pager-size-menu>.menu-item>a{margin:.125rem}.pager .pager-goto-group>.form-control{width:3rem}.pager .pager-goto-group>.input-group-addon{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-gray-300-rgb),var(--tw-border-opacity));border-width:1px}.pager>.pager-nav.active{--tw-text-opacity:1;box-shadow:0 0 0 1px var(--color-primary-500);color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.panel{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;border-radius:var(--radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);overflow:hidden}.panel-heading{flex-wrap:nowrap;gap:1rem;justify-content:space-between;padding:.5rem 1rem}.panel-heading,.panel-title{align-items:center;display:flex}.panel-title{font-weight:700;gap:.5rem;margin:0}.panel-actions{margin-right:-.5rem}.panel-body{padding:.75rem 1rem}.panel-footer{align-items:center;display:flex;gap:.5rem;padding:.5rem 1rem}.size-sm .panel-body,.size-sm .panel-footer,.size-sm .panel-heading{padding:.375rem .75rem}.size-lg .panel-body,.size-lg .panel-footer,.size-lg .panel-heading{padding:1rem 1.25rem}.picker{position:relative}.picker-select{align-items:center;gap:.25rem;justify-content:space-between}.picker-select,.picker-select.form-control{display:flex}.picker-select-placeholder{--tw-text-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-text-opacity));flex:1 1 auto}.picker-select-multi .picker-select-placeholder{padding-left:.25rem;padding-right:.25rem}.picker-single-selection{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.picker-deselect-btn{border-radius:var(--radius-full);padding:.25rem}.picker-deselect-btn:not(:hover){opacity:.7}.picker-select-multi.form-control{height:auto;min-height:32px;padding-left:.25rem}.picker-multi-selections{display:flex;flex-wrap:wrap;gap:.25rem}.picker-multi-selection{--tw-bg-opacity:1;align-items:center;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-radius:var(--radius-full);border-width:1px;display:flex;padding-left:.5rem}.picker-multi-selection>.text{max-width:180px;overflow:clip;white-space:nowrap}.picker-menu-list.menu{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none);border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);flex:1 1 auto;min-height:0;overflow-y:auto}.picker-menu-search+.picker-menu-list.menu{margin-top:-.125rem;padding-top:0}.menu-item .text .is-match{font-weight:700;text-decoration-line:underline}.picker-search-input{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;border-color:var(--color-transparent);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;height:1.75rem;outline-width:0!important;padding-left:0;padding-right:2rem}.picker-search{flex:none;position:relative;width:100%}.picker-search>.magnifier{opacity:.5;position:absolute;right:0;top:.5rem}.picker-search-clear.btn{cursor:pointer;height:1.25rem;position:absolute;right:0;top:.25rem;width:1.25rem}.picker-search.is-inline{min-width:64px;width:4rem}.is-inline>.picker-search-input{height:1.25rem;min-width:64px;padding-left:.25rem;padding-right:.25rem}.picker-search-measure{height:0;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.popover{display:none;position:absolute;width:-moz-max-content;width:max-content}.popover.show{display:block}.popover-heading{--tw-bg-opacity:1;align-items:center;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;gap:1rem;height:2.5rem;justify-content:space-between;padding-left:.75rem;padding-right:.5rem}.popover-title{flex:1 1 auto;font-weight:700}.popover-content{padding:.75rem}.popover-arrow.arrow-top,.popover-arrow.arrow-up{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.popover>.btn-close{position:absolute;right:.5rem;top:.625rem}.btn-close+.popover-content{padding-right:3rem}.btn.with-popover-show{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.with-popover-show[data-popover-placement=top]>.caret{--tw-rotate:180deg}.with-popover-show[data-popover-placement=left]>.caret,.with-popover-show[data-popover-placement=top]>.caret{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.with-popover-show[data-popover-placement=left]>.caret{--tw-rotate:90deg}.with-popover-show[data-popover-placement=right]>.caret{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:root{--table-head-bg:var(--color-surface);--table-striped-color:var(--color-gray-50);--table-hover-color:rgba(var(--color-primary-500-rgb),.05);--table-border-color:var(--color-border)}.table{border-color:var(--table-border-color);width:100%}.table>thead{background-color:var(--table-head-bg)}.table>*>tr{border-bottom-width:1px}.table>*>tr>*{padding:.5rem 1rem;text-align:left}.table-striped>tbody>tr:nth-child(2n){background:var(--table-striped-color)}.table-hover>tbody>tr:hover>*{background:var(--table-hover-color)}.table.bordered>*>tr>*{border-width:1px}.table.borderless>*>tr,.table.borderless>*>tr>*{border-style:none}.condensed>*>tr>*{padding:.375rem .75rem}.table-fixed{table-layout:fixed}.table-fixed>*>tr>*{overflow:hidden;white-space:nowrap}.tooltip{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-inverse-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-inverse-rgb),var(--tw-border-opacity));border-radius:var(--radius);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));font-size:.75rem;line-height:1rem;max-width:28rem;padding:.25rem .5rem;z-index:1800}.tooltip>.arrow{border-width:0}.tooltip-has-title{--tw-bg-opacity:.8;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:.5rem .75rem .75rem}.tooltip-has-title>.arrow{opacity:.75}.tooltip-heading{align-items:center;display:flex;font-size:.8125rem;font-weight:700;gap:1rem;justify-content:space-between;line-height:1.25rem;padding:.25rem}.tooltip-heading>.btn-close{margin-right:-.25rem}.tooltip-content{padding:.25rem}.tree-item-content{flex-direction:row;gap:.25rem;min-height:24px}.tree-item-content,.tree-toggle-icon{align-items:center;display:flex}.tree-toggle-icon{--caret-size:5px;--caret-opacity:.3;border-radius:var(--radius);height:1rem;justify-content:center;width:1rem}.tree.no-nested-items>.tree-item>.tree-item-content>.tree-toggle-icon{width:.25rem}.tree-checkbox{margin-right:-.25rem}.tree-icon{opacity:.5;width:1rem}.tree-item-content:hover>.tree-icon{opacity:.8}.tree-hover .tree-item-content{border-radius:var(--radius);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tree-hover .tree-item-content:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.tree-link:not(:hover){color:var(--color-inherit)}.tree-item-content>.toolbar{margin-left:1rem;opacity:.6}.tree-item-content:hover>.toolbar{opacity:1}.upload .upload-tip{color:var(--color-slate-500)}.file-item>.img{height:120px;width:120px}.upload .file-item:hover .file-size{display:flex!important}.panel-body>.form-batch{margin-top:-1rem}.form-batch-container{overflow-y:auto}.form-batch-table{--table-head-bg:var(--color-canvas);min-width:100%;table-layout:fixed}.form-batch-table>*>tr>*{padding-left:.375rem;padding-right:.375rem;vertical-align:top}.form-batch-head{vertical-align:middle}.form-batch-head[data-name=ACTIONS]{width:5rem}.form-batch-label{display:inline}.form-batch-control>textarea.form-control{height:2rem}.form-batch-btn+.btn{margin-left:.25rem}.form-batch-table>tbody[data-count="1"] .form-batch-btn[data-type=delete]{display:none}.form-batch-ditto-btn{opacity:1;padding-left:0;padding-right:0}.form-batch-ditto-btn:before{--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:.5rem;content:var(--tw-content);left:-1px;position:absolute;top:.5rem;width:1px}.form-batch-ditto-btn>.btn{opacity:.5;padding-left:.5rem;padding-right:.5rem}[data-ditto=on] .form-batch-ditto-btn>.btn{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity));opacity:1}.dropmenu-btn{gap:.25rem;padding-left:.5rem;padding-right:.5rem}.dropmenu-btn>.text{max-width:180px;overflow:hidden}.dropmenu-btn>.is-leading{left:-.625rem;position:absolute}.dropmenu-btn>.is-caret{align-items:center;background-color:rgba(var(--color-canvas-rgb),.2);border-radius:var(--radius);display:flex;height:1rem;justify-content:center;width:1rem}.dropmenu-nav{border-bottom-width:1px;margin-left:.75rem;margin-right:.75rem;margin-top:.25rem}.has-search .dropmenu-nav{margin-top:-.5rem}.dropmenu-nav>.nav-secondary{gap:.5rem}.dropmenu-nav>.nav-secondary>.nav-item>a{border-radius:var(--radius);padding-left:.5rem;padding-right:.5rem}.dropmenu-nav>.nav-secondary>.nav-item>a:after{bottom:-1px;left:1rem;opacity:0;right:1rem}.dropmenu-nav>.nav-secondary>.nav-item>.active:after{left:.5rem;opacity:1;right:.5rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dropmenu-title{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity));font-size:.75rem;font-weight:700;line-height:1rem;margin-bottom:-.5rem;padding:.75rem}.dropmenu-list{min-height:0;overflow-y:auto;padding:.5rem .75rem}.dropmenu.loading>*{opacity:0}.dropmenu-item{cursor:pointer;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dropmenu-item.is-item.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.dropmenu-item.is-item:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.dropmenu-item.is-toggle:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity))}.dropmenu-item+.tree-item{margin-top:.125rem}.dropmenu-item .is-match{font-weight:700;text-decoration-line:underline}.dropmenu-item .label,.dropmenu-item .text{overflow:hidden;white-space:nowrap}.dropmenu-item.is-toggle .text{opacity:.6}.dropmenu-item.is-toggle:hover .text{opacity:1}.dropmenu-item-check{align-items:center;display:flex;flex:1 1 auto;justify-content:flex-end;padding-right:.5rem}.dropdown,.dropdown-menu{position:absolute;z-index:1200}.dropdown-menu{--menu-min-width:7rem;display:none}.dropdown-menu.show,.show>.dropdown-menu{display:block}.popover>.dropdown-menu{position:relative}.dropdown-menu .has-nested-menu.show>a:not(:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity))}.global-search-panel li:not(.order-first):hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.global-search-panel li a{width:100%}.picker-deselect-btn{opacity:.6;transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.picker-multi-selection{cursor:pointer;padding-right:.5rem;position:relative}.picker-multi-selection .picker-deselect-btn{--tw-scale-x:0;--tw-scale-y:0;background-color:rgba(var(--color-surface-rgb),.8);inset:0;opacity:0;position:absolute}.picker-deselect-btn:hover,.picker-multi-selection .picker-deselect-btn,.picker-multi-selection:hover .picker-deselect-btn{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.picker-deselect-btn:hover,.picker-multi-selection:hover .picker-deselect-btn{--tw-scale-x:1;--tw-scale-y:1;opacity:1}.pick-pri{align-items:center;display:flex;flex-direction:row;justify-content:flex-start;position:relative}.pick-pri>.caret{position:absolute;right:.5rem;top:.875rem}.pick-pri .placeholder{--tw-text-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-text-opacity))}.pick-pri-list>.btn{justify-content:flex-start}.zinbar [data-hint]{position:relative}.zinbar [data-hint]:after{--tw-bg-opacity:.9;--tw-text-opacity:1;--tw-content:attr(data-hint);background-color:rgba(var(--color-inverse-rgb),var(--tw-bg-opacity));border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);bottom:100%;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));content:var(--tw-content);display:block;font-size:.75rem;line-height:1rem;opacity:0;padding:.125rem .25rem;position:absolute;right:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:50}.zinbar [data-hint]:hover:after{opacity:1}.zin-perf-btn-list .text-danger{color:var(--color-danger-400)}.zinbar .state{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zinbar .state:active{--tw-scale-x:1.05;--tw-scale-y:1.05}.zinbar .state:active,.zinbar.collapse{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zinbar.collapse{--tw-translate-x:100%}.zinbar.collapse>div{pointer-events:none}.zinbar{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.7s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.contextmenu{display:none}.contextmenu.show{display:block}.contextmenu.popup{position:absolute}.dashboard-blocks{padding:.5rem;position:relative}.dashboard-block-cell{position:absolute;transition-duration:.15s;transition-property:left,top;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dashboard-block{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius);inset:.5rem;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dashboard-block.is-dragging{opacity:0;z-index:1600}.dashboard-block-header{align-items:center;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);display:flex;flex-direction:row;justify-content:space-between;left:0;padding:.75rem;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.dashboard-block-header>*{pointer-events:auto}.dashboard-block-title{font-size:.875rem;font-weight:700;line-height:1.3rem}.dashboard-block-body{inset:0;position:absolute}.dashboard-block-body>.panel{--tw-shadow:0px 6px 16px rgba(202,215,235,.25);display:flex;flex-direction:column;height:100%;width:100%}.dashboard-block-body .panel-heading{cursor:move;flex:none}.dashboard-block-body .panel-body{flex:1 1 auto;overflow-y:auto}.has-more-menu>.dashboard-block-body .panel-heading{padding-right:3rem}.dashboard-block-body .panel-title{font-size:.875rem;height:2rem;line-height:1.3rem}.dashboard-block-actions .btn{opacity:.6}.dashboard-block-actions .btn:hover{opacity:1}:root{--scrollbar-size:10px;--scrollbar-opacity:.6;--scrollbar-bg:rgba(var(--color-inverse-rgb),.15);--scrollbar-inset:inset 0 0 0 1px rgba(var(--color-inverse-rgb),.05);--scrollbar-bar-bg:rgba(var(--color-inverse-rgb),.3);--scrollbar-hover-bg:rgba(var(--color-inverse-rgb),.4);--scrollbar-drag-bg:rgba(var(--color-inverse-rgb),.5);--scrollbar-radius:var(--radius-sm);--scrollbar-duration:.7s}.scrollbar{background:var(--scrollbar-bg);box-shadow:var(--scrollbar-shadow);opacity:var(--scrollbar-opacity);position:absolute;transition-duration:.15s;transition-duration:var(--scrollbar-duration);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.scrollbar-hover .scrollbar{opacity:0}.scrollbar-hover:hover .scrollbar{opacity:var(--scrollbar-opacity)}.scrollbar.is-dragging,.scrollbar:hover{opacity:1!important}.scrollbar-bar{background:var(--scrollbar-bar-bg);border-radius:var(--scrollbar-radius);position:absolute}.scrollbar-bar:hover{background:var(--scrollbar-hover-bg)}.is-dragging>.scrollbar-bar{background:var(--scrollbar-drag-bg)}.is-horz>.scrollbar-bar{height:100%;z-index:20}.is-vert>.scrollbar-bar{width:100%;z-index:20}:root{--dtable-bg:var(--color-canvas);--dtable-striped-bg:var(--color-gray-50);--dtable-hover-bg:rgba(var(--color-primary-500-rgb),.05);--dtable-header-bg:var(--color-surface);--dtable-footer-bg:var(--color-surface);--dtable-border-color:var(--color-border);--dtable-sorter-size:.3125rem}.dtable{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));position:relative}.dtable-block{overflow:hidden;position:absolute;width:100%}.dtable-header{background-color:var(--dtable-header-bg);border-top-left-radius:inherit;border-top-right-radius:inherit}.dtable-body{overflow:hidden}.dtable-cells{background-color:var(--dtable-bg);z-index:0}.dtable-cells,.dtable-cells-container{height:100%;position:absolute}.dtable-cells-container{width:100%}.dtable-header .dtable-cells{background-color:var(--dtable-header-bg)}.dtable-cells.dtable-fixed-left,.dtable-cells.dtable-fixed-right{z-index:10}.dtable-cell{position:absolute;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-cell:after,.dtable-cell:before{bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:2}.dtable-cell:before{border-bottom-width:1px;opacity:1}.dtable-header .dtable-cell{align-items:center;display:flex;font-weight:700}.dtable-header .dtable-cell:after,.dtable-header .dtable-cell:before{top:0}.dtable-cell-content{gap:.25rem;height:100%;overflow:hidden;position:relative;white-space:nowrap;z-index:5}.dtable-cell-content,.dtable-footer{align-items:center;display:flex;padding-left:.75rem;padding-right:.75rem;width:100%}.dtable-footer{background-color:var(--dtable-footer-bg);border-color:var(--dtable-border-color);border-top-left-radius:inherit;border-top-right-radius:inherit;border-top-width:1px;position:absolute;z-index:10}.dtable .scrollbar{z-index:20}.dtable-header{transition-duration:1s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-scrolled-down .dtable-header{--tw-border-opacity:1;border-bottom-color:rgba(var(--color-border-strong-rgb),var(--tw-border-opacity));border-bottom-width:1px}.dtable-scroll-shadow{background-image:linear-gradient(90deg,rgba(0,0,0,.03),transparent),linear-gradient(90deg,rgba(0,0,0,.03),transparent 50%);opacity:0;pointer-events:none;position:absolute;top:0;transition-duration:1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:8px;z-index:20}.dtable:hover .dtable-scroll-shadow{opacity:1}.dtable-scroll-shadow.is-right{--tw-rotate:180deg;margin-left:-7px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtable-scroll-shadow.is-left,.dtable-scrolled-end .dtable-scroll-shadow.is-right{visibility:hidden}.dtable-scroll-shadow.is-right,.dtable-scrolled-right .dtable-scroll-shadow.is-left{visibility:visible}.dtable-cell[data-sort]{cursor:pointer}.dtable-sort{height:calc(var(--dtable-sorter-size)*12/5);margin-left:.25rem;opacity:.8;position:relative}.dtable-cell:hover .dtable-sort{opacity:1}.dtable-sort:after,.dtable-sort:before{border-color:var(--color-transparent);border-style:solid;border-width:var(--dtable-sorter-size);content:" ";height:0;left:0;opacity:.4;position:absolute;width:0}.dtable-sort:before{border-bottom-color:var(--color-current);border-top-width:0;top:0}.dtable-sort:after{border-bottom-width:0;border-top-color:var(--color-current);bottom:0}.dtable-sort.dtable-sort-asc:before,.dtable-sort.dtable-sort-desc:after{opacity:.9}.dtable-cells.dtable-fixed-left:before,.dtable-cells.dtable-fixed-right:before{border-color:var(--dtable-border-color);content:"";height:100%;pointer-events:none;position:absolute;width:100%;z-index:5}.dtable-cells.dtable-fixed-left:before{border-right-width:1px;right:-1px}.dtable-cells.dtable-fixed-right:before{border-left-width:1px;left:0}.dtable-bordered:before{border-color:var(--dtable-border-color);border-radius:inherit;border-width:1px;content:"";display:block;inset:0;pointer-events:none;position:absolute;z-index:15}.dtable-bordered .dtable-cell:before{border-width:1px}.dtable-cell.has-border-left:before{border-left-width:1px}.dtable-cell.has-border-right:before{border-right-width:1px}.dtable-striped .dtable-cell.is-odd-row{background-color:var(--dtable-striped-bg)}.dtable-hover-cell .dtable-cell:hover:after,.dtable-hover-col .dtable-cell.is-hover-col:before,.dtable-hover-row .dtable-body .dtable-cell.is-hover-row:before{background-color:var(--dtable-hover-bg)}:root{--dtable-checked-bg:var(--color-warning-50);--dtable-checked-bg-hover:var(--color-warning-100);--dtable-checked-border:var(--color-border-strong)}.dtable-cell.is-checked{background-color:var(--dtable-checked-bg)}.checkbox-primary.dtable-checkbox{margin-right:-.375rem}.dtable-hover-col .dtable-cell.is-hover-col.is-checked,.dtable-hover-row .dtable-cell.is-hover-row.is-checked{background-color:var(--dtable-checked-bg-hover)}.dtable-cell.is-checked{--dtable-border-color:var(--dtable-checked-border)}:root{--dtable-nt-size:calc(var(--font-size-root)*3/4 + 1px)}.dtable-nested-indent{flex:none;margin-right:-.25rem;order:-10}.dtable-nested-toggle{align-items:center;border-radius:var(--radius-sm);display:flex;flex:none;height:1.25rem;justify-content:center;margin-left:-.25rem;order:-1;width:1.25rem}.dtable-nested-toggle.is-no-child{margin-right:-.25rem;opacity:0;pointer-events:none}.tab-pane{display:none}.tab-pane.active{display:block}.dtable{--dtable-header-bg:var(--color-slate-50);--dtable-footer-bg:var(--color-slate-50);--dtable-border-color:var(--color-slate-100);--dtable-checked-border:var(--color-slate-300)}.dtable-header .dtable-cell{font-weight:400}.dtable-rows a:visited{--tw-text-opacity:1;color:rgba(var(--color-link-visited-rgb),var(--tw-text-opacity))}.dtable-rows a:hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.dtable .btn-avatar{--tw-bg-opacity:1;--tw-ring-color:var(--color-transparent);background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:var(--radius-full);gap:.25rem;height:1.25rem;padding-left:0;padding-right:.5rem}.dtable .btn-avatar:hover{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dtable .toggle-icon{border-radius:var(--radius-full)}.dtable .toggle-icon:after,.dtable .toggle-icon:before{--tw-bg-opacity:1;background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity))}.dtable-footer>.toolbar{margin-right:.5rem}.dtable-header .dtable-cell[data-sort]>.dtable-cell-content>a:not(:hover){color:var(--color-inherit)}.dtable-assign-btn{align-items:center;border-radius:var(--radius-full);display:flex;flex-direction:row;height:1.25rem;padding-left:.375rem;padding-right:.375rem}.dtable-assign-btn:not(:hover){color:var(--color-inherit)}.dtable-assign-btn.is-me{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.dtable-assign-btn:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.dtable-assign-btn>span{border-radius:var(--radius-full);line-height:20px;padding-left:.375rem;padding-right:.375rem}.dtable-assign-btn.is-unassigned>span{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity));color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}.dtable-assign-btn.is-unassigned:hover>span{background-color:var(--color-inherit)}.dtable-assign-btn>.icon{opacity:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-assign-btn:hover>.icon{opacity:1}.dtable-header .dtable-cell[data-type=assign]{padding-left:1.5rem}.dtable-custom-cell[data-type=control]{align-items:center;display:flex;justify-content:center;padding-left:.125rem;padding-right:.125rem;z-index:1}.arrow,.arrow:before{background:inherit;height:calc(var(--arrow-size)*1.4142);position:absolute;width:calc(var(--arrow-size)*1.4142)}.arrow{--arrow-size:5px;visibility:hidden}.arrow:before{--tw-rotate:45deg;border:inherit;content:"";transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));visibility:visible}.arrow-top,.arrow-up{border-bottom:inherit;border-right:inherit;border-width:1px 0 0 1px;top:calc(1px - var(--arrow-size))}.arrow-bottom,.arrow-down{border-left:inherit;border-top:inherit;border-width:0 1px 1px 0;bottom:calc(1px - var(--arrow-size))}.arrow-left{border-right:inherit;border-top:inherit;border-width:0 0 1px 1px;left:calc(1px - var(--arrow-size))}.arrow-right{border-bottom:inherit;border-left:inherit;border-width:1px 1px 0 0;right:calc(1px - var(--arrow-size))}.caret,.caret-down,.caret-left,.caret-right,.caret-up{border:var(--caret-size,4px) solid transparent;display:inline-block;height:0;opacity:var(--caret-opacity,.5);width:0}:focus>.caret,:hover>.caret{opacity:inherit}.caret,.caret-down{border-bottom-width:0;border-top-color:currentColor}.caret-up{border-bottom-color:currentColor;border-top-width:0}.caret-right{border-left-color:currentColor;border-right-width:0}.caret-left{border-left-width:0;border-right-color:currentColor}:root{--toggle-icon-size:calc(var(--font-size-root)*3/4 + 1px)}.toggle-icon,.toggle-icon-collapse,.toggle-icon-expand{border-color:var(--color-current);border-width:1px;display:block;opacity:.5;position:relative}.toggle-icon-collapse:hover,.toggle-icon-expand:hover,.toggle-icon:hover{opacity:.9}.toggle-icon,.toggle-icon-collapse,.toggle-icon-expand{border-radius:inherit;height:var(--toggle-icon-size);width:var(--toggle-icon-size)}.is-collapsed .toggle-icon:after,.is-collapsed .toggle-icon:before,.is-expanded .toggle-icon:before,.toggle-icon-collapse:after,.toggle-icon-collapse:before,.toggle-icon-expand:before{background-color:var(--color-current);content:" ";display:block;height:1px;left:2px;position:absolute;right:2px;top:calc((var(--toggle-icon-size) - 3px)/2)}.is-collapsed .toggle-icon:after,.toggle-icon-collapse:after{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.close{aspect-ratio:1/1;display:block;position:relative;width:1em}.close:after,.close:before{--tw-rotate:45deg;background-color:var(--color-current);border-radius:var(--radius-full);content:"";display:block;height:1px;left:0;position:absolute;top:calc(50% - .5px);width:100%}.close:after,.close:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.close:after{--tw-rotate:-45deg}.spinner,.spinner:after,.spinner:before{display:block;height:1em;position:relative;width:1em}.spinner:after,.spinner:before{border-radius:var(--radius-full);content:" ";position:absolute}.spinner:before{animation:-spin 1s cubic-bezier(.6,0,.4,1) infinite;border:.16667em solid transparent;border-top-color:currentcolor}.spinner:after{border:.16667em solid;opacity:.2}.magnifier{display:inline-block;height:1em;position:relative;width:1em}.magnifier:after,.magnifier:before{border-radius:var(--radius-full);content:"";display:block;position:absolute}.magnifier:before{border:1px solid;height:.75em;width:.75em}.magnifier:after{--tw-rotate:45deg;background-color:var(--color-current);height:1px;left:.55em;top:.7em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:.5em}.more,.more-vert{margin:.5rem;position:relative}.more,.more-vert,.more-vert:after,.more-vert:before,.more:after,.more:before{background-color:var(--color-current);border-radius:var(--radius-full);height:.125rem;width:.125rem}.more-vert:after,.more-vert:before,.more:after,.more:before{--tw-content:"";content:var(--tw-content);display:block;left:-5px;position:absolute;top:0}.more-vert:after,.more:after{left:5px}.more-vert{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chevron-down,.chevron-left,.chevron-right,.chevron-up{align-items:center;display:inline-flex;height:1em;justify-content:center;position:relative;width:1em}.chevron-down:before,.chevron-left:before,.chevron-right:before,.chevron-up:before{--tw-translate-y:-.125rem;--tw-rotate:45deg;--tw-content:"";border-color:var(--color-current);border-width:0 1px 1px 0;content:var(--tw-content);display:block;height:.6923077em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:center;width:.6923077em}.chevron-left:before{--tw-translate-y:0px;--tw-translate-x:.125rem;--tw-rotate:135deg}.chevron-left:before,.chevron-right:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chevron-right:before{--tw-translate-y:0px;--tw-translate-x:-.125rem;--tw-rotate:-45deg}.chevron-up:before{--tw-translate-y:.125rem;--tw-rotate:225deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.i-time{border-color:var(--color-current);border-radius:50%;border-width:.08em;display:inline-block;height:1em;position:relative;width:1em}.i-time:after{--tw-content:"";border-color:var(--color-current);border-width:0 0 .08em .08em;content:var(--tw-content);height:.385em;left:.3846em;position:absolute;top:.08em;width:.385em}.i-calendar{border-color:var(--color-current);border-radius:var(--radius);border-width:.08em;display:inline-block;height:.79em;margin-top:.16em;position:relative;width:1em}.i-calendar:after,.i-calendar:before{--tw-content:"";border-color:var(--color-current);border-width:.08em;content:var(--tw-content);position:absolute}.i-calendar:before{border-bottom-width:0;left:.15em;top:.307em;width:.6em}.i-calendar:after{border-bottom-width:0;border-top-width:0;height:.3077em;left:.17em;top:-.154em;width:.538em}:root{--state-color:rgba(0,0,0,.05);--state-scale:.9;--state-active-color:rgba(0,0,0,.1);--state-focus-color:rgba(0,0,0,.125);--state-disabled-opacity:.65;--state-muted-opacity:.5}.btn,.nav-item>a,.state{cursor:pointer;position:relative}.btn:before,.nav-item>a:before,.state:before{background:var(--state-color);border-radius:inherit;content:" ";display:block;inset:0;opacity:0;pointer-events:none;position:absolute;transform:scale(var(--state-scale));transition-duration:.2s;transition-property:opacity,transform,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn:active:before,.btn:focus-visible:before,.btn:hover:before,.nav-item>a:active:before,.nav-item>a:focus-visible:before,.nav-item>a:hover:before,.state:active:before,.state:focus-visible:before,.state:hover:before{--tw-scale-x:1;--tw-scale-y:1;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn:focus-visible,.nav-item>a:focus-visible,.state:focus-visible{outline:2px solid transparent;outline-offset:2px}.btn:focus-visible:before,.nav-item>a:focus-visible:before,.state:focus-visible:before{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-focus-rgb),var(--tw-ring-opacity));background:var(--state-focus-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.btn:active:before,.nav-item>a:active:before,.state:active:before{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--color-current);background:var(--state-active-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);transition-duration:.7s}.btn.disabled:before,.btn[disabled]:before,.nav-item>a.disabled:before,.nav-item>a[disabled]:before,.state.disabled:before,.state[disabled]:before{display:none}.disabled,.disabled *,[disabled],[disabled] *{--tw-grayscale:grayscale(100%);cursor:not-allowed!important;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);opacity:var(--state-disabled-opacity)}.muted{opacity:var(--state-muted-opacity)}.load-indicator:after,.load-indicator:before{display:block;opacity:0;position:absolute;transition-delay:0s;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden}.load-indicator:before{--tw-content:attr(data-loading);align-items:center;background-color:rgba(var(--color-canvas-rgb),.7);border-radius:inherit;content:var(--tw-content);display:flex;font-size:.75rem;inset:0;justify-content:center;line-height:1rem;z-index:99}.load-indicator[data-loading]:before{padding-top:3.5rem}.load-indicator:after{--tw-content:"";border-color:var(--color-current);border-radius:var(--radius-full);border-style:dotted;border-top-color:var(--color-transparent);border-width:4px 3px 4px 4px;content:var(--tw-content);height:2rem;left:50%;margin-left:-1rem;margin-top:-1rem;top:50%;width:2rem;z-index:100}.load-indicator.loading:after,.load-indicator.loading:before{opacity:1;transition-delay:.5s;visibility:visible}.load-indicator.loading:after{animation:-spin 1s linear infinite;opacity:.5}.events-none{pointer-events:none}.events-auto{pointer-events:auto}.scroll-auto{scroll-behavior:auto}.scroll-smooth{scroll-behavior:smooth}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.active\:opacity-100.active,.active\:opacity-100:active,.group.active .group-active\:opacity-100,.group:active .group-active\:opacity-100,.group:hover .group-hover\:opacity-100,.hover\:opacity-100:hover{opacity:1}.active\:text-primary.active,.active\:text-primary:active,.group.active .group-active\:text-primary,.group:active .group-active\:text-primary,.group:hover .group-hover\:text-primary,.hover\:text-primary:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.active\:primary.active,.active\:primary:active,.group.active .group-active\:primary,.group:active .group-active\:primary,.group:hover .group-hover\:primary,.hover\:primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.active\:canvas.active,.active\:canvas:active,.group.active .group-active\:canvas,.group:active .group-active\:canvas,.group:hover .group-hover\:canvas,.hover\:canvas:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.active\:font-bold.active,.active\:font-bold:active,.group.active .group-active\:font-bold,.group:active .group-active\:font-bold,.group:hover .group-hover\:font-bold,.hover\:font-bold:hover{font-weight:700}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.container{width:100%}@media (min-width:1720px){.container{max-width:1720px}}.container{margin-left:auto;margin-right:auto}.popup{--tw-bg-opacity:.85;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;--tw-backdrop-blur:blur(16px);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.popup,.popup .popup{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.popup .popup{--tw-bg-opacity:1;--tw-backdrop-blur:blur(0)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.list-item{display:list-item}.hidden{display:none!important}.pull-right{float:right}.pull-left{float:left}.clearfix:after{clear:both;content:"";display:block}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-overlay{overflow:overlay}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-auto{inset:auto}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-full{top:100%}.right-full{right:100%}.bottom-full{bottom:100%}.left-full{left:100%}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.top-px{top:1px}.right-px{right:1px}.bottom-px{bottom:1px}.left-px{left:1px}.top-0\.5{top:.125rem}.right-0\.5{right:.125rem}.bottom-0\.5{bottom:.125rem}.left-0\.5{left:.125rem}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.left-1{left:.25rem}.top-1\.5{top:.375rem}.right-1\.5{right:.375rem}.bottom-1\.5{bottom:.375rem}.left-1\.5{left:.375rem}.top-2{top:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.top-2\.5{top:.625rem}.right-2\.5{right:.625rem}.bottom-2\.5{bottom:.625rem}.left-2\.5{left:.625rem}.top-3{top:.75rem}.right-3{right:.75rem}.bottom-3{bottom:.75rem}.left-3{left:.75rem}.top-3\.5{top:.875rem}.right-3\.5{right:.875rem}.bottom-3\.5{bottom:.875rem}.left-3\.5{left:.875rem}.top-4{top:1rem}.right-4{right:1rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.top-5{top:1.25rem}.right-5{right:1.25rem}.bottom-5{bottom:1.25rem}.left-5{left:1.25rem}.top-6{top:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.top-7{top:1.75rem}.right-7{right:1.75rem}.bottom-7{bottom:1.75rem}.left-7{left:1.75rem}.top-8{top:2rem}.right-8{right:2rem}.bottom-8{bottom:2rem}.left-8{left:2rem}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.basis-0{flex-basis:0px}.basis-1{flex-basis:.25rem}.basis-2{flex-basis:.5rem}.basis-3{flex-basis:.75rem}.basis-4{flex-basis:1rem}.basis-5{flex-basis:1.25rem}.basis-6{flex-basis:1.5rem}.basis-7{flex-basis:1.75rem}.basis-8{flex-basis:2rem}.basis-9{flex-basis:2.25rem}.basis-10{flex-basis:2.5rem}.basis-11{flex-basis:2.75rem}.basis-12{flex-basis:3rem}.basis-14{flex-basis:3.5rem}.basis-16{flex-basis:4rem}.basis-20{flex-basis:5rem}.basis-24{flex-basis:6rem}.basis-28{flex-basis:7rem}.basis-32{flex-basis:8rem}.basis-36{flex-basis:9rem}.basis-40{flex-basis:10rem}.basis-44{flex-basis:11rem}.basis-48{flex-basis:12rem}.basis-52{flex-basis:13rem}.basis-56{flex-basis:14rem}.basis-60{flex-basis:15rem}.basis-64{flex-basis:16rem}.basis-72{flex-basis:18rem}.basis-80{flex-basis:20rem}.basis-96{flex-basis:24rem}.basis-auto{flex-basis:auto}.basis-px{flex-basis:1px}.basis-0\.5{flex-basis:.125rem}.basis-1\.5{flex-basis:.375rem}.basis-2\.5{flex-basis:.625rem}.basis-3\.5{flex-basis:.875rem}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.333333%}.basis-2\/3{flex-basis:66.666667%}.basis-1\/4{flex-basis:25%}.basis-2\/4{flex-basis:50%}.basis-3\/4{flex-basis:75%}.basis-1\/5{flex-basis:20%}.basis-2\/5{flex-basis:40%}.basis-3\/5{flex-basis:60%}.basis-4\/5{flex-basis:80%}.basis-1\/6{flex-basis:16.666667%}.basis-2\/6{flex-basis:33.333333%}.basis-3\/6{flex-basis:50%}.basis-4\/6{flex-basis:66.666667%}.basis-5\/6{flex-basis:83.333333%}.basis-1\/12{flex-basis:8.333333%}.basis-2\/12{flex-basis:16.666667%}.basis-3\/12{flex-basis:25%}.basis-4\/12{flex-basis:33.333333%}.basis-5\/12{flex-basis:41.666667%}.basis-6\/12{flex-basis:50%}.basis-7\/12{flex-basis:58.333333%}.basis-8\/12{flex-basis:66.666667%}.basis-9\/12{flex-basis:75%}.basis-10\/12{flex-basis:83.333333%}.basis-11\/12{flex-basis:91.666667%}.basis-full{flex-basis:100%}.row{display:flex;flex-direction:row}.center,.col{display:flex;flex-direction:column}.center,.center-row{align-items:center;justify-content:center}.center-row{display:flex;flex-direction:row}.center-x,.center-y{align-items:center;display:flex}.center-y{flex-direction:column}.row-reverse{display:flex;flex-direction:row-reverse}.col-reverse{display:flex;flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1!important}.grow-0{flex-grow:0!important}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.gap-0{gap:0}.gap-x-0{-moz-column-gap:0;column-gap:0}.gap-y-0{row-gap:0}.gap-px{gap:1px}.gap-x-px{-moz-column-gap:1px;column-gap:1px}.gap-y-px{row-gap:1px}.gap-0\.5{gap:.125rem}.gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.gap-y-0\.5{row-gap:.125rem}.gap-3px{gap:3px}.gap-1{gap:.25rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-y-1{row-gap:.25rem}.gap-1\.5{gap:.375rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-y-1\.5{row-gap:.375rem}.gap-2{gap:.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-2{row-gap:.5rem}.gap-2\.5{gap:.625rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-y-2\.5{row-gap:.625rem}.gap-3{gap:.75rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-3{row-gap:.75rem}.gap-3\.5{gap:.875rem}.gap-x-3\.5{-moz-column-gap:.875rem;column-gap:.875rem}.gap-y-3\.5{row-gap:.875rem}.gap-4{gap:1rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.gap-5{gap:1.25rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-5{row-gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-6{row-gap:1.5rem}.gap-7{gap:1.75rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-7{row-gap:1.75rem}.gap-8{gap:2rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-bottom:0}.mt-0,.my-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-bottom:auto}.mt-auto,.my-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.m-px{margin:1px}.mx-px{margin-left:1px;margin-right:1px}.my-px{margin-bottom:1px}.mt-px,.my-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.m-0\.5{margin:.125rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-0\.5{margin-bottom:.125rem}.mt-0\.5,.my-0\.5{margin-top:.125rem}.mr-0\.5{margin-right:.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-0\.5{margin-left:.125rem}.m-1{margin:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-bottom:.25rem}.mt-1,.my-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.m-1\.5{margin:.375rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.my-1\.5{margin-bottom:.375rem}.mt-1\.5,.my-1\.5{margin-top:.375rem}.mr-1\.5{margin-right:.375rem}.mb-1\.5{margin-bottom:.375rem}.ml-1\.5{margin-left:.375rem}.m-2{margin:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-bottom:.5rem}.mt-2,.my-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.m-2\.5{margin:.625rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.my-2\.5{margin-bottom:.625rem}.mt-2\.5,.my-2\.5{margin-top:.625rem}.mr-2\.5{margin-right:.625rem}.mb-2\.5{margin-bottom:.625rem}.ml-2\.5{margin-left:.625rem}.m-3{margin:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-bottom:.75rem}.mt-3,.my-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.m-3\.5{margin:.875rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.my-3\.5{margin-bottom:.875rem}.mt-3\.5,.my-3\.5{margin-top:.875rem}.mr-3\.5{margin-right:.875rem}.mb-3\.5{margin-bottom:.875rem}.ml-3\.5{margin-left:.875rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-bottom:1rem}.mt-4,.my-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.m-5{margin:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-5{margin-bottom:1.25rem}.mt-5,.my-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.m-6{margin:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-bottom:1.5rem}.mt-6,.my-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.m-7{margin:1.75rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.my-7{margin-bottom:1.75rem}.mt-7,.my-7{margin-top:1.75rem}.mr-7{margin-right:1.75rem}.mb-7{margin-bottom:1.75rem}.ml-7{margin-left:1.75rem}.m-8{margin:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-8{margin-bottom:2rem}.mt-8,.my-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.m-9{margin:2.25rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.my-9{margin-bottom:2.25rem}.mt-9,.my-9{margin-top:2.25rem}.mr-9{margin-right:2.25rem}.mb-9{margin-bottom:2.25rem}.ml-9{margin-left:2.25rem}.m-10{margin:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-10{margin-bottom:2.5rem}.mt-10,.my-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-bottom:0}.pt-0,.py-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.p-px{padding:1px}.px-px{padding-left:1px;padding-right:1px}.py-px{padding-bottom:1px}.pt-px,.py-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.p-0\.5{padding:.125rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.py-0\.5{padding-bottom:.125rem}.pt-0\.5,.py-0\.5{padding-top:.125rem}.pr-0\.5{padding-right:.125rem}.pb-0\.5{padding-bottom:.125rem}.pl-0\.5{padding-left:.125rem}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-bottom:.25rem}.pt-1,.py-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.p-1\.5{padding:.375rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-1\.5{padding-bottom:.375rem}.pt-1\.5,.py-1\.5{padding-top:.375rem}.pr-1\.5{padding-right:.375rem}.pb-1\.5{padding-bottom:.375rem}.pl-1\.5{padding-left:.375rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-bottom:.5rem}.pt-2,.py-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.p-2\.5{padding:.625rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-2\.5{padding-bottom:.625rem}.pt-2\.5,.py-2\.5{padding-top:.625rem}.pr-2\.5{padding-right:.625rem}.pb-2\.5{padding-bottom:.625rem}.pl-2\.5{padding-left:.625rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-bottom:.75rem}.pt-3,.py-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.p-3\.5{padding:.875rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-3\.5{padding-bottom:.875rem}.pt-3\.5,.py-3\.5{padding-top:.875rem}.pr-3\.5{padding-right:.875rem}.pb-3\.5{padding-bottom:.875rem}.pl-3\.5{padding-left:.875rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-bottom:1rem}.pt-4,.py-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.p-5{padding:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-bottom:1.25rem}.pt-5,.py-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-bottom:1.5rem}.pt-6,.py-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.p-7{padding:1.75rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-7{padding-bottom:1.75rem}.pt-7,.py-7{padding-top:1.75rem}.pr-7{padding-right:1.75rem}.pb-7{padding-bottom:1.75rem}.pl-7{padding-left:1.75rem}.p-8{padding:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-bottom:2rem}.pt-8,.py-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.p-9{padding:2.25rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-9{padding-bottom:2.25rem}.pt-9,.py-9{padding-top:2.25rem}.pr-9{padding-right:2.25rem}.pb-9{padding-bottom:2.25rem}.pl-9{padding-left:2.25rem}.p-10{padding:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-10{padding-bottom:2.5rem}.pt-10,.py-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.125rem*var(--tw-space-x-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.375rem*var(--tw-space-x-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.625rem*var(--tw-space-x-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.875rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.875rem*var(--tw-space-x-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.875rem*var(--tw-space-y-reverse));margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.25rem*var(--tw-space-x-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.75rem*var(--tw-space-x-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.75rem*var(--tw-space-y-reverse));margin-top:calc(1.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.w-0{width:0}.w-px{width:1px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:-moz-min-content;width:min-content}.w-max{width:-moz-max-content;width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:0}.h-0{height:0}.h-px{height:1px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-1\/2{height:50%}.h-1\/3{height:33.333333%}.h-2\/3{height:66.666667%}.h-1\/4{height:25%}.h-2\/4{height:50%}.h-3\/4{height:75%}.h-1\/5{height:20%}.h-2\/5{height:40%}.h-3\/5{height:60%}.h-4\/5{height:80%}.h-1\/6{height:16.666667%}.h-2\/6{height:33.333333%}.h-3\/6{height:50%}.h-4\/6{height:66.666667%}.h-5\/6{height:83.333333%}.h-full{height:100%}.h-screen{height:100vh}.h-min{height:-moz-min-content;height:min-content}.h-max{height:-moz-max-content;height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-full{max-height:100%}.min-h-0{min-height:0}.primary-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.primary-outline,.secondary-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.secondary-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.success-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.success-outline,.warning-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.warning-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.danger-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.danger-outline,.important-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.important-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.special-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.lighter-outline,.special-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lighter-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-100-rgb),var(--tw-text-opacity))}.light-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-300-rgb),var(--tw-text-opacity))}.gray-outline,.light-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.gray-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.darken-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-700-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.darken-outline,.darker-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.darker-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-900-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-900-rgb),var(--tw-text-opacity))}.black-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--color-black-rgb),var(--tw-text-opacity))}.primary-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.secondary-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-secondary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.success-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-success-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.warning-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-warning-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.danger-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-danger-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.important-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-important-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.special-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-special-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.lighter-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.light-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-200-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-200-rgb),var(--tw-bg-opacity));color:rgba(var(--color-gray-600-rgb),var(--tw-text-opacity))}.gray-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.darken-pale,.gray-pale{color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.darken-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-400-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-400-rgb),var(--tw-bg-opacity))}.primary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.primary,.primary:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.primary:hover{--tw-text-opacity:1}.secondary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.secondary,.secondary:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.secondary:hover{--tw-text-opacity:1}.success{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-success-500-rgb),var(--tw-bg-opacity))}.success,.success:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.success:hover{--tw-text-opacity:1}.warning{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-warning-500-rgb),var(--tw-bg-opacity))}.warning,.warning:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.warning:hover{--tw-text-opacity:1}.danger{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-danger-500-rgb),var(--tw-bg-opacity))}.danger,.danger:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.danger:hover{--tw-text-opacity:1}.important{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-important-500-rgb),var(--tw-bg-opacity))}.important,.important:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.important:hover{--tw-text-opacity:1}.special{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-special-500-rgb),var(--tw-bg-opacity))}.special,.special:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.special:hover{--tw-text-opacity:1}.white{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-white-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-white-rgb),var(--tw-bg-opacity))}.lighter{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity))}.light{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.gray{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-500-rgb),var(--tw-bg-opacity))}.gray,.gray:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.gray:hover{--tw-text-opacity:1}.darken{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-700-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-700-rgb),var(--tw-bg-opacity))}.darken,.darken:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.darken:hover{--tw-text-opacity:1}.darker{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-900-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-900-rgb),var(--tw-bg-opacity))}.darker,.darker:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.darker:hover{--tw-text-opacity:1}.black{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-black-rgb),var(--tw-bg-opacity))}.black,.black:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.black:hover{--tw-text-opacity:1}.surface{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-surface-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.canvas,.surface{color:rgba(var(--color-fore-rgb),var(--tw-text-opacity))}.canvas{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-canvas-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.inverse{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-fore-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.ghost{--tw-ring-color:var(--color-transparent);background-color:var(--color-transparent)}.font-sans{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.font-serif{font-family:Nimbus Roman No9 L,Songti SC,Noto Serif CJK SC,Source Han Serif SC,Source Han Serif CN,STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-root{font-size:16px}.text-sm{font-size:.75rem;line-height:1rem}.text-base{font-size:.8125rem;line-height:1.25rem}.text-md{font-size:.875rem;line-height:1.3rem}.text-lg{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-thin{font-weight:100}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.line-2{-webkit-line-clamp:2}.line-2,.line-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-3{-webkit-line-clamp:3}.line-4{-webkit-line-clamp:4}.line-4,.line-5{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-5{-webkit-line-clamp:5}.line-6{-webkit-box-orient:vertical;-webkit-line-clamp:6;display:-webkit-box;overflow:hidden}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.align-sub{vertical-align:sub}.align-super{vertical-align:super}.text-primary{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.text-success{--tw-text-opacity:1;color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.text-warning{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.text-danger{--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.text-important{--tw-text-opacity:1;color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.text-special{--tw-text-opacity:1;color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.text-lighter{--tw-text-opacity:1;color:rgba(var(--color-gray-300-rgb),var(--tw-text-opacity))}.text-light{--tw-text-opacity:1;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity))}.text-gray{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.text-dark{--tw-text-opacity:1;color:rgba(var(--color-gray-600-rgb),var(--tw-text-opacity))}.text-darken{--tw-text-opacity:1;color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.text-darker{--tw-text-opacity:1;color:rgba(var(--color-gray-900-rgb),var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgba(var(--color-black-rgb),var(--tw-text-opacity))}.text-canvas{--tw-text-opacity:1;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.text-surface{--tw-text-opacity:1;color:rgba(var(--color-surface-rgb),var(--tw-text-opacity))}.text-inverse{--tw-text-opacity:1;color:rgba(var(--color-inverse-rgb),var(--tw-text-opacity))}.text-fore{--tw-text-opacity:1;color:rgba(var(--color-fore-rgb),var(--tw-text-opacity))}.text-focus{--tw-text-opacity:1;color:rgba(var(--color-focus-rgb),var(--tw-text-opacity))}.text-link{--tw-text-opacity:1;color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}.text-link-hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.text-transparent{color:transparent}.text-current{color:currentColor}.text-inherit{color:inherit}.clip,.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip{text-overflow:clip}.nowrap{white-space:nowrap}.pre{white-space:pre}.pre-line{white-space:pre-line}.pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-opacity-0{--tw-text-opacity:0}.text-opacity-10{--tw-text-opacity:.1}.text-opacity-20{--tw-text-opacity:.2}.text-opacity-30{--tw-text-opacity:.3}.text-opacity-40{--tw-text-opacity:.4}.text-opacity-50{--tw-text-opacity:.5}.text-opacity-60{--tw-text-opacity:.6}.text-opacity-70{--tw-text-opacity:.7}.text-opacity-80{--tw-text-opacity:.8}.text-opacity-90{--tw-text-opacity:.9}.text-opacity-100{--tw-text-opacity:1}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.bg-primary{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:rgba(var(--color-success-500-rgb),var(--tw-bg-opacity))}.bg-warning{--tw-bg-opacity:1;background-color:rgba(var(--color-warning-500-rgb),var(--tw-bg-opacity))}.bg-danger{--tw-bg-opacity:1;background-color:rgba(var(--color-danger-500-rgb),var(--tw-bg-opacity))}.bg-important{--tw-bg-opacity:1;background-color:rgba(var(--color-important-500-rgb),var(--tw-bg-opacity))}.bg-special{--tw-bg-opacity:1;background-color:rgba(var(--color-special-500-rgb),var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(var(--color-white-rgb),var(--tw-bg-opacity))}.bg-lighter{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.bg-light{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-400-rgb),var(--tw-bg-opacity))}.bg-gray{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-500-rgb),var(--tw-bg-opacity))}.bg-dark{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-600-rgb),var(--tw-bg-opacity))}.bg-darken{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-700-rgb),var(--tw-bg-opacity))}.bg-darker{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-900-rgb),var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(var(--color-black-rgb),var(--tw-bg-opacity))}.bg-canvas{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.bg-surface{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.bg-inverse{--tw-bg-opacity:1;background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-inherit{background-color:inherit}.bg-none{background:none}.bg-current{background:currentColor}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-10{--tw-bg-opacity:.1}.bg-opacity-20{--tw-bg-opacity:.2}.bg-opacity-30{--tw-bg-opacity:.3}.bg-opacity-40{--tw-bg-opacity:.4}.bg-opacity-50{--tw-bg-opacity:.5}.bg-opacity-60{--tw-bg-opacity:.6}.bg-opacity-70{--tw-bg-opacity:.7}.bg-opacity-80{--tw-bg-opacity:.8}.bg-opacity-90{--tw-bg-opacity:.9}.bg-opacity-100{--tw-bg-opacity:1}.border{border-width:1px}.border-t{border-top-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-2{border-width:2px}.border-t-2{border-top-width:2px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-4{border-width:4px}.border-t-4{border-top-width:4px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-0{border-width:0}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-primary{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:rgba(var(--color-secondary-500-rgb),var(--tw-border-opacity))}.border-success{--tw-border-opacity:1;border-color:rgba(var(--color-success-500-rgb),var(--tw-border-opacity))}.border-warning{--tw-border-opacity:1;border-color:rgba(var(--color-warning-500-rgb),var(--tw-border-opacity))}.border-danger{--tw-border-opacity:1;border-color:rgba(var(--color-danger-500-rgb),var(--tw-border-opacity))}.border-important{--tw-border-opacity:1;border-color:rgba(var(--color-important-500-rgb),var(--tw-border-opacity))}.border-special{--tw-border-opacity:1;border-color:rgba(var(--color-special-500-rgb),var(--tw-border-opacity))}.border-strong{--tw-border-opacity:1;border-color:rgba(var(--color-border-strong-rgb),var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgba(var(--color-white-rgb),var(--tw-border-opacity))}.border-lighter{--tw-border-opacity:1;border-color:rgba(var(--color-gray-100-rgb),var(--tw-border-opacity))}.border-light{--tw-border-opacity:1;border-color:rgba(var(--color-gray-300-rgb),var(--tw-border-opacity))}.border-gray{--tw-border-opacity:1;border-color:rgba(var(--color-gray-500-rgb),var(--tw-border-opacity))}.border-darken{--tw-border-opacity:1;border-color:rgba(var(--color-gray-700-rgb),var(--tw-border-opacity))}.border-darker{--tw-border-opacity:1;border-color:rgba(var(--color-gray-900-rgb),var(--tw-border-opacity))}.border-black{--tw-border-opacity:1;border-color:rgba(var(--color-black-rgb),var(--tw-border-opacity))}.border-canvas{--tw-border-opacity:1;border-color:rgba(var(--color-canvas-rgb),var(--tw-border-opacity))}.border-surface{--tw-border-opacity:1;border-color:rgba(var(--color-surface-rgb),var(--tw-border-opacity))}.border-inverse{--tw-border-opacity:1;border-color:rgba(var(--color-fore-rgb),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-inherit{border-color:inherit}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-hidden{border-style:hidden}.border-none{border-style:none}.border-opacity-0{--tw-border-opacity:0}.border-opacity-10{--tw-border-opacity:.1}.border-opacity-20{--tw-border-opacity:.2}.border-opacity-30{--tw-border-opacity:.3}.border-opacity-40{--tw-border-opacity:.4}.border-opacity-50{--tw-border-opacity:.5}.border-opacity-60{--tw-border-opacity:.6}.border-opacity-70{--tw-border-opacity:.7}.border-opacity-80{--tw-border-opacity:.8}.border-opacity-90{--tw-border-opacity:.9}.border-opacity-100{--tw-border-opacity:1}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.circle,.rounded-full{border-radius:var(--radius-full)}.rounded-l-none{border-bottom-left-radius:var(--radius-none);border-top-left-radius:var(--radius-none)}.rounded-t-none{border-top-left-radius:var(--radius-none)}.rounded-r-none,.rounded-t-none{border-top-right-radius:var(--radius-none)}.rounded-b-none,.rounded-r-none{border-bottom-right-radius:var(--radius-none)}.rounded-b-none{border-bottom-left-radius:var(--radius-none)}.rounded-br-none{border-bottom-right-radius:var(--radius-none)}.rounded-bl-none{border-bottom-left-radius:var(--radius-none)}.rounded-tr-none{border-top-right-radius:var(--radius-none)}.rounded-tl-none{border-top-left-radius:var(--radius-none)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-border-strong-rgb),var(--tw-ring-opacity))}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-3{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-3{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4,.ring-8{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-inverse{--tw-ring-opacity:1}.ring-inverse,.ring-light{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity))}.ring-light{--tw-ring-opacity:.05}.ring-dark{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.2}.ring-darker{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.3}.ring-darkest{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.5}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity))}.ring-secondary{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity))}.ring-warning{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity))}.ring-success{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity))}.ring-danger{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity))}.ring-important{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity))}.ring-special{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity))}.ring-inherit{--tw-ring-color:var(--color-inherit)}.ring-current{--tw-ring-color:var(--color-current)}.ring-transparent{--tw-ring-color:var(--color-transparent)}.ring-canvas{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-canvas-rgb),var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-white-rgb),var(--tw-ring-opacity))}.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:.05}.ring-opacity-10{--tw-ring-opacity:.1}.ring-opacity-20{--tw-ring-opacity:.2}.ring-opacity-30{--tw-ring-opacity:.3}.ring-opacity-40{--tw-ring-opacity:.4}.ring-opacity-50{--tw-ring-opacity:.5}.ring-opacity-60{--tw-ring-opacity:.6}.ring-opacity-70{--tw-ring-opacity:.7}.ring-opacity-80{--tw-ring-opacity:.8}.ring-opacity-90{--tw-ring-opacity:.9}.ring-opacity-100{--tw-ring-opacity:1}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-8{--tw-ring-offset-width:8px}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow-md{--tw-shadow:var(--shadow-md);--tw-shadow-colored:var(--shadow-md)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-xl{--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl)}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:var(--shadow-2xl);--tw-shadow-colored:var(--shadow-2xl)}.shadow-inner{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner)}.shadow-inner,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none)}.shadow-primary{--tw-shadow-color:rgb(var(--color-primary-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-secondary{--tw-shadow-color:rgb(var(--color-secondary-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-success{--tw-shadow-color:rgb(var(--color-success-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-warning{--tw-shadow-color:rgb(var(--color-warning-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-danger{--tw-shadow-color:rgb(var(--color-danger-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-important{--tw-shadow-color:rgb(var(--color-important-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-special{--tw-shadow-color:rgb(var(--color-special-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-white{--tw-shadow-color:rgb(var(--color-white-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-lighter{--tw-shadow-color:rgb(var(--color-gray-100-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-light{--tw-shadow-color:rgb(var(--color-gray-300-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-gray{--tw-shadow-color:rgb(var(--color-gray-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-dark{--tw-shadow-color:rgb(var(--color-gray-700-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-darker{--tw-shadow-color:rgb(var(--color-gray-900-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-black{--tw-shadow-color:rgb(var(--color-black-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-transparent{--tw-shadow-color:var(--color-transparent);--tw-shadow:var(--tw-shadow-colored)}.shadow-current{--tw-shadow-color:var(--color-current);--tw-shadow:var(--tw-shadow-colored)}.shadow-inherit{--tw-shadow-color:var(--color-inherit);--tw-shadow:var(--tw-shadow-colored)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.blur-none{--tw-blur:blur(0)}.blur-none,.blur-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur,.blur-md{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-lg,.blur-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.drop-shadow-none,.drop-shadow-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.drop-shadow-md{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)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.drop-shadow-lg,.drop-shadow-xl{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)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0,0,0,.15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-none,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-lg,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-3xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fade,.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{opacity:0;transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{--tw-scale-x:.9;--tw-scale-y:.9}.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-bottom{--tw-translate-y:25%}.fade-from-top{--tw-translate-y:-25%}.fade-from-left,.fade-from-top{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-left{--tw-translate-x:-25%}.fade-from-right{--tw-translate-x:25%}.fade-from-bottom.in,.fade-from-center.in,.fade-from-left.in,.fade-from-right,.fade-from-right.in,.fade-from-top.in,.fade.in{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-bottom.in,.fade-from-center.in,.fade-from-left.in,.fade-from-right.in,.fade-from-top.in,.fade.in{--tw-translate-x:0px;--tw-translate-y:0px;--tw-scale-x:1;--tw-scale-y:1;opacity:1}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-1000{transition-duration:1s}@keyframes -spin{to{transform:rotate(1turn)}}.spin{animation:-spin 1s linear infinite}@keyframes -ping{75%,to{opacity:0;transform:scale(2)}}.ping{animation:-ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes -pulse{50%{opacity:.5}}.pulse{animation:-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes -bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.bounce{animation:-bounce 1s infinite}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-0,.scale-50{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-75,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-125,.scale-150{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.flip-x{--tw-scale-x:-1}.flip-x,.flip-y{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flip-y{--tw-scale-y:-1}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-2,.rotate-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-3{--tw-rotate:3deg}.rotate-6{--tw-rotate:6deg}.rotate-12,.rotate-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate:12deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@font-face{font-family:Oswald;font-weight:400;src:url(./@zentao/fonts/Oswald-Regular.ttf)}@font-face{font-family:Oswald;font-weight:500;src:url(./@zentao/fonts/Oswald-Medium.ttf)}@font-face{font-family:Oswald;font-weight:300;src:url(./@zentao/fonts/Oswald-Light.ttf)}.num{font-family:Oswald;font-weight:400}:root{--zt-page-bg:var(--color-gray-100);--zt-header-bg:var(--color-primary-500);--zt-header-color:var(--color-canvas);--zt-page-form-max-width:1000px;--zt-sidebar-width:160px}.size-sm{--zt-page-form-max-width:800px}.size-lg{--zt-page-form-max-width:1200px}body{background-color:var(--zt-page-bg)}.container{min-width:1200px}#header{background:var(--zt-header-bg);color:var(--zt-header-color);height:3rem}#header>.container{height:100%;position:relative}#heading{align-items:center;bottom:0;display:flex;gap:.25rem;left:1rem;position:absolute;top:0}#heading>.toolbar{margin-left:-.75rem}#navbar{align-items:center;display:flex;height:100%;justify-content:center}#navbar>.nav{--nav-active-color:var(--color-current)}#navbar>.nav>.nav-item>a{height:3rem;padding-left:.75rem;padding-right:.75rem}#navbar>.nav>.nav-item>a:after{--tw-scale-x:.5;background-color:var(--color-current);bottom:0;content:"";height:.125rem;left:.75rem;opacity:0;position:absolute;right:.75rem;transition-duration:.15s;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}#navbar>.nav>.nav-item>.active:after,#navbar>.nav>.nav-item>a:after{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#navbar>.nav>.nav-item>.active:after{--tw-scale-x:1;opacity:1}#toolbar{align-items:center;bottom:0;display:flex;gap:.25rem;position:absolute;right:1rem;top:0}#versionMenu .menu-item>a{padding-left:1.5rem;padding-right:1.5rem}#main{min-height:100vh}#header+#main{min-height:calc(100vh - 3rem)}#main>.container{padding-left:1rem;padding-right:1rem;position:relative}@media (min-width:1400px){#main>.container{padding-left:2.5rem;padding-right:2.5rem}}#mainNavbar{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));height:2.5rem}#mainNavbar>.container{position:relative}#mainNavbar .nav{height:2.5rem;inset:0;justify-content:center;position:absolute}#mainNavbar .nav-item{font-size:.875rem;line-height:1.3rem}#mainNavbar .nav-item>a{border-radius:var(--radius)}#mainMenu{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding-bottom:.75rem;padding-top:.75rem}#featureBar{flex:1 1 auto}#featureBar .nav .btn>.icon{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}#actionBar{gap:.5rem}#actionBar>.nav-divider{margin-left:-.25rem;margin-right:-.25rem}#mainContent{padding-top:1rem}#mainMenu+#mainContent{padding-top:0}#mainContent.row{align-items:stretch;display:flex;gap:1rem;justify-content:space-between}#mainContent.row>*{flex:1 1 auto;min-width:0}.panel-form{max-width:var(--zt-page-form-max-width)}:root{--modal-radius:var(--radius);--avatar-bg:var(--color-gray-200)}.modal-alert .modal-footer{justify-content:center}.modal-body,.modal-header{padding:1.5rem 2rem}.modal-actions{top:1rem}.modal-header+.modal-actions+.modal-body,.modal-header+.modal-body{padding-top:0}.modal-condensed .modal-body,.modal-condensed .modal-header{padding:1rem 1.25rem}.modal-condensed .modal-actions{top:.75rem}.label[class$=-pale],.label[class*="-pale "]{--tw-bg-opacity:.4;--tw-ring-opacity:.4}.tree{--tree-indent:14px}.panel-form{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius-md);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:1rem;margin-left:auto;margin-right:auto;padding-bottom:1rem;padding-left:1rem;padding-right:1rem}.modal .panel-form{margin:0;padding:0}.modal .panel-body{padding:1px}.modal .history,.modal .panel-body>.form{padding:0}.bg-primary-50{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200-rgb),var(--tw-bg-opacity))}.bg-primary-300{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-300-rgb),var(--tw-bg-opacity))}.bg-primary-400{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400-rgb),var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600-rgb),var(--tw-bg-opacity))}.bg-primary-700{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-700-rgb),var(--tw-bg-opacity))}.bg-primary-800{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800-rgb),var(--tw-bg-opacity))}.bg-primary-900{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900-rgb),var(--tw-bg-opacity))}.bg-secondary-50{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-50-rgb),var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-100-rgb),var(--tw-bg-opacity))}.bg-secondary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-200-rgb),var(--tw-bg-opacity))}.bg-secondary-300{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-300-rgb),var(--tw-bg-opacity))}.bg-secondary-400{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-400-rgb),var(--tw-bg-opacity))}.bg-secondary-500{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.bg-secondary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-600-rgb),var(--tw-bg-opacity))}.bg-secondary-700{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-700-rgb),var(--tw-bg-opacity))}.bg-secondary-800{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-800-rgb),var(--tw-bg-opacity))}.bg-secondary-900{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-900-rgb),var(--tw-bg-opacity))}.text-primary-50{--tw-text-opacity:1;color:rgba(var(--color-primary-50-rgb),var(--tw-text-opacity))}.text-primary-100{--tw-text-opacity:1;color:rgba(var(--color-primary-100-rgb),var(--tw-text-opacity))}.text-primary-200{--tw-text-opacity:1;color:rgba(var(--color-primary-200-rgb),var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300-rgb),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400-rgb),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600-rgb),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700-rgb),var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity:1;color:rgba(var(--color-primary-800-rgb),var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgba(var(--color-primary-900-rgb),var(--tw-text-opacity))}.text-secondary-50{--tw-text-opacity:1;color:rgba(var(--color-secondary-50-rgb),var(--tw-text-opacity))}.text-secondary-100{--tw-text-opacity:1;color:rgba(var(--color-secondary-100-rgb),var(--tw-text-opacity))}.text-secondary-200{--tw-text-opacity:1;color:rgba(var(--color-secondary-200-rgb),var(--tw-text-opacity))}.text-secondary-300{--tw-text-opacity:1;color:rgba(var(--color-secondary-300-rgb),var(--tw-text-opacity))}.text-secondary-400{--tw-text-opacity:1;color:rgba(var(--color-secondary-400-rgb),var(--tw-text-opacity))}.text-secondary-500{--tw-text-opacity:1;color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.text-secondary-600{--tw-text-opacity:1;color:rgba(var(--color-secondary-600-rgb),var(--tw-text-opacity))}.text-secondary-700{--tw-text-opacity:1;color:rgba(var(--color-secondary-700-rgb),var(--tw-text-opacity))}.text-secondary-800{--tw-text-opacity:1;color:rgba(var(--color-secondary-800-rgb),var(--tw-text-opacity))}.text-secondary-900{--tw-text-opacity:1;color:rgba(var(--color-secondary-900-rgb),var(--tw-text-opacity))}
+/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgb(var(--color-gray-200-rgb));border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:rgb(var(--color-gray-400-rgb));opacity:1}input::placeholder,textarea::placeholder{color:rgb(var(--color-gray-400-rgb));opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}:root{--color-gray-50:#fafafa;--color-gray-100:#f6f7f9;--color-gray-200:#eee;--color-gray-300:#d8dbde;--color-gray-400:#c4c4c4;--color-gray-500:#898b90;--color-gray-600:#53575b;--color-gray-700:#3d4349;--color-gray-800:#2e343a;--color-gray-900:#000;--color-gray-50-rgb:250,250,250;--color-gray-100-rgb:246,247,249;--color-gray-200-rgb:238,238,238;--color-gray-300-rgb:216,219,222;--color-gray-400-rgb:196,196,196;--color-gray-500-rgb:137,139,144;--color-gray-600-rgb:83,87,91;--color-gray-700-rgb:61,67,73;--color-gray-800-rgb:46,52,58;--color-gray-900-rgb:0,0,0;--color-slate-50:#fcfdfe;--color-slate-100:#f4f5f7;--color-slate-200:#edeef2;--color-slate-300:#e6eaf1;--color-slate-400:#e3e4e9;--color-slate-500:#9ea3b0;--color-slate-600:#838a9d;--color-slate-700:#5e626d;--color-slate-800:#313c52;--color-slate-900:#0b0f18;--color-slate-50-rgb:252,253,254;--color-slate-100-rgb:244,245,247;--color-slate-200-rgb:237,238,242;--color-slate-300-rgb:230,234,241;--color-slate-400-rgb:227,228,233;--color-slate-500-rgb:158,163,176;--color-slate-600-rgb:131,138,157;--color-slate-700-rgb:94,98,109;--color-slate-800-rgb:49,60,82;--color-slate-900-rgb:11,15,24;--color-primary-50:#e6f0ff;--color-primary-100:#d5e5ff;--color-primary-200:#a4c7ff;--color-primary-300:#66a2ff;--color-primary-400:#3785ff;--color-primary-500:#2e7fff;--color-primary-600:#1e6aeb;--color-primary-700:#2463c7;--color-primary-800:#1b54ad;--color-primary-900:#063072;--color-primary-50-rgb:230,240,255;--color-primary-100-rgb:213,229,255;--color-primary-200-rgb:164,199,255;--color-primary-300-rgb:102,162,255;--color-primary-400-rgb:55,133,255;--color-primary-500-rgb:46,127,255;--color-primary-600-rgb:30,106,235;--color-primary-700-rgb:36,99,199;--color-primary-800-rgb:27,84,173;--color-primary-900-rgb:6,48,114;--color-secondary-50:#e7f6ff;--color-secondary-100:#cdecff;--color-secondary-200:#9bd9ff;--color-secondary-300:#77cbff;--color-secondary-400:#60c2ff;--color-secondary-500:#37b2fe;--color-secondary-600:#18a6fd;--color-secondary-700:#1099ed;--color-secondary-800:#078ada;--color-secondary-900:#046bab;--color-secondary-50-rgb:231,246,255;--color-secondary-100-rgb:205,236,255;--color-secondary-200-rgb:155,217,255;--color-secondary-300-rgb:119,203,255;--color-secondary-400-rgb:96,194,255;--color-secondary-500-rgb:55,178,254;--color-secondary-600-rgb:24,166,253;--color-secondary-700-rgb:16,153,237;--color-secondary-800-rgb:7,138,218;--color-secondary-900-rgb:4,107,171;--color-success-50:#ecfff8;--color-success-100:#d0f6e8;--color-success-200:#b1ecd6;--color-success-300:#7adfba;--color-success-400:#48d1a0;--color-success-500:#22c98d;--color-success-600:#0dbb7d;--color-success-700:#0ca76f;--color-success-800:#0e8d60;--color-success-900:#186c4e;--color-success-50-rgb:236,255,248;--color-success-100-rgb:208,246,232;--color-success-200-rgb:177,236,214;--color-success-300-rgb:122,223,186;--color-success-400-rgb:72,209,160;--color-success-500-rgb:34,201,141;--color-success-600-rgb:13,187,125;--color-success-700-rgb:12,167,111;--color-success-800-rgb:14,141,96;--color-success-900-rgb:24,108,78;--color-warning-50:#fff4ea;--color-warning-100:#ffecdb;--color-warning-200:#ffd2a9;--color-warning-300:#ffbc7e;--color-warning-400:#ffaf65;--color-warning-500:#ff9f46;--color-warning-600:#f38f19;--color-warning-700:#ed8307;--color-warning-800:#d17100;--color-warning-900:#af5f01;--color-warning-50-rgb:255,244,234;--color-warning-100-rgb:255,236,219;--color-warning-200-rgb:255,210,169;--color-warning-300-rgb:255,188,126;--color-warning-400-rgb:255,175,101;--color-warning-500-rgb:255,159,70;--color-warning-600-rgb:243,143,25;--color-warning-700-rgb:237,131,7;--color-warning-800-rgb:209,113,0;--color-warning-900-rgb:175,95,1;--color-danger-50:#ffebeb;--color-danger-100:#ffd5d5;--color-danger-200:#ffb1b1;--color-danger-300:#ff9292;--color-danger-400:#ff7c7c;--color-danger-500:#fc5959;--color-danger-600:#fb2b2b;--color-danger-700:#d91b1b;--color-danger-800:#ba1313;--color-danger-900:#a20606;--color-danger-50-rgb:255,235,235;--color-danger-100-rgb:255,213,213;--color-danger-200-rgb:255,177,177;--color-danger-300-rgb:255,146,146;--color-danger-400-rgb:255,124,124;--color-danger-500-rgb:252,89,89;--color-danger-600-rgb:251,43,43;--color-danger-700-rgb:217,27,27;--color-danger-800-rgb:186,19,19;--color-danger-900-rgb:162,6,6;--color-important-50:#fff8f5;--color-important-100:#ffe2d9;--color-important-200:#ffcebf;--color-important-300:#ffb29b;--color-important-400:#ff8c68;--color-important-500:#ff8058;--color-important-600:#ff6f42;--color-important-700:#ff4912;--color-important-800:#c83509;--color-important-900:#611700;--color-important-50-rgb:255,248,245;--color-important-100-rgb:255,226,217;--color-important-200-rgb:255,206,191;--color-important-300-rgb:255,178,155;--color-important-400-rgb:255,140,104;--color-important-500-rgb:255,128,88;--color-important-600-rgb:255,111,66;--color-important-700-rgb:255,73,18;--color-important-800-rgb:200,53,9;--color-important-900-rgb:97,23,0;--color-special-50:#efecfa;--color-special-100:#e4dff7;--color-special-200:#c4b6ff;--color-special-300:#a38cff;--color-special-400:#8a6ff5;--color-special-500:#8166ee;--color-special-600:#7055df;--color-special-700:#513baa;--color-special-800:#452da5;--color-special-900:#30216e;--color-special-50-rgb:239,236,250;--color-special-100-rgb:228,223,247;--color-special-200-rgb:196,182,255;--color-special-300-rgb:163,140,255;--color-special-400-rgb:138,111,245;--color-special-500-rgb:129,102,238;--color-special-600-rgb:112,85,223;--color-special-700-rgb:81,59,170;--color-special-800-rgb:69,45,165;--color-special-900-rgb:48,33,110;--color-inherit:inherit;--color-transparent:transparent;--color-current:currentColor;--color-black:#000;--color-white:#fff;--color-canvas:#fff;--color-inverse:#000;--color-surface:#f6f7f9;--color-fore:#313c52;--color-focus:#9bd9ff;--color-link:#1e6aeb;--color-link-hover:#2e7fff;--color-link-visited:#1b54ad;--color-placeholder:#c4c4c4;--color-border:#e3e4e9;--color-border-strong:#d8dbde;--color-border-light:#eee;--color-black-rgb:0,0,0;--color-white-rgb:255,255,255;--color-canvas-rgb:255,255,255;--color-inverse-rgb:0,0,0;--color-surface-rgb:246,247,249;--color-fore-rgb:49,60,82;--color-focus-rgb:155,217,255;--color-link-rgb:30,106,235;--color-link-hover-rgb:46,127,255;--color-link-visited-rgb:27,84,173;--color-placeholder-rgb:196,196,196;--color-border-rgb:227,228,233;--color-border-strong-rgb:216,219,222;--color-border-light-rgb:238,238,238;--radius-none:0px;--radius-sm:.0625rem;--radius:.125rem;--radius-md:.25rem;--radius-lg:.375rem;--radius-xl:.5rem;--radius-2xl:.75rem;--radius-3xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.1),0 0 2px -1px rgba(0,0,0,.05);--shadow:0 1px 4px 0 rgba(0,0,0,.15),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 2px 6px -1px rgba(0,0,0,.2),0 1px 4px -2px rgba(0,0,0,.15);--shadow-lg:0 5px 15px -3px rgba(0,0,0,.2),0 2px 6px -4px rgba(0,0,0,.15);--shadow-xl:0 10px 25px -5px rgba(0,0,0,.2),0 4px 10px -6px rgba(0,0,0,.15);--shadow-2xl:0 10px 50px -10px rgba(0,0,0,.4),0 8px 20px -10px rgba(0,0,0,.3);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--shadow-none:none;--space:.25rem;--font-size-root:16px;--font-size-page:.8125rem,[object Object]}body{--btn-bg:var(--color-slate-50)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }html{font-size:var(--font-size-root)}body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));color:rgba(var(--color-fore-rgb),var(--tw-text-opacity));font-size:.8125rem;line-height:1.5384615385}a{color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}a,a:hover{--tw-text-opacity:1}a:hover{color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}a:focus-visible{outline-color:rgb(var(--color-focus-rgb));outline-offset:2px;outline-width:2px}:root{--breadcrumb-divider:"/";--breadcrumb-divider-color:var(--color-gray-500);--breadcrumb-color-active:var(--color-gray-500)}.breadcrumb{display:flex;gap:1.25rem}.breadcrumb>li{position:relative}.breadcrumb>li+li:before{color:var(--breadcrumb-divider-color);content:var(--breadcrumb-divider);display:block;left:-1.25rem;position:absolute;text-align:center;width:1.25rem}.breadcrumb>.active{color:var(--breadcrumb-color-active)}:root{--btn-radius:var(--radius);--btn-bg:var(--color-surface);--btn-border-color:var(--color-gray-300)}.btn{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--btn-border-color);align-items:center;background-color:var(--btn-bg);border-radius:var(--btn-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:var(--color-inherit);display:inline-flex;gap:.375rem;height:2rem;justify-content:center;padding-left:.75rem;padding-right:.75rem;white-space:nowrap}.btn-default:hover{color:var(--color-inherit)}.btn-link{--tw-text-opacity:1;--tw-ring-color:var(--color-transparent);color:rgba(var(--color-link-rgb),var(--tw-text-opacity));text-decoration-line:underline;text-underline-offset:2px}.btn-link:visited{color:rgba(var(--color-link-visited-rgb),var(--tw-text-opacity))}.btn-link:hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.btn-link{--btn-bg:transparent}:root{--checkbox-size:12px}.checkbox,.radio{align-items:center;cursor:pointer;display:flex;gap:.375rem}.checkbox>input[type=checkbox],.radio>input[type=radio]{accent-color:rgb(var(--color-primary-500-rgb));border-radius:var(--radius-lg)}.checkbox-primary,.radio-primary{display:flex;gap:.375rem;min-height:20px;position:relative}.checkbox-primary>input[type=checkbox],.radio-primary>input[type=radio]{inset:0;opacity:0;position:absolute}.checkbox-primary>label,.radio-primary>label{cursor:pointer;padding-left:calc(var(--checkbox-size) + 8px);position:relative}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{--tw-content:"";content:var(--tw-content);display:block;height:var(--checkbox-size);left:0;position:absolute;top:calc((20px - var(--checkbox-size))/2);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--checkbox-size)}.checkbox-primary>label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-gray-400-rgb),var(--tw-border-opacity));border-radius:var(--radius-sm);border-width:1px}.checkbox-primary>label:after{--tw-scale-x:.9;--tw-scale-y:.9;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTkgMjAuNDItNi4yMS02LjIxIDIuODMtMi44M0w5IDE0Ljc3bDkuODgtOS44OSAyLjgzIDIuODNMOSAyMC40MloiLz48L3N2Zz4=);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.checkbox-primary>input[type=checkbox]:indeterminate+label:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMjA0OCAyMDQ4Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTUzNiA1MTJ2MTAyNEg1MTJWNTEyaDEwMjR6Ii8+PC9zdmc+);background-size:cover;opacity:1}.radio-primary>label:before{--tw-border-opacity:1;border-color:rgba(var(--color-gray-400-rgb),var(--tw-border-opacity));border-radius:var(--radius-full);border-width:1px}.radio-primary>label:after{--tw-bg-opacity:1;--checkbox-radio-size:calc(var(--checkbox-size)*2/3);background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-radius:var(--radius-full);height:var(--checkbox-radio-size);left:calc((var(--checkbox-size) - var(--checkbox-radio-size))/2);opacity:0;top:calc((20px - var(--checkbox-radio-size))/2);width:var(--checkbox-radio-size)}.checkbox-primary>label:hover:before,.radio-primary>label:hover:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400-rgb),var(--tw-border-opacity))}.checkbox-primary.focus>label:before,.checkbox-primary>input[type=checkbox]:focus+label:before,.radio-primary.focus>label:before,.radio-primary>input[type=radio]:focus+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity));outline-color:rgb(var(--color-focus-rgb));outline-style:solid;outline-width:2px}.checkbox-primary.checked>label:before,.checkbox-primary>input[type=checkbox]:checked+label:before,.checkbox-primary>input[type=checkbox]:indeterminate+label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.radio-primary.checked>label:before,.radio-primary>input[type=radio]:checked+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.checkbox-primary.checked>label:after,.checkbox-primary>input[type=checkbox]:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input[type=radio]:checked+label:after{opacity:1}.checkbox-primary.disabled>label,.checkbox-primary>input[type=checkbox]:disabled+label,.radio-primary.disabled>label,.radio-primary>input[type=radio]:disabled+label{--tw-grayscale:grayscale(100%);cursor:not-allowed;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);opacity:.7;pointer-events:none}.check-list{flex-direction:column;gap:.5rem}.check-list,.check-list-inline{display:flex;padding-bottom:.375rem;padding-top:.375rem}.check-list-inline{align-items:center;-moz-column-gap:1rem;column-gap:1rem;flex-direction:row;flex-wrap:wrap;row-gap:.5rem}.switch{display:flex;gap:.375rem;min-height:20px;padding-left:2.5rem;position:relative}.switch>input[type=checkbox]{inset:0;opacity:0;position:absolute}.switch>label:after,.switch>label:before{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-border-light-rgb),var(--tw-border-opacity));border-radius:var(--radius-full);border-width:1px;content:var(--tw-content);height:1rem;left:0;position:absolute;top:.125rem;transition-duration:.5s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.switch>label:before{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);cursor:pointer}.switch>label:hover:before{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity))}.switch>label:after{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-canvas-rgb),var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);height:.75rem;left:.125rem;top:.25rem;width:.75rem}.switch>input[type=checkbox]:checked+label:before{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-primary-600-rgb),var(--tw-border-opacity))}.switch>input[type=checkbox]:checked+label:after{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity));left:18px}.switch.focus>label:before,.switch>input[type=checkbox]:focus+label:before{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity));outline-color:rgb(var(--color-focus-rgb));outline-style:solid;outline-width:2px}:root{--form-control-radius:var(--radius);--form-control-border:var(--color-border-strong);--form-control-focus:var(--color-primary-500);--form-control-disabled:var(--color-surface);--form-control-readonly:var(--color-surface)}input::-moz-placeholder,textarea::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-placeholder-opacity))}input::placeholder,textarea::placeholder{--tw-placeholder-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-placeholder-opacity))}.form-control{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--form-control-border);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--form-control-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:block;height:2rem;outline-color:var(--color-transparent);outline-style:solid;outline-width:1px;padding:.25rem .5rem;transition-duration:.15s;transition-property:outline,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.form-control.focus,.form-control:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-focus-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.5;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);outline-color:var(--form-control-focus)}.form-control.disabled,.form-control[disabled]{background-color:var(--form-control-disabled);opacity:1}.form-control.readonly,.form-control[readonly]{background-color:var(--form-control-readonly)}select{-webkit-appearance:none;background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-position:right 8px top 50%;background-repeat:no-repeat;background-size:8px auto;padding-right:1rem}select.form-control[multiple]{background-image:none}textarea.form-control{height:auto;min-height:32px}input[type=file].form-control{padding:.125rem}input[type=file].form-control::-webkit-file-upload-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:inherit;border-style:none;cursor:pointer;height:1.75rem;padding-left:.5rem;padding-right:.5rem}input[type=file].form-control::-webkit-file-upload-button:hover{background-color:rgba(var(--color-black-rgb),.1)}.has-error .form-control,.has-error.form-control{--tw-ring-color:rgba(var(--color-danger-500-rgb),.2)}.has-error .form-control.focus,.has-error .form-control:focus,.has-error.form-control.focus,.has-error.form-control:focus{outline-color:rgb(var(--color-danger-500-rgb))}.has-warning .form-control,.has-warning.form-control{--tw-ring-color:rgba(var(--color-warning-500-rgb),.6)}.has-warning .form-control.focus,.has-warning .form-control:focus,.has-warning.form-control.focus,.has-warning.form-control:focus{outline-color:rgb(var(--color-warning-500-rgb))}.has-success .form-control,.has-success.form-control{--tw-ring-color:rgba(var(--color-success-500-rgb),.6)}.has-success .form-control.focus,.has-success .form-control:focus,.has-success.form-control.focus,.has-success.form-control:focus{outline-color:rgb(var(--color-success-500-rgb))}.form-control.size-sm{font-size:.75rem;height:1.5rem;line-height:1rem;padding-left:.5rem;padding-right:.5rem}.form-control.size-md{height:1.75rem;padding-left:.5rem;padding-right:.5rem}.form-control.size-lg{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}:root{--input-group-addon-bg:var(--color-gray-100)}.input-group{align-items:stretch;display:flex}.input-group>.form-control,.input-group>.input-control{flex:1 1 auto;z-index:1}.input-group-addon{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--form-control-border);align-items:center;background-color:var(--input-group-addon-bg);border-radius:var(--form-control-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:flex;flex:none;height:2rem;padding-left:.5rem;padding-right:.5rem;z-index:0}.input-group-control{flex:1 1 auto}.input-group>*+*,.input-group>*+.input-group-control>*{border-bottom-left-radius:var(--radius-none);border-top-left-radius:var(--radius-none)}.input-group>.input-group-control:not(:last-child)>*,.input-group>:not(:last-child){border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none)}.input-group .btn:focus-visible,.input-group .form-control:focus{z-index:2}:root{--form-tip-color:var(--color-slate-600);--form-label-color:var(--color-slate-700);--form-grid-label-width:6rem}.form>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.form-label{align-items:center;color:var(--form-label-color);display:flex;flex-direction:row;height:2rem;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap}.form-label.required:after{--tw-translate-y:.125rem;--tw-scale-x:1.25;--tw-scale-y:1.25;--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity));content:"*";display:inline-block;margin-left:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.form-tip{color:var(--form-tip-color);margin-top:.25rem}.has-error .form-tip{--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.has-warning .form-tip{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.has-success .form-tip{--tw-text-opacity:1;color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.form-grid>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.form-row{align-items:flex-start;display:flex;flex-direction:row}.form-grid .form-group{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:wrap;min-height:32px;padding-left:var(--form-grid-label-width);position:relative}.form-grid .form-group.no-label{padding-left:0}.form-grid .form-group.no-label>.check-list-inline{padding-left:1rem;padding-right:1rem}.form-grid .form-label{justify-content:flex-end;left:0;padding-left:1rem;padding-right:.5rem;position:absolute;top:0;width:var(--form-grid-label-width)}.form-grid .form-label.required:after{margin-left:0;margin-right:.25rem;order:-9999}.form-grid .form-tip{width:100%}.form-grid .form-tip,.form-grid .input-control,.form-grid .input-group{flex:1 1 auto}.form .form-group-wrapper,.form-grid .form-group-wrapper{flex:1 1 auto;width:100%;z-index:1}.form fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.form fieldset{padding-bottom:1rem;padding-left:1rem}.form-grid fieldset>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.form legend{--tw-border-opacity:1;border-bottom-color:rgba(var(--color-primary-100-rgb),var(--tw-border-opacity));border-bottom-width:1px;display:flex;justify-content:flex-start;margin-left:-1rem;width:100%;width:calc(100% + 1rem)}.form-title{align-items:center;background-color:rgba(var(--color-primary-50-rgb),.5);display:flex;font-weight:700;height:1.75rem;padding-left:.75rem;padding-right:.75rem}:root{--input-control-fix-width-sm:2rem;--input-control-fix-width:4.375rem;--input-control-fix-width-lg:6.75rem}.input-control{--input-control-prefix:8px;--input-control-suffix:8px;position:relative}.input-control-prefix,.input-control-suffix{align-items:center;display:flex;height:100%;left:0;opacity:.5;padding-left:.5rem;padding-right:.5rem;position:absolute;top:0;white-space:nowrap;width:var(--input-control-prefix)}.input-control-suffix{justify-content:flex-end;left:auto;right:0;width:var(--input-control-suffix)}.form-control:focus+.input-control-prefix,.form-control:focus+.input-control-suffix{opacity:1}.input-control>.form-control{padding-left:var(--input-control-prefix);padding-right:var(--input-control-suffix)}.input-control>select.form-control{background-position-x:calc(100% - var(--input-control-suffix) - 8px);padding-right:calc(var(--input-control-suffix) + 20px)}.has-prefix{--input-control-prefix:var(--input-control-fix-width)}.has-suffix{--input-control-suffix:var(--input-control-fix-width)}.has-prefix-sm{--input-control-prefix:var(--input-control-fix-width-sm)}.has-suffix-sm{--input-control-suffix:var(--input-control-fix-width-sm)}.has-prefix-lg{--input-control-prefix:var(--input-control-fix-width-lg)}.has-suffix-lg{--input-control-suffix:var(--input-control-fix-width-lg)}.has-prefix-icon{--input-control-prefix:32px}.has-suffix-icon{--input-control-suffix:32px}.input-control.has-prefix-icon>.input-control-prefix,.input-control.has-suffix-icon>.input-control-suffix{justify-content:center;width:2rem}.input-control.size-sm>.form-control,.input-control.size-sm>.input-control-prefix,.input-control.size-sm>.input-control-suffix{font-size:.75rem;line-height:1rem}.input-control.size-lg>.form-control,.input-control.size-lg>.input-control-prefix,.input-control.size-lg>.input-control-suffix{font-size:1rem;line-height:1.5rem}:root{--label-bg:var(--color-gray-50);--label-border-color:var(--color-gray-500);--label-color:var(--color-gray-500);--label-radius:var(--radius)}.label{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--label-border-color);align-items:center;background-color:var(--label-bg);border-radius:var(--label-radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:var(--label-color);display:inline-flex;font-size:.75rem;height:1.25rem;line-height:1rem;padding-left:.25rem;padding-right:.25rem;white-space:pre-line}.label.size-lg{font-size:.8125rem;height:1.5rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem}.label.size-sm{height:1rem}.label-dot{aspect-ratio:1/1;border-radius:var(--radius-full);height:.5rem;padding-left:0;padding-right:0}:root{--menu-bg:var(--color-canvas);--menu-hover-bg:var(--color-primary-500);--menu-hover-color:var(--color-canvas);--menu-active-bg:var(--color-primary-50);--menu-active-color:var(--color-primary-500);--menu-icon-opacity:.5;--menu-icon-margin:1.75rem;--menu-min-width:3rem;--menu-heading-color:var(--color-gray-500)}.menu{background:var(--menu-bg);min-width:var(--menu-min-width);padding:.5rem}.menu-item>a{align-items:center;border-radius:var(--radius);color:var(--color-inherit);cursor:pointer;display:flex;gap:.25rem;justify-content:space-between;overflow:hidden;padding:.25rem .5rem;position:relative;text-overflow:ellipsis;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);white-space:nowrap}.menu-item>.active{background:var(--menu-active-bg);color:var(--menu-active-color)}.menu-item>a.hover,.menu-item>a:hover{background:var(--menu-hover-bg);color:var(--menu-hover-color)}.menu-item>a>.text{flex:1 1 auto}.menu-divider{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));height:1px;margin:.5rem .25rem}.menu-heading{align-items:center;color:var(--menu-heading-color);display:flex;font-size:.75rem;font-weight:700;height:2rem;line-height:1rem;padding-left:.5rem;padding-right:.5rem}.has-icons>.menu-item>a,.menu-item.has-icon>a{padding-left:var(--menu-icon-margin)}.has-icons>.menu-item>a>.icon:first-child,.menu-item.has-icon>a>.icon:first-child{align-items:center;display:flex;height:1.75rem;justify-content:center;left:0;opacity:var(--menu-icon-opacity);position:absolute;top:0;width:1.5rem}.menu-nested{--menu-indent:1.5rem}.has-nested-menu>.menu-nested{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none);border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);margin-left:var(--menu-indent)}.menu-nested .menu-toggle-icon{left:.25rem;position:absolute}.menu .menu-nested{margin-top:-.5rem}.menu-nested.has-nested-items>.menu-item>a{padding-left:1rem}.menu-nested.has-nested-items.has-icons>.menu-item>a{padding-left:2.25rem}.menu-nested.has-nested-items.has-icons>.menu-item>a>.icon:first-child{left:.75rem}.menu.compact .menu-item>a{padding-bottom:.125rem;padding-top:.125rem}.menu.compact .menu-heading{height:1.75rem}:root{--alert-bg:var(--color-surface)}.alert{align-items:center;background-color:var(--alert-bg);border-radius:var(--radius);display:flex;gap:.75rem;padding:.75rem 1rem}.alert-content{display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem}.alert-close{align-self:flex-start;flex:none;margin-bottom:-.5rem;margin-right:-.5rem;margin-top:-.5rem}.alert-link{color:var(--color-inherit);font-weight:700}.alert-link:hover{color:var(--color-inherit);text-decoration-line:underline}.alert-icon{margin-left:.5rem;margin-right:1rem}.alert-heading{font-weight:700;margin:0}.alert-text{white-space:pre-line}.alert-actions{align-items:center;display:flex;gap:.5rem}.messagers{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;inset:0;justify-content:flex-end;padding:1rem;pointer-events:none;position:absolute;z-index:1900}.messagers-top-left,.messagers-top-right{justify-content:flex-start}.messagers-bottom-left,.messagers-top-left{align-items:flex-start}.messagers-bottom,.messagers-center,.messagers-top{align-items:center}.messagers-top,.messagers-top-left,.messagers-top-right{justify-content:flex-start}.messagers-center{justify-content:center}.messager{--tw-text-opacity:1;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:rgba(var(--color-inverse-rgb),.8);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));pointer-events:auto;transition-duration:.3s}.toolbar{align-items:center;display:flex;position:relative}.toolbar-divider{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));height:1rem;margin-left:.5rem;margin-right:.5rem;width:1px}.toolbar-space{flex:1 1 auto;width:1rem}.toolbar>.dropdown.show{align-items:center;display:flex;position:relative}.popover{display:none;position:absolute;width:-moz-max-content;width:max-content}.popover.show{display:block}.popover-heading{--tw-bg-opacity:1;align-items:center;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;gap:1rem;height:2.5rem;justify-content:space-between;padding-left:.75rem;padding-right:.5rem}.popover-title{flex:1 1 auto;font-weight:700}.popover-content{padding:.75rem}.popover-arrow.arrow-top,.popover-arrow.arrow-up{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.popover>.btn-close{position:absolute;right:.5rem;top:.625rem}.btn-close+.popover-content{padding-right:3rem}.btn.with-popover-show{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.with-popover-show[data-popover-placement=top]>.caret{--tw-rotate:180deg}.with-popover-show[data-popover-placement=left]>.caret,.with-popover-show[data-popover-placement=top]>.caret{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.with-popover-show[data-popover-placement=left]>.caret{--tw-rotate:90deg}.with-popover-show[data-popover-placement=right]>.caret{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-group{display:flex;gap:1px}.btn-group>.btn:focus-within,.btn-group>.btn:hover{z-index:1}.btn-group>.btn.disabled,.btn-group>.btn:disabled{z-index:-1}.btn-group>.btn:not(:first-child){border-bottom-left-radius:var(--radius-none);border-left-color:rgba(var(--color-canvas-rgb),.5);border-left-width:1px;border-top-left-radius:var(--radius-none)}.btn-group>.btn:not(:last-child){border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none)}.btn.size-xs{height:1.25rem;padding-left:.25rem;padding-right:.25rem}.btn.size-sm,.btn.size-xs{font-size:.75rem;line-height:1rem}.btn.size-sm{height:1.5rem}.btn.size-md,.btn.size-sm{padding-left:.5rem;padding-right:.5rem}.btn.size-md{height:1.75rem}.btn.size-lg{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}.btn.size-xl{font-size:1.125rem;height:3rem;line-height:1.75rem;padding-left:1.25rem;padding-right:1.25rem}.btn.square{aspect-ratio:1/1;gap:.125rem;padding-left:0;padding-right:0}.btn.btn-caret{padding-left:.25rem;padding-right:.25rem}.btn.btn-wide{min-width:80px}.btn-group.size-xs .btn{height:1.25rem;padding-left:.25rem;padding-right:.25rem}.btn-group.size-sm .btn,.btn-group.size-xs .btn{font-size:.75rem;line-height:1rem}.btn-group.size-sm .btn{height:1.5rem;padding-left:.5rem;padding-right:.5rem}.btn-group.size-lg .btn{font-size:1rem;height:2.5rem;line-height:1.5rem;padding-left:1rem;padding-right:1rem}.btn-group.size-xl .btn{font-size:1.125rem;height:3rem;line-height:1.75rem;padding-left:1.25rem;padding-right:1.25rem}.btn-group.rounded-none .btn{border-radius:var(--radius-none)}.btn-group.rounded-sm .btn{border-radius:var(--radius-sm)}.btn-group.rounded .btn{border-radius:var(--radius)}.btn-group.rounded-md .btn{border-radius:var(--radius-md)}.btn-group.rounded-lg .btn{border-radius:var(--radius-lg)}.btn-group.rounded-xl .btn{border-radius:var(--radius-xl)}.btn-group.circle .btn{border-radius:var(--radius-full)}:root{--progress-radius:var(--radius);--progress-striped-size:40px;--progress-bg:var(--color-surface);--progress-bar-color:var(--color-primary-500)}.progress{background:var(--progress-bg);border-radius:var(--progress-radius);display:flex;height:1.25rem}.progress-bar{background:var(--progress-bar-color);height:100%}.progress-striped>.progress-bar{background-image:linear-gradient(45deg,rgba(var(--color-canvas-rgb),.15) 25%,transparent 25%,transparent 50%,rgba(var(--color-canvas-rgb),.15) 50%,rgba(var(--color-canvas-rgb),.15) 75%,transparent 75%,transparent);background-size:var(--progress-striped-size) var(--progress-striped-size)}.progress>.progress-bar:first-child{border-bottom-left-radius:inherit;border-top-left-radius:inherit}.progress>.progress-bar:last-child{border-bottom-right-radius:inherit;border-top-right-radius:inherit}.progress.active .progress-bar{animation:progress-bar-stripes 2s linear infinite}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}::-webkit-scrollbar{height:var(--scrollbar-size);width:var(--scrollbar-size)}::-webkit-scrollbar-track{box-shadow:var(--scrollbar-shadow);-webkit-transition:background-color var(--scrollbar-duration);transition:background-color var(--scrollbar-duration)}::-webkit-scrollbar-track:hover,:hover::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-bar-bg);border-radius:var(--scrollbar-radius);min-height:var(--scrollbar-size);-webkit-transition:var(--scrollbar-duration);transition:var(--scrollbar-duration);-webkit-transition-property:background-color;transition-property:background-color}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover-bg)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-drag-bg)}.scrollbar-thin::-webkit-scrollbar{height:calc(var(--scrollbar-size)/2);width:calc(var(--scrollbar-size)/2)}.scrollbar-hover::-webkit-scrollbar,.scrollbar-hover::-webkit-scrollbar-thumb,.scrollbar-hover::-webkit-scrollbar-track{visibility:hidden}.scrollbar-hover:hover::-webkit-scrollbar,.scrollbar-hover:hover::-webkit-scrollbar-thumb,.scrollbar-hover:hover::-webkit-scrollbar-track{visibility:visible}.article-h1{font-size:1rem;line-height:1.5rem}.article-h1,.article-h2{color:var(--color-slate-900);font-weight:600}.article-h2{font-size:14px;line-height:1.25rem}.article-h3{color:var(--color-slate-800);font-weight:600}.article-h3,.article-h4{font-size:.8125rem;line-height:1.25rem}.article-h4{color:var(--color-slate-600)}.article-content{color:var(--color-slate-800);font-size:.8125rem;line-height:1.25rem}.form{position:relative}.form .input-group:not(.input-group-segment)>*+*,.form .input-group:not(.input-group-segment)>:not(:last-child){border-radius:var(--form-control-radius)}.form .input-group:not(.input-group-segment) .input-group-addon{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.form-actions{gap:1rem;justify-content:center}.form-actions .btn{min-width:96px}.form-control-static{min-height:32px;padding-bottom:.375rem;padding-top:.375rem}@font-face{font-family:ZentaoIcon;font-style:normal;font-weight:400;src:url(./icons/ZentaoIcon.eot);src:url(./icons/ZentaoIcon.woff) format("woff"),url(./icons/ZentaoIcon.ttf) format("truetype"),url(./icons/ZentaoIcon.svg#regular) format("svg")}.icon,[class*=" icon-"],[class^=icon-]{display:inline-block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.icon:before{display:inline-block;min-width:14px;text-align:center}.icon-sm:before{font-size:3/4em}.icon-lg:before{font-size:4/3em;vertical-align:-10%}.icon-2x{font-size:28px}.icon-3x{font-size:42px}.icon-4x{font-size:56px}.icon-5x{font-size:70px}.icon-zentao:before{content:""}.icon-zentao-alt:before{content:""}.icon-help:before{content:""}.icon-download:before,.icon-import:before{content:""}.icon-export:before{content:""}.icon-lightbulb:before{content:""}.icon-close:before{content:""}.icon-check:before{content:""}.icon-minus:before{content:""}.icon-expand-alt:before{content:""}.icon-collapse-alt:before{content:""}.icon-fullscreen:before{content:""}.icon-star-empty:before{content:""}.icon-star:before{content:""}.icon-exclamation-sign:before{content:""}.icon-info-sign:before{content:""}.icon-flag:before{content:""}.icon-check-circle:before{content:""}.icon-check-sign:before{content:""}.icon-chart-pie:before{content:""}.icon-history:before{content:""}.icon-pencil:before{content:""}.icon-search:before{content:""}.icon-restart:before{content:""}.icon-cog:before{content:""}.icon-chart-line:before{content:""}.icon-bar-chart:before,.icon-chart-bar:before{content:""}.icon-exchange:before{content:""}.icon-severity:before{content:""}.icon-book:before{content:""}.icon-treemap-alt:before{content:""}.icon-severity-solid:before{content:""}.icon-chat-line:before{content:""}.icon-stack:before{content:""}.icon-cube:before{content:""}.icon-minus-sign:before{content:""}.icon-bars-sign:before{content:""}.icon-chat:before,.icon-message:before{content:""}.icon-more:before{content:""}.icon-certificate:before{content:""}.icon-bell:before{content:""}.icon-columns:before{content:""}.icon-envelope-o:before{content:""}.icon-unfold-all:before{content:""}.icon-fold-all:before{content:""}.icon-bars:before{content:""}.icon-cards-view:before{content:""}.icon-ellipsis-v:before{content:""}.icon-spinner-indicator:before{content:""}.icon-up-circle:before{content:""}.icon-right-circle:before{content:""}.icon-down-circle:before{content:""}.icon-left-circle:before{content:""}.icon-angle-double-right:before{content:""}.icon-angle-down:before{content:""}.icon-angle-left:before{content:""}.icon-angle-right:before{content:""}.icon-angle-top:before{content:""}.icon-first-page:before{content:""}.icon-last-page:before{content:""}.icon-caret-down:before{content:""}.icon-caret-up:before{content:""}.icon-caret-left:before{content:""}.icon-caret-right:before{content:""}.icon-sort:before{content:""}.icon-sort-down:before{content:""}.icon-sort-up:before{content:""}.icon-arrow-up:before{content:""}.icon-arrow-down:before{content:""}.icon-arrow-left:before{content:""}.icon-arrow-right:before{content:""}.icon-chevron-left:before{content:""}.icon-chevron-right:before{content:""}.icon-chevron-double-up:before{content:""}.icon-chevron-double-down:before{content:""}.icon-folder-account:before{content:""}.icon-folder-move:before{content:""}.icon-folder-plus:before{content:""}.icon-folder-upload:before{content:""}.icon-folder-star:before{content:""}.icon-folder-edit:before{content:""}.icon-folder-download:before{content:""}.icon-folder-outline:before{content:""}.icon-folder:before{content:""}.icon-folder-o:before{content:""}.icon-folder-open-o:before{content:""}.icon-folder-open:before{content:""}.icon-color:before{content:""}.icon-paper-clip:before{content:""}.icon-text:before{content:""}.icon-share:before{content:""}.icon-format-list-bulleted:before{content:""}.icon-format-bold:before{content:""}.icon-format-header-pound:before{content:""}.icon-format-italic:before{content:""}.icon-format-list-numbers:before{content:""}.icon-format-quote-close:before{content:""}.icon-image:before{content:""}.icon-table-large:before{content:""}.icon-aiux:before{content:""}.icon-qc:before{content:""}.icon-qc-q:before{content:""}.icon-qc-c:before{content:""}.icon-sonarqube:before{content:""}.icon-college:before{content:""}.icon-ztool:before{content:""}.icon-contacts:before{content:""}.icon-chats:before{content:""}.icon-home:before,.icon-menu-my:before{content:""}.icon-program:before{content:""}.icon-lightbulb-alt:before,.icon-product:before{content:""}.icon-project:before,.icon-rocket:before{content:""}.icon-run:before{content:""}.icon-test:before{content:""}.icon-devops:before,.icon-infinite:before{content:""}.icon-ops:before{content:""}.icon-doc:before,.icon-menu-doc:before{content:""}.icon-statistic:before{content:""}.icon-menu-backend:before{content:""}.icon-assets:before,.icon-diamond:before{content:""}.icon-feedback:before{content:""}.icon-flow:before{content:""}.icon-oa:before{content:""}.icon-more-circle:before{content:""}.icon-controls:before{content:""}.icon-account:before{content:""}.icon-about:before,.icon-info:before{content:""}.icon-exclamation:before{content:""}.icon-backend:before,.icon-cog-outline:before{content:""}.icon-exit:before{content:""}.icon-theme:before{content:""}.icon-globe:before,.icon-lang:before{content:""}.icon-seal:before{content:""}.icon-menu-arrow-left:before{content:""}.icon-menu-arrow-right:before{content:""}.icon-add-directory:before{content:""}.icon-design:before{content:""}.icon-download-alt:before{content:""}.icon-blame:before{content:""}.icon-draft-edit:before{content:""}.icon-sub-review-user:before{content:""}.icon-sub-review:before{content:""}.icon-ztf:before{content:""}.icon-save:before{content:""}.icon-list-box:before{content:""}.icon-usecase:before{content:""}.icon-code:before{content:""}.icon-summary:before{content:""}.icon-more-alt:before{content:""}.icon-customer:before{content:""}.icon-ipd:before{content:""}.icon-wiki-lib:before{content:""}.icon-annex-lib:before{content:""}.icon-interface-lib:before{content:""}.icon-has-authority-pack:before{content:""}.icon-without-authority-pack:before{content:""}.icon-data-structure:before{content:""}.icon-waterfallplus:before{content:""}.icon-agileplus:before{content:""}.icon-horn:before{content:""}.icon-resume:before{content:""}.icon-mirror:before{content:""}.icon-remote:before{content:""}.icon-moon:before{content:""}.icon-ticket:before{content:""}.icon-gantt-alt:before{content:""}.icon-tree:before{content:""}.icon-list:before{content:""}.icon-gantt:before{content:""}.icon-group-view:before{content:""}.icon-inherit-space:before{content:""}.icon-card-archive:before{content:""}.icon-col-archive:before{content:""}.icon-col-add-right:before{content:""}.icon-col-add-left:before{content:""}.icon-col-split:before{content:""}.icon-waterfall:before{content:""}.icon-manual:before{content:""}.icon-kanban:before{content:""}.icon-lane:before{content:""}.icon-snap-house:before{content:""}.icon-wrench:before{content:""}.icon-desktop:before{content:""}.icon-back-circle:before{content:""}.icon-back:before{content:""}.icon-shield:before{content:""}.icon-meh:before{content:""}.icon-frown:before{content:""}.icon-smile:before{content:""}.icon-unlock-solid:before{content:""}.icon-lock-solid:before{content:""}.icon-ver:before{content:""}.icon-publish:before,.icon-send:before{content:""}.icon-tag:before{content:""}.icon-tag-lock:before{content:""}.icon-code-fork:before{content:""}.icon-branch-lock:before{content:""}.icon-groups:before{content:""}.icon-thumbs-up:before{content:""}.icon-thumbs-down:before{content:""}.icon-thumbs-up-solid:before{content:""}.icon-thumbs-down-solid:before{content:""}.icon-hash:before,.icon-version:before{content:""}.icon-p-square:before{content:""}.icon-video-play:before{content:""}.icon-plus-solid-circle:before{content:""}.icon-minuse-solid-circle:before{content:""}.icon-s:before{content:""}.icon-c:before{content:""}.icon-t:before{content:""}.icon-guide:before{content:""}.icon-todo:before{content:""}.icon-plus:before{content:""}.icon-side-left:before{content:""}.icon-side-right:before{content:""}.icon-fullscreen-exit:before{content:""}.icon-alert:before{content:""}.icon-undo:before{content:""}.icon-redo:before{content:""}.icon-swap:before{content:""}.icon-chat-solid:before{content:""}.icon-clock:before{content:""}.icon-cost:before{content:""}.icon-pencil-alt:before{content:""}.icon-size-height:before{content:""}.icon-file-log:before{content:""}.icon-rich-text:before{content:""}.icon-markdown:before{content:""}.icon-excel:before{content:""}.icon-text-link:before{content:""}.icon-ppt:before{content:""}.icon-word:before{content:""}.icon-doc-lib:before{content:""}.icon-file-empty:before,.icon-file:before{content:""}.icon-file-text:before{content:""}.icon-file-alt:before{content:""}.icon-file-text-alt:before{content:""}.icon-file-pdf:before{content:""}.icon-file-word:before{content:""}.icon-file-excel:before{content:""}.icon-file-powerpoint:before{content:""}.icon-file-image:before{content:""}.icon-file-archive:before{content:""}.icon-file-audio:before{content:""}.icon-file-video:before{content:""}.icon-file-code:before{content:""}.icon-menu-collapse:before{content:""}.icon-menu-expand:before{content:""}.icon-group:before,.icon-menu-users:before,.icon-persons:before,.icon-team:before{content:""}.icon-estimate:before{content:""}.icon-sprint:before{content:""}.icon-shield-check:before{content:""}.icon-ok:before{content:""}.icon-printer:before{content:""}.icon-bullhorn:before{content:""}.icon-person:before{content:""}.icon-fields:before{content:""}.icon-trigger:before{content:""}.icon-layout:before{content:""}.icon-audit:before{content:""}.icon-ban-circle:before,.icon-cancel:before{content:""}.icon-eye:before{content:""}.icon-eye-off:before{content:""}.icon-unlock:before{content:""}.icon-lock:before,.icon-private:before{content:""}.icon-move:before{content:""}.icon-hand-right:before{content:""}.icon-checked:before{content:""}.icon-off:before{content:""}.icon-play:before,.icon-start:before{content:""}.icon-time:before{content:""}.icon-edit:before{content:""}.icon-trash:before{content:""}.icon-link:before{content:""}.icon-unlink:before{content:""}.icon-bug:before{content:""}.icon-list-alt:before{content:""}.icon-alter:before,.icon-change:before{content:""}.icon-glasses:before,.icon-review:before{content:""}.icon-sitemap:before,.icon-testcase:before{content:""}.icon-pluses:before{content:""}.icon-report-list:before{content:""}.icon-active:before,.icon-magic:before{content:""}.icon-treemap:before{content:""}.icon-confirm:before{content:""}.icon-split:before{content:""}.icon-calendar:before,.icon-delay:before{content:""}.icon-pause:before{content:""}.icon-ban:before{content:""}.icon-plus-bold:before{content:""}.icon-copy:before{content:""}.icon-refresh:before{content:""}.icon-diff:before{content:""}.icon-productplan:before{content:""}.status-active,.status-asked,.status-normal,.status-unconfirmed,.status-wait{color:#313c52}.status-active.status-issue,.status-checking,.status-commenting,.status-confirmed,.status-doing{color:#ff6f42}.status-blocked,.status-hangup,.status-pause,.status-suspended{color:#b89664}.status-clarify,.status-draft{color:#8166ee}.status-noreview,.status-reviewing,.status-wait.status-testcase{color:#18a6fd}.status-active.status-risk,.status-changed,.status-changing,.status-fail{color:#fb2b2b}.status-checked,.status-done,.status-pass,.status-replied,.status-resolved,.status-success{color:#0dbb7d}.status-cancel,.status-canceled,.status-investigate{color:#838a9d}.status-canceled,.status-closed,.status-testtask.status-done{color:#9ea3b0}.pri,[class*=" pri-"],[class^=pri-]{--tw-text-opacity:1;border-color:var(--color-current);border-radius:var(--radius-full);border-width:1px;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity));display:inline-block;font-size:.75rem;height:1rem;line-height:1rem;line-height:14px;max-width:54px;min-width:16px;overflow:hidden;padding-left:.125rem;padding-right:.125rem;text-align:center;white-space:nowrap}.pri-1{color:rgb(255 73 18/var(--tw-text-opacity))}.pri-1,.pri-2{--tw-text-opacity:1}.pri-2{color:rgba(var(--color-warning-600-rgb),var(--tw-text-opacity))}.pri-3{color:rgb(59 130 246/var(--tw-text-opacity))}.pri-3,.pri-4{--tw-text-opacity:1}.pri-4{color:rgb(149 211 224/var(--tw-text-opacity))}.severity{--tw-text-opacity:1;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity));display:inline-block;font-size:.75rem;height:1rem;line-height:1rem;line-height:14px;max-width:54px;min-width:16px;overflow:hidden;padding-left:.125rem;padding-right:.125rem;position:relative;text-align:center;white-space:nowrap}.severity:before{--tw-content:attr(data-severity);background-color:var(--color-current);background-repeat:no-repeat;content:var(--tw-content);height:100%;left:0;-webkit-mask:url('data:image/svg+xml;charset=utf-8,
');mask:url('data:image/svg+xml;charset=utf-8,
');-webkit-mask-size:100% 100%;mask-size:100% 100%;position:absolute;top:0;width:100%;z-index:0}.severity:after,.severity:before{display:inline-block}.severity:after{--tw-scale-x:.75;--tw-scale-y:.75;content:attr(data-severity);line-height:20px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.severity[data-severity="1"]{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.severity[data-severity="2"]{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.severity[data-severity="3"]{--tw-text-opacity:1;color:rgb(250 174 26/var(--tw-text-opacity))}.severity[data-severity="4"]{--tw-text-opacity:1;color:rgb(184 150 100/var(--tw-text-opacity))}.severity[data-severity="5"]{--tw-text-opacity:1;color:rgb(158 163 176/var(--tw-text-opacity))}.severity-label{background-color:var(--color-transparent)}.severity-label:after,.severity-label:before{--tw-content:none;content:var(--tw-content)}.risk-high{color:rgb(220 38 38/var(--tw-text-opacity))}.risk-high,.risk-middle{--tw-text-opacity:1}.risk-middle{color:rgb(234 179 8/var(--tw-text-opacity))}.nav-feature{--nav-active-bg:rgba(var(--color-primary-800-rgb),.07)}.nav-feature .nav-checkbox>.checkbox,.nav-feature .nav-checkbox>.checkbox-primary,.nav-feature .nav-item>a{align-items:center;border-radius:var(--radius);height:2rem;padding-left:.625rem;padding-right:.625rem}.nav-feature .nav-item>a>.icon{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}:root{--avatar-radius:12.5%;--avatar-bg:var(--color-surface)}.avatar{align-items:center;aspect-ratio:1/1;background:var(--avatar-bg);border-radius:var(--avatar-radius);display:inline-flex;justify-content:center;overflow:hidden;width:2rem}.avatar>img{height:100%;margin:0;-o-object-fit:cover;object-fit:cover;width:100%}.avatar.size-xs{width:1.25rem}.avatar.size-sm,.avatar.size-xs{font-size:.75rem;line-height:1rem}.avatar.size-sm{width:1.5rem}.avatar.size-lg{font-size:1.5rem;line-height:2rem;width:3rem}.avatar.size-xl{font-size:2.25rem;line-height:2.5rem;width:5rem}.avatar-group{display:flex;gap:.625rem}.avatar-group>.avatar{box-shadow:0 0 0 1px var(--color-canvas)}.avatar-group>*+*{margin-left:-1rem}.avatar-group.size-xs>*+*{margin-left:-.75rem}.avatar-group.size-sm>*+*{margin-left:-.875rem}.avatar-group.size-lg>*+*{margin-left:-1.25rem}.avatar-group.size-xl>*+*{margin-left:-1.5rem}.color-picker-heading{align-items:center;font-weight:700;justify-content:space-between;margin-bottom:-.25rem}.color-picker-heading,.color-picker-row{display:flex;flex-direction:row;padding:.5rem}.color-picker-row{flex-wrap:wrap;gap:.5rem}.color-picker-item{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);align-items:center;border-radius:var(--radius-full);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));display:flex;height:1.25rem;justify-content:center;padding-left:.125rem;padding-right:.125rem;width:1.25rem}.pick-container{left:0;pointer-events:none;position:absolute;top:0;z-index:1600}.pick-pop{display:flex;flex-direction:column;opacity:0;pointer-events:auto;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:1200}.pick-pop.in{opacity:1}.date-picker-menu .mini-calendar{margin-top:-.75rem}.date-pick-menu-month,.date-pick-menu-years{display:flex;flex-direction:row;flex-wrap:wrap;gap:1px;max-height:237px;padding-bottom:.5rem;padding-left:.5rem;padding-right:.5rem}.date-pick-menu-years>.btn{width:2.5rem}.date-pick-menu-years>.btn.is-current{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.date-pick-menu-month>.btn.active,.date-pick-menu-years>.btn.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.date-pick-menu-month>.btn{width:3rem}.date-picker-menu-footer{border-top-width:1px;display:flex;flex-direction:row;padding:.25rem}.date-picker-menu-footer>.toolbar{flex:1 1 auto;justify-content:center}.date-picker-menu>.menu{border-right-width:1px}.date-picker-menu .menu-item{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.time-picker-menu{max-height:inherit}.time-picker-menu .menu-item>a{justify-content:center}.datetime-picker-menu{max-height:inherit}.mini-calendar{padding:.5rem}.mini-calendar>.row>.col{align-items:center;justify-content:center;width:14.2857%}.mini-calendar-day{height:2rem}.mini-calendar-day>a{width:2rem}.mini-calendar-day.is-weekend>a{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.mini-calendar-day.active>a,.mini-calendar-day.is-today>a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.mini-calendar-day.selected>a{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.mini-calendar-day.is-out-month{opacity:.5}.i-calendar{border-radius:var(--radius);display:inline-block;height:.79em;margin-top:.16em;position:relative;width:1em}.i-calendar,.i-calendar:after,.i-calendar:before{border-color:var(--color-current);border-width:.08em}.i-calendar:after,.i-calendar:before{--tw-content:"";content:var(--tw-content);position:absolute}:root{--modal-radius:var(--radius-lg);--modal-bg:rgba(0,0,0,.4);--modal-sm:37.5rem;--modal-base:50rem;--modal-lg:75rem;--modal-xl:90rem}.modal{align-items:center;background-color:var(--modal-bg);display:none;inset:0;justify-content:center;overflow:hidden;position:fixed;z-index:1500}.modal.load-indicator:before{background-color:var(--color-inherit);transition-property:none}.modal.loading:after{--tw-text-opacity:1;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.modal.show{display:flex}.modal-no-backdrop{background-color:var(--color-transparent);pointer-events:none}.modal-dialog{--tw-bg-opacity:1;--tw-shadow:var(--shadow-2xl);--tw-shadow-colored:var(--shadow-2xl);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--modal-radius);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);pointer-events:auto;position:relative;width:var(--modal-base)}.modal-content,.modal-dialog{max-height:100vh}.modal-content{display:flex;flex-direction:column;height:100%}.loading>.modal-dialog>.modal-content{opacity:0;visibility:hidden}.modal-header{align-items:center;display:flex;flex:none;flex-wrap:nowrap;gap:1rem;padding:1rem 1.25rem;position:relative}.modal-title{flex:1 1 auto;font-size:1rem;font-weight:700;line-height:1.5rem}.modal-actions{position:absolute;right:.75rem;top:.75rem}.modal-body{flex:1 1 auto;overflow:auto;padding:.75rem 1.25rem}.modal-footer{align-items:center;display:flex;flex:none;gap:.75rem;padding:1.25rem}.modal-dialog[data-size=full]{height:100vh;width:100vw}.modal-dialog[data-size=sm]{width:var(--modal-sm)}.modal-dialog[data-size=lg]{width:var(--modal-lg)}.modal-dialog[data-size=xl]{width:var(--modal-xl)}.modal-iframe{flex:1 1 auto;width:100%}.modal-trans{opacity:0;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.modal-trans.in{opacity:1}.modal-trans>.modal-dialog{--tw-scale-x:.95;--tw-scale-y:.95;opacity:0;transition-duration:.3s;transition-property:transform,opacity}.modal-trans.in>.modal-dialog,.modal-trans>.modal-dialog{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.modal-trans.in>.modal-dialog{--tw-scale-x:1;--tw-scale-y:1;opacity:1}.modal-alert .modal-footer{justify-content:flex-end}.modal-alert .modal-header{margin-bottom:-1rem}.modal-alert .modal-body{white-space:pre-line}.modal-alert .modal-footer{margin-top:-.75rem}.modal-alert .modal-actions+.modal-body{padding-right:3rem}.modal-alert .modal-header+.modal-actions+.modal-body{padding-right:1.25rem}:root{--nav-radius:var(--radius);--nav-active-color:var(--color-primary-500);--nav-active-bg:var(--color-inherit);--nav-heading-color:var(--color-gray-500)}.nav,.nav-item{align-items:center;display:flex;position:relative}.nav-item{gap:.75rem}.nav-item>a{align-items:center;color:var(--color-inherit);display:flex;gap:.25rem;height:2rem;justify-content:center;padding-left:1rem;padding-right:1rem}.nav-item>.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:700}.nav-item>.disabled{opacity:1}.nav-item>.disabled>*{opacity:var(--disabled-opacity)}.nav-divider{background-color:var(--color-current);height:1rem;margin-left:.5rem;margin-right:.5rem;opacity:.3;width:1px}.nav-heading{align-items:center;color:var(--nav-heading-color);display:flex;font-weight:700;gap:.25rem;height:2rem;justify-content:center;padding-left:1rem;padding-right:1rem}.nav-space{flex:1 1 auto;width:1rem}.nav-primary>.nav-item{position:relative}.nav-primary>.nav-item:hover{z-index:10}.nav-primary>.nav-item+.nav-item{margin-left:-1px}.nav-primary>.nav-item>a{border-radius:var(--radius-none);border-width:1px}.nav-primary>.nav-item:first-child>a,.nav-primary>.nav-item:has(.nav-heading)+.nav-item>a{border-bottom-left-radius:var(--nav-radius);border-top-left-radius:var(--nav-radius)}.nav-primary>.nav-item:last-child>a{border-bottom-right-radius:var(--nav-radius);border-top-right-radius:var(--nav-radius)}.nav-primary>.nav-item>.active{--tw-text-opacity:1;background:var(--nav-active-color);border-color:var(--nav-active-color);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.nav-primary>.nav-divider{display:none}.nav-secondary>.nav-item>a{border-radius:var(--radius-none);position:relative}.nav-secondary>.nav-item>a:after{--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:-2px;content:var(--tw-content);display:block;height:2px;left:0;position:absolute;right:0}.nav-secondary>.nav-item>.active:after{background-color:var(--color-current)}.nav-secondary>.nav-divider{margin:0 0 0 -1px}.nav-tabs>.nav-item>a{border-bottom-left-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none);position:relative}.nav-tabs>.nav-item>a:after{--tw-border-opacity:1;--tw-content:"";border-color:var(--color-transparent);border-bottom-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-top-left-radius:inherit;border-top-right-radius:inherit;border-width:1px;content:var(--tw-content);display:block;inset:-1px;pointer-events:none;position:absolute}.nav-tabs>.nav-item>.active:after{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-bottom-color:var(--color-transparent)}.nav-tabs>.nav-divider{margin:0 0 0 -1px}.nav-pills>.nav-item>a{border-radius:var(--radius-full)}.nav-pills>.nav-item>.active{--tw-text-opacity:1;background:var(--nav-active-color);border-color:var(--nav-active-color);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.nav-stacked{flex-direction:column}.nav-stacked>.nav-item{width:100%}.nav-stacked>.nav-heading,.nav-stacked>.nav-item>a{justify-content:flex-start;width:100%}.nav-stacked>.nav-divider{height:1px;margin:.5rem 0;width:100%}.nav-primary.nav-stacked>.nav-item>a{height:2.5rem}.nav-primary.nav-stacked>.nav-item+.nav-item{margin-left:0;margin-top:-1px}.nav-primary.nav-stacked>.nav-item:first-child>a{border-bottom-left-radius:0;border-top-left-radius:var(--nav-radius);border-top-right-radius:var(--nav-radius)}.nav-primary.nav-stacked>.nav-item:last-child>a{border-bottom-left-radius:var(--nav-radius);border-bottom-right-radius:var(--nav-radius);border-top-right-radius:0}.nav-secondary.nav-stacked>.nav-item>a:after{--tw-bg-opacity:1;background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:0;height:100%;left:auto;right:0;top:0;width:2px}.nav-secondary.nav-stacked>.nav-item>.active:after{background-color:var(--color-current)}.nav-secondary.nav-stacked>.nav-divider{margin:0}.nav-tabs.nav-stacked>.nav-item>a{border-bottom-left-radius:var(--nav-radius);border-bottom-right-radius:var(--radius-none);border-top-right-radius:var(--radius-none);position:relative}.nav-tabs.nav-stacked>.nav-item>a:after{--tw-border-opacity:1;border-bottom-color:var(--color-transparent);border-bottom-left-radius:inherit;border-right-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-top-left-radius:inherit}.nav-tabs.nav-stacked>.nav-item>a.active:after{--tw-border-opacity:1;border-color:rgba(var(--color-border-rgb),var(--tw-border-opacity));border-right-color:var(--color-transparent)}.nav-tabs.nav-stacked>.nav-divider{margin:0}.nav-pills.nav-stacked>.nav-item+.nav-item{margin-top:.25rem}.nav-justified>.nav-item:not(.flex-none,.nav-divider){flex:1 1 auto}.nav-justified>.nav-item>a{width:100%}.pager{align-items:center;display:flex;gap:.25rem}.menu.pager-size-menu{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.menu.pager-size-menu>.menu-item>a{margin:.125rem}.pager .pager-goto-group>.form-control{width:3rem}.pager .pager-goto-group>.input-group-addon{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-gray-300-rgb),var(--tw-border-opacity));border-width:1px}.pager>.pager-nav.active{--tw-text-opacity:1;box-shadow:0 0 0 1px var(--color-primary-500);color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.panel{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;border-radius:var(--radius);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);overflow:hidden}.panel-heading{flex-wrap:nowrap;gap:1rem;justify-content:space-between;padding:.5rem 1rem}.panel-heading,.panel-title{align-items:center;display:flex}.panel-title{font-weight:700;gap:.5rem;margin:0}.panel-actions{margin-right:-.5rem}.panel-body{padding:.75rem 1rem}.panel-footer{align-items:center;display:flex;gap:.5rem;padding:.5rem 1rem}.size-sm .panel-body,.size-sm .panel-footer,.size-sm .panel-heading{padding:.375rem .75rem}.size-lg .panel-body,.size-lg .panel-footer,.size-lg .panel-heading{padding:1rem 1.25rem}.picker{position:relative}.picker-select{align-items:center;gap:.25rem;justify-content:space-between}.picker-select,.picker-select.form-control{display:flex}.picker-select-placeholder{--tw-text-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-text-opacity));flex:1 1 auto}.picker-select-multi .picker-select-placeholder{padding-left:.25rem;padding-right:.25rem}.picker-single-selection{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.picker-deselect-btn{border-radius:var(--radius-full);padding:.25rem}.picker-deselect-btn:not(:hover){opacity:.7}.picker-select-multi.form-control{height:auto;min-height:32px;padding-left:.25rem}.picker-multi-selections{display:flex;flex-wrap:wrap;gap:.25rem}.picker-multi-selection{--tw-bg-opacity:1;align-items:center;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity));border-radius:var(--radius-full);border-width:1px;display:flex;padding-left:.5rem}.picker-multi-selection>.text{max-width:180px;overflow:clip;white-space:nowrap}.picker-menu-list.menu{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none);border-style:none;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);flex:1 1 auto;min-height:0;overflow-y:auto}.picker-menu-search+.picker-menu-list.menu{margin-top:-.125rem;padding-top:0}.menu-item .text .is-match{font-weight:700;text-decoration-line:underline}.picker-search-input{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;border-color:var(--color-transparent);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important;height:1.75rem;outline-width:0!important;padding-left:0;padding-right:2rem}.picker-search{flex:none;position:relative;width:100%}.picker-search>.magnifier{opacity:.5;position:absolute;right:0;top:.5rem}.picker-search-clear.btn{cursor:pointer;height:1.25rem;position:absolute;right:0;top:.25rem;width:1.25rem}.picker-search.is-inline{min-width:64px;width:4rem}.is-inline>.picker-search-input{height:1.25rem;min-width:64px;padding-left:.25rem;padding-right:.25rem}.picker-search-measure{height:0;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}:root{--table-head-bg:var(--color-surface);--table-striped-color:var(--color-gray-50);--table-hover-color:rgba(var(--color-primary-500-rgb),.05);--table-border-color:var(--color-border)}.table{border-color:var(--table-border-color);width:100%}.table>thead{background-color:var(--table-head-bg)}.table>*>tr{border-bottom-width:1px}.table>*>tr>*{padding:.5rem 1rem;text-align:left}.table-striped>tbody>tr:nth-child(2n){background:var(--table-striped-color)}.table-hover>tbody>tr:hover>*{background:var(--table-hover-color)}.table.bordered>*>tr>*{border-width:1px}.table.borderless>*>tr,.table.borderless>*>tr>*{border-style:none}.condensed>*>tr>*{padding:.375rem .75rem}.table-fixed{table-layout:fixed}.table-fixed>*>tr>*{overflow:hidden;white-space:nowrap}.tooltip{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-inverse-rgb),var(--tw-bg-opacity));border-color:rgba(var(--color-inverse-rgb),var(--tw-border-opacity));border-radius:var(--radius);color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));font-size:.75rem;line-height:1rem;max-width:28rem;padding:.25rem .5rem;z-index:1800}.tooltip:not(.white)>.arrow{border-width:0}.tooltip.white>.arrow{border-color:inherit}.tooltip-has-title{--tw-bg-opacity:.8;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:.5rem .75rem .75rem}.tooltip-has-title>.arrow{opacity:.75}.tooltip-heading{align-items:center;display:flex;font-size:.8125rem;font-weight:700;gap:1rem;justify-content:space-between;line-height:1.25rem;padding:.25rem}.tooltip-heading>.btn-close{margin-right:-.25rem}.tooltip-content{padding:.25rem}.tree-item-content{flex-direction:row;gap:.25rem;min-height:24px}.tree-item-content,.tree-toggle-icon{align-items:center;display:flex}.tree-toggle-icon{--caret-size:5px;--caret-opacity:.3;border-radius:var(--radius);flex:none;height:1rem;justify-content:center;width:1rem}.tree.no-nested-items>.tree-item>.tree-item-content>.tree-toggle-icon{width:.25rem}.tree-checkbox{margin-right:-.25rem}.tree-icon{opacity:.5;width:1rem}.tree-item-content:hover>.tree-icon{opacity:.8}.tree-hover .tree-item-content{border-radius:var(--radius);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tree-hover .tree-item-content:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.tree-link:not(:hover){color:var(--color-inherit)}.tree-item-content>.toolbar{margin-left:1rem;opacity:.6}.tree-item-content:hover>.toolbar{opacity:1}.upload .upload-tip{color:var(--color-slate-500)}.file-item>.img{height:120px;width:120px}.upload .file-item:hover .file-size{display:flex!important}.panel-body>.form-batch{margin-top:-1rem}.form-batch-container{overflow-y:auto}.form-batch-table{--table-head-bg:var(--color-canvas);min-width:100%;table-layout:fixed}.form-batch-table>*>tr>*{padding-left:.375rem;padding-right:.375rem;vertical-align:top}.form-batch-head{vertical-align:middle}.form-batch-head[data-name=ACTIONS]{width:5rem}.form-batch-label{display:inline}.form-batch-control>textarea.form-control{height:2rem}.form-batch-btn+.btn{margin-left:.25rem}.form-batch-table>tbody[data-count="1"] .form-batch-btn[data-type=delete]{display:none}.form-batch-ditto{position:relative}.form-batch-ditto-btn{opacity:.5;padding-left:.5rem;padding-right:.5rem;position:absolute!important;right:.375rem;top:.5rem}.form-batch-ditto-btn:after{--tw-bg-opacity:1;--tw-content:"";background-color:rgba(var(--color-border-rgb),var(--tw-bg-opacity));bottom:.5rem;content:var(--tw-content);left:-1px;position:absolute;top:.5rem;width:1px}[data-ditto=on] .form-batch-ditto-btn{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity));opacity:1}.form-batch-row-actions{padding-bottom:.75rem!important;padding-top:.75rem!important}.form-batch-ditto-control .form-control{padding-right:calc(var(--form-batch-ditto-width) + 8px)}.form-batch-ditto-control .date-picker>.input-control-suffix,.form-batch-ditto-control .time-picker>.input-control-suffix{right:var(--form-batch-ditto-width)}.form-batch-ditto-control .date-picker>.form-control,.form-batch-ditto-control .time-picker>.form-control{padding-right:calc(var(--form-batch-ditto-width) + var(--input-control-suffix))}.form-batch-ditto-control .pick-pri>.caret{right:calc(var(--form-batch-ditto-width) + 8px)}.dropmenu-btn{gap:.25rem;padding-left:.5rem;padding-right:.5rem}.dropmenu-btn>.text{max-width:180px;overflow:hidden}.dropmenu-btn>.is-leading{left:-.625rem;position:absolute}.dropmenu-btn>.is-caret{align-items:center;background-color:rgba(var(--color-canvas-rgb),.2);border-radius:var(--radius);display:flex;height:1rem;justify-content:center;width:1rem}.dropmenu-nav{border-bottom-width:1px;margin-left:.75rem;margin-right:.75rem;margin-top:.25rem}.has-search .dropmenu-nav{margin-top:-.5rem}.dropmenu-nav>.nav-secondary{gap:.5rem}.dropmenu-nav>.nav-secondary>.nav-item>a{border-radius:var(--radius);padding-left:.5rem;padding-right:.5rem}.dropmenu-nav>.nav-secondary>.nav-item>a:after{bottom:-1px;left:1rem;opacity:0;right:1rem}.dropmenu-nav>.nav-secondary>.nav-item>.active:after{left:.5rem;opacity:1;right:.5rem;transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dropmenu-title{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity));font-size:.75rem;font-weight:700;line-height:1rem;margin-bottom:-.5rem;padding:.75rem}.dropmenu-list{min-height:0;overflow-y:auto;padding:.5rem .75rem}.dropmenu.loading>*{opacity:0}.dropmenu-item{cursor:pointer;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dropmenu-item.is-item.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.dropmenu-item.is-item:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.dropmenu-item.is-toggle:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity))}.dropmenu-item+.tree-item{margin-top:.125rem}.dropmenu-item .is-match{font-weight:700;text-decoration-line:underline}.dropmenu-item .label,.dropmenu-item .text{overflow:hidden;white-space:nowrap}.dropmenu-item.is-toggle .text{opacity:.6}.dropmenu-item.is-toggle:hover .text{opacity:1}.dropmenu-item-check{align-items:center;display:flex;flex:1 1 auto;justify-content:flex-end;padding-right:.5rem}.dropdown,.dropdown-menu{position:absolute;z-index:1200}.dropdown-menu{--menu-min-width:7rem;display:none}.dropdown-menu.show,.show>.dropdown-menu{display:block}.popover>.dropdown-menu{position:relative}.dropdown-menu .has-nested-menu.show>a:not(:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity))}.global-search-panel li:not(.order-first):hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.global-search-panel li a{width:100%}.global-search-panel li{cursor:pointer}.img-cutter{background:var(--color-slate-100);border:1px solid #ddd;margin-bottom:20px;padding:10px}.img-cutter .canvas{margin:0 auto;max-width:100%;min-width:50px;position:relative}.img-cutter .cover{inset:0;position:absolute;z-index:1}.img-cutter .controller{background:none;border:1px dashed hsla(0,0%,100%,.7);cursor:move;position:absolute;z-index:5}.img-cutter .control{background:#000;background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.6);height:6px;position:absolute;width:6px}.img-cutter .control[data-type=left]{cursor:w-resize;left:-4px;margin-top:-3px;top:50%}.img-cutter .control[data-type=top]{cursor:n-resize;left:50%;margin-left:-3px;top:-4px}.img-cutter .control[data-type=right]{cursor:e-resize;margin-top:-3px;right:-4px;top:50%}.img-cutter .control[data-type=bottom]{bottom:-4px;cursor:s-resize;left:50%;margin-left:-3px}.img-cutter .control[data-type=top-left]{cursor:nw-resize;left:-4px;top:-4px}.img-cutter .control[data-type=top-right]{cursor:ne-resize;right:-4px;top:-4px}.img-cutter .control[data-type=bottom-left]{bottom:-4px;cursor:sw-resize;left:-4px}.img-cutter .control[data-type=bottom-right]{bottom:-4px;cursor:se-resize;right:-4px}.img-cutter .cliper{inset:0;position:absolute;z-index:2}.messager-fail .toolbar,.messager-success .toolbar{padding-left:72px}.modal-reconfirm .modal-body{font-size:14px;font-weight:700;padding:24px 32px}.modal-reconfirm .modal-footer{justify-content:center;padding:24px}.picker-deselect-btn{opacity:.6;transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.picker-multi-selection{cursor:pointer;padding-right:.5rem;position:relative}.picker-multi-selection .picker-deselect-btn{--tw-scale-x:0;--tw-scale-y:0;background-color:rgba(var(--color-surface-rgb),.8);inset:0;opacity:0;position:absolute}.picker-deselect-btn:hover,.picker-multi-selection .picker-deselect-btn,.picker-multi-selection:hover .picker-deselect-btn{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.picker-deselect-btn:hover,.picker-multi-selection:hover .picker-deselect-btn{--tw-scale-x:1;--tw-scale-y:1;opacity:1}.pick-pri{align-items:center;display:flex;flex-direction:row;justify-content:flex-start;position:relative}.pick-pri>.caret{position:absolute;right:.5rem;top:.875rem}.pick-pri .placeholder{--tw-text-opacity:1;color:rgba(var(--color-placeholder-rgb),var(--tw-text-opacity))}.pick-pri-list>.btn{justify-content:flex-start}.zinbar [data-hint]{position:relative}.zinbar [data-hint]:after{--tw-bg-opacity:.9;--tw-text-opacity:1;--tw-content:attr(data-hint);background-color:rgba(var(--color-inverse-rgb),var(--tw-bg-opacity));border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);bottom:100%;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity));content:var(--tw-content);display:block;font-size:.75rem;line-height:1rem;opacity:0;padding:.125rem .25rem;position:absolute;right:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:50}.zinbar [data-hint]:hover:after{opacity:1}.zin-perf-btn-list .text-danger{color:var(--color-danger-400)}.zinbar .state{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zinbar .state:active{--tw-scale-x:1.05;--tw-scale-y:1.05}.zinbar .state:active,.zinbar.collapse{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zinbar.collapse{--tw-translate-x:100%}.zinbar.collapse>div{pointer-events:none}.zinbar{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-duration:.7s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.contextmenu{display:none}.contextmenu.show{display:block}.contextmenu.popup{position:absolute}.dashboard-blocks{padding:.5rem;position:relative}.dashboard-block-cell{position:absolute;transition-duration:.15s;transition-property:left,top;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dashboard-block{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius);inset:.5rem;position:absolute;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dashboard-block.is-dragging{opacity:0;z-index:1600}.dashboard-block-header{align-items:center;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);display:flex;flex-direction:row;justify-content:space-between;left:0;padding:.75rem;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.dashboard-block-header>*{pointer-events:auto}.dashboard-block-title{font-size:.875rem;font-weight:700;line-height:1.3rem}.dashboard-block-body{inset:0;position:absolute}.dashboard-block-body>.panel{--tw-shadow:0px 6px 16px rgba(202,215,235,.25);display:flex;flex-direction:column;height:100%;width:100%}.dashboard-block-body .panel-heading{cursor:move;flex:none}.dashboard-block-body .panel-body{flex:1 1 auto;overflow-y:auto}.has-more-menu>.dashboard-block-body .panel-heading{padding-right:3rem}.dashboard-block-body .panel-title{font-size:.875rem;height:2rem;line-height:1.3rem}.dashboard-block-actions .btn{opacity:.6}.dashboard-block-actions .btn:hover{opacity:1}:root{--scrollbar-size:10px;--scrollbar-opacity:.6;--scrollbar-bg:rgba(var(--color-inverse-rgb),.15);--scrollbar-inset:inset 0 0 0 1px rgba(var(--color-inverse-rgb),.05);--scrollbar-bar-bg:rgba(var(--color-inverse-rgb),.3);--scrollbar-hover-bg:rgba(var(--color-inverse-rgb),.4);--scrollbar-drag-bg:rgba(var(--color-inverse-rgb),.5);--scrollbar-radius:var(--radius-sm);--scrollbar-duration:.7s}.scrollbar{background:var(--scrollbar-bg);box-shadow:var(--scrollbar-shadow);opacity:var(--scrollbar-opacity);position:absolute;transition-duration:.15s;transition-duration:var(--scrollbar-duration);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.scrollbar-hover .scrollbar{opacity:0}.scrollbar-hover:hover .scrollbar{opacity:var(--scrollbar-opacity)}.scrollbar.is-dragging,.scrollbar:hover{opacity:1!important}.scrollbar-bar{background:var(--scrollbar-bar-bg);border-radius:var(--scrollbar-radius);position:absolute}.scrollbar-bar:hover{background:var(--scrollbar-hover-bg)}.is-dragging>.scrollbar-bar{background:var(--scrollbar-drag-bg)}.is-horz>.scrollbar-bar{height:100%;z-index:20}.is-vert>.scrollbar-bar{width:100%;z-index:20}:root{--dtable-bg:var(--color-canvas);--dtable-striped-bg:var(--color-gray-50);--dtable-hover-bg:rgba(var(--color-primary-500-rgb),.05);--dtable-header-bg:var(--color-surface);--dtable-footer-bg:var(--color-surface);--dtable-border-color:var(--color-border);--dtable-sorter-size:.3125rem}.dtable{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));position:relative}.dtable-block{overflow:hidden;position:absolute;width:100%}.dtable-header{background-color:var(--dtable-header-bg);border-top-left-radius:inherit;border-top-right-radius:inherit}.dtable-body{overflow:hidden}.dtable-cells{background-color:var(--dtable-bg);z-index:0}.dtable-cells,.dtable-cells-container{height:100%;position:absolute}.dtable-cells-container{width:100%}.dtable-header .dtable-cells{background-color:var(--dtable-header-bg)}.dtable-cells.dtable-fixed-left,.dtable-cells.dtable-fixed-right{z-index:10}.dtable-cell{position:absolute;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-cell:after,.dtable-cell:before{bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:2}.dtable-cell:before{border-bottom-width:1px;opacity:1}.dtable-header .dtable-cell{align-items:center;display:flex;font-weight:700}.dtable-header .dtable-cell:after,.dtable-header .dtable-cell:before{top:0}.dtable-cell-content{gap:.25rem;height:100%;overflow:hidden;position:relative;white-space:nowrap;z-index:5}.dtable-cell-content,.dtable-footer{align-items:center;display:flex;padding-left:.75rem;padding-right:.75rem;width:100%}.dtable-footer{background-color:var(--dtable-footer-bg);border-color:var(--dtable-border-color);border-top-left-radius:inherit;border-top-right-radius:inherit;border-top-width:1px;position:absolute;z-index:10}.dtable .scrollbar{z-index:20}.dtable-header{transition-duration:1s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-scrolled-down .dtable-header{--tw-border-opacity:1;border-bottom-color:rgba(var(--color-border-strong-rgb),var(--tw-border-opacity));border-bottom-width:1px}.dtable-scroll-shadow{background-image:linear-gradient(90deg,rgba(0,0,0,.03),transparent),linear-gradient(90deg,rgba(0,0,0,.03),transparent 50%);opacity:0;pointer-events:none;position:absolute;top:0;transition-duration:1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:8px;z-index:20}.dtable:hover .dtable-scroll-shadow{opacity:1}.dtable-scroll-shadow.is-right{--tw-rotate:180deg;margin-left:-7px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtable-scroll-shadow.is-left,.dtable-scrolled-end .dtable-scroll-shadow.is-right{visibility:hidden}.dtable-scroll-shadow.is-right,.dtable-scrolled-right .dtable-scroll-shadow.is-left{visibility:visible}.dtable-cell[data-sort]{cursor:pointer}.dtable-sort{height:calc(var(--dtable-sorter-size)*12/5);margin-left:.25rem;opacity:.8;position:relative}.dtable-cell:hover .dtable-sort{opacity:1}.dtable-sort:after,.dtable-sort:before{border-color:var(--color-transparent);border-style:solid;border-width:var(--dtable-sorter-size);content:" ";height:0;left:0;opacity:.4;position:absolute;width:0}.dtable-sort:before{border-bottom-color:var(--color-current);border-top-width:0;top:0}.dtable-sort:after{border-bottom-width:0;border-top-color:var(--color-current);bottom:0}.dtable-sort.dtable-sort-asc:before,.dtable-sort.dtable-sort-desc:after{opacity:.9}.dtable-cells.dtable-fixed-left:before,.dtable-cells.dtable-fixed-right:before{border-color:var(--dtable-border-color);content:"";height:100%;pointer-events:none;position:absolute;width:100%;z-index:5}.dtable-cells.dtable-fixed-left:before{border-right-width:1px;right:-1px}.dtable-cells.dtable-fixed-right:before{border-left-width:1px;left:0}.dtable-bordered:before{border-color:var(--dtable-border-color);border-radius:inherit;border-width:1px;content:"";display:block;inset:0;pointer-events:none;position:absolute;z-index:15}.dtable-bordered .dtable-cell:before{border-width:1px}.dtable-cell.has-border-left:before{border-left-width:1px}.dtable-cell.has-border-right:before{border-right-width:1px}.dtable-striped .dtable-cell.is-odd-row{background-color:var(--dtable-striped-bg)}.dtable-hover-cell .dtable-cell:hover:after,.dtable-hover-col .dtable-cell.is-hover-col:before,.dtable-hover-row .dtable-body .dtable-cell.is-hover-row:before{background-color:var(--dtable-hover-bg)}:root{--dtable-checked-bg:var(--color-warning-50);--dtable-checked-bg-hover:var(--color-warning-100);--dtable-checked-border:var(--color-border-strong)}.dtable-cell.is-checked,.dtable-striped .dtable-cell.is-odd-row.is-checked{background-color:var(--dtable-checked-bg)}.checkbox-primary.dtable-checkbox{margin-right:-.375rem}.dtable-hover-col .dtable-cell.is-hover-col.is-checked,.dtable-hover-row .dtable-cell.is-hover-row.is-checked{background-color:var(--dtable-checked-bg-hover)}.dtable-cell.is-checked{--dtable-border-color:var(--dtable-checked-border)}:root{--dtable-nt-size:calc(var(--font-size-root)*3/4 + 1px)}.dtable-nested-indent{flex:none;margin-right:-.25rem;order:-10}.dtable-nested-toggle{align-items:center;border-radius:var(--radius-sm);display:flex;flex:none;height:1.25rem;justify-content:center;margin-left:-.25rem;order:-1;width:1.25rem}.dtable-nested-toggle.is-no-child{margin-right:-.25rem;opacity:0;pointer-events:none}.tab-pane{display:none}.tab-pane.active{display:block}.dtable{--dtable-header-bg:var(--color-slate-50);--dtable-footer-bg:var(--color-slate-50);--dtable-border-color:var(--color-slate-100);--dtable-checked-border:var(--color-slate-300)}.dtable-header .dtable-cell{font-weight:400}.dtable-rows a:visited{--tw-text-opacity:1;color:rgba(var(--color-link-visited-rgb),var(--tw-text-opacity))}.dtable-rows a:hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.dtable .btn-avatar{--tw-bg-opacity:1;--tw-ring-color:var(--color-transparent);background-color:rgb(241 245 249/var(--tw-bg-opacity));border-radius:var(--radius-full);gap:.25rem;height:1.25rem;padding-left:0;padding-right:.5rem}.dtable .btn-avatar:hover{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dtable .toggle-icon{border-radius:var(--radius-full)}.dtable .toggle-icon:after,.dtable .toggle-icon:before{--tw-bg-opacity:1;background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity))}.dtable-footer>.toolbar{margin-right:.5rem}.dtable-header .dtable-cell[data-sort]>.dtable-cell-content>a:not(:hover){color:var(--color-inherit)}.dtable-assign-btn{align-items:center;border-radius:var(--radius-full);display:flex;flex-direction:row;height:1.25rem;padding-left:.375rem;padding-right:.375rem}.dtable-assign-btn:not(:hover){color:var(--color-inherit)}.dtable-assign-btn.is-me{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.dtable-assign-btn:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.dtable-assign-btn>span{border-radius:var(--radius-full);line-height:20px;padding-left:.375rem;padding-right:.375rem}.dtable-assign-btn.is-unassigned>span{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity));color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}.dtable-assign-btn.is-unassigned:hover>span{background-color:var(--color-inherit)}.dtable-assign-btn>.icon{opacity:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtable-assign-btn:hover>.icon{opacity:1}.dtable-header .dtable-cell[data-type=assign]{padding-left:1.5rem}.dtable-custom-cell[data-type=control]{align-items:center;display:flex;justify-content:center;padding-left:.125rem;padding-right:.125rem;z-index:1}.arrow,.arrow:before{background:inherit;height:calc(var(--arrow-size)*1.4142);position:absolute;width:calc(var(--arrow-size)*1.4142)}.arrow{--arrow-size:5px;visibility:hidden}.arrow:before{--tw-rotate:45deg;border:inherit;content:"";transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));visibility:visible}.arrow-top,.arrow-up{border-bottom:inherit;border-right:inherit;border-width:1px 0 0 1px;top:calc(1px - var(--arrow-size))}.white>.arrow-top,.white>.arrow-up{top:calc(0px - var(--arrow-size))}.arrow-bottom,.arrow-down{border-left:inherit;border-top:inherit;border-width:0 1px 1px 0;bottom:calc(1px - var(--arrow-size))}.white>.arrow-bottom,.white>.arrow-down{bottom:calc(0px - var(--arrow-size))}.arrow-left{border-right:inherit;border-top:inherit;border-width:0 0 1px 1px;left:calc(1px - var(--arrow-size))}.white>.arrow-left{left:calc(0px - var(--arrow-size))}.arrow-right{border-bottom:inherit;border-left:inherit;border-width:1px 1px 0 0;right:calc(1px - var(--arrow-size))}.white>.arrow-right{right:calc(0px - var(--arrow-size))}.caret,.caret-down,.caret-left,.caret-right,.caret-up{border:var(--caret-size,4px) solid transparent;display:inline-block;height:0;opacity:var(--caret-opacity,.5);width:0}:focus>.caret,:hover>.caret{opacity:inherit}.caret,.caret-down{border-bottom-width:0;border-top-color:currentColor}.caret-up{border-bottom-color:currentColor;border-top-width:0}.caret-right{border-left-color:currentColor;border-right-width:0}.caret-left{border-left-width:0;border-right-color:currentColor}:root{--toggle-icon-size:calc(var(--font-size-root)*3/4 + 1px)}.toggle-icon,.toggle-icon-collapse,.toggle-icon-expand{border-color:var(--color-current);border-width:1px;display:block;opacity:.5;position:relative}.toggle-icon-collapse:hover,.toggle-icon-expand:hover,.toggle-icon:hover{opacity:.9}.toggle-icon,.toggle-icon-collapse,.toggle-icon-expand{border-radius:inherit;height:var(--toggle-icon-size);width:var(--toggle-icon-size)}.is-collapsed .toggle-icon:after,.is-collapsed .toggle-icon:before,.is-expanded .toggle-icon:before,.toggle-icon-collapse:after,.toggle-icon-collapse:before,.toggle-icon-expand:before{background-color:var(--color-current);content:" ";display:block;height:1px;left:2px;position:absolute;right:2px;top:calc((var(--toggle-icon-size) - 3px)/2)}.is-collapsed .toggle-icon:after,.toggle-icon-collapse:after{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.close{aspect-ratio:1/1;display:block;position:relative;width:1em}.close:after,.close:before{--tw-rotate:45deg;background-color:var(--color-current);border-radius:var(--radius-full);content:"";display:block;height:1px;left:0;position:absolute;top:calc(50% - .5px);width:100%}.close:after,.close:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.close:after{--tw-rotate:-45deg}.spinner,.spinner:after,.spinner:before{display:block;height:1em;position:relative;width:1em}.spinner:after,.spinner:before{border-radius:var(--radius-full);content:" ";position:absolute}.spinner:before{animation:-spin 1s cubic-bezier(.6,0,.4,1) infinite;border:.16667em solid transparent;border-top-color:currentcolor}.spinner:after{border:.16667em solid;opacity:.2}.magnifier{display:inline-block;height:1em;position:relative;width:1em}.magnifier:after,.magnifier:before{border-radius:var(--radius-full);content:"";display:block;position:absolute}.magnifier:before{border:1px solid;height:.75em;width:.75em}.magnifier:after{--tw-rotate:45deg;background-color:var(--color-current);height:1px;left:.55em;top:.7em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:.5em}.more,.more-vert{margin:.5rem;position:relative}.more,.more-vert,.more-vert:after,.more-vert:before,.more:after,.more:before{background-color:var(--color-current);border-radius:var(--radius-full);height:.125rem;width:.125rem}.more-vert:after,.more-vert:before,.more:after,.more:before{--tw-content:"";content:var(--tw-content);display:block;left:-5px;position:absolute;top:0}.more-vert:after,.more:after{left:5px}.more-vert{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chevron-down,.chevron-left,.chevron-right,.chevron-up{align-items:center;display:inline-flex;height:1em;justify-content:center;position:relative;width:1em}.chevron-down:before,.chevron-left:before,.chevron-right:before,.chevron-up:before{--tw-translate-y:-.125rem;--tw-rotate:45deg;--tw-content:"";border-color:var(--color-current);border-width:0 1px 1px 0;content:var(--tw-content);display:block;height:.6923077em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:center;width:.6923077em}.chevron-left:before{--tw-translate-y:0px;--tw-translate-x:.125rem;--tw-rotate:135deg}.chevron-left:before,.chevron-right:before{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chevron-right:before{--tw-translate-y:0px;--tw-translate-x:-.125rem;--tw-rotate:-45deg}.chevron-up:before{--tw-translate-y:.125rem;--tw-rotate:225deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.i-time{border-color:var(--color-current);border-radius:50%;border-width:.08em;display:inline-block;height:1em;position:relative;width:1em}.i-time:after{--tw-content:"";border-color:var(--color-current);border-width:0 0 .08em .08em;content:var(--tw-content);height:.385em;left:.3846em;position:absolute;top:.08em;width:.385em}.i-calendar{border-color:var(--color-current);border-radius:var(--radius);border-width:.08em;display:inline-block;height:.79em;margin-top:.16em;position:relative;width:1em}.i-calendar:after,.i-calendar:before{--tw-content:"";border-color:var(--color-current);border-width:.08em;content:var(--tw-content);position:absolute}.i-calendar:before{border-bottom-width:0;left:.15em;top:.307em;width:.6em}.i-calendar:after{border-bottom-width:0;border-top-width:0;height:.3077em;left:.17em;top:-.154em;width:.538em}:root{--state-color:rgba(0,0,0,.05);--state-scale:.9;--state-active-color:rgba(0,0,0,.1);--state-focus-color:rgba(0,0,0,.125);--state-disabled-opacity:.65;--state-muted-opacity:.5}.btn,.nav-item>a,.state{cursor:pointer;position:relative}.btn:before,.nav-item>a:before,.state:before{background:var(--state-color);border-radius:inherit;content:" ";display:block;inset:0;opacity:0;pointer-events:none;position:absolute;transform:scale(var(--state-scale));transition-duration:.2s;transition-property:opacity,transform,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.btn:active:before,.btn:focus-visible:before,.btn:hover:before,.nav-item>a:active:before,.nav-item>a:focus-visible:before,.nav-item>a:hover:before,.state:active:before,.state:focus-visible:before,.state:hover:before{--tw-scale-x:1;--tw-scale-y:1;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn:focus-visible,.nav-item>a:focus-visible,.state:focus-visible{outline:2px solid transparent;outline-offset:2px}.btn:focus-visible:before,.nav-item>a:focus-visible:before,.state:focus-visible:before{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-focus-rgb),var(--tw-ring-opacity));background:var(--state-focus-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.btn:active:before,.nav-item>a:active:before,.state:active:before{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:var(--color-current);background:var(--state-active-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);transition-duration:.7s}.btn.disabled:before,.btn[disabled]:before,.nav-item>a.disabled:before,.nav-item>a[disabled]:before,.state.disabled:before,.state[disabled]:before{display:none}.disabled,.disabled *,[disabled],[disabled] *{--tw-grayscale:grayscale(100%);cursor:not-allowed!important;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);opacity:var(--state-disabled-opacity)}.muted{opacity:var(--state-muted-opacity)}.load-indicator:after,.load-indicator:before{display:block;opacity:0;position:absolute;transition-delay:0s;transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden}.load-indicator:before{--tw-content:attr(data-loading);align-items:center;background-color:rgba(var(--color-canvas-rgb),.7);border-radius:inherit;content:var(--tw-content);display:flex;font-size:.75rem;inset:0;justify-content:center;line-height:1rem;z-index:99}.load-indicator[data-loading]:before{padding-top:3.5rem}.load-indicator:after{--tw-content:"";border-color:var(--color-current);border-radius:var(--radius-full);border-style:dotted;border-top-color:var(--color-transparent);border-width:4px 3px 4px 4px;content:var(--tw-content);height:2rem;left:50%;margin-left:-1rem;margin-top:-1rem;top:50%;width:2rem;z-index:100}.load-indicator.loading:after,.load-indicator.loading:before{opacity:1;transition-delay:.5s;visibility:visible}.load-indicator.loading:after{animation:-spin 1s linear infinite;opacity:.5}.events-none{pointer-events:none}.events-auto{pointer-events:auto}.scroll-auto{scroll-behavior:auto}.scroll-smooth{scroll-behavior:smooth}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.active\:opacity-100.active,.active\:opacity-100:active,.group.active .group-active\:opacity-100,.group:active .group-active\:opacity-100,.group:hover .group-hover\:opacity-100,.hover\:opacity-100:hover{opacity:1}.active\:text-primary.active,.active\:text-primary:active,.group.active .group-active\:text-primary,.group:active .group-active\:text-primary,.group:hover .group-hover\:text-primary,.hover\:text-primary:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.active\:primary.active,.active\:primary:active,.group.active .group-active\:primary,.group:active .group-active\:primary,.group:hover .group-hover\:primary,.hover\:primary:hover{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.active\:canvas.active,.active\:canvas:active,.group.active .group-active\:canvas,.group:active .group-active\:canvas,.group:hover .group-hover\:canvas,.hover\:canvas:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.active\:font-bold.active,.active\:font-bold:active,.group.active .group-active\:font-bold,.group:active .group-active\:font-bold,.group:hover .group-hover\:font-bold,.hover\:font-bold:hover{font-weight:700}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.container{width:100%}@media (min-width:1720px){.container{max-width:1720px}}.container{margin-left:auto;margin-right:auto}.popup{--tw-bg-opacity:.85;--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.05;--tw-backdrop-blur:blur(16px);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.popup,.popup .popup{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.popup .popup{--tw-bg-opacity:1;--tw-backdrop-blur:blur(0)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.list-item{display:list-item}.hidden{display:none!important}.pull-right{float:right}.pull-left{float:left}.clearfix:after{clear:both;content:"";display:block}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-clip{overflow-y:clip}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overflow-overlay{overflow:overlay}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-auto{inset:auto}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-full{top:100%}.right-full{right:100%}.bottom-full{bottom:100%}.left-full{left:100%}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.top-px{top:1px}.right-px{right:1px}.bottom-px{bottom:1px}.left-px{left:1px}.top-0\.5{top:.125rem}.right-0\.5{right:.125rem}.bottom-0\.5{bottom:.125rem}.left-0\.5{left:.125rem}.top-1{top:.25rem}.right-1{right:.25rem}.bottom-1{bottom:.25rem}.left-1{left:.25rem}.top-1\.5{top:.375rem}.right-1\.5{right:.375rem}.bottom-1\.5{bottom:.375rem}.left-1\.5{left:.375rem}.top-2{top:.5rem}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.left-2{left:.5rem}.top-2\.5{top:.625rem}.right-2\.5{right:.625rem}.bottom-2\.5{bottom:.625rem}.left-2\.5{left:.625rem}.top-3{top:.75rem}.right-3{right:.75rem}.bottom-3{bottom:.75rem}.left-3{left:.75rem}.top-3\.5{top:.875rem}.right-3\.5{right:.875rem}.bottom-3\.5{bottom:.875rem}.left-3\.5{left:.875rem}.top-4{top:1rem}.right-4{right:1rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.top-5{top:1.25rem}.right-5{right:1.25rem}.bottom-5{bottom:1.25rem}.left-5{left:1.25rem}.top-6{top:1.5rem}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.top-7{top:1.75rem}.right-7{right:1.75rem}.bottom-7{bottom:1.75rem}.left-7{left:1.75rem}.top-8{top:2rem}.right-8{right:2rem}.bottom-8{bottom:2rem}.left-8{left:2rem}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.basis-0{flex-basis:0px}.basis-1{flex-basis:.25rem}.basis-2{flex-basis:.5rem}.basis-3{flex-basis:.75rem}.basis-4{flex-basis:1rem}.basis-5{flex-basis:1.25rem}.basis-6{flex-basis:1.5rem}.basis-7{flex-basis:1.75rem}.basis-8{flex-basis:2rem}.basis-9{flex-basis:2.25rem}.basis-10{flex-basis:2.5rem}.basis-11{flex-basis:2.75rem}.basis-12{flex-basis:3rem}.basis-14{flex-basis:3.5rem}.basis-16{flex-basis:4rem}.basis-20{flex-basis:5rem}.basis-24{flex-basis:6rem}.basis-28{flex-basis:7rem}.basis-32{flex-basis:8rem}.basis-36{flex-basis:9rem}.basis-40{flex-basis:10rem}.basis-44{flex-basis:11rem}.basis-48{flex-basis:12rem}.basis-52{flex-basis:13rem}.basis-56{flex-basis:14rem}.basis-60{flex-basis:15rem}.basis-64{flex-basis:16rem}.basis-72{flex-basis:18rem}.basis-80{flex-basis:20rem}.basis-96{flex-basis:24rem}.basis-auto{flex-basis:auto}.basis-px{flex-basis:1px}.basis-0\.5{flex-basis:.125rem}.basis-1\.5{flex-basis:.375rem}.basis-2\.5{flex-basis:.625rem}.basis-3\.5{flex-basis:.875rem}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.333333%}.basis-2\/3{flex-basis:66.666667%}.basis-1\/4{flex-basis:25%}.basis-2\/4{flex-basis:50%}.basis-3\/4{flex-basis:75%}.basis-1\/5{flex-basis:20%}.basis-2\/5{flex-basis:40%}.basis-3\/5{flex-basis:60%}.basis-4\/5{flex-basis:80%}.basis-1\/6{flex-basis:16.666667%}.basis-2\/6{flex-basis:33.333333%}.basis-3\/6{flex-basis:50%}.basis-4\/6{flex-basis:66.666667%}.basis-5\/6{flex-basis:83.333333%}.basis-1\/12{flex-basis:8.333333%}.basis-2\/12{flex-basis:16.666667%}.basis-3\/12{flex-basis:25%}.basis-4\/12{flex-basis:33.333333%}.basis-5\/12{flex-basis:41.666667%}.basis-6\/12{flex-basis:50%}.basis-7\/12{flex-basis:58.333333%}.basis-8\/12{flex-basis:66.666667%}.basis-9\/12{flex-basis:75%}.basis-10\/12{flex-basis:83.333333%}.basis-11\/12{flex-basis:91.666667%}.basis-full{flex-basis:100%}.row{display:flex;flex-direction:row}.center,.col{display:flex;flex-direction:column}.center,.center-row{align-items:center;justify-content:center}.center-row{display:flex;flex-direction:row}.center-x,.center-y{align-items:center;display:flex}.center-y{flex-direction:column}.row-reverse{display:flex;flex-direction:row-reverse}.col-reverse{display:flex;flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1!important}.grow-0{flex-grow:0!important}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.gap-0{gap:0}.gap-x-0{-moz-column-gap:0;column-gap:0}.gap-y-0{row-gap:0}.gap-px{gap:1px}.gap-x-px{-moz-column-gap:1px;column-gap:1px}.gap-y-px{row-gap:1px}.gap-0\.5{gap:.125rem}.gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.gap-y-0\.5{row-gap:.125rem}.gap-3px{gap:3px}.gap-1{gap:.25rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-y-1{row-gap:.25rem}.gap-1\.5{gap:.375rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-y-1\.5{row-gap:.375rem}.gap-2{gap:.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-2{row-gap:.5rem}.gap-2\.5{gap:.625rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-y-2\.5{row-gap:.625rem}.gap-3{gap:.75rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-3{row-gap:.75rem}.gap-3\.5{gap:.875rem}.gap-x-3\.5{-moz-column-gap:.875rem;column-gap:.875rem}.gap-y-3\.5{row-gap:.875rem}.gap-4{gap:1rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.gap-5{gap:1.25rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-5{row-gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-6{row-gap:1.5rem}.gap-7{gap:1.75rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-7{row-gap:1.75rem}.gap-8{gap:2rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-bottom:0}.mt-0,.my-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-bottom:auto}.mt-auto,.my-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.m-px{margin:1px}.mx-px{margin-left:1px;margin-right:1px}.my-px{margin-bottom:1px}.mt-px,.my-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.m-0\.5{margin:.125rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-0\.5{margin-bottom:.125rem}.mt-0\.5,.my-0\.5{margin-top:.125rem}.mr-0\.5{margin-right:.125rem}.mb-0\.5{margin-bottom:.125rem}.ml-0\.5{margin-left:.125rem}.m-1{margin:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-bottom:.25rem}.mt-1,.my-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.m-1\.5{margin:.375rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.my-1\.5{margin-bottom:.375rem}.mt-1\.5,.my-1\.5{margin-top:.375rem}.mr-1\.5{margin-right:.375rem}.mb-1\.5{margin-bottom:.375rem}.ml-1\.5{margin-left:.375rem}.m-2{margin:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-bottom:.5rem}.mt-2,.my-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.m-2\.5{margin:.625rem}.mx-2\.5{margin-left:.625rem;margin-right:.625rem}.my-2\.5{margin-bottom:.625rem}.mt-2\.5,.my-2\.5{margin-top:.625rem}.mr-2\.5{margin-right:.625rem}.mb-2\.5{margin-bottom:.625rem}.ml-2\.5{margin-left:.625rem}.m-3{margin:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-bottom:.75rem}.mt-3,.my-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.m-3\.5{margin:.875rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.my-3\.5{margin-bottom:.875rem}.mt-3\.5,.my-3\.5{margin-top:.875rem}.mr-3\.5{margin-right:.875rem}.mb-3\.5{margin-bottom:.875rem}.ml-3\.5{margin-left:.875rem}.m-4{margin:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-bottom:1rem}.mt-4,.my-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.m-5{margin:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-5{margin-bottom:1.25rem}.mt-5,.my-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.m-6{margin:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-bottom:1.5rem}.mt-6,.my-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.m-7{margin:1.75rem}.mx-7{margin-left:1.75rem;margin-right:1.75rem}.my-7{margin-bottom:1.75rem}.mt-7,.my-7{margin-top:1.75rem}.mr-7{margin-right:1.75rem}.mb-7{margin-bottom:1.75rem}.ml-7{margin-left:1.75rem}.m-8{margin:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-8{margin-bottom:2rem}.mt-8,.my-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.m-9{margin:2.25rem}.mx-9{margin-left:2.25rem;margin-right:2.25rem}.my-9{margin-bottom:2.25rem}.mt-9,.my-9{margin-top:2.25rem}.mr-9{margin-right:2.25rem}.mb-9{margin-bottom:2.25rem}.ml-9{margin-left:2.25rem}.m-10{margin:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-10{margin-bottom:2.5rem}.mt-10,.my-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-bottom:0}.pt-0,.py-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.p-px{padding:1px}.px-px{padding-left:1px;padding-right:1px}.py-px{padding-bottom:1px}.pt-px,.py-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.p-0\.5{padding:.125rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.py-0\.5{padding-bottom:.125rem}.pt-0\.5,.py-0\.5{padding-top:.125rem}.pr-0\.5{padding-right:.125rem}.pb-0\.5{padding-bottom:.125rem}.pl-0\.5{padding-left:.125rem}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-bottom:.25rem}.pt-1,.py-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.p-1\.5{padding:.375rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-1\.5{padding-bottom:.375rem}.pt-1\.5,.py-1\.5{padding-top:.375rem}.pr-1\.5{padding-right:.375rem}.pb-1\.5{padding-bottom:.375rem}.pl-1\.5{padding-left:.375rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-bottom:.5rem}.pt-2,.py-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.p-2\.5{padding:.625rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-2\.5{padding-bottom:.625rem}.pt-2\.5,.py-2\.5{padding-top:.625rem}.pr-2\.5{padding-right:.625rem}.pb-2\.5{padding-bottom:.625rem}.pl-2\.5{padding-left:.625rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-bottom:.75rem}.pt-3,.py-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.p-3\.5{padding:.875rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-3\.5{padding-bottom:.875rem}.pt-3\.5,.py-3\.5{padding-top:.875rem}.pr-3\.5{padding-right:.875rem}.pb-3\.5{padding-bottom:.875rem}.pl-3\.5{padding-left:.875rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-bottom:1rem}.pt-4,.py-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.p-5{padding:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-bottom:1.25rem}.pt-5,.py-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-bottom:1.5rem}.pt-6,.py-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.p-7{padding:1.75rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-7{padding-bottom:1.75rem}.pt-7,.py-7{padding-top:1.75rem}.pr-7{padding-right:1.75rem}.pb-7{padding-bottom:1.75rem}.pl-7{padding-left:1.75rem}.p-8{padding:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-8{padding-bottom:2rem}.pt-8,.py-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.p-9{padding:2.25rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-9{padding-bottom:2.25rem}.pt-9,.py-9{padding-top:2.25rem}.pr-9{padding-right:2.25rem}.pb-9{padding-bottom:2.25rem}.pl-9{padding-left:2.25rem}.p-10{padding:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-10{padding-bottom:2.5rem}.pt-10,.py-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.125rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.125rem*var(--tw-space-x-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.375rem*var(--tw-space-x-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.625rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.625rem*var(--tw-space-x-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-3\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.875rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.875rem*var(--tw-space-x-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.875rem*var(--tw-space-y-reverse));margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.25rem*var(--tw-space-x-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.75rem*var(--tw-space-x-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.75rem*var(--tw-space-y-reverse));margin-top:calc(1.75rem*(1 - var(--tw-space-y-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.w-0{width:0}.w-px{width:1px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:-moz-min-content;width:min-content}.w-max{width:-moz-max-content;width:max-content}.w-fit{width:-moz-fit-content;width:fit-content}.max-w-full{max-width:100%}.min-w-0{min-width:0}.h-0{height:0}.h-px{height:1px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-32{height:8rem}.h-36{height:9rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}.h-64{height:16rem}.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}.h-auto{height:auto}.h-1\/2{height:50%}.h-1\/3{height:33.333333%}.h-2\/3{height:66.666667%}.h-1\/4{height:25%}.h-2\/4{height:50%}.h-3\/4{height:75%}.h-1\/5{height:20%}.h-2\/5{height:40%}.h-3\/5{height:60%}.h-4\/5{height:80%}.h-1\/6{height:16.666667%}.h-2\/6{height:33.333333%}.h-3\/6{height:50%}.h-4\/6{height:66.666667%}.h-5\/6{height:83.333333%}.h-full{height:100%}.h-screen{height:100vh}.h-min{height:-moz-min-content;height:min-content}.h-max{height:-moz-max-content;height:max-content}.h-fit{height:-moz-fit-content;height:fit-content}.max-h-full{max-height:100%}.min-h-0{min-height:0}.primary-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.primary-outline,.secondary-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.secondary-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.success-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.success-outline,.warning-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.warning-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.danger-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.danger-outline,.important-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.important-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.special-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.lighter-outline,.special-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lighter-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-100-rgb),var(--tw-text-opacity))}.light-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-300-rgb),var(--tw-text-opacity))}.gray-outline,.light-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.gray-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-500-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.darken-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-700-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.darken-outline,.darker-outline{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.darker-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-900-rgb),var(--tw-ring-opacity));color:rgba(var(--color-gray-900-rgb),var(--tw-text-opacity))}.black-outline{--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--color-black-rgb),var(--tw-text-opacity))}.primary-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.secondary-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-secondary-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.success-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-success-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.warning-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-warning-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.danger-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-danger-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.important-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-important-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.special-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-special-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.lighter-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity));color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.light-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-200-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-200-rgb),var(--tw-bg-opacity));color:rgba(var(--color-gray-600-rgb),var(--tw-text-opacity))}.gray-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.darken-pale,.gray-pale{color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.darken-pale{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-400-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-400-rgb),var(--tw-bg-opacity))}.primary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.primary,.primary:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.primary:hover{--tw-text-opacity:1}.secondary{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.secondary,.secondary:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.secondary:hover{--tw-text-opacity:1}.success{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-success-500-rgb),var(--tw-bg-opacity))}.success,.success:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.success:hover{--tw-text-opacity:1}.warning{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-warning-500-rgb),var(--tw-bg-opacity))}.warning,.warning:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.warning:hover{--tw-text-opacity:1}.danger{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-danger-500-rgb),var(--tw-bg-opacity))}.danger,.danger:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.danger:hover{--tw-text-opacity:1}.important{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-important-500-rgb),var(--tw-bg-opacity))}.important,.important:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.important:hover{--tw-text-opacity:1}.special{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-special-500-rgb),var(--tw-bg-opacity))}.special,.special:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.special:hover{--tw-text-opacity:1}.white{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-white-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-white-rgb),var(--tw-bg-opacity))}.lighter{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-100-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-100-rgb),var(--tw-bg-opacity))}.light{--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-300-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.gray{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-500-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-500-rgb),var(--tw-bg-opacity))}.gray,.gray:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.gray:hover{--tw-text-opacity:1}.darken{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-700-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-700-rgb),var(--tw-bg-opacity))}.darken,.darken:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.darken:hover{--tw-text-opacity:1}.darker{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-gray-900-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-gray-900-rgb),var(--tw-bg-opacity))}.darker,.darker:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.darker:hover{--tw-text-opacity:1}.black{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-black-rgb),var(--tw-bg-opacity))}.black,.black:hover{color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.black:hover{--tw-text-opacity:1}.surface{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-surface-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.canvas,.surface{color:rgba(var(--color-fore-rgb),var(--tw-text-opacity))}.canvas{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-canvas-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.inverse{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-fore-rgb),var(--tw-ring-opacity));background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity));color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.ghost{--tw-ring-color:var(--color-transparent);background-color:var(--color-transparent)}.font-sans{font-family:-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif}.font-serif{font-family:Nimbus Roman No9 L,Songti SC,Noto Serif CJK SC,Source Han Serif SC,Source Han Serif CN,STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-root{font-size:16px}.text-sm{font-size:.75rem;line-height:1rem}.text-base{font-size:.8125rem;line-height:1.25rem}.text-md{font-size:.875rem;line-height:1.3rem}.text-lg{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-thin{font-weight:100}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.line-2{-webkit-line-clamp:2}.line-2,.line-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-3{-webkit-line-clamp:3}.line-4{-webkit-line-clamp:4}.line-4,.line-5{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-5{-webkit-line-clamp:5}.line-6{-webkit-box-orient:vertical;-webkit-line-clamp:6;display:-webkit-box;overflow:hidden}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.align-sub{vertical-align:sub}.align-super{vertical-align:super}.text-primary{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.text-secondary{--tw-text-opacity:1;color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.text-success{--tw-text-opacity:1;color:rgba(var(--color-success-500-rgb),var(--tw-text-opacity))}.text-warning{--tw-text-opacity:1;color:rgba(var(--color-warning-500-rgb),var(--tw-text-opacity))}.text-danger{--tw-text-opacity:1;color:rgba(var(--color-danger-500-rgb),var(--tw-text-opacity))}.text-important{--tw-text-opacity:1;color:rgba(var(--color-important-500-rgb),var(--tw-text-opacity))}.text-special{--tw-text-opacity:1;color:rgba(var(--color-special-500-rgb),var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(var(--color-white-rgb),var(--tw-text-opacity))}.text-lighter{--tw-text-opacity:1;color:rgba(var(--color-gray-300-rgb),var(--tw-text-opacity))}.text-light{--tw-text-opacity:1;color:rgba(var(--color-gray-400-rgb),var(--tw-text-opacity))}.text-gray{--tw-text-opacity:1;color:rgba(var(--color-gray-500-rgb),var(--tw-text-opacity))}.text-dark{--tw-text-opacity:1;color:rgba(var(--color-gray-600-rgb),var(--tw-text-opacity))}.text-darken{--tw-text-opacity:1;color:rgba(var(--color-gray-700-rgb),var(--tw-text-opacity))}.text-darker{--tw-text-opacity:1;color:rgba(var(--color-gray-900-rgb),var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgba(var(--color-black-rgb),var(--tw-text-opacity))}.text-canvas{--tw-text-opacity:1;color:rgba(var(--color-canvas-rgb),var(--tw-text-opacity))}.text-surface{--tw-text-opacity:1;color:rgba(var(--color-surface-rgb),var(--tw-text-opacity))}.text-inverse{--tw-text-opacity:1;color:rgba(var(--color-inverse-rgb),var(--tw-text-opacity))}.text-fore{--tw-text-opacity:1;color:rgba(var(--color-fore-rgb),var(--tw-text-opacity))}.text-focus{--tw-text-opacity:1;color:rgba(var(--color-focus-rgb),var(--tw-text-opacity))}.text-link{--tw-text-opacity:1;color:rgba(var(--color-link-rgb),var(--tw-text-opacity))}.text-link-hover{--tw-text-opacity:1;color:rgba(var(--color-link-hover-rgb),var(--tw-text-opacity))}.text-transparent{color:transparent}.text-current{color:currentColor}.text-inherit{color:inherit}.clip,.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip{text-overflow:clip}.nowrap{white-space:nowrap}.pre{white-space:pre}.pre-line{white-space:pre-line}.pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-opacity-0{--tw-text-opacity:0}.text-opacity-10{--tw-text-opacity:.1}.text-opacity-20{--tw-text-opacity:.2}.text-opacity-30{--tw-text-opacity:.3}.text-opacity-40{--tw-text-opacity:.4}.text-opacity-50{--tw-text-opacity:.5}.text-opacity-60{--tw-text-opacity:.6}.text-opacity-70{--tw-text-opacity:.7}.text-opacity-80{--tw-text-opacity:.8}.text-opacity-90{--tw-text-opacity:.9}.text-opacity-100{--tw-text-opacity:1}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.bg-primary{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:rgba(var(--color-success-500-rgb),var(--tw-bg-opacity))}.bg-warning{--tw-bg-opacity:1;background-color:rgba(var(--color-warning-500-rgb),var(--tw-bg-opacity))}.bg-danger{--tw-bg-opacity:1;background-color:rgba(var(--color-danger-500-rgb),var(--tw-bg-opacity))}.bg-important{--tw-bg-opacity:1;background-color:rgba(var(--color-important-500-rgb),var(--tw-bg-opacity))}.bg-special{--tw-bg-opacity:1;background-color:rgba(var(--color-special-500-rgb),var(--tw-bg-opacity))}.bg-primary-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity))}.bg-secondary-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-100-rgb),var(--tw-bg-opacity))}.bg-success-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-success-100-rgb),var(--tw-bg-opacity))}.bg-warning-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-warning-100-rgb),var(--tw-bg-opacity))}.bg-danger-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-danger-100-rgb),var(--tw-bg-opacity))}.bg-important-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-important-100-rgb),var(--tw-bg-opacity))}.bg-special-pale{--tw-bg-opacity:1;background-color:rgba(var(--color-special-100-rgb),var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(var(--color-white-rgb),var(--tw-bg-opacity))}.bg-lighter{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-300-rgb),var(--tw-bg-opacity))}.bg-light{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-400-rgb),var(--tw-bg-opacity))}.bg-gray{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-500-rgb),var(--tw-bg-opacity))}.bg-dark{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-600-rgb),var(--tw-bg-opacity))}.bg-darken{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-700-rgb),var(--tw-bg-opacity))}.bg-darker{--tw-bg-opacity:1;background-color:rgba(var(--color-gray-900-rgb),var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(var(--color-black-rgb),var(--tw-bg-opacity))}.bg-canvas{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity))}.bg-surface{--tw-bg-opacity:1;background-color:rgba(var(--color-surface-rgb),var(--tw-bg-opacity))}.bg-inverse{--tw-bg-opacity:1;background-color:rgba(var(--color-fore-rgb),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-inherit{background-color:inherit}.bg-none{background:none}.bg-current{background:currentColor}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-10{--tw-bg-opacity:.1}.bg-opacity-20{--tw-bg-opacity:.2}.bg-opacity-30{--tw-bg-opacity:.3}.bg-opacity-40{--tw-bg-opacity:.4}.bg-opacity-50{--tw-bg-opacity:.5}.bg-opacity-60{--tw-bg-opacity:.6}.bg-opacity-70{--tw-bg-opacity:.7}.bg-opacity-80{--tw-bg-opacity:.8}.bg-opacity-90{--tw-bg-opacity:.9}.bg-opacity-100{--tw-bg-opacity:1}.border{border-width:1px}.border-t{border-top-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-2{border-width:2px}.border-t-2{border-top-width:2px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-4{border-width:4px}.border-t-4{border-top-width:4px}.border-l-4{border-left-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-0{border-width:0}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-primary{--tw-border-opacity:1;border-color:rgba(var(--color-primary-500-rgb),var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:rgba(var(--color-secondary-500-rgb),var(--tw-border-opacity))}.border-success{--tw-border-opacity:1;border-color:rgba(var(--color-success-500-rgb),var(--tw-border-opacity))}.border-warning{--tw-border-opacity:1;border-color:rgba(var(--color-warning-500-rgb),var(--tw-border-opacity))}.border-danger{--tw-border-opacity:1;border-color:rgba(var(--color-danger-500-rgb),var(--tw-border-opacity))}.border-important{--tw-border-opacity:1;border-color:rgba(var(--color-important-500-rgb),var(--tw-border-opacity))}.border-special{--tw-border-opacity:1;border-color:rgba(var(--color-special-500-rgb),var(--tw-border-opacity))}.border-strong{--tw-border-opacity:1;border-color:rgba(var(--color-border-strong-rgb),var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgba(var(--color-white-rgb),var(--tw-border-opacity))}.border-lighter{--tw-border-opacity:1;border-color:rgba(var(--color-gray-100-rgb),var(--tw-border-opacity))}.border-light{--tw-border-opacity:1;border-color:rgba(var(--color-gray-300-rgb),var(--tw-border-opacity))}.border-gray{--tw-border-opacity:1;border-color:rgba(var(--color-gray-500-rgb),var(--tw-border-opacity))}.border-darken{--tw-border-opacity:1;border-color:rgba(var(--color-gray-700-rgb),var(--tw-border-opacity))}.border-darker{--tw-border-opacity:1;border-color:rgba(var(--color-gray-900-rgb),var(--tw-border-opacity))}.border-black{--tw-border-opacity:1;border-color:rgba(var(--color-black-rgb),var(--tw-border-opacity))}.border-canvas{--tw-border-opacity:1;border-color:rgba(var(--color-canvas-rgb),var(--tw-border-opacity))}.border-surface{--tw-border-opacity:1;border-color:rgba(var(--color-surface-rgb),var(--tw-border-opacity))}.border-inverse{--tw-border-opacity:1;border-color:rgba(var(--color-fore-rgb),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-inherit{border-color:inherit}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-hidden{border-style:hidden}.border-none{border-style:none}.border-opacity-0{--tw-border-opacity:0}.border-opacity-10{--tw-border-opacity:.1}.border-opacity-20{--tw-border-opacity:.2}.border-opacity-30{--tw-border-opacity:.3}.border-opacity-40{--tw-border-opacity:.4}.border-opacity-50{--tw-border-opacity:.5}.border-opacity-60{--tw-border-opacity:.6}.border-opacity-70{--tw-border-opacity:.7}.border-opacity-80{--tw-border-opacity:.8}.border-opacity-90{--tw-border-opacity:.9}.border-opacity-100{--tw-border-opacity:1}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.circle,.rounded-full{border-radius:var(--radius-full)}.rounded-l-none{border-bottom-left-radius:var(--radius-none);border-top-left-radius:var(--radius-none)}.rounded-t-none{border-top-left-radius:var(--radius-none)}.rounded-r-none,.rounded-t-none{border-top-right-radius:var(--radius-none)}.rounded-b-none,.rounded-r-none{border-bottom-right-radius:var(--radius-none)}.rounded-b-none{border-bottom-left-radius:var(--radius-none)}.rounded-br-none{border-bottom-right-radius:var(--radius-none)}.rounded-bl-none{border-bottom-left-radius:var(--radius-none)}.rounded-tr-none{border-top-right-radius:var(--radius-none)}.rounded-tl-none{border-top-left-radius:var(--radius-none)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-border-strong-rgb),var(--tw-ring-opacity))}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-3{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-3{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4,.ring-8{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-8{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-inverse{--tw-ring-opacity:1}.ring-inverse,.ring-light{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity))}.ring-light{--tw-ring-opacity:.05}.ring-dark{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.2}.ring-darker{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.3}.ring-darkest{--tw-ring-color:rgba(var(--color-inverse-rgb),var(--tw-ring-opacity));--tw-ring-opacity:.5}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-primary-500-rgb),var(--tw-ring-opacity))}.ring-secondary{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-secondary-500-rgb),var(--tw-ring-opacity))}.ring-warning{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-warning-500-rgb),var(--tw-ring-opacity))}.ring-success{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-success-500-rgb),var(--tw-ring-opacity))}.ring-danger{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-danger-500-rgb),var(--tw-ring-opacity))}.ring-important{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-important-500-rgb),var(--tw-ring-opacity))}.ring-special{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-special-500-rgb),var(--tw-ring-opacity))}.ring-inherit{--tw-ring-color:var(--color-inherit)}.ring-current{--tw-ring-color:var(--color-current)}.ring-transparent{--tw-ring-color:var(--color-transparent)}.ring-canvas{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-canvas-rgb),var(--tw-ring-opacity))}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-black-rgb),var(--tw-ring-opacity))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--color-white-rgb),var(--tw-ring-opacity))}.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:.05}.ring-opacity-10{--tw-ring-opacity:.1}.ring-opacity-20{--tw-ring-opacity:.2}.ring-opacity-30{--tw-ring-opacity:.3}.ring-opacity-40{--tw-ring-opacity:.4}.ring-opacity-50{--tw-ring-opacity:.5}.ring-opacity-60{--tw-ring-opacity:.6}.ring-opacity-70{--tw-ring-opacity:.7}.ring-opacity-80{--tw-ring-opacity:.8}.ring-opacity-90{--tw-ring-opacity:.9}.ring-opacity-100{--tw-ring-opacity:1}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-8{--tw-ring-offset-width:8px}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:var(--shadow);--tw-shadow-colored:var(--shadow)}.shadow-md{--tw-shadow:var(--shadow-md);--tw-shadow-colored:var(--shadow-md)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-xl{--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl)}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:var(--shadow-2xl);--tw-shadow-colored:var(--shadow-2xl)}.shadow-inner{--tw-shadow:var(--shadow-inner);--tw-shadow-colored:var(--shadow-inner)}.shadow-inner,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:var(--shadow-none);--tw-shadow-colored:var(--shadow-none)}.shadow-primary{--tw-shadow-color:rgb(var(--color-primary-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-secondary{--tw-shadow-color:rgb(var(--color-secondary-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-success{--tw-shadow-color:rgb(var(--color-success-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-warning{--tw-shadow-color:rgb(var(--color-warning-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-danger{--tw-shadow-color:rgb(var(--color-danger-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-important{--tw-shadow-color:rgb(var(--color-important-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-special{--tw-shadow-color:rgb(var(--color-special-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-white{--tw-shadow-color:rgb(var(--color-white-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-lighter{--tw-shadow-color:rgb(var(--color-gray-100-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-light{--tw-shadow-color:rgb(var(--color-gray-300-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-gray{--tw-shadow-color:rgb(var(--color-gray-500-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-dark{--tw-shadow-color:rgb(var(--color-gray-700-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-darker{--tw-shadow-color:rgb(var(--color-gray-900-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-black{--tw-shadow-color:rgb(var(--color-black-rgb));--tw-shadow:var(--tw-shadow-colored)}.shadow-transparent{--tw-shadow-color:var(--color-transparent);--tw-shadow:var(--tw-shadow-colored)}.shadow-current{--tw-shadow-color:var(--color-current);--tw-shadow:var(--tw-shadow-colored)}.shadow-inherit{--tw-shadow-color:var(--color-inherit);--tw-shadow:var(--tw-shadow-colored)}.opacity-0{opacity:0}.opacity-5{opacity:.05}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.opacity-100{opacity:1}.blur-none{--tw-blur:blur(0)}.blur-none,.blur-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur,.blur-md{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-lg,.blur-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.drop-shadow-none{--tw-drop-shadow:drop-shadow(0 0 #0000)}.drop-shadow-none,.drop-shadow-sm{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.drop-shadow-md{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)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}.drop-shadow-lg,.drop-shadow-xl{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)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0,0,0,.15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-none{--tw-backdrop-blur:blur(0)}.backdrop-blur-none,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-lg,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-2xl,.backdrop-blur-3xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fade,.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{opacity:0;transition-duration:.15s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{--tw-scale-x:.9;--tw-scale-y:.9}.fade-from-bottom,.fade-from-center,.fade-from-left,.fade-from-right,.fade-from-top{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-bottom{--tw-translate-y:25%}.fade-from-top{--tw-translate-y:-25%}.fade-from-left,.fade-from-top{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-left{--tw-translate-x:-25%}.fade-from-right{--tw-translate-x:25%}.fade-from-bottom.in,.fade-from-center.in,.fade-from-left.in,.fade-from-right,.fade-from-right.in,.fade-from-top.in,.fade.in{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.fade-from-bottom.in,.fade-from-center.in,.fade-from-left.in,.fade-from-right.in,.fade-from-top.in,.fade.in{--tw-translate-x:0px;--tw-translate-y:0px;--tw-scale-x:1;--tw-scale-y:1;opacity:1}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-1000{transition-duration:1s}@keyframes -spin{to{transform:rotate(1turn)}}.spin{animation:-spin 1s linear infinite}@keyframes -ping{75%,to{opacity:0;transform:scale(2)}}.ping{animation:-ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes -pulse{50%{opacity:.5}}.pulse{animation:-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes -bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.bounce{animation:-bounce 1s infinite}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-0,.scale-50{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-75,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.scale-110{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-125,.scale-150{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.flip-x{--tw-scale-x:-1}.flip-x,.flip-y{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flip-y{--tw-scale-y:-1}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-2,.rotate-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-3{--tw-rotate:3deg}.rotate-6{--tw-rotate:6deg}.rotate-12,.rotate-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate:12deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@font-face{font-family:Oswald;font-weight:400;src:url(./fonts/Oswald-Regular.ttf)}@font-face{font-family:Oswald;font-weight:500;src:url(./fonts/Oswald-Medium.ttf)}@font-face{font-family:Oswald;font-weight:300;src:url(./fonts/Oswald-Light.ttf)}.num{font-family:Oswald;font-weight:400}:root{--zt-page-bg:var(--color-gray-100);--zt-header-bg:var(--color-primary-500);--zt-header-color:var(--color-canvas);--zt-page-form-max-width:1000px;--zt-sidebar-width:160px}.size-sm{--zt-page-form-max-width:800px}.size-lg{--zt-page-form-max-width:1200px}body{background-color:var(--zt-page-bg)}.container{min-width:1200px}#header{background:var(--zt-header-bg);border-bottom:1px solid var(--zt-header-border,transparent);color:var(--zt-header-color);height:3rem}#header>.container{height:100%;position:relative}#heading{align-items:center;bottom:0;display:flex;gap:.25rem;left:1rem;position:absolute;top:0}#heading>.toolbar{margin-left:-.75rem}#navbar{align-items:center;display:flex;font-size:.875rem;height:100%;justify-content:center;line-height:1.3rem}#navbar>.nav{--nav-active-color:var(--zt-navbar-active-color,var(--color-current))}#navbar>.nav>.nav-item>a{height:3rem;padding-left:.75rem;padding-right:.75rem}#navbar>.nav>.nav-item>a:after{--tw-scale-x:.5;background-color:var(--color-current);bottom:0;content:"";height:.125rem;left:.75rem;opacity:0;position:absolute;right:.75rem;transition-duration:.15s;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}#navbar>.nav>.nav-item>.active:after,#navbar>.nav>.nav-item>a:after{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#navbar>.nav>.nav-item>.active:after{--tw-scale-x:1;opacity:1}#toolbar{align-items:center;bottom:0;display:flex;gap:.25rem;position:absolute;right:1rem;top:0}#versionMenu .menu-item>a{padding-left:1.5rem;padding-right:1.5rem}#main{min-height:100vh}#header+#main{min-height:calc(100vh - 3rem)}#main>.container{padding-left:1rem;padding-right:1rem;position:relative}@media (min-width:1400px){#main>.container{padding-left:2.5rem;padding-right:2.5rem}}#mainNavbar{--tw-bg-opacity:1;background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));height:2.75rem}#mainNavbar>.container{position:relative}#mainNavbar .nav{height:2.75rem;inset:0;justify-content:center;position:absolute}#mainNavbar .nav-item{font-size:.875rem;line-height:1.3rem}#mainNavbar .nav-item>a{border-radius:var(--radius)}#mainMenu{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding-bottom:.75rem;padding-top:.75rem}#featureBar{flex:1 1 auto}#featureBar .nav .btn>.icon{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}#actionBar{gap:.5rem}#actionBar>.nav-divider{margin-left:-.25rem;margin-right:-.25rem}#mainContent{padding-top:1rem}#mainMenu+#mainContent{padding-top:0}#mainContent.row{align-items:stretch;display:flex;gap:1rem;justify-content:space-between}#mainContent.row>*{flex:1 1 auto;min-width:0}.panel-form{max-width:var(--zt-page-form-max-width)}:root{--modal-radius:var(--radius);--avatar-bg:var(--color-gray-200)}.modal-alert .modal-footer{justify-content:center}.modal-body,.modal-header{padding:1.5rem 2rem}.modal-actions{top:1rem}.modal-header+.modal-actions+.modal-body,.modal-header+.modal-body{padding-top:0}.modal-condensed .modal-body,.modal-condensed .modal-header{padding:1rem 1.25rem}.modal-condensed .modal-actions{top:.75rem}.label[class$=-pale],.label[class*="-pale "]{--tw-bg-opacity:.4;--tw-ring-opacity:.4}.tree{--tree-indent:14px}.panel-form{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgba(var(--color-canvas-rgb),var(--tw-bg-opacity));border-radius:var(--radius-md);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:1rem;margin-left:auto;margin-right:auto;padding-bottom:1rem;padding-left:1rem;padding-right:1rem}.modal .panel-form{margin:0;padding:0}.modal .panel-body{padding:1px}.modal .history,.modal .panel-body>.form{padding:0}.bg-primary-50{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-50-rgb),var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100-rgb),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200-rgb),var(--tw-bg-opacity))}.bg-primary-300{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-300-rgb),var(--tw-bg-opacity))}.bg-primary-400{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400-rgb),var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500-rgb),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600-rgb),var(--tw-bg-opacity))}.bg-primary-700{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-700-rgb),var(--tw-bg-opacity))}.bg-primary-800{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800-rgb),var(--tw-bg-opacity))}.bg-primary-900{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900-rgb),var(--tw-bg-opacity))}.bg-secondary-50{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-50-rgb),var(--tw-bg-opacity))}.bg-secondary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-100-rgb),var(--tw-bg-opacity))}.bg-secondary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-200-rgb),var(--tw-bg-opacity))}.bg-secondary-300{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-300-rgb),var(--tw-bg-opacity))}.bg-secondary-400{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-400-rgb),var(--tw-bg-opacity))}.bg-secondary-500{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-500-rgb),var(--tw-bg-opacity))}.bg-secondary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-600-rgb),var(--tw-bg-opacity))}.bg-secondary-700{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-700-rgb),var(--tw-bg-opacity))}.bg-secondary-800{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-800-rgb),var(--tw-bg-opacity))}.bg-secondary-900{--tw-bg-opacity:1;background-color:rgba(var(--color-secondary-900-rgb),var(--tw-bg-opacity))}.text-primary-50{--tw-text-opacity:1;color:rgba(var(--color-primary-50-rgb),var(--tw-text-opacity))}.text-primary-100{--tw-text-opacity:1;color:rgba(var(--color-primary-100-rgb),var(--tw-text-opacity))}.text-primary-200{--tw-text-opacity:1;color:rgba(var(--color-primary-200-rgb),var(--tw-text-opacity))}.text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300-rgb),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400-rgb),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500-rgb),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600-rgb),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700-rgb),var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity:1;color:rgba(var(--color-primary-800-rgb),var(--tw-text-opacity))}.text-primary-900{--tw-text-opacity:1;color:rgba(var(--color-primary-900-rgb),var(--tw-text-opacity))}.text-secondary-50{--tw-text-opacity:1;color:rgba(var(--color-secondary-50-rgb),var(--tw-text-opacity))}.text-secondary-100{--tw-text-opacity:1;color:rgba(var(--color-secondary-100-rgb),var(--tw-text-opacity))}.text-secondary-200{--tw-text-opacity:1;color:rgba(var(--color-secondary-200-rgb),var(--tw-text-opacity))}.text-secondary-300{--tw-text-opacity:1;color:rgba(var(--color-secondary-300-rgb),var(--tw-text-opacity))}.text-secondary-400{--tw-text-opacity:1;color:rgba(var(--color-secondary-400-rgb),var(--tw-text-opacity))}.text-secondary-500{--tw-text-opacity:1;color:rgba(var(--color-secondary-500-rgb),var(--tw-text-opacity))}.text-secondary-600{--tw-text-opacity:1;color:rgba(var(--color-secondary-600-rgb),var(--tw-text-opacity))}.text-secondary-700{--tw-text-opacity:1;color:rgba(var(--color-secondary-700-rgb),var(--tw-text-opacity))}.text-secondary-800{--tw-text-opacity:1;color:rgba(var(--color-secondary-800-rgb),var(--tw-text-opacity))}.text-secondary-900{--tw-text-opacity:1;color:rgba(var(--color-secondary-900-rgb),var(--tw-text-opacity))}
diff --git a/www/js/zui3/zui.zentao.js b/www/js/zui3/zui.zentao.js
index 4dd5cc7b74..ea2b761232 100644
--- a/www/js/zui3/zui.zentao.js
+++ b/www/js/zui3/zui.zentao.js
@@ -1,512 +1,505 @@
-var Uo = (s, e, t) => {
- if (!e.has(s))
+var Go = (n, e, t) => {
+ if (!e.has(n))
throw TypeError("Cannot " + t);
};
-var y = (s, e, t) => (Uo(s, e, "read from private field"), t ? t.call(s) : e.get(s)), C = (s, e, t) => {
- if (e.has(s))
+var b = (n, e, t) => (Go(n, e, "read from private field"), t ? t.call(n) : e.get(n)), $ = (n, e, t) => {
+ if (e.has(n))
throw TypeError("Cannot add the same private member more than once");
- e instanceof WeakSet ? e.add(s) : e.set(s, t);
-}, $ = (s, e, t, n) => (Uo(s, e, "write to private field"), n ? n.call(s, t) : e.set(s, t), t);
-var _a = (s, e, t, n) => ({
- set _(i) {
- $(s, e, i, t);
- },
- get _() {
- return y(s, e, n);
- }
-}), j = (s, e, t) => (Uo(s, e, "access private method"), t);
-const Ft = document, Js = window, Vl = Ft.documentElement, Le = Ft.createElement.bind(Ft), Ul = Le("div"), qo = Le("table"), Kh = Le("tbody"), xa = Le("tr"), { isArray: Ro, prototype: ql } = Array, { concat: Yh, filter: Ar, indexOf: Gl, map: Kl, push: Xh, slice: Yl, some: Lr, splice: Jh } = ql, Zh = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, Qh = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, td = /<.+>/, ed = /^\w+$/;
-function Or(s, e) {
- const t = nd(e);
- return !s || !t && !Re(e) && !X(e) ? [] : !t && Qh.test(s) ? e.getElementsByClassName(s.slice(1).replace(/\\/g, "")) : !t && ed.test(s) ? e.getElementsByTagName(s) : e.querySelectorAll(s);
+ e instanceof WeakSet ? e.add(n) : e.set(n, t);
+}, C = (n, e, t, s) => (Go(n, e, "write to private field"), s ? s.call(n, t) : e.set(n, t), t);
+var O = (n, e, t) => (Go(n, e, "access private method"), t);
+const zt = document, Kn = window, sc = zt.documentElement, Pe = zt.createElement.bind(zt), nc = Pe("div"), Yo = Pe("table"), hd = Pe("tbody"), Ea = Pe("tr"), { isArray: Ao, prototype: ic } = Array, { concat: dd, filter: Wr, indexOf: oc, map: rc, push: ud, slice: ac, some: zr, splice: fd } = ic, pd = /^#(?:[\w-]|\\.|[^\x00-\xa0])*$/, md = /^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/, gd = /<.+>/, yd = /^\w+$/;
+function Fr(n, e) {
+ const t = bd(e);
+ return !n || !t && !De(e) && !Z(e) ? [] : !t && md.test(n) ? e.getElementsByClassName(n.slice(1).replace(/\\/g, "")) : !t && yd.test(n) ? e.getElementsByTagName(n) : e.querySelectorAll(n);
}
-class Io {
+class Po {
constructor(e, t) {
if (!e)
return;
- if (or(e))
+ if (ar(e))
return e;
- let n = e;
- if (it(e)) {
- const i = t || Ft;
- if (n = Zh.test(e) && Re(i) ? i.getElementById(e.slice(1).replace(/\\/g, "")) : td.test(e) ? Zl(e) : or(i) ? i.find(e) : it(i) ? u(i).find(e) : Or(e, i), !n)
+ let s = e;
+ if (ot(e)) {
+ const i = t || zt;
+ if (s = pd.test(e) && De(i) ? i.getElementById(e.slice(1).replace(/\\/g, "")) : gd.test(e) ? hc(e) : ar(i) ? i.find(e) : ot(i) ? u(i).find(e) : Fr(e, i), !s)
return;
- } else if (Oe(e))
+ } else if (Le(e))
return this.ready(e);
- (n.nodeType || n === Js) && (n = [n]), this.length = n.length;
+ (s.nodeType || s === Kn) && (s = [s]), this.length = s.length;
for (let i = 0, o = this.length; i < o; i++)
- this[i] = n[i];
+ this[i] = s[i];
}
init(e, t) {
- return new Io(e, t);
+ return new Po(e, t);
}
}
-const P = Io.prototype, u = P.init;
-u.fn = u.prototype = P;
-P.length = 0;
-P.splice = Jh;
-typeof Symbol == "function" && (P[Symbol.iterator] = ql[Symbol.iterator]);
-function or(s) {
- return s instanceof Io;
+const I = Po.prototype, u = I.init;
+u.fn = u.prototype = I;
+I.length = 0;
+I.splice = fd;
+typeof Symbol == "function" && (I[Symbol.iterator] = ic[Symbol.iterator]);
+function ar(n) {
+ return n instanceof Po;
}
-function yn(s) {
- return !!s && s === s.window;
+function hs(n) {
+ return !!n && n === n.window;
}
-function Re(s) {
- return !!s && s.nodeType === 9;
+function De(n) {
+ return !!n && n.nodeType === 9;
}
-function nd(s) {
- return !!s && s.nodeType === 11;
+function bd(n) {
+ return !!n && n.nodeType === 11;
}
-function X(s) {
- return !!s && s.nodeType === 1;
+function Z(n) {
+ return !!n && n.nodeType === 1;
}
-function sd(s) {
- return !!s && s.nodeType === 3;
+function wd(n) {
+ return !!n && n.nodeType === 3;
}
-function id(s) {
- return typeof s == "boolean";
+function vd(n) {
+ return typeof n == "boolean";
}
-function Oe(s) {
- return typeof s == "function";
+function Le(n) {
+ return typeof n == "function";
}
-function it(s) {
- return typeof s == "string";
+function ot(n) {
+ return typeof n == "string";
}
-function ct(s) {
- return s === void 0;
+function ht(n) {
+ return n === void 0;
}
-function Pn(s) {
- return s === null;
+function Cs(n) {
+ return n === null;
}
-function Xl(s) {
- return !isNaN(parseFloat(s)) && isFinite(s);
+function lc(n) {
+ return !isNaN(parseFloat(n)) && isFinite(n);
}
-function jr(s) {
- if (typeof s != "object" || s === null)
+function Br(n) {
+ if (typeof n != "object" || n === null)
return !1;
- const e = Object.getPrototypeOf(s);
+ const e = Object.getPrototypeOf(n);
return e === null || e === Object.prototype;
}
-u.isWindow = yn;
-u.isFunction = Oe;
-u.isArray = Ro;
-u.isNumeric = Xl;
-u.isPlainObject = jr;
-function J(s, e, t) {
+u.isWindow = hs;
+u.isFunction = Le;
+u.isArray = Ao;
+u.isNumeric = lc;
+u.isPlainObject = Br;
+function Q(n, e, t) {
if (t) {
- let n = s.length;
- for (; n--; )
- if (e.call(s[n], n, s[n]) === !1)
- return s;
- } else if (jr(s)) {
- const n = Object.keys(s);
- for (let i = 0, o = n.length; i < o; i++) {
- const r = n[i];
- if (e.call(s[r], r, s[r]) === !1)
- return s;
+ let s = n.length;
+ for (; s--; )
+ if (e.call(n[s], s, n[s]) === !1)
+ return n;
+ } else if (Br(n)) {
+ const s = Object.keys(n);
+ for (let i = 0, o = s.length; i < o; i++) {
+ const r = s[i];
+ if (e.call(n[r], r, n[r]) === !1)
+ return n;
}
} else
- for (let n = 0, i = s.length; n < i; n++)
- if (e.call(s[n], n, s[n]) === !1)
- return s;
- return s;
+ for (let s = 0, i = n.length; s < i; s++)
+ if (e.call(n[s], s, n[s]) === !1)
+ return n;
+ return n;
}
-u.each = J;
-P.each = function(s) {
- return J(this, s);
+u.each = Q;
+I.each = function(n) {
+ return Q(this, n);
};
-P.empty = function() {
- return this.each((s, e) => {
+I.empty = function() {
+ return this.each((n, e) => {
for (; e.firstChild; )
e.removeChild(e.firstChild);
});
};
-function Zs(...s) {
- const e = id(s[0]) ? s.shift() : !1, t = s.shift(), n = s.length;
+function Zn(...n) {
+ const e = vd(n[0]) ? n.shift() : !1, t = n.shift(), s = n.length;
if (!t)
return {};
- if (!n)
- return Zs(e, u, t);
- for (let i = 0; i < n; i++) {
- const o = s[i];
+ if (!s)
+ return Zn(e, u, t);
+ for (let i = 0; i < s; i++) {
+ const o = n[i];
for (const r in o)
- e && (Ro(o[r]) || jr(o[r])) ? ((!t[r] || t[r].constructor !== o[r].constructor) && (t[r] = new o[r].constructor()), Zs(e, t[r], o[r])) : t[r] = o[r];
+ e && (Ao(o[r]) || Br(o[r])) ? ((!t[r] || t[r].constructor !== o[r].constructor) && (t[r] = new o[r].constructor()), Zn(e, t[r], o[r])) : t[r] = o[r];
}
return t;
}
-u.extend = Zs;
-P.extend = function(s) {
- return Zs(P, s);
+u.extend = Zn;
+I.extend = function(n) {
+ return Zn(I, n);
};
-const od = /\S+/g;
-function Do(s) {
- return it(s) ? s.match(od) || [] : [];
+const _d = /\S+/g;
+function Lo(n) {
+ return ot(n) ? n.match(_d) || [] : [];
}
-P.toggleClass = function(s, e) {
- const t = Do(s), n = !ct(e);
+I.toggleClass = function(n, e) {
+ const t = Lo(n), s = !ht(e);
return this.each((i, o) => {
- X(o) && J(t, (r, a) => {
- n ? e ? o.classList.add(a) : o.classList.remove(a) : o.classList.toggle(a);
+ Z(o) && Q(t, (r, a) => {
+ s ? e ? o.classList.add(a) : o.classList.remove(a) : o.classList.toggle(a);
});
});
};
-P.addClass = function(s) {
- return this.toggleClass(s, !0);
+I.addClass = function(n) {
+ return this.toggleClass(n, !0);
};
-P.removeAttr = function(s) {
- const e = Do(s);
- return this.each((t, n) => {
- X(n) && J(e, (i, o) => {
- n.removeAttribute(o);
+I.removeAttr = function(n) {
+ const e = Lo(n);
+ return this.each((t, s) => {
+ Z(s) && Q(e, (i, o) => {
+ s.removeAttribute(o);
});
});
};
-function rd(s, e) {
- if (s) {
- if (it(s)) {
+function xd(n, e) {
+ if (n) {
+ if (ot(n)) {
if (arguments.length < 2) {
- if (!this[0] || !X(this[0]))
+ if (!this[0] || !Z(this[0]))
return;
- const t = this[0].getAttribute(s);
- return Pn(t) ? void 0 : t;
+ const t = this[0].getAttribute(n);
+ return Cs(t) ? void 0 : t;
}
- return ct(e) ? this : Pn(e) ? this.removeAttr(s) : this.each((t, n) => {
- X(n) && n.setAttribute(s, e);
+ return ht(e) ? this : Cs(e) ? this.removeAttr(n) : this.each((t, s) => {
+ Z(s) && s.setAttribute(n, e);
});
}
- for (const t in s)
- this.attr(t, s[t]);
+ for (const t in n)
+ this.attr(t, n[t]);
return this;
}
}
-P.attr = rd;
-P.removeClass = function(s) {
- return arguments.length ? this.toggleClass(s, !1) : this.attr("class", "");
+I.attr = xd;
+I.removeClass = function(n) {
+ return arguments.length ? this.toggleClass(n, !1) : this.attr("class", "");
};
-P.hasClass = function(s) {
- return !!s && Lr.call(this, (e) => X(e) && e.classList.contains(s));
+I.hasClass = function(n) {
+ return !!n && zr.call(this, (e) => Z(e) && e.classList.contains(n));
};
-P.get = function(s) {
- return ct(s) ? Yl.call(this) : (s = Number(s), this[s < 0 ? s + this.length : s]);
+I.get = function(n) {
+ return ht(n) ? ac.call(this) : (n = Number(n), this[n < 0 ? n + this.length : n]);
};
-P.eq = function(s) {
- return u(this.get(s));
+I.eq = function(n) {
+ return u(this.get(n));
};
-P.first = function() {
+I.first = function() {
return this.eq(0);
};
-P.last = function() {
+I.last = function() {
return this.eq(-1);
};
-function ad(s) {
- return ct(s) ? this.get().map((e) => X(e) || sd(e) ? e.textContent : "").join("") : this.each((e, t) => {
- X(t) && (t.textContent = s);
+function $d(n) {
+ return ht(n) ? this.get().map((e) => Z(e) || wd(e) ? e.textContent : "").join("") : this.each((e, t) => {
+ Z(t) && (t.textContent = n);
});
}
-P.text = ad;
-function Wt(s, e, t) {
- if (!X(s))
+I.text = $d;
+function Ft(n, e, t) {
+ if (!Z(n))
return;
- const n = Js.getComputedStyle(s, null);
- return t ? n.getPropertyValue(e) || void 0 : n[e] || s.style[e];
+ const s = Kn.getComputedStyle(n, null);
+ return t ? s.getPropertyValue(e) || void 0 : s[e] || n.style[e];
}
-function St(s, e) {
- return parseInt(Wt(s, e), 10) || 0;
+function St(n, e) {
+ return parseInt(Ft(n, e), 10) || 0;
}
-function Ca(s, e) {
- return St(s, `border${e ? "Left" : "Top"}Width`) + St(s, `padding${e ? "Left" : "Top"}`) + St(s, `padding${e ? "Right" : "Bottom"}`) + St(s, `border${e ? "Right" : "Bottom"}Width`);
+function Na(n, e) {
+ return St(n, `border${e ? "Left" : "Top"}Width`) + St(n, `padding${e ? "Left" : "Top"}`) + St(n, `padding${e ? "Right" : "Bottom"}`) + St(n, `border${e ? "Right" : "Bottom"}Width`);
}
-const Go = {};
-function ld(s) {
- if (Go[s])
- return Go[s];
- const e = Le(s);
- Ft.body.insertBefore(e, null);
- const t = Wt(e, "display");
- return Ft.body.removeChild(e), Go[s] = t !== "none" ? t : "block";
+const Xo = {};
+function Cd(n) {
+ if (Xo[n])
+ return Xo[n];
+ const e = Pe(n);
+ zt.body.insertBefore(e, null);
+ const t = Ft(e, "display");
+ return zt.body.removeChild(e), Xo[n] = t !== "none" ? t : "block";
}
-function $a(s) {
- return Wt(s, "display") === "none";
+function Ma(n) {
+ return Ft(n, "display") === "none";
}
-function Jl(s, e) {
- const t = s && (s.matches || s.webkitMatchesSelector || s.msMatchesSelector);
- return !!t && !!e && t.call(s, e);
+function cc(n, e) {
+ const t = n && (n.matches || n.webkitMatchesSelector || n.msMatchesSelector);
+ return !!t && !!e && t.call(n, e);
}
-function Ao(s) {
- return it(s) ? (e, t) => Jl(t, s) : Oe(s) ? s : or(s) ? (e, t) => s.is(t) : s ? (e, t) => t === s : () => !1;
+function Ho(n) {
+ return ot(n) ? (e, t) => cc(t, n) : Le(n) ? n : ar(n) ? (e, t) => n.is(t) : n ? (e, t) => t === n : () => !1;
}
-P.filter = function(s) {
- const e = Ao(s);
- return u(Ar.call(this, (t, n) => e.call(t, n, t)));
+I.filter = function(n) {
+ const e = Ho(n);
+ return u(Wr.call(this, (t, s) => e.call(t, s, t)));
};
-function he(s, e) {
- return e ? s.filter(e) : s;
+function le(n, e) {
+ return e ? n.filter(e) : n;
}
-P.detach = function(s) {
- return he(this, s).each((e, t) => {
+I.detach = function(n) {
+ return le(this, n).each((e, t) => {
t.parentNode && t.parentNode.removeChild(t);
}), this;
};
-const cd = /^\s*<(\w+)[^>]*>/, hd = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, ka = {
- "*": Ul,
- tr: Kh,
- td: xa,
- th: xa,
- thead: qo,
- tbody: qo,
- tfoot: qo
+const Td = /^\s*<(\w+)[^>]*>/, kd = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, Da = {
+ "*": nc,
+ tr: hd,
+ td: Ea,
+ th: Ea,
+ thead: Yo,
+ tbody: Yo,
+ tfoot: Yo
};
-function Zl(s) {
- if (!it(s))
+function hc(n) {
+ if (!ot(n))
return [];
- if (hd.test(s))
- return [Le(RegExp.$1)];
- const e = cd.test(s) && RegExp.$1, t = ka[e] || ka["*"];
- return t.innerHTML = s, u(t.childNodes).detach().get();
+ if (kd.test(n))
+ return [Pe(RegExp.$1)];
+ const e = Td.test(n) && RegExp.$1, t = Da[e] || Da["*"];
+ return t.innerHTML = n, u(t.childNodes).detach().get();
}
-u.parseHTML = Zl;
-P.has = function(s) {
- const e = it(s) ? (t, n) => Or(s, n).length : (t, n) => n.contains(s);
+u.parseHTML = hc;
+I.has = function(n) {
+ const e = ot(n) ? (t, s) => Fr(n, s).length : (t, s) => s.contains(n);
return this.filter(e);
};
-P.not = function(s) {
- const e = Ao(s);
- return this.filter((t, n) => (!it(s) || X(n)) && !e.call(n, t, n));
+I.not = function(n) {
+ const e = Ho(n);
+ return this.filter((t, s) => (!ot(n) || Z(s)) && !e.call(s, t, s));
};
-function Ut(s, e, t, n) {
- const i = [], o = Oe(e), r = n && Ao(n);
- for (let a = 0, l = s.length; a < l; a++)
+function Vt(n, e, t, s) {
+ const i = [], o = Le(e), r = s && Ho(s);
+ for (let a = 0, l = n.length; a < l; a++)
if (o) {
- const h = e(s[a]);
- h.length && Xh.apply(i, h);
+ const c = e(n[a]);
+ c.length && ud.apply(i, c);
} else {
- let h = s[a][e];
- for (; h != null && !(n && r(-1, h)); )
- i.push(h), h = t ? h[e] : null;
+ let c = n[a][e];
+ for (; c != null && !(s && r(-1, c)); )
+ i.push(c), c = t ? c[e] : null;
}
return i;
}
-function Ql(s) {
- return s.multiple && s.options ? Ut(Ar.call(s.options, (e) => e.selected && !e.disabled && !e.parentNode.disabled), "value") : s.value || "";
+function dc(n) {
+ return n.multiple && n.options ? Vt(Wr.call(n.options, (e) => e.selected && !e.disabled && !e.parentNode.disabled), "value") : n.value || "";
}
-function dd(s) {
+function Sd(n) {
return arguments.length ? this.each((e, t) => {
- const n = t.multiple && t.options;
- if (n || ac.test(t.type)) {
- const i = Ro(s) ? Kl.call(s, String) : Pn(s) ? [] : [String(s)];
- n ? J(t.options, (o, r) => {
+ const s = t.multiple && t.options;
+ if (s || wc.test(t.type)) {
+ const i = Ao(n) ? rc.call(n, String) : Cs(n) ? [] : [String(n)];
+ s ? Q(t.options, (o, r) => {
r.selected = i.indexOf(r.value) >= 0;
}, !0) : t.checked = i.indexOf(t.value) >= 0;
} else
- t.value = ct(s) || Pn(s) ? "" : s;
- }) : this[0] && Ql(this[0]);
+ t.value = ht(n) || Cs(n) ? "" : n;
+ }) : this[0] && dc(this[0]);
}
-P.val = dd;
-P.is = function(s) {
- const e = Ao(s);
- return Lr.call(this, (t, n) => e.call(t, n, t));
+I.val = Sd;
+I.is = function(n) {
+ const e = Ho(n);
+ return zr.call(this, (t, s) => e.call(t, s, t));
};
u.guid = 1;
-function Pt(s) {
- return s.length > 1 ? Ar.call(s, (e, t, n) => Gl.call(n, e) === t) : s;
+function It(n) {
+ return n.length > 1 ? Wr.call(n, (e, t, s) => oc.call(s, e) === t) : n;
}
-u.unique = Pt;
-P.add = function(s, e) {
- return u(Pt(this.get().concat(u(s, e).get())));
+u.unique = It;
+I.add = function(n, e) {
+ return u(It(this.get().concat(u(n, e).get())));
};
-P.children = function(s) {
- return he(u(Pt(Ut(this, (e) => e.children))), s);
+I.children = function(n) {
+ return le(u(It(Vt(this, (e) => e.children))), n);
};
-P.parent = function(s) {
- return he(u(Pt(Ut(this, "parentNode"))), s);
+I.parent = function(n) {
+ return le(u(It(Vt(this, "parentNode"))), n);
};
-P.index = function(s) {
- const e = s ? u(s)[0] : this[0], t = s ? this : u(e).parent().children();
- return Gl.call(t, e);
+I.index = function(n) {
+ const e = n ? u(n)[0] : this[0], t = n ? this : u(e).parent().children();
+ return oc.call(t, e);
};
-P.closest = function(s) {
- const e = this.filter(s);
+I.closest = function(n) {
+ const e = this.filter(n);
if (e.length)
return e;
const t = this.parent();
- return t.length ? t.closest(s) : e;
+ return t.length ? t.closest(n) : e;
};
-P.siblings = function(s) {
- return he(u(Pt(Ut(this, (e) => u(e).parent().children().not(e)))), s);
+I.siblings = function(n) {
+ return le(u(It(Vt(this, (e) => u(e).parent().children().not(e)))), n);
};
-P.find = function(s) {
- return u(Pt(Ut(this, (e) => Or(s, e))));
+I.find = function(n) {
+ return u(It(Vt(this, (e) => Fr(n, e))));
};
-const ud = /^\s*\s*$/g, fd = /^$|^module$|\/(java|ecma)script/i, pd = ["type", "src", "nonce", "noModule"];
-function md(s, e) {
- const t = u(s);
- t.filter("script").add(t.find("script")).each((n, i) => {
- if (fd.test(i.type) && Vl.contains(i)) {
- const o = Le("script");
- o.text = i.textContent.replace(ud, ""), J(pd, (r, a) => {
+const Ed = /^\s*\s*$/g, Nd = /^$|^module$|\/(java|ecma)script/i, Md = ["type", "src", "nonce", "noModule"];
+function Dd(n, e) {
+ const t = u(n);
+ t.filter("script").add(t.find("script")).each((s, i) => {
+ if (Nd.test(i.type) && sc.contains(i)) {
+ const o = Pe("script");
+ o.text = i.textContent.replace(Ed, ""), Q(Md, (r, a) => {
i[a] && (o[a] = i[a]);
}), e.head.insertBefore(o, null), e.head.removeChild(o);
}
});
}
-function gd(s, e, t, n, i) {
- n ? s.insertBefore(e, t ? s.firstChild : null) : s.nodeName === "HTML" ? s.parentNode.replaceChild(e, s) : s.parentNode.insertBefore(e, t ? s : s.nextSibling), i && md(e, s.ownerDocument);
+function Id(n, e, t, s, i) {
+ s ? n.insertBefore(e, t ? n.firstChild : null) : n.nodeName === "HTML" ? n.parentNode.replaceChild(e, n) : n.parentNode.insertBefore(e, t ? n : n.nextSibling), i && Dd(e, n.ownerDocument);
}
-function de(s, e, t, n, i, o, r, a) {
- return J(s, (l, h) => {
- J(u(h), (d, c) => {
- J(u(e), (f, p) => {
- const m = t ? c : p, b = t ? p : c, _ = t ? d : f;
- gd(m, _ ? b.cloneNode(!0) : b, n, i, !_);
+function ce(n, e, t, s, i, o, r, a) {
+ return Q(n, (l, c) => {
+ Q(u(c), (d, h) => {
+ Q(u(e), (f, m) => {
+ const p = t ? h : m, y = t ? m : h, _ = t ? d : f;
+ Id(p, _ ? y.cloneNode(!0) : y, s, i, !_);
}, a);
}, r);
}, o), e;
}
-P.after = function() {
- return de(arguments, this, !1, !1, !1, !0, !0);
+I.after = function() {
+ return ce(arguments, this, !1, !1, !1, !0, !0);
};
-P.append = function() {
- return de(arguments, this, !1, !1, !0);
+I.append = function() {
+ return ce(arguments, this, !1, !1, !0);
};
-function yd(s) {
+function Rd(n) {
if (!arguments.length)
return this[0] && this[0].innerHTML;
- if (ct(s))
+ if (ht(n))
return this;
- const e = /`);\n if (removeAfterRun) {\n $element.find(`#${id}`).remove();\n }\n }\n return;\n }\n $element.find('script').each((_, script) => {\n runJS($element, (script as HTMLScriptElement).innerHTML);\n script.remove();\n });\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n runJS(jsCode?: string): this;\n }\n\n interface CashStatic {\n runJS
(jsCode: string, ...args: [name: string, value: unknown][]): T;\n }\n}\n\n/* Extend as $.runJS() */\n$.runJS = (jsCode: string, ...args: [name: string, value: unknown][]): T => {\n jsCode = jsCode.trim();\n if (!jsCode.startsWith('return ') && !jsCode.endsWith(';')) {\n jsCode = `return ${jsCode}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const func = new Function(...args.map(([name]) => name), jsCode);\n return func(...args.map(([, value]) => value));\n};\n\n/* Extend as $.fn.runJS() */\n$.fn.runJS = function (this: Cash, jsCode?: string) {\n return this.each((_, ele) => {\n runJS(ele, jsCode);\n });\n};\n","import {$, Cash, Selector} from '../cash';\nimport {isVisible} from './is-visible';\n\n/**\n * Options for {@link scrollIntoView}.\n */\ntype CashScrollIntoViewOptions = ScrollIntoViewOptions & {\n ifNeeded?: boolean;\n};\n\n/**\n * Scroll into view.\n *\n * @param selector Element selector to scroll into view.\n * @param options Options.\n * @returns True if the element is visible.\n * @see https://stackoverflow.com/a/26039199\n */\nexport function scrollIntoView(selector: Selector, options?: CashScrollIntoViewOptions): Cash {\n const $element = $(selector);\n const {ifNeeded = true, ...other} = options || {};\n $element.each((_, ele) => {\n if (ifNeeded && isVisible(ele, {viewport: ele.getBoundingClientRect()})) {\n return;\n }\n ele.scrollIntoView(other);\n });\n return $element;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n scrollIntoView(options?: CashScrollIntoViewOptions): this;\n }\n}\n\n/* Extend as $.fn.scrollIntoView() */\n$.fn.scrollIntoView = function (this: Cash, options?: CashScrollIntoViewOptions) {\n return this.each((_, ele) => {\n scrollIntoView(ele, options);\n });\n};\n","import {$} from '../cash';\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n getScript(src: string, props?: ScriptProps, success?: () => void): Promise;\n }\n}\n\ntype ScriptProps = Partial<{\n charset: string;\n defer: boolean;\n noModule: boolean;\n type: string;\n integrity: string;\n}>;\n\n/** Define the $.getScript method. */\n$.getScript = function (src: string, props?: ScriptProps, success?: () => void): Promise {\n return new Promise((resolve) => {\n const $oldScripts = $(`script[src=\"${src}\"]`);\n const onLoad = () => {\n resolve();\n success?.();\n };\n if ($oldScripts.length) {\n if ($oldScripts.dataset('loaded')) {\n onLoad();\n } else {\n const callbacks = $oldScripts.data('loadCalls') || [];\n callbacks.push(onLoad);\n $oldScripts.data('loadCalls', callbacks);\n }\n return;\n }\n const script = document.createElement('script');\n script.async = true;\n if (props) {\n Object.assign(script, props);\n }\n script.onload = () => {\n onLoad();\n const callbacks = $(script).dataset('loaded', true).data('loadCalls') || [];\n callbacks.forEach((callback: () => void) => callback());\n $(script).removeData('loadCalls');\n };\n script.src = src;\n $('head').append(script);\n });\n};\n","var n,l,u,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&i.sort(f));x.__r=0}function P(n,l,u,t,i,o,r,f,e,a,v){var p,y,_,b,g,m,w,x,P,S,H=0,I=t&&t.__k||s,T=I.length,j=T,z=l.length;for(u.__k=[],p=0;p0?d(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)&&(b.__=u,b.__b=u.__b+1,-1===(x=A(b,I,w=p+H,j))?_=c:(_=I[x]||c,I[x]=void 0,j--),L(n,b,_,i,o,r,f,e,a,v),g=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&O(_.ref,null,b),v.push(y,b.__c||g,b)),null!=g&&(null==m&&(m=g),S=!(P=_===c||null===_.__v)&&x===w,P?-1==x&&H--:x!==w&&(x===w+1?(H++,S=!0):x>w?j>z-w?(H+=x-w,S=!0):H--:H=x(null!=e?1:0))for(;r>=0||f=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),\"function\"==typeof n&&(n=n(v({},u),this.props)),n&&v(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;export{b as Component,k as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,t as isValidElement,l as options,D as render,S as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import htm from 'htm';\nimport {h} from './preact';\n\nconst html = htm.bind(h);\n\nexport {\n htm,\n html as hh,\n};\n","import {h, Component} from 'preact';\nimport type {PreactDOMAttributes, JSX, RefObject, ComponentType, RenderableProps, ComponentChildren} from 'preact';\nimport {ClassNameLike, classes} from '../../helpers/classes';\n\n/**\n * The HTML props that can be passed to a component which root not is a html element.\n */\nexport interface HElementProps extends PreactDOMAttributes {\n /**\n * The component or the HTML element name.\n */\n component?: ComponentType | keyof JSX.IntrinsicElements;\n\n /**\n * The alternative class name of the element.\n */\n className?: ClassNameLike;\n\n /**\n * The alternative class name of the element.\n */\n class?: ClassNameLike;\n\n /**\n * The style of the element.\n */\n style?: JSX.CSSProperties;\n\n /**\n * The attributes of the element.\n */\n attrs?: Record;\n\n /**\n * The extra data.\n */\n data?: Record;\n\n /**\n * The ref of the element.\n */\n forwardRef?: RefObject;\n\n /**\n * The other props of the element.\n */\n [dataKey: `data-${string}`]: unknown;\n}\n\nexport class HElement extends Component
{\n protected _getClassName(props: RenderableProps
): ClassNameLike {\n return [props.className, props.class];\n }\n\n protected _getProps(props: RenderableProps
): Record {\n const {className, class: className2, attrs, data, forwardRef, children, style, ...others} = props;\n const other = Object.keys(others).reduce>((map, key) => {\n if (key === 'dangerouslySetInnerHTML' || key.startsWith('data-')) {\n map[key] = others[key as keyof typeof others];\n }\n return map;\n }, {});\n return {ref: forwardRef, class: classes(this._getClassName(props)), style, ...other, ...attrs};\n }\n\n protected _getComponent(props: RenderableProps): ComponentType | keyof JSX.IntrinsicElements {\n return props.component || 'div';\n }\n\n protected _getChildren(props: RenderableProps
): ComponentChildren {\n return props.children;\n }\n\n protected _beforeRender(props: RenderableProps
): RenderableProps
| undefined | void {\n return props;\n }\n\n render(props: RenderableProps
) {\n props = this._beforeRender(props) || props;\n return h(this._getComponent(props) as ComponentType, this._getProps(props), this._getChildren(props));\n }\n}\n","import{options as r}from\"preact\";export{Fragment}from\"preact\";var _=0;function o(o,e,n,t,f,l){var s,u,a={};for(u in e)\"ref\"==u?s=e[u]:a[u]=e[u];var i={type:o,props:a,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--_,__source:f,__self:l};if(\"function\"==typeof o&&(s=o.defaultProps))for(u in s)void 0===a[u]&&(a[u]=s[u]);return r.vnode&&r.vnode(i),i}export{o as jsx,o as jsxDEV,o as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import {Component, createRef} from 'preact';\nimport {$} from '../../cash';\nimport {HElement, HElementProps} from './h-element';\n\n/**\n * HTML content component props.\n */\nexport interface HtmlContentProps extends HElementProps {\n /**\n * HTML code.\n */\n html: string,\n\n /**\n * Execute script.\n */\n executeScript?: boolean,\n}\n\n/**\n * HTML content component.\n *\n * @example\n * // Render
Hello world
\n * Hello world\" />\n *\n * // Render and execute script\n * alert('Hello world')\" executeScript />\n */\nexport class HtmlContent extends Component {\n protected _ref = createRef();\n\n protected _runJS() {\n if (!this.props.executeScript) {\n return;\n }\n $(this._ref.current).runJS();\n }\n\n componentDidMount(): void {\n this._runJS();\n }\n\n componentDidUpdate(previousProps: Readonly): void {\n if (this.props.html !== previousProps.html) {\n this._runJS();\n }\n }\n\n render(props: HtmlContentProps) {\n const {executeScript, html, ...others} = props;\n return ;\n }\n}\n","import {h as _h, isValidElement, ComponentChildren, JSX, Attributes} from 'preact';\nimport {classes, ClassNameLike} from '../../helpers';\n\nexport type CustomRenderResultItem = Partial<{\n html: string;\n __html: string;\n style: JSX.CSSProperties;\n className: ClassNameLike;\n children: ComponentChildren;\n attrs: JSX.HTMLAttributes;\n [prop: string]: unknown;\n}>;\n\nexport type CustomRenderResultGenerator = unknown[], THIS = unknown> = (this: THIS, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[] | undefined | void;\n\nexport type CustomRenderResult = unknown[], THIS = unknown> = CustomRenderResultGenerator | CustomRenderResultItem | ComponentChildren;\n\nexport type CustomRenderResultList = unknown[], THIS = unknown> = CustomRenderResult[];\n\nexport type CustomRenderProps = unknown[], THIS = unknown> = {\n tag?: string;\n className?: ClassNameLike;\n style?: JSX.CSSProperties;\n renders: CustomRenderResultList;\n generateArgs?: T;\n generators?: Record>;\n generatorThis?: THIS;\n onGenerate?: (this: THIS, generator: CustomRenderResultGenerator, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[];\n onRenderItem?: (item: CustomRenderResultItem) => ComponentChildren;\n};\n\nexport function renderCustomResult(props: CustomRenderProps): [JSX.HTMLAttributes, ComponentChildren[]] {\n const {\n tag,\n className,\n style,\n renders,\n generateArgs = [],\n generatorThis,\n generators,\n onGenerate,\n onRenderItem,\n ...others\n } = props;\n const classList: ClassNameLike = [className];\n const rootStyle: JSX.CSSProperties = {...style};\n const result: ComponentChildren[] = [];\n const rawHtml: string[] = [];\n renders.forEach(render => {\n const items: (CustomRenderResultItem | ComponentChildren)[] = [];\n if (typeof render === 'string' && generators && generators[render]) {\n render = generators[render];\n }\n if (typeof render === 'function') {\n if (onGenerate) {\n items.push(...onGenerate.call(generatorThis, render as CustomRenderResultGenerator, result, ...generateArgs));\n } else {\n const renderResult = (render as CustomRenderResultGenerator).call(generatorThis, result, ...generateArgs);\n if (renderResult) {\n if (Array.isArray(renderResult)) {\n items.push(...renderResult);\n } else {\n items.push(renderResult);\n }\n }\n }\n } else {\n items.push(render);\n }\n items.forEach(item => {\n if (item === undefined || item === null) {\n return;\n }\n if (typeof item === 'object' && !isValidElement(item) && ('html' in item || '__html' in item || 'className' in item || 'style' in item || 'attrs' in item || 'children' in item)) {\n if (item.html) {\n result.push(\n )}>
,\n );\n } else if (item.__html) {\n rawHtml.push(item.__html);\n } else {\n if (item.style) {\n Object.assign(rootStyle, item.style);\n }\n if (item.className) {\n classList.push(item.className);\n }\n if (item.children) {\n result.push(item.children);\n }\n if (item.attrs) {\n Object.assign(others, item.attrs);\n }\n }\n } else {\n result.push(item);\n }\n });\n });\n\n if (rawHtml.length) {\n Object.assign(others, {dangerouslySetInnerHTML: {__html: rawHtml}});\n }\n\n return [{\n className: classes(classList),\n style: rootStyle,\n ...others,\n }, result];\n}\n\nexport function CustomRender({\n tag = 'div',\n ...props\n}: CustomRenderProps) {\n const [attrs, children] = renderCustomResult(props);\n return _h(tag, attrs as Attributes, ...children);\n}\n","import {ComponentChildren, isValidElement, VNode} from 'preact';\nimport {HtmlContent, HtmlContentProps} from './html-content';\nimport {HElementProps, HElement} from './h-element';\n\nexport type CustomContentStatic = ComponentChildren | HtmlContentProps | HElementProps;\n\nexport type CustomContentGenerator = (this: THIS | undefined, ...args: ARGS | []) => CustomContentStatic;\n\nexport type CustomContentType = CustomContentStatic | CustomContentGenerator;\n\nexport type CustomContentProps = {\n content: CustomContentType | CustomContentType[];\n generatorThis?: THIS;\n generatorArgs?: ARGS;\n};\n\nexport function renderCustomContent(\n content: CustomContentType | CustomContentType[],\n generatorThis?: THIS,\n generatorArgs?: ARGS,\n): ComponentChildren {\n if (typeof content === 'function') {\n return (content as CustomContentGenerator).call(generatorThis, ...(generatorArgs as ARGS));\n }\n if (Array.isArray(content)) {\n return content.map((x) => renderCustomContent(x, generatorThis, generatorArgs));\n }\n if (isValidElement(content) || content === null) {\n return content;\n }\n if (typeof content === 'object') {\n if ((content as HtmlContentProps).html) {\n return ;\n }\n return ;\n }\n return content;\n}\n\n/**\n * Component for rendering custom content.\n *\n * @param props Custom content props.\n * @returns Custom content.\n */\nexport function CustomContent(props: CustomContentProps): VNode | null {\n const {content, generatorThis, generatorArgs} = props;\n const result = renderCustomContent(content, generatorThis, generatorArgs);\n if (result === undefined || result === null || typeof result === 'boolean') {\n return null;\n }\n if (isValidElement(result)) {\n return result;\n }\n return <>{result}>;\n}\n","import {JSX, VNode, isValidElement} from 'preact';\nimport {ClassNameLike, classes} from '../../helpers/classes';\n\nexport type IconType = string | JSX.HTMLAttributes | VNode;\n\nexport type IconProps = {\n icon?: IconType;\n className?: ClassNameLike;\n [key: string]: unknown;\n};\n\nconst createIconClass = (icon: string) => icon.startsWith('icon-') ? icon : `icon-${icon}`;\n\nexport function Icon(props: IconProps) {\n const {icon, className, ...others} = props;\n if (!icon) {\n return null;\n }\n if (isValidElement(icon)) {\n return icon;\n }\n const classList: ClassNameLike[] = ['icon', className as string];\n if (typeof icon === 'string') {\n classList.push(createIconClass(icon));\n } else if (typeof icon === 'object') {\n const {className: iconClass, icon: finalIcon, ...iconOthers} = icon;\n classList.push(iconClass as string, finalIcon ? createIconClass(finalIcon as string) : '');\n Object.assign(others, iconOthers);\n }\n return ;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {VNode, createElement, render, RenderableProps, ContainerNode} from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider(this: any, props: RenderableProps<{context: any}>) {\n this.getChildContext = () => props.context;\n return props.children;\n}\n\n/**\n * Portal component\n * @this {import('preact').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(this: any, props: any) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const container = props._container;\n\n that.componentWillUnmount = function () {\n render(null, that._temp);\n that._temp = null;\n that._container = null;\n };\n\n // When we change container we should clear our old container and\n // indicate a new mount.\n if (that._container && that._container !== container) {\n that.componentWillUnmount();\n }\n\n // When props.vnode is undefined/false/null we are dealing with some kind of\n // conditional vnode. This should not trigger a render.\n if (props._vnode) {\n if (!that._temp) {\n that._container = container;\n\n // Create a fake DOM parent node that manages a subset of `container`'s children:\n that._temp = {\n nodeType: 1,\n parentNode: container,\n childNodes: [],\n appendChild(child: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(child: VNode, _before: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n removeChild(child: VNode) {\n this.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\n that._container.removeChild(child);\n },\n };\n }\n\n // Render our wrapping element into temp.\n render(\n createElement(ContextProvider as any, {context: that.context}, props._vnode),\n that._temp,\n );\n } else if (that._temp) {\n // When we come from a conditional render, on a mounted\n // portal we should clear the DOM.\n that.componentWillUnmount();\n }\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n *\n * @param {import('preact').VNode} vnode The vnode to render\n * @param {import('preact').PreactElement} container The DOM node to continue rendering in to.\n * @see https://github.com/developit/preact-portal/blob/master/src/preact-portal.js\n */\nexport function createPortal(vnode: VNode, container: ContainerNode): VNode {\n const el = createElement(Portal as any, {_vnode: vnode, _container: container}) as any;\n el.containerInfo = container;\n return el;\n}\n","import {i18n} from '../i18n';\nimport {$, Cash, Element, Selector} from '../cash';\nimport type {ComponentEventArgs, ComponentEventName, ComponentOptions, ComponentEvents, ComponentEventsDefnition} from './types';\n\n/**\n * The event callback for component.\n */\nexport type ComponentEventCallback> = (event: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, args: [Component, ComponentEventArgs]) => void | false;\n\n/**\n * The component base class.\n */\nexport class Component {\n /**\n * The default options.\n */\n static DEFAULT = {};\n\n /**\n * The component name.\n * It usually equals to the class name.\n * The name must be provided in subclass.\n */\n static NAME: string;\n\n /**\n * Whether the component supports multiple instances.\n */\n static MULTI_INSTANCE = false;\n\n /**\n * ZUI name\n */\n static get ZUI() {\n return this.NAME.replace(/(^[A-Z]+)/, (match) => {\n return match.toLowerCase();\n });\n }\n\n /**\n * Component data key, like \"zui.menu\"\n */\n static get KEY(): `zui.${string}` {\n return `zui.${this.NAME}`;\n }\n\n /**\n * Component namespace, like \".zui.menu\"\n */\n static get NAMESPACE(): `.zui.${string}` {\n return `.zui.${this.ZUI}`;\n }\n\n static get DATA_KEY(): `data-zui-${string}` {\n return `data-zui-${this.NAME}`;\n }\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof Component;\n\n /**\n * Store the component options.\n */\n private _options?: ComponentOptions;\n\n /**\n * Store the component element.\n */\n private _element?: U;\n\n /**\n * The component global ID.\n */\n private _gid: number;\n\n /**\n * The component key.\n */\n protected _key: string | number;\n\n /**\n * The component initialized flag.\n */\n private _inited = false;\n\n /**\n * The component constructor.\n *\n * @param options The component initial options.\n */\n constructor(element: Selector, options?: Partial>) {\n const {KEY, DATA_KEY, DEFAULT, MULTI_INSTANCE, NAME} = this.constructor;\n\n if (!NAME) {\n throw new Error('[ZUI] The component must have a \"NAME\" static property.');\n }\n\n const $element = $(element);\n if ($element.data(KEY) && !MULTI_INSTANCE) {\n throw new Error('[ZUI] The component has been initialized on element.');\n }\n\n const gid = $.guid++;\n this._gid = gid;\n this._element = $element[0] as U;\n\n $element.on('DOMNodeRemovedFromDocument', () => {\n this.destroy();\n });\n\n this._options = {...DEFAULT, ...$element.dataset()} as ComponentOptions;\n this.setOptions(options);\n this._key = this.options.key ?? `__${gid}`;\n\n $element.data(KEY, this).attr(DATA_KEY, `${gid}`);\n if (MULTI_INSTANCE) {\n const dataName = `${KEY}:ALL`;\n let instanceMap = $element.data(dataName);\n if (!instanceMap) {\n instanceMap = new Map();\n $element.data(dataName, instanceMap);\n }\n instanceMap.set(this._key, this);\n }\n\n this.init();\n requestAnimationFrame(() => {\n this._inited = true;\n this.afterInit();\n this.emit('inited', this.options);\n });\n }\n\n get inited() {\n return this._inited;\n }\n\n /**\n * Get the component element.\n */\n get element() {\n return this._element!;\n }\n\n get key() {\n return this._key;\n }\n\n /**\n * Get the component options.\n */\n get options() {\n return this._options!;\n }\n\n /**\n * Get the component global id.\n */\n get gid() {\n return this._gid;\n }\n\n /**\n * Get the component element as a jQuery like object.\n */\n get $element() {\n return $(this.element);\n }\n\n /**\n * Get the component event emitter.\n */\n get $emitter() {\n return this.$element;\n }\n\n /**\n * Initialize the component.\n */\n init() {}\n\n /**\n * Do something after the component initialized.\n */\n afterInit() {}\n\n /**\n * Render the component.\n *\n * @param options The component options to override before render.\n */\n render(options?: Partial>) {\n this.setOptions(options);\n }\n\n /**\n * Destroy the component.\n */\n destroy() {\n const {KEY, DATA_KEY, MULTI_INSTANCE} = this.constructor;\n const {$element} = this;\n\n (this.emit as ((event: string, ...args: unknown[]) => void))('destroyed');\n\n $element\n .off(this.namespace)\n .removeData(KEY)\n .attr(DATA_KEY, null);\n\n if (MULTI_INSTANCE) {\n const map = this.$element.data(`${KEY}:ALL`) as Map>;\n if (map) {\n map.delete(this._key);\n if (map.size === 0) {\n this.$element.removeData(`${KEY}:ALL`);\n } else {\n const nextInstance = map.values().next().value;\n $element.data(KEY, nextInstance).attr(DATA_KEY, nextInstance.gid);\n }\n }\n }\n\n this._options = undefined;\n this._element = undefined;\n }\n\n /**\n * Set the component options.\n *\n * @param options The component options to set.\n * @returns The component options.\n */\n setOptions(options?: Partial>) {\n if (options) {\n $.extend(this._options, options);\n }\n return this._options;\n }\n\n /**\n * Emit a component event.\n * @param event The event name.\n * @param args The event arguments.\n */\n emit>(event: N, ...args: ComponentEventArgs): Event {\n const eventObject = $.Event(event);\n (eventObject as unknown as {__src?: unknown}).__src = this;\n this.$emitter.trigger(eventObject, [this, ...args]);\n return eventObject as unknown as Event;\n }\n\n /**\n * Listen to a component event.\n *\n * @param event The event name.\n * @param callback The event callback.\n */\n on>(event: N | (string & {}), callback: ComponentEventCallback, options?: {once?: boolean}) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const component = this;\n this.$element[options?.once ? 'one' : 'on'](this._wrapEvent(event), function (this: Component, e: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, info: [Component, ComponentEventArgs]) {\n if (!(e as {__src?: unknown}).__src || (e as {__src?: unknown}).__src === component) {\n callback.call(this, e, info);\n }\n });\n }\n\n /**\n * Listen to a component event.\n *\n * @param event The event name.\n * @param callback The event callback.\n */\n one>(event: N, callback: ComponentEventCallback) {\n this.on(event, callback, {once: true});\n }\n\n /**\n * Stop listening to a component event.\n * @param event The event name.\n * @param callback The event callback.\n */\n off>(event: N | (string & {})) {\n this.$element.off(this._wrapEvent(event));\n }\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments.\n * @param defaultValue The default value if the key is not found.\n */\n i18n(key: string, args?: (string | number)[] | Record, defaultValue?: string): string;\n\n /**\n * Get the i18n text.\n *\n * @param key The i18n key.\n * @param args The i18n arguments or the default value.\n * @param defaultValue The default value if the key is not found.\n * @returns The i18n text.\n */\n i18n(key: string, args?: string | (string | number)[] | Record, defaultValue?: string): string {\n return i18n(this.options.i18n, key, args, defaultValue, this.options.lang, this.constructor.NAME)\n ?? i18n(this.options.i18n, key, args, defaultValue, this.options.lang)\n ?? `{i18n:${key}}`;\n }\n\n /**\n * Get event namespace.\n * @returns Event namespace.\n */\n get namespace() {\n return `${this.constructor.NAMESPACE}.${this._key}`;\n }\n\n /**\n * Wrap event names with component namespace.\n *\n * @param names The event names.\n * @returns The wrapped event names.\n */\n protected _wrapEvent(names: string) {\n return names.split(' ').map(name => name.includes('.') ? name : `${name}${this.namespace}`).join(' ');\n }\n\n /**\n * Get the component instance of the given element.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns The component instance.\n */\n static get>(this: T, selector: Selector, key?: string | number): InstanceType | undefined {\n const $element = $(selector);\n if (this.MULTI_INSTANCE && key !== undefined) {\n const instanceMap = $element.data(`${this.KEY}:ALL`);\n if (instanceMap) {\n return instanceMap.get(key);\n }\n return;\n }\n return $element.data(this.KEY);\n }\n\n /**\n * Ensure the component instance of the given element.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @param options The component options.\n * @returns The component instance.\n */\n static ensure>(this: T, selector: Selector, options?: Partial>): InstanceType {\n const instance = this.get(selector, options?.key);\n if (instance) {\n if (options) {\n instance.setOptions(options);\n }\n return instance;\n }\n return new this(selector, options) as InstanceType;\n }\n\n /**\n * Get all component instances.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns All component instances.\n */\n static getAll>(this: T, selector?: Selector): InstanceType[] {\n const {MULTI_INSTANCE, DATA_KEY} = this;\n const list: InstanceType[] = [];\n $(selector || document)\n .find(`[${DATA_KEY}]`)\n .each((_, element) => {\n if (MULTI_INSTANCE) {\n const instanceMap = $(element).data(`${this.KEY}:ALL`);\n if (instanceMap) {\n list.push(...instanceMap.values());\n return;\n }\n }\n const instance = $(element).data(this.KEY);\n if (instance) {\n list.push(instance);\n }\n });\n return list;\n }\n\n /**\n * Query the component instance.\n *\n * @param this Current component constructor.\n * @param selector The component element selector.\n * @returns The component instance.\n */\n static query>(this: T, selector?: Selector, key?: string | number): InstanceType | undefined {\n if (selector === undefined) {\n return this.getAll().sort((a, b) => a.gid - b.gid)[0];\n }\n return this.get($(selector).closest(`[${this.DATA_KEY}]`), key);\n }\n\n /**\n * Create cash fn.method for current component.\n *\n * @param name The method name.\n */\n static defineFn(name?: string) {\n let fnName = (name || this.ZUI) as keyof Cash;\n if ($.fn[fnName]) {\n fnName = `zui${this.NAME}` as keyof Cash;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const ZUIComponent = this;\n $.fn.extend({\n [fnName](options: Partial> | string, ...args: unknown[]) {\n const initOptions = typeof options === 'object' ? options : undefined;\n const callMethod = typeof options === 'string' ? options : undefined;\n let callResult: unknown;\n this.each((_: number, element: Element) => {\n let instance = ZUIComponent.get(element);\n if (instance) {\n if (initOptions) {\n instance.render(initOptions);\n }\n } else {\n instance = new ZUIComponent(element, initOptions);\n }\n if (callMethod) {\n let method: ((...args: unknown[]) => void) = (instance as unknown as Record void>)[callMethod];\n let callThis: unknown = instance;\n if (method === undefined) {\n callThis = (instance as unknown as {$: Record void>}).$;\n method = (callThis as Record void>)[callMethod as string];\n }\n if (typeof method === 'function') {\n callResult = method.call(callThis, ...args);\n } else {\n callResult = method;\n }\n }\n });\n return callResult !== undefined ? callResult : this;\n },\n });\n }\n}\n","import {createRef, render, h, Attributes} from 'preact';\nimport type {Component as ComponentReact, ComponentClass} from 'preact';\nimport {Component as ComponentBase, ComponentEventsDefnition} from '../component';\n\nexport class ComponentFromReact = ComponentReact, E extends ComponentEventsDefnition = {}, U extends Element = Element> extends ComponentBase {\n /**\n * The React component class.\n */\n static Component: unknown;\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof ComponentFromReact;\n\n /**\n * The React ref for component instance.\n */\n ref = createRef();\n\n /**\n * The React component instance.\n */\n get $(): C | null {\n return this.ref.current;\n }\n\n /**\n * Render after component init.\n */\n afterInit() {\n this.render();\n }\n\n /**\n * Destroy component.\n */\n destroy() {\n this.$?.componentWillUnmount?.();\n if (this.element) {\n this.element.innerHTML = '';\n }\n super.destroy();\n }\n\n /**\n * Render component.\n *\n * @param options new options.\n */\n render(options?: Partial) {\n render(\n h(this.constructor.Component as ComponentClass, {\n ref: this.ref,\n ...this.setOptions(options),\n } as Attributes),\n this.element,\n );\n }\n}\n","import {classes} from '@zui/core';\nimport {Attributes, ComponentType, h as _h} from 'preact';\nimport {ActionDividerProps} from '../types/action-divider-props';\n\nexport function ActionDivider({\n component = 'div',\n className,\n children,\n style,\n attrs,\n}: ActionDividerProps) {\n return _h(component as ComponentType, {\n className: classes(className),\n style,\n ...attrs,\n } as Attributes, children);\n}\n","import {Attributes, ComponentType, h as _h} from 'preact';\nimport {classes, CustomContent, Icon} from '@zui/core';\nimport {ActionItemProps} from '../types/action-item-props';\n\nexport function ActionItem({\n type,\n component = 'a',\n className,\n children,\n content,\n attrs,\n url,\n disabled,\n active,\n icon,\n text,\n target,\n trailingIcon,\n hint,\n checked,\n onClick,\n data,\n ...others\n}: ActionItemProps) {\n const finalChildren = [\n typeof checked === 'boolean' ? (\n \n \n
\n ) : null,\n ,\n {text} ,\n ,\n children,\n ,\n ];\n return _h(component as ComponentType, {\n className: classes(className, {disabled, active}),\n title: hint,\n [component === 'a' ? 'href' : 'data-url']: url,\n [component === 'a' ? 'target' : 'data-target']: target,\n onClick,\n ...others,\n ...attrs,\n } as Attributes, ...finalChildren);\n}\n","import {CustomContent, classes} from '@zui/core';\nimport {Attributes, ComponentType, h as _h} from 'preact';\nimport {ActionHeadingProps} from '../types/action-heading-props';\n\nexport function ActionHeading({\n component = 'div',\n className,\n text,\n attrs,\n children,\n content,\n style,\n onClick,\n}: ActionHeadingProps) {\n return _h(component as ComponentType, {\n className: classes(className),\n style,\n onClick,\n ...attrs,\n } as Attributes, text, , children);\n}\n","import {classes} from '@zui/core';\nimport {Attributes, ComponentType, h as _h} from 'preact';\nimport {ActionSpaceProps} from '../types/action-space-props';\n\nexport function ActionSpace({\n component = 'div',\n className,\n style,\n space,\n flex,\n attrs,\n onClick,\n children,\n}: ActionSpaceProps) {\n return _h(component as ComponentType, {\n className: classes(className),\n style: {width: space, height: space, flex, ...style},\n onClick,\n ...attrs,\n } as Attributes, children);\n}\n","import {CustomRender} from '@zui/core';\nimport {ActionCustomProps} from '../types/action-custom-props';\n\nexport function ActionCustom({type, ...props}: ActionCustomProps) {\n return ;\n}\n","import {CustomContent, classes} from '@zui/core';\nimport {Attributes, ComponentType, h as _h} from 'preact';\nimport {ActionBasicProps} from '../types';\n\nexport function ActionBasic({\n component = 'div',\n className,\n children,\n content,\n style,\n attrs,\n}: ActionBasicProps) {\n return _h(component as ComponentType, {\n className: classes(className),\n style,\n ...attrs,\n } as Attributes, , children);\n}\n","import {Component, createRef, h as _h, isValidElement} from 'preact';\nimport type {JSX, ComponentType} from 'preact';\nimport {classes, ClassNameLike} from '@zui/core';\nimport '@zui/css-icons/src/icons/caret.css';\nimport '../style/index.css';\nimport {ActionDivider} from './action-divider';\nimport {ActionItem} from './action-item';\nimport {ActionHeading} from './action-heading';\nimport {ActionSpace} from './action-space';\nimport {ActionCustom} from './action-custom';\nimport {ActionBasic} from './action-basic';\nimport type {ActionMenuOptions} from '../types/action-menu-options';\nimport type {ActionBasicProps} from '../types/action-basic-props';\nimport type {ActionMenuItemOptions} from '../types/action-menu-item-options';\nimport {ActionItemProps} from '../types';\n\nexport class ActionMenu = ActionMenuOptions, S = {}> extends Component {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static ItemComponents: Record> = {\n divider: ActionDivider,\n item: ActionItem,\n heading: ActionHeading,\n space: ActionSpace,\n custom: ActionCustom,\n basic: ActionBasic,\n };\n\n static ROOT_TAG = 'menu';\n\n static NAME = 'action-menu';\n\n ref = createRef();\n\n get name() {\n return this.props.name ?? (this.constructor as typeof ActionMenu).NAME;\n }\n\n componentDidMount() {\n this.afterRender(true);\n }\n\n componentDidUpdate(): void {\n this.afterRender(false);\n }\n\n componentWillUnmount(): void {\n this.props.beforeDestroy?.({menu: this});\n }\n\n afterRender(firstRender: boolean) {\n this.props.afterRender?.({menu: this, firstRender});\n }\n\n handleItemClick(item: T, index: number, onClick: ((event: MouseEvent, item: T, index: number) => void) | undefined, event: MouseEvent) {\n if (onClick) {\n onClick.call(event.target, event, item, index);\n }\n const {onClickItem} = this.props;\n if (onClickItem) {\n onClickItem({menu: this, item, index, event});\n }\n }\n\n beforeRender(): Omit & {items: T[]} {\n const props = {...this.props};\n if (typeof props.items === 'function') {\n props.items = props.items(this);\n }\n if (!props.items) {\n props.items = [];\n }\n const customOptions = props.beforeRender?.({menu: this, options: props});\n if (customOptions) {\n Object.assign(props, customOptions);\n }\n return props as Omit
& {items: T[]};\n }\n\n getItemRenderProps(props: Omit
& {items: T[]}, item: T, index: number): T {\n const {commonItemProps, onClickItem, itemRenderProps} = props;\n let itemProps: T = {...item};\n\n if (commonItemProps) {\n Object.assign(itemProps, commonItemProps[item.type || 'item']);\n }\n if (onClickItem || item.onClick) {\n itemProps.onClick = this.handleItemClick.bind(this, itemProps, index, item.onClick as ((event: MouseEvent) => void)) as JSX.MouseEventHandler;\n }\n itemProps.className = classes(itemProps.className);\n if (itemRenderProps) {\n itemProps = itemRenderProps(itemProps);\n }\n return itemProps;\n }\n\n renderItem(props: Omit & {items: T[]}, item: T, index: number) {\n if (!item) {\n return null;\n }\n const itemAllProps = this.getItemRenderProps(props, item, index);\n\n const {itemRender} = props;\n if (itemRender) {\n if (typeof itemRender === 'object') {\n const CustomRenderComponent = itemRender[item.type || 'item'];\n if (CustomRenderComponent) {\n return ;\n }\n } else if (typeof itemRender === 'function') {\n const result = itemRender.call(this, itemAllProps, _h);\n if (isValidElement(result)) {\n return result;\n }\n if (typeof result === 'object') {\n Object.assign(itemAllProps, result);\n }\n }\n }\n\n const {type = 'item', component, key = index, rootAttrs, rootClass, rootStyle, rootChildren, ...itemProps} = itemAllProps;\n\n if (type === 'html') {\n return (\n
)}\n style={rootStyle || itemProps.style}\n dangerouslySetInnerHTML={{__html: (itemProps as unknown as {html: string}).html}}\n />\n );\n }\n\n const ItemComponent = (!component || typeof component === 'string')\n ? (this.constructor as typeof ActionMenu).ItemComponents ? ((this.constructor as typeof ActionMenu).ItemComponents[type] || ActionMenu.ItemComponents[type]) : ActionMenu.ItemComponents[type]\n : component;\n Object.assign(itemProps, {\n type,\n component: typeof component === 'string' ? component : undefined,\n });\n\n if (props.checkbox && type === 'item' && (itemProps as ActionItemProps).checked === undefined) {\n (itemProps as ActionItemProps).checked = !!(itemProps as ActionItemProps).active;\n }\n\n return this.renderTypedItem(ItemComponent, {\n className: classes(rootClass),\n children: rootChildren,\n style: rootStyle,\n key,\n ...rootAttrs,\n } as JSX.HTMLAttributes, {\n ...itemProps,\n type,\n component: typeof component === 'string' ? component : undefined,\n } as T);\n }\n\n renderTypedItem(ItemComponent: ComponentType, rootProps: JSX.HTMLAttributes, itemProps: T) {\n const {children, className, key, ...rootAttrs} = rootProps;\n\n return (\n )}\n >\n \n {typeof children === 'function' ? children() : children}\n \n );\n }\n\n render() {\n const props = this.beforeRender();\n const {\n name,\n style,\n commonItemProps: itemProps,\n className,\n items,\n children,\n itemRender,\n onClickItem,\n beforeRender,\n afterRender,\n beforeDestroy,\n ...others\n } = props;\n\n const RootTag = (this.constructor as typeof ActionMenu).ROOT_TAG as unknown as ComponentType;\n\n return (\n \n {items && items.map(this.renderItem.bind(this, props))}\n {children}\n \n );\n }\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {ActionMenu as ActionMenuReact} from '../component/action-menu';\nimport type {ActionMenuOptions, ActionBasicProps, ActionMenuItemOptions} from '../types';\n\nexport class ActionMenu extends ComponentFromReact, ActionMenuReact> {\n static NAME = 'ActionMenu';\n\n static Component = ActionMenuReact;\n}\n","import {ActionNestedItemProps} from '../types/action-nested-item-props';\nimport {ActionItem} from './action-item';\n\nexport function ActionNestedItem({\n items,\n show,\n level,\n ...others\n}: ActionNestedItemProps) {\n return ;\n}\n","import {ComponentChildren} from 'preact';\nimport {$, classes} from '@zui/core';\nimport type {ActionBasicProps, ActionMenuItemKey, ActionNestedItemProps, ActionMenuNestedItemOptions, ActionMenuNestedOptions, ActionMenuNestedState, ActionMenuOptions} from '../types';\nimport {ActionMenu} from './action-menu';\nimport {ActionNestedItem} from './action-nested-item';\n\nexport class ActionMenuNested = ActionMenuNestedOptions> extends ActionMenu {\n static ItemComponents = {\n item: ActionNestedItem,\n };\n\n #keys = new Set();\n\n #controlled: boolean;\n\n constructor(props: P) {\n super(props);\n this.#controlled = props.nestedShow === undefined; // Controlled menu use state to store nested\n if (this.#controlled) {\n this.state = {nestedShow: props.defaultNestedShow ?? {}};\n }\n }\n\n get nestedTrigger() {\n return this.props.nestedTrigger;\n }\n\n beforeRender(): Omit & {items: T[]} {\n const allProps = super.beforeRender();\n const {nestedShow, nestedTrigger, defaultNestedShow, controlledMenu, indent, ...props} = allProps;\n if (typeof props.items === 'function') {\n props.items = props.items(this);\n }\n if (!props.items) {\n props.items = [];\n }\n if (!props.items.some(x => (x as ActionNestedItemProps).items)) {\n props.className = classes(props.className, 'no-nested-items');\n }\n if (!controlledMenu && indent) {\n props.style = Object.assign({\n [`--${this.name}-indent`]: `${indent}px`,\n }, props.style);\n }\n return props as Omit
& {items: T[]};\n }\n\n getNestedMenuProps(items: ActionMenuNestedItemOptions[]): ActionMenuNestedOptions {\n const {name, controlledMenu, nestedShow, beforeDestroy, beforeRender, itemRender, onClickItem, afterRender, commonItemProps, level, itemRenderProps} = this.props;\n return {\n items: items,\n name: name,\n nestedShow: this.#controlled ? this.state.nestedShow : nestedShow,\n nestedTrigger: this.nestedTrigger,\n controlledMenu: (controlledMenu || this) as ActionMenuNested,\n commonItemProps: commonItemProps,\n onClickItem: onClickItem as ActionMenuOptions['onClickItem'],\n afterRender: afterRender as ActionMenuOptions['afterRender'],\n beforeRender: beforeRender as ActionMenuOptions['beforeRender'],\n beforeDestroy: beforeDestroy as ActionMenuOptions['beforeDestroy'],\n itemRender: itemRender as ActionMenuOptions['itemRender'],\n itemRenderProps: itemRenderProps as ActionMenuOptions['itemRenderProps'],\n level: (level || 0) + 1,\n };\n }\n\n renderNestedMenu(item: ActionNestedItemProps) {\n let {items} = item;\n if (!items) {\n return;\n }\n if (typeof items === 'function') {\n items = items(item, this as ActionMenuNested);\n }\n if (!items.length) {\n return;\n }\n const NestedMenuComponent = (this.constructor as typeof ActionMenuNested);\n const props = this.getNestedMenuProps(items);\n\n return (\n \n );\n }\n\n isNestedItem(item: T): boolean {\n return (!item.type || item.type === 'item') && !!(item as ActionNestedItemProps).items;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n renderToggleIcon(_show: boolean, _item: ActionNestedItemProps): ComponentChildren | void {\n }\n\n getItemRenderProps(props: Omit
& {items: T[]}, item: T, index: number): T {\n const itemProps = super.getItemRenderProps(props, item, index);\n (itemProps as ActionNestedItemProps).level = (props.level || 0);\n if (!this.isNestedItem(itemProps)) {\n return itemProps;\n }\n const key = itemProps.key ?? (itemProps as {id?: string}).id ?? `${(props.level || 0)}:${index}`;\n this.#keys.add(key);\n const show = this.isExpanded(key);\n if (show) {\n itemProps.rootChildren = [\n itemProps.rootChildren,\n this.renderNestedMenu(item),\n ];\n }\n if (this.nestedTrigger === 'hover') {\n itemProps.rootAttrs = {\n ...itemProps.rootAttrs,\n onMouseEnter: this.#toggleMenuByEvent.bind(this, key, true),\n onMouseLeave: this.#toggleMenuByEvent.bind(this, key, false),\n };\n } else if (this.nestedTrigger === 'click') {\n const {onClick} = itemProps;\n itemProps.onClick = (event) => {\n this.#toggleMenuByEvent(key, undefined, event);\n (onClick as (event: MouseEvent) => void)?.(event);\n };\n }\n const toggleIcon = this.renderToggleIcon(show, itemProps);\n if (toggleIcon) {\n itemProps.children = [itemProps.children, toggleIcon];\n }\n (itemProps as ActionNestedItemProps).show = show;\n itemProps.rootClass = [itemProps.rootClass, 'has-nested-menu', show ? 'show' : ''];\n return itemProps;\n }\n\n isExpanded(key: ActionMenuItemKey) {\n const nestedShow = this.#controlled ? this.state.nestedShow : this.props.nestedShow;\n if (nestedShow && typeof nestedShow === 'object') {\n return nestedShow[key];\n }\n return !!nestedShow;\n }\n\n toggle(key: ActionMenuItemKey, toggle?: boolean): boolean {\n const {controlledMenu} = this.props;\n if (controlledMenu) {\n return controlledMenu.toggle(key, toggle);\n }\n if (!this.#controlled) {\n return false;\n }\n let {nestedShow: nestedShowState = {}} = this.state;\n if (typeof nestedShowState === 'boolean') {\n if (nestedShowState === true) {\n nestedShowState = [...this.#keys.values()].reduce>((map, k) => {\n map[k] = true;\n return map;\n }, {});\n } else {\n nestedShowState = {};\n }\n }\n if (toggle === undefined) {\n toggle = !nestedShowState[key];\n } else if (!!nestedShowState[key] === !!toggle) {\n return false;\n }\n if (toggle) {\n nestedShowState[key] = toggle;\n } else {\n delete nestedShowState[key];\n }\n this.setState({nestedShow: {...nestedShowState}});\n return true;\n }\n\n expand(key: ActionMenuItemKey) {\n return this.toggle(key, true);\n }\n\n collapse(key: ActionMenuItemKey) {\n return this.toggle(key, false);\n }\n\n expandAll() {\n if (!this.#controlled) {\n return;\n }\n this.setState({nestedShow: true});\n }\n\n collapseAll() {\n if (!this.#controlled) {\n return;\n }\n this.setState({nestedShow: false});\n }\n\n #toggleMenuByEvent = (key: ActionMenuItemKey, toggle: boolean | undefined, event: MouseEvent) => {\n if ($(event.target as HTMLElement).closest('.not-nested-toggle').length) {\n return;\n }\n this.toggle(key, toggle);\n event.preventDefault();\n };\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {ActionMenuNested as ActionMenuNestedReact} from '../component/action-menu-nested';\nimport type {ActionBasicProps, ActionMenuNestedItemOptions, ActionMenuNestedOptions} from '../types';\n\nexport class ActionMenuNested extends ComponentFromReact, ActionMenuNestedReact> {\n static NAME = 'ActionMenuNested';\n\n static Component = ActionMenuNestedReact;\n}\n","import {classes} from '@zui/core';\nimport {ActionMenuNested} from '@zui/action-menu/src/component/action-menu-nested';\nimport '@zui/css-icons/src/icons/caret.css';\nimport type {ActionMenuItemOptions, ActionItemProps} from '@zui/action-menu/src/types';\nimport type {MenuOptions, MenuItemOptions} from '../types';\nimport '../style/index.css';\n\nexport class Menu = MenuOptions> extends ActionMenuNested {\n static NAME = 'menu';\n\n get nestedTrigger() {\n return this.props.nestedTrigger || 'click';\n }\n\n get menuName() {\n return 'menu-nested';\n }\n\n beforeRender() {\n const options = super.beforeRender();\n let {hasIcons} = options;\n\n if (hasIcons === undefined) {\n hasIcons = options.items.some(x => (x as ActionItemProps).icon);\n }\n options.className = classes(options.className, this.menuName, {\n 'has-icons': hasIcons,\n 'has-nested-items': options.items.some(x => this.isNestedItem(x)),\n 'popup': options.popup,\n });\n return options;\n }\n\n renderToggleIcon(show: boolean) {\n return ;\n }\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {Menu as MenuReact} from '../component';\nimport {MenuOptions, MenuItemOptions} from '../types';\n\nexport class Menu extends ComponentFromReact> {\n static NAME = 'Menu';\n\n static Component = MenuReact;\n}\n","import {classes, HElement, Icon} from '@zui/core';\nimport {ButtonProps} from '../types/button-props';\nimport type {RenderableProps} from 'preact';\nimport '../style/index.css';\n\nexport class Button extends HElement
{\n protected declare _isEmptyText?: boolean;\n\n protected declare _onlyCaret?: boolean;\n\n protected _beforeRender(props: RenderableProps
) {\n const {text, loading, loadingText, caret, icon, trailingIcon, children} = props;\n this._isEmptyText = text === undefined || text === null || (typeof text === 'string' && !text.length) || loading && !loadingText;\n this._onlyCaret = caret && this._isEmptyText && !icon && !trailingIcon && !children && !loading;\n }\n\n protected _getChildren(props: RenderableProps
) {\n const {loading, loadingIcon, loadingText, icon, text, children, trailingIcon, caret} = props;\n return [\n loading ? : ,\n this._isEmptyText ? null : {loading ? loadingText : text} ,\n loading ? null : children,\n loading ? null : ,\n loading ? null : caret ? : null,\n ];\n }\n\n protected _getClassName(props: RenderableProps
) {\n const {type, className, disabled, loading, active, children, square, size, rounded} = props;\n return classes('btn', type, className, {\n 'btn-caret': this._onlyCaret,\n disabled: disabled || loading,\n active,\n loading,\n square: square === undefined ? (!this._onlyCaret && !children && this._isEmptyText) : square,\n }, size ? `size-${size}` : '', typeof rounded === 'string' ? rounded : {rounded});\n }\n\n protected _getComponent(props: RenderableProps
) {\n return props.component || (props.url ? 'a' : 'button');\n }\n\n protected _getProps(props: RenderableProps
) {\n const component = this._getComponent(props);\n const {url, target, btnType = 'button', hint} = props;\n const componentProps: Record = {\n ...super._getProps(props),\n title: hint,\n type: component === 'button' ? btnType : undefined,\n };\n if (url !== undefined) {\n componentProps[component === 'a' ? 'href' : 'data-url'] = url;\n }\n if (target !== undefined) {\n componentProps[component === 'a' ? 'target' : 'data-target'] = target;\n }\n return componentProps;\n }\n}\n","import {Button} from '@zui/button/src/component/button';\nimport {ToolbarItemProps} from '../types';\n\nexport function ToolbarItem({\n key,\n type: toolbarType,\n btnType: type,\n ...btnProps\n}: ToolbarItemProps) {\n return ;\n}\n","import {createRef} from 'preact';\nimport {$} from '@zui/core';\nimport {Button} from '@zui/button/src/component/button';\nimport type {DropdownButtonOptions} from '../types';\nimport type {Dropdown} from '../vanilla';\n\nexport class DropdownButton extends Button {\n static defaultProps: Partial = {\n caret: true,\n };\n\n _ref = createRef();\n\n get triggerElement() {\n return this._ref.current as HTMLElement;\n }\n\n _updateData() {\n const {dropdown, items} = this.props;\n const $trigger = $(this.triggerElement);\n const instance = $trigger.zui('dropdown') as Dropdown;\n const options = {\n items,\n ...dropdown,\n };\n if (instance) {\n instance.setOptions(options);\n } else {\n $trigger.data(options);\n }\n }\n\n componentDidMount(): void {\n this._updateData();\n }\n\n componentDidUpdate(): void {\n this._updateData();\n }\n\n componentWillUnmount(): void {\n const dropdown = $(this.triggerElement).zui('dropdown') as Dropdown;\n if (dropdown) {\n dropdown.destroy();\n }\n }\n\n protected _getProps(props: DropdownButtonOptions) {\n const {trigger, placement} = props;\n return {\n ...super._getProps(props),\n 'data-toggle': 'dropdown',\n 'data-trigger': trigger,\n 'data-placement': placement,\n ref: this._ref,\n };\n }\n}\n","function t(t){return t.split(\"-\")[1]}function e(t){return\"y\"===t?\"height\":\"width\"}function n(t){return t.split(\"-\")[0]}function o(t){return[\"top\",\"bottom\"].includes(n(t))?\"x\":\"y\"}function i(i,r,a){let{reference:l,floating:s}=i;const c=l.x+l.width/2-s.width/2,f=l.y+l.height/2-s.height/2,m=o(r),u=e(m),g=l[u]/2-s[u]/2,d=\"x\"===m;let p;switch(n(r)){case\"top\":p={x:c,y:l.y-s.height};break;case\"bottom\":p={x:c,y:l.y+l.height};break;case\"right\":p={x:l.x+l.width,y:f};break;case\"left\":p={x:l.x-s.width,y:f};break;default:p={x:l.x,y:l.y}}switch(t(r)){case\"start\":p[m]-=g*(a&&d?-1:1);break;case\"end\":p[m]+=g*(a&&d?-1:1)}return p}const r=async(t,e,n)=>{const{placement:o=\"bottom\",strategy:r=\"absolute\",middleware:a=[],platform:l}=n,s=a.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let f=await l.getElementRects({reference:t,floating:e,strategy:r}),{x:m,y:u}=i(f,o,c),g=o,d={},p=0;for(let n=0;n({name:\"arrow\",options:n,async fn(i){const{x:r,y:s,placement:c,rects:m,platform:g,elements:d}=i,{element:p,padding:h=0}=a(n,i)||{};if(null==p)return{};const y=l(h),x={x:r,y:s},w=o(c),v=e(w),b=await g.getDimensions(p),A=\"y\"===w,R=A?\"top\":\"left\",P=A?\"bottom\":\"right\",E=A?\"clientHeight\":\"clientWidth\",T=m.reference[v]+m.reference[w]-x[w]-m.floating[v],D=x[w]-m.reference[w],L=await(null==g.getOffsetParent?void 0:g.getOffsetParent(p));let k=L?L[E]:0;k&&await(null==g.isElement?void 0:g.isElement(L))||(k=d.floating[E]||m.floating[v]);const O=T/2-D/2,B=k/2-b[v]/2-1,C=f(y[R],B),H=f(y[P],B),S=C,F=k-b[v]-H,M=k/2-b[v]/2+O,V=u(S,M,F),W=null!=t(c)&&M!=V&&m.reference[v]/2-(Mt.concat(e,e+\"-start\",e+\"-end\")),[]),h={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function y(t){return t.replace(/left|right|bottom|top/g,(t=>h[t]))}function x(n,i,r){void 0===r&&(r=!1);const a=t(n),l=o(n),s=e(l);let c=\"x\"===l?a===(r?\"end\":\"start\")?\"right\":\"left\":\"start\"===a?\"bottom\":\"top\";return i.reference[s]>i.floating[s]&&(c=y(c)),{main:c,cross:y(c)}}const w={start:\"end\",end:\"start\"};function v(t){return t.replace(/start|end/g,(t=>w[t]))}const b=function(e){return void 0===e&&(e={}),{name:\"autoPlacement\",options:e,async fn(o){var i,r,l;const{rects:s,middlewareData:f,placement:m,platform:u,elements:g}=o,{crossAxis:d=!1,alignment:h,allowedPlacements:y=p,autoAlignment:w=!0,...b}=a(e,o),A=void 0!==h||y===p?function(e,o,i){return(e?[...i.filter((n=>t(n)===e)),...i.filter((n=>t(n)!==e))]:i.filter((t=>n(t)===t))).filter((n=>!e||t(n)===e||!!o&&v(n)!==n))}(h||null,w,y):y,R=await c(o,b),P=(null==(i=f.autoPlacement)?void 0:i.index)||0,E=A[P];if(null==E)return{};const{main:T,cross:D}=x(E,s,await(null==u.isRTL?void 0:u.isRTL(g.floating)));if(m!==E)return{reset:{placement:A[0]}};const L=[R[n(E)],R[T],R[D]],k=[...(null==(r=f.autoPlacement)?void 0:r.overflows)||[],{placement:E,overflows:L}],O=A[P+1];if(O)return{data:{index:P+1,overflows:k},reset:{placement:O}};const B=k.map((e=>{const n=t(e.placement);return[e.placement,n&&d?e.overflows.slice(0,2).reduce(((t,e)=>t+e),0):e.overflows[0],e.overflows]})).sort(((t,e)=>t[1]-e[1])),C=(null==(l=B.filter((e=>e[2].slice(0,t(e[0])?2:3).every((t=>t<=0))))[0])?void 0:l[0])||B[0][0];return C!==m?{data:{index:P+1,overflows:k},reset:{placement:C}}:{}}}};const A=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(o){var i;const{placement:r,middlewareData:l,rects:s,initialPlacement:f,platform:m,elements:u}=o,{mainAxis:g=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:h=\"bestFit\",fallbackAxisSideDirection:w=\"none\",flipAlignment:b=!0,...A}=a(e,o),R=n(r),P=n(f)===f,E=await(null==m.isRTL?void 0:m.isRTL(u.floating)),T=p||(P||!b?[y(f)]:function(t){const e=y(t);return[v(t),e,v(e)]}(f));p||\"none\"===w||T.push(...function(e,o,i,r){const a=t(e);let l=function(t,e,n){const o=[\"left\",\"right\"],i=[\"right\",\"left\"],r=[\"top\",\"bottom\"],a=[\"bottom\",\"top\"];switch(t){case\"top\":case\"bottom\":return n?e?i:o:e?o:i;case\"left\":case\"right\":return e?r:a;default:return[]}}(n(e),\"start\"===i,r);return a&&(l=l.map((t=>t+\"-\"+a)),o&&(l=l.concat(l.map(v)))),l}(f,b,w,E));const D=[f,...T],L=await c(o,A),k=[];let O=(null==(i=l.flip)?void 0:i.overflows)||[];if(g&&k.push(L[R]),d){const{main:t,cross:e}=x(r,s,E);k.push(L[t],L[e])}if(O=[...O,{placement:r,overflows:k}],!k.every((t=>t<=0))){var B,C;const t=((null==(B=l.flip)?void 0:B.index)||0)+1,e=D[t];if(e)return{data:{index:t,overflows:O},reset:{placement:e}};let n=null==(C=O.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:C.placement;if(!n)switch(h){case\"bestFit\":{var H;const t=null==(H=O.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:H[0];t&&(n=t);break}case\"initialPlacement\":n=f}if(r!==n)return{reset:{placement:n}}}return{}}}};function R(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function P(t){return d.some((e=>t[e]>=0))}const E=function(t){return void 0===t&&(t={}),{name:\"hide\",options:t,async fn(e){const{rects:n}=e,{strategy:o=\"referenceHidden\",...i}=a(t,e);switch(o){case\"referenceHidden\":{const t=R(await c(e,{...i,elementContext:\"reference\"}),n.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:P(t)}}}case\"escaped\":{const t=R(await c(e,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:t,escaped:P(t)}}}default:return{}}}}};function T(t){const e=f(...t.map((t=>t.left))),n=f(...t.map((t=>t.top)));return{x:e,y:n,width:m(...t.map((t=>t.right)))-e,height:m(...t.map((t=>t.bottom)))-n}}const D=function(t){return void 0===t&&(t={}),{name:\"inline\",options:t,async fn(e){const{placement:i,elements:r,rects:c,platform:u,strategy:g}=e,{padding:d=2,x:p,y:h}=a(t,e),y=Array.from(await(null==u.getClientRects?void 0:u.getClientRects(r.reference))||[]),x=function(t){const e=t.slice().sort(((t,e)=>t.y-e.y)),n=[];let o=null;for(let t=0;to.height/2?n.push([i]):n[n.length-1].push(i),o=i}return n.map((t=>s(T(t))))}(y),w=s(T(y)),v=l(d);const b=await u.getElementRects({reference:{getBoundingClientRect:function(){if(2===x.length&&x[0].left>x[1].right&&null!=p&&null!=h)return x.find((t=>p>t.left-v.left&&pt.top-v.top&&h=2){if(\"x\"===o(i)){const t=x[0],e=x[x.length-1],o=\"top\"===n(i),r=t.top,a=e.bottom,l=o?t.left:e.left,s=o?t.right:e.right;return{top:r,bottom:a,left:l,right:s,width:s-l,height:a-r,x:l,y:r}}const t=\"left\"===n(i),e=m(...x.map((t=>t.right))),r=f(...x.map((t=>t.left))),a=x.filter((n=>t?n.left===r:n.right===e)),l=a[0].top,s=a[a.length-1].bottom;return{top:l,bottom:s,left:r,right:e,width:e-r,height:s-l,x:r,y:l}}return w}},floating:r.floating,strategy:g});return c.reference.x!==b.reference.x||c.reference.y!==b.reference.y||c.reference.width!==b.reference.width||c.reference.height!==b.reference.height?{reset:{rects:b}}:{}}}};const L=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(i){const{x:r,y:l}=i,s=await async function(e,i){const{placement:r,platform:l,elements:s}=e,c=await(null==l.isRTL?void 0:l.isRTL(s.floating)),f=n(r),m=t(r),u=\"x\"===o(r),g=[\"left\",\"top\"].includes(f)?-1:1,d=c&&u?-1:1,p=a(i,e);let{mainAxis:h,crossAxis:y,alignmentAxis:x}=\"number\"==typeof p?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return m&&\"number\"==typeof x&&(y=\"end\"===m?-1*x:x),u?{x:y*d,y:h*g}:{x:h*g,y:y*d}}(i,e);return{x:r+s.x,y:l+s.y,data:s}}}};function k(t){return\"x\"===t?\"y\":\"x\"}const O=function(t){return void 0===t&&(t={}),{name:\"shift\",options:t,async fn(e){const{x:i,y:r,placement:l}=e,{mainAxis:s=!0,crossAxis:f=!1,limiter:m={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...g}=a(t,e),d={x:i,y:r},p=await c(e,g),h=o(n(l)),y=k(h);let x=d[h],w=d[y];if(s){const t=\"y\"===h?\"bottom\":\"right\";x=u(x+p[\"y\"===h?\"top\":\"left\"],x,x-p[t])}if(f){const t=\"y\"===y?\"bottom\":\"right\";w=u(w+p[\"y\"===y?\"top\":\"left\"],w,w-p[t])}const v=m.fn({...e,[h]:x,[y]:w});return{...v,data:{x:v.x-i,y:v.y-r}}}}},B=function(t){return void 0===t&&(t={}),{options:t,fn(e){const{x:i,y:r,placement:l,rects:s,middlewareData:c}=e,{offset:f=0,mainAxis:m=!0,crossAxis:u=!0}=a(t,e),g={x:i,y:r},d=o(l),p=k(d);let h=g[d],y=g[p];const x=a(f,e),w=\"number\"==typeof x?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(m){const t=\"y\"===d?\"height\":\"width\",e=s.reference[d]-s.floating[t]+w.mainAxis,n=s.reference[d]+s.reference[t]-w.mainAxis;hn&&(h=n)}if(u){var v,b;const t=\"y\"===d?\"width\":\"height\",e=[\"top\",\"left\"].includes(n(l)),o=s.reference[p]-s.floating[t]+(e&&(null==(v=c.offset)?void 0:v[p])||0)+(e?0:w.crossAxis),i=s.reference[p]+s.reference[t]+(e?0:(null==(b=c.offset)?void 0:b[p])||0)-(e?w.crossAxis:0);yi&&(y=i)}return{[d]:h,[p]:y}}}},C=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(i){const{placement:r,rects:l,platform:s,elements:u}=i,{apply:g=(()=>{}),...d}=a(e,i),p=await c(i,d),h=n(r),y=t(r),x=\"x\"===o(r),{width:w,height:v}=l.floating;let b,A;\"top\"===h||\"bottom\"===h?(b=h,A=y===(await(null==s.isRTL?void 0:s.isRTL(u.floating))?\"start\":\"end\")?\"left\":\"right\"):(A=h,b=\"end\"===y?\"top\":\"bottom\");const R=v-p[b],P=w-p[A],E=!i.middlewareData.shift;let T=R,D=P;if(x){const t=w-p.left-p.right;D=y||E?f(P,t):t}else{const t=v-p.top-p.bottom;T=y||E?f(R,t):t}if(E&&!y){const t=m(p.left,0),e=m(p.right,0),n=m(p.top,0),o=m(p.bottom,0);x?D=w-2*(0!==t||0!==e?t+e:m(p.left,p.right)):T=v-2*(0!==n||0!==o?n+o:m(p.top,p.bottom))}await g({...i,availableWidth:D,availableHeight:T});const L=await s.getDimensions(u.floating);return w!==L.width||v!==L.height?{reset:{rects:!0}}:{}}}};export{g as arrow,b as autoPlacement,r as computePosition,c as detectOverflow,A as flip,E as hide,D as inline,B as limitShift,L as offset,s as rectToClientRect,O as shift,C as size};\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}function i(t){return t instanceof n(t).Node}function r(t){return i(t)?(t.nodeName||\"\").toLowerCase():\"#document\"}function c(t){return t instanceof HTMLElement||t instanceof n(t).HTMLElement}function l(t){return\"undefined\"!=typeof ShadowRoot&&(t instanceof n(t).ShadowRoot||t instanceof ShadowRoot)}function s(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function f(t){return[\"table\",\"td\",\"th\"].includes(r(t))}function u(t){const e=a(),n=o(t);return\"none\"!==n.transform||\"none\"!==n.perspective||!!n.containerType&&\"normal\"!==n.containerType||!e&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\",\"filter\"].some((t=>(n.willChange||\"\").includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>(n.contain||\"\").includes(t)))}function a(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}function d(t){return[\"html\",\"body\",\"#document\"].includes(r(t))}const h=Math.min,p=Math.max,m=Math.round,g=Math.floor,y=t=>({x:t,y:t});function w(t){const e=o(t);let n=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const r=c(t),l=r?t.offsetWidth:n,s=r?t.offsetHeight:i,f=m(n)!==l||m(i)!==s;return f&&(n=l,i=s),{width:n,height:i,$:f}}function x(t){return t instanceof Element||t instanceof n(t).Element}function v(t){return x(t)?t:t.contextElement}function b(t){const e=v(t);if(!c(e))return y(1);const n=e.getBoundingClientRect(),{width:o,height:i,$:r}=w(e);let l=(r?m(n.width):n.width)/o,s=(r?m(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}const L=y(0);function T(t){const e=n(t);return a()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:L}function R(e,o,i,r){void 0===o&&(o=!1),void 0===i&&(i=!1);const c=e.getBoundingClientRect(),l=v(e);let s=y(1);o&&(r?x(r)&&(s=b(r)):s=b(e));const f=function(t,e,o){return void 0===e&&(e=!1),!(!o||e&&o!==n(t))&&e}(l,i,r)?T(l):y(0);let u=(c.left+f.x)/s.x,a=(c.top+f.y)/s.y,d=c.width/s.x,h=c.height/s.y;if(l){const t=n(l),e=r&&x(r)?n(r):r;let o=t.frameElement;for(;o&&r&&e!==t;){const t=b(o),e=o.getBoundingClientRect(),i=getComputedStyle(o),r=e.left+(o.clientLeft+parseFloat(i.paddingLeft))*t.x,c=e.top+(o.clientTop+parseFloat(i.paddingTop))*t.y;u*=t.x,a*=t.y,d*=t.x,h*=t.y,u+=r,a+=c,o=n(o).frameElement}}return t({width:d,height:h,x:u,y:a})}function E(t){return x(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function S(t){var e;return null==(e=(i(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function C(t){return R(S(t)).left+E(t).scrollLeft}function F(t){if(\"html\"===r(t))return t;const e=t.assignedSlot||t.parentNode||l(t)&&t.host||S(t);return l(e)?e.host:e}function O(t){const e=F(t);return d(e)?t.ownerDocument?t.ownerDocument.body:t.body:c(e)&&s(e)?e:O(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=O(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),c=n(i);return r?e.concat(c,c.visualViewport||[],s(i)?i:[]):e.concat(i,D(i))}function H(e,i,r){let l;if(\"viewport\"===i)l=function(t,e){const o=n(t),i=S(t),r=o.visualViewport;let c=i.clientWidth,l=i.clientHeight,s=0,f=0;if(r){c=r.width,l=r.height;const t=a();(!t||t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:c,height:l,x:s,y:f}}(e,r);else if(\"document\"===i)l=function(t){const e=S(t),n=E(t),i=t.ownerDocument.body,r=p(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=p(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let l=-n.scrollLeft+C(t);const s=-n.scrollTop;return\"rtl\"===o(i).direction&&(l+=p(e.clientWidth,i.clientWidth)-r),{width:r,height:c,x:l,y:s}}(S(e));else if(x(i))l=function(t,e){const n=R(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=c(t)?b(t):y(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,r);else{const t=T(e);l={...i,x:i.x-t.x,y:i.y-t.y}}return t(l)}function W(t,e){const n=F(t);return!(n===e||!x(n)||d(n))&&(\"fixed\"===o(n).position||W(n,e))}function M(t,e,n){const o=c(e),i=S(e),l=\"fixed\"===n,f=R(t,!0,l,e);let u={scrollLeft:0,scrollTop:0};const a=y(0);if(o||!o&&!l)if((\"body\"!==r(e)||s(i))&&(u=E(e)),c(e)){const t=R(e,!0,l,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else i&&(a.x=C(i));return{x:f.left+u.scrollLeft-a.x,y:f.top+u.scrollTop-a.y,width:f.width,height:f.height}}function z(t,e){return c(t)&&\"fixed\"!==o(t).position?e?e(t):t.offsetParent:null}function P(t,e){const i=n(t);if(!c(t))return i;let l=z(t,e);for(;l&&f(l)&&\"static\"===o(l).position;)l=z(l,e);return l&&(\"html\"===r(l)||\"body\"===r(l)&&\"static\"===o(l).position&&!u(l))?i:l||function(t){let e=F(t);for(;c(e)&&!d(e);){if(u(e))return e;e=F(e)}return null}(t)||i}const V={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=c(n),l=S(n);if(n===l)return e;let f={scrollLeft:0,scrollTop:0},u=y(1);const a=y(0);if((i||!i&&\"fixed\"!==o)&&((\"body\"!==r(n)||s(l))&&(f=E(n)),c(n))){const t=R(n);u=b(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-f.scrollLeft*u.x+a.x,y:e.y*u.y-f.scrollTop*u.y+a.y}},getDocumentElement:S,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:c}=t;const l=[...\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>x(t)&&\"body\"!==r(t))),c=null;const l=\"fixed\"===o(t).position;let f=l?F(t):t;for(;x(f)&&!d(f);){const e=o(f),n=u(f);n||\"fixed\"!==e.position||(c=null),(l?!n&&!c:!n&&\"static\"===e.position&&c&&[\"absolute\",\"fixed\"].includes(c.position)||s(f)&&!n&&W(t,f))?i=i.filter((t=>t!==f)):c=e,f=F(f)}return e.set(t,i),i}(e,this._c):[].concat(n),i],f=l[0],a=l.reduce(((t,n)=>{const o=H(e,n,c);return t.top=p(o.top,t.top),t.right=h(o.right,t.right),t.bottom=h(o.bottom,t.bottom),t.left=p(o.left,t.left),t}),H(e,f,c));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:P,getElementRects:async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||P,r=this.getDimensions;return{reference:M(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){return w(t)},getScale:b,isElement:x,isRTL:function(t){return\"rtl\"===getComputedStyle(t).direction}};function A(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:c=\"function\"==typeof ResizeObserver,layoutShift:l=\"function\"==typeof IntersectionObserver,animationFrame:s=!1}=o,f=v(t),u=i||r?[...f?D(f):[],...D(e)]:[];u.forEach((t=>{i&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));const a=f&&l?function(t,e){let n,o=null;const i=S(t);function r(){clearTimeout(n),o&&o.disconnect(),o=null}return function c(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),r();const{left:f,top:u,width:a,height:d}=t.getBoundingClientRect();if(l||e(),!a||!d)return;const m={rootMargin:-g(u)+\"px \"+-g(i.clientWidth-(f+a))+\"px \"+-g(i.clientHeight-(u+d))+\"px \"+-g(f)+\"px\",threshold:p(0,h(1,s))||1};let y=!0;function w(t){const e=t[0].intersectionRatio;if(e!==s){if(!y)return c();e?c(!1,e):n=setTimeout((()=>{c(!1,1e-7)}),100)}y=!1}try{o=new IntersectionObserver(w,{...m,root:i.ownerDocument})}catch(t){o=new IntersectionObserver(w,m)}o.observe(t)}(!0),r}(f,n):null;let d,m=-1,y=null;c&&(y=new ResizeObserver((t=>{let[o]=t;o&&o.target===f&&y&&(y.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{y&&y.observe(e)}))),n()})),f&&!s&&y.observe(f),y.observe(e));let w=s?R(t):null;return s&&function e(){const o=R(t);!w||o.x===w.x&&o.y===w.y&&o.width===w.width&&o.height===w.height||n();w=o,d=requestAnimationFrame(e)}(),n(),()=>{u.forEach((t=>{i&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),a&&a(),y&&y.disconnect(),y=null,s&&cancelAnimationFrame(d)}}const B=(t,n,o)=>{const i=new Map,r={platform:V,...o},c={...r.platform,_c:i};return e(t,n,{...r,platform:c})};export{A as autoUpdate,B as computePosition,D as getOverflowAncestors,V as platform};\n","import {$, classes} from '@zui/core';\nimport {flip, computePosition, shift, offset} from '@floating-ui/dom';\nimport {Menu} from '@zui/menu/src/component/menu';\nimport '@zui/css-icons/src/icons/caret.css';\nimport type {MenuItemOptions} from '@zui/menu/src/types';\nimport type {MenuOptions} from '@zui/menu/src/types';\nimport type {ActionMenuNestedItemOptions} from '@zui/action-menu/src/types';\nimport type {DropdownMenuOptions} from '../types/dropdown-menu-options';\n\nexport class DropdownMenu = DropdownMenuOptions> extends Menu {\n static defaultProps: Partial = {\n ...Menu.defaultProps,\n popup: true,\n nestedTrigger: 'hover',\n placement: 'right-start',\n };\n\n protected _layoutTimer = 0;\n\n get name() {\n return 'menu';\n }\n\n get menuName() {\n return 'dropdown-menu';\n }\n\n protected layout() {\n const element = this.ref.current as HTMLElement;\n const trigger = element?.parentElement;\n if (!element || !trigger) {\n return;\n }\n\n computePosition(trigger, element, {\n placement: this.props.placement,\n middleware: [flip(), shift(), offset(1)],\n }).then(({x, y}) => {\n $(element).css({\n left: x,\n top: y,\n });\n });\n }\n\n getNestedMenuProps(items: ActionMenuNestedItemOptions[]): MenuOptions {\n const props = super.getNestedMenuProps(items);\n return {\n ...props,\n className: classes('show', props.className),\n popup: true,\n };\n }\n\n afterRender(firstRender: boolean) {\n super.afterRender(firstRender);\n if (this.props.controlledMenu) {\n this.layout();\n this._layoutTimer = window.setTimeout(this.layout.bind(this), 100);\n }\n }\n\n renderToggleIcon() {\n return ;\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n if (this._layoutTimer) {\n clearTimeout(this._layoutTimer);\n }\n }\n}\n","import {DropdownButton} from '@zui/dropdown/src/component';\nimport {ToolbarDropdownProps} from '../types';\n\nexport function ToolbarDropdown({\n key,\n type: toolbarType,\n btnType: type,\n ...dropdownBtnProps\n}: ToolbarDropdownProps) {\n return (\n \n );\n}\n","import {Component, h as _h, isValidElement, JSX} from 'preact';\nimport {classes} from '@zui/core';\nimport {Button} from '@zui/button/src/component/button';\nimport {DropdownButton} from '@zui/dropdown/src/component/dropdown-button';\nimport {BtnProps} from '../types/btn-props';\nimport {BtnGroupOptions} from '../types/btn-group-options';\nimport '../style/index.css';\n\nexport class BtnGroup extends Component {\n componentDidMount() {\n this.props.afterRender?.call(this, {firstRender: true});\n }\n\n componentDidUpdate(): void {\n this.props.afterRender?.call(this, {firstRender: false});\n }\n\n componentWillUnmount(): void {\n this.props.beforeDestroy?.call(this);\n }\n\n handleItemClick(item: BtnProps, index: number, onClick: ((event: MouseEvent) => void) | undefined, event: MouseEvent) {\n if (onClick) {\n onClick.call(event.target, event);\n }\n const {onClickItem} = this.props;\n if (onClickItem) {\n onClickItem.call(this, {item, index, event});\n }\n }\n\n beforeRender(): Omit & {items: BtnProps[]} {\n const options = {...this.props};\n const customOptions = options.beforeRender?.call(this, options);\n if (customOptions) {\n Object.assign(options, customOptions);\n }\n if (typeof options.items === 'function') {\n options.items = options.items.call(this);\n }\n return options as Omit & {items: BtnProps[]};\n }\n\n onRenderItem(item: BtnProps, index: number) {\n const {key = index, ...others} = item;\n const ButtonComponent = (item.dropdown || item.items) ? DropdownButton : Button;\n return ;\n }\n\n renderItem(options: Omit & {items: BtnProps[]}, item: BtnProps, index: number) {\n const {itemRender, btnProps: defaultBtnProps, onClickItem} = options;\n const btnProps: BtnProps = {key: index, ...item};\n if (defaultBtnProps) {\n Object.assign(btnProps, defaultBtnProps);\n }\n if (onClickItem) {\n btnProps.onClick = this.handleItemClick.bind(this, btnProps, index, item.onClick as ((event: MouseEvent) => void)) as JSX.MouseEventHandler;\n }\n if (itemRender) {\n const result = itemRender.call(this, btnProps, _h);\n if (isValidElement(result)) {\n return result;\n }\n if (typeof result === 'object') {\n Object.assign(btnProps, result);\n }\n }\n\n return this.onRenderItem(btnProps, index);\n }\n\n render() {\n const options = this.beforeRender();\n const {\n className,\n items,\n size,\n type,\n btnProps,\n children,\n itemRender,\n onClickItem,\n beforeRender,\n afterRender,\n beforeDestroy,\n ...others\n } = options;\n\n return (\n \n {items && items.map(this.renderItem.bind(this, options))}\n {children}\n
\n );\n }\n}\n","import {BtnGroup} from '@zui/btn-group/src/component/btn-group';\nimport {ToolbarBtnGroupProps} from '../types';\n\nexport function ToolbarBtnGroup({\n key,\n type: toolbarType,\n btnType: type,\n ...btnGroupProps\n}: ToolbarBtnGroupProps) {\n return (\n \n );\n}\n","import {classes, ClassNameLike} from '@zui/core';\nimport {ActionMenu} from '@zui/action-menu/src/component/action-menu';\nimport {ActionBasicProps} from '@zui/action-menu/src/types';\nimport '@zui/css-icons/src/icons/caret.css';\nimport type {ToolbarOptions, ToolbarItemOptions} from '../types';\nimport '../style/index.css';\nimport {ComponentType, JSX} from 'preact';\nimport {ToolbarItem} from './toolbar-item';\nimport {ToolbarDropdown} from './toolbar-dropdown';\nimport {ButtonProps} from '@zui/button/src/types';\nimport {ToolbarBtnGroup} from './toolbar-btn-group';\n\nexport class Toolbar = ToolbarOptions> extends ActionMenu {\n static ItemComponents = {\n item: ToolbarItem,\n dropdown: ToolbarDropdown,\n 'btn-group': ToolbarBtnGroup,\n };\n\n static ROOT_TAG = 'nav';\n\n static NAME = 'toolbar';\n\n static defaultProps = {\n btnProps: {\n btnType: 'ghost',\n },\n };\n\n beforeRender() {\n const {gap, btnProps, wrap, ...options} = super.beforeRender();\n options.className = classes(options.className, wrap ? 'flex-wrap' : '', typeof gap === 'number' ? `gap-${gap}` : '');\n if (typeof gap === 'string') {\n if (options.style) {\n options.style.gap = gap;\n } else {\n options.style = {gap: gap};\n }\n }\n return options as Omit & {items: T[]};\n }\n\n isBtnItem(type?: string) {\n return type === 'item' || type === 'dropdown';\n }\n\n renderTypedItem(ItemComponent: ComponentType, rootProps: JSX.HTMLAttributes, itemProps: T) {\n const {type} = itemProps;\n const userBtnProps = this.props.btnProps;\n const btnProps = (this.isBtnItem(type) ? {btnType: 'ghost', ...userBtnProps} : {}) as ButtonProps;\n const props = {\n ...rootProps,\n ...btnProps,\n ...itemProps,\n className: classes(`${this.name}-${type}`, rootProps.className as ClassNameLike, btnProps.className, itemProps.className),\n style: Object.assign({}, rootProps.style, btnProps.style, itemProps.style),\n } as T;\n if (type === 'btn-group') {\n props.btnProps = userBtnProps;\n }\n return ;\n }\n}\n","import {isValidElement, ComponentChildren} from 'preact';\nimport {classes, Icon} from '@zui/core';\nimport {Button} from '@zui/button/src/component/button';\nimport type {ButtonProps} from '@zui/button';\nimport type {ToolbarOptions} from '@zui/toolbar';\nimport '@zui/css-icons/src/icons/close.css';\nimport {AlertOptions} from '../types';\nimport {Toolbar} from '@zui/toolbar/src/component';\n\nexport function Alert({\n className,\n style,\n actions,\n heading,\n content,\n contentClass,\n children,\n close,\n onClose,\n icon,\n ...others\n}: AlertOptions) {\n let closeButton: ComponentChildren;\n if (close === true) {\n closeButton = ;\n } else if (isValidElement(close)) {\n closeButton = close;\n } else if (typeof close === 'object') {\n closeButton = ;\n }\n const actionsToolbar = isValidElement(actions) ? actions : (actions ? : null);\n return (\n
\n
\n {isValidElement(content) ? content : (\n
\n {isValidElement(heading) ? heading : (heading &&
{heading}
)}\n
{content}
\n {heading ? actionsToolbar : null}\n
\n )}\n {heading ? null : actionsToolbar}\n {closeButton}\n {children}\n
\n );\n}\n","import {classes} from '@zui/core';\nimport {Alert} from '@zui/alert/src/component';\nimport {MessagerItemOptions, MessagerPlacement} from '../types';\n\nfunction getAnimationFromPlacement(placement?: MessagerPlacement): string {\n if (placement === 'center') {\n return 'fade-from-center';\n }\n if (placement) {\n if (placement.includes('top')) {\n return 'fade-from-top';\n }\n if (placement.includes('bottom')) {\n return 'fade-from-bottom';\n }\n }\n return 'fade';\n}\n\nexport function MessagerItem({\n margin,\n type,\n placement,\n animation,\n show,\n className,\n time,\n ...alertOptions\n}: MessagerItemOptions) {\n return (\n \n );\n}\n","import {$, ComponentFromReact} from '@zui/core';\nimport {MessagerItem as MessagerItemReact} from '../component';\nimport {MessagerOptions, MessagerEvents} from '../types';\n\nexport class MessagerItem extends ComponentFromReact {\n static NAME = 'MessagerItem';\n\n static Component = MessagerItemReact;\n\n _show = false;\n\n _showTimer = 0;\n\n get isShown() {\n return this._show;\n }\n\n afterInit(): void {\n this.on('click', (event) => {\n const dismissToggle = $(event.target as Element).closest('.alert-close,[data-dismiss=\"messager\"]');\n if (!dismissToggle.length) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n });\n }\n\n setOptions(options?: MessagerOptions) {\n options = super.setOptions(options);\n return {\n ...options,\n show: this._show,\n afterRender: this._afterRender,\n };\n }\n\n show() {\n this.render();\n this.emit('show');\n this.#resetTimer(() => {\n this._show = true;\n this.render();\n\n this.#resetTimer(() => {\n this.emit('shown');\n const {time} = this.options;\n if (time) {\n this.#resetTimer(() => this.hide(), time);\n }\n });\n }, 100);\n }\n\n hide() {\n if (!this._show) {\n return;\n }\n\n this.#resetTimer(() => {\n this.emit('hide');\n this._show = false;\n this.render();\n\n this.#resetTimer(() => {\n this.emit('hidden');\n });\n }, 50);\n }\n\n #resetTimer(callback: () => void, time = 200) {\n if (this._showTimer) {\n clearTimeout(this._showTimer);\n }\n this._showTimer = window.setTimeout(() => {\n callback();\n this._showTimer = 0;\n }, time);\n }\n\n _afterRender = ({firstRender}: {firstRender: boolean}) => {\n if (firstRender) {\n this.show();\n }\n const {margin} = this.options;\n if (margin) {\n this.$element.css('margin', `${margin}px`);\n }\n };\n}\n","import {$, Component} from '@zui/core';\nimport {MessagerOptions} from '../types';\nimport {MessagerItem} from './messager-item';\n\nexport class Messager extends Component {\n static NAME = 'messager';\n\n static DEFAULT = {\n placement: 'top',\n animation: true,\n close: true,\n margin: 6,\n time: 5000,\n } as Partial;\n\n #holder?: HTMLElement;\n\n #item?: MessagerItem;\n\n get isShown() {\n return !!this.#item?.isShown;\n }\n\n show(options?: MessagerOptions) {\n this.setOptions(options);\n this.#getItem().show();\n }\n\n hide() {\n this.#item?.hide();\n }\n\n #getItem() {\n if (this.#item) {\n this.#item.setOptions(this.options);\n } else {\n const holder = this.#getHolder();\n const item = new MessagerItem(holder, this.options);\n item.on('hidden', () => {\n item.destroy();\n holder?.remove();\n this.#holder = undefined;\n this.#item = undefined;\n });\n this.#item = item;\n }\n return this.#item;\n }\n\n #getHolder() {\n if (this.#holder) {\n return this.#holder;\n }\n const {placement = 'top'} = this.options;\n let $container = this.$element.find(`.messagers-${placement}`);\n if (!$container.length) {\n $container = $(`
`).appendTo(this.$element);\n }\n let $holder = $container.find(`#messager-${this.gid}`);\n if (!$holder.length) {\n $holder = $(`
`).appendTo($container);\n this.#holder = $holder[0];\n }\n return $holder[0];\n }\n\n static show(options: (MessagerOptions & {container?: string | HTMLElement}) | string) {\n if (typeof options === 'string') {\n options = {content: options};\n }\n const {container, ...others} = options;\n const messager = Messager.ensure(container || 'body');\n messager.setOptions(others);\n messager.hide();\n messager.show();\n return messager;\n }\n}\n","import {Component} from 'preact';\nimport {ProgressCircleOptions} from '../types';\n\nexport class ProgressCircle extends Component {\n\n static defaultProps: Partial = {\n percent: 50,\n size: 24,\n circleWidth: 0.1,\n circleBg: 'var(--color-surface)',\n circleColor: 'var(--color-primary-500)',\n text: true,\n };\n\n render(props: ProgressCircleOptions) {\n const {percent = 50, size = 24, circleBg, circleColor, text, className, textStyle, textX, textY} = props;\n const center = size / 2;\n let {circleWidth = 0.2} = props;\n if (circleWidth < 1) {\n circleWidth = size * circleWidth;\n }\n const radius = (size - circleWidth) / 2;\n return (\n \n \n \n {text ? {text === true ? Math.round(percent) : text} : null}\n \n );\n }\n}\n","import {ComponentFromReact} from '@zui/core';\nimport {ProgressCircle as ProgressCircleReact} from '../component/progress-circle';\nimport {ProgressCircleOptions} from '../types';\n\nexport class ProgressCircle extends ComponentFromReact {\n static NAME = 'ProgressCircle';\n\n static Component = ProgressCircleReact;\n}\n","export class EventEmitter {\n #eventTarget: EventTarget;\n\n constructor(descOrTarget: EventTarget | string = '') {\n if (typeof descOrTarget === 'object') {\n this.#eventTarget = descOrTarget;\n } else {\n this.#eventTarget = document.appendChild(document.createComment(descOrTarget));\n }\n }\n\n on(type: string, listener: EventListener, options?: AddEventListenerOptions) {\n this.#eventTarget.addEventListener(type, listener, options);\n }\n\n once(type: string, listener: EventListener, options?: AddEventListenerOptions) {\n this.#eventTarget.addEventListener(type, listener, {once: true, ...options});\n }\n\n off(type: string, listener: EventListener, options?: AddEventListenerOptions) {\n this.#eventTarget.removeEventListener(type, listener, options);\n }\n\n emit(event: Event) {\n this.#eventTarget.dispatchEvent(event);\n return event;\n }\n}\n","import {EventEmitter} from './event-emitter';\n\nexport interface CustomEventListener {\n (evt: E): void;\n}\n\nexport type CustomEventMap = {[event: string]: Event};\n\nexport const nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll',\n]);\n\nexport class EventBus> extends EventEmitter {\n on(type: T, listener: CustomEventListener, options?: AddEventListenerOptions) {\n super.on(type, listener as EventListener, options);\n }\n\n off(type: T, listener: CustomEventListener, options?: AddEventListenerOptions) {\n super.off(type, listener as EventListener, options);\n }\n\n once(type: T, listener: CustomEventListener, options?: AddEventListenerOptions) {\n super.once(type, listener as EventListener, options);\n }\n\n emit(event: T, detail?: E[T] extends CustomEvent ? E[T]['detail'] : never): E[T];\n emit(event: E[T]): E[T];\n emit(event: T | E[T], detail?: E[T] extends CustomEvent ? E[T]['detail'] : never): E[T] {\n if (typeof event === 'string') {\n if (nativeEvents.has(event)) {\n event = new Event(event) as E[T];\n Object.assign(event, {detail});\n } else {\n event = new CustomEvent(event, {detail}) as unknown as E[T];\n }\n }\n return super.emit(EventBus.createEvent(event, detail)) as E[T];\n }\n\n static createEvent(event: string | T, detail?: T extends CustomEvent ? T['detail'] : never): T {\n if (typeof event === 'string') {\n if (nativeEvents.has(event)) {\n event = new Event(event) as T;\n Object.assign(event, {detail});\n } else {\n event = new CustomEvent(event, {detail}) as unknown as T;\n }\n }\n return event;\n }\n}\n","export { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nexport let nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\n","import {nanoid} from 'nanoid';\n\n/** Store type */\nexport type StoreType = 'local' | 'session';\n\nconst STR_PREFIX = '```ZUI_STR\\n';\n\n/**\n * Store for using localStorage and sessionStorage\n */\nexport class Store {\n #type: StoreType;\n\n #name: string;\n\n #userName: string;\n\n #storage: Storage;\n\n #alterStorage?: Store;\n\n /**\n * Create new store instance\n * @param name Name of store\n * @param type Store type\n */\n constructor(name?: string, type: StoreType = 'local') {\n this.#type = type;\n this.#userName = name ?? nanoid();\n this.#name = `ZUI_STORE:${this.#userName}`;\n this.#storage = type === 'local' ? localStorage : sessionStorage;\n }\n\n /**\n * Get store type\n */\n get type(): StoreType {\n return this.#type;\n }\n\n /**\n * Get session type store instance\n */\n get session(): Store {\n if (this.type === 'session') {\n return this;\n }\n if (!this.#alterStorage) {\n this.#alterStorage = new Store(this.#userName, 'session');\n }\n return this.#alterStorage;\n }\n\n #getActualKey(key: string): string {\n return `${this.#name}:${key}`;\n }\n\n /**\n * Get value from store.\n * @param key Key to get\n * @returns Value of key or undefined if key is not found\n */\n get(key: string): T | undefined;\n\n /**\n * Get value from store, if key is not found, return defaultValue.\n *\n * @param key Key to get.\n * @param defaultValue Default value to return if key is not found.\n */\n get(key: string, defaultValue: T): T;\n\n /**\n * Get value from store.\n *\n * @param key Key to get.\n * @param defaultValue Default value to return if key is not found.\n * @returns Value of key or defaultValue if key is not found.\n */\n get(key: string, defaultValue?: T): T | undefined {\n const value = this.#storage.getItem(this.#getActualKey(key));\n if (typeof value === 'string') {\n if (value.startsWith(STR_PREFIX)) {\n return value.substring(STR_PREFIX.length) as T;\n }\n try {\n return JSON.parse(value);\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n }\n return (value as T) ?? defaultValue;\n }\n\n /**\n * Set key-value pair in store\n * @param key Key to set\n * @param value Value to set\n */\n set(key: string, value: unknown): void {\n if (value === undefined || value === null) {\n return this.remove(key);\n }\n this.#storage.setItem(this.#getActualKey(key), typeof value === 'string' ? `${STR_PREFIX}${value}` : JSON.stringify(value));\n }\n\n /**\n * Remove key-value pair from store\n * @param key Key to remove\n */\n remove(key: string): void {\n this.#storage.removeItem(this.#getActualKey(key));\n }\n\n /**\n * Iterate all key-value pairs in store\n * @param callback Callback function to call for each key-value pair in the store\n */\n each(callback: (name: string, value: unknown) => void): void {\n for (let i = 0; i < this.#storage.length; i++) {\n const key = this.#storage.key(i);\n if (key?.startsWith(this.#name)) {\n const value = this.#storage.getItem(key);\n if (typeof value === 'string') {\n callback(key.substring(this.#name.length + 1), JSON.parse(value));\n }\n }\n }\n }\n\n /**\n * Get all key values in store\n * @returns All key-value pairs in the store\n */\n getAll(): Record {\n const result: Record = {};\n this.each((key, value) => {\n result[key] = value;\n });\n return result;\n }\n}\n","import {Store, StoreType} from './store';\n\nexport type {Store} from './store';\n\nexport const store = new Store('DEFAULT');\n\nfunction createStore(name?: string, type: StoreType = 'local') {\n return new Store(name, type);\n}\n\nObject.assign(store, {create: createStore});\n","import {cash} from '@zui/core';\nimport {CashAjaxOptions, CashStaticAjax} from './types';\n\nconst $ = cash as (typeof cash & CashStaticAjax);\n\n// Zepto.js\n// (c) 2010-2016 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\n\nconst document = window.document;\nlet key: string;\nlet name: string;\nconst rscript = /`);\n if (removeAfterRun) {\n $element.find(`#${id}`).remove();\n }\n }\n return;\n }\n $element.find('script').each((_, script) => {\n runJS($element, (script as HTMLScriptElement).innerHTML);\n script.remove();\n });\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n runJS(jsCode?: string): this;\n }\n\n interface CashStatic {\n runJS(jsCode: string, ...args: [name: string, value: unknown][]): T;\n }\n}\n\n/* Extend as $.runJS() */\n$.runJS = (jsCode: string, ...args: [name: string, value: unknown][]): T => {\n jsCode = jsCode.trim();\n if (!jsCode.startsWith('return ') && !jsCode.endsWith(';')) {\n jsCode = `return ${jsCode}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const func = new Function(...args.map(([name]) => name), jsCode);\n return func(...args.map(([, value]) => value));\n};\n\n/* Extend as $.fn.runJS() */\n$.fn.runJS = function (this: Cash, jsCode?: string) {\n return this.each((_, ele) => {\n runJS(ele, jsCode);\n });\n};\n","import {$, Cash, Selector} from '../cash';\nimport {isVisible} from './is-visible';\n\n/**\n * Options for {@link scrollIntoView}.\n */\ntype CashScrollIntoViewOptions = ScrollIntoViewOptions & {\n ifNeeded?: boolean;\n};\n\n/**\n * Scroll into view.\n *\n * @param selector Element selector to scroll into view.\n * @param options Options.\n * @returns True if the element is visible.\n * @see https://stackoverflow.com/a/26039199\n */\nexport function scrollIntoView(selector: Selector, options?: CashScrollIntoViewOptions): Cash {\n const $element = $(selector);\n const {ifNeeded = true, ...other} = options || {};\n $element.each((_, ele) => {\n if (ifNeeded && isVisible(ele, {viewport: ele.getBoundingClientRect()})) {\n return;\n }\n ele.scrollIntoView(other);\n });\n return $element;\n}\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface Cash {\n scrollIntoView(options?: CashScrollIntoViewOptions): this;\n }\n}\n\n/* Extend as $.fn.scrollIntoView() */\n$.fn.scrollIntoView = function (this: Cash, options?: CashScrollIntoViewOptions) {\n return this.each((_, ele) => {\n scrollIntoView(ele, options);\n });\n};\n","import {$} from '../cash';\n\nexport type GetLibCallback = () => void;\n\nexport type GetLibOptions = {\n src: string;\n id?: string;\n async?: boolean;\n defer?: boolean;\n noModule?: boolean;\n type?: string;\n integrity?: string;\n name?: string;\n root?: string;\n success?: GetLibCallback;\n};\n\n/* Declare types. */\ndeclare module 'cash-dom' {\n interface CashStatic {\n libRoot?: string;\n\n libMap?: Record;\n\n setLibRoot(root: string): void;\n\n registerLib(name: string, options: GetLibOptions): void;\n\n getLib(options: GetLibOptions): Promise;\n getLib(src: string): Promise;\n getLib(src: string, options: Omit): Promise;\n getLib(src: string, callback: GetLibCallback): Promise;\n getLib(src: string, options: GetLibCallback, callback?: GetLibCallback): Promise;\n getLib(optionsOrSrc: string | GetLibOptions, optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise;\n\n /**\n * @deprecated Use $.getLib instead.\n */\n getScript(optionsOrSrc: string | (GetLibOptions & {src: string}), optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise;\n }\n}\n\n/** Define the $.libRoot property. */\n$.setLibRoot = function (root: string): void {\n $.libRoot = root;\n};\n\n/** Define the $.libMap property. */\n$.registerLib = function (name: string, options: GetLibOptions): void {\n if (!$.libMap) {\n $.libMap = {};\n }\n if (!options.name && options.id) {\n options.id = `zui-lib-${name}`;\n }\n $.libMap[name] = options;\n};\n\n/** Define the $.getLib method. */\n$.getLib = function (optionsOrSrc: string | (GetLibOptions & {src: string}), optionsOrCallback?: Omit | GetLibCallback, callback?: GetLibCallback): Promise {\n return new Promise((resolve, reject) => {\n let options: GetLibOptions = typeof optionsOrSrc === 'string' ? {src: optionsOrSrc} : $.extend({}, optionsOrSrc);\n if (typeof optionsOrCallback === 'function') {\n options.success = optionsOrCallback;\n } else if (optionsOrCallback) {\n $.extend(options, optionsOrCallback);\n }\n if (callback) {\n options.success = callback;\n }\n\n let {src} = options;\n if (!src) {\n return reject(new Error('[ZUI] No src provided for $.getLib.'));\n }\n const lib = $.libMap && $.libMap[src];\n if (lib) {\n options = $.extend({}, lib, options);\n src = lib.src || options.src;\n }\n const {root = $.libRoot} = options;\n if (root) {\n src = `${root}/${src}`.replace('//', '/');\n }\n\n const {success, name} = options;\n const getLibVar = () => {\n return name ? (window as unknown as Record)[name] : undefined;\n };\n const onSuccess = () => {\n resolve(getLibVar() as T);\n success?.();\n };\n if (getLibVar()) {\n onSuccess();\n return;\n }\n\n const {id} = options;\n const $oldScripts = $(id ? `#${id}` : `script[src=\"${src}\"]`);\n if ($oldScripts.length) {\n if ($oldScripts.dataset('loaded')) {\n onSuccess();\n } else {\n const callbacks = $oldScripts.data('loadCalls') || [];\n callbacks.push(onSuccess);\n $oldScripts.data('loadCalls', callbacks);\n }\n return;\n }\n const {async = true, defer = false, noModule = false, type, integrity} = options;\n const script = document.createElement('script');\n script.async = async;\n script.defer = defer;\n script.noModule = noModule;\n if (type) {\n script.type = type;\n }\n if (integrity) {\n script.integrity = integrity;\n }\n\n script.onload = () => {\n onSuccess();\n const callbacks: GetLibCallback[] = $(script).dataset('loaded', true).data('loadCalls') || [];\n callbacks.forEach(x => x());\n $(script).removeData('loadCalls');\n };\n script.onerror = () => {\n reject(new Error(`[ZUI] Failed to load lib from: ${src}`));\n };\n script.src = src;\n $('head').append(script);\n });\n};\n\n/** Define the $.getScript method. */\n$.getScript = $.getLib;\n","var n,l,u,t,i,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h=Array.isArray;function v(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,t){var i,o,r,f={};for(r in u)\"key\"==r?i=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,i,o,null)}function d(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&i.sort(f));x.__r=0}function P(n,l,u,t,i,o,r,f,e,a,v){var p,y,_,b,g,m,w,x,P,S,H=0,I=t&&t.__k||s,T=I.length,j=T,z=l.length;for(u.__k=[],p=0;p0?d(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)&&(b.__=u,b.__b=u.__b+1,-1===(x=A(b,I,w=p+H,j))?_=c:(_=I[x]||c,I[x]=void 0,j--),L(n,b,_,i,o,r,f,e,a,v),g=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&O(_.ref,null,b),v.push(y,b.__c||g,b)),null!=g&&(null==m&&(m=g),S=!(P=_===c||null===_.__v)&&x===w,P?-1==x&&H--:x!==w&&(x===w+1?(H++,S=!0):x>w?j>z-w?(H+=x-w,S=!0):H--:H=x(null!=e?1:0))for(;r>=0||f=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--}if(f2&&(e.children=arguments.length>3?n.call(arguments,2):t),d(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v({},this.state),\"function\"==typeof n&&(n=n(v({},u),this.props)),n&&v(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,i=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;export{b as Component,k as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,t as isValidElement,l as options,D as render,S as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import htm from 'htm';\nimport {h} from './preact';\n\nconst html = htm.bind(h);\n\nexport {\n htm,\n html as hh,\n};\n","import {h, Component} from 'preact';\nimport type {PreactDOMAttributes, JSX, RefObject, ComponentType, RenderableProps, ComponentChildren} from 'preact';\nimport {ClassNameLike, classes} from '../../helpers/classes';\n\n/**\n * The HTML props that can be passed to a component which root not is a html element.\n */\nexport interface HElementProps extends PreactDOMAttributes {\n /**\n * The component or the HTML element name.\n */\n component?: ComponentType | keyof JSX.IntrinsicElements;\n\n /**\n * The alternative class name of the element.\n */\n className?: ClassNameLike;\n\n /**\n * The alternative class name of the element.\n */\n class?: ClassNameLike;\n\n /**\n * The style of the element.\n */\n style?: JSX.CSSProperties;\n\n /**\n * The attributes of the element.\n */\n attrs?: Record;\n\n /**\n * The extra data.\n */\n data?: Record;\n\n /**\n * The ref of the element.\n */\n forwardRef?: RefObject;\n\n /**\n * The other props of the element.\n */\n [dataKey: `data-${string}`]: unknown;\n}\n\nexport class HElement extends Component
{\n protected _getClassName(props: RenderableProps
): ClassNameLike {\n return [props.className, props.class];\n }\n\n protected _getProps(props: RenderableProps
): Record {\n const {className, class: className2, attrs, data, forwardRef, children, style, ...others} = props;\n const other = Object.keys(others).reduce>((map, key) => {\n if (key === 'dangerouslySetInnerHTML' || /^(on[A-Z]|data-)[a-zA-Z-]+/.test(key)) {\n map[key] = others[key as keyof typeof others];\n }\n return map;\n }, {});\n return {ref: forwardRef, class: classes(this._getClassName(props)), style, ...other, ...attrs};\n }\n\n protected _getComponent(props: RenderableProps): ComponentType | keyof JSX.IntrinsicElements {\n return props.component || 'div';\n }\n\n protected _getChildren(props: RenderableProps
): ComponentChildren {\n return props.children;\n }\n\n protected _beforeRender(props: RenderableProps
): RenderableProps
| undefined | void {\n return props;\n }\n\n render(props: RenderableProps
) {\n props = this._beforeRender(props) || props;\n return h(this._getComponent(props) as ComponentType, this._getProps(props), this._getChildren(props));\n }\n}\n","import{options as r}from\"preact\";export{Fragment}from\"preact\";var _=0;function o(o,e,n,t,f,l){var s,u,a={};for(u in e)\"ref\"==u?s=e[u]:a[u]=e[u];var i={type:o,props:a,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--_,__source:f,__self:l};if(\"function\"==typeof o&&(s=o.defaultProps))for(u in s)void 0===a[u]&&(a[u]=s[u]);return r.vnode&&r.vnode(i),i}export{o as jsx,o as jsxDEV,o as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import {Component, createRef} from 'preact';\nimport {$} from '../../cash';\nimport {HElement, HElementProps} from './h-element';\n\n/**\n * HTML content component props.\n */\nexport interface HtmlContentProps extends HElementProps {\n /**\n * HTML code.\n */\n html: string,\n\n /**\n * Execute script.\n */\n executeScript?: boolean,\n}\n\n/**\n * HTML content component.\n *\n * @example\n * // Render
Hello world
\n * Hello world\" />\n *\n * // Render and execute script\n * alert('Hello world')\" executeScript />\n */\nexport class HtmlContent extends Component {\n protected _ref = createRef();\n\n protected _runJS() {\n if (!this.props.executeScript) {\n return;\n }\n $(this._ref.current).runJS();\n }\n\n componentDidMount(): void {\n this._runJS();\n }\n\n componentDidUpdate(previousProps: Readonly): void {\n if (this.props.html !== previousProps.html) {\n this._runJS();\n }\n }\n\n render(props: HtmlContentProps) {\n const {executeScript, html, ...others} = props;\n return ;\n }\n}\n","import {h as _h, isValidElement, ComponentChildren, JSX, Attributes} from 'preact';\nimport {classes, ClassNameLike} from '../../helpers';\n\nexport type CustomRenderResultItem = Partial<{\n html: string;\n __html: string;\n style: JSX.CSSProperties;\n className: ClassNameLike;\n children: ComponentChildren;\n attrs: JSX.HTMLAttributes;\n [prop: string]: unknown;\n}>;\n\nexport type CustomRenderResultGenerator = unknown[], THIS = unknown> = (this: THIS, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[] | undefined | void;\n\nexport type CustomRenderResult = unknown[], THIS = unknown> = CustomRenderResultGenerator | CustomRenderResultItem | ComponentChildren;\n\nexport type CustomRenderResultList = unknown[], THIS = unknown> = CustomRenderResult[];\n\nexport type CustomRenderProps = unknown[], THIS = unknown> = {\n tag?: string;\n className?: ClassNameLike;\n style?: JSX.CSSProperties;\n renders: CustomRenderResultList;\n generateArgs?: T;\n generators?: Record>;\n generatorThis?: THIS;\n onGenerate?: (this: THIS, generator: CustomRenderResultGenerator, result: ComponentChildren[], ...args: T) => (ComponentChildren | CustomRenderResultItem)[];\n onRenderItem?: (item: CustomRenderResultItem) => ComponentChildren;\n};\n\nexport function renderCustomResult(props: CustomRenderProps): [JSX.HTMLAttributes, ComponentChildren[]] {\n const {\n tag,\n className,\n style,\n renders,\n generateArgs = [],\n generatorThis,\n generators,\n onGenerate,\n onRenderItem,\n ...others\n } = props;\n const classList: ClassNameLike = [className];\n const rootStyle: JSX.CSSProperties = {...style};\n const result: ComponentChildren[] = [];\n const rawHtml: string[] = [];\n renders.forEach(render => {\n const items: (CustomRenderResultItem | ComponentChildren)[] = [];\n if (typeof render === 'string' && generators && generators[render]) {\n render = generators[render];\n }\n if (typeof render === 'function') {\n if (onGenerate) {\n items.push(...onGenerate.call(generatorThis, render as CustomRenderResultGenerator, result, ...generateArgs));\n } else {\n const renderResult = (render as CustomRenderResultGenerator).call(generatorThis, result, ...generateArgs);\n if (renderResult) {\n if (Array.isArray(renderResult)) {\n items.push(...renderResult);\n } else {\n items.push(renderResult);\n }\n }\n }\n } else {\n items.push(render);\n }\n items.forEach(item => {\n if (item === undefined || item === null) {\n return;\n }\n if (typeof item === 'object' && !isValidElement(item) && ('html' in item || '__html' in item || 'className' in item || 'style' in item || 'attrs' in item || 'children' in item)) {\n if (item.html) {\n result.push(\n )}>
,\n );\n } else if (item.__html) {\n rawHtml.push(item.__html);\n } else {\n if (item.style) {\n Object.assign(rootStyle, item.style);\n }\n if (item.className) {\n classList.push(item.className);\n }\n if (item.children) {\n result.push(item.children);\n }\n if (item.attrs) {\n Object.assign(others, item.attrs);\n }\n }\n } else {\n result.push(item);\n }\n });\n });\n\n if (rawHtml.length) {\n Object.assign(others, {dangerouslySetInnerHTML: {__html: rawHtml}});\n }\n\n return [{\n className: classes(classList),\n style: rootStyle,\n ...others,\n }, result];\n}\n\nexport function CustomRender({\n tag = 'div',\n ...props\n}: CustomRenderProps) {\n const [attrs, children] = renderCustomResult(props);\n return _h(tag, attrs as Attributes, ...children);\n}\n","import {ComponentChildren, isValidElement, VNode} from 'preact';\nimport {HtmlContent, HtmlContentProps} from './html-content';\nimport {HElementProps, HElement} from './h-element';\n\nexport type CustomContentStatic = ComponentChildren | HtmlContentProps | HElementProps;\n\nexport type CustomContentGenerator = (this: THIS | undefined, ...args: ARGS | []) => CustomContentStatic;\n\nexport type CustomContentType = CustomContentStatic | CustomContentGenerator;\n\nexport type CustomContentProps = {\n content: CustomContentType | CustomContentType[];\n generatorThis?: THIS;\n generatorArgs?: ARGS;\n};\n\nexport function renderCustomContent(\n content: CustomContentType | CustomContentType[],\n generatorThis?: THIS,\n generatorArgs?: ARGS,\n): ComponentChildren {\n if (typeof content === 'function') {\n return (content as CustomContentGenerator).call(generatorThis, ...((generatorArgs || []) as ARGS));\n }\n if (Array.isArray(content)) {\n return content.map((x) => renderCustomContent(x, generatorThis, generatorArgs));\n }\n if (isValidElement(content) || content === null) {\n return content;\n }\n if (typeof content === 'object') {\n if ((content as HtmlContentProps).html) {\n return ;\n }\n return ;\n }\n return content;\n}\n\n/**\n * Component for rendering custom content.\n *\n * @param props Custom content props.\n * @returns Custom content.\n */\nexport function CustomContent(props: CustomContentProps): VNode | null {\n const {content, generatorThis, generatorArgs} = props;\n const result = renderCustomContent(content, generatorThis, generatorArgs);\n if (result === undefined || result === null || typeof result === 'boolean') {\n return null;\n }\n if (isValidElement(result)) {\n return result;\n }\n return <>{result}>;\n}\n","import {JSX, VNode, isValidElement} from 'preact';\nimport {ClassNameLike, classes} from '../../helpers/classes';\n\nexport type IconType = string | JSX.HTMLAttributes | VNode;\n\nexport type IconProps = {\n icon?: IconType;\n className?: ClassNameLike;\n [key: string]: unknown;\n};\n\nconst createIconClass = (icon: string) => icon.startsWith('icon-') ? icon : `icon-${icon}`;\n\nexport function Icon(props: IconProps) {\n const {icon, className, ...others} = props;\n if (!icon) {\n return null;\n }\n if (isValidElement(icon)) {\n return icon;\n }\n const classList: ClassNameLike[] = ['icon', className as string];\n if (typeof icon === 'string') {\n classList.push(createIconClass(icon));\n } else if (typeof icon === 'object') {\n const {className: iconClass, icon: finalIcon, ...iconOthers} = icon;\n classList.push(iconClass as string, finalIcon ? createIconClass(finalIcon as string) : '');\n Object.assign(others, iconOthers);\n }\n return ;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {VNode, createElement, render, RenderableProps, ContainerNode} from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider(this: any, props: RenderableProps<{context: any}>) {\n this.getChildContext = () => props.context;\n return props.children;\n}\n\n/**\n * Portal component\n * @this {import('preact').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal(this: any, props: any) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const container = props._container;\n\n that.componentWillUnmount = function () {\n render(null, that._temp);\n that._temp = null;\n that._container = null;\n };\n\n // When we change container we should clear our old container and\n // indicate a new mount.\n if (that._container && that._container !== container) {\n that.componentWillUnmount();\n }\n\n // When props.vnode is undefined/false/null we are dealing with some kind of\n // conditional vnode. This should not trigger a render.\n if (props._vnode) {\n if (!that._temp) {\n that._container = container;\n\n // Create a fake DOM parent node that manages a subset of `container`'s children:\n that._temp = {\n nodeType: 1,\n parentNode: container,\n childNodes: [],\n appendChild(child: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n insertBefore(child: VNode, _before: VNode) {\n this.childNodes.push(child);\n that._container.appendChild(child);\n },\n removeChild(child: VNode) {\n this.childNodes.splice(this.childNodes.indexOf(child) >>> 1, 1);\n that._container.removeChild(child);\n },\n };\n }\n\n // Render our wrapping element into temp.\n render(\n createElement(ContextProvider as any, {context: that.context}, props._vnode),\n that._temp,\n );\n } else if (that._temp) {\n // When we come from a conditional render, on a mounted\n // portal we should clear the DOM.\n that.componentWillUnmount();\n }\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n *\n * @param {import('preact').VNode} vnode The vnode to render\n * @param {import('preact').PreactElement} container The DOM node to continue rendering in to.\n * @see https://github.com/developit/preact-portal/blob/master/src/preact-portal.js\n */\nexport function createPortal(vnode: VNode, container: ContainerNode): VNode {\n const el = createElement(Portal as any, {_vnode: vnode, _container: container}) as any;\n el.containerInfo = container;\n return el;\n}\n","import {i18n} from '../i18n';\nimport {$, Cash, Element, Selector} from '../cash';\nimport type {ComponentEventArgs, ComponentEventName, ComponentOptions, ComponentEvents, ComponentEventsDefnition} from './types';\n\n/**\n * The event callback for component.\n */\nexport type ComponentEventCallback> = (event: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, args: [Component, ComponentEventArgs]) => void | false;\n\n/**\n * Check whether the element is detached from document.\n * @param element The element to check.\n * @returns Whether the element is detached from document.\n */\nfunction isElementDetached(element: Node): boolean {\n if (element.parentNode === document) {\n return false;\n }\n if (!element.parentNode) {\n return true;\n }\n return isElementDetached(element.parentNode);\n}\n\n/**\n * The component base class.\n */\nexport class Component {\n /**\n * The default options.\n */\n static DEFAULT = {};\n\n /**\n * The component name.\n * It usually equals to the class name.\n * The name must be provided in subclass.\n */\n static NAME: string;\n\n /**\n * Whether the component supports multiple instances.\n */\n static MULTI_INSTANCE = false;\n\n /**\n * ZUI name\n */\n static get ZUI() {\n return this.NAME.replace(/(^[A-Z]+)/, (match) => {\n return match.toLowerCase();\n });\n }\n\n /**\n * Component data key, like \"zui.menu\"\n */\n static get KEY(): `zui.${string}` {\n return `zui.${this.NAME}`;\n }\n\n /**\n * Component namespace, like \".zui.menu\"\n */\n static get NAMESPACE(): `.zui.${string}` {\n return `.zui.${this.ZUI}`;\n }\n\n static get DATA_KEY(): `data-zui-${string}` {\n return `data-zui-${this.NAME}`;\n }\n\n /**\n * Access to static properties via this.constructor.\n *\n * @see https://github.com/Microsoft/TypeScript/issues/3841#issuecomment-337560146\n */\n declare ['constructor']: typeof Component;\n\n /**\n * Store the component options.\n */\n private _options?: ComponentOptions;\n\n /**\n * Store the component element.\n */\n private _element?: U;\n\n /**\n * The component global ID.\n */\n private _gid: number;\n\n /**\n * The component key.\n */\n protected _key: string | number;\n\n /**\n * The component initialized flag.\n */\n private _inited = false;\n\n /**\n * Auto destroy flag.\n */\n private _autoDestory = 0;\n\n /**\n * The component constructor.\n *\n * @param options The component initial options.\n */\n constructor(selector: Selector, options?: Partial>) {\n const {KEY, DATA_KEY, DEFAULT, MULTI_INSTANCE, NAME} = this.constructor;\n\n if (!NAME) {\n throw new Error('[ZUI] The component must have a \"NAME\" static property.');\n }\n\n const $element = $(selector);\n if ($element.data(KEY) && !MULTI_INSTANCE) {\n throw new Error('[ZUI] The component has been initialized on element.');\n }\n\n const element = $element[0] as U;\n const gid = $.guid++;\n this._gid = gid;\n this._element = element;\n\n $element.on('DOMNodeRemovedFromDocument', () => {\n if (this._autoDestory) {\n clearTimeout(this._autoDestory);\n }\n this._autoDestory = window.setTimeout(() => {\n this._autoDestory = 0;\n if (isElementDetached(element)) {\n this.destroy();\n }\n }, 100);\n });\n\n this._options = {...DEFAULT, ...$element.dataset()} as ComponentOptions;\n this.setOptions(options);\n this._key = this.options.key ?? `__${gid}`;\n\n $element.data(KEY, this).attr(DATA_KEY, `${gid}`);\n if (MULTI_INSTANCE) {\n const dataName = `${KEY}:ALL`;\n let instanceMap = $element.data(dataName);\n if (!instanceMap) {\n instanceMap = new Map();\n $element.data(dataName, instanceMap);\n }\n instanceMap.set(this._key, this);\n }\n\n this.init();\n requestAnimationFrame(async () => {\n this._inited = true;\n await this.afterInit();\n this.emit('inited', this.options);\n });\n }\n\n get inited() {\n return this._inited;\n }\n\n /**\n * Get the component element.\n */\n get element() {\n return this._element!;\n }\n\n get key() {\n return this._key;\n }\n\n /**\n * Get the component options.\n */\n get options() {\n return this._options!;\n }\n\n /**\n * Get the component global id.\n */\n get gid() {\n return this._gid;\n }\n\n /**\n * Get the component element as a jQuery like object.\n */\n get $element() {\n return $(this.element);\n }\n\n /**\n * Get the component event emitter.\n */\n get $emitter() {\n return this.$element;\n }\n\n /**\n * Initialize the component.\n */\n init() {}\n\n /**\n * Do something after the component initialized.\n */\n afterInit(): void | Promise {}\n\n /**\n * Render the component.\n *\n * @param options The component options to override before render.\n */\n render(options?: Partial>) {\n this.setOptions(options);\n }\n\n /**\n * Destroy the component.\n */\n destroy() {\n const {KEY, DATA_KEY, MULTI_INSTANCE} = this.constructor;\n const {$element} = this;\n\n (this.emit as ((event: string, ...args: unknown[]) => void))('destroyed');\n\n $element\n .off(this.namespace)\n .removeData(KEY)\n .attr(DATA_KEY, null);\n\n if (MULTI_INSTANCE) {\n const map = this.$element.data(`${KEY}:ALL`) as Map>;\n if (map) {\n map.delete(this._key);\n if (map.size === 0) {\n this.$element.removeData(`${KEY}:ALL`);\n } else {\n const nextInstance = map.values().next().value;\n $element.data(KEY, nextInstance).attr(DATA_KEY, nextInstance.gid);\n }\n }\n }\n\n this._options = undefined;\n this._element = undefined;\n }\n\n /**\n * Set the component options.\n *\n * @param options The component options to set.\n * @returns The component options.\n */\n setOptions(options?: Partial>) {\n if (options) {\n $.extend(this._options, options);\n }\n return this._options;\n }\n\n /**\n * Emit a component event.\n * @param event The event name.\n * @param args The event arguments.\n */\n emit>(event: N, ...args: ComponentEventArgs): Event {\n const eventObject = $.Event(event);\n (eventObject as unknown as {__src?: unknown}).__src = this;\n this.$emitter.trigger(eventObject, [this, ...args]);\n return eventObject as unknown as Event;\n }\n\n /**\n * Listen to a component event.\n *\n * @param event The event name.\n * @param callback The event callback.\n */\n on>(event: N | (string & {}), callback: ComponentEventCallback, options?: {once?: boolean}) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const component = this;\n this.$element[options?.once ? 'one' : 'on'](this._wrapEvent(event), function (this: Component, e: N extends keyof HTMLElementEventMap ? HTMLElementEventMap[N] : Event, info: [Component, ComponentEventArgs