.styledTextbox{padding:var(--padding);border-radius:var(--borderRadiusInner);border:1px solid var(--secondary);background-color:var(--quaternary);color:var(--text);box-sizing:border-box;outline:none;width:-webkit-fill-available;width:-moz-available;width:stretch;height:35px;font-family:Arial,Helvetica,sans-serif;font-size:1.1rem}.styledTextbox:is(textarea){resize:none;height:max-content}.styledTextbox:read-only,.styledTextbox:disabled{background-color:var(--tertiary)}.styledTextbox:not(:disabled,.error,:read-only):hover{background-color:var(--tableOdd)}.styledTextbox:focus:not(.error){outline:2px solid var(--accent);outline-offset:-2px}.styledTextbox.error{outline:2px solid var(--red);outline-offset:-2px;background-color:var(--redLight)}.styledTextbox.large{font-size:1.3rem}.styledTextbox.small{font-size:.9rem}.styledTextbox.ghost{border-color:#0000}.styledTextbox.ghost:not(.error){background-color:#0000}.styledTextbox.ghost:not(.error):focus{background-color:var(--secondary)}.styledTextbox.highlight:not(.error){color:var(--accent)}.styledTextbox::placeholder{color:var(--text2)}.inputOuterContainer:not(:focus-within) .characterCounter{display:none}.inputOuterContainer label{justify-content:space-between;align-items:center;gap:5px;padding:0 5px;display:flex}.inputOuterContainer label .labelText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inputOuterContainer label.sublabel{font-size:13px}.inputOuterContainer textarea{display:grid}.inputContainer{gap:2px;height:35px;display:flex}.inputContainer input{flex:1 1 0;min-width:0}.inputContainer .unit{background-color:var(--quaternary);border:1px solid var(--secondary);flex:none;align-items:center;height:-webkit-fill-available;height:-moz-available;height:stretch;padding:0 10px;font-size:1.1rem;display:flex}.inputContainer .styledButton:disabled{opacity:1;background-color:var(--tertiary);color:var(--text2)}.inputContainer:has(>.styledTextbox.ghost)>.styledTextbox,.inputContainer:has(>.styledTextbox.ghost) .unit,.inputContainer:has(>.styledTextbox.ghost) .styledButton{border-radius:var(--borderRadiusInner)}.inputContainer:has(>.styledTextbox.ghost) .unit,.inputContainer:has(>.styledTextbox.ghost) .styledButton:not(:hover,:focus-visible),.inputContainer:has(>.styledTextbox.ghost) .styledButton:disabled{background-color:#0000;border-color:#0000}.inputContainer:has(>:nth-child(2))>:first-child,.inputContainer:has(>:nth-child(2)) .styledToggle,.inputContainer:has(>:nth-child(2)) .trigger{border-radius:var(--borderRadiusInner) 0 0 var(--borderRadiusInner)}.inputContainer:has(>:nth-child(2))>:not(:first-child):not(:last-child),.inputContainer:has(>:nth-child(2)) .styledToggle,.inputContainer:has(>:nth-child(2)) .trigger{border-radius:0}.inputContainer:has(>:nth-child(2))>:last-child,.inputContainer:has(>:nth-child(2)) .styledToggle,.inputContainer:has(>:nth-child(2)) .trigger{border-radius:0 var(--borderRadiusInner) var(--borderRadiusInner) 0}.inputContainer:has(>:nth-child(2)) .inputContainer>:first-child{border-radius:0}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes snackbarSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes snackbarProgressShrink{0%{width:100%}to{width:0%}}.snackbarContainer{z-index:99999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.snackbarContainer .snackbarItem{color:#d3d3d3;pointer-events:auto;border-radius:8px;align-items:center;gap:10px;min-width:260px;max-width:40vw;padding:10px;font-size:14px;animation:.2s ease-out snackbarSlideIn;display:flex;position:relative;overflow:hidden}.snackbarContainer .snackbarItem.success{background-color:var(--green)}.snackbarContainer .snackbarItem.error{background-color:var(--red)}.snackbarContainer .snackbarItem.warning{background-color:var(--orange)}.snackbarContainer .snackbarItem.info{background-color:var(--blue)}.snackbarContainer .snackbarItem .snackbarIcon{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:5px;font-size:12px;display:flex}.snackbarContainer .snackbarItem .snackbarMessage{flex:1}.snackbarContainer .snackbarItem .snackbarProgress{background:#fff6;height:3px;animation:linear forwards snackbarProgressShrink;position:absolute;bottom:0;left:0}
