@ahrowe/ui 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
1
  @layer ahrowe-ui {
2
- .accordion_YZt8B{color:var(--text-color);margin:-1px;transition:margin .2s}.accordion-title_CGYKY{width:100%}.accordion-active_mocpj{margin:10px 0}.accordion-header_OEjXM{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_6KvnM{border:1px solid var(--primary-color);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_2o-mY{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border:1px solid var(--border-color);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_JI9nJ{padding:16px}.accordion-body-active_sb2-U{border:1px solid var(--primary-color);border-top:none}.accordion-icon_kLqp-{width:16px;height:16px;color:var(--border-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_lJwG8{transform:rotate(180deg)}.accordion_X64Nz{margin:-1px;transition:margin .2s}.accordion-title_2q-FF{width:100%}.accordion-active_72VwY{border:2px solid var(--primary-color);border-radius:var(--default-border-radius);margin:10px 0}.accordion-header_XuGF6{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_xf8Ch{background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_0Jsco{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_0UBPf{padding:16px}.accordion-body-active_XFSy1{border-top:none}.accordion-icon_W1mz5{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_LI98q{transform:rotate(180deg)}.accordion_wkZJf{margin:-1px;transition:margin .2s}.accordion-title_-qwNy{width:100%}.accordion-active_t9-a2{margin:10px 0}.accordion-header_-oST6{cursor:pointer;border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_UvKis{border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_ZagrJ{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_HE7PL{padding:0}.accordion-icon_kHxym{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_-L8BH{transform:rotate(180deg)}.actionButtons_7GybR{gap:var(--spacing-m);display:flex}@media (--mq-mobile){.actionButtons_7GybR{flex-direction:column}}.actionButtons-margin_-XoFP{margin-top:var(--spacing-l)}.button_wYLPJ{appearance:none;box-sizing:border-box;color:var(--text-color);font-size:16px;font-family:var(--default-font);border-radius:var(--default-border-radius);cursor:pointer;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.button-notAllowed_xGT-E{cursor:not-allowed;filter:opacity(.8)}.button-loading-icon_1pTTz{width:100%!important;height:100%!important}.button-content_Q-0-4{white-space:break-spaces;position:relative}.button-content_Q-0-4 div{text-overflow:ellipsis;overflow:hidden}.button-loading_TY6y7{visibility:hidden}.button-loading-container_pMSta{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.button-withIcon_IXEKA{justify-content:center;align-items:center;gap:var(--spacing-s);display:flex}.button-style-primary_Ra5i-{background:var(--primary-color);color:var(--text-on-primary)}.button-style-primary_Ra5i- .button-loading-icon_1pTTz{stroke:var(--text-on-primary)}.button-style-delete_jpTCf{background:var(--error-color);color:var(--text-on-delete)}.button-style-delete_jpTCf .button-loading-icon_1pTTz{stroke:var(--text-on-delete)}.button-background_9Vfo5{padding:8px 12px;display:block}.button-size-default_N4HG9{font-size:16px}.button-size-small_mn6jE{font-size:12px}.button-size-small-background_KILXc{padding:0;display:block}.button-size-medium_gNVDM{font-size:16px}.button-size-large_xSIcS{font-size:20px}.spinner-loading_qbxX-{width:70px;height:70px}.spinner-loading_qbxX- circle{stroke-dasharray:283;stroke-dashoffset:281px;stroke-linecap:round;transform-origin:50%;animation:2s cubic-bezier(.89,.01,.12,1) infinite animate-spinner_6HoVF,3s linear infinite spin_axdh6}@keyframes animate-spinner_6HoVF{0%{stroke-dashoffset:281px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-281px}}@keyframes spin_axdh6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ripple_TsvyF{aspect-ratio:1;width:100%;animation:ripple_TsvyF var(--ripple-animation-length) linear forwards;background:#fff3;border-radius:1000px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.ripple-container_QzHdC{border-radius:inherit;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes ripple_TsvyF{to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.actionIcon_ganSq{cursor:pointer;padding:4px}.actionIcon_ganSq:hover{filter:brightness(.8)}.card_w-6Ki{border-radius:var(--default-border-radius);background:var(--background-accent-light);color:var(--text-color);overflow:hidden}.card-padding_X2-q-{padding:16px}.card-shadow_xCSZ9{box-shadow:var(--card-shadow)}.card-interactable_az2lE{cursor:pointer}.card-hover_fdS-X{transition:transform .15s,box-shadow .15s,filter .3s}.card-hover_fdS-X:hover{background:var(--background-accent);transform:translateY(-2px)}.cardHeader_HfIlm{align-items:center;gap:16px;display:flex}.cardHeader-thumbnail_rFw-N{background:#00000014 50%/cover;border-radius:40px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.cardHeader-actions_awD46{gap:var(--spacing-s);flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;display:flex}.cardHeader-titles_CAUU3{flex-flow:column;flex:1;gap:4px;display:flex;overflow:hidden}.cardHeader-titles-main_Z834V{text-overflow:ellipsis;flex-shrink:100000;min-width:3ch;font-size:18px;font-weight:600;overflow:hidden}.cardHeader-titles-main-container_1j-od{align-items:center;gap:var(--spacing-m);justify-content:space-between;display:flex}.cardHeader-titles-sub_2X08b{text-overflow:ellipsis;font-weight:300;overflow:hidden}.cardMedia_GZJQF{width:calc(100% + 32px);margin:0 -16px}.cardActions_uYu-0{flex-wrap:wrap;gap:8px;display:flex}.checkbox_VO3c2{-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;column-gap:10px;width:fit-content;margin:-1px;display:flex}.checkbox-icon_7O0Hm{color:#a3a9b9;background-color:var(--light-background-color);border-radius:6px;justify-content:center;align-items:center;width:fit-content;height:fit-content;display:flex}.checkbox-loading_4t2-w{background:0 0}.checkbox-loading-spinner_XzXt4{width:100%;height:100%}.checkbox-pointer_XnO8e{cursor:pointer}.checkbox_VO3c2:focus-visible{border:1px solid var(--primary-color);border-radius:6px;outline:none}.checkbox-disabled_ML2rR{filter:brightness(.8);cursor:not-allowed}.checkbox-checkmark_Xclv9{border:1.8px solid var(--text-color);border-radius:var(--default-border-radius);position:relative}.checkbox-checkmark_Xclv9 svg{stroke:var(--text-on-primary);stroke-dasharray:5;stroke-dashoffset:5px;background:var(--primary-color);box-sizing:content-box;border-radius:var(--default-border-radius);padding:2px;transition:transform .1s,stroke-dashoffset .4s .2s;transform:scale(0)}.checkbox-checkmark-checked_mD4FI svg{stroke-dashoffset:0;transform:scale(1)translate(-3px,-3px)}.chip_rCTMl{box-sizing:border-box;background:#00000014;border-radius:99999px;width:fit-content;max-width:100%;position:relative}.chip-clickable_WTVjG{cursor:pointer}.chip-inner_mfo-w{align-items:center;gap:8px;padding:4px 8px;display:flex}.chip-inner_mfo-w>*{white-space:nowrap}.chip-text_d1juf{text-overflow:ellipsis;overflow:hidden}.chip-thumbnail_-A7eU{background:#00000014 0 0/cover;border-radius:18px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;overflow:hidden}.chip-container_oNNmF{flex-wrap:wrap;gap:8px;display:flex}.chip-container-inline_11QHw{flex-wrap:nowrap;overflow:auto}.floatingMenu_E1XCy{position:relative}.floatingMenu-content_AmxkA{cursor:pointer}.floatingMenu-container_w7k-Y{background:var(--background-modal);border-radius:calc(var(--default-border-radius) + 4px);margin-top:10px;padding:8px;position:absolute;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-align-left_InKnZ{left:0}.floatingMenu-container-align-right_a9OoS{right:0}.floatingMenu-container-align-center_-8bGT{left:50%;transform:translate(-50%)}.floatingMenu-container-flag_VdKHr{background:var(--background-modal);width:10px;height:10px;margin-top:5px;position:absolute;transform:rotate(45deg);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-flag-align-right_vxrRN{right:8px}.floatingMenu-container-flag-align-left_a2Vv-{left:8px}.floatingMenu-container-flag-align-center_SmaaY{left:50%;transform:translate(-50%)rotate(45deg)}.floatingMenu-anim_5KB-f{opacity:.7;z-index:2;animation:.1s forwards showMenu_AprCh;position:fixed;transform:scale(.7)}@keyframes showMenu_AprCh{to{opacity:1;transform:scale(1)}}.tooltipBubble_uyev0{z-index:10;color:#fff;pointer-events:none;background-color:#454953;border-radius:3px;width:max-content;max-width:200px;padding:6px 9px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0}.tooltipBubble_uyev0:after{content:"";border:5px solid #0000;border-top-color:#454953;position:absolute;top:100%;left:12px}.tooltipDetails_R7N16{align-items:center;display:inline-flex;position:relative}.tooltipDetails-icon_rsjns{color:#fff;cursor:default;-webkit-user-select:none;user-select:none;background-color:#454953;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.tooltipError_gUBut{background-color:var(--error-lighter);width:max-content;color:var(--red);z-index:1;border-radius:3px;padding:6px 9px;font-size:10px;position:absolute;top:-33px;right:0}.tooltipError_gUBut:after{content:"";border-style:solid;border-width:5px;border-color:var(--error-border-color) transparent transparent transparent;margin-left:-5px;position:absolute;top:100%;left:90%}.required-mark_xGJdX{color:var(--error-font-color);padding:0 0 0 4px}.isRequired_Jkn3h{color:var(--message-error-color)}.input_VKNCE{width:100%;position:relative}.input-placeholder_IZH-l{opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;transition:all .2s;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.input-placeholder-shown_mm35e{animation:.2s .3s forwards fadeIn_kmX3i}.input-placeholder-multiline_tLHAl{top:14px;transform:translateY(0)}.input-matLabel_-05ey{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;top:50%;left:7px;right:0;transform:translateY(-50%)}.input-matLabel-floating_1P2YE{font-size:13px;inset:-9px 0 0 14px;transform:translateY(0)}.input-matLabel-multiline_miIZJ{top:14px;transform:translateY(0)}.input-fieldset_XCibg{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;margin:0;padding:0 0 0 8px;position:absolute;inset:-11px 0 0}.input-fieldset-legend_X23zp{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.input-fieldset-legend-active_t-9hu{max-width:300px}.input-fieldset-legend_X23zp span{opacity:0;padding:5px;font-size:13px}.input-fieldset-legend_X23zp span:empty{padding:.000001px}.input-container_M1RoG{border-radius:var(--default-border-radius);background-color:var(--input-background);cursor:text;align-items:center;height:100%;transition:border-color;display:flex}.input-container-multiline_eLw7h{align-items:flex-start;padding-top:10px;overflow:hidden}.input-container-border_l131I{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.input-container-border-focused_ct6oY{outline-color:var(--primary-color);border-color:var(--primary-color)}.input-container-border-searchFocused_lq088{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.input-container-border-invalid_Wdbq2,.input-container-border-invalid_Wdbq2:hover,.input-container-border-error_gzfPG{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.input-label_w1hMR{color:var(--text-color);height:100%;display:flex}.input-label-column_qBFPC{flex-direction:column}.input-label-text_-J5qQ{white-space:nowrap;color:color(var(--border-color) lightness(40%));white-space:nowrap;background-color:#0000;align-items:center;margin-bottom:6px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.input-upper-right-label_I-WG3{min-height:12px;color:color(var(--border-color) lightness(40%));font-size:12px;position:absolute;right:8px;transform:translateY(calc(-100% - 1.5px))}.input-field_pmDvZ{appearance:none;font-family:inherit;font-size:inherit;box-sizing:border-box;resize:none;border-radius:var(--default-border-radius);width:100%;color:var(--text-color);background:0 0;border:none;line-height:20px;overflow:hidden}.input-field_pmDvZ:focus{outline:none}.input-field_pmDvZ::placeholder{color:var(--text-light)}.input-field-withIcon_VpfmK{padding-right:37px!important}.input-field-withIcon-left_Io7lU{padding-left:37px!important;padding-right:9px!important}.input-field-suffix_NZpXp{padding-right:9px}.input-field-date_UHJEZ{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 9px}.input-field-date_UHJEZ svg{color:#fff}.input-field-default_TKipA{padding:8px 7.5px 6px}.input-field_pmDvZ[disabled]{background-color:var(--disabled-input-color);color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color);opacity:1}.input-field_pmDvZ[disabled]::placeholder{color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color)}.input-field-uppercase_UV6f1{text-transform:uppercase}.input-field-multiline_al3V1{resize:vertical;min-height:30px;padding-top:4px;overflow-y:auto}.input-field-multiline-autoResize_nK33P{resize:none;overflow:hidden}.input-field-icon_YyJIr{appearance:none;box-sizing:border-box;cursor:pointer;color:var(--input-icon-color);-webkit-user-select:none;user-select:none;background-color:#0000;border:none;outline:none;position:absolute;top:50%;right:10px;transform:translateY(-50%);width:19px!important;height:19px!important}.input-field-icon-left_m2XB1{left:10px}.input-field-icon-notClickable_7j24I{pointer-events:none}.input-error_LIG23{height:1em;color:var(--error-font-color);padding-top:3px;font-size:11px}@keyframes fadeIn_kmX3i{0%{opacity:0}to{opacity:.5}}.colorPicker_Ts3an{align-items:center;gap:8px;display:flex}.swatch_NW78g{border-radius:var(--default-border-radius);cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:32px;height:32px;position:relative;box-shadow:0 0 0 1px #00000026}.swatch_NW78g:hover .swatchHex_j7-i5{opacity:1}.swatchFill_oNtHf{border-radius:inherit;position:absolute;inset:0}.swatchHex_j7-i5{color:#fff;border-radius:inherit;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;background:#0000008c;justify-content:center;align-items:center;font-family:monospace;font-size:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.panel_WXEvY{flex-direction:column;gap:10px;width:224px;padding:12px;display:flex}.gradientArea_qEZim{cursor:crosshair;background:linear-gradient(to right, white, hsl(calc(var(--hue) * 1deg), 100%, 50%));border-radius:4px;width:200px;height:160px;position:relative;overflow:hidden}.gradientOverlay_ZQybe{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cursor_m67Lm{pointer-events:none;z-index:1;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.hueSlider_k3Knb{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;width:100%;height:10px}.hueSlider_k3Knb::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hueSlider_k3Knb::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background-image:linear-gradient(to right, transparent, var(--alpha-color)), linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%);background-color:#fff;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;outline:none;width:100%;height:10px}.alphaSlider_OT2sD::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hexInput_zQw4s{border-radius:var(--default-border-radius);border:1px solid var(--border-color);background:var(--input-background);width:100%;color:var(--text-color);box-sizing:border-box;outline:none;padding:5px 8px;font-family:monospace;font-size:13px}.hexInput_zQw4s:focus{border-color:var(--primary-color)}.modal_L-Fkd{border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-sizing:border-box;transform-origin:bottom;max-width:95%;max-height:95%;padding:16px;animation:.2s slideIn_RVIHR,.3s forwards fadeIn_XSuIE;position:relative;overflow:auto}@media not (--breakpoint-desktop){.modal_L-Fkd{max-width:100%;max-height:100%}}.modal-container_qwKIm{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}@media (--breakpoint-tablet){.modal-container_qwKIm{z-index:1}}.modal-header_DhsRr{justify-content:space-between;gap:8px;margin-bottom:16px;display:flex}.modal-header_DhsRr div{text-overflow:ellipsis;overflow:hidden}.modal-header_DhsRr svg{cursor:pointer}.modal-wrapper_r5wzq{opacity:0;background:#00000052;width:100%;height:100%;transition:all .3s ease-in-out;position:fixed;top:0;left:0}.modal-wrapper-shown_F0BgK{opacity:1}@keyframes slideIn_RVIHR{0%{transform:scale(0)}to{transform:scale(.99)}}@keyframes fadeIn_XSuIE{0%{opacity:0}to{opacity:1}}.datePickerMonth-item_30WWy{aspect-ratio:1;justify-content:center;align-items:center;margin:1px 0;display:flex}.datePickerMonth-content_9bbSs{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.datePickerMonth-day_SaASA{cursor:pointer}.datePickerMonth-day-today_RXOIr{background-color:var(--background-accent-light);border-radius:var(--default-border-radius)}.datePickerMonth-day-selected_yMF-v{background-color:var(--primary-color);color:var(--text-on-primary);border-radius:0}.datePickerMonth-day-selected-start_ftVeI{border-top-left-radius:var(--default-border-radius);border-bottom-left-radius:var(--default-border-radius)}.datePickerMonth-day-selected-end_MZ2qy{border-top-right-radius:var(--default-border-radius);border-bottom-right-radius:var(--default-border-radius)}.datePickerMonth-day-disabled_4t0Ci{filter:brightness(.5);cursor:not-allowed}.datePickerMonth-placeholder_gy1Yx{-webkit-user-select:none;user-select:none;pointer-events:none}.infiniteBlock_dFv-h{max-height:none}.spinner-wrapper_hsgWz{justify-content:center;align-items:center;padding:4px 0;display:flex}.spinner_VjUS2{width:32px;height:32px}.required-mark_fy7Fm{color:var(--error-font-color);padding:0 0 0 4px}.dropdown_XTshY{position:relative}.dropdown-label_TIpeK{display:flex}.dropdown-label-column_cMCBc{flex-direction:column}.dropdown-label-text_u-UKq{white-space:nowrap;color:var(--text-color);align-items:center;margin-bottom:5px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.dropdown-input_WiPcb{cursor:pointer;background-color:var(--input-background);border-radius:var(--default-border-radius);position:relative}.dropdown-input-plain_Ap12N{background:0 0}.dropdown-input_WiPcb:focus-within{outline:none}.dropdown-input-button_ziKKi{font-family:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;width:100%;color:var(--text-color);background-color:#0000;border:none;line-height:20px;overflow:hidden;padding:7.5px 20% 7.5px 7.5px!important}.dropdown-input-button-disabled_JEaO-{background-color:var(--disabled-input-color);color:var(--disabled-font-color);border-radius:var(--default-border-radius)}.dropdown-input-button_ziKKi:focus{outline:none}.dropdown-input-button-icon_jl7EY{float:right;right:var(--spacing-s);color:var(--text-color);cursor:pointer;background-color:#0000;border:none;outline:none;position:absolute;top:50%;transform:translateY(-50%)}.dropdown-input-button-icon-arrow_SFJbx{pointer-events:none;transition:transform .25s}.dropdown-input-button-icon-arrow-open_8yQbZ{transform:rotate(180deg)}.dropdown-input-list_JnMbA{border:1px solid var(--border-color);background-color:var(--background);border-radius:var(--default-border-radius);transform-origin:100% 0;z-index:1;flex-direction:column;width:calc(100% - 1px);max-height:160px;list-style-type:none;transition:transform .25s;display:flex;position:absolute;left:-1px;overflow:hidden auto;transform:scaleY(1)}.dropdown-input-list-on-top_RpQ9v{bottom:56px}.dropdown-input-list-wider_0rbTN{width:max-content!important}.dropdown-input-list-item_EAy5L{cursor:pointer;background-color:var(--background);text-align:left;border:none;border-radius:0;padding:6px;transition:all .3s}.dropdown-input-list-item-active_0dhia{background-color:var(--background-accent)}.dropdown-input-list-item-selected_hShJf{font-weight:500}.dropdown-input-list-item_EAy5L:focus{outline:none}.dropdown-input-list-item_EAy5L:hover{background-color:var(--background-accent)}.dropdown-input-list-item-disabled_3r-Yn{background-color:var(--disabled-input-color);color:var(--disabled-font-color);cursor:not-allowed}.dropdown-input-list-item-disabled_3r-Yn:hover{background-color:var(--disabled-input-color)}.dropdown-input-list-hidden_huNc5{transform:scaleY(0)}.dropdown-fieldset_wQwTf{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;margin:0;padding-left:8px;position:absolute;inset:-10px 0 0}.dropdown-fieldset-legend_a1M4L{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.dropdown-fieldset-legend-active_bnR5F{max-width:300px}.dropdown-fieldset-legend_a1M4L span{opacity:0;padding:5px;font-size:13px}.dropdown-placeholder_QYMPZ{opacity:0;transition:all .2s;position:absolute;top:8px;left:7px}.dropdown-placeholder-shown_-IkNH{animation:.2s .3s forwards fadeIn_oMJZj}.dropdown-matLabel_iHQnt{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;inset:9px 0 0 7px}.dropdown-matLabel-floating_zY51S{font-size:13px;inset:-9px 0 0 14px}@keyframes fadeIn_oMJZj{0%{opacity:0}to{opacity:.5}}.dropdown-border_9Oaex{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.dropdown-border-focused_Te-ER{outline-color:var(--primary-color);border-color:var(--primary-color)}.dropdown-border-searchFocused_AH67N{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.dropdown-border-plain_Bbh-3{border-color:#0000;outline-color:#0000}.dropdown-border-invalid_ySVaS,.dropdown-border-invalid_ySVaS:hover,.dropdown-border-error_-JB33{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.datePicker_ZohTp{flex:1;width:100%;min-width:105px;position:relative}.datePicker-header_YmSWE{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.datePicker-header-monthAndYear_b5ntO{display:flex}.datePicker-header-monthAndYear-container_Hcgks{gap:16px;display:flex;position:relative}.datePicker-header-month_jqFHl{width:120px}.datePicker-header-year_4egHF{width:75px}.datePicker-month_7iosT{min-width:185px}.emptyState_KXOIx{justify-content:center;align-items:center;gap:var(--spacing-m);flex-flow:column;display:flex}.fab_hyAAa{--icon-size:18px;border-radius:50%;align-items:stretch;width:56px;height:56px;padding:0;display:flex}.fab_hyAAa>div{border-radius:50%;justify-content:center;align-items:center;width:100%;display:flex}.fab-content_IBiXm{font-size:var(--icon-size);width:var(--icon-size);height:var(--icon-size)}.fab-content_IBiXm svg{width:var(--icon-size);height:var(--icon-size)}.fab-content-container_FQD1x{justify-content:center;align-items:center;display:flex}.fab-size-mini_KP9BD{background:var(--background-accent-light);width:40px;height:40px}.fab_YI34X{opacity:0;border-radius:50%;animation:.3s forwards appear_DL0wm;transform:scale(0);box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.fab-container_8uoYo{position:fixed;bottom:16px;right:16px}@media (--breakpoint-tablet){.fab-container_8uoYo{z-index:2}}.fab-menu_O1WO9{pointer-events:none;-webkit-user-select:none;user-select:none;flex-flow:column-reverse;align-items:center;gap:16px;width:100%;display:flex;position:absolute;top:0;transform:translateY(calc(-100% - 16px))}.fab-menu-backdrop_m9T6a{opacity:0;background:#000;width:0%;height:0%;transition:opacity .4s;position:fixed;top:0;left:0}.fab-menu-backdrop-open_35mlH{opacity:.5;width:100%;height:100%}.fab-menu-entry_rIgXr{cursor:pointer;opacity:0;pointer-events:all;transition:all .2s;position:relative;transform:scale(0)}.fab-menu-entry_rIgXr:nth-child(2){transition-delay:50ms}.fab-menu-entry_rIgXr:nth-child(3){transition-delay:.1s}.fab-menu-entry_rIgXr:nth-child(4){transition-delay:.15s}.fab-menu-entry_rIgXr:nth-child(5){transition-delay:.2s}.fab-menu-entry_rIgXr:nth-child(6){transition-delay:.25s}.fab-menu-entry_rIgXr:nth-child(7){transition-delay:.3s}.fab-menu-entry-shown_066HC{opacity:1;transform:scale(1)}.fab-menu-entry-label_pXdDf{background:var(--background-accent-light);border-radius:var(--default-border-radius);padding:4px 8px}.fab-menu-entry-label-container_oeKI5{align-items:center;width:max-content;height:100%;margin-left:-8px;display:flex;position:absolute;transform:translate(-100%)}.fab-icon_5Fp-6{justify-content:center;align-items:center;width:100%;height:100%;transition:all .4s;display:flex;position:relative}.fab-icon-menuOpen_Jp8Qb{transform:rotate(225deg)}.fab-icon-content_o0VDx{opacity:0;width:18px;height:18px;transition:opacity .3s;position:absolute}.fab-icon-content-shown_oY19H{opacity:1}@keyframes appear_DL0wm{to{opacity:1;transform:scale(1)}}.iconPicker_xJJmG{border-radius:var(--default-border-radius);border:1px solid #0000}.iconPicker-label_VEB2X{font-size:var(--text-small-font-size);margin-bottom:8px}.iconPicker-item_iJWDN{background:var(--background-accent);cursor:pointer;width:24px;height:24px;stroke:var(--text-color);border-radius:200px;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.iconPicker-item_iJWDN:focus-visible{outline:1px solid var(--primary-color)}.iconPicker-item-container_-1WT5{flex-wrap:wrap;justify-content:space-around;gap:8px 14px;display:flex}.iconPicker-item-selected_GQ-I1{background:var(--primary-color)}.iconPicker-error_23m9v{border-color:red}.inputDropdown_UdYMa{position:relative}.dropdown_-M5-x{border-radius:var(--default-border-radius);background:var(--background-modal);width:fit-content;max-width:240px;box-shadow:var(--card-shadow);box-sizing:border-box;transform-origin:0 0;opacity:0;z-index:2;max-height:200px;transition:all .1s;position:fixed;overflow:auto;transform:scale(.95)}.dropdown-shown_H2rFU{opacity:1;transform:scale(1)}.dropdown-item_JRgbt{z-index:0;cursor:pointer;outline:none;padding:8px}.dropdown-item_JRgbt:hover,.dropdown-item_JRgbt:focus,.dropdown-item-highlighted_1ZENP{background:var(--background-accent)}.dropdown-category_OMT0E{padding:16px 8px 4px}.board_6KRdw{gap:var(--spacing-s);align-items:flex-start;width:100%;display:flex;overflow-x:auto}.column_NrNeF{background:var(--background-accent-light);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);border:2px solid #0000;flex-direction:column;flex:1 1 0;transition:border-color .15s,background .15s;display:flex}.column-empty_5KYsJ{flex:0 1 0;min-width:140px}.column-over_sO7oD{border-color:var(--primary-lighter);background:var(--background-accent)}.column-header_PLeKG{padding:var(--spacing-m) var(--spacing-l);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;font-size:var(--header-small-font-size);font-weight:var(--header-font-weight);color:var(--text-color);border-bottom:1px solid var(--border-color)}.column-items_xY5er{padding:var(--spacing-m);gap:var(--spacing-m);flex-direction:column;flex:1;min-height:80px;display:flex}.item_T8CJK{cursor:grab;touch-action:none}.item_T8CJK:active{cursor:grabbing}.item-dragging_iWurw{opacity:.4}.dragOverlay_DSyKz{border-radius:var(--default-border-radius);cursor:grabbing;box-shadow:0 10px 30px #00000040, var(--card-shadow)}.iconLoading_wovj4{-webkit-user-select:none;user-select:none;pointer-events:none;--draw-duration:.8s;--delay:.4s;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.iconLoading_wovj4 svg{stroke-dasharray:14;stroke-dashoffset:14px;aspect-ratio:1;width:200px;animation:calc(var(--draw-duration) * 3) spin-to-oblivion_0tZtm var(--delay) infinite;stroke:var(--primary-color);stroke-linecap:round;transform:rotate(0)}.iconLoading-first_SBwP3{animation:calc(var(--draw-duration) * 3) draw-line_1NiWA var(--delay) infinite}.iconLoading-second_nHrW3{animation:calc(var(--draw-duration) * 3) draw-line-two_HmaHl var(--delay) infinite}@keyframes draw-line_1NiWA{33%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes draw-line-two_HmaHl{33%{stroke-dashoffset:14px}66%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes spin-to-oblivion_0tZtm{50%{transform:rotate(180deg)}75%{transform:rotate(180deg)scale(0)}to{transform:rotate(180deg)scale(0)}}.arrows_yjRlc{border-left:1px solid var(--border-color);flex-direction:column;align-self:stretch;margin:4px 0;display:flex}.arrowBtn_DbJoa{cursor:pointer;color:var(--text-dark);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 6px;font-size:.55rem;line-height:1;transition:color .15s,background .15s;display:flex}.arrowBtn_DbJoa:hover{color:var(--primary-color);background:var(--background-accent-light)}.arrowBtn_DbJoa:active{color:var(--primary-lighter)}.optionPicker_Yx82s{gap:var(--spacing-m);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-around;width:100%;display:flex;position:relative;overflow:hidden}.optionPicker-chip_ywtvr{background:var(--primary-color);border-radius:var(--default-border-radius);height:100%;transition:left .25s ease-in-out,width .25s ease-in-out;position:absolute;top:0;left:0}.optionPicker-option_uq0vK{text-align:center;cursor:pointer;width:100%;height:100%;padding:var(--spacing-m);text-overflow:ellipsis;border-radius:var(--default-border-radius);transition:color .25s;display:block;position:relative;overflow:hidden}.optionPicker-option_uq0vK:focus{outline:var(--primary-color) solid 2px;outline-offset:-2px}.optionPicker-option-active_yUECW{color:var(--text-on-primary)}.overscroll_Ij750{-ms-overflow-style:none;scrollbar-width:none;height:100vh;overflow:auto}.overscroll_Ij750::-webkit-scrollbar{display:none}.overscroll-header_S6vYc{width:100%;position:absolute;bottom:0}.overscroll-header-centered_8VlsP{justify-content:center;align-items:center;display:flex}.overscroll-header-container_iignp{position:relative}.progressBar_LO0sX{border-radius:var(--default-border-radius);background-color:#e0e0e0;align-items:center;min-width:100px;min-height:10px;display:flex;overflow:hidden}.progressBar-fill_rt32j{background-color:var(--primary-color);align-items:center;width:0;height:-webkit-fill-available;height:-moz-available;height:stretch;transition:width .3s;display:flex;overflow:hidden}.progressBar-fill-end_71wL3{border-radius:0 var(--default-border-radius) var(--default-border-radius) 0}.progressBar-label_jWud2{color:#fff;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:12px;overflow:hidden}.progressBar-label-custom_sSump{mix-blend-mode:difference}.roomDrawer_SJj4-{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.roomDrawer-toolbar_55H5p{background:var(--background-accent);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;padding:6px 8px;display:flex}.roomDrawer-toolbar-sep_nJeh8{flex:1}.roomDrawer-toolbar-btn_2qinY{border-radius:var(--default-border-radius);width:32px;height:32px;color:var(--text-dark);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;transition:background .12s,color .12s;display:flex}.roomDrawer-toolbar-btn_2qinY:hover:not(:disabled){background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-toolbar-btn_2qinY:disabled{opacity:.35;cursor:not-allowed}.roomDrawer-toolbar-btn-active_4XX25{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-toolbar-zoomLabel_HMkb5{border-radius:var(--default-border-radius);min-width:40px;height:32px;color:var(--text-dark);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:0 4px;font-size:11px}.roomDrawer-toolbar-zoomLabel_HMkb5:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-canvas_Y18uD{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;display:block}.roomDrawer-canvas-select_M43-x{cursor:default}.roomDrawer-info_qwC6L{background:var(--background-accent);border-top:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-info-label_8I9hB{color:var(--text-dark);white-space:nowrap;font-size:12px}.roomDrawer-info-input_YAl-K{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);max-width:220px;height:28px;color:var(--text-color);flex:1;padding:0 8px;font-size:13px}.roomDrawer-info-input_YAl-K:focus{border-color:var(--primary-color);outline:none}.roomDrawer-info-spacer_cOj96{flex:1}.roomDrawer-info-delete_TSBUN{border:1px solid var(--border-color);border-radius:var(--default-border-radius);width:28px;height:28px;color:var(--text-dark);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:flex}.roomDrawer-info-delete_TSBUN:hover{color:#fff;background:#e53935;border-color:#e53935}.roomDrawer-hint_3WTFa{color:var(--text-dark);background:var(--background-accent);border-top:1px solid var(--border-color);padding:4px 8px;font-size:11px}.roomDrawer-info-doorsBtn_oK5Uf{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:28px;color:var(--text-dark);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-info-doorsBtn_oK5Uf:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-doorPanel_e-Tl9{background:var(--background-accent);border-top:1px solid var(--border-color);flex-direction:column;display:flex}.roomDrawer-doorPanel-header_--iXz{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-doorPanel-icon_KxaVY{color:var(--text-dark);font-size:12px}.roomDrawer-doorPanel-title_8nOZS{color:var(--text-dark);flex:1;font-size:12px}.roomDrawer-doorPanel-done_ejQkx{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:26px;color:var(--text-dark);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-doorPanel-done_ejQkx:hover{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-doorPanel-list_rDou7{flex-direction:column;gap:4px;max-height:130px;padding:6px 8px;display:flex;overflow-y:auto}.roomDrawer-doorPanel-item_U-3-B{align-items:center;gap:6px;display:flex}.roomDrawer-doorPanel-label_qSYqY{color:var(--text-color);min-width:48px;font-size:12px}.roomDrawer-doorPanel-widthLabel_jXv7D{color:var(--text-dark);font-size:11px}.roomDrawer-doorPanel-empty_LcDw0{color:var(--text-dark);padding:2px 0;font-size:11px;font-style:italic}.roomDrawer-canvas-door_qzCIa{cursor:crosshair}.doorGap_KrIuB{stroke:var(--background);stroke-width:4px;stroke-linecap:butt;pointer-events:none}.doorMarker_-N63z{fill:var(--primary-color);stroke:var(--background);stroke-width:.8px;pointer-events:all;cursor:grab}.doorMarker_-N63z:active{cursor:grabbing}.gridLine_V-rxw{stroke:var(--text-color);stroke-width:.3px;opacity:.12}.roomFill_JnJ0J{fill:var(--primary-accent);fill-opacity:.08;stroke:none}.roomFill-selected_IfIRr{fill-opacity:.22}.roomStroke_S18UH{fill:none;stroke:var(--primary-color);stroke-width:1.5px;stroke-linejoin:round}.roomStroke-selected_fm19u{stroke:var(--primary-lighter);stroke-width:2px}.roomText_6fIeU{fill:var(--text-color);stroke:none;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:7px}.doorPanel_raCv0{stroke:var(--primary-color);stroke-width:1.5px;stroke-linecap:round}.doorPanel-selected_5DG7g{stroke:var(--primary-lighter);stroke-width:2px}.doorSwing_Tbt9D{fill:none;stroke:var(--primary-color);stroke-width:.8px;stroke-dasharray:3 2;pointer-events:none}.doorSwing-selected_fFte5{stroke:var(--primary-lighter)}.preview_seIZY{fill:var(--primary-accent);stroke:var(--primary-color);stroke-width:1px;stroke-dasharray:4 2;pointer-events:none}.polyCloseTarget_snjYx{fill:var(--primary-color);opacity:.5;pointer-events:none}.polyVertex_fw0nX{fill:var(--primary-color);stroke:none;pointer-events:none}.vertexHandle_-z7g5{fill:var(--background);stroke:var(--primary-color);stroke-width:1.5px;cursor:grab;pointer-events:all}.vertexHandle_-z7g5:hover{fill:var(--primary-accent);stroke:var(--primary-lighter)}.roomViewer-containerLoading_BL3M-{opacity:.4;pointer-events:none}.roomViewer-container_YlmB8 svg{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1}.roomViewer-container_YlmB8 svg path{stroke:var(--primary-color);fill:#0000}.roomViewer-container_YlmB8 svg path[id=background]{stroke:none;fill:#0000;cursor:pointer}.roomViewer-container_YlmB8 svg [id^=room]{cursor:pointer}.roomViewer-container_YlmB8 svg text{fill:var(--text-color);stroke:none;font-size:5px}.roomViewer-active_gG6wf{stroke:#18f810!important;fill:#20f81013!important}.roomViewer-active_gG6wf path{stroke:#18f810!important;fill:none!important}.roomViewer-active_gG6wf path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj{stroke:#18f810!important}.roomViewer-selected_CpdMj path{stroke:#18f810!important;fill:none!important}.roomViewer-selected_CpdMj path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj text{stroke:none;fill:var(--text-color)}.roomViewer-tint_O9JrM,.roomViewer-tint_O9JrM path{fill:#20f81013!important}.roomViewer-tint_O9JrM text{stroke:none;fill:none}.roomViewer-actions_4cA74{justify-content:center;gap:8px;width:100%;font-size:16px;display:flex}.roomViewer-actions_4cA74 svg{cursor:pointer}.roomViewer-header_XEHCO{margin-bottom:4px}.scrollbarProvider_IMBFu{display:contents}.scrollbarProvider_IMBFu *{scrollbar-width:thin;scrollbar-color:var(--background-accent-light) var(--background)}.scrollbarProvider_IMBFu ::-webkit-scrollbar{width:12px}.scrollbarProvider_IMBFu ::-webkit-scrollbar-track{background:0 0}.scrollbarProvider_IMBFu ::-webkit-scrollbar-thumb{background-color:var(--background-accent-light);border:3px solid var(--background);border-radius:10px}.resultCount_Sn48Q{color:var(--text-dark);margin:6px 0 0;font-size:12px}.stepper_kiS2A{-webkit-user-select:none;user-select:none;align-items:center;margin-bottom:30px;display:flex}.stepper-clickable_Nm6fP{cursor:pointer}.stepper-vertical_2y9rg{flex-flow:column}.stepper-connector_J2FwZ{background-position:0%;background-size:200% 200%;background-image:repeating-linear-gradient(90deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:50px;height:1px;transition:all .6s}.stepper-connector-vertical_vwY38{background-position:0 100%;background-image:repeating-linear-gradient(0deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:3px;height:100px}.stepper-connector-filled_W8UZS{background-position:-100% 0;height:3px}.stepper-entry_KD4JJ{box-sizing:border-box;border:1px solid var(--primary-lighter);width:40px;height:40px;color:var(--primary-lighter);border-radius:var(--default-border-radius);box-shadow:inset 0px 0px 0px var(--primary-color);justify-content:center;align-items:center;transition:all .4s;display:flex;position:relative;transform:none}.stepper-entry-active_V1aRt{border:2px solid var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.stepper-entry-done_M3wb5{box-shadow:inset 0px 0px 0px 30px var(--primary-color);transform:none}.stepper-entry-number_J168Q{stroke-dasharray:5;stroke-dashoffset:5px}.stepper-entry-number-done_-m7sD{animation:.4s .2s forwards showCheckmark_Rd0oW}@keyframes showCheckmark_Rd0oW{0%{stroke-dashoffset:5px}to{stroke-dashoffset:0}}.stepper-entry-label_b94eg{text-align:center;width:140px;position:absolute;top:45px;left:0;transform:translate(-50px)}.stepper-entry-label-vertical_Zm8i4{text-align:left;top:0;left:100px}.gifPreview_-ECUZ{aspect-ratio:1;--gif-preview-gap-size:5px;gap:var(--gif-preview-gap-size);flex-wrap:wrap;justify-content:center;width:min(420px,90vw);display:flex;position:relative;overflow:auto}.gifPreview-image_Aq7-a{background-position:50%;background-size:cover;width:100%;height:100%}.gifPreview-image-container_ycypL{aspect-ratio:1;background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);width:min(140px,33.3%);width:min(calc(140px - var(--gif-preview-gap-size)), calc(33.3% - var(--gif-preview-gap-size)));background-size:500% 500%;animation:1s linear infinite gradientBottomLeftToTopRight_wo6HB;overflow:hidden}.gifView_Fa2zj{justify-content:center;align-items:center;display:flex;position:relative}.gifView_Fa2zj img{border-radius:var(--default-border-radius);max-width:100%;overflow:hidden}.gifView-loading_LfNJr{background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);background-size:500% 500%;width:100%;height:100%;animation:1s linear infinite gradientBottomLeftToTopRight_JR6aS;position:absolute;top:0;left:0;overflow:hidden}.tenorPicker-selected_IfR2z{margin-top:8px}.tenorPicker-modal-content_Vkolf{gap:var(--spacing-m);flex-flow:column;display:flex}.tenorPicker-suggestions-container_kJCj5{max-width:420px}.tenorPicker-suggestions-item_Rl99M{cursor:pointer}.colorFade_eLv2g *{transition:background .3s ease-in-out}.container_krdsW{z-index:9999;pointer-events:none;box-sizing:border-box;flex-direction:column;gap:8px;padding:16px;display:flex;position:fixed}.container-top-left_zfDTO{align-items:flex-start;top:0;left:0}.container-top-center_CUIGc{align-items:center;top:0;left:50%;transform:translate(-50%)}.container-top-right_sB0KU{align-items:flex-end;top:0;right:0}.container-bottom-left_toJdF{flex-direction:column-reverse;align-items:flex-start;bottom:0;left:0}.container-bottom-center_Bkf9m{flex-direction:column-reverse;align-items:center;bottom:0;left:50%;transform:translate(-50%)}.container-bottom-right_oRSMc{flex-direction:column-reverse;align-items:flex-end;bottom:0;right:0}.toast_qBi4o{pointer-events:all;border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-shadow:var(--card-shadow);box-sizing:border-box;align-items:flex-start;gap:10px;min-width:240px;max-width:380px;padding:12px 14px;animation:.25s forwards toastSlideDown_4lKWq;display:flex;position:relative;overflow:hidden}.toast-bottom_X8ZIe{animation:.25s forwards toastSlideUp_SGR5X}.toast-dismissing_xKmB-{animation:.2s forwards toastFadeOut_cvHYp}.toast-info_RlLli{border-left:3px solid var(--info-color,#3b82f6)}.toast-info_RlLli .toastIcon_xU1nA{color:var(--info-color,#3b82f6)}.toast-success_I1g1B{border-left:3px solid var(--success-color)}.toast-success_I1g1B .toastIcon_xU1nA{color:var(--success-color)}.toast-error_MloFO{border-left:3px solid var(--error-color,#ef4444)}.toast-error_MloFO .toastIcon_xU1nA{color:var(--error-color,#ef4444)}.toast-warn_pP6HB{border-left:3px solid var(--warn-color)}.toast-warn_pP6HB .toastIcon_xU1nA{color:var(--warn-color)}.toast-default_RTt2L{border-left:3px solid var(--primary-color)}.toast-default_RTt2L .toastIcon_xU1nA{color:var(--primary-color)}.toastIcon_xU1nA{flex-shrink:0;margin-top:1px;font-size:15px}.toastContent_gvyIv{flex:1;font-size:14px;line-height:1.4}.toastCloseButton_n-YST{cursor:pointer;color:var(--text-dark);opacity:.6;background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;font-size:13px;transition:opacity .15s}.toastCloseButton_n-YST:hover{opacity:1}.toastProgressBar_6vBs6{opacity:.35;transform-origin:0;width:100%;height:3px;animation:toastShrink_h89HS var(--toast-duration) linear forwards;background:currentColor;position:absolute;bottom:0;left:0}@keyframes toastSlideDown_4lKWq{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideUp_SGR5X{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut_cvHYp{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes toastShrink_h89HS{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.virtualList_qBPNc{box-sizing:border-box;color:var(--text-color);font-family:var(--default-font);overflow-anchor:none;scrollbar-gutter:stable;overscroll-behavior:contain;isolation:isolate;overflow-y:auto}.virtualList-drag-clone_artnC{box-sizing:border-box;contain:layout paint style;cursor:grabbing;transition:none}.virtualList-header_0Ellb{z-index:1;background:var(--background-accent);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:grid;position:sticky;top:0}.virtualList-header-cell_c8NGV{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;padding:8px 12px;font-size:13px;font-weight:600;overflow:hidden}.virtualList-header-toggle_pYFxD{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius);background:0 0;border:none;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.virtualList-header-toggle_pYFxD:hover{background:var(--background-accent-light);color:var(--text-color)}.virtualList-toggle-wrapper_JP32M{align-items:center;padding:0 4px;display:flex;position:absolute;top:0;bottom:0;right:0}.virtualList-toggle-popover_gbpd7{background:var(--background-accent);border:1px solid var(--border-color);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.virtualList-toggle-item_5gu5d{white-space:nowrap;padding:4px 12px;font-size:14px;transition:background .1s}.virtualList-toggle-item_5gu5d:hover{background:var(--background-accent-light)}.virtualList-column-chip_nOqr6{box-sizing:border-box;background:var(--primary-color);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;right:0}.virtualList-select-cell_s9kAy{box-sizing:border-box;justify-content:center;align-items:center;padding:0 4px;display:flex}.virtualList-body_k-fRr{box-sizing:border-box;position:relative}.virtualList-row_TTY50{border-bottom:1px solid var(--border-color);box-sizing:border-box;cursor:pointer;contain:layout paint style;transition:background .1s}.virtualList-row-no-divider_Ct0gV{border-bottom:none}.virtualList-row_TTY50:hover{background:var(--background-accent-light)}.virtualList-row-no-hover_2d3mH:hover{background:0 0}.virtualList-row-selected_hwEN-,.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-row-draggable_I86ha{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.virtualList-row-draggable_I86ha:active{cursor:grabbing}.virtualList-row-dragging_6T5tQ{opacity:.4}.virtualList-row-drop-inside_Uhi9n{background:var(--primary-lighter);box-shadow:inset 0 0 0 2px var(--primary-color)}.virtualList-drop-line_EM-g4{background:var(--primary-color);pointer-events:none;z-index:1;height:2px;position:absolute;right:0}.virtualList-drop-line_EM-g4:before{content:"";background:var(--primary-color);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.virtualList-drop-line-before_n-0iZ{top:-1px}.virtualList-drop-line-after_2dld-{bottom:-1px}.virtualList-reordering_Rt9E3{touch-action:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50{-webkit-user-select:none;user-select:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50:hover{background:0 0}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-dragging_6T5tQ{background:0 0}.virtualList-cell_H0zBv{text-overflow:ellipsis;box-sizing:border-box;align-items:center;min-width:0;padding:8px 12px;font-size:14px;display:flex;overflow:hidden}.virtualList-cell_H0zBv[data-fit-key]{white-space:nowrap}.virtualList-loading-full_wzZNM{justify-content:center;align-items:center;height:100%;display:flex}.virtualList-loading-indicator_EJced{justify-content:center;align-items:center;padding:8px 0;display:flex}.virtualList-spinner_apClW{width:32px;height:32px}.wizard_uRBAN{width:100%;height:100%;padding:1px;transition:all .2s;position:relative;overflow:hidden}.wizard-content_lcl4C{height:fit-content;position:absolute}.wizard-content-outOfFrame_Eks4Y *{-webkit-user-select:none;user-select:none;pointer-events:none;visibility:hidden;display:none}.wizard-content-container_yxbCJ{transition:all .6s;display:flex;position:relative}
2
+ .accordion_YZt8B{color:var(--text-color);margin:-1px;transition:margin .2s}.accordion-title_CGYKY{width:100%}.accordion-active_mocpj{margin:10px 0}.accordion-header_OEjXM{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_6KvnM{border:1px solid var(--primary-color);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_2o-mY{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border:1px solid var(--border-color);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_JI9nJ{padding:16px}.accordion-body-active_sb2-U{border:1px solid var(--primary-color);border-top:none}.accordion-icon_kLqp-{width:16px;height:16px;color:var(--border-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_lJwG8{transform:rotate(180deg)}.accordion_X64Nz{margin:-1px;transition:margin .2s}.accordion-title_2q-FF{width:100%}.accordion-active_72VwY{border:2px solid var(--primary-color);border-radius:var(--default-border-radius);margin:10px 0}.accordion-header_XuGF6{cursor:pointer;background:var(--background);border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;padding:16px;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_xf8Ch{background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_0Jsco{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);border-top:none;border-bottom:none;transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_0UBPf{padding:16px}.accordion-body-active_XFSy1{border-top:none}.accordion-icon_W1mz5{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_LI98q{transform:rotate(180deg)}.accordion_wkZJf{margin:-1px;transition:margin .2s}.accordion-title_-qwNy{width:100%}.accordion-active_t9-a2{margin:10px 0}.accordion-header_-oST6{cursor:pointer;border-radius:var(--default-border-radius);justify-content:space-between;align-items:center;font-size:16px;font-weight:400;transition:all .2s;display:flex}.accordion-header-active_UvKis{border-radius:var(--default-border-radius) var(--default-border-radius) 0px 0px}.accordion-body_ZagrJ{border-radius:0px 0px var(--default-border-radius) var(--default-border-radius);transition:all .2s;position:relative;overflow:hidden}.accordion-body-inner_HE7PL{padding:0}.accordion-icon_kHxym{width:16px;height:16px;color:var(--primary-color);flex-shrink:0;transition:transform .2s;transform:rotate(0)}.accordion-icon-active_-L8BH{transform:rotate(180deg)}.actionButtons_7GybR{gap:var(--spacing-m);display:flex}@media (--mq-mobile){.actionButtons_7GybR{flex-direction:column}}.actionButtons-margin_-XoFP{margin-top:var(--spacing-l)}.button_wYLPJ{appearance:none;box-sizing:border-box;color:var(--text-color);font-size:16px;font-family:var(--default-font);border-radius:var(--default-border-radius);cursor:pointer;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.button-notAllowed_xGT-E{cursor:not-allowed;filter:opacity(.8)}.button-loading-icon_1pTTz{width:100%!important;height:100%!important}.button-content_Q-0-4{white-space:break-spaces;position:relative}.button-content_Q-0-4 div{text-overflow:ellipsis;overflow:hidden}.button-loading_TY6y7{visibility:hidden}.button-loading-container_pMSta{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.button-withIcon_IXEKA{justify-content:center;align-items:center;gap:var(--spacing-s);display:flex}.button-style-primary_Ra5i-{background:var(--primary-color);color:var(--text-on-primary)}.button-style-primary_Ra5i- .button-loading-icon_1pTTz{stroke:var(--text-on-primary)}.button-style-delete_jpTCf{background:var(--error-color);color:var(--text-on-delete)}.button-style-delete_jpTCf .button-loading-icon_1pTTz{stroke:var(--text-on-delete)}.button-background_9Vfo5{padding:8px 12px;display:block}.button-size-default_N4HG9{font-size:16px}.button-size-small_mn6jE{font-size:12px}.button-size-small-background_KILXc{padding:0;display:block}.button-size-medium_gNVDM{font-size:16px}.button-size-large_xSIcS{font-size:20px}.spinner-loading_qbxX-{width:70px;height:70px}.spinner-loading_qbxX- circle{stroke-dasharray:283;stroke-dashoffset:281px;stroke-linecap:round;transform-origin:50%;animation:2s cubic-bezier(.89,.01,.12,1) infinite animate-spinner_6HoVF,3s linear infinite spin_axdh6}@keyframes animate-spinner_6HoVF{0%{stroke-dashoffset:281px}50%{stroke-dashoffset:0}to{stroke-dashoffset:-281px}}@keyframes spin_axdh6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ripple_TsvyF{aspect-ratio:1;width:100%;animation:ripple_TsvyF var(--ripple-animation-length) linear forwards;background:#fff3;border-radius:1000px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.ripple-container_QzHdC{border-radius:inherit;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes ripple_TsvyF{to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.actionIcon_ganSq{cursor:pointer;padding:4px}.actionIcon_ganSq:hover{filter:brightness(.8)}.card_w-6Ki{border-radius:var(--default-border-radius);background:var(--background-accent-light);color:var(--text-color);overflow:hidden}.card-padding_X2-q-{padding:16px}.card-shadow_xCSZ9{box-shadow:var(--card-shadow)}.card-interactable_az2lE{cursor:pointer}.card-hover_fdS-X{transition:transform .15s,box-shadow .15s,filter .3s}.card-hover_fdS-X:hover{background:var(--background-accent);transform:translateY(-2px)}.cardHeader_HfIlm{align-items:center;gap:16px;display:flex}.cardHeader-thumbnail_rFw-N{background:#00000014 50%/cover;border-radius:40px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.cardHeader-actions_awD46{gap:var(--spacing-s);flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;display:flex}.cardHeader-titles_CAUU3{flex-flow:column;flex:1;gap:4px;display:flex;overflow:hidden}.cardHeader-titles-main_Z834V{text-overflow:ellipsis;flex-shrink:100000;min-width:3ch;font-size:18px;font-weight:600;overflow:hidden}.cardHeader-titles-main-container_1j-od{align-items:center;gap:var(--spacing-m);justify-content:space-between;display:flex}.cardHeader-titles-sub_2X08b{text-overflow:ellipsis;font-weight:300;overflow:hidden}.cardMedia_GZJQF{width:calc(100% + 32px);margin:0 -16px}.cardActions_uYu-0{flex-wrap:wrap;gap:8px;display:flex}.checkbox_VO3c2{-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;column-gap:10px;width:fit-content;margin:-1px;display:flex}.checkbox-icon_7O0Hm{color:#a3a9b9;background-color:var(--light-background-color);border-radius:6px;justify-content:center;align-items:center;width:fit-content;height:fit-content;display:flex}.checkbox-loading_4t2-w{background:0 0}.checkbox-loading-spinner_XzXt4{width:100%;height:100%}.checkbox-pointer_XnO8e{cursor:pointer}.checkbox_VO3c2:focus-visible{border:1px solid var(--primary-color);border-radius:6px;outline:none}.checkbox-disabled_ML2rR{filter:brightness(.8);cursor:not-allowed}.checkbox-checkmark_Xclv9{border:1.8px solid var(--text-color);border-radius:var(--default-border-radius);position:relative}.checkbox-checkmark_Xclv9 svg{stroke:var(--text-on-primary);stroke-dasharray:5;stroke-dashoffset:5px;background:var(--primary-color);box-sizing:content-box;border-radius:var(--default-border-radius);padding:2px;transition:transform .1s,stroke-dashoffset .4s .2s;transform:scale(0)}.checkbox-checkmark-checked_mD4FI svg{stroke-dashoffset:0;transform:scale(1)translate(-3px,-3px)}.chip_rCTMl{box-sizing:border-box;background:#00000014;border-radius:99999px;width:fit-content;max-width:100%;position:relative}.chip-clickable_WTVjG{cursor:pointer}.chip-style-default_ppCDx{color:var(--text-color);background:#00000014}.chip-style-primary_oyE85{background:var(--primary-color);color:var(--text-on-primary)}.chip-style-info_GNJrm{background:var(--info-lighter);color:var(--info-color)}.chip-style-warn_Jx3LU{background:var(--warn-lighter);color:var(--warn-color)}.chip-style-error_-Npvg{background:var(--error-lighter);color:var(--error-color)}.chip-inner_mfo-w{align-items:center;gap:8px;padding:4px 8px;display:flex}.chip-inner_mfo-w>*{white-space:nowrap}.chip-text_d1juf{text-overflow:ellipsis;overflow:hidden}.chip-thumbnail_-A7eU{background:#00000014 0 0/cover;border-radius:18px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;overflow:hidden}.chip-container_oNNmF{flex-wrap:wrap;gap:8px;display:flex}.chip-container-inline_11QHw{flex-wrap:nowrap;overflow:auto}.floatingMenu_E1XCy{position:relative}.floatingMenu-content_AmxkA{cursor:pointer}.floatingMenu-container_w7k-Y{background:var(--background-modal);border-radius:calc(var(--default-border-radius) + 4px);margin-top:10px;padding:8px;position:absolute;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-align-left_InKnZ{left:0}.floatingMenu-container-align-right_a9OoS{right:0}.floatingMenu-container-align-center_-8bGT{left:50%;transform:translate(-50%)}.floatingMenu-container-flag_VdKHr{background:var(--background-modal);width:10px;height:10px;margin-top:5px;position:absolute;transform:rotate(45deg);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.floatingMenu-container-flag-align-right_vxrRN{right:8px}.floatingMenu-container-flag-align-left_a2Vv-{left:8px}.floatingMenu-container-flag-align-center_SmaaY{left:50%;transform:translate(-50%)rotate(45deg)}.floatingMenu-anim_5KB-f{opacity:.7;z-index:2;animation:.1s forwards showMenu_AprCh;position:fixed;transform:scale(.7)}@keyframes showMenu_AprCh{to{opacity:1;transform:scale(1)}}.tooltipBubble_uyev0{z-index:10;color:#fff;pointer-events:none;background-color:#454953;border-radius:3px;width:max-content;max-width:200px;padding:6px 9px;font-size:12px;position:absolute;bottom:calc(100% + 6px);left:0}.tooltipBubble_uyev0:after{content:"";border:5px solid #0000;border-top-color:#454953;position:absolute;top:100%;left:12px}.tooltipDetails_R7N16{align-items:center;display:inline-flex;position:relative}.tooltipDetails-icon_rsjns{color:#fff;cursor:default;-webkit-user-select:none;user-select:none;background-color:#454953;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.tooltipError_gUBut{background-color:var(--error-lighter);width:max-content;color:var(--red);z-index:1;border-radius:3px;padding:6px 9px;font-size:10px;position:absolute;top:-33px;right:0}.tooltipError_gUBut:after{content:"";border-style:solid;border-width:5px;border-color:var(--error-border-color) transparent transparent transparent;margin-left:-5px;position:absolute;top:100%;left:90%}.required-mark_xGJdX{color:var(--error-font-color);padding:0 0 0 4px}.isRequired_Jkn3h{color:var(--message-error-color)}.input_VKNCE{width:100%;position:relative}.input-placeholder_IZH-l{opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;transition:all .2s;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.input-placeholder-shown_mm35e{animation:.2s .3s forwards fadeIn_kmX3i}.input-placeholder-multiline_tLHAl{top:14px;transform:translateY(0)}.input-matLabel_-05ey{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;top:50%;left:7px;right:0;transform:translateY(-50%)}.input-matLabel-floating_1P2YE{font-size:13px;inset:-9px 0 0 14px;transform:translateY(0)}.input-matLabel-multiline_miIZJ{top:14px;transform:translateY(0)}.input-fieldset_XCibg{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;margin:0;padding:0 0 0 8px;position:absolute;inset:-11px 0 0}.input-fieldset-legend_X23zp{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.input-fieldset-legend-active_t-9hu{max-width:300px}.input-fieldset-legend_X23zp span{opacity:0;padding:5px;font-size:13px}.input-fieldset-legend_X23zp span:empty{padding:.000001px}.input-container_M1RoG{border-radius:var(--default-border-radius);background-color:var(--input-background);cursor:text;align-items:center;height:100%;transition:border-color;display:flex}.input-container-multiline_eLw7h{align-items:flex-start;padding-top:10px;overflow:hidden}.input-container-border_l131I{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.input-container-border-focused_ct6oY{outline-color:var(--primary-color);border-color:var(--primary-color)}.input-container-border-searchFocused_lq088{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.input-container-border-invalid_Wdbq2,.input-container-border-invalid_Wdbq2:hover,.input-container-border-error_gzfPG{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.input-label_w1hMR{color:var(--text-color);height:100%;display:flex}.input-label-column_qBFPC{flex-direction:column}.input-label-text_-J5qQ{white-space:nowrap;color:color(var(--border-color) lightness(40%));white-space:nowrap;background-color:#0000;align-items:center;margin-bottom:6px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.input-upper-right-label_I-WG3{min-height:12px;color:color(var(--border-color) lightness(40%));font-size:12px;position:absolute;right:8px;transform:translateY(calc(-100% - 1.5px))}.input-field_pmDvZ{appearance:none;font-family:inherit;font-size:inherit;box-sizing:border-box;resize:none;border-radius:var(--default-border-radius);width:100%;color:var(--text-color);background:0 0;border:none;line-height:20px;overflow:hidden}.input-field_pmDvZ:focus{outline:none}.input-field_pmDvZ::placeholder{color:var(--text-light)}.input-field-withIcon_VpfmK{padding-right:37px!important}.input-field-withIcon-left_Io7lU{padding-left:37px!important;padding-right:9px!important}.input-field-suffix_NZpXp{padding-right:9px}.input-field-date_UHJEZ{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 9px}.input-field-date_UHJEZ svg{color:#fff}.input-field-default_TKipA{padding:8px 7.5px 6px}.input-field_pmDvZ[disabled]{background-color:var(--disabled-input-color);color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color);opacity:1}.input-field_pmDvZ[disabled]::placeholder{color:var(--disabled-font-color);-webkit-text-fill-color:var(--disabled-font-color)}.input-field-uppercase_UV6f1{text-transform:uppercase}.input-field-multiline_al3V1{resize:vertical;min-height:30px;padding-top:4px;overflow-y:auto}.input-field-multiline-autoResize_nK33P{resize:none;overflow:hidden}.input-field-icon_YyJIr{appearance:none;box-sizing:border-box;cursor:pointer;color:var(--input-icon-color);-webkit-user-select:none;user-select:none;background-color:#0000;border:none;outline:none;position:absolute;top:50%;right:10px;transform:translateY(-50%);width:19px!important;height:19px!important}.input-field-icon-left_m2XB1{left:10px}.input-field-icon-notClickable_7j24I{pointer-events:none}.input-error_LIG23{height:1em;color:var(--error-font-color);padding-top:3px;font-size:11px}@keyframes fadeIn_kmX3i{0%{opacity:0}to{opacity:.5}}.colorPicker_Ts3an{align-items:center;gap:8px;display:flex}.swatch_NW78g{border-radius:var(--default-border-radius);cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#bbb 25%,#0000 25%),linear-gradient(-45deg,#bbb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#bbb 75%),linear-gradient(-45deg,#0000 75%,#bbb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:32px;height:32px;position:relative;box-shadow:0 0 0 1px #00000026}.swatch_NW78g:hover .swatchHex_j7-i5{opacity:1}.swatchFill_oNtHf{border-radius:inherit;position:absolute;inset:0}.swatchHex_j7-i5{color:#fff;border-radius:inherit;opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1;background:#0000008c;justify-content:center;align-items:center;font-family:monospace;font-size:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.panel_WXEvY{flex-direction:column;gap:10px;width:224px;padding:12px;display:flex}.gradientArea_qEZim{cursor:crosshair;background:linear-gradient(to right, white, hsl(calc(var(--hue) * 1deg), 100%, 50%));border-radius:4px;width:200px;height:160px;position:relative;overflow:hidden}.gradientOverlay_ZQybe{background:linear-gradient(#0000,#000);position:absolute;inset:0}.cursor_m67Lm{pointer-events:none;z-index:1;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 3px #00000080}.hueSlider_k3Knb{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;width:100%;height:10px}.hueSlider_k3Knb::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hueSlider_k3Knb::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD{appearance:none;border-radius:var(--default-border-radius);cursor:pointer;background-image:linear-gradient(to right, transparent, var(--alpha-color)), linear-gradient(45deg, #bbb 25%, transparent 25%), linear-gradient(-45deg, #bbb 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bbb 75%), linear-gradient(-45deg, transparent 75%, #bbb 75%);background-color:#fff;background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;outline:none;width:100%;height:10px}.alphaSlider_OT2sD::-webkit-slider-thumb{appearance:none;border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.alphaSlider_OT2sD::-moz-range-thumb{border-radius:var(--default-border-radius);background:var(--primary-color);width:6px;height:20px;box-shadow:var(--card-shadow);cursor:pointer}.hexInput_zQw4s{border-radius:var(--default-border-radius);border:1px solid var(--border-color);background:var(--input-background);width:100%;color:var(--text-color);box-sizing:border-box;outline:none;padding:5px 8px;font-family:monospace;font-size:13px}.hexInput_zQw4s:focus{border-color:var(--primary-color)}.modal_L-Fkd{border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-sizing:border-box;transform-origin:bottom;max-width:95%;max-height:95%;padding:16px;animation:.2s slideIn_RVIHR,.3s forwards fadeIn_XSuIE;position:relative;overflow:auto}@media not (--breakpoint-desktop){.modal_L-Fkd{max-width:100%;max-height:100%}}.modal-container_qwKIm{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}@media (--breakpoint-tablet){.modal-container_qwKIm{z-index:1}}.modal-header_DhsRr{justify-content:space-between;gap:8px;margin-bottom:16px;display:flex}.modal-header_DhsRr div{text-overflow:ellipsis;overflow:hidden}.modal-header_DhsRr svg{cursor:pointer}.modal-wrapper_r5wzq{opacity:0;background:#00000052;width:100%;height:100%;transition:all .3s ease-in-out;position:fixed;top:0;left:0}.modal-wrapper-shown_F0BgK{opacity:1}@keyframes slideIn_RVIHR{0%{transform:scale(0)}to{transform:scale(.99)}}@keyframes fadeIn_XSuIE{0%{opacity:0}to{opacity:1}}.datePickerMonth-item_30WWy{aspect-ratio:1;justify-content:center;align-items:center;margin:1px 0;display:flex}.datePickerMonth-content_9bbSs{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.datePickerMonth-day_SaASA{cursor:pointer}.datePickerMonth-day-today_RXOIr{background-color:var(--background-accent-light);border-radius:var(--default-border-radius)}.datePickerMonth-day-selected_yMF-v{background-color:var(--primary-color);color:var(--text-on-primary);border-radius:0}.datePickerMonth-day-selected-start_ftVeI{border-top-left-radius:var(--default-border-radius);border-bottom-left-radius:var(--default-border-radius)}.datePickerMonth-day-selected-end_MZ2qy{border-top-right-radius:var(--default-border-radius);border-bottom-right-radius:var(--default-border-radius)}.datePickerMonth-day-disabled_4t0Ci{filter:brightness(.5);cursor:not-allowed}.datePickerMonth-placeholder_gy1Yx{-webkit-user-select:none;user-select:none;pointer-events:none}.infiniteBlock_dFv-h{max-height:none}.spinner-wrapper_hsgWz{justify-content:center;align-items:center;padding:4px 0;display:flex}.spinner_VjUS2{width:32px;height:32px}.required-mark_fy7Fm{color:var(--error-font-color);padding:0 0 0 4px}.dropdown_XTshY{position:relative}.dropdown-label_TIpeK{display:flex}.dropdown-label-column_cMCBc{flex-direction:column}.dropdown-label-text_u-UKq{white-space:nowrap;color:var(--text-color);align-items:center;margin-bottom:5px;margin-right:5px;font-size:12px;display:flex;position:absolute;top:-15px}.dropdown-input_WiPcb{cursor:pointer;background-color:var(--input-background);border-radius:var(--default-border-radius);position:relative}.dropdown-input-plain_Ap12N{background:0 0}.dropdown-input_WiPcb:focus-within{outline:none}.dropdown-input-button_ziKKi{font-family:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;width:100%;color:var(--text-color);background-color:#0000;border:none;line-height:20px;overflow:hidden;padding:7.5px 20% 7.5px 7.5px!important}.dropdown-input-button-disabled_JEaO-{background-color:var(--disabled-input-color);color:var(--disabled-font-color);border-radius:var(--default-border-radius)}.dropdown-input-button_ziKKi:focus{outline:none}.dropdown-input-button-icon_jl7EY{float:right;right:var(--spacing-s);color:var(--text-color);cursor:pointer;background-color:#0000;border:none;outline:none;position:absolute;top:50%;transform:translateY(-50%)}.dropdown-input-button-icon-arrow_SFJbx{pointer-events:none;transition:transform .25s}.dropdown-input-button-icon-arrow-open_8yQbZ{transform:rotate(180deg)}.dropdown-input-list_JnMbA{border:1px solid var(--border-color);background-color:var(--background);border-radius:var(--default-border-radius);transform-origin:100% 0;z-index:1;flex-direction:column;width:calc(100% - 1px);max-height:160px;list-style-type:none;transition:transform .25s;display:flex;position:absolute;left:-1px;overflow:hidden auto;transform:scaleY(1)}.dropdown-input-list-on-top_RpQ9v{bottom:56px}.dropdown-input-list-wider_0rbTN{width:max-content!important}.dropdown-input-list-item_EAy5L{cursor:pointer;background-color:var(--background);text-align:left;border:none;border-radius:0;padding:6px;transition:all .3s}.dropdown-input-list-item-active_0dhia{background-color:var(--background-accent)}.dropdown-input-list-item-selected_hShJf{font-weight:500}.dropdown-input-list-item_EAy5L:focus{outline:none}.dropdown-input-list-item_EAy5L:hover{background-color:var(--background-accent)}.dropdown-input-list-item-disabled_3r-Yn{background-color:var(--disabled-input-color);color:var(--disabled-font-color);cursor:not-allowed}.dropdown-input-list-item-disabled_3r-Yn:hover{background-color:var(--disabled-input-color)}.dropdown-input-list-hidden_huNc5{transform:scaleY(0)}.dropdown-fieldset_wQwTf{box-sizing:border-box;border-radius:var(--default-border-radius);border-style:solid;border-width:1px;border-color:var(--border-color);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;margin:0;padding-left:8px;position:absolute;inset:-10px 0 0}.dropdown-fieldset-legend_a1M4L{white-space:nowrap;max-width:0;padding:0;transition:max-width .2s;display:block}.dropdown-fieldset-legend-active_bnR5F{max-width:300px}.dropdown-fieldset-legend_a1M4L span{opacity:0;padding:5px;font-size:13px}.dropdown-placeholder_QYMPZ{opacity:0;transition:all .2s;position:absolute;top:8px;left:7px}.dropdown-placeholder-shown_-IkNH{animation:.2s .3s forwards fadeIn_oMJZj}.dropdown-matLabel_iHQnt{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:16px;transition:all .3s;position:absolute;inset:9px 0 0 7px}.dropdown-matLabel-floating_zY51S{font-size:13px;inset:-9px 0 0 14px}@keyframes fadeIn_oMJZj{0%{opacity:0}to{opacity:.5}}.dropdown-border_9Oaex{outline:1px solid var(--border-color);background-color:var(--input-background);outline:none;transition:border-color}.dropdown-border-focused_Te-ER{outline-color:var(--primary-color);border-color:var(--primary-color)}.dropdown-border-searchFocused_AH67N{outline-color:var(--search-input-color);border-color:var(--search-input-color);outline-width:2px}.dropdown-border-plain_Bbh-3{border-color:#0000;outline-color:#0000}.dropdown-border-invalid_ySVaS,.dropdown-border-invalid_ySVaS:hover,.dropdown-border-error_-JB33{outline-color:var(--error-border-color);border-color:var(--error-border-color)}.datePicker_ZohTp{flex:1;width:100%;min-width:105px;position:relative}.datePicker-header_YmSWE{justify-content:space-between;align-items:center;margin:8px 0;display:flex}.datePicker-header-monthAndYear_b5ntO{display:flex}.datePicker-header-monthAndYear-container_Hcgks{gap:16px;display:flex;position:relative}.datePicker-header-month_jqFHl{width:120px}.datePicker-header-year_4egHF{width:75px}.datePicker-month_7iosT{min-width:185px}.emptyState_KXOIx{justify-content:center;align-items:center;gap:var(--spacing-m);flex-flow:column;display:flex}.fab_hyAAa{--icon-size:18px;border-radius:50%;align-items:stretch;width:56px;height:56px;padding:0;display:flex}.fab_hyAAa>div{border-radius:50%;justify-content:center;align-items:center;width:100%;display:flex}.fab-content_IBiXm{font-size:var(--icon-size);width:var(--icon-size);height:var(--icon-size)}.fab-content_IBiXm svg{width:var(--icon-size);height:var(--icon-size)}.fab-content-container_FQD1x{justify-content:center;align-items:center;display:flex}.fab-size-mini_KP9BD{background:var(--background-accent-light);width:40px;height:40px}.fab_YI34X{opacity:0;border-radius:50%;animation:.3s forwards appear_DL0wm;transform:scale(0);box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.fab-container_8uoYo{position:fixed;bottom:16px;right:16px}@media (--breakpoint-tablet){.fab-container_8uoYo{z-index:2}}.fab-menu_O1WO9{pointer-events:none;-webkit-user-select:none;user-select:none;flex-flow:column-reverse;align-items:center;gap:16px;width:100%;display:flex;position:absolute;top:0;transform:translateY(calc(-100% - 16px))}.fab-menu-backdrop_m9T6a{opacity:0;background:#000;width:0%;height:0%;transition:opacity .4s;position:fixed;top:0;left:0}.fab-menu-backdrop-open_35mlH{opacity:.5;width:100%;height:100%}.fab-menu-entry_rIgXr{cursor:pointer;opacity:0;pointer-events:all;transition:all .2s;position:relative;transform:scale(0)}.fab-menu-entry_rIgXr:nth-child(2){transition-delay:50ms}.fab-menu-entry_rIgXr:nth-child(3){transition-delay:.1s}.fab-menu-entry_rIgXr:nth-child(4){transition-delay:.15s}.fab-menu-entry_rIgXr:nth-child(5){transition-delay:.2s}.fab-menu-entry_rIgXr:nth-child(6){transition-delay:.25s}.fab-menu-entry_rIgXr:nth-child(7){transition-delay:.3s}.fab-menu-entry-shown_066HC{opacity:1;transform:scale(1)}.fab-menu-entry-label_pXdDf{background:var(--background-accent-light);border-radius:var(--default-border-radius);padding:4px 8px}.fab-menu-entry-label-container_oeKI5{align-items:center;width:max-content;height:100%;margin-left:-8px;display:flex;position:absolute;transform:translate(-100%)}.fab-icon_5Fp-6{justify-content:center;align-items:center;width:100%;height:100%;transition:all .4s;display:flex;position:relative}.fab-icon-menuOpen_Jp8Qb{transform:rotate(225deg)}.fab-icon-content_o0VDx{opacity:0;width:18px;height:18px;transition:opacity .3s;position:absolute}.fab-icon-content-shown_oY19H{opacity:1}@keyframes appear_DL0wm{to{opacity:1;transform:scale(1)}}.iconPicker_xJJmG{border-radius:var(--default-border-radius);border:1px solid #0000}.iconPicker-label_VEB2X{font-size:var(--text-small-font-size);margin-bottom:8px}.iconPicker-item_iJWDN{background:var(--background-accent);cursor:pointer;width:24px;height:24px;stroke:var(--text-color);border-radius:200px;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.iconPicker-item_iJWDN:focus-visible{outline:1px solid var(--primary-color)}.iconPicker-item-container_-1WT5{flex-wrap:wrap;justify-content:space-around;gap:8px 14px;display:flex}.iconPicker-item-selected_GQ-I1{background:var(--primary-color)}.iconPicker-error_23m9v{border-color:red}.inputDropdown_UdYMa{position:relative}.dropdown_-M5-x{border-radius:var(--default-border-radius);background:var(--background-modal);width:fit-content;max-width:240px;box-shadow:var(--card-shadow);box-sizing:border-box;transform-origin:0 0;opacity:0;z-index:2;max-height:200px;transition:all .1s;position:fixed;overflow:auto;transform:scale(.95)}.dropdown-shown_H2rFU{opacity:1;transform:scale(1)}.dropdown-item_JRgbt{z-index:0;cursor:pointer;outline:none;padding:8px}.dropdown-item_JRgbt:hover,.dropdown-item_JRgbt:focus,.dropdown-item-highlighted_1ZENP{background:var(--background-accent)}.dropdown-category_OMT0E{padding:16px 8px 4px}.board_6KRdw{gap:var(--spacing-s);align-items:flex-start;width:100%;display:flex;overflow-x:auto}.column_NrNeF{background:var(--background-accent-light);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);border:2px solid #0000;flex-direction:column;flex:1 1 0;transition:border-color .15s,background .15s;display:flex}.column-empty_5KYsJ{flex:0 1 0;min-width:140px}.column-over_sO7oD{border-color:var(--primary-lighter);background:var(--background-accent)}.column-header_PLeKG{padding:var(--spacing-m) var(--spacing-l);background:var(--background-accent);border-radius:var(--default-border-radius) var(--default-border-radius) 0 0;font-size:var(--header-small-font-size);font-weight:var(--header-font-weight);color:var(--text-color);border-bottom:1px solid var(--border-color)}.column-items_xY5er{padding:var(--spacing-m);gap:var(--spacing-m);flex-direction:column;flex:1;min-height:80px;display:flex}.item_T8CJK{cursor:grab;touch-action:none}.item_T8CJK:active{cursor:grabbing}.item-dragging_iWurw{opacity:.4}.dragOverlay_DSyKz{border-radius:var(--default-border-radius);cursor:grabbing;box-shadow:0 10px 30px #00000040, var(--card-shadow)}.iconLoading_wovj4{-webkit-user-select:none;user-select:none;pointer-events:none;--draw-duration:.8s;--delay:.4s;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.iconLoading_wovj4 svg{stroke-dasharray:14;stroke-dashoffset:14px;aspect-ratio:1;width:200px;animation:calc(var(--draw-duration) * 3) spin-to-oblivion_0tZtm var(--delay) infinite;stroke:var(--primary-color);stroke-linecap:round;transform:rotate(0)}.iconLoading-first_SBwP3{animation:calc(var(--draw-duration) * 3) draw-line_1NiWA var(--delay) infinite}.iconLoading-second_nHrW3{animation:calc(var(--draw-duration) * 3) draw-line-two_HmaHl var(--delay) infinite}@keyframes draw-line_1NiWA{33%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes draw-line-two_HmaHl{33%{stroke-dashoffset:14px}66%{stroke-dashoffset:0}95%{stroke-dashoffset:0}96%{stroke-dashoffset:14px}}@keyframes spin-to-oblivion_0tZtm{50%{transform:rotate(180deg)}75%{transform:rotate(180deg)scale(0)}to{transform:rotate(180deg)scale(0)}}.arrows_yjRlc{border-left:1px solid var(--border-color);flex-direction:column;align-self:stretch;margin:4px 0;display:flex}.arrowBtn_DbJoa{cursor:pointer;color:var(--text-dark);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:0 6px;font-size:.55rem;line-height:1;transition:color .15s,background .15s;display:flex}.arrowBtn_DbJoa:hover{color:var(--primary-color);background:var(--background-accent-light)}.arrowBtn_DbJoa:active{color:var(--primary-lighter)}.optionPicker_Yx82s{gap:var(--spacing-m);border-radius:var(--default-border-radius);border:1px solid var(--border-color);justify-content:space-around;width:100%;display:flex;position:relative;overflow:hidden}.optionPicker-chip_ywtvr{background:var(--primary-color);border-radius:var(--default-border-radius);height:100%;transition:left .25s ease-in-out,width .25s ease-in-out;position:absolute;top:0;left:0}.optionPicker-option_uq0vK{text-align:center;cursor:pointer;width:100%;height:100%;padding:var(--spacing-m);text-overflow:ellipsis;border-radius:var(--default-border-radius);transition:color .25s;display:block;position:relative;overflow:hidden}.optionPicker-option_uq0vK:focus{outline:var(--primary-color) solid 2px;outline-offset:-2px}.optionPicker-option-active_yUECW{color:var(--text-on-primary)}.overscroll_Ij750{-ms-overflow-style:none;scrollbar-width:none;height:100vh;overflow:auto}.overscroll_Ij750::-webkit-scrollbar{display:none}.overscroll-header_S6vYc{width:100%;position:absolute;bottom:0}.overscroll-header-centered_8VlsP{justify-content:center;align-items:center;display:flex}.overscroll-header-container_iignp{position:relative}.progressBar_LO0sX{border-radius:var(--default-border-radius);background-color:#e0e0e0;align-items:center;min-width:100px;min-height:10px;display:flex;overflow:hidden}.progressBar-fill_rt32j{background-color:var(--primary-color);align-items:center;width:0;height:-webkit-fill-available;height:-moz-available;height:stretch;transition:width .3s;display:flex;overflow:hidden}.progressBar-fill-end_71wL3{border-radius:0 var(--default-border-radius) var(--default-border-radius) 0}.progressBar-label_jWud2{color:#fff;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:12px;overflow:hidden}.progressBar-label-custom_sSump{mix-blend-mode:difference}.roomDrawer_SJj4-{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.roomDrawer-toolbar_55H5p{background:var(--background-accent);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;padding:6px 8px;display:flex}.roomDrawer-toolbar-sep_nJeh8{flex:1}.roomDrawer-toolbar-btn_2qinY{border-radius:var(--default-border-radius);width:32px;height:32px;color:var(--text-dark);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;transition:background .12s,color .12s;display:flex}.roomDrawer-toolbar-btn_2qinY:hover:not(:disabled){background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-toolbar-btn_2qinY:disabled{opacity:.35;cursor:not-allowed}.roomDrawer-toolbar-btn-active_4XX25{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-toolbar-zoomLabel_HMkb5{border-radius:var(--default-border-radius);min-width:40px;height:32px;color:var(--text-dark);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:0 4px;font-size:11px}.roomDrawer-toolbar-zoomLabel_HMkb5:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-canvas_Y18uD{cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;display:block}.roomDrawer-canvas-select_M43-x{cursor:default}.roomDrawer-info_qwC6L{background:var(--background-accent);border-top:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-info-label_8I9hB{color:var(--text-dark);white-space:nowrap;font-size:12px}.roomDrawer-info-input_YAl-K{border:1px solid var(--border-color);border-radius:var(--default-border-radius);background:var(--background);max-width:220px;height:28px;color:var(--text-color);flex:1;padding:0 8px;font-size:13px}.roomDrawer-info-input_YAl-K:focus{border-color:var(--primary-color);outline:none}.roomDrawer-info-spacer_cOj96{flex:1}.roomDrawer-info-delete_TSBUN{border:1px solid var(--border-color);border-radius:var(--default-border-radius);width:28px;height:28px;color:var(--text-dark);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:flex}.roomDrawer-info-delete_TSBUN:hover{color:#fff;background:#e53935;border-color:#e53935}.roomDrawer-hint_3WTFa{color:var(--text-dark);background:var(--background-accent);border-top:1px solid var(--border-color);padding:4px 8px;font-size:11px}.roomDrawer-info-doorsBtn_oK5Uf{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:28px;color:var(--text-dark);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-info-doorsBtn_oK5Uf:hover{background:var(--background-accent-light);color:var(--text-color)}.roomDrawer-doorPanel_e-Tl9{background:var(--background-accent);border-top:1px solid var(--border-color);flex-direction:column;display:flex}.roomDrawer-doorPanel-header_--iXz{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;padding:6px 8px;display:flex}.roomDrawer-doorPanel-icon_KxaVY{color:var(--text-dark);font-size:12px}.roomDrawer-doorPanel-title_8nOZS{color:var(--text-dark);flex:1;font-size:12px}.roomDrawer-doorPanel-done_ejQkx{border:1px solid var(--border-color);border-radius:var(--default-border-radius);height:26px;color:var(--text-dark);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:background .12s,color .12s;display:flex}.roomDrawer-doorPanel-done_ejQkx:hover{background:var(--primary-accent);color:var(--primary-color);border-color:var(--primary-lighter)}.roomDrawer-doorPanel-list_rDou7{flex-direction:column;gap:4px;max-height:130px;padding:6px 8px;display:flex;overflow-y:auto}.roomDrawer-doorPanel-item_U-3-B{align-items:center;gap:6px;display:flex}.roomDrawer-doorPanel-label_qSYqY{color:var(--text-color);min-width:48px;font-size:12px}.roomDrawer-doorPanel-widthLabel_jXv7D{color:var(--text-dark);font-size:11px}.roomDrawer-doorPanel-empty_LcDw0{color:var(--text-dark);padding:2px 0;font-size:11px;font-style:italic}.roomDrawer-canvas-door_qzCIa{cursor:crosshair}.doorGap_KrIuB{stroke:var(--background);stroke-width:4px;stroke-linecap:butt;pointer-events:none}.doorMarker_-N63z{fill:var(--primary-color);stroke:var(--background);stroke-width:.8px;pointer-events:all;cursor:grab}.doorMarker_-N63z:active{cursor:grabbing}.gridLine_V-rxw{stroke:var(--text-color);stroke-width:.3px;opacity:.12}.roomFill_JnJ0J{fill:var(--primary-accent);fill-opacity:.08;stroke:none}.roomFill-selected_IfIRr{fill-opacity:.22}.roomStroke_S18UH{fill:none;stroke:var(--primary-color);stroke-width:1.5px;stroke-linejoin:round}.roomStroke-selected_fm19u{stroke:var(--primary-lighter);stroke-width:2px}.roomText_6fIeU{fill:var(--text-color);stroke:none;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:7px}.doorPanel_raCv0{stroke:var(--primary-color);stroke-width:1.5px;stroke-linecap:round}.doorPanel-selected_5DG7g{stroke:var(--primary-lighter);stroke-width:2px}.doorSwing_Tbt9D{fill:none;stroke:var(--primary-color);stroke-width:.8px;stroke-dasharray:3 2;pointer-events:none}.doorSwing-selected_fFte5{stroke:var(--primary-lighter)}.preview_seIZY{fill:var(--primary-accent);stroke:var(--primary-color);stroke-width:1px;stroke-dasharray:4 2;pointer-events:none}.polyCloseTarget_snjYx{fill:var(--primary-color);opacity:.5;pointer-events:none}.polyVertex_fw0nX{fill:var(--primary-color);stroke:none;pointer-events:none}.vertexHandle_-z7g5{fill:var(--background);stroke:var(--primary-color);stroke-width:1.5px;cursor:grab;pointer-events:all}.vertexHandle_-z7g5:hover{fill:var(--primary-accent);stroke:var(--primary-lighter)}.roomViewer-containerLoading_BL3M-{opacity:.4;pointer-events:none}.roomViewer-container_YlmB8 svg{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1}.roomViewer-container_YlmB8 svg path{stroke:var(--primary-color);fill:#0000}.roomViewer-container_YlmB8 svg path[id=background]{stroke:none;fill:#0000;cursor:pointer}.roomViewer-container_YlmB8 svg [id^=room]{cursor:pointer}.roomViewer-container_YlmB8 svg text{fill:var(--text-color);stroke:none;font-size:5px}.roomViewer-active_gG6wf{stroke:#18f810!important;fill:#20f81013!important}.roomViewer-active_gG6wf path{stroke:#18f810!important;fill:none!important}.roomViewer-active_gG6wf path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj{stroke:#18f810!important}.roomViewer-selected_CpdMj path{stroke:#18f810!important;fill:none!important}.roomViewer-selected_CpdMj path[id=background]{stroke:none!important;fill:#20f81013!important}.roomViewer-selected_CpdMj text{stroke:none;fill:var(--text-color)}.roomViewer-tint_O9JrM,.roomViewer-tint_O9JrM path{fill:#20f81013!important}.roomViewer-tint_O9JrM text{stroke:none;fill:none}.roomViewer-actions_4cA74{justify-content:center;gap:8px;width:100%;font-size:16px;display:flex}.roomViewer-actions_4cA74 svg{cursor:pointer}.roomViewer-header_XEHCO{margin-bottom:4px}.scrollbarProvider_IMBFu{display:contents}.scrollbarProvider_IMBFu *{scrollbar-width:thin;scrollbar-color:var(--background-accent-light) var(--background)}.scrollbarProvider_IMBFu ::-webkit-scrollbar{width:12px}.scrollbarProvider_IMBFu ::-webkit-scrollbar-track{background:0 0}.scrollbarProvider_IMBFu ::-webkit-scrollbar-thumb{background-color:var(--background-accent-light);border:3px solid var(--background);border-radius:10px}.resultCount_Sn48Q{color:var(--text-dark);margin:6px 0 0;font-size:12px}.stepper_kiS2A{-webkit-user-select:none;user-select:none;align-items:center;margin-bottom:30px;display:flex}.stepper-clickable_Nm6fP{cursor:pointer}.stepper-vertical_2y9rg{flex-flow:column}.stepper-connector_J2FwZ{background-position:0%;background-size:200% 200%;background-image:repeating-linear-gradient(90deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:50px;height:1px;transition:all .6s}.stepper-connector-vertical_vwY38{background-position:0 100%;background-image:repeating-linear-gradient(0deg, var(--primary-lighter) 0%, var(--primary-lighter) 50%, var(--primary-color) 50%, var(--primary-color) 100%);width:3px;height:100px}.stepper-connector-filled_W8UZS{background-position:-100% 0;height:3px}.stepper-entry_KD4JJ{box-sizing:border-box;border:1px solid var(--primary-lighter);width:40px;height:40px;color:var(--primary-lighter);border-radius:var(--default-border-radius);box-shadow:inset 0px 0px 0px var(--primary-color);justify-content:center;align-items:center;transition:all .4s;display:flex;position:relative;transform:none}.stepper-entry-active_V1aRt{border:2px solid var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.stepper-entry-done_M3wb5{box-shadow:inset 0px 0px 0px 30px var(--primary-color);transform:none}.stepper-entry-number_J168Q{stroke-dasharray:5;stroke-dashoffset:5px}.stepper-entry-number-done_-m7sD{animation:.4s .2s forwards showCheckmark_Rd0oW}@keyframes showCheckmark_Rd0oW{0%{stroke-dashoffset:5px}to{stroke-dashoffset:0}}.stepper-entry-label_b94eg{text-align:center;width:140px;position:absolute;top:45px;left:0;transform:translate(-50px)}.stepper-entry-label-vertical_Zm8i4{text-align:left;top:0;left:100px}.gifPreview_-ECUZ{aspect-ratio:1;--gif-preview-gap-size:5px;gap:var(--gif-preview-gap-size);flex-wrap:wrap;justify-content:center;width:min(420px,90vw);display:flex;position:relative;overflow:auto}.gifPreview-image_Aq7-a{background-position:50%;background-size:cover;width:100%;height:100%}.gifPreview-image-container_ycypL{aspect-ratio:1;background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);width:min(140px,33.3%);width:min(calc(140px - var(--gif-preview-gap-size)), calc(33.3% - var(--gif-preview-gap-size)));background-size:500% 500%;animation:1s linear infinite gradientBottomLeftToTopRight_wo6HB;overflow:hidden}.gifView_Fa2zj{justify-content:center;align-items:center;display:flex;position:relative}.gifView_Fa2zj img{border-radius:var(--default-border-radius);max-width:100%;overflow:hidden}.gifView-loading_LfNJr{background:linear-gradient(45deg, var(--primary-color) 10%, var(--primary-lighter), var(--primary-accent), var(--primary-color) 85%);border-radius:var(--default-border-radius);background-size:500% 500%;width:100%;height:100%;animation:1s linear infinite gradientBottomLeftToTopRight_JR6aS;position:absolute;top:0;left:0;overflow:hidden}.tenorPicker-selected_IfR2z{margin-top:8px}.tenorPicker-modal-content_Vkolf{gap:var(--spacing-m);flex-flow:column;display:flex}.tenorPicker-suggestions-container_kJCj5{max-width:420px}.tenorPicker-suggestions-item_Rl99M{cursor:pointer}.colorFade_eLv2g *{transition:background .3s ease-in-out}.container_krdsW{z-index:9999;pointer-events:none;box-sizing:border-box;flex-direction:column;gap:8px;padding:16px;display:flex;position:fixed}.container-top-left_zfDTO{align-items:flex-start;top:0;left:0}.container-top-center_CUIGc{align-items:center;top:0;left:50%;transform:translate(-50%)}.container-top-right_sB0KU{align-items:flex-end;top:0;right:0}.container-bottom-left_toJdF{flex-direction:column-reverse;align-items:flex-start;bottom:0;left:0}.container-bottom-center_Bkf9m{flex-direction:column-reverse;align-items:center;bottom:0;left:50%;transform:translate(-50%)}.container-bottom-right_oRSMc{flex-direction:column-reverse;align-items:flex-end;bottom:0;right:0}.toast_qBi4o{pointer-events:all;border-radius:var(--default-border-radius);background:var(--background-modal);color:var(--text-color);font-family:var(--default-font);box-shadow:var(--card-shadow);box-sizing:border-box;align-items:flex-start;gap:10px;min-width:240px;max-width:380px;padding:12px 14px;animation:.25s forwards toastSlideDown_4lKWq;display:flex;position:relative;overflow:hidden}.toast-bottom_X8ZIe{animation:.25s forwards toastSlideUp_SGR5X}.toast-dismissing_xKmB-{animation:.2s forwards toastFadeOut_cvHYp}.toast-info_RlLli{border-left:3px solid var(--info-color,#3b82f6)}.toast-info_RlLli .toastIcon_xU1nA{color:var(--info-color,#3b82f6)}.toast-success_I1g1B{border-left:3px solid var(--success-color)}.toast-success_I1g1B .toastIcon_xU1nA{color:var(--success-color)}.toast-error_MloFO{border-left:3px solid var(--error-color,#ef4444)}.toast-error_MloFO .toastIcon_xU1nA{color:var(--error-color,#ef4444)}.toast-warn_pP6HB{border-left:3px solid var(--warn-color)}.toast-warn_pP6HB .toastIcon_xU1nA{color:var(--warn-color)}.toast-default_RTt2L{border-left:3px solid var(--primary-color)}.toast-default_RTt2L .toastIcon_xU1nA{color:var(--primary-color)}.toastIcon_xU1nA{flex-shrink:0;margin-top:1px;font-size:15px}.toastContent_gvyIv{flex:1;font-size:14px;line-height:1.4}.toastCloseButton_n-YST{cursor:pointer;color:var(--text-dark);opacity:.6;background:0 0;border:none;flex-shrink:0;margin-top:1px;padding:0;font-size:13px;transition:opacity .15s}.toastCloseButton_n-YST:hover{opacity:1}.toastProgressBar_6vBs6{opacity:.35;transform-origin:0;width:100%;height:3px;animation:toastShrink_h89HS var(--toast-duration) linear forwards;background:currentColor;position:absolute;bottom:0;left:0}@keyframes toastSlideDown_4lKWq{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideUp_SGR5X{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut_cvHYp{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes toastShrink_h89HS{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.virtualList_qBPNc{box-sizing:border-box;color:var(--text-color);font-family:var(--default-font);overflow-anchor:none;scrollbar-gutter:stable;overscroll-behavior:contain;isolation:isolate;overflow-y:auto}.virtualList-drag-clone_artnC{box-sizing:border-box;contain:layout paint style;cursor:grabbing;transition:none}.virtualList-header_0Ellb{z-index:1;background:var(--background-accent);border-bottom:1px solid var(--border-color);box-sizing:border-box;display:grid;position:sticky;top:0}.virtualList-header-cell_c8NGV{color:var(--text-dark);text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;padding:8px 12px;font-size:13px;font-weight:600;overflow:hidden}.virtualList-header-toggle_pYFxD{cursor:pointer;color:var(--text-dark);border-radius:var(--default-border-radius);background:0 0;border:none;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.virtualList-header-toggle_pYFxD:hover{background:var(--background-accent-light);color:var(--text-color)}.virtualList-toggle-wrapper_JP32M{align-items:center;padding:0 4px;display:flex;position:absolute;top:0;bottom:0;right:0}.virtualList-toggle-popover_gbpd7{background:var(--background-accent);border:1px solid var(--border-color);border-radius:var(--default-border-radius);box-shadow:var(--card-shadow);min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0}.virtualList-toggle-item_5gu5d{white-space:nowrap;padding:4px 12px;font-size:14px;transition:background .1s}.virtualList-toggle-item_5gu5d:hover{background:var(--background-accent-light)}.virtualList-column-chip_nOqr6{box-sizing:border-box;background:var(--primary-color);color:#fff;pointer-events:none;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:flex;position:absolute;top:0;right:0}.virtualList-select-cell_s9kAy{box-sizing:border-box;justify-content:center;align-items:center;padding:0 4px;display:flex}.virtualList-body_k-fRr{box-sizing:border-box;position:relative}.virtualList-row_TTY50{border-bottom:1px solid var(--border-color);box-sizing:border-box;cursor:pointer;contain:layout paint style;transition:background .1s}.virtualList-row-no-divider_Ct0gV{border-bottom:none}.virtualList-row_TTY50:hover{background:var(--background-accent-light)}.virtualList-row-no-hover_2d3mH:hover{background:0 0}.virtualList-row-selected_hwEN-,.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-row-draggable_I86ha{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.virtualList-row-draggable_I86ha:active{cursor:grabbing}.virtualList-row-dragging_6T5tQ{opacity:.4}.virtualList-row-drop-inside_Uhi9n{background:var(--primary-lighter);box-shadow:inset 0 0 0 2px var(--primary-color)}.virtualList-drop-line_EM-g4{background:var(--primary-color);pointer-events:none;z-index:1;height:2px;position:absolute;right:0}.virtualList-drop-line_EM-g4:before{content:"";background:var(--primary-color);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.virtualList-drop-line-before_n-0iZ{top:-1px}.virtualList-drop-line-after_2dld-{bottom:-1px}.virtualList-reordering_Rt9E3{touch-action:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50{-webkit-user-select:none;user-select:none}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50:hover{background:0 0}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-selected_hwEN-:hover{background:var(--primary-lighter)}.virtualList-reordering_Rt9E3 .virtualList-row_TTY50.virtualList-row-dragging_6T5tQ{background:0 0}.virtualList-cell_H0zBv{text-overflow:ellipsis;box-sizing:border-box;align-items:center;min-width:0;padding:8px 12px;font-size:14px;display:flex;overflow:hidden}.virtualList-cell_H0zBv[data-fit-key]{white-space:nowrap}.virtualList-loading-full_wzZNM{justify-content:center;align-items:center;height:100%;display:flex}.virtualList-loading-indicator_EJced{justify-content:center;align-items:center;padding:8px 0;display:flex}.virtualList-spinner_apClW{width:32px;height:32px}.wizard_uRBAN{width:100%;height:100%;padding:1px;transition:all .2s;position:relative;overflow:hidden}.wizard-content_lcl4C{height:fit-content;position:absolute}.wizard-content-outOfFrame_Eks4Y *{-webkit-user-select:none;user-select:none;pointer-events:none;visibility:hidden;display:none}.wizard-content-container_yxbCJ{transition:all .6s;display:flex;position:relative}
3
3
  /*$vite$:1*/
4
4
  }
@@ -1,3 +1,3 @@
1
1
  import { ChipProps } from './chip.types';
2
- declare function Chip({ className, thumbnail, text, showRemoveIcon, onClick, onRemove, ...rest }: ChipProps): import("react/jsx-runtime").JSX.Element;
2
+ declare function Chip({ className, thumbnail, text, styleType, showRemoveIcon, onClick, onRemove, ...rest }: ChipProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default Chip;
@@ -1,8 +1,16 @@
1
1
  import { HtmlProps } from '../types/slots.types';
2
+ export declare enum ChipStyleType {
3
+ Default = "default",
4
+ Primary = "primary",
5
+ Info = "info",
6
+ Warn = "warn",
7
+ Error = "error"
8
+ }
2
9
  export interface ChipProps extends HtmlProps {
3
10
  className?: string;
4
11
  text?: string;
5
12
  thumbnail?: React.ReactNode;
13
+ styleType?: ChipStyleType;
6
14
  showRemoveIcon?: boolean;
7
15
  onClick?: () => void;
8
16
  onRemove?: () => void;
@@ -13,6 +13,8 @@ interface UseColumnsArgs<T> {
13
13
  startIndex: number;
14
14
  endIndex: number;
15
15
  containerHeight: number;
16
+ /** Re-measure `fit` columns when the container width settles (e.g. after a route transition). */
17
+ containerWidth: number;
16
18
  }
17
19
  interface UseColumnsResult<T> {
18
20
  hasColumns: boolean;
@@ -26,6 +28,10 @@ interface UseColumnsResult<T> {
26
28
  setToggleOpen: React.Dispatch<React.SetStateAction<boolean>>;
27
29
  toggleRef: React.RefObject<HTMLDivElement | null>;
28
30
  handleToggleColumn: (key: string) => void;
31
+ /** Imperative escape hatch: drop fit-column pins so they re-measure on the
32
+ * next layout. For out-of-band content changes that don't flow through a new
33
+ * `items` array or `columns` set (which reset automatically). */
34
+ recalculateColumns: () => void;
29
35
  }
30
36
  /**
31
37
  * Table-mode column logic: visibility (controlled or uncontrolled, with
@@ -33,5 +39,5 @@ interface UseColumnsResult<T> {
33
39
  * `fit`-column width measurement that pins one shared px track across the header
34
40
  * and every row grid so they stay aligned.
35
41
  */
36
- export declare function useColumns<T>({ columns, items, multiSelect, visibleColumnKeys, onVisibleColumnsChange, persistColumnsKey, showColumnToggle, rootRef, startIndex, endIndex, containerHeight, }: UseColumnsArgs<T>): UseColumnsResult<T>;
42
+ export declare function useColumns<T>({ columns, items, multiSelect, visibleColumnKeys, onVisibleColumnsChange, persistColumnsKey, showColumnToggle, rootRef, startIndex, endIndex, containerHeight, containerWidth, }: UseColumnsArgs<T>): UseColumnsResult<T>;
37
43
  export {};
@@ -10,7 +10,6 @@ interface UseVirtualWindowArgs<T> {
10
10
  overscan: number;
11
11
  onLoadMore?: () => Promise<void>;
12
12
  loadMoreThreshold: number;
13
- forwardedRef: React.ForwardedRef<VirtualListHandle>;
14
13
  }
15
14
  interface UseVirtualWindowResult {
16
15
  rootRef: React.RefObject<HTMLDivElement | null>;
@@ -22,10 +21,14 @@ interface UseVirtualWindowResult {
22
21
  offsets: number[];
23
22
  totalHeight: number;
24
23
  containerHeight: number;
24
+ containerWidth: number;
25
25
  startIndex: number;
26
26
  endIndex: number;
27
27
  handleScroll: (e: React.UIEvent<HTMLDivElement>) => void;
28
28
  showLoadMoreSpinner: boolean;
29
+ /** The scroll-related imperative methods, for the component to compose into
30
+ * the forwarded handle alongside column controls. */
31
+ scrollApi: Omit<VirtualListHandle, 'recalculateColumns'>;
29
32
  }
30
33
  /**
31
34
  * The generic virtualization engine: viewport measurement, per-row height
@@ -34,5 +37,5 @@ interface UseVirtualWindowResult {
34
37
  * scroll handle. Mode-agnostic — knows nothing about columns, selection or
35
38
  * dragging.
36
39
  */
37
- export declare function useVirtualWindow<T>({ items, keys, getItemKey, estimatedRowHeight, rowGap, overscan, onLoadMore, loadMoreThreshold, forwardedRef, }: UseVirtualWindowArgs<T>): UseVirtualWindowResult;
40
+ export declare function useVirtualWindow<T>({ items, keys, getItemKey, estimatedRowHeight, rowGap, overscan, onLoadMore, loadMoreThreshold, }: UseVirtualWindowArgs<T>): UseVirtualWindowResult;
38
41
  export {};
@@ -35,6 +35,12 @@ export interface VirtualListHandle {
35
35
  scrollToTop: (options?: Pick<VirtualListScrollOptions, 'behavior'>) => void;
36
36
  /** The underlying scroll container element, for advanced use. */
37
37
  getScrollElement: () => HTMLDivElement | null;
38
+ /**
39
+ * Re-measure `fit` columns on the next layout. Call this after an out-of-band
40
+ * content change that doesn't flow through a new `items` array or `columns`
41
+ * set (those reset automatically) — e.g. a cell's content grew in place.
42
+ */
43
+ recalculateColumns: () => void;
38
44
  }
39
45
  export type VirtualListSlots = 'root' | 'header' | 'headerCell' | 'headerToggle' | 'togglePopover' | 'toggleItem' | 'body' | 'row' | 'cell' | 'selectCell' | 'loadingIndicator' | 'dropIndicator' | 'columnChip';
40
46
  /** Where a tree-reorder drop lands relative to the row it is over. */
package/docs/CLAUDE.md CHANGED
@@ -37,7 +37,7 @@ const myTheme: Theme = {
37
37
 
38
38
  ## FormValidator (for form-connected components)
39
39
 
40
- Input, NumberInput, Dropdown, Checkbox all accept a `formValidator` prop. Use it to connect validation state.
40
+ Input, NumberInput, Dropdown, Checkbox, DatePicker, IconPicker, InputDropdown, and Textarea all accept a `formValidator` prop. Use it to connect validation state.
41
41
 
42
42
  ```tsx
43
43
  import { FormValidator, Validators, Input } from '@ahrowe/ui';
@@ -47,38 +47,29 @@ const nameValidator = new FormValidator('', [Validators.required(), Validators.m
47
47
 
48
48
  // Pass to component — it tracks value, dirty, touched, errors internally
49
49
  <Input label="Name" formValidator={nameValidator} />
50
-
51
- // Read state
52
- nameValidator.value // current value
53
- nameValidator.hasError() // true if any error
54
- nameValidator.getCurrentErrorMessage() // first error message or null
55
- nameValidator.touched // user has blurred the field
56
- nameValidator.dirty // value has changed
57
-
58
- // Validators available
59
- Validators.required()
60
- Validators.minLength(n)
61
- Validators.maxLength(n)
62
- Validators.email()
63
- Validators.mustBeNumber()
64
- Validators.date()
65
- Validators.website()
66
- Validators.password() // min 8 chars, 1 letter, 1 digit
67
- Validators.oneOf([...])
68
- Validators.multiEmail()
69
- Validators.bic()
70
50
  ```
71
51
 
72
- For groups of fields:
52
+ For multi-field forms with a single submit handler, use `useFormValidatorGroup`:
73
53
 
74
54
  ```tsx
75
- import { FormValidatorGroup, useFormValidatorGroup } from '@ahrowe/ui';
55
+ import { useFormValidatorGroup, FormValidator, Validators } from '@ahrowe/ui';
56
+
57
+ const form = useFormValidatorGroup(
58
+ {
59
+ name: new FormValidator('', [Validators.required()]),
60
+ email: new FormValidator('', [Validators.required(), Validators.email()]),
61
+ },
62
+ { onSubmit: async (values) => save(values) }, // values is fully typed
63
+ );
76
64
 
77
- const group = new FormValidatorGroup([nameValidator, emailValidator]);
78
- group.isValid() // all fields valid
79
- group.validate() // trigger all validators
65
+ <form.Form>
66
+ <Input label="Name" formValidator={form.group.name} />
67
+ <Input label="Email" formValidator={form.group.email} />
68
+ </form.Form>
80
69
  ```
81
70
 
71
+ Full reference: see **FormValidator.md** (single field, all built-in validators, custom validators) and **FormValidatorGroup.md** (whole-form submit, validate, reset, server-error mapping) below.
72
+
82
73
  ## Slot customisation (classNames / styles)
83
74
 
84
75
  Most components expose `classNames` and `styles` props for styling inner elements without fighting CSS specificity.
@@ -116,6 +107,8 @@ Slot keys per component are documented in each component's doc file below.
116
107
  @EmptyState.md
117
108
  @Fab.md
118
109
  @FloatingMenu.md
110
+ @FormValidator.md
111
+ @FormValidatorGroup.md
119
112
  @IconPicker.md
120
113
  @IdleManager.md
121
114
  @InfiniteBlock.md
@@ -0,0 +1,146 @@
1
+ # FormValidator
2
+
3
+ **When to use:** Track and validate a single form field's value, dirty/touched state, and errors. Pass the instance to any form-connected component (`Input`, `NumberInput`, `Dropdown`, `Checkbox`, `DatePicker`, `IconPicker`, `InputDropdown`, `Textarea`) via its `formValidator` prop — the component then reads the value and surfaces validation errors automatically. For multi-field forms with submit handling, use `FormValidatorGroup` instead.
4
+
5
+ **Import:** `import { FormValidator, Validators, useFormValidator } from '@ahrowe/ui'`
6
+ **Types:** `import type { ValidatorFunction, ValidationError } from '@ahrowe/ui'`
7
+
8
+ ## Basic usage
9
+
10
+ ```tsx
11
+ import { FormValidator, Validators, Input } from '@ahrowe/ui';
12
+
13
+ // Create with a default (empty) value and an optional list of validators
14
+ const nameValidator = new FormValidator('', [Validators.required(), Validators.minLength(2)]);
15
+
16
+ // Hand it to a form component — it tracks value, dirty, touched, and errors internally
17
+ <Input label="Name" formValidator={nameValidator} />
18
+
19
+ // Read state at any time
20
+ nameValidator.value // current value (typed as T)
21
+ nameValidator.hasError() // true if any error is present
22
+ nameValidator.hasError('required') // true if the error with id 'required' is present
23
+ nameValidator.getCurrentErrorMessage() // first error message, or null
24
+ nameValidator.touched // user has entered and left the field
25
+ nameValidator.dirty // value has changed since creation
26
+ ```
27
+
28
+ > **The first constructor argument is the field's _default (empty)_ value** — what the field holds when nothing has been entered, **not** an existing record's value. Use the type's natural empty value:
29
+ >
30
+ > | Field | Default value |
31
+ > |-------|---------------|
32
+ > | string (text, email, …) | `''` |
33
+ > | `Date` | `null` |
34
+ > | number | `undefined` (or `0`) |
35
+ > | checkbox / boolean | `false` |
36
+ > | single-select id | `null` |
37
+ >
38
+ > To pre-fill fields when **editing an existing entity**, don't seed values here — pass them as `initialValues` on a `FormValidatorGroup` (see [FormValidatorGroup.md](FormValidatorGroup.md)). That keeps the empty value as the validator's true default so `reset()` works correctly.
39
+
40
+ ## Re-rendering a function component when the value changes
41
+
42
+ A `FormValidator` lives outside React state, so changing it does **not** by itself re-render a function component. When you read `validator.value` / `validator.hasError()` directly in render (rather than only handing the instance to a form component), subscribe with `useFormValidator` so the component re-renders on every change:
43
+
44
+ ```tsx
45
+ import { useMemo } from 'react';
46
+ import { FormValidator, Validators, useFormValidator, Input } from '@ahrowe/ui';
47
+
48
+ function NameField() {
49
+ // Create once — never `new FormValidator(...)` inline in render without memoising
50
+ const validator = useMemo(() => new FormValidator('', [Validators.required()]), []);
51
+ useFormValidator(validator); // re-renders this component on value/error/touched/dirty changes
52
+
53
+ return (
54
+ <>
55
+ <Input label="Name" formValidator={validator} />
56
+ <button disabled={validator.hasError()}>Save</button>
57
+ </>
58
+ );
59
+ }
60
+ ```
61
+
62
+ `useFormValidator(validator)` returns the same instance for convenience and accepts `null`.
63
+
64
+ ## Typing the value
65
+
66
+ `FormValidator<T>` is generic. Pass the value type for non-string fields, and give each its natural empty value as the default:
67
+
68
+ ```tsx
69
+ const ageValidator = new FormValidator<number | undefined>(undefined, [Validators.required()]);
70
+ const dateValidator = new FormValidator<Date | null>(null);
71
+ const agreedValidator = new FormValidator<boolean>(false, [Validators.required()]);
72
+ ```
73
+
74
+ ## Instance API
75
+
76
+ | Member | Signature | Description |
77
+ |--------|-----------|-------------|
78
+ | `value` | `T` (get/set) | Current value. The setter assigns **without** validating — prefer `set()` for user input. |
79
+ | `set` | `(newValue: T, wasUser = true) => this` | Assign value, mark dirty when `wasUser`, then re-validate. Chainable. |
80
+ | `validate` | `() => void` | Clear errors and run every validator against the current value. |
81
+ | `touched` | `boolean` (get/set) | User has entered and left the field. |
82
+ | `dirty` | `boolean` (get/set) | Value changed since creation. |
83
+ | `errors` | `ValidationError[]` (get) | All current errors (`{ id, message }`). |
84
+ | `hasError` | `(id?: string) => boolean` | Any error when called with no arg; a specific error by `id` otherwise. |
85
+ | `getCurrentErrorMessage` | `() => string \| null` | First error message, or `null`. |
86
+ | `addError` | `(error: ValidationError) => void` | Push an error manually (e.g. a server-side error). |
87
+ | `removeErrors` | `(ids: string[]) => void` | Remove errors by id. |
88
+ | `clearErrors` | `() => void` | Remove all errors. |
89
+ | `label` | `string` (get/set) | Field label; form components set this and validators receive it (used by `required()` messages). |
90
+ | `validators` | `ValidatorFunction[]` | The active validator list — mutable. |
91
+ | `registerOnUpdateListener` | `(cb: () => void) => void` | Subscribe to changes (what `useFormValidator` uses internally). |
92
+ | `removeOnUpdateListener` | `(cb: () => void) => void` | Unsubscribe. |
93
+
94
+ > Validators run once in the constructor, so `hasError()` reflects the initial value immediately.
95
+
96
+ ## Built-in validators
97
+
98
+ All live as static methods on `Validators`. Each returns a `ValidatorFunction` and accepts an optional custom `errorMsg` as the last argument to override the default message.
99
+
100
+ ```tsx
101
+ Validators.required(errorMsg?) // value must be present (0 counts as present)
102
+ Validators.minLength(min, errorMsg?) // string length >= min (also fails on empty)
103
+ Validators.maxLength(max, errorMsg?) // string length <= max
104
+ Validators.email(errorMsg?) // valid email address
105
+ Validators.multiEmail(errorMsg?) // comma/semicolon-separated list of emails
106
+ Validators.mustBeNumber(errorMsg?) // parses as a number
107
+ Validators.oneOf(allowedValues, errorMsg?) // value is in the allowed array
108
+ Validators.typeOf(allowedTypes, errorMsg?) // typeof value matches (string or string[])
109
+ Validators.date(errorMsg?) // valid date string (DD.MM.YYYY or ISO)
110
+ Validators.dateObject(errorMsg?) // an object with an `isValid` flag (e.g. a date wrapper)
111
+ Validators.website(errorMsg?) // valid URL
112
+ Validators.bic(errorMsg?) // valid BIC/SWIFT code
113
+ Validators.minLetters(min, errorMsg?) // at least `min` letters (a–z, incl. äöüß)
114
+ Validators.minDigits(min, errorMsg?) // at least `min` digits
115
+ Validators.password(errorMsg?) // min 8 chars, ≥1 letter, ≥1 digit
116
+ ```
117
+
118
+ > **Empty values pass most validators.** Except `required()` and `minLength()`, every validator returns `null` for an empty value — so a field is "valid when empty" unless you also add `Validators.required()`. Combine them:
119
+ > `new FormValidator('', [Validators.required(), Validators.email()])`.
120
+
121
+ ## Custom validators
122
+
123
+ A validator is any `(value, label?) => ValidationError | null` — return `null` when valid, or `{ id, message }` when not:
124
+
125
+ ```tsx
126
+ import type { ValidatorFunction } from '@ahrowe/ui';
127
+
128
+ const mustBeEven: ValidatorFunction = (value) =>
129
+ Number(value) % 2 === 0 ? null : { id: 'even', message: 'Must be an even number' };
130
+
131
+ const validator = new FormValidator<number>(0, [Validators.required(), mustBeEven]);
132
+ ```
133
+
134
+ The `id` you choose is what `hasError('even')` and `removeErrors(['even'])` match against.
135
+
136
+ ## Reading server-side errors back into a field
137
+
138
+ ```tsx
139
+ validator.addError({ id: 'taken', message: 'This email is already registered' });
140
+ // later, once the user edits the field again:
141
+ validator.removeErrors(['taken']);
142
+ ```
143
+
144
+ When validating a whole form at once, prefer `FormValidatorGroup.parseError()` — see `FormValidatorGroup`.
145
+ </content>
146
+ </invoke>