@ahrowe/ui 0.1.11 → 0.1.13

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:16px;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-titles_CAUU3{flex-flow:column;flex:1;gap:4px;display:flex;overflow:hidden}.cardHeader-titles-main_Z834V{font-size:18px;font-weight:600}.cardHeader-titles-sub_2X08b{font-weight:300}.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);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{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-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)}}.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-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-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-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-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-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);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{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-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-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 { CardHeaderProps } from './card.types';
2
- declare function CardHeader({ className, title, subTitle, thumbnail, }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
2
+ declare function CardHeader({ className, title, subTitle, thumbnail, actions, }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default CardHeader;
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { IconDefinition } from '@fortawesome/free-solid-svg-icons';
2
3
  import { ButtonStyleType } from '../button/button.types';
3
4
  import { HtmlProps } from '../types/slots.types';
4
5
  export interface CardProps extends HtmlProps {
@@ -9,12 +10,18 @@ export interface CardProps extends HtmlProps {
9
10
  hoverEffect?: boolean;
10
11
  style?: React.CSSProperties;
11
12
  }
13
+ export interface CardHeaderAction {
14
+ title?: string;
15
+ onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
16
+ icon: IconDefinition;
17
+ }
12
18
  export interface CardHeaderProps {
13
19
  className?: string;
14
20
  title?: ReactNode;
15
21
  subTitle?: ReactNode;
16
22
  /** URL string → rendered as background-image. Any other ReactNode → rendered inside the thumbnail div. */
17
23
  thumbnail?: string | ReactNode;
24
+ actions?: CardHeaderAction[] | ReactNode;
18
25
  }
19
26
  export interface CardMediaProps {
20
27
  src?: string;
@@ -4,6 +4,7 @@ interface Properties extends HtmlProps {
4
4
  className?: string | undefined;
5
5
  children?: ReactNode | undefined;
6
6
  onClick?: MouseEventHandler<HTMLDivElement> | undefined;
7
+ onMouseDown?: MouseEventHandler<HTMLDivElement> | undefined;
7
8
  onKeyDown?: KeyboardEventHandler<HTMLDivElement> | undefined;
8
9
  style?: React.CSSProperties | undefined;
9
10
  tabIndex?: number | null;
@@ -1,7 +1,7 @@
1
- import { ReactElement } from 'react';
1
+ import { ReactElement, default as React } from 'react';
2
2
  import { NumericFormatProps } from 'react-number-format';
3
3
  import { default as FormValidator } from '../../services/formValidation/formValidator';
4
- interface Properties extends Omit<NumericFormatProps, 'onValueChange' | 'value' | 'customInput' | 'onChange'> {
4
+ interface Properties extends Omit<NumericFormatProps, 'onValueChange' | 'value' | 'customInput' | 'onChange' | 'step' | 'onKeyDown'> {
5
5
  value?: number | string;
6
6
  onChange?: (value: number | undefined) => void;
7
7
  formValidator?: FormValidator | null;
@@ -16,6 +16,9 @@ interface Properties extends Omit<NumericFormatProps, 'onValueChange' | 'value'
16
16
  decimalScale?: number;
17
17
  placeholder?: string;
18
18
  sign?: '+' | '-';
19
+ showArrows?: boolean;
20
+ step?: number;
21
+ onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
19
22
  }
20
- declare function NumberInput({ value, onChange, formValidator, label, error, className, allowNegative, decimalSeparator, thousandSeparator, prefix, suffix, decimalScale, placeholder, sign, ...rest }: Properties): ReactElement;
23
+ declare function NumberInput({ value, onChange, formValidator, label, error, className, allowNegative, decimalSeparator, thousandSeparator, prefix, suffix, decimalScale, placeholder, sign, showArrows, step, onKeyDown: onKeyDownProp, ...rest }: Properties): ReactElement;
21
24
  export default NumberInput;
@@ -0,0 +1,37 @@
1
+ import { default as React } from 'react';
2
+ import { VirtualListColumn } from './virtualList.types';
3
+ interface UseColumnsArgs<T> {
4
+ columns?: VirtualListColumn<T>[];
5
+ items: T[];
6
+ multiSelect: boolean;
7
+ visibleColumnKeys?: string[];
8
+ onVisibleColumnsChange?: (keys: string[]) => void;
9
+ persistColumnsKey?: string;
10
+ showColumnToggle?: boolean;
11
+ rootRef: React.RefObject<HTMLDivElement | null>;
12
+ /** Visible-window bounds — re-measure `fit` columns as new cells scroll in. */
13
+ startIndex: number;
14
+ endIndex: number;
15
+ containerHeight: number;
16
+ }
17
+ interface UseColumnsResult<T> {
18
+ hasColumns: boolean;
19
+ visibleColumns: VirtualListColumn<T>[];
20
+ columnTemplate: string | undefined;
21
+ shouldShowToggle: boolean;
22
+ effectiveVisible: Set<string>;
23
+ /** How many default-visible columns the user has hidden (excludes defaultHidden). */
24
+ manuallyHiddenCount: number;
25
+ toggleOpen: boolean;
26
+ setToggleOpen: React.Dispatch<React.SetStateAction<boolean>>;
27
+ toggleRef: React.RefObject<HTMLDivElement | null>;
28
+ handleToggleColumn: (key: string) => void;
29
+ }
30
+ /**
31
+ * Table-mode column logic: visibility (controlled or uncontrolled, with
32
+ * localStorage persistence and runtime reconciliation), the toggle popover, and
33
+ * `fit`-column width measurement that pins one shared px track across the header
34
+ * and every row grid so they stay aligned.
35
+ */
36
+ export declare function useColumns<T>({ columns, items, multiSelect, visibleColumnKeys, onVisibleColumnsChange, persistColumnsKey, showColumnToggle, rootRef, startIndex, endIndex, containerHeight, }: UseColumnsArgs<T>): UseColumnsResult<T>;
37
+ export {};
@@ -0,0 +1,54 @@
1
+ import { default as React } from 'react';
2
+ import { TreeDropPosition, TreeDropTarget } from './virtualList.types';
3
+ interface UseRowDragArgs {
4
+ reorderable: boolean;
5
+ treeReorder: boolean;
6
+ onReorder?: (fromIndex: number, toIndex: number) => void;
7
+ onTreeDrop?: (dragKey: string | number, target: TreeDropTarget) => void;
8
+ longPressDelay: number;
9
+ dragHandle: boolean;
10
+ treeIndentPx: number;
11
+ /** Current flat ordering and depth tags (mouse handlers read these directly). */
12
+ keys: (string | number)[];
13
+ depths: number[];
14
+ isGroupAt: (index: number) => boolean;
15
+ rootRef: React.RefObject<HTMLDivElement | null>;
16
+ /** Latest keys for async (touch / rAF) consumers — owned by useVirtualWindow. */
17
+ keysRef: React.RefObject<(string | number)[]>;
18
+ }
19
+ /** The drag-related props the parent spreads onto a given row. */
20
+ export interface RowDragProps {
21
+ reorderable: boolean;
22
+ draggable: boolean | undefined;
23
+ isDragging: boolean;
24
+ onMouseDown: ((e: React.MouseEvent<HTMLDivElement>) => void) | undefined;
25
+ onDragStart: ((e: React.DragEvent<HTMLDivElement>) => void) | undefined;
26
+ onDragOver: ((e: React.DragEvent<HTMLDivElement>) => void) | undefined;
27
+ onDragEnd: (() => void) | undefined;
28
+ onDrop: ((e: React.DragEvent<HTMLDivElement>) => void) | undefined;
29
+ onTouchStart: ((e: React.TouchEvent<HTMLDivElement>) => void) | undefined;
30
+ dropPosition: TreeDropPosition | undefined;
31
+ dropIndentPx: number | undefined;
32
+ }
33
+ interface UseRowDragResult {
34
+ /** True while a row is being dragged (for the root reordering style). */
35
+ draggingKey: string | number | null;
36
+ /** Whether either drag mode is active. */
37
+ dragEnabled: boolean;
38
+ /** Drag props for the row at `index` / `key`. */
39
+ getRowDragProps: (index: number, key: string | number) => RowDragProps;
40
+ /** Returns true (and resets) if the next click should be swallowed (post-drag). */
41
+ consumeSuppressedClick: () => boolean;
42
+ }
43
+ /**
44
+ * Row drag-and-drop for both modes:
45
+ * - `reorderable` (flat): native HTML5 drag on desktop; rows move live via
46
+ * `onReorder` with midpoint hysteresis.
47
+ * - `treeReorder`: a drop indicator (before/after/inside) is shown during the
48
+ * drag and `onTreeDrop` fires once on release; dropping onto the dragged
49
+ * node's own subtree is forbidden.
50
+ * Touch uses a long-press → lifted-clone → pointer-move path with edge
51
+ * auto-scroll. `dragHandle` restricts initiation to `[data-drag-handle]`.
52
+ */
53
+ export declare function useRowDrag({ reorderable, treeReorder, onReorder, onTreeDrop, longPressDelay, dragHandle, treeIndentPx, keys, depths, isGroupAt, rootRef, keysRef, }: UseRowDragArgs): UseRowDragResult;
54
+ export {};
@@ -0,0 +1,24 @@
1
+ interface UseSelectionArgs<T> {
2
+ items: T[];
3
+ getKey: (item: T, index: number) => string | number;
4
+ multiSelect: boolean;
5
+ /** Controlled selected keys. When provided, internal state is ignored. */
6
+ selectedKeys?: Set<string | number>;
7
+ onSelectionChange?: (keys: Set<string | number>) => void;
8
+ }
9
+ interface UseSelectionResult {
10
+ effectiveSelectedKeys: Set<string | number>;
11
+ /** Toggle one row's membership in the selection. */
12
+ handleRowSelect: (key: string | number) => void;
13
+ /** Select all rows, or clear if all are already selected. */
14
+ handleSelectAll: () => void;
15
+ allSelected: boolean;
16
+ someSelected: boolean;
17
+ }
18
+ /**
19
+ * Multi-row selection, controlled or uncontrolled. `allSelected`/`someSelected`
20
+ * (for the header checkbox) are O(n) scans, so they're only computed when
21
+ * `multiSelect` is on.
22
+ */
23
+ export declare function useSelection<T>({ items, getKey, multiSelect, selectedKeys, onSelectionChange, }: UseSelectionArgs<T>): UseSelectionResult;
24
+ export {};
@@ -0,0 +1,38 @@
1
+ import { default as React } from 'react';
2
+ import { VirtualListHandle } from './virtualList.types';
3
+ interface UseVirtualWindowArgs<T> {
4
+ items: T[];
5
+ /** Stable key per row (already derived by the caller). */
6
+ keys: (string | number)[];
7
+ getItemKey?: (item: T, index: number) => string | number;
8
+ estimatedRowHeight: number;
9
+ rowGap: number;
10
+ overscan: number;
11
+ onLoadMore?: () => Promise<void>;
12
+ loadMoreThreshold: number;
13
+ forwardedRef: React.ForwardedRef<VirtualListHandle>;
14
+ }
15
+ interface UseVirtualWindowResult {
16
+ rootRef: React.RefObject<HTMLDivElement | null>;
17
+ headerRef: React.RefObject<HTMLDivElement | null>;
18
+ /** Shared by every row to measure its height (read back via `data-index`). */
19
+ rowObserver: ResizeObserver | null;
20
+ /** Latest index → key mapping, for async consumers (e.g. the drag hook). */
21
+ keysRef: React.RefObject<(string | number)[]>;
22
+ offsets: number[];
23
+ totalHeight: number;
24
+ containerHeight: number;
25
+ startIndex: number;
26
+ endIndex: number;
27
+ handleScroll: (e: React.UIEvent<HTMLDivElement>) => void;
28
+ showLoadMoreSpinner: boolean;
29
+ }
30
+ /**
31
+ * The generic virtualization engine: viewport measurement, per-row height
32
+ * caching, offset/visible-range computation, scroll coalescing, scroll
33
+ * anchoring on height changes, infinite-load triggering, and the imperative
34
+ * scroll handle. Mode-agnostic — knows nothing about columns, selection or
35
+ * dragging.
36
+ */
37
+ export declare function useVirtualWindow<T>({ items, keys, getItemKey, estimatedRowHeight, rowGap, overscan, onLoadMore, loadMoreThreshold, forwardedRef, }: UseVirtualWindowArgs<T>): UseVirtualWindowResult;
38
+ export {};
@@ -1,25 +1,6 @@
1
1
  import { default as React } from 'react';
2
- import { VirtualListProps, ColumnWidthSpec, VirtualListHandle } from './virtualList.types';
3
- export declare function buildOffsets(keys: (string | number)[], heightsMap: Map<string | number, number>, estimatedRowHeight: number, rowGap?: number): {
4
- offsets: number[];
5
- totalHeight: number;
6
- };
7
- /** Index of the row that sits at `scrollTop` — i.e. the first row whose bottom edge is below it. */
8
- export declare function findStartIndex(offsets: number[], scrollTop: number, itemCount: number): number;
9
- export declare function getVisibleRange(offsets: number[], scrollTop: number, containerHeight: number, overscan: number, itemCount: number): {
10
- startIndex: number;
11
- endIndex: number;
12
- };
13
- /**
14
- * Decides where a dragged row should move to, applying midpoint hysteresis: a
15
- * move only happens once the pointer has crossed the centre of the row it is
16
- * over (downwards when moving down, upwards when moving up). Returns the target
17
- * index, or null if no move should occur. Pure for easy unit testing.
18
- */
19
- export declare function resolveReorderTarget(fromIndex: number, overIndex: number, pointerY: number, rowTop: number, rowHeight: number): number | null;
20
- export declare function buildColumnTemplate(columns: {
21
- width: ColumnWidthSpec;
22
- }[]): string;
2
+ import { VirtualListProps, VirtualListHandle } from './virtualList.types';
3
+ export { buildOffsets, findStartIndex, getVisibleRange, resolveReorderTarget, resolveTreeDropTarget, lastDescendantIndex, buildColumnTemplate, } from './virtualList.utils';
23
4
  declare const VirtualList: <T>(props: VirtualListProps<T> & {
24
5
  ref?: React.Ref<VirtualListHandle>;
25
6
  }) => React.ReactElement | null;
@@ -36,7 +36,20 @@ export interface VirtualListHandle {
36
36
  /** The underlying scroll container element, for advanced use. */
37
37
  getScrollElement: () => HTMLDivElement | null;
38
38
  }
39
- export type VirtualListSlots = 'root' | 'header' | 'headerCell' | 'headerToggle' | 'togglePopover' | 'toggleItem' | 'body' | 'row' | 'cell' | 'selectCell' | 'loadingIndicator';
39
+ export type VirtualListSlots = 'root' | 'header' | 'headerCell' | 'headerToggle' | 'togglePopover' | 'toggleItem' | 'body' | 'row' | 'cell' | 'selectCell' | 'loadingIndicator' | 'dropIndicator' | 'columnChip';
40
+ /** Where a tree-reorder drop lands relative to the row it is over. */
41
+ export type TreeDropPosition = 'before' | 'inside' | 'after';
42
+ /** The resolved drop target reported to `onTreeDrop`. */
43
+ export interface TreeDropTarget {
44
+ /** `getItemKey` of the row the drop lands on. */
45
+ key: string | number;
46
+ /**
47
+ * `before`/`after` place the dragged node as a sibling of the target (at the
48
+ * target's depth); `inside` makes it a child of the target (only offered when
49
+ * `isGroup` returns true for that row).
50
+ */
51
+ position: TreeDropPosition;
52
+ }
40
53
  export interface VirtualListProps<T> extends HtmlProps {
41
54
  items: T[];
42
55
  /** Render function for list mode (no columns). Ignored when `columns` is provided. */
@@ -63,6 +76,14 @@ export interface VirtualListProps<T> extends HtmlProps {
63
76
  visibleColumnKeys?: string[];
64
77
  /** Called when the user toggles a column in the popover. */
65
78
  onVisibleColumnsChange?: (keys: string[]) => void;
79
+ /**
80
+ * When set, column visibility is saved to `localStorage` under this key and
81
+ * restored on the next mount of a list with the same key. Only applies in
82
+ * uncontrolled mode (ignored when `visibleColumnKeys` is provided). Newly
83
+ * added columns that weren't present when the settings were saved fall back
84
+ * to their `defaultHidden` value rather than the saved set.
85
+ */
86
+ persistColumnsKey?: string;
66
87
  /** Show the gear column-toggle button in the header. Default: true when columns present. */
67
88
  showColumnToggle?: boolean;
68
89
  /**
@@ -97,6 +118,49 @@ export interface VirtualListProps<T> extends HtmlProps {
97
118
  * mode activates, so a normal swipe still scrolls the list. Default: 400.
98
119
  */
99
120
  longPressDelay?: number;
121
+ /**
122
+ * Enables tree drag-and-drop: instead of a flat reorder, a dragged row can be
123
+ * dropped `before`, `after`, or `inside` another row. Mutually exclusive with
124
+ * `reorderable` (if both are set, `treeReorder` wins). Unlike `reorderable`,
125
+ * rows are NOT moved live — a drop indicator is shown during the drag and
126
+ * `onTreeDrop` fires once on release. The list is still a flat array: hold the
127
+ * real tree in your own state, flatten the expanded nodes into `items` (each
128
+ * tagged with its depth), and re-flatten after applying the drop.
129
+ * Provide `getItemKey` so rows keep their measured heights across re-flattens.
130
+ */
131
+ treeReorder?: boolean;
132
+ /**
133
+ * Depth of each row in the tree (0 = root). Used to align the drop indicator
134
+ * and to forbid dropping a node onto itself or its own descendants. Defaults
135
+ * to 0 for every row.
136
+ */
137
+ getItemDepth?: (item: T, index: number) => number;
138
+ /**
139
+ * Whether a row can receive children — i.e. whether an `inside` drop is
140
+ * offered when hovering its middle third. Defaults to false (leaf) for every
141
+ * row, so only `before`/`after` are offered.
142
+ */
143
+ isGroup?: (item: T, index: number) => boolean;
144
+ /**
145
+ * Called once when a tree-reorder drag is released on a valid target. Apply
146
+ * the move to your tree state and re-flatten. Not called when the drop target
147
+ * is the dragged node itself or one of its descendants.
148
+ */
149
+ onTreeDrop?: (dragKey: string | number, target: TreeDropTarget) => void;
150
+ /**
151
+ * Indent (px per depth level) used to position the `before`/`after` drop
152
+ * indicator line so it aligns with where the dropped content will start.
153
+ * Match this to the per-level padding you apply to row content. Default: 24.
154
+ */
155
+ treeIndentPx?: number;
156
+ /**
157
+ * Restrict drag initiation to elements marked `data-drag-handle` within a row
158
+ * (rather than the whole row). Essential for rows containing editable inputs
159
+ * or other interactive controls, so clicking/typing/selecting text in them
160
+ * doesn't start a drag. Applies to both `reorderable` and `treeReorder`, mouse
161
+ * and touch. Render a handle in your row, e.g. `<span data-drag-handle>⠿</span>`.
162
+ */
163
+ dragHandle?: boolean;
100
164
  className?: string;
101
165
  style?: CSSProperties;
102
166
  classNames?: SlotClassNames<VirtualListSlots>;
@@ -0,0 +1,44 @@
1
+ import { ColumnWidthSpec, VirtualListColumn } from './virtualList.types';
2
+ export declare function buildOffsets(keys: (string | number)[], heightsMap: Map<string | number, number>, estimatedRowHeight: number, rowGap?: number): {
3
+ offsets: number[];
4
+ totalHeight: number;
5
+ };
6
+ /** Index of the row that sits at `scrollTop` — i.e. the first row whose bottom edge is below it. */
7
+ export declare function findStartIndex(offsets: number[], scrollTop: number, itemCount: number): number;
8
+ export declare function getVisibleRange(offsets: number[], scrollTop: number, containerHeight: number, overscan: number, itemCount: number): {
9
+ startIndex: number;
10
+ endIndex: number;
11
+ };
12
+ /**
13
+ * Decides where a dragged row should move to, applying midpoint hysteresis: a
14
+ * move only happens once the pointer has crossed the centre of the row it is
15
+ * over (downwards when moving down, upwards when moving up). Returns the target
16
+ * index, or null if no move should occur. Pure for easy unit testing.
17
+ */
18
+ export declare function resolveReorderTarget(fromIndex: number, overIndex: number, pointerY: number, rowTop: number, rowHeight: number): number | null;
19
+ /**
20
+ * Decides where a tree-reorder drop should land relative to the row under the
21
+ * pointer. Group rows expose three zones (top third → `before`, middle →
22
+ * `inside`, bottom third → `after`); leaf rows split in half (`before`/`after`)
23
+ * since they can't receive children. Pure for easy unit testing.
24
+ */
25
+ export declare function resolveTreeDropTarget(pointerY: number, rowTop: number, rowHeight: number, isGroup: boolean): 'before' | 'inside' | 'after';
26
+ /**
27
+ * Index of the last descendant of the node at `index` in a depth-tagged flat
28
+ * list (a contiguous run of following rows with a greater depth). Returns
29
+ * `index` itself when the node has no children. A drop is forbidden anywhere in
30
+ * `[index, lastDescendantIndex]` — that's the node and its own subtree.
31
+ */
32
+ export declare function lastDescendantIndex(index: number, depths: number[]): number;
33
+ export declare function buildColumnTemplate(columns: {
34
+ key: string;
35
+ width: ColumnWidthSpec;
36
+ }[], fitWidths?: Record<string, number>): string;
37
+ export declare const COLUMN_STORAGE_PREFIX = "ahroweui:virtuallist:columns:";
38
+ export interface PersistedColumns {
39
+ visible: string[];
40
+ known: string[];
41
+ }
42
+ export declare function loadPersistedColumns(persistKey: string | undefined): PersistedColumns | null;
43
+ /** Whether a column should start visible, honouring saved settings then `defaultHidden`. */
44
+ export declare function isColumnInitiallyVisible<T>(col: VirtualListColumn<T>, persisted: PersistedColumns | null): boolean;