.jb-ui,
.jb-ui *,
.jb-ui *::before,
.jb-ui *::after {
    box-sizing: border-box;
}

.jb-ui [hidden] {
    display: none;
}

.jb-ui :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
select,
textarea) {
    all: unset;
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    background: #fff;
    color: #111827;
    font-family: inherit;
}

.jb-ui :where(textarea) {
    min-height: 120px;
    resize: vertical;
}

.jb-ui :where(select) {
    appearance: none;
    background-color: #fff;
}

.jb-ui :where(button, input[type="submit"], input[type="button"], input[type="reset"]) {
    all: unset;
    box-sizing: border-box;
    display: inline-block;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.jb-ui :where(button, input[type="submit"], input[type="button"], input[type="reset"]):focus,
.jb-ui :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
select,
textarea):focus {
    outline: 2px solid rgba(0, 102, 204, 0.25);
    outline-offset: 2px;
}

.jb-ui :where(input[type="checkbox"], input[type="radio"]) {
    box-sizing: border-box;
    accent-color: #0066cc;
}

.jb-ui a {
    color: inherit;
}
